[發明專利]一種位圖管理方法、裝置、設備及可讀存儲介質有效
| 申請號: | 202110803604.X | 申請日: | 2021-07-16 |
| 公開(公告)號: | CN113284039B | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 王海波;范淵;楊勃 | 申請(專利權)人: | 杭州安恒信息技術股份有限公司 |
| 主分類號: | G06T1/60 | 分類號: | G06T1/60;G06T11/00 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 張春輝 |
| 地址: | 310000 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 位圖 管理 方法 裝置 設備 可讀 存儲 介質 | ||
本發明公開了一種位圖管理方法,該方法在進行位圖創建時,程序中只創建一份位圖副本,各線程對于位圖的操作都針對這一份位圖副本進行,可以有效節省存儲空間;同時該方法中在接收到對于位圖副本的操作請求后,收集一段時間內的位圖更新操作命令后合并執行,可以減少性能損耗,其中在更新命令的合并執行中,執行對象為復制位圖副本后得到的新位圖副本,可以避免其它線程對于該位圖副本的業務進程沒有完結前位圖狀態的改變,保證業務進程的穩定性以及連續性;而且,各個線程只需獲取以及存儲位圖的地址,無需存儲真正的位圖副本,線程之間無相互干擾,可以減少性能損耗。本發明還公開了一種位圖管理裝置、設備及可讀存儲介質,具有相應的技術效果。
技術領域
本發明涉及數據管理技術領域,特別是涉及一種位圖管理方法、裝置、設備及可讀存儲介質。
背景技術
位圖是存儲多個同類事物的屬性狀態的常用存儲方式。位圖中包含很多個比特的內存塊,通過比特值(0或1)來表示事物的兩個不同屬性或狀態,比如在網絡設備的黑名單功能實現中,可以把黑名單用位圖來表示,位圖中的每個比特對應一個IP,根據每個比特的值表示黑名單中是否包含該IP。
位圖從創建到刪除的整個生命周期中的值不是固定不變的,允許線程對位圖進行更新修改,比如針對黑名單功能,往往多線程程序中的管理線程在接收到用戶對黑名單的設置命令后,會把該命令轉化為對程序中該位圖的修改(對其中的若干比特置1或清零)。在對位圖進行更新修改時,多線程程序對于各個線程需要訪問的數據的變更時需要滿足數據一致性(Consistency)要求,數據一致性指多副本(Replications)問題中的數據一致性。為滿足數據一致性,目前針對位圖的管理主要采用兩種方式,其一為當需要創建位圖時,只創建一個位圖以及與之綁定的鎖,在對位圖執行修改操作對此位圖加鎖,然后執行對該位圖的修改。在此過程中其他線程無法訪問該位圖,會導致其他線程業務處理過程受阻,程序性能低下;其二為當需要創建位圖時,為每個線程創建一個該位圖的副本,每個線程需要修改操作時針對屬于自己的位圖副本進行修改,然后把該修改操作發給其他線程,其他線程再執行對各自位圖副本的修改。該方案下內存損耗會非常大,而且在位圖操作命令頻繁時,程序的性能也有較大影響。
綜上所述,如何在針對位圖的管理中占用盡量少存儲空間并盡量降低位圖更新帶來的程序性能損耗,是目前本領域技術人員急需解決的技術問題。
發明內容
本發明的目的是提供一種位圖管理方法、裝置、設備及可讀存儲介質,占用存儲空間少,且程序性能損耗低。
為解決上述技術問題,本發明提供如下技術方案:
一種位圖管理方法,包括:
當接收到位圖創建命令后,創建包含引用計數的位圖副本;
將所述位圖副本的地址發送至各線程,并將所述引用計數設置為所述線程的總數;
統計預設時間間隔內所述地址接收到的位圖更新命令;
復制所述位圖副本,得到新位圖副本;
對所述新位圖副本執行所述位圖更新命令,作為更新位圖副本;
將所述更新位圖副本的地址發送至各所述線程,以便所述線程在完結所述位圖副本的業務進程后存儲所述更新位圖副本的地址,并將所述更新位圖副本的引用計數加1,將所述位圖副本的引用計數減1。
可選地,在所述將所述位圖副本的引用計數減1之后,還包括:
判斷所述位圖副本的引用計數是否為0;
若是,刪除所述位圖副本。
可選地,所述對所述新位圖副本執行所述位圖更新命令,包括:
對所述新位圖副本按照所述位圖更新命令的接收順序依次執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州安恒信息技術股份有限公司,未經杭州安恒信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110803604.X/2.html,轉載請聲明來源鉆瓜專利網。





