新四季網

一種內存數據共享方法、裝置和系統的製作方法

2023-06-20 12:41:46 1

專利名稱:一種內存數據共享方法、裝置和系統的製作方法
技術領域:
本發明涉及計算機技術領域,尤其涉及一種內存數據共享方法、裝置和系統。
背景技術:
現有技術中,僅能夠在同一設備中實現多個進程間的內存共享,例如,Iinux的共享內存技術。因此,現有技術中缺乏在多個設備之間直接共享內存數據信息的技術。

發明內容
本發明的目的是提供一種內存數據共享方法、裝置和系統。·
根據本發明的一個方面,提供一種在計算機設備中生成用於內存數據共享的共享信息的方法,其中,該方法包括以下步驟a根據應用程式在本計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述共享信息包括所述數據信息以及所述更新操作;b向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信
肩、O根據本發明的另一個方面,還提供了一種在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的方法,其中,該方法包括以下步驟A接收與本計算機設備進行數據共享的其他計算機設備發送的共享信息,其中,所述共享信息包括所述其他計算機設備的特定內存中被更新更新的數據信息以及對所述數據信息執行的更新操作;B從所述共享信息中獲取所述數據信息以及所述更新操作;C根據所述數據信息以及所述更新操作,更新存儲在本計算機設備的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據
信息保持一致。根據本發明的另一個方面,還提供了一種在計算機設備中生成用於內存數據共享的共享信息的信息生成裝置,其中,該信息生成裝置包括生成裝置,用於根據應用程式在本計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述共享信息包括所述數據信息以及所述更新操作;發送裝置,用於向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息。根據本發明的另一個方面,還提供了一種在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的信息更新裝置,其中,該信息更新裝置包括接收裝置,用於接收與本計算機設備進行數據共享的其他計算機設備發送的共享信息,其中,所述共享信息包括所述其他計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作;提取裝置,用於從所述共享信息中獲取所述數據信息以及所述更新操作;更新裝置,用於根據所述數據信息以及所述更新操作,更新存儲在本計算機設備的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據信息保持一致。根據本發明的另一個方面,還提供了一種內存數據共享裝置,包括所述信息生成裝置以及所述信息更新裝置。與現有技術相比,本發明具有以下優點1)通過根據應用程式對特定內存的更新操作以及更新的數據,生成共享信息,並直接發送給與本計算機設備進行共享的其他計算機設備,使得不同計算機設備之間能夠實現內存數據共享;2)通過根據共享信息kv_log中的數據信息以及更新操作,來對特定內存中與共享信息kv_log中的數據信息相應的數據·信息,例如,對特定內存中與共享信息kv_log中的鍵相同的鍵的值,執行共享信息包含的更新操作,由此,能夠使得接收共享信息的計算機設備與發送共享信息的計算機設備中的內存數據保持一致;3)本發明無需第三方介質在多個計算機設備之間傳遞內存修改信息,因此,本發明具有較高的實時性,且系統穩定性高;4)通過採用預定靜態連結庫提供共享生成API和更新API,使得無需對應用程式進行較大修改,即能實現生成共享信息並根據共享信息更新內存數據的效果;5)可將預定靜態連結庫嵌入應用程式中,擴大了本發明的方案的適用範圍;6)能夠在發生意外後,如計算機設備突然斷電後,重新恢復內存數據。


