亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于知識圖譜的協(xié)議轉(zhuǎn)換方法研究

        2023-02-04 08:26:30林映利李紅輝閆佳和王梓博
        集成技術(shù) 2023年1期
        關(guān)鍵詞:字段報文本體

        林映利 李紅輝,2* 張 春,2 閆佳和 王梓博

        1(北京交通大學計算機與信息技術(shù)學院 北京 100044)

        2(高速鐵路網(wǎng)絡(luò)管理教育部工程研究中心 北京 100044)

        1 引 言

        互聯(lián)網(wǎng)+政務(wù)大數(shù)據(jù)來源于多種異構(gòu)信息。一種政務(wù)應用場景往往涉及多種不同來源的信息,如在城市外圍或地質(zhì)災害多發(fā)地區(qū)布置地質(zhì)災害監(jiān)測傳感器,采集監(jiān)測數(shù)據(jù)并傳輸?shù)綉敝笓]中心,從而實現(xiàn)地質(zhì)災害實時動態(tài)監(jiān)測和預警。在信息采集與傳輸?shù)倪^程中,涉及物聯(lián)網(wǎng)多傳感器多協(xié)議間的數(shù)據(jù)傳遞。

        信息來源不同,信息傳輸協(xié)議也不同,互聯(lián)網(wǎng)+政務(wù)大數(shù)據(jù)呈現(xiàn)跨領(lǐng)域、多協(xié)議、難融合的特點。在大數(shù)據(jù)采集匯聚過程中,存在多種協(xié)議轉(zhuǎn)換的需求。因此,要求網(wǎng)關(guān)能夠?qū)崿F(xiàn)統(tǒng)一協(xié)議適配轉(zhuǎn)換,為異構(gòu)數(shù)據(jù)關(guān)聯(lián)和數(shù)據(jù)融合提供數(shù)據(jù)支持。

        在傳統(tǒng)協(xié)議轉(zhuǎn)換研究方面,宗娜[1]和 Zhou等[2]研究了實現(xiàn) HTTP 協(xié)議與 CoAP 協(xié)議轉(zhuǎn)換的理論與方法;趙小虎等[3]設(shè)計了面向煤礦井下的多協(xié)議融合網(wǎng)關(guān),實現(xiàn)了 CAN、ZigBee 等協(xié)議到以太網(wǎng)協(xié)議的轉(zhuǎn)換。在通用協(xié)議轉(zhuǎn)換研究方面,Saito 等[4]提出一種物聯(lián)網(wǎng)的應用協(xié)議轉(zhuǎn)換方法,并制定了轉(zhuǎn)換規(guī)則的語句和語法。

        傳統(tǒng)的協(xié)議轉(zhuǎn)換方法通常針對特定的協(xié)議轉(zhuǎn)換需求設(shè)計的,對于新的協(xié)議轉(zhuǎn)換需求,需要重新設(shè)計新的協(xié)議轉(zhuǎn)換方法。在不同的政務(wù)應用場景中,傳統(tǒng)的協(xié)議轉(zhuǎn)換方法并不能靈活滿足多種協(xié)議轉(zhuǎn)換的需求。

        知識圖譜是人工智能領(lǐng)域的重要分支技術(shù),最早由谷歌公司于 2012 年提出。知識圖譜按應用場景可分為通用知識圖譜和領(lǐng)域知識圖譜兩大類[5]。其中,領(lǐng)域知識圖譜以領(lǐng)域?qū)I(yè)知識為主,不同領(lǐng)域知識圖譜的構(gòu)建與應用已有較多研究成果。在醫(yī)學領(lǐng)域,張德政等[6]將知識圖譜應用于中醫(yī)知識領(lǐng)域,構(gòu)建了中醫(yī)核心知識圖譜;楊帥等[7]針對 COVID-19 構(gòu)建了科學文獻、中西藥治療等知識圖譜,實現(xiàn)了知識圖譜的融合。在網(wǎng)絡(luò)安全領(lǐng)域,廉龍穎[8]和 Wang 等[9]分別構(gòu)建了網(wǎng)絡(luò)空間安全知識圖譜和網(wǎng)絡(luò)安全社會工程領(lǐng)域知識圖譜,為網(wǎng)絡(luò)安全分析與信息檢索提供了依據(jù)。而在協(xié)議知識領(lǐng)域,協(xié)議知識圖譜的相關(guān)研究較少。徐健[10]基于知識圖譜構(gòu)建了 5G 協(xié)議知識庫,以解決 5G 協(xié)議知識面廣、不易高效查詢等問題。以字段為實體、字段映射關(guān)系為實體間關(guān)系構(gòu)建知識圖譜,可以體現(xiàn)協(xié)議轉(zhuǎn)換過程中報文字段間的映射關(guān)系。但在協(xié)議轉(zhuǎn)換領(lǐng)域,暫無協(xié)議轉(zhuǎn)換相關(guān)知識圖譜的研究。

        本文擬通過研究協(xié)議報文結(jié)構(gòu)及協(xié)議轉(zhuǎn)換特點,提出一種協(xié)議轉(zhuǎn)換知識圖譜的構(gòu)建方法。通過構(gòu)建圖譜的模式層及數(shù)據(jù)層,建立含有協(xié)議報文結(jié)構(gòu)和報文字段映射關(guān)系的協(xié)議轉(zhuǎn)換知識圖譜。在此基礎(chǔ)上,提出一種基于知識圖譜的協(xié)議轉(zhuǎn)換方法,以實現(xiàn)不同協(xié)議之間的報文轉(zhuǎn)換,并通過協(xié)議轉(zhuǎn)換應用實例、與已有協(xié)議轉(zhuǎn)換方法的對比實驗,驗證本文方法的有效性。

        2 相關(guān)研究現(xiàn)狀

        2.1 知識圖譜相關(guān)研究

        知識圖譜由知識及知識之間的關(guān)系組成[11],其基本組成單位是“實體-關(guān)系-實體”三元組及“實體-屬性-屬性值”實體與屬性值對。知識圖譜能夠?qū)⒉煌N類的信息連接,形成關(guān)系網(wǎng)絡(luò),提供從“關(guān)系”的角度分析問題的條件[12]。

        知識圖譜按應用場景可分為通用知識圖譜(Universal Knowledge Graph,UKG)和領(lǐng)域知識圖譜(Domain Knowledge Graph,DKG)。UKG 以百科知識圖譜、常識知識圖譜為主。常見的百科知識圖譜有 DBpedia、YAGO、Freebase、Wikidata 等,常識知識圖譜有 Cyc、ConceptNet、NELL 等[13]。DKG 以各領(lǐng)域的專業(yè)知識為主,典型的應用場景有國防、金融、公安、工業(yè)、醫(yī)療等。如在醫(yī)療領(lǐng)域,CPubMed-KG[14]是目前國內(nèi)最大的全開放中文醫(yī)學知識圖譜,以疾病為中心的三元組規(guī)模達到了 390 萬;在網(wǎng)絡(luò)安全分析領(lǐng)域,CyberTwitter[15]是用于發(fā)現(xiàn)和分析 Twitter 的網(wǎng)絡(luò)安全情報,其作為一個開放情報來源,以 tweet 的形式分析實時信息并進行更新,提取關(guān)于各種可能威脅的情報;但在通信協(xié)議領(lǐng)域,協(xié)議相關(guān)知識圖譜研究和應用較少。

        知識圖譜的構(gòu)建技術(shù)包括知識抽取、知識融合、知識加工和知識更新等。其中,知識抽取是構(gòu)建知識圖譜的關(guān)鍵技術(shù)之一,包括實體識別、關(guān)系抽取和屬性抽取。目前,在實體識別方面,主流方法是基于神經(jīng)網(wǎng)絡(luò)的命名實體識別。Li 等[16]提出了基于 BERT-BiLSTM-ATT-CRF 模型的中文命名實體識別方法,且性能較好;謝騰等[17]提出了一種基于 BERT-BiLSTM-CRF 模型的中文實體識別方法。目前,命名實體識別(Named Entity Recognition,NER)常用的模型有BERT-CRF、BiLSTM-CRF 等。

        2.2 協(xié)議轉(zhuǎn)換相關(guān)研究

        當使用不同協(xié)議的設(shè)備進行通信和數(shù)據(jù)交換時,需要進行協(xié)議轉(zhuǎn)換。現(xiàn)有的協(xié)議轉(zhuǎn)換方法可分為兩種:具體的協(xié)議轉(zhuǎn)換方法和通用的協(xié)議轉(zhuǎn)換方法。因協(xié)議轉(zhuǎn)換的多樣性與復雜性,協(xié)議轉(zhuǎn)換研究領(lǐng)域針對具體的協(xié)議轉(zhuǎn)換方法的研究較多。例如,針對以太網(wǎng) HTTP/HTTP2 協(xié)議與物聯(lián)網(wǎng) CoAP 協(xié)議間的轉(zhuǎn)換,宗娜[1]與 Zhou 等[2]分別進行了相應的轉(zhuǎn)換代理和互通特性的研究;為克服物聯(lián)網(wǎng)多協(xié)議領(lǐng)域的差異問題,Zainudin等[18]研究了一種多協(xié)議網(wǎng)關(guān),以實現(xiàn)物聯(lián)網(wǎng)中CoAP、MQTT 和 Websocket 的多協(xié)議域之間的通信。但上述協(xié)議轉(zhuǎn)換方法都是針對具體協(xié)議具體轉(zhuǎn)換設(shè)計的解決方案,適用場景單一,所支持的協(xié)議轉(zhuǎn)換類型和轉(zhuǎn)換方式無法更改[19],程序不可擴展、泛化性差,無法滿足政務(wù)大數(shù)據(jù)采集匯聚過程中的靈活需求。

        目前,通用的協(xié)議轉(zhuǎn)換方法的研究較少。Saito 等[4]提出一種物聯(lián)網(wǎng)的應用協(xié)議轉(zhuǎn)換方法,根據(jù)轉(zhuǎn)換規(guī)則,將協(xié)議報文轉(zhuǎn)換為 Middle format,從而實現(xiàn) CoAP、MQTT、XMPP 和SMTP 等物聯(lián)網(wǎng)應用層協(xié)議間的互相轉(zhuǎn)換。Saito等提出的基于規(guī)則的協(xié)議轉(zhuǎn)換,將各協(xié)議與Middle format 的映射關(guān)系體現(xiàn)在規(guī)則中,隨著協(xié)議數(shù)量的增加,不同協(xié)議轉(zhuǎn)換為 Middle format的規(guī)則也相應增加。

        苗力心[19]結(jié)合軟件定義思想,將協(xié)議轉(zhuǎn)換研究重心下移至物理鏈路層,提出了基于通用描述符的協(xié)議轉(zhuǎn)換方法。通過構(gòu)建與所有異構(gòu)協(xié)議存在映射關(guān)系的協(xié)議映射元作為協(xié)議轉(zhuǎn)換的中間級,并存儲協(xié)議關(guān)鍵字段與映射元的映射關(guān)系。該協(xié)議映射元方法需為每個字段構(gòu)建一個映射關(guān)系表,當系統(tǒng)內(nèi)有n種協(xié)議時,需構(gòu)建k×n個映射表,其中,k為協(xié)議中關(guān)鍵字段的數(shù)量。

        上述通用協(xié)議轉(zhuǎn)換方法將協(xié)議信息轉(zhuǎn)換為中間格式,用規(guī)則文件或映射關(guān)系表存儲不同協(xié)議字段與中間格式的映射關(guān)系,其規(guī)則文件或映射關(guān)系表會隨著新協(xié)議的加入而增加。而本文提出的基于知識圖譜的協(xié)議轉(zhuǎn)換方法,將字段作為實體,通過實體間的關(guān)系可直接體現(xiàn)不同協(xié)議字段間的映射關(guān)系,無須將協(xié)議轉(zhuǎn)換為中間格式。協(xié)議間的映射關(guān)系通過知識圖譜進行存儲,可在原知識圖譜的基礎(chǔ)上,增加新的協(xié)議轉(zhuǎn)換映射關(guān)系,從而對協(xié)議轉(zhuǎn)換知識圖譜進行擴展與更新。

        3 協(xié)議轉(zhuǎn)換知識圖譜構(gòu)建方法

        3.1 構(gòu)建目的與方法

        本文從 HTTP 與 CoAP 的轉(zhuǎn)換著手,針對應用層協(xié)議的轉(zhuǎn)換進行研究。應用層協(xié)議報文一般由頭部字段和可選的數(shù)據(jù)負載組成。協(xié)議轉(zhuǎn)換是在保證報文功能不變的情況下,進行兩種不同協(xié)議報文之間字段信息的等價轉(zhuǎn)換。因此,協(xié)議轉(zhuǎn)換知識圖譜應該以字段為主要實體,以字段間的關(guān)系體現(xiàn)協(xié)議間的轉(zhuǎn)換映射。

        知識圖譜的邏輯結(jié)構(gòu)由模式層和數(shù)據(jù)層組成。模式層是知識圖譜的核心層次,其位于數(shù)據(jù)層之上,作為構(gòu)建知識圖譜的實體及關(guān)系的知識框架。數(shù)據(jù)層存儲具體知識,以“實體-關(guān)系-實體”三元組及“實體-屬性-屬性值”實體與屬性值對作為知識的基本表達方式。

        協(xié)議轉(zhuǎn)換所需知識大多來源于協(xié)議相關(guān)文檔,對相關(guān)知識的專業(yè)性和準確性要求較高。本文采用自頂向下的方式構(gòu)建協(xié)議知識圖譜。首先,確定協(xié)議本體的設(shè)計范圍,根據(jù)協(xié)議轉(zhuǎn)換的知識和經(jīng)驗設(shè)計協(xié)議本體,構(gòu)建知識圖譜模式層,所構(gòu)建的模式層為知識圖譜提供了數(shù)據(jù)框架。然后,從數(shù)據(jù)源中提取實體,根據(jù)數(shù)據(jù)框架確定實體間關(guān)系,構(gòu)建得到知識圖譜數(shù)據(jù)層。所構(gòu)建的數(shù)據(jù)層為知識圖譜的主要組成部分。協(xié)議轉(zhuǎn)換知識圖譜的構(gòu)建方法如圖 1 所示。

        圖1 自頂向下的協(xié)議知識圖譜構(gòu)建方法Fig. 1 Up-to-down construction method of knowledge graph of protocol

        3.2 協(xié)議本體設(shè)計

        本體側(cè)重于概念及其相互關(guān)系之間的形式化表達,不涉及具體的實體與屬性。協(xié)議本體架構(gòu)作為協(xié)議知識圖譜的知識框架,即協(xié)議知識圖譜的模式層,規(guī)范了實體對象間的關(guān)系。為構(gòu)建知識圖譜的模式層,需確定協(xié)議本體的設(shè)計范圍。協(xié)議轉(zhuǎn)換涉及兩個不同協(xié)議間報文信息的交換,本體類別層次結(jié)構(gòu)應考慮協(xié)議、報文、字段以及負載數(shù)據(jù)等概念。

        3.2.1 協(xié)議本體類設(shè)計

        基于協(xié)議核心概念,設(shè)計出 5 個核心類:Protocol,Message,F(xiàn)ields,Value,Payload Data。核心類還可進一步細化出更多的子類。本體中類的部分層次結(jié)構(gòu)如圖 2 所示。

        圖2 本體類別層次Fig. 2 Hierarchy of classes in ontology

        Protocol 類用于描述協(xié)議轉(zhuǎn)換知識圖譜當前可支持的協(xié)議;Message 類用于描述協(xié)議擁有的報文類型,其中報文類型根據(jù)報文結(jié)構(gòu)進行劃分;Fields 類用于描述報文中包含的字段,F(xiàn)ields類實例之間的映射關(guān)系是協(xié)議轉(zhuǎn)換的核心之一;Value 類用于描述字段取值,某些字段可能擁有多個固定取值。在協(xié)議轉(zhuǎn)換的過程中,Value 類的實例之間可能存在映射關(guān)系;Payload Data 類用于描述報文中的負載數(shù)據(jù)信息。

        3.2.2 協(xié)議本體屬性設(shè)計

        本體類的屬性可分為對象屬性與數(shù)據(jù)屬性。對象屬性用于描述類與類之間的關(guān)系,本文設(shè)計了 8 種協(xié)議核心概念之間的關(guān)系,8 種協(xié)議本體的對象屬性設(shè)計如表 1 所示。由表 1 可知,協(xié)議本體的對象屬性需體現(xiàn)兩個方面:

        表1 定義類的對象屬性Table 1 Defines the object properties of the class

        (1)核心概念間的包含關(guān)系。如 Protocol 類與 Message 類之間可建立“has_message”的對象屬性,表示協(xié)議擁有哪些報文類型;Message類與 Fields 類之間可建立“has_field”的對象屬性,表示該報文與字段的包含關(guān)系。

        (2)不同協(xié)議間轉(zhuǎn)換的映射關(guān)系。如 Message類的內(nèi)部可建立“message_mapping” (報文映射)的對象屬性,表示不同協(xié)議間報文的映射關(guān)系;Fields 類的內(nèi)部可建立“direct_mapping”(直接映射)和“indirect_mapping”(間接映射),表示協(xié)議轉(zhuǎn)換時不同協(xié)議字段間的直接映射、間接映射關(guān)系。

        數(shù)據(jù)屬性用于描述類的內(nèi)部屬性,針對 5個核心類,本實驗分別設(shè)計了相應的數(shù)據(jù)屬性如表 2 所示。

        表2 定義類的數(shù)據(jù)屬性Table 2 Defines the data properties of the class

        3.2.3 協(xié)議本體架構(gòu)

        通過定義協(xié)議本體類、類的對象屬性與數(shù)據(jù)屬性,可最終得到協(xié)議本體。協(xié)議本體類與類的對象屬性組成了協(xié)議本體架構(gòu),如圖 3 所示。將協(xié)議本體架構(gòu)作為協(xié)議知識圖譜的模式層,規(guī)范了不同類的實體對象間的關(guān)系,如Protocol 類的實例與 Message 類的實例間可建立“has_message”關(guān)系;Message 類的實例之間可建立“message_mapping”關(guān)系;Fields 類的實例之間可建立“direct_mapping”或“indirect_mapping”關(guān)系。

        圖3 協(xié)議本體架構(gòu)Fig. 3 Protocol ontology architecture

        3.3 協(xié)議知識抽取

        協(xié)議轉(zhuǎn)換相關(guān)知識主要來源于協(xié)議標準文檔、協(xié)議轉(zhuǎn)換標準文檔及相關(guān)網(wǎng)頁搜索結(jié)果等。本文構(gòu)建協(xié)議知識圖譜采用的數(shù)據(jù)屬于半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),部分數(shù)據(jù)來源如表 3所示。

        表3 數(shù)據(jù)來源Table 3 Data sources

        對于半結(jié)構(gòu)化數(shù)據(jù),采取 Request+Xpath的方式,從 web 頁面中提?。粚τ诜墙Y(jié)構(gòu)化數(shù)據(jù),利用 label studio 對數(shù)據(jù)進行實體標注,選擇 BiLSTM+CRF 模型進行實體抽取。以 HTTP和 CoAP 協(xié)議為例,實體抽取的數(shù)據(jù)集如表 4 所示。本文對相關(guān)數(shù)據(jù)進行實體抽取,最終得到相關(guān)實體 1 079 個,將提取到的實體匹配填充到協(xié)議本體中,作為本體實例。

        表4 協(xié)議實體數(shù)據(jù)集Table 4 The dataset of the protocol entity

        3.4 知識圖譜構(gòu)建實現(xiàn)

        由于 Protégé 用于數(shù)據(jù)分析和可視化的功能有限,而 Neo4j 可便捷地檢索、遍歷、導航連接數(shù)據(jù),且 Neo4j CQL 易于閱讀和學習,因此,本文采用基于圖模型的 Neo4j 數(shù)據(jù)庫作為數(shù)據(jù)存儲層。將提取的實體及實體間的關(guān)系等數(shù)據(jù)信息整理成結(jié)構(gòu)化數(shù)據(jù),以三元組的形式存儲在 CSV文件[24]中,并調(diào)用 py2neo 庫將 CSV 文件數(shù)據(jù)存入 Neo4j 數(shù)據(jù)庫中。

        以 HTTP 與 CoAP 在協(xié)議轉(zhuǎn)換知識圖譜中的部分映射關(guān)系為例,圖譜可視化如圖 4 所示,節(jié)點顏色的圖例在圖中左上角。圖 4 展示了HTTP、CoAP 及其部分字段、報文、值等實體和實體間的關(guān)系,如 HTTP 中的“status-code”字段實體與 CoAP 中的“code”字段實體存在“indirect_mapping”關(guān)系,“status-code”字段的值“201”與“code”字段的值“2.01”存在“value_mapping”關(guān)系。

        圖4 協(xié)議轉(zhuǎn)換知識圖譜(示例)Fig. 4 Knowledge graph of protocol conversion(example)

        4 基于知識圖譜的協(xié)議轉(zhuǎn)換方法

        4.1 基于知識圖譜的通用協(xié)議轉(zhuǎn)換框架

        如圖 5 所示,基于知識圖譜的通用協(xié)議轉(zhuǎn)換框架由知識層和轉(zhuǎn)換層組成。其中,轉(zhuǎn)換層負責將接收到的協(xié)議報文轉(zhuǎn)換成另一種協(xié)議的報文,包括報文解析、協(xié)議轉(zhuǎn)換及報文生成等步驟,該協(xié)議轉(zhuǎn)換過程需要知識層提供相關(guān)知識,以輔助實現(xiàn)協(xié)議轉(zhuǎn)換;知識層由協(xié)議轉(zhuǎn)換知識圖譜組成,協(xié)議轉(zhuǎn)換知識圖譜以協(xié)議標準文檔等作為數(shù)據(jù)源,存儲各協(xié)議報文結(jié)構(gòu)、字段信息和字段間映射規(guī)則等知識,該層負責為轉(zhuǎn)換層提供知識、數(shù)據(jù)支撐。

        圖5 基于知識圖譜的應用層協(xié)議轉(zhuǎn)換框架Fig. 5 Application layer protocol conversion model based on knowledge graph

        4.2 基于知識圖譜的協(xié)議轉(zhuǎn)換方法

        本節(jié)將介紹一種基于知識圖譜的協(xié)議轉(zhuǎn)換方法。為方便描述,本文將被轉(zhuǎn)換的報文稱為原報文,原報文對應的協(xié)議稱為原協(xié)議,轉(zhuǎn)換后得到的報文稱為目標報文,目標報文對應的協(xié)議稱為目標協(xié)議。

        4.2.1 轉(zhuǎn)換流程設(shè)計

        協(xié)議轉(zhuǎn)換流程如圖 6 所示,接收到原報文后,首先,通過解析得到含原報文信息的 JSON數(shù)據(jù);然后,對 JSON 數(shù)據(jù)中的字段進行映射,得到對應的目標報文字段以及字段值,對目標報文剩下的固定字段進行缺省值補全,得到含有目標報文信息的 JSON 數(shù)據(jù);最后,根據(jù)含有目標報文信息的 JSON 數(shù)據(jù)生成目標報文并發(fā)送。

        圖6 協(xié)議轉(zhuǎn)換流程Fig. 6 Process of protocol conversion

        4.2.2 數(shù)據(jù)格式設(shè)計

        在網(wǎng)關(guān)上進行協(xié)議轉(zhuǎn)換,網(wǎng)關(guān)接收原報文后,解析得到原報文字段值和負載數(shù)據(jù)(若報文存在負載數(shù)據(jù))等原報文信息,將原報文信息以JSON 格式進行保存。其中,儲存協(xié)議報文信息的 JSON 數(shù)據(jù)格式由協(xié)議名稱鍵值對、字段與值的鍵值對及可選的切分標記鍵值對、負載數(shù)據(jù)鍵值對組成,具體內(nèi)容如下:

        4.2.3 協(xié)議轉(zhuǎn)換方法設(shè)計

        協(xié)議轉(zhuǎn)換實現(xiàn)方法的具體步驟如下:

        (1)原報文解析

        網(wǎng)關(guān)接收原報文并對其進行解析,得到原報文字段值等原報文信息后,按照規(guī)定的 JSON 格式進行保存。

        (2)原協(xié)議與目標協(xié)議的映射

        在協(xié)議轉(zhuǎn)換知識圖譜中,若原報文的類型與目標報文的類型存在“message_mapping”關(guān)系,則原報文與目標報文之間的轉(zhuǎn)換成立,原協(xié)議字段與目標協(xié)議字段間可能存在兩種映射:“direct_mapping”與“indirect_mapping”。

        對于原協(xié)議字段與目標協(xié)議字段,若存在直接映射關(guān)系,則其原協(xié)議字段值即目標協(xié)議字段值,如圖 7 所示;若存在間接映射關(guān)系,則其字段值之間存在“value_mapping”(值映射)關(guān)系,由原協(xié)議字段值可以得到對應的目標協(xié)議字段值,如圖 8 所示。

        圖7 字段間直接映射關(guān)系Fig. 7 Direct mapping between fields

        圖8 字段間間接映射關(guān)系Fig. 8 Indirect mapping between fields

        由協(xié)議轉(zhuǎn)換知識圖譜可知目標協(xié)議的最大負載信息。若原報文存在負載,且實際負載小于目標協(xié)議最大負載,則原報文負載即目標協(xié)議報文負載。同理,若實際負載大于目標協(xié)議最大負載,則按照目標協(xié)議最大負載的大小,將原報文負載切割成多段,分別作為目標報文負載。

        從國內(nèi)看,多線多梯級船閘聯(lián)合調(diào)度管理做得比較好的主要有長江干線和京杭運河蘇北段。其中長江干線三峽、葛洲壩船閘(升船機)由長江三峽通航管理局統(tǒng)一管理,按照建立的兩壩通航“統(tǒng)一調(diào)度、聯(lián)合運行”調(diào)度體系,采取“一次申報、統(tǒng)一計劃、分壩實施”的調(diào)度程序,對通過三峽、葛洲壩船閘(升船機)的過往船舶實現(xiàn)統(tǒng)一的指揮、調(diào)度管理。京杭運河蘇北段10個梯級、28座船閘是由蘇北航務(wù)管理處統(tǒng)一管理,通過船閘智能運行系統(tǒng),實現(xiàn)智能排檔、優(yōu)化閘次、全線聯(lián)合調(diào)度。水上ETC,“一票通”、“船迅通”APP的運用,實現(xiàn)了船岸信息互通、遠程報到、快速繳納過閘費、“一次登記、全程服務(wù)、無縫調(diào)度”的過閘服務(wù)。

        (3)目標報文生成

        根據(jù)協(xié)議轉(zhuǎn)換知識圖譜中字段間的映射關(guān)系,可以得到目標報文中與原協(xié)議有映射關(guān)系的字段與字段值。但一般情況下,原報文字段與目標報文字段并非都存在映射關(guān)系,僅通過字段映射得到的目標協(xié)議報文信息并不完整。因此,需在協(xié)議轉(zhuǎn)換知識圖譜中,查詢該目標協(xié)議報文中所有字段屬性為固定字段的字段,檢查目標協(xié)議報文信息中是否包含所有固定字段,若缺少某固定字段,則將其缺省值作為字段值,補充相應鍵值對。由此可以得到含有目標報文信息的 JSON數(shù)據(jù),網(wǎng)關(guān)根據(jù)其攜帶的目標協(xié)議報文信息生成目標報文并發(fā)送。

        5 方法應用:HTTP 協(xié)議與 CoAP 協(xié)議轉(zhuǎn)換

        5.1 HTTP 客戶端與 CoAP 服務(wù)器的通信過程

        實現(xiàn)協(xié)議轉(zhuǎn)換的網(wǎng)關(guān)等同于原協(xié)議服務(wù)器,負責接受來自原協(xié)議客戶端的請求,并作為目標協(xié)議的客戶端,將請求發(fā)送至目標協(xié)議服務(wù)器;或等同于原協(xié)議客戶端,接收原協(xié)議服務(wù)器的響應,并作為目標協(xié)議的服務(wù)器,將響應發(fā)送至目標協(xié)議客戶端。

        以 HTTP 協(xié)議與 CoAP 協(xié)議的轉(zhuǎn)換為例。首先,HTTP 客戶端向網(wǎng)關(guān)發(fā)送 POST 請求,網(wǎng)關(guān)將 HTTP 請求報文轉(zhuǎn)換為 CoAP 協(xié)議報文,并發(fā)送給 CoAP 服務(wù)器;然后,CoAP 服務(wù)器向網(wǎng)關(guān)發(fā)送 CoAP 響應,網(wǎng)關(guān)將 CoAP 協(xié)議報文轉(zhuǎn)換為HTTP 響應報文,并發(fā)送給 HTTP 客戶端。在上述過程中,CoAP 端均采用 CON 模式進行傳輸。HTTP 客戶端通過網(wǎng)關(guān)與 CoAP 服務(wù)器通信的過程如圖 9 所示。

        圖9 HTTP 客戶端與 CoAP 服務(wù)器通信過程Fig. 9 Communication between HTTP client and CoAP sever

        5.2 協(xié)議轉(zhuǎn)換過程

        基于知識圖譜的協(xié)議轉(zhuǎn)換算法流程圖如圖 10所示。

        圖10 基于知識圖譜的協(xié)議轉(zhuǎn)換算法流程圖Fig. 10 The flow chart of protocol conversion algorithm based on knowledge graph

        將 HTTP 請求報文轉(zhuǎn)換為 CoAP 報文的過程如下:

        (1)HTTP 請求報文解析

        從 HTTP 客戶端接收報文后,解析得到由協(xié)議類型的鍵值對、字段名與字段值的鍵值對和負載鍵值對組成的 HTTP 請求報文信息的 src.json。HTTP 請求報文示例與解析結(jié)果如圖 11 所示。

        圖11 HTTP 請求報文與解析結(jié)果Fig. 11 HTTP request message and parsing result

        (2)HTTP 到 CoAP 的映射

        分別查詢該 HTTP 請求報文中的字段與目標協(xié)議 CoAP 的字段,是否存在直接映射或者間接映射的關(guān)系。例如,Content-Type 字段與 Content-Format 選項存在間接映射關(guān)系,Content-Type 字段的值為“text/plain”,值映射后得到 Content-Format 選項的值為“text/plain;charset=utf-8”。由協(xié)議轉(zhuǎn)換知識圖譜可知CoAP 的最大負載信息,若 HTTP 請求報文負載小于 CoAP 的最大負載,則 HTTP 請求報文負載即為 CoAP 報文負載;若 HTTP 請求報文負載大于 CoAP 的最大負載,則將原負載內(nèi)容按 CoAP最大負載的大小切割成多段,分別作為 CoAP報文負載。HTTP 到 CoAP 的映射結(jié)果如圖 12所示。

        圖12 HTTP 到 CoAP 的映射結(jié)果Fig. 12 Mapping result of HTTP to CoAP

        (3)CoAP 報文生成

        查詢該 CoAP 報文中所有字段屬性為固定字段的字段。若缺少某固定字段,則將其缺省值作為字段值,補充相應鍵值對,得到含有 CoAP 協(xié)議報文信息的 dst.json。如轉(zhuǎn)換后的中間結(jié)果缺少 CoAP 的 Ver 字段,其缺省值為 1,補全后得到協(xié)議轉(zhuǎn)換結(jié)果如圖 13 所示。根據(jù)解析 dst.json得到的 CoAP 報文信息,生成 CoAP 報文并發(fā)送給 CoAP 服務(wù)器。

        圖13 協(xié)議轉(zhuǎn)換結(jié)果Fig. 13 Protocol conversion result

        5.3 性能評估

        5.3.1 實驗環(huán)境

        通過分析 HTTP 與 CoAP 協(xié)議轉(zhuǎn)換執(zhí)行時間與內(nèi)存占用,對本文方法進行性能評估,實驗環(huán)境如表 5 所示。

        表5 實驗環(huán)境Table 5 Experimental environment

        5.3.2 實驗過程設(shè)計

        從接收 HTTP 客戶端請求到返回請求響應為一個協(xié)議轉(zhuǎn)換周期。HTTP 客戶端分別執(zhí)行 100次 PUT、GET、POST 請求,統(tǒng)計實驗過程中周期平均執(zhí)行時間、最大執(zhí)行時間、最小執(zhí)行時間,并統(tǒng)計每個周期中 HTTP 請求轉(zhuǎn)換為 CoAP請求和 CoAP 響應轉(zhuǎn)換為 HTTP 響應的平均執(zhí)行時間、最大執(zhí)行時間、最小執(zhí)行時間。執(zhí)行時間通過 Wireshark 抓取到的每個周期 HTTP、CoAP協(xié)議的請求報文和相應響應報文時間之間的差值進行計算。

        通過使用 python 第三方庫 memory_profiler,監(jiān)控 HTTP 客戶端連續(xù)發(fā)送 PUT 請求時轉(zhuǎn)換程序的內(nèi)存占用情況。由 memory_profiler 生成內(nèi)存占用隨時間變化的曲線圖,可直觀地觀測到協(xié)議轉(zhuǎn)換程序的內(nèi)存占用情況。

        5.3.3 實驗結(jié)果及分析

        (1)執(zhí)行時間

        協(xié)議轉(zhuǎn)換執(zhí)行時間的統(tǒng)計結(jié)果如表 6 所示,協(xié)議轉(zhuǎn)換周期的平均執(zhí)行時間約 32 ms,最小執(zhí)行時間約 17 ms,最大執(zhí)行時間<48 ms;HTTP 請求轉(zhuǎn)換為 CoAP 請求的平均執(zhí)行時間<6 ms,最小執(zhí)行時間約 4 ms,最大執(zhí)行時間<20 ms;CoAP響應轉(zhuǎn)換 HTTP 響應的平均執(zhí)行時間約 27 ms,最小執(zhí)行時間約 12 ms,最大執(zhí)行時間<33 ms。

        表6 協(xié)議轉(zhuǎn)換平均、最大、最小執(zhí)行時間Table 6 Average, maximum, minimum execution time of protocol conversion

        宗娜[1]給出了 HTTP 與 CoAP 轉(zhuǎn)換代理實現(xiàn)100 次 GET、POST 請求的平均執(zhí)行時間,其與本方法實現(xiàn) HTTP 與 CoAP 協(xié)議轉(zhuǎn)換周期的平均執(zhí)行時間的對比如表 7 所示。由表 7 可知,本方法所實現(xiàn)的 HTTP 與 CoAP 的協(xié)議轉(zhuǎn)換用時更少,轉(zhuǎn)換效率更高。84.59%,HTTP 請求轉(zhuǎn)換為 CoAP 請求的平均執(zhí)行時間占總轉(zhuǎn)換執(zhí)行時間的 17.02%、15.12%、15.41%。CoAP 響應轉(zhuǎn)換為 HTTP 響應的過程中,調(diào)用 HTTP 相關(guān)外部庫進行報文的發(fā)送,占用了大量時間,導致 CoAP 響應轉(zhuǎn)換 HTTP 響應的平均執(zhí)行時間占比較高。

        表7 平均執(zhí)行時間對比Table 7 Comparison of average execution time

        圖14 請求與響應的平均執(zhí)行時間占比Fig. 14 Proportion of average execution time of requests and responses

        (2)內(nèi)存占用情況

        協(xié)議轉(zhuǎn)換程序執(zhí)行過程中內(nèi)存占用變化情況如圖 15 所示。由圖 15 可知,程序開始執(zhí)行時,內(nèi)存占用首先上升至 80 MiB 左右,隨著請求次數(shù)的增加,內(nèi)存占用最終保持在 90 MiB 左右,占系統(tǒng)總運行內(nèi)存的 0.55%。由此可知,運行協(xié)議轉(zhuǎn)換程序?qū)τ谙到y(tǒng)內(nèi)存的占用不高,系統(tǒng)性能良好。

        圖15 協(xié)議轉(zhuǎn)換程序內(nèi)存占用情況Fig. 15 Memory usage of protocol conversion

        6 討論與分析

        互聯(lián)網(wǎng)+政務(wù)大數(shù)據(jù)來源于多種異構(gòu)信息,具有跨領(lǐng)域、多協(xié)議、難融合的特點。在大數(shù)據(jù)采集匯聚的過程中,存在多種協(xié)議轉(zhuǎn)換需求,需要網(wǎng)關(guān)實現(xiàn)統(tǒng)一的協(xié)議適配轉(zhuǎn)換。本文提出了一種協(xié)議轉(zhuǎn)換知識圖譜的構(gòu)建方法,建立含有協(xié)議報文結(jié)構(gòu)和報文字段映射關(guān)系的協(xié)議轉(zhuǎn)換知識圖譜。并在此基礎(chǔ)上,提出了一種基于知識圖譜的協(xié)議轉(zhuǎn)換方法,以實現(xiàn)不同協(xié)議之間的報文轉(zhuǎn)換。

        在協(xié)議轉(zhuǎn)換研究領(lǐng)域,基于知識圖譜的協(xié)議轉(zhuǎn)換是一個較新的研究方向。將知識圖譜、協(xié)議轉(zhuǎn)換等作為關(guān)鍵詞,在 CNKI、Google Scholar、IEEE 等數(shù)據(jù)庫中進行搜索,發(fā)現(xiàn)國內(nèi)外暫無類似研究成果和參考文獻。

        本文對協(xié)議的結(jié)構(gòu)層級進行研究與分析,依據(jù)含義將其劃分為 5 類核心概念:Protocol、Message、Fields、Value 和 Payload Data,并依此設(shè)計了協(xié)議本體。本文提出的基于知識圖譜的協(xié)議轉(zhuǎn)換方法,可在已有的協(xié)議轉(zhuǎn)換知識圖譜的基礎(chǔ)上,增加新協(xié)議的報文字段信息與新的協(xié)議轉(zhuǎn)換映射關(guān)系,對協(xié)議轉(zhuǎn)換知識圖譜進行擴展與更新,具有良好的泛用性和可擴展性,能夠靈活適應多種應用層協(xié)議轉(zhuǎn)換需求。在協(xié)議轉(zhuǎn)換執(zhí)行時間與內(nèi)存占用方面,將本文提出的方法與現(xiàn)有案例方法進行性能測試與評估分析,驗證了本文方法的有效性。但本文仍存在以下不足:(1)解析與生成報文受到具體程序?qū)崿F(xiàn)的限制;(2)缺少對應的成熟數(shù)據(jù)集,圖譜構(gòu)建較為困難。

        本文創(chuàng)新性地提出了一種協(xié)議轉(zhuǎn)換知識圖譜的構(gòu)建方法和一種基于知識圖譜的協(xié)議轉(zhuǎn)換方法。這些方法基于 HTTP、CoAP 協(xié)議轉(zhuǎn)換,可能存在一定的局限性,未來將研究更多的應用層協(xié)議的報文結(jié)構(gòu)與映射關(guān)系,以完善協(xié)議轉(zhuǎn)換知識圖譜,并對利用協(xié)議轉(zhuǎn)換知識圖譜解析和生成應用層協(xié)議報文開展相關(guān)研究。

        猜你喜歡
        字段報文本體
        Abstracts and Key Words
        哲學分析(2023年4期)2023-12-21 05:30:27
        基于J1939 協(xié)議多包報文的時序研究及應用
        汽車電器(2022年9期)2022-11-07 02:16:24
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        對姜夔自度曲音樂本體的現(xiàn)代解讀
        中國音樂學(2020年4期)2020-12-25 02:58:06
        CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        ATS與列車通信報文分析
        《我應該感到自豪才對》的本體性教學內(nèi)容及啟示
        文學教育(2016年27期)2016-02-28 02:35:15
        CNMARC304字段和314字段責任附注方式解析
        無正題名文獻著錄方法評述
        欲香欲色天天综合和网| 蜜臀av人妻一区二区三区 | 女优av一区二区在线观看| 免费a级毛片在线播放不收费| 国内自拍愉拍免费观看| 国产乱人激情h在线观看| 亚洲人成网站在线观看播放| 男女高潮免费观看无遮挡| 白白色视频这里只有精品| 草草地址线路①屁屁影院成人| 国产免费av片在线观看| 欧美日韩中文国产一区| 在线无码精品秘 在线观看| 精品国产亚洲av高清日韩专区 | 国产freesexvideos中国麻豆 | 中国国产不卡视频在线观看| 国产人妻大战黑人20p| 国产精品久久国产三级国不卡顿| 国产精品一区二区韩国AV| 久久久诱惑一区二区三区| 亚洲最大不卡av网站| 美女扒开大腿让男人桶| 中文字幕av一区中文字幕天堂| 国产精品刺激好大好爽视频| 蜜臀av国内精品久久久人妻| 99久久99久久久精品蜜桃| 99精品国产一区二区| 久久精品一品道久久精品9| 在线观看中文字幕不卡二区| 日韩亚洲欧美久久久www综合| 亚洲精品国偷拍自产在线观看蜜臀| www.尤物视频.com| 国产熟女露脸91麻豆| 欧美a级情欲片在线观看免费 | 亚洲av日韩av无码污污网站 | 国产女主播免费在线观看| 最新国产不卡在线视频 | 93精91精品国产综合久久香蕉| 成av人片一区二区三区久久| 香蕉成人伊视频在线观看| 丰满少妇被猛男猛烈进入久久|