地震監(jiān)測預(yù)警事業(yè)與國家經(jīng)濟(jì)發(fā)展、社會穩(wěn)定和國民的生命財(cái)產(chǎn)安全息息相關(guān),自國家地震烈度速報(bào)與預(yù)警工程建設(shè)項(xiàng)目開展以來,已建設(shè)一萬五千多個地震監(jiān)測臺站,可在震后5-10秒產(chǎn)出地震預(yù)警信息,而實(shí)時匯集傳輸和存儲管理這些臺站全天候產(chǎn)出的海量監(jiān)測數(shù)據(jù)成為地震臺網(wǎng)的一項(xiàng)重要工作。

深圳防災(zāi)減災(zāi)技術(shù)研究院聚焦預(yù)警工程定制軟件研發(fā),致力于達(dá)到實(shí)時傳輸匯集、存儲處理近兩萬個地震臺站的海量實(shí)時數(shù)據(jù),以及在震后幾秒內(nèi)測定地震參數(shù)并向社會發(fā)布地震預(yù)警信息的目標(biāo)。目前,深圳防災(zāi)減災(zāi)技術(shù)研究院已成功研制出兩款核心軟件——SeisWave-SSS與SeisWave-AWS,這兩款軟件均在我國地震數(shù)據(jù)的高效傳輸與共享,以及地震波形數(shù)據(jù)的系統(tǒng)化存儲與歸檔管理中發(fā)揮著重要作用。地震觀測數(shù)據(jù),涵蓋了GNSS位移等多種傳感器采集的信息,對于我國地震預(yù)警機(jī)制的完善、工程抗震設(shè)計(jì)的優(yōu)化以及國防安全的強(qiáng)化,均具有深遠(yuǎn)的意義和重大的價值。

【鯤鵬原生架構(gòu)圖】

鯤鵬平臺具備高吞吐、低時延、低能耗、高安全等優(yōu)勢,還提供完善的原生開發(fā)工具鏈生態(tài),可更好的支撐地震傳輸流服務(wù)和地震波形數(shù)據(jù)管理業(yè)務(wù)的要求?;诖?,深圳防災(zāi)減災(zāi)技術(shù)研究院攜手鯤鵬原生開發(fā)地震數(shù)據(jù)傳輸流服務(wù)軟件SeisWave-SSS和地震波形數(shù)據(jù)存儲歸檔管理軟件SeisWave-AWS:基于鯤鵬硬件 openEuler OS 鯤鵬DevKit 鯤鵬BoostKit,實(shí)現(xiàn)一套代碼構(gòu)建多平臺版本、且鯤鵬版本性能更優(yōu)。目前上述兩款軟件已經(jīng)完成鯤鵬原生開發(fā),并順利獲得Kunpeng NATIVE認(rèn)證。

流水線改造 實(shí)現(xiàn)多平臺版本一碼構(gòu)建與高效適配

今年1月,深圳防災(zāi)減災(zāi)技術(shù)研究院的架構(gòu)研發(fā)團(tuán)隊(duì)聯(lián)合鯤鵬技術(shù)專家組成聯(lián)合架構(gòu)團(tuán)隊(duì),在現(xiàn)有CICD流程中增加本次地震業(yè)務(wù)軟件的鯤鵬構(gòu)建流程,實(shí)現(xiàn)從開發(fā)-構(gòu)建-測試-發(fā)布-運(yùn)行的全流程優(yōu)化。

開發(fā)人員基于鯤鵬服務(wù)器以及麒麟操作系統(tǒng)(openEuler系),搭建了持續(xù)集成節(jié)點(diǎn);在構(gòu)建流程中融入了鯤鵬DevKit流水線技術(shù)棧,包括流水線門禁、畢昇編譯器、鯤鵬測試框架、性能分析插件、版本漏洞掃描插件等能力,這不僅能夠確保構(gòu)建產(chǎn)物與鯤鵬架構(gòu)的適配性,全面優(yōu)化在鯤鵬架構(gòu)上的開發(fā)及運(yùn)行效率,還能進(jìn)一步提升版本的性能、測試效率和質(zhì)量。

