[發明專利]一種業務解耦并實現多級緩存的自動化更新的方法及裝置在審
| 申請號: | 202111354429.7 | 申請日: | 2021-11-16 |
| 公開(公告)號: | CN113836162A | 公開(公告)日: | 2021-12-24 |
| 發明(設計)人: | 張愛平 | 申請(專利權)人: | 湖北省楚建易網絡科技有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F12/0811;G06F12/0866;G06F12/0877;G06F16/2455;G06F16/957 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 430075 湖北省武漢市東湖新技術開發*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 業務 實現 多級 緩存 自動化 更新 方法 裝置 | ||
針對現有緩存技術中存在的痛點,本發明的目的是提供一種多層緩存方法:第一層為進程內緩存空間,第二層為進程外本地緩存,第三層為遠程緩存;提供一致的調用方法讓業務系統根據業務數據大小及讀取、更新頻率,靈活使用對應層級的緩存或者組合使用。并且多級緩存更新與業務解耦,引入緩存數據的獨有命名空間結構,定義并存儲不同層級(表、字段、字段值等)數據元素的版本號,實現緩存的讀寫分離,支持了任意復雜的業務場景(跨庫跨表、分頁查詢等)。數據的寫更新只影響緩存的版本號,讀數據判斷緩存版本即可實現緩存的自動更新,解決了緩存的多級架構混合使用的技術問題,實現了數據多級緩存的實時同步更新,通過獨立的緩存組件與業務代碼邏輯實現解耦,提升了緩存的讀取性能,確保了緩存的強一致性。
技術領域
本發明涉及軟件開發技術領域,尤其涉及一種多級緩存混合使用(進程緩存、單機緩存、分布式緩存)場景下的復雜業務支撐及實時更新的方法及裝置。
背景技術
現有軟件開發領域,應用開發使用的緩存通常采用進程內緩存或者進程外緩存兩種方式。進程內緩存是數據存儲在應用服務的進程內的緩存;進程外緩存則反之,進程外緩存根據緩存服務相對應用的網絡地址分為本地緩存(與應用同一ip地址)和遠程緩存(與應用不在統一ip地址),大型應用或者集群軟件通常采用遠程分布式緩存。緩存數據的更新策略通常采用兩種方式:基于時間的過期策略(為緩存數據設置一個有效時間,時間到后數據自動失效)、基于鍵值依賴的策略(數據更新時在應用中的業務邏輯編寫代碼觸發緩存鍵值失效或者更新鍵值緩存的內容數據,這個過程也可以使用異步操作)。上述技術的問題如下:
1.進程內緩存(圖1:進程內緩存結構示意圖):
其最大的優點是應用和 cache 是在同一個進程內部,緩存請求非常快速,沒有多余的網絡開銷;它的缺點是緩存跟應用程序耦合太深,多個應用程序無法直接的共享緩存,各應用或集群的各節點都需要維護自己的單獨緩存,對內存是一種浪費;進程內緩存通常適合小數據量的定時緩存,不支持實時更新場景。
進程外緩存(圖2:進程外緩存結構示意圖):
其優點是可以較好的支持多節點的數據一致性,缺點是相對進程內緩存多了網絡通信開銷,大文本的傳輸、大并發數據的傳輸的網絡IO占用大。
更新策略的局限性:
進程內緩存與進程外緩存目前的兩種緩存更新策略不能滿足復雜業務場景下的數據實時更新的需求。基于時間過期的策略無法處理實時性要求高的業務邏輯;基于鍵值依賴的更新策略缺點是緩存更新與業務代碼嚴重耦合,需要代碼層面解決數據更新的邏輯功能實現,并且不能解決復雜數據的緩存更新,比如多庫多表sql關聯查詢的數據,理論上其中一個庫表的數據變動,就需要更新包含相關庫表的所有sql語句查詢的緩存,現實中業務編碼是做不到的。再比如大表分頁數據的有序緩存,理論上其中一條記錄增刪變動,會導致記錄的所有排序有變動,需要更新所有分頁。這也是傳統代碼編寫功能更新無法做到的。這些情況大大限制了緩存的使用場景與范圍。另外傳統緩存使用無法應對頻繁更新的數據,這種情況緩存命中率急劇下降。
緩存數據的一致性:
進程內緩存都是節點各自處理自己的緩存,緩存數據過期時效不一致,緩存數據不一致。進程外緩存有較好的數據一致性,但需要防范數據臟讀的可能性,需要業務層面實現一個全局事務或者分布式鎖來完成緩存和數據庫的更新,才能避免產生臟數據。而采用全局事務或者分布式鎖會增加業務邏輯的復雜度并降低了軟件業務的響應實時性與運行性能。
應對緩存潛在風險的能力:
目前的緩存設計通常無法簡單有效的防范緩存穿透、緩存擊穿、緩存雪崩等風險。如需解決相關風險依賴在應用軟件中編寫格外的業務邏輯處理。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖北省楚建易網絡科技有限公司,未經湖北省楚建易網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111354429.7/2.html,轉載請聲明來源鉆瓜專利網。





