背景
客戶(hù)端計(jì)算裝置可以通過(guò)網(wǎng)絡(luò)從一個(gè)或多個(gè)服務(wù)器請(qǐng)求諸如網(wǎng)頁(yè)的數(shù)據(jù)文件。從服務(wù)器接收頁(yè)面或其它文件的客戶(hù)端計(jì)算裝置可以將這樣的頁(yè)面或其它文件存儲(chǔ)在本地。數(shù)據(jù)文件的本地存儲(chǔ)拷貝可以被呈現(xiàn)以便將來(lái)從本地存儲(chǔ)區(qū)再次顯示,而無(wú)需對(duì)服務(wù)器發(fā)送第二請(qǐng)求,并且無(wú)需第二次向服務(wù)器請(qǐng)求數(shù)據(jù)文件。例如,客戶(hù)端計(jì)算裝置可以從服務(wù)器接收諸如超文本標(biāo)記語(yǔ)言(“html”)頁(yè)面的頁(yè)面,這包括對(duì)將被作為處理html頁(yè)面的部分而獲得的一個(gè)或多個(gè)數(shù)據(jù)文件的引用??蛻?hù)端計(jì)算裝置然后可以向適當(dāng)?shù)姆?wù)器請(qǐng)求一個(gè)或多個(gè)數(shù)據(jù)文件并且處理被請(qǐng)求的數(shù)據(jù)文件以便顯示。此外,客戶(hù)端計(jì)算裝置可以將被請(qǐng)求的數(shù)據(jù)文件中的一個(gè)或多個(gè)存儲(chǔ)在客戶(hù)端計(jì)算裝置的本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中或客戶(hù)端計(jì)算裝置可訪問(wèn)的數(shù)據(jù)存儲(chǔ)區(qū)中。一個(gè)或多個(gè)數(shù)據(jù)文件的這些本地存儲(chǔ)的拷貝然后可以在隨后被請(qǐng)求的頁(yè)面中使用,隨后被請(qǐng)求的頁(yè)面包括對(duì)相同的數(shù)據(jù)文件的引用。
以這種方式,數(shù)據(jù)文件的本地保存促進(jìn)對(duì)服務(wù)器發(fā)出請(qǐng)求以便獲得數(shù)據(jù)文件的請(qǐng)求次數(shù)的下降。然而,如果需要對(duì)本地存儲(chǔ)的數(shù)據(jù)文件的改變,諸如包括與數(shù)據(jù)文件相關(guān)聯(lián)的事務(wù)和互動(dòng)數(shù)據(jù),則客戶(hù)端計(jì)算裝置通常必須重新連接到服務(wù)器以接收更新版本的數(shù)據(jù)文件或利用未更新版本的數(shù)據(jù)文件。
附圖簡(jiǎn)述
由于通過(guò)參照當(dāng)結(jié)合附圖所作的下列詳細(xì)描述,前述方面和許多伴隨的優(yōu)勢(shì)變得更好理解,故它們將變得更加容易領(lǐng)悟,在附圖中:
圖1描繪說(shuō)明性操作環(huán)境,其中,客戶(hù)端計(jì)算裝置可以向服務(wù)器請(qǐng)求一個(gè)或多個(gè)數(shù)據(jù)文件,并且可以將接收的數(shù)據(jù)文件中的一個(gè)或多個(gè)的部分存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中。
圖2a是圖示圖1的操作環(huán)境內(nèi)向服務(wù)器請(qǐng)求第一數(shù)據(jù)文件、并且將第一數(shù)據(jù)文件、腳本和事務(wù)數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中的客戶(hù)端計(jì)算裝置的框圖。
圖2b是圖示圖1的操作環(huán)境內(nèi)將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器以及從服務(wù)器接收第二數(shù)據(jù)文件的客戶(hù)端計(jì)算裝置的框圖。
圖3描繪用于向服務(wù)器請(qǐng)求數(shù)據(jù)文件和用于將數(shù)據(jù)文件、腳本和事務(wù)數(shù)據(jù)存儲(chǔ)到本地?cái)?shù)據(jù)存儲(chǔ)區(qū)的客戶(hù)端計(jì)算裝置的大體架構(gòu)。
圖4是由客戶(hù)端計(jì)算裝置實(shí)施的說(shuō)明性事務(wù)數(shù)據(jù)處理例程的流程圖。
詳細(xì)描述
本公開(kāi)的大體描述的方面涉及用于收集與從服務(wù)器接收的和由客戶(hù)端計(jì)算裝置在本地存儲(chǔ)的數(shù)據(jù)文件相關(guān)聯(lián)的事務(wù)數(shù)據(jù)的系統(tǒng)和方法,使得客戶(hù)端計(jì)算裝置可以通過(guò)在本地收集事務(wù)數(shù)據(jù)對(duì)數(shù)據(jù)文件做出改變,而無(wú)需立即重新連接到服務(wù)器。如上所論述的,現(xiàn)有系統(tǒng)可以使得客戶(hù)端計(jì)算裝置能夠存儲(chǔ)數(shù)據(jù)文件的本地拷貝。另外,在現(xiàn)有系統(tǒng)中,在客戶(hù)端計(jì)算裝置未連接到服務(wù)器的情況下,數(shù)據(jù)文件的本地存儲(chǔ)的拷貝不能被管理。例如,與數(shù)據(jù)文件相關(guān)聯(lián)的事務(wù)數(shù)據(jù)在不連接到服務(wù)器的情況下不能被更新。最終,在本地保存的數(shù)據(jù)文件與期滿(mǎn)數(shù)據(jù)相關(guān)聯(lián),所述期滿(mǎn)數(shù)據(jù)促使客戶(hù)端計(jì)算裝置將本地保存的版本考慮為過(guò)時(shí)的或不再有效的。對(duì)于在性質(zhì)上可能遭受改變或易失的數(shù)據(jù)文件,這樣的數(shù)據(jù)文件通常與通常使得經(jīng)網(wǎng)絡(luò)重新連接到服務(wù)器成為必需的短期滿(mǎn)數(shù)據(jù)相關(guān)聯(lián)。然而,這樣的方法當(dāng)與現(xiàn)有系統(tǒng)一起使用時(shí)的缺點(diǎn)是,對(duì)數(shù)據(jù)文件的改變通常不可由客戶(hù)端計(jì)算裝置做出直至網(wǎng)絡(luò)連接被建立為止。
本公開(kāi)的方面使得數(shù)據(jù)文件能夠包括以使到服務(wù)器的連接請(qǐng)求最小化的方式改變,同時(shí)也使得數(shù)據(jù)文件的一個(gè)或多個(gè)部分能夠由客戶(hù)端計(jì)算裝置單獨(dú)地存儲(chǔ)為本地拷貝,使得一個(gè)或多個(gè)部分可以由客戶(hù)端計(jì)算裝置管理。
在某些實(shí)施方案中,如本文所公開(kāi)的服務(wù)器可以接收來(lái)自客戶(hù)系統(tǒng)對(duì)數(shù)據(jù)文件的請(qǐng)求。響應(yīng)于請(qǐng)求,服務(wù)器可以向客戶(hù)端系統(tǒng)發(fā)送數(shù)據(jù)文件。發(fā)送至客戶(hù)端系統(tǒng)的響應(yīng)也可以包括使得客戶(hù)端系統(tǒng)能夠管理數(shù)據(jù)文件的腳本。從服務(wù)器發(fā)送的腳本可以包括執(zhí)行多個(gè)功能的可執(zhí)行代碼。在一方面中,可執(zhí)行代碼可以使得客戶(hù)端系統(tǒng)能夠驗(yàn)證客戶(hù)端系統(tǒng)和服務(wù)器之間的網(wǎng)絡(luò)連接的可用性。在另一個(gè)方面中,可執(zhí)行代碼可以使得客戶(hù)端系統(tǒng)能夠收集和處理與數(shù)據(jù)文件相關(guān)聯(lián)的事務(wù)數(shù)據(jù)。在又一個(gè)方面中,可執(zhí)行代碼可以實(shí)現(xiàn)客戶(hù)端系統(tǒng)和服務(wù)器之間的事務(wù)數(shù)據(jù)的同步化。在網(wǎng)絡(luò)連接可用之后,服務(wù)器可以從客戶(hù)端系統(tǒng)接收對(duì)數(shù)據(jù)文件的改變,并且由此創(chuàng)建包括由客戶(hù)端系統(tǒng)收集和處理的改變的更新版本的數(shù)據(jù)文件。
圖1描繪說(shuō)明性操作環(huán)境100,其中,客戶(hù)端計(jì)算裝置102可以向服務(wù)器120請(qǐng)求一個(gè)或多個(gè)數(shù)據(jù)文件,并且然后可以將接收的數(shù)據(jù)文件中的一個(gè)或多個(gè)的部分本地存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112中。描繪的環(huán)境100包括由諸如因特網(wǎng)的網(wǎng)絡(luò)108通信地連接的客戶(hù)端計(jì)算裝置102和服務(wù)器120。本領(lǐng)域的那些技術(shù)人員將意識(shí)到,客戶(hù)端計(jì)算裝置102可以是能夠通過(guò)網(wǎng)絡(luò)通信的若干計(jì)算裝置,包括但不限于膝上型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、平板計(jì)算機(jī)、電子書(shū)閱讀器、個(gè)人數(shù)字助理(pda)、混合pda/移動(dòng)電話(huà)、移動(dòng)電話(huà)、等等。在一些實(shí)施方案中,客戶(hù)端計(jì)算裝置102可以包括類(lèi)似于下文相對(duì)于服務(wù)器120所描述的那些計(jì)算機(jī)硬件和軟件部件的計(jì)算機(jī)硬件和軟件部件。
如圖1中進(jìn)一步圖示的,服務(wù)器120包括通用數(shù)據(jù)存儲(chǔ)區(qū)122或與通用數(shù)據(jù)存儲(chǔ)區(qū)122通信。通用數(shù)據(jù)存儲(chǔ)區(qū)122可以包括一個(gè)或多個(gè)類(lèi)型的數(shù)據(jù)文件,包括但不限于視頻文件、音頻文件頁(yè)面等等。本領(lǐng)域的那些技術(shù)人員將領(lǐng)悟,通用數(shù)據(jù)存儲(chǔ)區(qū)122對(duì)于服務(wù)器120而言可以是本地的、對(duì)于服務(wù)器120而言可以是遠(yuǎn)程的和/或本身可以是基于網(wǎng)絡(luò)的服務(wù)。
如圖示的,客戶(hù)端計(jì)算裝置102包括本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112或與本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112通信。本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112可以包括已經(jīng)由客戶(hù)端計(jì)算裝置102從服務(wù)器120接收的一個(gè)或多個(gè)數(shù)據(jù)文件的共享部分,并且可以包括對(duì)一個(gè)或多個(gè)數(shù)據(jù)文件的改變。在一些實(shí)施方案中,改變可以包括記錄在客戶(hù)端計(jì)算裝置102上的事務(wù)數(shù)據(jù)。本領(lǐng)域的那些技術(shù)人員將領(lǐng)悟,網(wǎng)絡(luò)108可以是任意有線網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)或其組合。此外,網(wǎng)絡(luò)108可以是個(gè)人區(qū)域網(wǎng)、局域網(wǎng)、廣域網(wǎng)、電纜網(wǎng)絡(luò)、衛(wèi)星網(wǎng)、蜂窩電話(huà)網(wǎng)等或其組合。用于經(jīng)因特網(wǎng)或其它上述類(lèi)型的通信網(wǎng)絡(luò)中的任一進(jìn)行通信的協(xié)議和部件已為計(jì)算機(jī)通信領(lǐng)域的那些技術(shù)人員所熟知,并且因此,不必在本文中更詳細(xì)地描述。
圖2a是圖示圖1的操作環(huán)境100內(nèi)的客戶(hù)端計(jì)算裝置102的框圖。如圖2a中所示,客戶(hù)端計(jì)算裝置102從服務(wù)器120請(qǐng)求第一數(shù)據(jù)文件。客戶(hù)端計(jì)算裝置102也將數(shù)據(jù)文件、腳本和事務(wù)數(shù)據(jù)存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112中。出于該示例的目的,“第一數(shù)據(jù)文件”是指在對(duì)由客戶(hù)端計(jì)算裝置102收集和處理的第一數(shù)據(jù)文件的任意改變之前并且在被存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112中之前由客戶(hù)端計(jì)算裝置102請(qǐng)求并接收的第一數(shù)據(jù)文件。如圖示的,客戶(hù)端計(jì)算裝置102將第一數(shù)據(jù)文件請(qǐng)求發(fā)送至服務(wù)器120。出于說(shuō)明性目的,第一數(shù)據(jù)文件請(qǐng)求可以是對(duì)頁(yè)面的請(qǐng)求。頁(yè)面可以包括諸如html代碼的代碼以及其它文本、到其它數(shù)據(jù)文件的鏈路或其它可執(zhí)行代碼。例如,由于由安裝在客戶(hù)端計(jì)算裝置102上的網(wǎng)絡(luò)瀏覽器產(chǎn)生的頁(yè)面請(qǐng)求,故客戶(hù)端計(jì)算裝置102可以發(fā)送第一數(shù)據(jù)文件請(qǐng)求。
一旦服務(wù)器120接收第一數(shù)據(jù)文件請(qǐng)求,服務(wù)器120就可以從通用數(shù)據(jù)存儲(chǔ)區(qū)122檢索第一被請(qǐng)求的數(shù)據(jù)文件。服務(wù)器120然后可以將第一被請(qǐng)求的數(shù)據(jù)文件發(fā)送至客戶(hù)端計(jì)算裝置102。發(fā)送至客戶(hù)端計(jì)算裝置102的響應(yīng)也可以包括代表客戶(hù)端計(jì)算裝置管理由客戶(hù)端計(jì)算裝置提供的附加功能的可執(zhí)行代碼。在—個(gè)方面中,可執(zhí)行代碼可以使得客戶(hù)端計(jì)算裝置102能夠驗(yàn)證在客戶(hù)端計(jì)算裝置102和服務(wù)器之間的網(wǎng)絡(luò)連接的可用性。在另一個(gè)方面中,可執(zhí)行代碼可以使得客戶(hù)端計(jì)算裝置102能夠收集和處理與數(shù)據(jù)文件相關(guān)聯(lián)的事務(wù)數(shù)據(jù)。在又一個(gè)方面中,可執(zhí)行代碼可以實(shí)現(xiàn)客戶(hù)端計(jì)算裝置102和服務(wù)器120之間的事務(wù)數(shù)據(jù)的同步化。
用作說(shuō)明地,腳本可以包括能夠獨(dú)立于在客戶(hù)端計(jì)算裝置102上運(yùn)行的任意其它應(yīng)用和/或操作系統(tǒng)的可執(zhí)行代碼??蓤?zhí)行代碼可以是促進(jìn)客戶(hù)端計(jì)算裝置102的管理的java腳本文件。例如,當(dāng)用戶(hù)在客戶(hù)端計(jì)算裝置102的本地用戶(hù)接口上工作時(shí),在客戶(hù)端計(jì)算裝置102上的java腳本文件可以使得在客戶(hù)端計(jì)算裝置102上輸入的事務(wù)數(shù)據(jù)與所接收的第一數(shù)據(jù)文件能夠集成。java腳本文件也使得能夠在客戶(hù)端計(jì)算裝置102上提供用戶(hù)接口,該用戶(hù)接口在連接到或不連接到遠(yuǎn)程服務(wù)器的情況下支持用戶(hù)。對(duì)客戶(hù)端計(jì)算裝置102的管理也可以包括:使用java腳本文件來(lái)確定是否存在與服務(wù)器120的網(wǎng)絡(luò)連接以及使得客戶(hù)端計(jì)算裝置102能夠在每當(dāng)客戶(hù)端計(jì)算裝置102和服務(wù)器120之間再次建立網(wǎng)絡(luò)連接時(shí)將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器120。事務(wù)數(shù)據(jù)可以針對(duì)在客戶(hù)端計(jì)算裝置102上執(zhí)行的各事務(wù)進(jìn)行發(fā)送。事務(wù)數(shù)據(jù)也可以定期地從客戶(hù)端計(jì)算裝置102被發(fā)送至服務(wù)器120,獨(dú)立于所執(zhí)行的事務(wù)。
當(dāng)客戶(hù)端計(jì)算裝置102從服務(wù)器120接收第一數(shù)據(jù)文件時(shí),客戶(hù)端計(jì)算裝置102可以諸如通過(guò)將圖形圖像渲染在用戶(hù)接口上來(lái)處理第一數(shù)據(jù)文件。例如,如果第一數(shù)據(jù)文件是可以被顯示的頁(yè)面、視頻或其它文件,則客戶(hù)端計(jì)算裝置可以呈現(xiàn)第一數(shù)據(jù)文件以便顯示。如果第一數(shù)據(jù)文件包括音頻數(shù)據(jù),則客戶(hù)端計(jì)算裝置可以促使對(duì)音頻數(shù)據(jù)的回放。如果第一數(shù)據(jù)文件包括對(duì)附加數(shù)據(jù)文件的嵌入引用,諸如圖像、包含附加代碼的文件、視頻等等,則客戶(hù)端計(jì)算裝置102可以從服務(wù)器120和/或一個(gè)或多個(gè)附加服務(wù)器(未圖示)請(qǐng)求附加數(shù)據(jù)文件??蛇x地包括與頁(yè)面相關(guān)聯(lián)的或由頁(yè)面引用的附加數(shù)據(jù)文件的頁(yè)面內(nèi)容可以被呈現(xiàn)以便顯示例如作為經(jīng)導(dǎo)航接口(諸如安裝在客戶(hù)端計(jì)算裝置102上的網(wǎng)絡(luò)瀏覽器)顯示的用戶(hù)接口。
如上所論述的,客戶(hù)端計(jì)算裝置102可以將對(duì)第一數(shù)據(jù)文件做出的任意改變存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112中,任意改變?nèi)缢甘镜脑诳蛻?hù)端計(jì)算裝置上的事務(wù)數(shù)據(jù)輸入。例如,第一數(shù)據(jù)文件可以是與將貨物交付給客戶(hù)相關(guān)聯(lián)的文件。客戶(hù)端計(jì)算裝置102可以是由交付合伙人(associate)使用的手持裝置。交付合伙人可能希望輸入與將貨物交付給客戶(hù)的嘗試相關(guān)聯(lián)的事務(wù)數(shù)據(jù)。合伙人使貨物到達(dá)客戶(hù)的嘗試失敗以及貨物的成功交付各自可以是在不連接到服務(wù)器的情況下由交付合伙人在手持裝置上輸入的事務(wù)數(shù)據(jù)的示例。
在一些實(shí)施方案中,第一數(shù)據(jù)文件可以與短期滿(mǎn)數(shù)據(jù)相關(guān)聯(lián)。在這樣的情況下,對(duì)第一數(shù)據(jù)文件所作的連續(xù)的改變可以重寫(xiě)先前對(duì)數(shù)據(jù)文件所作的并且存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112上的改變。在上文的示例中,貨物的成功交付可以重寫(xiě)先前記錄的失敗嘗試?;蛘撸瑢?duì)第一數(shù)據(jù)文件所作的所有改變可以連同相關(guān)聯(lián)的序列標(biāo)識(shí)符被存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112上,并且在重新連接之后,僅最新的改變可以被傳輸至服務(wù)器120。在上述示例中,失敗的嘗試將被存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112上,而成功的交付細(xì)節(jié)在重新連接之后將被轉(zhuǎn)移至服務(wù)器。在其它實(shí)施方案中,所作的所有改變連同相關(guān)聯(lián)的序列標(biāo)識(shí)符可以被傳輸至服務(wù)器120。在上述示例中,所有失敗和成功嘗試的細(xì)節(jié)將被轉(zhuǎn)移至服務(wù)器。在各實(shí)施方案中,腳本可以與期滿(mǎn)準(zhǔn)則相關(guān)聯(lián)。在一些方面中,期滿(mǎn)準(zhǔn)則可以是基于與腳本相關(guān)聯(lián)的版本標(biāo)識(shí)符。版本標(biāo)識(shí)符可以包括版本號(hào)、時(shí)間標(biāo)記等等。類(lèi)似地,將哪個(gè)數(shù)據(jù)傳輸至服務(wù)器120的決策可以基于期滿(mǎn)準(zhǔn)則。期滿(mǎn)準(zhǔn)則可以包括時(shí)間段。期滿(mǎn)準(zhǔn)則也可以包括對(duì)數(shù)據(jù)文件所作的連續(xù)改變的閾值數(shù)量。
在一些實(shí)施方案中,被包括在從服務(wù)器120接收的第一數(shù)據(jù)文件中(或在從服務(wù)器120接收的附加數(shù)據(jù)文件中)的諸如javascript的代碼可以由客戶(hù)端計(jì)算裝置102執(zhí)行以便管理客戶(hù)端計(jì)算裝置,包括輸入這樣的事務(wù)數(shù)據(jù)。存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中的信息可以包括例如腳本連同在客戶(hù)端計(jì)算裝置102處記錄的事務(wù)數(shù)據(jù)。
圖2b是圖示圖1的操作環(huán)境100內(nèi)將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器120以及從服務(wù)器120接收第二數(shù)據(jù)文件的客戶(hù)端計(jì)算裝置102的框圖。為了該示例的目的,“第二數(shù)據(jù)文件”是指在事務(wù)數(shù)據(jù)已經(jīng)被發(fā)送至服務(wù)器120之后由客戶(hù)端計(jì)算裝置102接收的數(shù)據(jù)文件。例如,第二數(shù)據(jù)文件可以包括先前發(fā)送到客戶(hù)端計(jì)算裝置102的第一數(shù)據(jù)文件和由客戶(hù)端計(jì)算裝置102發(fā)送的事務(wù)數(shù)據(jù)兩者。如圖示的,圖2b中所描繪的框在圖2a中的框已經(jīng)發(fā)生之后發(fā)生,但是在上文相對(duì)于圖2a所描述的正在接收第一數(shù)據(jù)文件和下文相對(duì)于圖2b所描述的正在接收第二數(shù)據(jù)文件之間可能已經(jīng)由客戶(hù)端計(jì)算裝置102接收其它數(shù)據(jù)文件(未示出)。
如圖2b中所圖示,在使用腳本來(lái)確定網(wǎng)絡(luò)連接存在之后,客戶(hù)端計(jì)算裝置102將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器120。出于說(shuō)明性目的,事務(wù)數(shù)據(jù)可以是在客戶(hù)端計(jì)算裝置102上記錄的與所執(zhí)行的事務(wù)有關(guān)的信息,如上所論述的。所執(zhí)行的事務(wù)可以是交付,并且事務(wù)數(shù)據(jù)可以包括交付細(xì)節(jié)。一旦在客戶(hù)端計(jì)算裝置102和服務(wù)器120之間建立網(wǎng)絡(luò)連接,服務(wù)器120就可以接收事務(wù)數(shù)據(jù)并且可以將事務(wù)數(shù)據(jù)與來(lái)自通用數(shù)據(jù)存儲(chǔ)區(qū)122的一個(gè)或多個(gè)數(shù)據(jù)文件合并。
服務(wù)器120可以將第二數(shù)據(jù)文件發(fā)送至客戶(hù)端計(jì)算裝置102。如將領(lǐng)悟的,不必要的是,服務(wù)器120實(shí)際上存儲(chǔ)已修改的第二數(shù)據(jù)文件。例如,在一些實(shí)施方案中,由于已修改的第二數(shù)據(jù)文件由服務(wù)器120構(gòu)建,故它可以被發(fā)送至客戶(hù)端計(jì)算裝置102。
當(dāng)客戶(hù)端計(jì)算裝置102從服務(wù)器120接收已修改的第二數(shù)據(jù)文件時(shí),客戶(hù)端計(jì)算裝置102可以從本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112檢索被包括在第一數(shù)據(jù)文件中的或與第一數(shù)據(jù)文件一起被包括的腳本。視情況,對(duì)于給定的數(shù)據(jù)文件類(lèi)型,客戶(hù)端計(jì)算裝置102然后可以呈現(xiàn)第二數(shù)據(jù)文件的內(nèi)容(如根據(jù)已修改的第一數(shù)據(jù)文件的內(nèi)容確定的)以便顯示、回放等等??蛻?hù)端計(jì)算裝置102然后可以將附加事務(wù)數(shù)據(jù)記錄在使用腳本加載的已修改的第二數(shù)據(jù)文件上。這樣的事務(wù)數(shù)據(jù)可以在本地被存儲(chǔ)在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112上,直至與服務(wù)器120再次建立網(wǎng)絡(luò)連接為止。
圖3描繪用于向服務(wù)器120請(qǐng)求數(shù)據(jù)文件和用于將數(shù)據(jù)文件、腳本和事務(wù)數(shù)據(jù)存儲(chǔ)到本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112的客戶(hù)端計(jì)算裝置102的大體架構(gòu)。圖3中所描繪的客戶(hù)端計(jì)算裝置102的實(shí)施方案包括可以被用來(lái)實(shí)施本公開(kāi)的方面的計(jì)算機(jī)硬件和軟件部件的布置。本領(lǐng)域的那些技術(shù)人員將領(lǐng)悟,客戶(hù)端計(jì)算裝置102可以包括比圖3中所示的那些部件更多的(或更少的)部件。然而,不必示出所有這些通常常規(guī)的部件以便提供可實(shí)施性公開(kāi)。如圖3中所示,客戶(hù)端計(jì)算裝置102包括處理單元304、網(wǎng)絡(luò)接口306、計(jì)算機(jī)可讀介質(zhì)驅(qū)動(dòng)器307和輸入/輸出裝置接口320,所有這些可以借助通信總線相互通信。如圖示的,客戶(hù)端計(jì)算裝置102可選地與顯示器302和輸入裝置324相關(guān)聯(lián)或通信。網(wǎng)絡(luò)接口306可以為客戶(hù)端計(jì)算裝置102提供到一個(gè)或多個(gè)網(wǎng)絡(luò)或計(jì)算系統(tǒng)的連接性。處理單元304可以因此經(jīng)網(wǎng)絡(luò)從其它計(jì)算系統(tǒng)或服務(wù)接收信息和指令。處理單元304也可以與存儲(chǔ)器310往返通信并且經(jīng)輸入/輸出裝置接口320進(jìn)一步為可選顯示器302提供輸出信息。輸入/輸出裝置接口320可以接受來(lái)自諸如鍵盤(pán)、鼠標(biāo)、數(shù)字筆、觸摸屏的可選輸入裝置324的輸入或經(jīng)動(dòng)作捕捉記錄的手勢(shì)。
存儲(chǔ)器310包含計(jì)算機(jī)程序指令,處理單元304執(zhí)行所述計(jì)算機(jī)程序指令以便實(shí)施本公開(kāi)的一個(gè)或多個(gè)實(shí)施方案。存儲(chǔ)器310大體包括ram、rom和/或其它永久或非暫態(tài)存儲(chǔ)器。存儲(chǔ)器310可以存儲(chǔ)操作系統(tǒng)314,該操作系統(tǒng)314提供計(jì)算機(jī)程序指令以便由處理單元304在客戶(hù)端計(jì)算裝置102的一般管理和操作中使用。存儲(chǔ)器310可以進(jìn)一步包括用于實(shí)施本公開(kāi)的方面的其它信息。例如,在一個(gè)實(shí)施方案中,存儲(chǔ)器310包括用戶(hù)接口模塊312,該用戶(hù)接口模塊312促進(jìn)用戶(hù)接口的產(chǎn)生(諸如通過(guò)為用戶(hù)接口模塊提供指令)以便顯示在計(jì)算裝置上。例如,用戶(hù)接口可以經(jīng)導(dǎo)航接口(諸如安裝在計(jì)算裝置102上的網(wǎng)絡(luò)瀏覽器)來(lái)顯示。此外,存儲(chǔ)器310可以包括上文所論述的本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112或與本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112通信。
除了用戶(hù)接口模塊312之外,存儲(chǔ)器310可以包括可以由處理單元304執(zhí)行的本地存儲(chǔ)模塊325。在一個(gè)實(shí)施方案中,本地存儲(chǔ)模塊325可以被用來(lái)實(shí)施本公開(kāi)的各種方面,諸如比較一個(gè)或多個(gè)數(shù)據(jù)文件以識(shí)別可能已經(jīng)由客戶(hù)端計(jì)算裝置存儲(chǔ)在本地的事務(wù)數(shù)據(jù),如下文進(jìn)一步描述的。在本公開(kāi)的某些實(shí)施方案中,服務(wù)器120可以包括類(lèi)似于被圖示為客戶(hù)端計(jì)算裝置102的部分的部件工作的若干部件,包括用戶(hù)接口模塊,處理單元、計(jì)算機(jī)可讀介質(zhì)驅(qū)動(dòng)器等等。
圖4是由客戶(hù)端計(jì)算裝置102實(shí)施以使本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112和服務(wù)器120之間的數(shù)據(jù)文件和事務(wù)數(shù)據(jù)同步的說(shuō)明性方法400的流程圖。說(shuō)明性方法400可以至少部分地由高速緩存模塊325實(shí)施。雖然方法400使用單個(gè)數(shù)據(jù)文件或分組數(shù)據(jù)文件的示例來(lái)圖示,但是在一些實(shí)施方案中,圖示的方法可以針對(duì)通用數(shù)據(jù)存儲(chǔ)區(qū)122中的各數(shù)據(jù)文件和/或本地?cái)?shù)據(jù)存儲(chǔ)區(qū)中的各數(shù)據(jù)文件或針對(duì)數(shù)據(jù)文件的子集來(lái)實(shí)施。例如,在一些實(shí)施方案中,服務(wù)器120可以修改通用數(shù)據(jù)存儲(chǔ)區(qū)122中的各數(shù)據(jù)文件以包括在周期性基礎(chǔ)上(諸如每夜、每周等)接收的事務(wù)數(shù)據(jù)。在其它實(shí)施方案中,服務(wù)器120可以修改通用數(shù)據(jù)存儲(chǔ)區(qū)122中的一個(gè)或多個(gè)數(shù)據(jù)文件以包括響應(yīng)于觸發(fā)事件所接收的事務(wù)數(shù)據(jù),所述觸發(fā)事件諸如事務(wù)數(shù)據(jù)的創(chuàng)建或修改或新數(shù)據(jù)文件被存儲(chǔ)在通用數(shù)據(jù)存儲(chǔ)區(qū)122中。在其它實(shí)施方案中,圖示的方法400可以響應(yīng)于客戶(hù)端計(jì)算裝置(諸如客戶(hù)端計(jì)算裝置102)從服務(wù)器120請(qǐng)求數(shù)據(jù)文件來(lái)實(shí)施。
方法400在框402處開(kāi)始,然后進(jìn)入框404,在框404處,客戶(hù)端計(jì)算裝置102從服務(wù)器120或另一個(gè)服務(wù)器接收第一數(shù)據(jù)文件和腳本。第一數(shù)據(jù)文件可以是存儲(chǔ)在通用數(shù)據(jù)存儲(chǔ)區(qū)122中或在另一個(gè)數(shù)據(jù)存儲(chǔ)區(qū)中的任意數(shù)據(jù)文件。腳本可以是用以實(shí)現(xiàn)在客戶(hù)端計(jì)算裝置102上實(shí)施的各種管理和控制功能的各種可執(zhí)行代碼中的一個(gè),諸如java腳本文件或另一個(gè)類(lèi)型的文件。如先前所描述的,管理和控制功能能夠包括對(duì)事務(wù)數(shù)據(jù)的收集和處理、對(duì)客戶(hù)端計(jì)算裝置102和服務(wù)器之間的網(wǎng)絡(luò)連接性的驗(yàn)證以及客戶(hù)端計(jì)算裝置102上和服務(wù)器上的事務(wù)數(shù)據(jù)與第一數(shù)據(jù)文件的集成。
在框406處,客戶(hù)端計(jì)算裝置102上的腳本通過(guò)接受客戶(hù)端計(jì)算裝置的本地用戶(hù)接口上的操作來(lái)實(shí)現(xiàn)對(duì)第一數(shù)據(jù)文件上的事務(wù)數(shù)據(jù)的收集和處理。如果客戶(hù)端計(jì)算裝置102上的腳本在框408處確定不存在為了將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器120的到網(wǎng)絡(luò)的連接,則客戶(hù)端計(jì)算裝置102繼續(xù)記錄事務(wù)數(shù)據(jù),并且將已收集且已處理的事務(wù)數(shù)據(jù)保存在本地?cái)?shù)據(jù)存儲(chǔ)區(qū)112上。相反,如果客戶(hù)端計(jì)算裝置102上的腳本在框408處確定存在到網(wǎng)絡(luò)的連接,則客戶(hù)端計(jì)算裝置102上的腳本進(jìn)入框410,在框410處,客戶(hù)端計(jì)算裝置102將事務(wù)數(shù)據(jù)發(fā)送至服務(wù)器120以便獲得與服務(wù)器120同步。服務(wù)器120可以將這樣的事務(wù)數(shù)據(jù)保存在通用數(shù)據(jù)存儲(chǔ)區(qū)122上。在框410處,當(dāng)網(wǎng)絡(luò)連接被確定為存在時(shí),服務(wù)器120也可以將更新的數(shù)據(jù)發(fā)送至客戶(hù)端計(jì)算裝置102。
上文貫穿本公開(kāi)所論述的方法可能導(dǎo)致較小的和/或較少的數(shù)據(jù)文件從服務(wù)器120被發(fā)送到客戶(hù)端計(jì)算裝置102,因?yàn)橄惹霸诒镜卮鎯?chǔ)的共享部分可以?xún)H被發(fā)送一次,而不是針對(duì)隨后的數(shù)據(jù)文件請(qǐng)求再次發(fā)送。此外或可替代地,上述方法可導(dǎo)致從客戶(hù)端計(jì)算裝置102到服務(wù)器120的連接或請(qǐng)求的數(shù)量減少,因?yàn)閮?nèi)容可以被包括在單個(gè)數(shù)據(jù)文件中,其中相同的內(nèi)容可能另外被分割成多個(gè)數(shù)據(jù)文件以便利用其它系統(tǒng)的現(xiàn)有全文件高速緩存。如將領(lǐng)悟的,實(shí)現(xiàn)對(duì)數(shù)據(jù)文件的部分的高速緩存和本公開(kāi)的其它方面可以針對(duì)各種數(shù)據(jù)文件類(lèi)型來(lái)實(shí)施。據(jù)此,通過(guò)網(wǎng)絡(luò)可訪問(wèn)的許多類(lèi)型的內(nèi)容可以受益于本公開(kāi)的方面。
需理解的是,不一定所有的目的或優(yōu)勢(shì)可以根據(jù)本文中所描述的任意特定實(shí)施方案實(shí)現(xiàn)。因此,例如,本領(lǐng)域的那些技術(shù)人員將認(rèn)識(shí)到,某些實(shí)施方案可以被配置成以實(shí)現(xiàn)或優(yōu)化如本文所教導(dǎo)的一個(gè)優(yōu)點(diǎn)或一組優(yōu)點(diǎn)的方式操作,而不一定實(shí)現(xiàn)如本文所教導(dǎo)或建議的其它目的或優(yōu)點(diǎn)。
本文中所描述的所有過(guò)程可以在由一個(gè)或多個(gè)通用計(jì)算機(jī)或處理器執(zhí)行的軟件代碼模塊中實(shí)現(xiàn)或經(jīng)所述軟件代碼模塊充分地自動(dòng)化。代碼模塊可以存儲(chǔ)在任意類(lèi)型的計(jì)算機(jī)可讀介質(zhì)或其它計(jì)算機(jī)存儲(chǔ)裝置中。一些或所有方法可以在專(zhuān)門(mén)的計(jì)算機(jī)硬件中選擇地被實(shí)現(xiàn)。此外,本文所提及的部件可以在硬件、軟件、固件或其組合中被實(shí)施。
除非特別地聲明,否則尤其諸如“能夠(can)”、“可(could)”、“可能(might)”或“可以(may)”的條件語(yǔ)言在上下文內(nèi)以其它方式被理解為一般使用以表達(dá)某些實(shí)施方案包括而其它實(shí)施方案不包括某些特征、元件和/或步驟。因此,這樣的條件語(yǔ)言大體不旨在暗示,特征、元件和/或步驟無(wú)論如何是一個(gè)或多個(gè)實(shí)施方案所需要的,或一個(gè)或多個(gè)實(shí)施方案必定包括(在有或無(wú)用戶(hù)輸入或提示的情況下)決定這些特征、元件和/或步驟是否被包括在任意特定實(shí)施方案中或?qū)⒃谌我馓囟▽?shí)施方案中被執(zhí)行的邏輯。
本文中所描述的和/或在附圖中描繪的流程圖中的任意過(guò)程描述、元件或框應(yīng)理解為作為潛在地表示包括用于實(shí)施過(guò)程中的具體邏輯功能或元件的一個(gè)或多個(gè)可執(zhí)行指令的代碼模塊、代碼片段或代碼的部分。替代實(shí)施被包括在本文中所描述的實(shí)施方案的范圍內(nèi),其中,元件或功能可以被刪除、以與示出或論述的順序不同的順序(包括大致同時(shí)或以顛倒的順序)被執(zhí)行,這取決于所涉及的功能性,如將由本領(lǐng)域的那些技術(shù)人員所理解的。
應(yīng)強(qiáng)調(diào),可以對(duì)上述實(shí)施方案做出許多變化和修改,上述實(shí)施方案的元件將被理解為在其它可接受的示例當(dāng)中。本文所有這樣的修改和變化旨在被包括在本公開(kāi)的范圍內(nèi)并且受到所附權(quán)利要求的保護(hù)。