亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

同步同一Web應(yīng)用程序的多個副本的方法和設(shè)備的制作方法

文檔序號:7581416閱讀:251來源:國知局
專利名稱:同步同一Web應(yīng)用程序的多個副本的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,更具體地涉及同步同一 Web應(yīng)用程序的多個副本的方法和設(shè)備。
背景技術(shù)
隨著計算機技術(shù)的普及,各種網(wǎng)絡(luò)應(yīng)用不斷擴展?;诳蛻舳朔?wù)器模式的網(wǎng)絡(luò)服務(wù)越來越多。其中,由于HTTP協(xié)議(Hyper Text Transfer Protocol,超文本傳送協(xié)議)是當(dāng)今因特網(wǎng)中應(yīng)用最廣泛的協(xié)議,所以很多網(wǎng)絡(luò)應(yīng)用都是基于HTTP協(xié)議來進行的。近些年,出現(xiàn)了一種基于HTTP協(xié)議的新的Web應(yīng)用架構(gòu)Comet Web應(yīng)用架構(gòu)?;谶@種架構(gòu)開發(fā)的應(yīng)用程序中,為了滿足實時推送數(shù)據(jù)的需求,Web應(yīng)用程序?qū)⑴c服務(wù)器建立連接,從而服務(wù)器端得以向客戶端程序推送數(shù)據(jù)。Comet架構(gòu)非常適合事件驅(qū)動的Web應(yīng)用程序,以及對交互性和實時性要求很強的應(yīng)用,如股票交易行情分析、聊天室和Web版在線游戲等。在用戶使用這些Web應(yīng)用程序時,用戶往往會出于某些原因而創(chuàng)建同一 Web應(yīng)用程序的多個副本。如圖I所示,在這種情況下,由于Web應(yīng)用程序的交互性和實時性,諸如Web即時聊天應(yīng)用程序,需要同一 Web應(yīng)用程序的多個副本同步,即,在每個副本上所呈現(xiàn)的內(nèi)容相同,否則,諸如在強調(diào)交互性和實時性的聊天程序中,多個副本上所呈現(xiàn)的內(nèi)容不同將使用戶感到迷惑。例如,用戶可能在一個副本上輸入了某些內(nèi)容,但是這些內(nèi)容并沒有在另一副本上顯示出來,但是另一副本上卻顯示了對方的回復(fù)內(nèi)容,這種情況將使他/她難以了解自己說過哪些內(nèi)容,而對方又回復(fù)了哪些內(nèi)容,對話的邏輯性將因此受到很大影響。所以,多個副本中的每一個必須和服務(wù)器建立一個Comet連接,具體為HTTP長輪詢(Long-Polling)連接,從而它們可以通過服務(wù)器進行同步。即,一個用戶使用的同一 Web應(yīng)用程序可能產(chǎn)生多于一個的連接。雖然圖I中僅示出了 3個副本,但是在現(xiàn)實中,可能會創(chuàng)建更多的副本??梢韵氲?,用戶創(chuàng)建的副本越多,則到服務(wù)器的此類連接也就越多。同時由于一臺服務(wù)器往往服務(wù)于很多用戶,所以這些幾倍于用戶數(shù)量的副本連接數(shù)量必將導(dǎo)致服務(wù)器的負(fù)荷越來越重并且對服務(wù)器資源的消耗也越來越大。最終可能導(dǎo)致在很短的時間內(nèi)就耗盡服務(wù)器的連接資源而使服務(wù)器無法繼續(xù)為其他用戶提供服務(wù)。然而,僅僅單純地增加服務(wù)器數(shù)量是難以解決上述問題的,因為新增的服務(wù)器同樣也會由于過多的副本連接而過快地耗盡資源,而且增加服務(wù)器的成本很高,這使得很多服務(wù)提供商難以負(fù)擔(dān)。

