專利名稱:用于檢測處理元素內(nèi)的不允許的數(shù)據(jù)組合的方法和系統(tǒng)的制作方法
用于檢測處理元素內(nèi)的不允許的數(shù)據(jù)組合的方法和系統(tǒng)
背景技術(shù):
當計算機數(shù)據(jù)庫變得極其復(fù)雜時,對數(shù)據(jù)庫系統(tǒng)的計算要求也快速增加。數(shù)據(jù)庫系統(tǒng)通常被配置為將存儲數(shù)據(jù)的過程與訪問、操縱或使用數(shù)據(jù)庫中存儲的數(shù)據(jù)進行分離。 更具體地說,數(shù)據(jù)庫使用這樣的模型其中數(shù)據(jù)首先被存儲,然后被索引,然后被查詢。但是,此模型無法滿足某些實時應(yīng)用的性能要求。例如,數(shù)據(jù)庫系統(tǒng)接收和存儲入站數(shù)據(jù)的速率會限制可以處理或以其他方式計算多少數(shù)據(jù)。這又會限制數(shù)據(jù)庫應(yīng)用實時處理大量數(shù)據(jù)的能力。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種用于檢測第一處理元素內(nèi)的不允許的數(shù)據(jù)組合的方法和系統(tǒng)。所述方法和系統(tǒng)包括接收要處理的數(shù)據(jù)。所述方法和系統(tǒng)還包括確定描述所述第一處理元素內(nèi)的預(yù)定數(shù)據(jù)組合的一個或多個規(guī)則。此外,所述方法和系統(tǒng)包括確定所述第一處理元素的當前工作狀態(tài),其中所述當前工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù)。所述方法和系統(tǒng)還包括通過一個或多個計算機處理器的運算,判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)是否違反所述一個或多個規(guī)則中的任何規(guī)則。本發(fā)明的第二實施例提供了一種用于檢測第一處理元素內(nèi)的不允許的數(shù)據(jù)組合的計算機程序產(chǎn)品。所述計算機程序產(chǎn)品包括接收要處理的數(shù)據(jù)。所述計算機程序產(chǎn)品還包括確定描述所述第一處理元素內(nèi)的預(yù)定數(shù)據(jù)組合的一個或多個規(guī)則。此外,所述計算機程序產(chǎn)品包括確定所述第一處理元素的當前工作狀態(tài),其中所述當前工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù)。所述計算機程序產(chǎn)品還包括通過一個或多個計算機處理器的運算,判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)是否違反所述一個或多個規(guī)則中的任何規(guī)則。此外,所述計算機程序產(chǎn)品包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)不違反所述一個或多個規(guī)則中的任何規(guī)則時, 在所述第一處理元素上處理所接收的數(shù)據(jù)。
為了詳細理解可實現(xiàn)上述方面的方式,可以通過參考附圖做出上面簡要概述的本發(fā)明的實施例的具體描述。但是要指出,附圖僅示出了本發(fā)明的典型實施例,因此并不被視為限制本發(fā)明的范圍,因為本發(fā)明可允許其他同樣有效的實施例圖1A-1B示出了根據(jù)本發(fā)明的一個實施例的被配置為執(zhí)行流應(yīng)用的計算基礎(chǔ)設(shè)施 100 ;圖2是根據(jù)本發(fā)明的一個實施例的圖1A-1B的計算節(jié)點130的更詳細的視圖;圖3是根據(jù)本發(fā)明的一個實施例的圖1的服務(wù)器計算系統(tǒng)105的更詳細的視圖;圖4示出了根據(jù)本發(fā)明的一個實施例的流應(yīng)用中的計算節(jié)點的一個實例;
圖5是示出根據(jù)本發(fā)明的一個實施例的防止處理元素上的不允許數(shù)據(jù)組合的方法的流程圖;圖6是示出根據(jù)本發(fā)明的一個實施例的防止處理元素上的不允許數(shù)據(jù)組合的方法的流程圖;以及圖7是示出根據(jù)本發(fā)明的一個實施例的防止處理元素上的不允許數(shù)據(jù)組合的方法的流程圖。
具體實施例方式基于流的計算和基于流的數(shù)據(jù)庫計算作為數(shù)據(jù)庫系統(tǒng)的正在發(fā)展技術(shù)出現(xiàn)。提供的產(chǎn)品允許用戶創(chuàng)建可在流數(shù)據(jù)到達數(shù)據(jù)庫文件之前對流數(shù)據(jù)進行處理和查詢的應(yīng)用。通過這種新興技術(shù),用戶可以指定處理邏輯以便在入站數(shù)據(jù)記錄“執(zhí)行(in flight)”時應(yīng)用于這些記錄,并且在非常短的時間內(nèi)(通常在幾毫秒內(nèi))提供結(jié)果。使用此類處理構(gòu)造應(yīng)用開創(chuàng)了新的編程范例,這將允許開發(fā)各種創(chuàng)新性的應(yīng)用、系統(tǒng)和過程,同時對應(yīng)用編程人員和數(shù)據(jù)庫開發(fā)人員提出新的挑戰(zhàn)。在流應(yīng)用中,運算符相互連接以便數(shù)據(jù)從一個處理元素流向下一個處理元素(例如通過TCP/IP套接字)。通過跨節(jié)點分布應(yīng)用(通過創(chuàng)建許多小的可執(zhí)行代碼段(運算符))以及在多個節(jié)點上復(fù)制處理元素并在處理元素之間進行負載平衡來獲得可伸縮性。 流應(yīng)用中的處理元素(和運算符)可以融合在一起以形成較大的處理元素。這樣做可允許處理元素共享公共進程空間,從而導(dǎo)致運算符之間的通信遠快于使用進程間通信技術(shù)(例如,使用TCP/IP套接字)獲得的通信。此外,處理元素可以被動態(tài)地插入表示通過流應(yīng)用的數(shù)據(jù)流的運算符圖或被從運算符圖動態(tài)地刪除,以及在運行時與流應(yīng)用融合或取消融合。流應(yīng)用的一個優(yōu)點是它們允許用戶以粒度方式控制通過應(yīng)用的數(shù)據(jù)過程流。換言之,用戶可以針對每個處理元素指定對入站數(shù)據(jù)執(zhí)行各種操作的特定運算符,并且可以通過修改運算符及其執(zhí)行順序而動態(tài)改變流應(yīng)用。此外,流應(yīng)用能夠處理大量數(shù)據(jù),同時限制處理中的任何“瓶頸”。但是,由于流應(yīng)用通常處理大量數(shù)據(jù),這些數(shù)據(jù)的處理跨多個計算節(jié)點分布于多個處理元素,這對應(yīng)用編程人員和數(shù)據(jù)庫開發(fā)人員提出了額外的挑戰(zhàn)。一個此類挑戰(zhàn)是防止使用同一處理元素處理不允許的數(shù)據(jù)組合,不允許的數(shù)據(jù)組合可能導(dǎo)致不正確的決策制定或者出現(xiàn)不當操作。作為一個實例,流應(yīng)用可能希望防止在移植手術(shù)適合性分析中考慮患者的特定遺傳標記。此外,除了簡單地防止在適合性分析中考慮遺傳標記之外,流應(yīng)用開發(fā)人員可能希望防止決策制定組件(例如,處理元素)甚至具有患者遺傳標記數(shù)據(jù)的訪問權(quán)限,以便防止甚至出現(xiàn)不正確的決策制定。作為第二個實例,對于執(zhí)行自動股票交易的公司而言,不允許的數(shù)據(jù)組合可以是可能導(dǎo)致(或被解釋為)內(nèi)幕交易信息的任何數(shù)據(jù)組合。此類組合例如可能在所接收的數(shù)據(jù)集與當前可由處理元素訪問的其他數(shù)據(jù)之間出現(xiàn)。此外,不允許的組合可能在所接收的數(shù)據(jù)集本身內(nèi)的各值之間出現(xiàn)。此外,在被配置為防止出現(xiàn)任何不當操作的本發(fā)明的一個實施例中,不允許的組合可能在所接收的數(shù)據(jù)集與最近由處理元素處理的其他數(shù)據(jù)之間出現(xiàn),即使所述其他數(shù)據(jù)不再可由處理元素訪問。因此,本發(fā)明的各實施例可以被配置為通過防止在處理元素上同時出現(xiàn)多個數(shù)據(jù)組合而防止可能導(dǎo)致內(nèi)幕交易(或出現(xiàn)內(nèi)幕交易)的任何不正確的計算。本發(fā)明的各實施例提供了用于標識處理元素上的不允許的數(shù)據(jù)組合,并且僅在確定處理不會導(dǎo)致不允許的數(shù)據(jù)組合之后才在處理元素上處理所接收的數(shù)據(jù)的技術(shù)。具體地說,本發(fā)明的各實施例可以訪問描述處理元素的不允許的數(shù)據(jù)組合的規(guī)則。此外,本發(fā)明的各實施例可以確定第一處理元素的當前工作狀態(tài)。在確定當前工作狀態(tài)和所接收的數(shù)據(jù)元素的組合不違反一個或多個規(guī)則中的任何規(guī)則時,本發(fā)明的各實施例可以在第一處理元素上處理所接收的數(shù)據(jù)元素。以下參考了本發(fā)明的各實施例。但是應(yīng)該理解,本發(fā)明并不限于描述的特定實施例。相反,將構(gòu)想以下特性和元素(無論是否與不同實施例相關(guān))的任意組合以實施和實現(xiàn)本發(fā)明。此外,雖然本發(fā)明的各實施例可以相對于其他可能解決方案和/或相對于現(xiàn)有技術(shù)實現(xiàn)優(yōu)點,但特定優(yōu)點是否由給定實施例實現(xiàn)并不會限制本發(fā)明。因此,以下方面、特性、實施例和優(yōu)點僅是示例性的,并不被視為所附權(quán)利要求的元素或限制,除非在權(quán)利要求 (多個)中明確指出。同樣,對“本發(fā)明”的引用不應(yīng)被理解為在此披露的任何發(fā)明主題的概括,并且不應(yīng)被視為所附權(quán)利要求的元素或限制,除非在權(quán)利要求(多個)中明確指出。如本領(lǐng)域的技術(shù)人員將理解的,本發(fā)明的各方面可以體現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各方面可以采取完全硬件實施例、完全軟件實施例(包括固件、 駐留軟件、微代碼等)或組合了在此通常被稱為“電路”、“模塊”或“系統(tǒng)”的軟件和硬件方面的實施例的形式。此外,本發(fā)明的各方面可以采取體現(xiàn)在一個或多個計算機可讀介質(zhì)(在介質(zhì)中包含計算機可讀程序代碼)中的計算機程序產(chǎn)品的形式??梢允褂靡粋€或多個計算機可讀介質(zhì)的任意組合。所述計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是(但不限于) 電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)、裝置或設(shè)備或它們的任意適當組合。計算機可讀存儲介質(zhì)的更具體的實例(非窮舉列表)可以包括以下項具有一條或多條線的電連接、便攜式計算機軟盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦寫可編程只讀存儲器 (EPR0M或閃存)、光纖、便攜式光盤只讀存儲器(CD-ROM)、光存儲設(shè)備、磁存儲設(shè)備或它們的任意適當組合。在本文檔的上下文中,計算機可讀存儲介質(zhì)可以是任何能夠包含或存儲由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的有形介質(zhì)。計算機可讀信號介質(zhì)可以包括例如在基帶中或作為載波的一部分傳播的帶有計算機可讀程序代碼的數(shù)據(jù)信號。此類傳播信號可以采取任何不同的形式,包括但不限于電磁、光或它們的任意適合組合。計算機可讀信號介質(zhì)可以是任何并非計算機可讀存儲介質(zhì)并且可以傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的計算機可讀介質(zhì)??梢允褂萌魏芜m當?shù)慕橘|(zhì)(包括但不限于無線、有線、光纜、RF等或它們的任意適當組合)來傳輸計算機可讀介質(zhì)中包含的程序代碼。用于執(zhí)行本發(fā)明的各方面的操作的計算機程序代碼可以使用一種或多種編程語言的任意組合來編寫,所述編程語言包括諸如Java、Smalltalk, C++之類的面向?qū)ο蟮木幊陶Z言或者諸如“C”編程語言或類似的編程語言之類的常規(guī)過程編程語言。所述程序代碼可以完全地在用戶的計算上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶的計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在后一種情形中,遠程計算機可以通過任何種類的網(wǎng)絡(luò)-包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶的計算機,或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)) 連接到外部計算機。下面參考根據(jù)本發(fā)明的各實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或方塊圖對本發(fā)明的各方面進行描述。將理解,所述流程圖和/或方塊圖的每個方塊以及所述流程圖和/或方塊圖中的方塊的組合可以由計算機程序指令來實現(xiàn)。這些計算機程序指令可以被提供給通用計算機、專用計算機或其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生機器,以便通過所述計算機或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的所述指令產(chǎn)生用于實現(xiàn)在一個或多個流程圖和/或方塊圖方塊中指定的功能/操作的裝置。這些計算機程序指令也可以被存儲在可引導(dǎo)計算機、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備以特定方式執(zhí)行功能的計算機可讀介質(zhì)中,以便存儲在所述計算機可讀介質(zhì)中的所述指令產(chǎn)生一件包括實現(xiàn)在所述一個或多個流程圖和/或方塊圖方塊中指定的功能/操作的指令的制品。所述計算機程序指令還可被加載到計算機、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備,以導(dǎo)致在所述計算機、其他可編程裝置或其他設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的過程,從而在所述計算機或其他可編程裝置上執(zhí)行的指令提供用于實現(xiàn)在一個或多個流程圖和/或方塊圖方塊中指定的功能/操作的過程。本發(fā)明的各實施例可以通過云計算基礎(chǔ)設(shè)施被提供給最終用戶。云計算通常指通過網(wǎng)絡(luò)作為服務(wù)來供應(yīng)可擴展的計算資源。更正式地說,云計算可以被定義為在計算資源及其基礎(chǔ)技術(shù)架構(gòu)(例如,服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò))之間提供抽象的計算能力,從而能夠?qū)膳渲玫挠嬎阗Y源共享池進行方便、按需的網(wǎng)絡(luò)訪問,可以以最少的管理工作或服務(wù)提供商交互快速地供應(yīng)和釋放所述可配置的計算資源。因此,云計算允許用戶訪問“云”中的虛擬計算資源(例如,存儲設(shè)備、數(shù)據(jù)、應(yīng)用,甚至完整的虛擬化計算系統(tǒng)),而不考慮用于提供所述計算資源的基礎(chǔ)物理系統(tǒng)(或這些系統(tǒng)的位置)。通常,云計算資源通過按使用付費的方式被提供給用戶,其中用戶僅針對實際使用的計算資源(例如,用戶使用的存儲空間量或用戶實例化的虛擬化系統(tǒng)的數(shù)量)付費。用戶可以通過因特網(wǎng)在任何時間、從任何位置訪問駐留在云中的任何資源。在本發(fā)明的上下文中,用戶可以訪問云中提供的應(yīng)用或相關(guān)數(shù)據(jù)。例如,用于創(chuàng)建流應(yīng)用的節(jié)點可以是由云服務(wù)提供商托管的虛擬機。這可允許用戶從連接到與云相連的網(wǎng)絡(luò)(例如,因特網(wǎng))的任何計算系統(tǒng)訪問此信息。圖1A-1B示出了根據(jù)本發(fā)明的一個實施例的被配置為執(zhí)行流應(yīng)用的計算基礎(chǔ)設(shè)施100。如所示出的,計算基礎(chǔ)設(shè)施100包括管理系統(tǒng)105和多個計算節(jié)點130i_4,每個計算節(jié)點連接到通信網(wǎng)絡(luò)120。此外,管理系統(tǒng)105包括運算符圖132和流管理器134。如下面更詳細描述的,運算符圖132表示從一個或多個源處理元素(PE)開始一直到一個或多個匯(sink)處理元素的流應(yīng)用。這種從源到匯的流在此通常也被稱為執(zhí)行路徑。通常,數(shù)據(jù)元素流入流應(yīng)用的源PE并由該PE處理。通常,處理元素從流接收具有數(shù)據(jù)元素的N元組以及將具有數(shù)據(jù)元素的N元組發(fā)出到流(除了流在該處終止的匯PE之外)。當然,由處理元素接收的N元組不必是向下游發(fā)送的同一 N元組。此外,處理元素可以被配置為以不同于N元組的格式接收或發(fā)出數(shù)據(jù)(例如,處理元素可交換標記為XML文檔的數(shù)據(jù))。此外, 每個處理元素可以被配置為對所接收的元組執(zhí)行任何形式的數(shù)據(jù)處理功能,例如包括寫入數(shù)據(jù)庫表或執(zhí)行其他數(shù)據(jù)庫操作(例如數(shù)據(jù)聯(lián)接、拆分、讀取等)以及執(zhí)行其他數(shù)據(jù)分析功能或操作。流管理器134可以被配置為監(jiān)視在計算節(jié)點13(V4上運行的流應(yīng)用,以及更改運算符圖132的結(jié)構(gòu)。例如,流管理器134可以將處理元素(PE)從一個計算節(jié)點130移動到另一個節(jié)點,以便例如管理計算基礎(chǔ)設(shè)施100中的計算節(jié)點130的處理負載。進而,流管理器134可以通過插入、刪除、融合、取消融合或以其他方式修改在計算節(jié)點13(V4上運行的處理元素(或何種數(shù)據(jù)元組流入處理元素)來控制流應(yīng)用。在本發(fā)明的一個實施例中,管理系統(tǒng)105可以維護多個運算符圖132。在此類實施例中,一個運算符圖132被指定為主運算符圖,它表示總體或默認處理流,而其他運算符圖可以表示備選處理流。圖IB示出了包括十個在計算節(jié)點130η上運行的處理元素(標記為ΡΕ1-ΡΕ10)的實例運算符圖。雖然處理元素可以作為獨立運行的進程執(zhí)行并具有它自己的進程ID(PID) 和存儲器空間,但是也可以融合多個處理元素以作為單個進程(具有PID和存儲器空間) 運行。在兩個(或更多)處理元素獨立運行的情況下,可以使用網(wǎng)絡(luò)套接字(例如,TCP/IP 套接字)進行進程間通信。但是,當進程融合在一起時,融合后的處理元素可以使用更快速的通信技術(shù)在處理元素(以及每個處理元素中的運算符)之間傳遞N元組(或其他數(shù)據(jù))。如所示出的,運算符圖始于源135(流入標記為PEl的處理元素)并終于匯 14(V2 (從標記為PE6和PElO的處理元素流出)。計算節(jié)點UO1包括處理元素PE1、PE2和 PE3。源135流入處理元素PE1,處理元素PEl又發(fā)出由PE2和PE3接收的元組。例如,PEl 可以拆分在元組中接收的數(shù)據(jù)元素并將某些數(shù)據(jù)元素傳遞到PE2,同時將其他數(shù)據(jù)元素傳遞到PE3。流向PE2的數(shù)據(jù)由PE2中包含的運算符處理,生成的元組然后被發(fā)出到計算節(jié)點 1302上的PE4。同樣,由PE4發(fā)出的數(shù)據(jù)元組流向匯PE6140lt)類似地,從PE3流向PE5的數(shù)據(jù)元組也到達匯PE6140lt)因此,除了對于此實例運算符圖是匯之外,PE6可以被配置為執(zhí)行聯(lián)接運算,從而組合從PE4和PE5接收的元組。此實例運算符圖還示出了從PE3流向計算節(jié)點1303上的PE7的數(shù)據(jù)元組,計算節(jié)點1303本身示出了流向PE8并循環(huán)返回PE7的數(shù)據(jù)元組。從PE8發(fā)出的數(shù)據(jù)元組流向計算節(jié)點1304上的PE9,PE9又發(fā)出要由匯PElOHO2 處理的元組。此外,雖然在流應(yīng)用的上下文中描述了本發(fā)明的各實施例,但是這并非與本公開相關(guān)的唯一上下文。相反,此類描述沒有限制并且僅為了示例性目的。當然,本領(lǐng)域的技術(shù)人員將認識到,本發(fā)明的各實施例可以被配置為與任何能夠執(zhí)行在此描述的功能的計算機系統(tǒng)或應(yīng)用一起工作。例如,本發(fā)明的各實施例可以被配置為在具有標準數(shù)據(jù)庫處理應(yīng)用的群集環(huán)境中工作。圖2是根據(jù)本發(fā)明的一個實施例的圖1A-1B的計算節(jié)點130的更詳細的視圖。如所示出的,計算節(jié)點130包括但不限于中央處理單元(CPU) 205、網(wǎng)絡(luò)接口 215、互連220、存儲器225和存儲單元230。計算節(jié)點130還可以包括用于將I/O設(shè)備212(例如,鍵盤、顯示器和鼠標設(shè)備)連接到計算節(jié)點130的I/O設(shè)備接口 210。CPU 205檢索和執(zhí)行存儲在存儲器225中的編程指令。類似地,CPU205存儲和檢索駐留在存儲器225中的應(yīng)用數(shù)據(jù)。互連220用于在CPU 205、I/O設(shè)備接口 210、存儲單元230、網(wǎng)絡(luò)接口 215和存儲器225之間傳輸編程指令和應(yīng)用數(shù)據(jù)。所包括的CPU 205表示單個CPU、多個CPU、具有多個處理核心的單個CPU等。所包括的存儲器225通常表示隨機存取存儲器。諸如硬盤驅(qū)動器、固態(tài)設(shè)備(SSD)或閃存存儲驅(qū)動器之類的存儲單元230可以存儲非易失性數(shù)據(jù)。在此實例中,存儲器225包括多個處理元素(PE) 235、不允許的組合(FC)組件 M5、多個FC規(guī)則250以及流連接數(shù)據(jù)255。每個PE 235都包括運算符240的集合。如以上指出的,每個運算符240可以提供一小塊可執(zhí)行代碼,所述一小塊可執(zhí)行代碼被配置為處理流入處理元素(例如,PE 235)的數(shù)據(jù)以及將數(shù)據(jù)發(fā)出到此PE中的其他運算符240和流應(yīng)用中的其他PE。此類PE可以在同一計算節(jié)點130上,也可以在可通過數(shù)據(jù)通信網(wǎng)絡(luò) 120訪問的其他計算節(jié)點上。流連接數(shù)據(jù)255表示計算節(jié)點130上的PE之間的連接(例如,兩個單獨PE 235之間的TCP/IP套接字連接),以及到具有流應(yīng)用中的上游或下游PE的其他計算節(jié)點130的連接(也通過TCP/IP套接字(或其他進程間數(shù)據(jù)通信機制))。如所示出的,存儲單元230包含緩沖的流數(shù)據(jù)260。緩沖的流數(shù)據(jù)260表示用于從上游處理元素(或從流應(yīng)用的數(shù)據(jù)源)流入計算節(jié)點105的數(shù)據(jù)的存儲空間。例如,緩沖的流數(shù)據(jù)260可以包括等待由PE 235之一處理的數(shù)據(jù)元組。緩沖的流數(shù)據(jù)260還可以存儲由PE 235執(zhí)行的數(shù)據(jù)處理的結(jié)果,所述結(jié)果將被發(fā)送到下游處理元素。FC組件245可以接收要在PE 235之一上處理的數(shù)據(jù)流的入站元組。所接收的元組可以接收自源135,或者備選地可以是系統(tǒng)100中的另一個PE的輸出。在接收到元組時, FC組件245可以確定被指定為處理所接收的元組的PE 235的PE 235的當前工作狀態(tài)。通常,如在此使用的,PE 235的工作狀態(tài)指一段時間內(nèi)可由PE 235訪問的所有數(shù)據(jù)。例如, PE 235的當前工作狀態(tài)可以包括當前正在由PE 235處理的數(shù)據(jù)(例如,包括在由PE 235 接收的另一個元組中的數(shù)據(jù)),以及當前可由PE 235訪問的所有數(shù)據(jù)(例如,存儲在可由 PE 235訪問的數(shù)據(jù)庫中)。此外,當前工作狀態(tài)還可以包括所接收的元組本身中的信息。此外,在本發(fā)明的一個實施例中,PE 235的當前工作狀態(tài)可以包括最近可由PE 235訪問的數(shù)據(jù)。例如,在本發(fā)明的此類實施例中,工作狀態(tài)可以包括在上一個元組中接收的數(shù)據(jù),盡管此類數(shù)據(jù)已由PE 235處理并且不再可由PE 235訪問。此外,在此類實施例中,可以指定閾值時間,所述閾值時間指示必須可由PE 235訪問的要包括在當前工作狀態(tài)中的數(shù)據(jù)的最近程度。一旦確定了當前工作狀態(tài),F(xiàn)C組件245然后就可以使用FC規(guī)則250判定在指定 PE 235上處理所接收的元組是否將導(dǎo)致不允許的數(shù)據(jù)組合。例如,如果所接收的數(shù)據(jù)元組和PE 235的當前工作狀態(tài)的組合違反FC規(guī)則250中的至少一個規(guī)則,則FC組件245可以判定該元組的處理將導(dǎo)致不允許的組合。相應(yīng)地,F(xiàn)C組件245可以采取操作以防止不允許的組合。此類操作可以包括延遲PE 235上所接收的元組的處理、根據(jù)備選執(zhí)行計劃將所接收的元組發(fā)送到另一個PE 235以便處理,或者簡單地丟棄所接收的元組。相反,如果FC組件245判定不違反任何FC規(guī)則250,則FC組件245可以將所接收的元組發(fā)送到適合的PE 235以便處理。這樣,本發(fā)明的各實施例可以防止在給定處理元素上不正確地使用數(shù)據(jù)。此外,各實施例還可以防止出現(xiàn)由可在給定處理元素上訪問的數(shù)據(jù)的不允許組合產(chǎn)生的任何不當操作。圖3是根據(jù)本發(fā)明的一個實施例的圖1的服務(wù)器計算系統(tǒng)105的更詳細的視圖。如所示出的,服務(wù)器計算系統(tǒng)105包括但不限于中央處理單元(CPU) 305、網(wǎng)絡(luò)接口 315、互連320、存儲器325和存儲單元330??蛻魴C系統(tǒng)130還可以包括將I/O設(shè)備312 (例如,鍵盤、顯示器和鼠標設(shè)備)連接到服務(wù)器計算系統(tǒng)105的I/O設(shè)備接口 310。與圖2的CPU 205 一樣,CPU 305被配置為檢索和執(zhí)行存儲在存儲器325和存儲單元330中的編程指令。類似地,CPU 305被配置為存儲和檢索駐留在存儲器325和存儲單元330中的應(yīng)用數(shù)據(jù)?;ミB320被配置為在CPU 305、I/O設(shè)備接口 310、存儲單元330、 網(wǎng)絡(luò)接口 315和存儲器325之間移動諸如編程指令和應(yīng)用數(shù)據(jù)之類的數(shù)據(jù)。與CPU 205 — 樣,所包括的CPU 305表示單個CPU、多個CPU、具有多個處理核心的單個CPU等。所包括的存儲器325通常表示隨機存取存儲器。網(wǎng)絡(luò)接口 315被配置為通過通信網(wǎng)絡(luò)120傳輸數(shù)據(jù)。 雖然被示為單個單元,但存儲單元330可以是固定和/或可移動的存儲設(shè)備(例如固定盤驅(qū)動器、可移動存儲器卡、光存儲設(shè)備、SSD或閃存設(shè)備、網(wǎng)絡(luò)連接存儲(NAQ或到存儲區(qū)域網(wǎng)絡(luò)(SAN)設(shè)備的連接)的組合。如所示出的,存儲器325存儲流管理器132。此外,存儲單元330包括主運算符圖 335和備選運算符圖340。流管理器132通常可以根據(jù)主運算符圖335將作為數(shù)據(jù)流的一部分接收的元組路由到PE 235以便處理。如上所述,在本發(fā)明的一個實施例中,如果FC組件245判定所接收的元組和當前工作狀態(tài)的組合違反FC規(guī)則250中的至少一個規(guī)則,則FC 組件245然后可以根據(jù)備選執(zhí)行路徑將給定元組路由到第二 PE 235。在這種情況下,可以由備選運算符圖240指定備選執(zhí)行路徑。此外,在本發(fā)明的一個實施例中,EPT組件245還被配置為通知流管理器132根據(jù)備選運算符圖340將所有后續(xù)針對數(shù)據(jù)流接收的元組路由到 PE 235。圖4示出了根據(jù)本發(fā)明的一個實施例的流應(yīng)用中的計算節(jié)點的實例。如所示出的,計算節(jié)點1302包括三個處理元素23\、2昍3和2;354(標記為PE1-PE3)。在示出的實例中,在計算節(jié)點1302上,處理元素23 接收N元組數(shù)據(jù)流并將N元組發(fā)出到處理元素23 和23 (分別標記為PE2和ΡΕ; )。處理元素PE2和PE3又將N元組發(fā)出到計算節(jié)點1303上的處理元素23\。在此實例中,PE 135(標記為PEl)接收包括屬性<姓名,部門,薪金,性別>的元組。PEl獲得此N元組,并根據(jù)由PEl接收的元組中的性別值生成一組被發(fā)送到 PE2的元組和另一組被發(fā)送到PE3的元組。依次地,PE2和PE3針對從PEl接收的每個元組執(zhí)行數(shù)據(jù)庫寫入,并生成被發(fā)送到PE4的屬性為<姓名,部門,薪金>的元組。一旦接收到該元組,PE4就訪問第三方Web服務(wù)并生成在流應(yīng)用中進一步向下游發(fā)送的元組。繼續(xù)此實例,示出的流應(yīng)用可以是針對企業(yè)的所有員工自動執(zhí)行獎金處理的自動薪金應(yīng)用。但是,假設(shè)由于公眾對高管薪酬的強烈抗議,企業(yè)希望手動處理來自部門“主管” 并且薪金在200,000美元以上的所有員工的獎金。因此,流應(yīng)用開發(fā)人員可以創(chuàng)建指定PEl 上不允許的數(shù)據(jù)組合的FC規(guī)則250,其中“部門”屬性包含值“主管”而“薪金”屬性包含大于“200000”的值。如果FC組件245然后接收到包含值〈Jane Doe,主管,300000,F(xiàn) >的元組,則FC組件245可以判定PEl上此元組的處理將違反上述FC規(guī)則250。在判定所述元組的處理將違反FC規(guī)則250中的至少一個規(guī)則時,本發(fā)明的各實施例可以防止使用該處理元素處理所接收的元組。相反,F(xiàn)C組件245可以使用備選執(zhí)行路徑 (例如,使用另一個PE 235)重定向所接收的元組以便處理。在另一個實施例中,所接收的元組可簡單地被丟棄而不做處理。例如,如果流應(yīng)用開發(fā)人員知道高管獎金被手動處理并與其他員工相分離,則FC組件M5可以被配置為丟棄所有這樣的元組如果處理這些元組, 將違反指定“部門”屬性包含值“主管”而“薪金”屬性包含大于“200000”的值的FC規(guī)則 250。通過在檢測到不允許的數(shù)據(jù)組合時防止在處理元素上處理所接收的元組,本發(fā)明的各實施例可以防止出現(xiàn)不允許的數(shù)據(jù)組合用于不正確的手段的情況。作為另一個實例, 本發(fā)明的各實施例可用于防止在判定患者是否適合器官移植時針對特定條件使用患者的遺傳標記。此外,本發(fā)明的各實施例不僅可以防止實際使用此標記(即,實際不當操作),而且還可以防止出現(xiàn)任何不當操作。也就是說,即使在判定患者是否適合器官移植時沒有使用有關(guān)患者遺傳標記的數(shù)據(jù),企業(yè)也可能希望所述遺傳標記數(shù)據(jù)甚至不可用于做出資格決策的處理元素。通過確保處理元素無法訪問遺傳標記數(shù)據(jù),本發(fā)明的各實施例確保了防止甚至出現(xiàn)任何不正確的決策制定。圖5是示出根據(jù)本發(fā)明的一個實施例的防止處理元素235上的不允許數(shù)據(jù)組合的方法500的流程圖。如所示出的,方法500始于步驟520,其中FC組件245接收數(shù)據(jù)元組以便使用指定處理元素235處理。在接收到數(shù)據(jù)元組時,F(xiàn)C組件245確定標識指定處理元素 235的不允許的數(shù)據(jù)組合的任何相關(guān)FC規(guī)則250 (步驟52 。一旦FC組件245確定了任何相關(guān)FC規(guī)則250,F(xiàn)C組件245就判定指定處理元素235的當前工作狀態(tài)(步驟524)。FC組件245然后判定使用PE 235處理所接收的數(shù)據(jù)元組是否將導(dǎo)致不允許的數(shù)據(jù)組合(步驟526)。如果FC組件245判定處理不會導(dǎo)致不允許的組合,則FC組件245將所接收的元組發(fā)送到指定處理元素235以便處理(步驟528)。但是,如果FC組件245判定處理將在處理元素235上導(dǎo)致不允許的數(shù)據(jù)組合,則FC組件245丟棄所接收的元組(步驟530)。一旦丟棄了元組,F(xiàn)C組件245然后就記錄有關(guān)所丟棄的元組的信息(步驟532)。 丟棄元組并記錄有關(guān)該元組的信息之后,或者備選地使用所述處理元素處理所接收的元組之后,方法500將結(jié)束。如上面所討論的,F(xiàn)C組件245可以以其他方式處理所接收的元組,而不是丟棄所接收的元組。例如,在本發(fā)明的一個實施例中,F(xiàn)C組件245可以使用占位符值替換所接收的元組中的值,然后將修改后的元組發(fā)送到處理元素以便處理。例如,假設(shè)企業(yè)希望防止處理元素在判定患者是否適合器官移植時針對特定特性考慮(或者能夠考慮)患者的遺傳標記。因此,當接收到包含患者數(shù)據(jù)的元組時,F(xiàn)C組件245可以使用占位符值替換該元組中描述遺傳標記的任何屬性,從而指示進行了替換。一旦使用占位符值替換了標記數(shù)據(jù),F(xiàn)C組件245就可以判定處理元素的更新后的工作狀態(tài),然后判定修改后的元組和更新后的工作狀態(tài)是否違反FC規(guī)則250中的任何規(guī)則。如果FC組件245判定不違反任何規(guī)則,則FC組件245可以將修改后的元組發(fā)送到處理元素以便處理。在本發(fā)明的另一個實施例中,F(xiàn)C組件245可改為根據(jù)備選執(zhí)行路徑將所接收的元組發(fā)送到另一個處理元素以便處理,而不是丟失所接收的元組。例如,遵循上面討論的實例,假設(shè)由于公眾對高管薪酬的強烈抗議,企業(yè)希望手動處理來自部門“主管”并且薪金在 200,000美元以上的所有員工的獎金。在這種情況下,企業(yè)可以創(chuàng)建FC規(guī)則250,從而防止在處理元素上運行的自動薪金程序處理其中“部門”屬性具有值“主管”并且“薪金”屬性具有大于200,000美元的值的員工數(shù)據(jù)。如果FC組件245然后判定所接收的數(shù)據(jù)元組違反了上述FC規(guī)則250,則FC組件245可以防止在所述處理元素上處理所述元組,并可以改為根據(jù)備選執(zhí)行路徑將所述元組重定向到另一個處理元素。因此,在此實例中,F(xiàn)C組件M5 可以將所接收的元組發(fā)送到針對處理高管薪金特別指定的處理元素。在本發(fā)明的另一個實施例中,F(xiàn)C組件245可以將所接收的元組發(fā)送到處理元素以便處理,而不是丟棄所接收的元組,但可能限制該處理元素可采取的操作。因此,例如假設(shè)處理元素通常對入站元組執(zhí)行兩個操作訪問數(shù)據(jù)庫的第一操作和訪問第三方服務(wù)的第二操作。此外,假設(shè)所接收的元組和訪問數(shù)據(jù)庫的第一操作將產(chǎn)生禁止的組合。因此,在此實例中,F(xiàn)C組件245可以將所接收的元組發(fā)送到處理元素,但可以將該處理元素限制為在處理所述元組時僅執(zhí)行第二操作。通過此方式,F(xiàn)C組件245可以避免中斷流應(yīng)用的正常操作流,同時仍然防止處理元素內(nèi)出現(xiàn)禁止的數(shù)據(jù)組合。圖6是示出根據(jù)本發(fā)明的一個實施例的防止處理元素上的不允許數(shù)據(jù)組合的方法600的流程圖。如所示出的,方法600始于步驟620,其中FC組件245判定如果指定處理元素處理所接收的數(shù)據(jù)元組,是否將出現(xiàn)不允許的組合。例如,F(xiàn)C組件245可以在先前方法500的步驟5 處進行此類判定。在檢測到如果處理所接收的元組將會出現(xiàn)不允許的組合時,F(xiàn)C組件245延遲在處理元素上處理所接收的元組(步驟62 。在本發(fā)明的一個實施例中,處理被延遲的時間量是預(yù)定的固定時間量。在本發(fā)明的另一個實施例中,F(xiàn)C組件 245根據(jù)任何數(shù)量的因素計算時間量。FC組件245可以考慮的示意性因素包括但不限于違反哪個FC規(guī)則250以觸發(fā)不允許的組合、所接收的元組中包含的值、收集的有關(guān)所接收的元組的元數(shù)據(jù),以及各種外部因素(例如,時間、接收元組的速率等)。一旦FC組件M5延遲了所接收的元組的處理,F(xiàn)C組件245然后就確定指定處理元素的更新后的工作狀態(tài)(步驟624)。此外,在示出的實施例中,F(xiàn)C組件245判定如果在指定處理元素上處理所接收的元組,是否將出現(xiàn)不允許的組合(步驟626)。FC組件245可以基于所接收的元組和指定處理元素的更新后的工作狀態(tài)的組合是否違反FC規(guī)則WO中的任何規(guī)則來進行決策。如果FC組件245判定此處理將導(dǎo)致不允許的組合,則所述方法再次在步驟620開始,因為FC組件245再次檢測到不允許的數(shù)據(jù)組合。相反,如果FC組件245 判定所述組合將不會違反FC規(guī)則250中的任何規(guī)則,則FC組件245將所接收的元組發(fā)送到指定處理元素以便處理(步驟628)。所述處理元素處理所接收的元組之后,方法600將結(jié)束。有利地,方法600防止處理元素內(nèi)不允許的數(shù)據(jù)組合,同時避免重定向(例如,到由備選執(zhí)行路徑指定的另一個處理元素)或丟棄所接收的數(shù)據(jù)元組(其處理將違反FC規(guī)則250中的至少一個規(guī)則)。例如,假設(shè)處理元素接收到第一數(shù)據(jù)元組并存儲所述第一元組中包含的值。此外,假設(shè)該處理元素在某一時間量之后刪除所存儲的值。如果該處理元素然后接收到第二數(shù)據(jù)元組,并且如果FC組件245判定第二元組和所存儲的值的組合違反FC 規(guī)則250中的至少一個規(guī)則,則FC組件245可以延遲第二元組在該處理元素上的處理,直到所存儲的值被刪除為止。這樣,F(xiàn)C組件245在該處理元素上避免了不允許的數(shù)據(jù)組合。如上所述,F(xiàn)C組件245可以被配置為在檢測到潛在的不允許組合時執(zhí)行各種操作。在本發(fā)明的特定實施例中,這些操作可以被組合,以便在檢測到潛在的不允許組合時執(zhí)行多個操作。圖7是示出根據(jù)本發(fā)明的一個實施例的防止處理元素上的不允許數(shù)據(jù)組合的方法700的流程圖。如所示出的,方法700始于步驟720,其中FC組件245判定如果指定處理元素要處理所接收的數(shù)據(jù)元組,是否將出現(xiàn)不允許的組合。例如,F(xiàn)C組件245可以在上面討論的方法500的步驟5 處進行此類判定。在檢測到如果處理所接收的元組將會出現(xiàn)不允許的組合時,F(xiàn)C組件245判定備選執(zhí)行路徑是否可用于處理所接收的數(shù)據(jù)元組(步驟722)。例如,F(xiàn)C組件245可以查詢管理系統(tǒng)105上的流管理器132以確定備選運算符圖 340是否可用于處理所接收的元組。如果FC組件245判定備選執(zhí)行路徑可用于處理所接收的數(shù)據(jù)元組,則FC組件245 將所接收的元組重定向到在備選執(zhí)行路徑中指定的處理元素以便處理所接收的元組(步驟724)。相反,如果FC組件245判定沒有可用的備選執(zhí)行路徑,則FC組件245延遲所接收的元組在所述處理元素上的處理(步驟726)。如上面所討論的,處理被延遲的時間量可以是預(yù)定的時間量,也可以是計算的時間量。FC組件245延遲所接收的元組的處理之后,F(xiàn)C組件245確定指定處理元素的更新后的工作狀態(tài)(步驟728)。FC組件245然后判定如果在指定處理元素上處理所接收的元組,是否將出現(xiàn)不允許的組合(步驟730)。FC組件245可以根據(jù)所接收的元組和指定處理元素的更新后的工作狀態(tài)的組合是否違反FC規(guī)則250中的任何規(guī)則來進行決策。如果FC 組件245判定此處理將導(dǎo)致不允許的組合,則所述方法再次在步驟620開始,因為FC組件 245再次檢測到不允許的數(shù)據(jù)組合。相反,如果FC組件245判定所述組合將不會違反FC規(guī)則250中的任何規(guī)則,則FC組件245將所接收的元組發(fā)送到指定處理元素以便處理(步驟 628)。所述處理元素處理所接收的元組之后,方法600結(jié)束。附圖中的流程圖和方塊圖示出了根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實施方式的架構(gòu)、功能和操作。在此方面,所述流程圖或方塊圖中的每個方塊都可以表示代碼的模塊、段或部分,所述代碼包括用于實現(xiàn)指定的邏輯功能(多個)的一個或多個可執(zhí)行指令。還應(yīng)指出,在某些備選實施方式中,在方塊中說明的功能可以不按圖中說明的順序發(fā)生。例如,示為連續(xù)的兩個方塊可以實際上被基本同時地執(zhí)行,或者某些時候,取決于所涉及的功能,可以以相反的順序執(zhí)行所述方塊。還將指出,所述方塊圖和/或流程圖的每個方塊以及所述方塊圖和/或流程圖中的方塊的組合可以由執(zhí)行指定功能或操作的基于專用硬件的系統(tǒng)或?qū)S糜布陀嬎銠C指令的組合來實現(xiàn)。雖然上述內(nèi)容涉及本發(fā)明的各實施例,但可以在不偏離本發(fā)明的基本范圍的情況下設(shè)計本發(fā)明的其他和進一步的實施例,并且本發(fā)明的范圍由以下權(quán)利要求確定。
權(quán)利要求
1.一種檢測第一處理元素內(nèi)的不允許的數(shù)據(jù)組合的方法,所述方法包括 接收要處理的數(shù)據(jù);確定描述所述第一處理元素內(nèi)的預(yù)定數(shù)據(jù)組合的一個或多個規(guī)則; 確定所述第一處理元素的當前工作狀態(tài),其中所述當前工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù);以及通過一個或多個計算機處理器的運算,判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)是否違反所述一個或多個規(guī)則中的任何規(guī)則。
2.如權(quán)利要求1中所述的方法,還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,在第二處理元素上處理所接收的數(shù)據(jù)。
3.如權(quán)利要求2中所述的方法,其中所接收的數(shù)據(jù)是數(shù)據(jù)流的一部分,并且還包括 在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,在所述第二處理元素上處理來自所述數(shù)據(jù)流的所有后續(xù)接收的數(shù)據(jù)。
4.如權(quán)利要求1中所述的方法,還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,丟棄所接收的數(shù)據(jù)。
5.如權(quán)利要求1中所述的方法,還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,將所接收的數(shù)據(jù)在所述第一處理節(jié)點上的處理延遲預(yù)定時間量。
6.如權(quán)利要求5中所述的方法,還包括確定所述第一處理元素的更新后的工作狀態(tài),其中所述更新后的工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù);以及在判定所接收的數(shù)據(jù)和所確定的更新后的工作狀態(tài)的組合不違反所述一個或多個規(guī)則中的任何規(guī)則時,在所述第一處理元素上處理所接收的數(shù)據(jù)。
7.如權(quán)利要求1中所述的方法,還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,通過使用占位符值替換所接收的數(shù)據(jù)中的至少一個值來修改所接收的數(shù)據(jù);以及在所述第一處理元素上處理修改后的數(shù)據(jù)。
8.如權(quán)利要求1中所述的方法,其中所確定的當前工作狀態(tài)進一步包括最近可由所述第一處理元素訪問的最近數(shù)據(jù),并且其中所述最近數(shù)據(jù)不再可由所述第一處理元素訪問。
9.如權(quán)利要求1中所述的方法,還包括在確定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)不違反所述一個或多個規(guī)則中的任何規(guī)則時,通過一個或多個計算機處理器的運算,在所述第一處理元素上處理所接收的數(shù)據(jù)。
10.如權(quán)利要求1中所述的方法,還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時限制與在所述第一處理節(jié)點上處理數(shù)據(jù)關(guān)聯(lián)的一個或多個運算;以及在受限制的第一處理節(jié)點上處理所接收的數(shù)據(jù)。
11.一種系統(tǒng),包括計算機處理器;以及包含程序的存儲器,當所述程序在所述計算機處理器上執(zhí)行時,將執(zhí)行用于檢測第一處理元素內(nèi)的不允許的數(shù)據(jù)組合的操作,所述操作包括接收要處理的數(shù)據(jù);確定描述所述第一處理元素內(nèi)的預(yù)定數(shù)據(jù)組合的一個或多個規(guī)則;確定所述第一處理元素的當前工作狀態(tài),其中所述當前工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù);以及判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)是否違反所述一個或多個規(guī)則中的任何規(guī)則。
12.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,在第二處理元素上處理所接收的數(shù)據(jù)。
13.如權(quán)利要求12中所述的系統(tǒng),其中所接收的數(shù)據(jù)是數(shù)據(jù)流的一部分,并且所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,在所述第二處理元素上處理來自所述數(shù)據(jù)流的所有后續(xù)接收的數(shù)據(jù)。
14.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,丟棄所接收的數(shù)據(jù)。
15.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,將所接收的數(shù)據(jù)在所述第一處理節(jié)點上的處理延遲預(yù)定時間量。
16.如權(quán)利要求15中所述的系統(tǒng),所述操作還包括確定所述第一處理元素的更新后的工作狀態(tài),其中所述更新后的工作狀態(tài)包括正在所述第一處理元素上處理的其他數(shù)據(jù)和可由所述第一處理元素訪問的其他數(shù)據(jù);以及在判定所接收的數(shù)據(jù)和所確定的更新后的工作狀態(tài)的組合不違反所述一個或多個規(guī)則中的任何規(guī)則時,在所述第一處理元素上處理所接收的數(shù)據(jù)。
17.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時,通過使用占位符值替換所接收的數(shù)據(jù)中的至少一個值來修改所接收的數(shù)據(jù);以及在所述第一處理元素上處理修改后的數(shù)據(jù)。
18.如權(quán)利要求11中所述的系統(tǒng),其中所確定的當前工作狀態(tài)進一步包括最近可由所述第一處理元素訪問的最近數(shù)據(jù),并且其中所述最近數(shù)據(jù)不再可由所述第一處理元素訪問。
19.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在確定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)不違反所述一個或多個規(guī)則中的任何規(guī)則時,在所述第一處理元素上處理所接收的數(shù)據(jù)。
20.如權(quán)利要求11中所述的系統(tǒng),所述操作還包括在判定所接收的數(shù)據(jù)和所確定的當前工作狀態(tài)的組合違反所述一個或多個規(guī)則中的至少一個規(guī)則時限制與在所述第一處理節(jié)點上處理數(shù)據(jù)關(guān)聯(lián)的一個或多個運算;以及在受限制的第一處理節(jié)點上處理所接收的數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種用于檢測處理元素內(nèi)的不允許的數(shù)據(jù)組合的方法和系統(tǒng)。描述了用于檢測處理元素內(nèi)的不允許的數(shù)據(jù)組合的技術(shù)。本發(fā)明的各實施例通??梢越邮找褂盟鎏幚碓靥幚淼臄?shù)據(jù),并判定所接收的數(shù)據(jù)和當前工作狀態(tài)是否違反描述不允許的數(shù)據(jù)組合的一個或多個規(guī)則。如果檢測到不允許的組合,本發(fā)明的各實施例可以以防止所述處理元素內(nèi)的不允許數(shù)據(jù)組合的備選方式管理所接收的數(shù)據(jù)的處理。
文檔編號G06F17/30GK102375875SQ20111023534
公開日2012年3月14日 申請日期2011年8月16日 優(yōu)先權(quán)日2010年8月20日
發(fā)明者J·M·桑多索索, M·J·布蘭松 申請人:國際商業(yè)機器公司