專利名稱::用于無(wú)線設(shè)備中資料和動(dòng)作同步的方法及資料存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種使移動(dòng)式電腦設(shè)備上的資料存儲(chǔ)器和遠(yuǎn)程服務(wù)器上的資料存儲(chǔ)器同步的方法,該方法是通過傳送資料對(duì)象以及由該資料對(duì)象所引發(fā)的動(dòng)作來(lái)實(shí)現(xiàn)的。
背景技術(shù):
:在電腦發(fā)明后不久,人們開始把它們連接起來(lái)。多臺(tái)電腦之間的連接可以使數(shù)量較少的資源諸如打印機(jī)、內(nèi)存設(shè)備等被共享。起初,電腦之間通過電纜進(jìn)行連接,隨著技術(shù)的發(fā)展及人們對(duì)靈活性需求的增加,無(wú)線通訊方式出現(xiàn)并發(fā)展起來(lái)。早期的無(wú)線通訊技術(shù)涉及移動(dòng)設(shè)備與網(wǎng)絡(luò)連接端口之間的周期性連接,該連接是由在移動(dòng)式電腦設(shè)備和網(wǎng)絡(luò)連接端口之間的線纜或紅外線信號(hào)來(lái)實(shí)現(xiàn)。該技術(shù)需要在移動(dòng)設(shè)備上連接一線纜到網(wǎng)絡(luò)連接端口,或是在移動(dòng)設(shè)備上設(shè)置一紅外線裝置,其要求該紅外線裝置與網(wǎng)絡(luò)連接端口上相應(yīng)的紅外線裝置必須處在一定的范圍內(nèi)?;旧?,早期的無(wú)線通訊技術(shù)能使移動(dòng)設(shè)備之間或與別的電腦設(shè)備之間在有限的物理范圍內(nèi)進(jìn)行通訊。而在十九世紀(jì),當(dāng)電腦設(shè)備可通過新興的無(wú)線通訊網(wǎng)路如逐漸出現(xiàn)的移動(dòng)電話系統(tǒng)來(lái)通訊后,上述使用范圍的限制被逐漸解決。到十九世紀(jì)后期,無(wú)線網(wǎng)絡(luò)在全世界被廣泛應(yīng)用。移動(dòng)式電腦設(shè)備可以在任何區(qū)域與遠(yuǎn)程電腦主機(jī)的信息儲(chǔ)存設(shè)備或“資料服務(wù)器”進(jìn)行通訊。例如,通過該通訊網(wǎng)路,一銷售人員使用裝備有無(wú)線調(diào)制解調(diào)器的膝上型電腦,可以與所屬公司的中央庫(kù)存和訂單系統(tǒng)保持聯(lián)系。另外,移動(dòng)設(shè)備如個(gè)人數(shù)字助理(PersonalDigitalAssistant,PDA)以及精密移動(dòng)電話可以讓用戶連上匯聚了全世界資源的互聯(lián)網(wǎng)。很多移動(dòng)設(shè)備也能通過連上公共電話網(wǎng)絡(luò)(PublicTelephoneNetwork,PTN)和/或互聯(lián)網(wǎng),彼此進(jìn)行通訊。通過目前的移動(dòng)式電腦設(shè)備,用戶可連接到電子郵件服務(wù)器、網(wǎng)站服務(wù)器、在線銀行和其它的位于遠(yuǎn)程資料服務(wù)器的“后臺(tái)”應(yīng)用設(shè)備。諸多公司,認(rèn)識(shí)到通過移動(dòng)設(shè)備連上他們自身的系統(tǒng)或服務(wù)器的潛在優(yōu)勢(shì),希望通過提供給其工作人員或客戶的遠(yuǎn)程通訊使用者界面和后臺(tái)系統(tǒng),把他們的業(yè)務(wù)擴(kuò)展到無(wú)線世界上,最終提供給用戶以移動(dòng)設(shè)備進(jìn)行交易的能力。當(dāng)然,新的無(wú)線技術(shù)具有其自身的問題,例如,受限于自身的尺寸,很多移動(dòng)式電腦設(shè)備只提供很小的區(qū)域用于輸入及提供很小的存儲(chǔ)器空間給資料和應(yīng)用軟件。這些問題意味著,在移動(dòng)設(shè)備上進(jìn)行輸入是很困難的,且在移動(dòng)設(shè)備上運(yùn)行的應(yīng)用軟件都是很小型的。另外還存在一些諸如對(duì)無(wú)線連接的維護(hù)費(fèi)用高以及確保移動(dòng)設(shè)備上的資料一致、準(zhǔn)確以及是否為最新等有關(guān)的問題。當(dāng)前解決在有限區(qū)域進(jìn)行輸入或輸出的問題可以利用手寫識(shí)別軟件。然而,手寫識(shí)別軟件都很龐大,在移動(dòng)設(shè)備上使用則又涉及到存儲(chǔ)器不夠的問題。另一解決方法是提供一小鍵盤,然而這種小鍵盤一般較難于使用。還有一種解決方法是采用屏幕圖標(biāo)及一指示筆,其中每一圖標(biāo)代表某一定義的動(dòng)作;指示筆用于點(diǎn)選移動(dòng)設(shè)備顯示屏上的特定圖標(biāo),當(dāng)針接點(diǎn)選一特定圖標(biāo),該圖標(biāo)對(duì)應(yīng)的動(dòng)作即開始執(zhí)行。眾多個(gè)人數(shù)字助理采用了這種圖標(biāo)/指示筆的方法,因?yàn)樗坪踉谳斎氲暮?jiǎn)易性和執(zhí)行輸入軟件的需求之間提供了最好的平衡。如上所述,多數(shù)移動(dòng)設(shè)備均只具備有限的存儲(chǔ)器容量,移動(dòng)設(shè)備的存儲(chǔ)器容量不僅決定了在移動(dòng)設(shè)備上執(zhí)行的應(yīng)用軟件必須非常小,而且,還限制了所有與所述應(yīng)用軟件有關(guān)資料儲(chǔ)存裝置空間的大小。解決這種問題的一種方法是在另一第二電腦設(shè)備(如一資料服務(wù)器)中設(shè)置一數(shù)據(jù)庫(kù),并讓移動(dòng)設(shè)備周期性地連接該第二電腦設(shè)備以進(jìn)行同步。當(dāng)然,如果一特定的資料源,如一產(chǎn)品數(shù)據(jù)庫(kù),存儲(chǔ)于一遠(yuǎn)程電腦上分享給多個(gè)用戶使用,就會(huì)涉及到資料連續(xù)性或“資料同步”問題的出現(xiàn)。資料同步是一過程,其確保在一數(shù)據(jù)庫(kù)中的資料與另一數(shù)據(jù)庫(kù)中相應(yīng)的資料保持一致,以使該資料的任一用戶均了解到其它用戶對(duì)該等資料的任何變更。例如,如果一個(gè)公司在庫(kù)存中有一個(gè)棒球,第一個(gè)銷售人員賣出了這個(gè)棒球,第二個(gè)銷售人員有必要了解到公司不再有棒球可供銷售。為了讓第二個(gè)銷售人員知道庫(kù)存的變更信息,至少需完成如下兩項(xiàng)事情(1)第一個(gè)銷售人員必須更新服務(wù)器以反映棒球的最新數(shù)目;(2)資料必須能被第二個(gè)銷售人員所使用,如果該等資料位于銷售人員的移動(dòng)設(shè)備上,則必須對(duì)其進(jìn)行更新以反映服務(wù)器上的變更信息。在數(shù)據(jù)庫(kù)連接同步過程中存在另一問題,即移動(dòng)通訊常具有區(qū)域相關(guān)性或間斷性。一個(gè)用戶可能不需時(shí)時(shí)與網(wǎng)絡(luò)連接,或一個(gè)確定的連接可能會(huì)在傳輸過程中出人意料地被中斷。而且,無(wú)線連接的費(fèi)用一般較有線連接的高,如果某一用戶需要持續(xù)連接,維持該連接的支出費(fèi)用可能會(huì)超過由無(wú)線連接所產(chǎn)生的利潤(rùn)。
發(fā)明內(nèi)容本發(fā)明克服了現(xiàn)有技術(shù)中的不足,提供了一種數(shù)據(jù)庫(kù)同步方法,其可使本地移動(dòng)式電腦設(shè)備中的數(shù)據(jù)庫(kù)和遠(yuǎn)程服務(wù)器中的數(shù)據(jù)庫(kù)同步。本發(fā)明還提供有一種驗(yàn)證作用于資料對(duì)象上之動(dòng)作的方法,用于保證本地移動(dòng)式電腦設(shè)備中的數(shù)據(jù)庫(kù)和遠(yuǎn)程服務(wù)器中的數(shù)據(jù)庫(kù)能夠同步。使本地資料存儲(chǔ)器和位于服務(wù)器上的一遠(yuǎn)程資料存儲(chǔ)器同步的方法,該本地資料存儲(chǔ)器位于一采用了無(wú)線通訊技術(shù)的電腦設(shè)備,或稱“移動(dòng)式電腦設(shè)備”上,諸如個(gè)人數(shù)字助理(PDA)、便攜電腦、網(wǎng)絡(luò)電話或者膝上型電腦等。如果遠(yuǎn)程資料存儲(chǔ)器是多臺(tái)電腦設(shè)備提供或存儲(chǔ)資料,就會(huì)產(chǎn)生資料互相矛盾的問題。本發(fā)明所揭示的方法利用在服務(wù)器上運(yùn)行的商業(yè)邏輯來(lái)解決資料矛盾的問題。該商業(yè)邏輯由移動(dòng)式電腦設(shè)備的用戶定義,并被制成一特定類型的資料對(duì)象或“
技術(shù)領(lǐng)域:
”?;蛘哒f(shuō),每一
技術(shù)領(lǐng)域:
都有其自身的商業(yè)邏輯。本發(fā)明的資料同步技術(shù)采用了一種同步訊息,該同步訊息包括有一要更新的資料對(duì)象以及一作用于該資料對(duì)象上的動(dòng)作。除了該資料對(duì)象以及該動(dòng)作之外,該同步訊息還包括有一舊的資料對(duì)象。該舊的資料對(duì)象為該資料對(duì)象在該動(dòng)作執(zhí)行以前所對(duì)應(yīng)的資料對(duì)象。利用該舊的資料對(duì)象,服務(wù)器可以在該動(dòng)作執(zhí)行以前,驗(yàn)證該本地資料存儲(chǔ)器與該遠(yuǎn)程資料存儲(chǔ)器是否同步。諸如讀以及更新之類的動(dòng)作均在移動(dòng)式電腦設(shè)備上被執(zhí)行于該資料,這可以是在線模式,也可以是離線模式。處于在線模式時(shí),執(zhí)行于資料對(duì)象上的動(dòng)作是在移動(dòng)式電腦設(shè)備和服務(wù)器上同時(shí)進(jìn)行的。處于離線模式時(shí),更新之類的一些動(dòng)作只是在移動(dòng)式電腦設(shè)備的本地資料存儲(chǔ)器中被執(zhí)行,然后該資料對(duì)象、執(zhí)行于該資料對(duì)象上的動(dòng)作以及該動(dòng)作被執(zhí)行的時(shí)間均被存儲(chǔ)于該移動(dòng)式電腦設(shè)備中。在離線模式下,移動(dòng)式電腦設(shè)備會(huì)周期性地執(zhí)行一同步操作,即進(jìn)入在線狀態(tài)以向遠(yuǎn)程資料存儲(chǔ)器傳送最近一次同步過程中所存儲(chǔ)的所有資料對(duì)象和動(dòng)作。同步的時(shí)間間隔可以由移動(dòng)式電腦設(shè)備的用戶設(shè)定,也可以由遠(yuǎn)程服務(wù)器上的系統(tǒng)管理器設(shè)定,或者由外部的環(huán)境諸如移動(dòng)式電腦設(shè)備是否能夠連上遠(yuǎn)程服務(wù)器來(lái)決定。此外,該時(shí)間間隔也可以由移動(dòng)式電腦設(shè)備或遠(yuǎn)程服務(wù)器的內(nèi)部環(huán)境來(lái)決定,諸如移動(dòng)式電腦設(shè)備或遠(yuǎn)程服務(wù)器是否改變了需要同步的資料對(duì)象。同步的時(shí)間間隔可以有規(guī)則也可以沒有規(guī)則,并可以從小于一秒到大于一年之間變化。在同步過程中,服務(wù)器可以以動(dòng)作被接收的次序,也可以基于相應(yīng)的時(shí)間標(biāo)示來(lái)將資料對(duì)象和相應(yīng)的動(dòng)作傳送到服務(wù)器資料存儲(chǔ)器。在移動(dòng)計(jì)算設(shè)備處于離線狀態(tài)時(shí),更新復(fù)制可以使作用于資料對(duì)象上的更新操作在本地執(zhí)行。在同步過程中,更新操作被存儲(chǔ)并傳送至遠(yuǎn)程服務(wù)器。然后于本地執(zhí)行的更新操作在遠(yuǎn)程服務(wù)器中被執(zhí)行,執(zhí)行的結(jié)果回傳移動(dòng)式電腦設(shè)備。本發(fā)明的便利還包括有資料源獨(dú)立復(fù)制。換言之,本發(fā)明的方法可以支持任何類型的服務(wù)器資料源,比如關(guān)系型數(shù)據(jù)庫(kù)、目錄系統(tǒng)、典型文件系統(tǒng)或其它的企業(yè)系統(tǒng)。不同類型的服務(wù)器資料源都被支持以“插件”,或硬件或軟件模塊,這些東西都會(huì)給一更大的系統(tǒng)增加一項(xiàng)特色或服務(wù)。此外,本發(fā)明的技術(shù)還允許位于不同地點(diǎn)的資料的獨(dú)立復(fù)制。存儲(chǔ)在移動(dòng)式電腦設(shè)備上的資料可以由以下的系統(tǒng)提供,如關(guān)系型數(shù)據(jù)庫(kù)(即微軟的Access)、單鍵B-tree存儲(chǔ)器(即掌上型數(shù)據(jù)庫(kù))或簡(jiǎn)單的一個(gè)文件系統(tǒng)。圖1是一通訊系統(tǒng)的方塊圖,該通訊系統(tǒng)包括兩個(gè)典型的移動(dòng)式電腦設(shè)備,其可用于實(shí)施本發(fā)明所揭示的方法。圖2是本發(fā)明的一典型個(gè)人數(shù)字助理(PDA)示意圖。圖3是本發(fā)明的一無(wú)線應(yīng)用程序示例架構(gòu)的方塊圖。圖4是服務(wù)器中各部件的方塊圖。圖5是在客戶端移動(dòng)式電腦設(shè)備的數(shù)據(jù)管理過程流程圖。圖6是圖5中同步步驟的流程圖。圖7是在服務(wù)器端的數(shù)據(jù)管理過程流程圖。圖8是更新識(shí)別過程的流程圖。圖9是圖1及圖2中個(gè)人數(shù)字助理的主頁(yè)屏幕示意圖。圖10是圖1及圖2中個(gè)人數(shù)字助理的編輯過濾器屏幕示意圖。圖11是圖1及圖2中個(gè)人數(shù)字助理的最佳產(chǎn)品搜索屏幕示意圖。圖12是圖1及圖2中個(gè)人數(shù)字助理的另一產(chǎn)品搜索屏幕示意圖。具體實(shí)施方式如圖1所示,其為一典型的通訊系統(tǒng)100的方塊圖,該系統(tǒng)100可支持本發(fā)明所揭示的方法。通訊塔105提供有多重?zé)o線通訊信道,比如與個(gè)人數(shù)字助理(PDA)101連接的通訊信道115以及與膝上型電腦103連接的通訊信道117。通訊系統(tǒng)100、個(gè)人數(shù)字助理101以及膝上型電腦103均為可支持本發(fā)明方法的典型移動(dòng)式電腦系統(tǒng)和設(shè)備。為簡(jiǎn)便起見,一電腦設(shè)備,無(wú)論其是否為可移動(dòng),只要采用了無(wú)線通訊技術(shù),我們均稱它為“移動(dòng)式電腦設(shè)備”。許多類型的移動(dòng)式設(shè)備,包括已在使用的和即將被發(fā)明的,均包含于本發(fā)明的權(quán)利要求中。例如,當(dāng)今使用的許多移動(dòng)電話即可利用本發(fā)明的方法可使其對(duì)資料和國(guó)際互聯(lián)網(wǎng)的訪問更加便利。另一類可利用本發(fā)明所揭示方法的系統(tǒng)為無(wú)線電子證章以及用來(lái)與其通訊的發(fā)射機(jī)和接收器。通訊塔105通過專用或公用的通訊信道119與服務(wù)器107相連。當(dāng)然,對(duì)于熟知此項(xiàng)技藝的人士來(lái)說(shuō),通訊信道119可以是有線通訊,也可以是無(wú)線通訊。服務(wù)器107可實(shí)現(xiàn)本發(fā)明標(biāo)的的部分內(nèi)容,以下會(huì)對(duì)其作更為詳細(xì)的說(shuō)明。服務(wù)器107和局域網(wǎng)(LAN)121相連。局域網(wǎng)121又與電腦設(shè)備109及111相連,其可為服務(wù)器107及電腦設(shè)備109及111提供訪問國(guó)際互聯(lián)網(wǎng)113的信道。個(gè)人數(shù)字助理101以及膝上型電腦103也可經(jīng)由局域網(wǎng)121、服務(wù)器107、通訊信道119以及通訊信道115或者117來(lái)訪問國(guó)際互聯(lián)網(wǎng)113。通訊系統(tǒng)100僅為本發(fā)明的一實(shí)例,由該系統(tǒng)所衍生出的其它一些系統(tǒng),甚至是不同類型的系統(tǒng),也可以采用本發(fā)明的方法。例如,本發(fā)明的方法可以于局域網(wǎng)的資料服務(wù)器架構(gòu)中實(shí)現(xiàn)。對(duì)于熟知此項(xiàng)技藝的人士來(lái)說(shuō),所揭示的方法可以方便地在任何通訊系統(tǒng)或其它類型存在著頻寬和/或設(shè)備內(nèi)存問題的系統(tǒng)內(nèi)展開具有一定優(yōu)勢(shì)。本發(fā)明不僅限于采用無(wú)線通訊鏈路的系統(tǒng);雖然在該領(lǐng)域本發(fā)明的便利性最容易體現(xiàn)出來(lái)。圖2是圖1所示的個(gè)人數(shù)字助理101的示意圖。個(gè)人數(shù)字助理101可以執(zhí)行本發(fā)明所揭示的方法,其輸入與輸出分別由資料輸入?yún)^(qū)205以及顯示屏203提供。本實(shí)施方式所述的資料輸入?yún)^(qū)205為一小鍵盤,用戶可以在上面鍵入信息。另外,顯示屏203也提供有資料輸入功能。顯示在顯示屏203上的小圖標(biāo)(圖中未畫出)代表著預(yù)先定義好的、個(gè)人數(shù)字助理101可以執(zhí)行的動(dòng)作。用戶可利用指示筆207來(lái)點(diǎn)選顯示屏203上的一個(gè)特定的圖標(biāo)從而執(zhí)行相應(yīng)的動(dòng)作。排列于個(gè)人數(shù)字助理101底部的控制按鈕209可以供用戶設(shè)置不同的功能,比如音量和顯示屏203的亮度等。在另一實(shí)施方式中,資料輸入?yún)^(qū)205可被程序化以使指示筆207可以在其上書寫,然后利用個(gè)人數(shù)字助理101中的筆跡分析軟件分析該筆跡以決定一合適的動(dòng)作。圖3是一無(wú)線應(yīng)用程序的示例架構(gòu)的方塊圖,該應(yīng)用程序庫(kù)在客戶端,如個(gè)人數(shù)字助理101以及如服務(wù)器107(如圖1所示)之類的服務(wù)器上運(yùn)行,并采用了本發(fā)明所揭示的技術(shù)。無(wú)線應(yīng)用架構(gòu)301包括有一無(wú)線資料復(fù)制器307以及一移動(dòng)式交換器309,并向諸如個(gè)人數(shù)字助理101之類的可移動(dòng)式設(shè)備提供促進(jìn)無(wú)線應(yīng)用程序發(fā)展的服務(wù)。該無(wú)線應(yīng)用架構(gòu)301是基于標(biāo)準(zhǔn)建構(gòu),并可容易地成為設(shè)備、操作系統(tǒng)或獨(dú)立的數(shù)據(jù)庫(kù)。移動(dòng)式交換器309為移動(dòng)客戶端和跨平臺(tái)客戶端提供實(shí)時(shí)的訪問企業(yè)服務(wù)器或其它類型的服務(wù)器的通路。內(nèi)存的動(dòng)作和配置,諸如在服務(wù)器中所執(zhí)行或配置的程序和對(duì)象,可以由一客戶端無(wú)線設(shè)備所控制。在本實(shí)施方式中,移動(dòng)式交換器309也是基于可擴(kuò)展標(biāo)示語(yǔ)言(XML)和超文件傳輸協(xié)議(HTTP),可擴(kuò)展標(biāo)示語(yǔ)言(XML)使設(shè)計(jì)者可以定義、傳送、驗(yàn)證以及解釋應(yīng)用程序之間和組織之間的資料,超文件傳輸協(xié)議(HTTP)是國(guó)際互聯(lián)網(wǎng)所運(yùn)用的根本協(xié)議,其定義了信息采用何種格式化及如何傳送,以及網(wǎng)絡(luò)服務(wù)器或?yàn)g覽器應(yīng)該采用什么動(dòng)作以響應(yīng)一特定的需求。XML和HTTP均使用了一種流行的方式—遠(yuǎn)程過程調(diào)用(RemoteProcedureCall,RPC),以利用網(wǎng)絡(luò)在不同電腦中的單獨(dú)程序之間實(shí)現(xiàn)進(jìn)程間通訊(Inter-ProcessCommunication,IPC)。當(dāng)然,RPC和IPC也可以在單獨(dú)的電腦設(shè)備上被執(zhí)行。所揭示的無(wú)線應(yīng)用架構(gòu)301提供簡(jiǎn)潔有效的環(huán)境,以發(fā)展在無(wú)線結(jié)構(gòu)中運(yùn)行的主從式應(yīng)用程序。無(wú)線應(yīng)用架構(gòu)301的客戶端庫(kù)提供如下用于關(guān)系型客戶應(yīng)用程序的功能(1)生成遠(yuǎn)程過程調(diào)用的內(nèi)容(方法名稱和參數(shù));(2)形成XML信息;(3)利用HTTP協(xié)議將該XML信息傳送至服務(wù)器;以及(4)接收并解釋來(lái)自于服務(wù)器的相應(yīng)的響應(yīng)。無(wú)線應(yīng)用架構(gòu)301的服務(wù)器端庫(kù)提供如下用于關(guān)系型客戶應(yīng)用程序的功能(1)接收并解釋一客戶端的請(qǐng)求信息,尤其是利用上述的客戶端庫(kù)所產(chǎn)生、形成以及傳送的請(qǐng)求信息;(2)根據(jù)客戶端的請(qǐng)求信息所請(qǐng)求的特定RPC,搜索一適合的程序;(3)調(diào)用該合適的程序;(4)將該合適的響應(yīng)發(fā)回至客戶端。本發(fā)明中的遠(yuǎn)程過程調(diào)用(RPC)支持無(wú)線環(huán)境中以下的數(shù)據(jù)類型整數(shù)(4位);布爾函數(shù);字符串;日期;雙精度;base-64;數(shù)組;結(jié)構(gòu)以及雜湊表(hashtable)。無(wú)線資料復(fù)制器307處理并管理無(wú)線設(shè)備中的資料,它使用戶能夠在無(wú)線設(shè)備中選擇用戶所需要的特定信息,并且僅復(fù)制所選擇的信息,利用該方法以節(jié)省傳輸媒介中的頻寬和無(wú)線設(shè)備中的內(nèi)存資源。無(wú)線資料復(fù)制器307將系統(tǒng)數(shù)據(jù)庫(kù)用作客戶端資料緩存,并給每位用戶提供一無(wú)線設(shè)備資料過濾器,或稱用戶化腳本(customizablescripts),用以說(shuō)明特定用戶選擇存儲(chǔ)在移動(dòng)式設(shè)備上的信息。資料過濾器可以由特定的用戶在該用戶的移動(dòng)式設(shè)備上定義,或者,由系統(tǒng)管理器或系統(tǒng)程序員來(lái)生成一公用數(shù)據(jù)過濾器(或稱標(biāo)準(zhǔn)過濾器)的菜單,然后用戶依其特定的環(huán)境和職責(zé)從該菜單上做簡(jiǎn)單的選擇即可。標(biāo)準(zhǔn)過濾器也可以簡(jiǎn)單地模塊化,這樣用戶就可選擇并定制。資料過濾器和標(biāo)準(zhǔn)過濾器可以很簡(jiǎn)單,就如等式匹配游戲一樣,也可以很復(fù)雜,就如運(yùn)用了乘法規(guī)則的乘算表一樣。無(wú)線資料復(fù)制器307和移動(dòng)式交換器309提供有一平臺(tái),專用應(yīng)用程序可以建構(gòu)于其上。在本實(shí)施方式中,專用應(yīng)用程序包括有移動(dòng)式電子商務(wù)應(yīng)用程序310、移動(dòng)式醫(yī)院應(yīng)用程序320、移動(dòng)式物流應(yīng)用程序330以及移動(dòng)式金融應(yīng)用程序340。該專用應(yīng)用程序310、320、330和340都僅僅是作為例子。實(shí)際上,本發(fā)明所揭示的方法可以用來(lái)實(shí)現(xiàn)任何應(yīng)用程序,這些應(yīng)用程序可以利用移動(dòng)式訪問中心應(yīng)用程序或數(shù)據(jù)庫(kù)服務(wù)器來(lái)獲得幫助。應(yīng)用程序310、320、330和340都是本系統(tǒng)的應(yīng)用程序組件303之一。任何一個(gè)應(yīng)用程序310、320、330和340都包括有應(yīng)用程序產(chǎn)品305。在本實(shí)施方式中,移動(dòng)式電子商務(wù)應(yīng)用程序310的應(yīng)用程序產(chǎn)品305包括有應(yīng)用程序A1311(APPA1)、應(yīng)用程序A2312(APPA2)和應(yīng)用程序A3313(APPA3)。移動(dòng)式醫(yī)院應(yīng)用程序320的應(yīng)用程序產(chǎn)品305包括有應(yīng)用程序B1321(APPB1)和應(yīng)用程序B2322(APPB2)。移動(dòng)式物流應(yīng)用程序330的應(yīng)用程序產(chǎn)品305包括有應(yīng)用程序C1331(APPC1)、應(yīng)用程序C2332(APPC2)和應(yīng)用程序C3333(APPC3)。最后,移動(dòng)式金融應(yīng)用程序340的應(yīng)用程序產(chǎn)品305包括有應(yīng)用程序D1341(APPD1)、應(yīng)用程序D2342(APPD2)和應(yīng)用程序D3343(APPD3)。如應(yīng)用程序組件303一樣,應(yīng)用程序產(chǎn)品305的特定構(gòu)成對(duì)本發(fā)明而言并非是必要的,而僅僅是作為一個(gè)例子。例如,APPA1311可以是一個(gè)移動(dòng)式銷售力自動(dòng)控制應(yīng)用程序;APPB1321可以是一個(gè)移動(dòng)式病人管理系統(tǒng);APPC1331可以是一個(gè)移動(dòng)式傳輸管理系統(tǒng);APPD1341可以是一個(gè)移動(dòng)式銀行業(yè)務(wù)應(yīng)用程序。圖4是本發(fā)明的服務(wù)器組件的方塊圖。如下的流程是在圖1所示的服務(wù)器107上執(zhí)行并支持上述與圖3結(jié)合起來(lái)所描述的服務(wù)器端庫(kù)。Java服務(wù)引擎401執(zhí)行透過其它流程訪問到該引擎的軟件、或Javaapplets和/或servlets。雖然本例所使用的是Java語(yǔ)言,但是本發(fā)明實(shí)際上可以用任何軟件語(yǔ)言來(lái)實(shí)現(xiàn)。特定的語(yǔ)言對(duì)本發(fā)明的實(shí)質(zhì)并不重要。在本實(shí)施方式當(dāng)中,這些組件均以Javaservlets構(gòu)成。Javaservlets與applets類似,也是一些應(yīng)用程序,或?yàn)檐浖a的集合,其可擴(kuò)展網(wǎng)絡(luò)瀏覽器和Java服務(wù)引擎401的功能。這種方法可以減小生成不同的擴(kuò)充以和不同的后端系統(tǒng)相連接的需求。Java服務(wù)引擎401可根據(jù)不同的后端系統(tǒng)負(fù)載新的servlets,而不必修改Java服務(wù)引擎401本身。這樣,servlets只有在它被需要的第一時(shí)間才被安裝,并且并非所有時(shí)間都會(huì)生成對(duì)特定后端系統(tǒng)過程的需求。通訊管理器403控制進(jìn)出移動(dòng)式設(shè)備的信息,為方便以下的描述,該移動(dòng)式設(shè)備設(shè)為個(gè)人數(shù)字助理101。通訊管理器403使服務(wù)器107和個(gè)人數(shù)字助理101之間保持基于傳輸控制協(xié)議(TCP)的聯(lián)接。在聯(lián)接的服務(wù)器107端,通訊管理器403接收個(gè)人數(shù)字助理101處的字符串流形式的遠(yuǎn)程過程調(diào)用,并解析該遠(yuǎn)程過程調(diào)用字符串流,將字符串流參數(shù)轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu),然后調(diào)用具有已轉(zhuǎn)換的數(shù)據(jù)參數(shù)的合適的本地程序。由遠(yuǎn)程過程調(diào)用所生成的結(jié)果被存儲(chǔ)于數(shù)據(jù)結(jié)構(gòu)的輸出參數(shù)中。和通訊管理器403通訊連接的是一復(fù)制管理器405、一緩存管理器411以及一圖表管理器407。復(fù)制管理器403控制客戶端之間的雙向資料同步,比如個(gè)人數(shù)字助理101和服務(wù)器107之間的資料同步。此外,復(fù)制管理器403提供端對(duì)端的傳輸交易控制,該傳輸交易控制可以檢測(cè)并解決不同客戶端之間的資料沖突。與復(fù)制管理器405連接在一起的是初級(jí)域管理器409,詳述如下。資料之間的沖突可以基于下述四類方法來(lái)解決。這四類方法是“最后所寫”、“基于時(shí)間標(biāo)示”、“基于值”以及“基于時(shí)間標(biāo)示和值”,詳述如下(1)在“最后所寫”沖突解決方法中,寫入數(shù)據(jù)庫(kù)的最后的值會(huì)成為對(duì)象的值。這類方法適用于那些極不可能發(fā)生的情形,即多人希望更新同一份資料。這會(huì)產(chǎn)生一個(gè)問題,那就是如果前一次的修改是在離線狀態(tài)下進(jìn)行的,而且直到后一次修改進(jìn)行以后才被復(fù)制,則該前一次的修改會(huì)覆蓋后一次的修改。(2)在“基于值”的方法中,如果個(gè)人數(shù)字助理101的“舊值”和服務(wù)器107的當(dāng)前值相匹配的話,服務(wù)器107就接受修改。(3)在“基于時(shí)間標(biāo)示”方法中,如果修改的時(shí)間標(biāo)示大于(時(shí)間上晚于)服務(wù)器107中對(duì)象的當(dāng)前時(shí)間標(biāo)示,修改就被接受。這種方法之前提是假設(shè)個(gè)人數(shù)字助理101的時(shí)鐘與服務(wù)器的時(shí)鐘同步。(4)在“基于時(shí)間標(biāo)示和值”的沖突解決方法中,由個(gè)人數(shù)字助理101所提供的修改時(shí)間標(biāo)示必須晚于服務(wù)器07上的修改時(shí)間標(biāo)示。此外,由個(gè)人數(shù)字助理101所提供的作為“舊值”的值必須和服務(wù)器107上的當(dāng)前值相匹配。這些條件可以確保修改是最近的,而且在做出修改時(shí),用戶可以知道服務(wù)器107中對(duì)象的當(dāng)前表示法。注意如果個(gè)人數(shù)字助理101的數(shù)據(jù)庫(kù)和服務(wù)器107的數(shù)據(jù)庫(kù)都能夠操縱對(duì)象屬性層(相較于對(duì)象層)中的時(shí)間標(biāo)示,則在更新操作進(jìn)行時(shí),可以生成一多重請(qǐng)求以更新一特定的對(duì)象。對(duì)那些沒有被服務(wù)器107中的復(fù)制管理器405所解決的資料所作的未被接受的修改,會(huì)被存儲(chǔ)起來(lái)供系統(tǒng)管理員檢查。系統(tǒng)管理員可以根據(jù)casebycase來(lái)決定一特定的修改是否應(yīng)該被接受。在本實(shí)施方式中,圖表管理器407管理有兩個(gè)圖表,皆為XML格式。第一圖表,或稱主圖表描述服務(wù)器107以及存儲(chǔ)在資料存儲(chǔ)器417中的主數(shù)據(jù)庫(kù)的圖表,以及該主數(shù)據(jù)庫(kù)的圖表之間的關(guān)系。當(dāng)然,如同上述與圖1結(jié)合所述的內(nèi)容一樣,主數(shù)據(jù)庫(kù)和資料存儲(chǔ)器417無(wú)需一定處于服務(wù)器107上,其可以處于電腦設(shè)備109和111之一或二者上,并能被服務(wù)器107透過網(wǎng)絡(luò)121所訪問。圖表管理器407中之一第二圖表描述個(gè)人數(shù)字助理101的數(shù)據(jù)結(jié)構(gòu)。當(dāng)資料從主數(shù)據(jù)庫(kù)檢索出來(lái)后,圖表管理器407就從所檢索的資料中提取信息,并將該提取的信息傳送至通訊管理器403以傳給個(gè)人數(shù)字助理101。圖表管理器407還有一附加的次圖表,用以從其它移動(dòng)式設(shè)備,諸如膝上型電腦103中提取信息。緩存管理器411在資料對(duì)象從主數(shù)據(jù)庫(kù)中被提取出來(lái)前為其提供一緩存,以使來(lái)自個(gè)人數(shù)字助理101的復(fù)制資料請(qǐng)求更有效。緩存的目的和功能是為電腦領(lǐng)域內(nèi)的人士所熟知的。開放式數(shù)據(jù)庫(kù)互連(OpenDatabaseConnectivity,ODBC)連接管理器413(以下簡(jiǎn)稱為ODBC連接管理器413)和圖表管理器407進(jìn)行通訊連接。除了為熟知此項(xiàng)技術(shù)的人員所熟悉的連接池服務(wù)(connectionpoolservices)和本文服務(wù)(contextservices)外,ODBC連接管理器413在資料訪問管理器415和圖表管理器407之間還預(yù)建了一套ODBC連接,以從ODBC連接獲得并返回開放式連接,以及在停工時(shí)返回所有的資源。ODBC連接管理器413也處理連接失效和通訊失效的情形。資料訪問管理器415控制著對(duì)資料存儲(chǔ)器417的訪問。在本說(shuō)明書中,資料存儲(chǔ)器417是指“遠(yuǎn)程”的資料存儲(chǔ)器,而個(gè)人數(shù)字助理101上的資料存儲(chǔ)器是指“本地”資料存儲(chǔ)器?!氨镜亍奔啊斑h(yuǎn)程”的指定僅為簡(jiǎn)便起見,資料存儲(chǔ)器417也可以被稱為本地資料存儲(chǔ)器,而移動(dòng)式電腦設(shè)備上的資料存儲(chǔ)器也可以被稱為遠(yuǎn)程資料存儲(chǔ)器。對(duì)“本地”及“遠(yuǎn)程”的指定僅為基于這樣一個(gè)事實(shí),即兩個(gè)資料存儲(chǔ)器沒有駐存于同一設(shè)備上。資料訪問管理器415可以是任何商用的數(shù)據(jù)庫(kù)管理系統(tǒng),或者是用戶構(gòu)建的系統(tǒng)。資料訪問管理器415的具體的細(xì)節(jié)對(duì)本發(fā)明的精神并不重要,而且也應(yīng)當(dāng)為熟知本項(xiàng)技術(shù)的人士所熟悉。資料應(yīng)按技術(shù)域進(jìn)行編排以使資料的存儲(chǔ)、收集以及分發(fā)降低對(duì)特定服務(wù)器程序,如數(shù)據(jù)庫(kù)管理系統(tǒng)和其它所采用的系統(tǒng)的依賴。特定技術(shù)域包含有特定對(duì)象的定義,包括構(gòu)成對(duì)象的單個(gè)的資料組件,或“屬性”。每條屬性均具有數(shù)據(jù)類型和一個(gè)或多個(gè)值。例如,一“賬戶”對(duì)象可以包含與銀行賬戶有關(guān)的屬性,比如所有者姓名和余額等。在一服務(wù)器中,一對(duì)象也可以是相關(guān)的資料的邏輯表示。每個(gè)對(duì)象都有唯一的識(shí)別符,或相應(yīng)對(duì)象的唯一的密鑰。當(dāng)一特定的對(duì)象被更新時(shí),所有與該對(duì)象有關(guān)的資料也會(huì)被更新。諸如移動(dòng)式電子商務(wù)應(yīng)用程序310、移動(dòng)式醫(yī)院應(yīng)用程序320、移動(dòng)式物流應(yīng)用程序330以及移動(dòng)式金融應(yīng)用程序340(圖3所示)之類的應(yīng)用程序都有與其相對(duì)應(yīng)的域集合。例如,移動(dòng)式醫(yī)院應(yīng)用程序320可具有病人對(duì)象和醫(yī)生對(duì)象,移動(dòng)式電子商務(wù)應(yīng)用程序310可包含產(chǎn)品對(duì)象。特定的應(yīng)用程序310、320、330或340的對(duì)象均置于域管理器中,如域管理器一421,域管理器二422,域管理器三423。由于不同類型的對(duì)象需要不同類型的操作,因此每一域管理器421~423都包含有一套客制化的功能或者商業(yè)邏輯,比如商業(yè)邏輯431、商業(yè)邏輯432和商業(yè)邏輯433等。域管理器421~423透過資料訪問管理器415從資料存儲(chǔ)器417中提取與各自對(duì)象有關(guān)的信息。每一域管理器421~423都是相關(guān)域內(nèi)信息管理的控制點(diǎn)。諸如搜索、增加、更新和刪除等操作均是透過域管理器來(lái)完成。商業(yè)邏輯431~433為客制化的域,以使每一特定域的處理過程能夠進(jìn)行。商業(yè)邏輯431~433也可以包含用于解決數(shù)據(jù)沖突的邏輯。為了防止不必要的軟件復(fù)制,所有域管理器421~423的公共功能都集中在初級(jí)域管理器409。初級(jí)域管理器409是一個(gè)基礎(chǔ)對(duì)象,域管理器421~423可從它那里繼承一些屬性和方法。圖5是客戶端移動(dòng)式電腦設(shè)備如個(gè)人數(shù)字助理101上的數(shù)據(jù)管理程序500的流程圖。該流程始于開始步驟501,緊接著即為交易初始化步驟503,在這一步驟中個(gè)人數(shù)字助理101的用戶執(zhí)行一些動(dòng)作以處理資料。例如,使用個(gè)人數(shù)字助理101的銷售人員可以從客戶那里接收購(gòu)買特定棒球的請(qǐng)求。個(gè)人數(shù)字助理101上的本地?cái)?shù)據(jù)庫(kù)被更新以顯示棒球庫(kù)存量的變化,該庫(kù)存量由服務(wù)器107上的數(shù)據(jù)庫(kù)表示。在本例中,上述個(gè)人數(shù)字助理101的本地?cái)?shù)據(jù)庫(kù)可以被服務(wù)器107上的中央數(shù)據(jù)庫(kù)所同步,也可以不被該中央數(shù)據(jù)庫(kù)所同步。當(dāng)然,一旦該棒球的庫(kù)存量被輸入到該本地?cái)?shù)據(jù)庫(kù),則該本地?cái)?shù)據(jù)庫(kù)和中央數(shù)據(jù)庫(kù)就彼此不同步了。在資料創(chuàng)建或更新步驟507中,程序500確定該交易是代表新的資料還是對(duì)已有資料的更新。新的資料可以是銷售人員在輸入新的客戶信息時(shí)所生成的帳戶對(duì)象。雖然不大可能,但是如果生成或接收的資料沒有改變或產(chǎn)生本地?cái)?shù)據(jù)庫(kù),或者如果資料被標(biāo)以“沒有存儲(chǔ)”(下面會(huì)解釋),則控制過程會(huì)從步驟507跳到結(jié)束步驟523,交易的處理過程就此結(jié)束。如果資料是新的或被更新,則轉(zhuǎn)至當(dāng)前連接步驟509。在此步驟中,程序500確定在個(gè)人數(shù)字助理101和服務(wù)器107之間是否具有一當(dāng)前動(dòng)態(tài)連接。如果沒有,則轉(zhuǎn)到插入同步序列步驟511,在該步驟,資料被置于個(gè)人數(shù)字助理101的存儲(chǔ)區(qū)域,那些未決的交易均存儲(chǔ)于此。此外,這些資料的狀態(tài)被設(shè)為“陳舊”,以下會(huì)對(duì)此做更為詳細(xì)的解釋。如果該程序在步驟509確定個(gè)人數(shù)字助理101和服務(wù)器107在當(dāng)前是連接著的,則流程會(huì)轉(zhuǎn)到同步步驟513。資料在步驟509被插入到同步序列和在步驟513的同步化均涉及到將資料格式化為適合傳送的格式,比如生成遠(yuǎn)程過程調(diào)用的內(nèi)容(方法的名稱和參數(shù)),以及基于所生成的內(nèi)容和在步驟503所生成或者接收的資料形成XML信息。為了實(shí)現(xiàn)正確有效的同步,程序500將下列資料狀態(tài)之一分配到每個(gè)對(duì)象(1)新這種狀態(tài)指在個(gè)人數(shù)字助理101上已經(jīng)生成但在服務(wù)器107中未存在的對(duì)象。適合于相應(yīng)對(duì)象的“增加”對(duì)象操作,或者“方法”必須在下一同步過程中被傳送至服務(wù)器。該新對(duì)象的一些屬性比如唯一的對(duì)象密鑰須由服務(wù)器107生成并回傳給個(gè)人數(shù)字助理101,并確定服務(wù)器107中的增加操作是成功的。當(dāng)然,如果增加的操作不成功,服務(wù)器107需要將此情形傳送給個(gè)人數(shù)字助理101,這樣,個(gè)人數(shù)字助理101就可以采取合適的動(dòng)作。(2)更新一個(gè)對(duì)象的更新指自從上次同步后已經(jīng)在本地個(gè)人數(shù)字助理101資料存儲(chǔ)區(qū)被更新。在更新的同一時(shí)刻,該對(duì)象的更新值必須被傳送到服務(wù)器107上。任何可能發(fā)生的沖突,如兩個(gè)互不相識(shí)的銷售員都試圖銷售同一產(chǎn)品時(shí)發(fā)生的沖突,都會(huì)在服務(wù)器107上通過復(fù)制管理器405解決(圖4)。然后更新過的對(duì)象重新被傳送到個(gè)人數(shù)字助理101以確保個(gè)人數(shù)字助理上的副本資料與服務(wù)器107上的一致。如果復(fù)制管理器405確定來(lái)自于個(gè)人數(shù)字助理101的對(duì)象因?yàn)閿?shù)據(jù)沖突而無(wú)效時(shí),傳送到個(gè)人數(shù)字助理101的更新對(duì)象還必須簡(jiǎn)要說(shuō)明該沖突事實(shí)。(3)不能存儲(chǔ)被指定為“不能存儲(chǔ)”的對(duì)象來(lái)自服務(wù)器107并保存到個(gè)人數(shù)字助理101上。如果有必要的話,該對(duì)象可以會(huì)被個(gè)人數(shù)字助理所遺棄。一個(gè)典型的例子是個(gè)人數(shù)字助理臨時(shí)需要某數(shù)據(jù)項(xiàng)目,而其屬性不能被修改。當(dāng)環(huán)境改變時(shí),個(gè)人數(shù)字助理101可以將對(duì)象狀態(tài)從“不能存儲(chǔ)”狀態(tài)改為“可存儲(chǔ)”狀態(tài)。(4)存儲(chǔ)被指定為“存儲(chǔ)”的對(duì)象不管是在本地的還是在遠(yuǎn)程的資料存儲(chǔ)區(qū)都被作為永久的一部分,并與至少一個(gè)包含在同步過程中的預(yù)先定義的資料過濾器相匹配,從而使其屬性值被保留在一個(gè)同步狀態(tài)。(5)陳舊被指定為“陳舊”的對(duì)象被保留在個(gè)人數(shù)字助理101上但不包括在同步過程中。個(gè)人數(shù)字助理101可以根據(jù)其自身需求及(或)該陳舊對(duì)象的自身特性來(lái)決定保留還是清除該指定為陳舊的對(duì)象。(6)刪除被指定為“刪除”的對(duì)象是指已經(jīng)從個(gè)人數(shù)字助理101的資料存儲(chǔ)區(qū)移除的對(duì)象,且在一個(gè)同步過程中該刪除信息需被傳送到服務(wù)器107中。客戶可以從本地資料存儲(chǔ)區(qū)移除該刪除的對(duì)象,而只需在一個(gè)同步過程中傳送該對(duì)象的唯一密鑰至服務(wù)器,或者標(biāo)注該對(duì)象為刪除狀態(tài),而正如同步過程所要求的那樣,只有當(dāng)該對(duì)象從服務(wù)器107成功刪除時(shí)才將其從本地資料存儲(chǔ)區(qū)移除。個(gè)人數(shù)字助理101特定對(duì)象的狀態(tài)維持追蹤的方式對(duì)于本發(fā)明的精神并不很重要。如果個(gè)人數(shù)字助理101將對(duì)象保存在一個(gè)關(guān)系數(shù)據(jù)庫(kù)中,該對(duì)象的指定狀態(tài)可以簡(jiǎn)單地作為表格中的一個(gè)屬性值范圍。另外一種可替代的保存該狀態(tài)信息的方法是,通過將對(duì)象的不同狀態(tài)隔離在不同的文件里。例如,一個(gè)“不能保存”的對(duì)象可以保存在一臨時(shí)文件中,只有當(dāng)該“不能保存”狀態(tài)轉(zhuǎn)換為“保存”狀態(tài)時(shí)才被保存到資料存儲(chǔ)區(qū)。步驟509是向步驟511進(jìn)行還是向步驟513進(jìn)行取決于個(gè)人數(shù)字助理101是處于在線狀態(tài)還是處于離線狀態(tài)。如果個(gè)人數(shù)字助理101處于在線狀態(tài),則轉(zhuǎn)向步驟513且在步驟509創(chuàng)建的XML信息被傳送到服務(wù)器107上。如果個(gè)人數(shù)字助理101處于離線狀態(tài),則轉(zhuǎn)向步驟511,在該步驟,XML信息被插入到一個(gè)同步步驟中。接著,再轉(zhuǎn)回至步驟509,在該步驟,個(gè)人數(shù)字助理一直為待機(jī)狀態(tài),直到在其與服務(wù)器107之間建立一條連接。個(gè)人數(shù)字助理101周期地核查一個(gè)連接是否被建立,例如當(dāng)連接周期為定期排程事件或數(shù)據(jù)傳輸被服務(wù)器107所初始化等;或者當(dāng)個(gè)人數(shù)字助理101需要傳送一條或多條信息,被設(shè)定為初始化一個(gè)連接時(shí),核查建立連接的條件是否已經(jīng)具備。如果當(dāng)個(gè)人數(shù)字助理101在等待與服務(wù)器之間建立一個(gè)連接時(shí),一個(gè)新的交易被初始化,程序500會(huì)像處理以前的交易一樣將該新的交易放到同步隊(duì)列中等待建立連接,以便能產(chǎn)生一個(gè)同步過程。上述提到的同步周期可以是固定不變的也可以是可變的。一個(gè)同步排程可以通過個(gè)人數(shù)字助理101或服務(wù)器107上的用戶接口(UI)來(lái)建立。用戶亦可在個(gè)人數(shù)字助理101或服務(wù)器107上利用該用戶接口來(lái)初始化一同步過程。如果在初始化一同步過程的同時(shí),在個(gè)人數(shù)字助理101和服務(wù)器107之間還未建立連接,初始化同步過程的個(gè)人數(shù)字助理101和服務(wù)器107辨識(shí)出該狀態(tài),并將連接請(qǐng)求放進(jìn)同步序列中,然后周期地測(cè)試兩者之間的連接是否建立或建立連接的必要條件是否存在。兩者之間的連接一旦建立,同步過程將繼續(xù),控制過程509將轉(zhuǎn)向步驟513。該同步過程需保持本地的資料副本與服務(wù)器107上的對(duì)應(yīng)資料一致。本發(fā)明的同步是基于資料過濾器的,這些將在后面結(jié)合圖9到圖12進(jìn)行詳細(xì)論述。個(gè)人數(shù)字助理101上的資料對(duì)象副本,如本地或客戶端資料,通過一系列的客戶端/服務(wù)器端的交易,與服務(wù)器107上對(duì)應(yīng)的資料對(duì)象,如服務(wù)器端資料達(dá)成同步。同步步驟513始于個(gè)人數(shù)字助理101向服務(wù)器107發(fā)送一個(gè)同步請(qǐng)求對(duì)象時(shí)。該同步請(qǐng)求對(duì)象會(huì)壓縮所有個(gè)人數(shù)字助理101需要提供給服務(wù)器107的資料,以便執(zhí)行一個(gè)特定的同步動(dòng)作,包括一時(shí)間標(biāo)記、一可選擇的過濾器、一可選擇列表、或一需要同步的對(duì)象“矢量”或一同步對(duì)象,以及一個(gè)包括個(gè)人數(shù)字助理101當(dāng)前的地理位置信息的可選的位置對(duì)象。在另一實(shí)施方式中,該位置對(duì)象可以是一個(gè)既包括個(gè)人數(shù)字助理101的當(dāng)前地理位置信息還包括其未來(lái)地理位置信息的矢量。有六種同步行為或操作一同步過濾操作,一獲取刪除操作,一獲取創(chuàng)建操作,一發(fā)送修改操作,一發(fā)送創(chuàng)建操作及一發(fā)送刪除操作。該六個(gè)操作在下面結(jié)合圖6有詳細(xì)描述。每一操作都帶有兩個(gè)參數(shù),一同步請(qǐng)求對(duì)象和一第二字段,或“結(jié)果ID”,其用于表明對(duì)應(yīng)于該同步請(qǐng)求對(duì)象,個(gè)人數(shù)字助理101希望從服務(wù)器107返回的信息。該結(jié)果ID設(shè)置有如下幾種值(1)全部該“全部”結(jié)果標(biāo)記值意味著服務(wù)器107必須返回該操作有關(guān)的所有對(duì)象的ID及其狀態(tài)值。該“全部”結(jié)果標(biāo)記值應(yīng)該慎用,應(yīng)為其會(huì)導(dǎo)致個(gè)人數(shù)字助理101與服務(wù)器107之間的通訊量劇增。(2)更新該“更新”結(jié)果標(biāo)記值意味著服務(wù)器107應(yīng)該返回與該更新操作有關(guān)的所有對(duì)象的ID及其狀態(tài)值。此外,當(dāng)服務(wù)器107上的副本與個(gè)人數(shù)字助理101上不一致時(shí),對(duì)象副本也應(yīng)返回。(3)ID該“ID”結(jié)果標(biāo)記值意味著服務(wù)器107應(yīng)該返回與該操作有關(guān)的所有對(duì)象的ID及其狀態(tài)值。另外需返回基于操作之類型的信息。(4)失敗該“失敗”結(jié)果標(biāo)記值意味著服務(wù)器107僅僅返回操作過程中不能處理的對(duì)象的錯(cuò)誤信息。(5)無(wú)記載該“無(wú)記載”結(jié)果標(biāo)記值意味著個(gè)人數(shù)字助理101對(duì)于接受關(guān)于操作的任何信息都不關(guān)心,服務(wù)器107應(yīng)處理整個(gè)請(qǐng)求,而僅僅將操作完成的信息傳送給個(gè)人數(shù)字助理101。對(duì)應(yīng)于特定操作的結(jié)果ID將在圖6進(jìn)行詳細(xì)描述。該同步請(qǐng)求時(shí)間ID指示某特定同步操作執(zhí)行的最新時(shí)間。如果資料過濾器是指定的,服務(wù)器107即利用該資料過濾器來(lái)限定返回的資料范圍或“同步結(jié)果對(duì)象”。如果可選的位置對(duì)象包括在同步結(jié)果對(duì)象里,則返回資料范圍也可以基于位置對(duì)象中的位置信息來(lái)設(shè)定。例如,位于一城市的個(gè)人數(shù)字助理101用戶,其在該個(gè)人數(shù)字助理101的本地資料存儲(chǔ)區(qū)存有該城市的餐館相關(guān)信息,當(dāng)該用戶旅行到另外一城市時(shí),一個(gè)同步結(jié)果對(duì)象將包含該異地城市的餐館相關(guān)信息。該位置信息可以基于一公用系統(tǒng),如全球定位系統(tǒng)(GPS)或移動(dòng)電話塔或一私有系統(tǒng),如傳送裝置置于一醫(yī)院房間,而僅僅在一有限的區(qū)域內(nèi)發(fā)送信息。該位置對(duì)象還可以包括未來(lái)位置信息。例如通過該傳送裝置,一醫(yī)生可以指定將來(lái)的房間矢量,不僅可以將當(dāng)前房間里的病人信息下載到其個(gè)人數(shù)字助理101上,還可以把該房間周圍矢量范圍內(nèi)的的房間內(nèi)的病人信息都下載到其個(gè)人數(shù)字助理101上。每一同步對(duì)象矢量都包括一時(shí)間ID,一對(duì)象ID,一基礎(chǔ)對(duì)象,一對(duì)象狀態(tài)ID,一舊值對(duì)象及一可選的信息字段。在一特定行為里,并不是所有的這些同步對(duì)象都必須指定。例如,在一個(gè)添加操作中,同步對(duì)象不需要指定該舊值對(duì)象;在一個(gè)刪除操作中,只需要指定要?jiǎng)h除的對(duì)象ID即可;而舊值對(duì)象只有在更新操作時(shí)才需要指定。該同步對(duì)象的時(shí)間ID表示某特定對(duì)象在服務(wù)器107上被更新或核實(shí)的時(shí)間。如果同步對(duì)象的時(shí)間ID在某特定同步對(duì)象中沒有指定,則服務(wù)器107將同步請(qǐng)求時(shí)間ID作為該同步對(duì)象的時(shí)間ID。對(duì)象ID指定一基礎(chǔ)對(duì)象在整個(gè)同步對(duì)象中的唯一身份標(biāo)識(shí)ID。該狀態(tài)ID和信息字段描述一作為操作結(jié)果的同步對(duì)象的狀態(tài),主要應(yīng)用在同步結(jié)果對(duì)象中。當(dāng)服務(wù)器107完成同步對(duì)象中指定的動(dòng)作時(shí),其會(huì)將同步結(jié)果對(duì)象傳送到個(gè)人數(shù)字助理101。該同步結(jié)果對(duì)象包括一個(gè)時(shí)間ID和一同步對(duì)象矢量。該同步結(jié)果時(shí)間ID表示響應(yīng)的同步操作在服務(wù)器107上執(zhí)行的時(shí)間。同步結(jié)果對(duì)象中的每一同步對(duì)象的時(shí)間ID表示與該同步對(duì)象對(duì)應(yīng)的行為被執(zhí)行的時(shí)間。特別是當(dāng)同步結(jié)果里的所有同步對(duì)象都有相同的時(shí)間ID時(shí),如果一個(gè)時(shí)間ID沒有被指定,則可以用同步結(jié)果的時(shí)間ID來(lái)代替。同步結(jié)果中的同步對(duì)象的狀態(tài)字段表示該對(duì)象與對(duì)應(yīng)的操作的關(guān)系,其設(shè)定有如下幾種值(1)更新更新狀態(tài)表示服務(wù)器107上的副本與個(gè)人數(shù)字助理101上的副本不一致。該狀態(tài)意味著另外一客戶在服務(wù)器收到同步請(qǐng)求前已經(jīng)更新了數(shù)據(jù)庫(kù)中的資料對(duì)象,此時(shí)個(gè)人數(shù)字助理101必須采取一適當(dāng)操作來(lái)解決該種沖突。(2)成功成功狀態(tài)表示同步對(duì)象在服務(wù)器107上處理成功,在服務(wù)器107滿足同步請(qǐng)求時(shí)不需要對(duì)同步對(duì)象做任何修改。(3)失敗失敗狀態(tài)表示服務(wù)器107不能執(zhí)行某特定同步對(duì)象的操作請(qǐng)求。在這種情況下,該信息字段包含一關(guān)于該失敗狀態(tài)的文本信息。(4)相同相同狀態(tài)表示服務(wù)器107上的對(duì)應(yīng)對(duì)象同步對(duì)象時(shí)間ID沒有變動(dòng)。(5)新匹配新匹配狀態(tài)表示自從個(gè)人數(shù)字助理101最后一次發(fā)出請(qǐng)求的時(shí)間后,對(duì)應(yīng)的同步對(duì)象中描述的對(duì)象對(duì)于服務(wù)器107或某特定請(qǐng)求來(lái)說(shuō)是新的。(6)不匹配不匹配的狀態(tài)意味著服務(wù)器107不能找到對(duì)應(yīng)值對(duì)象,可能因?yàn)槠湟驯粍h除或更改,以致于不再匹配同步請(qǐng)求對(duì)象提供的資料過濾器。該狀態(tài)字段及其對(duì)應(yīng)的特定操作將會(huì)對(duì)照?qǐng)D6作詳細(xì)描述。一旦同步步驟513完成,程序500將繼續(xù)到良好狀態(tài)返回的步驟517,在該步驟,會(huì)通過分析服務(wù)器107的返回信息來(lái)核實(shí)同步步驟513中的對(duì)象信息,如果該返回狀態(tài)值信息表示某特定的資料更新或創(chuàng)建操作成功,則控制模塊517轉(zhuǎn)向標(biāo)示資料狀態(tài)步驟519,在該步驟,表示存儲(chǔ)在本地資料存儲(chǔ)區(qū)的對(duì)象值被與存儲(chǔ)在服務(wù)器107的存儲(chǔ)區(qū)417的對(duì)象值相匹配。如果某特定項(xiàng)目的返回信息表示一更新或創(chuàng)建操作在服務(wù)器107上沒有被執(zhí)行,那幺控制模塊517轉(zhuǎn)向重處理步驟521,在該步驟,對(duì)應(yīng)的對(duì)象值被設(shè)定為與存儲(chǔ)在服務(wù)器107的存儲(chǔ)區(qū)417中的對(duì)象值相同。此外,任何在個(gè)人數(shù)字助理101上基于資料對(duì)象的更新或操作的行為必須被確定是否有必要采取更進(jìn)一步的操作。在步驟519和521完成之后,程序500進(jìn)行到結(jié)束步驟523,在該步驟,程序500運(yùn)行結(jié)束。需要注意的是,步驟517,519及521在本質(zhì)上是反復(fù)迭代的。換句話來(lái)說(shuō),如果一個(gè)同步過程包括多個(gè)對(duì)象且這些對(duì)象都被處理形成一同步隊(duì)列,對(duì)應(yīng)于每一對(duì)象的返回信息都必須通過步驟517,519及521才能到達(dá)最后的結(jié)束步驟523。圖6為一對(duì)應(yīng)于同步步驟513(圖5)的典型同步程序600流程圖。程序600始于開始步驟601,當(dāng)同步請(qǐng)求操作如圖5中所描述的那樣被初始化的同時(shí),該步驟被初始化。如下的每一個(gè)步驟都表示一個(gè)與同步請(qǐng)求對(duì)象一起傳送的操作。程序600從步驟601進(jìn)行到與獲取刪除操作相關(guān)聯(lián)的獲取刪除步驟603。該獲取刪除操作重新找回從上一次獲取刪除操作被執(zhí)行后已經(jīng)從服務(wù)器107上所刪除的所有對(duì)象。對(duì)應(yīng)于同步請(qǐng)求對(duì)象,該獲取刪除操作發(fā)送一時(shí)間ID和一可選擇的對(duì)象ID列表至服務(wù)器107。一般來(lái)講,對(duì)應(yīng)于該獲取刪除操作沒有對(duì)應(yīng)的資料過濾器。但是,如果某特定的服務(wù)器107執(zhí)行一兩步過程刪除和銷毀,那幺一個(gè)資料過濾器可以被發(fā)送。該獲取刪除操作的時(shí)間ID應(yīng)被設(shè)定為個(gè)人數(shù)字助理101最近一次發(fā)送獲取刪除操作的時(shí)間(如果某給定的資料過濾器已經(jīng)被發(fā)送)。如果該可選的ID列表與該獲取刪除操作一起被發(fā)送至服務(wù)器107,則該服務(wù)器107將同步結(jié)果對(duì)象回傳至個(gè)人數(shù)字助理101,正如上述在圖5的描述一樣。該同步結(jié)果對(duì)象包含對(duì)象狀態(tài),包括已刪除的和未刪除的對(duì)象,連同列表上的對(duì)象ID。如果一個(gè)資料過濾器被發(fā)送,則僅僅只有符合該資料過濾器的對(duì)象狀態(tài)被發(fā)送。否則,服務(wù)器107將回傳一個(gè)包含自上一次同步后被刪除的所有對(duì)象ID列表的同步結(jié)果對(duì)象。該同步結(jié)果對(duì)象的時(shí)間ID被保存在個(gè)人數(shù)字助理101上并被作為下一次同步請(qǐng)求對(duì)象的時(shí)間ID。個(gè)人數(shù)字助理101將返回的ID列表與其上保存的對(duì)象做比較,并據(jù)此更新其本地?cái)?shù)據(jù)庫(kù)。如果該同步結(jié)果對(duì)象的結(jié)果標(biāo)記值被指定為全部,則服務(wù)器107返回自上一次獲取刪除操作后被刪除的所有對(duì)象的ID。如果提供有一ID列表,則該同步結(jié)果還將包含列表上每一ID的狀態(tài)。“不匹配”狀態(tài)表示該對(duì)應(yīng)的對(duì)象在服務(wù)器107上不再存在?!案隆睜顟B(tài)表示該對(duì)應(yīng)的對(duì)象存在于該服務(wù)器上,但已經(jīng)在該獲取刪除操作時(shí)間后被更新。在這種情形下,該更新過的對(duì)象副本也被返回至個(gè)人數(shù)字助理101。更新、失敗及無(wú)記載的結(jié)果標(biāo)記值不適用于該操作?!癐D”結(jié)果標(biāo)記值會(huì)致使服務(wù)器107返回自上一次執(zhí)行獲取刪除操作后被刪除的所有對(duì)象ID。如果提供有一ID列表,則該服務(wù)器還將返回列表上每一ID的狀態(tài)。在這種情形下,該結(jié)果狀態(tài)不是匹配就是不匹配,且更新后的對(duì)象副本也不用返回。接著步驟603進(jìn)行到發(fā)送刪除步驟605,在該步驟,個(gè)人數(shù)字助理101經(jīng)由傳送該同步請(qǐng)求對(duì)象中的發(fā)送刪除對(duì)象,其包括被刪除對(duì)象的對(duì)象ID,來(lái)向服務(wù)器107匯報(bào)在個(gè)人數(shù)字助理101本地?cái)?shù)據(jù)庫(kù)被刪除的對(duì)象。服務(wù)器107據(jù)此更新服務(wù)器數(shù)據(jù)庫(kù)并回復(fù)給服務(wù)器個(gè)人數(shù)字助理101,說(shuō)明已經(jīng)從服務(wù)器107的資料存儲(chǔ)區(qū)417成功刪除的對(duì)象。完成發(fā)送刪除步驟605后,程序600繼續(xù)到獲取創(chuàng)建步驟607。在該獲取創(chuàng)建步驟607,個(gè)人數(shù)字助理101發(fā)送一時(shí)間ID和一可選的資料過濾器至服務(wù)器107。如果資料過濾器沒有指定,則個(gè)人數(shù)字助理101找回自上一次執(zhí)行獲取創(chuàng)建步驟后在服務(wù)器107上所創(chuàng)建的所有資料對(duì)象。如果在同步請(qǐng)求對(duì)象中指定了資料過濾器,則僅僅返回該時(shí)間ID后新創(chuàng)建的符合該資料過濾器的新對(duì)象。在該操作中,不返回對(duì)象ID。服務(wù)器107回復(fù)一組同步對(duì)象矢量,每一對(duì)象均表示一新創(chuàng)建的基礎(chǔ)對(duì)象。該返回對(duì)象的狀態(tài)值為“新匹配”,且其時(shí)間ID對(duì)應(yīng)于該對(duì)象在服務(wù)器107上創(chuàng)建的時(shí)間。同步請(qǐng)求對(duì)象中的結(jié)果ID值為全部ID時(shí),服務(wù)器107返回所有創(chuàng)建的對(duì)象;結(jié)果標(biāo)記值為ID時(shí),服務(wù)器107返回所創(chuàng)建對(duì)象的ID,但不返回對(duì)象本身的副本。結(jié)果標(biāo)記值更新,失敗及無(wú)記載不適用于該操作。完成獲取創(chuàng)建步驟607后,程序進(jìn)行到發(fā)送創(chuàng)建步驟609,在該步驟,個(gè)人數(shù)字助理101通過在本地資料存儲(chǔ)區(qū)搜索狀態(tài)值為“新”的對(duì)象來(lái)創(chuàng)建一在本地資料存儲(chǔ)區(qū)所創(chuàng)建的最新對(duì)象列表。該新對(duì)象隨同上次發(fā)送創(chuàng)建操作執(zhí)行的時(shí)間ID一起被發(fā)送至服務(wù)器107。該時(shí)間ID信息被復(fù)制管理器405用來(lái)探測(cè)及解決任何潛在的資料沖突,且在可能的情況下添加物件至服務(wù)器107的數(shù)據(jù)庫(kù)。在該發(fā)送創(chuàng)建操作,沒有指定資料過濾器,且個(gè)人數(shù)字助理101在請(qǐng)求中為每一對(duì)象創(chuàng)建一臨時(shí)ID或ID密鑰,用來(lái)將該對(duì)象與服務(wù)器107回復(fù)的同步結(jié)果對(duì)象中的對(duì)象ID相關(guān)聯(lián)。一旦服務(wù)器107接收到來(lái)自個(gè)人數(shù)字助理101的同步請(qǐng)求對(duì)象,服務(wù)器107產(chǎn)生相應(yīng)的同步結(jié)果對(duì)象,指明在服務(wù)器107上所重新創(chuàng)建的新對(duì)象。該同步結(jié)果對(duì)象包括一基礎(chǔ)對(duì)象,其可能與個(gè)人數(shù)字助理101所發(fā)送的新對(duì)象不盡相同。如果同步請(qǐng)求對(duì)象中的結(jié)果標(biāo)記值設(shè)為“全部”,則該同步對(duì)象包括包含在該發(fā)送創(chuàng)建操作中的全部對(duì)象及其子對(duì)象。其包括有顯示該操作后新增的對(duì)象、在該發(fā)送創(chuàng)建過程中更新的新增對(duì)象及不能添加物件的失敗結(jié)果等基礎(chǔ)對(duì)象。該全部結(jié)果標(biāo)記值是同時(shí)返回該對(duì)象及其成功狀態(tài)值的唯一設(shè)定值。該成功狀態(tài)值意味著該對(duì)象沒有任何變動(dòng)地被添加到服務(wù)器107的數(shù)據(jù)庫(kù)中。如果該結(jié)果標(biāo)記值設(shè)定為“更新”,則返回對(duì)象ID及其成功狀態(tài)值,但不返回對(duì)象本身。如果該添加物件的狀態(tài)為更新,則對(duì)象ID,狀態(tài)值及對(duì)象副本被返回。一般地,這種情形意味著有多個(gè)字段沒有在原始請(qǐng)求中做描述,但需要由服務(wù)器107來(lái)設(shè)定。在這種情形下,對(duì)象ID由服務(wù)器107設(shè)定,且包含在返回信息字段里。如果對(duì)于某特定對(duì)象添加失敗,則該失敗狀態(tài)值、信息字段中的錯(cuò)誤信息及原始對(duì)象被返回至個(gè)人數(shù)字助理101。如果同步請(qǐng)求中的結(jié)果標(biāo)記值設(shè)定為“ID”,則該同步結(jié)果對(duì)象僅僅包括服務(wù)器創(chuàng)建的對(duì)象ID及所發(fā)送的所有對(duì)象的狀態(tài)--沒有任何對(duì)象被返回至個(gè)人數(shù)字助理101。如果該結(jié)果標(biāo)記值設(shè)定為“失敗”,則該同步結(jié)果對(duì)象僅僅包含臨時(shí)ID、對(duì)象狀態(tài)及失敗的原因信息。如果該結(jié)果標(biāo)記值設(shè)定為“無(wú)記載”,則關(guān)于操作成功或失敗與否的任何信息都不返回至個(gè)人數(shù)字助理101。如果該結(jié)果標(biāo)記值設(shè)定為“全部”或“更新”,則客戶端應(yīng)依據(jù)同步結(jié)果對(duì)象中的結(jié)果來(lái)更新其本地資料存儲(chǔ)區(qū)。如果該結(jié)果標(biāo)記值設(shè)定為“失敗”或“無(wú)記載”,則個(gè)人數(shù)字助理101應(yīng)采取相應(yīng)步驟以確保本地信息的正確性。如果該同步結(jié)果對(duì)象返回的狀態(tài)值為“失敗”,則個(gè)人數(shù)字助理101應(yīng)采取相應(yīng)步驟去修正該問題,有可能還需要再次進(jìn)行相應(yīng)的操作。一旦確認(rèn)該發(fā)送創(chuàng)建操作在服務(wù)器107上已完成,正如在相應(yīng)的同步結(jié)果對(duì)象中所指明的那樣,原始對(duì)象從本地資料存儲(chǔ)區(qū)被刪除。如果一新創(chuàng)建對(duì)象符合一過濾器,則起將會(huì)在下一個(gè)同步過程中被重新創(chuàng)建。這樣能確保個(gè)人數(shù)字助理101對(duì)該對(duì)象有一正確的表述。在某些情況下,服務(wù)器107將在將該對(duì)象添加至數(shù)據(jù)庫(kù)之前填充缺省字段或更新新對(duì)象。如果個(gè)人數(shù)字助理101不能決定服務(wù)器107是否已完成一添加操作,則個(gè)人數(shù)字助理101不知道是否所有的添加請(qǐng)求是否被服務(wù)器107所接收和(或)處理。在個(gè)人數(shù)字助理101再次與服務(wù)器107連接時(shí),其將試圖去確定先前的添加操作是否成功。如果該信息仍然不能確定,則個(gè)人數(shù)字助理101,或更精確地說(shuō)是執(zhí)行該操作的移動(dòng)式電子商務(wù)應(yīng)用程序310將提示用戶再次提交該添加請(qǐng)求或從本地資料存儲(chǔ)區(qū)移除該操作請(qǐng)求。一旦該發(fā)送創(chuàng)建步驟609完成,則程序?qū)⒗^續(xù)到發(fā)送更新步驟611,在該步驟,個(gè)人數(shù)字助理101將自上次執(zhí)行發(fā)送創(chuàng)建操作后在本地資料存儲(chǔ)區(qū)有變動(dòng)的對(duì)象信息發(fā)送到服務(wù)器107。個(gè)人數(shù)字助理101利用上次發(fā)送創(chuàng)建操作的時(shí)間ID來(lái)填充同步請(qǐng)求對(duì)象中的時(shí)間ID字段,同時(shí)其還發(fā)送一組同步基礎(chǔ)對(duì)象矢量。對(duì)于在本地?cái)?shù)據(jù)庫(kù)存儲(chǔ)區(qū)有變動(dòng)的每一對(duì)象,個(gè)人數(shù)字助理101創(chuàng)建一同步基礎(chǔ)對(duì)象。該同步基礎(chǔ)包含同步基礎(chǔ)對(duì)象中所表述的某次特定變更的時(shí)間ID。ID字段用該特定對(duì)象的唯一身份標(biāo)識(shí)來(lái)填充。個(gè)人數(shù)字助理101還提交一更新的基礎(chǔ)對(duì)象于同步對(duì)象中的基礎(chǔ)對(duì)象字段中。只有有變動(dòng)的值才會(huì)被表述。舊值被放置在另一基礎(chǔ)對(duì)象中,包括舊值及屬性等,不包括更新過的值。唯一需要被表述的值為在更新過的基礎(chǔ)對(duì)象中所列示的屬性的原始值。例如,如果一個(gè)對(duì)象值變更,則其原始值應(yīng)放置在舊值對(duì)象中,而其新值則被放置在更新的基礎(chǔ)對(duì)象中。該同步基礎(chǔ)對(duì)象中的ID字段為變更的目標(biāo)對(duì)象唯一的可靠標(biāo)識(shí)。下面描述的是由服務(wù)器107的返回信息,該信息是基于一為發(fā)送創(chuàng)建操作而設(shè)置的特定結(jié)果ID。如果結(jié)果ID值設(shè)定為“全部”,服務(wù)器107則傳回所有已被成功更新對(duì)象的ID和一錯(cuò)誤信息,該錯(cuò)誤信息顯示沒有被更新的對(duì)象。在完成所有的更新操作后所有對(duì)象的當(dāng)前值會(huì)被傳給客戶端。如果結(jié)果ID值設(shè)定為“更新”,服務(wù)器107則傳回符合要求的每一對(duì)象的狀態(tài)。那些已被更新對(duì)象的信息將不會(huì)傳回。對(duì)于沒有被成功更新的對(duì)象,傳回的信息包括已更新對(duì)象的ID、該對(duì)象被存儲(chǔ)于服務(wù)器107的狀態(tài)和當(dāng)前版本。個(gè)人數(shù)字助理101能用這些對(duì)象的當(dāng)前值更新其本地的資料存儲(chǔ)區(qū)。如果結(jié)果ID值設(shè)定為“ID”,服務(wù)器107則傳回所有符合要求對(duì)象的ID和狀態(tài)。無(wú)對(duì)象傳回至個(gè)人數(shù)字助理101。如果結(jié)果ID值設(shè)定為“失敗”,服務(wù)器107傳回的結(jié)果將僅包括不能在服務(wù)器107上更新的對(duì)象的ID、狀態(tài)和失敗信息。服務(wù)器107不會(huì)傳回該對(duì)象的當(dāng)前版本。如果結(jié)果ID值設(shè)定為“無(wú)記載”,服務(wù)器107不會(huì)傳送有關(guān)更新成功與否的任何信息給個(gè)人數(shù)字助理。在執(zhí)行發(fā)送更新步驟611后,程序進(jìn)行至一同步過濾步驟613,在該步驟使用者可選擇保存一資料過濾器以供后續(xù)使用。該資料過濾器存儲(chǔ)于個(gè)人數(shù)字助理101在本地的資料存儲(chǔ)區(qū)的過濾器列表中。服務(wù)器107也可以保存資料過濾器,并為每一資料過濾器設(shè)一使用者ID和資料過濾器ID,以便在同步過程中個(gè)人數(shù)字助理101只需發(fā)送資料過濾器的ID即可,而非實(shí)際的資料過濾器。如果被保存的過濾器正在本地運(yùn)行,除了資料過濾器的查詢字符串、過濾器名稱和該資料過濾器是否要同步外不會(huì)存儲(chǔ)其它的信息。如果該資料過濾器是在服務(wù)器107上運(yùn)行,被傳回的ID清單也會(huì)與數(shù)據(jù)過濾器一起保存。資料過濾器的同步操作即可成批進(jìn)行,也可一次只執(zhí)行一個(gè)。對(duì)于每一資料過濾器,個(gè)人數(shù)字助理101,或者更準(zhǔn)確的說(shuō)執(zhí)行該資料過濾器的電子商務(wù)應(yīng)用程序310提供一與上次執(zhí)行同步操作時(shí)使用的數(shù)據(jù)過濾器相匹配的ID清單。個(gè)人數(shù)字助理101傳送同步請(qǐng)求對(duì)象的矢量至服務(wù)器107。每一同步請(qǐng)求對(duì)象均包含一查詢字符串和一同步對(duì)象的矢量。在每一同步對(duì)象內(nèi),由個(gè)人數(shù)字助理101填寫該對(duì)象的ID和時(shí)間ID。服務(wù)器107則傳回同步結(jié)果對(duì)象的矢量。該矢量將含有對(duì)應(yīng)于每一同步請(qǐng)求對(duì)象的一同步結(jié)果對(duì)象。每一同步結(jié)果對(duì)象將包含一被執(zhí)行過的資料過濾器,顯示該過濾器執(zhí)行時(shí)間的ID和同步對(duì)象的矢量。每一同步對(duì)象均有一字段用下述四種狀態(tài)描述其在結(jié)果信息中的存在方式。如果一同步對(duì)象被標(biāo)為“相同”,則該對(duì)象的ID已包含在請(qǐng)求信息ID內(nèi)。換句話說(shuō),個(gè)人數(shù)字助理101已經(jīng)知道該對(duì)象匹配的過濾器。而且,該對(duì)象自同步請(qǐng)求對(duì)象內(nèi)的時(shí)間ID顯示的時(shí)間以來(lái)尚未被更新過。所以個(gè)人數(shù)字助理101不需要對(duì)本地資料器存儲(chǔ)做任何更動(dòng)。服務(wù)器107可選擇不傳送該對(duì)象至個(gè)人數(shù)字助理101以減少網(wǎng)絡(luò)上的通訊量。如果該對(duì)象的ID沒有包含在結(jié)果信息內(nèi),個(gè)人數(shù)字助理仍可假定該對(duì)象與過濾器匹配并且未發(fā)生變動(dòng)。隨后,個(gè)人數(shù)字助理101將該對(duì)象在本地的副本上的時(shí)間ID更新為同步結(jié)果對(duì)象內(nèi)提供的時(shí)間ID。時(shí)間ID被更新后,應(yīng)保存該對(duì)象在本地的副本的狀態(tài),而不論其先前狀態(tài)如何。遺漏的ID則留在與該過濾器相匹配的ID清單內(nèi)。如果該同步對(duì)象被標(biāo)為“新匹配”,則同步請(qǐng)求對(duì)象內(nèi)列明的已知ID中沒有該對(duì)象的ID。即該對(duì)象與前一次被執(zhí)行同步操作的過濾器不相匹配。在這種情形下,整個(gè)對(duì)象被傳回至個(gè)人數(shù)字助理101。個(gè)人數(shù)字助理101將其存入本地存儲(chǔ)區(qū),同時(shí)將時(shí)間ID更新為同步請(qǐng)求對(duì)象內(nèi)提供的時(shí)間ID。在個(gè)人數(shù)字助理101的資料存儲(chǔ)區(qū)該對(duì)象的狀態(tài)被設(shè)為“保存”,該對(duì)象的ID也添加至與過濾器相匹配的ID本地清單。如果同步對(duì)象的狀態(tài)為“更新”,其對(duì)應(yīng)ID則在同步請(qǐng)求對(duì)象發(fā)送之前次結(jié)果信息內(nèi)。但是自同步請(qǐng)求內(nèi)提供的對(duì)象的時(shí)間ID顯示的時(shí)間以來(lái),該對(duì)象已被更新過。整個(gè)對(duì)象被傳至個(gè)人數(shù)字助理101。個(gè)人數(shù)字助理101將其保存至本地資料存儲(chǔ)區(qū),同時(shí)將時(shí)間ID更新為同步請(qǐng)求對(duì)象內(nèi)提供的時(shí)間ID。在個(gè)人數(shù)字助理101的資料存儲(chǔ)區(qū)該對(duì)象的本地狀態(tài)被設(shè)為“保存”,該對(duì)象的ID也被保留在與過濾器相匹配的ID清單內(nèi)。在與先前的特定過濾器相匹配的同步請(qǐng)求內(nèi),發(fā)送的同步對(duì)象狀態(tài)為“不匹配”。但是該對(duì)象已經(jīng)被更新或刪除,所以不再與相應(yīng)的查詢字符串相匹配。個(gè)人數(shù)字助理101則在本地資料存儲(chǔ)區(qū)將該對(duì)象狀態(tài)設(shè)為“陳舊”,并將該對(duì)象的ID從與過濾器相匹配的ID清單中移除。如果本地資料存儲(chǔ)區(qū)內(nèi)并沒有該對(duì)象,那幺個(gè)人數(shù)字助理僅將該對(duì)象的ID從ID清單中移除。個(gè)人數(shù)字助理101保存每一被執(zhí)行同步操作的資料過濾器,以及表明該過濾器上一次被執(zhí)行的時(shí)間的時(shí)間ID,每一次該過濾器被執(zhí)行時(shí)與的匹配的ID清單。除同步過濾請(qǐng)求外,個(gè)人數(shù)字助理101也提供指示傳回信息的數(shù)量的結(jié)果ID。下面列出的即是個(gè)人數(shù)字助理101基于該ID可得到的結(jié)果。如果結(jié)果ID的值為“全部”,服務(wù)器則傳回與資料過濾器內(nèi)的查詢字符串相匹配的所有對(duì)象。該對(duì)象的狀態(tài)會(huì)添加進(jìn)去,然后傳回整個(gè)對(duì)象。如果某一ID不再與過濾器相匹配,該對(duì)象則被設(shè)為“不匹配”,該對(duì)象的ID被傳回。此時(shí),沒有對(duì)象傳回個(gè)人數(shù)字助理101。如果結(jié)果ID的值為“更新”,服務(wù)器107則傳回與資料過濾器相匹配的所有對(duì)象的ID,而不是整個(gè)對(duì)象,因?yàn)檫@些對(duì)象的狀態(tài)為“相同”。被傳回的是被標(biāo)為“更新”或“新匹配”的對(duì)象。同時(shí),服務(wù)器107也指出不再與過濾器匹配的對(duì)象,將其狀態(tài)設(shè)為“不匹配”。如果結(jié)果ID的值為“ID”,服務(wù)器107則傳回被標(biāo)為“更新”或“新匹配”的對(duì)象,同時(shí)指出不再與過濾器匹配的對(duì)象,將其狀態(tài)設(shè)為“不匹配”。對(duì)于任何標(biāo)為“相同”的對(duì)象,服務(wù)器107不會(huì)傳回其ID或?qū)ο?。如果結(jié)果ID設(shè)為失敗或未記載,則不執(zhí)行本步驟。完成同步過濾步驟613后,同步程序600即進(jìn)行至步驟615,至此整個(gè)同步程序結(jié)束。盡管圖6的同步程序600不是一串連續(xù)的步驟,但這并不是本發(fā)明主題所必需的。舉例來(lái)說(shuō),所有的步驟可結(jié)合成一單一的同步請(qǐng)求對(duì)象,由服務(wù)器107按照?qǐng)D6揭示的次序或其它次序依次執(zhí)行不同的操作。圖7是在支持個(gè)人數(shù)字助理101的服務(wù)器107上運(yùn)行的資料管理程序700的流程圖。該程序始于一開始步驟701,并直接進(jìn)行至一資料接收步驟703。比較典型的例子是,步驟703與一同步步驟513(圖5)相連接。從步驟703到一新資料步驟705后,資料管理程序700判斷在步驟703收到的資料對(duì)象的狀態(tài)值是否為“新”(如圖5所述)。如果該資料是新的,程序即轉(zhuǎn)入一插入資料步驟707,由資料擷取管理器(圖4)創(chuàng)建一新資料對(duì)象并將其插入資料存儲(chǔ)器417(圖4)的合適位置。隨后程序進(jìn)行至傳送狀態(tài)步驟715,在該步驟生成一傳回信息,通知傳送資料對(duì)象的個(gè)人數(shù)字助理101資料創(chuàng)建操作的結(jié)果。如果在步驟705,資料管理程序700確定該資料對(duì)象不是新的,而是被傳送它的個(gè)人數(shù)字助理101指定為“更新”的對(duì)象,那幺程序即進(jìn)行至核對(duì)時(shí)間ID步驟709,由程序700比對(duì)被傳送來(lái)的資料對(duì)象的時(shí)間ID和存儲(chǔ)的相應(yīng)對(duì)象的時(shí)間ID。如果存儲(chǔ)的資料對(duì)象比傳送的資料對(duì)象新,那幺該存儲(chǔ)的對(duì)象不會(huì)被更新,程序直接跳至傳送狀態(tài)步驟715,發(fā)送一傳回信息通知個(gè)人數(shù)字助理101該更新操作失敗。如果在步驟711,程序確定傳送的資料對(duì)象上的時(shí)間ID晚于該存儲(chǔ)的對(duì)象上的時(shí)間ID,那幺程序轉(zhuǎn)入資料同步步驟713,用傳來(lái)的對(duì)象取代存儲(chǔ)的對(duì)象。隨后,在傳送狀態(tài)步驟715,發(fā)送一傳回信息通知個(gè)人數(shù)字助理101資料更新成功。需要注意的是,上述程序是不斷重復(fù)的,因?yàn)閭€(gè)人數(shù)字助理101傳送給服務(wù)器107的資料對(duì)象可以不只一個(gè),而每一傳送的資料對(duì)象需在一個(gè)同步操作完成前由程序700處理。圖8是在服務(wù)器107(圖1)上執(zhí)行的更新通知程序800的流程圖。程序800始于一開始步驟801,然后直接到一初始化交易步驟803,在遠(yuǎn)程資料存儲(chǔ)器417(圖4)一些針對(duì)資料的操作已經(jīng)完成。在本較佳實(shí)施方式中,該操作可以是更新、添加或刪除,只要與個(gè)人數(shù)字助理器101(圖1)的使用者的ID相連的資料過濾器相符即可。每一對(duì)操作/資料過濾器都有一加權(quán)值、一臨界值,或者一累積加權(quán)值(另一較佳實(shí)施方式)。在某些情形下,該加權(quán)值和臨界值可能相同。交易在步驟803被執(zhí)行后,在檢索加權(quán)值步驟805,程序?qū)⒃摬僮饕约霸摬僮鞯哪繕?biāo)值與服務(wù)器107上的資料過濾器清單進(jìn)行比對(duì)。如果該操作與某一資料過濾器相符,那幺就會(huì)檢索到那一對(duì)操作/資料過濾器所對(duì)應(yīng)的加權(quán)值。在累積加權(quán)值實(shí)施方式中,還會(huì)檢索到一個(gè)累積加權(quán)值。累積加權(quán)值是某一對(duì)操作/資料過濾器在程序800先前的多次反復(fù)操作中得到的各加權(quán)值的累加數(shù)。隨后,程序進(jìn)行到步驟807,比較加權(quán)值是否超過臨界值。在累積加權(quán)值實(shí)施方式中,則是將一對(duì)操作/資料過濾器的累積加權(quán)值與臨界值相比對(duì)。如果加權(quán)值或者是累積加權(quán)值沒有超過臨界值,程序即轉(zhuǎn)入重算加權(quán)值步驟815,在累積加權(quán)值實(shí)施方式中,則是直接跳至結(jié)束步驟817。在結(jié)束步驟815,該特定操作的處理程序完成。在重算加權(quán)值步驟815,將在步驟805檢索到的加權(quán)值加到累積加權(quán)值上,然后將新的累積加權(quán)值存入資料存儲(chǔ)器417,取代舊累積加權(quán)值。最后,程序轉(zhuǎn)入結(jié)束步驟815。在步驟807,如果加權(quán)值或是累積加權(quán)值超過了臨界值,則程序轉(zhuǎn)入發(fā)送信息步驟809。在步驟809,發(fā)送一通知信息至個(gè)人數(shù)字助理101,要求或建議其更新本地資料存儲(chǔ)器。該通知信息是利用短訊服務(wù)(ShortMessagingService,SMS)從服務(wù)器107傳送到個(gè)人數(shù)字助理101上的。SMS是尋呼型服務(wù),為熟知該項(xiàng)技藝的人士所熟知。它僅是實(shí)施本發(fā)明所使用的一種傳送媒介而已。每一SMS信息均包含一資料域名、需要執(zhí)行的特定資料過濾器的名稱或ID、需要執(zhí)行的操作之類型以及該操作是否要立即執(zhí)行。如果一SMS信息標(biāo)有“立即”,則個(gè)人數(shù)字助理101可能需要建立一通訊聯(lián)機(jī)以便立即執(zhí)行同步操作。如果該SMS信息沒有標(biāo)上“立即”,則個(gè)人數(shù)字助理101既可立即執(zhí)行同步操作,也可等待安排的下一同步時(shí)間段,或是將該信息存入一使用者日歷,通知有同步本地資料存儲(chǔ)器需求的使用者。完成步驟809后,程序轉(zhuǎn)入接收確認(rèn)步驟811,步驟811是一個(gè)可選擇的步驟,因而在圖中用虛現(xiàn)表示。如果程序800在步驟809發(fā)出SMS信息后需要得到對(duì)方的確認(rèn),該確認(rèn)信息可采用SMS信息的形式,從個(gè)人數(shù)字助理101傳送至服務(wù)器107,或是采用同步請(qǐng)求的形式,該同步請(qǐng)求與通知信息中指定的資料過濾器相符。如果確認(rèn)信息沒有被服務(wù)器107上的程序800收到,程序?qū)⒒氐讲襟E809,重新發(fā)送通知信息。如果在步驟811收到了確認(rèn)信息或是在步驟809沒要求發(fā)送確認(rèn)信息,程序即轉(zhuǎn)到清除加權(quán)值步驟813,重設(shè)累積加權(quán)值(如果有的話)。最后,程序進(jìn)行至結(jié)束步驟817,在步驟801初始化的交易執(zhí)行結(jié)束。圖9是在個(gè)人數(shù)字助理101(圖1和圖2)的顯示屏203(圖2)上顯示的一典型的主頁(yè)面901。使用者一執(zhí)行實(shí)施本發(fā)明的應(yīng)用程序,該主頁(yè)901即顯示在屏幕上。如圖3中解釋的那樣,該應(yīng)用程序可以是移動(dòng)式電子商務(wù)應(yīng)用程序310,移動(dòng)式醫(yī)院應(yīng)用程序320,移動(dòng)式物流應(yīng)用程序330,移動(dòng)式金融應(yīng)用程序340。為方便圖9~12的描述,僅以移動(dòng)式電子商務(wù)應(yīng)用程序310為例。在主頁(yè)901的最上端是一標(biāo)題欄903,包含的內(nèi)容有一標(biāo)題“主頁(yè)面”、當(dāng)前時(shí)間“1125a”。標(biāo)題欄903下面是一“歡迎”信息905,該信息可依情況而變。信息905下面則是幾個(gè)屏幕圖標(biāo),它們分別是一目錄圖標(biāo)907,一訂單圖標(biāo)908,一帳戶圖標(biāo)909,一同步圖標(biāo)910。每一屏幕圖標(biāo)(907~910)都代表者電子商務(wù)應(yīng)用程序310的某一特定功能。使用者用指示筆207(圖2)點(diǎn)擊任一圖標(biāo)即可執(zhí)行電子商務(wù)應(yīng)用程序310的相應(yīng)功能。具體而言,目錄圖標(biāo)907透過執(zhí)行個(gè)人數(shù)字助理101上的軟件使得使用者可以瀏覽一產(chǎn)品檔案中的產(chǎn)品目錄,甚至可以做某些修改;訂單圖標(biāo)908可使使用者發(fā)出采購(gòu)訂單,或是對(duì)訂單作一些修改;帳戶圖標(biāo)909能使使用者瀏覽或修改其帳號(hào);同步圖標(biāo)910可使使用者定義、重新定義或改變其同步過濾器。圖9~12的例子即是關(guān)于目錄圖標(biāo)907和在電子商務(wù)應(yīng)用程序中與一產(chǎn)品目錄相對(duì)應(yīng)的產(chǎn)品檔案或數(shù)據(jù)庫(kù)的。在屏幕圖標(biāo)907~910下面是一狀態(tài)區(qū)913,包括“帳號(hào)”、“訂單”、“目錄”、“同步”等四個(gè)選擇鍵,與屏幕圖標(biāo)909、908、907、910一一對(duì)應(yīng)。使用者用指示筆選擇某一個(gè)鍵即可運(yùn)行相應(yīng)的軟件,該軟件與通過屏幕圖標(biāo)運(yùn)行的軟件相同。除了對(duì)應(yīng)于屏幕圖標(biāo)的四個(gè)選擇鍵外,狀態(tài)區(qū)913還包含一“檔案”鍵,該“檔案”鍵的功能與MicrosoftWord等程序中的相似,使用者透過此鍵可執(zhí)行開啟、關(guān)閉、保存文檔等操作。此外,狀態(tài)區(qū)913還包括幾個(gè)狀態(tài)圖標(biāo)一電腦圖標(biāo)915,表明個(gè)人數(shù)字助理101是否與一遠(yuǎn)程服務(wù)器107(圖1)相連;一指示筆圖標(biāo)917,表明個(gè)人數(shù)字助理101的指示筆207是否處于可用狀態(tài);一翻上頁(yè)圖標(biāo)919,使用者用指示筆207點(diǎn)擊該圖標(biāo)(一向上的箭頭)即可翻動(dòng)主頁(yè)901。翻上頁(yè)圖標(biāo)919適用于主頁(yè)901不能一次在顯示屏203內(nèi)全部顯示的情形。當(dāng)然,圖標(biāo)919也可以是一個(gè)向下的箭頭,或者是既有一個(gè)向下的箭頭,又有一個(gè)向上的箭頭,這取決于主頁(yè)901的大小和主頁(yè)901在顯示屏203上的相對(duì)位置。圖10是電子商務(wù)應(yīng)用程序310(圖3)的編輯過濾器頁(yè)面1001顯示于個(gè)人數(shù)字助理101(圖1,圖2)的顯示屏203(圖2)上的示意圖。使用者用指示筆207點(diǎn)擊同步圖標(biāo)910(圖9)或是在狀態(tài)區(qū)913內(nèi)的同步選擇鍵顯示的菜單中選擇相應(yīng)功能,編輯過濾器頁(yè)面1001即會(huì)顯示在顯示屏203上。與主頁(yè)901相似(圖9),頁(yè)面1001包含一標(biāo)題欄1003,其含有標(biāo)題“編輯過濾器”、當(dāng)前時(shí)間“454p”。頁(yè)面1001也含有一狀態(tài)區(qū)1013和狀態(tài)圖標(biāo)1015、1017、1019,其功能與狀態(tài)區(qū)913和狀態(tài)圖標(biāo)915、917、919(圖9)相似。頁(yè)面1001還有一縮放圖標(biāo)1021,其能放大或縮小頁(yè)面1001的尺寸;一取消圖標(biāo)1023,其能結(jié)束正在運(yùn)行的程序,回到前一頁(yè)面,如主頁(yè)901。當(dāng)然,和圖9~12中的其它圖標(biāo)、箭頭、菜單一樣,縮放圖標(biāo)1021和取消圖標(biāo)1023也是用指示筆207來(lái)點(diǎn)選的。盡管使用何種用戶接口對(duì)于本發(fā)明精神來(lái)說(shuō)并不重要,但是下面幾圖都要用到指示筆207和顯示屏201。編輯過濾器頁(yè)面1001還有幾個(gè)區(qū)域,其能使用戶指定資料過濾器。例如,用戶在名稱區(qū)1005輸入資料過濾器名“全部產(chǎn)品”后,如果該“全部產(chǎn)品”過濾器已經(jīng)存在,電子商務(wù)應(yīng)用程序310即搜索出該過濾器上的信息,如果該“全部產(chǎn)品”過濾器不存在,電子商務(wù)應(yīng)用程序310會(huì)使其創(chuàng)建一個(gè)新資料過濾器。一同步區(qū)1007可使用戶選定是否將相應(yīng)的資料過濾器包括在個(gè)人數(shù)字助理101的同步程序中。在本例中,全部產(chǎn)品資料過濾器并未包含在同步程序中,因?yàn)橥絽^(qū)1007沒有標(biāo)記。如果一資料過濾器所對(duì)應(yīng)的數(shù)據(jù)庫(kù)不經(jīng)常的變動(dòng),該資料過濾器可以不包含在同步程序中。但是某些資料過濾器如訂單資料過濾器(圖中未標(biāo)示),則需要同步,因?yàn)橛脩艋蛘呤卿N售人員需要隨時(shí)了解公司庫(kù)存發(fā)生的變動(dòng)。上次同步區(qū)1009顯示的是日期“5/25/01”和時(shí)間“43840PM”,表明全部產(chǎn)品資料過濾器上一次同步的日期和時(shí)間。搜索字符串1011則顯示一實(shí)際對(duì)應(yīng)的資料過濾器,其用熟悉本技藝的人士能夠辨認(rèn)的語(yǔ)法表示。在本例中,資料過濾器指定全部產(chǎn)品資料過濾器搜索產(chǎn)品數(shù)據(jù)庫(kù)中的所有紀(jì)錄,即用“PrName”表示產(chǎn)品數(shù)據(jù)庫(kù)中的某一屬性,用“=”表示搜索并顯示等于*的紀(jì)錄。由于*是一通用符號(hào),所以該資料過濾器會(huì)顯示產(chǎn)品數(shù)據(jù)庫(kù)中的全部紀(jì)錄??梢杂肂ackusNaurForm(BNF)符號(hào)來(lái)表示數(shù)據(jù)過濾器或查詢字符串,其符號(hào)具體說(shuō)明如下。filter=“(“filtercomp”)”filtercomp=andorsimpleFilterand=“&”filterlistor=“”filterlistfilterlist=1*filtersimpleFilter=attributeNamefiltertypevaluefiltertype=“==”“>=”“<=”“?。健睂傩悦俏臄?shù)型的,與產(chǎn)品數(shù)據(jù)庫(kù)或檔案中的一欄相對(duì)應(yīng)。二進(jìn)制不會(huì)在數(shù)據(jù)過濾器中使用,即,一個(gè)數(shù)據(jù)過濾器不能譯成兩個(gè)JPEG圖像。對(duì)于某一屬性,某一個(gè)值可符合任何允許的登錄,如一個(gè)籃球的價(jià)格可以是任何數(shù)值;一個(gè)產(chǎn)品的名稱則可以是一名詞,如“baseball”。圖11是移動(dòng)式電子商務(wù)應(yīng)用程序310的搜索產(chǎn)品頁(yè)面1101顯示于個(gè)人數(shù)字助理101(圖1、圖2)的顯示屏203(圖2)上的示意圖。頁(yè)面1101是一登錄頁(yè)面,利用此頁(yè)面使用者或銷售人員用顯示屏203和指示筆201可定義或修改資料過濾器。與主頁(yè)901(圖9)和編輯過濾器頁(yè)面1001(圖10)類似,頁(yè)面1101也包括一標(biāo)題欄1103,其含有頁(yè)面名稱“查詢產(chǎn)品”和當(dāng)前時(shí)間“1138a”;一狀態(tài)區(qū)1113;三個(gè)狀態(tài)圖標(biāo)1115、1117和1119。所有這些與圖9和圖10的標(biāo)題欄、狀態(tài)區(qū)、狀態(tài)圖標(biāo)具有相似的功能。在標(biāo)題欄1103的下面,頁(yè)面1101有一執(zhí)行圖標(biāo)1105和一高級(jí)過濾圖標(biāo)1121。當(dāng)用戶點(diǎn)選執(zhí)行圖標(biāo)1105時(shí),一對(duì)應(yīng)于顯示于顯示屏幕1101上信息的當(dāng)前資料過濾器即被建立。在本例中,該當(dāng)前資料過濾器和上文圖10所描述的一樣,即“PrName==*”。當(dāng)用戶用指示筆203點(diǎn)選高級(jí)圖標(biāo)1121,既有的顯示屏幕1101即會(huì)被另一搜索產(chǎn)品顯示屏幕1201所替換,其會(huì)在后述的圖12中進(jìn)行說(shuō)明,該顯示屏幕1201可讓用戶建立及更改更為復(fù)雜和高級(jí)的資料過濾器。顯示屏幕包括一搜索范圍1125,用戶可在該區(qū)輸入一特定屬性的名稱格式,例如,產(chǎn)品文文件。當(dāng)利用指示筆207點(diǎn)選搜索范圍1125邊緣倒三角形,則即會(huì)顯示一下拉列表,可使用戶從產(chǎn)品文文件或數(shù)據(jù)庫(kù)表中選擇一屬性。搜索值區(qū)1127可以讓用戶輸入一個(gè)值,該值可用于其將要定義或創(chuàng)建資料過濾器中。在本例中,該值為“*”,其是一通配符,與文檔中任何值相匹配。故,產(chǎn)品文文件中的所有記錄均會(huì)被返回。另一例子是在搜索值區(qū)輸入一“baseball”,則資料過濾器會(huì)把產(chǎn)品文文件中所有名稱中包含有“baseball”的條目返回。如果用戶輸入“base*”,則資料過濾器即會(huì)返回產(chǎn)品文文件中如“baseballs”或“baseballbats”等全部記錄。兩個(gè)運(yùn)算符符區(qū)1107能使用戶定義其所期望的搜索范圍1125與搜索值區(qū)之間的關(guān)系。在本例中,兩個(gè)運(yùn)算符區(qū)1107選項(xiàng)中,只能選擇其中一個(gè),即′=′或′?。健洹!洌健溥\(yùn)算符1107表示用戶希望資料過濾器返回產(chǎn)品文文件中所有屬性為搜索范圍1125所輸入的,且與搜索值區(qū)1127中所輸入的值相匹配的條目。如果用戶選擇′!=′,則用戶希望資料過濾器返回產(chǎn)品文文件中所有屬性為搜索范圍1125所輸入的,且與搜索值區(qū)1127中所輸入的值不匹配的條目。一顯示值核對(duì)塊1109可以讓用戶指定一“模糊”查詢,換句話說(shuō),對(duì)在搜索范圍1125中所輸入的查詢條件的查詢不像在搜索值區(qū)1127那樣精確匹配。資料過濾器會(huì)返回在產(chǎn)品文文件中所有與的接近的資料。一匹配圖標(biāo)1111提供了與顯示值核對(duì)塊1109相似的功能,只不過其能使用戶執(zhí)行資料過波器并立刻能觀看結(jié)果。一取消按紐1123,其能忽略當(dāng)前的資料過濾器定義或創(chuàng)建過程,并把顯示屏203返回至顯示屏先前所顯示的狀態(tài)。圖12揭示了另一實(shí)施方式的在個(gè)人數(shù)字助理101的顯示屏203上出現(xiàn)的搜索產(chǎn)品顯示屏幕1201。與搜索產(chǎn)品顯示屏幕1101相似,搜索產(chǎn)品顯示屏幕1201為一輸入屏,其可使用戶或銷售人員利用顯示屏203和指示筆207定義或更改資料過濾器。然而,與搜索產(chǎn)品顯示屏幕1101只能讓用戶定義或更改一簡(jiǎn)單資料過濾器不同,搜索產(chǎn)品顯示屏幕1201可讓用戶定義或更改更高級(jí)或更復(fù)雜的資料過濾器,與顯示屏幕901、1001及1101一樣,搜索產(chǎn)品顯示屏幕1201亦包括一標(biāo)題欄1203,其上寫有該顯示屏幕的名稱“搜索產(chǎn)品”,及當(dāng)前時(shí)間“1138a”;一狀態(tài)區(qū)1213;及狀態(tài)圖標(biāo)1215、1217及1219,這些標(biāo)題欄、狀態(tài)區(qū)及狀態(tài)圖標(biāo)均與圖9、圖10及圖11中相應(yīng)的標(biāo)題欄、狀態(tài)區(qū)及狀態(tài)圖標(biāo)具有相似的功能。與搜索產(chǎn)品顯示屏幕1101相似,顯示屏幕1201包括一匹配圖標(biāo)1211及一取消按紐1223,他們的功能分別與圖11中的匹配圖標(biāo)1111及取消按紐1123相似。在標(biāo)題欄1203下面,顯示屏幕1201包括兩個(gè)圖標(biāo),即執(zhí)行圖標(biāo)1205和簡(jiǎn)單過濾圖標(biāo)1221。當(dāng)用指示筆執(zhí)行圖標(biāo)1205,一對(duì)應(yīng)于顯示盒1235所顯示的信息,或本例中的“(&(PrName==*Base*)(PrRetailPrice>=5.00))”的當(dāng)前資料過濾器被執(zhí)行。當(dāng)前資料過濾器即會(huì)返回產(chǎn)品數(shù)據(jù)庫(kù)中所有名稱中包含有“Base”且價(jià)格大于或等于5.00元的產(chǎn)品條目信息。例如會(huì)在個(gè)人數(shù)字助理101中顯示價(jià)格在5.00元以上的baseballs,baseballmitts及baseballgloves等產(chǎn)品條目信息。這些資料過濾器的方法和語(yǔ)法在以前的技術(shù)中為眾人所周知。該顯示盒1235的一優(yōu)勢(shì)為具有一上拉箭頭和一下拉箭頭,當(dāng)用戶利用指示筆207這些箭頭,在顯示盒1235中即能卷出由于太大而處于顯示盒1235邊界的外的信息。當(dāng)用戶利用指示筆207簡(jiǎn)單過濾圖標(biāo)1221,個(gè)人數(shù)字助理101即會(huì)在顯示屏203上顯示搜索產(chǎn)品顯示屏幕1101。與搜索產(chǎn)品顯示屏幕1101相似,顯示屏幕1201可能讓用戶輸入一資料過濾器,但其較顯示屏幕1101中更為復(fù)雜。搜索范圍1225可讓用戶選擇產(chǎn)品數(shù)據(jù)庫(kù)中的多種屬性,每次選一種屬性。搜索值區(qū)1227可使用戶輸入一價(jià)格或其它適當(dāng)值以完成對(duì)數(shù)據(jù)庫(kù)的查詢。在上述顯示屏幕1101中只提供了兩個(gè)運(yùn)算符域選擇,而顯示屏幕1201卻代的以四個(gè)運(yùn)算符域選擇1207,一“=”運(yùn)算符,表示等于;一“?。健边\(yùn)算符,表示不等于;一“>=”運(yùn)算符,表示大于或等于;一“<=”運(yùn)算符,表示小于或等于。一顯示值核對(duì)塊1209的功能與顯示屏幕1101中的顯示值核對(duì)塊1109相似。顯示屏幕1201亦包含一建立按紐1229,兩個(gè)關(guān)聯(lián)按紐1231及一重置按紐1233。該建立按紐1229可以移動(dòng)搜索范圍1225、運(yùn)算符區(qū)1207及搜索值區(qū)1227所指定的一個(gè)新查詢字符串至顯示盒1235中的表達(dá)式中,關(guān)聯(lián)按紐1232決定一組合查詢之間的關(guān)系,該組合查詢是被建立按紐所移動(dòng)的新查詢字符串與現(xiàn)有的查詢字符串之間的組合,如果該現(xiàn)有的查詢字符串存在的話,通常會(huì)顯示于顯示盒1235上?!昂汀卑醇~創(chuàng)建一組合查詢,其顯示的于產(chǎn)品數(shù)據(jù)庫(kù)中查詢結(jié)果需符合新查詢字符串和現(xiàn)有的查詢字符串。“或”按紐創(chuàng)建一組合查詢,其顯示的于產(chǎn)品數(shù)據(jù)庫(kù)中查詢結(jié)果需符合新查詢字符串和現(xiàn)有的查詢字符串中的一個(gè)或全部的查詢條件。當(dāng)利用指示筆207點(diǎn)選重置按紐1233時(shí),其會(huì)清除顯示盒1235中的信息,從而可使用戶重新開始建立一新的查詢字符串。利用圖9~12中的屏幕,用戶可以定義資料過濾器以實(shí)現(xiàn)實(shí)施方式中的技術(shù)方案。但圖9~12僅代表了可供選擇的一部分圖形用戶界面(GUI),這些圖形用戶界面顯示于個(gè)人數(shù)字助理101的顯示屏203上,其可運(yùn)行電子商務(wù)應(yīng)用軟件310。其余的應(yīng)用軟件320、330及340均具有自身特定的功能、GUI和相應(yīng)屏幕等。權(quán)利要求1.一種使服務(wù)器中的第一數(shù)據(jù)庫(kù)和移動(dòng)式電腦設(shè)備中的第二數(shù)據(jù)庫(kù)同步的方法,其特征在于包括如下步驟在移動(dòng)式電腦設(shè)備上生成一同步請(qǐng)求訊息,其中該同步請(qǐng)求訊息包括有一資料對(duì)象以及一執(zhí)行在該資料對(duì)象上的動(dòng)作;將該同步請(qǐng)求訊息從移動(dòng)式電腦設(shè)備傳送到一服務(wù)器;基于該同步請(qǐng)求訊息和一商業(yè)邏輯來(lái)確認(rèn)該資料對(duì)象和動(dòng)作是否有效,該商業(yè)邏輯由移動(dòng)式電腦設(shè)備的用戶根據(jù)該資料對(duì)象的
技術(shù)領(lǐng)域:
來(lái)定義;基于該商業(yè)邏輯更新該服務(wù)器中的一遠(yuǎn)程資料存儲(chǔ)器;基于上述確認(rèn)及更新步驟的結(jié)果,在該服務(wù)器中生成一同步響應(yīng)訊息;將該同步響應(yīng)訊息從該服務(wù)器傳送到該移動(dòng)式電腦設(shè)備;基于該同步響應(yīng)訊息更新該移動(dòng)式電腦設(shè)備中的資料存儲(chǔ)器。2.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于更包括有如下的步驟在該傳送步驟之前,確定該移動(dòng)式電腦設(shè)備是處于在線模式還是離線模式;如果該移動(dòng)式電腦設(shè)備是處于在線模式,進(jìn)入傳送同步請(qǐng)求訊息的步驟;如果該移動(dòng)式電腦設(shè)備是處于離線模式,將該同步請(qǐng)求訊息放入一同步序列;一旦該移動(dòng)式電腦設(shè)備處于在線模式,則進(jìn)入傳送同步請(qǐng)求訊息的步驟。3.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于該同步響應(yīng)訊息包括一對(duì)應(yīng)于該確認(rèn)及更新步驟的結(jié)果的值。4.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于在該動(dòng)作執(zhí)行以前,該同步請(qǐng)求訊息包括有一對(duì)應(yīng)于該資料對(duì)象的舊的資料對(duì)象,并且該確認(rèn)步驟包括有如下步驟在遠(yuǎn)程資料存儲(chǔ)器中,將對(duì)應(yīng)于該資料對(duì)象的舊的資料對(duì)象設(shè)定為第二資料對(duì)象。5.如權(quán)利要求4所述的數(shù)據(jù)庫(kù)同步方法,其特征在于如果該舊的資料對(duì)象和該資料對(duì)象的復(fù)制件不匹配,則該同步響應(yīng)訊息還包括有該資料對(duì)象的復(fù)制件。6.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步方法,其特征在于該同步請(qǐng)求訊息包括有對(duì)應(yīng)于該動(dòng)作執(zhí)行于該資料對(duì)象時(shí)的第一時(shí)間標(biāo)示,并且該確認(rèn)步驟包括有如下步驟將該第一時(shí)間標(biāo)示和與第二資料對(duì)象有關(guān)的第二時(shí)間標(biāo)示相比較,該第二資料對(duì)象與該資料對(duì)象對(duì)應(yīng)并存儲(chǔ)在該遠(yuǎn)程資料存儲(chǔ)器中。7.一種驗(yàn)證資料對(duì)象動(dòng)作的方法,該資料對(duì)象存儲(chǔ)在一移動(dòng)式電腦設(shè)備的本地資料存儲(chǔ)器中,該方法的特征在于包括如下步驟在移動(dòng)式電腦設(shè)備中生成一同步請(qǐng)求訊息,其中該同步請(qǐng)求訊息包括有一本地資料存儲(chǔ)器中的資料對(duì)象的復(fù)制件、一作用于該資料對(duì)象的動(dòng)作以及在該動(dòng)作執(zhí)行以前對(duì)應(yīng)于該資料對(duì)象的舊的資料對(duì)象;將該同步請(qǐng)求訊息從移動(dòng)式電腦設(shè)備傳送到一服務(wù)器;在該服務(wù)器中的一遠(yuǎn)程資料存儲(chǔ)器中處理該資料對(duì)象的復(fù)制件,該處理過程是基于與該資料對(duì)象的
技術(shù)領(lǐng)域:
一致、并由該移動(dòng)式電腦設(shè)備的用戶所定義的商業(yè)邏輯。8.如權(quán)利要求7所述的驗(yàn)證方法,其特征在于更包括有如下的步驟在該服務(wù)器中基于該處理步驟的結(jié)果生成一同步響應(yīng)訊息;將該同步響應(yīng)訊息傳送到該移動(dòng)式電腦設(shè)備;如果該同步響應(yīng)訊息顯示該處理步驟不成功,則將該資料對(duì)象的值賦給該舊的資料對(duì)象;如果該同步響應(yīng)訊息顯示該處理步驟成功,則將該資料對(duì)象的狀態(tài)值設(shè)為“已更新”。9.如權(quán)利要求7所述的驗(yàn)證方法,其特征在于該處理步驟包括有如下的步驟驗(yàn)證該資料對(duì)象的復(fù)制件;如果驗(yàn)證成功,則在該服務(wù)器的資料存儲(chǔ)器中,根據(jù)該資料對(duì)象更新一第二資料對(duì)象。10.如權(quán)利要求9所述的驗(yàn)證方法,其特征在于該驗(yàn)證步驟包括如下步驟將該舊的資料對(duì)象設(shè)為第二資料對(duì)象。11.如權(quán)利要求9所述的驗(yàn)證方法,其特征在于該同步請(qǐng)求訊息包括有與該資料對(duì)象相對(duì)應(yīng)的第一時(shí)間標(biāo)示,并且該驗(yàn)證步驟包括如下步驟將該第一時(shí)間標(biāo)示與第二資料對(duì)象相對(duì)應(yīng)的第二時(shí)間標(biāo)示相比較。12.一種分布式資料存儲(chǔ)系統(tǒng),其特征在于包括一移動(dòng)式電腦設(shè)備,該設(shè)備包括一本地資料存儲(chǔ)器;用于生成同步請(qǐng)求訊息的邏輯,該邏輯包括與存儲(chǔ)在本地資料存儲(chǔ)器中的資料對(duì)象相對(duì)應(yīng)的資料對(duì)象復(fù)制件;作用于該資料對(duì)象上的動(dòng)作;在該動(dòng)作執(zhí)行于該資料對(duì)象之前,相對(duì)于該資料對(duì)象的一舊的資料對(duì)象;一服務(wù)器,包括一遠(yuǎn)程資料存儲(chǔ)器;用于處理上述同步請(qǐng)求訊息的商業(yè)邏輯,其中該商業(yè)邏輯由該移動(dòng)式電腦設(shè)備的用戶定義并與該資料對(duì)象的
技術(shù)領(lǐng)域:
相對(duì)應(yīng)。13.如權(quán)利要求12所述的分布式資料存儲(chǔ)系統(tǒng),其特征在于該商業(yè)邏輯包括驗(yàn)證邏輯,用于決定該動(dòng)作是否可以在遠(yuǎn)程存儲(chǔ)器中的第二資料對(duì)象上被執(zhí)行,并與該資料對(duì)象相對(duì)應(yīng);當(dāng)驗(yàn)證邏輯確定該動(dòng)作能夠在第二資料對(duì)象上被執(zhí)行時(shí),用于執(zhí)行該動(dòng)作的邏輯;當(dāng)驗(yàn)證邏輯確定該動(dòng)作不能夠在第二資料對(duì)象上被執(zhí)行時(shí)所執(zhí)行的矛盾確定邏輯。14.如權(quán)利要求13所述的分布式資料存儲(chǔ)系統(tǒng),其特征在于該驗(yàn)證邏輯包括用于將該舊的資料對(duì)象設(shè)為第二資料對(duì)象的邏輯。15.如權(quán)利要求13所述的分布式資料存儲(chǔ)系統(tǒng),其特征在于該同步請(qǐng)求訊息包括與該資料對(duì)象相對(duì)應(yīng)的第一時(shí)間標(biāo)示,并且該驗(yàn)證邏輯包括用于將該第一時(shí)間標(biāo)示設(shè)為與第二資料對(duì)象相對(duì)應(yīng)的第二時(shí)間標(biāo)示的邏輯。全文摘要一種用于使移動(dòng)式電腦設(shè)備上的資料存儲(chǔ)器和遠(yuǎn)程服務(wù)器上的資料存儲(chǔ)器同步的方法,該遠(yuǎn)程服務(wù)器基于一種存儲(chǔ)在該遠(yuǎn)程服務(wù)器中由用戶所定義、并和特定的資料對(duì)象相一致的商業(yè)邏輯。該方法采用了一種同步訊息,該種同步訊息包括有一需要更新的資料對(duì)象、一執(zhí)行于該資料對(duì)象上的動(dòng)作以及在該動(dòng)作執(zhí)行前相應(yīng)于該資料對(duì)象的舊的資料對(duì)象。用戶可以利用該商業(yè)邏輯來(lái)定義針對(duì)一特定類型資料對(duì)象的確認(rèn)、處理以及矛盾確定的功能性。該方法包括有在線和離線的同步功能。本發(fā)明的方法可以支持任何類型的服務(wù)器資料源,還允許位于不同地點(diǎn)的資料的獨(dú)立復(fù)制。文檔編號(hào)G06F12/00GK1405690SQ02126659公開日2003年3月26日申請(qǐng)日期2002年7月27日優(yōu)先權(quán)日2001年8月13日發(fā)明者史曉斌,德波拉·B·林可維奇,威廉·M·德洛斯特申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司,摩力動(dòng)網(wǎng)科技股份有限公司