發(fā)明內(nèi)容
因此,現(xiàn)在需要一種在Web應(yīng)用環(huán)境中同步同一 Web應(yīng)用程序的多個副本而同時又減少產(chǎn)生的連接數(shù)量,進而能夠減輕服務(wù)器負(fù)荷,降低服務(wù)器資源消耗的方式。
為了解決上述問題,本發(fā)明提供了一種同步同一 Web應(yīng)用程序的多個副本的方法和設(shè)備。根據(jù)本發(fā)明的一個方面,提供了一種同步同一 Web應(yīng)用程序的多個副本的方法,包括將所述多個副本中的Iv副本確定為王副本,其中只有王副本與服務(wù)器建立連接;將所述主副本從所述服務(wù)器接收的數(shù)據(jù)和來自于所述多個副本中任意副本的輸入數(shù)據(jù)存儲到所述本地存儲中;以及利用從所述本地存儲中獲得的所述數(shù)據(jù) 來同步所述多個副本。
根據(jù)本發(fā)明的另一方面,提供了一種同步同一 Web應(yīng)用程序的多個副本的設(shè)備,包括確定裝置,用于將所述多個副本中的一個副本確定為主副本,其中只有主副本與服務(wù)器建立連接;存儲裝置,用于將所述主副本從所述服務(wù)器接收的數(shù)據(jù)和來自于所述多個副本中任意副本的輸入數(shù)據(jù)存儲到所述本地存儲中;以及同步裝置,用于利用從所述本地存儲中獲得的所述數(shù)據(jù)來同步所述多個副本。根據(jù)本發(fā)明,在客戶端上產(chǎn)生Web應(yīng)用程序的多個副本時,能夠僅使多個副本中的一個副本與服務(wù)器建立連接。雖然僅存在一個連接,但是多個副本之間可以同步并且每個副本仍舊維持了與服務(wù)器的雙向通信。這一方式減少了多個副本與服務(wù)器建立連接的數(shù)量,從而減輕了服務(wù)器的負(fù)荷,降低了服務(wù)器消耗的資源。本發(fā)明對于客戶端類型以及所使用的瀏覽器類型沒有任何限制,從而可以本發(fā)明更好地應(yīng)用于當(dāng)今基于Web應(yīng)用的各種環(huán)境。


