欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng)及消息傳輸方法

文檔序號(hào):9754559閱讀:707來源:國知局
基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng)及消息傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是涉及一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng)及消息傳輸方法。
【背景技術(shù)】
[0002]Thrift是一種遠(yuǎn)程服務(wù)調(diào)用(RPC)的框架,支持自定義服務(wù)接口并提供遠(yuǎn)程客戶端調(diào)用,通過使用一種語言無關(guān)的接口定義語言IDL(Interface Definit1n Language),可以生成多種編程語言的客戶端,從而實(shí)現(xiàn)一種服務(wù)能夠被多種不同語言的客戶端調(diào)用。本質(zhì)上thrift所提供的是一種不同機(jī)器之間消息交互的系統(tǒng),并提供了完整的協(xié)議棧。
[0003]但是,由于Thrift是一種RPC系統(tǒng),所以只能是被動(dòng)地提供服務(wù)供客戶端訪問服務(wù),類似于HTTP協(xié)議,這是一種短連接的服務(wù),每次調(diào)用服務(wù)都需要重新連接才能調(diào)用服務(wù),服務(wù)端并不能主動(dòng)向客戶端發(fā)送消息,雖然可以重用一個(gè)連接,但是仍不具備長連接方式所需的功能,而且服務(wù)器端只能被動(dòng)地等待客戶端調(diào)用并回復(fù)消息,在需要保持長連接,并且服務(wù)器端需要向客戶端發(fā)送消息的系統(tǒng)環(huán)境中就無法發(fā)揮作用。采取在客戶端方面實(shí)現(xiàn)服務(wù)這種方式也可以解決問題,但是這種方式需要客戶端方面對外部提供訪問端口,在某些環(huán)境中,由于安全性等限制,不能隨意開通訪問端口,這種方式是無法實(shí)現(xiàn)的。
[0004]另一方面,在已有的支持長連接的系統(tǒng)中,使用的協(xié)議可能是一種自定義的數(shù)據(jù)格式,當(dāng)在兩種場景都需要支持的系統(tǒng)中,會(huì)不可避免的需要做大量繁瑣的數(shù)據(jù)格式之間的轉(zhuǎn)換,導(dǎo)致給系統(tǒng)會(huì)帶來一些不必要的性能損耗,同時(shí)也增加了系統(tǒng)的復(fù)雜度,使得系統(tǒng)難以維護(hù)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種結(jié)構(gòu)簡單、維護(hù)成本低、風(fēng)險(xiǎn)低的基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng)及消息傳輸方法。
[0006]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
[0007]一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),包括:
[0008]基本協(xié)議建立模塊,用于根據(jù)Thrift接口定義語言建立一基本協(xié)議;
[0009]TCP連接建立模塊,用于建立客戶端與服務(wù)器間的TCP連接,并通過心跳消息保持此TCP連接為長連接;
[0010]消息交換模塊,用于根據(jù)所述基本協(xié)議交換客戶端與服務(wù)器間的消息;
[0011]服務(wù)實(shí)現(xiàn)模塊,用于根據(jù)所述Thrift接口定義語言實(shí)現(xiàn)服務(wù)器的Thrift服務(wù),接收客戶端對Thrift服務(wù)的處理結(jié)果,并通過遠(yuǎn)程過程調(diào)用功能向外提供所述Thrift服務(wù)。
[0012]所述消息交換模塊中,進(jìn)行交換的數(shù)據(jù)格式為Thrift數(shù)據(jù)格式。
[0013]所述服務(wù)實(shí)現(xiàn)模塊設(shè)置于服務(wù)器中。
[0014]所述服務(wù)實(shí)現(xiàn)模塊包括:
[0015]監(jiān)聽單元,用于實(shí)時(shí)監(jiān)測是否有服務(wù)調(diào)用者發(fā)起對所建立的Thrift服務(wù)的訪問,并實(shí)時(shí)監(jiān)測是否收到客戶端對Thrift服務(wù)的處理結(jié)果。
[0016]一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息傳輸方法,包括以下步驟:
[0017]I)基于Thrift接口定義語言建立一基本協(xié)議;
[0018]2)在客戶端與服務(wù)器之間建立TCP連接,并通過心跳消息保持此TCP連接為長連接;
[0019]3)客戶端與服務(wù)器通過所述基本協(xié)議進(jìn)行消息交換,服務(wù)調(diào)用者對服務(wù)器進(jìn)行遠(yuǎn)程過程調(diào)用功能,通過客戶端與服務(wù)器的長連接實(shí)現(xiàn)對客戶端的間接調(diào)用。
[0020]所述步驟3)中,間接調(diào)用具體為:
[0021 ] 301)服務(wù)器基于Thrift接口定義語言建立Thrift服務(wù),并通過所述長連接通知客戶端,客戶端實(shí)現(xiàn)所述Thr if t服務(wù)的處理過程;
[0022]302)服務(wù)器監(jiān)聽Thrift服務(wù)的外部訪問端口,當(dāng)監(jiān)聽到有服務(wù)調(diào)用者通過遠(yuǎn)程過程調(diào)用功能訪問Thrift服務(wù)的消息時(shí),服務(wù)器將此消息以Thrift數(shù)據(jù)格式通過長連接發(fā)送到客戶端;
[0023]303)客戶端將Thrift服務(wù)對應(yīng)的處理結(jié)果以Thrift數(shù)據(jù)格式返回給服務(wù)器;
[0024]304)服務(wù)器實(shí)時(shí)監(jiān)聽與客戶端連接的端口,當(dāng)監(jiān)聽到有客戶端的處理結(jié)果數(shù)據(jù)返回時(shí),將此數(shù)據(jù)作為Thrift服務(wù)的結(jié)果返回給服務(wù)調(diào)用者。
[0025]與現(xiàn)有技術(shù)相比,本發(fā)明具有以有益效果:
[0026](I)本發(fā)明在客戶端與服務(wù)器之間建立TCP連接,并通過心跳消息保持此TCP連接為長連接,使得采用thrift技術(shù)的系統(tǒng)能夠同時(shí)支持長連接的模式,以實(shí)現(xiàn)從服務(wù)器端主動(dòng)向客戶端發(fā)送消息的功能,架構(gòu)簡單易懂,也易于實(shí)現(xiàn)。
[0027](2)本發(fā)明以Thrift數(shù)據(jù)格式進(jìn)行消息傳遞,消除了 RPC系統(tǒng)與長連接系統(tǒng)中不同消息格式之間的轉(zhuǎn)換,使得系統(tǒng)的開銷得到降低,從而降低了消息傳遞的延遲;同時(shí)由于不再需要維護(hù)多種不同的數(shù)據(jù)格式,有效降低了維護(hù)的成本。
[0028](3)本發(fā)明中,服務(wù)調(diào)用者通過遠(yuǎn)程過程調(diào)用功能實(shí)現(xiàn)對客戶端的間接調(diào)用,不需要客戶端對外暴露訪問端口,降低了客戶端被攻擊的風(fēng)險(xiǎn)。
【附圖說明】
[0029]圖1為本發(fā)明的原理及消息傳遞框圖。
【具體實(shí)施方式】
[0030]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0031]本實(shí)施例提供一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),包括基本協(xié)議建立模塊、TCP連接建立模塊、消息交換模塊和服務(wù)實(shí)現(xiàn)模塊,其中,基本協(xié)議建立模塊用于根據(jù)Thrif t接口定義語言建立一基本協(xié)議;TCP連接建立模塊用于建立客戶端與服務(wù)器間的TCP連接,并通過心跳消息保持此TCP連接為長連接;消息交換模塊用于根據(jù)所述基本協(xié)議交換客戶端與服務(wù)器間的消息;服務(wù)實(shí)現(xiàn)模塊設(shè)置于服務(wù)器中,用于根據(jù)所述Thrift接口定義語言實(shí)現(xiàn)服務(wù)器的Thrift服務(wù),接收客戶端對Thrift服務(wù)的處理結(jié)果,并通過遠(yuǎn)程過程調(diào)用功能向外提供所述Thrift服務(wù)。Thrift服務(wù)包括獲取客戶端指定目錄下的文件等。
[0032]服務(wù)實(shí)現(xiàn)模塊中還包括監(jiān)聽單元,用于實(shí)時(shí)監(jiān)測是否有服務(wù)調(diào)用者發(fā)起對所建立的Thrift服務(wù)的訪問,并實(shí)時(shí)監(jiān)測是否收到客戶端對Thrift服務(wù)的處理結(jié)果。
[0033]基于上述消息系統(tǒng)可實(shí)現(xiàn)混合架構(gòu)消息傳輸方法,客戶端和服務(wù)器以及外部服務(wù)訪問者與服務(wù)器之間的相互交互的示意圖如圖1所示,消息傳輸方法包括以下步驟:
[0034]I)基于Thrift接口定義語言建立一基本協(xié)議。
[0035]2)在客戶端與服務(wù)器之間建立TCP連接,并通過心跳消息保持此TCP連接為長連接。
[0036]3)客戶端與服務(wù)器通過所述基本協(xié)議進(jìn)行消息交換,服務(wù)調(diào)用者對服務(wù)器進(jìn)行遠(yuǎn)程過程調(diào)用功能,通過客戶端與服務(wù)器的長連接實(shí)現(xiàn)對客戶端的間接調(diào)用,具體為:
[0037]301)服務(wù)器基于Thrift接口定義語言建立Thrift服務(wù),并通過所述長連接通知客戶端,客戶端實(shí)現(xiàn)所述Thr if t服務(wù)的處理過程;
[0038]302)服務(wù)器監(jiān)聽Thrift服務(wù)的外部訪問端口,當(dāng)監(jiān)聽到有服務(wù)調(diào)用者通過遠(yuǎn)程過程調(diào)用功能訪問Thrift服務(wù)的消息時(shí),服務(wù)器將此消息以Thrift數(shù)據(jù)格式通過長連接發(fā)送到客戶端;
[0039]303)客戶端將Thrift服務(wù)對應(yīng)的處理結(jié)果以Thrift數(shù)據(jù)格式返回給服務(wù)器;
[0040]304)服務(wù)器實(shí)時(shí)監(jiān)聽與客戶端連接的端口,當(dāng)監(jiān)聽到有客戶端的處理結(jié)果數(shù)據(jù)返回時(shí),將此數(shù)據(jù)作為Thrift服務(wù)的結(jié)果返回給服務(wù)調(diào)用者。
[0041]以Thrift服務(wù)為獲取客戶端指定目錄下的文件為例,服務(wù)器建立該Thrift服務(wù),在一臺(tái)客戶端機(jī)器上啟動(dòng)客戶端程序,使得客戶端連接到啟動(dòng)的服務(wù)器,并保持長連接,在另外一臺(tái)機(jī)器(服務(wù)訪問者)上對提供Thrift服務(wù)的服務(wù)器進(jìn)行訪問,比如指定一個(gè)路徑,之后即可方便獲得客戶端對應(yīng)目錄的文件列表。
【主權(quán)項(xiàng)】
1.一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),其特征在于,包括: 基本協(xié)議建立模塊,用于根據(jù)Thrif t接口定義語言建立一基本協(xié)議; TCP連接建立模塊,用于建立客戶端與服務(wù)器間的TCP連接,并通過心跳消息保持此TCP連接為長連接; 消息交換模塊,用于根據(jù)所述基本協(xié)議交換客戶端與服務(wù)器間的消息; 服務(wù)實(shí)現(xiàn)模塊,用于根據(jù)所述Thrift接口定義語言實(shí)現(xiàn)服務(wù)器的Thrift服務(wù),接收客戶端對Thrift服務(wù)的處理結(jié)果,并通過遠(yuǎn)程過程調(diào)用功能向外提供所述Thrift服務(wù)。2.根據(jù)權(quán)利要求1所述的基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),其特征在于,所述消息交換模塊中,進(jìn)行交換的數(shù)據(jù)格式為Thrift數(shù)據(jù)格式。3.根據(jù)權(quán)利要求1所述的基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),其特征在于,所述服務(wù)實(shí)現(xiàn)模塊設(shè)置于服務(wù)器中。4.根據(jù)權(quán)利要求1所述的基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng),其特征在于,所述服務(wù)實(shí)現(xiàn)模塊包括: 監(jiān)聽單元,用于實(shí)時(shí)監(jiān)測是否有服務(wù)調(diào)用者發(fā)起對所建立的Thrift服務(wù)的訪問,并實(shí)時(shí)監(jiān)測是否收到客戶端對Thrift服務(wù)的處理結(jié)果。5.—種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息傳輸方法,其特征在于,包括以下步驟: 1)基于Thrift接口定義語言建立一基本協(xié)議; 2)在客戶端與服務(wù)器之間建立TCP連接,并通過心跳消息保持此TCP連接為長連接; 3)客戶端與服務(wù)器通過所述基本協(xié)議進(jìn)行消息交換,服務(wù)調(diào)用者對服務(wù)器進(jìn)行遠(yuǎn)程過程調(diào)用功能,通過客戶端與服務(wù)器的長連接實(shí)現(xiàn)對客戶端的間接調(diào)用。6.根據(jù)權(quán)利要求5所述的基于Thrif t數(shù)據(jù)格式的混合架構(gòu)消息傳輸方法,其特征在于,所述步驟3)中,間接調(diào)用具體為: 301)服務(wù)器基于Thrift接口定義語言建立Thrift服務(wù),并通過所述長連接通知客戶端,客戶端實(shí)現(xiàn)所述Thr if t服務(wù)的處理過程; 302)服務(wù)器監(jiān)聽Thrift服務(wù)的外部訪問端口,當(dāng)監(jiān)聽到有服務(wù)調(diào)用者通過遠(yuǎn)程過程調(diào)用功能訪問Thrift服務(wù)的消息時(shí),服務(wù)器將此消息以Thrift數(shù)據(jù)格式通過長連接發(fā)送到客戶端; 303)客戶端將Thrift服務(wù)對應(yīng)的處理結(jié)果以Thrift數(shù)據(jù)格式返回給服務(wù)器; 304)服務(wù)器實(shí)時(shí)監(jiān)聽與客戶端連接的端口,當(dāng)監(jiān)聽到有客戶端的處理結(jié)果數(shù)據(jù)返回時(shí),將此數(shù)據(jù)作為Thrift服務(wù)的結(jié)果返回給服務(wù)調(diào)用者。
【專利摘要】本發(fā)明涉及一種基于Thrift數(shù)據(jù)格式的混合架構(gòu)消息系統(tǒng)及消息傳輸方法,其中,消息系統(tǒng)包括:基本協(xié)議建立模塊,用于根據(jù)Thrift接口定義語言建立一基本協(xié)議;TCP連接建立模塊,用于建立客戶端與服務(wù)器間的TCP連接,并通過心跳消息保持此TCP連接為長連接;消息交換模塊,用于根據(jù)所述基本協(xié)議交換客戶端與服務(wù)器間的消息;服務(wù)實(shí)現(xiàn)模塊,用于根據(jù)所述Thrift接口定義語言實(shí)現(xiàn)服務(wù)器的Thrift服務(wù),接收客戶端對Thrift服務(wù)的處理結(jié)果,并通過遠(yuǎn)程過程調(diào)用功能向外提供所述Thrift服務(wù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有結(jié)構(gòu)簡單、維護(hù)成本低、風(fēng)險(xiǎn)低等優(yōu)點(diǎn)。
【IPC分類】H04L29/08, H04L29/06
【公開號(hào)】CN105516097
【申請?zhí)枴緾N201510856872
【發(fā)明人】邢保松
【申請人】上海愛數(shù)信息技術(shù)股份有限公司
【公開日】2016年4月20日
【申請日】2015年11月30日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
西和县| 新巴尔虎右旗| 阳朔县| 肇源县| 上林县| 正宁县| 东安县| 兖州市| 虞城县| 富平县| 华安县| 卫辉市| 莱芜市| 平原县| SHOW| 拜泉县| 昭通市| 福鼎市| 乌鲁木齐市| 昭觉县| 义乌市| 安顺市| 清流县| 从化市| 宜川县| 郯城县| 滕州市| 治县。| 钦州市| 黎平县| 司法| 金乡县| 邢台县| 义马市| 当涂县| 体育| 香港| 驻马店市| 当雄县| 盘山县| 花莲市|