国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      業(yè)務(wù)系統(tǒng)的協(xié)議解析方法及裝置與流程

      文檔序號(hào):12493760閱讀:419來源:國知局
      業(yè)務(wù)系統(tǒng)的協(xié)議解析方法及裝置與流程

      本發(fā)明涉及物聯(lián)網(wǎng)通訊技術(shù)領(lǐng)域,尤其涉及一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法及裝置。



      背景技術(shù):

      隨著信息通信技術(shù)的不斷發(fā)展,通信網(wǎng)絡(luò)作為信息通信技術(shù)的重要基礎(chǔ),已經(jīng)從人到人的通信發(fā)展到人與物、物與物之間的通信,并逐漸趨向于從縱向的局部物與物相連過渡到橫向的跨應(yīng)用、跨地域的物聯(lián)網(wǎng)。物聯(lián)網(wǎng)在1999年被提出,其定義為將所有物品通過射頻識(shí)別(RFID)、紅外傳感、全球定位系統(tǒng)、激光掃描燈信息傳感設(shè)備與互聯(lián)網(wǎng)連接起來,進(jìn)行信息交互和通信,實(shí)現(xiàn)智能化識(shí)別、定位、跟蹤、監(jiān)控和管理。

      目前的物聯(lián)網(wǎng)通信處于初步的發(fā)展階段,物聯(lián)網(wǎng)通訊設(shè)計(jì)中都是根據(jù)一種已經(jīng)設(shè)計(jì)好的通訊協(xié)議,簡單的在業(yè)務(wù)系統(tǒng)的邏輯中,通過硬編碼的方式進(jìn)行協(xié)議的解析。

      現(xiàn)有技術(shù)中所有的邏輯都在一個(gè)處理器中,耦合度高,隨著業(yè)務(wù)的擴(kuò)展,程序的復(fù)雜度越來越高。并且,使用條件判斷語句解析報(bào)文再進(jìn)行分發(fā)處理時(shí),在通訊協(xié)議上每新增一種業(yè)務(wù),都需要對(duì)判斷語句進(jìn)行修改,隨著業(yè)務(wù)的擴(kuò)展,判斷語句會(huì)日益復(fù)雜,并且每一次更新,都可能對(duì)以往所有的邏輯產(chǎn)生影響。所以,現(xiàn)有的物聯(lián)網(wǎng)通訊技術(shù)中存在著擴(kuò)展性低的問題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提出了一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法,可以解決物聯(lián)網(wǎng)通訊技術(shù)中存在的擴(kuò)展性低的技術(shù)問題。

      一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法,包括:

      在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象;

      通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型;

      根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象;

      根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      可選的,在所述查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象之前,還包括:

      加載新增的協(xié)議匹配對(duì)象,獲取所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí);

      獲取輸入的與所述協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與所述新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。

      可選的,所述查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象包括:

      獲取所述接收到的通訊報(bào)文中的關(guān)鍵字;

      在所述XML文件中查詢與所述關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)所述標(biāo)識(shí)獲取對(duì)應(yīng)的協(xié)議匹配對(duì)象。

      可選的,所述方法還包括:

      加載新增的業(yè)務(wù)模塊,獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口;

      獲取輸入的與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將所述新增的業(yè)務(wù)模塊調(diào)用接口以及與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML文件中。

      可選的,所述根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口包括:

      在所述XML文件中查詢到與所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型匹配的業(yè)務(wù)模塊調(diào)用接口時(shí),調(diào)用查找到的業(yè)務(wù)模塊調(diào)用接口。

      此外,還提出了一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置。

      一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置,包括:

      協(xié)議匹配對(duì)象查找單元,用于在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象;

      通訊報(bào)文解析單元,用于通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型;

      數(shù)據(jù)對(duì)象生成單元,用于根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象;

      業(yè)務(wù)模塊調(diào)用單元,用于根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      可選的,所述裝置還包括協(xié)議匹配對(duì)象添加單元,用于:

      加載新增的協(xié)議匹配對(duì)象,獲取所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí);

      獲取輸入的與所述協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與所述新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。

      可選的,所述協(xié)議匹配對(duì)象查找單元還用于:

      獲取所述接收到的通訊報(bào)文中的關(guān)鍵字;

      在所述XML文件中查詢與所述關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)所述標(biāo)識(shí)獲取對(duì)應(yīng)的協(xié)議匹配對(duì)象。

      可選的,所述裝置還包括業(yè)務(wù)模塊添加單元:

      加載新增的業(yè)務(wù)模塊,獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口;

      獲取輸入的與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將所述新增的業(yè)務(wù)模塊調(diào)用接口以及與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML文件中。

      可選的,所述業(yè)務(wù)模塊調(diào)用單元還用于:

      在所述XML文件中查詢到與所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型匹配的業(yè)務(wù)模塊調(diào)用接口時(shí),調(diào)用查找到的業(yè)務(wù)模塊調(diào)用接口。

      本發(fā)明實(shí)施例中通過查找與接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象,根據(jù)協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,并根據(jù)通訊報(bào)文生成數(shù)據(jù)對(duì)象,將數(shù)據(jù)對(duì)象傳遞至與業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理,采用XML文件格式保存協(xié)議匹配對(duì)象和業(yè)務(wù)模塊調(diào)用接口,使得在對(duì)處理程序進(jìn)行修改時(shí),只需要改動(dòng)XML文件中對(duì)應(yīng)的模塊;同時(shí),在增加或者刪除業(yè)務(wù)模塊時(shí),只需要添加或者刪除相應(yīng)的XML文件,而不必對(duì)整個(gè)業(yè)務(wù)處理程序進(jìn)行改動(dòng),從而降低業(yè)務(wù)模塊之間的耦合度,提高程序的可擴(kuò)展性。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      其中:

      圖1為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的流程圖;

      圖2為另一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的流程圖;

      圖3為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置的示意圖;

      圖4為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置的示意圖;

      圖5為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置的結(jié)構(gòu)圖;

      圖6為一個(gè)實(shí)施例中運(yùn)行上述業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的計(jì)算機(jī)系統(tǒng)的硬件架構(gòu)圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      在一個(gè)實(shí)施例中,提出了一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法。該方法的實(shí)現(xiàn)可依賴于計(jì)算機(jī)程序,該計(jì)算機(jī)程序可以是通訊協(xié)議解析的管理程序。該計(jì)算機(jī)程序可運(yùn)行于基于馮諾依曼體系的計(jì)算機(jī)系統(tǒng)之上。

      參照?qǐng)D1,圖1是本發(fā)明實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的流程圖,該業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的執(zhí)行包括以下步驟:

      步驟S102:在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象。

      步驟S104:通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型。

      步驟S106:根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象。

      通訊報(bào)文是網(wǎng)絡(luò)傳輸?shù)膯挝?,傳輸過程中會(huì)不斷的封裝成分組、包、幀來進(jìn)行傳輸,封裝的方式就是添加一些信息段,那些就是報(bào)文頭以一定格式組織起來的數(shù)據(jù)。比如里面有報(bào)文類型、報(bào)文版本、報(bào)文長度、報(bào)文實(shí)體等等信息。在本實(shí)施例中,與通訊報(bào)文匹配的協(xié)議匹配對(duì)象指對(duì)通訊協(xié)議進(jìn)行處理的單元,其中包含3個(gè)內(nèi)容:業(yè)務(wù)標(biāo)識(shí)、匹配規(guī)則和消息轉(zhuǎn)發(fā)方式。

      其中,業(yè)務(wù)標(biāo)識(shí)是通訊報(bào)文中攜帶的業(yè)務(wù)處理信息對(duì)應(yīng)的業(yè)務(wù)處理對(duì)象,以社交軟件“刪除好友這一操作過程”為例,業(yè)務(wù)標(biāo)識(shí)為刪除好友,可能的值為:ms.person.friend.delete;匹配規(guī)則指從通訊報(bào)文中識(shí)別這一操作類型,以數(shù)據(jù)基于http傳輸為例,假設(shè)解析的通訊報(bào)文的url為“http://ip:port/iport/cdata?cliendId=3434UYU77&option=5&cmd=3&oporation=delete&id=eUYIIDUUSY”,匹配規(guī)則為識(shí)別url中的參數(shù),從而確定具體業(yè)務(wù),例如規(guī)則可能為:option為5,operation為delete且含有id的url,就認(rèn)為是刪除好友的操作。消息轉(zhuǎn)發(fā)方式指的是確定了報(bào)文的業(yè)務(wù)特征后的處理方式。如可以將業(yè)務(wù)標(biāo)識(shí)和其它信息(如人員id,姓名等),發(fā)往特定隊(duì)列的消息隊(duì)列,給專門處理好友的業(yè)務(wù)模塊接收(也可能有其它方式,如通過websocket、thrift等推送消息)。

      在本實(shí)施例中,可預(yù)先創(chuàng)建XML文件對(duì)協(xié)議匹配對(duì)象的標(biāo)識(shí)進(jìn)行保存,XML是可擴(kuò)展標(biāo)記語言(Extensible Markup Language)的縮寫,其中的標(biāo)記(markup)是關(guān)鍵部分,可以創(chuàng)建內(nèi)容,然后使用限定標(biāo)記去標(biāo)記它,從而使每個(gè)單詞、短語或塊成為可識(shí)別、可分類的信息。XML文件存在于業(yè)務(wù)模塊,保存的是協(xié)議匹配對(duì)象中描述的業(yè)務(wù)標(biāo)識(shí),協(xié)議版本、調(diào)用類、調(diào)用函數(shù)、優(yōu)先值。

      在一個(gè)實(shí)施例中,可以通過獲取接收到的通訊報(bào)文中的關(guān)鍵字,在XML文件中查詢與關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)查找到的標(biāo)識(shí)獲取對(duì)應(yīng)的已加載到內(nèi)存中的協(xié)議匹配對(duì)象。系統(tǒng)可在啟動(dòng)時(shí)加載預(yù)先定義的多個(gè)類型的協(xié)議匹配對(duì)象的類,并生成相應(yīng)的協(xié)議匹配對(duì)象,存儲(chǔ)在內(nèi)存中,生成的協(xié)議匹配對(duì)象即具有相應(yīng)的標(biāo)識(shí)。系統(tǒng)也可在啟動(dòng)后動(dòng)態(tài)地加載多個(gè)類型的協(xié)議匹配對(duì)象的類。例如,在通訊報(bào)文中查詢到關(guān)鍵字“device”,根據(jù)該關(guān)鍵字在XML文件中查找到對(duì)應(yīng)的協(xié)議匹配對(duì)象的標(biāo)識(shí)如“device 1-4”,其中包含了關(guān)鍵字“device”,再根據(jù)該協(xié)議匹配標(biāo)識(shí)獲取對(duì)應(yīng)的已加載到內(nèi)存中的協(xié)議匹配對(duì)象。

      這里的關(guān)鍵字匹配可以包含多種情況,可以是在關(guān)鍵字與協(xié)議匹配對(duì)象的標(biāo)識(shí)完全相同時(shí)判定為匹配;也可以設(shè)定一定的百分比閾值,超過設(shè)定的閾值時(shí)判定為匹配,如關(guān)鍵字與協(xié)議匹配對(duì)象的標(biāo)識(shí)的字符串的相似度為80%,設(shè)定的閾值為70%,此時(shí)即認(rèn)為匹配成功。根據(jù)關(guān)鍵字匹配查找對(duì)應(yīng)的協(xié)議匹配對(duì)象,可以快速地檢測(cè)到相應(yīng)的協(xié)議匹配對(duì)象,提高處理效率。

      步驟S108:根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      在本實(shí)施例中,對(duì)通訊報(bào)文的業(yè)務(wù)處理需要通過調(diào)用對(duì)應(yīng)的業(yè)務(wù)模塊接口,并將數(shù)據(jù)對(duì)象傳遞到業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。例如,通訊報(bào)文中指示需要將設(shè)備1中的數(shù)據(jù)刪除,其中的關(guān)鍵字為“device”,對(duì)應(yīng)的協(xié)議匹配對(duì)象獲取其中的業(yè)務(wù)標(biāo)識(shí)為“device”,業(yè)務(wù)類型為“delete”,數(shù)據(jù)對(duì)象為“data”。此時(shí),根據(jù)業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型查找到對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,假設(shè)為調(diào)用函數(shù)“DELETE”,將數(shù)據(jù)對(duì)象“data”傳遞至函數(shù)“DELETE”進(jìn)行處理。

      參照?qǐng)D2,圖2為本發(fā)明另一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的流程圖,包括以下步驟:

      步驟S202:加載新增的協(xié)議匹配對(duì)象,獲取所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí),獲取輸入的與所述協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與所述新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。

      在本實(shí)施例中,可預(yù)先創(chuàng)建XML文件對(duì)協(xié)議匹配對(duì)象的標(biāo)識(shí)進(jìn)行保存,XML是可擴(kuò)展標(biāo)記語言(Extensible Markup Language)的縮寫,其中的標(biāo)記(markup)是關(guān)鍵部分,可以創(chuàng)建內(nèi)容,然后使用限定標(biāo)記去標(biāo)記它,從而使每個(gè)單詞、短語或塊成為可識(shí)別、可分類的信息。XML文件存在于業(yè)務(wù)模塊,保存的是協(xié)議匹配對(duì)象中描述的業(yè)務(wù)標(biāo)識(shí),協(xié)議版本、調(diào)用類、調(diào)用函數(shù)、優(yōu)先值。

      在一個(gè)實(shí)施例中,增加新的協(xié)議匹配對(duì)象時(shí),獲取新增的協(xié)議匹配對(duì)象的標(biāo)識(shí),獲取輸入的與協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。之后通過獲取接收到的通訊報(bào)文中的關(guān)鍵字,在XML文件中查詢已加載到內(nèi)存中的與關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)查找到的標(biāo)識(shí)獲取對(duì)應(yīng)的協(xié)議匹配對(duì)象。系統(tǒng)可在啟動(dòng)時(shí)加載預(yù)先定義的多個(gè)類型的協(xié)議匹配對(duì)象的類,并生成相應(yīng)的協(xié)議匹配對(duì)象,存儲(chǔ)在內(nèi)存中,生成的協(xié)議匹配對(duì)象即具有相應(yīng)的標(biāo)識(shí)。系統(tǒng)也可在啟動(dòng)后動(dòng)態(tài)地加載多個(gè)類型的協(xié)議匹配對(duì)象的類。

      步驟S204:在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象。

      步驟S206:通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型。

      步驟S208:根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象。

      通訊報(bào)文是網(wǎng)絡(luò)傳輸?shù)膯挝?,傳輸過程中會(huì)不斷的封裝成分組、包、幀來進(jìn)行傳輸,封裝的方式就是添加一些信息段,那些就是報(bào)文頭以一定格式組織起來的數(shù)據(jù)。比如里面有報(bào)文類型、報(bào)文版本、報(bào)文長度、報(bào)文實(shí)體等等信息。在本實(shí)施例中,與通訊報(bào)文匹配的協(xié)議匹配對(duì)象指對(duì)通訊協(xié)議進(jìn)行處理的單元,其中包含3個(gè)內(nèi)容:業(yè)務(wù)標(biāo)識(shí)、匹配規(guī)則和消息轉(zhuǎn)發(fā)方式。其中,以社交軟件“刪除好友這一操作過程”為例,業(yè)務(wù)標(biāo)識(shí)為刪除好友,可能的值為:ms.person.friend.delete;匹配規(guī)則指從通訊報(bào)文中識(shí)別這一操作類型,以數(shù)據(jù)基于http傳輸為例,假設(shè)解析的通訊報(bào)文的url為“http://ip:port/iport/cdata?cliendId=3434UYU77&option=5&cmd=3&oporation=delete&id=eUYIIDUUSY”,匹配規(guī)則為識(shí)別url中的參數(shù),從而確定具體業(yè)務(wù),例如規(guī)則可能為:option為5,operation為delete且含有id的url,就認(rèn)為是刪除好友的操作。消息轉(zhuǎn)發(fā)方式指的是確定了報(bào)文的業(yè)務(wù)特征后的處理方式。如可以將業(yè)務(wù)標(biāo)識(shí)和其它信息(如人員id,姓名等),發(fā)往特定隊(duì)列的消息隊(duì)列,給專門處理好友的業(yè)務(wù)模塊接收(也可能有其它方式,如通過websocket、thrift等推送消息)。

      在一個(gè)實(shí)施例中,可以通過獲取接收到的通訊報(bào)文中的關(guān)鍵字,在XML文件中查詢與關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)查找到的標(biāo)識(shí)獲取對(duì)應(yīng)的已加載到內(nèi)存中的協(xié)議匹配對(duì)象。系統(tǒng)可在啟動(dòng)時(shí)加載預(yù)先定義的多個(gè)類型的協(xié)議匹配對(duì)象的類,并生成相應(yīng)的協(xié)議匹配對(duì)象,存儲(chǔ)在內(nèi)存中,生成的協(xié)議匹配對(duì)象即具有相應(yīng)的標(biāo)識(shí)。系統(tǒng)也可在啟動(dòng)后動(dòng)態(tài)地加載多個(gè)類型的協(xié)議匹配對(duì)象的類。

      例如,在通訊報(bào)文中查詢到關(guān)鍵字“device”,根據(jù)該關(guān)鍵字在XML文件中查找到對(duì)應(yīng)的協(xié)議匹配對(duì)象的標(biāo)識(shí)如“device 1-4”,其中包含了關(guān)鍵字“device”,再根據(jù)該協(xié)議匹配標(biāo)識(shí)獲取對(duì)應(yīng)的已加載到內(nèi)存中的協(xié)議匹配對(duì)象。這里的關(guān)鍵字匹配可以包含多種情況,可以是在關(guān)鍵字與協(xié)議匹配對(duì)象的標(biāo)識(shí)完全相同時(shí)判定為匹配;也可以設(shè)定一定的百分比閾值,超過設(shè)定的閾值時(shí)判定為匹配,如關(guān)鍵字與協(xié)議匹配對(duì)象的標(biāo)識(shí)的字符串的相似度為80%,設(shè)定的閾值為70%,此時(shí)即認(rèn)為匹配成功。根據(jù)關(guān)鍵字匹配查找對(duì)應(yīng)的協(xié)議匹配對(duì)象,可以快速地檢測(cè)到相應(yīng)的協(xié)議匹配對(duì)象,提高處理效率。

      步驟S210:加載新增的業(yè)務(wù)模塊,獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口,獲取輸入的與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將所述新增的業(yè)務(wù)模塊調(diào)用接口以及與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML中。

      在本實(shí)施例中,增加新的業(yè)務(wù)模塊時(shí),獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口,獲取輸入的與新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將新增的業(yè)務(wù)模塊調(diào)用接口以及與新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML中。在調(diào)用業(yè)務(wù)模塊接口時(shí),在XML文件中查詢到已加載到內(nèi)存中的與業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型匹配的業(yè)務(wù)模塊調(diào)用接口時(shí),調(diào)用查找到的業(yè)務(wù)模塊調(diào)用接口,這里的業(yè)務(wù)模塊調(diào)用接口可以是函數(shù)或者鏈接等多種類型。

      例如,仍以上述業(yè)務(wù)標(biāo)識(shí)“device”為例,需要添加輸出數(shù)據(jù)的業(yè)務(wù)模塊,假設(shè)為“print”函數(shù),只需要在預(yù)先XML文件中寫入對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)“device”和業(yè)務(wù)類型“print”,在接收到通訊報(bào)文時(shí),從XML文件中查詢到業(yè)務(wù)標(biāo)識(shí)“device”和業(yè)務(wù)類型“print”對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將需要處理的數(shù)據(jù)對(duì)象“data”發(fā)送至業(yè)務(wù)模塊“print”函數(shù)即可。新增加或者刪除協(xié)議匹配對(duì)象和業(yè)務(wù)模塊時(shí),都只需要在XML文件中進(jìn)行添加或者刪除相應(yīng)的指令,而不需要對(duì)整個(gè)處理程序進(jìn)行大幅度的改動(dòng),從而降低業(yè)務(wù)模塊之間的耦合度,提高程序的可擴(kuò)展性。

      步驟S212:根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      在本實(shí)施例中,對(duì)通訊報(bào)文的業(yè)務(wù)處理需要通過調(diào)用對(duì)應(yīng)已加載到內(nèi)存中的業(yè)務(wù)模塊接口,并將數(shù)據(jù)對(duì)象傳遞到業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。例如,通訊報(bào)文中指示需要將設(shè)備1中的數(shù)據(jù)刪除,其中的關(guān)鍵字為“device”,對(duì)應(yīng)的協(xié)議匹配對(duì)象獲取其中的業(yè)務(wù)標(biāo)識(shí)為“device”,業(yè)務(wù)類型為“delete”,數(shù)據(jù)對(duì)象為“data”。此時(shí),根據(jù)業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型查找到對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,假設(shè)為調(diào)用函數(shù)“DELETE”,將數(shù)據(jù)對(duì)象“data”傳遞至函數(shù)“DELETE”進(jìn)行處理。

      在本實(shí)施例中,仍以上述刪除好友為例,例如業(yè)務(wù)標(biāo)識(shí)為ms.person.friend.delete,協(xié)議版本為v1.0.0,調(diào)用類為好友類,調(diào)用函數(shù)為刪除,優(yōu)先值為10,此時(shí)接收消息隊(duì)列發(fā)送的消息即為觸發(fā)好友類的刪除操作。如果協(xié)議發(fā)生了升級(jí)(通訊時(shí)會(huì)上報(bào)協(xié)議版本),如新版本的app刪除好友的同時(shí)抹掉與好友有關(guān)的痕跡,舊版本功能不變,此時(shí)只需要在XML增加另一個(gè)配置,如:業(yè)務(wù)標(biāo)識(shí)為ms.person.friend.delete,協(xié)議版本為v1.1.0,調(diào)用類為好友類,調(diào)用函數(shù)為刪除增強(qiáng)版,優(yōu)先值為10,即可完成功能的擴(kuò)展。

      如果有定制需求,如該社交軟件需要定制版本給某大型公司內(nèi)部使用,該公司要求只能刪除不屬于公司員工的好友,傳統(tǒng)的做法是,復(fù)制一份代碼,修改刪除好友功能,弊端是如果定制版發(fā)現(xiàn)增加好友的功能有問題,原來標(biāo)準(zhǔn)版本的代碼也需要修改。標(biāo)準(zhǔn)版本增加的新功能,定制版本無法自動(dòng)增加。這樣做的項(xiàng)目越多,代碼就越混亂,維護(hù)成本高。而在本發(fā)明實(shí)施例中,只需要增加一個(gè)功能包,功能包里也有一個(gè)XML,加上定制的刪除好友內(nèi)容,如:業(yè)務(wù)標(biāo)識(shí)為ms.person.friend.delete,協(xié)議版本為v1.1.0,調(diào)用類為功能包好友類,調(diào)用函數(shù)為功能包刪除,優(yōu)先值為9,同時(shí)在功能包中加上功能包好友類和功能包刪除函數(shù)。故只需要加入這個(gè)功能包,刪除好友的操作執(zhí)行的就是附加功能包中的操作,而不是原來主功能包中的操作,從而實(shí)現(xiàn)功能包形式的擴(kuò)展性。

      在一個(gè)實(shí)施例中,如附圖3所示,為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置的示意圖,其中,服務(wù)器啟動(dòng)時(shí)初始化協(xié)議匹配掃描器,加載所有的協(xié)議匹配對(duì)象,在接收到通訊報(bào)文時(shí),根據(jù)通訊報(bào)文中說明的協(xié)議標(biāo)識(shí),生成相應(yīng)的請(qǐng)求調(diào)度器。請(qǐng)求調(diào)度器將通訊報(bào)文傳輸給協(xié)議轉(zhuǎn)換器,協(xié)議轉(zhuǎn)換器將通訊報(bào)文發(fā)送給協(xié)議匹配命中器。協(xié)議匹配命中器調(diào)用協(xié)議匹配掃描器,掃描所有的協(xié)議匹配器,并返回命中的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型。協(xié)議轉(zhuǎn)換匹配器根據(jù)業(yè)務(wù)標(biāo)識(shí)找到對(duì)應(yīng)的協(xié)議轉(zhuǎn)換器,轉(zhuǎn)換通訊報(bào)文成為數(shù)據(jù)對(duì)象返回給請(qǐng)求調(diào)度器。請(qǐng)求調(diào)度器根據(jù)業(yè)務(wù)標(biāo)識(shí)、業(yè)務(wù)類型及數(shù)據(jù)對(duì)象啟動(dòng)主處理器,完成通訊報(bào)文的解析。根據(jù)以上步驟,通訊協(xié)議的增減只需要增減相應(yīng)的協(xié)議匹配對(duì)象,所有的邏輯、流程都無需做任何的改動(dòng),實(shí)現(xiàn)高可擴(kuò)展性。

      在一個(gè)實(shí)施例中,如附圖4所示,為一個(gè)實(shí)施例中一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置的示意圖,其中,請(qǐng)求調(diào)度器根據(jù)業(yè)務(wù)標(biāo)識(shí)、業(yè)務(wù)類型及數(shù)據(jù)對(duì)象啟動(dòng)主處理器之后,主處理器在列表中查詢業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的處理類型,調(diào)用處理調(diào)度器。處理調(diào)度器會(huì)掃描所有標(biāo)注的處理類和處理方法,找到標(biāo)記相應(yīng)處理類型的方法,將業(yè)務(wù)標(biāo)識(shí)、數(shù)據(jù)對(duì)象用處理類型定義的方式傳遞給業(yè)務(wù)模塊調(diào)用接口。業(yè)務(wù)模塊調(diào)用接口根據(jù)業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型自動(dòng)選擇相應(yīng)的業(yè)務(wù)處理模塊,進(jìn)行具體業(yè)務(wù)的處理。

      此外,在一個(gè)實(shí)施例中,還提出了一種業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置,如圖5所示,上述業(yè)務(wù)系統(tǒng)的協(xié)議解析裝置包括協(xié)議匹配對(duì)象查找單元102,通訊報(bào)文解析單元104,數(shù)據(jù)對(duì)象生成單元106,業(yè)務(wù)模塊調(diào)用單元108,協(xié)議匹配對(duì)象添加單元110,業(yè)務(wù)模塊添加單元112,其中:

      協(xié)議匹配對(duì)象查找單元102,用于在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象;

      通訊報(bào)文解析單元104,用于通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型;

      數(shù)據(jù)對(duì)象生成單元106,用于根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象;

      業(yè)務(wù)模塊調(diào)用單元108,用于根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      可選的,所述裝置還包括協(xié)議匹配對(duì)象添加單元110,用于:

      加載新增的協(xié)議匹配對(duì)象,獲取所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí);

      獲取輸入的與所述協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與所述新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。

      可選的,所述協(xié)議匹配對(duì)象查找單元102還用于:

      獲取所述接收到的通訊報(bào)文中的關(guān)鍵字;

      在所述XML文件中查詢與所述關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)所述標(biāo)識(shí)獲取對(duì)應(yīng)的協(xié)議匹配對(duì)象。

      可選的,所述裝置還包括業(yè)務(wù)模塊添加單元112:

      加載新增的業(yè)務(wù)模塊,獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口;

      獲取輸入的與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將所述新增的業(yè)務(wù)模塊調(diào)用接口以及與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML文件中。

      可選的,所述業(yè)務(wù)模塊調(diào)用單元108還用于:

      在所述XML文件中查詢到與所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型匹配的業(yè)務(wù)模塊調(diào)用接口時(shí),調(diào)用查找到的業(yè)務(wù)模塊調(diào)用接口。

      本發(fā)明實(shí)施例中通過查找與接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象,根據(jù)協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,并根據(jù)通訊報(bào)文生成數(shù)據(jù)對(duì)象,將數(shù)據(jù)對(duì)象傳遞至與業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理,采用XML文件格式保存協(xié)議匹配對(duì)象和業(yè)務(wù)模塊調(diào)用接口,使得在對(duì)處理程序進(jìn)行修改時(shí),只需要改動(dòng)XML文件中對(duì)應(yīng)的模塊;同時(shí),在增加或者刪除業(yè)務(wù)模塊時(shí),只需要添加或者刪除相應(yīng)的XML文件,而不必對(duì)整個(gè)業(yè)務(wù)處理程序進(jìn)行改動(dòng),從而降低業(yè)務(wù)模塊之間的耦合度,提高程序的可擴(kuò)展性。

      在一個(gè)實(shí)施例中,如圖6所示,圖6展示了一種運(yùn)行上述業(yè)務(wù)系統(tǒng)的協(xié)議解析方法的基于馮諾依曼體系的計(jì)算機(jī)系統(tǒng)的終端10。該計(jì)算機(jī)系統(tǒng)可以是智能手機(jī)、平板電腦、掌上電腦、筆記本電腦或個(gè)人電腦等終端設(shè)備。具體的,可包括通過系統(tǒng)總線連接的外部輸入接口1001、處理器1002、存儲(chǔ)器1003和輸出接口1004。其中,外部輸入接口1001可選的可至少包括網(wǎng)絡(luò)接口10012。存儲(chǔ)器1003可包括外存儲(chǔ)器10032(例如硬盤、光盤或軟盤等)和內(nèi)存儲(chǔ)器10034。輸出接口1004可至少包括顯示屏10042等設(shè)備。且所述處理器1002還用于執(zhí)行上述業(yè)務(wù)系統(tǒng)的協(xié)議解析方法,包括:

      在接收到通訊報(bào)文時(shí),查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象;

      通過所述協(xié)議匹配對(duì)象中預(yù)定義的函數(shù)返回與所述通訊報(bào)文對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型;

      根據(jù)所述通訊報(bào)文生成數(shù)據(jù)對(duì)象;

      根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口,將所述數(shù)據(jù)對(duì)象傳遞至所述業(yè)務(wù)模塊調(diào)用接口進(jìn)行處理。

      可選的,在所述查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象之前,還包括:

      加載新增的協(xié)議匹配對(duì)象,獲取所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí);

      獲取輸入的與所述協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字,將所述新增的協(xié)議匹配對(duì)象的標(biāo)識(shí)以及與所述新增的協(xié)議匹配對(duì)象對(duì)應(yīng)的關(guān)鍵字存儲(chǔ)在XML文件中。

      可選的,所述查找與所述接收到的通訊報(bào)文匹配的協(xié)議匹配對(duì)象包括:

      獲取所述接收到的通訊報(bào)文中的關(guān)鍵字;

      在所述XML文件中查詢與所述關(guān)鍵字匹配的協(xié)議匹配對(duì)象的標(biāo)識(shí),根據(jù)所述標(biāo)識(shí)獲取對(duì)應(yīng)的協(xié)議匹配對(duì)象。

      可選的,所述方法還包括:

      加載新增的業(yè)務(wù)模塊,獲取所述新增的業(yè)務(wù)模塊的業(yè)務(wù)模塊調(diào)用接口;

      獲取輸入的與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型,將所述新增的業(yè)務(wù)模塊調(diào)用接口以及與所述新增的業(yè)務(wù)模塊對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí)和業(yè)務(wù)類型存儲(chǔ)在所述XML文件中。

      可選的,所述根據(jù)所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型查找對(duì)應(yīng)的業(yè)務(wù)模塊調(diào)用接口包括:

      在所述XML文件中查詢到與所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)類型匹配的業(yè)務(wù)模塊調(diào)用接口時(shí),調(diào)用查找到的業(yè)務(wù)模塊調(diào)用接口。

      在本實(shí)施例中,本方法的運(yùn)行基于計(jì)算機(jī)程序,該計(jì)算機(jī)程序的程序文件存儲(chǔ)于前述基于馮諾依曼體系的計(jì)算機(jī)系統(tǒng)10的外存儲(chǔ)器10032中,在運(yùn)行時(shí)被加載到內(nèi)存儲(chǔ)器10034中,然后被編譯為機(jī)器碼之后傳遞至處理器1002中執(zhí)行,從而使得基于馮諾依曼體系的計(jì)算機(jī)系統(tǒng)10中形成邏輯上的協(xié)議匹配對(duì)象查找單元102,通訊報(bào)文解析單元104,數(shù)據(jù)對(duì)象生成單元106,業(yè)務(wù)模塊調(diào)用單元108,協(xié)議匹配對(duì)象添加單元110,業(yè)務(wù)模塊添加單元112。且在業(yè)務(wù)系統(tǒng)的協(xié)議解析方法執(zhí)行過程中,輸入的參數(shù)均通過外部輸入接口1001接收,并傳遞至存儲(chǔ)器1003中緩存,然后輸入到處理器1002中進(jìn)行處理,處理的結(jié)果數(shù)據(jù)或緩存于存儲(chǔ)器1003中進(jìn)行后續(xù)地處理,或被傳遞至輸出接口1004進(jìn)行輸出。

      以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1