一種信息更新方法及裝置


公開號 : CN 103957238 A
專利申請號 : CN 201410135680
申請人 : 北京金山網絡科技有限公司
【摘要】
本發明提供了一種信息更新方法及裝置,包括:確定本地存儲的信息與雲端存儲的信息是否一致,其中,雲端存儲的信息是供各應用程序共享的信息,本地存儲的信息是系統在沙盒機制中爲應用程序創建的供該應用程序使用的信息。在不一致時,與雲端進行信息更新以使本地存儲的信息與雲端存儲的信息一致。本發明提供的技術方案克服了沙盒機制下每個應用程序只能讀取系統爲其創建的信息,各應用程序之間的信息不能共享的問題。

【技術領域】

[0001] 本發明涉及信息處理技術領域,尤其涉及一種信息更新方法及裝置。

【背景技術】

[0002] iOS系統採取沙盒機制,即iOS系統應用程序只能在爲該程序創建的文件系統中讀取寫入文件,不可以去訪問其他文件系統,而這樣的文件系統就是沙盒,所有的非代碼文件都要保存在此,例如圖像,聲音,配置文件,文本文件等。

[0003] 更爲形象地講,就是每個應用程序都有自己的存儲空間,其不能翻過自己的圍牆去訪問別的程序的存儲空間的內容,而程序請求的數據都要通過權限檢測,假如不符合條件的話,不會被放行。

[0004] 默認情況下,每個沙盒含有3個文件夾!Documents, Library / Caches和tmp。因爲沙盒機制,應用程序只能在幾個目錄下讀寫文件,其中建議將程序中建立的或在程序中瀏覽到的文件數據保存在Documents目錄下,iTunes備份和恢復的時候會包括此目錄;Library文件夾存儲程序的默認設置或其它狀態信息;Library / Caches文件夾存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用程序退出刪除;tmp文件夾提供一個即時創建臨時文件的地方。

[0005] 基於上述的iOS系統沙盒機制,iOS系統爲每個應用程序都提供了存儲內容的空間,因此各個應用程序可以將其特有的信息存儲起來,例如設置信息,用戶的個人信息等。

[0006] 現有技術的不足在於,iOS系統中各個應用程序都是孤立的,即使它們來自同一開發商,對於一些公用信息,也因沙盒機制而無法在iOS系統上實現跨應用程序共享,只能由用戶一次次重新設置或者填寫。


【發明內容】

[0007] 本發明針對上述問題,提出了一種信息更新方法及裝置,用以實現在沙盒機制各應用程序的信息共享。

[0008] 本發明提供了一種信息更新方法,其包括:

[0009] 確定本地存儲的信息與雲端存儲的信息是否一致,其中,所述雲端存儲的信息是供各應用程序共享的信息,所述本地存儲的信息是系統在沙盒機制中爲應用程序創建的供該應用程序使用的信息;

[0010] 在不一致時,與雲端進行信息更新以使本地存儲的信息與雲端存儲的信息一致。

[0011] 本發明還提供了一種信息更新裝置,其包括:

[0012] 確定模塊,用於確定本地存儲的信息與雲端存儲的信息是否一致,其中,所述雲端存儲的信息是供各應用程序共享的信息,所述本地存儲的信息是系統在沙盒機制中爲應用程序創建的供該應用程序使用的信息;

[0013] 更新模塊,用於在不一致時,與雲端進行信息更新以使本地存儲的信息與雲端存儲的信息一致。[0014] 由於在沙盒機制下,每個應用程序只能讀取系統爲其創建的信息,使得各應用程序之間的信息不能共享,而在本發明實施例提供的技術方案中,雲端存儲的信息是可以供各應用程序共享的信息,在通過信息更新保證了本地存儲的每個應用程序的信息與雲端存儲的信息一致後,使得用戶在任意一個應用程序下進行信息更新後,該更新的信息通過雲端的共享機制使得其他應用程序也能更新該更新後的信息,這樣,其他應用程序再在沙盒機制下讀取信息時,實質上讀取的是該更新後的信息,即使該信息不是在這些應用程序中進行的更新。也即,本發明實施例提供的技術方案事實上克服了沙盒機制下每個應用程序只能讀取系統爲其創建的信息,各應用程序之間的信息不能共享的問題。


【附圖說明】

[0015] 爲了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

[0016] 圖1爲本發明實施例中信息更新方法實施流程示意圖;

[0017] 圖2爲本發明實施例中iOS系統跨應用共享信息實施流程示意圖;

[0018] 圖3爲本發明實施例中iOS系統信息更新實施流程示意圖;

[0019] 圖4爲本發明實施例中信息更新裝置結構示意圖。





【具體實施方式】

[0020] 爲了使本發明的技術方案及優點更加清楚明白,以下結合附圖對本發明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發明的一部分實施例,而不是所有實施例的窮舉。

[0021] 圖1爲信息更新方法實施流程示意圖,如圖所示,可以包括如下步驟:

