[發(fā)明專利]進程更新方法和裝置有效
| 申請?zhí)枺?/td> | 201410608827.0 | 申請日: | 2014-10-31 |
| 公開(公告)號: | CN105630612B | 公開(公告)日: | 2020-06-02 |
| 發(fā)明(設(shè)計)人: | 尹鵬 | 申請(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 郝傳鑫;賈允 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 進程 更新 方法 裝置 | ||
本發(fā)明公開了一種進程更新方法和裝置。其中,進程更新方法包括:獲取共享內(nèi)存組的狀態(tài)信息,其中,共享內(nèi)存組包括至少兩個共享內(nèi)存塊,每個共享內(nèi)存塊均存儲有進程的鍵?值數(shù)據(jù);根據(jù)狀態(tài)信息確定共享內(nèi)存組中每個共享內(nèi)存塊的調(diào)用狀態(tài),以確定處于被調(diào)用狀態(tài)的第一共享內(nèi)存塊和處于未被調(diào)用狀態(tài)的第二共享內(nèi)存塊;以及在第一共享內(nèi)存塊處于被調(diào)用狀態(tài)時更新第二共享內(nèi)存塊中的鍵?值數(shù)據(jù)。通過本發(fā)明,解決了現(xiàn)有技術(shù)中鍵?值數(shù)據(jù)的加載方式導(dǎo)致進程更新不靈活的問題,進而達到了提高進程更新靈活性的效果。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種進程更新方法和裝置。
背景技術(shù)
一般而言,進程的運行過程都需要加載一定數(shù)量的鍵-值(key-value)數(shù)據(jù)。例如:游戲進程會加載各個道具的價格、搜索引擎進程會加載離線挖掘的詞典等等。
當(dāng)一個進程需要加載key-value數(shù)據(jù)時,通常的方法是:
1)進程啟動時從數(shù)據(jù)源讀取數(shù)據(jù),然后在進程內(nèi)部進行轉(zhuǎn)換并構(gòu)建自己的私有數(shù)據(jù)結(jié)構(gòu);
2)源數(shù)據(jù)更新時,進程銷毀舊的數(shù)據(jù)結(jié)構(gòu),并重新執(zhí)行構(gòu)建程序。
受key-value數(shù)據(jù)存儲方式的限定,按照上述方式加載key-value數(shù)據(jù)的過程,每次進程啟動都需要重新構(gòu)建數(shù)據(jù),更新線程和服務(wù)線程的相互影響,導(dǎo)致進程啟動慢,恢復(fù)慢,進而造成進程更新不靈活。
針對相關(guān)技術(shù)中鍵-值數(shù)據(jù)的加載方式導(dǎo)致進程更新不靈活的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種進程更新方法和裝置,以至少解決鍵-值數(shù)據(jù)的加載方式導(dǎo)致進程更新不靈活的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種進程更新方法。
根據(jù)本發(fā)明實施例的進程更新方法包括:獲取共享內(nèi)存組的狀態(tài)信息,其中,所述共享內(nèi)存組包括至少兩個共享內(nèi)存塊,每個所述共享內(nèi)存塊均存儲有所述進程的鍵-值數(shù)據(jù);根據(jù)所述狀態(tài)信息確定所述共享內(nèi)存組中每個所述共享內(nèi)存塊的調(diào)用狀態(tài),以確定處于被調(diào)用狀態(tài)的第一共享內(nèi)存塊和處于未被調(diào)用狀態(tài)的第二共享內(nèi)存塊;以及在所述第一共享內(nèi)存塊處于被調(diào)用狀態(tài)時更新所述第二共享內(nèi)存塊中的所述鍵-值數(shù)據(jù)。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種進程更新裝置。
根據(jù)本發(fā)明實施例的進程更新裝置包括:第一獲取單元,用于獲取共享內(nèi)存組的狀態(tài)信息,其中,所述共享內(nèi)存組包括至少兩個共享內(nèi)存塊,每個所述共享內(nèi)存塊均存儲有所述進程的鍵-值數(shù)據(jù);第一確定單元,用于根據(jù)所述狀態(tài)信息確定所述共享內(nèi)存組中每個所述共享內(nèi)存塊的調(diào)用狀態(tài),以確定處于被調(diào)用狀態(tài)的第一共享內(nèi)存塊和處于未被調(diào)用狀態(tài)的第二共享內(nèi)存塊;以及更新單元,用于在所述第一共享內(nèi)存塊處于被調(diào)用狀態(tài)時更新所述第二共享內(nèi)存塊中的所述鍵-值數(shù)據(jù)。
在本發(fā)明實施例中,采用獲取共享內(nèi)存組的狀態(tài)信息,其中,所述共享內(nèi)存組包括至少兩個共享內(nèi)存塊,每個所述共享內(nèi)存塊均存儲有所述進程的鍵-值數(shù)據(jù);根據(jù)所述狀態(tài)信息確定所述共享內(nèi)存組中每個所述共享內(nèi)存塊的調(diào)用狀態(tài),以確定處于被調(diào)用狀態(tài)的第一共享內(nèi)存塊和處于未被調(diào)用狀態(tài)的第二共享內(nèi)存塊;以及在所述第一共享內(nèi)存塊處于被調(diào)用狀態(tài)時更新所述第二共享內(nèi)存塊中的所述鍵-值數(shù)據(jù)。通過利用共享內(nèi)存組存儲進程的鍵-值數(shù)據(jù),在一個共享內(nèi)存塊處于被調(diào)用狀態(tài)時更新另一個共享內(nèi)存塊中的鍵值-數(shù)據(jù),實現(xiàn)了在一個共享內(nèi)存塊提供服務(wù)的時候,可以對另一個共享內(nèi)存塊中的鍵-值數(shù)據(jù)進行更新,這樣,在進程重啟時,只需從共享內(nèi)存組進行鍵-值數(shù)據(jù)的加載即可,無需再次從數(shù)據(jù)源讀取數(shù)據(jù)并構(gòu)建自己的私有數(shù)據(jù)結(jié)構(gòu);并且,基于共享內(nèi)存組加載鍵-值數(shù)據(jù)的方式,實現(xiàn)了更新線程和服務(wù)線程的相互獨立,對進程鍵-值數(shù)據(jù)的在線更新不影響服務(wù),解決了現(xiàn)有技術(shù)中鍵-值數(shù)據(jù)的加載方式導(dǎo)致進程更新不靈活的問題,進而達到了提高進程更新靈活性的效果。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410608827.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





