999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種分布式數據管理中心軟件架構設計

2022-07-18 00:08:30孟景濤王濤蔣浩孫婧徐朽輝
計算機與網絡 2022年10期

孟景濤 王濤 蔣浩 孫婧 徐朽輝

摘要:隨著國產化新研航天地面測控數傳裝備需求的爆發式增長,帶來了更復雜多樣的數據,傳統單體數據庫在此類數據面前明顯吃力。為滿足各型裝備用戶對高效、綜合運維管理的客觀需求,提出了一種基于國產化面向服務軟件架構的多維數據管理平臺,對吞吐數據進行統一管理,來完成測控數傳設備的數據積累,形成良性循環,逐步提高測控數傳設備可用度與可靠性。后續其他類似的項目數據中心部分建設,只需要對數據中心進行參數配置,即可實現數據管理功能。同時為項目的微服務化提供技術棧架構支撐。

關鍵詞:分布式;數據管理;Linux;Zookeeper;

中圖分類號:TP319文獻標志碼:A文章編號:1008-1739(2022)10-49-5

分布式數據管理中心軟件[1]是航天地面測控數傳裝備的組成部分,作為整個系統的數據管理中心,擔負著整個系統設備的數據存儲和管理等功能[2]?,F有系統中數據存儲的形式主要有XML數據文件[3]、自定義格式數據文件和SQL Lite等,在數據安全性、擴展性和維護性上與現有應用場景和技術已不再匹配,并且現有系統架構不支持高并發和大批量的數據存儲和數據檢索,所以提出將系統中的業務數據、基礎配置及其日志信息數據剝離出來,以數據庫為支撐,建立數據中心,實現對數據存儲和訪問的集中化管理[4]。

對測控軟件從整體架構上進行了全新的設計,實現對數據存儲以數據庫為基礎,通過模塊化將系統中的業務數據、配置數據和日志信息數據由之前的分散性和數據格式的多樣性進行了數據存儲的統一化、訪問的規范化和數據的獨立性。以此建立數據中心,實現數據和業務的隔離,在數據的管理和操作上方便、快捷、高效;在數據維護上簡單、安全[5];實現數據的集中控制、數據一致性和可維護性、數據共享、減少數據的冗余度、數據安全和數據的備份[6]。建立數據中心后,系統模塊劃分更加合理,降低了系統的耦合性,增強了系統訪問的高效性、可維護性和可擴展性。

目標的項目架構在具有關系數據接口插件和ES(elasticsearch)數據接口插件上使用了Zookeeper,Kafka,Mycat等開源服務,通過對MySQL數據庫、神通數據庫、redis數據庫和ES數據存儲的使用,實現在不同場景下對于數據存儲和檢索的支持,項目架構如圖1所示。

項目架構對于系統性能、可用性和數據安全性均有優化作用,能夠支持當前的業務需求,對系統的易維護性也有很好的支持。經過實驗驗證,數據存儲服務在國產環境中的效率評估也有不凡表現。

2.1服務之間接口訪問設計

