• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      地震前兆數據采集適配軟件方案設計1

      2018-06-01 00:59:16湯一翔滕云田劉高川
      震災防御技術 2018年1期
      關鍵詞:序列化前兆適配器

      湯一翔 滕云田 劉高川 張 旸 王 晨 王 喆

      ?

      地震前兆數據采集適配軟件方案設計1

      湯一翔1)滕云田1)劉高川1,2)張 旸1)王 晨1)王 喆1)

      1)中國地震局地球物理研究所,北京 100081 2)中國地震臺網中心,北京 100045

      為解決地震前兆非標準儀器的統(tǒng)一接入問題,本文對地震前兆臺網設備異構性進行了分析,提出一套完整的地震前兆數據采集適配軟件設計方案,并從采集、存儲、傳輸3個主要軟件模塊描述了關鍵技術設計。

      前兆臺網 數據采集 適配器 設備異構 序列化 NIO

      引言

      隨著網絡技術的迅速發(fā)展,遠程控制和監(jiān)測設備逐漸成為行業(yè)信息化的焦點(袁理想等,2005)。遵循不同協議、多樣式的數據表達方式的異構傳感數據接入問題成為一個研究熱點(鄧攀等,2010)。中國地震局于2011年實施了前兆觀測系統(tǒng)并網改造升級工作,實現了絕大部分觀測設備網絡化統(tǒng)一管理(周克昌等,2013;賈鴻飛等,2013)。隨著地震前兆臺網的發(fā)展,觀測設備不斷增多,學科觀測手段不斷增加,數據頻帶逐漸增高和拓寬,單個設備日產出數據量急劇增大,設備通訊協議也更為多樣,臺網設備的異構性逐漸增大。

      適配器被廣泛用于解決異構性問題中,其可實現對傳感器數據的抽象訪問、數據轉換操作等(陳峰等,2011;陳慶奎等,2012)。本文提出一種多類型異構設備集成適配設計方案,以完成異構設備數據采集、存儲及設備向服務器的高效傳輸。

      1 設備異構分析

      地震前兆觀測設備的異構性可分為命令集異構、數據結果異構和物理連接方式異構3種(鄧攀等,2010)。物理連接方式主要有IPv4連接(網絡化設備)、RS232連接(公共數采和智能設備)和PPP連接(調制解調器連接)3種,目前PPP連接已由IPv4取代(周克昌等,2013)。網絡化設備遵循“十五”網絡通訊協議,但仍存在非標準儀器設備,如極低頻儀器、光泵磁力儀、GNSS設備等高采樣率儀器。

      隨著地震前兆觀測技術的不斷發(fā)展以及臺網智能化監(jiān)控管理需求的推動,臺網設備越來越多,手段越來越豐富,采樣率越來越高,設備通訊協議日益多元,現有的技術系統(tǒng)架構已不堪重負。在大規(guī)模傳感器組網技術中,采用集中式管理的大數據中心已成為趨勢。限于當時的技術手段,“十五”設備網絡通訊協議采用的是字符串編碼,其編碼方式數據量大,且編解碼過程需要較大計算資源。與此同時,面對大量異構設備的協議適配和結果處理無疑將極大地增加數據中心負擔。如何實現設備的高效透明訪問和數據傳輸控制是當前和未來將要面臨的問題。

      2 采集適配器設計

      屏蔽設備異構性,實現設備高效透明訪問和管理是適配器軟件設計的核心目標,在前端以地震前兆數據采集適配器實現“多類型設備集成封裝”(圖1),將物理設備統(tǒng)一封裝為同構的虛擬設備,使上層通過適配器設備的統(tǒng)一訪問入口對設備進行訪問控制和向上層服務器高效安全傳輸數據(鄧攀等,2010;王晨等,2012;梁紅杰等,2014)。

      根據適配器工作及采集業(yè)務管理等需求,將適配器設計為數據采集、數據存儲和數據傳輸3個主要業(yè)務邏輯模塊,見圖2。

      圖1 適配器物理拓撲圖

      圖2 適配器主要業(yè)務邏輯模塊

      2.1 數據采集模塊

      數據采集模塊主要負責對各類物理設備的統(tǒng)一集成封裝,包括物理連接驅動、通訊指令適配,數據結果集適配、任務隊列管理和指令執(zhí)行。采集程序通過線程池管理,實現多并發(fā)指令控制,并提供采集狀態(tài)監(jiān)控接口。

      2.2 數據存儲模塊

      數據存儲模塊主要負責數據的存儲管理,包括數據庫連接管理,數據生命周期管理、數據分塊和讀寫接口。數據庫連接管理采用連接池,控制外界對數據庫的訪問連接數,確保數據庫安全及性能損耗;數據生命周期管理實現定期清理過期的觀測數據;數據分塊實現大數據量的數據切塊存儲;數據讀寫接口則實現對數據庫的操作訪問。

      2.3 數據傳輸模塊

      數據傳輸模塊通過數據傳送機制與上層服務器進行通信和數據傳輸。通過指令偵聽與解析模塊接收上層指令信息并解析處理。鏈接安全通過IP白名單機制、連接數管理以及權限進行控制;應用高性能消息序列化技術及可靠加密保證消息的傳輸效率及數據安全。

      3 關鍵技術設計

      3.1 適配采集任務設計

      實現對異構設備的透明化訪問和數據采集,需要將下層設備封裝為同構的虛擬設備,并通過設備訪問接口實現設備訪問,實現設備統(tǒng)一管理。適配器對上層的業(yè)務功能表現為對虛擬設備的訪問,在采集過程中,通過采集實現方法的自主適配及采集程序重構完成異構設備采集任務,對采集返回的結果集進行重構并向上層業(yè)務反饋統(tǒng)一數據格式的結果。基于適配的采集程序結構如圖3所示。

      通過設備指令適配、結果集適配和物理連接適配,并根據相應適配行為設計對應接口模型,實現對多類型異構設備訪問方法的規(guī)范化集成封裝,同時根據所封裝的異構設備訪問方法重構采集執(zhí)行單元,實現執(zhí)行接口的動態(tài)適配,設備訪問流程見圖4。

      (1)指令適配與命令構造模板設計

      在虛擬設備指令向物理設備指令轉換時,由于設備通信協議的異構,虛擬指令根據語義映射相應物理設備指令單元,不同指令單元按設備協議組合構造出完整的物理設備指令。

      統(tǒng)一虛擬命令通過getbytesCommand接口方法將命令中各個語義單元映射為物理設備指令單元,并組合成相應物理設備命令。同時,由于各個設備的訪問安全機制不同,因此需要規(guī)定getbytesLogin接口方法獲取登錄命令和handle建立連接接口方法,規(guī)范設備訪問行為。

      (2)結果適配與結果處理模板設計

      結果適配通過設備結果映射處理接口實現,完成抽象結果處理流程實例化。結果處理流程先對物理設備返回結果進行二進制流解析,將二進制流拆分成獨立的數據項,然后按數據業(yè)務邏輯對數據項進行重組、標記,形成統(tǒng)一格式的數據返回對象向上層業(yè)務返回虛擬設備結果。在程序實現中,設備返回數據流通過結果處理接口readNewData分解為各結果單元,通過getUniformResult將結果按需求計算和重新組合為入網結果格式,以便向接口層返回采集結果,具體見圖5及圖6。

      (3)物理連接適配與連接器模板設計

      物理連接適配由統(tǒng)一連接器接口和不同物理連接器構成。為保證底層協議規(guī)范的異構對設備訪問的透明,對底層通信通道協議封裝,對上層只暴露connect連接接口、close通道關閉接口、setConfig連接配置接口以及getInputStream和getOutputStream獲取輸入輸出流接口。

      (4)基于動態(tài)加載的接口適配實例化

      為實現設備適配的可擴展及減少在適配新設備時對軟件源碼的維護,采用動態(tài)加載接口實現類的接口適配方式。以DeviceAdapter抽象類為父類模板完成對指令適配、結果集適配、物理連接適配方法的聚合,異構設備根據實際設備訪問需求編寫相應采集執(zhí)行的實例,利用JAVA對象編程的多態(tài)技術,完成對命令構造、連接訪問和結果處理方法的差異化表達。

      圖3 基于適配的采集程序結構

      圖4 設備訪問流程

      如圖7所示,接口實例化過程中,通過DeviceType屬性存儲設備訪問實現類的名稱,用于檢索相應設備訪問實現類。對適配類實例進行緩存以實現實例的多次復用,降低頻繁初始化的性能消耗。本地庫自動從服務器適配倉庫中更新。

      圖5 采集結果處理流程

      3.2 適配存儲設計

      觀測及運行數據的有效存儲是數據采集、管理、處理和傳輸的基礎條件,基于業(yè)務需求及硬件條件,我們選擇MYSQL數據庫用于數據的存儲管理。

      為實現觀測數據統(tǒng)一存儲及適配大數據量數據存儲,設計了大字段數據高效存取控制及大數據量數據分塊存儲兩項關鍵技術方案。

      圖6 采集結果數據具體構造過程模擬示意

      (1)大字段數據高效存取控制

      針對數據庫中大字段的數據查詢、存儲或更新時頻繁開閉鎖可能遇到的性能瓶頸,數據庫存取管理設計了相應數據存取流程,見圖8。利用內存緩存適配器觀測設備配置信息以降低連接數據庫的開銷;采用將大字段數據與字段檢索信息拆分為一對一的兩張關聯表的數據表結構方式,檢索信息表在將大字段單獨存放后單行長度變小、數據庫存儲單元數據密度增加,這大大減少了數據庫在不同存儲單元間的隨機讀取,從而提高數據存取性能。

      (2)大數據量數據分塊存儲

      對大部分前兆數據MEDIUMBLOB字段類型的存儲空間已經可以滿足存儲需求,針對適配高采樣率、大數據量產出的觀測設備,數據分塊存儲是一種可行方案。相較于數據文件的存儲方式,數據庫分塊存儲具有更好的并發(fā)訪問可靠性及更低的內存溢出風險。

      圖7 接口實例化過程

      數據分塊流程見圖9。為確保數據配置信息的準確性,首先進行獲取設備配置連接索引;在獲取數據配置信息連接索引后將數據序列化為二進制數據以節(jié)省表空間及提高數據讀取解析效率;判斷數據是否超過字段大小并生成相應數據塊信息;最后進行數據入庫操作。在數據入庫時,大字段數據同樣存在update操作系統(tǒng)資源開銷過大的問題,可采用數據版本更新策略降低這一影響。

      為保存數據信息完整性,對觀測設備配置信息進行有效性標識以確保當前配置信息不沖突。應用程序根據實際觀測設備配置信息對標識進行修改。觀測適配配置信息與當前實際情況一致時則配置有效,否則配置失效、過時。失效配置用于原觀測數據連接說明,當刪除觀測數據時,刪除配置信息。

      圖8 數據存取流程

      3.3 高性能傳輸設計

      傳輸模塊通過一套基于Java NIO的數據傳輸機制實現向上層應用數據傳輸,如圖10。

      基于NIO的數據傳輸模塊主要實現對Selector、Channel和EventHandler這3個NIO組件的管理維護。Selector線程池實現Channel注冊與數據接收;Channel保存與維護和遠端的連接,并通過注冊在其上的各類Handler實現消息處理功能。主要消息處理功能包含對消息編解碼的高性能對象序列化與反序列化、客戶端登陸、心跳檢測、連接安全認證、失效數據處理等。消息處理引擎是獨立于I/O線程池的消息處理組件,其處理來自EventHandler的請求指令,并將結果經Channel向遠端反饋。

      圖9 數據分塊流程

      圖10 基于NIO的消息傳輸程序結構

      去除網絡帶寬限制的性能測試更能體現NIO的傳輸性能優(yōu)勢,在對相同條件下,同組前兆數據文件在本地讀取與存儲的測試中,基于NIO的傳輸測試程序相對傳統(tǒng)BIO性能提升三分之二,見表1。

      表1 基于NIO和傳統(tǒng)BIO的傳輸程序性能對比

      3.4 編碼技術選型

      大量數據的傳輸所產生的通信開銷是傳感器網絡最重要的性能消耗方式(方效林等,2014)。Java對象序列化技術可以實現適配器與數據中心分布式對象共享,可以實現遞歸保存對象引用的每個對象數據,實現對象在異地的深度復制,其強大的編解碼性能可用于對數據的存儲及傳輸。應用序列化技術對于數據傳輸的優(yōu)勢在于減少了開發(fā)數據流傳輸協議的工作量,降低傳輸應用開發(fā)及程序維護升級難度(毛國勇等,2008)。

      Protostuff是在Google公司開源序列化工具Protobuf基礎上發(fā)展而來的面向Java對象序列化的工具,與同類工具相比其高性能序列化能力和動態(tài)Schema生成能力表現突出(史棟杰,2010;Maeda,2012)。對以時間序列數據為主的地震數據其性能優(yōu)勢更大。以GM4磁通門磁力儀一天的數據為例,在相同運行環(huán)境下與傳統(tǒng)字符串編碼方式對比測試中,Protostuff序列化的變長緊湊型數字編碼數據量約為傳統(tǒng)字符串編碼的70%,單次編解碼耗時低一個量級,見表2,在低負載情況下其性能消耗基本可以忽略。

      表2 字符串編解碼與Protostuff序列化性能對比

      多次連續(xù)測試模擬高負載情況詳見圖11及圖12。

      圖11 字符串編解碼與Protostuff序列化高負載模擬分項耗時圖

      圖12 字符串編解碼與Protostuff序列化高負載模擬總耗時差

      對比結果顯示高性能的對象序列化具有序列化與反序列化速度快、系統(tǒng)性能占用少且序列化后數據量小的優(yōu)點,較傳統(tǒng)字符串編碼方式具有極大的優(yōu)勢。

      4 技術實現測試

      4.1 適配采集測試

      異構設備適配采集測試通過對“十五”協議設備及模擬異構設備的適配采集實現檢驗異構設備動態(tài)適配流程及效果。具體測試時,分別針對“十五”協議設備及模擬異構設備編寫相應的接口實現,其中命令異構通過對原“十五”命令進行刪減來實現,具體見圖13。結果異構體現在對不同數據通道數據排序上,見圖14。

      圖13 “十五”命令格式與模擬異構設備命令差異對比

      圖14 “十五”結果格式與模擬異構設備結果差異對比

      采集結果(圖15)顯示,在采集過程中,采集程序針對“十五”設備與模擬異構設備分別完成了不同采集接口實現的實例化,并通過不同命令構建方法與結果處理方法完成數據采集和數據入庫。因此,測試完成了整套接口適配、命令構造、設備訪問和結果處理流程,采集結果符合測試預期。

      圖15 測試的采集日志

      4.2 數據存儲性能測試

      存儲性能測試采用GM4磁通門磁力儀單測項一天數據為數據源,以隨機數模擬設備所屬臺站編碼、測點編碼等數據屬性,分別存入傳統(tǒng)結構前兆數據表及索引與上文中索引數據分離的新結構表。在查詢性能測試中,以15套GM4儀器3個月共13500條數據為表中背景數據,通過對其中數據進行隨機查詢測試新結構數據表的查詢性能。具體測試結果見圖16及圖17。

      圖16 數據批量插入耗時對比

      圖17 隨機查詢耗時對比

      數據插入性能測試結果顯示索引數據分離結構在執(zhí)行數據插入操作時具有較明顯的優(yōu)勢,其執(zhí)行耗時大約是原結構的50%至60%。在隨機查詢測試中,索引數據分離結構的執(zhí)行效率也具有一定優(yōu)勢。

      5 結束語

      本文為解決對物理連接異構、信息交互命令集異構、數據結果集異構的地震前兆儀器設備統(tǒng)一訪問、數據存儲和向上層應用進行數據傳輸的問題,進行了大量調研和技術選型,設計了一種地震前兆數據采集適配器。

      該方案將當前最流行的網絡通訊技術及存儲技術應用于地震前兆設備數據采集,使設備數據采集維護難度降低,傳輸效率提高,為地震數據匯集提供更加高效的數據服務。同時,該方案還有待完善,雖然適配器解決了上層服務器對設備的透明、虛擬化訪問的需求,但用戶仍然需要完成對適配器及儀器的相關配置工作,在下一步的工作中可對適配器管理機制進行設計,實現基于上層服務器應用的適配器間動態(tài)自動組網。

      陳峰,榮曉慧,鄧攀等,2011.設備協同技術及其系統(tǒng)軟件研究綜述.電子學報,39(2):440—447.

      陳慶奎,呂曉明,郝聚濤等,2012.一個物聯網異構數據接入系統(tǒng)ChukwaX.計算機工程,38(17):12—15.

      鄧攀,榮曉慧,陳峰等,2010.基于適配的異構設備統(tǒng)一訪問中間件.計算機工程,36(6):233—235,238.

      方效林,高宏,李建中,2014.無線傳感器網絡數據收集問題綜述.智能計算機與應用,4(1):1—5,9.

      賈鴻飛,陳敏,馬廣慶等,2013.全國前兆臺網“九五”系統(tǒng)臺站接入的設計與實施.地震研究,36(3):384—389.

      梁紅杰,劉彥磊,吉紅等,2014.基于地震前兆數據采集器在地震前兆臺網運行系統(tǒng)的應用研究.天津科技,41(1):11—13.

      毛國勇,張曉斌,張武,2008.基于序列化及壓縮的網格數據傳輸性能改進.計算機工程,34(16):89—91.

      史棟杰,2010.五種快速序列化框架的性能比較.電腦知識與技術,6(34):9710—9711.

      王晨,滕云田,王曉美等,2012.地震前兆串口通訊設備的網絡接入方案與實現.地震地磁觀測與研究,33(5):244—249.

      袁理想,汪文勇,羅光春,2005.設備網格技術的研究.計算機應用,25(12):2914—2915.

      周克昌,趙剛,王晨等,2013.中國地震前兆臺網觀測技術系統(tǒng)整合.中國地震,29(2):270—275.

      Maeda K., 2012. Performance evaluation of object serialization libraries in XML, JSON and binary formats. In: Proceedings of the Second International Conference on Digital Information and Communication Technology and it's Applications (DICTAP). Bangkok: IEEE, 177—182.

      Maeda K., 2012. Performance evaluation of object serialization libraries in XML, JSON and binary formats. In: Proceedings of the Second International Conference on Digital Information and Communication Technology and it's Applications (DICTAP). Bangkok: IEEE, 177—182.

      Design of Adaptation Software for Seismic Precursor Data Acquisition

      Tang Yixiang1), Teng Yuntian1), Liu Gaochuan1, 2), Zhang Yang1), Wang Chen1)and Wang Zhe1)

      1) Institute of Geophysics, China Earthquake Administration, Beijing 100081, China 2) China Earthquake Networks Center, Beijing 100045, China

      In order to solve the unified access problem of seismic precursory nonstandard equipment, we analyzed the heterogeneity of seismic precursor network equipment. And then, a complete set of seismic precursor data acquisition and matching software design scheme is proposed and the key technology design is described from three main software modules of acquisition, storage and transmission.

      Precursor observation network; Data acquisition; Adaptation; Device heterogeneous; Serialization; NIO

      湯一翔,滕云田,劉高川,張旸,王晨,王喆,2018.地震前兆數據采集適配軟件方案設計.震災防御技術,13(1):215—225.

      10.11899/zzfy20180120

      中國地震局地球物理研究所基本科研業(yè)務專項“地震前兆觀測網儀器適配器研制”(DQJB16B01);“基于云平臺的前兆組網技術中數據通信系統(tǒng)原型設計”(DQJB16B02)

      2017-05-18

      湯一翔,男,生于1991年。在讀碩士研究生。主要從事地球物理觀測信息技術研究。E-mail:tyx@cea-igp.ac.cn

      滕云田,男,生于1966年。研究員。主要從事地球物理觀測綜合技術研究。E-mail:tengyt@cea-igp.ac.cn

      猜你喜歡
      序列化前兆適配器
      如何建構序列化閱讀教學
      甘肅教育(2020年14期)2020-09-11 07:58:36
      哪些現象是地震前兆
      適配器模式及其應用
      電子測試(2017年11期)2017-12-15 08:57:45
      新型水文測驗GPS適配器設計與應用
      Java 反序列化漏洞研究
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      美國麥格普公司新型M—LOK相機三腳架適配器
      輕兵器(2015年20期)2015-09-10 07:22:44
      作文訓練微格化、序列化初探
      語文知識(2015年12期)2015-02-28 22:02:15
      右肝區(qū)不適或疼痛是肝癌表現的前兆嗎
      肝博士(2015年2期)2015-02-27 10:49:46
      騰沖地電場震前的前兆異常分析
      地震研究(2014年3期)2014-02-27 09:30:57
      凉城县| 双辽市| 博客| 山西省| 陆河县| 新昌县| 灵台县| 沁源县| 闸北区| 公主岭市| 上杭县| 南平市| 囊谦县| 南漳县| 若羌县| 呼伦贝尔市| 长阳| 洪江市| 抚顺市| 海安县| 桃源县| 民权县| 德格县| 鹿泉市| 九台市| 江阴市| 榆中县| 双流县| 广平县| 达拉特旗| 永定县| 肇东市| 咸宁市| 平山县| 沽源县| 石城县| 泉州市| 原阳县| 阿拉善盟| 五莲县| 盈江县|