通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特徵、目的和優點將會變得更明顯圖I為本發明一個優選實施例的系統拓撲結構示意圖;圖2為本發明另一優選實施例的系統拓撲結構示意圖;圖3為本發明一個優選實施例的在計算機設備中生成用於內存數據共享的共享信息的方法流程圖;圖4為本發明一個優選實施例的在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的方法流程圖;圖5為本發明一個優選實施例的在計算機設備中生成用於內存數據共享的共享信息的信息生成裝置的結構示意圖;圖6為本發明一個優選實施例的在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的信息更新裝置的結構示意圖。附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施例方式下面結合附圖對本發明作進一步詳細描述。圖I為本發明一個優選實施例的系統拓撲結構示意圖。本實施例的系統包括計算機設備I以及計算機設備2,其中,計算機設備I以及計算機設備2均具有特定內存MEM_SHARE。本實施例中的計算機設備I生成用於內存數據共享的共享信息kv_log,並發送給計算機設備2,以使計算機設備2能夠根據共享信息kv_log來更新特定內存MEM_SHARE,從而使計算機設備2的特定內存MEM_SHARE中的數據與計算機設備I的特定內存MEM_SHARE中的數據保持一致。其中,特定內存MEM_SHARE可為轉門製作並用作數據共享的特製內存,也可為計算機設備所分配的、用於數據共享的普通內存。需要說明的是,本領域技術人員能夠理解,本實施例的系統拓撲結構可存在多種變形;例如,本實施例的系統可包括計算機設備I以及多個計算機設備2,計算機設備I將其生成的用於內存數據共享的共享信息發送給各個計算機設備2,以使每個計算機設備2的特定內存中的數據能夠與計算機設備I保持一致等。圖2為本發明另一優選實施例的系統拓撲結構示意圖。本實施例的系統包括多個計算機設備,其中,每個計算機設備均具有特定內存MEM_SHARE,且每個計算機設備均能夠生成用於內存數據共享的共享信息kv_log,並將所生成的共享信息kv_log發送給系統中的其他計算機設備,並且,每個計算機設備均能夠接收系統中的其他計算機設備發送的共 享信息kv_log,並根據所接收的共享信息kv_log來更新特定內存MEM_SHARE,由此,本實施例的系統中包含的各個計算機設備的特定內存MEM_SHARE中的數據能夠互相保持一致,從而實現特定內存MEM_SHARE中的數據共享。需要說明的是,本發明的計算機設備包括但不限於用戶設備和網絡設備。其中,所述用戶設備包括但不限於PC機、筆記本電腦、智慧型手機、PDA等;所述網絡設備包括但不限於單個網絡伺服器、多個網絡伺服器組成的伺服器組等。需要說明的是,所述計算機設備和用戶設備僅為舉例,其他現有的或今後可能出現的設備如可適用於本發明,也應包含在本發明保護範圍以內,並以引用方式包含於此。以下將參照圖3和圖4,分別說明在計算機設備中生成用於內存數據共享的共享信息以及根據用於內存數據共享的共享信息來更新數據信息的方式。圖3為本發明一個優選實施例的在計算機設備中生成用於內存數據共享的共享信息的方法流程圖。本實施例的方法包括步驟Sll和步驟S12。在步驟Sll中,計算機設備根據應用程式在本計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息kv_log,其中,所述共享信息kv_log包括所述數據信息以及所述更新操作。優選地,共享信息kv_log存儲於計算機設備的非易失性存儲器中。其中,所述非易失性存儲器可包括諸如硬碟、U盤等斷電後仍能保存數據的存儲器。優選地,所述更新操作包括但不限於修改操作SET、修改多個對象的操作SET_MULTIPLE,刪除操作DEL,刪除多個對象的操作DEL_MULTIPLE,全部清空操作CLEAR,屬性修改操作SET_PR0PERTY,全部內存信息寫入磁碟的操作DUMP,空操作NOP等。優選地,共享信息kv_log還可包括以下至少一項I)校驗碼,例如,CRC校驗碼等;2)用於標識共享信息kv_log的生成時間先後的序列標識信息;其中,序列標識信息可包括任何能夠標識共享信息kv_log的生成時間先後的的信息,例如,共享信息kv_log的生成時間點、共享信息kv_log的版本號和/或序列號等。優選地,數據信息可包括以下至少一項
I)鍵;2)與鍵對應的值;3)鍵值對個數。具體地,計算機設備根據應用程式在本計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息kv_log的方式包括但不限於I)應用程式直接在特定內存MEM_SHARE進行數據更新操作,計算機設備直接根據應用程式更新的數據信息以及對所述數據信息執行的更新操作,生成共享信息kv_log。
例如,應用程式為一個計費應用,其將存儲在特定內存MEM_SHARE中的用戶帳戶餘額修改為99元;則計算機設備根據計費應用在特定內存MEM_SHARE中更新的用戶帳戶餘額數據信息為99以及對用戶帳戶餘額數據信息執行的操作為修改操作SET,生成共享信息kv_log如下所示SET_1_11_99 ;其中,「SET」表示更新操作為修改操作,「I」表示鍵值對個數為1,「11」表示用戶標識信息為11,「99」表示更新的用戶帳戶餘額數據信息。又例如,在上例中,計算機設備根據計費應用在特定內存MEM_SHARE中更新的用戶帳戶餘額數據信息為99以及對用戶帳戶餘額數據信息執行的操作為修改SET,且不同類型的鍵所對應的值存儲在特定內存MEM_SHARE的不同區域中,生成共享信息kv_log如下所示0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_1_1l_99_lnulI ;其中,「Of3d4b2f 」為校驗碼,第一個「I」表示版本號,「I. O. O. O. O. O. O」以及「4543324」為序列號,「SET」表示更新操作為修改操作,第二個「I」表示鍵值對個數為1,「11」表示用戶標識信息為11(即鍵值對中的鍵),「99」表示更新的用戶帳戶餘額數據信息(即鍵值對中的值),「lnull」用於標識本共享信息kv_log中的鍵對應的值在特定內存MEM_SHARE中的存儲區域。2)計算機設備或能夠與計算機設備通信的其他設備具有預定靜態連結庫,該預定靜態連結庫包括用於供調用以生成共享信息kv_log的共享生成API。應用程式通過調用預定靜態連結庫來在分配給預定靜態連結庫的特定內存MEM_SHARE中進行數據更新操作。計算機設備根據應用程式通過調用預定靜態連結庫,在特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述預定靜態連結庫包括用於供調用以生成所述共享信息的共享生成API。例如,應用程式為一個計費應用,當其需要將存儲在特定內存MEM_SHARE中的用戶帳戶餘額修改為99元時,其通過調用預定靜態連結庫提供給的共享生成API,來執行上述修改操作;則計算機設備根據基於預定靜態連結庫獲得的可執行文件,並結合計費應用調用共享生成API在特定內存MEM_SHARE中執行更新操作時更新的用戶帳戶餘額數據信息99以及對用戶帳戶餘額數據信息執行的操作為修改操作SET,生成共享信息kv_log如下所示0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_l_ll_99_lnull。通過採用預定靜態連結庫提供共享生成API,使得無需對應用程式進行較大修改,即能實現生成共享信息kv_log的效果;此外,還可將預定靜態連結庫嵌入應用程式中,擴大了本發明的方案的適用範圍。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據應用程式在本計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息的實現方式,均應包含在本發明的範圍內。在步驟S12中,計算機設備向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息kv_log。具體地,計算機設備向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息kv_log的方式包括但不限於I)計算機設備不斷檢測是否存在尚未發送的共享信息kv_log,並當檢測到存在尚未發送的共享信息kv_log時,立即向其他計算機設備發送該尚未發送的共享信息kv_ log。例如,計算機設備創建一個獨立進程PRIMARY,該獨立進程不斷檢測是否存在尚未發送的共享信息kv_log,並當檢測到存在尚未發送的共享信息kv_log時,立即向其他計算機設備發送該尚未發送的共享信息kv_log。2)計算機設備根據步驟Sll來觸發步驟S12的執行。例如,當計算機設備在步驟Sll中生成共享信息kv_log時,步驟S12被觸發,計算機設備向與本計算機設備進行內存數據共享的其他計算機設備發送在步驟Sll中生成的共享信息kv_log。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息的實現方式,均應包含在本發明的範圍內。優選地,在共享信息kv_log包括用於標識其生成時間先後的序列標識信息的實施例中,步驟S12包括步驟S12』。在步驟S12』中,計算機設備根據共享信息kv_log包含的序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向與其進行內存數據共享的其他計算機設備發送,直至當前已不存在尚未發送的共享信息。例如,共享信息kv_log的序列標識信息表示為其生成時間。計算機設備不斷探測是否存在尚未發送的共享信息kv_log,並當探測到存在當前尚未發送的兩個共享信息時,根據該兩個共享信息的生成時間分別為2012. 8. 20-10:22和2012. 8. 20-10:23,選擇生成時間較早的共享信息,發送給與本計算機設備進行內存數據共享的其他計算機設備;接著,計算機設備發送另一生成時間較晚的共享信息;接著,當計算機設備檢測到當前不存在尚未發送的共享信息kv_log時,不再執行進一步操作。又例如,共享信息kv_log的序列標識信息表示為版本號以及序列號,且版本號以及序列號越小,表示生成時間越早。當計算機設備在步驟Sll中生成共享信息kv_log時,步驟S2』被觸發,計算機設備根據當前尚未發送的兩個共享信息的序列標識信息分別為「版本號 I ;序列號 I. O. O. O. O. O. 0_4543324」 以及「版本號 I ;序列號 I. O. O. O. O. O. 0_4543325」,選擇序列標識信息為「版本號I ;序列號I. O. O. O. O. O. 0_4543324」的共享信息kv_log,發送給與本計算機設備進行內存數據共享的其他計算機設備;接著,計算機設備發送另一生成時間較晚的共享信息;接著,計算機設備根據當前不存在尚未發送的共享信息kv_log,不再執行進一步操作。需要說明的是,計算機設備還可根據序列標識信息,來對共享信息kv_log進行諸如去重等整理操作。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據共享信息kv_log包含的序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向與其進行內存數據共享的其他計算機設備發送,直至當前已不存在尚未發送的共享信息的實現方式,均應包含在本發明的範圍內。需要說明的是,步驟Sll和步驟S12之間並無絕對的先後順序,例如,計算機設備可在執行步驟Sll以生成一個共享信息的同時,執行步驟S12來發送另一已生成的共享信肩、O
作為本實施例的優選方案之一,共享信息映射在計算機設備的非易失性存儲器中,本實施例還包括步驟S13和步驟S14。在步驟S13中,當內存數據恢復操作被觸發時,計算機設備從非易失性存儲器中讀取共享信息kv_log。優選地,觸發內存數據恢復操作的條件包括但不限於I)內存數據初始化操作被執行;例如,技術人員將內存數據存儲在非易失性存儲器中,並執行初始化操作以建立內存數據,則計算機設備啟動內存數據恢復操作。2)計算機設備檢測到上一次關閉操作為非正常關閉;例如,計算機設備檢測到上一次關閉操作為斷電因素造成的非正常關閉,則計算機設備啟動內存數據恢復操作。在步驟S14中,計算機設備根據所讀取的共享信息kv_log,在特定內存MEM_SHARE中恢復數據信息。具體地,計算機設備根據共享信息kv_log的生成時間的先後順序,逐一獲取共享信息kv_log包含的數據信息以及對數據信息執行的更新操作,並根據數據信息以及更新操作,在特定內存MEM_SHARE中建立或更新數據,以恢復特定內存MEM_SHARE中的數據信息。其中,共享信息kv_log的生成時間的先後,可根據共享信息的存儲順序或命名,或者,根據共享信息的序列標識信息來確定。例如,非易失性存儲器中存在3條共享信息kv_log,計算機設備在步驟S13中按照共享信息kv_log的存儲順序,逐一讀取該3條共享信息,則在步驟14中,計算機設備按照讀取順序,對於其在步驟S13中讀取的第一條共享信息kv_log,從其中獲取數據信息以及對數據信息執行的更新操作,並根據數據信息以及更新操作,在特定內存MEM_SHARE中建立或更新數據;接著,計算機設備對其在步驟S13中讀取的第二條共享信息kv_log同樣執行上述操作;接著,計算機設備對其在步驟S13中讀取的第三條共享信息kv_log同樣執行上述操作。由此,計算機設備可恢復特定內存MEM_SHARE中的數據信息。需要說明的是,步驟S13和步驟S14之間並無絕對的先後順序,例如,計算機設備可在執行步驟S13來讀取共享信息kv_log的同時,執行步驟S14來根據已讀取的共享信息執行內存數據恢復操作。本發明通過根據應用程式對特定內存的更新操作以及更新的數據,生成共享信息,並直接發送給與本計算機設備進行共享的其他計算機設備,使得不同計算機設備之間能夠實現內存數據共享。並且,本發明無需第三方介質在多個計算機設備之間傳遞內存修改信息,因此,本發明具有較高的實時性,且系統穩定性高。此外,本發明還能夠在發生意外後,如計算機設備突然斷電後,重新恢復內存數據。圖4為本發明一個優選實施例的在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的方法流程圖。本實施例的方法包括步驟S21、步驟S22和步驟S23。在步驟S21中,計算機設備接收與其進行數據共享的其他計算機設備發送的共享信息kv_log,其中,所述共享信息包括所述其他計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作。在步驟S22中,計算機設備從所述共享信息kv_log中獲取更新的數據信息以及對 所述數據信息執行的所述更新操作。具體地,計算機設備從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的更新操作的方式包括但不限於I)計算機設備不斷檢測是否接收到共享信息,並當接收到共享信息時,立即執行從其中獲取更新的數據信息以及對所述數據信息執行的更新操作的步驟。例如,計算機設備創建一個獨立進程BACNUP,不斷檢測是否接收到共享信息kv_log,並當檢測到接收到如下所示的共享信息kv_log時0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_l_ll_99_lnull ;從其中獲得更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99。2)計算機設備根據步驟S21來觸發步驟S22的執行。例如,當計算機設備在步驟S21中接收到共享信息kv_log時,步驟S22被觸發,計算機設備從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的更新操作。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的所述更新操作的實現方式,均應包含在本發明的範圍內。接著,在步驟S23中,計算機設備根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在本計算機設備的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致。具體地,計算機設備根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在本計算機設備的特定內存MEM_SHARE中的數據信息的方式包括但不限於I)計算機設備直接根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在本計算機設備的特定內存MEM_SHARE中的數據信息。例如,計算機設備根據更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99,直接將特定內存MEM_SHARE中的用戶帳戶餘額數據信息修改為99。2)計算機設備或能夠與計算機設備通信的其他設備具有預定靜態連結庫,該預定靜態連結庫包括用於供調用以更新所述數據信息的更新API。計算機設備通過調用預定靜態連結庫,根據從共享信息kv_log中獲取的數據信息和更新操作,更新分配給預定靜態連結庫的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致。例如,在步驟S22中獲得的更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99 ;計算機設備通過調用靜態連結庫的更新API,將特定內存MEM_SHARE中的用戶帳戶餘額數據信息修改為99。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在本計算機設備的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致的實現方式,均應包含在本發明的範圍內。需要說明的是,步驟S21與步驟S22和S23之間並無絕對的先後順序,例如,計算·機設備可在執行步驟S21來接收共享信息kv_log的同時,執行步驟S22和S23來根據已接收的其他共享信息kv_log更新特定內存MEM_SHARE中的數據信息。作為本實施例的優選方案之一,共享信息映射在計算機設備的非易失性存儲器中,本實施例還包括步驟S24和步驟S25。在步驟S24中,當內存數據恢復操作被觸發時,計算機設備從非易失性存儲器MEM_SHARE中讀取共享信息。在步驟S25中,計算機設備根據所讀取的共享信息,在特定內存MEM_SHARE中恢復數據信息。其中,步驟S24與步驟S25和參照圖3所示實施例的步驟S13和步驟S14相同或相似,在此不再贅述。當所述恢復數據信息的操作成功後,計算機設備執行所述步驟S21至S23。作為本實施例的優選方案之一,共享信息kv_log還包括用於標識其生成時間先後的序列標識信息,本實施例還包括步驟S26。在步驟S26中,計算機設備根據所述序列標識信息,從當前尚未被讀取的共享信息kv_log中選擇最早生成的共享信息,並對所選擇的共享信息kv_log執行所述步驟S22和步驟S23,直至當前已不存在尚未被讀取的共享信息。例如,共享信息kv_log的序列標識信息表示為其生成時間。計算機設備不斷探測是否存在尚未被讀取的共享信息kv_log,並當探測到存在當前存在尚未被讀取的兩個共享信息kv_log時,根據該兩個共享信息的生成時間分別為2012. 8. 20-10:22和2012. 8. 20-10:23,選擇生成時間較早的共享信息,對其執行步驟S22和S23 ;接著,計算機設備對另一生成時間較晚的共享信息執行步驟S22和S23 ;接著,當計算機設備檢測到當前不存在尚未被讀取的共享信息kv_log時,不再執行進一步操作。又例如,共享信息kv_log的序列標識信息表示為版本號以及序列號,且版本號以及序列號越小,表示生成時間越早。當計算機設備在步驟S21中接收到共享信息kv_log時,步驟S26被觸發,計算機設備根據當前尚未被讀取的兩個共享信息兩個共享信息的序列標識信息分別為「版本號I ;序列號1.0. O. O. O. O. 0_4543324」以及「版本號I ;序列號I. O. O. O. O. O. 0_4543325」,選擇序列標識信息為「版本號I ;序列號I. O. O. O. O. O. 0_4543324」的共享信息kv_log,對其執行步驟S22和步驟S23 ;接著,計算機設備對另一生成時間較晚的共享信息執行步驟S22和S23 ;接著,當計算機設備檢測到當前不存在尚未被讀取的共享信息kv_log時,不再執行進一步操作。本發明通過根據共享信息kv_log中的數據信息以及更新操作,來對特定內存中與共享信息kv_log中的數據信息相應的數據信息,例如,對特定內存中與共享信息kv_log中的鍵相同的鍵的值,執行共享信息包含的更新操作。由此,能夠使得接收共享信息的計算機設備與發送共享信息的計算機設備中的內存數據保持一致。並且,本發明無需第三方介質在多個計算機設備之間傳遞內存修改信息,因此,本發明具有較高的實時性,且系統穩定性高。此外,本發明還能夠在發生意外後,如計算機設備突然斷電後,重新恢復內存數據。以下將參照圖5和圖6,分別說明在計算機設備中生成用於內存數據共享的共享信息的信息生成裝置以及根據用於內存數據共享的共享信息來更新數據信息的信息更新
>J-U ρ α·裝直。圖5為本發明一個優選實施例的在計算機設備中生成用於內存數據共享的共享信息的信息生成裝置的結構示意圖。本實施例的信息生成裝置包含於計算機設備中,優選地,信息生成裝置包含於應用程式中;其中,該信息生成裝置包括生成裝置11和發送裝置12。生成裝置11根據應用程式在其所屬計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息kv_log,其中,所述共享信息kv_log包括所述數據信息以及所述更新操作。優選地,共享信息kv_log存儲於計算機設備的非易失性存儲器中。其中,所述非易失性存儲器可包括諸如硬碟、U盤等斷電後仍能保存數據的存儲器。優選地,所述更新操作包括但不限於修改操作SET、修改多個對象的操作SET_MULTIPLE,刪除操作DEL,刪除多個對象的操作DEL_MULTIPLE,全部清空操作CLEAR,屬性修改操作SET_PR0PERTY,全部內存信息寫入磁碟的操作DUMP,空操作NOP等。優選地,共享信息kv_log還可包括以下至少一項I)校驗碼,例如,CRC校驗碼等;2)用於標識共享信息kv_log的生成時間先後的序列標識信息;其中,序列標識信息可包括任何能夠標識共享信息kv_log的生成時間先後的的信息,例如,共享信息kv_log的生成時間點、共享信息kv_log的版本號和/或序列號等。優選地,數據信息可包括以下至少一項I)鍵;2)與鍵對應的值;3)鍵值對個數。具體地,生成裝置11根據應用程式在其所屬計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息kv_log的方式包括但不限於I)應用程式直接在特定內存MEM_SHARE進行數據更新操作,生成裝置11直接根據應用程式更新的數據信息以及對所述數據信息執行的更新操作,生成共享信息kv_log。例如,應用程式為一個計費應用,其將存儲在特定內存MEM_SHARE中的用戶帳戶餘額修改為99元;則生成裝置11根據計費應用在特定內存MEM_SHARE中更新的用戶帳戶餘額數據信息為99以及對用戶帳戶餘額數據信息執行的操作為修改操作SET,生成共享信息kv_log如下所示SET_1_11_99 ;其中,「SET」表示更新操作為修改操作, 「I」表示鍵值對個數為1,「11」表示用戶標識信息為11,「99」表示更新的用戶帳戶餘額數據信息。又例如,在上例中,生成裝置11根據計費應用在特定內存MEM_SHARE中更新的用戶帳戶餘額數據信息為99以及對用戶帳戶餘額數據信息執行的操作為修改SET,且不同類型的鍵所對應的值存儲在特定內存MEM_SHARE的不同區域中,生成共享信息kv_log如下所示
0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_l_ll_99_lnull ;其中,「0f3d4b2f」為校驗碼,第一個「I」以及「 I. O. O. O. O. O. O」為版本號,「4543324」為序列號,「SET」表示更新操作為修改操作,第二個「I」表示鍵值對個數為1,「11」表示用戶標識信息為11(即鍵值對中的鍵),「99」表示更新的用戶帳戶餘額數據信息(即鍵值對中的值),「I null」用於標識本共享信息kv_log中的鍵對應的值在特定內存MEM_SHARE中的存儲區域。。2)計算機設備或能夠與計算機設備通信的其他設備具有預定靜態連結庫,該預定靜態連結庫包括用於供調用以生成共享信息kv_log的共享生成API。應用程式通過調用預定靜態連結庫來在分配給預定靜態連結庫的特定內存MEM_SHARE中進行數據更新操作。生成裝置11包括子生成裝置(圖未示),子生成裝置根據應用程式通過調用預定靜態連結庫,在特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述預定靜態連結庫包括用於供調用以生成所述共享信息的共享生成API。例如,應用程式為一個計費應用,當其需要將存儲在特定內存MEM_SHARE中的用戶帳戶餘額修改為99元時,其通過調用預定靜態連結庫提供給的共享生成API,來執行上述修改操作;則子生成裝置根據基於預定靜態連結庫獲得的可執行文件,並結合計費應用調用共享生成API在特定內存MEM_SHARE中執行更新操作時更新的用戶帳戶餘額數據信息99以及對用戶帳戶餘額數據信息執行的操作為修改操作SET,生成共享信息kv_log如下所示0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_l_ll_99_lnull。通過採用預定靜態連結庫提供共享生成API,使得無需對應用程式進行較大修改,即能實現生成共享信息kv_log的效果;此外,還可將預定靜態連結庫嵌入應用程式中,擴大了本發明的方案的適用範圍。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據應用程式在其所屬計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的共享信息的實現方式,均應包含在本發明的範圍內。發送裝置12向與其所屬計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息kv_log。
具體地,發送裝置12向與其所屬計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息kv_log的方式包括但不限於I)發送裝置12不斷檢測是否存在尚未發送的共享信息kv_log,並當檢測到存在尚未發送的共享信息kv_log時,立即向其他計算機設備發送該尚未發送的共享信息kv_log。例如,發送裝置12創建一個獨立進程PRIMARY,該獨立進程不斷檢測是否存在尚未發送的共享信息kv_log,並當檢測到存在尚未發送的共享信息kv_log時,立即向其他計算機設備發送該尚未發送的共享信息kv_log。2)發送裝置12根據生成裝置11的操作來被觸發。例如,當生成裝置11生成共享信息kv_log時,發送裝置12被觸發,發送裝置12向與與其所屬計算機設備進行內存數據共享的其他計算機設備發送在生成裝置11生成的共享信息kv_log。 需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何向與計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息的實現方式,均應包含在本發明的範圍內。優選地,在共享信息kv_log包括用於標識其生成時間先後的序列標識信息的實施例中,發送裝置12包括子發送裝置(圖未示)。子發送裝置根據共享信息kv_log包含的序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向與其所屬計算機設備進行內存數據共享的其他計算機設備發送,直至當前已不存在尚未發送的共享信息。例如,共享信息kv_log的序列標識信息表示為其生成時間。子發送裝置不斷探測是否存在尚未發送的共享信息kv_log,並當探測到存在當前尚未發送的兩個共享信息時,根據該兩個共享信息的生成時間分別為2012. 8. 20-10:22和2012. 8. 20-10:23,選擇生成時間較早的共享信息,發送給與其所屬計算機設備進行內存數據共享的其他計算機設備;接著,子發送裝置發送另一生成時間較晚的共享信息;接著,子發送裝置檢測到當前不存在尚未發送的共享信息kv_log時,不再執行進一步操作。又例如,共享信息kv_log的序列標識信息表示為版本號以及序列號,且版本號以及序列號越小,表示生成時間越早。當生成裝置11生成共享信息kv_log時,子發送裝置被觸發,子發送裝置根據當前尚未發送的兩個共享信息的序列標識信息分別為「版本號I ;序列號 I. O. O. O. O. O. 0_4543324」 以及「版本號 I ;序列號 I. O. O. O. O. O. 0_4543325」,選擇序列標識信息為「版本號I ;序列號I. O. O. O. O. O. 0_4543324」的共享信息kv_log,發送給與其所屬計算機設備進行內存數據共享的其他計算機設備;接著,子發送裝置發送另一生成時間較晚的共享信息;接著,子發送裝置根據當前不存在尚未發送的共享信息kv_log,不再執行進一步操作。需要說明的是,計算機設備還可根據序列標識信息,來對共享信息kv_log進行諸如去重等整理操作。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據共享信息kv_log包含的序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向與其進行內存數據共享的其他計算機設備發送,直至當前已不存在尚未發送的共享信息的實現方式,均應包含在本發明的範圍內。需要說明的是,生成裝置11和發送裝置12執行的操作之間並無絕對的先後順序,例如,生成裝置11生成一個共享信息的同時,發送裝置12可執行操作以發送另一已生成的
共享信息。作為本實施例的優選方案之一,共享信息映射在計算機設備的非易失性存儲器中,本實施例的信息生成裝置還包括第一讀取裝置(圖未示)和第一恢復裝置(圖未示)。當內存數據恢復操作被觸發時,第一讀取裝置從非易失性存儲器中讀取共享信息kv_log。優選地,觸發內存數據恢復操作的條件包括但不限於I)內存數據初始化操作被執行;
例如,技術人員將內存數據存儲在非易失性存儲器中,並執行初始化操作以建立內存數據,則第一讀取裝置啟動內存數據恢復操作。2)計算機設備檢測到上一次關閉操作為非正常關閉;例如,計算機設備檢測到上一次關閉操作為斷電因素造成的非正常關閉,則第一讀取裝置啟動內存數據恢復操作。第一恢復裝置根據所讀取的共享信息kv_log,在特定內存MEM_SHARE中恢復數據信息。具體地,第一恢復裝置根據共享信息kv_log的生成時間的先後順序,逐一獲取共享信息kv_log包含的數據信息以及對數據信息執行的更新操作,並根據數據信息以及更新操作,在特定內存MEM_SHARE中建立或更新數據,以恢復特定內存MEM_SHARE中的數據信息。其中,共享信息kv_log的生成時間的先後,可根據共享信息的存儲順序或命名,或者,根據共享信息的序列標識信息來確定。例如,非易失性存儲器中存在3條共享信息kv_log,第一讀取裝置按照共享信息kv_log的存儲順序,逐一讀取該3條共享信息,則第一恢復裝置按照讀取順序,對於其第一讀取裝置讀取的第一條共享信息kv_log,從其中獲取數據信息以及對數據信息執行的更新操作,並根據數據信息以及更新操作,在特定內存MEM_SHARE中建立或更新數據;接著,第一恢復裝置對第一讀取裝置讀取的第二條共享信息kv_log同樣執行上述操作;接著,第一恢復裝置對第一讀取裝置讀取的第三條共享信息kv_log同樣執行上述操作。由此,計算機設備可恢復特定內存MEM_SHARE中的數據信息。需要說明的是,第一讀取裝置和第一恢復裝置執行的操作之間並無絕對的先後順序,例如,第一讀取裝置在讀取共享信息kv_log的同時,第一恢復裝置根據已讀取的其他共享信息執行內存數據恢復操作。本發明通過根據應用程式對特定內存的更新操作以及更新的數據,生成共享信息,並直接發送給與計算機設備進行共享的其他計算機設備,使得不同計算機設備之間能夠實現內存數據共享。並且,本發明無需第三方介質在多個計算機設備之間傳遞內存修改信息,因此,本發明具有較高的實時性,且系統穩定性高。此外,本發明還能夠在發生意外後,如計算機設備突然斷電後,重新恢復內存數據。圖6為本發明一個優選實施例的在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的信息更新裝置的結構示意圖。本實施例的信息更新裝置包含於計算機設備中,優選地,該信息更新裝置包含於應用程式中。該信息更新裝置包括接收裝置21、提取裝置22以及更新裝置23。接收裝置21接收與其所屬計算機設備進行數據共享的其他計算機設備發送的共享信息kv_log,其中,所述共享信息包括所述其他計算機設備的特定內存MEM_SHARE中更新的數據信息以及對所述數據信息執行的更新操作。提取裝置22從所述共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的所述更新操作。具體地,提取裝置22從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的更新操作的方式包括但不限於I)提取裝置22不斷檢測是否接收到共享信息,並當接收到共享信息時,立即執行從其中獲取更新的數據信息以及對所述數據信息執行的更新操作的操作。·
例如,提取裝置22創建一個獨立進程BACNUP,不斷檢測是否接收到共享信息kv_log,並當檢測到接收到如下所示的共享信息kv_log時0f3d4b2f_l_l. O. O. O. O. O. 0_4543324_SET_l_ll_99_lnull ;從其中獲得更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99。2)提取裝置22根據接收裝置21的操作來被觸發。例如,當接收裝置21接收到共享信息kv_log時,提取裝置22被觸發,其從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的更新操作。需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何從共享信息kv_log中獲取更新的數據信息以及對所述數據信息執行的所述更新操作的實現方式,均應包含在本發明的範圍內。接著,更新裝置23根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在計算機設備的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致。具體地,更新裝置23根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在計算機設備的特定內存MEM_SHARE中的數據信息的方式包括但不限於I)更新裝置23直接根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在計算機設備的特定內存MEM_SHARE中的數據信息。例如,更新裝置23根據更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99,直接將特定內存MEM_SHARE中的用戶帳戶餘額數據信息修改為99。2)計算機設備或能夠與計算機設備通信的其他設備具有預定靜態連結庫,該預定靜態連結庫包括用於供調用以更新所述數據信息的更新API。更新裝置23包括子更新裝置(圖未示)。子更新裝置通過調用預定靜態連結庫,根據從共享信息kv_log中獲取的數據信息和更新操作,更新分配給預定靜態連結庫的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致。例如,提取裝置22獲得的更新操作為修改操作SET,更新的數據信息為用戶帳戶餘額數據信息99 ;子更新裝置通過調用靜態連結庫的更新API,將特定內存MEM_SHARE中的用戶帳戶餘額數據信息修改為99。
需要說明的是,上述舉例僅為更好地說明本發明的技術方案,而非對本發明的限制,本領域技術人員應該理解,任何根據從共享信息kv_log中獲得的數據信息以及所新操作,更新存儲在計算機設備的特定內存MEM_SHARE中的數據信息,以使特定內存MEM_SHARE中的數據信息與其他計算機設備的特定內存中的數據信息保持一致的實現方式,均應包含在本發明的範圍內。需要說明的是,接收裝置21與提取裝置22和更新裝置23之間並無絕對的先後順序,例如,接收裝置21在接收共享信息kv_log的同時,提取裝置22和更新裝置23根據已接收的其他共享信息kv_log更新特定內存MEM_SHARE中的數據信息。作為本實施例的優選方案之一,共享信息映射在計算機設備的非易失性存儲器中,本實施例的信息更新裝置還包括第二讀取裝置(圖未示)和第二恢復裝置(圖未示)。當內存數據恢復操作被觸發時,第二讀取裝置從非易失性存儲器MEM_SHARE中讀取共享信息。第二恢復裝置根據所讀取的共享信息,在特定內存MEM_SHARE中恢復數據信肩、O 其中,第二讀取裝置和第二恢復裝置和參照圖5所示實施例的第一讀取裝置和第一恢復裝置相同或相似,在此不再贅述。信息更新裝置還包括第一觸發裝置(圖未示),當所述恢復數據信息的操作成功後,第一觸發裝置觸發接收裝置21、提取裝置22和更新裝置23執行操作。作為本實施例的優選方案之一,共享信息kv_log還包括用於標識其生成時間先後的序列標識信息,本實施例的信息更新裝置還包括第二觸發裝置(圖未示)。第二觸發裝置根據所述序列標識信息,從當前尚未被讀取的共享信息kv_log中選擇最早生成的共享信息,並觸發提取裝置22和更新裝置23對所選擇的共享信息kv_log執行操作,直至當前已不存在尚未被讀取的共享信息。例如,共享信息kv_log的序列標識信息表示為其生成時間。第二觸發裝置不斷探測是否存在尚未被讀取的共享信息kv_log,並當探測到存在當前存在尚未被讀取的兩個共享信息kv_log時,根據該兩個共享信息的生成時間分別為2012. 8. 20-10:22和2012. 8. 20-10:23,選擇生成時間較早的共享信息,觸發提取裝置22和更新裝置23對其執行操作;接著,第二觸發裝置觸發提取裝置22和更新裝置23對另一生成時間較晚的共享信息執行操作;接著,當第二觸發裝置檢測到當前不存在尚未被讀取的共享信息kv_log時,不再執行進一步操作。又例如,共享信息kv_log的序列標識信息表示為版本號以及序列號,且版本號以及序列號越小,表示生成時間越早。當接收裝置21接收到共享信息kv_log時,第二觸發裝置被觸發,其根據當前尚未被讀取的兩個共享信息兩個共享信息的序列標識信息分別為「版本號I ;序列號I. O. O. O. O. O. 0_4543324」以及「版本號I ;序列號I. O. O. O. O. O. 0_序列號4543325」,選擇序列標識信息為「版本號I ;序列號I. O. O. O. O. O. 0_4543324」的共享信息kv_log,觸發提取裝置22和更新裝置23對其執行操作;接著,對另一生成時間較晚的共享信息,第二觸發裝置觸發提取裝置22和更新裝置23對其執行操作;接著,當第二觸發裝置檢測到當前不存在尚未被讀取的共享信息kv_log時,不再執行進一步操作。本發明通過根據共享信息kv_log中的數據信息以及更新操作,來對特定內存中與共享信息kv_log中的數據信息相應的數據信息,例如,對特定內存中與共享信息kv_log中的鍵相同的鍵的值,執行共享信息包含的更新操作。由此,能夠使得接收共享信息的計算機設備與發送共享信息的計算機設備中的內存數據保持一致。並且,本發明無需第三方介質在多個計算機設備之間傳遞內存修改信息,因此,本發明具有較高的實時性,且系統穩定性高。此外,本發明還能夠在發生意外後,如計算機設備突然斷電後,重新恢復內存數據。
需要說明的是,一個計算機設備中可包含內存數據共享裝置,該內存數據共享裝置同時包含上述信息生成裝置以及信息更新裝置。優選地,該內存數據共享裝置包含於計算機設備的應用程式中。
需要注意的是,本發明可在軟體,硬體,和/或,軟體與硬體的組合體中被實施,例如,可採用專用集成電路(ASIC)或任何其他類似硬體設備來實現本發明的信息生成裝置和信息更新裝置。在一個實施例中,本發明的軟體程序可以通過處理器執行以實現上文所述步驟或功能。同樣地,本發明的軟體程序(包括相關的數據結構)可以被存儲到計算機可讀記錄介質中,例如,RAM存儲器,磁或光碟機動器或軟磁碟及類似設備。另外,本發明的一些步驟或功能可採用硬體來實現,例如,作為與處理器配合從而執行各個步驟或功能的電路。
對於本領域技術人員而言,顯然本發明不限於上述示範性實施例的細節,而且在不背離本發明的精神或基本特徵的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本發明的範圍由 所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和範圍內的所有變化涵括在本發明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然「包括」 一詞不排除其他單元或步驟,單數不排除複數。系統權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。
權利要求
1.一種在計算機設備中生成用於內存數據共享的共享信息的方法,其中,該方法包括以下步驟a根據應用程式在本計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述共享信息包括所述數據信息以及所述更新操作;b向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息。
2.根據權利要求I所述的方法,其中,所述步驟a包括以下步驟_根據所述應用程式通過調用預定靜態連結庫來在分配給所述預定靜態連結庫的所述特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述預定靜態連結庫包括用於供調用以生成所述共享信息的共享生成API。
3.根據權利要求2所述的方法,其中,所述共享信息還包括用於標識其生成時間先後的序列標識信息,所述步驟b包括以下步驟-根據所述序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向所述其他計算機設備發送,直至當前已不存在尚未發送的共享信息。
4.根據權利要求I至3中任一項所述的方法,其中,所述共享信息映射在本計算機設備的非易失性存儲器中,該方法還包括以下步驟X當內存數據恢復操作被觸發時,從所述非易失性存儲器中讀取共享信息; y根據所讀取的共享信息,在所述特定內存中恢復數據信息。
5.根據權利要求I至4中任一項所述的方法,其中,所述共享信息還包括_校驗碼;其中,所述數據信息包括以下至少一項-鍵值對個數;-鍵;_值。
6.一種在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的方法,其中,該方法包括以下步驟A接收與本計算機設備進行數據共享的其他計算機設備發送的共享信息,其中,所述共享信息包括所述其他計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作;B從所述共享信息中獲取所述數據信息以及所述更新操作;C根據所述數據信息以及所述更新操作,更新存儲在本計算機設備的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據信息保持一致。
7.根據權利要求6所述的方法,其中,所述步驟C包括以下步驟_調用預定靜態連結庫,根據從所述共享信息中獲取的數據信息和所述更新操作,更新分配給所述預定靜態連結庫的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據信息保持一致,其中,所述預定靜態資料庫包括用於供調用以更新所述數據信息的更新API。
8.根據權利要求6或7所述的方法,其中,所述共享信息映射在本計算機設備的非易失性存儲器中,該方法還包括以下步驟X當內存數據恢復操作被觸發時,從所述非易失性存儲器中讀取共享信息;Y根據所讀取的共享信息,在所述特定內存中恢復數據信息;其中,該方法還包括以下步驟-當所述恢復數據信息的操作成功後,執行所述步驟A至C。
9.根據權利要求6至8中任一項所述的方法,其中,所述共享信息還包括用於標識其生成時間先後的序列標識信息,該方法還包括以下步驟-根據所述序列標識信息,從當前尚未被讀取的共享信息中選擇最早生成的共享信息, 並對所選擇的共享信息執行所述步驟B和步驟C,直至當前已不存在尚未被讀取的共享信肩、O
10.根據權利要求6至9中任一項所述的方法,其中,所述共享信息還包括_校驗碼;其中,所述數據信息包括以下至少一項-鍵值對個數;-鍵;_值。
11.一種在計算機設備中生成用於內存數據共享的共享信息的信息生成裝置,其中,該信息生成裝置包括生成裝置,用於根據應用程式在本計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述共享信息包括所述數據信息以及所述更新操作;發送裝置,用於向與本計算機設備進行內存數據共享的其他計算機設備發送所生成的共享信息。
12.根據權利要求11所述的信息生成裝置,其中,所述生成裝置包括子生成裝置,用於根據所述應用程式通過調用預定靜態連結庫來在分配給所述預定靜態連結庫的所述特定內存中更新的數據信息以及對所述數據信息執行的更新操作,生成用於內存數據共享的所述共享信息,其中,所述預定靜態連結庫包括用於供調用以生成所述共享信息的共享生成API。
13.根據權利要求12所述的信息生成裝置,其中,所述共享信息還包括用於標識其生成時間先後的序列標識信息,所述發送裝置包括子發送裝置,用於根據所述序列標識信息,從當前尚未發送的共享信息中選擇最早生成的共享信息,向所述其他計算機設備發送,直至當前已不存在尚未發送的共享信息。
14.根據權利要求11至13中任一項所述的信息生成裝置,其中,所述共享信息映射在本計算機設備的非易失性存儲器中,該信息生成裝置還包括第一讀取裝置,用於當內存數據恢復操作被觸發時,從所述非易失性存儲器中讀取共享信息;第一恢復裝置,用於根據所讀取的共享信息,在所述特定內存中恢復數據信息。
15.根據權利要求11至14中任一項所述的信息生成裝置,其中,所述共享信息還包括_校驗碼;其中,所述數據信息包括以下至少一項-鍵值對個數;-鍵;_值。
16.一種在計算機設備中根據用於內存數據共享的共享信息來更新數據信息的信息更新裝置,其中,該信息更新裝置包括接收裝置,用於接收與本計算機設備進行數據共享的其他計算機設備發送的共享信息,其中,所述共享信息包括所述其他計算機設備的特定內存中更新的數據信息以及對所述數據信息執行的更新操作;提取裝置,用於從所述共享信息中獲取所述數據信息以及所述更新操作;更新裝置,用於根據所述數據信息以及所述更新操作,更新存儲在本計算機設備的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據信息保持一致。
17.根據權利要求16所述的信息更新裝置,其中,所述更新裝置包括子更新裝置,用於調用預定靜態連結庫,根據從所述共享信息中獲取的數據信息和所述更新操作,更新分配給所述預定靜態連結庫的特定內存中的數據信息,以使所述特定內存中的數據信息與所述其他計算機設備的特定內存中的數據信息保持一致,其中,所述預定靜態資料庫包括用於供調用以更新所述數據信息的更新API。
18.根據權利要求16或17所述的信息更新裝置,其中,所述共享信息映射在本計算機設備的非易失性存儲器中,該信息更新裝置還包括第二讀取裝置,用於當內存數據恢復操作被觸發時,從所述非易失性存儲器中讀取共享信息;第二恢復裝置,用於根據所讀取的共享信息,在所述特定內存中恢復數據信息;第一觸發裝置,用於當所述恢復數據信息的操作成功後,觸發所述接收裝置、所述提取裝置和所述更新裝置執行操作。
19.根據權利要求16至18中任一項所述的信息更新裝置,其中,所述共享信息還包括用於標識其生成時間先後的序列標識信息,該信息更新裝置還包括第二觸發裝置,用於根據所述序列標識信息,從當前尚未被讀取的共享信息中選擇最早生成的共享信息,並觸發所述提取裝置和所述更新裝置對所選擇的共享信息執行操作, 直至當前已不存在尚未被讀取的共享信息。
20.根據權利要求16至19中任一項所述的信息更新裝置,其中,所述共享信息還包括_校驗碼;其中,所述數據信息包括以下至少一項-鍵值對個數;-鍵;_值。
21. —種內存數據共享裝置,包括根據權利要求11至15中至少一項所述的信息生成裝置以及根據權利要求16至20中至少一項所述的信息更新裝置。
全文摘要
本發明的提供一種內存數據共享方法、裝置和系統。本發明在計算機設備中生成用於內存數據共享的共享信息,並發送至與其共享內存數據的其他計算機設備中,並接收所述其他計算機設備發送的共享信息,用以更新內存數據。本發明使得不同計算機設備之間能夠實現內存數據共享。
文檔編號G06F9/445GK102929657SQ20121037452
公開日2013年2月13日 申請日期2012年9月27日 優先權日2012年9月27日
發明者李衡宇, 侯文 , 孫華衿 申請人:北京百度網訊科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