一種插件式協(xié)議裝置及基于插件式協(xié)議的數(shù)據(jù)通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊領(lǐng)域,特別是涉及一種插件式協(xié)議裝置及基于插件式協(xié)議的數(shù)據(jù)通信方法。
【背景技術(shù)】
[0002]目前,在基于智能終端的應(yīng)用開發(fā)工作中,一個(gè)重要的任務(wù),就是與不同服務(wù)器進(jìn)行交互,對(duì)私有協(xié)議進(jìn)行解析,執(zhí)行業(yè)務(wù)邏輯。在開發(fā)過(guò)程中,基礎(chǔ)功能經(jīng)常重復(fù)性開發(fā),包括基礎(chǔ)的網(wǎng)絡(luò)(tcp/ip)、數(shù)據(jù)加密以及私有業(yè)務(wù)協(xié)議,這些功能的開發(fā)占據(jù)了大部分的開發(fā)時(shí)間。由于核心業(yè)務(wù)往往具有一致性,重復(fù)實(shí)現(xiàn)業(yè)務(wù)不便于維護(hù)和擴(kuò)展,增加了開發(fā)維護(hù)成本。目前隨著智能終端硬件水平的不斷提高,智能終端設(shè)備的處理能力和存儲(chǔ)能力不斷提高,網(wǎng)絡(luò)環(huán)境不斷改善,能夠?qū)崿F(xiàn)一些較為復(fù)雜的功能,但是隨著數(shù)據(jù)處理能力要求越來(lái)越高,需要參與計(jì)算的原始數(shù)據(jù)越來(lái)愈多,計(jì)算的復(fù)雜性越來(lái)越高。硬件配置相對(duì)較低的智能設(shè)備對(duì)復(fù)雜計(jì)算的處理緩慢而容易失敗,面對(duì)較為復(fù)雜的計(jì)算,會(huì)導(dǎo)致存儲(chǔ)能力和計(jì)算能力不足,此時(shí),需要基于云的服務(wù)器參與存儲(chǔ)和計(jì)算。
[0003]Android、1S以及windows系統(tǒng)的智能設(shè)備的屬性不同,但共性也很明顯,支持成熟的開發(fā)語(yǔ)言,較好的聯(lián)網(wǎng)方式和網(wǎng)路速度,對(duì)網(wǎng)絡(luò)基礎(chǔ)協(xié)議支持很好。以上各種操作系統(tǒng)可以基于不同的計(jì)算機(jī)語(yǔ)言進(jìn)行開發(fā),為基于智能終端的應(yīng)用協(xié)議棧插件化提供了可能?,F(xiàn)有的嵌入式應(yīng)用開發(fā)并非基于插件化,因此升級(jí)時(shí)需要全部更新;用戶無(wú)法選擇性定制應(yīng)用,必須下載量大且較為完整的應(yīng)用,對(duì)于應(yīng)用的協(xié)議支持也不夠靈活,無(wú)法做到不同網(wǎng)絡(luò)鏈路,實(shí)現(xiàn)不同業(yè)務(wù);現(xiàn)在的云技術(shù)側(cè)重于存儲(chǔ),對(duì)協(xié)同計(jì)算則涉及較少,而當(dāng)智能嵌入式設(shè)備的硬件無(wú)法滿足計(jì)算存儲(chǔ)需求時(shí),需要一種模式來(lái)實(shí)現(xiàn)手機(jī)端計(jì)算的分布性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種插件式協(xié)議裝置及基于插件式協(xié)議的數(shù)據(jù)通信方法,用以解決目前的嵌入式應(yīng)用開發(fā)對(duì)于應(yīng)用的協(xié)議支持不夠靈活,無(wú)法做到基于不同網(wǎng)絡(luò)鏈路實(shí)現(xiàn)不同業(yè)務(wù)的問(wèn)題。
[0005]根據(jù)本發(fā)明的一個(gè)方面,提供了一種插件式協(xié)議裝置,包括:插件配置管理器、業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器;插件配置管理器,用于根據(jù)通信方的鏈路信息對(duì)業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器進(jìn)行調(diào)度;業(yè)務(wù)協(xié)議插件管理器,用于對(duì)終端接收或發(fā)送的通信對(duì)象中的業(yè)務(wù)數(shù)據(jù)進(jìn)行業(yè)務(wù)協(xié)議的轉(zhuǎn)換;基礎(chǔ)協(xié)議插件管理器,用于對(duì)終端接收或發(fā)送的通信對(duì)象進(jìn)行傳輸協(xié)議封裝。
[0006]其中,插件配置管理器包括:插件管理器以及配置管理器;配置管理器中存儲(chǔ)有協(xié)議配置文件;插件管理器用于調(diào)用配置管理器中的協(xié)議配置文件,根據(jù)協(xié)議配置文件加載基礎(chǔ)協(xié)議插件管理器中的基礎(chǔ)協(xié)議插件配置信息以及加載業(yè)務(wù)協(xié)議插件管理器中的業(yè)務(wù)協(xié)議插件配置信息,根據(jù)基礎(chǔ)協(xié)議插件配置信息以及業(yè)務(wù)協(xié)議插件配置信息配置基礎(chǔ)協(xié)議插件以及業(yè)務(wù)協(xié)議插件。
[0007]其中,裝置還包括:更新模塊,用于從配置管理器中讀取協(xié)議配置文件的時(shí)間戳,攜帶時(shí)間戳訪問(wèn)協(xié)議配置文件的升級(jí)服務(wù)器,如果讀取到的時(shí)間戳與升級(jí)服務(wù)器的中的協(xié)議配置文件的時(shí)間戳不一致,則從升級(jí)服務(wù)器中下載更新的協(xié)議配置文件;下載模塊,用于使用下載到的更新的協(xié)議配置文件的時(shí)間戳與終端本地的協(xié)議配置文件的時(shí)間戳進(jìn)行對(duì)比,如果二者不一致,則根據(jù)更新的協(xié)議配置文件在終端生成更新的插件信息以及版本信息,并從升級(jí)服務(wù)器下載更新的插件。
[0008]其中,通信對(duì)象包括終端向計(jì)算請(qǐng)求代理服務(wù)器發(fā)送的計(jì)算參數(shù),插件配置管理器具體用于:在將經(jīng)過(guò)業(yè)務(wù)協(xié)議轉(zhuǎn)換后的通信對(duì)象按照傳輸協(xié)議進(jìn)行轉(zhuǎn)換并組包后發(fā)送至通信方之后,接收來(lái)自計(jì)算請(qǐng)求代理服務(wù)器返回的計(jì)算結(jié)果,將計(jì)算結(jié)果發(fā)送至業(yè)務(wù)協(xié)議插件管理器。
[0009]進(jìn)一步的,裝置還包括:傳輸控制協(xié)議TCP層,用于對(duì)終端待發(fā)送以及接收的數(shù)據(jù)進(jìn)行TCP封裝;安全套接層SSL,用于對(duì)在TCP層傳輸?shù)臄?shù)據(jù)進(jìn)行加密。
[0010]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種基于插件式協(xié)議的數(shù)據(jù)通信方法,包括:讀取通信方的鏈路信息;創(chuàng)建與通信方進(jìn)行通信的通信對(duì)象;根據(jù)鏈路信息加載通信對(duì)象的上下文信息,得到加載后的通信對(duì)象;將加載后的通信對(duì)象中的業(yè)務(wù)數(shù)據(jù)按照業(yè)務(wù)協(xié)議進(jìn)行轉(zhuǎn)換;在經(jīng)過(guò)業(yè)務(wù)協(xié)議轉(zhuǎn)換后的通信對(duì)象按照傳輸協(xié)議進(jìn)行封裝后發(fā)送至通信方。
[0011]進(jìn)一步的,上述方法還包括:調(diào)用協(xié)議配置文件,根據(jù)協(xié)議配置文件加載基礎(chǔ)協(xié)議插件配置信息以及業(yè)務(wù)協(xié)議插件配置信息;根據(jù)基礎(chǔ)協(xié)議插件配置信息以及業(yè)務(wù)協(xié)議插件配置信息配置基礎(chǔ)協(xié)議插件以及業(yè)務(wù)協(xié)議插件。
[0012]其中,上述方法還包括:從配置管理器中讀取協(xié)議配置文件的時(shí)間戳,攜帶時(shí)間戳訪問(wèn)協(xié)議配置文件的升級(jí)服務(wù)器,如果讀取到的時(shí)間戳與升級(jí)服務(wù)器的中的協(xié)議配置文件的時(shí)間戳不一致,則從升級(jí)服務(wù)器中下載更新的協(xié)議配置文件;使用下載到的更新的協(xié)議配置文件的時(shí)間戳與終端本地的協(xié)議配置文件的時(shí)間戳進(jìn)行對(duì)比,如果二者不一致,則根據(jù)更新的協(xié)議配置文件在終端生成更新的插件信息以及版本信息,并從升級(jí)服務(wù)器下載更新的插件。
[0013]其中,通信對(duì)象包括終端向計(jì)算請(qǐng)求代理服務(wù)器發(fā)送的計(jì)算參數(shù),方法還包括:在將經(jīng)過(guò)業(yè)務(wù)協(xié)議轉(zhuǎn)換后的通信對(duì)象按照傳輸協(xié)議進(jìn)行轉(zhuǎn)換并組包后發(fā)送至通信方之后,接收來(lái)自計(jì)算請(qǐng)求代理服務(wù)器返回的計(jì)算結(jié)果;將計(jì)算結(jié)果按照傳輸協(xié)議進(jìn)行轉(zhuǎn)換;將轉(zhuǎn)換后的計(jì)算結(jié)果按照業(yè)務(wù)協(xié)議進(jìn)行轉(zhuǎn)換后提供給終端。
[0014]其中,上下文信息中包括:表明通信對(duì)象是否支持安全套接層SSL的指示信息、通信對(duì)象使用的業(yè)務(wù)協(xié)議以及通信對(duì)象使用的傳輸協(xié)議,當(dāng)上下文信息中表明通信對(duì)象支持SSL時(shí),方法還包括,在將經(jīng)過(guò)業(yè)務(wù)協(xié)議轉(zhuǎn)換后的通信對(duì)象按照傳輸協(xié)議進(jìn)行轉(zhuǎn)換并組包后發(fā)送至通信方之前,按照SSL對(duì)通信對(duì)象進(jìn)行加密。
[0015]本發(fā)明實(shí)施例提供的方案,基于插件式的協(xié)議棧,將通信傳輸協(xié)議以及業(yè)務(wù)協(xié)議分別進(jìn)行管理,基于終端需求統(tǒng)一進(jìn)行調(diào)度,且,將終端接收到的以及發(fā)送的數(shù)據(jù)分別進(jìn)行業(yè)務(wù)協(xié)議轉(zhuǎn)換以及傳輸協(xié)議封裝,實(shí)現(xiàn)了基于不同網(wǎng)絡(luò)鏈路實(shí)現(xiàn)不同業(yè)務(wù)的功能。
【附圖說(shuō)明】
[0016]圖1是本發(fā)明實(shí)施例1中插件式協(xié)議裝置的結(jié)構(gòu)框圖;
[0017]圖2是本發(fā)明實(shí)施例1中插件式協(xié)議裝置借助服務(wù)集群實(shí)現(xiàn)復(fù)雜計(jì)算的示意圖;
[0018]圖3是本發(fā)明實(shí)施例3提供的應(yīng)用協(xié)議棧的插件管理器加載插件的流程圖;
[0019]圖4是本發(fā)明實(shí)施例2的協(xié)議棧的調(diào)用使用的流程圖;
[0020]圖5是本發(fā)明實(shí)施例2的協(xié)議棧插件更新的流程圖;
[0021]圖6是本發(fā)明實(shí)施例2的協(xié)議棧插件更新的流程圖;
[0022]圖7是本發(fā)明實(shí)施例3的基于插件式協(xié)議的數(shù)據(jù)通信方法的流程圖。
【具體實(shí)施方式】
[0023]為了解決現(xiàn)有技術(shù)的嵌入式應(yīng)用開發(fā)對(duì)于應(yīng)用的協(xié)議支持不夠靈活,無(wú)法做到基于不同網(wǎng)絡(luò)鏈路實(shí)現(xiàn)不同業(yè)務(wù)的問(wèn)題,本發(fā)明提供了一種插件式協(xié)議裝置及基于插件式協(xié)議的數(shù)據(jù)通信方法,以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0024]實(shí)施例1
[0025]本發(fā)明實(shí)施例提供一種插件式協(xié)議裝置,具體的,該裝置為應(yīng)用于智能終端的插件式應(yīng)用協(xié)議棧,如圖1所示,該裝置具體可以包括如下組成部分,需要說(shuō)明的是,該圖僅為示意圖,圖1中所示各組成部分的具體個(gè)數(shù)在本實(shí)施例中不做具體限定:
[0026]插件配置管理器、業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器;
[0027]插件配置管理器,用于根據(jù)通信方的鏈路信息對(duì)業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器進(jìn)行調(diào)度,以通過(guò)業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器對(duì)接收或待發(fā)送的通信對(duì)象進(jìn)行協(xié)議轉(zhuǎn)換,如圖1所示,該層位于最上層,該插件配置管理器通過(guò)諸如配置文件、云端存儲(chǔ)等,進(jìn)行個(gè)體智能終端的協(xié)議插件配置,具體的,該插件可以分為兩個(gè)子層,即業(yè)務(wù)協(xié)議插件管理器以及基礎(chǔ)協(xié)議插件管理器。
[0028]業(yè)務(wù)協(xié)議插件管理器,用于對(duì)終端接收或發(fā)送的通信對(duì)象中的業(yè)務(wù)數(shù)據(jù)進(jìn)行業(yè)務(wù)協(xié)議的轉(zhuǎn)換,且用于管理用戶的業(yè)務(wù)插件,其中,業(yè)務(wù)插件負(fù)責(zé)各個(gè)業(yè)務(wù)模塊的數(shù)據(jù)轉(zhuǎn)化和處理;
[0029]基礎(chǔ)協(xié)議插件管理器,用于對(duì)終端接收或發(fā)送的通信對(duì)象進(jìn)行傳輸協(xié)議封裝和轉(zhuǎn)換,該基礎(chǔ)協(xié)議插件管理器,用于管理基礎(chǔ)協(xié)議插件,其中,基礎(chǔ)協(xié)議例如,mqtt協(xié)議、基于物聯(lián)網(wǎng)家電的e++協(xié)議以及http協(xié)議等。
[0030]如圖1所示,該裝置還包括TCP (Transmiss1n Control Protocol,傳輸控制協(xié)議)層以及SSL(Secure Sockets Layer,安全套接層),其中,傳輸控制協(xié)議TCP層,用于對(duì)終端待發(fā)送以及接收的數(shù)據(jù)進(jìn)行TCP封裝;安全套接層SSL層,用于對(duì)在TCP層傳輸?shù)臄?shù)據(jù)進(jìn)行加密。
[0031]基于此:上述插件配置管理器包括:插件管理器以及配置管理器;配置管理器中存儲(chǔ)有協(xié)議配置文件;插件管理器用于調(diào)用配置管理器中的協(xié)議配置文件,根據(jù)協(xié)議配置文件加載基礎(chǔ)協(xié)議插件管理器中的基礎(chǔ)協(xié)議插件配置信息以及加載業(yè)務(wù)協(xié)議插件管理器中的業(yè)務(wù)協(xié)議插件配置信息,根據(jù)基礎(chǔ)協(xié)議插件配置信息以及業(yè)務(wù)協(xié)議插件配置信息配置基礎(chǔ)協(xié)議插件以及業(yè)務(wù)協(xié)議插件。
[0032]上述裝置還具有插件更新功能,基于此,上述裝置還包括:更新模塊,用于從配置管理器中讀取協(xié)議配置文件的時(shí)間戳,攜帶時(shí)間戳訪問(wèn)協(xié)議配置文件的升級(jí)服務(wù)器,如果讀取到的時(shí)間戳與升級(jí)服務(wù)器的中的協(xié)議配置文件的時(shí)間戳不一致,則從升級(jí)服務(wù)器中下載更新的協(xié)議配置文件;使用下載到的更新的協(xié)議配置文件的時(shí)間戳與終端本地的協(xié)議配置文件的時(shí)間戳進(jìn)行對(duì)比,如果二者不一致,則根據(jù)更新的協(xié)議配置文件在終端生成更新的插件信息以及版本信息,并從升級(jí)服務(wù)器下載更新的插件。
[0033]基于上述裝置可以實(shí)現(xiàn)在終端硬件性能無(wú)法進(jìn)行復(fù)雜計(jì)算的情況下,使用較為精簡(jiǎn)的協(xié)議和集群進(jìn)行計(jì)算請(qǐng)求交互,進(jìn)而通過(guò)集群向智能終端推送計(jì)算結(jié)果,圖2是基于上述裝置來(lái)借助服務(wù)集群來(lái)實(shí)現(xiàn)復(fù)雜計(jì)算的示意圖,如圖2所示,該計(jì)算過(guò)程涉及到幾個(gè)參與計(jì)算的主體:智能終端,計(jì)算集群,上下文存儲(chǔ)集群,其中,上述通信對(duì)象包括終端向計(jì)算請(qǐng)求代理服務(wù)器發(fā)送的計(jì)算參數(shù),基于此,上述插件配置管理器具體用于:在將經(jīng)過(guò)業(yè)務(wù)協(xié)議轉(zhuǎn)換后的通信對(duì)象按照傳輸協(xié)議進(jìn)行轉(zhuǎn)換并組包后發(fā)送至通信方之后,接收來(lái)自計(jì)算請(qǐng)求代理服務(wù)器返回的計(jì)算結(jié)果,將計(jì)算結(jié)果發(fā)送至業(yè)務(wù)協(xié)議插件管理器。
[0034]實(shí)施例2
[0035]本實(shí)施例協(xié)議棧的加載、使用、調(diào)用、更新以及進(jìn)行復(fù)雜計(jì)算來(lái)進(jìn)一步對(duì)本發(fā)明實(shí)施例I提供的插件