国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保存無線設(shè)備當(dāng)前數(shù)據(jù)的方法和系統(tǒng)的制作方法

      文檔序號:6569948閱讀:180來源:國知局
      專利名稱:保存無線設(shè)備當(dāng)前數(shù)據(jù)的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及網(wǎng)絡(luò)數(shù)據(jù)服務(wù)領(lǐng)域。更具體地,本發(fā)明涉及保存無線設(shè) 備當(dāng)前數(shù)據(jù)的方法和系統(tǒng)。
      背景技術(shù)
      最近幾年出現(xiàn)了很多無線數(shù)據(jù)處理設(shè)備。這些設(shè)備包括無線個人數(shù)字助
      理(PDA),例如配備有數(shù)據(jù)處理能力(例如,包括無線應(yīng)用協(xié)議(WAP) 支持)的Treo650手持蜂窩電話,以及,最近的無線傳訊裝置。
      隨著無線設(shè)備使用的增加,使這種無線設(shè)備上所關(guān)心的數(shù)據(jù)盡可能是最 近的變得越來越重要;但也是難處理的。例如,更新無線設(shè)備上的數(shù)據(jù)的常 規(guī)方法需要所有數(shù)據(jù)同步以及直接對數(shù)據(jù)庫做出改變。這種對數(shù)據(jù)庫的改變 需要無線設(shè)備在線。而且,諸如觸發(fā)器、程序調(diào)用、查詢等的改變直接施加 于數(shù)據(jù)庫會使系統(tǒng)(例如,服務(wù)器)不穩(wěn)定,這對任務(wù)關(guān)鍵的系統(tǒng)是有問題 的。當(dāng)要更新的數(shù)據(jù)量相當(dāng)大時,如在處理企業(yè)業(yè)務(wù)數(shù)據(jù)時,該問題會進(jìn)一 步惡化。

      發(fā)明內(nèi)容
      在一個實施例中,公開了一種保存無線設(shè)備當(dāng)前數(shù)據(jù)的系統(tǒng)。所述系統(tǒng) 包括服務(wù)器,用于接收表示對存在于設(shè)備上的數(shù)據(jù)的改變的請求。所述請求 從通過無線網(wǎng)絡(luò)連接到所述服務(wù)器的所述設(shè)備中被接收。所述服務(wù)器包括第 一同步器,用于通過網(wǎng)絡(luò)服務(wù)(web service)描述來識別改變。所述第一同 步器包括業(yè)務(wù)記錄同步器。所述服務(wù)器還包括第二同步器,用于將被識別的 改變下載到設(shè)備以更新設(shè)備上的數(shù)據(jù)。下載所述改變包括將被識別的改變與設(shè)備上的數(shù)據(jù)同步以更新設(shè)備上的己有數(shù)據(jù)。
      在另一實施例中,公開了一種方法。所述方法包括從設(shè)備接收請求。所 述請求表示對存在于設(shè)備上的數(shù)據(jù)的改變。所述方法還包括通過網(wǎng)絡(luò)服務(wù)描 述來識別改變,以及將被識別的改變與設(shè)備上的數(shù)據(jù)同步以更新設(shè)備上的已 有數(shù)據(jù)。


      通過聯(lián)系以下附圖的下列詳細(xì)說明將更好地理解本發(fā)明,其中:
      圖1所示為實現(xiàn)本發(fā)明的元件的網(wǎng)絡(luò)的一個實施例;
      圖2所示為保存無線設(shè)備當(dāng)前數(shù)據(jù)的架構(gòu)的一個實施例;
      圖3所示為業(yè)務(wù)記錄同步器的內(nèi)部結(jié)構(gòu)的一個實施例;
      圖4所示為下載和上傳數(shù)據(jù)改變的處理;以及
      圖5所示為計算機系統(tǒng)的一個實施例。
      具體實施例方式
      根據(jù)一個實施例,公開了一種監(jiān)控對無線設(shè)備的連接的機制。在以下說 明中,出于解釋目的,提出許多具體的細(xì)節(jié)以提供對本發(fā)明徹底的理解。但 是,對本領(lǐng)域技術(shù)人員很顯然的是,沒有這些具體細(xì)節(jié)中的某些也可以實施 本發(fā)明。在其他示例中,以框圖形式示出公知的結(jié)構(gòu)和設(shè)備以避免不理解本 發(fā)明的基本原理。
      說明書中提及"一個實施例"或"實施例"表示聯(lián)系實施例說明的特定 特點、結(jié)構(gòu)或特征包括在本發(fā)明的至少一個實施例中。在說明書的各個地方 出現(xiàn)的短語"在一個實施例中"不必都指同一實施例。
      圖1所示為網(wǎng)絡(luò)架構(gòu)的一個實施例。圖1中示出"用戶站點"120且可 以是任何局域或廣域網(wǎng),其中多個服務(wù)器103和客戶機110通信。例如,用戶站點120可包括單個公司維護(hù)的所有服務(wù)器和客戶機。
      服務(wù)器103可為網(wǎng)絡(luò)用戶提供多個不同的消息和組件服務(wù)102 (例如,
      電子郵件、即時消息發(fā)送、列入日程等等)。但是,本發(fā)明的基本原理不限
      于任何特定的消息/組件平臺。
      在一個實施例中,接口 100通過外部數(shù)據(jù)網(wǎng)絡(luò)170和/或無線服務(wù)供應(yīng)
      商網(wǎng)絡(luò)171將服務(wù)102保存的數(shù)據(jù)對象(例如,電子郵件消息、即時消息、
      曰程數(shù)據(jù)等等)轉(zhuǎn)發(fā)到多個無線數(shù)據(jù)處理設(shè)備(在圖1中由設(shè)備130表示)。
      例如,服務(wù)器103作為網(wǎng)絡(luò)服務(wù)的代理,在無線網(wǎng)絡(luò)上遞送數(shù)據(jù)到各種移動
      設(shè)備130。
      在一個實施例中,接口 100是適用于利用特定服務(wù)102工作的軟件模塊。 但是,應(yīng)注意,接口 IOO可實現(xiàn)在硬件或硬件和軟件的任何組合中而仍然遵 守本發(fā)明的基本原理。
      在一個實施例中,外部數(shù)據(jù)網(wǎng)絡(luò)170包括多個數(shù)據(jù)庫、服務(wù)器/客戶機 (未示出)和其他聯(lián)網(wǎng)硬件(例如,路由器、集線器等),用于在接口 100 和設(shè)備130之間傳輸數(shù)據(jù)。在一個實施例中,接口 IOO將數(shù)據(jù)封裝在具有識 別設(shè)備130的地址的一個或多個包中(例如,如32比特Mobitex接入號 ("MAN井"))。
      外部數(shù)據(jù)網(wǎng)絡(luò)170將包發(fā)送到無線服務(wù)供應(yīng)商網(wǎng)絡(luò)171,無線服務(wù)供應(yīng) 商網(wǎng)絡(luò)171則將包(或其中包含的數(shù)據(jù))通過無線通信鏈路發(fā)送到設(shè)備130。 在一個實施例中,無線服務(wù)供應(yīng)商網(wǎng)絡(luò)是CDMA 2000網(wǎng)絡(luò)。但是,可以采 用各種其他網(wǎng)絡(luò)類型(例如,Mobitex、 GPRS、 PCS等)而仍然遵守本發(fā)明 的基本原理。
      應(yīng)注意,網(wǎng)絡(luò)服務(wù)供應(yīng)商網(wǎng)絡(luò)171和外部數(shù)據(jù)網(wǎng)絡(luò)170(和相關(guān)接口 100) 可由相同的組織擁有/操作或,可替換地,外部數(shù)據(jù)網(wǎng)絡(luò)170的擁有者/運營 商可出租無線服務(wù)供應(yīng)商網(wǎng)絡(luò)的無線服務(wù)。本發(fā)明的基本原理不限于任何特定服務(wù)配置。
      圖2所示為保存無線設(shè)備202當(dāng)前數(shù)據(jù)的架構(gòu)的一個實施例。在示出的 實施例中,無線處理設(shè)備(設(shè)備)202連接到服務(wù)器204并與服務(wù)器204通 信。設(shè)備202包括具有移動計算機系統(tǒng)或設(shè)備的任何設(shè)備,如便攜計算機、 移動電話(例如,移動蜂窩電話、智能電話等)、個人數(shù)字助理(PDA)、掌 上電腦等。服務(wù)器204還與提供網(wǎng)絡(luò)服務(wù)的企業(yè)服務(wù)器(enterprise server) (企業(yè)服務(wù)器)220通信。期望服務(wù)器204和企業(yè)網(wǎng)絡(luò)服務(wù)服務(wù)器(WS服 務(wù)器)220通過網(wǎng)絡(luò)互相通信??梢栽诰€或離線的設(shè)備202以及服務(wù)器204 通過公開的網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)服務(wù)應(yīng)用與后端WS服務(wù)器220通信。所述網(wǎng)絡(luò) 可包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、因特網(wǎng)、內(nèi)部互 聯(lián)網(wǎng)等等。而且,所述網(wǎng)絡(luò)連接到無線網(wǎng)絡(luò)并與無線網(wǎng)絡(luò)通信。服務(wù)器204 可包括由位于加利福尼亞州圣克拉拉的卓越技術(shù)(GoodTechnology)公司提 供的GoodLinkTM服務(wù)器、Good接入網(wǎng)絡(luò)服務(wù)(GAWS)服務(wù)器等。WS服 務(wù)器220的例子包括位于德國瓦爾道夫(Walldorf )的SAP AG開發(fā)的網(wǎng) 絡(luò)應(yīng)用服務(wù)器以及位于紐約阿蒙克的國際商業(yè)機器公司(IBM )開發(fā)的 WebSphere應(yīng)用服務(wù)器。
      在一個實施例中,服務(wù)器204包括訂閱管理器210、網(wǎng)絡(luò)服務(wù)(WS管 理器)212、業(yè)務(wù)記錄同步器(業(yè)務(wù)記錄同步)214,以及數(shù)據(jù)同步器(數(shù)據(jù) 同步)216。數(shù)據(jù)同步器216包括通用數(shù)據(jù)同步器。訂閱管理器210用于管 理與設(shè)備202相關(guān)的網(wǎng)絡(luò)服務(wù)查詢訂閱。例如,訂閱管理器210用于通過定 義的査詢網(wǎng)絡(luò)服務(wù)操作輪流查詢(poll)對象數(shù)據(jù)。每個查詢訂閱使用具有 用于識別一組業(yè)務(wù)數(shù)據(jù)的自變量的網(wǎng)絡(luò)服務(wù)調(diào)用(service call)。例如,可以 進(jìn)行限定一組高優(yōu)先級的銷售帳戶的查詢。而且,多查詢訂閱可分享具有不 同自變量的同一種網(wǎng)絡(luò)服務(wù)方法調(diào)用。而且,在一個應(yīng)用中,可為每一用戶 和/或設(shè)備202定義多查詢訂閱。換言之,可采用若干組每次使用的業(yè)務(wù)數(shù)據(jù)。WS管理器212處理網(wǎng)絡(luò)服務(wù)請求并為設(shè)備202作出響應(yīng)(包括提出請 求時的認(rèn)證)。訂閱管理器210接收到命令(例如,定期觸發(fā)的命令)時, WS管理器212調(diào)用網(wǎng)絡(luò)服務(wù),檢索(retrieve)業(yè)務(wù)數(shù)據(jù),并更新業(yè)務(wù)記錄 同步214。業(yè)務(wù)記錄同步214為每個設(shè)備202管理記錄識別和同步狀態(tài)的認(rèn) 知,包括記錄的任何重疊冗余。業(yè)務(wù)記錄同步214使用對設(shè)備202上數(shù)據(jù)進(jìn) 行直接跟蹤和同步的數(shù)據(jù)同步216。業(yè)務(wù)記錄同步214用于管理業(yè)務(wù)記錄識 別和訂閱的改變,數(shù)據(jù)同步216使用業(yè)務(wù)記錄同步214的數(shù)據(jù)庫206以跟蹤 任何數(shù)據(jù)并將該數(shù)據(jù)與設(shè)備202同步。
      當(dāng)設(shè)備202在線或離線時,用戶可改變設(shè)備202上的數(shù)據(jù)。所述改變可 包括修改和/或刪除已有數(shù)據(jù)和/或?qū)⑿聰?shù)據(jù)添加到已有數(shù)據(jù)。然后改變在服 務(wù)器204被認(rèn)可并被數(shù)據(jù)同步216同步到用于該特定設(shè)備202的數(shù)據(jù)庫206。 然后服務(wù)器過程利用在服務(wù)器數(shù)據(jù)庫206上的用戶改變作為適當(dāng)?shù)腦ML網(wǎng) 絡(luò)服務(wù)凈荷(playload),調(diào)用可擴(kuò)展標(biāo)記語言(XML)以及簡單對象訪問協(xié) 議(SOAP)網(wǎng)絡(luò)服務(wù)改變(例如,更新、刪除、添加、創(chuàng)建等等)操作。 例如,管理員或開發(fā)者可使用服務(wù)器204上的數(shù)據(jù)管理器214在該網(wǎng)絡(luò)服務(wù) 的建立過程期間識別網(wǎng)絡(luò)服務(wù)改變操作。當(dāng)訂閱管理器210運行時,這些 改變將最終傳回業(yè)務(wù)記錄同步214及其高速緩存208。
      使用網(wǎng)絡(luò)服務(wù)、由在WS服務(wù)器220上的網(wǎng)絡(luò)服務(wù)描述語言(WSDL) 224所描述的XML網(wǎng)絡(luò)服務(wù)中可用的業(yè)務(wù)操作時(WSDL包括數(shù)據(jù)描述/ 元數(shù)據(jù)),獲得典型地圍繞這種業(yè)務(wù)操作的必需的業(yè)務(wù)邏輯。網(wǎng)絡(luò)服務(wù)提供 由WSDL 224所描述的操作,該操作被WS管理器212使用。WSDL 224所 描述的這些操作可包括査詢、創(chuàng)建、更新和刪除操作,共同稱為QCUD操 作。該查詢表現(xiàn)為訂閱管理器210可定期査詢數(shù)據(jù),而認(rèn)為創(chuàng)建、更新和刪 除操作是可選的。而且,這些網(wǎng)絡(luò)服務(wù)QCUD操作可通過網(wǎng)絡(luò)服務(wù)接口222 而被執(zhí)行。在一個實施例中,隨后改變被報告給數(shù)據(jù)庫206并對數(shù)據(jù)庫206做改變 以及稍后通過服務(wù)器204上的同步器216與設(shè)備202同步。這種機制可稱為 數(shù)據(jù)改變的下載。通過數(shù)據(jù)同步216將數(shù)據(jù)改變下載到設(shè)備202可以在設(shè)備 202在線或斷開時進(jìn)行。數(shù)據(jù)庫206包括對應(yīng)于多個設(shè)備202的數(shù)據(jù),而高 速緩存208包括對應(yīng)于單個設(shè)備202的數(shù)據(jù)。這樣,即使偶爾斷開設(shè)備202, 該設(shè)備202可以保持當(dāng)前的頻繁改變的數(shù)據(jù),該數(shù)據(jù)通過WS服務(wù)器220來 自由網(wǎng)絡(luò)服務(wù)公開的后端應(yīng)用。
      在一個實施例中,在WS服務(wù)器220,已有數(shù)據(jù)已改變。訂閱管理器210 定時地使用WS管理器212以向網(wǎng)絡(luò)服務(wù)查詢數(shù)據(jù)。響應(yīng)包括如WSDL224 所描述的記錄,使用預(yù)定義記錄邊界XML路徑(XPath)識別這些記錄且將 這些記錄從響應(yīng)中提取出來。XPath指用于識別用于處理的X ML元素的可 擴(kuò)展樣式表語言(XSL)樣式表中的子語言。它還用于計算數(shù)字和操作串。 如果可能,記錄主鍵或唯一標(biāo)識符也被XPATH識別。否則,主鍵被計算為 記錄內(nèi)容的散列(hash)。然后記錄被傳遞到業(yè)務(wù)記錄同步214以認(rèn)出哪些 給定設(shè)備202己改變。使用高速緩存208,業(yè)務(wù)記錄同步214可檢測設(shè)備202 當(dāng)前具有什么以及什么已改變。業(yè)務(wù)記錄同步214使用數(shù)據(jù)同步216以將最 新的改變下載到設(shè)備202。
      在一個實施例中,然后使用服務(wù)器204上的數(shù)據(jù)同步216將數(shù)據(jù)改變與 設(shè)備202同步以將數(shù)據(jù)改變下載到設(shè)備202。與上傳一樣,僅下載數(shù)據(jù)改變, 無需將所有數(shù)據(jù)下載到設(shè)備202。這一機制使得設(shè)備202繼續(xù)保存當(dāng)前的或 更新的數(shù)據(jù)。無需將設(shè)備處理器和帶寬與連續(xù)處理來自后端網(wǎng)絡(luò)服務(wù)的大的 XML査詢響應(yīng)相聯(lián)系就可以實現(xiàn),因為僅上傳或下載數(shù)據(jù)改變,消除了費 時和延遲的大量的完全更新數(shù)據(jù)和少量增加的改變。而且,使用服務(wù)器204 及其組件(例如,訂閱管理器210、 WS管理器212、業(yè)務(wù)記錄同步214、數(shù) 據(jù)同步216等等)來保持?jǐn)?shù)據(jù)是當(dāng)前的并僅使用任意的企業(yè)數(shù)據(jù)在設(shè)備202被更新而不需要定制編程。
      圖3所示為業(yè)務(wù)記錄同步214的內(nèi)部結(jié)構(gòu)的一個實施例。如圖所示,業(yè) 務(wù)記錄同步214與高速緩存208、數(shù)據(jù)同步216以及數(shù)據(jù)庫206通信。數(shù)據(jù) 同步216包括與數(shù)據(jù)同步網(wǎng)絡(luò)314、數(shù)據(jù)庫206上的數(shù)據(jù)同步存儲316、以 及業(yè)務(wù)記錄同步214上的記錄管理器302通信的通用數(shù)據(jù)同步312。高速緩 存208包括與業(yè)務(wù)記錄同步214通信的業(yè)務(wù)記錄高速緩存318。可為每個設(shè) 備分配單個業(yè)務(wù)記錄高速緩存318。
      從網(wǎng)絡(luò)服務(wù)響應(yīng)提取的WS業(yè)務(wù)記錄306,當(dāng)出現(xiàn)時或存儲在無線設(shè)備 上時表示記錄,表示一塊企業(yè)數(shù)據(jù)(例如,帳戶數(shù)據(jù)、產(chǎn)品數(shù)據(jù)、客戶數(shù)據(jù)、 聯(lián)系人和票據(jù)等)。數(shù)據(jù)庫中類似主鍵的鍵被考慮以及數(shù)據(jù)庫中每行可以是 表示業(yè)務(wù)記錄的記錄。從網(wǎng)絡(luò)服務(wù)查詢訂閱中提取識別WS業(yè)務(wù)記錄306的 鍵。可以通過由管理員配置的網(wǎng)絡(luò)服務(wù)響應(yīng)中的xpath來識別該鍵。如果沒 被配置,它可以是WS業(yè)務(wù)記錄306的內(nèi)容的散列。這個鍵可用于索引WS 業(yè)務(wù)記錄306。
      高速緩存208用于緩存業(yè)務(wù)記錄306,這樣可以為給定設(shè)備或用戶保存 哪些數(shù)據(jù)是新的、更新的、或刪除的認(rèn)知,例如通過將已有數(shù)據(jù)與數(shù)據(jù)改變 相比較,可以確定高速緩存數(shù)據(jù)的改變。而且,緩存業(yè)務(wù)記錄306提供業(yè)務(wù) 記錄306的暫時倉庫并幫助獲得更好的性能。業(yè)務(wù)記錄高速緩存318被加載 為必需的(例如,延遲實例化)。而且,可以清除那些暫時不用的(這由管 理員確定)業(yè)務(wù)記錄306以節(jié)約存儲器。此外,表示已經(jīng)同步的無內(nèi)容代理 記錄也可存儲在高速緩存208,其可不需要從業(yè)務(wù)記錄高速緩存318中清除 業(yè)務(wù)記錄306。
      用戶通過相應(yīng)的設(shè)備通過訂閱管理器可以向業(yè)務(wù)記錄組聯(lián)系 (association) 304注冊查詢說明書以識別一組關(guān)心的WS業(yè)務(wù)記錄306。記 錄組聯(lián)系304可用于通過確定特定記錄306屬于哪一組或與哪一組相關(guān),幫助避免復(fù)制每個與設(shè)備相關(guān)的高速緩存208中的記錄數(shù)據(jù)。訂閱管理器可以 用于為每一個設(shè)備管理各個組。接口被采用并用于將組的記錄組聯(lián)系304更 新到記錄306。
      對每個用戶空間,WS業(yè)務(wù)記錄鍵映射308在數(shù)據(jù)同步216保存記錄鍵 與其相關(guān)數(shù)據(jù)識別(數(shù)據(jù)ID)之間的雙向一對一映射。此映射也持續(xù)在永 久存儲中并在啟動時加載。在一個實施例中,記錄組聯(lián)系304、記錄高速緩 存310以及WS記錄鍵映射308可不暴露在記錄管理器包之外。
      在啟動或初始化時,在一個實施例中,記錄管理器302意識到哪些記錄 306存儲在每個設(shè)備中。而且,在初始化時,并非通用數(shù)據(jù)同步312可用的 所有內(nèi)容都要加載。例如,下列活動可保持隱藏或被避免(1)加載每個同 步器數(shù)據(jù)ID與用于每個設(shè)備的記錄鍵之間的映射;(2)加載啟動的但不要 求通過依賴數(shù)據(jù)ID —鍵的映射而加載的任何記錄以幫助來自同步器的延遲 負(fù)載??刹捎没旌系姆桨甘剐碌幕蚋碌挠涗浀膬?nèi)容保持在存儲器中直到它 被寫入同步器;以及(3)可以根據(jù)需要創(chuàng)建記錄組聯(lián)系304。例如,記錄管 理器302可工作于此假設(shè)如果并非用戶査詢訂閱的一部分的WS業(yè)務(wù)記錄 306中的任何一個可從同步器中移除,而數(shù)據(jù)ID-鍵映射因此解除相關(guān)。但 是記錄管理器302可能不直接移除來自網(wǎng)絡(luò)服務(wù)的任何記錄306。
      對于操作,WS業(yè)務(wù)記錄306可以跨無線設(shè)備被復(fù)制,因為存儲器中的 信息可基于每個相應(yīng)的設(shè)備而被保持。記錄306的這種復(fù)制慮及較簡單的實 施以及記錄306的同步并幫助避免潛在的沖突。記錄管理器302可支持以下 操作情形(1)創(chuàng)建(例如,創(chuàng)建和/或分配數(shù)據(jù)ID以及進(jìn)一步創(chuàng)建如數(shù)據(jù) ID所識別的WS業(yè)務(wù)記錄306); (2)讀(例如,為給定的設(shè)備訪問記錄30 6的最新版本);(3)更新(例如,使記錄306被更新);以及(4)組更新(例 如,更新整個組的WS業(yè)務(wù)記錄306)。記錄管理器302可以明顯地或不明顯 地支持記錄306的刪除操作。例如,使用業(yè)務(wù)記錄組聯(lián)系310,適當(dāng)?shù)腤S記錄306可以被識別以從同步器中清除。此外,單個的記錄創(chuàng)建或更新可使 與未訂閱的系統(tǒng)組相關(guān)的記錄306避免其自動刪除。當(dāng)組更新(例如, UpdateGroup ())方法識別出此記錄306屬于記錄組聯(lián)系310的組時,記錄 306然后可自動轉(zhuǎn)移到用戶定義的組。
      在一個實施例中,對每個訂閱,訂閱管理器(例如,圖2的訂閱管理器 210)可使用WS管理器(圖2的212)調(diào)用注冊的查詢網(wǎng)絡(luò)服務(wù)調(diào)用。然后 結(jié)果可被WS管理器轉(zhuǎn)變成一組記錄且之后一組更新操作被施加給記錄管理 器302。通過記錄組聯(lián)系310,記錄管理器302將每個WS業(yè)務(wù)記錄306的 映射保存在一個或多個組中。當(dāng)更新組時,給定設(shè)備的記錄高速緩存318可 清楚地保存每個記錄306的下列狀態(tài)中的一個或多個(1)新的(例如,記 錄306對服務(wù)器是新的);(2)更新的(例如,改變的記錄306的內(nèi)容不同 于存儲在高速緩存208中的);(3)刪除的(例如,記錄管理器302確定記 錄306不屬于與設(shè)備相關(guān)的任何組);以及(4)同步中(例如,IN_SYNC, 指業(yè)務(wù)記錄306己與設(shè)備同步)。
      在實施時,在一個實施例中, 一旦進(jìn)行組更新,可執(zhí)行同步器定期或立 即更新。當(dāng)對高速緩存執(zhí)行延遲負(fù)載時,通過參考可表明設(shè)備或高速緩存是 否以前知道此記錄的WS記錄鍵的映射308來確定記錄是否是新的。如果設(shè) 備已具有特定的記錄,則加載此記錄并比較以幫助判定記錄是新的、相同的 或更新的。如果記錄是相同的,則該記錄可帶有IN—SYNC狀態(tài)被插入高速 緩存;否則,記錄被更新以及稍后發(fā)送到設(shè)備。
      當(dāng)調(diào)用具有本文中別處所述的新的組識別(例如,組ID)的組更新時, 可自動創(chuàng)建記錄組。對同一組ID的任何隨后的更新可根據(jù)需要或期望自動 觸發(fā)設(shè)備的更新。為了移除組,調(diào)用無記錄的組更新足以觸發(fā)設(shè)備上數(shù)據(jù)的 移除。記錄管理器302可服務(wù)于同步器對任何WS業(yè)務(wù)記錄306進(jìn)行創(chuàng)建、 讀和更新操作。如圖所示,記錄管理器302可使用各組件306—310及其操作以幫助執(zhí)行其功能。
      對于表示更新的數(shù)據(jù)改變,記錄同步214被立即更新。記錄同步214還 提供異步的創(chuàng)建和更新操作。但是,對于表示刪除的數(shù)據(jù)改變,記錄同步214 可以不立即被更新,因為設(shè)備可能具有多査詢訂閱,這表示獨立于任何組而 被創(chuàng)建的任何記錄306,可能在還沒有被創(chuàng)建的另一訂閱中。因此,例如, 可采用刪除操作的用于挑選記錄的延遲的垃圾收集,以及可立即刪除與組不 相關(guān)的任何記錄306。
      雖然記錄同步214可不依賴記錄鍵生成的執(zhí)行,為了一致性可對服務(wù)器 使用單獨的標(biāo)準(zhǔn)執(zhí)行。很多參數(shù)可用于記錄鍵生成,如可采用類型(例如, 類型=賬戶)和鍵內(nèi)容(例如,鍵內(nèi)容=<賬戶ID〉34534097345々賬戶ID>) 或可使用組合類型和鍵內(nèi)容的單獨執(zhí)行(例如,鍵二賬戶34534097345)。 此外,因為記錄內(nèi)容可用,所以可基于整個內(nèi)容作為鍵來創(chuàng)建散列碼。因此, 記錄內(nèi)容的改變可導(dǎo)致為了新記錄清除舊記錄或有效地在同步器中具有添 加/刪除操作對。而且,創(chuàng)建鍵時可生成散列碼,包括根據(jù)真實用戶定義的鍵 內(nèi)容的一個以及根據(jù)記錄內(nèi)容的另一個。這個機制使得具有簡單的鍵-映射 數(shù)據(jù)庫,同時保持相同效果和效率。為了具有合理的鍵大小,開發(fā)者/管理員 可選擇定義鍵。
      WS業(yè)務(wù)記錄鍵映射308可通過WS記錄鍵映射接口 320為每個設(shè)備保 存的記錄鍵及其相關(guān)數(shù)據(jù)ID之間的聯(lián)系。WS記錄鍵映射308在初始化時 持續(xù)和加載。同步器幫助清楚地保存此映射并與同步器中的實際數(shù)據(jù)一致而 進(jìn)行適當(dāng)?shù)奶砑雍蛣h除。可使用基于每個服務(wù)器使用的映射大小的公式確定 記錄鍵映射308的大小,該服務(wù)器使用的映射大小例如是編號(number)設(shè) 備、用戶定義鍵的平均大小、基于散列的鍵大小、每個設(shè)備保持的平均記錄、 每個映射條目的數(shù)據(jù)ID大小等等。而且,該機制足夠靈活使得可以根據(jù)改 變的需求或目的進(jìn)行無縫地變更,而不影響性能水平。此外,可使用與服務(wù)器兼容和可集成的數(shù)據(jù)庫。WS業(yè)務(wù)記錄306包括提供接入到記錄的接口 322。還提供接入到其他組件的接口,如通用數(shù)據(jù)同步312的接口 324和數(shù) 據(jù)同步存儲316的接口 326。
      圖4示出了下載和上傳數(shù)據(jù)改變的過程。在處理框402,在服務(wù)器接受 數(shù)據(jù)改變或數(shù)據(jù)改變請求。數(shù)據(jù)改變在無線處理設(shè)備被用戶啟動并通過網(wǎng)絡(luò) 傳送到服務(wù)器。在一個實施例中,在服務(wù)器接收數(shù)據(jù)改變請求。數(shù)據(jù)改變請 求可以隨著用戶嘗試對設(shè)備上的已有數(shù)據(jù)進(jìn)行改變而觸發(fā)。在服務(wù)器收到的 請求表示用戶通過設(shè)備請求的數(shù)據(jù)改變。然后在處理框404數(shù)據(jù)改變在服務(wù) 器被逐個地識別。識別可包括使用包含在WSDL的描述或元數(shù)據(jù),以及使 用網(wǎng)絡(luò)服務(wù)查詢,通過各個鍵識別每個記錄。識別可包括識別對已有數(shù)據(jù)所 做的改變的類型(例如,添加、刪除、修改、創(chuàng)建等等)。例如,新數(shù)據(jù)是 否被創(chuàng)建并添加到已有數(shù)據(jù)和/或是否對已有數(shù)據(jù)做出改變。這些改變可表示 為由網(wǎng)絡(luò)服務(wù)提供的且由在網(wǎng)絡(luò)服務(wù)服務(wù)器的WSDL描述的QCUD操作(例 如,查詢、創(chuàng)建、更新和刪除操作)。然后這些QCUD操作被在服務(wù)器的 WS管理器使用。然后數(shù)據(jù)改變可存儲在服務(wù)器高速緩存中。
      識別還包括在判定框406確定數(shù)據(jù)改變中是否存在在服務(wù)器沒有解決的 任何沖突。沖突可包括不能與其他數(shù)據(jù)改變和/或存在于服務(wù)器高速緩存、服 務(wù)器數(shù)據(jù)庫和/或設(shè)備中的一個或多個的已有數(shù)據(jù)相一致的數(shù)據(jù)改變。如果存 在這種沖突,則在處理框412,可以將沖突下載到設(shè)備上用于手動調(diào)整與設(shè) 備上的已有數(shù)據(jù)一致。例如,沖突可包括由于不適當(dāng)?shù)母淖儭⒉徽_的改變、 不可接受的改變、不認(rèn)可的改變以及不及時的改變(例如,對不存在的一塊 數(shù)據(jù)做改變,由于系統(tǒng)限制而做出不可接受的改變,等等)中的一個或多個 而導(dǎo)致的數(shù)據(jù)(例如,記錄)的變化。例如,用戶A和B分別通過訪問設(shè) 備A和B請求對共同的一組己有數(shù)據(jù)做不同的改變(例如,用戶A和B都 可訪問的相同記錄或同 一組記錄)。我們假設(shè),設(shè)備A然后在接下來的2小時保持離線,因為用戶A從丹 佛飛往洛杉磯,而設(shè)備B保持在線并被用戶B使用。為了清楚,假設(shè)沒有 其他復(fù)雜情況或請求發(fā)生,在這種情況下,用戶B提交的數(shù)據(jù)改變有可能在 服務(wù)器被接受并下載到設(shè)備B。而設(shè)備A接收沖突或沖突通知。用戶A可 隨后選擇將改變合并到設(shè)備A,用以前提交的改變或新的改變改寫用戶B的 數(shù)據(jù)改變,或簡單地手動地在設(shè)備A輸入來自設(shè)備B的改變。
      再參考判定框406,如果沒有沖突,則在一個實施例中,在408上傳數(shù) 據(jù)改變。上傳數(shù)據(jù)改變可包括根據(jù)網(wǎng)絡(luò)服務(wù)提供的且如WSDL所描述的 QCUD操作使數(shù)據(jù)改變與網(wǎng)絡(luò)服務(wù)服務(wù)器一致。與網(wǎng)絡(luò)服務(wù)服務(wù)器一致的或 上傳到網(wǎng)絡(luò)服務(wù)服務(wù)器的數(shù)據(jù)改變僅表示對設(shè)備上的已有數(shù)據(jù)提交的改變, 由此不需要上傳所以數(shù)據(jù)。然后數(shù)據(jù)改變被調(diào)整一致并存儲在服務(wù)器數(shù)據(jù)庫 中。在一個實施例中,單個服務(wù)器高速緩存可被分配給或?qū)?yīng)于單個無線設(shè) 備并可包括存在于對應(yīng)設(shè)備上的數(shù)據(jù)。在一個實施例中,服務(wù)器數(shù)據(jù)庫可對 應(yīng)于與服務(wù)器通信的幾個或所有無線設(shè)備,并可包括表示存在于所有這些設(shè) 備上的集體的數(shù)據(jù)的數(shù)據(jù)。
      在一個實施例中,然后在處理框410,下載數(shù)據(jù)改變。將數(shù)據(jù)改變下載 到設(shè)備可當(dāng)設(shè)備在線、離線、連接或斷開連接時進(jìn)行。下載包括將數(shù)據(jù)改變 與設(shè)備上的已有數(shù)據(jù)同步使得已有數(shù)據(jù)被更新且是當(dāng)前的。使用數(shù)據(jù)同步器 執(zhí)行將數(shù)據(jù)改變與設(shè)備同步,因為通過記錄同步器將數(shù)據(jù)改變傳遞給它。而 且,對設(shè)備提交的數(shù)據(jù)改變,接受數(shù)據(jù)改變、識別數(shù)據(jù)改變、確定沖突、上 傳數(shù)據(jù)改變、將數(shù)據(jù)改變存儲在高速緩存和數(shù)據(jù)庫、以及下載沖突也可當(dāng)設(shè) 備在線、離線、連接或斷開連接時被執(zhí)行。例如,當(dāng)設(shè)備在線時用戶可通過 設(shè)備處理數(shù)據(jù)改變的請求,但是這種數(shù)據(jù)改變的下載或與設(shè)備同步可在設(shè)備 離線或斷開連接時發(fā)生。類似地, 一旦設(shè)備在線時用戶可以手動解決沖突, 但是,在這之前,當(dāng)設(shè)備離線或斷開連接時,沖突可傳遞到設(shè)備。如5所示為其上可實現(xiàn)設(shè)備130和/或服務(wù)器103的計算機系統(tǒng)500。計 算機系統(tǒng)500包括傳遞信息的系統(tǒng)總線520,以及連接到總線520用于處理 信息的處理器510。根據(jù)一個實施例,處理器510是使用大量摩托羅拉ARM 系列微處理器的處理器中的一個實現(xiàn)的。但是本領(lǐng)域普通技術(shù)人員能明白可 以使用其他處理器。
      計算機系統(tǒng)500還包括連接到總線520用于存儲信息和處理器510要執(zhí) 行的指令的隨機存取存儲器(RAM)或其他動態(tài)存儲設(shè)備525 (此處稱為主 存儲器)。主存儲器525還可用于在處理器510執(zhí)行指令期間存儲臨時變量 或其他中間信息。計算機系統(tǒng)500還可包括連接到總線520用于存儲靜態(tài)信 息和處理器510使用的指令的只讀存儲器(ROM)和/或其他靜態(tài)存儲設(shè)備 526。
      數(shù)據(jù)存儲設(shè)備525如磁盤或光盤及其相應(yīng)的驅(qū)動也可連接到計算機系統(tǒng) 500用于存儲信息和指令。計算機系統(tǒng)500也可通過I/O接口 530連接到第 二1/0總線550。多個I/0設(shè)備可連接到I/0總線550, 1/0設(shè)備包括顯示設(shè) 備524、輸入設(shè)備(例如,字母數(shù)字輸入設(shè)備523和/或光標(biāo)控制設(shè)備522)。
      通信設(shè)備521用于通過網(wǎng)絡(luò)170接入其他計算機(服務(wù)器或客戶機)。 通信設(shè)備521可包括調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡或其他公知的接口設(shè)備,如用 于連接到以太網(wǎng)、令牌環(huán)或其他類型網(wǎng)絡(luò)的接口設(shè)備。
      本發(fā)明的實施例可包括上述各步驟。步驟可體現(xiàn)在機器可執(zhí)行的指令 中。指令可用于使通用或?qū)S锰幚砥鲌?zhí)行某些步驟??商鎿Q地,這些步驟可 由包含用于執(zhí)行該步驟的硬線邏輯的具體的硬件組件或由編程計算機組件 和定制硬件組件的任何組合來執(zhí)行。
      本發(fā)明的元件也可提供為用于存儲機器可執(zhí)行指令的機器可讀介質(zhì)。機 器可讀介質(zhì)可包括,但不限于,軟盤、光盤、CD-ROM、磁光盤、ROM、 RAM、 EPROM、 EEPROM、磁或光卡、傳播介質(zhì)或適合存儲電子指令的其他類型的介質(zhì)/機器可讀介質(zhì)。例如,本發(fā)明可被下載作為計算機程序,其可 通過包含在載波或其他傳播介質(zhì)中的數(shù)據(jù)信號,通過通信鏈路(例如,調(diào)制 解調(diào)器或網(wǎng)絡(luò)連接)從遠(yuǎn)程計算機(例如,服務(wù)器)傳遞到請求的計算機(例 如,客戶機)。
      通過上述說明,出于解釋的目的,提出很多具體細(xì)節(jié)以提供對本發(fā)明的 全面理解。但是對本領(lǐng)域技術(shù)人員來說很顯然的是,不具有這些具體細(xì)節(jié)中
      的某些也可實現(xiàn)本發(fā)明。例如,雖然示出為到在服務(wù)器103上執(zhí)行的服務(wù)102 的接口 100 (見圖1);應(yīng)理解本發(fā)明的基本原理是可實現(xiàn)在單個客戶機上, 其中客戶機通過網(wǎng)絡(luò)傳輸數(shù)據(jù)。因此,本發(fā)明的范圍和主旨應(yīng)根據(jù)所附的權(quán) 利要求而判斷。
      權(quán)利要求
      1、一種系統(tǒng),包括具有數(shù)據(jù)的設(shè)備;以及用于從所述設(shè)備接收請求的服務(wù)器,所述請求表示對所述數(shù)據(jù)的改變,所述服務(wù)器包括第一同步器,用于通過網(wǎng)絡(luò)服務(wù)描述來識別所述改變,以及第二同步器,用于將被識別的所述改變與所述設(shè)備上的所述數(shù)據(jù)同步以更新所述數(shù)據(jù)。
      2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述第一同步器包括記錄同步器, 所述第二同步器包括數(shù)據(jù)同步器。
      3、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述網(wǎng)絡(luò)服務(wù)描述通過存在于網(wǎng) 絡(luò)服務(wù)服務(wù)器中的網(wǎng)絡(luò)服務(wù)描述語言來提供,所述網(wǎng)絡(luò)服務(wù)服務(wù)器通過網(wǎng)絡(luò) 與所述服務(wù)器連接。
      4、 根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述網(wǎng)絡(luò)服務(wù)描述包括用于幫助 識別所述改變的信息,所述信息還描述表示對所述數(shù)據(jù)進(jìn)行的所述改變的操 作。
      5、 根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述操作包括査詢操作、創(chuàng)建操 作、更新操作以及刪除操作中的一個或多個,其中所述操作通過網(wǎng)絡(luò)服務(wù)接 口被實施。
      6、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述第一同步器還用于跟蹤所述 改變,以及將該改變傳送給所述第二同步器以將該改變下載到所述設(shè)備,所述改變的下載包括將該改變與所述設(shè)備上的所述數(shù)據(jù)同步。
      7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述第一同步器還用于管理在一 個或多個高速緩存和數(shù)據(jù)庫中的一個或多個改變識別以及改變同步狀態(tài)。
      8、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述服務(wù)器還包括訂閱管理器, 用于管理所述設(shè)備的網(wǎng)絡(luò)服務(wù)查詢訂閱,通過定義的査詢操作幫助輪流査詢 對象數(shù)據(jù),以及通過所述服務(wù)器處的網(wǎng)絡(luò)服務(wù)管理器來定期査詢記錄。
      9、 根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述網(wǎng)絡(luò)服務(wù)管理器向所述訂閱 管理器提供由網(wǎng)絡(luò)服務(wù)描述語言所描述的記錄,其中通過預(yù)定的記錄邊界所 述記錄被識別并被提取。
      10、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述網(wǎng)絡(luò)服務(wù)管理器還將所述改 變上傳到所述網(wǎng)絡(luò)服務(wù)服務(wù)器,所述改變的上傳包括將所述改變與所述網(wǎng)絡(luò) 服務(wù)服務(wù)器以及所述第一同步器同步。
      11、 根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述網(wǎng)絡(luò)服務(wù)管理器還代表所述 設(shè)備調(diào)用所述網(wǎng)絡(luò)服務(wù)服務(wù)器、檢索數(shù)據(jù)、更新所述第一同步器、以及管理 網(wǎng)絡(luò)服務(wù)請求和在所述服務(wù)器和所述網(wǎng)絡(luò)服務(wù)服務(wù)器之間的響應(yīng)。
      12、 一種方法,包括從具有數(shù)據(jù)的設(shè)備接收請求,所述請求表示對所述數(shù)據(jù)的改變; 通過網(wǎng)絡(luò)服務(wù)描述來識別所述改變;以及將被識別的改變與在所述設(shè)備上的所述數(shù)據(jù)同步以更新所述數(shù)據(jù)。
      13、 根據(jù)權(quán)利要求12所述的方法,其中通過包括記錄同步器的第一同 步器來執(zhí)行所述改變的識別,以及通過包括數(shù)據(jù)同步器的第二同步器來執(zhí)行 所述被識別的改變的同步。
      14、 根據(jù)權(quán)利要求12所述的方法,其中通過存在于網(wǎng)絡(luò)服務(wù)服務(wù)器中 的網(wǎng)絡(luò)服務(wù)描述語言來提供所述網(wǎng)絡(luò)服務(wù)描述,所述網(wǎng)絡(luò)服務(wù)服務(wù)器通過網(wǎng) 絡(luò)與所述服務(wù)器連接。
      15、 根據(jù)權(quán)利要求14所述的方法,其中所述網(wǎng)絡(luò)服務(wù)描述包括幫助識 別所述改變的信息,所述信息還描述表示要對所述數(shù)據(jù)進(jìn)行的改變的操作。
      16、 根據(jù)權(quán)利要求12所述的方法,還包括通過網(wǎng)絡(luò)服務(wù)管理器將所述 改變上傳到所述網(wǎng)絡(luò)服務(wù)服務(wù)器,所述改變的上傳包括將所述改變與所述網(wǎng) 絡(luò)服務(wù)服務(wù)器以及所述第一同步器同步。
      17、 一種機器可讀介質(zhì),在該機器可讀介質(zhì)上存儲有表示指令集的數(shù)據(jù), 當(dāng)所述指令集由機器執(zhí)行時,使所述機器從具有數(shù)據(jù)的設(shè)備接收請求,所述請求表示對所述數(shù)據(jù)的改變; 通過網(wǎng)絡(luò)服務(wù)描述來識別所述改變;以及將被識別的改變與在所述設(shè)備上的所述數(shù)據(jù)同步以更新所述數(shù)據(jù)。
      18、 根據(jù)權(quán)利要求17所述的機器可讀介質(zhì),其中通過存在于網(wǎng)絡(luò)服務(wù) 服務(wù)器中的網(wǎng)絡(luò)服務(wù)描述語言來提供所述網(wǎng)絡(luò)服務(wù)描述,所述網(wǎng)絡(luò)服務(wù)服務(wù) 器通過網(wǎng)絡(luò)與所述服務(wù)器連接。
      19、 根據(jù)權(quán)利要求17所述的機器可讀介質(zhì),其中所述指令集在被所述機器執(zhí)行時,還使所述機器通過第一同步器跟蹤所述改變,以及所述第一同 步器將所述改變傳送給第二同步器以將所述改變下載到所述設(shè)備,所述改變 的下載包括將所述改變與在所述設(shè)備上的所述數(shù)據(jù)同步。
      20、根據(jù)權(quán)利要求17所述的機器可讀介質(zhì),其中所述指令集在被所述 機器執(zhí)行時,還使所述機器通過網(wǎng)絡(luò)服務(wù)管理器將所述改變上傳到所述網(wǎng)絡(luò) 服務(wù)服務(wù)器,所述改變的上傳包括將所述改變與所述網(wǎng)絡(luò)服務(wù)服務(wù)器以及所 述第一同步器同步。
      全文摘要
      公開了一種系統(tǒng)。所述系統(tǒng)包括用于接收表示對存在于設(shè)備上的數(shù)據(jù)改變的請求的服務(wù)器。所述請求是從連接到服務(wù)器的設(shè)備接收的。所述服務(wù)器包括第一同步器,其通過網(wǎng)絡(luò)服務(wù)描述識別所述改變。所述服務(wù)器還包括第二同步器,其將被識別的改變與在所述設(shè)備上的數(shù)據(jù)同步以更新設(shè)備上的數(shù)據(jù)。
      文檔編號G06F17/30GK101416183SQ200680046362
      公開日2009年4月22日 申請日期2006年12月7日 優(yōu)先權(quán)日2005年12月8日
      發(fā)明者A·布盧姆, C·德雷珀, T·恩戈 申請人:卓越技術(shù)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1