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.

主站蜘蛛池模板: 亚洲欧美不卡中文字幕| 国产96在线 | 国产丝袜啪啪| 99精品伊人久久久大香线蕉| 午夜一区二区三区| 国产精品99在线观看| 最新国产午夜精品视频成人| 曰韩人妻一区二区三区| 欧美综合区自拍亚洲综合天堂| 国产乱子伦精品视频| 国产成人一级| 麻豆AV网站免费进入| 国产自产视频一区二区三区| 99人妻碰碰碰久久久久禁片| 欧美精品1区| 国产精品片在线观看手机版 | 小蝌蚪亚洲精品国产| 女人18毛片久久| 亚洲 欧美 偷自乱 图片| 综合网天天| 欧美不卡二区| 精品国产成人三级在线观看| 婷婷色丁香综合激情| 国产拍在线| 欧美视频在线第一页| 99这里只有精品免费视频| 欧美一级黄片一区2区| 一本大道无码高清| Jizz国产色系免费| 久久99国产乱子伦精品免| 国产综合精品一区二区| 国产一区二区三区在线精品专区| 四虎国产永久在线观看| 免费一级α片在线观看| 97在线国产视频| 日韩中文精品亚洲第三区| 亚洲欧美日韩另类在线一| V一区无码内射国产| 国产亚洲精品91| 亚洲欧美日本国产综合在线 | 免费大黄网站在线观看| 老色鬼久久亚洲AV综合| 国产农村妇女精品一二区| 亚洲 日韩 激情 无码 中出| 国产爽爽视频| 色哟哟色院91精品网站| 亚洲人免费视频| 亚洲永久色| 亚洲午夜国产精品无卡| 午夜国产大片免费观看| 伊人国产无码高清视频| 免费看a级毛片| 久久精品一品道久久精品| 免费人成网站在线观看欧美| 性欧美久久| 五月婷婷导航| 91精品最新国内在线播放| 久久无码av一区二区三区| 久久国产精品77777| 精久久久久无码区中文字幕| 免费中文字幕在在线不卡| 国产欧美亚洲精品第3页在线| 亚洲AV色香蕉一区二区| 亚洲国产欧洲精品路线久久| 欧美日一级片| 自偷自拍三级全三级视频| 久久久成年黄色视频| 在线观看免费黄色网址| 亚洲一区二区黄色| 国产麻豆精品久久一二三| 91福利国产成人精品导航| 国产综合日韩另类一区二区| 视频在线观看一区二区| 亚洲国产欧美目韩成人综合| 九九热视频在线免费观看| 中文国产成人精品久久| 国产成+人+综合+亚洲欧美 | 亚洲成综合人影院在院播放| 毛片手机在线看| av一区二区三区在线观看| 欧美成人精品一区二区| 91啦中文字幕|