專利名稱:用于過程控制系統的分布式數據訪問方法和設備的制作方法
技術領域:
本發明一般涉及過程控制系統(process control system),特別涉及用于過程控制系統的分布式數據訪問方法和設備。
背景技術:
像那些用在化工、石油或其他生產過程中的過程控制系統,一般包含一個或多個中央過程控制器,該控制器通過模擬、數字或模擬/數字組合總線與至少一個主機或操作站以及一個或多個現場設備通信連接。現場設備可以是例如閥門、閥位定位器、開關和傳送器(例如溫度、壓力和流量傳感器),執行過程內的功能,例如打開或關閉閥門以及測量工業參數。過程控制器接收表示由現場設備所進行的過程測量的信號和/或關于現場設備的其他信息,使用該信息以執行控制例程(routine),然后產生通過總線或其他通信鏈路發送到現場設備的控制信號以控制過程的操作。來自現場設備和控制器的信息可用于由操作站運行的一個或多個應用程序,以使操作者能執行與過程相關的期望功能,例如觀察過程的當前狀態、修改過程的操作等等。
通常,過程控制系統在運營企業中運行,該運營企業可包含幾個過程控制工廠、組成部分和/或服務供應商以及顧客,所有這些可分布在較大的地理區域中,或在某些情況下,分布在全世界中。過程控制工廠、供應商和顧客可使用各種通信介質和技術或平臺來彼此通信,例如因特網、衛星鏈路、地基無線通信、電話線。當然,由于互聯網提供了已建成的通信設施,從而最小化或減少了企業的通信設施成本,所以因特網已經成為許多運營企業的首選通信平臺。此外,用于經由因特網傳送信息的技術是眾所周知的、穩定的、安全的。
企業中的每一個過程控制工廠可以包含一個或多個過程控制系統以及許多其他與業務相關的或信息技術系統,需要這些系統來支持或維護或補充過程控制系統的整個操作。一般地,相關于過程控制工廠的信息技術系統可以包含生產運行系統,例如維護管理系統,并且也可以包含企業資源計劃系統,例如調度、財務和采購系統。雖然這些信息技術系統可以是物理上位于工廠之內或工廠附近,在某些情況下,這些系統中的一些或可能是所有的系統可以位于相對于該工廠較遠的位置上,并且可使用因特網或采用無線和/或硬布線通信介質和技術的任意期望組合的其他任意合適的通信鏈路與工廠通信。
企業中的每一過程控制工廠也可以包含用戶交互式應用程序,該應用程序可以運行在服務器或工作站上,該服務器或工作站通信連接至在工廠中協同工作或執行過程控制系統行為的一個或多個服務器、工作站或其他計算機的。這樣的用戶交互式應用程序可以實現計劃管理功能、歷史數據管理功能、資產管理功能、批量管理功能等等。此外,每一過程控制系統可以包含過程管理應用程序,該程序可以例如管理通信并且提供關于報警和/或其他過程事件的信息,提供相關于過程狀態或由過程控制工廠執行的過程的信息或數據,提供涉及與過程控制工廠相關的設備的狀態和性能的信息或數據等等。特別是,過程管理應用程序可以包含震動監視應用程序、實時優化應用程序、專家系統應用程序、預測維護應用程序、控制環監視應用程序或其他任何相關于控制、監視和/或維護過程操作系統或工廠的應用程序。
此外,過程控制工廠或企業可以包含一個或多個通信應用程序,該程序可用于經由各種不同通信介質和平臺,將信息從過程控制系統或工廠傳送到用戶。例如,這些通信應用程序可以包含電子郵件應用程序、尋呼應用程序、語音通信應用程序、基于文件的應用程序等等,所有這些應用程序可以經由無線或硬布線介質向臺式機、筆記本計算機、個人數據助理、蜂窩電話或尋呼機、或任意其他類型的設備或硬件平臺發送信息。
一般來說,在企業中的信息技術系統、用戶交互式應用程序、過程管理應用程序和通信應用程序之間進行通信并且集成這些系統和應用程序是相當困難的,這是因為它們一般廣泛地分布在整個企業中,并且在某些情況下,它們在地理上是分散的。此外,許多前面提到的系統和應用程序可以通過例如筆記本計算機、蜂窩電話、尋呼機、個人數據助理等這樣的手持或便攜式硬件平臺來運行,它們中的許多設備被構造成能提供適合運行包含例如web瀏覽器等復雜的客戶端應用程序或軟件的操作環境。
此外,這些系統和應用程序一般需要開發使不同系統和應用程序能互相通信的定制通信接口或軟件驅動程序。結果,當企業中的任何系統、應用程序、設備或組成部分由于例如固件升級、設備更換等原因發生變化時,用于該系統、設備和組成部分的定制通信驅動器或接口也可能必須改變。很明顯,所需的大量定制驅動器導致了需要大量耗時的驅動器維護工作,這就導致了很高的企業維護成本。此外,向企業或過程控制工廠增加系統或應用程序常需要大量的編程工作,這是因為必須開發大量定制通信驅動器或接口,以使新系統或應用程序能與企業中的其他系統和應用程序通信。因此,使用這樣的定制通信接口的系統不是很靈活或可擴展的,并且不便于例如過程控制系統與其他系統和應用程序的集成,這種集成可以由過程控制系統的制造商和/或第三方制造商或開發者來提供。
更多的著重于增加企業內系統的靈活性和可擴展性的近期開發,伴隨著例如Windows XP、Microsoft.NETTM等改進的操作系統的發展和普及以及例如以太網、基于Internet協議(IP)的語音、流視頻等通信協議的發展。而且,已發展了例如由可擴展標記語言(XML)、簡單對象訪問協議(SOAP)、統一描述、發現和集成(universal description,discovery and integration,UDDI)等提供的改進的信息或數據傳輸以及中心數據存儲設備和技術,例如Biztalk等改進的編排系統(orchestration system)或服務器,例如java等對運行平臺不敏感的改進的編程語言,以及許多其他改進的通信和/或數據管理工具、標準、協議、編程語言等等。
當許多近來的開發使得組成運營企業的多個系統可被更容易地配置以相互通信時,相對于眾所周知的客戶端-服務器體系來說,這些系統互操作于其中的整個系統體系沒有發生顯著的變化。在許多眾所周知的客戶端-服務器體系中,客戶端向服務器發送收集的數據或信息,并從被顯示的和/或由系統操作者以別的方式利用的服務器接收處理結果。此外,服務器一般保持并且執行或運行業務或數據庫規則,以對從一個或多個客戶端接收的數據進行操作或處理。
然而,由于服務器一般保存和運行業務邏輯、數據庫規則和/或其他數據集中處理,所以在具有經由一個或多個通信網絡進行通信的多個分布式系統的企業、過程控制工廠或過程控制系統中,對已知客戶端-服務器體系的使用很不充分。結果,客戶端一般必須參與大量與服務器的往返通信(即向服務器發送信息或數據以及業務邏輯運行的請求,以及接收來自服務器的響應通信)。在基于已知客戶端-服務器體系的分布式系統中的大量往返通信,可以消耗大量有限的且因此而很昂貴的通信網絡或信道帶寬。例如,在無線通信鏈路(例如蜂窩和衛星鏈路)的情況下,信道帶寬相當昂貴,因此每分組、每比特等的成本相當高。而且,通信信道延遲(即往返傳輸時間)可導致長時間的延遲,這可能是許多面向過程的功能所不能接受的,特別是實時過程控制功能。
在任何情況下,由于這些面向過程的功能和服務器運行的業務邏輯需要頻繁請求數據和規則運行以及由此而來的頻繁的往返通信,所以由帶寬限制、成本、通信信道延遲等造成的通信效率低或困難,在客戶端參與面向過程的功能和/或服務器執行面向過程的業務邏輯的情況中都會加劇。同樣,參與例如企業優化行為這樣的企業級過程行為的客戶端和/或服務器,一般也會陷入頻繁的協調工作以及大量的信息或數據傳輸。因此,這樣的企業級行為類似地加劇了通信的無效率以及已知客戶端-服務器體系的困難(例如,有限的帶寬、高數據傳輸成本、通信信道延遲等等)。
為了減少對過程控制系統、工廠和/或企業內的通信信道的需求(以及與之相關的運行和維護成本),一些系統雖然維護了已知或傳統的客戶端-服務器體系,卻將大量數據、業務邏輯、數據庫規則運行和數據處理邏輯從服務器移動至客戶端。一般地,所有可能被客戶端使用的信息或數據以及規則,都被移至相關于這些客戶端的本地存儲器。在這種方式下,客戶端可以本地訪問所需的信息、數據、規則等等以執行它們的行為,從而減少或最小化執行上述行為所需的網絡通信量。
然而,將大量的數據、規則運行和其他處理職責向下推給客戶端系統,導致難于安裝和管理的“任務繁重”客戶端。而且,在根據已知客戶端-服務器體系配置的系統內,基于這樣的任務繁重客戶端的使用的系統導致了相對不靈活和不容易擴展的系統。特別是,許多利用現有客戶端-服務器體系的系統非常依賴于特定的(ad-hoc)客戶端邏輯和數據傳輸格式。換句話說,每一客戶端應用程序可能執行它自己版本的規則和數據庫結構。結果,簡單的數據庫更改以及由超過一個客戶端使用的規則的改變,需要對大量可能使用該數據庫和/或規則的客戶端應用程序進行獨立且耗時的重新配置。而且,由于客戶端可能基于與不同制造商、開發團隊等相關的不同類型的系統,其中必須執行給定規則的特定方式可能從一個客戶端到一個客戶端明顯變化,從而使得系統維護行為(例如修改或改進)變得非常復雜和昂貴。而且,向這樣一個現有系統增加一個客戶端或服務器,需要對該客戶端進行耗時的配置,以使該客戶端能以期望的方式運行一個或多個規則,并且使系統中的其他客戶端和/或服務器能與加入的客戶端或服務器互操作。然而,為現有的客戶端應用程序而開發的特定代碼常常不能適應于新的客戶端應用程序的使用。結果,向這樣的系統添加客戶端應用程序,一般會導致額外的新的特定軟件或代碼的開發。
發明內容
根據一個方面,訪問相關于過程控制系統的數據庫的系統和方法,將對客戶端應用程序的信息請求發送到中間數據服務器過程(process),并確定該信息是否被存儲在相關于該中間數據服務器過程的數據源中。如果該信息未被存儲在該數據源中,則公開的系統和方法也可以將對該中間數據服務器過程的信息請求發送到另一個過程,并且可在其他過程接收該信息請求之后,訪問該數據庫以檢索該信息。
根據另一方面,一種過程控制系統包含多個通信連接的中間數據服務器、多個可與一個或多個中間數據服務器通信的客戶端應用程序和包含信息的數據庫,所述信息至少包含相關于該過程控制系統的數據和規則。該中間數據服務器適應于互操作,以根據至少一些客戶端應用程序的信息要求檢索信息的子集,并且將其存儲在相應的本地數據源中。
圖1是其中可實現在此說明的設備和方法的示例企業的一部分的方框圖。
圖2是基于已知對象分層結構并且可用于實現所公開的設備和方法的示例數據庫模式的概略圖。
圖3是公開的設備和方法可使用的示例對象結構的概略圖。
圖4是描述包含多個進行互操作以訪問數據庫的中間數據服務器的示例系統的方框圖。
圖5是描述一種方式的示例的詳細圖,客戶端應用程序以該方式訪問存儲在相關于中間數據服務器的數據源中的信息或數據。
圖6是具有使用中間數據服務器以訪問數據庫的多個處理系統的示例系統的方框圖。
具體實施例方式
圖1是可使用在此描述的分布式數據設備和方法的示例企業10的方框圖。如圖1所示,企業10包含具有通過總線或局域網(LAN)22通信連接的控制器14、操作站16、工作站18和20的過程控制系統12,該系統提出被稱為應用控制網絡(application control network,ACN)。工作站18和20可被構造成執行一個或多個信息技術應用程序、用戶交互式應用程序和/或通信應用程序的應用程序站。例如,應用程序站18可被構造成主要執行與過程控制相關的應用程序,而應用程序站20被構造成主要執行通信應用程序,該通信應用程序使過程控制系統12能使用任何期望的通信介質(例如無線、硬布線等)和協議(例如HTTP、SOAP等)與其他設備或系統通信。當然,可使用一個或多個工作站或任意其他合適的計算機系統或處理系統,來實現操作站16以及工作站18和20。例如,可以使用單處理器個人計算機、單或多處理器工作站等,來實現操作站和/或工作站18和20。
可使用期望的通信介質或協議來實現LAN 22。例如,LAN 22可以基于硬布線或無線以太網通信方案,該方案是公知的,因此,在此不作詳細說明。然而,本技術領域人員很容易理解,可以使用任何其他合適的通信介質和協議。此外,雖然只示出單個LAN,但是可以使用操作站16以及工作站18和20的范圍內的多個LAN和合適的通信硬件,以便在這些系統之間提供冗余的通信鏈路。
控制器14可通過數字數據總線30和輸入/輸出(I/O)設備32連接至多個智能現場設備24、26和28。智能現場設備24-28可以是Fieldbus兼容閥門、傳動器、傳感器等,其中智能現場設備24-28經由采用已知的Fieldbus協議的數字數據總線30來進行通信。當然,也可以替代使用其他類型的智能現場設備和通信協議。例如,智能現場設備24-28可被替換成經由使用已知的Profibus和HART通信協議的數據總線30進行通信的Profibus和HART兼容設備。可將附加的I/O設備(與I/O設備32類似或相同)連接至控制器14,以使其他組智能現場設備能與控制器14通信,這些智能現場設備可以是Fieldbus設備、HART設備等等。
除了智能現場設備24-28之外,一個或多個非智能現場設備34和36可通信連接至控制器14。非智能現場設備34和36可以是例如傳統4-20毫安(mA)或0-10伏直流(VDC)設備,它們經由各自的硬布線鏈路38和40與控制器14進行通信。
控制器14可以是例如由Fisher-Rosemount System,Inc.銷售的DeltaVTM控制器。然而,可以替代使用任意其他控制器。此外,雖然在圖1中只示出一個控制器,但是,任意期望類型或類型組合的其他控制器可連接至LAN 22。在任意情形中,控制器14可以執行一個或多個相關于過程控制系統12的過程控制例程,該例程由系統工程師或使用操作站16的其他系統操作者創建,并且被下載至控制器14中,并且在該控制器14被中實例化(instantiated)。
如圖1所示,企業10也可以包含經由通信鏈路44、LAN 46以及工作站18和20通信鏈接至過程控制系統12的工作站42。工作站42可被構造成執行企業級功能,可與其他過程控制系統(未示出)相關聯且被構造成主要執行過程控制功能,并且可被構造成執行一個或多個通信功能等。而且,當通信鏈路44是例如無線通信鏈路、基于因特網或其他基于分組交換的通信網絡、電話線路(例如數字用戶線)或它們的任意組合時,工作站42可以在地理上處于遠程位置上。
提供示例企業10以說明一種類型的系統,其中可方便地采用下面所詳細描述的數據分布式設備和方法。然而,只要需要,在此說明的數據分布式設備和方法可被方便地應用于比圖1所示的示例企業10更復雜或更簡單的其他系統和/或與過程控制行為、企業管理行為、通信行為等關聯使用的系統中。
在此說明的數據分布式設備和方法使用分層結構的面向對象數據庫模式連同多個互連接或通信連接的中間數據服務器,以便最大化客戶端應用程序訪問存儲在公共數據庫中的數據和/或規則的效率。特別是,中間數據服務器可以使用與客戶端應用程序所期望的或預定的信息或數據要求相關的信息,來選擇性地從數據庫檢索信息或數據,并本地存儲這樣選擇性地檢索到的信息或數據,以使客戶端應用程序能更快且更有效率地訪問數據或信息。
除了中間數據服務器的本地存儲數據之外,它們還可以本地存儲和運行所需的業務或數據庫規則。在這種方式下,已裝載本地客戶端應用程序所需的信息和數據的中間數據服務器,可以實質上減少執行客戶端應用程序的行為所要求的往返(round trip)通信(和時間)量。換句話說,中間數據服務器本地存儲(例如,緩沖)足量的信息和相關規則。這樣的信息和規則一般是從企業數據庫所檢索的信息和規則的子集,從而使本地客戶端應用程序能快速地訪問所需的信息和規則,并且在將更改提交到數據庫之前執行多個連續操作。結果,客戶端應用程序可以最小化被引入客戶端應用程序的運行的數據延遲量(由于通信信道延遲造成的),該客戶端應用程序要求訪問來源于中心或公共數據庫(例如,工廠級或企業級數據庫)的信息、數據和/或規則。通過這樣的數據和相關規則的分布而獲得的處理速度效率是實質性的,特別是由分布在整個企業中的大量系統訪問中心數據倉庫或數據庫的情況下,以及在客戶端應用程序和數據庫之間的通信鏈路超負荷(即接近或超過它們提供連接至該鏈路的系統所要求的信息的固有容量)的情況中。
圖2是示例數據庫模式(database schema)的原理圖,該數據庫模式基于眾所周知的對象分層結構且用于執行在此描述的數據分布式設備和方法。一般地,圖2所示的示例數據庫模式被構造成與分層結構相關的對象的網絡。換句話說,圖2中的數據庫模式被構造成以基本方式表示信息,以便每一條信息被虛擬地表示為分層結構中的單獨的對象。圖2中所示的特定示例是一種典型模式,可用于表示如圖1中所描述的企業10和控制系統12這樣的過程控制系統或企業的控制系統特征。當然,圖2的數據庫模式僅僅是一個示例,可以使用多種其他的模式來替代。例如,模式實現可根據運行期間是否使用特定模式進行離線編輯或配置行為或其他目的而改變。
如圖2的示例分層結構所示,表示物理工廠的地點對象50(SITE)由多個區域對象52和54(AREA A和AREA B)組成,其中,該物理工廠是例如圖1中所示的企業10這樣的企業的一部分或全部。區域對象52和54與由地點對象50所表示的工廠內的特定物理區域相關聯。例如,區域對象52可以與工廠的特定物理位置中的生產過程的特定部分相關聯,而區域對象54可以與位于由地點對象50所表示的工廠的另一物理位置中的該生產過程(或另一生產過程)的另一部分相關聯。
區域對象52和54由各自的控制模塊56(MOD A)、58(MOD B)、60(MODB)和62(MOD C)組成。控制模塊包含可以被實例化并且被運行以執行與它們各自的與工廠區域相關的控制功能或行為的控制例程。特別是,每一控制模塊56-62可以與一個或多個物理設備或裝置相關聯,并且因而可用于監視和/或控制這些設備或裝置。雖然圖2的示例層次結構將區域52和54的每一個都描述成具有兩個控制模塊,但是,區域52和54的每一個都可以與一個或多于兩個控制模塊相關聯。
每個模塊56-62均由深一層對象和子對象組成。然而,為了討論的目的,下面僅結合模塊58(MOD B)來說明這樣的對象和子對象。如圖2所示,模塊58可以與一個或多個屬性64和66(ATTR 2和ATTR 1)以及一個或多個功能塊68和70(BLOCK 1和BLOCK 2)相關聯。屬性64和66可以是諸如輸入變量、輸出變量等與企業或工廠內的物理和/或控制狀態相關的參數。功能塊68和70均可包含一個或多個數學功能(例如求和運算、乘法運算、除法運算等)、邏輯功能或表達式(例如邏輯或、與等)或者其他期望的功能。功能塊68和70的每一個也可以與一個或多個屬性72和74相關聯。
除了屬性和功能塊之外,模塊58也可以與算法78(ALGORITHM)相關聯,該算法可以由一個或多個執行數學和/或邏輯運算的序列的軟件例程組成。此外,圖2中的示例分層結構可以包含一個或多個線對象80(WIRE),該對象與由圖2的示例表示的整個控制分層結構的圖形顯示關聯使用的線路的圖形表示相對應。
諸如圖2的示例中所示的對象分層結構和數據庫模式,使用戶或系統操作者能通過圖形用戶界面等揭示與由對象層次結構所表示的工廠及其控制系統的結構有關的任意期望級別的細節或信息。換句話說,用戶或系統操作者可以從一個對象至一個或多個相關的子對象來遍歷該層次結構(即在整個分層結構中移動),以揭示任意級別的所需細節。例如,在已揭示與區域對象52(AREA A)相關聯的信息或數據之后,用戶可以遍歷分層結構以揭示與模塊58(MOD B)相關聯的信息或數據,然后,依次是與模塊58相關聯的對象64-80中的任意一個。
圖3是在此說明的設備和方法可使用的示例對象結構100的更詳細的示意圖。圖3所示的示例對象結構100可以被推廣并且用作構成圖2所示的每一對象和子對象的基本結構或模板。如圖3所示,對象結構100包含主對象部分102和相關對象部分104。主對象部分102包含相關對象106、屬性108和角色110。在其他信息或數據中,相關對象106可包含由主對象部分102表示的對象的名稱以及唯一標識符。屬性108可包含相關對象106的類型特性,例如當主對象部分102是模塊時的描述和掃描速率等。
角色110表征相關對象106與相關對象部分104中的一個或多個相關對象112和114之間的相關性的特征。角色110表征相關對象106與在正和反方向上的相關對象112和114之間的相關性(即跨接(straddle)或接口)的特征。這樣的特征可以例如包含與相關對象106與相關對象112和114之間的操作的可允許多重性(permissible multiplicity)和可允許傳播性(permissiblepropagation)相關的信息。例如,模塊類型對象可以具有特定塊對象的多個實例。然而,這些應用中的任意一個只能與單個模塊相關聯。而且,如果刪除塊對象的應用(例如通過用戶接口),在該塊對象中的所有屬性和塊(即依賴于它的屬性和塊)也被刪除。然而,如果這種節點當前已分配模塊時,就希望防止刪除節點(例如區域或地點)。
在特定示例中,主對象部分102可以例如相應于模塊58(即MOD B),于是,屬性108可以相應于描述和掃描速率。角色110可以將模塊58(即相關對象106)與屬性64和66(即相關對象112和114)相關聯,并且可以進一步規定該屬性將在正方向上(即從相關對象112和114)傳播給相關對象106,以及刪除將從相關對象106傳播到相關對象112和114(即從模塊58至屬性64和66)。
圖2和3所示以及上述的示例對象分層結構和對象結構,使用戶或系統操作者能創建包含過程控制系統、工廠或企業的配置信息(例如控制配置信息、物理配置信息等)的數據庫。這樣的分層數據庫可以容易地被遍歷或操作,以揭示與由數據庫所表示的系統的特征相關的任意期望類型和數量的細節。
以前或已知系統一般在中心倉庫或服務器中維護如圖2和3所示的對象結構,該中心倉庫服務器維護可被一個或多個客戶端應用程序或其他實體經由通信網絡訪問的數據庫。而且,數據庫中關于信息的規則一般已被存儲在數據庫中,并且已由服務器為客戶端應用程序而運行。因此,關于它們的數據需要、規則處理需要等,已知系統中的客戶端應用程序依賴于中心服務器。結果,由于企業或其他系統的復雜程度增加,經由連接客戶端和服務器的通信網絡傳送的通信量也大大增加,從而顯著地降低了客戶端應用程序的運行速度和處理效率。
下面說明的示例分布式數據訪問方法和設備利用一個或多個中間數據服務器,來分布用于由客戶端應用程序進行本地訪問和運行的信息和規則信息。換句話說,基于對象的分層結構數據庫,例如以與圖2的示例相同或類似方式構成的數據庫,可以位于中心數據倉庫(例如服務器)中,并且中間數據服務器可以要求裝載客戶端應用程序所需的部分數據庫和相關規則,這些對于中間數據服務器來說是本地的。雖然可以要求裝載客戶端應用程序所需的數據和規則,但是在運行時間之前也可在本地存儲器中裝載一些或全部數據和/或規則。例如,可使用每一客戶端位置的.net組件(例如DLL)的公共集合來本地裝載相同集合或規則。在這種情況下,當運行期間所要求的數據到達特定客戶端過程(client process)時,使用本地存儲的規則集合自動將數據轉換成合適的分層數據結構。
在任何情況下,在此說明的示例數據訪問方法和設備可以將數據庫信息和相關規則分布到中間數據服務器,該服務器對于客戶端應用程序來說是本地的或最接近的,而不是要求所有客戶端應用程序為了它們的信息需要和規則處理需要,而與服務器中的單個中心數據庫連接。因而,可采用在此說明的數據分布式設備和方法,來減少或最小化使客戶端應用程序能訪問所需數據以及實現它們的功能所需的網絡通信(例如往返通信)量,結果加快了客戶端應用程序的運行時間,并且改善了應用程序的當前狀態。
圖4是描述具有多個通信連接的數據服務器過程(data server process)122和124的示例系統120的方框圖,該數據服務器過程互操作以訪問數據庫126。數據服務器過程122是可以在工作站或處理器系統(例如,圖1的工作站18、20和42中的一個)中執行的中間數據服務器過程,并且該過程可以接近和通信連接到一個或多個客戶端應用程序128和130。客戶端應用程序128和130可以在相同工作站或處理器系統中被實例化為中間數據服務器過程122,并且/或者在通信連接到客戶端應用程序128和130的另一工作站或處理器系統中被實例化。
中間數據服務器過程122包含中間數據服務器132和可以在本地數據源136與數據庫連接138之間協調信息或數據交換的會話(session)134。一般地,當中間數據服務器132從一個或多個客戶端應用程序128和130接收到數據請求時,中間數據服務器132通過會話134來遍歷數據源136,以確定所請求的信息或數據是否是本地可用的(即在中間數據服務器過程122的數據源136中可用)。后面將結合圖5對會話134遍歷數據源136的方式進行更詳細的說明。
雖然在圖4中未示出,客戶端應用程序128和130均包含與結合中間數據服務器過程122示出的會話134、數據源136和數據庫連接138類似或相同的會話、數據源和數據庫連接。在該方式中,客戶端應用程序128和130可以直接與數據服務器過程124通信(即客戶端應用程序128和130不必通過中間數據服務器過程122與數據服務器過程124通信)。
如果客戶端應用程序128或130所請求的信息不能從數據源136本地可用,會話134使得數據庫連接138經由通信鏈路140向中間數據服務器124發送信息請求。另外或可替代地,在客戶端應用程序130已請求處于數據庫126中的數據的情況下,客戶端應用程序130可以經由通信鏈路141向數據服務器過程124請求這樣的數據或信息。當然,客戶端應用程序128也可以經由它自己的鏈路(未示出)直接向數據服務器過程124請求信息。在任何情況下,可以采用無線或硬布介質的任意期望的組合,并且可以采用通信協議或技術的任意期望的組合,來實現通信鏈路140和141。例如,通信鏈路140和141可以包含電話線和/或分組交換通信網絡(例如因特網)。經由通信鏈路140傳送的數據或信息最好是,但不是必須的,使用可擴展置標語言(XML)來格式化的,并采用基于例如已知的傳輸控制協議(TCP)或超文本傳輸控制協議(HTTP)的傳輸機制來傳送。而且,例如簡單對象訪問協議(SOAP)這樣的消息編碼協議可以與采用HTTP發送的信息一起使用。
數據服務器過程124包含中間數據服務器142、會話過程144、數據源146和用于訪問數據庫126的數據庫訪問器148。中間數據服務器142經由通信鏈路140從中間數據服務器122,和/或經由通信鏈路141從一個或多個客戶端應用程序128和130,接收信息或數據請求。如上所述,當會話過程遍歷數據源并確定所請求的信息或數據非本地可用(例如,在本地中間數據服務器過程中緩沖)時,由會話過程協調并經由數據庫連接傳送這樣的信息或數據請求。中間數據服務器142使用它的會話過程144來遍歷其本地數據源146,以確定所請求的信息(即,由一個或多個客戶端應用程序128和130最初請求的信息)是否是本地可用的(例如,在本地中間數據服務器過程中緩沖)。如果會話過程144確定所請求的信息或數據不在數據源146中可用,則會話過程144通過數據庫訪問器148從數據庫126檢索所請求的信息或數據。數據庫訪問器148可以是任意期望的數據庫或服務器過程,以使信息或數據能被存儲在例如圖2所示的示例數據庫結構這樣的分層結構的面向對象數據庫中。
當從數據庫126檢索到所請求的信息或數據時,則由中間數據服務器過程124經由通信鏈路140向中間數據服務器過程122傳送信息或數據,并且/或者經由例如鏈路141直接向一個或多個客戶端應用程序128和130傳送信息或數據。當中間數據服務器過程122經由數據庫連接138接收到所檢索的信息或數據時,它將所檢索的信息或數據傳送至最初經由會話過程134以及中間數據服務器132來請求信息或數據的客戶端應用程序128和130。
因此,中間數據服務器過程122使用它的本地數據源136(例如本地緩沖)來存儲客戶端應用程序128和130所需的信息或數據,由于這種信息是客戶端應用程序128和130所需的(即要求的)。當對于請求信息或數據的客戶端應用程序(例如,客戶端應用程序128和130中的一個)來說是最接近的或本地的中間數據服務器過程和本地數據服務器過程122當前不使所請求的信息在它其本地數據源(例如數據源136)中可用時,可以通過一個或多個其他中間數據服務器過程(例如中間數據服務器過程124)向服務器或其他過程傳播對該信息或數據的請求,該服務器或其他過程最終訪問包含與企業(例如企業10)或其中運行客戶端應用程序的其他系統相關的整個配置數據庫的數據庫(例如數據庫126)。
雖然圖4所示的示例描述了兩個鏈接在一起的中間數據服務器過程,但是,如果需要,也可以鏈接多于兩個中間數據服務器過程。在這種情況下,數據庫訪問器148可以替代是另一個數據庫連接(即與數據庫連接138類似或相同的),該數據庫連接與另一個中間數據服務器過程通信連接,并且最終通信連接到如數據庫126等數據庫。當然,由于客戶端應用程序128和130也可以具有它們自己各自的會話、數據源和數據庫連接,如果需要,這些應用程序128和130可以直接訪問數據服務器過程124或任何其他與上述數據服務器過程相同或類似的數據服務器過程。然而,在這些情況中,如果可能(即如果在例如中間數據服務器過程122中,所請求的數據是本地可用的),可以避免由客戶端應用程序128和130對數據服務器過程124進行直接訪問,以最小化對中心數據庫126的通信需求。
存儲在數據庫126中且經由中間數據服務器過程122和124傳送以便由客戶端應用程序128和130所使用的信息或數據,包含組成用于企業的面向對象的結構模型的所有信息或數據。例如,可以按需要(或根據規則,如果需要,在運行時間之前),將所有與包含屬性值、數據庫規則或相關性等的分層結構對象相關的信息從數據庫126傳送到客戶端應用程序128和130中的一個,并且被本地存儲(例如在數據源136中),并且,根據規則等,被本地運行。當客戶端應用程序128和130所需的信息或數據被本地存儲在數據源136時,客戶端應用程序128和130對于相同信息的后續請求將不會導致經由通信鏈路140和141的通信。結果,在需要的地方并且按照需要,圖4所示的示例系統120使企業或其他系統的復雜分層的面向對象結構的數據庫中所包含的信息能被本地分布和存儲,從而減少了支持構成企業或其他系統的客戶端應用程序的信息需要所需的總網絡通信量。
中間數據服務器過程122和124可以在經由通信鏈路140通信連接的物理上分離的工作站或處理系統中被實例化,該通信鏈路可以是通信網絡的一部分。然而,可替換地,中間數據服務器過程122和124可以在相同工作站或處理系統中被實例化。
可以采用軟件、固件和硬件的任意期望的組合,來將圖4的示例系統120中所示的功能塊構造成對象、過程等。例如,一個或多個微處理器、微控制器、特定用途集成電路(ASIC)等,可訪問存儲在機器或處理器可訪問存儲介質上的指令或數據,以便實現在此說明的設備和方法。存儲介質可以包含例如固態存儲介質、光存儲介質、磁存儲介質等這樣的器件和/或介質的任意組合,其中,固態存儲介質包含隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)等。而且,任何用于實現如圖4所示的功能塊的軟件或固件,可以經由因特網、電話線、衛星通信等附加地或可替換地被傳遞至處理器或其他設備或運行軟件的設備,并且被上述設備訪問。
圖5是描述客戶端應用程序訪問存儲在中間數據服務器過程數據源中的信息或數據的一種方式示例的詳細圖。特別是,客戶端應用程序的狀態由一個或多個客戶根(client root)200和202維護。客戶根200和202是數據源204上的窗口。會話206管理客戶根200和202與數據源204之間的交互。例如,客戶根200和202可以保持各自的客戶端應用程序128和130的狀態(圖4),數據源204可以相應于數據源136,而會話206可以相應于會話134。在這種方式下,客戶端應用程序128和130不必直接訪問數據源136,而是替代地,可維護各自的應用程序狀態(相應于客戶根200和202),該應用程序狀態可以被快速地和重復地訪問以獲取當前本地存儲在中間數據服務器過程122中的數據。例如,如果相關于客戶根200的客戶端應用程序請求相關于模塊對象208(MOD A)的信息,會話206可以遍歷客戶根200和地點對象210(SITE)以從模塊對象208檢索所需的信息。另一方面,如果相關于客戶根200的客戶端應用程序請求相關于屬性212(ATTR 1)的信息,則會話過程206遍歷數據源204以檢索相關于屬性212的信息,并發送該信息以便被添加到相關于客戶根200的客戶端應用程序中。此外,如果相關于客戶根200的客戶端應用程序請求非本地存儲的信息(即該信息尚未被存儲或裝載到本地數據源204中),則會話過程206可以從中間數據服務器過程214檢索這樣的信息。中間數據服務器過程214可以相應于,例如圖4所示的中間數據服務器過程214。雖然,在圖5中示出兩個客戶根,但是可以替代使用一個或多于兩個客戶根。
如結合圖4和5所述,可以請求裝載(即按需從數據庫檢索并且本地緩沖)客戶端應用程序所需信息(例如,包含屬性值、規則等的對象數據)。當在此說明的設備和方法使信息能被請求基于基本單元(即一次一個對象)裝載時,通過識別數據庫訪問模式以及要求裝載稍微比應用程序具體請求的信息多一些的信息,可以獲得更高的通信效率。換句話說,可以使用數據庫訪問模式來預測在緊跟一條特定信息的應用程序請求之后,什么信息最可能是所需要的。例如,當客戶端應用程序從模塊對象遍歷至屬性角色(即客戶端應用程序向另一數據服務器請求屬性角色信息)時,由于這樣的信息通常與屬性名稱和類型一起被顯示,所以接下來通常是對于屬性值的后續請求。因此,為了增加通信效率(即減少通信網絡的總通信量),一般將屬性值與屬性角色信息一起發送。更一般地,通過預測特定于應用程序的特征信息請求模式,并隨后以與這些訪問模式一致的方式捆綁信息,來最小化網絡通信(即為了獲得客戶端應用程序需要的信息所需的往返通信次數),從而可以獲得通信效率。
當客戶端應用程序請求對系統數據庫進行離線訪問時(例如,當需要離線編輯會話時),可以請求并本地緩沖數據庫的整個內容(即所有規則和數據)。在這種方式下,客戶端應用程序可以使系統用戶能參與完整的離線編輯會話。由于所有的規則都本地可用,所以在這樣的離線編輯會話期間可以使用本地規則檢查以便于當將客戶端應用程序重連接至中心數據庫時(即結束離線編輯會話)的后續的數據同步和協調(reconciliation)行為。可以使用下面說明的示例對象更改處理技術來實現這種數據同步和調節行為。
客戶端應用程序(例如客戶端應用程序128和130)可以訪問存儲在本地存儲或緩沖的數據源(即數據源136)中的信息,并可以修改或更改該信息。例如,客戶端應用程序128(圖4)可以相應于客戶根200(圖5),并可以遍歷客戶根200以訪問相關于模塊208的信息。當客戶端應用程序128試圖修改在事務的上下文內的模塊208中的信息(例如角色和/或屬性)時,根據數據庫規則(即規則檢查),產生一個“臟(dirty)”對象以存儲所嘗試的修改。如果事務被嵌套,然后出現進一步嘗試以更改或修改相關于模塊208的信息,其他的臟對象被創建以存儲這些進一步的更改。當運行附加的內部嵌套的事務時,可以產生附加的臟對象。當最內層嵌套的事務被提交時,在最內層臟對象中反映的更改被傳遞到相關于下一外層事務的臟對象。當內層對象被提交時,從內層事務到下一外層事務的臟對象更改信息的傳遞繼續進行,直到所有的更改已被傳遞至相關于最外層事務的臟對象。最外層事務的提交導致更改變成永久性的,從而防止更改的任何退回重來(即更改返回到事務開始之前的應用程序的狀態)。
如上所述,事務(和嵌套事務)使應用程序能實現或記錄對它們各自客戶根內的對象信息的更改。然而,客戶端應用程序可以額外地向數據庫(例如數據庫126)寫入或記錄對象更改,從而使所有連接至該數據庫的中間數據服務器能給它們各自的客戶端應用程序提供更改的信息。最好是,但不是必需的,響應于來自客戶端應用程序的自動指示,并且/或者響應于來自系統用戶或操作者的自動指示,由客戶端應用程序對對象信息進行的永久更改可以被寫回數據庫(例如圖4的數據庫126)。
最初,向客戶根(例如客戶根200)提交的更改(即永久更改)通過會話過程(例如會話過程206)被寫入到相關于客戶根的數據源(例如數據源204)中。會話過程隨后將對客戶根所作的任意更改傳播至數據源(例如包含它所連接到的任意對象的數據源204)。會話過程206接著將更改的數據源信息發送至被連接到數據庫的中間數據服務器。當在發送更改信息的數據源與中心數據庫之間存在兩個或更多個居中的中間數據服務器時,更改被從數據服務器發送至數據服務器直到它們到達該數據庫。為了促進平臺的獨立性和增加整個系統的靈活性,信息最好是,但不是必需的,以XML文檔形式在中間數據服務器之間傳送。數據庫執行數據庫規則,并且如果提供給數據庫的任意信息(例如在所接收的XML文檔中)不符合這樣的規則,則數據庫拒絕(即不記錄)這些更改。
接著,由數據庫所接收并接受的更改可以接著通過一個或多個中間數據服務器被傳遞至相關于企業的所有數據源。例如,包含由數據庫所接收并存在的所有更改的完整列表的XML文檔,可以被異步傳回到發起該修改的客戶端和/或企業或系統中的一些或所有中間數據服務器。類似地,發生在數據庫內的且不是由一個或多個客戶端應用程序向上傳播至中心數據庫的更改信息的結果的更改,可以作為更改通知機制被異步地向下傳播至組成企業的數據服務器,然后是數據源。可以使用例如XML文檔來實現這樣的更改通知,該XML文檔包含按照分層方式排列以使數據被數據源有效地使用的數據。接收這樣的XML文檔的數據源可以跳過在先前未被裝載的文檔中的對象,并產生新的簡化的XML文檔,該文檔僅包含那些與連接至數據源的客戶相關的更改。
圖6是具有多個處理系統302、304、306和307的示例系統300的方框圖。處理系統302、304和306使用各自的中間數據服務器308、310和312以訪問數據庫314。此外,處理系統304和307使用各自的中間數據服務器315和316以訪問實時服務器317。系統302可以是例如應用程序站(例如圖1的工作站18、20和42中的一個站),該應用程序站運行一個或多個基于Windows的客戶端應用程序318。應用程序318可以包含連接至數據源322的客戶根319和320。數據源322可以經由中間數據服務器312、經由數據庫服務器324,連接至數據庫314。系統302也可以包含通信連接至下面將詳細說明的系統304的Web客戶326。
系統304可以是例如,運行具有一個或多個會話狀態330(該狀態與應用程序狀態類似)的互聯網服務器過程328的web服務器(該服務器可以使用工作站或任何其他處理系統來實現)。會話狀態330包含客戶根332和334以及通信連接至中間數據服務器310和315的相應數據源336和338。因此,會話狀態330可以訪問存儲在數據庫314和/或實時服務器317中的信息(例如數據、規則等)。系統304也可以包含通信連接至互聯網服務器過程328的web客戶340。因此,web客戶326和340均可以相應于一個會話狀態330(即客戶根332和334中的一個),并可以與中間數據服務器310、312、315和316互操作,以使用采用上述方法的數據庫314和/或實時服務器317來交換信息。
因此,雖然已參照特定示例說明了本發明,但是這僅用于說明而不是對本發明進行限定。對本技術領域人員來說,在不脫離本發明的實質和范圍的情況下,可以對所公開的實施例進行更改、增加或刪除。
權利要求
1.一種訪問與過程控制系統相關的數據庫的方法,包括在中間數據服務器過程中從客戶端應用程序接收信息請求;確定所述信息是否被存儲在與所述中間數據服務器過程相關的數據源中;如果所述信息未被存儲在所述數據源中,則將對所述信息的請求從所述中間數據服務器過程發送至另一個過程;和在所述另一個過程接收所述信息請求之后,訪問所述數據庫以檢索所述信息。
2.如權利要求1所述的方法,其中,在所述中間數據服務器過程中從所述客戶端應用程序接收所述信息請求包含接收對數據和至少一個與所述數據相關的規則的請求。
3.如權利要求1所述的方法,其中,在所述中間數據服務器過程中從所述客戶端應用程序接收所述信息請求包含接收對至少一個對象信息和規則的請求。
4.如權利要求1所述的方法,其中,確定所述信息是否被存儲在所述數據源中包含遍歷與分層相關的第一組對象,所述第一組對象相應于存儲在所述數據庫中的第二組對象的子集。
5.如權利要求4所述的方法,其中,遍歷與分層結構相關的所述第一組對象包含遍歷相應于所述客戶端應用程序的狀態的客戶根。
6.如權利要求1所述的方法,其中,將所述信息請求從所述中間數據服務器過程發送至所述另一個過程包含經由數據庫連接和通信鏈路發送所述信息請求。
7.如權利要求1所述的方法,其中,所述另一個過程是另一個中間數據服務器過程。
8.如權利要求1所述的方法,其中,在所述另一個過程接收所述信息請求之后訪問所述數據庫以檢索所述信息包含向通信連接至所述數據庫的數據庫訪問器發送對所述信息的請求。
9.如權利要求1所述的方法,包含通過通信連接至所述數據源和所述數據庫連接的會話來處理所述信息請求。
10.如權利要求1所述的方法,包含訪問所述數據庫以檢索附加信息,其中所述附加信息與所述客戶端應用程序的數據訪問模式特征相關。
11.如權利要求1所述的方法,其中,將所述信息請求從所述中間數據服務器過程發送至另一過程的步驟包括使用可擴展置標語言、傳輸協議和消息編碼中的至少一種以發送所述信息的請求。
12.一種訪問與過程控制系統相關的數據庫的系統,包括中間數據服務器,被通信連接至所述數據庫,并且被編程以從客戶端應用程序接收信息請求;確定所述信息是否被存儲在與所述中間數據服務器相關的數據源中;和如果所述信息未被存儲在所述數據源中,則將對所述信息的請求從所述中間數據服務器發送至另一個中間數據服務器。
13.如權利要求12所述的系統,其中,所述中間數據服務器被編程以建立會話,所述會話協調與所述數據源和數據庫連接的通信。
14.如權利要求11所述的系統,其中,所述信息請求包含對數據和至少一個與所述數據相關的規則的請求。
15.如權利要求12所述的系統,其中,所述信息請求包含對至少一個對象信息和規則的請求。
16.如權利要求12所述的系統,其中,所述數據源包含與分層結構相關的第一組對象,所述第一組對象相應于存儲在所述數據庫中的第二組對象的子集。
17.如權利要求12所述的系統,其中,所述中間數據服務器被編程以經由數據庫連接和通信鏈路向所述另一個中間數據服務器發送所述信息請求。
18.如權利要求12所述的系統,其中,所述另一個中間數據服務器經由數據庫訪問器訪問所述數據庫以檢索所述信息。
19.如權利要求12所述的系統,其中,所述中間數據服務器被編程以通過使用可擴展標記語言、傳輸協議和消息編碼中的至少一種來向所述另一個中間數據服務器發送所述信息請求。
20.一種其上存儲指令的機器可讀介質,當被運行時使機器在中間數據服務器過程中從客戶端應用程序接收與過程控制系統相關的信息請求;確定所述信息是否被存儲在與所述中間數據服務器過程相關的數據源中;如果所述信息未被存儲在所述數據源中,則將對所述信息的請求從所述中間數據服務器過程發送至另一個過程;和在所述另一個過程接收所述信息請求之后,訪問所述數據庫以檢索所述信息。
21.如權利要求18所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過接收對數據和至少一個與所述數據相關的規則的請求,在所述中間數據服務器過程中從所述客戶端應用程序接收所述信息請求。
22.如權利要求20所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過接收對中間數據服務器對象中的至少一個對象信息和規則的請求,在所述中間數據服務器過程中從所述客戶端應用程序接收所述信息請求。
23.如權利要求20所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過遍歷與分層結構相關的第一組對象,來確定所述信息是否被存儲在所述數據源中,所述第一組對象相應于存儲在所述數據庫中的第二組對象的子集。
24.如權利要求23所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過遍歷相應于所述客戶端應用程序的狀態的客戶根對象,來遍歷與分層結構相關的所述第一組對象。
25.如權利要求20所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過經由數據庫連接和通信鏈路發送所述信息請求,來將所述信息請求從所述中間數據服務器過程發送至所述另一個過程。
26.如權利要求20所述的機器可讀介質,其上存儲指令,以便當被運行時使所述機器通過被通信連接到所述數據源和數據庫連接的會話來處理所述信息請求。
27.如權利要求20所述的機器可讀介質,其上存儲數據,以便當被運行時使所述機器訪問所述數據庫以檢索附加信息,其中,所述附加信息與所述客戶端應用程序的數據訪問模式特征相關。
28.一種過程控制系統,包括多個通信連接的中間數據服務器;多個與至少一個所述中間數據服務器通信的客戶端應用程序;和包含信息的數據庫,所述信息至少包含與所述過程控制系統相關的數據和規則,其中,所述中間數據服務器適合于互操作,以便基于至少一些所述客戶端應用程序的信息需要檢索并且在相應的本地數據源中存儲所述信息的子集。
29.如權利要求28所述的過程控制系統,其中,每一個所述中間數據服務器適合于提供中間數據服務器對象、數據源對象、數據庫連接對象和會話對象,所述會話對象協調所述中間數據服務器對象、所述數據源對象和所述數據庫連接對象的行為。
30.如權利要求28所述的過程控制系統,其中,至少兩個所述中間數據服務器經由與網絡相關的通信鏈路連接。
31.如權利要求30所述的過程控制系統,其中,對象的分層結構中的每一個所述對象包含相關對象、屬性和角色。
32.如權利要求28所述的過程控制系統,其中,所述中間數據服務器適合于采用可擴展標記語言進行通信。
33.如權利要求28所述的過程控制系統,其中,所述客戶端應用程序包含瀏覽器應用程序。
34.如權利要求28所述的過程控制系統,其中,所述中間數據服務器適合于運行至少一些與所述過程控制系統相關的所述規則。
35.如權利要求28所述的過程控制系統,其中,由每一個所述中間數據服務器接收的所述信息的子集包含與該中間數據服務器的數據訪問特征一致的信息。
36.一種更改與過程控制系統相關的數據庫中的信息的方法,包括將一組信息從第一中間數據服務器發送至第二中間數據服務器;將所述一組信息從所述第二中間數據服務器發送至數據庫服務器;和將所述一組信息寫入所述數據庫以更改所述數據庫中的所述信息。
37.如權利要求36所述的方法,其中,所述第一中間數據服務器和所述第二中間數據服務器的每一個包含數據源、會話和數據庫連接。
38.如權利要求36所述的方法,其中,所述一組信息包含可擴展置標語言文檔。
39.如權利要求36所述的方法,其中,將所述一組信息從所述第一中間數據服務器發送至所述第二中間數據服務器包含經由通信鏈路發送所述一組信息。
40.如權利要求33所述的方法,其中,所述一組信息包含與所述過程控制系統和企業中的至少一個相關的信息。
41.一種在網絡化系統中傳播數據庫更改的方法,包括更改數據庫中的一組信息以形成第二組信息;將所述第二組信息發送至在所述網絡化系統中的第一中間數據服務器;將所述第二組信息從所述第一中間數據服務器發送至第二中間數據服務器;和在與客戶端應用程序相關的數據源中存儲所述第二組信息的至少一部分。
42.如權利要求41所述的方法,其中,將所述第二組信息從所述第一中間數據服務器發送至所述第二中間數據服務器包含將可擴展置標語言文檔從所述第一中間數據服務器發送至所述第二中間數據服務器。
43.如權利要求41所述的方法,其中,在與所述客戶端應用程序相關的所述數據源中存儲所述第二組信息的至少一部分包含存儲與所述數據源先前所請求的信息相關的信息。
44.一種訪問與過程控制系統相關的數據庫的方法,包括在中間數據服務器過程中從客戶端應用程序接收對數據和至少一個與所述數據相關的規則的請求;和訪問所述數據庫以檢索所述數據和所述至少一個與所述數據相關的規則。
45.如權利要求44所述的方法,還包括響應于更改所述數據的至少一部分的請求,執行所述至少一個規則。
46.如權利要求44所述的方法,其中,訪問所述數據庫包含被與連接至所述數據庫的另一個中間數據服務器過程進行通信。
47.一種編輯過程控制系統數據庫的方法,包括請求幾乎所有與所述過程控制系統數據庫相關的數據;在客戶端應用程序中接收所請求的幾乎所有與所述過程控制系統數據庫相關的數據;當所述客戶端應用程序相對于所述過程控制系統數據庫離線時,在所述客戶端應用程序中編輯幾乎所有與所述過程控制系統數據庫相關的數據的至少一部分;和當所述客戶端應用程序相對于所述過程控制系統數據庫離線時,運行與所述過程控制系統數據庫相關的并且可被所述客戶端應用程序訪問的至少一個規則。
48.如權利要求47所述的方法,還包括在編輯之后,協調幾乎所有與所述過程控制系統相關的數據的至少一部分。
49.如權利要求47所述的方法,其中,幾乎所有與所述過程控制系統相關的數據包含所述過程控制系統數據庫的拷貝。
全文摘要
訪問與過程控制系統相關的數據庫的系統和方法,將信息請求從客戶端應用程序發送至中間數據服務器,并確定所述信息是否被存儲在與所述中間數據服務器過程相關的數據源中。如果所述信息未被存儲在所述數據源中,則該系統和方法還將所述信息請求從所述中間數據服務器過程發送至另一過程,并且在其他過程接收所述信息請求之后,訪問所述數據庫以檢索所述信息。
文檔編號G06F13/00GK1527227SQ20041000787
公開日2004年9月8日 申請日期2004年3月3日 優先權日2003年3月3日
發明者馬克·J·尼克松, 斯蒂芬·吉爾伯特, 邁克爾·盧卡斯, 特里薩·查特科夫, 盧卡斯, 吉爾伯特, 查特科夫, 馬克 J 尼克松 申請人:費舍-柔斯芒特系統股份有限公司