處理控制裝置監(jiān)測(cè)并物理上修改動(dòng)態(tài)系統(tǒng)或處理中的運(yùn)行狀態(tài)。通過(guò)使用備用組件,在處理控制實(shí)現(xiàn)中提供冗余和增加的穩(wěn)定性。在傳統(tǒng)的處理控制實(shí)現(xiàn)中,備用組件必須是其相應(yīng)主組件的精確復(fù)制,以提供不中斷的可接受冗余。主組件和備用組件之間的這種一對(duì)一的冗余關(guān)系使處理控制領(lǐng)域中出現(xiàn)多種問(wèn)題。例如,這增加了處理控制系統(tǒng)的成本,因?yàn)槊總€(gè)主組件需要一備用組件。在這種一對(duì)一冗余上編寫的應(yīng)用可能需要專門編寫以在冗余平臺(tái)上執(zhí)行來(lái)完全支持冗余方案。進(jìn)一步地,當(dāng)所述備用組件的相應(yīng)主組件正常運(yùn)行時(shí),該一對(duì)一冗余關(guān)系可能導(dǎo)致備用組件的不使用。增加可用處理控制系統(tǒng)資源的數(shù)量還需要增加額外的主組件和相應(yīng)的備用組件兩者,這導(dǎo)致增加的成本和復(fù)雜性。此外,在傳統(tǒng)實(shí)現(xiàn)中改變控制系統(tǒng)組件的配置需要費(fèi)力的為組件連接重新布線。換句話說(shuō),這些傳統(tǒng)系統(tǒng)是剛性的,并且無(wú)法適應(yīng)不斷變化的系統(tǒng)需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的方面克服現(xiàn)有技術(shù)的局限性,并且通過(guò)減少所需冗余硬件的數(shù)量以及通過(guò)新的算法方法來(lái)改善處理控制和自動(dòng)化領(lǐng)域。通過(guò)減少與為了滿足變化的系統(tǒng)需求而重新配置組件相關(guān)聯(lián)的時(shí)間量和成本提供了附加利益。在本發(fā)明的一個(gè)方面,提供了一種分布式計(jì)算環(huán)境,使得I/O裝置可以由分布式計(jì)算環(huán)境內(nèi)的所有控制器使用。此外,本發(fā)明的方面利用分配算法來(lái)在可用計(jì)算節(jié)點(diǎn)之間分發(fā)數(shù)據(jù)和應(yīng)用,所述計(jì)算節(jié)點(diǎn)使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)關(guān)鍵的執(zhí)行信息,以便由替代的計(jì)算節(jié)點(diǎn)即時(shí)接管。優(yōu)選地,不同的算法被實(shí)現(xiàn),可以減輕分布式計(jì)算環(huán)境中死區(qū)時(shí)間的影響。
在一個(gè)方面,一種用于提供處理控制的系統(tǒng)包括通信信道和多個(gè)計(jì)算節(jié)點(diǎn),每個(gè)計(jì)算節(jié)點(diǎn)連接到通信信道。所述系統(tǒng)還包括一個(gè)或多個(gè)執(zhí)行節(jié)點(diǎn),所述執(zhí)行節(jié)點(diǎn)提供一組連接到通信信道的執(zhí)行服務(wù)。計(jì)算節(jié)點(diǎn)和執(zhí)行服務(wù)包括分布式計(jì)算環(huán)境。在某些情況下,這些計(jì)算節(jié)點(diǎn)可以改變所采用的操作系統(tǒng)的類型或版本與硬件兩者。然而,計(jì)算節(jié)點(diǎn)合作并且可以彼此備份應(yīng)用,即使它們是不同的平臺(tái)。該系統(tǒng)的至少一個(gè)計(jì)算節(jié)點(diǎn)還包括輸入/輸出(I/O)應(yīng)用,其提供處理控制裝置和通信信道之間的電子數(shù)據(jù)通路。
在另一個(gè)方面,一種控制處理的設(shè)備包括電子數(shù)據(jù)通信信道和多個(gè)計(jì)算節(jié)點(diǎn),每個(gè)計(jì)算節(jié)點(diǎn)連接到通信信道。至少一個(gè)計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)處理控制應(yīng)用。此外,所述設(shè)備包括傳感器以及致動(dòng)器,所述傳感器連接到通信信道,并且提供代表處理的物理值的電子數(shù)據(jù),所述致動(dòng)器連接到通信信道,并且接收代表處理的物理值的操作的電子數(shù)據(jù)。所述設(shè)備還包括執(zhí)行節(jié)點(diǎn),其連接到通信信道,并且經(jīng)由通信信道啟動(dòng)處理控制應(yīng)用的至少一個(gè)子集在一個(gè)或多個(gè)其他計(jì)算節(jié)點(diǎn)之間的傳輸。
在另一個(gè)方面,一種在分布式處理控制環(huán)境中分發(fā)數(shù)據(jù)的方法包括通過(guò)第一計(jì)算節(jié)點(diǎn)發(fā)送一個(gè)或多個(gè)電子數(shù)據(jù)集到中央數(shù)據(jù)存儲(chǔ)區(qū)。該數(shù)據(jù)集代表第一計(jì)算節(jié)點(diǎn)內(nèi)執(zhí)行的一個(gè)或多個(gè)應(yīng)用的當(dāng)前狀態(tài)、控制數(shù)據(jù)和I/O數(shù)據(jù)中的至少一個(gè)。此外,所述方法包括在由執(zhí)行服務(wù)管理器檢測(cè)到第一計(jì)算節(jié)點(diǎn)的損失時(shí)通過(guò)第二計(jì)算節(jié)點(diǎn)從中央數(shù)據(jù)存儲(chǔ)區(qū)接收至少一個(gè)數(shù)據(jù)集。所述方法還包括通過(guò)第二計(jì)算節(jié)點(diǎn)執(zhí)行一個(gè)或多個(gè)應(yīng)用,每個(gè)應(yīng)用對(duì)應(yīng)于第一計(jì)算節(jié)點(diǎn)的應(yīng)用。第二計(jì)算節(jié)點(diǎn)的應(yīng)用將所接收的至少一個(gè)數(shù)據(jù)集轉(zhuǎn)變成代表處理變化的數(shù)據(jù)。第二計(jì)算節(jié)點(diǎn)發(fā)送代表變化的數(shù)據(jù)到處理控制裝置,并且該處理控制裝置根據(jù)所發(fā)送的數(shù)據(jù)來(lái)操作該處理。
實(shí)現(xiàn)本發(fā)明的各個(gè)方面的架構(gòu)的附帶利益是減少與配置控制應(yīng)用相關(guān)的工程計(jì)劃。例如,該架構(gòu)允許與任何控制器共享I/O數(shù)據(jù),從而消除控制應(yīng)用和I/O模塊之間的許多工程協(xié)調(diào)。這克服了通過(guò)繼電器柜和編組柜路由傳感器信號(hào)的所有中間接線,根據(jù)傳統(tǒng)架構(gòu),通常需要上述方式來(lái)配置傳感器I/O數(shù)據(jù)指向I/O模塊和控制器。
實(shí)現(xiàn)本發(fā)明的各方面的架構(gòu)的長(zhǎng)期利益是硬件的簡(jiǎn)單演進(jìn)。當(dāng)架構(gòu)工作在不同的硬件上時(shí),具有當(dāng)前組件的新硬件可以很容易地取代較舊的、過(guò)時(shí)的硬件。
本發(fā)明內(nèi)容被提供用來(lái)以簡(jiǎn)化形式介紹概念的選擇,所述概念在下面的詳細(xì)描述中進(jìn)一步描述。本發(fā)明內(nèi)容不是為了確定要求保護(hù)主題的主要特征和本質(zhì)特征,也不是為了用作輔助確定所要求保護(hù)主題的范圍。
其他特征部分是顯而易見(jiàn)的,部分在下文中指出。
附圖說(shuō)明
圖1是現(xiàn)有技術(shù)的級(jí)聯(lián)控制連接的圖。
圖2是根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的圖。
圖3A是根據(jù)本發(fā)明實(shí)施例的無(wú)狀態(tài)、事件驅(qū)動(dòng)應(yīng)用執(zhí)行操作的流程圖。
圖3B是根據(jù)本發(fā)明實(shí)施例的無(wú)狀態(tài)、持久應(yīng)用執(zhí)行操作的流程圖。
圖4A是示出根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的數(shù)據(jù)遷移和分布的圖。
圖4B是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)遷移和分布操作的流程圖。
圖5A是示出根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的代碼遷移和分布的圖。
圖5B是根據(jù)本發(fā)明實(shí)施例的代碼遷移和分布操作的流程圖。
圖6是根據(jù)本發(fā)明實(shí)施例的利用異構(gòu)輸入/輸出連接的硬件組件的示例性架構(gòu)的圖。
圖7是根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的圖。
圖8是根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的圖。
圖9是根據(jù)本發(fā)明實(shí)施例的硬件組件的示例性架構(gòu)的圖。
在整個(gè)附圖中,相應(yīng)的參考符號(hào)表示相應(yīng)的部件。
具體實(shí)施方式
圖1示出了傳統(tǒng)的級(jí)聯(lián)控制回路。級(jí)聯(lián)控制回路包括監(jiān)督模塊10、控制模塊12-A和12-B,以及輸入/輸出(I/O)模塊16-A和16-B。每個(gè)控制模塊12-A和12-B分別包括控制應(yīng)用14-A和14-B??刂颇K12-A直接連接到I/O模塊16-A和16-B??刂颇K12-A還連接到控制模塊12-B,從而形成級(jí)聯(lián)控制回路。I/O模塊16-A連接到傳感器18并且I/O模塊16-B連接到泵20。在這種方式下,由于直接連接,傳感器18和泵20依賴于控制模塊12-A和控制應(yīng)用14-A。
與圖1的傳統(tǒng)級(jí)聯(lián)控制回路相關(guān)聯(lián)的顯著缺點(diǎn)是應(yīng)用之間的對(duì)等訂閱的管理。例如,當(dāng)控制模塊12-A進(jìn)入故障狀態(tài)時(shí),控制應(yīng)用14-A到不同的控制模塊的遷移需要所有連接被重新建立來(lái)作為遷移的一部分。換句話說(shuō),故障切換機(jī)制將需要從控制模塊12-A手動(dòng)地?cái)嚅_(kāi)I/O模塊16-A和16-B的連接,并將他們重新連接到不同的控制模塊。根據(jù)這種傳統(tǒng)的實(shí)現(xiàn),如果級(jí)聯(lián)回路或回路內(nèi)的塊分散在多個(gè)控制模塊中,那么會(huì)導(dǎo)致對(duì)控制的負(fù)面影響。
圖1的傳統(tǒng)級(jí)聯(lián)控制回路的另一個(gè)缺點(diǎn)是控制模塊12-B和控制應(yīng)用14-B對(duì)控制模塊12-A和控制應(yīng)用14-A的依賴。例如,當(dāng)控制模塊12-A進(jìn)入故障狀態(tài)時(shí),監(jiān)督模塊10不再具有與控制模塊12-B或控制應(yīng)用14-B的連接。為了恢復(fù)連接,故障切換機(jī)制將需要利用替代物來(lái)替換控制模塊12-A的故障硬件,或從控制模塊12-A手動(dòng)地?cái)嚅_(kāi)控制模塊12-B的連接并且將其重新連接到監(jiān)督模塊10。
圖2示出了根據(jù)本發(fā)明實(shí)施例的處理控制計(jì)算系統(tǒng)100。在所示的實(shí)施例中,處理控制計(jì)算系統(tǒng)100包括在用于流體處理系統(tǒng)的處理控制環(huán)境內(nèi),該流體處理系統(tǒng)還包括泵138,傳感器140和閥142。處理控制計(jì)算系統(tǒng)100包括執(zhí)行節(jié)點(diǎn)110,通信信道120,以及多個(gè)計(jì)算節(jié)點(diǎn)130。執(zhí)行節(jié)點(diǎn)110包括執(zhí)行服務(wù)管理器112,控制數(shù)據(jù)庫(kù)114,輸入/輸出(I/O)數(shù)據(jù)庫(kù)116,以及通信接口118??刂茟?yīng)用132-A包括在計(jì)算節(jié)點(diǎn)130-A中,并且控制應(yīng)用132-D包括在計(jì)算節(jié)點(diǎn)130-D中。I/O應(yīng)用134-B包括在計(jì)算節(jié)點(diǎn)130-B中,并且I/O應(yīng)用134-F包括在計(jì)算節(jié)點(diǎn)130-F中。在其他示例性實(shí)施例中,控制應(yīng)用132和/或I/O應(yīng)用134通過(guò)計(jì)算節(jié)點(diǎn)130由計(jì)算引擎來(lái)執(zhí)行,如本文的進(jìn)一步描述。在另一個(gè)實(shí)施例中,系統(tǒng)100是無(wú)邊界的,其中執(zhí)行服務(wù)管理器112和數(shù)據(jù)庫(kù)(例如,控制數(shù)據(jù)庫(kù)114,I/O數(shù)據(jù)庫(kù)116等)分布在計(jì)算節(jié)點(diǎn)130之間。在一個(gè)方面,如本文的進(jìn)一步描述,系統(tǒng)100的功能由離散的應(yīng)用來(lái)提供,且不是單片形象。在另一個(gè)方面,系統(tǒng)100是可擴(kuò)展的。在又一個(gè)方面,系統(tǒng)100提供中央數(shù)據(jù)存儲(chǔ)區(qū)作為數(shù)據(jù)分發(fā)機(jī)制,這使得數(shù)據(jù)對(duì)于所有節(jié)點(diǎn)是便利可用的。在這個(gè)方面,中央數(shù)據(jù)存儲(chǔ)區(qū)包括多種數(shù)據(jù)類型,包括但不限于,用于處理控制的數(shù)據(jù)、對(duì)象、關(guān)系等。
在處理控制計(jì)算系統(tǒng)100中,計(jì)算節(jié)點(diǎn)130經(jīng)由通信信道120通信地連接到通信接口118。通過(guò)這些通信連接,控制應(yīng)用132-A和132-D與控制數(shù)據(jù)庫(kù)114進(jìn)行通信,并且I/O應(yīng)用134-B和134-F與I/O數(shù)據(jù)庫(kù)116進(jìn)行通信。執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114、和I/O數(shù)據(jù)庫(kù)116通信地連接到通信接口118。然而,在另一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114、和I/O數(shù)據(jù)庫(kù)116通信地連接到通信信道120。執(zhí)行服務(wù)管理器112經(jīng)由通信接口118和通信信道120與計(jì)算節(jié)點(diǎn)130、控制應(yīng)用132和I/O應(yīng)用134進(jìn)行通信。I/O應(yīng)用134-B和134-F通信地連接到泵138、傳感器140和閥142。所述通信連接可以包括根據(jù)模擬、數(shù)字、脈沖、串行和/或并行技術(shù)(例如,協(xié)議)操作的通信連接。此外,多于一個(gè)通信協(xié)議可以同時(shí)被使用。例如,I/O應(yīng)用134-B使用協(xié)議進(jìn)行通信,而I/O應(yīng)用134-F使用基礎(chǔ)現(xiàn)場(chǎng)總線通信協(xié)議進(jìn)行通信。
在一個(gè)方面,處理控制計(jì)算系統(tǒng)100適于在計(jì)算節(jié)點(diǎn)130之間分發(fā)執(zhí)行負(fù)載。在一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100適于作為單個(gè)通用I/O模塊來(lái)運(yùn)行。處理控制計(jì)算系統(tǒng)100可以適應(yīng)計(jì)算節(jié)點(diǎn)130的添加和移除。有利的是,處理控制計(jì)算系統(tǒng)100的架構(gòu)通過(guò)在計(jì)算節(jié)點(diǎn)130之間遷移控制來(lái)支持負(fù)載均衡和故障切換。粒度控制以及對(duì)控制應(yīng)用132和I/O應(yīng)用134的分片能力,使得可以在具有空閑容量的其他計(jì)算節(jié)點(diǎn)130之間分發(fā)在故障計(jì)算節(jié)點(diǎn)130上執(zhí)行的控制應(yīng)用132和I/O應(yīng)用134。在一個(gè)方面,處理控制計(jì)算系統(tǒng)100充當(dāng)數(shù)據(jù)存儲(chǔ)區(qū),其允許網(wǎng)絡(luò)的分離(例如,分離控制和I/O網(wǎng)絡(luò))。
在另一個(gè)方面,處理控制計(jì)算系統(tǒng)100適于控制處理中的變量,所述變量改變或改進(jìn)原材料以得到最終產(chǎn)品。所述處理包括但不限于,在化學(xué)制品、石油和天然氣、食品和飲料、藥物、水處理和電力行業(yè)中的處理。例如,處理控制計(jì)算系統(tǒng)100控制諸如一種配料與另一種配料的比例、材料的溫度、配料混合的怎樣以及保持材料的壓力等因素。
進(jìn)一步參照?qǐng)D2,執(zhí)行節(jié)點(diǎn)110適于提供共享數(shù)據(jù)、數(shù)據(jù)處理任務(wù)和其他服務(wù)或資源。在一個(gè)實(shí)施例中,執(zhí)行節(jié)點(diǎn)110包括由單個(gè)物理計(jì)算裝置或多個(gè)物理計(jì)算裝置提供的服務(wù)(例如,執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114、I/O數(shù)據(jù)庫(kù)116等)集合(即,分布式執(zhí)行服務(wù))。在一個(gè)方面,執(zhí)行節(jié)點(diǎn)110提供數(shù)據(jù)和/或連接聚合和聯(lián)合能力。例如,通過(guò)存儲(chǔ)由一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)130通過(guò)通信接口118和通信信道120提供的I/O和控制數(shù)據(jù),執(zhí)行節(jié)點(diǎn)110輔助數(shù)據(jù)的合成(即,聚合)。作為另一個(gè)示例,執(zhí)行節(jié)點(diǎn)110有助于把在一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)130或控制數(shù)據(jù)庫(kù)114中產(chǎn)生的數(shù)據(jù)通過(guò)通信接口118和通信信道120傳輸?shù)搅硪粋€(gè)計(jì)算節(jié)點(diǎn)130或控制數(shù)據(jù)庫(kù)114(即,聯(lián)合)。在一種形式中,整個(gè)聚合數(shù)據(jù)集合被聯(lián)合輸出到計(jì)算節(jié)點(diǎn)130,而在另一種形式中,僅聚合數(shù)據(jù)的相關(guān)子集被聯(lián)合輸出到計(jì)算節(jié)點(diǎn)130。
根據(jù)本發(fā)明的其他方面,圖2中的執(zhí)行節(jié)點(diǎn)110監(jiān)控計(jì)算節(jié)點(diǎn)130以確定當(dāng)前狀態(tài)和/或計(jì)算負(fù)載。例如,執(zhí)行節(jié)點(diǎn)110監(jiān)控計(jì)算節(jié)點(diǎn)130-A以確定其是否處于指示即將發(fā)生故障的狀態(tài)。此外,根據(jù)本發(fā)明的方面,執(zhí)行節(jié)點(diǎn)110被配置用于監(jiān)控由計(jì)算節(jié)點(diǎn)130-A利用的計(jì)算資源的量。在又一個(gè)方面,當(dāng)其中一個(gè)計(jì)算節(jié)點(diǎn)130發(fā)生故障時(shí),執(zhí)行節(jié)點(diǎn)110啟動(dòng)數(shù)據(jù)遷移。例如,如下面進(jìn)一步介紹的,當(dāng)節(jié)點(diǎn)130-A即將或已進(jìn)入故障狀態(tài)時(shí),執(zhí)行節(jié)點(diǎn)110促進(jìn)數(shù)據(jù)從計(jì)算節(jié)點(diǎn)130-A到計(jì)算節(jié)點(diǎn)130-D的遷移。執(zhí)行節(jié)點(diǎn)110還可以被配置為提供服務(wù)管理。在一個(gè)示例性實(shí)施例中,服務(wù)管理包括部署應(yīng)用(例如,控制應(yīng)用132和I/O應(yīng)用134)到一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)130。在另一個(gè)示例性實(shí)施例中,服務(wù)管理包括應(yīng)用(例如,控制應(yīng)用132和I/O應(yīng)用134)的狀態(tài)管理。
再次參照?qǐng)D2,執(zhí)行節(jié)點(diǎn)110可以被實(shí)施為計(jì)算機(jī)可執(zhí)行指令,其存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中,例如作為服務(wù)器運(yùn)行的計(jì)算機(jī)、嵌入式設(shè)備、或單片機(jī)(例如,樹(shù)莓派)。然而,本領(lǐng)域技術(shù)人員可以理解的是,執(zhí)行節(jié)點(diǎn)110還可以被實(shí)施為數(shù)字或模擬電子電路。在另一個(gè)實(shí)施例中,執(zhí)行節(jié)點(diǎn)110被提供在遠(yuǎn)離計(jì)算節(jié)點(diǎn)130的物理位置的物理位置。在又一個(gè)實(shí)施例中,執(zhí)行節(jié)點(diǎn)110的功能的高可用性通過(guò)利用多于一個(gè)執(zhí)行節(jié)點(diǎn)110和/或包括執(zhí)行節(jié)點(diǎn)110的復(fù)制組件來(lái)提供。
圖2中的執(zhí)行服務(wù)管理器112適于在計(jì)算節(jié)點(diǎn)130之間分發(fā)控制應(yīng)用132和I/O應(yīng)用134。這種分發(fā)可以由執(zhí)行服務(wù)管理器112經(jīng)由通信信道120發(fā)送和接收控制信號(hào)來(lái)實(shí)現(xiàn)。實(shí)施本發(fā)明的方面的執(zhí)行服務(wù)管理器112可配置用于檢測(cè)一個(gè)或多個(gè)節(jié)點(diǎn)130的故障或移除。在另一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112適于檢測(cè)添加的或最近激活的計(jì)算節(jié)點(diǎn)130。在又一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112適于激活排隊(duì)的控制應(yīng)用132和/或I/O應(yīng)用134以由計(jì)算節(jié)點(diǎn)130執(zhí)行。有利地,執(zhí)行服務(wù)管理器112為處理控制計(jì)算系統(tǒng)100提供靈活性,并且允許擴(kuò)展重負(fù)載系統(tǒng)而不破壞現(xiàn)有控制。根據(jù)一個(gè)示例性實(shí)施例,執(zhí)行服務(wù)管理器112管理部分處理控制計(jì)算系統(tǒng),例如,在一些實(shí)施例中其可以被稱為云環(huán)境。
執(zhí)行服務(wù)管理器112可以被實(shí)施為計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中,例如作為服務(wù)器運(yùn)行的計(jì)算機(jī)。在另一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112被實(shí)施為數(shù)字或模擬電子電路。在一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112被實(shí)施為在執(zhí)行節(jié)點(diǎn)110上執(zhí)行的計(jì)算機(jī)可執(zhí)行指令。在另一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112被實(shí)施為在計(jì)算節(jié)點(diǎn)130上執(zhí)行的計(jì)算機(jī)可執(zhí)行指令。在又一個(gè)示例性實(shí)施例中,執(zhí)行服務(wù)管理器112被實(shí)施為在多個(gè)執(zhí)行節(jié)點(diǎn)110和/或計(jì)算節(jié)點(diǎn)130上執(zhí)行的計(jì)算機(jī)可執(zhí)行指令,如本文進(jìn)一步描述的。
再次參照?qǐng)D2,控制數(shù)據(jù)庫(kù)114適于在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)計(jì)算機(jī)可讀控制數(shù)據(jù)。包括狀態(tài)信息的計(jì)算機(jī)可讀控制數(shù)據(jù)例如代表控制應(yīng)用132和/或處理控制裝置(包括現(xiàn)場(chǎng)裝置,例如泵138、傳感器140、和閥142)的物理狀態(tài)。控制數(shù)據(jù)庫(kù)114還適于使存儲(chǔ)的數(shù)據(jù)可用于計(jì)算節(jié)點(diǎn)130。在一個(gè)方面,控制數(shù)據(jù)庫(kù)114緩解將所有控制數(shù)據(jù)連續(xù)不斷地發(fā)布到每個(gè)計(jì)算節(jié)點(diǎn)130的需求。在另一個(gè)方面,控制數(shù)據(jù)庫(kù)114適于作為數(shù)據(jù)存儲(chǔ),其允許把由控制數(shù)據(jù)庫(kù)114和控制應(yīng)用132-A、132-D組成的控制網(wǎng)絡(luò)從由I/O數(shù)據(jù)庫(kù)116和I/O應(yīng)用134-B、134-F組成的I/O網(wǎng)絡(luò)中分離出來(lái)。
仍參照?qǐng)D2,I/O數(shù)據(jù)庫(kù)116適于在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)計(jì)算機(jī)可讀I/O數(shù)據(jù)。在一個(gè)實(shí)施例中,計(jì)算機(jī)可讀I/O數(shù)據(jù)代表I/O應(yīng)用134和/或處理控制裝置(包括泵138、傳感器140、和閥142)的物理狀態(tài)。I/O數(shù)據(jù)庫(kù)116還適于使存儲(chǔ)的I/O數(shù)據(jù)可用于計(jì)算節(jié)點(diǎn)130。根據(jù)一個(gè)實(shí)施例,I/O數(shù)據(jù)庫(kù)116緩解將所有I/O數(shù)據(jù)連續(xù)不斷地發(fā)布到每個(gè)計(jì)算節(jié)點(diǎn)130的需求。在一個(gè)方面,I/O數(shù)據(jù)庫(kù)116適于作為數(shù)據(jù)存儲(chǔ),其允許把由I/O數(shù)據(jù)庫(kù)116和I/O應(yīng)用134-B、134-F組成的I/O網(wǎng)絡(luò)從由控制數(shù)據(jù)庫(kù)114和控制應(yīng)用132-A、132-D組成的控制網(wǎng)絡(luò)中分離出來(lái)。
通信接口118適于促進(jìn)組件之間的數(shù)據(jù)通信,所述組件包括執(zhí)行節(jié)點(diǎn)110和通信信道120。在圖2所示的實(shí)施例中,通信接口118促進(jìn)執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114、I/O數(shù)據(jù)庫(kù)116和通信信道120之間的數(shù)據(jù)通信。例如,通信接口118是網(wǎng)絡(luò)接口卡。
圖2中的通信信道120適于提供執(zhí)行節(jié)點(diǎn)110和計(jì)算節(jié)點(diǎn)130之間的通信連接。在一個(gè)方面,通信信道120是公共高速通信連接,其由系統(tǒng)100的所有節(jié)點(diǎn)(例如,計(jì)算節(jié)點(diǎn)130和/或執(zhí)行節(jié)點(diǎn)110)共享。在一個(gè)實(shí)施例中,通信信道120是電信網(wǎng)絡(luò),其促進(jìn)數(shù)據(jù)的交換,例如根據(jù)IEEE 802.3(例如,以太網(wǎng))和/或IEEE 802.11(例如,Wi-Fi)協(xié)議操作的網(wǎng)絡(luò)。在另一個(gè)實(shí)施例中,通信信道120是任何介質(zhì),其允許數(shù)據(jù)通過(guò)串行或并行通信信道(例如,銅線、光纖、計(jì)算機(jī)總線、無(wú)線通信信道等)進(jìn)行物理傳輸。
繼續(xù)參照?qǐng)D2的示例性實(shí)施例,計(jì)算節(jié)點(diǎn)130適于執(zhí)行控制應(yīng)用132和I/O應(yīng)用134。在一個(gè)方面,計(jì)算節(jié)點(diǎn)130經(jīng)由通信信道120連接,并且相互作用以實(shí)現(xiàn)共同目標(biāo)。在另一個(gè)示例性實(shí)施例中,計(jì)算節(jié)點(diǎn)130適于執(zhí)行執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114、I/O數(shù)據(jù)庫(kù)116、計(jì)算服務(wù)管理器和/或計(jì)算引擎,如本文進(jìn)一步描述的。計(jì)算節(jié)點(diǎn)130可以由低成本的現(xiàn)有硬件、嵌入式控制器和/或虛擬化控制器組成。例如,在一個(gè)示例性實(shí)施例中,計(jì)算節(jié)點(diǎn)130被實(shí)施為存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)(例如,計(jì)算機(jī)、嵌入式設(shè)備或單片機(jī)(例如,樹(shù)莓派))中的計(jì)算機(jī)可執(zhí)行指令。然而,本領(lǐng)域技術(shù)人員可以理解的是,計(jì)算節(jié)點(diǎn)130還可以被實(shí)施為數(shù)字或模擬電子電路。在一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)130彼此近距離物理靠近。在另一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)130和涉及計(jì)算節(jié)點(diǎn)130的通信,例如經(jīng)由通信信道120的通信,是網(wǎng)絡(luò)安全的。例如,網(wǎng)絡(luò)安全通過(guò)使用加密、黑名單等來(lái)提供。
圖2中的控制應(yīng)用132適于監(jiān)控和控制處理的變量。在一個(gè)示例性實(shí)施例中,控制應(yīng)用132-A從測(cè)量?jī)x器(例如,傳感器140)接收數(shù)據(jù),其代表制造過(guò)程的當(dāng)前物理狀態(tài),控制應(yīng)用132-A將所述數(shù)據(jù)與預(yù)先選定的設(shè)定值或其他數(shù)據(jù)進(jìn)行比較,并且發(fā)送信號(hào)到控制元件(例如,泵138和/或閥142)以采取校正動(dòng)作。在本發(fā)明的一個(gè)實(shí)施例中,控制應(yīng)用132執(zhí)行數(shù)學(xué)函數(shù)從而在數(shù)據(jù)之間或數(shù)據(jù)和設(shè)定值之間進(jìn)行比較。本領(lǐng)域技術(shù)人員可以理解的是,在一個(gè)實(shí)施例中,控制應(yīng)用132由不同數(shù)量的組件組成。例如,用于執(zhí)行單個(gè)控制應(yīng)用132的多個(gè)特定組件可以包括但不限于,簡(jiǎn)單的可執(zhí)行程序、支持控制應(yīng)用的平臺(tái)、執(zhí)行框架、和/或一組配置數(shù)據(jù)。在一個(gè)實(shí)施例中,執(zhí)行框架包括多種環(huán)境中的一個(gè)或多個(gè)以支持邏輯執(zhí)行,例如,基礎(chǔ)現(xiàn)場(chǎng)總線FBAP,Java虛擬機(jī)以及Java小程序和/或具有公共語(yǔ)言運(yùn)行時(shí)(CLR)的.NET運(yùn)行時(shí)環(huán)境??刂茟?yīng)用132具有一系列功能。在一個(gè)實(shí)施例中,控制應(yīng)用132是控制邏輯,例如復(fù)合塊執(zhí)行或先行控制。在進(jìn)一步的實(shí)施例中,控制應(yīng)用132可以包括,但不限于,I/O功能塊處理、IEC1131-3控制處理(例如,功能塊、順序功能圖、梯形圖、指令表或結(jié)構(gòu)化文本)、監(jiān)督控制應(yīng)用、仿真應(yīng)用、安全應(yīng)用、優(yōu)化應(yīng)用、報(bào)警和事件處理等。此外,在一個(gè)附加實(shí)施例中,控制應(yīng)用132包括混合其他類型的應(yīng)用,例如,但不限于,實(shí)時(shí)數(shù)據(jù)庫(kù)、操作員界面、和/或報(bào)告包到計(jì)算節(jié)點(diǎn)130上??刂茟?yīng)用132可以被實(shí)施為存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令,例如可編程邏輯控制器。在進(jìn)一步的實(shí)施例中,控制應(yīng)用132被實(shí)現(xiàn)為數(shù)字或模擬電子電路。有利地,控制應(yīng)用132允許任何計(jì)算節(jié)點(diǎn)130監(jiān)測(cè)和控制處理變量。
圖2中的I/O應(yīng)用134適于在處理控制計(jì)算系統(tǒng)100和處理控制元件(例如,泵138、傳感器140和閥142)之間接收和發(fā)送電子信號(hào)。由I/O應(yīng)用134發(fā)送和接收的電子信號(hào)可以是模擬的(例如,4-20mA的電流信號(hào))或數(shù)字的(例如,協(xié)議、FOUNDATIONTM現(xiàn)場(chǎng)總線協(xié)議等)。在一個(gè)方面,I/O應(yīng)用134可以是傳統(tǒng)儀器或簡(jiǎn)單傳感器I/O轉(zhuǎn)換器的總線主機(jī)。有利地,I/O應(yīng)用134允許任何計(jì)算節(jié)點(diǎn)130適于在處理控制計(jì)算系統(tǒng)100和處理控制元件之間接收和發(fā)送電子信號(hào)。I/O應(yīng)用134可以被實(shí)施為存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可執(zhí)行指令。在附加實(shí)施例中,I/O應(yīng)用134被實(shí)施為數(shù)字或模擬電子電路。
再次參照?qǐng)D2,泵138、傳感器140和閥142適于測(cè)量處理中的物理變化和/或處理的物理操作部分從而實(shí)現(xiàn)物理變化。例如,傳感器140可被配置用于測(cè)量池中流體的高度變化并且報(bào)告(例如,發(fā)送數(shù)據(jù))測(cè)量結(jié)果給處理控制計(jì)算系統(tǒng)100??梢灶A(yù)期的是,其他裝置或儀器可以用于測(cè)量目的,包括但不限于,熱電偶、科里奧利流量管、雷達(dá)發(fā)射器和接收器等。此外,換能器和/或轉(zhuǎn)換器可以用于將一種類型的信號(hào)轉(zhuǎn)換為另一種類型的信號(hào)(例如,將機(jī)械信號(hào)轉(zhuǎn)換為電子信號(hào))。泵138和/或閥142-A用于,例如,限制通過(guò)管道的流體的流動(dòng)以減少池中流體的高度。本領(lǐng)域技術(shù)人員可以理解的是,其他裝置可以用于引起物理變化,包括但不限于,致動(dòng)器、百葉窗、螺線管等。
根據(jù)本發(fā)明的一個(gè)方面,處理控制計(jì)算系統(tǒng)100提供無(wú)狀態(tài)的程序執(zhí)行。在一個(gè)實(shí)施例中,無(wú)狀態(tài)的分布式計(jì)算的特征在于,接收請(qǐng)求以執(zhí)行功能,然后在沒(méi)有關(guān)于先前請(qǐng)求信息的情況下執(zhí)行所述功能(即,沒(méi)有“記憶的”信息)。例如,執(zhí)行服務(wù)管理器112可配置用于啟動(dòng)和管理并行活動(dòng),例如分開(kāi)的線程和/或進(jìn)程,以執(zhí)行算法操作。參照?qǐng)D3A,在步驟302,在計(jì)算節(jié)點(diǎn)130-B上執(zhí)行的I/O應(yīng)用134-B接收教據(jù)。在一個(gè)示例性實(shí)施例中,數(shù)據(jù)代表值,所述值包括由傳感器140測(cè)量的池中的流體高度、在泵138上所施加的電壓、指示進(jìn)入池中的流體流速的閥142-A的位置以及指示從池中流出的流體流速的閥142-B的位置。在一個(gè)實(shí)施例中,圖3A示出了事件驅(qū)動(dòng)應(yīng)用的執(zhí)行,執(zhí)行中的結(jié)果是基于激勵(lì)。然后在步驟304,I/O應(yīng)用134-B發(fā)送這個(gè)數(shù)據(jù)到執(zhí)行服務(wù)管理器112和I/O數(shù)據(jù)庫(kù)116。在步驟306中,作為響應(yīng),執(zhí)行服務(wù)管理器112識(shí)別和發(fā)送請(qǐng)求到空閑的計(jì)算節(jié)點(diǎn)130??臻e并且可供使用的計(jì)算節(jié)點(diǎn)130發(fā)送批準(zhǔn),在步驟308,所述批準(zhǔn)由執(zhí)行服務(wù)管理器112來(lái)接收。
進(jìn)一步參照?qǐng)D3A,在步驟310中,執(zhí)行服務(wù)管理器112啟動(dòng)計(jì)算節(jié)點(diǎn)130-A上的控制應(yīng)用132-A以及計(jì)算節(jié)點(diǎn)130-D上的控制應(yīng)用132-D。例如,控制應(yīng)用132-A和132-D存儲(chǔ)在控制數(shù)據(jù)庫(kù)114中。步驟310包括,例如,執(zhí)行服務(wù)管理器112促進(jìn)將應(yīng)用132-A和132-D從控制數(shù)據(jù)庫(kù)114分別發(fā)送到計(jì)算節(jié)點(diǎn)130-A和130-D。然后在步驟312,執(zhí)行服務(wù)管理器112在控制應(yīng)用132-A和132-D之間分發(fā)工作量。例如,執(zhí)行服務(wù)管理器112促進(jìn)將存儲(chǔ)在I/O數(shù)據(jù)庫(kù)116中的數(shù)據(jù)全部或部分地發(fā)送到控制應(yīng)用132-A和/或控制應(yīng)用132-D。以這種方式,執(zhí)行服務(wù)管理器112作為管理器運(yùn)行,其負(fù)責(zé)識(shí)別或啟動(dòng)空閑計(jì)算資源(例如,識(shí)別空閑的計(jì)算節(jié)點(diǎn)130)和/或在節(jié)點(diǎn)130之間分發(fā)工作量(例如,控制應(yīng)用132、I/O應(yīng)用134)。本領(lǐng)域技術(shù)人員可以理解的是,執(zhí)行服務(wù)管理器112可以全部或部分地分發(fā)工作量。
在圖3A中的步驟314,控制應(yīng)用132-A使用微分方程計(jì)算值,例如池中流體的體積變化:
其中b是與進(jìn)入池中的流速相關(guān)的常數(shù)(例如,由閥142-A提供的數(shù)據(jù)),V是施加到泵138的電壓(例如,由泵138提供的數(shù)據(jù)),a是與從池流出的流速相關(guān)的常數(shù)(例如,由閥142-B提供的數(shù)據(jù)),以及H是池中流體的高度(例如,由傳感器140提供的數(shù)據(jù))。
控制應(yīng)用132-A發(fā)送教據(jù)到執(zhí)行服務(wù)管理器112、控制數(shù)據(jù)庫(kù)114和控制應(yīng)用132-D,所述數(shù)據(jù)代表所計(jì)算的體積變化。在步驟316,控制應(yīng)用132-D確定是否需要對(duì)處理進(jìn)行物理調(diào)節(jié)。例如,控制應(yīng)用132-D將從控制應(yīng)用132-A接收的數(shù)據(jù)的值與設(shè)定值進(jìn)行比較。如果所述值滿足設(shè)定值,那么可以不采取行動(dòng)。但是如果所述值不能滿足設(shè)定值,那么控制應(yīng)用132-D前進(jìn)到步驟318以確定通過(guò)泵138(例如,減少或增加電壓)和閥142-A和142-B(例如,增加或減少液流)對(duì)處理進(jìn)行的調(diào)節(jié)。以這種方式,控制應(yīng)用132-A和132-D作為分開(kāi)的處理,其使用所述數(shù)據(jù)執(zhí)行控制算法的操作。一旦應(yīng)用132-D確定了調(diào)節(jié),這些調(diào)節(jié)經(jīng)由通信信道120和I/O應(yīng)用134-B和134-F發(fā)送給泵138、閥142-A和142-B,如步驟320所示。
圖3B示出了控制應(yīng)用132-A的持續(xù)執(zhí)行的實(shí)施例。在步驟330,例如控制應(yīng)用132-A被部署到計(jì)算節(jié)點(diǎn)130-A。在一個(gè)實(shí)施例中,用戶手動(dòng)部署控制應(yīng)用132-A。在步驟314,控制應(yīng)用132-A停留在計(jì)算節(jié)點(diǎn)130-A上并且執(zhí)行,如上述進(jìn)一步的描述。例如,控制應(yīng)用132-A從控制數(shù)據(jù)庫(kù)114和/或I/O數(shù)據(jù)庫(kù)116讀取數(shù)據(jù)、執(zhí)行控制算法、以及將數(shù)據(jù)寫入回控制數(shù)據(jù)庫(kù)114和/或I/O數(shù)據(jù)庫(kù)116。在一個(gè)實(shí)施例中,由圖3B所示的執(zhí)行前進(jìn)到步驟316,318和320,如上述的進(jìn)一步描述。
在另一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100以“傳統(tǒng)”的服務(wù)模型的形式提供無(wú)狀態(tài)的程序執(zhí)行,例如基于面向服務(wù)的架構(gòu)(SOA)的服務(wù)模型。在又一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100被與例如超文本標(biāo)記語(yǔ)言(HTML)一起利用,來(lái)提供基于網(wǎng)絡(luò)的服務(wù)(例如,網(wǎng)絡(luò)農(nóng)場(chǎng))。
圖4A示出了根據(jù)本發(fā)明實(shí)施例的提供數(shù)據(jù)遷移和分布的處理控制計(jì)算系統(tǒng)100。在這個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100包括執(zhí)行節(jié)點(diǎn)110和計(jì)算節(jié)點(diǎn)130-A和130-B。每個(gè)計(jì)算節(jié)點(diǎn)130-A和130-B包括控制應(yīng)用132-A。與控制應(yīng)用132-A相關(guān)聯(lián)的控制應(yīng)用數(shù)據(jù)集402存儲(chǔ)在計(jì)算節(jié)點(diǎn)130-A和130-B以及控制數(shù)據(jù)庫(kù)114中。
在一個(gè)實(shí)施例中,控制應(yīng)用數(shù)據(jù)集402包括數(shù)據(jù),所述數(shù)據(jù)代表計(jì)算節(jié)點(diǎn)130-A的當(dāng)前狀態(tài)和/或先前狀態(tài)以及中間數(shù)據(jù)。有利地,圖4A所示的處理控制計(jì)算系統(tǒng)100的實(shí)施例,通過(guò)復(fù)制和移動(dòng)(即,發(fā)送)控制應(yīng)用數(shù)據(jù)集402來(lái)提供處理控制,而不是要求發(fā)送控制應(yīng)用132-A及其相關(guān)數(shù)據(jù)。如虛線所示,并且如下述進(jìn)一步描述的,包括控制應(yīng)用數(shù)據(jù)集402的數(shù)據(jù)從計(jì)算節(jié)點(diǎn)130-A被復(fù)制到控制數(shù)據(jù)庫(kù)114,并且接著從控制數(shù)據(jù)庫(kù)114被復(fù)制到計(jì)算節(jié)點(diǎn)130-B。這種狀態(tài)數(shù)據(jù)的遷移使處理控制計(jì)算系統(tǒng)100能夠在計(jì)算節(jié)點(diǎn)130之間分發(fā)執(zhí)行負(fù)載(例如,負(fù)載平衡、添加計(jì)算節(jié)點(diǎn)130),而不受現(xiàn)有技術(shù)的管理和初始化約束。本領(lǐng)域技術(shù)人員可以理解的是,圖4A所示的處理控制計(jì)算系統(tǒng)100的實(shí)施例還通過(guò)使用I/O應(yīng)用134和I/O數(shù)據(jù)庫(kù)116來(lái)提供數(shù)據(jù)遷移和分布。
在圖4A的另一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100提供除了和/或替代提供數(shù)據(jù)遷移和分布的冗余。例如,每個(gè)計(jì)算節(jié)點(diǎn)130-A和130-B并行地執(zhí)行控制應(yīng)用132-A和控制應(yīng)用數(shù)據(jù)集402。然后另一個(gè)計(jì)算節(jié)點(diǎn)130和/或執(zhí)行服務(wù)管理器112被用于比較計(jì)算節(jié)點(diǎn)130-A和計(jì)算節(jié)點(diǎn)130-B之間的數(shù)據(jù),以確保每個(gè)計(jì)算節(jié)點(diǎn)獲得相同的結(jié)果。在附加實(shí)施例中,任何數(shù)量的附加計(jì)算節(jié)點(diǎn)130可以被用于確保計(jì)算節(jié)點(diǎn)130-A和130-B得到正確的結(jié)果,例如,比如通過(guò)投票。在一個(gè)實(shí)施例中,附加計(jì)算節(jié)點(diǎn)130可以提供用于安全和關(guān)鍵控制應(yīng)用的三重模塊冗余(或更大的冗余)。
圖4B示出了處理控制計(jì)算系統(tǒng)100的數(shù)據(jù)遷移和分布操作。在步驟452的操作中,每個(gè)計(jì)算節(jié)點(diǎn)130-A和130-B執(zhí)行控制應(yīng)用132-A。例如,在計(jì)算節(jié)點(diǎn)130-A上執(zhí)行的控制應(yīng)用132-A可配置用于計(jì)算諸如池中流體的體積變化的值,或執(zhí)行算法操作,如上所述。在計(jì)算節(jié)點(diǎn)130-A上對(duì)控制應(yīng)用132-A的執(zhí)行產(chǎn)生數(shù)據(jù),所述教據(jù)包括控制應(yīng)用數(shù)據(jù)集402,例如計(jì)算節(jié)點(diǎn)130-A的狀態(tài)信息或計(jì)算結(jié)果。在步驟454,控制應(yīng)用數(shù)據(jù)集402的數(shù)據(jù)通過(guò)從計(jì)算節(jié)點(diǎn)130-A經(jīng)由通信信道120和通信接口118的傳輸而存儲(chǔ)在控制數(shù)據(jù)庫(kù)114中。在所示的實(shí)施例中,控制應(yīng)用數(shù)據(jù)集402的傳輸由執(zhí)行服務(wù)管理器112進(jìn)行調(diào)節(jié)或監(jiān)督。
再次參照?qǐng)D4B,在步驟456中,執(zhí)行節(jié)點(diǎn)110檢測(cè)計(jì)算節(jié)點(diǎn)130-A的損失(例如,故障)。根據(jù)這種檢測(cè),操作繼續(xù)到步驟458,在該步驟中執(zhí)行服務(wù)管理器112啟動(dòng)控制應(yīng)用數(shù)據(jù)集402從控制數(shù)據(jù)庫(kù)114到計(jì)算節(jié)點(diǎn)130-B的傳輸,其中控制應(yīng)用132-A已經(jīng)在執(zhí)行。在步驟460,計(jì)算節(jié)點(diǎn)130-B利用控制應(yīng)用數(shù)據(jù)集402繼續(xù)執(zhí)行控制應(yīng)用132-A,包括將新的以及更新了的狀態(tài)數(shù)據(jù)存儲(chǔ)在控制數(shù)據(jù)庫(kù)114中。有利地,這種數(shù)據(jù)遷移允許控制從一個(gè)計(jì)算節(jié)點(diǎn)130移動(dòng)到另一個(gè)計(jì)算節(jié)點(diǎn),以提供高可用性和靈活性,而無(wú)需重新建立連接。在替代實(shí)施例中,處理控制計(jì)算系統(tǒng)100在數(shù)據(jù)遷移和分布模式下進(jìn)行操作,而沒(méi)有計(jì)算節(jié)點(diǎn)130的損失。例如,執(zhí)行服務(wù)管理器112檢測(cè)計(jì)算節(jié)點(diǎn)130-B的添加,并且啟動(dòng)控制應(yīng)用數(shù)據(jù)集402從計(jì)算節(jié)點(diǎn)130-A到計(jì)算節(jié)點(diǎn)130-B的遷移,同時(shí)節(jié)點(diǎn)130-A仍在執(zhí)行控制應(yīng)用132-A。以這種方式,處理控制計(jì)算系統(tǒng)100可以使用數(shù)據(jù)遷移和分布以處理計(jì)算節(jié)點(diǎn)130的添加或負(fù)載平衡的考慮。在另一個(gè)實(shí)施例中,圖4B的操作利用I/O應(yīng)用134和I/O數(shù)據(jù)庫(kù)116來(lái)提供I/O數(shù)據(jù)的遷移和分布。
圖5A示出了根據(jù)本發(fā)明實(shí)施例的提供代碼遷移和分布的處理控制計(jì)算系統(tǒng)100。在這個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100包括執(zhí)行節(jié)點(diǎn)110、通信信道120、計(jì)算節(jié)點(diǎn)130-A,130-B,130-C和130-D、控制應(yīng)用132-B和132-C以及I/O應(yīng)用134-D。在一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)130保留狀態(tài)信息用于利用先驗(yàn)信息。I/O應(yīng)用134-D通信地連接到輸入裝置,并且適于在處理控制計(jì)算系統(tǒng)100和處理控制元件(例如,圖2中所示的泵138、傳感器140和閥142)之間接收和發(fā)送電子信號(hào)。來(lái)自這些元件的數(shù)據(jù)包括I/O應(yīng)用數(shù)據(jù)集502。包括I/O應(yīng)用數(shù)據(jù)集502的數(shù)據(jù)還包括來(lái)自在控制應(yīng)用132-C中執(zhí)行的PID塊的輸出。
參照?qǐng)D5A,包括I/O應(yīng)用數(shù)據(jù)集502的數(shù)據(jù)從I/O應(yīng)用134-D傳輸?shù)絀/O數(shù)據(jù)庫(kù)116,并且然后使其對(duì)于在計(jì)算節(jié)點(diǎn)130-B上執(zhí)行的控制應(yīng)用132-B是可用的。有利地,控制應(yīng)用132-B可以從計(jì)算節(jié)點(diǎn)130-A遷移到計(jì)算節(jié)點(diǎn)130-B,而無(wú)需重新建立節(jié)點(diǎn)130之間的對(duì)等連接。相反,所有需要的數(shù)據(jù)由系統(tǒng)100通過(guò)I/O數(shù)據(jù)庫(kù)116來(lái)提供。在一個(gè)實(shí)施例中,執(zhí)行節(jié)點(diǎn)110檢測(cè)計(jì)算節(jié)點(diǎn)130-A的故障。根據(jù)檢測(cè),執(zhí)行服務(wù)管理器112將來(lái)自故障計(jì)算節(jié)點(diǎn)130-A的控制應(yīng)用132-B傳輸?shù)接?jì)算節(jié)點(diǎn)130-B。與控制應(yīng)用132-B相關(guān)聯(lián)的控制數(shù)據(jù)庫(kù)114和I/O數(shù)據(jù)庫(kù)116也分別被移動(dòng)到計(jì)算節(jié)點(diǎn)130-B。
圖5B示出了處理控制計(jì)算系統(tǒng)100的代碼遷移和分布。在步驟552的操作中,計(jì)算節(jié)點(diǎn)130-A執(zhí)行控制應(yīng)用132-B、計(jì)算節(jié)點(diǎn)130-C執(zhí)行控制應(yīng)用132-C、并且計(jì)算節(jié)點(diǎn)130-D執(zhí)行I/O應(yīng)用134-D。例如,在節(jié)點(diǎn)130-C上執(zhí)行的控制應(yīng)用132-C計(jì)算諸如在池中流體的體積變化的值,或執(zhí)行算法操作,如上所述。在一個(gè)實(shí)施例中,I/O應(yīng)用134-D提供處理控制計(jì)算系統(tǒng)100與傳感器140和閥142-A之間的通信連接??梢灶A(yù)期的是,I/O應(yīng)用134-D可被配置為提供到附加處理控制裝置的通信連接。對(duì)控制應(yīng)用132-C和I/O應(yīng)用134-D的執(zhí)行產(chǎn)生數(shù)據(jù),所述數(shù)據(jù)包括I/O應(yīng)用數(shù)據(jù)集502。例如,由控制應(yīng)用132-C產(chǎn)生的數(shù)據(jù)是用于計(jì)算節(jié)點(diǎn)130-C的狀態(tài)信息,或由控制應(yīng)用132-C所執(zhí)行的計(jì)算結(jié)果。在一個(gè)實(shí)施例中,由控制應(yīng)用132-C產(chǎn)生的數(shù)據(jù)包括來(lái)自在計(jì)算節(jié)點(diǎn)130-C或外部控制器上執(zhí)行的PID塊或相似塊的輸出。例如,由I/O應(yīng)用134-D產(chǎn)生的數(shù)據(jù)可以是關(guān)于由傳感器140測(cè)量的池中流體高度的物理信息。
在步驟554,來(lái)自控制應(yīng)用132-C和I/O應(yīng)用134-D的數(shù)據(jù)被存儲(chǔ)在I/O數(shù)據(jù)庫(kù)116上的I/O應(yīng)用數(shù)據(jù)集502中。例如,數(shù)據(jù)從計(jì)算節(jié)點(diǎn)130-C和130-D經(jīng)由通信信道120和通信接口118傳輸。執(zhí)行服務(wù)管理器112優(yōu)選地監(jiān)視、調(diào)節(jié)和/或監(jiān)督計(jì)算節(jié)點(diǎn)130。還在步驟554中,在計(jì)算節(jié)點(diǎn)130-A上執(zhí)行的控制應(yīng)用132-B從I/O應(yīng)用數(shù)據(jù)集502接收數(shù)據(jù),并且在執(zhí)行處理中利用該數(shù)據(jù)。在一個(gè)實(shí)施例中,控制應(yīng)用132-B計(jì)算諸如池中流體的體積變化的值,或執(zhí)行算法操作,如上所述。
再次參照?qǐng)D5B,在步驟556,執(zhí)行服務(wù)管理器112確定是否需要附加的計(jì)算節(jié)點(diǎn)130以提供對(duì)由泵138、傳感器140和閥142組成的處理的充分控制。例如,當(dāng)在節(jié)點(diǎn)130-A上布置比其能滿足的要求更高的要求時(shí),執(zhí)行服務(wù)管理器112確定需要附加節(jié)點(diǎn)130-B。在這個(gè)實(shí)施例中,當(dāng)節(jié)點(diǎn)130-A即將或已進(jìn)入故障狀態(tài)時(shí),執(zhí)行服務(wù)管理器112也確定需要附加節(jié)點(diǎn)130-B。例如,故障狀態(tài)可以是失靈,在這種情況下,整個(gè)控制應(yīng)用132-B被遷移到節(jié)點(diǎn)130-B。作為另一個(gè)示例,故障還可以是過(guò)載,在這種情況下,僅部分控制應(yīng)用132-B被遷移到節(jié)點(diǎn)130-B。執(zhí)行服務(wù)管理器112可被配置為在經(jīng)由通信信道120和通信接口118接收數(shù)據(jù)后做出確定,所述數(shù)據(jù)代表計(jì)算節(jié)點(diǎn)130-A的當(dāng)前或過(guò)去狀態(tài)。在執(zhí)行服務(wù)管理器112確定不需要附加計(jì)算節(jié)點(diǎn)130的情況下,處理返回到步驟552并且繼續(xù)。在執(zhí)行服務(wù)管理器112確定需要附加計(jì)算節(jié)點(diǎn)130的情況下,處理繼續(xù)到步驟558。
在步驟558,執(zhí)行服務(wù)管理器112識(shí)別具有額外能力的計(jì)算節(jié)點(diǎn)130以運(yùn)行附加的計(jì)算,在一個(gè)實(shí)施例中這提供了負(fù)載平衡。例如,計(jì)算節(jié)點(diǎn)130-B連接到通信信道120,但是不執(zhí)行控制應(yīng)用132或I/O應(yīng)用134。在這種情況下,執(zhí)行服務(wù)管理器112識(shí)別計(jì)算節(jié)點(diǎn)130-B是空閑的,并且在計(jì)算節(jié)點(diǎn)130-B中開(kāi)始新的應(yīng)用(例如,控制應(yīng)用132、I/O應(yīng)用134等)。在另一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112識(shí)別計(jì)算節(jié)點(diǎn)130-B不是空閑的(即,執(zhí)行控制應(yīng)用132和/或I/O應(yīng)用134),但是具有足夠的空閑資源來(lái)處理控制應(yīng)用132-B的執(zhí)行。在執(zhí)行服務(wù)管理器112識(shí)別合適的計(jì)算節(jié)點(diǎn)130之后,處理前進(jìn)到步驟560,其中應(yīng)用被傳輸?shù)皆摽臻e節(jié)點(diǎn)。例如,執(zhí)行服務(wù)管理器112啟動(dòng)控制應(yīng)用132-B從計(jì)算節(jié)點(diǎn)130-A到計(jì)算節(jié)點(diǎn)130-B的傳輸。在傳輸之后,處理返回到步驟552,其中控制應(yīng)用132-B在計(jì)算節(jié)點(diǎn)130-B上執(zhí)行,從I/O應(yīng)用數(shù)據(jù)集502接收數(shù)據(jù),并且在執(zhí)行處理中利用該數(shù)據(jù)。
在一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100通過(guò)各種分解技術(shù)(例如,任務(wù)分解、數(shù)據(jù)分解、數(shù)據(jù)流分解等)來(lái)分割數(shù)據(jù)源(例如,I/O應(yīng)用數(shù)據(jù)集502)用于代碼遷移和分布操作。在另一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100通過(guò)同步原語(yǔ)(例如,信號(hào)量(semaphores)、鎖、條件變量等)來(lái)協(xié)調(diào)計(jì)算節(jié)點(diǎn)130以管理所使用的數(shù)據(jù)。
圖6示出了處理控制計(jì)算系統(tǒng)100可以支持的I/O應(yīng)用134的各種實(shí)現(xiàn)方式。在一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100提供了對(duì)傳統(tǒng)I/O裝置的支持,例如HART調(diào)制解調(diào)器610,其經(jīng)由HART通信協(xié)議提供與泵138的通信連接。在這個(gè)實(shí)施例中,I/O應(yīng)用134-B作為在計(jì)算節(jié)點(diǎn)130-B上執(zhí)行的HART主機(jī)運(yùn)行。在另一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100為簡(jiǎn)單傳感器I/O模型提供支持,例如提供與傳感器140和閥142的通信連接的簡(jiǎn)單傳感器620。簡(jiǎn)單傳感器用于收集有關(guān)處理變量的原始數(shù)據(jù),例如溫度、壓力和流速。分開(kāi)的處理器(即,傳感器大腦)將原始數(shù)據(jù)處理成可以在處理控制系統(tǒng)中被使用的形式。共同轉(zhuǎn)讓的美國(guó)專利申請(qǐng)No.14/171,344描述了用于簡(jiǎn)單傳感器的傳感器大腦,其全部?jī)?nèi)容通過(guò)引用并入于此。
在這個(gè)實(shí)施例中,I/O應(yīng)用134-D在計(jì)算節(jié)點(diǎn)130-D上作為簡(jiǎn)單傳感器付給算法執(zhí)行,并且I/O應(yīng)用134-F在計(jì)算節(jié)點(diǎn)130-F上作為簡(jiǎn)單傳感器釋放算法執(zhí)行。在一個(gè)實(shí)施例中,I/O應(yīng)用134和計(jì)算節(jié)點(diǎn)130允許處理控制計(jì)算系統(tǒng)100經(jīng)由多種通信協(xié)議與處理控制裝置(例如,泵138、傳感器140、閥142)相連接.有利地,這種互操作性改進(jìn)了處理控制計(jì)算系統(tǒng)100的運(yùn)行。
圖7示出了處理控制計(jì)算系統(tǒng)100的另一個(gè)示例性實(shí)施例,其中執(zhí)行服務(wù)管理器112和計(jì)算引擎148駐留在相同節(jié)點(diǎn)內(nèi)。此實(shí)施例包括兩個(gè)節(jié)點(diǎn),110-A/130-A和110-B/130-B,每個(gè)節(jié)點(diǎn)都可配置為同時(shí)作為執(zhí)行節(jié)點(diǎn)110和計(jì)算節(jié)點(diǎn)130而運(yùn)行。每個(gè)節(jié)點(diǎn)包括執(zhí)行服務(wù)管理器112,并且通信地連接到通信信道120。節(jié)點(diǎn)110-A/130-A包括計(jì)算引擎148-A和148-B,并且節(jié)點(diǎn)110-B/130-B包括計(jì)算引擎148-C。執(zhí)行服務(wù)管理器112包括應(yīng)用管理器144、計(jì)算引擎管理器146和數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)作為控制數(shù)據(jù)庫(kù)114和I/O數(shù)據(jù)庫(kù)116而運(yùn)行。所述數(shù)據(jù)庫(kù)進(jìn)一步包括控制應(yīng)用數(shù)據(jù)集402和I/O應(yīng)用數(shù)據(jù)集502??刂茟?yīng)用數(shù)據(jù)集402由控制配置數(shù)據(jù)404和控制動(dòng)態(tài)數(shù)據(jù)組成,并且I/O應(yīng)用數(shù)據(jù)集502由I/O配置數(shù)據(jù)504和I/O動(dòng)態(tài)數(shù)據(jù)506組成。每個(gè)計(jì)算引擎148-A,148-B和148-C分別包括控制應(yīng)用132-A,132-B和132-C以及I/O應(yīng)用134-A,134-B和134-C。在一個(gè)實(shí)施例中,每個(gè)計(jì)算引擎148是虛擬機(jī)(VM)。
圖7的實(shí)施例舉例說(shuō)明了一種小系統(tǒng)100,其使用兩個(gè)節(jié)點(diǎn)110-A/130-A和110-B/130-B提供了高可用性。在這個(gè)示例性實(shí)施例中,執(zhí)行服務(wù)管理器112被復(fù)制,但是在同一時(shí)間僅在一個(gè)節(jié)點(diǎn)上活躍。例如,執(zhí)行服務(wù)管理器112可以首先在節(jié)點(diǎn)110-A/130-A上活躍,并且管理計(jì)算引擎148-A,148-B和148-C。然后在與節(jié)點(diǎn)110-A/130-A相關(guān)聯(lián)的故障的情況下,由于節(jié)點(diǎn)110-B/130-B上的可用空閑資源,執(zhí)行服務(wù)管理器112變?yōu)樵诠?jié)點(diǎn)110-B/130-B上活躍。本領(lǐng)域技術(shù)人員可以理解的是,節(jié)點(diǎn)110-B/130-B不需要最初被指定為節(jié)點(diǎn)110-A/130-A的備用節(jié)點(diǎn)。例如,節(jié)點(diǎn)110-B/130-B上的空閑資源可以用于附加計(jì)算引擎148。然而,當(dāng)系統(tǒng)100的示例性實(shí)施例檢測(cè)到故障時(shí),節(jié)點(diǎn)110-B/130-B上的空閑資源用于執(zhí)行服務(wù)管理器112。
圖8示出了處理控制計(jì)算系統(tǒng)100的另一個(gè)示例性實(shí)施例,其中執(zhí)行服務(wù)管理器112和計(jì)算引擎148在分開(kāi)的節(jié)點(diǎn)上執(zhí)行。在示例性實(shí)施例中,執(zhí)行服務(wù)管理器112在執(zhí)行節(jié)點(diǎn)110上執(zhí)行,并且計(jì)算引擎148在計(jì)算節(jié)點(diǎn)130上執(zhí)行。例如,在這個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112被分成多個(gè)節(jié)點(diǎn)(即,分布式執(zhí)行服務(wù))來(lái)管理對(duì)服務(wù)的高要求。執(zhí)行節(jié)點(diǎn)110-A包括執(zhí)行服務(wù)管理器112的一部分112-A,112-A相應(yīng)地包括應(yīng)用管理器144和計(jì)算引擎管理器146。執(zhí)行節(jié)點(diǎn)110-B包括執(zhí)行服務(wù)管理器112的另一個(gè)部分112-B,112-B相應(yīng)地包括控制數(shù)據(jù)庫(kù)114、I/O數(shù)據(jù)庫(kù)116、控制應(yīng)用數(shù)據(jù)集402、控制配置數(shù)據(jù)404、控制動(dòng)態(tài)數(shù)據(jù)406、I/O應(yīng)用數(shù)據(jù)集502、I/O配置數(shù)據(jù)504以及I/O動(dòng)態(tài)數(shù)據(jù)506。執(zhí)行節(jié)點(diǎn)110和計(jì)算節(jié)點(diǎn)130通信地連接到通信信道120。在一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112的部分112-A和112-B一起作為用于系統(tǒng)100的所有數(shù)據(jù)的中央數(shù)據(jù)存儲(chǔ)庫(kù)而運(yùn)行。
由圖8所示的系統(tǒng)100的實(shí)施例還包括在多個(gè)計(jì)算節(jié)點(diǎn)130上執(zhí)行的多個(gè)計(jì)算引擎148。每個(gè)計(jì)算引擎148包括控制應(yīng)用132和I/O應(yīng)用134。每個(gè)計(jì)算節(jié)點(diǎn)130還包括計(jì)算服務(wù)管理器150。在一個(gè)實(shí)施例中,計(jì)算服務(wù)管理器150與執(zhí)行服務(wù)管理器112和/或其部分(例如,部分112-A和112-B)相互作用以管理計(jì)算引擎148。在這個(gè)示例性實(shí)施例中,每個(gè)執(zhí)行服務(wù)管理器的部分112-A和112-B為了高可用性而被復(fù)制,但是在同一時(shí)間僅在一個(gè)節(jié)點(diǎn)上活躍。例如,部分112-A可以首先在節(jié)點(diǎn)110-A上活躍,并且部分112-B可以在節(jié)點(diǎn)110-B上活躍。然后在與節(jié)點(diǎn)110-A相關(guān)聯(lián)的故障的情況下,由于節(jié)點(diǎn)110-C上的可用空閑資源,部分112-A變?yōu)樵诠?jié)點(diǎn)110-C上活躍。在與節(jié)點(diǎn)110-B相關(guān)聯(lián)的故障的情況下,部分112-B變?yōu)樵诠?jié)點(diǎn)110-D上活躍。在一個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112和/或其部分提供中央數(shù)據(jù)存儲(chǔ)區(qū)作為數(shù)據(jù)分發(fā)機(jī)構(gòu),其不會(huì)遭受固有瓶頸的負(fù)面后果。例如,中央數(shù)據(jù)存儲(chǔ)區(qū)提供對(duì)于每個(gè)節(jié)點(diǎn)便利可用的數(shù)據(jù),而不會(huì)對(duì)應(yīng)用(例如,控制應(yīng)用132)或其他處理控制硬件(例如,現(xiàn)場(chǎng)總線模塊)帶來(lái)負(fù)面影響。
繼續(xù)參照?qǐng)D8的示例性實(shí)施例,如果計(jì)算引擎148發(fā)生故障,那么由這個(gè)引擎提供的所有功能通過(guò)多個(gè)恢復(fù)方案中的一種被傳輸?shù)教娲?jì)算引擎。在一個(gè)實(shí)施例中,功能遷移通過(guò)移動(dòng)(例如,通過(guò)經(jīng)由通信信號(hào)120來(lái)發(fā)送和接收數(shù)據(jù))應(yīng)用(例如,控制應(yīng)用132和/或I/O應(yīng)用134)到不同的計(jì)算引擎148來(lái)實(shí)現(xiàn)。例如,執(zhí)行服務(wù)管理器112監(jiān)視第一節(jié)點(diǎn)上虛擬機(jī)形式的計(jì)算引擎148的健康狀況。在第一節(jié)點(diǎn)故障的情況下,執(zhí)行服務(wù)管理器112啟動(dòng)(例如,起轉(zhuǎn)(spin up))另一個(gè)節(jié)點(diǎn)上的新虛擬機(jī)(例如,計(jì)算引擎148)。在另一個(gè)實(shí)施例中,功能遷移通過(guò)重新分配包括內(nèi)部狀態(tài)信息的應(yīng)用的運(yùn)行時(shí)數(shù)據(jù)到在不同計(jì)算引擎148中運(yùn)行的等效應(yīng)用來(lái)實(shí)現(xiàn)。在又一個(gè)實(shí)施例中,利用上述兩種方法的組合。在另一個(gè)實(shí)施例中,某個(gè)計(jì)算引擎148的所有應(yīng)用被遷移到另一個(gè)節(jié)點(diǎn)(例如,計(jì)算節(jié)點(diǎn)130和/或執(zhí)行節(jié)點(diǎn)110)。以這種方式,圖8示出了系統(tǒng)100的可擴(kuò)展的實(shí)施例,因?yàn)榉植际娇刂朴蓱?yīng)用組成,所述應(yīng)用可配置為在任何可用硬件(例如,計(jì)算節(jié)點(diǎn)130和/或執(zhí)行節(jié)點(diǎn)110)上執(zhí)行。此外,圖8還示出了系統(tǒng)100的提供快速故障切換的實(shí)施例,其具有基于計(jì)算引擎148正在運(yùn)行的應(yīng)用類型的故障切換模式。
圖9示出了處理控制計(jì)算系統(tǒng)100的示例性實(shí)施例,所述處理控制計(jì)算系統(tǒng)100包括執(zhí)行節(jié)點(diǎn)110、計(jì)算節(jié)點(diǎn)130、I/O節(jié)點(diǎn)152以及中央存儲(chǔ)節(jié)點(diǎn)156。執(zhí)行節(jié)點(diǎn)110包括執(zhí)行服務(wù)管理器112的一部分112-A。這個(gè)部分112-A進(jìn)一步包括應(yīng)用管理器144和計(jì)算引擎管理器146。計(jì)算節(jié)點(diǎn)130包括計(jì)算引擎148和計(jì)算服務(wù)管理器150。計(jì)算引擎148進(jìn)一步包括控制應(yīng)用132和I/O應(yīng)用134。控制應(yīng)用132包括控制配置數(shù)據(jù)404和控制動(dòng)態(tài)數(shù)據(jù)406。I/O應(yīng)用134包括I/O配置數(shù)據(jù)504和I/O動(dòng)態(tài)數(shù)據(jù)506。I/O節(jié)點(diǎn)152包括I/O源數(shù)據(jù)集154,所述I/O源數(shù)據(jù)集154相應(yīng)地包括I/O配置數(shù)據(jù)504和I/O動(dòng)態(tài)數(shù)據(jù)506。中央存儲(chǔ)節(jié)點(diǎn)156包括執(zhí)行服務(wù)管理器112的另一個(gè)部分112-B。以這種方式,執(zhí)行服務(wù)管理器112被分布在執(zhí)行節(jié)點(diǎn)110和中央存儲(chǔ)節(jié)點(diǎn)156之間。部分112-B進(jìn)一步包括控制數(shù)據(jù)庫(kù)114和I/O數(shù)據(jù)庫(kù)116,其進(jìn)一步包括控制應(yīng)用數(shù)據(jù)集402、控制配置數(shù)據(jù)404、控制動(dòng)態(tài)數(shù)據(jù)406、I/O應(yīng)用數(shù)據(jù)集502、I/O配置數(shù)據(jù)504和I/O動(dòng)態(tài)數(shù)據(jù)506。
在圖9的這個(gè)示例性實(shí)施例中,系統(tǒng)100的所有節(jié)點(diǎn)使用公共以太網(wǎng)網(wǎng)絡(luò)(例如,通信信道120)以通過(guò)中央存儲(chǔ)節(jié)點(diǎn)156來(lái)交換數(shù)據(jù)。在一個(gè)實(shí)施例中,每個(gè)節(jié)點(diǎn)駐留在分開(kāi)的物理計(jì)算裝置上。在另一個(gè)實(shí)施例中,節(jié)點(diǎn)的任意組合駐留在相同的物理計(jì)算裝置上。例如,執(zhí)行服務(wù)管理器112的部分112-A可以駐留在計(jì)算節(jié)點(diǎn)130上。作為另一個(gè)示例,執(zhí)行服務(wù)管理器112的部分112-B可以駐留在執(zhí)行節(jié)點(diǎn)110上。在一個(gè)實(shí)施例中,計(jì)算引擎148執(zhí)行除了控制應(yīng)用132和I/O應(yīng)用134之外的一些應(yīng)用。例如,附加的應(yīng)用可以包括邏輯、對(duì)象、配置數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。在一個(gè)實(shí)施例中,應(yīng)用是執(zhí)行功能的任何一段計(jì)算機(jī)可執(zhí)行代碼(例如,ksh、可執(zhí)行體、PYTHONTM等)。在另一個(gè)實(shí)施例中,應(yīng)用可部署為獨(dú)立于其他可執(zhí)行體的分開(kāi)的可執(zhí)行體。在又一個(gè)實(shí)施例中,系統(tǒng)100除了基礎(chǔ)設(shè)施功能以外的所有功能,作為應(yīng)用(例如,控制、I/O掃描、歷史化、網(wǎng)關(guān)類型功能等)被提供。在另一個(gè)示例性實(shí)施例中,一個(gè)或多個(gè)計(jì)算引擎148可以運(yùn)行在每個(gè)計(jì)算節(jié)點(diǎn)130上。
在圖9的示例性實(shí)施例中,I/O節(jié)點(diǎn)152具有外部接口,以收集(即,接收)輸入數(shù)據(jù)或發(fā)送輸出數(shù)據(jù)。例如,I/O節(jié)點(diǎn)152經(jīng)由通信信道120實(shí)現(xiàn)與各種處理組件(例如,泵138、傳感器140、閥142等)的數(shù)據(jù)接收和發(fā)送。在一個(gè)實(shí)施例中,此數(shù)據(jù)被存儲(chǔ)在中央存儲(chǔ)節(jié)點(diǎn)156中,以允許所有節(jié)點(diǎn)訪問(wèn)此數(shù)據(jù)。在圖9的實(shí)施例中,I/O節(jié)點(diǎn)152可配置為從處理組件接收基于以太網(wǎng)的數(shù)據(jù),并且發(fā)送該數(shù)據(jù)到中央存儲(chǔ)節(jié)點(diǎn)156。使用I/O的應(yīng)用(例如,在計(jì)算節(jié)點(diǎn)130上執(zhí)行的I/O應(yīng)用134)可配置為從中央存儲(chǔ)節(jié)點(diǎn)156檢索數(shù)據(jù)。在一個(gè)實(shí)施例中,任何專用的I/O接口在系統(tǒng)100外部的盒子里,并且I/O源數(shù)據(jù)集154可配置為當(dāng)I/O節(jié)點(diǎn)152發(fā)生故障時(shí)遷移到另一個(gè)節(jié)點(diǎn)。
進(jìn)一步關(guān)于圖9的實(shí)施例,中央存儲(chǔ)節(jié)點(diǎn)156包括與系統(tǒng)100相關(guān)聯(lián)的運(yùn)行時(shí)數(shù)據(jù)。在一個(gè)實(shí)施例中,直接經(jīng)由中央存儲(chǔ)節(jié)點(diǎn)156訪問(wèn)這個(gè)運(yùn)行時(shí)數(shù)據(jù)、計(jì)算值和I/O數(shù)據(jù)可用于所有應(yīng)用(例如,控制應(yīng)用132和/或I/O應(yīng)用134)。以這種示例性方式,中央存儲(chǔ)節(jié)點(diǎn)156作為中央數(shù)據(jù)存儲(chǔ)區(qū)或中央數(shù)據(jù)存儲(chǔ)庫(kù)而運(yùn)行。本領(lǐng)域技術(shù)人員可以理解的是,應(yīng)用不一定需要與中央數(shù)據(jù)存儲(chǔ)區(qū)連續(xù)不斷地交換所有運(yùn)行時(shí)數(shù)據(jù),但是不排除這么做。在另一個(gè)實(shí)施例中,系統(tǒng)100的數(shù)據(jù)通過(guò)中央存儲(chǔ)節(jié)點(diǎn)156進(jìn)行交換,而不是通過(guò)其他節(jié)點(diǎn)之間的對(duì)等節(jié)點(diǎn)進(jìn)行交換。圖9的虛線示出了系統(tǒng)100中的數(shù)據(jù)移動(dòng),所述系統(tǒng)100具有提供中央數(shù)據(jù)存儲(chǔ)區(qū)的中央存儲(chǔ)節(jié)點(diǎn)156。
再次參照?qǐng)D9的示例性實(shí)施例,執(zhí)行服務(wù)管理器112和/或其部分(例如,部分112-A和112-B)提供計(jì)算引擎148、控制應(yīng)用132、I/O應(yīng)用134和中央存儲(chǔ)節(jié)點(diǎn)156的管理。在這個(gè)實(shí)施例中,執(zhí)行服務(wù)管理器112的功能性服務(wù)包括,但不限于,管理計(jì)算引擎圖像(例如,計(jì)算引擎148),啟動(dòng)計(jì)算圖像實(shí)例、監(jiān)視計(jì)算引擎的健康狀況、管理計(jì)算引擎故障、維護(hù)中央數(shù)據(jù)存儲(chǔ)庫(kù)(例如,中央存儲(chǔ)節(jié)點(diǎn)156)、以及額外維護(hù)整個(gè)本地云和網(wǎng)絡(luò)。在一個(gè)實(shí)施例中,為了高可用性和可擴(kuò)展性,執(zhí)行服務(wù)管理器112在多個(gè)節(jié)點(diǎn)之間分布。此外,執(zhí)行服務(wù)管理器112可以駐留在物理計(jì)算機(jī)中,所述物理計(jì)算機(jī)執(zhí)行計(jì)算引擎148。以這種方式,就不需要專用服務(wù)器來(lái)支持執(zhí)行服務(wù)管理器112,以及沒(méi)有高可用性的小系統(tǒng)100可以在一個(gè)物理計(jì)算裝置上。
根據(jù)本發(fā)明的方面,處理控制計(jì)算系統(tǒng)100通過(guò)共享數(shù)據(jù)的可用性來(lái)提供無(wú)狀態(tài)的程序執(zhí)行、數(shù)據(jù)遷移和分布,以及代碼遷移和分布能力。例如,各自執(zhí)行控制應(yīng)用132和/或I/O應(yīng)用134的分布式計(jì)算節(jié)點(diǎn)130,通過(guò)共享數(shù)據(jù)(例如,控制應(yīng)用數(shù)據(jù)集402、I/O應(yīng)用數(shù)據(jù)集502)來(lái)管理工業(yè)處理的對(duì)象狀態(tài)。在一個(gè)方面,處理控制計(jì)算系統(tǒng)100被提供在控制系統(tǒng)環(huán)境中,如圖2和圖6所示,為了高可用性,共享數(shù)據(jù)需要將I/O應(yīng)用134分布到多個(gè)計(jì)算節(jié)點(diǎn)130,以及將控制數(shù)據(jù)和狀態(tài)(例如,控制應(yīng)用數(shù)據(jù)集402中的數(shù)據(jù))從一個(gè)計(jì)算節(jié)點(diǎn)130分布到另一個(gè)節(jié)點(diǎn)。
在一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100利用時(shí)間共享技術(shù)以避免計(jì)算資源所有權(quán)的最壞情況。例如,在第一時(shí)間段期間控制應(yīng)用132-A在計(jì)算節(jié)點(diǎn)130-A上執(zhí)行,以及在第二時(shí)間段期間不同的控制應(yīng)用132-B在計(jì)算節(jié)點(diǎn)130-A上執(zhí)行,所述第二時(shí)間段與第一時(shí)間段不重疊。這種時(shí)間共享傳輸各種計(jì)算節(jié)點(diǎn)130之間的需求,并且為處理控制計(jì)算系統(tǒng)100提供靈活性。
在另一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)130作為單回路控制器而運(yùn)行。在進(jìn)一步的實(shí)施例中,作為單回路控制器運(yùn)行的多個(gè)計(jì)算節(jié)點(diǎn)130被組合到集群內(nèi)。根據(jù)本發(fā)明的附加方面,處理控制計(jì)算系統(tǒng)100通過(guò)將數(shù)據(jù)即時(shí)地發(fā)布到控制數(shù)據(jù)庫(kù)114和/或I/O數(shù)據(jù)庫(kù)116(例如,控制應(yīng)用數(shù)據(jù)集402、I/O應(yīng)用數(shù)據(jù)集502)來(lái)提供跨所有計(jì)算節(jié)點(diǎn)130的緊密同步。在一個(gè)實(shí)施例中,當(dāng)應(yīng)用(例如,控制應(yīng)用132,I/O應(yīng)用134)在不同的計(jì)算節(jié)點(diǎn)130中執(zhí)行時(shí)以及當(dāng)數(shù)據(jù)被發(fā)布到控制數(shù)據(jù)庫(kù)114和/或I/O數(shù)據(jù)庫(kù)116時(shí),進(jìn)行緊密的現(xiàn)場(chǎng)網(wǎng)絡(luò)同步控制。在進(jìn)一步的實(shí)施例中,考慮到網(wǎng)絡(luò)延遲,并且在整個(gè)控制周期中調(diào)度間隙。此外,這種大周期可以是部分自動(dòng)的,例如在基礎(chǔ)(Foundation)現(xiàn)場(chǎng)總線模型中。
在又一個(gè)實(shí)施例中,處理控制計(jì)算系統(tǒng)100限定了可遷移控制元件(例如,控制應(yīng)用132),所述可遷移控制元件是整個(gè)回路。當(dāng)控制在計(jì)算節(jié)點(diǎn)130之間遷移時(shí)(例如,從節(jié)點(diǎn)130-A到節(jié)點(diǎn)130-B),主控制模塊被保持在一起作為一個(gè)組。例如,整個(gè)控制應(yīng)用132可配置作為完整單元進(jìn)行遷移。
在進(jìn)一步的實(shí)施例中,處理控制計(jì)算系統(tǒng)100提供連續(xù)的處理控制。執(zhí)行節(jié)點(diǎn)110經(jīng)由通信信道120檢測(cè)一個(gè)或多個(gè)計(jì)算機(jī)節(jié)點(diǎn)130的添加。根據(jù)這種檢測(cè),執(zhí)行節(jié)點(diǎn)110經(jīng)由通信信道120在添加的計(jì)算節(jié)點(diǎn)130和預(yù)先存在的計(jì)算節(jié)點(diǎn)130之間分配控制應(yīng)用132。在分配之后,控制應(yīng)用132產(chǎn)生電子數(shù)據(jù),由處理控制計(jì)算系統(tǒng)100利用這些電子數(shù)據(jù)來(lái)控制處理,所述處理改變或提煉原始材料以產(chǎn)生最終產(chǎn)品(例如,在化學(xué)制品、石油和天然氣、食品和飲料、藥物、水處理和電力行業(yè)中的處理)。
在進(jìn)一步的實(shí)施例中,控制應(yīng)用132是算法,其補(bǔ)償跨多個(gè)計(jì)算節(jié)點(diǎn)130的復(fù)雜回路的碎片。在又一個(gè)實(shí)施例中,控制應(yīng)用132和I/O應(yīng)用134的采樣和執(zhí)行時(shí)間被增加以允許控制周期在處理頻率內(nèi)完成,這消除了死區(qū)時(shí)間。在替代的實(shí)施例中,空閑計(jì)算節(jié)點(diǎn)130是控制器內(nèi)的虛擬化元件。這種虛擬化將允許虛擬服務(wù)器來(lái)提供用于多個(gè)計(jì)算節(jié)點(diǎn)130的空閑容量。
根據(jù)本發(fā)明的附加方面,處理控制計(jì)算系統(tǒng)100提供處理控制系統(tǒng)中的高可用性。在一個(gè)實(shí)施例中,執(zhí)行節(jié)點(diǎn)110包括執(zhí)行服務(wù)管理器112和控制數(shù)據(jù)庫(kù)114。計(jì)算節(jié)點(diǎn)130-A經(jīng)由通信信道120在控制數(shù)據(jù)庫(kù)114中存儲(chǔ)當(dāng)前狀態(tài)電子數(shù)據(jù)集和中間操作電子數(shù)據(jù)集,所述通信信道120連接到計(jì)算節(jié)點(diǎn)130-A和執(zhí)行節(jié)點(diǎn)110。執(zhí)行服務(wù)管理器112檢測(cè)計(jì)算節(jié)點(diǎn)130-A的故障,并且經(jīng)由通信信道120啟動(dòng)當(dāng)前狀態(tài)電子數(shù)據(jù)集和中間操作電子數(shù)據(jù)集從控制數(shù)據(jù)庫(kù)114到計(jì)算節(jié)點(diǎn)130-B的復(fù)制。計(jì)算節(jié)點(diǎn)130-B將當(dāng)前狀態(tài)電子數(shù)據(jù)集和中間操作電子數(shù)據(jù)集變換成處理控制電子數(shù)據(jù)集,并接著發(fā)送處理控制電子數(shù)據(jù)集到處理控制裝置,所述處理控制裝置相應(yīng)地操縱該處理。
此外,根據(jù)附加實(shí)施例,處理控制計(jì)算系統(tǒng)100可以減少分布式計(jì)算環(huán)境中的死區(qū)時(shí)間。例如,執(zhí)行節(jié)點(diǎn)110可以在第一時(shí)間段內(nèi)采樣和執(zhí)行處理控制周期。然后可以在第二時(shí)間內(nèi)操作處理,其中第一時(shí)間段與第二時(shí)間段并發(fā),并且其中第一時(shí)間段短于第二時(shí)間段。
本發(fā)明的實(shí)施例可以包括專用計(jì)算機(jī),其包括多種計(jì)算機(jī)硬件,如下文更詳細(xì)的描述。
在本發(fā)明范圍內(nèi)的實(shí)施例還包括計(jì)算機(jī)可讀介質(zhì),其用于攜帶或具有存儲(chǔ)在其上的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是任何可用的介質(zhì),其可以由專用計(jì)算機(jī)訪問(wèn)。通過(guò)示例且非限制的方式,這樣的計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)、或其他磁性存儲(chǔ)設(shè)備,或者可用于以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式攜帶或存儲(chǔ)所需程序代碼裝置的任何其他介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可以由通用或?qū)S糜?jì)算機(jī)訪問(wèn)。當(dāng)信息越過(guò)網(wǎng)絡(luò)或另一種通信連接(或者硬接線、無(wú)線、或者硬接線或無(wú)線的組合)傳輸或提供到計(jì)算機(jī)時(shí),計(jì)算機(jī)適當(dāng)?shù)貙⑦B接視為計(jì)算機(jī)可讀介質(zhì)。因此,任何這樣的連接被適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。上述組合也應(yīng)該被包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。計(jì)算機(jī)可執(zhí)行指令包括,例如,指令和數(shù)據(jù),其使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚硌b置執(zhí)行某個(gè)功能或某組功能。
下面的討論旨在提供合適的計(jì)算環(huán)境的簡(jiǎn)要概括描述,本發(fā)明的方面可以在所述計(jì)算環(huán)境中被實(shí)現(xiàn)。雖然不是必需的,本發(fā)明的方面將在計(jì)算機(jī)可執(zhí)行指令的一般背景中進(jìn)行描述,例如程序模塊,由網(wǎng)絡(luò)環(huán)境中的計(jì)算機(jī)來(lái)執(zhí)行。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,其執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。計(jì)算機(jī)可執(zhí)行指令、相關(guān)數(shù)據(jù)結(jié)構(gòu)、以及程序模塊代表用于執(zhí)行本文所述方法的步驟的程序代碼裝置的示例。這樣的可執(zhí)行指令或相關(guān)數(shù)據(jù)結(jié)構(gòu)的特定序列代表用于實(shí)現(xiàn)在這些步驟中描述的功能的相應(yīng)動(dòng)作的示例。
本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明的方面可以在具有很多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)現(xiàn),包括個(gè)人計(jì)算機(jī)、手持裝置、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等。本發(fā)明的方面還可以在分布式計(jì)算環(huán)境中實(shí)現(xiàn),在分布式計(jì)算環(huán)境中任務(wù)由本地和遠(yuǎn)程處理裝置來(lái)執(zhí)行,所述本地和遠(yuǎn)程處理裝置通過(guò)通信網(wǎng)絡(luò)(或者通過(guò)硬接線鏈路、無(wú)線鏈路,或者通過(guò)硬接線或無(wú)線鏈路的組合)連接。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中。
用于實(shí)現(xiàn)本發(fā)明的方面的示例性系統(tǒng)包括以傳統(tǒng)計(jì)算機(jī)形式的包括處理單元的通用計(jì)算裝置、系統(tǒng)存儲(chǔ)器、以及系統(tǒng)總線,系統(tǒng)總線耦合各種系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器)到處理單元。系統(tǒng)總線可以是任何若干類型的總線結(jié)構(gòu),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用任何若干總線架構(gòu)的本地總線。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM)。基本輸入/輸出系統(tǒng)(BIOS)(包括基本例程,該基本例程有助于在計(jì)算機(jī)內(nèi)的元件之間傳輸信息,例如在啟動(dòng)的處理中)可以被存儲(chǔ)在ROM中。此外,計(jì)算機(jī)可以包括任何裝置(例如,計(jì)算機(jī)、筆記本電腦、平板電腦、PDA、手機(jī)、移動(dòng)電話、智能電視等),其能夠無(wú)線地發(fā)送IP地址到互聯(lián)網(wǎng)或從互聯(lián)網(wǎng)接收IP地址。
計(jì)算機(jī)還可以包括用于從磁性硬盤讀取或?qū)懭氪判杂脖P的磁性硬盤驅(qū)動(dòng)器、用于從可移動(dòng)磁盤讀取或?qū)懭肟梢苿?dòng)磁盤的磁盤驅(qū)動(dòng)器、以及用于從可移動(dòng)光盤讀取或?qū)懭肟梢苿?dòng)光盤(例如CD-ROM或其他光學(xué)介質(zhì))的光盤驅(qū)動(dòng)器。磁性硬盤驅(qū)動(dòng)器、磁盤驅(qū)動(dòng)器和光盤驅(qū)動(dòng)器分別通過(guò)硬盤驅(qū)動(dòng)器接口、磁盤驅(qū)動(dòng)器接口和光學(xué)驅(qū)動(dòng)器接口連接到系統(tǒng)總線。驅(qū)動(dòng)器及其相關(guān)計(jì)算機(jī)可讀介質(zhì)提供計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和用于計(jì)算機(jī)的其他數(shù)據(jù)的非易失性存儲(chǔ)。雖然本文所述的示例性環(huán)境采用磁性硬盤、可移動(dòng)磁盤和可移動(dòng)光盤,但用于存儲(chǔ)數(shù)據(jù)的其他類型的計(jì)算可讀介質(zhì)可以被使用,包括磁帶盒、閃存卡、數(shù)字視頻光盤、伯努利盒、RAM、ROM、固態(tài)硬盤(SSD)等。
計(jì)算機(jī)通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是由計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì),并且包括易失性和非易失性介質(zhì),可移動(dòng)和不可移動(dòng)介質(zhì)。以舉例的方式,且非限制的,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于信息存儲(chǔ)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì),所述信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)介質(zhì)是非臨時(shí)性的并且包括,但不限于,RAM、ROM、EEPROM、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能光盤(DVD)或其他光盤存儲(chǔ)裝置、SSD、磁帶盒、磁帶、磁盤存儲(chǔ)器或其他磁性存儲(chǔ)裝置,或可以用于存儲(chǔ)所需非臨時(shí)性信息的任何其他介質(zhì),其可以由計(jì)算機(jī)訪問(wèn)??商娲兀ㄐ沤橘|(zhì)通常體現(xiàn)為調(diào)制數(shù)據(jù)信號(hào)(例如載波或其他傳輸機(jī)制)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。
包括一個(gè)或多個(gè)程序模塊的程序代碼裝置可以被存儲(chǔ)在包括操作系統(tǒng)、一個(gè)或多個(gè)應(yīng)用程序、其他程序模塊和程序數(shù)據(jù)的硬盤、磁盤、光盤、ROM和/或RAM上。用戶可以通過(guò)鍵盤、定點(diǎn)裝置或其他輸入裝置(例如,麥克風(fēng)、操縱桿、游戲手柄、衛(wèi)星天線、掃描儀等)將指令和信息輸入到計(jì)算機(jī)中。這些和其他輸入裝置通常通過(guò)耦合到系統(tǒng)總線的串行端口接口連接到處理單元??商娲?,輸入裝置可以通過(guò)其他接口連接,例如并行端口、游戲端口、或通用串行總線(USB)。監(jiān)視器或另一種顯示裝置也經(jīng)由接口(例如,視頻適配器48)連接到系統(tǒng)總線。除了監(jiān)視器,個(gè)人計(jì)算機(jī)通常包括其他外圍輸出裝置(未示出),例如揚(yáng)聲器和打印機(jī)。
本發(fā)明的一個(gè)或多個(gè)方面可以作為應(yīng)用程序、程序模塊和/或程序數(shù)據(jù)被實(shí)施在存儲(chǔ)在系統(tǒng)存儲(chǔ)器或非易失性存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行指令(即,軟件)、例程或函數(shù)中。軟件可以可替代地被遠(yuǎn)程地存儲(chǔ),如存儲(chǔ)在具有遠(yuǎn)程應(yīng)用程序的遠(yuǎn)程計(jì)算機(jī)上。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,當(dāng)由計(jì)算機(jī)中的處理器或其他裝置執(zhí)行程序模塊時(shí),該程序模塊執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。計(jì)算機(jī)可執(zhí)行指令可以被存儲(chǔ)在一個(gè)或多個(gè)有形的、非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中(例如,硬盤、光盤、可移動(dòng)存儲(chǔ)介質(zhì)、固態(tài)存儲(chǔ)器、RAM等),并且由一個(gè)或多個(gè)處理器或其他裝置執(zhí)行。本領(lǐng)域技術(shù)人員可以理解的是,在不同實(shí)施例中,程序模塊的功能可以根據(jù)需要組合和分開(kāi)。此外,所述功能可以全部或部分地在例如集成電路、應(yīng)用專用集成電路、現(xiàn)場(chǎng)可編程門陣列(FPGA)等的固件或硬件等效物中來(lái)實(shí)施。
計(jì)算機(jī)可以使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接來(lái)在網(wǎng)絡(luò)環(huán)境中運(yùn)行。遠(yuǎn)程計(jì)算機(jī)可以各自是另一臺(tái)個(gè)人計(jì)算機(jī)、平板電腦、PDA、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等裝置、或其他常見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多或所有上述關(guān)于計(jì)算機(jī)的元件。邏輯連接包括局域網(wǎng)(LAN)和廣域網(wǎng)(WAN),這里通過(guò)非限制的示例方式提出。這樣的網(wǎng)絡(luò)環(huán)境在辦公室范圍或企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中是常見(jiàn)的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)接口或適配器連接到本地網(wǎng)絡(luò)。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)可以包括調(diào)制解調(diào)器、無(wú)線鏈路、或用于通過(guò)廣域網(wǎng)(例如,互聯(lián)網(wǎng))建立通信的其他部件。調(diào)制解調(diào)器,其可以是內(nèi)置或外置的,經(jīng)由串行端口接口連接到系統(tǒng)總線。在網(wǎng)絡(luò)環(huán)境中,關(guān)于計(jì)算機(jī)的所述程序模塊或其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中??梢岳斫獾氖牵镜木W(wǎng)絡(luò)連接是示例性的,并且可以使用通過(guò)廣域網(wǎng)建立通信的其他方式。
優(yōu)選地,計(jì)算機(jī)可執(zhí)行指令被存儲(chǔ)在存儲(chǔ)器(例如硬盤驅(qū)動(dòng)器)中,并且由計(jì)算機(jī)執(zhí)行。有利地,計(jì)算機(jī)處理器有能力實(shí)時(shí)地執(zhí)行所有操作(例如,執(zhí)行計(jì)算機(jī)可執(zhí)行指令)。
本文示出和描述的本發(fā)明的實(shí)施例中操作的執(zhí)行或?qū)嵤╉樞虿皇潜匦璧模橇碛幸?guī)定。即,操作可以以任何順序執(zhí)行,除非另有規(guī)定,并且本發(fā)明的實(shí)施例可以包括比本文所公開(kāi)的更多或更少的操作。例如,可以預(yù)期的是,在另一個(gè)操作之前、同時(shí)、或之后,執(zhí)行或?qū)嵤┨囟ú僮魇窃诒景l(fā)明的方面的范圍內(nèi)。
本發(fā)明的實(shí)施例可以利用計(jì)算機(jī)可執(zhí)行指令來(lái)實(shí)現(xiàn)。計(jì)算機(jī)可執(zhí)行指令可以被組織到一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行組件或模塊中。本發(fā)明的方面可以利用任何數(shù)量和組織的這些組件或模塊來(lái)實(shí)現(xiàn)。例如,本發(fā)明的方面不限于附圖中所示或本文所述的特定計(jì)算機(jī)可執(zhí)行指令或特定組件或模塊。本發(fā)明的其他實(shí)施例可以包括不同的計(jì)算機(jī)可執(zhí)行指令或具有比本文示出和描述更多或更少功能的組件。
當(dāng)引入本發(fā)明的方面或其實(shí)施例的元件時(shí),冠詞“一”、“一個(gè)”、“該”和“所述”意在表示存在一個(gè)或多個(gè)元件。術(shù)語(yǔ)“包括”、“包含”和“具有”意在是包容性的,并且表示除了所列元件之外還可以存在其他元件。
已經(jīng)詳細(xì)描述了本發(fā)明的方面,顯而易見(jiàn)的是,在不脫離所附權(quán)利要求所限定的本發(fā)明的方面的范圍的情況下,修改和變化是可能的。由于在不脫離本發(fā)明的方面的范圍的情況下,可以對(duì)上述結(jié)構(gòu)、產(chǎn)品和方法進(jìn)行各種改變,其目的是包含在以上說(shuō)明書(shū)和附圖中所示的所有內(nèi)容應(yīng)該被解釋為說(shuō)明性的而不是限制性的。