[0022] 步驟101、確定本地存儲的信息與雲端存儲的信息是否一致,其中,所述雲端存儲的信息是供各應用程序共享的信息,所述本地存儲的信息是系統在沙盒機制中爲應用程序創建的供該應用程序使用的信息;

[0023] 步驟102、在不一致時,與雲端進行信息更新以使本地存儲的信息與雲端存儲的信

息一致。

[0024] 爲了更好地理解本發明技術方案的實施,下面以iOS系統爲例進行說明。

[0025] 需要說明的是,實施中,只要應用程序能夠與雲端存儲的信息進行交互更新,即可克服沙盒機制下每個應用程序只能讀取系統爲其創建的信息,各應用程序之間的信息不能共享的問題。本領域技術人員容易理解,由於與具體的操作系統無關,因此其實施並不僅限於只能在iOS系統實施。

[0026] 實施中,爲了提高安全性,在應用程序與雲端進行信息更新時,還可以進一步包括:發起認證,在應用程序認證通過後與雲端進行信息更新。

[0027] 雲端存儲是利用服務器提供的可編程接口,讓應用通過簡易的認證,就可以從雲端讀寫數據了。具體實施中,參考的認證方式是OAUTH協議,該方式下,直接使用私密的訪問令牌去獲取權限。OAUTH協議爲用戶信息的授權提供了一個安全的、開放而又簡易的標準。與以往的授權方式不同之處是OAUTH的授權不會使第三方觸及到用戶的帳號信息,如用戶名與密碼,即第三方無需使用用戶的用戶名與密碼就可以中請獲得該用戶信息的授權,可有效保證用戶信息的安全。因此,實施中,在發起認證時,可以通過密鑰以及設備標識符進行認證。

[0028] 實施中,由於是在iOS系統下進行認證,因此設備標識符可以採用UDID(UniqueDevice Identifier,設備的唯一設備標識符)或 IDFA(Identifier for Advertising,廣告標識符)。

[0029] 爲更好地理解本發明實施例提供的技術方案,下面以實例進行說明。

[0030] 圖2爲iOS系統跨應用共享信息實施流程示意圖,如圖所示,可以包括:

[0031] 步驟201:爲iOS系統中共享信息的應用程序設置並分配相同的用於共享信息的密鑰;

[0032] 通常iOS系統中有多個應用程序,其中會有幾個應用程序中會用到相同的信息,比如天氣類的應用程序會用到定位信息,其他社交類等應用程序也會用到定位信息,實施中可以使天氣類應用程序和社交類應用程序共享定位信息,在開發該類有共享信息的應用程序時,就爲其分配共享密鑰,並將該共享密鑰寫進該類應用程序中,例如,爲上述應用應用程序設置並分配它們共享該定位信息的密鑰,密鑰相同,如設置爲,“Secret”等。

[0033] 步驟202:應用程序從iOS系統獲取設備的UDID或IDFA ;

[0034] 實施中,UDID是i0S7.0之前的系統中,爲應用程序開發商提供的設備的唯一設備標識符,每一臺iOS系統終端都會有這樣一個唯一的標識,且是固定不變的,主要用於供移動廣告商或遊戲網絡運營商等通過UDID來識別不同的iOS系統終端,並對該終端用戶的活動進行跟蹤。而在i0S7.0中,禁用了 UDID,取而代之的是IDFA,二者的目的和作用幾乎是相同,不同點在於,IDFA在用戶關閉追蹤開關的時候,其值會發生改變,不能再標識當前設備,後續用戶再次開啓追蹤開關時會獲得一個新的標識符。但如果用戶不主動改變相關係統設置,IDFA會保持不變並且唯一標識該設備。不論終端的IDFA值是否改變,同一個iOS系統終端上的IDFA值是唯一的,即該iOS系統終端上的所有應用程序通過iOS系統獲得的IDFA的值都是相同的。

[0035] 實施中,在應用程序通過iOS系統獲取UDID或IDFA時,可以通過iOS系統提供的接口獲取,例如:

[0036]通過[[UIDevice currentDevice]unique Identifier]接口獲取 UDID ;

[0037]通過[[ASIdentifierManager shareManager] advert isingldent if ier]接 口獲取IDFA。

[0038] 步驟203:應用程序通過相同的共享密鑰和已獲得的UDID或IDFA訪問雲端其他應用程序共享的信息;

[0039] 圖3爲iOS系統信息更新實施流程示意圖,如圖所示,共享信息的應用程序持有相同的密鑰,通過相同的密鑰+UDID / IDFA作爲從雲端訪問共享信息的認證參數,如圖3所示,iOS系統終端上有應用程序A、應用程序B、應用程序C,其中,設置應用程序A和應用程序B可以共享信息,而應用程序C不能與應用程序A和應用程序B共享信息,則爲應用程序A和應用程序B設置並分配的密鑰” Secret”不能被應用程序C識別,同樣爲應用程序C設置並分配的密鑰” alpha”也不能被應用程序A和應用程序B所識別,即應用程序C通過其密鑰+UDID / IDFA不能訪問應用程序A和應用程序B的雲端信息,而應用程序A和應用程序B可以通過可相互識別的相同密鑰+UDID / IDFA從雲端相互訪問對方用來共享的信息。

