[發(fā)明專利]一種基于非阻塞通信的微服務(wù)系統(tǒng)設(shè)計(jì)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710112875.4 | 申請(qǐng)日: | 2017-02-28 |
| 公開(kāi)(公告)號(hào): | CN106850829B | 公開(kāi)(公告)日: | 2019-11-22 |
| 發(fā)明(設(shè)計(jì))人: | 陶明亮;楊峰;高旺 | 申請(qǐng)(專利權(quán))人: | 蘇州星熙數(shù)據(jù)科技有限公司 |
| 主分類號(hào): | H04L29/08 | 分類號(hào): | H04L29/08 |
| 代理公司: | 32257 蘇州市中南偉業(yè)知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) | 代理人: | 耿丹丹<國(guó)際申請(qǐng)>=<國(guó)際公布>=<進(jìn)入 |
| 地址: | 215000 江蘇省蘇*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 阻塞 通信 微服 系統(tǒng) 設(shè)計(jì) 方法 | ||
1.一種基于非阻塞通信的微服務(wù)系統(tǒng)設(shè)計(jì)方法,其特征在于,包括步驟:
(1)構(gòu)建三層網(wǎng)絡(luò)架構(gòu)的服務(wù)端:包括由下至上的反應(yīng)通信調(diào)度層、職責(zé)鏈管道層和業(yè)務(wù)邏輯處理層,其中
-所述反應(yīng)通信調(diào)度層監(jiān)聽(tīng)網(wǎng)絡(luò)的讀寫(xiě)和連接操作,負(fù)責(zé)將網(wǎng)絡(luò)層的數(shù)據(jù)讀取到內(nèi)存緩沖區(qū)中,然后觸發(fā)各種網(wǎng)絡(luò)事件,將這些事件觸發(fā)到管道中,由管道充當(dāng)?shù)穆氊?zé)鏈來(lái)進(jìn)行后續(xù)的處理;
-所述職責(zé)鏈管道層負(fù)責(zé)事件在職責(zé)鏈中的有序傳播,同時(shí)負(fù)責(zé)動(dòng)態(tài)的編排職責(zé)鏈,職責(zé)鏈選擇監(jiān)聽(tīng)和處理自己關(guān)心的事件、攔截處理和向后/向前傳播事件;
-所述業(yè)務(wù)邏輯處理層負(fù)責(zé)業(yè)務(wù)邏輯處理與應(yīng)用層協(xié)議管理;
(2)客戶端通過(guò)API透明地與所述服務(wù)端發(fā)送和接收信息;
所述服務(wù)端的實(shí)現(xiàn)步驟為:
A、創(chuàng)建一個(gè)服務(wù)的實(shí)例,所述服務(wù)為服務(wù)入口,通過(guò)消息循環(huán)等待客戶端的信息;
B、綁定一個(gè)事件循環(huán)的線程池,通過(guò)一事件循環(huán)的數(shù)值來(lái)實(shí)現(xiàn),用于處理選擇器Selector產(chǎn)生的事件通道,由事件來(lái)實(shí)現(xiàn)對(duì)選擇器的輪詢,每個(gè)事件處理網(wǎng)絡(luò)的消息和系統(tǒng)自定義的任務(wù);
C、設(shè)置并綁定服務(wù)端的IO通道非阻塞服務(wù)端口通道,通過(guò)通道的類型決定提供服務(wù)的模式;
D、注冊(cè)和創(chuàng)建通信鏈路,用于處理網(wǎng)絡(luò)事件,負(fù)責(zé)管理和執(zhí)行通道處理模塊,網(wǎng)絡(luò)事件以事件流的形式在通道管線中流轉(zhuǎn),由通道管線根據(jù)通道處理模塊的執(zhí)行策略調(diào)度通道處理模塊的執(zhí)行;
所述客戶端的實(shí)現(xiàn)步驟如下:
1)創(chuàng)建處理客戶端連接、I/O讀寫(xiě)的反應(yīng)線程組非阻塞事件輪詢模塊,通過(guò)構(gòu)造函數(shù)指定I/O線程的個(gè)數(shù),默認(rèn)為CPU內(nèi)核數(shù)的2倍;
2)用戶指定的通道類型創(chuàng)建用于客戶端連接的非阻塞端口通道;
3)創(chuàng)建默認(rèn)的通道處理模塊,用于調(diào)度和執(zhí)行網(wǎng)絡(luò)事件;
4)異步發(fā)起TCP連接,判斷連接是否成功,如果成功,則直接將非阻塞端口通道注冊(cè)到多路復(fù)用器上,監(jiān)聽(tīng)讀操作位,用于數(shù)據(jù)報(bào)讀取和消息發(fā)送;如果沒(méi)有立即連接成功,則注冊(cè)連接監(jiān)聽(tīng)位到多路復(fù)用器,等待連接結(jié)果;
5)注冊(cè)對(duì)應(yīng)的網(wǎng)絡(luò)監(jiān)聽(tīng)狀態(tài)位到多路復(fù)用器;
6)由多路復(fù)用器在I/O現(xiàn)場(chǎng)中輪詢各通道,處理連接結(jié)果;
7)如果連接成功,發(fā)送連接成功事件,觸發(fā)通道管線執(zhí)行;
8)由通道管線調(diào)度執(zhí)行系統(tǒng)和用戶的通道處理模塊,執(zhí)行業(yè)務(wù)邏輯。
2.根據(jù)權(quán)利要求1所述的基于非阻塞通信的微服務(wù)系統(tǒng)設(shè)計(jì)方法,其特征在于:所述網(wǎng)絡(luò)事件的處理方法為:
a、建立系統(tǒng)編解碼框架;
b、建立通用的基于長(zhǎng)度的半包解碼器;
c、打印碼流日志;
d、對(duì)SSL進(jìn)行安全認(rèn)證;
e、進(jìn)行鏈路空閑檢測(cè);
f、流量整形;
g、采用Base64編解碼;
h、系統(tǒng)初始化并檢測(cè)工作,然后綁定并啟動(dòng)監(jiān)聽(tīng)端口,并將IO通道注冊(cè)到選擇器上監(jiān)聽(tīng)客戶端連接;
i、選擇器輪詢:由調(diào)度系統(tǒng)負(fù)責(zé)調(diào)度和執(zhí)行選擇器輪詢操作,選擇準(zhǔn)備就緒的通道集合;
j、當(dāng)輪詢到準(zhǔn)備就緒的通道之后由消息事件執(zhí)行通道鏈路的相應(yīng)方法,最終調(diào)度并執(zhí)行通道處理方法;
k、執(zhí)行用戶自定義的通道處理方法,完成整個(gè)服務(wù)端的任務(wù)。
3.根據(jù)權(quán)利要求2所述的基于非阻塞通信的微服務(wù)系統(tǒng)設(shè)計(jì)方法,其特征在于:所述編解碼框架為T(mén)hrift的壓縮二進(jìn)制編解碼框架或Google的Protobuf二進(jìn)制序列化框架或基于系統(tǒng)自身提供的編解碼框架。
4.根據(jù)權(quán)利要求2所述的基于非阻塞通信的微服務(wù)系統(tǒng)設(shè)計(jì)方法,其特征在于:所述網(wǎng)絡(luò)事件包括鏈路注冊(cè)、鏈路激活、鏈路斷開(kāi)、接收到請(qǐng)求消息、請(qǐng)求消息接收并處理完畢、發(fā)送應(yīng)答消息、鏈路發(fā)生異常、用戶自定義事件中的一種或多種。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州星熙數(shù)據(jù)科技有限公司,未經(jīng)蘇州星熙數(shù)據(jù)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710112875.4/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 通信裝置、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信方法、通信電路、通信系統(tǒng)
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信終端、通信系統(tǒng)、通信方法以及通信程序
- 通信終端、通信方法、通信裝備和通信系統(tǒng)
- 通信裝置、通信程序、通信方法以及通信系統(tǒng)
- 通信裝置、通信系統(tǒng)、通信方法及計(jì)算機(jī)可讀取的記錄介質(zhì)
- 基于人工智能服務(wù)云平臺(tái)的微服務(wù)管理方法和系統(tǒng)
- 域名管理方法、裝置及系統(tǒng)
- 微服務(wù)通信方法、裝置、電子設(shè)備及機(jī)器可讀存儲(chǔ)介質(zhì)
- 微服務(wù)應(yīng)用平臺(tái)及其資源保存方法和保存裝置
- 一種微服務(wù)關(guān)聯(lián)分析與預(yù)測(cè)方法
- 微服務(wù)配置信息管理系統(tǒng)、方法、服務(wù)器及存儲(chǔ)介質(zhì)
- 微服務(wù)容器之間服務(wù)啟動(dòng)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 微服務(wù)組合方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 微服務(wù)接口的發(fā)布方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種大規(guī)模微服務(wù)架構(gòu)及其管理方法





