本申請涉及工業(yè)現(xiàn)場控制管理技術領域,尤其涉及基于工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)的異構現(xiàn)場設備控制管理系統(tǒng)系統(tǒng)。
背景技術:
對于異構現(xiàn)場設備也即不同廠家設備的管理:最初是總控制器下連接多個硬件設備,通過將總控制器的軟件植入連接的硬件設備中實現(xiàn)異構現(xiàn)場設備的管理,但將軟件植入眾多廠家實現(xiàn)較為困難。后續(xù),通過在工業(yè)服務器中集中虛擬化軟件定義多個硬件設備,通過虛擬化軟件實現(xiàn)對多個硬件設備的控制。
其中,軟plc(programmablelogiccontroller,可編程邏輯控制器),軟cnc(computernumericalcontrol,數(shù)控機床)、和軟nc(numericalcontrol,數(shù)字控制),以其性價比高能夠使用多種運行環(huán)境的優(yōu)勢,在工業(yè)控制領域得到廣泛應用。
目前,軟plc/cnc/nc,功能集成在工業(yè)系統(tǒng)上,集成的方案主要有兩種:
一種是,軟plc/nc/cnc功能集成在主流操作系統(tǒng)上(如windows)作為一個應用程序,運行環(huán)境為操作系統(tǒng)的進程態(tài);
另一種是,軟plc/nc/cnc功能集成在主流操作系統(tǒng)上(如windows)作為一個系統(tǒng)服務,運行環(huán)境為操作系統(tǒng)內(nèi)調(diào)度優(yōu)先級高的進程態(tài)。
然而,這兩種方案對于軟plc/nc/cnc的不同業(yè)務(主要是管理業(yè)務和工業(yè)現(xiàn)場控制業(yè)務)的隔離性,安全性,可靠性的缺失問題并沒有解決,不符合某些對于業(yè)務隔離性/安全性/可靠性有高要求的工業(yè)需求。例如,當需要系統(tǒng)升級、誤操作或者遭受惡意病毒攻擊等時,會導致所有的業(yè)務中斷或異常運行。而對于主流的操作系統(tǒng)如windows,黑客的熟悉程度較高,很容易遭受黑客的攻擊。
申請內(nèi)容
本申請實施例提供了基于工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)的異構現(xiàn)場設備控制管理系統(tǒng),用以解決目前不符合某些對于業(yè)務隔離性/安全性/可靠性有高要求的工業(yè)需求等的問題。
本申請實施例提供一種基于工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)的異構現(xiàn)場設備控制管理系統(tǒng),包括虛擬機管理層、實時虛擬機和非實時虛擬機,其中:
所述虛擬機管理層用于實時虛擬機和非實時虛擬機的配置、運行調(diào)度和硬件訪問管理;
所述實時虛擬機與異構現(xiàn)場設備通信,用于控制異構現(xiàn)場設備執(zhí)行相應操作;
所述非實時虛擬機用于與場外的設備通信,處理指定的無實時性要求的業(yè)務。
進一步地,所述虛擬機管理層還用于,若接收到指令,則判斷所述指令是否在預置黑名單中,若是,則丟棄所述指令;若否,則執(zhí)行所述指令;其中,所述指令包括特權指令和/或敏感指令。
進一步地,所述實時虛擬機和所述非實時虛擬機上各安裝有多個業(yè)務實例,所述實時虛擬機和所述非實時虛擬機具體用于:
針對任一業(yè)務實例,若該業(yè)務實例發(fā)送信息給目的業(yè)務實例,則通過邏輯尋址的方式確定該目的業(yè)務實例所在的服務器;
若該業(yè)務實例與所述目的業(yè)務實例在同一服務器上,則將所述信息提交到內(nèi)部發(fā)送隊列中,通過所述內(nèi)部發(fā)送隊列將所述信息發(fā)送給所述目的業(yè)務實例;
若該業(yè)務實例與所述目的業(yè)務在不同服務器上,則調(diào)用接口驅動將所述信息發(fā)送給所述目的業(yè)務實例。
系統(tǒng)進一步地,所述實時虛擬機和所述非實時虛擬機上各安裝有多個業(yè)務實例,所述實時虛擬機和所述非實時虛擬機具體用于:
針對任一業(yè)務實例,若該業(yè)務實例發(fā)送信息給目的業(yè)務實例,則根據(jù)業(yè)務實例與物理通信接口之間的一一綁定關系,確定該業(yè)務實例綁定的物理通信接口,并通過該業(yè)務實例綁定的物理通信接口將所述信息發(fā)送給所述目的業(yè)務實例。
進一步地,,所述實時虛擬機和所述非實時虛擬機還用于:
針對任一業(yè)務實例,采用與該業(yè)務實例預先綁定的核或超線程處理該業(yè)務實例的業(yè)務。
進一步地,所述非實時虛擬機具體用于:
以獨享的方式通過預先綁定的網(wǎng)口的硬件訪問資源和場外的設備通信;
進一步地,若所述實時虛擬機和所述非實時虛擬機共享所述系統(tǒng)的計算資源,所述實時虛擬機具有優(yōu)先占用所述計算資源的權限。
系統(tǒng)進一步地,所述實時虛擬機和所述非實施虛擬機具體用于,針對待處理業(yè)務,根據(jù)預先配置的業(yè)務與處理優(yōu)先級的對應關系,確定該待處理業(yè)務對應的處理優(yōu)先級;其中對實時性要求越高的業(yè)務對應的處理優(yōu)先級越高;
根據(jù)確定的處理優(yōu)先級確定該待處理業(yè)務的時間片;其中處理優(yōu)先級越高確定的時間片距離當前時間越近;
在確定的時間片處理該待處理業(yè)務。
進一步地,若所述系統(tǒng)為具有至少兩個核的多核系統(tǒng),所述實時虛擬機與所述非實時虛擬機占用不同核
系統(tǒng)系統(tǒng)進一步地,所述虛擬機管理層還用于:
針對各指令,將該指令的處理時間、處理結果以及發(fā)送該指令的發(fā)送者標識記錄到預設的訪問信息記錄中。
本申請實施例的有益效果如下:本申請實施例,可以通過虛擬化技術將對實時性要求不同的業(yè)務區(qū)分開了由不同的虛擬機具體執(zhí)行。通過實施虛擬機處理實時業(yè)務,非實時虛擬機處理非實時業(yè)務,可以做到不同虛擬機的運行環(huán)境不同,也就做到為實時業(yè)務和非實時業(yè)務定制不同的運行環(huán)境。當針對非實時業(yè)務進行系統(tǒng)升級、或者因非實時業(yè)務故障時,不會影響實時業(yè)務,能夠增強工業(yè)控制的穩(wěn)定性和可靠性。這樣,就能夠滿足業(yè)務隔離性/安全性/可靠性有高要求的工業(yè)需求。
附圖說明
為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1所示為本申請實施例提供的工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)架構圖;
圖2所示為本申請實施例提供的基于工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)的異構現(xiàn)場設備控制管理系統(tǒng)的系統(tǒng)結構示意圖;
圖3所示為本申請實施例提供的業(yè)務實例之間進行通信的示意圖。
具體實施方式
工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)是實現(xiàn)網(wǎng)絡化工業(yè)控制、云控制、可視化工廠、工業(yè)大數(shù)據(jù)分析等的基礎技術,也是實現(xiàn)控制信息流、管理信息流和供應鏈信息流交互融合的統(tǒng)一平臺,是新一代工業(yè)體系安全可控的保障。
如圖1所示的工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)架構圖中,工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)包括應用層、云控制層和現(xiàn)場層。其中,應用層包括統(tǒng)一的工業(yè)建模標準模塊、軟件定義工業(yè)流程模塊和工業(yè)可視化管理模塊;云控制層包括實時數(shù)據(jù)庫、工業(yè)私有云平臺和工業(yè)大數(shù)據(jù)分析平臺;現(xiàn)場層包括工業(yè)總線通訊協(xié)議模塊、工業(yè)流程控制管理模塊、集成各種異構現(xiàn)場設備模塊和工業(yè)管理軟件加載模塊,還包括涵蓋應用層、云控制層和現(xiàn)場層的工業(yè)數(shù)據(jù)安全模塊。
本申請?zhí)峁┗诠I(yè)互聯(lián)網(wǎng)操作系統(tǒng)的異構現(xiàn)場設備控制管理系統(tǒng)系統(tǒng),涉及的是集成各種異構現(xiàn)場設備模塊部分。在本申請?zhí)峁┑募夹g方案中,該管理系統(tǒng)包括實時虛擬機和非實時虛擬機,其中:所述實時虛擬機與異構現(xiàn)場設備通信,用于控制異構現(xiàn)場設備執(zhí)行相應操作;所述非實時虛擬機與場外的設備通信,用于處理指定的無實時性要求的業(yè)務。這樣,可以通過虛擬化技術將對實時性要求不同的業(yè)務區(qū)分開了由不同的虛擬機具體執(zhí)行。通過實施虛擬機處理實時業(yè)務,非實時虛擬機處理非實時業(yè)務,可以做到不同虛擬機的運行環(huán)境不同,也就做到為實時業(yè)務和非實時業(yè)務定制不同的運行環(huán)境。這樣,就能夠滿足業(yè)務隔離性/安全性/可靠性有高要求的工業(yè)需求。
為了使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本申請作進一步地詳細描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本申請保護的范圍。
如圖2所示,為本申請實施例提供的一種基于工業(yè)互聯(lián)網(wǎng)操作系統(tǒng)的現(xiàn)場設備控制管理系統(tǒng)201,包括虛擬機管理層2011、實時虛擬機2012和非實時虛擬機2013,其中:
所述虛擬機管理層用于實時虛擬機和非實時虛擬機的配置、運行調(diào)度和硬件訪問管理;
所述實時虛擬機與異構現(xiàn)場設備通信,用于控制異構現(xiàn)場設備執(zhí)行相應操作;
所述非實時虛擬機用于與場外的設備通信,處理指定的無實時性要求的業(yè)務。
其中,在一個實施例中,實時虛擬機運行軟plc/cnc/nc從而實現(xiàn)控制異構現(xiàn)場設備執(zhí)行相應操作。
其中,非實時虛擬機可以實現(xiàn)人機界面交互和數(shù)據(jù)采集監(jiān)控,可以負責系統(tǒng)與場外的設備通信交互。場外的設備可以指工業(yè)異構現(xiàn)場設備之外的需要遠程通信的設備。
這樣,實時虛擬機作為現(xiàn)場控制系統(tǒng)功能平臺,實現(xiàn)對異構現(xiàn)場設備的具體工業(yè)操作的計算管控,并可以和非實時虛擬機進行交互。
其中,需要說明的是,同一系統(tǒng)上的實時虛擬機可以有多個,同理,非實時虛擬機也可以有多個。具體實施時,同一系統(tǒng)上實時虛擬機和非實時虛擬機各自的數(shù)量可以根據(jù)實際需求設定,本申請對此不作限定。
通過實施虛擬機處理實時業(yè)務,非實時虛擬機處理非實時業(yè)務,可以做到不同虛擬機的運行環(huán)境不同,也就做到為實時業(yè)務和非實時業(yè)務定制不同的運行環(huán)境。此外,當針對非實時業(yè)務進行系統(tǒng)升級、或者因非實時業(yè)務故障時,不會影響實時業(yè)務,能夠增強工業(yè)控制的穩(wěn)定性和可靠性。
其中,在一個實施例中,為了進一步提高安全性,在指令訪問控制方面可以設置黑名單或者白名單制度。以黑名單為例,所述虛擬機管理層還用于,若接收到指令,則判斷所述指令是否在預置黑名單中,若是,則丟棄所述指令;若否,則執(zhí)行所述指令;其中,所述指令包括特權指令和/或敏感指令。這樣,對應黑客病毒惡意攻擊和誤操作可以有一定程度的保護措施,進一步提高系統(tǒng)安全性和可靠性。
此外,所述實時虛擬機和所述虛擬機管理層還用于:針對各指令,將該指令的處理時間、處理結果以及發(fā)送該指令的發(fā)送者標識記錄到預設的訪問信息記錄中。這樣,以便于日后通過訪問信息記錄來了解指定的接收和處理情況,以便于做好后續(xù)工作。
其中,在一個實施例中,所述實時虛擬機和所述非實時虛擬機上各安裝有多個業(yè)務實例,為了節(jié)約i/o(輸入輸出)接口資源,本申請實施例中,所述實時虛擬機和所述非實時虛擬機具體用于:
針對任一業(yè)務實例,若該業(yè)務實例發(fā)送信息給目的業(yè)務實例,則通過邏輯尋址的方式確定該目的業(yè)務實例所在的服務器;
若該業(yè)務實例與所述目的業(yè)務實例在同一服務器上,則將所述信息提交到內(nèi)部發(fā)送隊列中,通過所述內(nèi)部發(fā)送隊列將所述信息發(fā)送給所述目的業(yè)務實例;
若該業(yè)務實例與所述目的業(yè)務在不同服務器上,則調(diào)用接口驅動將所述信息發(fā)送給所述目的業(yè)務實例。
也就是說,發(fā)往同一服務器上的信息可以通過虛擬化適配處理,將該信息提交到內(nèi)部發(fā)送隊列中,然后依次發(fā)送該隊列中的信息給對應的目的業(yè)務實例。而對于不同服務器上的信息交互,可以通過調(diào)用接口驅動完成。這樣也就實現(xiàn)了以業(yè)務實例為信息交互的單位,形成業(yè)務實例之間的通信機制。這個機制支持跨服務器之間的通信,也支持同一服務器內(nèi)部各業(yè)務實例之間的通信。該方案擴展性較強。
例如,圖3所示,為本申請實施例提供的業(yè)務實例之間進行通信的示意圖,其中,每個業(yè)務實例都有一個邏輯i/o接口,用于發(fā)送和接收信息。圖3中,虛擬機通信模塊,可以監(jiān)聽其管轄的各個業(yè)務實例的信息,若有業(yè)務實例發(fā)送信息給目的業(yè)務實例時,虛擬機通信模塊可以在確定該業(yè)務實例與所述目的業(yè)務實例在同一服務器上,則將所述信息提交到內(nèi)部發(fā)送隊列中,通過所述內(nèi)部發(fā)送隊列將所述信息發(fā)送給所述目標業(yè)務實例;若確定該業(yè)務實例與所述目的業(yè)務在不同服務器上,則調(diào)用接口驅動將所述信息發(fā)送給所述目的業(yè)務實例。
另外,同樣為了跨服務器之間的通信,也支持同一服務器內(nèi)部各業(yè)務實例之間的通信,本申請實施例中還可以采用以下實現(xiàn)方案。具體的,所述實時虛擬機和所述非實時虛擬機上各安裝有多個業(yè)務實例,所述實時虛擬機和所述非實時虛擬機具體用于:針對任一業(yè)務實例,若該業(yè)務實例發(fā)送信息給目的業(yè)務實例,則根據(jù)業(yè)務實例與物理通信接口之間的一一綁定關系,確定該業(yè)務實例綁定的物理通信接口,并通過該業(yè)務實例綁定的物理通信接口將所述信息發(fā)送給所述目的業(yè)務實例。具體實施時,任一業(yè)務實例可以以獨享方式使用其綁定的物理通信接口。該方案適合i/o資源較多的場景,能夠適用隔離度要求的業(yè)務。
當然,具體實施時,還可以將以上兩種方案混合使用。例如,針對任一業(yè)務實例,首先確定該業(yè)務實例是否有綁定的物理通信接口,若有綁定的物理通信接口,則通過該業(yè)務實例綁定的物理通信接口將該業(yè)務實例的信息發(fā)送給目的業(yè)務實例;若沒有綁定的物理通信接口,則在該業(yè)務實例發(fā)送消息給目的業(yè)務實例時,則通過邏輯尋址的方式確定該目的業(yè)務實例所在的服務器;若該業(yè)務實例與所述目的業(yè)務實例在同一服務器上,則將所述信息提交到內(nèi)部發(fā)送隊列中,通過所述內(nèi)部發(fā)送隊列將所述信息發(fā)送給所述目標業(yè)務實例;若該業(yè)務實例與所述目的業(yè)務在不同服務器上,則調(diào)用接口驅動將所述信息發(fā)送給所述目的業(yè)務實例。
當然,具體實施時,用戶可以根據(jù)實際需求確定業(yè)務實例之間通信的方式,本申請對此不作限定。
其中,在一個實施例中,所述實時虛擬機和所述非實時虛擬機還用于:針對任一業(yè)務實例,采用與該業(yè)務實例預先綁定的核或超線程處理該業(yè)務實例的業(yè)務。這樣,可以實現(xiàn)將業(yè)務實例和計算資源綁定起來,提高業(yè)務實例的處理效率,并且能夠進一步提高不同業(yè)務之間的隔離性和穩(wěn)定性。具體實施時,可以根據(jù)實際需求確定各業(yè)務實例綁定的計算資源,本申請對此不作限定。
其中,在一個實施例中,為了提高非實時虛擬機和場外設備的通信效率;所述非實時虛擬機具體用于:以獨享的方式通過預先綁定的網(wǎng)口的硬件訪問資源和場外的設備通信。這樣,進一步通過綁定硬件資源,實現(xiàn)業(yè)務之間的隔離性和系統(tǒng)運行安全性、并且提高業(yè)務處理效率。
其中,在一個實施例中,若所述實時虛擬機和所述非實時虛擬機共享所述系統(tǒng)的計算資源,為了保證實時業(yè)務的正常運行,所述實時虛擬機具有優(yōu)先占用所述計算資源的權限。具體的:
針對待處理業(yè)務數(shù)據(jù),可以根據(jù)預先配置的業(yè)務數(shù)據(jù)與處理優(yōu)先級的對應關系,確定該待處理業(yè)務數(shù)據(jù)對應的處理優(yōu)先級;其中對實時性要求越高的業(yè)務數(shù)據(jù)對應的處理優(yōu)先級越高;
根據(jù)確定的處理優(yōu)先級確定該待處理業(yè)務數(shù)據(jù)的時間片;其中處理優(yōu)先級越高確定的時間片距離當前時間越近;
在確定的時間片處理該待處理業(yè)務數(shù)據(jù)。
也就是說通過時間片加優(yōu)先級的方式實現(xiàn)優(yōu)先處理實時業(yè)務。
當然,對于實時虛擬機,若多個實時虛擬機共享計算資源,則也可以參照上述方法,將這多個實時虛擬機的業(yè)務實例預先配置出處理優(yōu)先級,然后按照優(yōu)先級的高低順序分配時間片進行處理。即優(yōu)先級高的業(yè)務實例具有優(yōu)先占用計算資源的權限。當然,若多個非實時虛擬機共享計算資源,處理方法相同,這里不再贅述。
其中,在一個實施例中,若所述系統(tǒng)為具有至少兩個核的多核系統(tǒng),為了進一步實現(xiàn)將實時業(yè)務和非實時業(yè)務的隔離性和處理效率,所述實時虛擬機與所述非實時虛擬機占用不同核。例如,若系統(tǒng)為雙核,則可以將其中一個核分配給實時虛擬機,而將另一個核分配給非實時虛擬機。
具體實施時,例如,針對一個雙核系統(tǒng),可以通過虛擬化計算得到實時虛擬機和非實時虛擬機,并在各虛擬機上安裝業(yè)務實例,然后對各業(yè)務實例分配其綁定的硬件資源(例如計算資源、通信接口),并可以進一步為各業(yè)務實例分配處理優(yōu)先級。同時,還可以通過配置黑名單或白名單,來實現(xiàn)對指令的控制達到保護系統(tǒng)安全的目的。
其中,在一個實施例中,當系統(tǒng)具有多核,實時虛擬機與非實時虛擬機占用不同核時,針對實時虛擬機占用的核,可以根據(jù)實施虛擬機安裝的具體的業(yè)務實例,為特定業(yè)務實例分配調(diào)用核資源的優(yōu)先級?;蛘?,也可以為特定業(yè)務實例綁定核來處理該特定業(yè)務實例的業(yè)務。具體實施時,可以根據(jù)實際需求設定,本申請對此不作限定。
本領域技術人員應明白,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權利要求及其等同技術的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。