[0040] 步驟204:對信息進行更新處理。

[0041] 以圖3爲例,應用程序A通過和應用程序B相同的共享密鑰”secret”+UDID / IDFA可以獲取應用程序B的信息,應用程序A可以對其信息進行相應的更新處理,如應用程序A更新應用程序B中的定位信息,則應用程序A的信息更新,會從雲端通過更新獲得的應用程序B中的定位信息實現。

[0042] 實施中,可以如下:應用程序將雲端的共享信息更新時間與應用本地信息的更新時間進行對比,依據兩者更新時間的比較結果,對共享的信息進行更新或不更新處理,具體可以是,若雲端共享的信息更新時間晚於本地信息的更新時間,則以雲端的信息更新應用本地信息;若雲端的信息更新時間晚於本地信息的更新時間,則保留本地信息。

[0043] 若雲端共享的信息更新時間早於本地信息的更新時間,則將本地信息上傳至雲端,供其他應用程序共享。如圖3所示,若應用程序A從雲端共享應用程序B中的定位信息,會進一步判斷雲端應用程序B更新的定位信息更新時間是否晚於應用程序A本地的定位信息更新時間,若是,則用從雲端獲取定位信息後對應用程序A本地的定位信息進行更新,否貝U,放棄從雲端讀取應用程序B的定位信息,保留應用程序A本地當前的定位信息不變或重新設置。判斷若從雲端獲取的應用程序B的定位信息早於應用程序A本地定位信息的更新時間,則將應用程序A本地定位信息上傳至雲端,供其他應用程序共享。

[0044] 實施中,應用程序在進行對比時,可以爲本地信息記錄更新時間戳,對雲端共享的信息記錄更新時間戳,通過時間戳對比來確定先後關係。

[0045] 實施中,當雲端共享的信息爲空時,初始信息可以通過應用程序本地初始化來設置,如圖3所示,若應用程序A從雲端獲取應用程序B的信息爲空時,則對應用程序A進行初始化設置,並可將應用程序A的初始化設置後的信息上傳至雲端,供應用程序B獲取。

[0046] 基於同一發明構思,本發明實施例中還提供了一種信息更新裝置,由於該設備解決問題的原理與一種信息更新方法相似,因此該設備的實施可以參見方法的實施,重複之處不再贅述。

[0047] 圖4爲信息更新裝置結構示意圖,如圖4所示,本發明的實施例提供了一種信息更新裝置,其包括:

[0048] 確定模塊401,用於確定本地存儲的信息與雲端存儲的信息是否一致,其中,所述雲端存儲的信息是供各應用程序共享的信息,所述本地存儲的信息是系統在沙盒機制中爲應用程序創建的供該應用程序使用的信息。

[0049] 更新模塊402,用於在不一致時,與雲端進行信息更新以使本地存儲的信息與雲端存儲的信息一致。

[0050] 實施中,本發明的實施例提供的一種信息更新裝置,進一步包括:認證模塊403,用於在應用程序與雲端進行信息更新時,發起認證,在應用程序認證通過後與雲端進行信息更新。

[0051] 實施中,本發明的實施例提供的一種信息更新裝置,認證模塊403進一步用於在發起認證時,通過密鑰以及設備標識符進行認證。

[0052] 實施中,本發明的實施例提供的一種信息更新裝置,確定模塊401進一步用於確定由iOS系統在沙盒機制中爲應用程序創建的供該應用程序使用的本地存儲的信息與雲端存儲的信息是否一致。

[0053] 實施中,本發明的實施例提供的一種信息更新裝置,認證模塊403進一步用於在發起認證時,通過密鑰以及作爲設備標識符的UDID或IDFA進行認證。

[0054] 由上述實施例可見,爲了在現有采用沙盒機制的iOS系統中實現跨多個應用進行信息共享,本發明實施例提供的技術方案,通過爲iOS系統中的共享信息的應用應用程序設置並分配相同的共享密鑰,以及iOS系統的UDID或IDFA,這樣,各個應用程序都可以通過共享密鑰和UDID或IDFA更新雲端的共享信息,繼而能夠在系統分配的各自的環境下對這些信息進行使用,實質上實現了共享信息的目的,克服了 iOS系統對各個應用程序之間信息共享的限制,簡化了用戶的操作,有效改善了用戶的使用體驗。

[0055] 本領域內的技術人員應明白,本發明的實施例可提供爲方法、系統、或計算機程序產品。因此,本發明可採用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁盤存儲器、CD — ROM、光學存儲器等)上實施的計算機程序產品的形式。

[0056] 本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

[0057] 這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

[0058] 這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

[0059] 儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋爲包括優選實施例以及落入本發明範圍的所有變更和修改。

[0060] 顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章