[發明專利]更新服務器程序的配置數據的方法及設備無效
| 申請號: | 201110287614.9 | 申請日: | 2011-09-26 |
| 公開(公告)號: | CN102314368A | 公開(公告)日: | 2012-01-11 |
| 發明(設計)人: | 王偉;黃國宏;潘年華;付清文;周平;王海;晏利平;李曉鵬;李銳;胡海;曾精石;楊曉東;向萬里 | 申請(專利權)人: | 貴陽朗瑪信息技術股份有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 550022 貴州省貴陽*** | 國省代碼: | 貴州;52 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 更新 服務器 程序 配置 數據 方法 設備 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種更新服務器程序的配置數據的方法及設備。
背景技術
在服務器程序正常運行前很多預置的配置數據項將會被讀取到內存中,以供服務器程序正常運行時共享使用。一般情況下,配置數據有效期為一次啟動服務器程序后,一直要使用到下次更改并重啟服務器程序前。為了不需要重啟服務器程序就能實現數據的動態更新,后臺可以提供修改配置界面,服務器程序設計定時檢測數據配置的更新機制。而在多用戶線程模式下,工作的服務器程序或為多客戶端提供服務的服務器程序如果要動態更新某一配置數據,必須將該內存進行“鎖操作”才能更新內存值。否則會導致數據的不完整甚至于邏輯錯誤。而鎖定配置數據緩沖區后用戶線程暫時不能再讀取到該配置數據,用戶處于等待狀態。對于實時性很高,用戶量很大的服務器程序,如果某項配置數據內存項正在被很多用戶使用,很難加鎖。即使加鎖了,如果配置項的數據量大,鎖死內存數據進行更新的這一過程需要花費一定的時間,這一過程會讓用戶感覺到服務器程序停止,沒反應,用戶體驗非常糟糕。
由于無法解決上述“鎖操作”帶來的用戶使用延時的問題,現行采用的方式是,每次有數據更新,都要花費幾分鐘甚至幾十分鐘(對于大型分布式服務啟動就更慢)來啟動服務器程序后,配置數據才生效。這種方式將直接影響生產效率,導致用戶體驗很差。
發明內容
本發明的主要目的在于公開一種更新服務器程序的配置數據的方法及設備,使之在不影響用戶在線使用的狀態下實現數據的動態更新。
為達上述目的,本發明公開的更新服務器程序的配置數據的方法包括:
服務器程序啟動,在內存中劃分出第一全局緩沖區和第二全局緩沖區;
所述服務器程序將配置數據寫入第一全局緩沖區,完成寫入之后,將該第一全局緩沖區的狀態變量設置為活動狀態,并將該第二全局緩沖區的狀態變量設置為睡眠狀態;
所述服務器程序根據活動緩沖區的配置數據正常運行,該活動緩沖區即狀態變量為活動狀態的全局緩沖區,與之相對的睡眠緩沖區即狀態變量為睡眠狀態的另一全局緩沖區;
在后臺對該服務器程序的配置數據進行一次更新的過程中,由當前的活動緩沖區提供上次更新后的配置數據以維系該服務器程序正常運行;在后臺更新完本次的配置數據之后,向清空的睡眠緩沖區寫入本次更新后的所有配置數據,完成寫入之后,將該睡眠緩沖區的狀態變量修改為活動狀態,同時將先前活動緩沖區的狀態變量修改為睡眠狀態;
其中在服務器程序正常運行時,當所述第一全局緩沖區的狀態變量為活動狀態時,所述第二全局緩沖區的狀態變量為睡眠狀態;當所述第一全局緩沖區的狀態變量為睡眠狀態時,所述第二全局緩沖區的狀態變量為活動狀態。
為達上述目的,本發明還公開一種更新配置數據的設備,包括服務器程序和內存,且還包括:
內存管理模塊,用于將服務器程序加載到內存以啟動該服務器程序,并在內存中劃分出第一全局緩沖區和第二全局緩沖區,以供該服務器程序執行下述操作:
將配置數據寫入第一全局緩沖區,完成寫入之后,將該第一全局緩沖區的狀態變量設置為活動狀態,并將該第二全局緩沖區的狀態變量設置為睡眠狀態;
根據活動緩沖區的配置數據正常運行,該活動緩沖區即狀態變量為活動狀態的全局緩沖區,與之相對的睡眠緩沖區即狀態變量為睡眠狀態的另一全局緩沖區;
在后臺對該服務器程序的配置數據進行一次更新的過程中,由當前的活動緩沖區提供上次更新后的配置數據以維系該服務器程序正常運行;在后臺更新完本次的配置數據之后,向清空的睡眠緩沖區寫入本次更新后的所有配置數據,完成寫入之后,將該睡眠緩沖區的狀態變量修改為活動狀態,同時將先前活動緩沖區的狀態變量修改為睡眠狀態;
其中在服務器程序正常運行時,當所述第一全局緩沖區的狀態變量為活動狀態時,所述第二全局緩沖區的狀態變量為睡眠狀態;當所述第一全局緩沖區的狀態變量為睡眠狀態時,所述第二全局緩沖區的狀態變量為活動狀態。
與現有技術相比,本發明至少具有以下優點:
采用雙緩沖交替機制,兩個緩沖區數據互不干擾,相互獨立,從而實現了前臺的數據共享和后臺的數據更新的同時進行,充分利用了資源,而且通過在線動態更新的方式,不影響用戶正常使用,極大的提高了服務器程序及其設備運行穩定性和維護的便利性。
附圖說明
圖1是本發明實施例公開的更新配置數據的方法流程圖;
圖2為本發明實施例公開的更新配置數據的設備結構框圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貴陽朗瑪信息技術股份有限公司,未經貴陽朗瑪信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110287614.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:空心盒的成型模
- 下一篇:基于機載雙目視覺的障礙物感知方法





