一种配置管理方法及系统技术方案

技术编号:20362750 阅读:18 留言:0更新日期:2019-02-16 16:28
本发明专利技术的技术方案包括一种配置管理方法及系统,用于实现:当配置内容发生改变时,配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中,配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。本发明专利技术的有益效果为:便于同一管理,不易出错,支持实时更新,两块共享内存的使用,使得读写性能高效,不会影响业务服务性能或者浪费服务器资源,访问高效并支持多业务通用。

【技术实现步骤摘要】
一种配置管理方法及系统
本专利技术涉及一种配置管理方法及系统,属于计算机应用领域。
技术介绍
随着互联网的发展,每个人的生活都跟互联网联系的越来越紧。在互联网产品的开发过程中,配置是一个不可或缺的部分,在复杂WEB应用系统中通常由一系列配置参数来影响一个系统的各种行为,每个模块或者系统都需要编写一个或多个配置文件,配置是一个不可或缺的部分。配置具有更新频率较高,访问异常频繁,穿插与整个业务过程中等特点。当前大部分配置的管理方式主要有以下几种:(1)配置直接书写在客户端代码和服务器的代码中。这种方式的优点是实现简单,在需要的时候按代码的规则定义或修改即可;配置读取高效,直接书写在代码中的配置最后会存储在内存中。缺点是管理混乱,需要改动的时候需要客户端和服务器的代码一起改,所以出现客户端和服务器的配置不匹配情况,并且对所有可以修改代码的人都可以进行修改,无法统一管理,容易引入错误;直接书写在代码中的配置无法实时更新,需要版本发布来实现配置更新,频繁的版本发布对用户体验是一种很大的伤害。(2)使用cache服务器统一管理配置。这种方法的优点是配置统一管理,不容易出错,也能实现实时更新。缺点是访问低效,影响业务性能。因为Cache服务器是一种需要通过网络访问才能获取到cache服务器里边的内容。网络访问属于一种IO操作,是一种比较慢的一种操作,内存访问速度是纳秒级别,网络访问速度处于毫秒级别。(3)现有的一些利用共享内存实现的配置系统在读取配置时需要获取共享内存的同步锁,对性能是一种大的消耗。同步锁的目的是防止在读取配置时刚好配置更新,导致配置错乱。但是,对应目前大部分都是多核多流水线的cpu来说,同步锁对性能的影响是非常大的。因为多个核上的运行的线程竞争同一块内存时,会导致只有一个线程才能继续运行,其它核上运行的线程必须挂起等待占用内存的线程执行完毕。这样cpu的并行效率急剧下降到跟只有一核的cpu一样,导致整体性能急剧下降。另外,当前的cpu的多流水线特性使得在一个cpu的核里边也是并行执行指令的。如果加了同步锁,即使是在一个核里边的并行也将无法实现,cpu内部的乱序执行等并行优化也将无效,因为必须等关健区的指令执行完后才能继续往下执行。这个跟当初设计高性能的配置系统的初衷背道而驰,因为设计配置系统的目的就是为了提高系统性能。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种配置管理方法及系统,当配置内容发生改变时,配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中,配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。本专利技术解决其问题所采用的技术方案一方面是:一种配置管理方法,其特征在于,该方法包括:当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。进一步的,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变。进一步的,所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。进一步的,还包括在备份配置内容共享内存模块完成配置内容更新后,更改配置选择共享内存模块中业务服务进程的占用对象,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。进一步的,所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。进一步的,配置代理模块采用RCU(Read-CopyUpdate)算法读取和/或写入配置内容共享内存以及备份配置内容共享内存。本专利技术解决其问题所采用的技术方案另一方面是:一种配置管理系统,包括配置中心模块、配置代理模块、配置选择共享内存模块、配置内容共享内存模块以及备份配置内容共享内存模块,其特征在于:所述配置中心模块用于当配置内容发生变更时,通知配置代理模块执行配置内容更新;所述配置代理模块用于接收配置中心模块发送的更新后的配置内容和更新配置内容指令,并将更新后的配置内容写入到备份配置内容共享内存模块中;所述配置选择共享内存模块用于设置配置内容共享内存模块和备份配置内容共享内存模块的索引值,即设置业务服务进程的占用对象;所述配置内容共享内存模块用于存储配置内容,供业务服务进程调用;所述备份配置内容共享内存模块用于接受配置代理模块执行的写入操作,包括从配置内容共享内存模块获取的配置内容和从配置代理模块获取的更新的配置内容的写入操作,并存储更新后的配置内容。进一步的,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变,而且所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。进一步的,所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。进一步的,备份配置内容共享内存模块完成配置内容更新后,将更新完成的结果反馈给配置选择共享内存模块,配置选择共享内存模块执行更改业务服务进程占用对象的操作,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。本专利技术的有益效果是:本专利技术采用的一种配置管理方法及系统,便于同一管理,不易出错,支持实时更新,两块共享内存的使用,使得读写性能高效,不会影响业务服务性能或者浪费服务器资源,访问高效并支持多业务通用。附图说明图1所示为配置管理方法流程示意图;图2所示为配置管理方法实施例一的方法示意图;图3所示为配置管理系统结构示意图;图4所示为配置管理系统实施例一的结构示意图。具体实施方式以下将结合实施例和附图对本专利技术的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本专利技术的目的、方案和效果。需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本
的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本专利技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第本文档来自技高网
...

【技术保护点】
1.一种配置管理方法,其特征在于,该方法包括:当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。

【技术特征摘要】
1.一种配置管理方法,其特征在于,该方法包括:当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。2.根据权利要求1所述的配置管理方法,其特征在于,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变。3.根据权利要求2所述的配置管理方法,其特征在于,还包括所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。4.根据权利要求1所述的配置管理方法,其特征在于,还包括在备份配置内容共享内存模块完成配置内容更新后,更改配置选择共享内存模块中业务服务进程的占用对象,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。5.根据权利要求1所述的配置管理方法,其特征在于,所述配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,具体包括:所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。6.根据权利要求1所述的配置管理方法,其特征在于,配置代理模块采用RCU(Read-CopyUpdate)算法读取和/或写入配置内容共享内存以及备份配置内容共享内存。...

【专利技术属性】
技术研发人员:王磊
申请(专利权)人:珠海沙盒网络科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1