流水線優(yōu)化改造后,開發(fā)人員只需開發(fā)一套代碼,有建構(gòu)差異的代碼會使用宏進(jìn)行定義隔離,在門禁階段可快速檢查代碼的兼容性和親和性,并構(gòu)建不同平臺版本,提升開發(fā)質(zhì)量的同時保證代碼質(zhì)量。

【改造后的流水線】

版本迭代開發(fā) 鯤鵬賦能原生應(yīng)用自動化構(gòu)建與性能優(yōu)化

本次原生開發(fā)的兩款業(yè)務(wù)應(yīng)用主要開發(fā)語言為java,在代碼開發(fā)階段無需改動。另外,在原有開發(fā)流程中,從編譯構(gòu)建到應(yīng)用部署測試都是開發(fā)人員手動進(jìn)行,在搭建JenKins流水線后,只需提交開發(fā)好的代碼,流水線會自動進(jìn)行編譯構(gòu)建、部署測試等工作,無需人工干預(yù),大大節(jié)省了人力成本,開發(fā)效率也得到了大幅度提升,經(jīng)對比分析,開發(fā)效率提升了50%以上

代碼開發(fā)完成后提交到流水線,在流水線中可直接調(diào)用鯤鵬DevKit門禁檢查組件,對代碼的鯤鵬兼容性和親和性進(jìn)行檢查和優(yōu)化。首先,針對規(guī)則項(xiàng)會攔截架構(gòu)不兼容代碼,并指導(dǎo)快速修改替換,確保鯤鵬架構(gòu)兼容;此外,親和分析檢查會從運(yùn)行模式、字節(jié)對齊檢查、構(gòu)建親和檢查等多維度掃描和優(yōu)化代碼,提升進(jìn)一步提升代碼質(zhì)量。

通過鯤鵬流水線構(gòu)建后,會生成對應(yīng)產(chǎn)品的部署包,在編譯構(gòu)建階段,流水線中會無感切換為畢昇JDK進(jìn)行編譯,該編譯器針對鯤鵬架構(gòu)進(jìn)行了多維度優(yōu)化提升,基于AppCDS特性、快速序列化、NUMA-Aware特性等特性,將進(jìn)一步提升應(yīng)用的運(yùn)行效率。經(jīng)測試,以傳輸時延持平為前提條件,鯤鵬服務(wù)器對比友商使用的CPU資源更少,理論上能夠提升10%的吞吐率,更好的支撐大規(guī)模業(yè)務(wù)數(shù)據(jù)處理。

目前,SeisWave-SSS 和SeisWave-AWS已經(jīng)在我國地震預(yù)警臺網(wǎng)廣泛應(yīng)用,支撐我國地震預(yù)警網(wǎng)海量實(shí)時觀測數(shù)據(jù)的匯集傳輸和存儲管理?;邛H鵬 openEuler系操作系統(tǒng)運(yùn)行,這兩款軟件實(shí)現(xiàn)了基于國產(chǎn)平臺的商業(yè)部署和長期穩(wěn)定運(yùn)行,保障了我國地震觀測數(shù)據(jù)的安全。除了應(yīng)用于地震預(yù)警監(jiān)測之外,軟件還可以用于流動地震科學(xué)觀測、水庫地震安全監(jiān)測、地震應(yīng)急監(jiān)測、石油勘探地球物理監(jiān)測、建筑物振動監(jiān)測、鐵路振動監(jiān)測、橋梁振動監(jiān)測、核爆及爆破監(jiān)測等領(lǐng)域,有著廣泛的商業(yè)應(yīng)用價值。

未來,深圳防災(zāi)減災(zāi)技術(shù)研究院將持續(xù)加強(qiáng)與鯤鵬開展戰(zhàn)略合作,深化地震預(yù)警定制軟件研發(fā)業(yè)務(wù)原生應(yīng)用,包括推進(jìn)地震預(yù)警、自動速報(bào)、烈度速報(bào)、綜合分析、地震緊急信息發(fā)布等軟件模塊的鯤鵬原生開發(fā),實(shí)現(xiàn)地震監(jiān)測預(yù)警全流程數(shù)據(jù)處理軟件的自主創(chuàng)新,保障我國的地震動觀測數(shù)據(jù)安全和國家與民生的安全。