通過對結(jié)合附圖所示出的實施方式進行詳細說明,本發(fā)明的上述以及其他特征將更加明顯,本發(fā)明附圖中相同的標(biāo)號表示相同或相似的元素。在附圖中圖I是示意性地示出了現(xiàn)有技術(shù)中同一 Web應(yīng)用程序的多個副本與服務(wù)器連接的方式的圖示;圖2是示意性地示出了本發(fā)明用于同步同一 Web應(yīng)用程序的多個副本的方法的流程圖;圖3是示意性地示出可以實現(xiàn)本發(fā)明的設(shè)備的框圖;以及圖4是示意性地示出了本發(fā)明中同一 Web應(yīng)用程序的多個副本與服務(wù)器和本地存儲連接的圖示。
具體實施例方式在下文中,將參考圖示借助于實施方式對本發(fā)明的用于同步同一 Web應(yīng)用程序的多個副本的方法和設(shè)備進行詳細地描述。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施方式的設(shè)備和方法體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這取決于所涉及的功能。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。首先,參考圖2示出的用于同步同一 Web應(yīng)用程序的多個副本的方法的流程圖進行描述。如圖2所示,在步驟S201中,將多 個副本中的一個副本確定為主副本,其中只有主副本與服務(wù)器建立連接。一般而言,Web應(yīng)用程序的副本可以指同時運行的同一 Web應(yīng)用程序的實例。在另一實施方式中,具體而言,這里提到的副本可以指其中運行有Web應(yīng)用程序的瀏覽器的多個實例或標(biāo)簽頁。因為,Web應(yīng)用程序大多數(shù)都可以運行在Web頁面中,例如在社交網(wǎng)絡(luò)(諸如,人人網(wǎng)等)中使用的各種Web應(yīng)用程序(諸如人人網(wǎng)網(wǎng)頁即時聊天程序)。用戶在使用這類Web應(yīng)用程序時,可能會出于某些原因同時打開瀏覽器的多個實例或標(biāo)簽頁,這樣就創(chuàng)建了同一 Web應(yīng)用程序的多個副本?;谟脩魟?chuàng)建了多個副本的情況,在步驟201中,可以將多個副本中的任意一個副本確定為主副本并由其擔(dān)任與服務(wù)器建立連接的任務(wù)。確定哪個副本為主副本可以基于競爭方式或順序方式。下面首先描寫使用順序方式確定主副本的過程。一般而言,副本的創(chuàng)建具有時間順序。例如,用戶首次打開Web應(yīng)用程序,從而創(chuàng)建了第一副本,然后用戶可能會繼續(xù)創(chuàng)建該Web應(yīng)用程序的其他副本。這樣,就存在一個按照副本創(chuàng)建時間排列的先后順序。基于該順序,可以確定最早創(chuàng)建的副本、次早創(chuàng)建的副本、第三早創(chuàng)建的副本為主副本,以此類推。本領(lǐng)域的技術(shù)人員應(yīng)該理解,利用順序方式確定主副本還可以采用時間順序之外的其他順序,包括但不限于優(yōu)先級順序、id號順序等。確定主副本還可以基于競爭方式。在存在多個副本的情況中,多個副本可以采用競爭方式,最后的勝出者將成為主副本。在競爭方式中例如可以首先設(shè)置一個標(biāo)志位。該標(biāo)志位的作用在于向各個副本指示是否存在已經(jīng)與服務(wù)器建立了連接的主副本。例如,在Web應(yīng)用程序的一個副本被創(chuàng)建時或其存在的任何時刻,它將首先讀取標(biāo)志位,如果該標(biāo)志位為還未被設(shè)置(例如,標(biāo)志位為O),這表明不存在到服務(wù)器的連接,則該副本立刻對該標(biāo)志位進行設(shè)置(例如將其設(shè)置為I)并且繼而與服務(wù)器建立連接。這樣,將標(biāo)志位設(shè)置為I的副本就通過競爭方式成為主副本。而其他副本在此之后讀取該標(biāo)志位時,它們將發(fā)現(xiàn)該標(biāo)志位已經(jīng)被設(shè)置,則它們知道已經(jīng)存在主副本,從而放棄與服務(wù)器建立連接的嘗試。應(yīng)該指出,上述競爭方式不限于設(shè)置標(biāo)志位的方式,也可以采用合適的其他方式。通過以上兩種方式順序方式和競爭方式,多個副本中的一個被確定為主副本,并且僅有該主副本建立了與服務(wù)器的連接。在另一實施方式中,本發(fā)明的方法還可以包括以下步驟如果所述主副本失去連接或被關(guān)閉,則將主副本之外的一個副本被確定為所述主副本,然后所述主副本與服務(wù)器建立連接。這是因為在某些情況下,諸如,用戶主動將主副本關(guān)閉,主副本可能失去連接或被關(guān)閉,則在多個副本中將不再存在已經(jīng)與服務(wù)器建立了連接的主副本。而多個副本必須依賴于該連接從服務(wù)器接收數(shù)據(jù),即,在任意時刻多個副本中必須維持一個到服務(wù)器的連接,所以需要重新確定一個主副本以與服務(wù)器重新建立連接。
在這種情況下,類似地,可以使用競爭方式,將多個副本中之前主副本之外的一個副本確定為王副本,然后該新的王副本將與服務(wù)器建立連接。在該實施方式中,在主副本失去連接或被關(guān)閉的情況中,可以基于競爭方式,例如主副本失去連接或被關(guān)閉時將標(biāo)志位設(shè)置為0,這時其他搶先將該標(biāo)志位設(shè)置為I的副本就被確定為主副本,繼而其與服務(wù)器建立連接。這樣,在多個副本中將總是存在一個與服務(wù)器建立了連接的主副本并且僅存在一個這樣的主副本。在主副本與服務(wù)器建立了連接之后,由于多個副本中僅有主副本具有與服務(wù)器的連接,所以其他副本將不能直接接收到來自于服務(wù)器的數(shù)據(jù)并且也無法直接將輸入的數(shù)據(jù)傳輸?shù)椒?wù)器。而且,在這種情況下,在包括主副本的任意副本上輸入的數(shù)據(jù)(諸如即時聊天程序中用戶的輸入)也無法同步出現(xiàn)在其他副本上,因此它們彼此之間無法同步,這對于Web應(yīng)用程序的用戶而言將造成迷惑。這樣,就需要在多個副本之間存在一個本地數(shù)據(jù)共享的區(qū)域。一般而言,因特網(wǎng)瀏覽器(包括但不限于IE瀏覽器、Firefox瀏覽器、ChiOme瀏覽器、Safari瀏覽器等)都在本地提供一個存儲數(shù)據(jù)的區(qū)域或文件,在此,我們將該存儲數(shù)據(jù)的共享區(qū)域或文件稱作本地存儲。通過該區(qū)域,多個副本之間可以通過讀寫該區(qū)域或文件而進行同步,即,將在主副本從服務(wù)器接收的數(shù)據(jù)和從任意副本輸入的數(shù)據(jù)同步地呈現(xiàn)在每個副本上。因此,在步驟S202中,將主副本從服務(wù)器接收的數(shù)據(jù)和來自于多個副本中任意副本的輸入數(shù)據(jù)存儲到本地存儲中。在該步驟中,針對各種瀏覽器,本地存儲包括但不限于以下形式C00kie形式、user data形式、local storage形式、flash形式等,甚至可以是用戶或系統(tǒng)在本地指定的一個存儲區(qū)域。在以上各種形式中,可以按照瀏覽器的類型來選用不同的本地存儲形式,也可以基于本地存儲的性能從多個本地存儲中優(yōu)選一個。本地存儲的性能包括但不限于容量、存取速度、兼容性、使用方便程度等。以常用的IE瀏覽器為例,其可以使用兩種本地存儲形式C00kie形式和userdata形式。在這兩個本地存儲形式中,cookie對于一般的應(yīng)用程序而言存儲空間過小,大約只有4K字節(jié)左右。而user data就大得多,可以達到64K字節(jié)。就這兩個本地存儲形式而言,很顯然,user data形式可以支持存儲更多的數(shù)據(jù),從而可以更好地應(yīng)付需要較大數(shù)據(jù)流量的Web應(yīng)用。因此,在針對IE瀏覽器使用本發(fā)明的過程中,可以優(yōu)選user data形式作為本地存儲來使用。當(dāng)然,對于不同的應(yīng)用環(huán)境或者不同瀏覽器而言,并非都有相應(yīng)的本地存儲可以使用。例如,有些非標(biāo)準(zhǔn)瀏覽器本身并沒有本地存儲區(qū)可以使用。在這種情況下,本發(fā)明利用瀏覽器的插件,例如flash形式來作為本地存儲進行使用。因為flash技術(shù)在網(wǎng)頁構(gòu)建等方面的廣泛使用,大部分應(yīng)用環(huán)境或瀏覽器都支持flash插件形式,即,大部分應(yīng)用環(huán)境或瀏覽器都兼容flash形式,所以使用flash作為本地存儲可以應(yīng)付大部分應(yīng)用環(huán)境或瀏
覽器 O因此,在不同的實施方式中,針對不同應(yīng)用環(huán)境或瀏覽器使用本發(fā)明時,如果存在多個本地存儲形式,則本發(fā)明的方法還可以包括基于本地存儲的性能從中優(yōu)選一個來使用的步驟。在步驟S202將數(shù)據(jù)存儲到本地存儲中之后,繼而在步驟S203中,將利用從本地存儲中獲得的數(shù)據(jù)來同步多個副本。這樣,多個副本就實現(xiàn)了同步,并且在同步過程中僅僅建立了一個到服務(wù)器的連接,這大大地降低了服務(wù)器的負(fù)荷。并且在該過程中,由于主副本也可以獲得了在其余副本上輸入的數(shù)據(jù),所以其必然可以將這些輸入數(shù)據(jù)傳輸?shù)椒?wù)器,就好像這些數(shù)據(jù)是在主副本上輸入的那樣。這樣,多個副本中的任意副本仍舊可以維持與服務(wù)器的雙向通信。 在步驟S203中,多個副本從本地存儲中獲得數(shù)據(jù)的方式根據(jù)瀏覽器對本地存儲的訪問機制可以是輪詢方式或觸發(fā)方式,諸如事件觸發(fā)方式。在輪詢方式中,多個副本以輪詢的方式來監(jiān)視本地存儲,一旦發(fā)現(xiàn)本地存儲中存入了新的數(shù)據(jù),就從本地存儲中獲得(讀取)該數(shù)據(jù)來更新自己。在所有副本使用輪詢方式獲得數(shù)據(jù)并進行更新之后,所有副本將呈現(xiàn)的相同的內(nèi)容,從而實現(xiàn)了多個副本的同步。使用輪詢方式在一些情況中可能造成系統(tǒng)的負(fù)荷上升至難以承受的程度,比如副本過多。在該情況下,很多副本對本地存儲的不斷輪詢將大量消耗系統(tǒng)資源。所以如果能在需要副本獲取數(shù)據(jù)時對其進行通知以使其在特定的時間獲取數(shù)據(jù),則可以更好地使用系統(tǒng)資源。事件觸發(fā)方式可以滿足這一需求。在觸發(fā)方式中,多個副本可以在受到觸發(fā)時才去讀取本地存儲的數(shù)據(jù)。例如,在主副本接收到服務(wù)器數(shù)據(jù)并且將這些數(shù)據(jù)存儲到本地存儲中時,可以觸發(fā)一個“存儲”事件。而其余副本通過監(jiān)聽該“存儲”事件而受到觸發(fā),從而在觸發(fā)后才去讀取主副本存入本地存儲的數(shù)據(jù)。同樣,諸如聊天程序中,當(dāng)用戶在多個副本中的任意副本上進行輸入時,接收輸入的副本將用戶輸入的數(shù)據(jù)存儲到本地存儲中,從而觸發(fā)“存儲”事件。這時,其余副本同樣可以由該“存儲”事件觸發(fā)而去獲得本地存儲中的輸入數(shù)據(jù),進而利用該數(shù)據(jù)更新自己。這種方式將大大降低對系統(tǒng)資源的消耗。在觸發(fā)事件中,觸發(fā)事件并非僅限于向本地存儲中存儲數(shù)據(jù),其還可以包括但不限于定時器到時、用戶輸入以及系統(tǒng)指令以及它們的組合。即,觸發(fā)方式中使用的觸發(fā)事件包括以下至少一個向本地存儲中存儲數(shù)據(jù)、定時器到時、用戶輸入以及系統(tǒng)指令。應(yīng)該指出,根據(jù)應(yīng)用環(huán)境和用戶的需要,可以將其他合適的任何事件指定為觸發(fā)事件以使副本去讀取本地存儲中的數(shù)據(jù)。例如,用戶可能希望在接收到多條數(shù)據(jù)或多個消息之后再同步多個副本,那么可以將數(shù)據(jù)或消息的數(shù)量作為觸發(fā)事件。S卩,將數(shù)據(jù)或消息的數(shù)量作為觸發(fā)事件。根據(jù)本發(fā)明的一個實施方式,其中的Web應(yīng)用程序可以是Web Comet應(yīng)用程序。在該實施方式中,為了實現(xiàn)本發(fā)明的方法,Web Comet應(yīng)用程序的多個副本中的主副本將可以與服務(wù)器建立Comet連接。而這類程序可以是基于Web的即時通訊應(yīng)用程序,也可以是諸如網(wǎng)絡(luò)直播應(yīng)用程序、股票交易行情分析、以及Web版在線游戲等基于Web的應(yīng)用程序。例如,在利用Comet技術(shù)的、基于Web的即時通訊應(yīng)用程序中,諸如在人人網(wǎng)網(wǎng)頁即時聊天程序程序中,用戶有可能打開該程序的多個副本,比如打開多個瀏覽器的示例或標(biāo)簽頁。利用本發(fā)明的方法,可以將該基于Web的即時通訊應(yīng)用程序的多個副本中的一個副本確定為主副本,其中只有主副本與該通訊程序的服務(wù)器建立連接;在主副本與服務(wù)器建立了連接之后,服務(wù)器有可能向該即時通訊程序推送數(shù)據(jù),比如其他聊天客戶發(fā)送消息等等。在聊天過程中,用戶有可能在該通訊程序的任意副本上輸入內(nèi)容。為了將服務(wù)器推送的數(shù)據(jù)和用戶輸入的數(shù)據(jù)同步到所有副本上,從而使所有副本上都即時呈現(xiàn)同樣的內(nèi)容,需要將所述主副本從服務(wù)器接收的數(shù)據(jù)和來自于多個副本中任意副本的輸入數(shù)據(jù)存儲到本地存儲中。最后利用從本地存儲中獲得的數(shù)據(jù)來同步多個副本。通過上述方法步驟,在用戶以多副本的方式使用此類Web即時聊天程序時,將會擁有很好的用戶體驗,即,各個副本都能夠同步地呈現(xiàn)相同的內(nèi)容并仍舊能夠維持與服務(wù)器的雙向通信。綜上所述,本發(fā)明的方法在用戶創(chuàng)建了同一 Web應(yīng)用程序的多個副本之后,僅建立ー個到服務(wù)器的連接就實現(xiàn)了多個副本之間的同歩。該方法在實現(xiàn)多個副本之間同步的同時,還大大減輕了服務(wù)器的負(fù)荷, 降低了服務(wù)器消耗的資源量,節(jié)省了帶寬的開銷,從而提高了服務(wù)器的使用效率,使之可以服務(wù)于更多的用戶。相對于現(xiàn)有技術(shù)中多個副本為了同步而分別與服務(wù)器建立連接的方式,本發(fā)明的方法無疑具有巨大的優(yōu)勢。應(yīng)該指出,本發(fā)明的方法可以實現(xiàn)在任何能夠使用Web應(yīng)用程序(諸如通過Web瀏覽器訪問網(wǎng)絡(luò))的設(shè)備中,這些設(shè)備包括但不限于個人計算機、筆記本計算機、平板計算機、移動蜂窩電話、移動手持設(shè)備、個人數(shù)字助理、家用電子設(shè)備等。并且本發(fā)明也不限于任何具體的瀏覽器和運行這些Web應(yīng)用程序的操作系統(tǒng)平臺。下面參考圖3,圖3是示意性地示出了可以實現(xiàn)本發(fā)明的設(shè)備的框圖。如圖3所示,根據(jù)本發(fā)明的一個實施方式,設(shè)備300可以包括確定裝置301,用于將多個副本中的ー個副本確定為主副本,其中只有主副本與服務(wù)器建立連接;存儲裝置302,用于將主副本從服務(wù)器接收的數(shù)據(jù)和來自于多個副本中任意副本的輸入數(shù)據(jù)存儲到本地存儲中;以及同步裝置303,用于利用從本地存儲中獲得的數(shù)據(jù)來同步多個副本。根據(jù)本發(fā)明的另ー實施方式,所述確定裝置301還可以用于如果主副本失去連接或被關(guān)閉則將主副本之外的ー個副本確定為主副本,然后主副本與服務(wù)器建立連接。根據(jù)本發(fā)明的又ー實施方式,設(shè)備300還可以包括選擇裝置,其可以用于基于本地存儲的性能從多個本地存儲中優(yōu)選ー個。下面結(jié)合圖4進ー步描述本發(fā)明中服務(wù)器、多個副本和本地存儲之間的關(guān)系。圖4是示意性地示出了本發(fā)明中同一 Web應(yīng)用程序的多個副本與服務(wù)器和本地存儲連接的圖
/Jn ο如圖4所示,可以通過采用競爭方式或順序方式將多個副本中的一個確定為主副本,繼而其與服務(wù)器建立連接,其余副本將放棄與服務(wù)器建立連接的嘗試。應(yīng)該理解,雖然圖4僅示出了三個副本的情況,但是,本發(fā)明可以用于副本數(shù)量不等于3的各種情況。與圖I中所示的現(xiàn)有技術(shù)相比較,很明顯,根據(jù)本發(fā)明實施方式的、圖4所示的情況大大減少了與服務(wù)器建立的連接數(shù)量,這必然有助于減輕服務(wù)器的負(fù)荷。在該情況中,包括主副本在內(nèi)的多個副本將通過讀寫本地存儲的方式來進行同步,即,每個副本都可以從本地存儲中讀取數(shù)據(jù)并且也可以向本地存儲中寫入數(shù)據(jù)。換言之,在每個副本和本地存儲之間存在讀寫雙向操作。本地存儲中的數(shù)據(jù)來源分為兩部分,一部分?jǐn)?shù)據(jù)是來自于主副本通過唯一的連接從服務(wù)器接收的數(shù)據(jù),即,服務(wù)器的數(shù)據(jù)唯一地來自于主副本;另一部分?jǐn)?shù)據(jù)則來自于從包括主副本在內(nèi)的多個副本上輸入的數(shù)據(jù),其中在任意副本上輸入的數(shù)據(jù)也將通過主副本傳輸?shù)椒?wù)器。雖然多個副本中僅存在到服務(wù)器的唯一連接,但是所有副本通過本地存儲依然可以實現(xiàn)彼此之間的同步以及與服務(wù)器的雙向通信。
盡管本說明書包含多種特定細節(jié),但是不應(yīng)將其理解為是對本發(fā)明的范圍或者所要求保護內(nèi)容的限制,而應(yīng)當(dāng)理解為是本發(fā)明具體實施方式
的特定特征的描述。本說明書中描述的在各個實施方式的上下文中的某些特征也可以在單個實施方式中結(jié)合實現(xiàn)。相反,在單個實施方式上下文中描述的各種特征也可以分別實現(xiàn)在多個實施方式中或者任意適當(dāng)?shù)淖咏M合中。而且,盡管上文可能將特征描述為在特定的組合中操作,甚至初始也是這樣要求保護的,但是來自所要求保護的組合的一個或多個特征在一些情況下可以從該組合中去除,并且所要求保護的組合可以針對子組合或組合的變形。類似地,盡管在附圖中以特定的順序描 述操作,但是不應(yīng)將其理解為要求按照所示的特定順序或是串行順序來執(zhí)行這些操作,或是要求執(zhí)行全部所示的操作以得到期望的結(jié)果。在特定環(huán)境中,多任務(wù)和并行處理可能是有利的。
權(quán)利要求
1.一種同步同一 Web應(yīng)用程序的多個副本的方法,包括 將所述多個副本中的一個副本確定為主副本,其中只有主副本與服務(wù)器建立連接; 將所述主副本從所述服務(wù)器接收的數(shù)據(jù)和來自于所述多個副本中任意副本的輸入數(shù)據(jù)存儲到所述本地存儲中;以及 利用從所述本地存儲中獲得的所述數(shù)據(jù)來同步所述多個副本。
2.根據(jù)權(quán)利要求I所述的方法,進一步包括如果所述主副本失去連接或被關(guān)閉,則將所述主副本之外的一個副本被確定為所述主副本,然后所述主副本與服務(wù)器建立連接。
3.根據(jù)權(quán)利要求I或2所述的方法,進一步包括基于所述本地存儲的性能從多個本地存儲中優(yōu)選一個。
4.根據(jù)權(quán)利要求I或2所述的方法,其中所述Web應(yīng)用程序是WebComet應(yīng)用程序。
5.根據(jù)權(quán)利要求4所述的方法,其中建立的所述連接是Comet連接。
6.根據(jù)權(quán)利要求5所述的方法,其中所述Web應(yīng)用程序是基于Web的即時通訊應(yīng)用程序。
7.根據(jù)權(quán)利要求I或2所述的方法,其中所述確定基于競爭方式或順序方式。
8.根據(jù)權(quán)利要求I或2所述的方法,其中從所述本地存儲中獲得所述數(shù)據(jù)的方式是輪詢方式或觸發(fā)方式。
9.根據(jù)權(quán)利要求8所述的方法,其中所述觸發(fā)方式中使用的觸發(fā)事件包括以下至少一個向所述本地存儲中存儲數(shù)據(jù)、定時器到時、用戶輸入以及系統(tǒng)指令。
10.根據(jù)權(quán)利要求I或2所述的方法,其中所述副本是其中運行有所述Web應(yīng)用程序的瀏覽器的多個實例或標(biāo)簽頁。
11.一種同步同一 Web應(yīng)用程序的多個副本的設(shè)備,包括 確定裝置,用于將所述多個副本中的一個副本被確定為主副本,其中只有主副本與服務(wù)器建立連接; 存儲裝置,用于將所述主副本從所述服務(wù)器接收的數(shù)據(jù)和來自于所述多個副本中任意副本的輸入數(shù)據(jù)存儲到所述本地存儲中;以及 同步裝置,用于利用從所述本地存儲中獲得的所述數(shù)據(jù)來同步所述多個副本。
12.根據(jù)權(quán)利要求11所述的設(shè)備,所述確定裝置還用于如果所述主副本失去連接或被關(guān)閉則將所述主副本之外的一個副本確定為所述主副本,然后所述主副本與服務(wù)器建立連接。
13.根據(jù)權(quán)利要求11或12所述的設(shè)備,進一步包括選擇裝置,用于基于所述本地存儲的性能從多個本地存儲中優(yōu)選一個。
14.根據(jù)權(quán)利要求11或12所述的設(shè)備,其中所述Web應(yīng)用程序是WebComet應(yīng)用程序。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中建立的所述連接是Comet連接。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中所述Web應(yīng)用程序是基于Web的即時通訊應(yīng)用程序。
17.根據(jù)權(quán)利要求11或12所述的設(shè)備,其中所述確定基于競爭方式或順序方式。
18.根據(jù)權(quán)利要求11或12所述的設(shè)備,其中從所述本地存儲中獲得所述數(shù)據(jù)的方式是輪詢方式或觸發(fā)方式。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中所述觸發(fā)方式中使用的觸發(fā)事件包括以下至少一個向所述本地存儲中存儲數(shù)據(jù)、定時器到時、用戶輸入以及系統(tǒng)指令。
20.根據(jù)權(quán)利要求11或12所述的設(shè)備,其中所述副本是其中運行有所述Web應(yīng)用程序的瀏覽器的多個實例或標(biāo)簽頁。
全文摘要
本發(fā)明公開了一種同步同一Web應(yīng)用程序的多個副本的方法和設(shè)備。同步同一Web應(yīng)用程序的多個副本的方法包括將所述多個副本中的一個副本確定為主副本,其中只有主副本與服務(wù)器建立連接;將所述主副本從所述服務(wù)器接收的數(shù)據(jù)和來自于所述多個副本中任意副本的輸入數(shù)據(jù)存儲到所述本地存儲中;以及利用從所述本地存儲中獲得的所述數(shù)據(jù)來同步所述多個副本。
文檔編號H04L29/08GK102624764SQ20111003516
公開日2012年8月1日 申請日期2011年1月30日 優(yōu)先權(quán)日2011年1月30日
發(fā)明者林惠華 申請人:北京千橡網(wǎng)景科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1