[發明專利]狀態數據的存儲方法、數據發送的方法及裝置在審
| 申請號: | 201910204540.4 | 申請日: | 2019-03-18 |
| 公開(公告)號: | CN109977117A | 公開(公告)日: | 2019-07-05 |
| 發明(設計)人: | 林港健 | 申請(專利權)人: | 廣州虎牙信息科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/21 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 511446 廣東省廣州市番禺區南村鎮萬博二*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 開關狀態數據 存儲 狀態數據 存儲空間 目標開關 數據發送 用戶標識 偏移量 位圖存儲 用戶設置 比特位 數據量 指向 申請 | ||
本申請公開了狀態數據的存儲方法、數據發送的方法及裝置,其中,所述狀態數據的存儲方法包括:獲取待存儲的開關狀態數據,所述開關狀態數據包括用戶設置的目標開關狀態以及用戶標識;采用位圖存儲所述開關狀態數據,其中,所述位圖的偏移量指向所述用戶標識,所述偏移量所在的比特位用于存儲所述目標開關狀態。本實施例可以大幅降低開關狀態數據的存儲空間,且數據量越大,節省的存儲空間效果越明顯。
技術領域
本申請涉及數據處理領域,尤其涉及狀態數據的存儲方法、數據發送的方法及裝置。
背景技術
在相關技術中,用戶開關等狀態數據通常使用mysql或者Redis的String語句等數據庫存儲結構進行存儲,這些存儲結構在對狀態數據進行存儲時針對一條狀態數據會生成一條存儲記錄。例如有一億個注冊用戶,若使用mysql來存儲,就需要有1億條記錄用來存儲注冊用戶的開關狀態數據,占用了大量的磁盤空間。若使用Redis的String來存儲用戶的開關狀態數據,1億用戶也需要幾GB的內存空間來存儲,這對本身就非常匱乏的Redis內存造成了非常大的浪費。
發明內容
有鑒于此,本申請提供一種狀態數據的存儲方法、數據發送的方法及裝置。
根據本申請實施例的第一方面,提供一種狀態數據的存儲方法,所述方法包括步驟:
獲取待存儲的開關狀態數據,所述開關狀態數據包括用戶設置的目標開關狀態以及用戶標識;
采用位圖存儲所述開關狀態數據,其中,所述位圖的偏移量指向所述用戶標識,所述偏移量所在的比特位用于存儲所述目標開關狀態。
在本實施例的一種可能的實施方式中,所述開關狀態數據還包括應用程序標識,在所述采用位圖存儲所述開關狀態數據之前,還包括:
根據所述應用程序標識,判斷是否存在與所述應用程序標識相關的位圖;
若否,則創建位圖,并將創建的所述位圖與所述應用程序標識進行關聯。
在本實施例的一種可能的實施方式中,所述方法還包括:
根據所述應用程序標識,對關聯的位圖中記錄的目標開關狀態進行匯總,得到開關匯總數據。
在本實施例的一種可能的實施方式中,所述獲取待存儲的開關狀態數據,包括:
接收應用程序客戶端發送的開關狀態數據,所述開關狀態數據為所述應用程序客戶端在檢測到用戶的開關設置操作后,根據獲取的目標開關狀態以及用戶標識生成的數據。
在本實施例的一種可能的實施方式中,所述采用位圖存儲所述開關狀態數據,包括:
將所述開關狀態數據發送至第三方存儲服務器,以由所述第三方存儲服務器采用位圖存儲所述開關狀態數據。
在本實施例的一種可能的實施方式中,所述采用位圖存儲所述開關狀態數據,包括:
將所述目標開關狀態轉換為第一值或第二值,并從所述位圖中選取一可用的比特位存儲所述第一值或第二值,其中,所述第一值用于描述開關的開啟狀態;所述第二值用于描述開關的關閉狀態;
獲取選取的所述比特位的偏移量,并將所述偏移量與所述用戶標識進行關聯。
根據本申請實施例的第二方面,提供一種數據發送的方法,所述方法包括:
獲取應用程序的注冊用戶列表,所述注冊用戶列表包括已注冊用戶的用戶標識;
基于已生成的位圖,確定各用戶標識對應的目標開關狀態;
向所述目標開關狀態為開啟狀態的用戶發送目標數據。
在本實施例的一種可能的實施方式中,所述基于已生成的位圖,確定各用戶標識對應的目標開關狀態,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州虎牙信息科技有限公司,未經廣州虎牙信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910204540.4/2.html,轉載請聲明來源鉆瓜專利網。





