[发明专利]一种配置管理方法及系统在审
申请号: | 201811137718.X | 申请日: | 2018-09-28 |
公开(公告)号: | CN109343979A | 公开(公告)日: | 2019-02-15 |
发明(设计)人: | 王磊 | 申请(专利权)人: | 珠海沙盒网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/14 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 519000 广东省珠海市高新区唐*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 配置内容 共享内存模块 业务服务 配置代理模块 备份配置 内存模块 内容共享 配置管理 读取 服务器资源 占用 读写性能 共享内存 配置选择 实时更新 多业务 更新 出错 写入 存储 复制 进程 通用 访问 管理 | ||
本发明的技术方案包括一种配置管理方法及系统,用于实现:当配置内容发生改变时,配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中,配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。本发明的有益效果为:便于同一管理,不易出错,支持实时更新,两块共享内存的使用,使得读写性能高效,不会影响业务服务性能或者浪费服务器资源,访问高效并支持多业务通用。
技术领域
本发明涉及一种配置管理方法及系统,属于计算机应用领域。
背景技术
随着互联网的发展,每个人的生活都跟互联网联系的越来越紧。在互联网产品的开发过程中,配置是一个不可或缺的部分,在复杂WEB应用系统中通常由一系列配置参数来影响一个系统的各种行为,每个模块或者系统都需要编写一个或多个配置文件,配置是一个不可或缺的部分。配置具有更新频率较高,访问异常频繁,穿插与整个业务过程中等特点。当前大部分配置的管理方式主要有以下几种:
(1)配置直接书写在客户端代码和服务器的代码中。这种方式的优点是实现简单,在需要的时候按代码的规则定义或修改即可;配置读取高效,直接书写在代码中的配置最后会存储在内存中。缺点是管理混乱,需要改动的时候需要客户端和服务器的代码一起改,所以出现客户端和服务器的配置不匹配情况,并且对所有可以修改代码的人都可以进行修改,无法统一管理,容易引入错误;直接书写在代码中的配置无法实时更新,需要版本发布来实现配置更新,频繁的版本发布对用户体验是一种很大的伤害。
(2)使用cache服务器统一管理配置。这种方法的优点是配置统一管理,不容易出错,也能实现实时更新。缺点是访问低效,影响业务性能。因为Cache服务器是一种需要通过网络访问才能获取到cache服务器里边的内容。网络访问属于一种IO操作,是一种比较慢的一种操作,内存访问速度是纳秒级别,网络访问速度处于毫秒级别。
(3)现有的一些利用共享内存实现的配置系统在读取配置时需要获取共享内存的同步锁,对性能是一种大的消耗。同步锁的目的是防止在读取配置时刚好配置更新,导致配置错乱。但是,对应目前大部分都是多核多流水线的cpu来说,同步锁对性能的影响是非常大的。因为多个核上的运行的线程竞争同一块内存时,会导致只有一个线程才能继续运行,其它核上运行的线程必须挂起等待占用内存的线程执行完毕。这样cpu的并行效率急剧下降到跟只有一核的cpu一样,导致整体性能急剧下降。另外,当前的cpu的多流水线特性使得在一个cpu的核里边也是并行执行指令的。如果加了同步锁,即使是在一个核里边的并行也将无法实现,cpu内部的乱序执行等并行优化也将无效,因为必须等关健区的指令执行完后才能继续往下执行。这个跟当初设计高性能的配置系统的初衷背道而驰,因为设计配置系统的目的就是为了提高系统性能。
发明内容
为解决上述问题,本发明的目的在于提供一种配置管理方法及系统,当配置内容发生改变时,配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中,配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
本发明解决其问题所采用的技术方案一方面是:一种配置管理方法,其特征在于,该方法包括:当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
进一步的,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海沙盒网络科技有限公司,未经珠海沙盒网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811137718.X/2.html,转载请声明来源钻瓜专利网。