專利名稱:移動終端、服務器和移動終端的數(shù)據(jù)同步方法
技術領域:
本發(fā)明涉及數(shù)據(jù)同步技術領域,具體而言,涉及ー種移動終端、一種服務器和ー種移動終端的數(shù)據(jù)同步方法。
背景技術:
相關技術中,在對移動終端的使用過程中,仍存在一些問題,比如 a.移動互聯(lián)網(wǎng)迅速發(fā)展,很多應用系統(tǒng)的業(yè)務需要遷移到移動終端,移動網(wǎng)絡的傳輸速度影響了用戶體驗;b.移動設備的上網(wǎng)條件經(jīng)常會受到限制,影響移動終端上業(yè)務的使用。為了解決上述技術問題,需要ー套開發(fā)技術來實現(xiàn)移動終端的離線功能。數(shù)據(jù)同步是離線功能最重要的技術,相關技術中使用的數(shù)據(jù)同步方式一般需要手動觸發(fā)數(shù)據(jù)同步功能,同步受網(wǎng)絡環(huán)境等因素影響,同步過程需要等待,用戶體驗差。因此,需要一種新的移動終端的數(shù)據(jù)同步技術,可以實現(xiàn)移動終端數(shù)據(jù)的自動同歩,以用于移動終端的離線功能。
發(fā)明內容
本發(fā)明正是基于上述問題,提出了一種新的移動終端的數(shù)據(jù)同步技術,可以實現(xiàn)移動終端數(shù)據(jù)的自動同歩,以用于移動終端的離線功能。有鑒于此,本發(fā)明提出了一種移動終端,包括應用程序狀態(tài)監(jiān)測単元,監(jiān)測所述移動終端中的應用程序的狀態(tài);線程管理単元,在所述應用程序狀態(tài)監(jiān)測単元監(jiān)測到所述應用程序啟動時,開啟數(shù)據(jù)異步同步線程;數(shù)據(jù)獲取単元,通過所述數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù);數(shù)據(jù)存儲単元,將所述數(shù)據(jù)獲取單元獲取的所述同步數(shù)據(jù)緩存至本地。在該技術方案中,由于移動終端無法做到實時在線,通過啟用異步同步線程,可以在移動終端在線時,對同歩數(shù)據(jù)進行下載和緩存,以便在移動終端離線時,用戶依然可以對緩存數(shù)據(jù)進行讀取。在上述技術方案中,優(yōu)選地,還包括網(wǎng)絡狀況監(jiān)測単元,用于監(jiān)測所述移動終端與所述服務器之間的網(wǎng)絡狀況;數(shù)據(jù)讀取単元,在所述移動終端處于離線狀態(tài)的情況下,讀取所述移動終端的本地緩存,在所述移動終端處于在線狀態(tài)的情況下,訪問所述服務器上的數(shù)據(jù)和/或讀取所述本地緩存。在該技術方案中,根據(jù)移動終端是否在線,可以采用不同的策略,當移動終端在線吋,由于服務器隨時可能更新數(shù)據(jù),因而進行在線獲取數(shù)據(jù),以便獲得最新的數(shù)據(jù)信息;當移動終端離線時,可以對本地緩存的數(shù)據(jù)進行讀取,以便給用戶帶來良好的使用體驗。當然,對于ー些一定需要通過在線訪問才能夠獲取的數(shù)據(jù),如果移動終端處于離線狀態(tài),則可以給出友好的交互界面,以提升用戶體驗。在上述技術方案中,優(yōu)選地,還包括入口設置單元,用于在所述移動終端上設置與所述服務器進行數(shù)據(jù)交互的統(tǒng)ー入口 ;以及所述網(wǎng)絡狀況監(jiān)測単元還用于在所述統(tǒng)ー入口處監(jiān)測所述移動終端與所述服務器能否進行數(shù)據(jù)交互,以判斷所述網(wǎng)絡狀況。在該技術方案中,由于移動終端通過統(tǒng)一入ロ與服務器進行數(shù)據(jù)的發(fā)送和接收,因而可以通過該統(tǒng)一入ロ是否能夠進行數(shù)據(jù)交互,從而判斷移動終端處于在線或離線狀態(tài)。在上述技術方案中,優(yōu)選地,還包括時間戳記錄單元,用于在所述移動終端從所述服務器獲取所述同步數(shù)據(jù)后,記錄該同步過程的時間戳;時間戳獲取單元,用于獲取所述移動終端最近一次進行所述同步過程的時間戳;請求生成単元,用于生成包含所述時間戳 的同步請求;請求發(fā)送單元,用于將所述同步請求發(fā)送至所述服務器;所述數(shù)據(jù)獲取單元還用于從所述服務器獲取對應于所述同步請求的最新的同歩數(shù)據(jù)。在該技術方案中,通過對時間戳的記錄和比較,便于服務器判斷該移動終端中的數(shù)據(jù)是否為最新版本,若是,則無需重復的數(shù)據(jù)下載,從而節(jié)省用戶的時間和數(shù)據(jù)流量。在上述技術方案中,優(yōu)選地,還包括進程管理単元,開啟守護進程,與所述服務器建立長連接;所述數(shù)據(jù)獲取單元還用于獲取所述服務器推送的新數(shù)據(jù);以及所述數(shù)據(jù)存儲單元還用于將所述新數(shù)據(jù)緩存至本地。在該技術方案中,通過開啟守護進程,便于服務器隨時進行數(shù)據(jù)的推送,使得移動終端盡可能地獲取最新數(shù)據(jù),提升用戶體驗。根據(jù)本發(fā)明的又一方面,還提出了一種服務器,包括請求接收單元,用于接收來自移動終端的同步請求;請求解析単元,用于對所述同步請求進行解析,獲取其中包含的時間戳和請求條件;判斷単元,用于根據(jù)所述時間戳和請求條件判斷所述移動終端中的數(shù)據(jù)是否需要更新;同步數(shù)據(jù)發(fā)送單元,用于在所述判斷単元的判斷結果為是的情況下,將最新的同歩數(shù)據(jù)發(fā)送至所述移動終端。在該技術方案中,請求條件包括數(shù)據(jù)類型、移動終端的型號、系統(tǒng)版本等數(shù)據(jù),便于服務器選擇適用于該移動終端的數(shù)據(jù);而通過時間戳的記錄和比較,則便于服務器判斷移動終端中的既有數(shù)據(jù)是否為最新數(shù)據(jù),防止重復下載浪費用戶的時間和數(shù)據(jù)流量。在上述技術方案中,優(yōu)選地,還包括連接管理単元,用于在所述移動終端處于在線狀態(tài)的情況下,建立對應于所述移動終端中的守護進程的長連接;更新監(jiān)測單元,用于監(jiān)測是否存在新數(shù)據(jù);以及數(shù)據(jù)推送単元,在所述更新監(jiān)測單元監(jiān)測到所述新數(shù)據(jù)的情況下,將所述新數(shù)據(jù)推送至所述移動終端。在該技術方案中,建立配合移動終端中的守護進程的長連接,便于服務器隨時進行數(shù)據(jù)的推送,使得移動終端盡可能地獲取最新數(shù)據(jù),提升用戶體驗。根據(jù)本發(fā)明的又一方面,還提出了ー種移動終端的數(shù)據(jù)同步方法,包括步驟202,所述移動終端在監(jiān)測到應用程序啟動時,開啟數(shù)據(jù)異步同步線程;步驟204,所述移動終端通過所述數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù),并將所述同步數(shù)據(jù)緩存至本地。在該技術方案中,由于移動終端無法做到實時在線,通過啟用異步同步線程,可以在移動終端在線時,對同歩數(shù)據(jù)進行下載和緩存,以便在移動終端離線時,用戶依然可以對緩存數(shù)據(jù)進行讀取。在上述技術方案中,優(yōu)選地,還包括步驟302,監(jiān)測所述移動終端與所述服務器之間的網(wǎng)絡狀況;步驟304,若所述移動終端處于離線狀態(tài),則讀取所述移動終端的本地緩存,若所述移動終端處于在線狀態(tài),則訪問所述服務器上的數(shù)據(jù)和/或讀取所述本地緩存。在該技術方案中,根據(jù)移動終端是否在線,可以采用不同的策略,當移動終端在線吋,由于服務器隨時可能更新數(shù)據(jù),因而進行在線獲取數(shù)據(jù),以便獲得最新的數(shù)據(jù)信息;當移動終端離線時,可以對本地緩存的數(shù)據(jù)進行讀取,以便給用戶帶來良好的使用體驗。當然,對于ー些一定需要通過在線訪問才能夠獲取的數(shù)據(jù),如果移動終端處于離線狀態(tài),則可以給出友好的交互界面,以提升用戶體驗。在上述技術方案中,優(yōu)選地,所述步驟302包括所述移動終端中設置有用干與所述服務器進行數(shù)據(jù)交互的統(tǒng)一入ロ,在所述統(tǒng)一入ロ處監(jiān)測所述移動終端與所述服務器能否進行數(shù)據(jù)交互,以判斷所述網(wǎng)絡狀況。在該技術方案中,由于移動終端通過統(tǒng)一入ロ與服務器進行數(shù)據(jù)的發(fā)送和接收,因而可以通過該統(tǒng)一入ロ是否能夠進行數(shù)據(jù)交互,從而判斷移動終端處于在線或離線狀態(tài)。在上述技術方案中,優(yōu)選地,所述移動終端從所述服務器獲取所述同步數(shù)據(jù)后,記錄該同步過程的時間戳,則所述步驟204中,所述移動終端從所述服務器獲取所述同步數(shù)據(jù)的過程具體包括所述移動終端獲取最近一次進行所述同步過程的時間戳,并生成包含所述時間戳的同步請求,并將所述同步請求發(fā)送至所述服務器;所述服務器解析所述同步請求,獲取所述時間戳及請求條件,以判斷所述移動終端中的數(shù)據(jù)是否需要更新,若是,則將最新的同歩數(shù)據(jù)發(fā)送至所述移動終端,否則不發(fā)送。在該技術方案中,通過對時間戳的記錄和比較,便于服務器判斷該移動終端中的數(shù)據(jù)是否為最新版本,若是,則無需重復的數(shù)據(jù)下載,從而節(jié)省用戶的時間和數(shù)據(jù)流量。在上述技術方案中,優(yōu)選地,還包括步驟402,所述移動終端開啟守護進程,與所述服務器建立長連接;步驟404,所述服務器在監(jiān)測到新數(shù)據(jù)時,將所述新數(shù)據(jù)推送至所述移動終端,由所述移動終端將所述新數(shù)據(jù)緩存至本地。在該技術方案中,通過開啟守護進程和建立長連接,便于服務器隨時進行數(shù)據(jù)的推送,使得移動終端盡可能地獲取最新數(shù)據(jù),提升用戶體驗。通過以上技術方案,可以實現(xiàn)移動終端數(shù)據(jù)的自動同歩,以用于移動終端的離線功能。
圖I示出了根據(jù)本發(fā)明的一個實施例的移動終端和服務器的框圖;圖2示出了根據(jù)本發(fā)明的一個實施例的移動終端的數(shù)據(jù)同步方法的流程圖;圖3為圖2示出的實施例的移動終端讀取數(shù)據(jù)的流程圖;圖4為圖2示出的實施例的服務器向移動終端推送同步數(shù)據(jù)的流程圖;圖5示出了根據(jù)本發(fā)明的又一個實施例的移動終端讀取數(shù)據(jù)的流程圖;
圖6為圖5示出的實施例的移動終端的數(shù)據(jù)同步方法的流程圖;圖7為圖5示出的實施例的服務器向移動終端推送同步數(shù)據(jù)的流程圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實施方式
對本發(fā)明進行進一歩的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施 ,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。圖I示出了根據(jù)本發(fā)明的一個實施例的移動終端和服務器的框圖。如圖I所示,根據(jù)本發(fā)明的一個實施例的移動終端100,包括應用程序狀態(tài)監(jiān)測単元102,監(jiān)測移動終端100中的應用程序的狀態(tài);線程管理単元104,在應用程序狀態(tài)監(jiān)測単元102監(jiān)測到應用程序啟動時,開啟數(shù)據(jù)異步同步線程;數(shù)據(jù)獲取単元106,通過數(shù)據(jù)異步同步線程從相應的服務器200獲取同步數(shù)據(jù);數(shù)據(jù)存儲単元108,將數(shù)據(jù)獲取單元106獲取的同歩數(shù)據(jù)緩存至本地。在該技術方案中,由于移動終端100無法做到實時在線,通過啟用異步同步線程,可以在移動終端100在線時,對同歩數(shù)據(jù)進行下載和緩存,以便在移動終端100離線時,用戶依然可以對緩存數(shù)據(jù)進行讀取。在上述技術方案中,還包括網(wǎng)絡狀況監(jiān)測単元110,用于監(jiān)測移動終端100與服務器200之間的網(wǎng)絡狀況;數(shù)據(jù)讀取単元112,在移動終端100處于離線狀態(tài)的情況下,讀取移動終端100的本地緩存,在移動終端100處于在線狀態(tài)的情況下,訪問服務器200上的數(shù)據(jù)和/或讀取本地緩存。在該技術方案中,根據(jù)移動終端100是否在線,可以采用不同的策略,當移動終端100在線時,由于服務器200隨時可能更新數(shù)據(jù),因而進行在線獲取數(shù)據(jù),以便獲得最新的數(shù)據(jù)信息;當移動終端100離線時,可以對本地緩存的數(shù)據(jù)進行讀取,以便給用戶帶來良好的使用體驗。當然,對于ー些一定需要通過在線訪問才能夠獲取的數(shù)據(jù),如果移動終端100處于離線狀態(tài),則可以給出友好的交互界面,以提升用戶體驗。在上述技術方案中,還包括入口設置單元114,用于在移動終端100上設置與服務器200進行數(shù)據(jù)交互的統(tǒng)一入ロ ;以及網(wǎng)絡狀況監(jiān)測單元110還用于在統(tǒng)一入ロ處監(jiān)測移動終端100與服務器200能否進行數(shù)據(jù)交互,以判斷網(wǎng)絡狀況。在該技術方案中,由于移動終端100通過統(tǒng)一入ロ與服務器200進行數(shù)據(jù)的發(fā)送和接收,因而可以通過該統(tǒng)一入ロ是否能夠進行數(shù)據(jù)交互,從而判斷移動終端100處于在線或離線狀態(tài)。在上述技術方案中,還包括時間戳記錄單元116,用于在移動終端100從服務器200獲取同步數(shù)據(jù)后,記錄該同步過程的時間戳;時間戳獲取單元118,用于獲取移動終端100最近一次進行同步過程的時間戳;請求生成単元120,用于生成包含時間戳的同步請求;請求發(fā)送單元122,用于將同步請求發(fā)送至服務器200 ;數(shù)據(jù)獲取単元106還用于從服務器200獲取對應于同步請求的最新的同歩數(shù)據(jù)。在該技術方案中,通過對時間戳的記錄和比較,便于服務器200判斷該移動終端100中的數(shù)據(jù)是否為最新版本,若是,則無需重復的數(shù)據(jù)下載,從而節(jié)省用戶的時間和數(shù)據(jù)流量。 在上述技術方案中,還包括進程管理単元124,開啟守護進程,與服務器200建立長連接;數(shù)據(jù)獲取単元106還用于獲取服務器200推送的新數(shù)據(jù);以及數(shù)據(jù)存儲単元108還用于將新數(shù)據(jù)緩存至本地。在該技術方案中,通過開啟守護進程,便于服務器200隨時進行數(shù)據(jù)的推送,使得移動終端100盡可能地獲取最新數(shù)據(jù),提升用戶體驗。上述任一技術方案中的服務器200,包括請求接收單元202,用于接收來自移動終端100的同步請求;請求解析單元204,用于對同步請求進行解析,獲取其中包含的時間戳和請求條件;判斷単元206,用于根據(jù)時間戳和請求條件判斷移動終端100中的數(shù)據(jù)是否需要更新;同步數(shù)據(jù)發(fā)送單元208,用于在判斷単元206的判斷結果為是的情況下,將最新的同歩數(shù)據(jù)發(fā)送至移動終端100。
在該技術方案中,請求條件包括數(shù)據(jù)類型、移動終端100的型號、系統(tǒng)版本等數(shù)據(jù),便于服務器200選擇適用于該移動終端100的數(shù)據(jù);而通過時間戳的記錄和比較,則便于服務器200判斷移動終端100中的既有數(shù)據(jù)是否為最新數(shù)據(jù),防止重復下載浪費用戶的時間和數(shù)據(jù)流量。在上述技術方案中,還包括連接管理単元210,用于在移動終端100處于在線狀態(tài)的情況下,建立對應于移動終端100中的守護進程的長連接;更新監(jiān)測單元212,用于監(jiān)測是否存在新數(shù)據(jù);以及數(shù)據(jù)推送単元214,在更新監(jiān)測單元212監(jiān)測到新數(shù)據(jù)的情況下,將新數(shù)據(jù)推送至移動終端100。在該技術方案中,建立配合移動終端100中的守護進程的長連接,便于服務器200隨時進行數(shù)據(jù)的推送,使得移動終端100盡可能地獲取最新數(shù)據(jù),提升用戶體驗。圖2示出了根據(jù)本發(fā)明的一個實施例的移動終端的數(shù)據(jù)同步方法的流程圖。
如圖2所示,根據(jù)本發(fā)明的一個實施例的移動終端的數(shù)據(jù)同步方法,包括步驟202,移動終端在監(jiān)測到應用程序啟動時,開啟數(shù)據(jù)異步同步線程;步驟204,移動終端通過數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù),并將同歩數(shù)據(jù)緩存至本地。在該技術方案中,由于移動終端無法做到實時在線,通過啟用異步同步線程,可以在移動終端在線時,對同歩數(shù)據(jù)進行下載和緩存,以便在移動終端離線時,用戶依然可以對緩存數(shù)據(jù)進行讀取。在上述技術方案中,移動終端從服務器獲取所述同步數(shù)據(jù)后,記錄該同步過程的時間戳,則步驟204中,移動終端從服務器獲取同歩數(shù)據(jù)的過程具體包括移動終端獲取最近一次進行同步過程的時間戳,并生成包含時間戳的同步請求,并將同步請求發(fā)送至服務器;服務器解析同步請求,獲取時間戳及請求條件,以判斷移動終端中的數(shù)據(jù)是否需要更新,若是,則將最新的同歩數(shù)據(jù)發(fā)送至移動終端,否則不發(fā)送。在該技術方案中,通過對時間戳的記錄和比較,便于服務器判斷該移動終端中的數(shù)據(jù)是否為最新版本,若是,則無需重復的數(shù)據(jù)下載,從而節(jié)省用戶的時間和數(shù)據(jù)流量。圖3為圖2示出的實施例的移動終端讀取數(shù)據(jù)的流程圖。如圖3所示,根據(jù)本發(fā)明的一個實施例的移動終端讀取數(shù)據(jù)的流程包括步驟302,監(jiān)測移動終端與服務器之間的網(wǎng)絡狀況;步驟304,若移動終端處于離線狀態(tài),則讀取移動終端的本地緩存,若移動終端處于在線狀態(tài),則訪問服務器上的數(shù)據(jù)和/或讀取本地緩存。在該技術方案中,根據(jù)移動終端是否在線,可以采用不同的策略,當移動終端在線吋,由于服務器隨時可能更新數(shù)據(jù),因而進行在線獲取數(shù)據(jù),以便獲得最新的數(shù)據(jù)信息;當移動終端離線時,可以對本地緩存的數(shù)據(jù)進行讀取,以便給用戶帶來良好的使用體驗。當然,對于ー些一定需要通過在線訪問才能夠獲取的數(shù)據(jù),如果移動終端處于離線狀態(tài),則可以給出友好的交互界面,以提升用戶體驗。在上述技術方案中,步驟302包括移動終端中設置有用干與服務器進行數(shù)據(jù)交互的統(tǒng)一入ロ,在統(tǒng)一入ロ處監(jiān)測移動終端與服務器能否進行數(shù)據(jù)交互,以判斷網(wǎng)絡狀況。在該技術方案中,由于移動終端通過統(tǒng)一入ロ與服務器進行數(shù)據(jù)的發(fā)送和接收,因而可以通過該統(tǒng)一入ロ是否能夠進行數(shù)據(jù)交互,從而判斷移動終端處于在線或離線狀態(tài)。
圖4為圖2示出的實施例的服務器向移動終端推送同步數(shù)據(jù)的流程圖。如圖4所示,根據(jù)本發(fā)明的一個實施例的服務器向移動終端推送同步數(shù)據(jù)的流程包括步驟402,移動終端開啟守護進程,與服務器建立長連接;步驟404,服務器在監(jiān)測到新數(shù)據(jù)時,將新數(shù)據(jù)推送至移動終端,由移動終端將新數(shù)據(jù)緩存至本地。在該技術方案中,通過開啟守護進程和建立長連接,便于服務器隨時進行數(shù)據(jù)的推送,使得移動終端盡可能地獲取最新數(shù)據(jù),提升用戶體驗。圖5示出了根據(jù)本發(fā)明的又一個實施例的移動終端讀取數(shù)據(jù)的流程圖。如圖5所示,根據(jù)本發(fā)明的實施例的移動終端讀取數(shù)據(jù)的流程包括步驟502,在移動終端中設置有ー個統(tǒng)一入ロ,所有數(shù)據(jù)與服務器之間的交互都會通過這個統(tǒng)一入ロ;步驟504,在統(tǒng)一入ロ處判斷當前網(wǎng)絡狀況,若存在數(shù)據(jù)交互,則說明移動終端處于在線狀態(tài),否則說明移動終端處于離線狀態(tài);步驟506,確定移動終端是通過網(wǎng)絡從服務器讀取數(shù)據(jù)還是從本地緩存讀取數(shù)據(jù)。圖6為圖5示出的實施例的移動終端的數(shù)據(jù)同步方法的流程圖。如圖6所示,根據(jù)本發(fā)明的實施例的移動終端的數(shù)據(jù)同步方法的流程包括步驟602,移動終端獲取最后一次進行同步數(shù)據(jù)的時間戳,根據(jù)用戶操作異步請求服務器;步驟604,服務端通過時間戳來判斷終端存儲的數(shù)據(jù)是否為服務器的最新數(shù)據(jù);步驟606,如果有最新更新的數(shù)據(jù),服務器返回相應最新數(shù)據(jù)給移動終端。圖7為圖5示出的實施例的服務器向移動終端推送同步數(shù)據(jù)的流程圖。如圖7所示,根據(jù)本發(fā)明的實施例的服務器向移動終端推送同步數(shù)據(jù)的流程包括步驟702,服務端向移動終端推送同歩數(shù)據(jù),以實現(xiàn)對移動終端的數(shù)據(jù)同歩。綜上所述,本發(fā)明使用了以下技術方案A :通過異步同步的方式,把數(shù)據(jù)緩存到本地。B :通過判斷網(wǎng)絡狀態(tài),確定是從本地緩存讀取數(shù)據(jù)還是從服務器讀取數(shù)據(jù)。C :服務器通過時間戳和請求條件確定需要返回給移動終端的數(shù)據(jù)。D :服務器向移動終端推送實現(xiàn)數(shù)據(jù)同歩。其中,步驟A的實現(xiàn)過程包括如下幾個環(huán)節(jié)Al)移動終端應用啟動的時候,開啟數(shù)據(jù)異步同步線程。
A2)通過網(wǎng)絡通信,從遠程服務器獲取數(shù)據(jù),然后把數(shù)據(jù)展示給用戶。A3)通過操作移動終端的數(shù)據(jù)庫,把服務端的數(shù)據(jù)緩存到本地。步驟B的實現(xiàn)過程包括如下幾個環(huán)節(jié)BI)移動終端判斷當前設備的網(wǎng)絡狀態(tài)。B2)根據(jù)網(wǎng)絡狀態(tài),確定讀取數(shù)據(jù)的策略。B3)通過客戶端技術,對數(shù)據(jù)進行處理。
步驟C的實現(xiàn)過程包括如下幾個環(huán)節(jié)Cl)服務器從移動終端獲取數(shù)據(jù),并對數(shù)據(jù)進行解析。C2)服務端通過時間戳,判斷移動終端數(shù)據(jù)是否和服務端的最新數(shù)據(jù)一致。C3)服務端通過判斷,確定返回給移動終端的數(shù)據(jù)內容。步驟D實現(xiàn)過程包括如下幾個環(huán)節(jié)Dl)移動終端啟動守護進程,與服務器建立長連接。D2)當服務端檢測到新數(shù)據(jù)時,向移動終端推送,移動終端緩存數(shù)據(jù)。以上結合附圖詳細說明了本發(fā)明的技術方案,考慮到相關技術中,無法實現(xiàn)主動的數(shù)據(jù)同步,在移動終端在線時無法及時進行數(shù)據(jù)同步,在移動終端離線時,由于沒有進行數(shù)據(jù)同步,無法進行順利的數(shù)據(jù)展現(xiàn),因此,本發(fā)明提供了一種移動終端、一種服務器和一種移動終端的數(shù)據(jù)同步方法,可以實現(xiàn)移動終端數(shù)據(jù)的自動同步,以用于移動終端的離線功能。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種移動終端,其特征在于,包括應用程序狀態(tài)監(jiān)測單元,監(jiān)測所述移動終端中的應用程序的狀態(tài);線程管理單元,在所述應用程序狀態(tài)監(jiān)測單元監(jiān)測到所述應用程序啟動時,開啟數(shù)據(jù)異步同步線程;數(shù)據(jù)獲取單元,通過所述數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù);數(shù)據(jù)存儲單元,將所述數(shù)據(jù)獲取單元獲取的所述同步數(shù)據(jù)緩存至本地。
2.根據(jù)權利要求I所述的移動終端,其特征在于,還包括網(wǎng)絡狀況監(jiān)測單元,用于監(jiān)測所述移動終端與所述服務器之間的網(wǎng)絡狀況;數(shù)據(jù)讀取單元,在所述移動終端處于離線狀態(tài)的情況下,讀取所述移動終端的本地緩存,在所述移動終端處于在線狀態(tài)的情況下,訪問所述服務器上的數(shù)據(jù)和/或讀取所述本地緩存。
3.根據(jù)權利要求2所述的移動終端,其特征在于,還包括入口設置單元,用于在所述移動終端上設置與所述服務器進行數(shù)據(jù)交互的統(tǒng)一入口 ;以及所述網(wǎng)絡狀況監(jiān)測單元還用于在所述統(tǒng)一入口處監(jiān)測所述移動終端與所述服務器能否進行數(shù)據(jù)交互,以判斷所述網(wǎng)絡狀況。
4.根據(jù)權利要求I至3中任一項所述的移動終端,其特征在于,還包括時間戳記錄單元,用于在所述移動終端從所述服務器獲取所述同步數(shù)據(jù)后,記錄該同步過程的時間戳;時間戳獲取單元,用于獲取所述移動終端最近一次進行所述同步過程的時間戳; 請求生成單元,用于生成包含所述時間戳的同步請求;請求發(fā)送單元,用于將所述同步請求發(fā)送至所述服務器;所述數(shù)據(jù)獲取單元還用于從所述服務器獲取對應于所述同步請求的最新的同步數(shù)據(jù)。
5.根據(jù)權利要求I至3中任一項所述的移動終端,其特征在于,還包括進程管理單元,開啟守護進程,與所述服務器建立長連接;所述數(shù)據(jù)獲取單元還用于獲取所述服務器推送的新數(shù)據(jù);以及所述數(shù)據(jù)存儲單元還用于將所述新數(shù)據(jù)緩存至本地。
6.一種服務器,其特征在于,包括請求接收單元,用于接收來自移動終端的同步請求;請求解析單元,用于對所述同步請求進行解析,獲取其中包含的時間戳和請求條件;判斷單元,用于根據(jù)所述時間戳和請求條件判斷所述移動終端中的數(shù)據(jù)是否需要更新;同步數(shù)據(jù)發(fā)送單元,用于在所述判斷單元的判斷結果為是的情況下,將最新的同步數(shù)據(jù)發(fā)送至所述移動終端。
7.根據(jù)權利要求6所述的服務器,其特征在于,還包括連接管理單元,用于在所述移動終端處于在線狀態(tài)的情況下,建立對應于所述移動終端中的守護進程的長連接;更新監(jiān)測單元,用于監(jiān)測是否存在新數(shù)據(jù);以及數(shù)據(jù)推送單元,在所述更新監(jiān)測單元監(jiān)測到所述新數(shù)據(jù)的情況下,將所述新數(shù)據(jù)推送至所述移動終端。
8.一種移動終端的數(shù)據(jù)同步方法,其特征在于,包括步驟202,所述移動終端在監(jiān)測到應用程序啟動時,開啟數(shù)據(jù)異步同步線程;步驟204,所述移動終端通過所述數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù),并將所述同步數(shù)據(jù)緩存至本地。
9.根據(jù)權利要求8所述的移動終端的數(shù)據(jù)同步方法,其特征在于,還包括步驟302,監(jiān)測所述移動終端與所述服務器之間的網(wǎng)絡狀況;步驟304,若所述移動終端處于離線狀態(tài),則讀取所述移動終端的本地緩存,若所述移動終端處于在線狀態(tài),則訪問所述服務器上的數(shù)據(jù)和/或讀取所述本地緩存。
10.根據(jù)權利要求9所述的移動終端的數(shù)據(jù)同步方法,其特征在于,所述步驟302包括所述移動終端中設置有用于與所述服務器進行數(shù)據(jù)交互的統(tǒng)一入口,在所述統(tǒng)一入口處監(jiān)測所述移動終端與所述服務器能否進行數(shù)據(jù)交互,以判斷所述網(wǎng)絡狀況。
11.根據(jù)權利要求8至10中任一項所述的移動終端的數(shù)據(jù)同步方法,其特征在于,所述移動終端從所述服務器獲取所述同步數(shù)據(jù)后,記錄該同步過程的時間戳,則所述步驟204 中,所述移動終端從所述服務器獲取所述同步數(shù)據(jù)的過程具體包括所述移動終端獲取最近一次進行所述同步過程的時間戳,并生成包含所述時間戳的同步請求,并將所述同步請求發(fā)送至所述服務器;所述服務器解析所述同步請求,獲取所述時間戳及請求條件,以判斷所述移動終端中的數(shù)據(jù)是否需要更新,若是,則將最新的同步數(shù)據(jù)發(fā)送至所述移動終端,否則不發(fā)送。
12.根據(jù)權利要求8至10中任一項所述的移動終端的數(shù)據(jù)同步方法,其特征在于,還包括步驟402,所述移動終端開啟守護進程,與所述服務器建立長連接;步驟404,所述服務器在監(jiān)測到新數(shù)據(jù)時,將所述新數(shù)據(jù)推送至所述移動終端,由所述移動終端將所述新數(shù)據(jù)緩存至本地。
全文摘要
本發(fā)明提供了一種移動終端,包括應用程序狀態(tài)監(jiān)測單元,監(jiān)測所述移動終端中的應用程序的狀態(tài);線程管理單元,在所述應用程序狀態(tài)監(jiān)測單元監(jiān)測到所述應用程序啟動時,開啟數(shù)據(jù)異步同步線程;數(shù)據(jù)獲取單元,通過所述數(shù)據(jù)異步同步線程從相應的服務器獲取同步數(shù)據(jù);數(shù)據(jù)存儲單元,將所述數(shù)據(jù)獲取單元獲取的所述同步數(shù)據(jù)緩存至本地。相應地,本發(fā)明還提出了一種服務器和一種移動終端的數(shù)據(jù)同步方法。通過本發(fā)明的技術方案,可以實現(xiàn)移動終端數(shù)據(jù)的自動同步,以用于移動終端的離線功能。
文檔編號H04L29/06GK102710665SQ20121021547
公開日2012年10月3日 申請日期2012年6月27日 優(yōu)先權日2012年6月27日
發(fā)明者吳振宇, 張弛, 張志紅, 李江濤, 田睿 申請人:深圳中興網(wǎng)信科技有限公司