本發(fā)明涉及一種用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)及其管理方法,屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。
背景技術(shù):
隨著控制技術(shù)、計(jì)算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展,信息交互溝通的領(lǐng)域正迅速覆蓋從工廠的現(xiàn)場設(shè)備層到控制、管理各個層次。越來越多類型的設(shè)備,越來越多格式的過程和控制數(shù)據(jù)在工業(yè)自動化系統(tǒng)中產(chǎn)生,并與管理級系統(tǒng)(erp等)進(jìn)行交互,提供管理和決策。
目前國內(nèi)的工業(yè)自動化系統(tǒng)生產(chǎn)廠家和使用標(biāo)準(zhǔn)眾多,管理復(fù)雜,每種系統(tǒng)在管理時,使用各自的通信協(xié)議和規(guī)約,且數(shù)據(jù)和格式相分離,要么像comtrade格式一樣,需要專門的配置文件,要么需要專用的協(xié)議解析模塊,由于上述問題的存在,現(xiàn)有的工業(yè)自動化系統(tǒng)管理方法在解析難度和通用性上不夠理想,從而降低了工業(yè)自動化系統(tǒng)互聯(lián)互通的效率。
為此,需要一種新型的工業(yè)自動化系統(tǒng)管理方法,確保數(shù)據(jù)交互簡單高效和通用性。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu);
本發(fā)明還提供了上述通用協(xié)議層體系結(jié)構(gòu)的管理方法;
術(shù)語解釋:
1、sip(sessioninitiationprotocol,會話初始協(xié)議)是由ietf(internetengineeringtaskforce,因特網(wǎng)工程任務(wù)組)制定的多媒體通信協(xié)議。它是一個基于文本的應(yīng)用層控制協(xié)議,用于創(chuàng)建、修改和釋放一個或多個參與者的會話。廣泛應(yīng)用于cs(circuitswitched,電路交換)、ngn(nextgenerationnetwork,下一代網(wǎng)絡(luò))以及ims(ipmultimediasubsystem,ip多媒體子系統(tǒng))的網(wǎng)絡(luò)中,可以支持并應(yīng)用于語音、視頻、數(shù)據(jù)等多媒體業(yè)務(wù),同時也可以應(yīng)用于presence(呈現(xiàn))、instantmessage(即時消息)等特色業(yè)務(wù),本專利所述sip協(xié)議依據(jù)rfc3261。
2、sip消息,是指依據(jù)sip協(xié)議(rfc3261)進(jìn)行通信的報(bào)文,有兩種類型:從客戶機(jī)到服務(wù)器的請求消息(request)和從服務(wù)器到客戶機(jī)的響應(yīng)消息(response)。一個基本的sip消息包括起始行、一個或多個頭字段、說明頭字段結(jié)束的空行和一個可選的消息體。
3、tcp(transmissioncontrolprotocol傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由ietf的rfc793定義。
4、udp是userdatagramprotocol的簡稱,中文名是用戶數(shù)據(jù)報(bào)協(xié)議,是osi(opensysteminterconnection,開放式系統(tǒng)互聯(lián))參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù),ietfrfc768是udp的正式規(guī)范。
5、摘要認(rèn)證(digestauthentication)是一種基于挑戰(zhàn)-應(yīng)答模式的認(rèn)證模型。有關(guān)描述在rfc2617中。
本發(fā)明的技術(shù)方案為:
一種用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu),所述工業(yè)自動化系統(tǒng)包括通過以太網(wǎng)連接的管理終端、現(xiàn)場級設(shè)備、控制中心,所述管理終端通過以太網(wǎng)傳輸自描述的管理命令,實(shí)現(xiàn)對所述現(xiàn)場級設(shè)備和所述控制中心的管理,包括:
應(yīng)用層,采用sip協(xié)議作為命令收發(fā)的載體,sip消息的消息體采用了xml格式的文本作為命令管理和控制的載體;
傳輸層,位于所述應(yīng)用層之下,采用tcp或者udp協(xié)議,當(dāng)傳輸?shù)拿顢?shù)據(jù)量大于等于548字節(jié)時,選用tcp協(xié)議,當(dāng)傳輸?shù)拿顢?shù)據(jù)量小于548字節(jié)時,或?qū)憫?yīng)時間小于100ms時,選用udp協(xié)議;
網(wǎng)絡(luò)層,位于所述傳輸層之下,用于為命令提供路由選擇;滿足工業(yè)自動化系統(tǒng)復(fù)雜網(wǎng)絡(luò)拓?fù)涞氖褂脠鼍啊?/p>
數(shù)據(jù)鏈路層,位于所述網(wǎng)絡(luò)層之下。
本發(fā)明通用協(xié)議層體系結(jié)構(gòu)采用層次化結(jié)構(gòu),來滿足工業(yè)自動化系統(tǒng)管理的適應(yīng)性和擴(kuò)展性;
根據(jù)本發(fā)明優(yōu)選的,所述sip消息的報(bào)文頭域包括:via、route、contact、max-forwards、from、to、call-id、cseq、expires、content-type、content-length,
via是指標(biāo)志用于事務(wù)傳輸?shù)膫鬏斣O(shè)備,route用于強(qiáng)制一個請求經(jīng)過一個proxy路由列表,contact提供訪問后續(xù)請求的特定ua實(shí)例的聯(lián)系方法,包含一個sip或sipsuri,max-forwards是指請求到達(dá)目的地中間的最大跳轉(zhuǎn)數(shù),rom是指消息請求者的uri,to是指消息接收者的uri,all-id是指消息中區(qū)分消息的唯一id,cseq用于區(qū)分事務(wù)順序,expires用于標(biāo)識uri的生存周期,以秒為單位,content-type用于描述消息體的類型,content-length用于描述消息體的長度。
ip消息是基于文本的通信協(xié)議,本發(fā)明對sip消息的報(bào)文頭域進(jìn)行了裁減,在滿足管理的要求的基礎(chǔ)上,提高了報(bào)文的解析效率。
根據(jù)本發(fā)明優(yōu)選的,xml格式的文本的內(nèi)容包括以下節(jié)點(diǎn):dms、type、cmd、object、node/device/user,dms是指根節(jié)點(diǎn),type是指操作者的類型,用來區(qū)分管理終端、控制中心和現(xiàn)場級設(shè)備,cmd是指操作命令的類型,分為增加對象、刪除對象、修改對象和讀取狀態(tài)類型,object是指操作對象的類型,node/device/user是指操作對象的節(jié)點(diǎn),用于存儲操作對象的參數(shù),操作對象的參數(shù)包括用戶名、ip地址、域名、id。
sip消息的消息體采用了xml格式的文本,xml文本具有自描述的特點(diǎn),利用這個特點(diǎn),在設(shè)計(jì)命令內(nèi)容時,將數(shù)據(jù)格式和數(shù)據(jù)內(nèi)容合二為一,使命令數(shù)據(jù)的解析不依賴于特定的規(guī)約和協(xié)議格式,也不依賴于單獨(dú)的用于解析數(shù)據(jù)的配置文件。
根據(jù)本發(fā)明優(yōu)選的,所述現(xiàn)場級設(shè)備包括若干臺智能控制器,用于完成命令和動作的執(zhí)行;所述控制中心為一臺服務(wù)器或一臺以上的服務(wù)器組成的集群,通過交換機(jī)接入以太網(wǎng)。
管理操作人員通過管理終端,使用運(yùn)行在管理終端上的管理軟件對控制中心進(jìn)行管理和控制,完成控制中心服務(wù)器的狀態(tài)監(jiān)控、用戶管理、設(shè)備投退控制等,對現(xiàn)場級設(shè)備進(jìn)行管理,完成設(shè)備狀態(tài)讀取、參數(shù)整定等。
上述用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)的管理方法,包括
a、發(fā)送命令:
(1)登錄控制中心,獲得操作對象的參數(shù)、操作對象的狀態(tài)信息、操作對象的通信地址;操作對象的參數(shù)包括用戶名、ip地址、域名、id,操作對象的狀態(tài)信息包括在線、離線;在用戶登錄控制中心時采用摘要認(rèn)證的方式進(jìn)行鑒權(quán),并將口令轉(zhuǎn)換為對應(yīng)的md5值;通過在控制中心的服務(wù)器端存儲md5碼而不是口令明文,來避免控制服務(wù)器端數(shù)據(jù)泄露導(dǎo)致的安全漏洞。
(2)確定操作者的類型、操作命令的類型、操作對象的類型和操作對象的參數(shù),操作者的類型包括管理終端、控制中心和現(xiàn)場級設(shè)備,操作命令的類型包括增加、刪除、修改和讀取狀態(tài),操作對象的類型包括操作命令的類型包括用戶、服務(wù)器、設(shè)備;
(3)將操作者的類型賦值給type,將操作命令的類型賦值給cmd,將操作對象的類型賦值給object,將操作對象的參數(shù)賦值給node/device/user,得到xml格式的文本;
(4)生成sip消息的報(bào)文頭域,依據(jù)rfc3261規(guī)定的sip協(xié)議填充報(bào)文頭域的內(nèi)容,并將xml格式的文本加入sip消息的消息體;
(5)將sip消息封裝進(jìn)tcp/ip協(xié)議中,并通過與消息接收端建立socket,將sip消息發(fā)送出去;
(6)由消息接收端的服務(wù)端接收sip消息,并通過tcp/ip協(xié)議棧的解析,得到sip消息;
(7)通過解析sip消息體的xml格式的文本,得到命令的內(nèi)容,執(zhí)行命令;
b、響應(yīng)命令
(8)命令接收者組包sip消息響應(yīng)消息,如果得到的命令的內(nèi)容為執(zhí)行類命令,則不需要sip消息中消息體內(nèi)容,只在sip消息響應(yīng)消息的報(bào)文頭域中添加響應(yīng)狀態(tài)碼,sip報(bào)文有兩種:請求消息(request)和響應(yīng)消息(response),響應(yīng)狀態(tài)碼是sip協(xié)議中規(guī)定的一個域,響應(yīng)接收端通過解析sip消息的響應(yīng)狀態(tài)碼,得到執(zhí)行類命令的執(zhí)行結(jié)果;如果得到的命令的內(nèi)容為管理類或配置類命令,則將命令的處理結(jié)果的消息體組包成xml格式的文本,并封裝進(jìn)sip消息中消息體;
(9)經(jīng)過tcp/ip協(xié)議棧的封裝,通過以太網(wǎng)將響應(yīng)返回到命令的發(fā)送者;
(10)命令的發(fā)送者接收響應(yīng)并解析sip消息中消息體,檢查sip消息的報(bào)文頭域的content-length,得到消息體的長度,如果消息體的長度為0,則解析響應(yīng)狀態(tài)碼,得到響應(yīng);如消息體長度不為0,則提取消息體內(nèi)容,并通過解析xml格式的文本,得到響應(yīng)。通常是獲取的參數(shù)、狀態(tài)等信息。
使用本方法能不需要針對不同規(guī)約開發(fā)不同的規(guī)約解析模塊,解析過程也不依賴于規(guī)約格式和特定的配置文件。同時xml是一種通用的數(shù)據(jù)交換格式,與管理級系統(tǒng)對接時,相對于二進(jìn)制格式,文本格式更易于為管理級系統(tǒng)所解析,并提供了更好的可讀性。
本發(fā)明的有益效果為:
1、本發(fā)明不需要針對不同規(guī)約開發(fā)不同的規(guī)約解析模塊,解析過程也不依賴于規(guī)約格式和特定的配置文件。同時xml是一種通用的數(shù)據(jù)交換格式,與管理級系統(tǒng)對接時,相對于二進(jìn)制格式,文本格式更易于為管理級系統(tǒng)所解析,并提供了更好的可讀性。
2、本發(fā)明采用了sip協(xié)議的請求和應(yīng)答機(jī)制,使管理數(shù)據(jù)的傳輸獨(dú)立于傳輸層??梢允褂脭?shù)據(jù)報(bào)協(xié)議(udp)或傳輸控制協(xié)議(tcp),將獨(dú)立于底層基礎(chǔ)設(shè)施的用戶和設(shè)備靈活地連接起來,按照此方法管理工業(yè)自動化設(shè)備,可利用現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,從而節(jié)省部署成本。
3、本發(fā)明提供了自動化設(shè)備的配置和管理功能的可擴(kuò)展性,通過擴(kuò)展xml文本的節(jié)點(diǎn),實(shí)現(xiàn)配置和管理命令的擴(kuò)展,從而節(jié)省了二次開發(fā)的成本。
附圖說明
圖1為工業(yè)自動化系統(tǒng)組成示意圖;
圖2為本發(fā)明用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)層次結(jié)構(gòu)圖;
圖3為本發(fā)明用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)幀結(jié)構(gòu)示意圖;
圖4為本發(fā)明用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)的管理方法中管理命令下發(fā)流程圖。
具體實(shí)施方式
下面結(jié)合說明書附圖和實(shí)施例對本發(fā)明作進(jìn)一步限定,但不限于此。
實(shí)施例1
一種用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu),所述工業(yè)自動化系統(tǒng)包括通過以太網(wǎng)連接的管理終端、現(xiàn)場級設(shè)備、控制中心,現(xiàn)場級設(shè)備包括若干臺智能控制器,用于完成命令和動作的執(zhí)行;控制中心為一臺服務(wù)器或一臺以上的服務(wù)器組成的集群,通過交換機(jī)接入以太網(wǎng)。管理操作人員通過管理終端,使用運(yùn)行在管理終端上的管理軟件對控制中心進(jìn)行管理和控制,完成控制中心服務(wù)器的狀態(tài)監(jiān)控、用戶管理、設(shè)備投退控制等,對現(xiàn)場級設(shè)備進(jìn)行管理,完成設(shè)備狀態(tài)讀取、參數(shù)整定等。如圖1所示,所述管理終端通過以太網(wǎng)傳輸自描述的管理命令,實(shí)現(xiàn)對所述現(xiàn)場級設(shè)備和所述控制中心的管理,包括:
應(yīng)用層,采用sip協(xié)議作為命令收發(fā)的載體,sip消息的消息體采用了xml格式的文本作為命令管理和控制的載體;
傳輸層,位于所述應(yīng)用層之下,采用tcp或者udp協(xié)議,當(dāng)傳輸?shù)拿顢?shù)據(jù)量大于等于548字節(jié)時,選用tcp協(xié)議,當(dāng)傳輸?shù)拿顢?shù)據(jù)量小于548字節(jié)時,或?qū)憫?yīng)時間小于100ms時,選用udp協(xié)議;
網(wǎng)絡(luò)層,位于所述傳輸層之下,用于為命令提供路由選擇;滿足工業(yè)自動化系統(tǒng)復(fù)雜網(wǎng)絡(luò)拓?fù)涞氖褂脠鼍啊?/p>
數(shù)據(jù)鏈路層,位于所述網(wǎng)絡(luò)層之下。如圖2所示。
通用協(xié)議層體系結(jié)構(gòu)各層幀結(jié)構(gòu)如圖3所示。數(shù)據(jù)鏈路層采用標(biāo)準(zhǔn)的mac幀頭,網(wǎng)絡(luò)層為ip幀頭,傳輸層為tcp/udp幀頭,應(yīng)用層為sip消息幀頭,sip消息的消息體采用xml格式的文本。
本發(fā)明通用協(xié)議層體系結(jié)構(gòu)采用層次化結(jié)構(gòu),來滿足工業(yè)自動化系統(tǒng)管理的適應(yīng)性和擴(kuò)展性;
所述sip消息的報(bào)文頭域包括:via、route、contact、max-forwards、from、to、call-id、cseq、expires、content-type、content-length,
via是指標(biāo)志用于事務(wù)傳輸?shù)膫鬏斣O(shè)備,route用于強(qiáng)制一個請求經(jīng)過一個proxy路由列表,contact提供訪問后續(xù)請求的特定ua實(shí)例的聯(lián)系方法,包含一個sip或sipsuri,max-forwards是指請求到達(dá)目的地中間的最大跳轉(zhuǎn)數(shù),rom是指消息請求者的uri,to是指消息接收者的uri,all-id是指消息中區(qū)分消息的唯一id,cseq用于區(qū)分事務(wù)順序,expires用于標(biāo)識uri的生存周期,以秒為單位,content-type用于描述消息體的類型,content-length用于描述消息體的長度。
ip消息是基于文本的通信協(xié)議,本發(fā)明對sip消息的報(bào)文頭域進(jìn)行了裁減,在滿足管理的要求的基礎(chǔ)上,提高了報(bào)文的解析效率。
xml格式的文本的內(nèi)容包括以下節(jié)點(diǎn):dms、type、cmd、object、node/device/user,dms是指根節(jié)點(diǎn),type是指操作者的類型,用來區(qū)分管理終端、控制中心和現(xiàn)場級設(shè)備,cmd是指操作命令的類型,分為增加對象、刪除對象、修改對象和讀取狀態(tài)類型,object是指操作對象的類型,node/device/user是指操作對象的節(jié)點(diǎn),用于存儲操作對象的參數(shù),包括用戶名、ip地址、域名、id等。
sip消息的消息體采用了xml格式的文本,xml文本具有自描述的特點(diǎn),利用這個特點(diǎn),在設(shè)計(jì)命令內(nèi)容時,將數(shù)據(jù)格式和數(shù)據(jù)內(nèi)容合二為一,使命令數(shù)據(jù)的解析不依賴于特定的規(guī)約和協(xié)議格式,也不依賴于單獨(dú)的用于解析數(shù)據(jù)的配置文件。
實(shí)施例2
實(shí)施例1所述的一種用于管理工業(yè)自動化系統(tǒng)的通用協(xié)議層體系結(jié)構(gòu)的管理方法,如圖4所示,包括:
a、發(fā)送命令:
(1)登錄控制中心,獲得操作對象的參數(shù)、操作對象的狀態(tài)信息、操作對象的通信地址;操作對象的參數(shù)包括用戶名、ip地址、域名、id,操作對象的狀態(tài)信息包括在線、離線;在用戶登錄控制中心時采用摘要認(rèn)證的方式進(jìn)行鑒權(quán),并將口令轉(zhuǎn)換為對應(yīng)的md5值;通過在控制中心的服務(wù)器端存儲md5碼而不是口令明文,來避免控制服務(wù)器端數(shù)據(jù)泄露導(dǎo)致的安全漏洞。
(2)確定操作者的類型、操作命令的類型、操作對象的類型和操作對象的參數(shù),操作者的類型包括管理終端、控制中心和現(xiàn)場級設(shè)備,操作命令的類型包括增加、刪除、修改和讀取狀態(tài),操作對象的類型包括操作命令的類型包括用戶、服務(wù)器、設(shè)備;
(3)將操作者的類型賦值給type,將操作命令的類型賦值給cmd,將操作對象的類型賦值給object,將操作對象的參數(shù)賦值給node/device/user,得到xml格式的文本;
以添加服務(wù)器節(jié)點(diǎn)為例,生成的xml文本如下所示:
(4)生成sip消息的報(bào)文頭域,依據(jù)rfc3261規(guī)定的sip協(xié)議填充報(bào)文頭域的內(nèi)容,并將xml格式的文本加入sip消息的消息體;
(5)將sip消息封裝進(jìn)tcp/ip協(xié)議中,并通過與消息接收端建立socket,將sip消息發(fā)送出去;
(6)由消息接收端的服務(wù)端接收sip消息,并通過tcp/ip協(xié)議棧的解析,得到sip消息;
(7)通過解析sip消息體的xml格式的文本,得到命令的內(nèi)容,執(zhí)行命令;
b、響應(yīng)命令
(8)命令接收者組包sip消息響應(yīng)消息,如果得到的命令的內(nèi)容為執(zhí)行類命令,則不需要sip消息中消息體內(nèi)容,只在sip消息響應(yīng)消息的報(bào)文頭域中添加響應(yīng)狀態(tài)碼,sip報(bào)文有兩種:請求消息(request)和響應(yīng)消息(response),響應(yīng)狀態(tài)碼是sip協(xié)議中規(guī)定的一個域,響應(yīng)接收端通過解析sip消息的響應(yīng)狀態(tài)碼,得到執(zhí)行類命令的執(zhí)行結(jié)果;如果得到的命令的內(nèi)容為管理類或配置類命令,則將命令的處理結(jié)果的消息體組包成xml格式的文本,并封裝進(jìn)sip消息中消息體;
以讀取用戶參數(shù)為例,得到的xml格式的響應(yīng)消息如下所示:
(9)經(jīng)過tcp/ip協(xié)議棧的封裝,通過以太網(wǎng)將響應(yīng)返回到命令的發(fā)送者;
(10)命令的發(fā)送者接收響應(yīng)并解析sip消息中消息體,檢查sip消息的報(bào)文頭域的content-length,得到消息體的長度,如果消息體的長度為0,則解析響應(yīng)狀態(tài)碼,得到響應(yīng);如消息體長度不為0,則提取消息體內(nèi)容,并通過解析xml格式的文本,得到響應(yīng)。通常是獲取的參數(shù)、狀態(tài)等信息。
使用本方法能不需要針對不同規(guī)約開發(fā)不同的規(guī)約解析模塊,解析過程也不依賴于規(guī)約格式和特定的配置文件。同時xml是一種通用的數(shù)據(jù)交換格式,與管理級系統(tǒng)對接時,相對于二進(jìn)制格式,文本格式更易于為管理級系統(tǒng)所解析,并提供了更好的可讀性。