TWI735845B - 資料同步的方法、裝置及設備 - Google Patents
資料同步的方法、裝置及設備 Download PDFInfo
- Publication number
- TWI735845B TWI735845B TW108104570A TW108104570A TWI735845B TW I735845 B TWI735845 B TW I735845B TW 108104570 A TW108104570 A TW 108104570A TW 108104570 A TW108104570 A TW 108104570A TW I735845 B TWI735845 B TW I735845B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- queried
- version
- cache
- identifier
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本說明書公開一種資料同步的方法、裝置及設備,該方法中應用可以確定待查詢資料,並從快取中獲取該待查詢資料對應的版本標識,當確定該待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢該待查詢資料,並將從該資料庫中獲取到的待查詢資料替換儲存在該快取中的該待查詢資料。
Description
本說明書涉及電腦技術領域,尤其涉及一種資料同步的方法、裝置及設備。
為了滿足用戶日益增長的資料查詢需求,目前,可以將一些常用的用戶資料保存在快取中,這樣不僅能夠提高資料的查詢效率,同時還能有效的緩解資料庫的查詢壓力,如圖1所示。
圖1為本說明書提供的現有技術中用戶透過伺服器端進行資料查詢的示意圖。
對於儲存在快取中的資料value1來說,伺服器端可以在接收到攜帶有key1的資料查詢請求後,直接從快取中查詢到key1對應的資料value1。而對於未儲存在快取中的資料value4來說,伺服器端可以透過接收到資料查詢請求中攜帶的key4,從快取中查詢是否存在key4對應的資料。若確定快取中未儲存有key4對應的資料,則可以向資料庫查詢key4對應的資料,進而從資料庫中獲取到key4對應的資料value4。同時,伺服器端可以將key4和value4按照對應關係儲存在快取中,以便後續用戶能夠從快取中快速的查詢key4對應的資料。
在實際應用中,可能會出現資料庫儲存的業務資料發生了變化,但快取中儲存的業務資料卻並未發生變化的情況出現,如圖2所示。
圖2為本說明書提供的資料庫和快取中儲存的資料不一致的示意圖。
例如,假設用戶1起初並未設置用於進行身份驗證的驗證資訊,則資料庫中儲存的用戶1的用戶資料value1中將不包含有用戶的驗證資訊,同時,快取中儲存的用戶資料value1中也將不包含有用戶的驗證資訊。而隨著用戶1對身份驗證需求的不斷增加,用戶1可以在伺服器端設置用於進行身份驗證的驗證資訊,這樣,用戶1的驗證資訊將進一步作為用戶1的用戶資料進行保存,用戶資料value1也將隨著變更為value1´。然而,快取中儲存的依然是value1,這樣一來,伺服器端將無法透過從快取中獲取到的用戶資料value1,對用戶1實施身份驗證。
基於現有技術,需要一種有效的資料同步方式。
本說明書提供一種資料同步的方法,用以解決現有技術中無法對資料庫和快取中的資料進行同步的問題。
本說明書提供了一種資料同步的方法,包括:
應用確定待查詢資料;
從快取中獲取所述待查詢資料對應的版本標識;
當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料。
本說明書提供一種資料同步的裝置,用以解決現有技術中無法對資料庫和快取中的資料進行同步的問題。
本說明書提供了一種資料同步的裝置,包括:
確定模組,確定待查詢資料;
獲取模組,從快取中獲取所述待查詢資料對應的版本標識;
處理模組,當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料。
本說明書提供一種資料同步的設備,用以解決現有技術中無法對資料庫和快取中的資料進行同步的問題。
本說明書提供了一種資料同步的設備,包括一個或多個記憶體以及處理器,所述記憶體儲存程式,並且被配置成由所述一個或多個處理器執行以下步驟:
確定待查詢資料;
從快取中獲取所述待查詢資料對應的版本標識;
當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料。
本說明書採用的上述至少一個技術方案能夠達到以下有益效果:
在本說明書一個或多個實施例中,應用可以確定待查詢資料,並從快取中獲取該待查詢資料對應的版本標識,當確定該待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢該待查詢資料,並將從該資料庫中獲取到的待查詢資料替換儲存在該快取中的該待查詢資料。
從上述方法中可以看出,由於可以透過比對快取中儲存的待查詢資料對應的版本標識與設定版本標識是否一致,來確定快取和資料庫中分別儲存的該待查詢資料是否一致,並在確定出兩者不一致時,進行資料同步,從而有效的保證了資料庫和快取中的資料一致性。
為了使本技術領域的人員更好地理解本說明書一個或多個實施例中的技術方案,下面將結合本說明書一個或多個實施例中的附圖,對本說明書一個或多個實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬本說明書保護的範圍。
圖3為本說明書提供的資料同步的過程示意圖,具體包括以下步驟:
S300:應用確定待查詢資料。
在本說明書中,應用可以在業務執行過程中確定待查詢資料。其中,該待查詢資料可以是應用根據用戶發送的資料查詢請求確定出的,即,用戶需要透過該應用執行資料查詢業務。
當然,該待查詢資料也可以是應用對用戶發送的業務請求進行處理過程中,確定出的執行該業務時所要查詢的資料。例如,應用可以根據用戶發送的支付請求(即上述提到的業務請求),確定在對該支付請求對應的支付業務進行處理的過程中,需要查詢該用戶的帳戶資料,這裡提到的帳戶資料即為上述的待查詢資料。
這裡提到的應用可以指能夠對用戶執行的業務進行處理的伺服器端,當然也可以是指安裝在諸如手機、電腦等終端設備上的客戶端。隨著業務的不斷更新,該應用在執行業務過程的業務邏輯、資料格式等也將會發生相應的變化。相應的,該應用每更新一次,其對應的版本資訊也將隨之發生變化。在本說明書中,當監測到該應用的版本資訊發生變更時,可以根據變更後的版本資訊確定出設定版本標識,以透過該設定版本標識,對後續從快取中獲取到的待查詢資料對應的版本標識進行比對。換句話說,該設定版本標識將隨著該應用的更新而發生改變,變更為與該應用目前的版本資訊相對應的版本標識。
S302:從快取中獲取所述待查詢資料對應的版本標識。
應用在確定該待查詢資料後,可以根據確定出的該待查詢資料對應的資料標識,從快取中查詢該資料標識對應的資料。這裡提到的資料標識用於標識需要查詢的資料。例如,快取中以key-value形式儲存資料時,key即為資料標識,value即為資料標識key對應的資料。這裡提到的快取可以是設置於業務系統中的分散式快取。
應用可以透過確定出的該資料標識,從快取中查詢與該資料標識對應的資料。若確定該分散式快取中儲存有與資料標識對應的資料(即待查詢資料),則可以獲取該待查詢資料對應的版本標識,其中,該版本標識可以版本號、版本變更的時間資訊等形式出現。
在本說明書中,該版本標識可以攜帶在快取中儲存的該待查詢資料中。相應的,應用可以根據確定出的資料標識,從該快取中獲取與該資料標識對應的待查詢資料,進而從該待查詢資料中獲取該待查詢資料對應的版本標識,如圖4所示。
圖4為本說明書提供的應用從快取中獲取待查詢資料對應的版本標識的示意圖。
當快取中以key-value形式儲存資料時,應用可以根據待查詢資料對應的查詢主鍵key1,從快取中查詢出與該key1對應的值:value1,其中,該value1中攜帶有版本標識V1,因此,應用可以從該value1中獲取出該value1(即待查詢資料)對應的版本標識。
當然,在本說明書中,該版本標識也可以攜帶在快取中儲存的資料所對應的標識資訊,這裡可以將該標識資訊稱之為儲存在快取中的資料對應的實際標識。相應的,應用在確定出待查詢資料對應的資料標識後,可以從該快取中確定與該資料標識相匹配的實際標識,進而從該實際標識中獲取該待查詢資料對應的版本標識。
例如,假設待查詢資料value1在快取中以key1_V1-value1的形式儲存,該待查詢資料value1對應的實際標識為key1_V1,V1即為攜帶在該實際標識中的版本標識。因此,應用可以根據待查詢資料對應的資料標識key1,從快取中確定與該資料標識key1相匹配的實際標識key1_V1,繼而可以從該實際標識key1_V1中確定出該待查詢資料value1對應的版本標識V1。
S304:當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的待查詢資料。
應用從快取中獲取到待查詢資料對應的版本標識後,可以將該版本標識與設定版本標識進行比對,當確定兩者不一致時,則可以確定資料庫儲存的該待查詢資料和快取中儲存的該待查詢資料不同步,進而將資料庫中儲存的該待查詢資料同步至快取中。
具體的,當確定從快取中獲取到的待查詢資料對應的版本標識與設定版本標識不一致時,則可以失效該快取中儲存的待查詢資料,並將從資料庫中獲取到的待查詢資料儲存在快取中。
例如,在圖4中,應用目前的版本標識為V2,可以將該版本標識V2作為設定版本標識。並且,資料庫中儲存的各資料對應的版本標識均為V2。應用從快取中獲取到待查詢資料value1對應的版本標識V1後,確定出版本標識V1與該設定版本標識V2不符,則可以透過預設的指令,强制失效快取中儲存的待查詢資料V1。同時,該應用可以透過該待查詢資料對應的資料標識key1,從資料庫中查詢出該資料標識key1對應的資料value1´,以獲取資料value1´,並將value1´儲存在快取中。
即,相當於在確定快取中儲存的待查詢資料對應的版本標識與設定版本標識不一致時,透過資料庫中儲存的版本標識與設定版本標識相一致的資料替換儲存在快取中的待查詢資料,從而完成資料庫和快取中的資料同步。
當然,若是確定待查詢資料對應的版本標識與該設定版本標識相一致,則可以確定出資料庫中儲存的該待查詢資料與快取中儲存的待查詢資料相同步,進而可直接獲取快取中儲存的待查詢資料。
從上述可以看出,在本說明書提供的資料同步方法中,相當於以資料庫中儲存的資料的版本標識為基準,來判斷快取中儲存的資料的版本標識與資料庫中儲存的資料的版本標識是否一致,以此來實現資料庫和快取中的資料同步,從而有效的保證了資料庫和快取中的資料一致性。
需要說明的是,上述提到的設定版本標識可以是根據應用目前的版本資訊確定出的版本標識,也可以是根據目前資料庫中儲存的資料對應的版本標識。應用目前的版本資訊所對應的版本標識可以與資料庫中儲存的資料對應的版本標識相一致,當然也可不一致。但無論是以應用目前的版本資訊確定出的版本標識作為設定版本標識,還是以資料庫中儲存的資料對應的版本標識為設定版本標識,若是從快取中獲取到的待查詢資料的版本標識與該設定版本標識不一致,即可將資料庫中儲存的待查詢資料替換快取中儲存的待查詢資料,以實現該待查詢資料在資料庫和快取中的資料同步。
以上為本說明書的一個或多個實施例提供的資料同步的方法,基於同樣的思路,本說明書還提供了相應的資料同步的裝置,如圖5所示。
圖5為本說明書提供的資料同步的裝置示意圖,具體包括:
確定模組501,確定待查詢資料;
獲取模組502,從快取中獲取所述待查詢資料對應的版本標識;
處理模組503,當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料。
所述處理模組503,當確定所述待查詢資料對應的版本標識與所述設定版本標識相一致時,則從所述快取中獲取所述待查詢資料。
所述確定模組501,確定所述待查詢資料對應的資料標識;
所述獲取模組502,根據確定出的所述資料標識,從所述快取中獲取與所述資料標識對應的待查詢資料;從所述待查詢資料中獲取所述待查詢資料對應的版本標識。
所述確定模組501,確定所述待查詢資料對應的資料標識;
所述獲取模組502,從所述快取中確定與所述資料標識相匹配的實際標識;從所述實際標識中獲取所述待查詢資料對應的版本標識。
所述處理模組503,失效所述快取中儲存的所述待查詢資料;將從所述資料庫中獲取到的待查詢資料儲存在所述快取中。
所述裝置還包括:
監測模組504,當監測到所述裝置的版本資訊發生變更時,根據變更後的版本資訊確定所述設定版本標識。
基於上述說明的資料同步的方法,本說明書還對應提供了一種用於資料同步的設備,如圖6所示。該設備包括一個或多個記憶體以及處理器,所述記憶體儲存程式,並且被配置成由所述一個或多個處理器執行以下步驟:
確定待查詢資料;
從快取中獲取所述待查詢資料對應的版本標識;
當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料。
在本說明書的一個或多個實施例中,應用可以確定待查詢資料,並從快取中獲取該待查詢資料對應的版本標識,當確定該待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢該待查詢資料,並將從該資料庫中獲取到的待查詢資料替換儲存在該快取中的該待查詢資料。
從上述方法中可以看出,由於可以透過比對快取中儲存的待查詢資料對應的版本標識與設定版本標識是否一致,來確定快取和資料庫中分別儲存的該待查詢資料是否一致,並在確定出兩者不一致時,進行資料同步,從而有效的保證了資料庫和快取中的資料一致性。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式邏輯裝置(Programmable Logic Device, PLD)(例如場可程式閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對裝置編程來確定。由設計人員自行編程來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始碼也得用特定的程式語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式並編程到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯編程來使得控制器以邏輯閘、開關、專用積體電路、可程式邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書的實施例可提供為方法、系統、或電腦程式產品。因此,本說明書可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書是參照根據本說明書一個或多個實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式資料處理設備上,使得在電腦或其他可程式設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。
內部記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本說明書可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分散式計算環境中實踐本說明書的一個或多個實施例,在這些分散式計算環境中,由透過通信網路而被連接的遠程處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程電腦儲存媒體中。
本說明書中的各個實施例均採用漸進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和平行處理也是可以的或者可能是有利的。
以上所述僅為本說明書的一個或多個實施例而已,並不用於限制本說明書。對於本領域技術人員來說,本說明書的一個或多個實施例可以有各種更改和變化。凡在本說明書的一個或多個實施例的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本說明書的權利要求範圍之內。
S300‧‧‧步驟
S302‧‧‧步驟
S304‧‧‧步驟
501‧‧‧確定模組
502‧‧‧獲取模組
503‧‧‧處理模組
504‧‧‧監測模組
此處所說明的附圖用來提供對本說明書的進一步理解,構成本說明書的一部分,本說明書的示意性實施例及其說明用於解釋本說明書,並不構成對本說明書的不當限定。在附圖中:
圖1為本說明書提供的現有技術中用戶透過伺服器端進行資料查詢的示意圖;
圖2為本說明書提供的資料庫和快取中儲存的資料不一致的示意圖;
圖3為本說明書提供的資料同步的過程示意圖;
圖4為本說明書提供的應用從快取中獲取待查詢資料對應的版本標識的示意圖;
圖5為本說明書提供的資料同步的裝置示意圖;
圖6為本說明書提供的資料同步的設備示意圖。
Claims (13)
- 一種資料同步的方法,包括:應用確定待查詢資料;從快取中獲取所述待查詢資料對應的版本標識;當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料;所述設定版本標識為所述應用目前的版本標識,所述設定版本標識為所述應用監測到所述應用的版本資訊發生變更時,根據變更後的應用版本資訊確定出的,所述資料庫中儲存的各個資料對應的版本標識均為所述應用目前的版本標識。
- 如申請專利範圍第1項所述的方法,所述方法還包括:當確定所述待查詢資料對應的版本標識與所述設定版本標識相一致時,則從所述快取中獲取所述待查詢資料。
- 如申請專利範圍第1項所述的方法,其中應用確定待查詢資料,具體包括:確定所述待查詢資料對應的資料標識;從快取中獲取所述待查詢資料對應的版本標識,具體包括:根據確定出的所述資料標識,從所述快取中獲取與所 述資料標識對應的待查詢資料;從所述待查詢資料中獲取所述待查詢資料對應的版本標識。
- 如申請專利範圍第1項所述的方法,其中應用確定待查詢資料,具體包括:確定所述待查詢資料對應的資料標識;從快取中獲取所述待查詢資料對應的版本標識,具體包括:從所述快取中確定與所述資料標識相匹配的實際標識;從所述實際標識中獲取所述待查詢資料對應的版本標識。
- 如申請專利範圍第1項所述的方法,其中將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料,具體包括:失效所述快取中儲存的所述待查詢資料;將從所述資料庫中獲取到的待查詢資料儲存在所述快取中。
- 如申請專利範圍第1~5項中任一項所述的方法,所述方法還包括:當監測到所述應用的版本資訊發生變更時,根據變更 後的版本資訊確定所述設定版本標識。
- 一種資料同步的裝置,包括:確定模組,確定待查詢資料;獲取模組,從快取中獲取所述待查詢資料對應的版本標識;處理模組,當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中的所述待查詢資料,所述設定版本標識為應用目前的版本標識,所述設定版本標識為所述應用監測到所述應用的版本資訊發生變更時,根據變更後的應用版本資訊確定出的,所述資料庫中儲存的各個資料對應的版本標識均為所述應用目前的版本標識。
- 如申請專利範圍第7項所述的裝置,其中所述處理模組,當確定所述待查詢資料對應的版本標識與所述設定版本標識相一致時,則從所述快取中獲取所述待查詢資料。
- 如申請專利範圍第7項所述的裝置,其中所述確定模組,確定所述待查詢資料對應的資料標識;所述獲取模組,根據確定出的所述資料標識,從所述快取中獲取與所述資料標識對應的待查詢資料;從所述待查詢資料中獲取所述待查詢資料對應的版本標識。
- 如申請專利範圍第7項所述的裝置,其中所述確定模組,確定所述待查詢資料對應的資料標識;所述獲取模組,從所述快取中確定與所述資料標識相匹配的實際標識;從所述實際標識中獲取所述待查詢資料對應的版本標識。
- 如申請專利範圍第7項所述的裝置,其中所述處理模組,失效所述快取中儲存的所述待查詢資料;將從所述資料庫中獲取到的待查詢資料儲存在所述快取中。
- 如申請專利範圍第7~11項中任一項所述的裝置,所述裝置還包括:監測模組,當監測到所述裝置的版本資訊發生變更時,根據變更後的版本資訊確定所述設定版本標識。
- 一種資料同步的設備,包括一個或多個記憶體以及處理器,所述記憶體儲存程式,並且被配置成由所述一個或多個處理器執行以下步驟:確定待查詢資料;從快取中獲取所述待查詢資料對應的版本標識;當確定所述待查詢資料對應的版本標識與設定版本標識不一致時,則從資料庫中查詢所述待查詢資料,並將從所述資料庫中獲取到的待查詢資料替換儲存在所述快取中 的所述待查詢資料,所述設定版本標識為應用目前的版本標識,所述設定版本標識為所述應用監測到所述應用的版本資訊發生變更時,根據變更後的應用版本資訊確定出的,所述資料庫中儲存的各個資料對應的版本標識均為所述應用目前的版本標識。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810297307.0A CN108959341B (zh) | 2018-04-04 | 2018-04-04 | 一种数据同步的方法、装置及设备 |
CN201810297307.0 | 2018-04-04 | ||
??201810297307.0 | 2018-04-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201942757A TW201942757A (zh) | 2019-11-01 |
TWI735845B true TWI735845B (zh) | 2021-08-11 |
Family
ID=64498637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104570A TWI735845B (zh) | 2018-04-04 | 2019-02-12 | 資料同步的方法、裝置及設備 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200293494A1 (zh) |
CN (1) | CN108959341B (zh) |
SG (1) | SG11202006069SA (zh) |
TW (1) | TWI735845B (zh) |
WO (1) | WO2019192258A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959341B (zh) * | 2018-04-04 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种数据同步的方法、装置及设备 |
CN110633324B (zh) * | 2019-09-18 | 2022-07-26 | 中化信息技术有限公司 | 用于同步数据的方法、装置、电子设备和计算机可读介质 |
CN110795421A (zh) * | 2019-10-31 | 2020-02-14 | 神州数码融信软件有限公司 | 一种防止脏数据产生的方法 |
CN111090675B (zh) * | 2019-11-22 | 2022-12-02 | 福建亿榕信息技术有限公司 | 多入口数据缓存方法及存储介质 |
CN110968646B (zh) * | 2019-12-20 | 2023-06-06 | 广东睿住智能科技有限公司 | 一种嵌入式系统数据库同步方法、装置及存储介质 |
CN111651520B (zh) * | 2020-05-25 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 一种缓存架构访问方法、装置、介质和电子设备 |
CN111831915A (zh) * | 2020-07-23 | 2020-10-27 | 北京奇艺世纪科技有限公司 | 响应数据查询请求的方法、装置、电子设备及存储介质 |
CN112182097A (zh) * | 2020-09-15 | 2021-01-05 | 中信银行股份有限公司 | 一种缓存数据同步方法、装置、电子设备和可读存储介质 |
CN114676165A (zh) * | 2022-03-30 | 2022-06-28 | 北京达佳互联信息技术有限公司 | 数据的查询方法、装置、电子设备及计算机可读介质 |
CN117033398B (zh) * | 2023-10-09 | 2024-01-16 | 之江实验室 | 一种基于dolt数据库的数据闪回查询方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI406152B (zh) * | 2008-09-05 | 2013-08-21 | Hewlett Packard Development Co | 當支援查詢時有效地儲存日誌資料 |
TWI434190B (zh) * | 2006-12-28 | 2014-04-11 | Hewlett Packard Development Co | 在支持查詢時有效地儲存記錄資料以協助電腦網路安全 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
CN107122410A (zh) * | 2017-03-29 | 2017-09-01 | 武汉斗鱼网络科技有限公司 | 一种缓存更新方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383289B2 (en) * | 2003-12-02 | 2008-06-03 | Sap Aktiengesellschaft | Updating and maintaining data in a multi-system network using asynchronous message transfer |
CN105843895B (zh) * | 2016-03-22 | 2019-07-02 | 北京建飞无限科技有限公司 | 基于Ehcache的数据查询及同步方法,装置及系统 |
CN107644071A (zh) * | 2017-09-18 | 2018-01-30 | 广州爱九游信息技术有限公司 | 缓存更新方法、装置及数据存储系统 |
CN108959341B (zh) * | 2018-04-04 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种数据同步的方法、装置及设备 |
-
2018
- 2018-04-04 CN CN201810297307.0A patent/CN108959341B/zh active Active
-
2019
- 2019-01-30 WO PCT/CN2019/073838 patent/WO2019192258A1/zh active Application Filing
- 2019-01-30 SG SG11202006069SA patent/SG11202006069SA/en unknown
- 2019-02-12 TW TW108104570A patent/TWI735845B/zh active
-
2020
- 2020-05-28 US US16/886,568 patent/US20200293494A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI434190B (zh) * | 2006-12-28 | 2014-04-11 | Hewlett Packard Development Co | 在支持查詢時有效地儲存記錄資料以協助電腦網路安全 |
TWI406152B (zh) * | 2008-09-05 | 2013-08-21 | Hewlett Packard Development Co | 當支援查詢時有效地儲存日誌資料 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
CN107122410A (zh) * | 2017-03-29 | 2017-09-01 | 武汉斗鱼网络科技有限公司 | 一种缓存更新方法及装置 |
Non-Patent Citations (1)
Title |
---|
A * |
Also Published As
Publication number | Publication date |
---|---|
US20200293494A1 (en) | 2020-09-17 |
TW201942757A (zh) | 2019-11-01 |
WO2019192258A1 (zh) | 2019-10-10 |
SG11202006069SA (en) | 2020-07-29 |
CN108959341B (zh) | 2020-06-19 |
CN108959341A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI735845B (zh) | 資料同步的方法、裝置及設備 | |
TWI718375B (zh) | 基於區塊鏈的資料處理方法及設備 | |
TWI698813B (zh) | 基於區塊鏈的資料儲存以及查詢的方法及裝置 | |
US11366925B2 (en) | Methods and apparatuses for chaining service data | |
TWI694700B (zh) | 資料處理方法和裝置、用戶端 | |
TWI736123B (zh) | Ble通信方法、裝置、設備及儲存媒體 | |
TW201944314A (zh) | 配置支付流程、執行支付流程的方法、裝置及設備 | |
TW201915867A (zh) | 虛擬卡的開卡方法、系統和支付系統、發卡系統 | |
CN114327759B (zh) | 区块链数据的处理方法及装置 | |
TWI700905B (zh) | 資料的處理方法、裝置及設備 | |
CN110263050B (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2016004814A1 (zh) | 一种业务可视化方法及系统 | |
CN109656946B (zh) | 一种多表关联查询方法、装置及设备 | |
TW202008762A (zh) | 資料處理方法和裝置、客戶端、伺服器 | |
TWI723535B (zh) | 資料計算方法及引擎 | |
EP3211541A1 (en) | Method and apparatus for determining directory category and automatic categorization method and apparatus | |
CN106156050B (zh) | 一种数据处理方法及装置 | |
CN109144600A (zh) | 一种应用程序的运行方法、设备及计算机可读介质 | |
CN111339117B (zh) | 数据处理方法、装置及设备 | |
US20210326465A1 (en) | Method, apparatus and system for determining an application permission | |
TWI686619B (zh) | 定位的方法、裝置及設備 | |
CN107645541B (zh) | 数据存储方法、装置及服务器 | |
TW202008153A (zh) | 資料處理方法和裝置、伺服器 | |
CN110175020B (zh) | 框架属性信息扩展方法和装置、框架加载方法和装置 | |
CN118259954A (zh) | 应用配置信息获取方法、装置、设备及存储介质 |