国产精品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>

      實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)和方法

      文檔序號:7869125閱讀:355來源:國知局
      專利名稱:實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息技術(shù)數(shù)據(jù)同步領(lǐng)域,尤其涉及一種實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)和方法。
      背景技術(shù)
      目前,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)作為ー個龐大的信息資源,成為人們獲取信息的最方便、快捷的途徑。目前,用戶通 常使用個人計算機(jī)接入英特網(wǎng)(Internet),并通過個人計算機(jī)中安裝的瀏覽器(Browser)訪問網(wǎng)頁,獲得需要的信息。隨著移動通信技術(shù)的發(fā)展,用戶還可以通過支持瀏覽器功能的移動終端接入英特網(wǎng),例如手機(jī)、個人數(shù)字助理(PersonalDigital Assistant,簡稱 PDA)。然而,無論是個人計算機(jī)上的瀏覽器還是移動終端上的瀏覽器,一般不提供推送服務(wù),服務(wù)器端與客戶端的信息交互依賴于客戶端發(fā)起的連接,服務(wù)器端無法主動地將信息發(fā)送給客戶端,從而無法實現(xiàn)服務(wù)器端與瀏覽器客戶端之間的信息的實時同歩?,F(xiàn)有技術(shù)中,最常用的實現(xiàn)瀏覽器客戶端與服務(wù)器端瀏覽器數(shù)據(jù)同步的方式是瀏覽器客戶端以一定頻率向服務(wù)器端發(fā)送請求,如每周一次或毎月一次,如果服務(wù)端有相關(guān)信息的更新則獲取這些信息。然而,申請人發(fā)現(xiàn)該種數(shù)據(jù)同步方式存在如下技術(shù)缺陷效率比較低、占用資源多、不能做到內(nèi)容的真正實時同步更新。因此,目前急需解決如何實現(xiàn)瀏覽器客戶端與云存儲服務(wù)器端數(shù)據(jù)實時同步的問題。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明提供了ー種克服上述問題或者至少部分地解決上述問題的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)和方法。根據(jù)本發(fā)明的ー個方面,提供了一種實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),該系統(tǒng)包括云存儲服務(wù)器端、推送服務(wù)器和多個瀏覽器客戶端,其中所述云存儲服務(wù)器端,用于在有數(shù)據(jù)更新時向所述推送服務(wù)器下發(fā)條件信息和命令信息;所述推送服務(wù)器,用于根據(jù)該條件信息在所述多個瀏覽器客戶端中確定目標(biāo)客戶端,并將所述命令信息發(fā)送給所述目標(biāo)客戶端;以及所述目標(biāo)客戶端,用于根據(jù)所述命令信息實現(xiàn)其與云存儲服務(wù)器端的數(shù)據(jù)同歩。根據(jù)本發(fā)明的另ー個方面,還提供了一種實現(xiàn)瀏覽器數(shù)據(jù)同步的方法,應(yīng)用于所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),該方法包括云存儲服務(wù)器端在有數(shù)據(jù)更新時向推送服務(wù)器下發(fā)條件信息和命令信息;推送服務(wù)器根據(jù)該條件信息在所述多個瀏覽器客戶端中確定目標(biāo)客戶端,并將所述命令信息發(fā)送給所述目標(biāo)客戶端;以及目標(biāo)客戶端根據(jù)該命令信息實現(xiàn)瀏覽器客戶端與云存儲服務(wù)器端的數(shù)據(jù)同歩。從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果(I)設(shè)置單獨的推送服務(wù)器,在云存儲服務(wù)器端存儲的數(shù)據(jù)內(nèi)容發(fā)生更新的情況下,及時地將命令信息通過推送服務(wù)器發(fā)送至目標(biāo)客戶端,從而簡單、高效地實現(xiàn)了云存儲服務(wù)器端與瀏覽器客戶端的數(shù)據(jù)實時同步;(2)云存儲服務(wù)器端、目標(biāo)客戶端和發(fā)起客戶端是現(xiàn)有瀏覽器系統(tǒng)中已有的,因此在此基礎(chǔ)上添加推送服務(wù)器可以有效地利用原有的系統(tǒng)架構(gòu),降低實現(xiàn)實時同步系統(tǒng)的成本;(3)通過增加套接字服務(wù)器、分發(fā)器和分發(fā)信息數(shù)據(jù)庫,順利實現(xiàn)了云存儲服務(wù)器端、推送服務(wù)器和目標(biāo)客戶端的連接;(4)由推送服務(wù)器推送至目標(biāo)客戶端的命令信息為通知消息,在接收到推送服務(wù)器推送的通知消息后,目標(biāo)客戶端從云存儲服務(wù)器端下載發(fā)生更新的數(shù)據(jù)內(nèi)容,依照下載內(nèi)容進(jìn)行本地數(shù)據(jù)內(nèi)容的同歩,從而可以進(jìn)ー步節(jié)約系統(tǒng)資源。(5)由于分發(fā)信息數(shù)據(jù)庫是集群形式,本發(fā)明可以實現(xiàn)多個套接字服務(wù)器同步查詢數(shù)據(jù)庫的特定部分,從而減少了每個部分的查詢量,提高了查詢速度。另ー方面,由于查詢由套接字服務(wù)器自身來執(zhí)行,因而其能夠在查詢出每個結(jié)果之后立即觸發(fā)命令信息發(fā)送,大大減少了時間延遲,加快了處理速度。 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式



      通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1為根據(jù)本發(fā)明ー個實施例的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)的結(jié)構(gòu)示意圖;圖2為根據(jù)本發(fā)明另一個實施例的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)的結(jié)構(gòu)示意圖;圖3為圖2所示實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)中瀏覽器客戶端與套接字服務(wù)器建立連接的過程的示意圖;圖4為圖2所示實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)中在第一類場景下向目標(biāo)客戶端進(jìn)行信息推送的過程的示意圖;圖5為圖2所示實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)中在第二類場景下向目標(biāo)客戶端進(jìn)行信息推送的過程的示意圖;圖6為圖2所示實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)中在第三類場景下向目標(biāo)客戶端進(jìn)行信息推送的過程的示意圖;圖7為根據(jù)本發(fā)明實施例的實現(xiàn)瀏覽器數(shù)據(jù)同步的方法的流程圖;圖8為根據(jù)本發(fā)明實施例的實現(xiàn)瀏覽器數(shù)據(jù)同步的瀏覽器客戶端的結(jié)構(gòu)示意圖;圖9為根據(jù)本發(fā)明實施例的采用集群形式分發(fā)信息數(shù)據(jù)庫的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)結(jié)構(gòu)示意圖。
      具體實施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。在本發(fā)明的一個示例性實施例中,提供了一種實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)。如圖1所示,該實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)包括云存儲服務(wù)器端1、推送服務(wù)器2和多個瀏覽器客戶端3、4。其中,云存儲服務(wù)器端1,用于在有數(shù)據(jù)更新時向推送服務(wù)器下發(fā)條件信息和命令信息;推送服務(wù)器2,用于根據(jù)條件信息在多個瀏覽器客戶端中確定目標(biāo)客戶端,并將該命令信息推送至目標(biāo)客戶端3 ;目標(biāo)客戶端3,用于根據(jù)該命令信息實現(xiàn)目標(biāo)客戶端與云存儲服務(wù)器端的數(shù)據(jù)同歩。在圖1所示的實施例中,通過設(shè)置単獨的推送服務(wù)器2,在云存儲服務(wù)器端存儲的數(shù)據(jù)內(nèi)容發(fā)生更新的情況下,及時地將命令信 息通過推送服務(wù)器發(fā)送至目標(biāo)客戶端,從而簡單、高效地實現(xiàn)了服務(wù)端信息與客戶端實時同歩。如圖1所示,多個瀏覽器客戶端中包含有發(fā)起客戶端4和目標(biāo)客戶端3。其中,發(fā)起客戶端4,用于對存儲于云存儲服務(wù)器端I中的數(shù)據(jù)進(jìn)行更新。該發(fā)起客戶端4和目標(biāo)客戶端3可以屬于同一個用戶,也可以屬于不同的用戶。該發(fā)起客戶端4和目標(biāo)客戶端3屬于同一個用戶的情況主要的應(yīng)用場景在于同一用戶使用不同的設(shè)備(例如手機(jī)和PC)登錄瀏覽器,其中ー個(例如PC)更改收藏夾,那么需要將該更新同步到同一用戶的另ー設(shè)備(手機(jī))。該發(fā)起客戶端4和目標(biāo)客戶端3不屬于同一個用戶的情況的應(yīng)用場景例如是不同瀏覽器客戶端之間的信息通信。當(dāng)然,本發(fā)明也可以由云存儲服務(wù)器端自身發(fā)起對數(shù)據(jù)內(nèi)容的更新,在這種情況下,圖1中的發(fā)起瀏覽器客戶端4則可以不存在。這種情況的場景例如是系統(tǒng)向所有瀏覽器客戶端推送新聞消息或天氣預(yù)報;或系統(tǒng)向所有某版本的瀏覽器客戶端發(fā)起更新指示。由于圖1中虛線框以內(nèi)的云存儲服務(wù)器端1、目標(biāo)客戶端3和發(fā)起客戶端4是現(xiàn)有瀏覽器系統(tǒng)中已有的,因此在此基礎(chǔ)上添加推送服務(wù)器可以有效地利用原有的系統(tǒng)架構(gòu),降低實現(xiàn)本發(fā)明的成本。為了實現(xiàn)云存儲服務(wù)器端1、推送服務(wù)器2和目標(biāo)客戶端3的連接,如圖2所示,實現(xiàn)瀏覽器客戶端與云存儲服務(wù)器端數(shù)據(jù)同步的系統(tǒng)還可以包括多個套接字服務(wù)器、分發(fā)器。分發(fā)器,用于在接收到客戶端的連接請求后,為其分配相應(yīng)的套接字服務(wù)器以及連接標(biāo)識符,并將用戶標(biāo)識信息以及連接標(biāo)識符存儲至分發(fā)信息數(shù)據(jù)庫。詳細(xì)的連接建立過程如圖3所示,包括步驟S301,瀏覽器客戶端向分發(fā)器提交連接請求,該連接請求中至少包括用戶標(biāo)識信息,對于登錄用戶來講,其用戶標(biāo)識信息可以包括用戶名,而對于非登錄用戶來講,其用戶標(biāo)識信息可以包括用戶的機(jī)器硬件標(biāo)識。對于登錄用戶來講,該用戶標(biāo)識信息可以為一字符串。其中,該字符串除了登錄用戶的用戶名之外,還包括登錄時間和驗證字符等信息。用戶名為用戶唯一標(biāo)識號,即ー個數(shù)字,用于代表一個用戶。驗證字符根據(jù)用戶名生成,即可通過驗證字符判定用戶標(biāo)識信息是否被更改。對于非登錄用戶來講,該用戶標(biāo)識信息可以包括非登錄用戶的機(jī)器硬件標(biāo)識,其中機(jī)器硬件標(biāo)識為機(jī)器唯一標(biāo)識,為客戶端通過用戶機(jī)器硬件、系統(tǒng)配置等哈希生成。
      此外,為了后續(xù)的目標(biāo)客戶端篩選,該連接請求還可以包括用戶特征信息,例如IP地址信息、瀏覽器版本信息,或用戶分類信息等用戶特征信息。其中,瀏覽器版本號、用戶分類信息,或IP地址信息等用戶特征信息可以用于后續(xù)的客戶端篩選使用。步驟S302,分發(fā)器基于該用戶標(biāo)識信息使用預(yù)設(shè)算法進(jìn)行計算得到ー個數(shù)值,根據(jù)該數(shù)值為提交連接請求的瀏覽器客戶端分配套接字服務(wù)器;該數(shù)值是全局唯一的,即連接標(biāo)識符;分發(fā)器將該套接字服務(wù)器的IP地址、端ロ等連接信息及連接標(biāo)識符發(fā)送至提交請求的瀏覽器客戶端;本步驟中,使用預(yù)設(shè)的算法根據(jù)登錄用戶的用戶名計算上述數(shù)值。對于非登錄用戶來講,直接采用非登錄用戶的機(jī)器標(biāo)識計算上述數(shù)值,該算法可以為循環(huán)冗余校驗(CRC) 32 算法。步驟S303,瀏覽器客戶端根據(jù)接收到的套接字服務(wù)器的IP地址和端口號與對應(yīng)的套接字服務(wù)器建立連接,該連接可以是傳輸控制協(xié)議TCP (Transmission ControlProtocol)連接。在瀏覽器客戶端與套接字服務(wù)器建立連接時,該套接字服務(wù)器得到標(biāo)識該 套接字服務(wù)器和瀏覽器客戶端連接關(guān)系的資源標(biāo)識符。瀏覽器客戶端利用已經(jīng)建立的連接向該套接字服務(wù)器傳送其接收到的連接標(biāo)識符。步驟S304,套接字服務(wù)器接收到連接標(biāo)識符后,向分發(fā)器對該連接標(biāo)識符進(jìn)行驗證,若驗證成功,則保持與瀏覽器客戶端之間建立的連接,若驗證不成功,則斷開已經(jīng)建立的連接。步驟S305,分發(fā)器將用戶標(biāo)識信息(登錄用戶的用戶名或非登錄用戶的機(jī)器標(biāo)識)、用戶特征信息(如果有的話)以及連接標(biāo)識符存儲在分發(fā)信息數(shù)據(jù)庫中,并且套接字服務(wù)器也將所得到的資源標(biāo)識符存儲在該分發(fā)信息數(shù)據(jù)庫中。需要說明的是,為了防止服務(wù)器端變化引起的分配混亂,瀏覽器客戶端需要在隔一段時間后重新執(zhí)行步驟S301-步驟S304進(jìn)行連接。此外,對于每一個套接字服務(wù)器,在分發(fā)信息數(shù)據(jù)庫中均存在對應(yīng)的単獨數(shù)據(jù)表,以減小數(shù)據(jù)表的規(guī)模,加快在后續(xù)信息推送階段,套接字服務(wù)器的查詢速度。通過増加分發(fā)器和套接字服務(wù)器,并且在分發(fā)器中設(shè)置分發(fā)信息數(shù)據(jù)庫,使得能夠在建立連接階段將用戶標(biāo)識信息、連接標(biāo)識符、資源標(biāo)識符和用戶特征信息等存儲于分發(fā)信息數(shù)據(jù)庫中,從而實現(xiàn)了推送服務(wù)器對預(yù)設(shè)目標(biāo)客戶端的數(shù)據(jù)內(nèi)容的推送。在信息推送階段推送服務(wù)器,用于將條件信息和命令信息發(fā)送至套接字服務(wù)器;套接字服務(wù)器,用于將推送服務(wù)器推送的信息轉(zhuǎn)發(fā)至相應(yīng)的目標(biāo)客戶端。詳細(xì)的信息推送過程以下分三類場景進(jìn)行詳細(xì)說明。(I)當(dāng)該實時同步由發(fā)起客戶端發(fā)起,且發(fā)起客戶端和接收客戶端屬于同一用戶吋,條件信息中包括用戶標(biāo)識信息。舉例來講,如圖4所示,該信息推送過程包括步驟S401,發(fā)起客戶端發(fā)起對存儲在云存儲服務(wù)器端存儲的數(shù)據(jù)進(jìn)行更新;本步驟中,云存儲服務(wù)器端存儲的數(shù)據(jù)包括以下之一收藏夾信息、歷史記錄信息、瀏覽器配置信息、便簽信息、登錄管家信息、消息提醒信息、密鑰信息等等其他可能的信
      o步驟S402,云存儲服務(wù)器端向推送服務(wù)器發(fā)送條件信息和命令信息,該條件信息包括用戶標(biāo)識信息,例如登錄用戶的用戶名或未登錄用戶的機(jī)器硬件標(biāo)識,并且該條件信息中還包括標(biāo)識該發(fā)起客戶端與其對應(yīng)的套接字服務(wù)器的連接的資源標(biāo)識符;
      步驟S403,推送服務(wù)器由與分發(fā)器中同樣的算法根據(jù)用戶標(biāo)識信息計算得到ー個數(shù)值,從而得到為目標(biāo)客戶端分配的套接字服務(wù)器,并將條件信息及命令信息發(fā)送給該為目標(biāo)客戶端分配的套接字服務(wù)器;步驟S404,套接字服務(wù)器根據(jù)條件信息中的用戶標(biāo)識信息查詢分發(fā)器中的分發(fā)信息數(shù)據(jù)庫,確定與目標(biāo)客戶端對應(yīng)的資源標(biāo)識符,其中排除了標(biāo)識發(fā)起客戶端與其對應(yīng)的套接字服務(wù)器的連接的資源標(biāo)識符;步驟S405,套接字服務(wù)器根據(jù)該資源標(biāo)識符在與該目標(biāo)客戶端(ー個或多個)的連接中向該客戶端發(fā)送該命令信息。(2)當(dāng)該實時同步由發(fā)起客戶端發(fā)起,且發(fā)起客戶端和接收客戶端屬于不同登錄用戶時,即條件信息中包括用戶標(biāo)識信息,如圖5所示,該信息推送過程包括步驟S501,發(fā)起客戶端發(fā)起對存儲在云存儲服務(wù)器端存儲的數(shù)據(jù)進(jìn)行更新; 本步驟中,云存儲服務(wù)器端存儲的數(shù)據(jù)包括以下之一收藏夾信息、歷史記錄信息、瀏覽器配置信息、便簽信息、登錄管家信息、消息提醒信息、密鑰信息、新聞信息和/或用戶生成的信息等等。步驟S502,云存儲服務(wù)器端向推送服務(wù)器發(fā)送條件信息和命令信息,其中該條件信息可以包括用戶標(biāo)識信息,例如登錄用戶的用戶名或未登錄用戶的機(jī)器硬件標(biāo)識;步驟S503,推送服務(wù)器由與分發(fā)器中同樣的算法根據(jù)用戶標(biāo)識信息計算得到ー個數(shù)值,從而得到為目標(biāo)客戶端分配的套接字服務(wù)器,并將條件信息及命令信息發(fā)送給該為目標(biāo)客戶端分配的套接字服務(wù)器;步驟S504,套接字服務(wù)器根據(jù)條件信息中的用戶標(biāo)識信息查詢分發(fā)器中的分發(fā)信息數(shù)據(jù)庫,確定目標(biāo)客戶端的資源標(biāo)識符;步驟S505,對應(yīng)的套接字服務(wù)器依據(jù)該資源標(biāo)識符,在與目標(biāo)客戶端(一個或多個)的連接中向該客戶端發(fā)送該通知消息,至此,信息推送過程結(jié)束。(3)當(dāng)該實時同步由云存儲服務(wù)器端主動發(fā)起,且條件信息中包括目標(biāo)客戶端的特征篩選信息,而不包括用戶標(biāo)識信息,其中特征篩選信息也可以為空,這種情況下,在連接建立階段,由瀏覽器客戶端向分發(fā)器提交連接請求中還包含特征篩選信息,其與如前的在分發(fā)信息數(shù)據(jù)庫中保存的用戶特征信息相對應(yīng)。 如圖6所示,該信息推送過程包括步驟S601,云存儲服務(wù)器端向推送服務(wù)器下發(fā)條件信息和命令信息中,條件信息中包含目標(biāo)客戶端的特征篩選信息(例如某瀏覽器的版本號),該命令信息例如是通知用戶升級的指令。步驟S602,推送服務(wù)器將條件信息和命令信息推送給所有的套接字服務(wù)器。步驟S603,各個套接字服務(wù)器分別向分發(fā)器的分發(fā)信息數(shù)據(jù)庫遞交查詢請求,該查詢請求中包含特征篩選信息;分發(fā)信息數(shù)據(jù)庫根據(jù)特征篩選條件查詢分發(fā)信息數(shù)據(jù)庫中各個瀏覽器客戶端的用戶特征信息,確定滿足該特征篩選條件的目標(biāo)客戶端的資源標(biāo)識符,并將該資源標(biāo)識符返回至發(fā)起查詢的各套接字服務(wù)器。步驟S604,各套接字服務(wù)器根據(jù)接收到的資源標(biāo)識符向相應(yīng)的客戶端發(fā)送命令信息,至此,信息推送過程結(jié)束。在步驟S603,套接字服務(wù)器通過查詢分發(fā)信息數(shù)據(jù)庫來確定目標(biāo)客戶端所采用的查詢機(jī)制主要包括以下兩種情況
      第一種情況條件信息中包括目標(biāo)客戶端的登錄用戶的用戶名或非登錄用戶的機(jī)器硬件標(biāo)識,在該情況下,推送過程為云存儲服務(wù)器觸發(fā)對該目標(biāo)客戶端的相關(guān)信息的實時同步,具體來說,云存儲服務(wù)器向推送服務(wù)器發(fā)送目標(biāo)客戶端用戶標(biāo)識信息或機(jī)器硬件標(biāo)識、命令信息以及其他可能的參數(shù)信息。在推送服務(wù)器中,由與分發(fā)器中同樣的算法根據(jù)用戶標(biāo)識信息或機(jī)器硬件標(biāo)識計算出該全局唯一的連接標(biāo)識符,進(jìn)而得出其被分配處于的套接字服務(wù)器,繼而推送服務(wù)器將用戶標(biāo)識信息或機(jī)器硬件標(biāo)識以及命令信息發(fā)送給所計算出的套接字服務(wù)器。套接字服務(wù)器根據(jù)用戶標(biāo)識信息或機(jī)器硬件標(biāo)識查詢分發(fā)信息數(shù)據(jù)庫,確定目標(biāo)客戶端。 對應(yīng)的套接字服務(wù)器在與該用戶標(biāo)識信息或機(jī)器硬件標(biāo)識對應(yīng)的瀏覽器客戶端(ー個或多個)的連接中向該客戶端發(fā)送該命令信息??蛻舳耸盏矫钚畔?,根據(jù)其中的通知消息內(nèi)容,從對應(yīng)的云存儲服務(wù)器中下載更新內(nèi)容,如配置、收藏夾等(如果直接發(fā)送內(nèi)容消息則沒有這ー步驟)。第二種情況條件消息中不包括目標(biāo)客戶端的用戶標(biāo)識信息或機(jī)器硬件標(biāo)識,在該情況下,推送過程為云存儲服務(wù)器向推送服務(wù)器發(fā)送條件信息(例如某版本號)以及命令信息(包括通知消息或內(nèi)容消息,其中的通知消息例如通知用戶升級的指令);推送服務(wù)器將條件信息和命令信息推送給所有的套接字服務(wù)器;套接字服務(wù)器根據(jù)條件信息查詢分發(fā)信息數(shù)據(jù)庫,確定目標(biāo)客戶端,然后向相應(yīng)的目標(biāo)客戶端發(fā)送命令信息;在對應(yīng)目標(biāo)客戶端處收到命令信息,并觸發(fā)對應(yīng)的動作,例如,彈窗提示,下載更新等(如果直接發(fā)送內(nèi)容消息則沒有這ー步驟)。在上面的步驟中,也可以先執(zhí)行推送服務(wù)器查詢分發(fā)信息數(shù)據(jù)庫,然后根據(jù)查詢結(jié)果將信息發(fā)送給對應(yīng)的套接字服務(wù)器。為了提高查詢效率,分發(fā)信息數(shù)據(jù)庫優(yōu)選采取數(shù)據(jù)庫集群的形式,分發(fā)信息數(shù)據(jù)庫采取數(shù)據(jù)庫集群的形式,每個套接字服務(wù)器在分發(fā)信息數(shù)據(jù)庫中對應(yīng)ー表格,該表格中包含有套接字服務(wù)器中的所有連接的信息,該表格是以連接標(biāo)識符為關(guān)鍵字(key)的信息列表,至少包括連接標(biāo)識符、用戶標(biāo)識信息、用戶特征信息、資源標(biāo)識符等信息。該分發(fā)信息數(shù)據(jù)庫可以使用任何合適的數(shù)據(jù)庫來實現(xiàn),在本發(fā)明的ー個優(yōu)選實施例中,分發(fā)信息數(shù)據(jù)庫可以選擇文檔類型數(shù)據(jù)庫,優(yōu)選地選擇對數(shù)據(jù)列數(shù)沒有限定的數(shù)據(jù)庫來實現(xiàn),以使得數(shù)據(jù)項目靈活可變,有利于對數(shù)據(jù)項目缺失和擴(kuò)充的兼容。本發(fā)明的ー個實施例使用MongoDB集群來實現(xiàn)該數(shù)據(jù)庫,也可以使用CouchDB集群或其他類似物數(shù)據(jù)庫集群實現(xiàn)。分發(fā)信息數(shù)據(jù)庫如果采取集群的形式,則在上述兩種查詢機(jī)制下,即可以根據(jù)套接字服務(wù)器的數(shù)目,在數(shù)據(jù)庫集群中維護(hù)相同數(shù)的部分。在上述實施例中,例如如圖4所示,系統(tǒng)中有3個套接字服務(wù)器的情況下,數(shù)據(jù)庫集群也由三個部分組成,每個部分維護(hù)ー個表格,其對應(yīng)于每個套接字服務(wù)器中連接的信息。具體來說,這樣的列表是以連接標(biāo)識符為key的信息列表,其中包括連接標(biāo)識符、用戶標(biāo)識信息、用戶特征信息、資源標(biāo)識符等信息,信息列表的ー個不例如下表I所不:
      權(quán)利要求
      1.一種實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),該系統(tǒng)包括云存儲服務(wù)器端、推送服務(wù)器和多個瀏覽器客戶端,其中 所述云存儲服務(wù)器端,用于在有數(shù)據(jù)更新時向所述推送服務(wù)器下發(fā)條件信息和命令信息; 所述推送服務(wù)器,用于根據(jù)該條件信息在所述多個瀏覽器客戶端中確定目標(biāo)客戶端,并將所述命令信息發(fā)送給所述目標(biāo)客戶端;以及 所述目標(biāo)客戶端,用于根據(jù)所述命令信息實現(xiàn)其與云存儲服務(wù)器端的數(shù)據(jù)同步。
      2.根據(jù)權(quán)利要求1所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,該系統(tǒng)在所述推送服務(wù)器與所述多個瀏覽器客戶端之間還具有多個套接字服務(wù)器; 在所述推送服務(wù)器根據(jù)條件信息將命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端之前,所述多個瀏覽器客戶端分別與相應(yīng)的套接字服務(wù)器之間建立套接字連接; 在所述推送服務(wù)器根據(jù)條件信息將命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端時,所述推送服務(wù)器通過相應(yīng)的套接字服務(wù)器將所述命令信息發(fā)送給所述多個瀏覽器客戶端中的目標(biāo)客戶端。
      3.根據(jù)權(quán)利要求2所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,該系統(tǒng)還包括分發(fā)器,所述多個瀏覽器客戶端與相應(yīng)的套接字服務(wù)器之間通過該分發(fā)器建立連接。
      4.根據(jù)權(quán)利要求3所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,瀏覽器客戶端與套接字服務(wù)器之間通過分發(fā)器建立套接字連接包括 所述瀏覽器客戶端向所述分發(fā)器提交連接請求,該連接請求中至少包括用戶標(biāo)識信息; 所述分發(fā)器由用戶標(biāo)識信息使用預(yù)設(shè)算法進(jìn)行計算得到全局唯一的連接標(biāo)識符,根據(jù)該連接標(biāo)識符為提交連接請求的瀏覽器客戶端分配套接字服務(wù)器; 所述分發(fā)器將該套接字服務(wù)器的連接信息及所述連接標(biāo)識符發(fā)送至提交請求的瀏覽器客戶端; 提交請求的瀏覽器客戶端根據(jù)接收到的套接字服務(wù)器的連接信息及所述連接標(biāo)識符與對應(yīng)的套接字服務(wù)器建立連接。
      5.根據(jù)權(quán)利要求4所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述提交請求的瀏覽器客戶端根據(jù)接收到的套接字服務(wù)器的連接信息與對應(yīng)的套接字服務(wù)器建立連接,包括 提交請求的瀏覽器客戶端向相應(yīng)的套接字服務(wù)器傳送其接收到的連接標(biāo)識符; 所述套接字服務(wù)器從所述提交請求的瀏覽器客戶端接收到連接標(biāo)識符后,向所述分發(fā)器對該連接標(biāo)識符進(jìn)行驗證,在驗證成功后,保持所述套接字服務(wù)器與所述瀏覽器客戶端之間已經(jīng)建立的連接,驗證失敗,則斷開已經(jīng)建立的連接; 其中在所述套接字服務(wù)器與所述瀏覽器客戶端之間的連接建立時,套接字服務(wù)器獲得標(biāo)識套接字服務(wù)器和瀏覽器客戶端連接關(guān)系的資源標(biāo)識符。
      6.根據(jù)權(quán)利要求5所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述用戶標(biāo)識信息包括登錄用戶的用戶名、非登錄用戶的機(jī)器硬件標(biāo)識。
      7.根據(jù)權(quán)利要求5所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,該分發(fā)器包括分發(fā)信息數(shù)據(jù)庫,用于存儲用戶標(biāo)識信息、連接標(biāo)識符,以及資源標(biāo)識符。
      8.根據(jù)權(quán)利要求7所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述云存儲服務(wù)器端向推送服務(wù)器發(fā)送條件信息及命令信息中,所述條件信息中包括目標(biāo)客戶端的用戶標(biāo)識信息; 所述推送服務(wù)器根據(jù)該條件信息將該命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端包括 推送服務(wù)器采用與分發(fā)器相同的預(yù)設(shè)算法對目標(biāo)客戶端的用戶標(biāo)識信息進(jìn)行計算得到一個數(shù)值,從而得到為目標(biāo)客戶端分配的套接字服務(wù)器, 推送服務(wù)器將所述條件信息及所述命令信息發(fā)送給該為目標(biāo)客戶端分配的套接字服務(wù)器; 該套接字服務(wù)器根據(jù)所述條件信息中的用戶標(biāo)識信息查詢分發(fā)器中的分發(fā)信息數(shù)據(jù)庫,確定與目標(biāo)客戶端對應(yīng)的資源標(biāo)識符,并依照該資源標(biāo)識符將該命令信息發(fā)送給該目標(biāo)客戶端。
      9.根據(jù)權(quán)利要求5所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,該分發(fā)器還包括分發(fā)信息數(shù)據(jù)庫; 所述分發(fā)器還從瀏覽器客戶端獲取用戶特征信息,該用戶特征信息包括以下信息其中之一 IP地址信息、瀏覽器版本信息和用戶分類信息; 所述分發(fā)信息數(shù)據(jù)庫,用于存儲所述用戶特征信息、連接標(biāo)識符及資源標(biāo)識符。
      10.根據(jù)權(quán)利要求9所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述云存儲服務(wù)器端向所述推送服務(wù)器下發(fā)條件信息和命令信息中,所述條件信息中包含目標(biāo)客戶端的特征篩選信息; 所述推送服務(wù)器根據(jù)該條件信息將該命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端包括 推送服務(wù)器將該條件信息和該命令信息發(fā)送給所有的套接字服務(wù)器; 每一個套接字服務(wù)器根據(jù)該條件信息中的特征篩選信息查詢分發(fā)信息數(shù)據(jù)庫,確定滿足該特征篩選信息的目標(biāo)客戶端的資源標(biāo)識符,并依照該資源標(biāo)識符向相應(yīng)的目標(biāo)客戶端發(fā)送命令信息。
      11.根據(jù)權(quán)利要求7至10中任一項所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述分發(fā)信息數(shù)據(jù)庫為文檔類型數(shù)據(jù)庫。
      12.根據(jù)權(quán)利要求7至10中任一項所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述分發(fā)信息數(shù)據(jù)庫采取數(shù)據(jù)庫集群的形式。
      13.根據(jù)權(quán)利要求12所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述分發(fā)信息數(shù)據(jù)庫分為多個部分,數(shù)據(jù)庫的各部分保存與各套接字服務(wù)器相對應(yīng)的信息。
      14.根據(jù)權(quán)利要求12所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述數(shù)據(jù)庫集群采用MongoDB集群或CouchDB集群。
      15.根據(jù)權(quán)利要求13所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,套接字服務(wù)器根據(jù)所述條件信息查詢分發(fā)器中的分發(fā)信息數(shù)據(jù)庫包括套接字服務(wù)器查詢分發(fā)信息數(shù)據(jù)庫中與其自身對應(yīng)的部分以確定目標(biāo)客戶端。
      16.根據(jù)權(quán)利要求1至10中任一項所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng),其中,所述命令信息為通知消息或內(nèi)容消息。
      17.一種實現(xiàn)瀏覽器數(shù)據(jù)同步的方法,其中該方法包括云存儲服務(wù)器端在有數(shù)據(jù)更新時向推送服務(wù)器下發(fā)條件信息和命令信息; 推送服務(wù)器根據(jù)該條件信息在所述多個瀏覽器客戶端中確定目標(biāo)客戶端,并將所述命令信息發(fā)送給所述目標(biāo)客戶端;以及 目標(biāo)客戶端根據(jù)該命令信息實現(xiàn)瀏覽器客戶端與云存儲服務(wù)器端的數(shù)據(jù)同步。
      18.根據(jù)權(quán)利要求17所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的方法,其中,該方法進(jìn)一步包括步驟 在所述推送服務(wù)器根據(jù)條件信息將命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端之前,所述多個瀏覽器客戶端分別與相應(yīng)的套接字服務(wù)器之間建立連接; 在所述推送服務(wù)器根據(jù)條件信息將命令信息發(fā)送給多個瀏覽器客戶端中的目標(biāo)客戶端時,所述推送服務(wù)器通過相應(yīng)的套接字服務(wù)器將所述命令信息發(fā)送給所述多個瀏覽器客戶端中的目標(biāo)客戶端。
      19.根據(jù)權(quán)利要求18所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的方法,其中,該方法進(jìn)一步包括步驟所述多個瀏覽器客戶端與相應(yīng)的套接字服務(wù)器之間通過分發(fā)器建立連接。
      20.根據(jù)權(quán)利要求19所述的實現(xiàn)瀏覽器數(shù)據(jù)同步的方法,其中,瀏覽器客戶端與套接字服務(wù)器之間通過分發(fā)器建立套接字連接進(jìn)一步包括步驟 所述瀏覽器客戶端向所述分發(fā)器提交連接請求,該連接請求中至少包括用戶標(biāo)識信息; 所述分發(fā)器由用戶標(biāo)識信息使用預(yù)設(shè)算法進(jìn)行計算得到全局唯一的連接標(biāo)識符,根據(jù)該連接標(biāo)識符為提交連接請求的瀏覽器客戶端分配套接字服務(wù)器; 所述分發(fā)器將該套接字服務(wù)器的連接信息及所述連接標(biāo)識符發(fā)送至提交請求的瀏覽器客戶端; 提交請求的瀏覽器客戶端根據(jù)接收到的套接字服務(wù)器的連接信息及所述連接標(biāo)識符與對應(yīng)的套接字服務(wù)器建立連接。
      全文摘要
      本發(fā)明提供了實現(xiàn)瀏覽器數(shù)據(jù)同步的系統(tǒng)和方法。該系統(tǒng)包括云存儲服務(wù)器端、推送服務(wù)器和多個瀏覽器客戶端,其中云存儲服務(wù)器端,用于在有數(shù)據(jù)更新時向推送服務(wù)器下發(fā)條件信息和命令信息;推送服務(wù)器,用于根據(jù)該條件信息在多個瀏覽器客戶端中確定目標(biāo)客戶端,并將命令信息發(fā)送給目標(biāo)客戶端;以及目標(biāo)客戶端,用于根據(jù)命令信息實現(xiàn)其與云存儲服務(wù)器端的數(shù)據(jù)同步。本發(fā)明在云存儲服務(wù)器端存儲的數(shù)據(jù)內(nèi)容發(fā)生更新的情況下,及時地將命令信息通過推送服務(wù)器發(fā)送至目標(biāo)客戶端,從而簡單、高效地實現(xiàn)了云存儲服務(wù)器端與瀏覽器客戶端的數(shù)據(jù)的實時同步。
      文檔編號H04L29/08GK103024052SQ20121054944
      公開日2013年4月3日 申請日期2012年12月17日 優(yōu)先權(quán)日2012年12月17日
      發(fā)明者吳浩, 任寰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1