[發明專利]一種面向微服務架構的消息傳輸系統及其方法有效
| 申請號: | 202010818890.2 | 申請日: | 2020-08-14 |
| 公開(公告)號: | CN112153108B | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 朱利魯;鄧秋輝;黃凱 | 申請(專利權)人: | 中國科學院電子學研究所蘇州研究院 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;H04L12/46 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 封睿 |
| 地址: | 215000 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 微服 架構 消息 傳輸 系統 及其 方法 | ||
1.一種面向微服務架構的消息傳輸系統,其特征在于,包括服務端和客戶端,其中客戶端與微服務集成,用于向服務端發送需向其他客戶端同步的消息,并接收服務端同步的來自其他客戶端的消息;所述服務端獨立部署,用于接收客戶端發送消息,并根據通訊方式將消息傳輸到目標客戶端;所述服務端和客戶端均采用基于任務鏈的并行處理方式實現對傳輸消息的處理;將傳輸消息實體拆分并封裝為自定義的幀結構作為最小傳輸單元,封裝的傳輸消息實體包括一個頭幀和若干個續幀;
所述頭幀包括傳輸過程中的控制信息,由幀頭和幀體組成,幀頭包括幀體長度、數據幀類型、標志位、數據唯一標識、保留位;幀體包括傳輸數據長度、傳輸數據類型、加密方式、壓縮方式、序列化編碼方式、是否持久化標志、通信方式、發送端編號、接收端編號和數據校驗信息,其中數據幀類型包括頭幀類型、續幀類型,數據唯一標識定義幀數據是否屬于同一個消息實體;傳輸數據類型包括字節類型、字符串類型、文件類型;通信方式包括單播、組播和廣播;
所述續幀包括傳輸消息實體,由幀頭和幀體組成,幀頭包括幀體長度、數據幀類型、標志位、數據唯一標識、保留位;幀體包括消息實體;
所述服務端和客戶端基于任務鏈的并行處理方式實現對傳輸消息的處理,具體是將消息處理過程劃分為階段子任務,將子任務組裝為并行處理的任務鏈,支持同時開啟多條任務鏈;
所述服務端通過傳輸組的方式組織客戶端,支持單播、組播和廣播三種通信方式;
所述客戶端實時向服務端報送心跳,服務端管理各傳輸組中的所有客戶端的編號、狀態和數據索引信息;
如果服務端在超時時間內未收到客戶端的心跳,則認定該客戶端失聯,將該客戶端標記為失聯狀態,并將傳輸組內維護的客戶端狀態標記為失聯狀態;
如果服務端重新接收到客戶端的心跳,則將客戶端標記為在線狀態,并將傳輸組內維護的客戶端狀態標記為在線狀態;
如果服務端在指定時間間隔內始終未能接收到客戶端的心跳,則將移除該客戶端,并在傳輸組中刪除該客戶端信息。
2.根據權利要求1所述的面向微服務架構的消息傳輸系統,其特征在于,所述服務端針對來自同一客戶端的消息,采用同一條任務鏈進行處理。
3.根據權利要求1或2所述的面向微服務架構的消息傳輸系統,其特征在于,所述任務鏈包括服務端消息接收校驗分發任務鏈、客戶端消息接收任務鏈和客戶端消息發送任務鏈,其中:
服務端消息接收校驗分發任務鏈包括4個子任務,其中子任務1用于消息接收、控制信息獲取和數據校驗,子任務2用于消息持久化,子任務3用于獲取需轉發的客戶端編號,子任務4用于消息發送;
客戶端消息接收任務鏈包括4個子任務,其中子任務1用于消息接收、控制信息獲取和數據校驗,子任務2用于數據解密,子任務3用于數據解壓,子任務4用于數據反序列化;
客戶端消息接收任務鏈包括4個子任務,其中子任務1用于接收微服務提供的消息、控制信息并對消息進行序列化,子任務2用于數據壓,子任務3用于數據加密,子任務4用于數據封裝和發送。
4.根據權利要求3所述的面向微服務架構的消息傳輸系統,其特征在于,所述服務端采用嵌入式數據庫RocksDB對需要持久化的消息進行入庫處理,具體方法為:
將消息封裝成日志對象,并提交至日志預處理任務隊列;
從日志預處理任務隊列批量獲取日志對象,檢查并按順序為日志對象設置索引,然后將日志對象寫入內存緩存,同時,將日志對象提交至持久化任務隊列;
從持久化任務隊列中批量獲取日志對象,按索引順序將日志對象寫入嵌入式數據庫RocksDB,入庫成功后通知后續任務可以進行相關數據的轉發,并刪除內存緩存中的相關日志對象。
5.根據權利要求1所述的面向微服務架構的消息傳輸系統,其特征在于,所述客戶端加入指定傳輸組時,服務端自發向該客戶端同步該傳輸組內傳輸的歷史消息;
所述客戶端斷線重連時,服務端以客戶端最后接收成功的數據索引為依據,自發向該客戶端同步斷線期間未能正常同步的歷史消息;
同時,所述服務端向客戶端進行歷史消息傳輸時,將暫時阻塞向該客戶端傳輸增量信息的過程,當歷史數據傳輸完畢后,再進行增量信息傳輸。
6.一種面向微服務架構的消息傳輸方法,其特征在于,基于權利要求1-5任一項所述的系統實現面向微服務架構的消息傳輸,包括:
客戶端向服務端發送需向其他客戶端同步的消息,并接收服務端同步的來自其他客戶端的消息;
服務端接收客戶端發送消息,并根據通訊方式將消息傳輸到目標客戶端;
所述服務端和客戶端均采用基于任務鏈的并行處理方式實現對傳輸消息的處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院電子學研究所蘇州研究院,未經中國科學院電子學研究所蘇州研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010818890.2/1.html,轉載請聲明來源鉆瓜專利網。





