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

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

【鯤鵬原生架構圖】

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

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

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

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

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

【改造后的流水線】

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

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

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

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

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

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