專利名稱:數(shù)據(jù)分配方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及一種用于在通過因特網(wǎng)/內(nèi)聯(lián)網(wǎng)連接的大量計算機(jī)之間提供局部數(shù)據(jù)的方法。具體來說,本發(fā)明涉及一種適合于支持應(yīng)用系統(tǒng)的數(shù)據(jù)分配方法,這種應(yīng)用系統(tǒng)除了共享數(shù)據(jù)外還具有與數(shù)據(jù)更新同步分配數(shù)據(jù)的推(push)式分配功能,而且是在因特網(wǎng)/內(nèi)聯(lián)網(wǎng)上構(gòu)造的。
背景技術(shù):
基于常規(guī)服務(wù)器/客戶系統(tǒng)的DBMS(數(shù)據(jù)庫管理系統(tǒng))在當(dāng)服務(wù)器和客戶共享數(shù)據(jù)時使用“挽-推(pull-push)式分配”,以通過由來自客戶的詢問分配數(shù)據(jù)在客戶和服務(wù)器之間同步數(shù)據(jù)。
然而,在這種“挽-推式分配”中,有一個缺點在于完成通信所需的時間因詢問服務(wù)器而增加。另外,指定待分配數(shù)據(jù)部分的范圍無法由客戶指定,因此整個數(shù)據(jù)中的大部分被分配給客戶。然而,在使用諸如因特網(wǎng)的廣域網(wǎng)的數(shù)據(jù)分配中,降低業(yè)務(wù)量很重要,而且并不優(yōu)選發(fā)送大量類似“挽-推式分配”的數(shù)據(jù)。因此,“挽-推式分配”不適合于廣域網(wǎng)上的實時數(shù)據(jù)分配。
如上所述,在常規(guī)DBMS應(yīng)用中,作為同步彼此通過網(wǎng)絡(luò)連接的計算機(jī)之間的數(shù)據(jù)的方法的“挽-推式分配”存在下述問題(a)在數(shù)據(jù)更新時需要的通信時間因客戶同步數(shù)據(jù)所必需的詢問而增加;以及(b)由于在客戶詢問服務(wù)器是否存在數(shù)據(jù)更新時無法從客戶分派數(shù)據(jù)范圍,因此客戶無法掌握從服務(wù)器發(fā)送給客戶的數(shù)據(jù)量,這樣的話存在發(fā)送大量數(shù)據(jù)的一些情況。
發(fā)明內(nèi)容
根據(jù)本發(fā)明第一方面,提供一種數(shù)據(jù)分配方法,用于在服務(wù)器的數(shù)據(jù)庫的數(shù)據(jù)被更新后通過推式分配分配更新的數(shù)據(jù)給客戶,以在服務(wù)器和客戶之間共享數(shù)據(jù),該方法包括使服務(wù)器在服務(wù)器的數(shù)據(jù)庫中存儲包含客戶正使用的數(shù)據(jù)范圍的客戶管理信息,以及通過在發(fā)送數(shù)據(jù)之前參考客戶管理信息使服務(wù)器識別將發(fā)送給客戶的數(shù)據(jù)。
根據(jù)本發(fā)明第二方面,提供一種包含數(shù)據(jù)分配程序的計算機(jī)可讀介質(zhì),用于在服務(wù)器的數(shù)據(jù)庫的數(shù)據(jù)被更新后通過推式分配技術(shù)分配更新數(shù)據(jù)到客戶,以在服務(wù)器和客戶之間共享數(shù)據(jù),該程序包括用于下述動作的指令使服務(wù)器在服務(wù)器的數(shù)據(jù)庫中存儲包含客戶正使用的數(shù)據(jù)范圍的客戶管理信息;以及通過在發(fā)送數(shù)據(jù)之前參考客戶管理信息使服務(wù)器識別將發(fā)送給客戶的數(shù)據(jù)。
圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)共享/分配方法的整體配置的功能框圖;圖2是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“服務(wù)器啟動處理”的流程圖;圖3是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“服務(wù)器結(jié)束處理”的流程圖;圖4是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“當(dāng)顯示范圍未改變時數(shù)據(jù)自動更新處理”的流程圖;圖5是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“顯示范圍內(nèi)的數(shù)據(jù)獲取處理”的流程圖;圖6是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“當(dāng)請求的數(shù)據(jù)范圍沒有存儲于一般數(shù)據(jù)中時的處理,在顯示范圍外的數(shù)據(jù)獲取中,以及在獲取數(shù)據(jù)后的數(shù)據(jù)自動更新處理”的流程圖;圖7是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“當(dāng)請求的數(shù)據(jù)范圍存儲于一般數(shù)據(jù)中時的處理,在顯示范圍外的數(shù)據(jù)獲取中,以及在獲取數(shù)據(jù)后的數(shù)據(jù)自動更新處理”的流程圖;圖8是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“由客戶自動更新的設(shè)置從On變?yōu)镺ff時的處理”的流程圖;圖9是在根據(jù)本發(fā)明的實施例的數(shù)據(jù)共享/分配方法中的“由客戶自動更新的設(shè)置從Off變?yōu)镺n時的處理”的流程圖;圖10是一般數(shù)據(jù)記錄的結(jié)構(gòu)實例的原理圖;圖11是顯示范圍數(shù)據(jù)的結(jié)構(gòu)實例的原理圖;圖12是客戶管理數(shù)據(jù)的結(jié)構(gòu)實例的原理圖;具體實施例方式現(xiàn)在參考附圖描述本發(fā)明的實施例。涉及本實施例中的信息處理的部分通常是通過借助軟件控制計算機(jī)實現(xiàn)的。在此情況下,軟件通過在物理上使用計算機(jī)的硬件實現(xiàn)本發(fā)明的這些操作和效果,而現(xiàn)有技術(shù)應(yīng)用于現(xiàn)有技術(shù)所通用的軟件部分。然而,在此情況下,硬件和軟件的種類和配置,以及由軟件處理的程度可以各種方式改變。因此,在下面的描述中,使用了實現(xiàn)本發(fā)明和實施例中各種功能的虛擬電路框圖。
在本實施例中,雖然描述由客戶在顯示屏上顯示的數(shù)據(jù)作為客戶使用的數(shù)據(jù)實例,但所使用的數(shù)據(jù)不應(yīng)局限于此,不用在顯示器上顯示就能由在后臺執(zhí)行的程序使用的數(shù)據(jù)可以是客戶使用的數(shù)據(jù)。
本實施例涉及一種數(shù)據(jù)共享/分配方法,用于適當(dāng)和有效地管理在彼此相連的每個服務(wù)器和客戶端中提供的數(shù)據(jù)庫。
圖1是用于實現(xiàn)本實施例的數(shù)據(jù)共享/分配方法的系統(tǒng)的整體配置圖。該系統(tǒng)包括在客戶一側(cè)提供的客戶數(shù)據(jù)管理器1,在服務(wù)器一側(cè)提供服務(wù)器數(shù)據(jù)管理器2,以及服務(wù)器數(shù)據(jù)維護(hù)應(yīng)用3,它們彼此之間通過網(wǎng)絡(luò)連接。
如圖1所示,客戶數(shù)據(jù)管理器1包括客戶數(shù)據(jù)操作器11,用于管理客戶數(shù)據(jù);客戶數(shù)據(jù)通信器12,用于往返服務(wù)器交換數(shù)據(jù);用戶接口13,用于接受數(shù)據(jù)獲取請求以顯示數(shù)據(jù)作為結(jié)果;以及客戶端數(shù)據(jù)庫14。
客戶端數(shù)據(jù)庫14包括一般數(shù)據(jù)141、顯示范圍數(shù)據(jù)142和整個數(shù)據(jù)范圍143。
一般數(shù)據(jù)141的每條記錄包括指示數(shù)據(jù)標(biāo)識的關(guān)鍵字,以及與關(guān)鍵字一一對應(yīng)的真實數(shù)據(jù)。用于獲取、更新和存儲數(shù)據(jù)的一般數(shù)據(jù)操作總是通過指定關(guān)鍵字執(zhí)行的。在本實施例中,在服務(wù)器端數(shù)據(jù)庫、客戶端數(shù)據(jù)庫以及應(yīng)用中處理的一般數(shù)據(jù)是利用二維(平面)上的位置坐標(biāo)(X坐標(biāo)和Y坐標(biāo))作為關(guān)鍵字的圖形數(shù)據(jù),如圖10所示。除關(guān)鍵字之外的數(shù)據(jù)字段(屬性)包括例如圖形類型(例如圓、矩形、尺寸),角度和顏色。
整個范圍數(shù)據(jù)143有一個與服務(wù)器擁有的對應(yīng)整個數(shù)據(jù)范圍的關(guān)鍵字。在獲取數(shù)據(jù)時,可能獲得關(guān)于從該整個數(shù)據(jù)范圍給出的某一范圍的關(guān)鍵字。
顯示范圍數(shù)據(jù)142有一個由客戶顯示的數(shù)據(jù)的范圍。如果由客戶顯示的顯示范圍改變,則更新顯示范圍數(shù)據(jù)142,并發(fā)送更新的數(shù)據(jù)到服務(wù)器。此外,應(yīng)確保顯示為顯示范圍數(shù)據(jù)142的數(shù)據(jù)比實際顯示的范圍稍大,這樣的設(shè)計就不會使顯示范圍數(shù)據(jù)頻繁更新。另外,客戶端數(shù)據(jù)庫14的顯示范圍數(shù)據(jù)142包括兩個點(左下和右上)的四個坐標(biāo),它們指定了二維(平面)上的一個矩形顯示范圍。
客戶數(shù)據(jù)操作器11具有客戶數(shù)據(jù)更新器111,用于更新客戶端數(shù)據(jù)庫14中存儲的數(shù)據(jù);客戶數(shù)據(jù)存儲器112,用于新添加數(shù)據(jù)到客戶端數(shù)據(jù)庫14;客戶數(shù)據(jù)獲取部分113,用于獲取數(shù)據(jù)以從客戶端數(shù)據(jù)庫14顯示;數(shù)據(jù)范圍更新器114,用于在客戶端修改數(shù)據(jù)顯示范圍;以及數(shù)據(jù)范圍獲取部分115,用于在客戶端獲取數(shù)據(jù)顯示范圍。
設(shè)計客戶數(shù)據(jù)更新器111,通過使用客戶數(shù)據(jù)發(fā)送器/接收器122獲取的數(shù)據(jù)以更新數(shù)據(jù)庫中的一般數(shù)據(jù)141,客戶數(shù)據(jù)發(fā)送器/接收器122是在后面將描述的客戶數(shù)據(jù)通信器12中提供的,以發(fā)送到客戶通信控制器121。此外,設(shè)計客戶數(shù)據(jù)更新器111以從一般數(shù)據(jù)141中搜索待更新的數(shù)據(jù)的關(guān)鍵字,以及如果發(fā)現(xiàn)關(guān)鍵字則更新對應(yīng)該關(guān)鍵字的真實數(shù)據(jù)。
設(shè)計客戶數(shù)據(jù)存儲部分112以存儲數(shù)據(jù)到數(shù)據(jù)庫中的一般數(shù)據(jù)141中,該數(shù)據(jù)是通過客戶數(shù)據(jù)發(fā)送器/接收器122獲得的,以交付給客戶通信控制器121。在此情況下,設(shè)計客戶數(shù)據(jù)存儲部分112,以在一般數(shù)據(jù)141中存儲關(guān)鍵字和與之對應(yīng)的真實數(shù)據(jù)。
設(shè)計客戶數(shù)據(jù)獲取部分113以從一般數(shù)據(jù)中獲取數(shù)據(jù),該數(shù)據(jù)是用戶接口13的數(shù)據(jù)需求部分132所需要的。設(shè)計客戶數(shù)據(jù)獲取部分113以基于從數(shù)據(jù)需求部分132交付的“數(shù)據(jù)范圍”,從數(shù)據(jù)庫中的整個范圍數(shù)據(jù)143獲取關(guān)鍵字,以從一般數(shù)據(jù)141搜索獲取的關(guān)鍵字,以及如果找到關(guān)鍵字的話則獲取對應(yīng)每個關(guān)鍵字的真實數(shù)據(jù)。所獲取的數(shù)據(jù)被交付給數(shù)據(jù)需求部分132。另一方面,無法獲取數(shù)據(jù)的關(guān)鍵字被交付給數(shù)據(jù)需求部分132。
設(shè)計數(shù)據(jù)范圍更新器114,以在當(dāng)由用戶接口13的數(shù)據(jù)顯示131顯示的范圍改變時更新顯示范圍數(shù)據(jù)。設(shè)計數(shù)據(jù)范圍更新器114以從數(shù)據(jù)需求部分132接收修改的顯示范圍,利用該范圍更新數(shù)據(jù)庫中的顯示范圍數(shù)據(jù)142。
設(shè)計數(shù)據(jù)范圍獲取部分115,以獲取更新的新顯示范圍以便在當(dāng)客戶的顯示范圍更新時通知服務(wù)器客戶的顯示范圍的更新。設(shè)計數(shù)據(jù)范圍獲取部分115,以從顯示范圍數(shù)據(jù)142獲取當(dāng)前顯示范圍以響應(yīng)來自客戶通信控制器121的數(shù)據(jù)范圍獲取需求,以發(fā)送獲取的當(dāng)前顯示范圍到客戶通信控制器121。
客戶數(shù)據(jù)通信器12裝有客戶通信控制器121,用于控制客戶端數(shù)據(jù)管理和往返服務(wù)器的數(shù)據(jù)的發(fā)送/接收;以及客戶數(shù)據(jù)發(fā)送器/接收器122,用于執(zhí)行往返服務(wù)器的數(shù)據(jù)通信處理。
設(shè)計客戶通信控制器121以交付從服務(wù)器發(fā)送的數(shù)據(jù)給客戶數(shù)據(jù)操作器11,以及在客戶的顯示范圍改變時,從數(shù)據(jù)范圍獲取部分115獲取新的顯示范圍以發(fā)送該新的顯示范圍到服務(wù)器。設(shè)計客戶通信控制器121以輸出“自動更新設(shè)置修改需求”到服務(wù)器以響應(yīng)來自數(shù)據(jù)需求部分132的“自動更新設(shè)置修改需求”。
如果經(jīng)修改的數(shù)據(jù)從服務(wù)器發(fā)送,客戶通信控制器121經(jīng)由客戶數(shù)據(jù)發(fā)送器/接收器122接收數(shù)據(jù)以交付數(shù)據(jù)給客戶數(shù)據(jù)更新器111,以促使其更新一般數(shù)據(jù)141。如果數(shù)據(jù)需求部分132要求未包含在一般數(shù)據(jù)中的數(shù)據(jù),客戶通信控制器121命令客戶數(shù)據(jù)發(fā)送器/接收器122發(fā)送“數(shù)據(jù)發(fā)送需求”到服務(wù)器,并經(jīng)由客戶數(shù)據(jù)發(fā)送器/接收器122接收從服務(wù)器發(fā)送的數(shù)據(jù)作為結(jié)果。接收的數(shù)據(jù)被交付給客戶數(shù)據(jù)存儲器112以存儲作為一般數(shù)據(jù)141中的新數(shù)據(jù),以及交付給數(shù)據(jù)需求部分132用于顯示按原樣顯示數(shù)據(jù)。
如果客戶的顯示范圍改變,客戶通信控制器121從數(shù)據(jù)需求部分132接收顯示范圍發(fā)送需求到服務(wù)器,以從數(shù)據(jù)范圍獲取部分115獲得新的顯示范圍,接著,客戶通信控制器121交付獲取范圍給客戶數(shù)據(jù)發(fā)送器/接收器122以命令發(fā)送顯示范圍到服務(wù)器。如果客戶通信控制器121從數(shù)據(jù)需求部分132接收自動更新設(shè)置信息,客戶通信控制器121則交付設(shè)置信息給客戶數(shù)據(jù)發(fā)送器/接收器122以輸出自動更新設(shè)置修改需求到服務(wù)器。
另一方面,設(shè)計客戶數(shù)據(jù)發(fā)送部分122以響應(yīng)來自客戶通信控制器121的數(shù)據(jù)發(fā)送需求發(fā)送數(shù)據(jù),以及接收從服務(wù)器發(fā)送的數(shù)據(jù)作為結(jié)果,發(fā)送該數(shù)據(jù)到客戶通信控制器121。
用戶接口13裝有數(shù)據(jù)顯示器131,用于通過用戶的操作顯示數(shù)據(jù);以及數(shù)據(jù)需求部分132,用于響應(yīng)來自數(shù)據(jù)顯示器131的數(shù)據(jù)請求獲取相應(yīng)數(shù)據(jù)。
如果數(shù)據(jù)獲取操作是由用戶的操作執(zhí)行的,數(shù)據(jù)顯示器131向數(shù)據(jù)需求部分132下達(dá)數(shù)據(jù)獲取請求,并接收所獲取的數(shù)據(jù)以顯示。如果數(shù)據(jù)自動更新設(shè)置被用戶的操作修改,數(shù)據(jù)顯示器131向數(shù)據(jù)需求部分132下達(dá)一個自動更新設(shè)置修改請求。此外,數(shù)據(jù)顯示器131交付將獲取的數(shù)據(jù)范圍給數(shù)據(jù)顯示器132以滿足數(shù)據(jù)獲取需求。因此,數(shù)據(jù)顯示器131接收由數(shù)據(jù)需求部分132獲取的數(shù)據(jù)以顯示數(shù)據(jù)。另外,數(shù)據(jù)顯示器131交付數(shù)據(jù)自動更新設(shè)置信息給數(shù)據(jù)需求部分132以滿足自動更新設(shè)置修改需求。
另一方面,設(shè)計數(shù)據(jù)需求部分132以響應(yīng)來自數(shù)據(jù)顯示器131的數(shù)據(jù)獲取需求,從客戶數(shù)據(jù)獲取部分113和客戶通信控制器121接收相應(yīng)數(shù)據(jù),以交付該數(shù)據(jù)該數(shù)據(jù)顯示器131。設(shè)計數(shù)據(jù)需求部分132,以響應(yīng)來自數(shù)據(jù)顯示器131的自動更新設(shè)置修改需求交付自動更新設(shè)置信息給客戶通信控制器121,以滿足自動更新設(shè)置修改需求。此外,如果數(shù)據(jù)需求部分132從數(shù)據(jù)顯示器131接收數(shù)據(jù)獲取范圍,則數(shù)據(jù)需求部分132從客戶數(shù)據(jù)獲取部分113獲取該范圍內(nèi)存在的數(shù)據(jù)。
接著,如果獲取范圍中的數(shù)據(jù)不在一般數(shù)據(jù)141中,數(shù)據(jù)需求部分132交付無法獲取的數(shù)據(jù)的關(guān)鍵字給客戶通信控制器121,并從服務(wù)器接收客戶通信控制器121獲取的數(shù)據(jù)作為結(jié)果。另外,數(shù)據(jù)需求部分132交付從客戶數(shù)據(jù)獲取部分113和客戶通信控制器121獲取的數(shù)據(jù)給數(shù)據(jù)顯示器。此外,如果數(shù)據(jù)需求部分132確定由于來自數(shù)據(jù)顯示器131的請求而顯示范圍改變,數(shù)據(jù)需求部分132更新顯示范圍數(shù)據(jù),同時交付修改的顯示范圍到客戶通信控制器121以通知服務(wù)器數(shù)據(jù)顯示范圍發(fā)生改變。如果數(shù)據(jù)需求部分132從數(shù)據(jù)顯示器131接收到自動更新設(shè)置信息,數(shù)據(jù)需求部分132交付該設(shè)置信息到客戶通信控制器121。
如圖1所示,服務(wù)器數(shù)據(jù)管理器2包括服務(wù)器數(shù)據(jù)操作器21,用于管理服務(wù)器中的數(shù)據(jù);服務(wù)器數(shù)據(jù)通信器2,用于往返客戶交換數(shù)據(jù);數(shù)據(jù)監(jiān)視控制器23,用于控制數(shù)據(jù)監(jiān)視的操作;以及服務(wù)器端數(shù)據(jù)庫24。
服務(wù)器端數(shù)據(jù)庫24包括一般數(shù)據(jù)241、客戶管理數(shù)據(jù)242、整個范圍數(shù)據(jù)243、以及更新歷史數(shù)據(jù)244。
一般數(shù)據(jù)241的每條記錄包括指示數(shù)據(jù)標(biāo)識的關(guān)鍵字,以及與關(guān)鍵字一一對應(yīng)的真實數(shù)據(jù)。此外,用于獲取、更新和存儲數(shù)據(jù)的一般數(shù)據(jù)操作總是通過指定關(guān)鍵字執(zhí)行的。另外,服務(wù)器端數(shù)據(jù)庫24的一般數(shù)據(jù)241通常在其中存儲圖10中所示的多條記錄,而且所有這些記錄的關(guān)鍵字部分還在整個范圍數(shù)據(jù)143中注冊。
另外,整個范圍數(shù)據(jù)243具有與服務(wù)器擁有的整個數(shù)據(jù)范圍對應(yīng)的關(guān)鍵字。在獲取數(shù)據(jù)時,可能從整個數(shù)據(jù)范圍中獲取有關(guān)指定范圍的關(guān)鍵字。此外,客戶端數(shù)據(jù)庫14的整個范圍數(shù)據(jù)143與服務(wù)器端數(shù)據(jù)庫24的整個范圍數(shù)據(jù)相同。具有包含于整個范圍數(shù)據(jù)以及包含于范圍數(shù)據(jù)指定的矩形顯示范圍內(nèi)的關(guān)鍵字從服務(wù)器端數(shù)據(jù)庫的一般數(shù)據(jù)241拷貝到客戶端數(shù)據(jù)庫14的一般數(shù)據(jù)141。
服務(wù)器端數(shù)據(jù)庫24的客戶管理數(shù)據(jù)242在其中存儲圖12所示的記錄,其中為每個客戶的數(shù)據(jù)中添加客戶的標(biāo)識符以便管理每個客戶的顯示范圍以及自動更新設(shè)置的出現(xiàn)。
此外,客戶管理數(shù)據(jù)242擁有關(guān)于每個客戶的數(shù)據(jù)顯示范圍和自動更新出現(xiàn)的信息。如果數(shù)據(jù)被服務(wù)器更新,則更新數(shù)據(jù)的發(fā)送受客戶管理數(shù)據(jù)242的控制。如果數(shù)據(jù)庫24中的數(shù)據(jù)被后面將描述的服務(wù)器數(shù)據(jù)更新器211更新,則更新歷史數(shù)據(jù)242擁有關(guān)于更新數(shù)據(jù)的關(guān)鍵字。
服務(wù)器數(shù)據(jù)操作器裝有服務(wù)器數(shù)據(jù)更新器211,用于更新已經(jīng)存儲于數(shù)據(jù)庫24中的數(shù)據(jù);服務(wù)器數(shù)據(jù)存儲部分212,用于新添加數(shù)據(jù)到數(shù)據(jù)庫24;服務(wù)器數(shù)據(jù)獲取部分213,用于從數(shù)據(jù)庫24獲取將發(fā)送給客戶的數(shù)據(jù);數(shù)據(jù)監(jiān)視器214,用于在服務(wù)器端監(jiān)視數(shù)據(jù)的更新;管理數(shù)據(jù)更新器215,用于更新客戶管理信息(在每個客戶端的數(shù)據(jù)范圍,自動更新信息);管理數(shù)據(jù)獲取部分216,用于獲取客戶管理信息;以及更新歷史數(shù)據(jù)獲取部分217,用于獲取服務(wù)器端數(shù)據(jù)的更新歷史數(shù)據(jù)。
設(shè)計服務(wù)器數(shù)據(jù)更新器211以在當(dāng)用于服務(wù)器數(shù)據(jù)維護(hù)的應(yīng)用3下達(dá)數(shù)據(jù)更新請求時,更新數(shù)據(jù)庫24中的數(shù)據(jù)。此外,設(shè)計服務(wù)器數(shù)據(jù)更新器211,以從應(yīng)用3接收關(guān)鍵字和真實數(shù)據(jù)以更新對應(yīng)該關(guān)鍵字的真實數(shù)據(jù),以及在更新歷史數(shù)據(jù)244中存儲更新數(shù)據(jù)的關(guān)鍵字。
設(shè)計服務(wù)器數(shù)據(jù)存儲部分212以在當(dāng)用于維護(hù)服務(wù)器數(shù)據(jù)的應(yīng)用下達(dá)數(shù)據(jù)存儲請求時,在數(shù)據(jù)庫24中存儲數(shù)據(jù)。此外,設(shè)計服務(wù)器數(shù)據(jù)存儲部分212以從應(yīng)用3接收關(guān)鍵字和真實數(shù)據(jù)以便在數(shù)據(jù)庫24中存儲該關(guān)鍵字和真實數(shù)據(jù)。
設(shè)計服務(wù)器數(shù)據(jù)獲取部分213,以從數(shù)據(jù)庫24中的一般數(shù)據(jù)214獲取服務(wù)器通信控制器221所需的數(shù)據(jù)。設(shè)計服務(wù)器數(shù)據(jù)獲取部分213,以從服務(wù)器通信控制器221獲取從客戶發(fā)送的關(guān)鍵字以便獲取與之對應(yīng)的真實數(shù)據(jù)。如果數(shù)據(jù)監(jiān)視器214檢測到數(shù)據(jù)的更新,服務(wù)器數(shù)據(jù)獲取部分213從服務(wù)器通信控制器221接收數(shù)據(jù)范圍,以在從整個范圍數(shù)據(jù)243接收的數(shù)據(jù)范圍中獲取關(guān)鍵字。接著,服務(wù)器數(shù)據(jù)獲取部分213獲取對應(yīng)于所獲取關(guān)鍵字的真實數(shù)據(jù),其中數(shù)據(jù)已經(jīng)更新。
設(shè)計數(shù)據(jù)監(jiān)視器214以監(jiān)視服務(wù)器的一般數(shù)據(jù)241是否被更新。數(shù)據(jù)監(jiān)視器214響應(yīng)來自數(shù)據(jù)監(jiān)視啟動器231的監(jiān)視啟動請求啟動監(jiān)視,并響應(yīng)來自數(shù)據(jù)監(jiān)視制動器232的監(jiān)視停止請求停止監(jiān)視。如果一般數(shù)據(jù)241被更新,則數(shù)據(jù)監(jiān)視器214檢測其更新。此刻,數(shù)據(jù)監(jiān)視器214獲取對應(yīng)于更新數(shù)據(jù)的關(guān)鍵字,并交付該關(guān)鍵字給服務(wù)器通信控制器221以通知數(shù)據(jù)的更新。
設(shè)計管理數(shù)據(jù)更新器215以在當(dāng)服務(wù)器通信控制器221請求更新客戶管理數(shù)據(jù)242時,更新客戶管理數(shù)據(jù)242。設(shè)計管理數(shù)據(jù)更新器215以從服務(wù)器通信控制器221接收有關(guān)客戶標(biāo)識符、新的數(shù)據(jù)顯示范圍以及自動更新的出現(xiàn),以促使接收的信息反映到客戶管理數(shù)據(jù)242。
設(shè)計管理數(shù)據(jù)獲取部分216以在當(dāng)服務(wù)器通信控制器221請求獲取客戶管理數(shù)據(jù)242時,從客戶管理數(shù)據(jù)242獲取需要的信息。設(shè)計管理數(shù)據(jù)獲取部分216以基于來自客戶管理數(shù)據(jù)242的客戶標(biāo)識符獲取有關(guān)數(shù)據(jù)顯示范圍和自動更新的出現(xiàn),以便交付獲取的信息給服務(wù)器通信控制器221。
設(shè)計更新歷史數(shù)據(jù)獲取部分217以在當(dāng)服務(wù)器通信控制器221請求獲取更新歷史數(shù)據(jù)244時,從更新歷史數(shù)據(jù)244獲取對應(yīng)更新數(shù)據(jù)的關(guān)鍵字。設(shè)計更新歷史數(shù)據(jù)獲取部分217,以從更新歷史數(shù)據(jù)244獲取對應(yīng)于更新數(shù)據(jù)的關(guān)鍵字,以交付該關(guān)鍵字給服務(wù)器通信控制器221。另外,在更新歷史數(shù)據(jù)獲取部分217獲取了關(guān)鍵字后,更新歷史數(shù)據(jù)獲取部分217從更新歷史數(shù)據(jù)244中刪除該關(guān)鍵字。
數(shù)據(jù)監(jiān)視控制器23裝有數(shù)據(jù)監(jiān)視啟動器231用于啟動數(shù)據(jù)監(jiān)視;以及數(shù)據(jù)監(jiān)視制動器232,用于停止數(shù)據(jù)監(jiān)視。
設(shè)計數(shù)據(jù)監(jiān)視啟動器231以響應(yīng)來自服務(wù)器通信控制器221的數(shù)據(jù)監(jiān)視啟動指令啟動數(shù)據(jù)監(jiān)視器214的操作。此外,當(dāng)數(shù)據(jù)監(jiān)視啟動器231從服務(wù)器通信控制器221接收到數(shù)據(jù)監(jiān)視啟動請求時,數(shù)據(jù)監(jiān)視啟動器231促使數(shù)據(jù)監(jiān)視器241啟動數(shù)據(jù)監(jiān)視。
設(shè)計數(shù)據(jù)監(jiān)視制動器232以響應(yīng)來自服務(wù)器通信控制器221的數(shù)據(jù)監(jiān)視停止請求停止數(shù)據(jù)監(jiān)視器214的操作。此外,當(dāng)數(shù)據(jù)監(jiān)視制動器232從服務(wù)器通信控制器221接收到數(shù)據(jù)監(jiān)視停止請求時,數(shù)據(jù)監(jiān)視制動器232促使數(shù)據(jù)監(jiān)視器241停止數(shù)據(jù)監(jiān)視。
服務(wù)器數(shù)據(jù)通信器22裝有服務(wù)器通信控制器221,用于控制服務(wù)器端數(shù)據(jù)管理以及往返服務(wù)器的數(shù)據(jù)的發(fā)送/接收;以及服務(wù)器數(shù)據(jù)發(fā)送器/接收器222,用于往返服務(wù)器執(zhí)行數(shù)據(jù)通信處理。
設(shè)計服務(wù)器通信控制器221以從客戶接收和發(fā)送數(shù)據(jù)接收發(fā)送請求,以交付數(shù)據(jù)給服務(wù)器數(shù)據(jù)操作器21,以及如果必要的話發(fā)送從服務(wù)器數(shù)據(jù)操作器221獲取的數(shù)據(jù)到客戶。如果從客戶端發(fā)送了對應(yīng)于數(shù)據(jù)的關(guān)鍵字(該數(shù)據(jù)并未存儲于客戶端),服務(wù)器通信控制器221從服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收該關(guān)鍵字,以交付接收的關(guān)鍵字給服務(wù)器數(shù)據(jù)獲取部分213,以獲取對于于該關(guān)鍵字的數(shù)據(jù),并交付獲取的數(shù)據(jù)給服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以命令其發(fā)送交付的數(shù)據(jù)到客戶端。
如果從客戶端發(fā)送有關(guān)客戶的顯示范圍以及自動更新的出現(xiàn),服務(wù)器通信控制器221從服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收信息,以交付接收的信息給管理數(shù)據(jù)更新器215,以促使其更新客戶管理數(shù)據(jù)242。當(dāng)啟動服務(wù)器通信控制器221的執(zhí)行時,服務(wù)器通信控制器221首先轉(zhuǎn)入能往返客戶發(fā)送/接收數(shù)據(jù)的狀態(tài),并向數(shù)據(jù)監(jiān)視啟動器231發(fā)出數(shù)據(jù)監(jiān)視啟動請求。
當(dāng)服務(wù)器通信控制器221的操作結(jié)束時,服務(wù)器通信控制器221轉(zhuǎn)入無法往返客戶發(fā)送/接收數(shù)據(jù)的狀態(tài),并向數(shù)據(jù)監(jiān)視制動器232發(fā)出數(shù)據(jù)監(jiān)視停止請求。如果服務(wù)器通信控制器221從數(shù)據(jù)監(jiān)視器214接收到更新數(shù)據(jù)的通知,服務(wù)器通信控制器221從客戶管理數(shù)據(jù)242獲取有關(guān)客戶顯示范圍和自動更新的出現(xiàn)。如果自動更新“出現(xiàn)”,服務(wù)器通信控制器221借助更新歷史數(shù)據(jù)獲取部分217從更新歷史數(shù)據(jù)244獲取的更新的關(guān)鍵字,并交付客戶顯示范圍的關(guān)鍵字和更新數(shù)據(jù)給服務(wù)器數(shù)據(jù)獲取部分213以請求獲取更新數(shù)據(jù)。接著,服務(wù)器通信控制器221交付獲取的更新數(shù)據(jù)給服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以命令其發(fā)送交付的數(shù)據(jù)到客戶端。
設(shè)計服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以等待接收發(fā)送請求,并從客戶端發(fā)送數(shù)據(jù),以便交付接收的發(fā)送請求并發(fā)送數(shù)據(jù)到服務(wù)器通信控制器221。因此,如果必要的話,服務(wù)器數(shù)據(jù)發(fā)送器/接收器222從服務(wù)器通信控制器221接收將發(fā)送給客戶的數(shù)據(jù),并執(zhí)行數(shù)據(jù)通信。
下面描述具有上述結(jié)構(gòu)的本實施例的操作。假如這樣的話,首先,簡要描述每個客戶數(shù)據(jù)管理器和服務(wù)器數(shù)據(jù)管理器的操作;接著,參考流程圖描述二者之間的數(shù)據(jù)處理。
(a)在客戶數(shù)據(jù)管理器1中,當(dāng)顯示范圍數(shù)據(jù)被更新時,新的顯示范圍將發(fā)送至服務(wù)器。當(dāng)數(shù)據(jù)需求部分132所需的范圍中任何一個數(shù)據(jù)無法從客戶數(shù)據(jù)獲取部分113獲取時,即,導(dǎo)致發(fā)送數(shù)據(jù)發(fā)送請求至服務(wù)器,則顯示范圍被更新。通過執(zhí)行顯示范圍數(shù)據(jù)的更新以及發(fā)送顯示范圍至服務(wù)器,從服務(wù)器發(fā)送的更新數(shù)據(jù)總是能落入客戶的顯示范圍內(nèi)。
如果顯示范圍之外的數(shù)據(jù)已經(jīng)作為一般數(shù)據(jù)141存儲,那么每當(dāng)數(shù)據(jù)需求部分132請求獲取數(shù)據(jù)時可檢查顯示范圍,而且在顯示范圍改變時可促使數(shù)據(jù)范圍更新器114實時反映顯示范圍數(shù)據(jù)142中的新范圍,并發(fā)送該數(shù)據(jù)范圍到服務(wù)器。
(b)通過發(fā)送客戶的顯示范圍到服務(wù)器促使服務(wù)器管理數(shù)據(jù),客戶數(shù)據(jù)管理器1僅管理顯示范圍,而從服務(wù)器發(fā)送的更新數(shù)據(jù)可按其原樣交付給客戶數(shù)據(jù)更新器111,以使客戶數(shù)據(jù)更新器111更新數(shù)據(jù)。
(c)除了當(dāng)客戶向服務(wù)器提出數(shù)據(jù)獲取請求時,客戶監(jiān)視更新數(shù)據(jù)的發(fā)送,當(dāng)其發(fā)送數(shù)據(jù)范圍而且提出自動更新設(shè)置修改請求時,而且在向服務(wù)器提出數(shù)據(jù)獲取請求時暫時停止接受更新的數(shù)據(jù)。如果該操作結(jié)合了上述操作(a)中的顯示范圍數(shù)據(jù)的管理操作,則在客戶的顯示范圍改變后總是可能接收到有關(guān)改變的顯示范圍的更新數(shù)據(jù)。
(d)由于從服務(wù)器發(fā)送的更新數(shù)據(jù)通過上述的操作(a)和(c)與客戶的顯示范圍同步,客戶可接收從服務(wù)器發(fā)送的更新數(shù)據(jù)而不用向服務(wù)器周期性地提出數(shù)據(jù)發(fā)送請求。這說明實現(xiàn)了“推式數(shù)據(jù)分配”,而非常規(guī)的“挽-推式數(shù)據(jù)分配”。
(a)用于執(zhí)行自動更新處理的條件通過由服務(wù)器管理客戶管理數(shù)據(jù)(即,客戶中的顯示范圍自動更新設(shè)置)定義。也就是說,通過在客戶管理數(shù)據(jù)中存儲客戶的顯示范圍,就能檢測對應(yīng)于顯示范圍的數(shù)據(jù)已經(jīng)更新,而且確定其是否將發(fā)送到客戶。另外,根據(jù)對客戶設(shè)置的更新數(shù)據(jù)的“通知”或“不通知”,可確定當(dāng)更新服務(wù)器端數(shù)據(jù)被更新時是否通知客戶更新的數(shù)據(jù)。
在數(shù)據(jù)監(jiān)視器214通知服務(wù)器通信控制器221數(shù)據(jù)已更新后,服務(wù)器通信控制器221從管理數(shù)據(jù)獲取部分216獲取關(guān)于當(dāng)前正交換數(shù)據(jù)的客戶的信息。對于設(shè)置為不執(zhí)行自動更新的客戶來說,則不必從服務(wù)器數(shù)據(jù)獲取部分213執(zhí)行數(shù)據(jù)獲取處理。
另一方面,如果客戶為執(zhí)行自動更新,數(shù)據(jù)監(jiān)視器214則為服務(wù)器數(shù)據(jù)獲取部分213提供利用自動更新設(shè)置獲取的客戶端顯示范圍以及從數(shù)據(jù)監(jiān)視器214獲取的關(guān)鍵字,以便返回更新數(shù)據(jù)的關(guān)鍵字。接著,服務(wù)器數(shù)據(jù)獲取部分213可比較從整個范圍數(shù)據(jù)243獲取的關(guān)鍵字與提供給服務(wù)器數(shù)據(jù)獲取部分213的關(guān)鍵字,以只獲取客戶的顯示范圍內(nèi)的更新的數(shù)據(jù)的關(guān)鍵字。如果能識別關(guān)鍵字,則可獲取與之對應(yīng)的數(shù)據(jù),這樣服務(wù)器數(shù)據(jù)獲取部分213就能只獲取客戶顯示范圍內(nèi)的更新數(shù)據(jù)。
因此,服務(wù)器通信控制器221可僅發(fā)送顯示范圍內(nèi)的更新數(shù)據(jù)到客戶。由此降低了網(wǎng)絡(luò)負(fù)載,以便提高客戶中的自動更新速度。
(b)服務(wù)器通信控制器221除了在當(dāng)客戶請求發(fā)送數(shù)據(jù)時,請求改變數(shù)據(jù)范圍時,以及請求修改自動更新設(shè)置時,只發(fā)送數(shù)據(jù)監(jiān)視的結(jié)果到客戶。如果客戶發(fā)出數(shù)據(jù)發(fā)送請求或數(shù)據(jù)范圍改變請求,則更新數(shù)據(jù)的獲取和發(fā)送暫時停止。服務(wù)器通信控制器221從服務(wù)器數(shù)據(jù)獲取部分213獲取對應(yīng)于從客戶端發(fā)送的關(guān)鍵字的數(shù)據(jù)以發(fā)送該數(shù)據(jù)到客戶端。
服務(wù)器通信控制器221的另一功能在于交付新的客戶的顯示范圍和自動改變設(shè)置信息給管理數(shù)據(jù)更新器215以更新客戶管理數(shù)據(jù)242,新的客戶的顯示范圍是在數(shù)據(jù)發(fā)送請求后立即發(fā)送,或在發(fā)出數(shù)據(jù)范圍改變請求時發(fā)送的,而自動改變設(shè)置信息是在發(fā)出自動更新設(shè)置修改請求時發(fā)送的。通過在客戶管理數(shù)據(jù)242的更新結(jié)束后獲取并發(fā)送更新數(shù)據(jù),客戶的顯示范圍能與從服務(wù)器發(fā)送的更新數(shù)據(jù)的范圍同步。
(c)通過數(shù)據(jù)監(jiān)視器214的操作,從服務(wù)器的更新數(shù)據(jù)的發(fā)送與服務(wù)器的數(shù)據(jù)更新同步執(zhí)行。另外,由于將發(fā)送的數(shù)據(jù)范圍通過操作(b)在客戶和服務(wù)器之間彼此同步,服務(wù)器可發(fā)送更新的數(shù)據(jù)到客戶,而無須來自客戶的任何周期性數(shù)據(jù)獲取請求。這就實現(xiàn)了“推式數(shù)據(jù)分配”,而非常規(guī)的“挽-推式數(shù)據(jù)分配”。
[2-3-1.服務(wù)器的啟動和客戶初始數(shù)據(jù)的獲取(圖2)]啟動服務(wù)器,服務(wù)器通信控制器221首先能從客戶接受數(shù)據(jù)發(fā)送請求(S201)。
接著,服務(wù)器通信控制器221向數(shù)據(jù)監(jiān)視啟動器231發(fā)送數(shù)據(jù)監(jiān)視啟動請求(S202),接著,數(shù)據(jù)監(jiān)視啟動器231執(zhí)行數(shù)據(jù)監(jiān)視器214以啟動數(shù)據(jù)監(jiān)視(S203)。
如果客戶是在如此啟動服務(wù)器的狀態(tài)啟動的,客戶數(shù)據(jù)通信控制器121針對將獲取的數(shù)據(jù)向客戶數(shù)據(jù)發(fā)送器/接收器122發(fā)出數(shù)據(jù)發(fā)送請求(S204)。響應(yīng)該發(fā)送請求,客戶數(shù)據(jù)發(fā)送器/接收器122發(fā)送初始數(shù)據(jù)獲取請求到服務(wù)器(S205)。
在服務(wù)器數(shù)據(jù)發(fā)送器/接收器222中,已經(jīng)從客戶接收到初始數(shù)據(jù)獲取請求的服務(wù)器從數(shù)據(jù)庫24中取出所需數(shù)據(jù)以響應(yīng)來自服務(wù)器數(shù)據(jù)獲取部分213的指令(S206、S207)。由此取得的數(shù)據(jù)通過服務(wù)器數(shù)據(jù)通信部分22發(fā)送到客戶作為服務(wù)器的響應(yīng)(S208)。
客戶的客戶數(shù)據(jù)通信部分12接收從該服務(wù)器發(fā)送的初始數(shù)據(jù)(S209)。該接收的數(shù)據(jù)由客戶數(shù)據(jù)操作器11的數(shù)據(jù)存儲部分112存儲于客戶端數(shù)據(jù)庫14(S210)。
當(dāng)服務(wù)器的操作結(jié)束時,服務(wù)器通信控制器221向數(shù)據(jù)監(jiān)視制動器232下達(dá)數(shù)據(jù)監(jiān)視制動請求(S301)。數(shù)據(jù)監(jiān)視制動器232停止數(shù)據(jù)監(jiān)視器214的運行以停止數(shù)據(jù)監(jiān)視(S302)。
最后,服務(wù)器通信控制器221落入不接受往返客戶的任何數(shù)據(jù)通信以及來自客戶的任何數(shù)據(jù)發(fā)送請求的狀態(tài)(S303)。
客戶數(shù)據(jù)發(fā)送器/接收器122等待來自服務(wù)器的數(shù)據(jù)改變的通知(S401)。用于服務(wù)器數(shù)據(jù)維護(hù)的應(yīng)用3更新服務(wù)器的一般數(shù)據(jù)241(S402)。用于服務(wù)器數(shù)據(jù)維護(hù)的應(yīng)用3交付將更新的數(shù)據(jù)的關(guān)鍵字和真實數(shù)據(jù)給服務(wù)器數(shù)據(jù)更新器211(S403)。服務(wù)器數(shù)據(jù)更新器211基于接收的關(guān)鍵字和數(shù)據(jù)更新一般數(shù)據(jù)241(S404)。
數(shù)據(jù)監(jiān)視器214檢測數(shù)據(jù)的更新,并交付對應(yīng)更新數(shù)據(jù)的關(guān)鍵字給服務(wù)器通信控制器221(S405)。
當(dāng)服務(wù)器通信控制器221接收關(guān)鍵字時,服務(wù)器通信控制器從管理數(shù)據(jù)獲取部分216獲取當(dāng)前顯示范圍(S406)。
服務(wù)器通信控制器221提供從數(shù)據(jù)監(jiān)視器214獲取的關(guān)鍵字以及從管理數(shù)據(jù)獲取部分216獲取的顯示范圍給服務(wù)器數(shù)據(jù)獲取部分213(S407)。服務(wù)器數(shù)據(jù)獲取部分213基于該關(guān)鍵字和顯示范圍獲取該范圍內(nèi)的更新數(shù)據(jù)(S408)。并交付獲取的數(shù)據(jù)給服務(wù)器通信控制器221(S409)。
服務(wù)器通信控制器221發(fā)送從服務(wù)器數(shù)據(jù)獲取部分213獲取的數(shù)據(jù)到服務(wù)器發(fā)送器/接收器222,并發(fā)送更新的數(shù)據(jù)給客戶(S410)。
客戶數(shù)據(jù)發(fā)送器/接收器122接收發(fā)送的更新數(shù)據(jù)(S411),并交付接收的數(shù)據(jù)給客戶通信控制器121??蛻敉ㄐ趴刂破?21交付接收的數(shù)據(jù)給客戶數(shù)據(jù)更新器111以更新一般數(shù)據(jù)141(S412)。
數(shù)據(jù)顯示器131旨在在屏幕上顯示顯示范圍內(nèi)的數(shù)據(jù)。接著,數(shù)據(jù)顯示器131向數(shù)據(jù)需求部分131發(fā)出數(shù)據(jù)獲取請求(S501)。數(shù)據(jù)需求部分132交付從數(shù)據(jù)顯示器131提供的顯示范圍給客戶數(shù)據(jù)獲取部分113(S502)。
客戶數(shù)據(jù)獲取部分113根據(jù)從數(shù)據(jù)需求部分132提供的顯示范圍從整個范圍數(shù)據(jù)143獲取該數(shù)據(jù)范圍內(nèi)的關(guān)鍵字(S503)。接著,根據(jù)所獲取的關(guān)鍵字從一般數(shù)據(jù)141檢索具有該關(guān)鍵字的數(shù)據(jù)(S504)。由于可獲取有關(guān)所有關(guān)鍵字的數(shù)據(jù),所獲取的數(shù)據(jù)被交付給數(shù)據(jù)顯示器131(S505)。
[2-3-5-1.獲取范圍內(nèi)的數(shù)據(jù)沒有存儲于一般數(shù)據(jù)中的情況(圖6)]數(shù)據(jù)顯示器131旨在在屏幕上顯示尚未顯示的數(shù)據(jù)。接著,數(shù)據(jù)顯示器131向數(shù)據(jù)需求部分132發(fā)送數(shù)據(jù)獲取請求(S601)。數(shù)據(jù)需求部分132交付從數(shù)據(jù)顯示器131提供的顯示范圍給客戶數(shù)據(jù)獲取部分113(S602)。
客戶數(shù)據(jù)獲取部分113根據(jù)從數(shù)據(jù)需求部分132提供的顯示范圍從整個范圍數(shù)據(jù)143獲取該顯示范圍內(nèi)的關(guān)鍵字(S603)。接著,根據(jù)所獲取的關(guān)鍵字,從一般數(shù)據(jù)141檢索具有該關(guān)鍵字的數(shù)據(jù)(S604)。接著,從客戶數(shù)據(jù)獲取部分113返回尚未獲取的關(guān)鍵字(S605)。
數(shù)據(jù)需求部分132設(shè)置一個大于所請求范圍的范圍作為新顯示范圍,并向數(shù)據(jù)范圍更新器114發(fā)出數(shù)據(jù)范圍更新請求(S606)。數(shù)據(jù)范圍更新器114促使接收范圍反映到顯示范圍數(shù)據(jù)142(S607)。
數(shù)據(jù)需求部分132發(fā)送從客戶數(shù)據(jù)獲取部分113接收到的關(guān)鍵字,以及新的數(shù)據(jù)范圍給客戶通信控制器121(S608),并發(fā)出數(shù)據(jù)獲取請求(S609)??蛻敉ㄐ趴刂破?21交付接收的未獲取的關(guān)鍵字給客戶數(shù)據(jù)發(fā)送器/接收器122,并向服務(wù)器發(fā)出數(shù)據(jù)發(fā)送請求(S610)。在客戶通信控制器121發(fā)出數(shù)據(jù)發(fā)送請求后,客戶通信控制器121立即按新數(shù)據(jù)范圍的順序跟隨未獲取的關(guān)鍵字之后發(fā)送數(shù)據(jù)到服務(wù)器(S611)。
服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收從客戶發(fā)送的數(shù)據(jù)獲取請求,新數(shù)據(jù)范圍和未獲取關(guān)鍵字(S612),并將它們交付至服務(wù)器通信控制器221。服務(wù)器通信控制器221暫時停止更新數(shù)據(jù)的獲取和發(fā)送(S613)。服務(wù)器通信控制器221為服務(wù)器器數(shù)據(jù)獲取部分213提供接收的未獲取關(guān)鍵字,并下達(dá)數(shù)據(jù)獲取請求(S614)。
服務(wù)器數(shù)據(jù)獲取部分213獲取具有所接收的關(guān)鍵字的數(shù)據(jù)(S615),并將其返回到服務(wù)器通信控制器221。服務(wù)器通信控制器221交付具有返回的未獲取關(guān)鍵字的數(shù)據(jù)給服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以發(fā)送數(shù)據(jù)到客戶(S616)。
當(dāng)數(shù)據(jù)發(fā)送結(jié)束時,服務(wù)器通信控制器221交付隨同未獲取關(guān)鍵字獲取的新數(shù)據(jù)范圍給管理數(shù)據(jù)更新器215以更新客戶管理數(shù)據(jù)242(S617)。
客戶數(shù)據(jù)發(fā)送器/接收器122接收從服務(wù)器發(fā)送的數(shù)據(jù)(S618),并將其交付給客戶通信控制器121??蛻敉ㄐ趴刂破?21交付接收的數(shù)據(jù)給客戶數(shù)據(jù)存儲部分112以更新一般數(shù)據(jù)141(S619)。存儲數(shù)據(jù)之后,客戶通信控制器121交付接收的數(shù)據(jù)到數(shù)據(jù)需求部分132,而數(shù)據(jù)需求部分132交付接收的數(shù)據(jù)給數(shù)據(jù)顯示器131(S620)。
服務(wù)器通信控制器221重新啟動已被暫時停止的更新數(shù)據(jù)的獲取和發(fā)送(S621)。服務(wù)器通信控制器221從管理數(shù)據(jù)獲取部分216獲取新的數(shù)據(jù)范圍,并在從服務(wù)器發(fā)送數(shù)據(jù)時讀出更新歷史(S622)。接著,服務(wù)器通信控制器221交付更新對應(yīng)歷史的關(guān)鍵字,以及所獲取的數(shù)據(jù)范圍到服務(wù)器數(shù)據(jù)獲取部分213,以交付獲取的數(shù)據(jù)給服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以發(fā)送更新數(shù)據(jù)(S623)。
客戶數(shù)據(jù)發(fā)送器/接收器122接收發(fā)送的更新數(shù)據(jù),并將接收的數(shù)據(jù)交付給客戶通信控制器121(S624)??蛻敉ㄐ趴刂破?21交付接收的數(shù)據(jù)給客戶數(shù)據(jù)更新器111以更新一般數(shù)據(jù)141(S625)。
數(shù)據(jù)顯示器131旨在在屏幕上顯示尚未顯示的數(shù)據(jù)。接著,數(shù)據(jù)顯示器131向數(shù)據(jù)需求部分132發(fā)出數(shù)據(jù)獲取請求(S701)。數(shù)據(jù)需求部分132交付從數(shù)據(jù)顯示器131提供的顯示范圍給客戶數(shù)據(jù)獲取部分113(S702)。
客戶數(shù)據(jù)獲取部分113根據(jù)從數(shù)據(jù)需求部分132提供的顯示范圍從整個范圍數(shù)據(jù)143獲取該顯示范圍內(nèi)的關(guān)鍵字(S703)。接著,為每個所所獲取的關(guān)鍵字從一般數(shù)據(jù)141檢索具有該關(guān)鍵字的數(shù)據(jù)(S704)。由于可獲取有關(guān)所有關(guān)鍵字的數(shù)據(jù),所獲取的數(shù)據(jù)交付給數(shù)據(jù)顯示器131(S705)。
數(shù)據(jù)需求部分132檢測到所請求范圍不同于顯示范圍數(shù)據(jù)142中管理的范圍(S706)。數(shù)據(jù)需求部分132設(shè)置一個大于所需范圍的范圍作為新顯示范圍,并向數(shù)據(jù)范圍更新器114發(fā)出數(shù)據(jù)范圍更新請求(S707)。數(shù)據(jù)范圍更新器114使接收范圍反映到顯示范圍數(shù)據(jù)142(S708)。
數(shù)據(jù)需求部分132交付新數(shù)據(jù)范圍到客戶通信控制器121,并發(fā)出數(shù)據(jù)范圍改變請求??蛻敉ㄐ趴刂破?21交付接收的數(shù)據(jù)范圍給客戶數(shù)據(jù)發(fā)送器/接收器122,并向服務(wù)器發(fā)出數(shù)據(jù)范圍改變請求(S709)。
服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收從客戶發(fā)送的新的數(shù)據(jù)范圍,并將其交付給服務(wù)器通信控制器221。服務(wù)器通信控制器221暫時停止更新數(shù)據(jù)的獲取和發(fā)送(S710)。服務(wù)器通信控制器221交付接收的新數(shù)據(jù)范圍給管理數(shù)據(jù)更新器215以更新客戶管理數(shù)據(jù)242(S711)。
服務(wù)器通信控制器221重新啟動已被暫時停止的更新數(shù)據(jù)的獲取和發(fā)送(S712)。服務(wù)器通信控制器221從管理數(shù)據(jù)獲取部分216獲取新數(shù)據(jù)范圍,并在服務(wù)器已更新該數(shù)據(jù)范圍時讀出更新歷史(S713)。服務(wù)器通信控制器221交付對應(yīng)更新歷史的關(guān)鍵字,以及所獲取的數(shù)據(jù)范圍到服務(wù)器數(shù)據(jù)獲取部分213,以及交付獲取數(shù)據(jù)給服務(wù)器數(shù)據(jù)發(fā)送器/接收器222以發(fā)送更新數(shù)據(jù)(S714)。
客戶數(shù)據(jù)發(fā)送器/接收器122接收發(fā)送的更新數(shù)據(jù),并將接收到的數(shù)據(jù)交付給客戶通信控制器121??蛻敉ㄐ趴刂破?21交付接收的數(shù)據(jù)給客戶數(shù)據(jù)更新器111以更新一般數(shù)據(jù)141(S715)。
當(dāng)客戶的自動更新設(shè)置為On時,自動更新設(shè)置由數(shù)據(jù)顯示器131設(shè)置為Off(S801)。數(shù)據(jù)顯示器131交付自動更新設(shè)置信息給數(shù)據(jù)需求部分132,并發(fā)出自動更新設(shè)置修改請求(S802)。
數(shù)據(jù)需求部分132交付接收的自動更新設(shè)置信息給客戶通信控制器121,并發(fā)出自動更新設(shè)置修改請求??蛻敉ㄐ趴刂破?21交付接收的自動更新設(shè)置信息給客戶數(shù)據(jù)發(fā)送器/接收器122,并向服務(wù)器發(fā)出自動更新設(shè)置修改請求(S803)。
服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收從客戶發(fā)送的自動更新設(shè)置信息(S804),并交付接收的信息給服務(wù)器通信控制器221。服務(wù)器通信控制器221暫時停止更新數(shù)據(jù)的獲取和發(fā)送(S805)。服務(wù)器通信控制器221交付接收的自動更新設(shè)置信息給管理數(shù)據(jù)更新器215以更新客戶管理數(shù)據(jù)242(S806)。
服務(wù)器通信控制器221重新啟動已被暫時停止的更新數(shù)據(jù)的獲取和發(fā)送(S807)。然而,由于自動更新設(shè)置已變?yōu)镺ff,因此不再執(zhí)行更新數(shù)據(jù)的獲取。
當(dāng)客戶的自動更新設(shè)置為Off時,自動更新設(shè)置由數(shù)據(jù)顯示器131設(shè)為On(S901)。數(shù)據(jù)顯示器131交付自動更新設(shè)置信息給數(shù)據(jù)需求部分132,并發(fā)出自動更新設(shè)置修改請求(S902)。
數(shù)據(jù)需求部分132交付接收的自動更新設(shè)置信息給客戶通信控制器121,并發(fā)出自動更新設(shè)置修改請求??蛻敉ㄐ趴刂破?21交付接收的自動更新設(shè)置信息給客戶數(shù)據(jù)發(fā)送器/接收器122,并向服務(wù)器發(fā)出自動更新設(shè)置修改請求(S903)。
服務(wù)器數(shù)據(jù)發(fā)送器/接收器222接收從客戶發(fā)送的自動更新設(shè)置信息,并交付接收的信息到服務(wù)器通信控制器221(S904)。服務(wù)器通信控制器221暫時停止更新數(shù)據(jù)的獲取和發(fā)送(S905)。然而,當(dāng)前設(shè)置為Off,更新數(shù)據(jù)的獲取實際上還未執(zhí)行。服務(wù)器通信控制器221交付接收的自動更新設(shè)置信息給管理數(shù)據(jù)更新器215以更新客戶管理數(shù)據(jù)242(S906)。
服務(wù)器通信控制器221重新啟動已被暫時停止的更新數(shù)據(jù)的獲取和發(fā)送(S907)。由于自動更新設(shè)置如上一段所述已變?yōu)镺n,當(dāng)在重新啟動后數(shù)據(jù)被更新時執(zhí)行通常的自動更新處理(S908)。
在具有上述結(jié)構(gòu)的本實施例中,客戶只擁有服務(wù)器中存儲的數(shù)據(jù)范圍之外的請求數(shù)據(jù),這樣在客戶端就很容易實現(xiàn)資源管理。如果數(shù)據(jù)在服務(wù)器端被更新,即使沒有詢問,也能發(fā)送更新數(shù)據(jù)到客戶,而且在服務(wù)器和客戶端更新數(shù)據(jù)所需的時間能因客戶的詢問而縮短。
當(dāng)分配數(shù)據(jù)給客戶時,只有在服務(wù)器端已被更新且包含在客戶的顯示范圍內(nèi)的有差別的數(shù)據(jù)才被發(fā)送,因此就可只發(fā)送最少的數(shù)據(jù)。通信操作數(shù)和發(fā)送數(shù)據(jù)量小意味著能快速完成一個數(shù)據(jù)的更新。因此,可能在諸如因特網(wǎng)的廣域網(wǎng)上實時更新數(shù)據(jù)。
如上所述,根據(jù)本發(fā)明,可提供一種在多個計算機(jī)之間實時更新數(shù)據(jù)并能降低網(wǎng)絡(luò)負(fù)載的數(shù)據(jù)共享/分配方法。
權(quán)利要求
1.一種在服務(wù)器數(shù)據(jù)庫的數(shù)據(jù)被更新后,通過推式分配為客戶分配更新數(shù)據(jù),以在服務(wù)器和客戶之間共享數(shù)據(jù)的數(shù)據(jù)分配方法,該方法包括使服務(wù)器在服務(wù)器的數(shù)據(jù)庫中存儲包含客戶正使用的數(shù)據(jù)范圍的客戶管理信息;以及在發(fā)送數(shù)據(jù)之前,通過參考客戶管理信息,使服務(wù)器識別將發(fā)送給客戶的數(shù)據(jù)。
2.如權(quán)利要求1的數(shù)據(jù)分配方法,其中發(fā)送給客戶的數(shù)據(jù)為在更新服務(wù)器中更新的數(shù)據(jù)前后有差別的數(shù)據(jù)。
3.如權(quán)利要求1的數(shù)據(jù)分配方法,其中客戶管理信息包括有關(guān)從服務(wù)器發(fā)送數(shù)據(jù)到客戶的必要性的信息,以及通過在發(fā)送前參考客戶管理信息致使不發(fā)送數(shù)據(jù)給執(zhí)行推式分配的客戶。
4.如權(quán)利要求1的數(shù)據(jù)分配方法,其中當(dāng)服務(wù)器啟動時,準(zhǔn)備接受來自客戶的數(shù)據(jù)發(fā)送請求,并啟動服務(wù)器的數(shù)據(jù)更新監(jiān)視,以便在服務(wù)器執(zhí)行數(shù)據(jù)更新時分配更新數(shù)據(jù)給客戶。
5.如權(quán)利要求1的數(shù)據(jù)分配方法,其中當(dāng)客戶啟動時,服務(wù)器接收用于指定客戶所獲取的數(shù)據(jù)的數(shù)據(jù)發(fā)送請求,并從服務(wù)器的數(shù)據(jù)庫取出適合數(shù)據(jù)發(fā)送請求的數(shù)據(jù),服務(wù)器發(fā)送取出的數(shù)據(jù)給客戶作為其初始數(shù)據(jù)。
6.如權(quán)利要求1的數(shù)據(jù)分配方法,其中在客戶工作時,服務(wù)器從客戶接收用于指定客戶中未存儲數(shù)據(jù)的數(shù)據(jù)發(fā)送請求,從數(shù)據(jù)庫獲取該數(shù)據(jù),并發(fā)送該數(shù)據(jù)給客戶。
7.如權(quán)利要求1的數(shù)據(jù)分配方法,其中當(dāng)服務(wù)器從客戶接收到改變使用的數(shù)據(jù)范圍的通知時,服務(wù)器在服務(wù)器數(shù)據(jù)庫的客戶管理信息中登記所改變的使用數(shù)據(jù)范圍,并在服務(wù)器的數(shù)據(jù)之后被更新時,服務(wù)器發(fā)送對應(yīng)于所改變的使用數(shù)據(jù)范圍的更新數(shù)據(jù)給客戶。
8.如權(quán)利要求1的數(shù)據(jù)分配方法,其中服務(wù)器從客戶接收數(shù)據(jù)分配拒絕請求,并在客戶管理信息中設(shè)置數(shù)據(jù)分配設(shè)置為“不分配”,這樣即使在改變設(shè)置后數(shù)據(jù)被服務(wù)器更新數(shù)據(jù),也不會發(fā)送數(shù)據(jù)給客戶。
9.如權(quán)利要求1的數(shù)據(jù)分配方法,其中服務(wù)器從客戶接收數(shù)據(jù)分配請求,并在客戶管理信息中設(shè)置數(shù)據(jù)分配設(shè)置為“分配”,這樣如果在改變設(shè)置后數(shù)據(jù)被服務(wù)器更新,則發(fā)送更新數(shù)據(jù)給客戶。
10.如權(quán)利要求8的數(shù)據(jù)分配方法,其中當(dāng)客戶當(dāng)前使用的數(shù)據(jù)在服務(wù)器中被更新時,服務(wù)器從客戶管理信息中取出客戶的更新設(shè)置,而且如果設(shè)置為分配設(shè)置,則服務(wù)器取出對應(yīng)于客戶使用的數(shù)據(jù)的更新數(shù)據(jù),以便使服務(wù)器的改變被反映到客戶,并發(fā)送取出的更新數(shù)據(jù)給客戶,當(dāng)設(shè)置為不分配設(shè)置時,服務(wù)器結(jié)束通知處理,并對于服務(wù)器的數(shù)據(jù)更新繼續(xù)監(jiān)視。
11.一種計算機(jī)可讀介質(zhì),包含數(shù)據(jù)分配程序,用于在服務(wù)器數(shù)據(jù)庫的數(shù)據(jù)被更新后,通過推式分配分配更新數(shù)據(jù)給客戶,以在服務(wù)器和客戶之間共享數(shù)據(jù),該程序包括指令,用于使服務(wù)器在服務(wù)器的數(shù)據(jù)庫中存儲包含客戶正在使用的數(shù)據(jù)范圍的客戶管理信息;以及通過在發(fā)送數(shù)據(jù)之前參考客戶管理信息,使服務(wù)器識別將發(fā)送給客戶的數(shù)據(jù)。
12.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中發(fā)送給客戶的數(shù)據(jù)為在更新服務(wù)器中更新的數(shù)據(jù)前后有差別的數(shù)據(jù)。
13.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中客戶管理信息包括有關(guān)從服務(wù)器發(fā)送數(shù)據(jù)到客戶的必要性的信息,以及通過在發(fā)送前參考客戶管理信息致使不發(fā)送數(shù)據(jù)給執(zhí)行推式分配的客戶。
14.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中當(dāng)服務(wù)器啟動時,準(zhǔn)備接受來自客戶的數(shù)據(jù)發(fā)送請求,并啟動服務(wù)器數(shù)據(jù)更新的監(jiān)視,以便在服務(wù)器執(zhí)行數(shù)據(jù)更新時分配更新數(shù)據(jù)給客戶。
15.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中當(dāng)客戶啟動時,服務(wù)器接收用于指定客戶所獲取的數(shù)據(jù)的數(shù)據(jù)發(fā)送請求,并從服務(wù)器的數(shù)據(jù)庫取出適合數(shù)據(jù)發(fā)送請求的數(shù)據(jù),服務(wù)器發(fā)送取出的數(shù)據(jù)給客戶作為其初始數(shù)據(jù)。
16.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中在客戶工作時,服務(wù)器從客戶接收用于指定客戶中未存儲的數(shù)據(jù)的數(shù)據(jù)發(fā)送請求,從數(shù)據(jù)庫獲取該數(shù)據(jù),并發(fā)送該數(shù)據(jù)給客戶。
17.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中當(dāng)服務(wù)器從客戶接收到改變使用的數(shù)據(jù)范圍的通知時,服務(wù)器在服務(wù)器數(shù)據(jù)庫的客戶管理信息中登記所改變的使用數(shù)據(jù)范圍,并在服務(wù)器的數(shù)據(jù)之后被更新時,服務(wù)器發(fā)送對應(yīng)于所改變的使用數(shù)據(jù)范圍的更新數(shù)據(jù)給客戶。
18.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中服務(wù)器從客戶接收數(shù)據(jù)分配拒絕請求,并在客戶管理信息中設(shè)置數(shù)據(jù)分配設(shè)置為“不分配”,這樣即使在改變設(shè)置后數(shù)據(jù)被服務(wù)器更新也不會發(fā)送數(shù)據(jù)給客戶。
19.如權(quán)利要求11的計算機(jī)可讀介質(zhì),其中服務(wù)器從客戶接收數(shù)據(jù)分配請求,并在客戶管理信息中設(shè)置數(shù)據(jù)分配設(shè)置為“分配”,這樣如果在改變設(shè)置后數(shù)據(jù)被服務(wù)器更新,則發(fā)送更新數(shù)據(jù)給客戶。
20.如權(quán)利要求18的計算機(jī)可讀介質(zhì),其中當(dāng)客戶當(dāng)前使用的數(shù)據(jù)在服務(wù)器中被更新時,服務(wù)器從客戶管理信息中取出客戶的更新設(shè)置,而且如果設(shè)置為分配設(shè)置,則服務(wù)器取出對應(yīng)于客戶使用的數(shù)據(jù)的更新數(shù)據(jù),以便使服務(wù)器的改變被反映到客戶,并發(fā)送取出的更新數(shù)據(jù)給客戶,當(dāng)設(shè)置為不分配設(shè)置時,服務(wù)器結(jié)束通知處理,并對服務(wù)器的數(shù)據(jù)更新繼續(xù)監(jiān)視。
全文摘要
在客戶和服務(wù)器之間實時更新數(shù)據(jù)能降低網(wǎng)絡(luò)負(fù)載。本發(fā)明提供一種用于在服務(wù)器數(shù)據(jù)庫的數(shù)據(jù)被更新后通過推式分配為客戶分配更新數(shù)據(jù),以在服務(wù)器和客戶之間共享數(shù)據(jù)的數(shù)據(jù)分配方法,該方法包括使服務(wù)器在服務(wù)器的數(shù)據(jù)庫中存儲包含客戶正使用的數(shù)據(jù)范圍的客戶管理信息,以及通過在發(fā)送數(shù)據(jù)之前參考客戶管理信息使服務(wù)器識別將發(fā)送給客戶的數(shù)據(jù)。
文檔編號G06F15/00GK1410900SQ0214422
公開日2003年4月16日 申請日期2002年9月29日 優(yōu)先權(quán)日2001年10月1日
發(fā)明者齋藤秀充, 大西康教, 山形義幸 申請人:株式會社東芝