數據緩存方法及其裝置、計算機可讀存儲介質、處理器與流程
1.本發明涉及計算機領域,具體而言,涉及一種數據緩存方法及其裝置、計算機可讀存儲介質、處理器。
背景技術
:::2.現有主流分布式緩存技術memcache和redis,均采用客戶端-服務端的兩層結構,在對關系型數據庫中數據進行緩存時,如果采用本地化(127.0.0.1)部署,因缺少必要的多服務端實例之間的數據同步機制,存在數據同步難度高的問題。如果采用集化部署,并通過網絡進行訪問時,其客戶端到服務端的訪問速度,很大程度上受限于網絡帶寬與網絡延遲,存在存取效率低、反應速度慢的問題。3.memcache與redis均采用key-value的結構存儲數據,而關系型數據庫存儲的是結構化數據,因此,memcache與redis在進行關系型數據庫數據存取時,均需要進行結構化數據與key-value數據的轉換,存在存取結構復雜的問題。4.在
背景技術
::部分中公開的以上信息只是用來加強對本文所描述技術的
背景技術
::的理解,因此,
背景技術
::中可能包含某些信息,這些信息對于本領域技術人員來說并未形成在本國已知的現有技術。技術實現要素:5.本發明實施例提供了一種數據緩存方法及其裝置、計算機可讀存儲介質、處理器,以至少解決針對相關技術中部分分布式緩存技術存取結構較復雜導致數據傳輸效率不高的技術問題。6.根據本發明實施例的一個方面,提供了一種數據緩存方法,包括:響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,所述客戶端緩存注冊接口以及所述第一數據加載接口為預先生成的緩存操作信息;利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源;將所述第一數據資源緩存至所述目標客戶端。7.可選地,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,包括:基于所述數據查詢請求從所述緩存操作信息中調用所述客戶端緩存接口以及所述第一數據加載接口;利用所述客戶端緩存接口將所述第一待緩存信息以及所述第一數據加載接口注冊到所述目標服務中。8.可選地,利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源,包括:依次調用所述第一數據加載接口從所述緩存服務端請求所述第一數據資源,得到數據請求結果;確定所述數據請求結果中的第二數據資源以及數據請求失敗信息;從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源;基于所述第二數據資源以及所述第三數據資源獲取所述第一數據資源。9.可選地,在從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源之后,所述方法還包括:啟動第一數據緩存監控線程,其中,所述第一數據緩存監控線程每間隔第一預定時長向所述目標服務端請求所述第一數據資源的第一數據版本信息,并將所述第一數據版本信息與自身存儲的第二數據版本信息進行比對,在比對結果表示所述第一數據版本信息與所述第二數據版本信息不一致時,向所述目標服務端發起第一緩存查詢請求,所述第一緩存查詢請求將所述目標服務端中的變動數據更新到本地緩存中。10.可選地,所述方法還包括:對所述緩存服務端與關系型數據庫進行數據同步;其中,對所述緩存服務器與所述關系型數據庫進行數據同步,包括:通過服務端緩存注冊接口將第二待緩存信息以及第二數據加載接口注冊到所述緩存服務端中,其中,所述服務端緩存注冊接口以及所述第二數據加載接口為同樣為預先生成的緩存操作信息;利用所述第二數據加載接口將所述第二待緩存信息加載到所述關系型數據庫中,以對所述緩存服務器與所述關系型數據庫進行數據同步。11.可選地,在對所述緩存服務端與關系型數據庫進行數據同步之后,所述方法還包括:啟動第二數據緩存監控線程,其中,所述第二數據緩存監控線程每間隔第二預定時長向所述關系型數據庫請求所述第二數據資源的第三數據版本信息,并將所述第三數據版本信息與自身存儲的第四數據版本信息進行比對,在比對結果表示所述第三數據版本信息與所述第四數據版本信息不一致時,向所述關系型數據庫發起第二緩存查詢請求,所述第二緩存查詢請求將所述關系型數據庫中的變動數據更新到所述緩存服務端中。12.可選地,在對所述緩存服務端與關系型數據庫進行數據同步之后,所述方法還包括:生成所述緩存操作信息;其中,生成所述緩存操作信息,包括:獲取所述關系型數據庫的數據緩存配置表;所述數據緩存配置表,以基于解析結果生成所述緩存操作信息,其中,所述緩存操作信息至少包括:所述客戶端緩存注冊接口、所述第一數據加載接口、所述服務端緩存注冊接口以及所述第二數據加載接口。13.可選地,所述緩存操作信息還包括以下至少之一:緩存操作接口頭文件、緩存數據列表、緩存數據更新接口代碼信息、數據壓縮/解壓縮接口、緩存查詢接口。14.根據本發明實施例的一個方面,還提供了一種數據緩存裝置,包括:加載模塊,用于響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,所述客戶端緩存注冊接口以及所述第一數據加載接口為預先生成的緩存操作信息;請求模塊,用于利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源;緩存模塊,用于將所述第一數據資源緩存至所述目標客戶端。15.可選地,所述加載模塊,包括:調用單元,用于基于所述數據查詢請求從所述緩存操作信息中調用所述客戶端緩存接口以及所述第一數據加載接口;第一加載單元,用于利用所述客戶端緩存接口將所述第一待緩存信息以及所述第一數據加載接口注冊到所述目標服務中。16.可選地,所述請求模塊,包括:第一獲取單元,用于依次調用所述第一數據加載接口從所述緩存服務端請求所述第一數據資源,得到數據請求結果;確定單元,用于確定所述數據請求結果中的第二數據資源以及數據請求失敗信息;重新加載單元,用于從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源;第二獲取單元,用于基于所述第二數據資源以及所述第三數據資源獲取所述第一數據資源。17.可選地,所述裝置還包括:第一啟動單元,用于在從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源之后,啟動第一數據緩存監控線程,其中,所述第一數據緩存監控線程每間隔第一預定時長向所述目標服務端請求所述第一數據資源的第一數據版本信息,并將所述第一數據版本信息與自身存儲的第二數據版本信息進行比對,在比對結果表示所述第一數據版本信息與所述第二數據版本信息不一致時,向所述目標服務端發起第一緩存查詢請求,所述第一緩存查詢請求將所述目標服務端中的變動數據更新到本地緩存中。18.可選地,所述裝置還包括:同步模塊,用于對所述緩存服務端與關系型數據庫進行數據同步;其中,所述同步模塊,包括:第二加載單元,用于通過服務端緩存注冊接口將第二待緩存信息以及第二數據加載接口注冊到所述緩存服務端中,其中,所述服務端緩存注冊接口以及所述第二數據加載接口為同樣為預先生成的緩存操作信息;第三加載單元,用于利用所述第二數據加載接口將所述第二待緩存信息加載到所述關系型數據庫中,以對所述緩存服務器與所述關系型數據庫進行數據同步。19.可選地,所述裝置還包括:第二啟動單元,用于在對所述緩存服務端與關系型數據庫進行數據同步之后,啟動第二數據緩存監控線程,其中,所述第二數據緩存監控線程每間隔第二預定時長向所述關系型數據庫請求所述第二數據資源的第三數據版本信息,并將所述第三數據版本信息與自身存儲的第四數據版本信息進行比對,在比對結果表示所述第三數據版本信息與所述第四數據版本信息不一致時,向所述關系型數據庫發起第二緩存查詢請求,所述第二緩存查詢請求將所述關系型數據庫中的變動數據更新到所述緩存服務端中。20.可選地,所述裝置還包括:生成單元,用于在對所述緩存服務端與關系型數據庫進行數據同步之后,生成所述緩存操作信息;其中,所述生成單元,包括:獲取子單元,用于獲取所述關系型數據庫的數據緩存配置表;解析子單元,用于解析所述數據緩存配置表,以基于解析結果生成所述緩存操作信息,其中,所述緩存操作信息至少包括:所述客戶端緩存注冊接口、所述第一數據加載接口、所述服務端緩存注冊接口以及所述第二數據加載接口。21.可選地,所述緩存操作信息還包括以下至少之一:緩存操作接口頭文件、緩存數據列表、緩存數據更新接口代碼信息、數據壓縮/解壓縮接口、緩存查詢接口。22.根據本發明實施例的一個方面,還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質包括存儲的程序,其中,在所述程序運行時控制所述計算機可讀存儲介質所在設備執行中任意一項所述的數據緩存方法。23.根據本發明實施例的一個方面,還提供了一種處理器,所述處理器用于運行程序,其中,所述程序運行時執行中任意一項所述的數據緩存方法。24.在本發明實施例中,響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;將第一數據資源緩存至目標客戶端。通過本發明實施例提供的數據緩存方法,達到了在服務啟動時,將待緩存信息等數據加載接口注冊到目標服務中,接著獲取與待緩存信息對應的數據資源并將其加載至客戶端,達到了在接收到數據查詢請求后,直接查詢本地客戶端緩存的結構化數據的目的,從而實現了提升數據傳輸效率的技術效果,進而解決了針對相關技術中部分分布式緩存技術存取結構較復雜導致數據傳輸效率不高的技術問題。附圖說明25.此處所說明的附圖用來提供對本發明的進一步理解,構成本技術的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:26.圖1是根據本發明實施例的數據緩存方法的流程圖;27.圖2是根據本發明實施例的表結構與生成的結構化頭文件中結構體定義的對應關系的示意圖;28.圖3是根據本發明實施例的服務端緩存加載及動態維護機制的示意圖;29.圖4是根據本發明實施例的客戶端緩存加載及動態維護機制的示意圖;30.圖5是根據本發明實施例的緩存操作代碼自動生成機制的示意圖;31.圖6是根據本發明實施例的數據緩存裝置的示意圖。具體實施方式32.為了使本
技術領域
::的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。33.需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。34.實施例135.根據本發明實施例,提供了一種數據緩存方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。36.圖1是根據本發明實施例的數據緩存方法的流程圖,如圖1所示,該方法包括如下步驟:37.步驟s102,響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;38.可選的,在上述步驟中,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口在目標服務中注冊。39.需要說明的是,第一數據加載接口為將需要緩存的表名及其數據加載接口注冊到目標服務中。40.步驟s104,利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;41.可選的,在上述步驟中,基于第一數據加載接口從緩存服務端來請求與第一待緩存信息相對應的數據資源(即第一數據資源)。42.步驟s106,將第一數據資源緩存至目標客戶端。43.由上可知,在本發明實施例中,首先通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;接著可以利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;最后可以將第一數據資源緩存至目標客戶端。通過本發明實施例提供的數據緩存方法,達到了在目標服務啟動時將待緩存信息等數據加載接口注冊到目標服務中,接著獲取與待緩存信息對應的數據資源并將其加載至客戶端,在接收到數據查詢請求后,直接返回本地客戶端緩存的結構化數據的目的,從而實現了提升數據傳輸效率的技術效果,進而解決了針對相關技術中部分分布式緩存技術存取結構較復雜導致數據傳輸效率不高的技術問題。44.作為一種可選的實施例,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,包括:基于數據查詢請求從緩存操作信息中調用客戶端緩存接口以及第一數據加載接口;利用客戶端緩存接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中。45.需要說明的是,喚醒從緩存操作信息中調用客戶端緩存接口以及第一數據加載接口的方式包括但不限于:基于數據查詢請求喚醒、在服務啟動時自動喚醒。46.需要說明的是,客戶端緩存接口主要包括客戶端緩存加載接口。47.在上述可選的實施例中,首先可以自動生成結構化表結構頭文件。例如,圖2是根據本發明實施例的表結構與生成的結構化頭文件中結構體定義的對應關系的示意圖,如圖2所示,tb_aps表的表結構與生成的結構化頭文件中結構體定義的對應關系可以從圖中獲取:接著可以自動生成緩存操作接口頭文件;接著自動生成緩存數據列表,緩存注冊接口,緩存數據加載接口,緩存數據更新接口代碼文件;最后自動生成每張需緩存表緩存操作代碼文件,其中包括每張表的緩存加載接口、緩存查詢接口、數據壓縮解壓縮接口等。48.作為一種可選的實施例,利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源,包括:依次調用第一數據加載接口從緩存服務端請求第一數據資源,得到數據請求結果;確定數據請求結果中的第二數據資源以及數據請求失敗信息;從本地數據庫中重新加載數據請求失敗信息對應的第三數據資源;基于第二數據資源以及第三數據資源獲取第一數據資源。49.在上述可選的實施例中,服務端緩存加載及動態維護機制,保證了服務端緩存數據與關系型數據庫中數據的準實時同步。緩存服務端(platmanager)在啟動時具體的步驟如下所示:50.1)、調用自動生成的緩存注冊接口,將需要緩存的數據庫表名及其數據加載接口注冊到緩存服務端platmanager服務中。51.2)、調用數據加載接口將數據庫中表數據加載到數據緩存區。52.3)、緩存數據加載完成后,platmanager服務拉起緩存監控線程,用以監控數據庫中數據的更新及進行緩存數據刷新操作。53.作為一種可選的實施例,在從本地數據庫中重新加載數據請求失敗信息對應的第三數據資源之后,方法還包括:啟動第一數據緩存監控線程,其中,第一數據緩存監控線程每間隔第一預定時長向目標服務端請求第一數據資源的第一數據版本信息,并將第一數據版本信息與自身存儲的第二數據版本信息進行比對,在比對結果表示第一數據版本信息與第二數據版本信息不一致時,向目標服務端發起第一緩存查詢請求,第一緩存查詢請求將目標服務端中的變動數據更新到本地數據庫中。54.需要說明的是,本地數據庫為本地客戶端緩存。55.圖3是根據本發明實施例的服務端緩存加載及動態維護機制的示意圖,如圖3所示,緩存服務端可以是單實例部署,也可以是多實例的部署,其不同實例之間的數據同步,以及與數據庫之間的數據同步,是通過服務端緩存數據的動態維護實現的。服務端緩存數據的動態維護,通過數據版本信息及緩存監控線程實現。緩存監控線程會間隔一段時間對保存在數據庫中的數據版本信息進行查詢,如果發現數據版本信息發生變動,則會調用platmanager中注冊的發生數據變動的表的緩存加載接口,完成緩存數據與數據庫的同步。56.用戶可以通過直接修改數據庫中的數據版本信息,完成數據版本信息的維護,但這種方式并不優雅。platmanager提供了緩存刷新命令,緩存監控線程接收到命令之后,會完成數據版本信息的維護和緩存的刷新。而其他platmanager實例會監測到數據版本信息的變動,并及時完成緩存數據的同步。57.作為一種可選的實施例,方法還包括:對緩存服務端與關系型數據庫進行數據同步;其中,對緩存服務器與關系型數據庫進行數據同步,包括:通過服務端緩存注冊接口將第二待緩存信息以及第二數據加載接口注冊到緩存服務端中,其中,服務端緩存注冊接口以及第二數據加載接口為同樣為預先生成的緩存操作信息;利用第二數據加載接口將第二待緩存信息加載到關系型數據庫中,以對緩存服務器與關系型數據庫進行數據同步。58.需要說明的是,第二待緩存信息包括但不限于:第二待緩存內容的版本信息。59.在上述可選的實施例中,客戶端緩存加載及動態維護機制,保證了客戶端緩存數據與服務端緩存數據的準實時同步。緩存客戶端是以一組自動生成的緩存接口的形式提供給緩存需求方的。需求方服務在啟動時的詳細步驟如下所示:60.1)、調用客戶端緩存注冊接口,將需要緩存的表名及其數據加載接口注冊到目標服務中。61.2)、依次調用注冊到目標服務的數據加載接口,從緩存服務端(platmanager)服務請求數據,加載到本地,并將失敗的加載請求,登記到本地的失敗列表。62.3)、遍歷失敗列表,將本地數據庫作為數據源,對緩存數據進行重新加載。63.4)、本地緩存加載完成后,啟動緩存監控線程。64.作為一種可選的實施例,在對緩存服務端與關系型數據庫進行數據同步之后,方法還包括:啟動第二數據緩存監控線程,其中,第二數據緩存監控線程每間隔第二預定時長向關系型數據庫請求第二數據資源的第三數據版本信息,并將第三數據版本信息與自身存儲的第四數據版本信息進行比對,在比對結果表示第三數據版本信息與第四數據版本信息不一致時,向關系型數據庫發起第二緩存查詢請求,第二緩存查詢請求將關系型數據庫中的變動數據更新到緩存服務端中。65.圖4是根據本發明實施例的客戶端緩存加載及動態維護機制的示意圖,如圖4所示,客戶端緩存數據的動態維護,也是通過緩存監控線程實現的。緩存監控線程會間隔一定時間向platmanager請求數據版本信息,并與自身存儲的數據版本信息進行核對。如果發現數據版本變動,則向服務端發起緩存查詢,并將變動數據拉取并更新到本地數據緩存區中,從而完成客戶端緩存與服務端的同步。66.作為一種可選的實施例,在對緩存服務端與關系型數據庫進行數據同步之后,方法還包括:生成緩存操作信息;其中,生成緩存操作信息,包括:獲取關系型數據庫的數據緩存配置表;數據緩存配置表,以基于解析結果生成緩存操作信息,其中,緩存操作信息至少包括:客戶端緩存注冊接口、第一數據加載接口、服務端緩存注冊接口以及第二數據加載接口。67.在上述可選的實施例中,緩存操作自動代碼生成通過數據緩存配置表tb_pmctl_cache_info進行控制,下面通過表1對表格的結構進行詳細說明。68.表1[0069][0070]進一步的,主鍵為table_name與seq_no。[0071]作為一種可選的實施例,緩存操作信息還包括以下至少之一:緩存操作接口頭文件、緩存數據列表、緩存數據更新接口代碼信息、數據壓縮/解壓縮接口、緩存查詢接口。[0072]圖5是根據本發明實施例的緩存操作代碼自動生成機制的示意圖,如圖5所示,緩存操作代碼自動生成機制,是本發明的核心機制。其中,緩存結構化查詢機制是基于緩存操作代碼自動生成機制實現的。緩存結構化查詢,可以根據配置生成多個結構化查詢接口,支持按主鍵、非主鍵查詢,可同時返回多條數據,并支持數據排序。[0073]進一步地,緩存結構化查詢接口,可以將查詢到的緩存數據,返回到通過表結構頭文件定義的結構體變量(一條)或結構體變量數組(多條)中,將關系型數據庫的表中的結構化數據,存儲到同名結構體成員變量中,從而實現了分布式緩存數據的結構化查詢。[0074]需要解釋的是,memcache是一套分布式的高速緩存系統,memcached是以守護程序(監聽)方式運行于一個或多個服務器中。redis(remotedictionaryserver),即遠程字典服務,是一個開源的使用ansic語言編寫、支持網絡、可基于內存亦可持久化的日志型、key-value數據庫,memcache的工作流程如下:先檢查客戶端的請求數據是否在memcached中,如有,直接把請求數據返回,不再對數據庫進行任何操作;如果請求的數據不在memcached中,就去查數據庫,把從數據庫中獲取的數據返回給客戶端,同時把數據緩存一份到memcached中(memcached客戶端不負責,需要程序明確實現);每次更新數據庫的同時更新memcached中的數據,保證一致性;當分配給memcached內存空間用完之后,會使用lru(leastrecentlyused,最近最少使用)策略加上到期失效策略,失效數據首先被替換,然后再替換掉最近未使用的數據;redis是一個高性能的key-value數據庫。redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步。[0075]由上可知,本發明實施例中的所有緩存查詢,操作的均為客戶端本地緩存,同時依靠客戶端動態維護機制保證了客戶端與服務端緩存數據的一致性,依靠服務端動態維護機制保證了服務端與數據庫數據的一致性,從而有效解決了memcache和redis分布式緩存技術數據同步與反應速度不能兼顧的問題。并且本發明實施例提供的方法還區別于主流分布式緩存技術客戶端-服務端緩存雙層結構的,結構化查詢api-客戶端緩存-服務端緩存的三層數據同步模式;并且對應三層數據同步模式的分布式緩存客戶端與服務端,服務端與服務端,服務端與數據庫,基于表數據版本的數據一致性保證機制;基于配置與數據庫表結構解析的數據庫操作、緩存操作代碼自動生成機制,以及基于自動代碼生成機制實現的緩存數據結構化查詢功能。[0076]實施例2[0077]根據本發明實施例的一個方面,還提供了一種數據緩存裝置,圖6是根據本發明實施例的數據緩存裝置的示意圖,如圖6所示,包括:加載模塊61、請求模塊63以及緩存模塊65。下面對該數據緩存裝置進行詳細介紹。[0078]加載模塊61,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;[0079]請求模塊63,用于利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;[0080]緩存模塊65,用于將第一數據資源緩存至目標客戶端。[0081]由上可知,在本發明實施例中,首先可以利用加載模塊61響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;接著可以利用請求模塊63利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;最后可以利用緩存模塊65將第一數據資源緩存至目標客戶端。通過本發明實施例提供的數據緩存裝置,達到了在目標服務啟動時將待緩存信息等數據加載接口注冊到目標服務中,接著獲取與待緩存信息對應的數據資源并將其加載至客戶端,在接收到數據查詢請求后,直接返回本地客戶端緩存的結構化數據的目的,從而實現了提升數據傳輸效率的技術效果,進而解決了針對相關技術中部分分布式緩存技術存取結構較復雜導致數據傳輸效率不高的技術問題。[0082]可選地,加載模塊,包括:調用單元,用于基于數據查詢請求從緩存操作信息中調用客戶端緩存接口以及第一數據加載接口;第一加載單元,用于利用客戶端緩存接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中。[0083]可選地,請求模塊,包括:第一獲取單元,用于依次調用第一數據加載接口從緩存服務端請求第一數據資源,得到數據請求結果;確定單元,用于確定數據請求結果中的第二數據資源以及數據請求失敗信息;重新加載單元,用于從本地數據庫中重新加載數據請求失敗信息對應的第三數據資源;第二獲取單元,用于基于第二數據資源以及第三數據資源獲取第一數據資源。[0084]可選地,裝置還包括:第一啟動單元,用于在從本地數據庫中重新加載數據請求失敗信息對應的第三數據資源之后,啟動第一數據緩存監控線程,其中,第一數據緩存監控線程每間隔第一預定時長向目標服務端請求第一數據資源的第一數據版本信息,并將第一數據版本信息與自身存儲的第二數據版本信息進行比對,在比對結果表示第一數據版本信息與第二數據版本信息不一致時,向目標服務端發起第一緩存查詢請求,第一緩存查詢請求將目標服務端中的變動數據更新到本地數據庫中。[0085]可選地,裝置還包括:同步模塊,用于對緩存服務端與關系型數據庫進行數據同步;其中,同步模塊,包括:第二加載單元,用于通過服務端緩存注冊接口將第二待緩存信息以及第二數據加載接口注冊到緩存服務端中,其中,服務端緩存注冊接口以及第二數據加載接口為同樣為預先生成的緩存操作信息;第三加載單元,用于利用第二數據加載接口將第二待緩存信息加載到關系型數據庫中,以對緩存服務器與關系型數據庫進行數據同步。[0086]可選地,裝置還包括:第二啟動單元,用于在對緩存服務端與關系型數據庫進行數據同步之后,啟動第二數據緩存監控線程,其中,第二數據緩存監控線程每間隔第二預定時長向關系型數據庫請求第二數據資源的第三數據版本信息,并將第三數據版本信息與自身存儲的第四數據版本信息進行比對,在比對結果表示第三數據版本信息與第四數據版本信息不一致時,向關系型數據庫發起第二緩存查詢請求,第二緩存查詢請求將關系型數據庫中的變動數據更新到緩存服務端中。[0087]可選地,裝置還包括:生成單元,用于在對緩存服務端與關系型數據庫進行數據同步之后,生成緩存操作信息;其中,生成單元,包括:獲取子單元,用于獲取關系型數據庫的數據緩存配置表;解析子單元,用于解析數據緩存配置表,以基于解析結果生成緩存操作信息,其中,緩存操作信息至少包括:客戶端緩存注冊接口、第一數據加載接口、服務端緩存注冊接口以及第二數據加載接口。[0088]可選地,緩存操作信息還包括以下至少之一:緩存操作接口頭文件、緩存數據列表、緩存數據更新接口代碼信息、數據壓縮/解壓縮接口、緩存查詢接口。[0089]實施例3[0090]根據本發明實施例的一個方面,還提供了一種計算機可讀存儲介質,計算機可讀存儲介質包括存儲的程序,其中,在程序運行時控制計算機可讀存儲介質所在設備執行中任意一項的數據緩存方法。[0091]實施例4[0092]根據本發明實施例的一個方面,還提供了一種處理器,處理器用于運行程序,其中,程序運行時執行中任意一項的數據緩存方法。[0093]需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。[0094]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執行本發明各個實施例的方法。[0095]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。[0096]在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。[0097]在本技術所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。[0098]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。[0099]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。[0100]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。[0101]以上所述僅是本發明的優選實施方式,應當指出,對于本
技術領域
::的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。當前第1頁12當前第1頁12
技術特征:
1.一種數據緩存方法,其特征在于,包括:通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,所述客戶端緩存注冊接口以及所述第一數據加載接口為預先生成的緩存操作信息;利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源;將所述第一數據資源緩存至所述目標客戶端。2.根據權利要求1所述的數據緩存方法,其特征在于,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,包括:基于所述數據查詢請求從所述緩存操作信息中調用所述客戶端緩存接口以及所述第一數據加載接口;利用所述客戶端緩存接口將所述第一待緩存信息以及所述第一數據加載接口注冊到所述目標服務中。3.根據權利要求1所述的數據緩存方法,其特征在于,利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源,包括:依次調用所述第一數據加載接口從所述緩存服務端請求所述第一數據資源,得到數據請求結果;確定所述數據請求結果中的第二數據資源以及數據請求失敗信息;從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源;基于所述第二數據資源以及所述第三數據資源獲取所述第一數據資源。4.根據權利要求3所述的數據緩存方法,其特征在于,在從本地數據庫中重新加載所述數據請求失敗信息對應的第三數據資源之后,所述方法還包括:啟動第一數據緩存監控線程,其中,所述第一數據緩存監控線程每間隔第一預定時長向所述目標服務端請求所述第一數據資源的第一數據版本信息,并將所述第一數據版本信息與自身存儲的第二數據版本信息進行比對,在比對結果表示所述第一數據版本信息與所述第二數據版本信息不一致時,向所述目標服務端發起第一緩存查詢請求,所述第一緩存查詢請求將所述目標服務端中的變動數據更新到本地緩存中。5.根據權利要求1至4中任一項所述的數據緩存方法,其特征在于,所述方法還包括:對所述緩存服務端與關系型數據庫進行數據同步,其中,對所述緩存服務器與所述關系型數據庫進行數據同步,包括:通過服務端緩存注冊接口將第二待緩存信息以及第二數據加載接口注冊到所述緩存服務端中,其中,所述服務端緩存注冊接口以及所述第二數據加載接口為同樣為預先生成的緩存操作信息;利用所述第二數據加載接口將所述第二待緩存信息加載到所述關系型數據庫中,以對所述緩存服務器與所述關系型數據庫進行數據同步。6.根據權利要求5所述的數據緩存方法,其特征在于,在對所述緩存服務端與關系型數據庫進行數據同步之后,所述方法還包括:啟動第二數據緩存監控線程,其中,所述第二數據緩存監控線程每間隔第二預定時長向所述關系型數據庫請求所述第二數據資源的第三數據版本信息,并將所述第三數據版本
信息與自身存儲的第四數據版本信息進行比對,在比對結果表示所述第三數據版本信息與所述第四數據版本信息不一致時,向所述關系型數據庫發起第二緩存查詢請求,所述第二緩存查詢請求將所述關系型數據庫中的變動數據更新到所述緩存服務端中。7.根據權利要求6所述的數據緩存方法,其特征在于,在對所述緩存服務端與關系型數據庫進行數據同步之后,所述方法還包括:生成所述緩存操作信息;其中,生成所述緩存操作信息,包括:獲取所述關系型數據庫的數據緩存配置表;解析所述數據緩存配置表,以基于解析結果生成所述緩存操作信息,其中,所述緩存操作信息至少包括:所述客戶端緩存注冊接口、所述第一數據加載接口、所述服務端緩存注冊接口以及所述第二數據加載接口。8.根據權利要求7所述的數據緩存方法,其特征在于,所述緩存操作信息還包括以下至少之一:緩存操作接口頭文件、緩存數據列表、緩存數據更新接口代碼信息、數據壓縮/解壓縮接口、緩存查詢接口。9.一種數據緩存裝置,其特征在于,包括:加載模塊,用于響應于目標客戶端的數據查詢請求,通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,所述客戶端緩存注冊接口以及所述第一數據加載接口為預先生成的緩存操作信息;請求模塊,用于利用所述第一數據加載接口從緩存服務端請求與所述第一待緩存信息對應的第一數據資源;緩存模塊,用于將所述第一數據資源緩存至所述目標客戶端。10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質包括存儲的程序,其中,在所述程序運行時控制所述計算機可讀存儲介質所在設備執行權利要求1至8中任意一項所述的數據緩存方法。11.一種處理器,其特征在于,所述處理器用于運行程序,其中,所述程序運行時執行權利要求1至8中任意一項所述的數據緩存方法。
技術總結
本發明公開了一種數據緩存方法及其裝置、計算機可讀存儲介質、處理器。其中,該方法包括:通過客戶端緩存注冊接口將第一待緩存信息以及第一數據加載接口注冊到目標服務中,其中,客戶端緩存注冊接口以及第一數據加載接口為預先生成的緩存操作信息;利用第一數據加載接口從緩存服務端請求與第一待緩存信息對應的第一數據資源;將第一數據資源緩存至目標客戶端。本發明解決了針對相關技術中部分分布式緩存技術存取結構較復雜導致數據傳輸效率不高的技術問題。高的技術問題。高的技術問題。
