[發明專利]一種數據更新方法及裝置有效
| 申請號: | 201711136821.8 | 申請日: | 2017-11-16 |
| 公開(公告)號: | CN109814891B | 公開(公告)日: | 2023-08-08 |
| 發明(設計)人: | 王萬里;孫興強 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/71 |
| 代理公司: | 北京華夏泰和知識產權代理有限公司 11662 | 代理人: | 沈園園 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 更新 方法 裝置 | ||
本發明實施例公開了一種數據更新方法及裝置,該方法可以包括:通過第一進程獲取第一待寫入數據;為第一待寫入數據分配第一版本號;將第一版本號和第一待寫入數據的對應關系,添加至共享內存中存儲的待訪問數組中;利用第一版本號更新至少一個進程中存儲的至少一個版本號,至少一個進程包括第一進程,至少一個進程中的一個進程中存儲一個版本號;當至少一個進程中的第二進程未更新完成時,保留待訪問數組中小于第一版本號的第二版本號,和第二版本號對應的第二待寫入數據;當接收到第二進程對第二版本號的訪問請求時,按照第二版本號訪問待訪問數組中的第二待寫入數據。
技術領域
本發明涉及計算機軟件領域,尤其涉及一種數據更新方法及裝置。
背景技術
隨著互聯網的高速發展,用戶對電信設備的容量指標、性能指標和穩定性指標的要求變得越來越高。現有技術中,多進程由于在故障隔離、功能裁剪等方面體現出來的優勢,被廣泛應用在電信設備中,如圖1所示,多進程中的每一個進程存儲一份完整的軟件表項,當軟件表項發生變化時,每一個進程都能同步軟件表項的變化,從而指示業務同步最新的軟件表項。然而,穩定情況下的軟件表項是不會發生變化的,只有在出現變更時,軟件表項才會發生變化,而為每一個進程分配一份軟件表項會導致內存浪費的問題。
現有技術中,將軟件表項存儲在共享內存中,多進程在共享內存中進行數據讀寫的功能,由于將軟件表項存儲在共享內存中,寫操作時會對共享內存中數據造成更改,從而影響其他進行的讀操作,故利用讀寫鎖機制,即在一個進程進行寫操作時,其他進程不能訪問共享內存。
然而,當一個進程進行寫操作時,其他進程不能訪問共享內存,會導致多進程的訪問速度變低。
發明內容
為解決上述技術問題,本發明實施例期望提供一種數據更新方法及裝置,能夠提高多進程的訪問速度。
本發明實施例提供一種數據更新方法,該方法可以包括:
通過第一進程獲取第一待寫入數據;
為所述第一待寫入數據分配第一版本號;
將所述第一版本號和所述第一待寫入數據的對應關系,添加至共享內存中存儲的待訪問數組中;
利用所述第一版本號更新至少一個進程中存儲的至少一個版本號,所述至少一個進程包括所述第一進程,所述至少一個進程中的一個進程中存儲一個版本號;
當所述至少一個進程中的第二進程未更新完成時,保留所述待訪問數組中小于所述第一版本號的第二版本號,和所述第二版本號對應的第二待寫入數據;
當接收到所述第二進程對所述第二版本號的訪問請求時,按照所述第二版本號訪問所述待訪問數組中的所述第二待寫入數據。
在上述方法中,所述利用所述第一版本號更新至少一個進程存儲的至少一個版本號之后,所述方法還包括:
當所述至少一個進程更新完成,且檢測到所述至少一個進程未訪問所述共享內存時,對所述共享內存中存儲的版本號及對應的待寫入數據進行相應的刪除操作。
在上述方法中,所述保留所述待訪問數組中小于所述第一版本號的第二版本號,和所述第二版本號對應的第二待寫入數據之后,所述方法還包括:
當所述第二進程未更新完成,且接收到第三進程對所述第一版本號的訪問請求時,按照所述第一版本號訪問所述待訪問數組中的所述第一待寫入數據,所述第三進程為所述至少一個進程中更新完成的進程。
在上述方法中,所述第一進程包括讀進程,所述通過第一進程獲取第一待寫入數據,包括:
通過所述讀進程獲取第一更新指令;
獲取所述第一更新指令對應的所述第一待寫入數據;
將所述第一更新指令攜帶的所述第一待寫入數據,存儲至讀進程內存中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711136821.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





