一種基于發(fā)布訂閱通信機(jī)制的異構(gòu)數(shù)據(jù)互通方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其是一種現(xiàn)場(chǎng)設(shè)備之間基于發(fā)布訂閱通信機(jī)制的異構(gòu)數(shù)據(jù)互通的方法。
【背景技術(shù)】
[0002]在工業(yè)生產(chǎn)現(xiàn)場(chǎng),各個(gè)獨(dú)立系統(tǒng)之間需要進(jìn)行數(shù)據(jù)互通,現(xiàn)有的數(shù)據(jù)交互方式主要采用的是基于DDS的軟件總線技術(shù)。
[0003]軟件總線基本滿足各個(gè)系統(tǒng)之間的松耦合設(shè)計(jì)需求,通過(guò)訂閱主題和發(fā)布主題的映射實(shí)現(xiàn)系統(tǒng)之間的消息互聯(lián)。系統(tǒng)在初始化加載時(shí),向軟總線注冊(cè)數(shù)據(jù)主題的發(fā)布訂閱信息;在數(shù)據(jù)傳輸階段,作為數(shù)據(jù)發(fā)布方的系統(tǒng)將業(yè)務(wù)數(shù)據(jù)打包成主題格式,并發(fā)送到軟總線,再由軟總線推送給所有訂閱該主題的系統(tǒng)。
[0004]然而現(xiàn)有的軟件總線技術(shù)缺少對(duì)不同系統(tǒng)之間異構(gòu)數(shù)據(jù)的轉(zhuǎn)換傳輸機(jī)制。所謂異構(gòu)數(shù)據(jù)主要是指對(duì)同一事物,不同系統(tǒng)的描述方式不同,例如同一參數(shù),不同系統(tǒng)描述其的數(shù)據(jù)結(jié)構(gòu)不同?,F(xiàn)有的軟件總線技術(shù)中,數(shù)據(jù)格式由發(fā)布方?jīng)Q定,訂閱方只能按照發(fā)布方結(jié)構(gòu)接收數(shù)據(jù),發(fā)布方數(shù)據(jù)結(jié)構(gòu)的變化將導(dǎo)致所有訂閱方的軟件修改,擴(kuò)展性不足。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是:針對(duì)現(xiàn)有技術(shù)存在的缺陷,提出一種基于發(fā)布訂閱通信機(jī)制的異構(gòu)數(shù)據(jù)互通方法,有效解決多系統(tǒng)之間數(shù)據(jù)異構(gòu)的通信屏障。
[0006]本發(fā)明采用的技術(shù)方案包括以下步驟:
步驟1:進(jìn)行異構(gòu)數(shù)據(jù)互通的系統(tǒng)加載各自的數(shù)據(jù)自描述視圖;所述數(shù)據(jù)自描述視圖包括描述本系統(tǒng)預(yù)與其他系統(tǒng)進(jìn)行異構(gòu)數(shù)據(jù)互通的關(guān)鍵詞;其中,發(fā)布數(shù)據(jù)的系統(tǒng)為數(shù)據(jù)發(fā)布方,訂閱所述數(shù)據(jù)發(fā)布方發(fā)布的數(shù)據(jù)的系統(tǒng)為數(shù)據(jù)訂閱方;
步驟2:根據(jù)數(shù)據(jù)字典將數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中的關(guān)鍵詞的描述方式轉(zhuǎn)換為數(shù)據(jù)訂閱方的描述方式;所述數(shù)據(jù)字典包括數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中各個(gè)關(guān)鍵詞的描述方式與數(shù)據(jù)訂閱方的數(shù)據(jù)自描述視圖中各個(gè)關(guān)鍵詞的描述方式的映射關(guān)系;
步驟3:將轉(zhuǎn)換后的數(shù)據(jù)序列化為可傳輸?shù)母袷剑?br> 步驟4:根據(jù)發(fā)布與訂閱的映射關(guān)系將序列化后的數(shù)據(jù)傳輸給數(shù)據(jù)訂閱方;
步驟5:數(shù)據(jù)訂閱方接收序列化后的數(shù)據(jù)將其反序列化得到可識(shí)別的關(guān)鍵詞。
[0007]優(yōu)選的,所述數(shù)據(jù)自描述視圖包括至少一個(gè)數(shù)據(jù)主題,及該數(shù)據(jù)主題對(duì)應(yīng)的屬性及關(guān)鍵詞字段;所述屬性為表示該數(shù)據(jù)主題為發(fā)布數(shù)據(jù)或訂閱數(shù)據(jù)的屬性標(biāo)記。
[0008]進(jìn)一步,所述步驟2中,根據(jù)用戶輸入的定制指令確定數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中的需要轉(zhuǎn)換的關(guān)鍵詞,然后根據(jù)數(shù)據(jù)字典將所述關(guān)鍵詞的描述方式轉(zhuǎn)換為數(shù)據(jù)訂閱方的描述方式。
[0009]本發(fā)明還提供了一種基于發(fā)布訂閱通信機(jī)制的異構(gòu)數(shù)據(jù)互通裝置,包括:
數(shù)據(jù)視圖加載單元,用于為進(jìn)行異構(gòu)數(shù)據(jù)互通的系統(tǒng)加載各自的數(shù)據(jù)自描述視圖;所述數(shù)據(jù)自描述視圖包括描述本系統(tǒng)預(yù)與其他系統(tǒng)進(jìn)行異構(gòu)數(shù)據(jù)互通的關(guān)鍵詞;其中,發(fā)布數(shù)據(jù)的系統(tǒng)為數(shù)據(jù)發(fā)布方,訂閱所述數(shù)據(jù)發(fā)布方發(fā)布的數(shù)據(jù)的系統(tǒng)為數(shù)據(jù)訂閱方;
數(shù)據(jù)格式轉(zhuǎn)換單元,用于根據(jù)數(shù)據(jù)字典將數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中的關(guān)鍵詞的描述方式轉(zhuǎn)換為數(shù)據(jù)訂閱方的描述方式;所述數(shù)據(jù)字典包括數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中各個(gè)關(guān)鍵詞的描述方式與數(shù)據(jù)訂閱方的數(shù)據(jù)自描述視圖中各個(gè)關(guān)鍵詞的描述方式的映射關(guān)系;
數(shù)據(jù)序列化單元,用于將數(shù)據(jù)格式轉(zhuǎn)換單元輸出的轉(zhuǎn)換后的數(shù)據(jù)序列化為可傳輸?shù)母袷剑?br> 數(shù)據(jù)傳輸單元,用于根據(jù)發(fā)布與訂閱的映射關(guān)系將數(shù)據(jù)序列化單元輸出的序列化后的數(shù)據(jù)傳輸給數(shù)據(jù)訂閱方;或用于接收數(shù)據(jù)發(fā)布方輸出的序列化后的數(shù)據(jù);
數(shù)據(jù)反序列化單元,用于將接收到的序列化后的數(shù)據(jù)反序列化得到可識(shí)別的關(guān)鍵詞。
[0010]進(jìn)一步,還包括人機(jī)交互單元,用于接收用戶的定制指令;
所述數(shù)據(jù)格式轉(zhuǎn)換單元用于根據(jù)所述定制指令確定數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中的需要轉(zhuǎn)換的關(guān)鍵詞,然后根據(jù)數(shù)據(jù)字典將所述關(guān)鍵詞的描述方式轉(zhuǎn)換為數(shù)據(jù)訂閱方的描述方式。
[0011]綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
1.本發(fā)明采用標(biāo)準(zhǔn)化通用化的數(shù)據(jù)描述語(yǔ)言,具備高可讀性和可擴(kuò)展性,并可以為數(shù)據(jù)編解碼提供直接的軟件支持,有效解決了不同系統(tǒng)平臺(tái)帶來(lái)的數(shù)據(jù)模式異構(gòu)性;
2.本發(fā)明允許用戶在不修改原本數(shù)據(jù)業(yè)務(wù)邏輯的前提下,實(shí)現(xiàn)同類異構(gòu)數(shù)據(jù)的訂閱和處理,使得用戶在訂閱不同系統(tǒng)的數(shù)據(jù)時(shí),無(wú)需了解其他系統(tǒng)的軟件架構(gòu),大大節(jié)省了開(kāi)發(fā)成本;
3.本發(fā)明使用一套框架即可實(shí)現(xiàn)多系統(tǒng)平臺(tái)之間的數(shù)據(jù)交互,減少了維護(hù)成本。
【附圖說(shuō)明】
[0012]本發(fā)明將通過(guò)例子并參照附圖的方式說(shuō)明,其中:
圖1為本發(fā)明一個(gè)具體實(shí)施例方式的原理框圖。
【具體實(shí)施方式】
[0013]本說(shuō)明書(shū)中公開(kāi)的所有特征,或公開(kāi)的所有方法或過(guò)程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0014]本說(shuō)明書(shū)中公開(kāi)的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只是一系列等效或類似特征中的一個(gè)例子而已。
[0015]本發(fā)明提供了一套完整的運(yùn)行框架和協(xié)議規(guī)范,協(xié)助來(lái)自不同廠商、同類異構(gòu)的系統(tǒng)之間的數(shù)據(jù)傳輸,以最小的改動(dòng)代價(jià)實(shí)現(xiàn)互聯(lián)互通。
[0016]本發(fā)明需要預(yù)先制定好數(shù)據(jù)自描述視圖及數(shù)據(jù)字典,這類文件是實(shí)現(xiàn)不同系統(tǒng)之間異構(gòu)數(shù)據(jù)互通的基礎(chǔ)。
[0017]數(shù)據(jù)自描述視圖包括描述本系統(tǒng)預(yù)與其他系統(tǒng)進(jìn)行異構(gòu)數(shù)據(jù)互通的關(guān)鍵詞,實(shí)現(xiàn)為可擴(kuò)展標(biāo)記語(yǔ)言的文件形式,采用標(biāo)準(zhǔn)化、結(jié)構(gòu)化的語(yǔ)義規(guī)范,為來(lái)自不同廠商的數(shù)據(jù)提供統(tǒng)一的數(shù)據(jù)描述手段。接入數(shù)據(jù)互通框架的系統(tǒng)需要編寫(xiě)完整的數(shù)據(jù)自描述視圖,作為數(shù)據(jù)能力的物化表現(xiàn),數(shù)據(jù)自描述視圖涵蓋系統(tǒng)自身可處理的數(shù)據(jù)主題,該數(shù)據(jù)主題對(duì)應(yīng)的屬性及關(guān)鍵詞字段,其中字段包括描述類型、字段長(zhǎng)度、單位精度等的字段。
[0018]數(shù)據(jù)字典實(shí)現(xiàn)為文本文件形式,由管理員/用戶在開(kāi)發(fā)和使用階段進(jìn)行配置完善。數(shù)據(jù)字典是用于解析數(shù)據(jù)自描述視圖的主要工具。數(shù)據(jù)字典的主要功能是建立各個(gè)系統(tǒng)數(shù)據(jù)自描述視圖中各個(gè)關(guān)鍵詞之間的映射關(guān)系,具體包括:組織管理來(lái)自不同集成商的數(shù)據(jù)主題,構(gòu)建主題樹(shù),可根據(jù)主題描述字快速索引;利用字段關(guān)鍵字對(duì)領(lǐng)域內(nèi)各種字段的屬性進(jìn)行描述,建立標(biāo)準(zhǔn)化的映射關(guān)系,對(duì)于單位精度等信息,還要建立轉(zhuǎn)換機(jī)制;對(duì)字段語(yǔ)義進(jìn)行概念化描述,建立同義詞表。例如A系統(tǒng)中數(shù)據(jù)自描述視圖的數(shù)據(jù)主題關(guān)鍵詞脈寬,在數(shù)據(jù)字典中記載有A系統(tǒng)關(guān)鍵詞脈寬在B系統(tǒng)數(shù)據(jù)自描述視圖中對(duì)應(yīng)的關(guān)鍵詞為PW,又如A系統(tǒng)中數(shù)據(jù)自描述視圖的單位關(guān)鍵詞MHz,在數(shù)據(jù)字典中記載有其對(duì)應(yīng)的B系統(tǒng)數(shù)據(jù)自描述視圖中的單位關(guān)鍵詞為10~6。
[0019]當(dāng)上述兩類文件準(zhǔn)備完成后,系統(tǒng)之間便可按照以下步驟進(jìn)行通信。
[0020]步驟1:進(jìn)行異構(gòu)數(shù)據(jù)互通的系統(tǒng)加載各自的數(shù)據(jù)自描述視圖;我們將發(fā)布數(shù)據(jù)的系統(tǒng)稱為數(shù)據(jù)發(fā)布方,將訂閱所述數(shù)據(jù)發(fā)布方發(fā)布的數(shù)據(jù)的系統(tǒng)稱為數(shù)據(jù)訂閱方。
[0021]步驟2:根據(jù)數(shù)據(jù)字典將數(shù)據(jù)發(fā)布方的數(shù)據(jù)自描述視圖中的關(guān)鍵詞的描述方式轉(zhuǎn)換為數(shù)據(jù)訂閱方的描述方式。
[0022]步驟3:將轉(zhuǎn)換后的數(shù)據(jù)序列化為可傳輸?shù)母袷?;這里所述的序列化只是將數(shù)據(jù)按照一定的通信協(xié)議進(jìn)行打包以便傳輸。
[0023]步驟4:根據(jù)發(fā)布與訂閱的映射關(guān)系將序列化后的數(shù)據(jù)傳輸給數(shù)據(jù)訂閱方。發(fā)布與訂閱的映射關(guān)系表明了發(fā)布方的數(shù)據(jù)由哪些系統(tǒng)訂閱。
[0024]步驟5:數(shù)據(jù)訂閱方接收序列化后的數(shù)據(jù)將其反序列化得到可識(shí)別的關(guān)鍵詞。
[0025]參見(jiàn)圖1,下面結(jié)合一個(gè)具體例子進(jìn)一步闡述本發(fā)明原理。
[0026]現(xiàn)假設(shè)工業(yè)現(xiàn)場(chǎng)中具有兩臺(tái)系統(tǒng),系統(tǒng)A能偵收某波段信號(hào),轉(zhuǎn)換為結(jié)構(gòu)類型為A型的數(shù)字信息,并通過(guò)網(wǎng)線輸出;系統(tǒng)B能處理該波段信號(hào)的數(shù)字信息并圖形化顯示,結(jié)構(gòu)類型為B型。將系統(tǒng)A和B通過(guò)進(jìn)行集成,并使用本發(fā)明方法進(jìn)行異構(gòu)數(shù)據(jù)互通,使得集成后的系統(tǒng)具備偵收和圖形化顯示某波段信號(hào)的功能。
[0027](1)數(shù)據(jù)自描述視圖
分別編寫(xiě)A系統(tǒng)和B系統(tǒng)的數(shù)據(jù)自描述視圖文件,遵循可擴(kuò)展標(biāo)記語(yǔ)言XML的規(guī)范。數(shù)據(jù)自描述視圖包含的主要內(nèi)容包括:
發(fā)布/訂閱的屬性標(biāo)記;
通信主題信息描述,包含主題名、域名、同步/異步調(diào)用等屬性;
數(shù)據(jù)類描述,同類數(shù)據(jù)具有相同的描述字;
數(shù)據(jù)結(jié)構(gòu)描述,包含字段關(guān)鍵字、字段長(zhǎng)度、類型精度、屬性單位等信息,由數(shù)據(jù)字典對(duì)描述規(guī)則進(jìn)行