[发明专利]更新服务器程序的配置数据的方法及设备无效
申请号: | 201110287614.9 | 申请日: | 2011-09-26 |
公开(公告)号: | CN102314368A | 公开(公告)日: | 2012-01-11 |
发明(设计)人: | 王伟;黄国宏;潘年华;付清文;周平;王海;晏利平;李晓鹏;李锐;胡海;曾精石;杨晓东;向万里 | 申请(专利权)人: | 贵阳朗玛信息技术股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 550022 贵州省贵阳*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 更新 服务器 程序 配置 数据 方法 设备 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种更新服务器程序的配置数据的方法及设备。
背景技术
在服务器程序正常运行前很多预置的配置数据项将会被读取到内存中,以供服务器程序正常运行时共享使用。一般情况下,配置数据有效期为一次启动服务器程序后,一直要使用到下次更改并重启服务器程序前。为了不需要重启服务器程序就能实现数据的动态更新,后台可以提供修改配置界面,服务器程序设计定时检测数据配置的更新机制。而在多用户线程模式下,工作的服务器程序或为多客户端提供服务的服务器程序如果要动态更新某一配置数据,必须将该内存进行“锁操作”才能更新内存值。否则会导致数据的不完整甚至于逻辑错误。而锁定配置数据缓冲区后用户线程暂时不能再读取到该配置数据,用户处于等待状态。对于实时性很高,用户量很大的服务器程序,如果某项配置数据内存项正在被很多用户使用,很难加锁。即使加锁了,如果配置项的数据量大,锁死内存数据进行更新的这一过程需要花费一定的时间,这一过程会让用户感觉到服务器程序停止,没反应,用户体验非常糟糕。
由于无法解决上述“锁操作”带来的用户使用延时的问题,现行采用的方式是,每次有数据更新,都要花费几分钟甚至几十分钟(对于大型分布式服务启动就更慢)来启动服务器程序后,配置数据才生效。这种方式将直接影响生产效率,导致用户体验很差。
发明内容
本发明的主要目的在于公开一种更新服务器程序的配置数据的方法及设备,使之在不影响用户在线使用的状态下实现数据的动态更新。
为达上述目的,本发明公开的更新服务器程序的配置数据的方法包括:
服务器程序启动,在内存中划分出第一全局缓冲区和第二全局缓冲区;
所述服务器程序将配置数据写入第一全局缓冲区,完成写入之后,将该第一全局缓冲区的状态变量设置为活动状态,并将该第二全局缓冲区的状态变量设置为睡眠状态;
所述服务器程序根据活动缓冲区的配置数据正常运行,该活动缓冲区即状态变量为活动状态的全局缓冲区,与之相对的睡眠缓冲区即状态变量为睡眠状态的另一全局缓冲区;
在后台对该服务器程序的配置数据进行一次更新的过程中,由当前的活动缓冲区提供上次更新后的配置数据以维系该服务器程序正常运行;在后台更新完本次的配置数据之后,向清空的睡眠缓冲区写入本次更新后的所有配置数据,完成写入之后,将该睡眠缓冲区的状态变量修改为活动状态,同时将先前活动缓冲区的状态变量修改为睡眠状态;
其中在服务器程序正常运行时,当所述第一全局缓冲区的状态变量为活动状态时,所述第二全局缓冲区的状态变量为睡眠状态;当所述第一全局缓冲区的状态变量为睡眠状态时,所述第二全局缓冲区的状态变量为活动状态。
为达上述目的,本发明还公开一种更新配置数据的设备,包括服务器程序和内存,且还包括:
内存管理模块,用于将服务器程序加载到内存以启动该服务器程序,并在内存中划分出第一全局缓冲区和第二全局缓冲区,以供该服务器程序执行下述操作:
将配置数据写入第一全局缓冲区,完成写入之后,将该第一全局缓冲区的状态变量设置为活动状态,并将该第二全局缓冲区的状态变量设置为睡眠状态;
根据活动缓冲区的配置数据正常运行,该活动缓冲区即状态变量为活动状态的全局缓冲区,与之相对的睡眠缓冲区即状态变量为睡眠状态的另一全局缓冲区;
在后台对该服务器程序的配置数据进行一次更新的过程中,由当前的活动缓冲区提供上次更新后的配置数据以维系该服务器程序正常运行;在后台更新完本次的配置数据之后,向清空的睡眠缓冲区写入本次更新后的所有配置数据,完成写入之后,将该睡眠缓冲区的状态变量修改为活动状态,同时将先前活动缓冲区的状态变量修改为睡眠状态;
其中在服务器程序正常运行时,当所述第一全局缓冲区的状态变量为活动状态时,所述第二全局缓冲区的状态变量为睡眠状态;当所述第一全局缓冲区的状态变量为睡眠状态时,所述第二全局缓冲区的状态变量为活动状态。
与现有技术相比,本发明至少具有以下优点:
采用双缓冲交替机制,两个缓冲区数据互不干扰,相互独立,从而实现了前台的数据共享和后台的数据更新的同时进行,充分利用了资源,而且通过在线动态更新的方式,不影响用户正常使用,极大的提高了服务器程序及其设备运行稳定性和维护的便利性。
附图说明
图1是本发明实施例公开的更新配置数据的方法流程图;
图2为本发明实施例公开的更新配置数据的设备结构框图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳朗玛信息技术股份有限公司,未经贵阳朗玛信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110287614.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:空心盒的成型模
- 下一篇:基于机载双目视觉的障碍物感知方法