專利名稱:服務(wù)器裝置和保證數(shù)據(jù)次序的方法
技術(shù)領(lǐng)域:
在本文中討論的實施例針對一種服務(wù)器裝置、數(shù)據(jù)次序保證程序以及保證數(shù)據(jù)次序的方法。
背景技術(shù):
近來,作為用于以并行方式處理時時刻刻從不同目標收集到的許多數(shù)據(jù)集的技術(shù),CEP (復合事件處理)是公知的。在復合事件處理中,從接收到的數(shù)據(jù)檢測事件,并且執(zhí)行與檢測到的事件相關(guān)的處理。盡管有時復合事件處理被稱為ESP (事件流處理),但是在本文中復合事件處理連同ESP將被稱為CEP。在執(zhí)行復合事件處理的CEP系統(tǒng)中,存在臨時地處理大量接收到的數(shù)據(jù)的情況,并且在這樣的情況下,處理負荷增加,并且處理性能可能降低。另外,因為CEP系統(tǒng)是實時處理數(shù)據(jù)的系統(tǒng),所以期望CEP系統(tǒng)一直運行并且不允許停止。因此在CEP系統(tǒng)中,通過使用用于云等可以靈活地分配資源的系統(tǒng)技術(shù),根據(jù)處理負荷的變化將處理分派至多個服務(wù)器或虛擬機(VM)。例如,布置在具有高處理負荷的服務(wù)器或虛擬機處的、稱為查詢或伴隨有查詢的數(shù)據(jù)的交易請求語句作為處理元素被移動至另一服務(wù)器或另一虛擬機,由此分派處理。然而,在CEP系統(tǒng)中,存在在處理元素發(fā)生移動的情況下數(shù)據(jù)次序改變的可能性。例如,假定數(shù)據(jù)傳輸源服務(wù)器為A,處理元素的移動源服務(wù)器為B,以及處理元素的移動目的地服務(wù)器為C。在此將考慮以下情況:其中,傳輸源服務(wù)器A將數(shù)據(jù)傳送至移動源服務(wù)器B,并且處理元素從移動源服務(wù)器B移動至移動目的地服務(wù)器C。在處理元素從移動源服務(wù)器B移動至移動目的地服務(wù)器C時,從傳輸源服務(wù)器A傳送至移動源服務(wù)器B的數(shù)據(jù)到達移動源服務(wù)器B。因為處理元素已經(jīng)移動至移動目的地服務(wù)器C,移動源服務(wù)器B將到達的數(shù)據(jù)傳送至移動目的地服務(wù)器C。當完成處理元素的移動時,移動目的地服務(wù)器C向傳輸源服務(wù)器A通知處理元素的移動完成。在通知移動完成之后,傳輸源服務(wù)器A將數(shù)據(jù)直接傳送至移動目的地服務(wù)器C。在這樣的情況下,存在以下可能:從傳輸源服務(wù)器A直接傳送至移動目的地服務(wù)器C的數(shù)據(jù)在從傳輸源服務(wù)器A通過移動源服務(wù)器B而傳送至移動目的地服務(wù)器C的數(shù)據(jù)之前到達移動目的地服務(wù)器C。當數(shù)據(jù)次序如上發(fā)生改變時,存在所代表的含義根據(jù)數(shù)據(jù)次序而改變的情況。例如,將考慮通過CEP系統(tǒng)實現(xiàn)安全系統(tǒng)的情況,在該安全系統(tǒng)中布置了檢測使用鑰匙解鎖房屋前門的門傳感器和檢測出現(xiàn)在室內(nèi)的人的運動傳感器,并且監(jiān)測從門傳感器和運動傳感器傳送的數(shù)據(jù)。在這樣的情況下,當門傳感器所獲取的對使用鑰匙打開或關(guān)閉前門的檢測的數(shù)據(jù)和運動傳感器獲取的對室內(nèi)運動的檢測的數(shù)據(jù)的次序改變時,含義發(fā)生改變。例如,在檢測到使用鑰匙解鎖前門之后在室內(nèi)檢測到對象的情況可以認為是業(yè)主返回房屋。另一方面,在檢測到室內(nèi)對象后檢測到使用鑰匙解鎖前門的情況可以認為是盜賊逃走。因此,提出了即使當處理元素發(fā)生移動時仍然保持數(shù)據(jù)次序的技術(shù)。在此技術(shù)中,例如,當確定了處理元素的移動源服務(wù)器和移動目的地服務(wù)器時,管理CEP系統(tǒng)的控制器將移動請求傳送至移動源服務(wù)器和移動目的地服務(wù)器。移動源服務(wù)器將暫停請求發(fā)送至所有將數(shù)據(jù)傳送至移動源服務(wù)器的傳輸源,并且等待對暫停請求的確認,從而鎖定傳輸源中的數(shù)據(jù)傳輸并且在傳輸源中緩沖作為移動目標的處理元素的數(shù)據(jù)。當移動源服務(wù)器從所有傳輸源接收到確認時,不存在處于傳輸處理中的數(shù)據(jù)。移動源服務(wù)器處理數(shù)據(jù)直到從所有傳輸源接收到確認為止。然后,當從所有傳輸源接收到確認時,移動源服務(wù)器開始處理元素的移動。當處理元素的移動完成之后,移動目的地服務(wù)器將重啟請求傳送至所有傳輸源。當接收到重啟請求時,傳輸源通過改變路由表來將數(shù)據(jù)的傳輸目的地改變?yōu)橐苿幽康牡胤?wù)器,重啟數(shù)據(jù)傳輸以及將緩沖的數(shù)據(jù)傳送至移動目的地服務(wù)器。專利文獻1:日本早期公開專利公布第2011-039820號非專利文獻1:Mehul A.Shah, Joseph M.Hellerstein, SirishChandrasekaranand Michael J.Franklin, “Flux:An AdaptivePartitioning Operator for ContinuousQuery Systems”,ICDEj 2003然而,根據(jù)相關(guān)技術(shù),當處理元素移動時,移動源服務(wù)器通過將暫停請求傳送至所有傳輸源來停止傳輸源中的數(shù)據(jù)的傳輸。因此,根據(jù)相關(guān)的技術(shù),對于處理元素的每次移動存在停止數(shù)據(jù)處理的開銷。更具體地,當許多處理元素移動時,每當每個處理元素移動時停止數(shù)據(jù)處理,并且因此開銷增加。因此,本發(fā)明的實施例的一個方面的目的是提供能夠抑制伴隨查詢移動的開銷的服務(wù)器裝置、數(shù)據(jù)次序保證程序以及保證數(shù)據(jù)次序的方法。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的方面,服務(wù)器裝置包括:存儲器;以及耦合到存儲器的處理器,其中該處理器執(zhí)行處理,該處理包括:對于每個預定時期,停止將數(shù)據(jù)傳送至多個節(jié)點,其中,在多個節(jié)點中放置了每個均用于在數(shù)據(jù)與設(shè)定的條件一致時執(zhí)行處理的多個查詢,每個節(jié)點存儲路由表,在該路由表中,針對作為每個查詢的處理目標的每個數(shù)據(jù),存儲每個查詢的布置目的地和根據(jù)每個查詢的移動而更新的版本;當停止數(shù)據(jù)的傳輸時,從多個節(jié)點獲取路由表的版本;比較所獲取的多個節(jié)點的路由表的版本;以及當作為比較的結(jié)果存在存儲舊版本的路由表的節(jié)點時,更新該節(jié)點的路由表。
圖1是示出包括根據(jù)第一實施例的服務(wù)器裝置的CEP系統(tǒng)的整體配置的圖;圖2是示出根據(jù)第二實施例的CEP系統(tǒng)的配置的示例的圖;圖3是示意地示出根據(jù)數(shù)據(jù)流的CEP系統(tǒng)的配置的圖;圖4A是示出查詢的移動的示例的圖;圖4B是示出查詢的移動的另一示例的圖;圖5是示出對查詢分組的示例的圖;圖6是路由表的數(shù)據(jù)配置的示例的圖;圖7是示出存儲目的地表的數(shù)據(jù)配置的示例的圖;圖8是示出管理服務(wù)器的配置的示例的圖;圖9是示出停止時期表的數(shù)據(jù)配置的示例的圖10是示出數(shù)據(jù)次序保證處理的序列的流程圖;圖11是示意地示出根據(jù)第三實施例的CEP系統(tǒng)的配置的圖;圖12是示出路由表的數(shù)據(jù)配置的示例的圖;圖13是示出管理服務(wù)器的配置的示例的圖;圖14是示出數(shù)據(jù)次序保證處理的序列的流程圖;以及圖15是示出執(zhí)行數(shù)據(jù)次序保證程序的計算機的圖。
具體實施例方式將參照
本發(fā)明的優(yōu)選實施例。然而,本發(fā)明不限于這些實施例。另外,可以在不導致處理內(nèi)容彼此矛盾的范圍內(nèi)適當?shù)亟M合實施例。[a]第一實施例將描述根據(jù)第一實施例的服務(wù)器裝置。圖1是示出包括根據(jù)第一實施例的服務(wù)器裝置的CEP系統(tǒng)的整體配置的圖。服務(wù)器裝置10是管理CEP系統(tǒng)的物理服務(wù)器,并且例如是放置在數(shù)據(jù)中心或每個公司中用于管理的服務(wù)器計算機。服務(wù)器裝置10可以與多個節(jié)點11通信。每個節(jié)點11是服務(wù)器裝置或在服務(wù)器裝置中操作的虛擬機。在每個節(jié)點11中,多個查詢12以分布式方式布置,用于在數(shù)據(jù)與設(shè)定的條件一致時執(zhí)行處理。從各個目標收集到的數(shù)據(jù)被傳遞至每個節(jié)點11。當接收到的數(shù)據(jù)與在查詢12中設(shè)定的條件一致時,節(jié)點11執(zhí)行查詢12設(shè)定的處理。布置在每個節(jié)點11中的查詢12可以在節(jié)點11之間移動。例如,當為了分散處理負荷等而移動查詢12時,每個節(jié)點11移動查詢12而不停止來自數(shù)據(jù)傳輸源的數(shù)據(jù)的傳輸。每個節(jié)點11存儲路由表13,在路由表13中針對作為每個查詢12的處理目標的每個數(shù)據(jù)條目存儲了查詢12的布置目的地和根據(jù)查詢12的移動而更新的版本。當移動查詢12時,每個節(jié)點11更新在路由表13中所存儲的移動的查詢12的布置目的地和版本。例如,當移動查詢12時,移動目的地的節(jié)點11更新在路由表13中所存儲的移動的查詢12的布置目的地和版本,并且將移動的查詢12和移動目的地通知給其它節(jié)點11。當將查詢12的移動和移動目的地通知給每個節(jié)點11時,節(jié)點11更新在路由表13中所存儲的移動的查詢12的布置目的地和版本。如在圖1中所示,服務(wù)器裝置10包括停止單元14、獲取單元15、比較單元16以及更新單元17。停止單元14臨時地停止數(shù)據(jù)的傳遞。例如,針對每個預定時期停止單元14停止將數(shù)據(jù)傳送至每個節(jié)點11。停止單元14通過以預定時期將數(shù)據(jù)傳輸停止請求傳送至時期性地傳送數(shù)據(jù)的傳輸源來停止數(shù)據(jù)的傳輸。另外,當作為比較單元16 (將在下文中描述)所執(zhí)行的比較的結(jié)果路由表13的版本相同時,或當更新單元17 (將在下文中描述)完成路由表13的更新時,停止單元14通過將數(shù)據(jù)傳輸重啟請求傳送至傳輸源來重啟數(shù)據(jù)的傳輸。獲取單元15獲取各種信息。例如,當停止單元14停止數(shù)據(jù)的傳輸時,獲取單元15從每個節(jié)點11獲取路由表13的版本。獲取單元15例如將用于傳送路由表13版本的請求傳送至每個節(jié)點11。然后,獲取單元15通過從每個節(jié)點11接收版本通知來從每個節(jié)點11獲取路由表13的版本。比較單元16執(zhí)行各種比較操作。例如,比較單元16比較獲取單元15所獲取的節(jié)點11的路由表13的版本。更新單元17執(zhí)行各種更新操作。例如,作為比較單元16所執(zhí)行的比較的結(jié)果,當存在存儲舊版本的路由表13的節(jié)點11時,更新單元17更新該節(jié)點11的路由表13。當舊版本的路由表13存儲在節(jié)點11中的一個節(jié)點中時,更新單元17請求存儲新版本的路由表13的節(jié)點11傳送路由表13的信息。當從節(jié)點11接收到路由表13時,比較單元16將路由表13的內(nèi)容傳送至存儲舊版本的路由表13的節(jié)點11,并且更新該節(jié)點11的路由表13。另外,當服務(wù)器裝置10存儲路由表13并且路由表13是新的時,可傳送存儲的路由表13的內(nèi)容。另外,在圖1中所示的示例中,為了表示功能配置,停止單元14、獲取單元15、比較單元16以及更新單元17彼此分離地劃分,例如,可通過一個裝置來配置功能配置。作為裝置的示例,包括電子電路,諸如CPU (中央處理器單元)、MPU (微處理器單元)等。另外,作為裝置,可使用諸如ASIC (專用集成電路)或FPGA (現(xiàn)場可編程門陣列)的集成電路。在本文中,在CEP系統(tǒng)中存在以下情況:其中,依賴于被配置為系統(tǒng)的處理的特性,不請求保證精確的數(shù)據(jù)處理次序,而是以被配置為系統(tǒng)的處理所請求的精度保證數(shù)據(jù)處理次序就足夠。例如,將考慮通過CEP系統(tǒng)實現(xiàn)安全系統(tǒng)的情況,在該安全系統(tǒng)中布置了檢測使用鑰匙解鎖房屋前門的門傳感器和檢測出現(xiàn)在室內(nèi)的人的運動傳感器,并且監(jiān)測從門傳感器和運動傳感器傳送的數(shù)據(jù)。在這樣的安全系統(tǒng)中,當在人使用鑰匙解鎖前門之后進入房屋內(nèi)部時,存在大約幾秒鐘的間隔。因此,服務(wù)器裝置10針對保證所請求精度的數(shù)據(jù)次序的每個預定時期,停止將數(shù)據(jù)傳送至每個節(jié)點11,比較節(jié)點11的路由表13的版本以及更新舊版本的路由表13。例如,當通過CEP系統(tǒng)實現(xiàn)上述的安全系統(tǒng)時,預定時期被確定為在幾百毫秒至幾秒的范圍中。預定時期可存儲在放置在服務(wù)器裝置10中的存儲單元中。另外,可配置成使得預定時期存儲在外部存儲裝置中并且從外部存儲裝置讀取該預定時期。此外,可在針對每個預定時期停止將數(shù)據(jù)傳送至每個節(jié)點11的程序中定義預定時期。如上所述,服務(wù)器裝置10通過針對每個時期停止數(shù)據(jù)的處理來獲得每個節(jié)點11的路由表13的一致性,在該時期保證被配置為系統(tǒng)的處理所請求的精度的數(shù)據(jù)次序。因此,根據(jù)服務(wù)器裝置10,與每當移動查詢12時就停止數(shù)據(jù)處理的情況相比,可以抑制開銷的發(fā)生。更具體地,當在節(jié)點11之間移動多個查詢12時,盡管當針對查詢12的每個移動停止數(shù)據(jù)處理時開銷增加,但是通過針對每個預定時期停止數(shù)據(jù)處理而獲取路由表13的一致性,可以抑制開銷。如上所述,服務(wù)器裝置10針對每個預定時期停止將數(shù)據(jù)傳送至多個節(jié)點11。另夕卜,當停止數(shù)據(jù)的傳輸時,服務(wù)器裝置10從多個節(jié)點11獲取路由表13的版本。然后,服務(wù)器裝置10將獲取的多個節(jié)點11的路由表13的版本相互進行比較。當作為比較結(jié)果存在存儲舊版本的路由表13的節(jié)點11時,服務(wù)器裝置10更新節(jié)點11的路由表13。據(jù)此,根據(jù)服務(wù)器裝置10,可以保證被配置為系統(tǒng)的處理所請求的精度的數(shù)據(jù)處理次序。另外,根據(jù)服務(wù)器裝置10,可以抑制伴隨查詢12的移動的開銷。[b]第二實施例現(xiàn)在將描述第二實施例。在第二實施例中將描述CEP系統(tǒng)20,在該CEP系統(tǒng)20中,在多個服務(wù)器裝置30上操作VM (虛擬機)31,并且多個查詢33被分散以布置在VM 31中。圖2是示出根據(jù)第二實施例的CEP系統(tǒng)的配置的示例的圖。CEP系統(tǒng)20包括服務(wù)器裝置21、多個服務(wù)器裝置30以及管理服務(wù)器40。服務(wù)器裝置21、每個服務(wù)器裝置30以及管理服務(wù)器40通過網(wǎng)絡(luò)22互連為可通信的。作為這樣的網(wǎng)絡(luò)22的一種類型,存在諸如LAN(局域網(wǎng))或VPN (虛擬私人網(wǎng)絡(luò))的任意通信網(wǎng)絡(luò),不論網(wǎng)絡(luò)是有線的還是無線的。在服務(wù)器裝置30中操作VM 31。在每個VM 31中,多個查詢33被分散布置。服務(wù)器裝置21通過外部網(wǎng)絡(luò)23從各種目標接收數(shù)據(jù)并且將接收到的數(shù)據(jù)傳遞至VM 31,在VM31中布置了以數(shù)據(jù)作為處理目標的查詢33。管理服務(wù)器40管理服務(wù)器裝置21和每個服務(wù)器裝置30,并且控制布置在每個VM 31中的查詢33的移動。另外,在圖2所示的示例中,盡管示出了三個服務(wù)器裝置30,但是服務(wù)器裝置30的數(shù)量可能具有任何值。圖3是示意地示出根據(jù)數(shù)據(jù)流的CEP系統(tǒng)的配置的圖。服務(wù)器裝置21、VM 31以及管理服務(wù)器40存儲路由表50,在路由表50中,針對作為每個查詢33的處理目標的每個數(shù)據(jù)條目,存儲查詢33的布置目的地和根據(jù)查詢33的移動而更新的版本。服務(wù)器裝置21通過外部網(wǎng)絡(luò)23從各種目標接收多個數(shù)據(jù)條目。服務(wù)器裝置21執(zhí)行以預定的數(shù)據(jù)配置布置接收到的數(shù)據(jù)條目的預處理。然后,服務(wù)器裝置21基于路由表50指定以接收到的數(shù)據(jù)作為處理目標的查詢33的布置目的地,并且在預處理之后將數(shù)據(jù)傳送至指定的布置目的地的VM 31。在本實施例中,盡管示出了一個服務(wù)器裝置21,但是可配置成使得布置多個服務(wù)器裝置21并且多個服務(wù)器裝置21所接收到的數(shù)據(jù)被分散。VM 31操作數(shù)據(jù)流處理引擎32。數(shù)據(jù)流處理引擎32是實現(xiàn)復合事件處理的軟件。數(shù)據(jù)流處理引擎32通過將接收到的數(shù)據(jù)與查詢33的條件等式進行匹配來檢測事件,并且控制檢測到的事件的執(zhí)行。另外,在CEP系統(tǒng)20中,可根據(jù)多個查詢33執(zhí)行一系列處理。例如,可配置成使得作為根據(jù)上級查詢33所獲取的執(zhí)行結(jié)果的數(shù)據(jù)被傳送至下級查詢33,以使其成為下級查詢33的輸入數(shù)據(jù)。當根據(jù)多個查詢33執(zhí)行一系列處理時,數(shù)據(jù)流處理引擎32將作為查詢33的執(zhí)行結(jié)果的數(shù)據(jù)傳送至在其中操作下級查詢33的VM 31。另外,根據(jù)從管理服務(wù)器40傳送的用于移動查詢33的指令,數(shù)據(jù)流處理引擎32控制將查詢33移動至在另一 VM 31上操作的數(shù)據(jù)流處理引擎32或從在另一 VM 31上操作的數(shù)據(jù)流處理引擎32移動查詢33的處理。當接收到作為移動的查詢33的處理目標的數(shù)據(jù)時,數(shù)據(jù)流處理引擎32將接收到的數(shù)據(jù)傳送至作為查詢33的移動目的地的VM 31。另外,當從管理服務(wù)器40接收到傳輸停止請求(將在下文中描述)時,數(shù)據(jù)流處理引擎32執(zhí)行檢查處理,在該處理中檢查是否存在處于VM 31之間的傳輸處理當中的數(shù)據(jù)。例如,數(shù)據(jù)流處理引擎32將控制分組傳送至所有其它VM 31的數(shù)據(jù)流處理引擎32。然后,數(shù)據(jù)流處理引擎32等待從其它VM 31傳送的控制分組的接收。這里,如果在接收到傳輸停止請求時存在處于VM 31之間的傳輸處理當中的數(shù)據(jù),則在將控制分組傳送至其它VM 31之后在從所有其它VM31接收到控制分組之前,VM 31接收將要傳送至其它VM 31的傳輸數(shù)據(jù)。另一方面,如果不存在處于VM 31之間的傳輸處理當中的數(shù)據(jù),則在將控制分組傳送至其它VM 31之后,VM 31從所有其它VM 31接收控制分組而不接收傳輸數(shù)據(jù)。當在從所有其它VM 31接收到控制分組之前接收到傳輸數(shù)據(jù)時,數(shù)據(jù)流處理引擎32將傳輸數(shù)據(jù)傳送至傳輸目的地的VM 31。然后,數(shù)據(jù)流處理引擎32傳送用于再次執(zhí)行檢查處理的請求。如果接收到用于再次執(zhí)行檢查處理的請求,每個VM 31的數(shù)據(jù)流處理引擎32將控制分組再次傳送至所有其它VM 31的數(shù)據(jù)流處理引擎32。
另一方面,如果從所有其它節(jié)點11接收到控制分組而沒有接收到傳輸數(shù)據(jù),則數(shù)據(jù)流處理引擎32將來自所有VM 31的控制分組的接收通知給服務(wù)器裝置10。另外,每個VM31的數(shù)據(jù)流處理引擎32可向服務(wù)器裝置10通知此通知。此外,當一個VM 31的數(shù)據(jù)流處理引擎32典型地從所有其它VM 31接收通知而不接收用于再次執(zhí)行檢查處理的請求時,數(shù)據(jù)流處理引擎32可通知服務(wù)器裝置10。在此,將描述查詢33的移動。存在查詢33包括伴隨數(shù)據(jù)的情況。例如,當執(zhí)行了計算在預定時期中作為處理目標的數(shù)據(jù)的平均值的處理時,查詢33保持在預定時期中接收到的數(shù)據(jù)以計算平均值。另外,存在查詢33使用用于處理的預定的數(shù)據(jù)(諸如表等)的情況。當移動查詢33時,數(shù)據(jù)流處理引擎32移動作為處理元素的查詢33和查詢33所伴隨的數(shù)據(jù)。另外,在查詢33的移動中,可考慮以下情況。圖4A是示出查詢33的移動的示例的圖。如在圖4A中所示,當作為處理目標的數(shù)據(jù)對于每個查詢33不同時,移動查詢33,并且在移動目的地處理作為處理目標的數(shù)據(jù)。例如,當處理是分布式時,處理33被分別地移動至互相不同的VM 31,并且由VM 31處理數(shù)據(jù)。另一方面,例如當處理負荷低時,查詢33被移動至一個VM 31,并且由該VM 31處理數(shù)據(jù)。另一方面,存在具有作為查詢33的處理目標的多個數(shù)據(jù)條目的情況。例如,存在股票代碼和股票價格被作為數(shù)據(jù)傳遞至VM 31的情況,并且通過一個查詢33執(zhí)行計算在預定時期中每個股票代碼的股票價格的移動平均值的處理。圖4B是示出查詢33的移動的另一示例的圖。如在圖4B中左側(cè)所示,查詢33具有作為處理目標的數(shù)據(jù)I至數(shù)據(jù)η。在這樣的情況下,針對作為處理目標的數(shù) 據(jù)I至數(shù)據(jù)η中的每個,移動查詢33。例如,當處理是分布式時,查詢33被復制并且移動至不同的VM 31,并且作為處理目標的數(shù)據(jù)I至數(shù)據(jù)η由相互不同的VM 31處理。另一方面,例如當處理負荷低時,查詢33被布置在一個VM 31中,并且作為處理目標的數(shù)據(jù)I至數(shù)據(jù)η由一個VM 31處理。然而,在每個查詢33被單獨地指示進行移動并且被移動時,用于移動的指示的數(shù)量隨著作為移動目標的查詢33的數(shù)量增加而增加。另外,在查詢33在路由表50中針對作為處理目標的每個數(shù)據(jù)條目存儲布置目的地的情況中,路由表50中的數(shù)據(jù)量隨著作為查詢33的處理目標的數(shù)據(jù)增加而增加。因此,在本實施例中,多個查詢33被劃分成多個組,并且移動每個組的查詢。另外,路由表50管理每個組的存儲目的地。圖5是示出對查詢33分組的示例的圖。例如,假定用于識別每個數(shù)據(jù)條目的鍵值(key)作為32位整型數(shù)據(jù)被包括在作為處理目標的每個數(shù)據(jù)條目中,并且互相不同的鍵值被設(shè)定為查詢33的處理條件。在這樣的情況下,例如,執(zhí)行分組以使具有相同的余數(shù)的查詢33被劃分到同一組,該余數(shù)是通過將在處理條件中設(shè)定的鍵值除以預定的整數(shù)值而獲取的。作為示例,靜態(tài)地執(zhí)行分組以使具有通過將在處理條件中設(shè)定的鍵值除以8191所獲取的相同的余數(shù)的查詢33被劃分到同一組。因此,查詢33被劃分為8191個組。在圖5所示的示例中,通過對查詢33進行分組所獲取的每個組以V節(jié)點來表示。在此實施例中,對于每個V節(jié)點查詢33被布置在VM 31 中。在路由表50中,針對每個V節(jié)點存儲布置目的地和版本。圖6是路由表的數(shù)據(jù)配置的示例的圖。如在圖6中所示,路由表50具有ID、存儲目的地以及版本號這些項。ID項是存儲用于識別V節(jié)點的ID的區(qū)域。存儲目的地項是存儲表示存儲目的地的VM 31的ID的區(qū)域。版本號項是存儲代表版本的值的區(qū)域。在圖6的示例中,表示為存儲目的地的VM31的ID為“1”,并且在具有ID “12”的V節(jié)點處版本為“3”。每個VM 31的服務(wù)器裝置21和數(shù)據(jù)流處理引擎32基于鍵值確定查詢33的存儲目的地。例如,當包括在接收到的數(shù)據(jù)中的鍵值為8203時,服務(wù)器裝置21計算通過將8203除以8191獲取的余數(shù),即12。然后,服務(wù)器裝置21從路由表50獲取V節(jié)點的ID為12的存儲目的地。在圖6所示的示例中,獲取V節(jié)點的ID為12的存儲目的地的VM 31的ID為
1在每個VM 31中,確定用于通信的IP地址和端口號,并且根據(jù)每個VM 31的IP地址和端口號為其分配文件描述符。服務(wù)器裝置21、每個VM 31以及管理服務(wù)器40將文件描述符編號和表示VM 31的ID存儲在存儲目的地表中。圖7是示出存儲目的地表的數(shù)據(jù)配置的示例的圖。如在圖7中所示,在存儲目的地表中,包括ID項和文件描述符項。ID項是存儲VM 31的ID的區(qū)域。文件描述符項是存儲分配給連接至ID所表示的VM 31的通信線的文件描述符編號的區(qū)域。圖7的示例表示分配給連接至具有ID “O”的VM 31的通信線的文件描述符編號為“6”。當與VM 31執(zhí)行通信時,從存儲目的地表中獲取對應于作為通信目標的VM 31的ID的文件描述符編號。例如,當作為通信目標的VM 31的ID為“I”時,從存儲目的地表獲取具有ID “I”的VM 31的文件描述符編號為“7”。然后,使用獲取的文件描述符編號通過TCP/IP套接字(socket)與通信目標的VM 31執(zhí)行通信。另外,每個VM 31檢測從每個服務(wù)器裝置30分配的資源的負荷狀態(tài)(諸如CPU和存儲器的使用率),并且將表示檢測到的負荷狀態(tài)的負荷信息傳送至管理服務(wù)器40。管理服務(wù)器40基于從每個VM 31傳送的負荷信息指定作為移動目標的查詢33。然后,管理服務(wù)器40傳送用于移動作為移動目標的查詢33的指示。另外,在本實施例中,以V節(jié)點為單位移動查詢33。管理服務(wù)器40將包括移動目的地的VM 31的ID和作為移動目標的V節(jié)點的ID的移動指示傳送至移動源的VM 31。接收到移動指示的VM 31的數(shù)據(jù)流處理引擎32對處理元素(諸如屬于作為移動目標的V節(jié)點的查詢33和查詢33所伴隨的數(shù)據(jù))進行串行化,并且將串行化后的處理元素傳送至移動目的地的VM 31。移動目的地的VM 31的數(shù)據(jù)流處理引擎32通過解串行來恢復傳送的數(shù)據(jù)并且開始操作恢復的查詢33。另外,數(shù)據(jù)流處理引擎32用在其中操作數(shù)據(jù)流處理引擎32的VM 31的ID更新在路由表50中所存儲的、屬于作為移動目標的V節(jié)點的查詢33的存儲目的地,并且更新版本。例如,數(shù)據(jù)流處理引擎32用通過將版本值加一所獲取的值更新版本值。然后,數(shù)據(jù)流處理引擎32將作為移動目標的V節(jié)點的ID和作為移動目的地的VM 31的ID通知給每個VM 31、服務(wù)器裝置21以及管理服務(wù)器40。當通知了移動時,每個VM 31、服務(wù)器裝置21以及管理服務(wù)器40在路由表50中用作為移動目的地的所通知的VM 31的ID更新屬于作為移動目標的所通知的V節(jié)點的查詢33的存儲目的地并且更新版本。例如,每個VM 31、服務(wù)器裝置21以及管理服務(wù)器40接收通過將版本值加一所獲取的值,并且用該值更新版本值。圖8是示出管理服務(wù)器的配置的示例的圖。如在圖8中所示,管理服務(wù)器40包括通信控制I/F單元41、存儲單元42以及控制單元43。通信控制I/F單元41包括至少一個端口并且是控制每個VM 31與服務(wù)器裝置21之間的通信的接口。通信控制I/F單元41將各種信息傳送至每個VM 31和服務(wù)器裝置21并且從每個VM 31和服務(wù)器裝置21接收各種信息。例如,通信控制I/F單元41從每個VM31接收負荷信息。另外,通信控制I/F單元41將各種指示傳送至VM 31。存儲單元42存儲各種信息。例如,存儲單元42在其中存儲上述的路由表50、最大時期信息51以及停止時期表52。配置存儲單元42的裝置的示例包括可以重寫數(shù)據(jù)的半導體存儲器(諸如閃存或非易失靜態(tài)隨機存取存儲器(NVSRAM))和存儲裝置(諸如硬盤或光盤)。最大時期信息51是所存儲的、當數(shù)據(jù)在CEP系統(tǒng)20的多個VM 31之間傳輸時傳輸所需的最大時期。由CEP系統(tǒng)20的確定單元43a從終端裝置(諸如被認為可與管理服務(wù)器40通信的客戶端計算機)或設(shè)置在管理服務(wù)器40中的輸入裝置(諸如鼠標、鍵盤等)登記最大時期信息51。停止時期表52是針對通過將多個查詢33劃分為多個組而獲取的組存儲預定時期(在該預定時期停止數(shù)據(jù)傳輸)的表。圖9是示出停止時期表的數(shù)據(jù)配置的示例的圖。如在圖9中所示,在停止時期表52中包括ID項和時期項。ID項是存儲V節(jié)點的ID的區(qū)域。時期項是以毫秒為單位存儲保證處理次序的時期的區(qū)域。在圖9所示的示例中,具有ID“12”的V節(jié)點的預定時期為大約“ 100 ” ms??刂茊卧?3例如是包括內(nèi)部存儲器等的電子電路(諸如CPU),并且包括確定單元43a、移動單元43b、執(zhí)行單元43c、停止單元43d、獲取單元43e、比較單元43f以及更新單元43g。確定單元43a執(zhí)行各種確定。例如,確定單元43a確定是否存在每個VM 31的負荷狀態(tài)(允許負荷或更多),該負荷狀態(tài)以從每個VM 31所傳送的負荷信息來表示。移動單元43b移動查詢33。例如,當確定單元43a確定存在被確定為具有容許負荷或更多的負荷的VM 31時,移動單元43b移動布置在VM31中的任一 V節(jié)點。例如,移動單元43b基于從每個VM 31所傳送的負荷信息指定具有低負荷狀態(tài)的VM 31。然后,移動單元43b關(guān)于被確定為具有允許負荷或更多、被設(shè)置為移動源的VM 31,具有低負荷狀態(tài)、被設(shè)置為移動目的地的VM 31以及被確定具有允許負荷或更多、被設(shè)置為移動目標的VM 31中布置的任一 V節(jié)點傳送移動指示。執(zhí)行單元43c從停止時期表52中讀取對應于移動的V節(jié)點的預定時期。另外,執(zhí)行單元43c讀取最大時期信息51。然后,當對應于移動的V節(jié)點的預定時期短于最大時期信息51所表示的最大時期時,執(zhí)行單元43c執(zhí)行將在在下文中描述的停止單元43d、獲取單元43e、比較單元43f以及更新單元43g的處理。另一方面,當請求的時期是最大時期或更長時,執(zhí)行單元43c停止停止單元43d、獲取單元43e、比較單元43f以及更新單元43g的處理。在此,當對應于移動的V節(jié)點的時期長于最大時期時,在查詢33的移動之后直到經(jīng)過對應于V節(jié)點的時期,通過每個VM 31從作為移動源的VM 31轉(zhuǎn)發(fā)的數(shù)據(jù)到達作為移動目的地的VM 31。因此,保證對應于V節(jié)點的時期之前或之后的數(shù)據(jù)次序。因此,當對應于移動的V節(jié)點的時期是最大時期或更長時,執(zhí)行單元43c停止停止單元43d、獲取單元43e、比較單元43f以及更新單元43g的處理。以這樣的方式,根據(jù)管理服務(wù)器40,可以抑制不必要處理的執(zhí)行。
當在V節(jié)點的移動之后經(jīng)過對應于V節(jié)點的預定時期時,停止單元43停止數(shù)據(jù)的傳輸。例如,當從V節(jié)點的移動目的地通知了作為移動目標的V節(jié)點的ID和作為移動目的地的VM 31的ID之后,經(jīng)過對應于V節(jié)點的預定時期時,停止單元43d將傳輸停止請求傳送至數(shù)據(jù)的傳輸源和每個VM 31。當接收到傳輸停止請求時,每個VM 31的數(shù)據(jù)流處理引擎32執(zhí)行用于檢查是否存在處于VM 31之間的傳輸處理當中的數(shù)據(jù)的檢查處理,并且當不存在處于傳輸處理當中的數(shù)據(jù)時,將從所有VM 31接收到控制分組通知給服務(wù)器裝置10。作為比較單元43f (將在下文中描述)所執(zhí)行的比較的結(jié)果,當路由表50的版本相同時,或更新單元43g (將在下文中描述)所執(zhí)行的路由表50的更新完成時,停止單元43d通過將數(shù)據(jù)傳輸重啟請求傳送至傳輸源來重啟數(shù)據(jù)傳輸。當通知從所有VM 31接收到控制分組時,獲取單元43e從每個VM 31和服務(wù)器裝置21獲取在路由表50中所存儲的對應于移動的V節(jié)點的版本。例如,獲取單元43e將用于傳送對應于移動的V節(jié)點的版本的請求傳送至每個VM 31和服務(wù)器裝置21。然后,通過從每個VM 31和服務(wù)器裝置21接收版本的通知,獲取單元43e從每個VM 31和服務(wù)器裝置21獲取版本。比較單元43f將獲取的每個VM 31和服務(wù)器裝置21的路由表50的版本相互進行比較。當作為比較結(jié)果舊版本的路由表50存儲在VM 31和服務(wù)器裝置21中的任一個時,更新單元43g更新路由表50。例如,在如果在存儲單元42中所存儲的路由表50的版本是新的情況下,更新單元43g將存儲單元42中所存儲的路由表50的信息傳送至存儲舊版本的路由表50的VM 31或服務(wù)器裝置21。另外,當存儲單元42中所存儲的路由表50的版本是舊的時,更新單元43g請求存儲新版本的路由表50的VM 31或服務(wù)器裝置21傳送路由表50的信息。然后,當接收到新的路由表50的信息時,更新單元43g將接收到的信息傳送至存儲舊版本的路由表50的VM 31或服務(wù)器裝置21。另外,更新單元43g用接收到的信息更新存儲單元42中所存儲的路由表50。接下來,將描述根據(jù)本實施例的管理服務(wù)器40保證數(shù)據(jù)次序的處理的流程。圖10是示出數(shù)據(jù)次序保證處理的序列的流程圖。該數(shù)據(jù)次序保證處理例如是在從V節(jié)點的移動目的地通知了作為移動目標的V節(jié)點的ID和作為移動目的地的VM 31的ID時執(zhí)行的。如在圖10中所示,在步驟SlO中,執(zhí)行單元43c從停止時期表52中讀取對應于移動的V節(jié)點的預定時期。另外,在步驟Sll中,執(zhí)行單元43c讀取被存儲作為最大時期信息51的最大時期。然后,在步驟S12中,執(zhí)行單元43c確定對應于移動的V節(jié)點的預定時期是否短于最大時期。當預定時期是最大時期或更長時(在步驟S12中為否),執(zhí)行單元43c結(jié)束處理。另一方面,當預定時期短于最大時期時(在步驟S12中為是),在步驟S13中,停止單元43d確定在V節(jié)點的移動的通知之后是否已經(jīng)經(jīng)過了對應于V節(jié)點的預定時期。當沒有經(jīng)過預定時期時(步驟S13中為否),處理再次進行到步驟S13,并且等待經(jīng)過預定時期。另一方面,當經(jīng)過了預定時期時(步驟S13中為是),在步驟S14中,停止單元43d將傳輸停止請求傳送至數(shù)據(jù)傳輸源和每個VM 31。在步驟S15中,停止單元43d確定是否從所有傳輸源獲取了對于傳輸停止請求的確認。當沒有獲取到確認時(在步驟S15中為否),處理再次進行到步驟S15,并且等待確認。另一方面,當獲取到確認時(在步驟S15中為是),在步驟S16中,獲取單元43e確定是否接收到來自所有VM 31的控制分組的接收的通知。當沒有從所有VM 31獲取到通知時(在步驟S16中為否),處理再次進行到步驟S16,并且等待通知。另一方面,當從所有VM 31獲取通知時(在步驟S16中為是),在步驟S17中,獲取單元43e從每個VM 31和服務(wù)器裝置21獲取在路由表50中所存儲的對應于移動的V節(jié)點的版本。在步驟S18中,比較單元43f比較獲取的每個VM 31和服務(wù)器裝置21的路由表50的版本,并且確定是否存在舊版本的路由表50。當存在舊版本的路由表50時(在步驟S18中為是),在步驟S19中,更新單元43g更新舊版本的路由表50。另一方面,當不存在舊版本的路由表50時(在步驟S18中為否),處理進行到步驟S20 (將在下文中描述)。在步驟S20中,停止單元43d通過將數(shù)據(jù)傳輸重啟請求傳送至傳輸源來傳送數(shù)據(jù)并且結(jié)束處理。如上所述,管理服務(wù)器40存儲對于通過將多個查詢33劃分為多個組而獲取的每個V節(jié)點的預定時期。另外,當在V節(jié)點的移動之后經(jīng)過對應于V節(jié)點的預定時期時,管理服務(wù)器40停止數(shù)據(jù)的傳輸。然后,管理服務(wù)器40從每個VM 31和服務(wù)器裝置21獲取與移動的V節(jié)點相關(guān)的路由表50的版本。管理服務(wù)器40將獲取的版本互相比較,并且通過更新舊版本的路由表50來獲取路由表50的一致性。因此,根據(jù)管理服務(wù)器40,可以保證所請求的精度的數(shù)據(jù)次序。另外,根據(jù)管理服務(wù)器40,不需要在每次移動查詢33時停止數(shù)據(jù)的傳輸,借此可以抑制開銷。此外,根據(jù)管理服務(wù)器40,當在V節(jié)點的移動之后經(jīng)過預定時期時,停止數(shù)據(jù)傳輸,并且檢查版本。因此,根據(jù)管理服務(wù)器40,可以有效地保證所請求的精度的數(shù)據(jù)次序。另外,根據(jù)管理服務(wù)器40,當對應于移動的V節(jié)點的預定時期短于最大時期時檢查路由表50的一致性,而當預定時期是最大時期或更長時不檢查一致性,借此可以減輕處理負荷。[c]第三實施例現(xiàn)在將描述第三實施例。因為根據(jù)第三實施例的CEP系統(tǒng)的配置與以上所描述的根據(jù)第二實施例的CEP系統(tǒng)幾乎相同,所以將描述不同的部分。在本實施例中,與以上描述的第一實施例類似,管理服務(wù)器40針對每個預定時期(在該預定時期保證所請求的精度的數(shù)據(jù)次序)從VM 31獲取并且比較路由表50的版本,以及更新舊版本的路由表50。圖11是示意地示出根據(jù)第三實施例的CEP系統(tǒng)的配置的圖。另外,為與以上描述的第二實施例相同的部分分配相同的參考標記,并且將不給出其描述。當更新路由表50時,VM 31、服務(wù)器裝置21以及管理服務(wù)器40將更新時間和日期存儲為版本。當移動V節(jié)點的查詢33時,作為移動目的地的VM 31的數(shù)據(jù)流處理引擎32更新在路由表50中的移動的V節(jié)點的查詢33的存儲目的地,并且將所更新的更新日期和時間存儲為版本。然后,數(shù)據(jù)流處理引擎32將移動的V節(jié)點的ID、作為移動目的地的VM 31的ID以及更新日期和時間通知給VM 31、服務(wù)器裝置21以及管理服務(wù)器40。當通知了移動時,VM 31、服務(wù)器裝置21以及管理服務(wù)器40更新在路由表50中的已通知的移動的V節(jié)點的查詢33的存儲目的地,并且用通知的更新日期和時間更新版本。圖12是示出路由表的數(shù)據(jù)配置的示例的圖。在此,為與以上描述的第二實施例相同的部分分配相同的參考標記,并且將不給出其描述。如在圖12中所示,在路由表50中,在版本號項中存儲更新日期和時間。在圖12中所示的示例表示,在具有ID“12”的V節(jié)點中,作為存儲目的地的VM 31的ID為“1”,并且更新日期和時間為“2011年11月I日10:01:20.12”。另外,對于每個預定時期,每個VM 31的數(shù)據(jù)流處理引擎32存儲與在預定時期期間第一次傳送數(shù)據(jù)的日期和時間相關(guān)的日期和時間信息53。例如,當通過將接收日期和時間添加至服務(wù)器裝置21等接收的數(shù)據(jù)而使日期和時間包括在數(shù)據(jù)中時,日期和時間信息53可以是表示包括在數(shù)據(jù)中的日期和時間的日期和時間信息。另外,日期和時間信息53可以是表示數(shù)據(jù)流處理引擎32傳送數(shù)據(jù)的日期和時間的日期和時間信息。對于每個預定時期,數(shù)據(jù)流處理引擎32將存儲的日期和時間信息53傳送至管理服務(wù)器40。另外,對于每個預定時期,當在預定時期期間沒有執(zhí)行數(shù)據(jù)傳輸時,數(shù)據(jù)流處理引擎32將當前時間作為日期和時間信息傳送至管理服務(wù)器40。預定時期可以是在其中管理服務(wù)器40從VM 31獲取路由表50的版本并且比較版本的預定時期或更短。因此,對于每個預定時期,將數(shù)據(jù)傳輸日期和時間或者來自VM 31的當前日期和時間通知給管理服務(wù)器40。圖13是示出管理服務(wù)器的配置的示例的圖。在此,為與以上描述的第二實施例相同的部分分配相同的參考標記,并且將不給出其描述??刂茊卧?3還包括指定單元43h。指定單元43h執(zhí)行各種指定操作。例如,指定單元43h基于從每個VM 31所通知的日期和時間信息,指定在之前的預定時期期間第一次將數(shù)據(jù)傳送至其它VM 31的傳輸日期和時間。指定單元43h例如指定如下日期和時間信息的日期和時間:該日期和時間信息的日期和時間是從每個VM 31所通知的日期和時間信息和在之前的預定時期期間第一次將數(shù)據(jù)傳送至其它VM 31的傳輸日期和時間中最舊的。對于保證所請求的精度的數(shù)據(jù)次序的每個預定時期,停止單元43d將指定單元43h指定的之前的預定時期中的最舊的傳輸日期和時間和作為版本在路由表50中所存儲的更新日期和時間互相比較。然后,當傳輸日期和時間是更新日期和時間或者更晚時,停止單元43d通過將傳輸停止請求傳送至數(shù)據(jù)傳輸源和VM 31來停止傳送數(shù)據(jù)。另一方面,當傳輸日期和時間早于更新日期和時間,停止單元43d不傳送傳輸停止請求。當停止單元43d傳送傳輸停止請求時,當通知從所有VM 31接收到控制分組時,獲取單元43e從VM 31和服務(wù)器裝置21獲取路由表50的版本。換言之,當在之前的預定時期中最舊的傳輸日期和時間是路由表50的更新日期和時間或更晚時,管理服務(wù)器40停止來自數(shù)據(jù)傳輸源和VM 31的數(shù)據(jù)傳輸,并且獲取路由表50的版本。另一方面,對于每個預定時期,當停止單元43d不傳送傳輸停止請求時,獲取單元43e從VM 31和服務(wù)器裝置21獲取路由表50的版本。換言之,當在之前的預定時期中的最舊的傳輸日期和時間早于路由表50的更新日期和時間時,管理服務(wù)器40不停止來自數(shù)據(jù)傳輸源和VM 31的數(shù)據(jù)傳輸,而是獲取路由表50的版本。比較單元43f比較獲取的VM 31和服務(wù)器裝置21的路由表50的版本。當作為比較結(jié)果舊版本的路由表50存儲在VM 31和服務(wù)器裝置21中的任一個時,更新單元43g更新路由表50。圖14是示出數(shù)據(jù)次序保證處理的序列的流程圖。在此,為與以上描述的第二實施例相同的部分分配相同的參考標記,并且將不給出其描述。例如,對于保證所請求的精度的數(shù)據(jù)次序的每個預定時期執(zhí)行該數(shù)據(jù)次序保證處理。在步驟S30中,指定單元43h基于從每個VM 31所通知的日期和時間信息,指定在之前的預定時期期間最舊的傳輸日期和時間。在步驟S31中,停止單元43d確定在之前的預定時期期間最舊的傳輸日期和時間是否是路由表50的更新日期和時間或更晚。當傳輸日期和時間在更新日期和時間之后(在步驟S31中為是)時,處理進行到步驟S14,并且通過傳送傳輸停止請求來停止數(shù)據(jù)的傳輸。另一方面,當傳輸日期和時間新于更新日期和時間(在步驟S31中為否)時,處理進行到步驟S17,并且從VM31和服務(wù)器裝置21獲取路由表50的版本。如上所述,當之前的預定時期期間最舊的傳輸日期和時間是路由表50的更新日期和時間或更晚時,管理服務(wù)器40停止來自數(shù)據(jù)傳輸源和VM 31的數(shù)據(jù)傳輸,并且獲取路由表50的版本。以這樣的方式,根據(jù)管理服務(wù)器40,當傳輸日期和時間是更新日期和時間或更晚時,存在數(shù)據(jù)次序可能改變的可能性,并且因此,通過停止數(shù)據(jù)的傳輸可以保證數(shù)據(jù)的傳輸停止之前或之后的數(shù)據(jù)次序。另外,當在之前的預定時期期間的最舊的傳輸日期和時間新于路由表50的更新日期和時間時,管理服務(wù)器40不停止來自數(shù)據(jù)傳輸源和VM 31的數(shù)據(jù)的傳輸,并且獲取路由表50的版本。以這樣的方式,根據(jù)管理服務(wù)器40,當傳輸日期和時間早于更新日期和時間時,保持數(shù)據(jù)次序,并且因此,通過不停止數(shù)據(jù)的傳輸和獲取路由表50的版本,可以抑制由于數(shù)據(jù)傳輸停止導致的延遲。[d]第四實施例到現(xiàn)在為止,盡管描述了與所公開的裝置相關(guān)的實施例,但是可以除以上述實施例之外的各種形式執(zhí)行公開的技術(shù)。因此,在下文中,將描述包括在本發(fā)明中的其它實施例。例如,在以上描述的第一實施例中,盡管描述了對于每個預定時期停止到多個節(jié)點11的數(shù)據(jù)傳輸?shù)那闆r,但是公開的裝置不限于此。例如,當在多個節(jié)點11之間移動查詢33時,可在查詢33的移動之后經(jīng)過預定時期時停止數(shù)據(jù)的傳輸。在這樣的情況下,可以保證所請求的精度的數(shù)據(jù)次序。另外,在以上描述的第二實施例中,盡管描述了在V節(jié)點的移動之后經(jīng)過預定時期時停止數(shù)據(jù)的傳輸?shù)那闆r,但是公開的裝置不限于此。例如,可被配置成使得設(shè)定一個預定時期,并且當在V節(jié)點移動之后經(jīng)過預定時期時停止傳輸。此外,在以上描述的第二實施例中,盡管描述了一旦在V節(jié)點的移動之后經(jīng)過預定時期時就停止數(shù)據(jù)的傳輸?shù)那闆r,但是公開的裝置不限于此。例如,對于每個預定時期傳輸可停止多次。換言之,對于每個預定時期傳輸可停止至少一次。另外,在以上描述的第二實施例中,盡管描述了對于通過將多個查詢33劃分為多個組而獲取的每個V節(jié)點將預定時期存儲在停止時期表52中的情況,但是公開的裝置不限于此。例如,可被配置成使得存儲預定時期的字段被布置在路由表50中,并且在路由表50中存儲預定時期。另外,在以上描述的第二實施例中,盡管描述了一旦在V節(jié)點的移動之后經(jīng)過預定時期就停止數(shù)據(jù)的傳輸?shù)那闆r,但是公開的裝置不限于此。例如,與第三實施例類似,更新日期和時間作為版本被存儲在路由表50中。另外,對于每個預定時期,每個VM 31的數(shù)據(jù)流處理引擎32將與在預定時期期間第一次傳送數(shù)據(jù)的日期和時間相關(guān)的日期和時間信息傳送至管理服務(wù)器40。當在V節(jié)點移動之后經(jīng)過預定時期時,管理服務(wù)器40比較在之前的預定時期期間的最舊的傳輸日期和時間和在路由表50中所存儲的作為版本的更新日期和時間。當傳輸日期和時間是更新日期和時間或者更晚時,管理服務(wù)器40停止來自數(shù)據(jù)傳輸源和VM 31的數(shù)據(jù)的傳輸,并且獲取路由表50的版本。另一方面,當傳輸日期和時間早于更新日期和時間時,優(yōu)選的是,管理服務(wù)器40不停止來自數(shù)據(jù)傳輸源和VM31的數(shù)據(jù)的傳輸,而是獲取路由表50的版本。另外,在以上描述的第二和第三實施例中,盡管描述了以通過將多個查詢33劃分為多個組而獲取的V節(jié)點為單位移動查詢33的情況,但是公開的裝置不限于此。例如,可以以查詢33為單位移動查詢33。在這樣的情況下,路由表50可被配置成使得以查詢33為單位在其中存儲存儲目的地。另外,在這樣的情況下,例如,可被配置成使得在停止時期表52中以查詢33為單位存儲預定時期,并且當在查詢33的移動之后經(jīng)過對應于查詢33的預定時期時停止數(shù)據(jù)的傳輸。此外,在圖中示出的每個裝置的組成元件是功能性和概念性的意義,并且不必如圖中所示的那樣物理地配置組成元件。換言之,裝置的分割或集成的特定形式不限于圖中所示的形式,并且其部分或整體可根據(jù)各種負荷、使用環(huán)境等而被配置成以任意單位功能地或物理地分割或集成。例如,圖1中所示的停止單元14、獲取單元15、比較單元16以及更新單元17的處理單元可適當?shù)丶?。另外,例如,在圖8和13中所示的確定單元43a、移動單元43b、執(zhí)行單元43c、停止單元43d、獲取單元43e、比較單元43f、更新單元43g以及指定單元43h的處理單元可適當?shù)丶?。此外,在每個處理單元中執(zhí)行的每個處理功能的整體或部分可由CPU和程序?qū)崿F(xiàn)(該程序由CPU解釋和執(zhí)行),或可通過使用連線邏輯的硬件實現(xiàn)。數(shù)據(jù)次序保證程序另外,在以上描述的實施例中描述的各種處理可通過使用計算機系統(tǒng)(諸如個人計算機或工作站)執(zhí)行事先準備的程序而實現(xiàn)。因此,在下文中,將描述執(zhí)行具有與以上描述的實施例相同的功能的程序的計算機系統(tǒng)的示例。圖15是示出執(zhí)行數(shù)據(jù)次序保證程序的計算機的圖。如在圖15中所示,計算機300包括中央處理單元(CPU) 310、只讀存儲器(ROM)320、硬盤驅(qū)動器(HDD) 330以及隨機存取存儲器(RAM) 340。單元310至340通過總線400互連。在ROM 320中,事先存儲數(shù)據(jù)次序保證程序320a,其表現(xiàn)出與以上描述的第一實施例的停止單元14、獲取單元15、比較單元16以及更新單元17相同的功能。替選地,在ROM320中,事先存儲數(shù)據(jù)次序保證程序320a,其表現(xiàn)出與以上描述的第二或第三實施例的執(zhí)行單元43c、停止單元43d、獲取單元43e、比較單元43f、更新單元43g以及指定單元43h相同的功能。另外,可適當?shù)胤指顢?shù)據(jù)次序保證程序320a。通過CPU 310從ROM 320讀取數(shù)據(jù)次序保證程序320a并且執(zhí)行數(shù)據(jù)次序保證程序320a,執(zhí)行與第一和第三實施例中的每個的控制單元相同的操作。換言之,數(shù)據(jù)次序保證程序320a執(zhí)行與以上描述的第一實施例的停止單元14、獲取單元15、比較單元16以及更新單元17或與以上描述的第二或第三實施例的執(zhí)行單元43c、停止單元43d、獲取單元43e、比較單元43f、更新單元43g以及指定單元43h相同的操作。另外,初始時不需要在ROM 320中存儲以上描述的數(shù)據(jù)次序保證程序320a。數(shù)據(jù)次序保證程序320a可存儲在HDD 330中。例如,程序可存儲在“便攜式物理介質(zhì)”(諸如插入到計算機300中的軟盤(FD)、⑶-ROM、DVD盤、磁光盤或IC卡)中。在這樣的情況下,計算機300可從它們中的任一個中讀取程序并且執(zhí)行該程序。另外,程序可存儲在“另一計算機”中,“另一計算機”通過公共線、因特網(wǎng)、LAN、WAN等連接至計算機300。在這樣的情況中,計算機300可被配置成從它們中的任一個中讀取程序并且執(zhí)行該程序??梢砸种瓢殡S查詢的移動的開銷。
權(quán)利要求
1.一種服務(wù)器裝置,包括: 停止單元,對于每個預定時期,停止將數(shù)據(jù)傳送至多個節(jié)點,在所述多個節(jié)點中放置了每個均用于在所述數(shù)據(jù)與設(shè)定的條件一致時執(zhí)行處理的多個查詢,每個節(jié)點存儲路由表,在所述路由表中,針對作為每個查詢的處理目標的每個數(shù)據(jù),存儲所述每個查詢的布置目的地和根據(jù)所述每個查詢的移動而更新的版本; 獲取單元,當所述停止單元停止所述數(shù)據(jù)的傳輸時,從所述多個節(jié)點獲取所述路由表的版本; 比較單元,比較所述獲取單元獲取的所述多個節(jié)點的所述路由表的所述版本;以及 更新單元,當作為所述比較單元執(zhí)行的比較的結(jié)果存在存儲舊版本的路由表的節(jié)點時,更新該節(jié)點的路由表。
2.根據(jù)權(quán)利要求1所述的服務(wù)器裝置,其中在所述多個節(jié)點之間移動所述查詢的情況下,當在所述查詢移動之后經(jīng)過所述預定時期時停止數(shù)據(jù)傳輸。
3.根據(jù)權(quán)利要求2所述的服務(wù)器裝置,還包括針對每個查詢存儲所述預定時期的存儲單元, 其中,當在查詢移動之后經(jīng)過對應于該查詢的預定時期時,所述停止單元停止數(shù)據(jù)傳輸,以及 所述獲取單元從所述多個節(jié)點獲取與移動的查詢相關(guān)的路由表的版本。
4.根據(jù)權(quán)利要求2所述的服務(wù)器裝置,還包括針對每個組存儲所述預定時期的存儲單元,所述每個組是通過將所述多個查詢劃分為多個組而獲取的, 其中,當在查詢移動之后經(jīng)過對應于該查詢所屬的組的預定時期時,所述停止單元停止數(shù)據(jù)傳輸,以及 所述獲取單元從所述多個節(jié)點獲取與移動的查詢所屬的組的每個查詢相關(guān)的路由表的版本。
5.根據(jù)權(quán)利要求1至4中的任一項所述的服務(wù)器裝置,還包括執(zhí)行單元,當所述預定時期短于在所述多個節(jié)點之間傳送數(shù)據(jù)的最大時期時,所述執(zhí)行單元執(zhí)行所述停止單元、所述獲取單元、所述比較單元以及所述更新單元的處理。
6.根據(jù)權(quán)利要求1至5中的任一項所述的服務(wù)器裝置,還包括指定單元,針對每個預定時期,所述指定單元基于從所述多個節(jié)點接收到的表示在預定時期期間第一次將數(shù)據(jù)傳送至另一節(jié)點的日期和時間的日期和時間信息,指定在所述預定時期期間第一次將數(shù)據(jù)傳送至另一節(jié)點的日期和時間, 其中,所述路由表存儲更新日期和時間作為所述版本,以及 當所述指定單元指定的所述日期和時間是在所述路由表中所存儲的作為所述版本的所述更新日期和時間或更晚時,針對每個預定時期,所述停止單元停止將數(shù)據(jù)傳送至所述多個節(jié)點。
7.一種使用計算機保證數(shù)據(jù)次序的方法,所述方法包括: 對于每個預定時期,停止將數(shù)據(jù)傳送至多個節(jié)點,在所述多個節(jié)點中放置了每個均用于在所述數(shù)據(jù)與設(shè)定的條件一致時執(zhí)行處理的多個查詢,每個節(jié)點存儲路由表,在所述路由表中,針對作為每個查詢的處理目標的每個數(shù)據(jù),存儲所述每個查詢的布置目的地和根據(jù)所述每個查詢的移動而更新的版本;當停止所述數(shù)據(jù)的傳輸時,從所述多個節(jié)點獲取所述路由表的版本; 比較獲取的所述多個節(jié)點的所述路由表的所述版本;以及 當作為比較的結(jié)果存在存儲丨日版本的路由表的節(jié)點時,更新該節(jié)點的路由表。
8.一種服務(wù)器裝置,包括: 停止單元,停止將數(shù)據(jù)傳送至多個節(jié)點,在所述多個節(jié)點中放置了執(zhí)行處理的多個交易請求語句,每個節(jié)點存儲路由表,在所述路由表中,針對作為每個交易請求語句的處理目標的每個數(shù)據(jù),存儲所述每個交易請求語句的布置目的地和根據(jù)所述每個交易請求語句的移動而更新的版本; 獲取單元,當所述停止單元停止所述數(shù)據(jù)的傳輸時,從所述多個節(jié)點獲取所述路由表的版本; 比較單元,比較所述獲取單元獲取的所述多個節(jié)點的所述路由表的所述版本;以及更新單元,當作為所述 比較單元執(zhí)行的比較的結(jié)果存在存儲舊版本的路由表的節(jié)點時,更新該節(jié)點的路由表。
全文摘要
本發(fā)明提供了一種服務(wù)器裝置和保證數(shù)據(jù)次序的方法。對于每個預定時期,停止單元停止將數(shù)據(jù)傳送至多個節(jié)點。當停止數(shù)據(jù)傳輸時,獲取單元從多個節(jié)點獲取根據(jù)查詢的移動而更新的路由表的版本。比較單元比較獲取的多個節(jié)點的路由表的版本。當作為比較的結(jié)果存在存儲舊版本的路由表的節(jié)點時,更新單元更新該節(jié)點的路由表。
文檔編號G06F17/30GK103218380SQ20121042475
公開日2013年7月24日 申請日期2012年10月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者今村信貴, 坂本喜則, 高橋秀和 申請人:富士通株式會社