[發明專利]進程更新方法和裝置有效
| 申請號: | 201410608827.0 | 申請日: | 2014-10-31 |
| 公開(公告)號: | CN105630612B | 公開(公告)日: | 2020-06-02 |
| 發明(設計)人: | 尹鵬 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 郝傳鑫;賈允 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 更新 方法 裝置 | ||
1.一種進程更新方法,其特征在于,包括:
獲取共享內存組的狀態信息,其中,所述共享內存組包括至少兩個共享內存塊,每個所述共享內存塊均存儲有進程的鍵-值數據;其中,所述狀態信息包括所述共享內存組中正在被使用的共享內存塊的關鍵字;
根據所述共享內存組中正在被使用的共享內存塊的關鍵字的狀態信息確定所述共享內存組中每個所述共享內存塊的調用狀態,以確定出處于被調用狀態的共享內存塊為第一共享內存塊和以確定出處于未被調用狀態的共享內存塊為第二共享內存塊;以及
在所述第一共享內存塊處于被調用狀態時更新所述第二共享內存塊中的所述鍵-值數據;所述更新所述第二共享內存塊中的所述鍵-值數據包括先清除所述第二共享內存塊中的鍵-值數據,再向所述第二共享內存塊中填寫新的鍵-值數據;
將所述第一共享內存塊由被調用狀態轉換為未被調用狀態,并將更新后的所述第二共享內存塊由未被調用狀態轉換為被調用狀態塊。
2.根據權利要求1所述的進程更新方法,其特征在于,在獲取共享內存組的狀態信息之前,所述進程更新方法還包括:
將所述共享內存組中的每個所述共享內存塊均劃分為第一存儲區域、第二存儲區域和第三存儲區域;以及
存儲用于查找所述鍵-值數據的查找數據至所述第一存儲區域,并存儲所述鍵-值數據中的第一數據至所述第二存儲區域,以及存儲所述鍵-值數據中的第二數據至所述第三存儲區域,其中,所述第一數據和所述第二數據組成所述鍵-值數據。
3.根據權利要求2所述的進程更新方法,其特征在于,在存儲用于查找所述鍵-值數據的查找數據至所述第一存儲區域,并存儲所述鍵-值數據中的第一數據至所述第二存儲區域,以及存儲所述鍵-值數據中的第二數據至所述第三存儲區域之后,所述進程更新方法還包括:
保存所述狀態信息至與所述共享內存組相互獨立的共享內存塊;以及
添加用于對所述狀態信息的讀寫進行保護的信號量鎖。
4.根據權利要求3所述的進程更新方法,其特征在于,
在添加用于對所述狀態信息的讀寫進行保護的信號量鎖之后,并且在獲取共享內存組的狀態信息之前,所述進程更新方法還包括:獲取所述信號量鎖,
在更新處于未被調用狀態的共享內存塊中的數據之后,所述進程更新方法還包括:釋放所述信號量鎖。
5.根據權利要求2所述的進程更新方法,其特征在于,在將所述共享內存組中的每個所述共享內存塊均劃分為第一存儲區域、第二存儲區域和第三存儲區域之后,所述進程更新方法還包括:
確定所述第二存儲區域中用于存儲所述第一數據的字節長度為預設定長,
其中,存儲所述鍵-值數據中的第一數據至所述第二存儲區域包括:將所述第一數據的長度轉換為所述預設定長;以及存儲轉換為所述預設定長后的所述第一數據至所述第二存儲區域。
6.根據權利要求2所述的進程更新方法,其特征在于,在存儲用于查找所述鍵-值數據的查找數據至所述第一存儲區域,并存儲所述鍵-值數據中的第一數據至所述第二存儲區域,以及存儲所述鍵-值數據中的第二數據至所述第三存儲區域之前,所述進程更新方法還包括:
對所述鍵-值數據進行散列運算,得到所述查找數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410608827.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:高并發連接實現方法和裝置
- 下一篇:一種信息處理方法及電子設備