創建Dbserver插件處理關系數據[7],訂閱消息cti/dbserver/ request/*(cti/dbserver/receive/接口命令字/交易流水號),返回消息發送cti/dbserver/response/*(cti/dbserver/response/請求時命令字/請求時交易流水號)。

Dbserver插件通過thrift提供的RPC接口通信方式作為與數據庫服務間調用方式,調用方和服務提供方通過Thrift方式生成統一的方法string invoke(1:string para),入參和返回值均為json傳輸,這樣保持具體接口方法增加和修改的穩定性。

出入參統一格式:

入參:{“reqtype”:“請求接口名”,“param”: “{param1”:“param2value”,“param1”:“param2value”}}

出參:{“restype”:“返回數據類型”,“param”:{“param1”:“param2value”,“param1”:“param2value”}}

ES插件部分與服務通信采用同樣方式處理。

2.2關系數據服務插件

關系數據服務插件與系統其他模塊間通過異步消息方式交互[8],上節描述了交互的方式及報文格式,插件在加載時向zk讀取可用關系數據服務列表,根據配置文件配置,可以采用主備方式優先調用主數據服務,當主數據服務異常時切換到備用服務;或者采用無主混合模式隨機選用可用服務進行接口調用,當某一臺數據服務異常后插件主動剔除異常服務的鏈接。

關系數據服務插件架構如圖2所示,插件采用zk提供的對于節點觀察的方式,通過zk的機制來進行及時的關系數據服務的主動斷開或者加入;關系數據插件與關系數據服務之間通過Thrift框架進行接口調用,連接的維持方法調用細節通過框架透明,只需要關注業務即可。

2.3關系數據服務

關系數據服務模塊由接口層、邏輯層和數據庫操作層組成[4],向上通過Thrift的RPC通信框架承接測控邏輯層的業務接口需求向下與Mycat交互,Mycat經過數據庫代理對數據庫的分布式進行透明化處理,關系數據服務模塊如圖3所示。

業務數據服務負責業務相關的配置報表等持久化數據,在邏輯劃分上分為接口層、邏輯層和數據庫連接層。各個層直接通過虛基類的方式向上提供功能,接口層承接上層對于功能的需求向外釋放功能接口,邏輯層根據業務需要和數據庫的設計進行數據加工,數據庫操作層負責數據庫的基礎操作功能和數據庫連接池的保持。

在數據庫連接層可根據配置方式選擇采用“讀寫都是MySQL”“寫MySQL+神通讀MySQL”“讀寫都是神通”的模式控制。

在數據連接層可根據配置文件配置主備2個Mycat組,連接層自檢測鏈接的可用性,當主Mycat可用性異常時自動切換到備用Mycat連接,上層業務層無感知。

2.4 ES日志數據插件

ES日志數據服務插件與系統其他模塊間通過異步消息方式交互,上文描述了交互的方式及報文格式,插件在加載時向zk讀取可用ES日志數據服務列表,根據配置文件配置可以采用主備方式優先調用主ES服務,當主ES服務異常時切換到備用服務;或者采用無主混合模式隨機選用可用服務進行接口調用,當某一臺ES服務異常后插件主動剔除異常服務的鏈接,日志數據插件架構如圖4所示。

ES日志數據服務插件采用zk提供的對于節點觀察的方式,通過zk的機制來進行及時的ES數據服務的主動斷開或者加入。ES數據插件與ES數據服務之間通過Thrift框架進行接口調用,連接的維持方法調用細節通過框架透明,只需要關注業務即可。

2.5日志模塊服務

由于項目中日志的數據輸出量比較大,所以不能不考慮對整個系統性能的影響。從另外一方面來看,大量的日志數據需要方便檢索,增強日志的可閱讀性和檢索效率。模塊基于使用方便,包括開發和信息檢索;組織合理,日志內容被有效地組織起來。有助于基于日志內容的分析;過程重現,基于日志的分析,最重要的是重現當時運行的過程,日志模塊服務架構如圖5所示。

模塊向上通過Thrift的RPC通信框架承接測控邏輯層的日志持久化需求,向下與消息中間件做對接將需要持久化的數據寫入文件數據庫ES。

項目對于消息中間件的引入在保證日志的完整性的同時,采用異步寫入的方式降低了日志寫入對業務系統性能的影響;另外,此部分增加日志異步寫入服務,讀取消息隊列中的日志數據進行必要的數據加工,可以根據需要增加邏輯處理對日志進行格式化匹配業務日志場景,然后再寫入ES進行持久化存儲。功能劃分上,日志模塊只負責接收上層日志寫入消息中間件,日志加工寫入模塊對日志數據進行格式化,或者根據業務場景進行日志數據的加工寫入ES。

通過對項目目標的分析,結合以往成熟的項目經驗,針對當前流行的相關技術和框架進行分析,系統采用如下技術棧進行架構實現:通過MySQL進行業務數據的存儲;Mycat進行數據庫和項目的隔離到達數據庫的分布式部署和容災自動切換;Redis作為緩存數據的存儲提高系統的響應效率;ES作為日志存儲,達到大數據的檢索;Kafka作為消息中間件支持大并發數據的通信,通過異步方式降低系統調用延遲,對于后端數據持久化提供多服務支持;ZooKeeper[9]來實現微服務治理,保障系統的穩定性[10],為系統的低耦合高內聚做穩定性支持[11];Thrift+Json來完成服務間調用,并方便地達到對于語言的透明,在業務設計上采用業務提取屬性的方式到達對業務配置化的支持。

運行環境采用銀河麒麟Kylin V10 Liunx操作系統、 Phytium FT-2000/4(64位,4核)處理器、8 GB內存和銀河麒麟飛騰PC機,開發環境為Qt集成開發環境[12]。針對目標架構中MySQL和ES在國產化機器設備中的存取效率測試評估如下:MySQL基礎數據為102萬條現有數據的基礎上插入10萬條數據做平均插入耗時計算;在銀河麒麟飛騰PC機中,帶有2個索引字段的MySQL表中以102萬數據為原始數據,再增加10萬條數據為計算依據,每秒可插入1 886條記錄;數據查詢單條查詢耗時均在1 ms以下;以一億數據為基準根據時間范圍條件查詢,每條查詢用時4 ms,效率評估結果如圖6所示。

在銀河麒麟飛騰PC機中,ES以1億數據為原始數據,再增加10萬條數據為計算依據,每秒可插入1.4萬條記錄;以普通字段為條件查詢耗時為每次4 ms。實驗結果表明,采用本架構,在國產操作系統下存取效率高,遠超系統使用要求[13],效率評估結果如圖7所示。

本軟件架構的設計除了完成需求目標外,在系統的業務邏輯上達到流程可配置化;后續其他類似航天測控系統中涉及數據中心部分的建設,只需要根據新的系統需求對數據中心的參數進行配置,即可實現新項目的業務需求。同時為后續項目的微服務化和多語言的混合編程,提前實施技術棧的架構方案保障。

[1]王文龍.分布式軟件開發平臺的設計與實施[D].北京:北京郵電大學,2011.

[2]崔方園.支持分布式協同開發的軟件配置管理系統研究[D].大連:大連海事大學,2009.

[3]孫婧,劉瑩,孟景濤,等.基于XML的軟件通用程序框架[J].無線電工程,2015,45(6):25-27.

[4]史俊.分布式軟件技術及其應用研究[J].無線互聯科技, 2012(12):68.

[5]文姍,周壽章.一個實現軟件項目管理的統一軟件數據管理方法[J].云南大學學報(自然科學版),2007,29(S2):186-189.

[6]陸琴.計算機軟件開發與數據管理[J].計算機產品與流通, 2018(7):26.

[7]王玉文.總控與管理子系統數據管理軟件的設計與實現[D].西安:西安電子科技大學,2014.

[8]黃成剛.監控組態軟件中數據管理子系統的設計與實現[D].大連:大連理工大學,2008.

[9]周國興.基于ZooKeeper的服務集成框架研究[D].南京:東南大學,2019.

[10]董龍成.基于ZooKeeper的配置中心系統設計與實現[D].西安:西安電子科技大學,2018.

[11]黃毅斐.基于ZooKeeper的分布式同步框架設計與實現[D].杭州:浙江大學,2012.

[12]許生模,余敏.嵌入式QT的內核分析與優化[J].微計算機信息,2007(29):59-61.

[13]林旭新,陳文吉,鄭大鵬.一種面向服務的跨平臺實時信息發布及交流軟件架構[J].現代計算機(專業版),2014(8): 77-80.

主站蜘蛛池模板: 亚洲欧美人成人让影院| 国产在线麻豆波多野结衣| 亚洲一级毛片在线观播放| 成人午夜网址| 国产精品不卡永久免费| 夜色爽爽影院18禁妓女影院| 伊人久久大香线蕉影院| 色综合国产| 中文字幕伦视频| 日韩在线永久免费播放| 午夜精品福利影院| 青青青草国产| 中文字幕亚洲另类天堂| 成人伊人色一区二区三区| 朝桐光一区二区| 日本尹人综合香蕉在线观看| 欧美视频免费一区二区三区| 国产一区二区网站| 高清码无在线看| 国产极品美女在线播放| 国产91视频免费| 伊人久久久久久久久久| 再看日本中文字幕在线观看| 亚洲精品日产精品乱码不卡| 国产国产人成免费视频77777| 久久精品欧美一区二区| 91精品综合| 国产精品福利社| 鲁鲁鲁爽爽爽在线视频观看| 国产国产人成免费视频77777 | 国产精品久久久精品三级| 一级成人a毛片免费播放| 欧美一级黄色影院| 丁香婷婷在线视频| 久久夜色撩人精品国产| 欧美色伊人| 国产在线观看一区精品| 国产欧美精品午夜在线播放| 国产视频自拍一区| 亚洲不卡无码av中文字幕| 欧美日韩综合网| 久久77777| 91久久国产综合精品| 午夜精品区| 91伊人国产| 日韩在线永久免费播放| 国产福利小视频高清在线观看| 视频二区中文无码| 四虎永久在线| 国产成人三级| 亚洲第一区精品日韩在线播放| 国产99久久亚洲综合精品西瓜tv| 噜噜噜综合亚洲| 国产小视频免费观看| 国产精品私拍99pans大尺度| 又大又硬又爽免费视频| 欧美日本激情| 香蕉视频在线精品| 尤物午夜福利视频| 亚洲视频四区| 毛片免费在线| 乱系列中文字幕在线视频| 日韩福利在线观看| 狠狠色丁婷婷综合久久| 91精品国产无线乱码在线| 免费一级毛片| 欧洲亚洲一区| 91探花国产综合在线精品| 免费一级α片在线观看| 97国产精品视频自在拍| 亚洲IV视频免费在线光看| 欧美97欧美综合色伦图| 国产成人久视频免费| 国产白浆视频| 九九精品在线观看| 无遮挡国产高潮视频免费观看| 日本欧美在线观看| 亚洲精品卡2卡3卡4卡5卡区| 亚洲人成日本在线观看| 亚洲国产成熟视频在线多多 | 91国内视频在线观看| 欧美性爱精品一区二区三区|