專利名稱:通用協議適配方法及裝置的制作方法
技術領域:
本發(fā)明涉及電通信技術,尤其涉及一種通信協議適配方法及裝置。
背景技術:
目前,現場總線領域長期以來一直沒有形成統(tǒng)一標準,系統(tǒng)之間的互聯性和互操作性很差,導致對不同系統(tǒng)的統(tǒng)一管理難以保障。為了使不同系統(tǒng)之間實現通信,現有的現場總線協議轉換的技術主要有兩種,分別是利用0PC(0LE for Process Control,用于過程控制的OLE)技術實現過程控制級轉換以及利用嵌入式網關實現總線一對一的協議轉換。這兩種方法各有優(yōu)劣,OPC技術過于依賴微軟的操作系統(tǒng),其節(jié)點間通信的實時性不夠;而嵌入式網關通常是一對一的協議轉換,在實現方式和軟件設計上沒有建立統(tǒng)一的模型,不便于總線擴展和網關功能擴展,在應用上有一定的局限性。
發(fā)明內容
本發(fā)明的目的是提出一種通用協議適配方法及裝置,能夠實現不同的現場總線協議之間的實時轉換,為多種異構終端及控制網絡提供統(tǒng)一的控制與管理接口。為實現上述目的,本發(fā)明提供了一種通用協議適配方法,包括接收輸入的報文消息,并判斷所述報文消息所屬的協議類型;根據所述協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中;根據所述消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝,并將封裝后的目標協議報文幀發(fā)送到目標地址。為實現上述目的,本發(fā)明提供了一種通用協議適配裝置,包括報文輸入模塊,用于接收輸入的報文消息,并判斷所述報文消息所屬的協議類型;協議規(guī)則庫,用于保存具體協議字段與通用字段之間的對應關系,該對應關系由具體協議的消息字段信息表結合通用消息結構規(guī)則設置;消息參數庫,用于保存解析完畢的消息記錄,該消息記錄中包括各個通用字段及對應的字段內容;報文解析模塊,用于根據所述協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中;報文封裝模塊,用于根據所述消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝;報文輸出模塊,用于將封裝后的目標協議報文幀發(fā)送到目標地址。基于上述技術方案,本發(fā)明從各種現場總線協議歸納出通用的消息結構,為多種異構終端及控制網絡提供統(tǒng)一的控制與管理接口,使協議轉換能夠在任意兩種能夠通過通用消息結構表達的現場總線協議之間進行,不依賴于具體的系統(tǒng)平臺,協議轉換更加方便, 實時性更好。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1為本發(fā)明通用協議適配裝置實施例的適用場景示意圖。圖2為圖1中通用協議適配裝置實施例的結構示意圖。圖3為本發(fā)明通用協議適配方法的一實施例的流程示意圖。圖4為本發(fā)明通用協議適配方法的另一實施例中消息解析流程的示意圖。圖5為本發(fā)明通用協議適配方法的又一實施例中消息封裝流程的示意6為本發(fā)明通用協議適配裝置實施例的一種具體場景的系統(tǒng)組網結構示意圖。
具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。如圖1所示,為本發(fā)明通用協議適配裝置實施例的適用場景示意圖。在本實施例的適用場景中,管理體通信模塊1負責接收來自上層管理與應用服務器的命令消息,或者將經過消息封裝后的標準消息發(fā)往管理與應用服務器。該模塊主要負責通信功能,完成目標消息類型的識別,并實現所接收以及需要發(fā)送的消息隊列的緩沖。通用協議適配裝置2負責協議轉換功能。對來自管理體通信模塊1的消息,轉換成針對具體網絡或者通信協議的消息,交由執(zhí)行體通信模塊3轉發(fā)到相應網絡或者終端中。 對來自執(zhí)行體通信模塊3的消息,轉換為標準消息后上報給管理體通信模塊1。執(zhí)行體通信模塊3負責接收來自底層設備或網絡的信息消息,或者將經過消息封裝后的針對具體網絡和規(guī)則的消息轉發(fā)到相應設備或者網絡。該模塊主要負責通信功能, 實現目標消息協議類型的識別,并實現所接收以及需要發(fā)送的消息隊列緩沖。如圖2所示,為圖1中通用協議適配裝置實施例的結構示意圖。在本實施例中, 通用協議適配裝置2包括報文輸入模塊21、協議規(guī)則庫22、消息參數庫23、報文解析模塊 24、報文封裝模塊25和報文輸出模塊26。報文輸入模塊21負責接收輸入的報文消息,并判斷所述報文消息所屬的協議類型。報文輸出模塊26負責將封裝后的目標協議報文幀發(fā)送到目標地址。報文輸入模塊21和報文輸出模塊沈均可以設于與管理體通信模塊1進行通信的管理體通信模塊接口和與執(zhí)行體通信模塊1進行通信的執(zhí)行體通信模塊接口中,以進行數據的接收和發(fā)送。協議規(guī)則庫22負責保存具體協議字段與通用字段之間的對應關系,該對應關系由具體協議的消息字段信息表結合通用消息結構規(guī)則設置,根據該協議規(guī)則庫22可進行具體協議的解析和封裝。消息參數庫23負責保存解析完畢的消息記錄,該消息記錄中包括各個通用字段及對應的字段內容。在消息參數庫23中還可包括消息的上下文信息,以便進行消息封裝時使用。
報文解析模塊M負責根據所述協議類型查找協議規(guī)則庫22,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫23中。報文封裝模塊25負責根據所述消息參數庫23中的消息記錄查找協議規(guī)則庫22,進行報文幀封裝。在另一實施例中,報文解析模塊M可以具體包括第一查找單元,用于根據所述協議類型查找協議規(guī)則庫,獲得該協議類型對應的通用消息字段集合;第一字段取出單元, 用于從所述通用消息字段集合中依次取出各個字段來確定所述協議類型中所包括的字段; 字段信息獲取單元,用于獲取字段的起始位置和長度信息;字段內容獲取單元,用于根據所述字段的起始位置和長度信息從所述消息中獲取字段內容;消息參數庫保存單元,用于將所述協議類型中所包括的字段及對應的字段內容存到消息參數庫中。報文封裝模塊可以具體包括消息記錄讀取單元,用于讀取所述消息參數庫中的消息記錄,并判斷所述消息記錄的目標協議類型;第二查找單元,用于根據所述目標協議類型查找所述協議規(guī)則庫,獲得該目標協議類型對應的通用報文幀字段集合;第二字段取出單元,用于從所述通用報文幀字段集合中依次取出各個字段來確定所述目標協議類型中所包括的字段;內容轉換單元,用于按照字段的指定長度對所述消息參數庫中的對應字段的字段內容進行轉換;報文幀封裝單元,用于將所有轉換后的字段封裝成目標協議報文幀。下面對協議規(guī)則庫進行說明。無論是消息的解析還是消息封裝,均是根據協議規(guī)則庫中的協議規(guī)則來對接收到的協議消息字段進行分解。由于現場總線協議的多樣性,力口大了協議轉換的難度。因此,首先需要歸納出通用通信協議結構規(guī)則。在此基礎上,根據具體協議的特征,對通用協議規(guī)則的字段進行描述。這使得協議的轉換可以在任意兩種能夠用通用消息結構表達的協議之間進行,而不需要設計一對一的專門網關。下表為歸納出的一種通用消息結構規(guī)則
權利要求
1.一種通用協議適配方法,包括接收輸入的報文消息,并判斷所述報文消息所屬的協議類型; 根據所述協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中;根據所述消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝,并將封裝后的目標協議報文幀發(fā)送到目標地址。
2.根據權利要求1所述的通用協議適配方法,其中,所述根據協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中的操作具體包括根據所述協議類型查找協議規(guī)則庫,獲得該協議類型對應的通用消息字段集合; 從所述通用消息字段集合中依次取出各個字段來確定所述協議類型中所包括的字段, 并獲取字段的起始位置和長度信息;根據所述字段的起始位置和長度信息從所述消息中獲取字段內容; 將所述協議類型中所包括的字段及對應的字段內容存到消息參數庫中。
3.根據權利要求1所述的通用協議適配方法,其中,所述根據消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝的操作具體包括讀取所述消息參數庫中的消息記錄,并判斷所述消息記錄的目標協議類型; 根據所述目標協議類型查找所述協議規(guī)則庫,獲得該目標協議類型對應的通用報文幀字段集合;從所述通用報文幀字段集合中依次取出各個字段來確定所述目標協議類型中所包括的字段,并按照字段的指定長度對所述消息參數庫中的對應字段的字段內容進行轉換; 將所有轉換后的字段封裝成目標協議報文幀。
4.根據權利要求1 3任一所述的通用協議適配方法,其中,在接收輸入的報文消息之前,還包括根據具體協議的消息字段信息表結合通用消息結構規(guī)則設置所述協議規(guī)則庫的操作。
5.根據權利要求4所述的通用協議適配方法,其中,在封裝所述目標協議報文幀時,對于非通用字段,采用默認填充進行替換。
6.一種通用協議適配裝置,包括報文輸入模塊,用于接收輸入的報文消息,并判斷所述報文消息所屬的協議類型; 協議規(guī)則庫,用于保存具體協議字段與通用字段之間的對應關系,該對應關系由具體協議的消息字段信息表結合通用消息結構規(guī)則設置;消息參數庫,用于保存解析完畢的消息記錄,該消息記錄中包括各個通用字段及對應的字段內容;報文解析模塊,用于根據所述協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中;報文封裝模塊,用于根據所述消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝;報文輸出模塊,用于將封裝后的目標協議報文幀發(fā)送到目標地址。
7.根據權利要求6所述的通用協議適配裝置,其中所述報文解析模塊具體包括第一查找單元,用于根據所述協議類型查找協議規(guī)則庫,獲得該協議類型對應的通用消息字段集合;第一字段取出單元,用于從所述通用消息字段集合中依次取出各個字段來確定所述協議類型中所包括的字段;字段信息獲取單元,用于獲取字段的起始位置和長度信息;字段內容獲取單元,用于根據所述字段的起始位置和長度信息從所述消息中獲取字段內容;消息參數庫保存單元,用于將所述協議類型中所包括的字段及對應的字段內容存到消息參數庫中。
8.根據權利要求6所述的通用協議適配裝置,其中,所述報文封裝模塊具體包括消息記錄讀取單元,用于讀取所述消息參數庫中的消息記錄,并判斷所述消息記錄的目標協議類型;第二查找單元,用于根據所述目標協議類型查找所述協議規(guī)則庫,獲得該目標協議類型對應的通用報文幀字段集合;第二字段取出單元,用于從所述通用報文幀字段集合中依次取出各個字段來確定所述目標協議類型中所包括的字段;內容轉換單元,用于按照字段的指定長度對所述消息參數庫中的對應字段的字段內容進行轉換;報文幀封裝單元,用于將所有轉換后的字段封裝成目標協議報文幀。
9.根據權利要求8所述的通用協議適配裝置,其中,所述報文幀封裝單元還用于在封裝所述目標協議報文幀時,對于非通用字段,采用默認填充進行替換。
10.根據權利要求6 9任一所述的通用協議適配裝置,其中,所述通用協議適配裝置還包括管理體通信模塊接口,用于與管理體通信模塊進行通信; 執(zhí)行體通信模塊接口,用于與執(zhí)行體通信模塊進行通信;所述管理體通信模塊接口和執(zhí)行體通信模塊接口均包括報文輸入模塊和報文解析模塊。
全文摘要
本發(fā)明涉及一種通用協議適配方法,包括接收輸入的報文消息,并判斷所述報文消息所屬的協議類型;根據所述協議類型查找協議規(guī)則庫,對所述報文消息進行解析,并將解析得到的內容存到消息參數庫中;根據所述消息參數庫中的消息記錄查找協議規(guī)則庫,進行報文幀封裝,并將封裝后的目標協議報文幀發(fā)送到目標地址。本發(fā)明還涉及一種通用協議適配裝置。本發(fā)明從各種現場總線協議歸納出通用的消息結構,為多種異構終端及控制網絡提供統(tǒng)一的控制與管理接口,使協議轉換能夠在任意兩種能夠通過通用消息結構表達的現場總線協議之間進行,不依賴于具體的系統(tǒng)平臺,協議轉換更加方便,實時性更好。
文檔編號H04L29/06GK102480462SQ20101055519
公開日2012年5月30日 申請日期2010年11月23日 優(yōu)先權日2010年11月23日
發(fā)明者何琪, 馮明, 李偉, 李文杰, 楊明川, 王 琦 申請人:中國電信股份有限公司