本公開涉及一種用于在scada服務(wù)器中中繼數(shù)據(jù)傳輸?shù)难b置。
背景技術(shù):
監(jiān)督控制和數(shù)據(jù)采集(scada)系統(tǒng)是處理和監(jiān)視大量數(shù)據(jù)并提供與其相關(guān)聯(lián)的各種功能的大規(guī)模系統(tǒng)。scada服務(wù)器監(jiān)視和處理多個(gè)數(shù)據(jù)項(xiàng),包括:從諸如rtu和plc的遠(yuǎn)程終端發(fā)送的數(shù)據(jù)、裝置的狀態(tài)數(shù)據(jù)和系統(tǒng)的狀態(tài)數(shù)據(jù)。為了在安裝scada服務(wù)器的環(huán)境中適當(dāng)?shù)夭僮鞫鄠€(gè)數(shù)據(jù)項(xiàng),需要通過(guò)工程來(lái)優(yōu)化系統(tǒng)。然而,取決于系統(tǒng)環(huán)境和用戶能力,在優(yōu)化過(guò)程期間可能發(fā)生各種錯(cuò)誤。因此,當(dāng)發(fā)生錯(cuò)誤時(shí),需要容易地確定錯(cuò)誤的原因并應(yīng)對(duì)該錯(cuò)誤。圖1是現(xiàn)有scada系統(tǒng)的框圖。
參照?qǐng)D1,scada系統(tǒng)10包括主機(jī)服務(wù)器102、scada服務(wù)器104、前端處理器(fep)106、遠(yuǎn)程終端單元(rtu)108和遠(yuǎn)程安裝裝置110。
scada服務(wù)器104通過(guò)使用用于與fep106進(jìn)行通信的網(wǎng)絡(luò)配置信息來(lái)發(fā)送與fep106連接的請(qǐng)求。如果fep106接受該請(qǐng)求,則建立scada服務(wù)器104和fep106之間的連接。
一旦建立了連接,scada服務(wù)器104將控制指令發(fā)送到fep106。fep106將控制指令遞送到rtu108。rtu108可以根據(jù)接收到的控制指令來(lái)控制它們相應(yīng)的遠(yuǎn)程安裝裝置110。
fep106可以從rtu108接收由遠(yuǎn)程安裝裝置110生成的數(shù)據(jù),以將其遞送到scada服務(wù)器104。fep106和rtu108之間的通信可以通過(guò)使用基于串行通信或以太網(wǎng)通信的傳輸控制協(xié)議(tcp)來(lái)執(zhí)行。
scada服務(wù)器104可以基于由遠(yuǎn)程安裝裝置110生成的數(shù)據(jù)來(lái)管理和控制rtu108。另外,scada服務(wù)器104可以從處于更高等級(jí)的主機(jī)服務(wù)器102接收控制指令,或者可以發(fā)送由主機(jī)服務(wù)器102請(qǐng)求的數(shù)據(jù)。
然而,在現(xiàn)有技術(shù)中,為了從scada服務(wù)器104將數(shù)據(jù)發(fā)送到主機(jī)服務(wù)器102或者從主機(jī)服務(wù)器102將控制指令發(fā)送到scada服務(wù)器104,需要額外的中繼,諸如網(wǎng)關(guān)。由于這樣的額外中繼,所以存在由主機(jī)102進(jìn)行的數(shù)據(jù)接收或由scada服務(wù)器104進(jìn)行的控制指令接收可能被延遲的問(wèn)題。另外,由于這樣的額外中繼,所以存在另一個(gè)問(wèn)題:構(gòu)建數(shù)據(jù)庫(kù)和處理數(shù)據(jù)不靈活。
技術(shù)實(shí)現(xiàn)要素:
本公開的一個(gè)目的是提供一種用于中繼數(shù)據(jù)傳輸?shù)难b置,其能夠在scada系統(tǒng)中快速和準(zhǔn)確地處理至主機(jī)服務(wù)器的數(shù)據(jù)傳輸以及來(lái)自主機(jī)服務(wù)器的控制指令接收。
本公開的另一個(gè)目的是提供一種用于中繼數(shù)據(jù)傳輸?shù)难b置,其能夠提高scada系統(tǒng)的數(shù)據(jù)傳輸和處理速度并構(gòu)建靈活的數(shù)據(jù)庫(kù)。
本公開的目的不限于上述目的,并且本領(lǐng)域中的那些技術(shù)人員可以從以下描述中領(lǐng)會(huì)其他目的和優(yōu)點(diǎn)。此外,將容易領(lǐng)會(huì)的是,本公開的目的和優(yōu)點(diǎn)可以由所附權(quán)利要求中所述的手段及其組合來(lái)實(shí)踐。
根據(jù)本公開的一個(gè)方面,一種用于在scada服務(wù)器和主機(jī)服務(wù)器之間中繼數(shù)據(jù)傳輸?shù)难b置,包括:通信單元,其被配置為接收來(lái)自所述主機(jī)服務(wù)器的數(shù)據(jù)傳輸請(qǐng)求,并且將由所述主機(jī)服務(wù)器請(qǐng)求的目標(biāo)數(shù)據(jù)發(fā)送到所述主機(jī)服務(wù)器;更新單元,其被配置為更新所述scada服務(wù)器中的事件數(shù)據(jù)當(dāng)中的與所述目標(biāo)數(shù)據(jù)對(duì)應(yīng)的事件數(shù)據(jù),并將由所述主機(jī)服務(wù)器請(qǐng)求的目標(biāo)數(shù)據(jù)發(fā)送到所述通信單元;以及同步管理單元,其被配置為使由所述更新單元更新的事件數(shù)據(jù)與備份scada服務(wù)器同步。
根據(jù)本公開的示例性實(shí)施例,可以在scada系統(tǒng)中快速和準(zhǔn)確地處理至主機(jī)服務(wù)器的數(shù)據(jù)傳輸以及來(lái)自主機(jī)服務(wù)器的控制指令接收。
根據(jù)本公開的另一示例性實(shí)施例,可以提高scada系統(tǒng)的數(shù)據(jù)傳輸和處理速度,并且可以構(gòu)建靈活的數(shù)據(jù)庫(kù)。
附圖說(shuō)明
圖1是現(xiàn)有scada系統(tǒng)的框圖;
圖2是根據(jù)本公開的示例性實(shí)施例的scada系統(tǒng)和用于中繼數(shù)據(jù)傳輸?shù)难b置的框圖;并且
圖3是示出了根據(jù)本公開的示例性實(shí)施例的scada系統(tǒng)的復(fù)制的操作過(guò)程的圖。
具體實(shí)施方式
上述目的、特征和優(yōu)點(diǎn)將從參照附圖的詳細(xì)描述而變得顯而易見。足夠詳細(xì)地描述實(shí)施例以使得本領(lǐng)域中的那些技術(shù)人員能夠容易地實(shí)踐本公開的技術(shù)思想??梢允÷砸阎δ芑蚺渲玫脑敿?xì)描述,以免不必要地模糊本公開的要點(diǎn)。在下文中,將參照附圖詳細(xì)描述本公開的實(shí)施例。貫穿附圖,相同參考標(biāo)號(hào)指代相同元件。
圖2是根據(jù)本公開的示例性實(shí)施例的scada系統(tǒng)和用于中繼數(shù)據(jù)傳輸?shù)难b置的框圖。
參照?qǐng)D2,根據(jù)本公開的示例性實(shí)施例的scada系統(tǒng)包括主scada服務(wù)器22和備份scada服務(wù)器24。主scada服務(wù)器22從遠(yuǎn)程安裝裝置(未示出)獲取數(shù)據(jù),并向遠(yuǎn)程安裝裝置發(fā)出控制指令。備份scada服務(wù)器24具有與主scada服務(wù)器22相同的功能,并且實(shí)時(shí)或周期性地備份由主scada服務(wù)器22獲取的來(lái)自遠(yuǎn)程安裝裝置的數(shù)據(jù)以及由主scada服務(wù)器22生成的其他數(shù)據(jù)。因此,如果在主scada服務(wù)器22中存在故障,則備份scada服務(wù)器24可以執(zhí)行與備份scada服務(wù)器24相同的功能。以這種方式,根據(jù)本公開的示例性實(shí)施例,實(shí)施復(fù)制的系統(tǒng)以提高scada系統(tǒng)的穩(wěn)定性。此外,為了進(jìn)一步增強(qiáng)穩(wěn)定性,可以在主scada服務(wù)器22和備份scada服務(wù)器24之間實(shí)施雙物理線路。
參照?qǐng)D2,根據(jù)本公開的示例性實(shí)施例,主scada服務(wù)器22包括用于中繼數(shù)據(jù)傳輸?shù)难b置26。同樣地,根據(jù)本公開的示例性實(shí)施例,備份scada服務(wù)器24也可以包括用于中繼數(shù)據(jù)傳輸?shù)难b置29。在下文中,將相對(duì)于被包括在主scada服務(wù)器22中的裝置26來(lái)描述本公開的示例性實(shí)施例。
如本文所使用的,事件數(shù)據(jù)可以指的是由主scada服務(wù)器22經(jīng)由rtu28從遠(yuǎn)程安裝裝置接收到的數(shù)據(jù)。如本文所使用的,事件數(shù)據(jù)還可以指的是經(jīng)由fep221接收到的并且由數(shù)據(jù)處理器224處理的數(shù)據(jù)。這樣的事件數(shù)據(jù)被實(shí)時(shí)地存儲(chǔ)在scada實(shí)時(shí)數(shù)據(jù)庫(kù)225中。
如本文所使用的,目標(biāo)數(shù)據(jù)是指從由主scada服務(wù)器22獲取或生成的事件數(shù)據(jù)當(dāng)中選出的特定事件數(shù)據(jù)。根據(jù)本公開的示例性實(shí)施例,用戶可以經(jīng)由從主scada服務(wù)器22或外部終端提供的應(yīng)用將從由主scada服務(wù)器22獲取或生成的事件數(shù)據(jù)當(dāng)中的特定事件數(shù)據(jù)設(shè)置為目標(biāo)數(shù)據(jù)。另外,根據(jù)本公開的示例性實(shí)施例,主機(jī)服務(wù)器20可以將從由主scada服務(wù)器22獲取或生成的事件數(shù)據(jù)當(dāng)中選出的特定事件數(shù)據(jù)設(shè)置為目標(biāo)數(shù)據(jù)。
根據(jù)本公開的示例性實(shí)施例,用于中繼數(shù)據(jù)傳輸?shù)难b置26接收來(lái)自主機(jī)服務(wù)器20的數(shù)據(jù)傳輸請(qǐng)求,并從主scada服務(wù)器22獲取由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù),以將其發(fā)送到主機(jī)服務(wù)器20。另外,用于中繼數(shù)據(jù)傳輸?shù)难b置26可以接收來(lái)自主機(jī)服務(wù)器20的控制指令,并且可以將接收到的控制指令發(fā)送到主scada服務(wù)器22。
參照?qǐng)D2,用于中繼數(shù)據(jù)傳輸?shù)难b置26可以包括更新單元261、通信單元262和同步管理單元263。
更新單元261更新主scada服務(wù)器22的事件數(shù)據(jù)當(dāng)中的與目標(biāo)數(shù)據(jù)對(duì)應(yīng)的事件數(shù)據(jù)。根據(jù)本公開的示例性實(shí)施例,rtu28將從相應(yīng)遠(yuǎn)程安裝裝置接收到的事件數(shù)據(jù)遞送到fep221。fep221將接收到的事件數(shù)據(jù)遞送到數(shù)據(jù)處理器224。由數(shù)據(jù)處理器224處理的事件數(shù)據(jù)被存儲(chǔ)在scada實(shí)時(shí)數(shù)據(jù)庫(kù)225中。更新單元261周期性地從被存儲(chǔ)在scada實(shí)時(shí)數(shù)據(jù)庫(kù)225中的事件數(shù)據(jù)當(dāng)中加載與由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的事件數(shù)據(jù)并將其存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)264中。
根據(jù)本公開的示例性實(shí)施例,更新單元261可以以預(yù)定間隔掃描scada實(shí)時(shí)數(shù)據(jù)庫(kù)225,以獲取與由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)對(duì)應(yīng)的事件數(shù)據(jù)。更新單元216進(jìn)行掃描的間隔可以由用戶預(yù)先確定。更新單元216將周期性獲取的事件數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)264中。因此,本地?cái)?shù)據(jù)庫(kù)264可以與scada實(shí)時(shí)數(shù)據(jù)庫(kù)225同步。
另外,根據(jù)本公開的示例性實(shí)施例,更新單元261可以直接從fep221接收與目標(biāo)數(shù)據(jù)對(duì)應(yīng)的事件數(shù)據(jù)。此外,根據(jù)本公開的另一示例性實(shí)施例,由fep221接收到的事件數(shù)據(jù)可以由數(shù)據(jù)處理器224處理,然后被存儲(chǔ)在事件隊(duì)列223中。更新單元216可以將事件隊(duì)列223中存儲(chǔ)的事件數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)264中,或者可以將其發(fā)送到主機(jī)服務(wù)器20。
通信單元262從主機(jī)服務(wù)器20接收數(shù)據(jù)傳輸請(qǐng)求。另外,通信單元262響應(yīng)于該請(qǐng)求將由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)發(fā)送到主機(jī)服務(wù)器20。在從主機(jī)服務(wù)器20接收到數(shù)據(jù)傳輸請(qǐng)求時(shí),通信單元262搜索本地?cái)?shù)據(jù)庫(kù)264以獲取由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)。另外,通信單元262還可以從事件隊(duì)列223獲取由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)。
另外,通信單元262可以接收從主機(jī)服務(wù)器20發(fā)送的控制指令,并且可以將接收到的控制指令發(fā)送到主scada服務(wù)器22。另外,通信單元262可以接收來(lái)自主機(jī)服務(wù)器20的狀態(tài)檢查請(qǐng)求,并且可以將接收到的請(qǐng)求發(fā)送到主scada服務(wù)器22。由通信單元262接收到的控制指令或狀態(tài)檢查請(qǐng)求可以經(jīng)由用戶指令隊(duì)列222發(fā)送到fep221。
在從主機(jī)服務(wù)器20接收到狀態(tài)檢查請(qǐng)求時(shí),主scada服務(wù)器22中斷至主機(jī)服務(wù)器20的目標(biāo)數(shù)據(jù)的傳輸,并將關(guān)于主scada服務(wù)器22的操作狀態(tài)的信息發(fā)送到主機(jī)服務(wù)器20。然后,主scada服務(wù)器22被切換到待機(jī)模式并保持在該模式中,直到從主機(jī)服務(wù)器20發(fā)送了數(shù)據(jù)傳輸請(qǐng)求為止。
同步管理單元263將由更新單元261更新的事件數(shù)據(jù)與備份scada服務(wù)器24進(jìn)行同步。具體地,同步管理單元263通過(guò)將被存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)264中的事件數(shù)據(jù)以預(yù)定間隔發(fā)送到備份scada服務(wù)器24的用于中繼數(shù)據(jù)傳輸?shù)难b置29來(lái)進(jìn)行同步。同步管理單元263將事件數(shù)據(jù)發(fā)送到備份scada服務(wù)器24的用于中繼數(shù)據(jù)傳輸?shù)难b置29所用的間隔可以由用戶進(jìn)行設(shè)置。備份scada服務(wù)器24的用于中繼數(shù)據(jù)傳輸?shù)难b置29將由同步管理單元263發(fā)送的事件數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù)294中。
根據(jù)本公開的示例性實(shí)施例,由用于中繼數(shù)據(jù)傳輸?shù)难b置26進(jìn)行的發(fā)送到主機(jī)服務(wù)器20的目標(biāo)數(shù)據(jù)可以包括指示主scada服務(wù)器獲取目標(biāo)數(shù)據(jù)所處的時(shí)間的獲取時(shí)間信息。這種目標(biāo)數(shù)據(jù)被稱為事件序列(soe)。如果目標(biāo)數(shù)據(jù)包括獲取時(shí)間信息,則用于中繼數(shù)據(jù)傳輸?shù)难b置26可以以預(yù)定間隔將目標(biāo)數(shù)據(jù)發(fā)送到主機(jī)服務(wù)器20,即使當(dāng)沒(méi)有來(lái)自主機(jī)服務(wù)器20的請(qǐng)求時(shí)也是如此。
如上所述,主機(jī)服務(wù)器20可以將數(shù)據(jù)傳輸請(qǐng)求或狀態(tài)檢查請(qǐng)求發(fā)送到主scada服務(wù)器22的用于中繼數(shù)據(jù)傳輸?shù)难b置26或備份scada服務(wù)器24的用于中繼數(shù)據(jù)傳輸?shù)难b置29。
根據(jù)本公開的示例性實(shí)施例,當(dāng)用于中繼數(shù)據(jù)傳輸?shù)难b置26的通信單元262接收到數(shù)據(jù)傳輸請(qǐng)求時(shí),主scada服務(wù)器22以活動(dòng)模式進(jìn)行操作。另外,當(dāng)用于中繼數(shù)據(jù)傳輸?shù)难b置26的通信單元262接收到狀態(tài)檢查請(qǐng)求時(shí),主scada服務(wù)器22以待機(jī)模式進(jìn)行操作。僅在主scada服務(wù)器22處于活動(dòng)模式而不是待機(jī)模式時(shí)發(fā)送目標(biāo)數(shù)據(jù)。
因此,從主機(jī)服務(wù)器20接收數(shù)據(jù)傳輸請(qǐng)求的主scada服務(wù)器22和備份scada服務(wù)器24之一成為活動(dòng)模式服務(wù)器,而接收狀態(tài)檢查請(qǐng)求的另一個(gè)成為待機(jī)模式服務(wù)器。主機(jī)服務(wù)器20通過(guò)發(fā)送數(shù)據(jù)發(fā)送請(qǐng)求和狀態(tài)檢查請(qǐng)求將兩個(gè)服務(wù)器之一設(shè)置為活動(dòng)模式服務(wù)器,并將另一個(gè)設(shè)置為待機(jī)模式服務(wù)器。
圖3是示出了根據(jù)本公開的示例性實(shí)施例的scada系統(tǒng)的復(fù)制的操作過(guò)程的圖。
根據(jù)圖3中示出的示例性實(shí)施例,主scada服務(wù)器22首先接收來(lái)自主機(jī)服務(wù)器20的數(shù)據(jù)傳輸請(qǐng)求而進(jìn)入活動(dòng)模式,并且備份scada服務(wù)器24接收來(lái)自主機(jī)服務(wù)器20的狀態(tài)檢查請(qǐng)求而進(jìn)入待機(jī)模式。主scada服務(wù)器22響應(yīng)于來(lái)自主機(jī)服務(wù)器20的請(qǐng)求將由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)發(fā)送到主機(jī)服務(wù)器20。
在從活動(dòng)模式服務(wù)器(即,主scada服務(wù)器22)接收目標(biāo)數(shù)據(jù)的同時(shí),主機(jī)服務(wù)器20可以將數(shù)據(jù)傳輸請(qǐng)求發(fā)送到備份scada服務(wù)器24,并將狀態(tài)檢查請(qǐng)求發(fā)送到主scada服務(wù)器22。因此,主scada服務(wù)器22可以被切換到待機(jī)模式,而備份scada服務(wù)器24被切換到活動(dòng)模式。
然而,如果主scada服務(wù)器22尚未完成由主機(jī)服務(wù)器20請(qǐng)求的目標(biāo)數(shù)據(jù)的傳輸,則主scada服務(wù)器的通信單元262中斷目標(biāo)數(shù)據(jù)的傳輸,并且將非請(qǐng)求消息(unsolicitedmessage)發(fā)送到主機(jī)服務(wù)器20,該消息通知數(shù)據(jù)的傳輸未完成。在發(fā)送非請(qǐng)求消息時(shí),尚未被發(fā)送的其余的目標(biāo)數(shù)據(jù)被存儲(chǔ)在事件隊(duì)列中。根據(jù)本公開的另一示例性實(shí)施例,其余的目標(biāo)數(shù)據(jù)可以被存儲(chǔ)在另一存儲(chǔ)設(shè)備中,例如本地?cái)?shù)據(jù)庫(kù)中。
在接收到非請(qǐng)求消息時(shí),主機(jī)服務(wù)器20可以檢查尚未從主scada服務(wù)器22發(fā)送的其余的目標(biāo)數(shù)據(jù)的存在和列表。因此,主機(jī)服務(wù)器20請(qǐng)求其余的目標(biāo)數(shù)據(jù)到備份scada服務(wù)器24的傳輸。
如上所述,主scada服務(wù)器22中的數(shù)據(jù)通過(guò)同步管理單元263與備份scada服務(wù)器24中的數(shù)據(jù)同步,并且因此備份scada服務(wù)器24可以檢查其余的目標(biāo)數(shù)據(jù)的列表以將其發(fā)送到主機(jī)服務(wù)器20。根據(jù)本公開的另一示例性實(shí)施例,主機(jī)服務(wù)器20可以請(qǐng)求其余的目標(biāo)數(shù)據(jù)到主scada服務(wù)器22的傳輸。
當(dāng)以這種方式接收到其余的目標(biāo)數(shù)據(jù)時(shí),主機(jī)服務(wù)器20將確認(rèn)消息發(fā)送到主scada服務(wù)器22。在主scada服務(wù)器22接收到確認(rèn)消息之后,主scada服務(wù)器22檢查主機(jī)服務(wù)器20是否接收到其余的目標(biāo)數(shù)據(jù),并且刪除被存儲(chǔ)在事件隊(duì)列223或其他存儲(chǔ)設(shè)備中的該其余的目標(biāo)數(shù)據(jù)。
通過(guò)上述過(guò)程,即使在發(fā)送目標(biāo)數(shù)據(jù)的過(guò)程期間發(fā)生了活動(dòng)模式和待機(jī)模式之間的模式切換,主機(jī)服務(wù)器20也可以完整地接收所請(qǐng)求的目標(biāo)數(shù)據(jù)。
在不背離本公開的范圍和精神的情況下,本發(fā)明所屬領(lǐng)域中的那些技術(shù)人員可以對(duì)上面描述的本公開進(jìn)行各種替換、更改和修改。因此,本公開不限于上述示例性實(shí)施例和附圖。