CN109343979A - 一种配置管理方法及*** - Google Patents

一种配置管理方法及*** Download PDF

Info

Publication number
CN109343979A
CN109343979A CN201811137718.XA CN201811137718A CN109343979A CN 109343979 A CN109343979 A CN 109343979A CN 201811137718 A CN201811137718 A CN 201811137718A CN 109343979 A CN109343979 A CN 109343979A
Authority
CN
China
Prior art keywords
configuration
shared drive
module
content
drive module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811137718.XA
Other languages
English (en)
Inventor
王磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Sandbox Network Technology Co Ltd
Original Assignee
Zhuhai Sandbox Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Sandbox Network Technology Co Ltd filed Critical Zhuhai Sandbox Network Technology Co Ltd
Priority to CN201811137718.XA priority Critical patent/CN109343979A/zh
Publication of CN109343979A publication Critical patent/CN109343979A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种配置管理方法及***
技术领域
本发明涉及一种配置管理方法及***,属于计算机应用领域。
背景技术
随着互联网的发展,每个人的生活都跟互联网联系的越来越紧。在互联网产品的开发过程中,配置是一个不可或缺的部分,在复杂WEB应用***中通常由一系列配置参数来影响一个***的各种行为,每个模块或者***都需要编写一个或多个配置文件,配置是一个不可或缺的部分。配置具有更新频率较高,访问异常频繁,穿插与整个业务过程中等特点。当前大部分配置的管理方式主要有以下几种:
(1)配置直接书写在客户端代码和服务器的代码中。这种方式的优点是实现简单,在需要的时候按代码的规则定义或修改即可;配置读取高效,直接书写在代码中的配置最后会存储在内存中。缺点是管理混乱,需要改动的时候需要客户端和服务器的代码一起改,所以出现客户端和服务器的配置不匹配情况,并且对所有可以修改代码的人都可以进行修改,无法统一管理,容易引入错误;直接书写在代码中的配置无法实时更新,需要版本发布来实现配置更新,频繁的版本发布对用户体验是一种很大的伤害。
(2)使用cache服务器统一管理配置。这种方法的优点是配置统一管理,不容易出错,也能实现实时更新。缺点是访问低效,影响业务性能。因为Cache服务器是一种需要通过网络访问才能获取到cache服务器里边的内容。网络访问属于一种IO操作,是一种比较慢的一种操作,内存访问速度是纳秒级别,网络访问速度处于毫秒级别。
(3)现有的一些利用共享内存实现的配置***在读取配置时需要获取共享内存的同步锁,对性能是一种大的消耗。同步锁的目的是防止在读取配置时刚好配置更新,导致配置错乱。但是,对应目前大部分都是多核多流水线的cpu来说,同步锁对性能的影响是非常大的。因为多个核上的运行的线程竞争同一块内存时,会导致只有一个线程才能继续运行,其它核上运行的线程必须挂起等待占用内存的线程执行完毕。这样cpu的并行效率急剧下降到跟只有一核的cpu一样,导致整体性能急剧下降。另外,当前的cpu的多流水线特性使得在一个cpu的核里边也是并行执行指令的。如果加了同步锁,即使是在一个核里边的并行也将无法实现,cpu内部的乱序执行等并行优化也将无效,因为必须等关健区的指令执行完后才能继续往下执行。这个跟当初设计高性能的配置***的初衷背道而驰,因为设计配置***的目的就是为了提高***性能。
发明内容
为解决上述问题,本发明的目的在于提供一种配置管理方法及***,当配置内容发生改变时,配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中,配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
本发明解决其问题所采用的技术方案一方面是:一种配置管理方法,其特征在于,该方法包括:当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
进一步的,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变。
进一步的,所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。
进一步的,还包括在备份配置内容共享内存模块完成配置内容更新后,更改配置选择共享内存模块中业务服务进程的占用对象,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。
进一步的,所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。
进一步的,配置代理模块采用RCU(Read-Copy Update)算法读取和/或写入配置内容共享内存以及备份配置内容共享内存。
本发明解决其问题所采用的技术方案另一方面是:一种配置管理***,包括配置中心模块、配置代理模块、配置选择共享内存模块、配置内容共享内存模块以及备份配置内容共享内存模块,其特征在于:所述配置中心模块用于当配置内容发生变更时,通知配置代理模块执行配置内容更新;所述配置代理模块用于接收配置中心模块发送的更新后的配置内容和更新配置内容指令,并将更新后的配置内容写入到备份配置内容共享内存模块中;所述配置选择共享内存模块用于设置配置内容共享内存模块和备份配置内容共享内存模块的索引值,即设置业务服务进程的占用对象;所述配置内容共享内存模块用于存储配置内容,供业务服务进程调用;所述备份配置内容共享内存模块用于接受配置代理模块执行的写入操作,包括从配置内容共享内存模块获取的配置内容和从配置代理模块获取的更新的配置内容的写入操作,并存储更新后的配置内容。
进一步的,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变,而且所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。
进一步的,所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。
进一步的,备份配置内容共享内存模块完成配置内容更新后,将更新完成的结果反馈给配置选择共享内存模块,配置选择共享内存模块执行更改业务服务进程占用对象的操作,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。
本发明的有益效果是:本发明采用的一种配置管理方法及***,便于同一管理,不易出错,支持实时更新,两块共享内存的使用,使得读写性能高效,不会影响业务服务性能或者浪费服务器资源,访问高效并支持多业务通用。
附图说明
图1所示为配置管理方法流程示意图;
图2所示为配置管理方法实施例一的方法示意图;
图3所示为配置管理***结构示意图;
图4所示为配置管理***实施例一的结构示意图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
参照图1所示为配置管理方法流程示意图,该方法是图3所示***的工作方法,如图1所示,该方法包括以下步骤:
当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;
配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;
将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;
配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
进一步地,为解决可能发生的***重启而导致的配置内容读取/查询失败的问题,该方法还包括如下步骤:配置中心模块通过配置代理模块读取配置内容共享内存模块将其存储的所有的配置内容在内置的备用数据库中建立备份,以及,配置代理模块在首次启动时,从配置中心模块中的备用数据库同步所有的配置内容到配置内容共享内存模块。
本步骤保证了配置代理模块部署的这个服务器中的配置项和配置内容共享内存模块中的配置内容的一致性。另外,共享内存在服务器重启后会被清空,所以在重启的时候需要从备用数据库上重新拉取一次全量的配置内容数据。
进一步地,配置选择共享内存模块还具有更改业务服务进程索引对象的权限;具体参考图2所示的实施例。
进一步地,图1所示方法还包括如下步骤:配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中。配置内容共享内存模块是用来缓存最新的配置内容,采用共享内存的原因是在同机器节点中不同的进程可以通过共享内存通讯,灵活的应用共享内存解决了读取配置的性能问题。由于配置内容更新不是全量更新,是增量更新,即是在当前最新的配置的基础上更新。所以要把现有的最新的复制过来,然后把更新内容附加上去,然后再替换当前所用的内存,这样就更新成功了。
进一步地,为了加快读写共享内存模块的速度,提高读写效率,还可以采用RCU算法进行读写,RCU(Read-Copy Update),是Linux中比较重要的一种同步机制。顾名思义就是“读,拷贝更新”,再直白点是“随意读,但更新数据的时候,需要先复制一份副本,在副本上完成修改,再一次性地替换旧数据”。最后使用一个回调(callback)机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据。这个时机就是所有引用该数据的CPU都退出对共享数据的操作。这是Linux内核实现的一种针对“读多写少”的共享数据的同步机制。
不同于其他的同步机制,它允许多个读者同时访问共享数据,而且读者的性能不会受影响(“随意读”),读者与写者之间也不需要同步机制(但需要“复制后再写”),但如果存在多个写者时,在写者把更新后的“副本”覆盖到原数据时,写者与写者之间需要利用其他同步机制保证同步。因此RCU实际上是一种改进的rwlock,读者几乎没有什么同步开销,它不需要锁,不使用原子指令,而且在除alpha的所有架构上也不需要内存栅(MemoryBarrier),因此不会导致锁竞争,内存延迟以及流水线停滞。不需要锁也使得使用更容易,因为死锁问题就不需要考虑了。写者的同步开销比较大,它需要延迟数据结构的释放,复制被修改的数据结构,它也必须使用某种锁机制同步并行的其它写者的修改操作。读者必须提供一个信号给写者以便写者能够确定数据可以被安全地释放或修改的时机。有一个专门的垃圾收集器来探测读者的信号,一旦所有的读者都已经发送信号告知它们都不在使用被RCU保护的数据结构,垃圾收集器就调用回调函数完成最后的数据释放或修改操作。RCU与rwlock的不同之处是:它既允许多个读者同时访问被保护的数据,又允许多个读者和多个写者同时访问被保护的数据(注意:是否可以有多个写者并行访问取决于写者之间使用的同步机制),读者没有任何同步开销,而写者的同步开销则取决于使用的写者间同步机制。但RCU不能替代rwlock,因为如果写比较多时,对读者的性能提高不能弥补写者导致的损失。
读者在访问被RCU保护的共享数据期间不能被阻塞,这是RCU机制得以实现的一个基本前提,也就说当读者在引用被RCU保护的共享数据期间,读者所在的CPU不能发生上下文切换,spinlock和rwlock都需要这样的前提。写者在访问被RCU保护的共享数据时不需要和读者竞争任何锁,只有在有多于一个写者的情况下需要获得某种锁以与其他写者同步。写者修改数据前首先拷贝一个被修改元素的副本,然后在副本上进行修改,修改完毕后它向垃圾回收器注册一个回调函数以便在适当的时机执行真正的修改操作。等待适当时机的这一时期称为grace period,而CPU发生了上下文切换称为经历一个quiescent state,grace period就是所有CPU都经历一次quiescent state所需要的等待的时间。垃圾收集器就是在grace period之后调用写者注册的回调函数来完成真正的数据修改或数据释放操作的。
参照图2所示为配置管理方法实施例一的方法示意图,配置选择共享内存模块如图1的实施例所示,配置选择共享内存模块还具有更改业务服务进程索引对象的权限,业务服务进程读写的索引对象或路径有配置选择共享内存模块设置,当备份配置内容共享内存模块完成更新后,配置选择共享内存模块修改两块配置内容共享内存模块的索引值,即将两款配置内容共享内存模块的索引值进行互换,这样,业务进程占用的对象就由原来的配置内容共享内存模块变更为具备最新的配置内容的备份配置内容共享内存模块,按照本技术方案的设置,被业务进程占用的共享内存即为配置内容共享内存模块的索引值,而另一款共享内存即为备份配置内容共享内存模块,保证了每次***读写判断配置内容是否更新时,选取的参照对象都是当前具备最新的配置内容并且被业务服务进程占用的配置内容共享内存模块。
图3所示为配置管理***结构示意图,其工作流程及方法如图1所示,包括配置中心模块、配置代理模块、配置选择共享内存模块、配置内容共享内存模块以及备份配置内容共享内存模块,配置中心模块用于当配置内容发生变更时,通知配置代理模块执行配置内容更新;配置代理模块用于接收配置中心模块发送的更新后的配置内容和更新配置内容指令,并将更新后的配置内容写入到备份配置内容共享内存模块中;配置选择共享内存模块用于设置配置内容共享内存模块和备份配置内容共享内存模块的索引值,即设置业务服务进程的占用对象;配置内容共享内存模块用于存储配置内容,供业务服务进程调用;备份配置内容共享内存模块用于接受配置代理模块执行的写入操作,包括从配置内容共享内存模块获取的配置内容和从配置代理模块获取的更新的配置内容的写入操作,并存储更新后的配置内容。
配置中心模块是项目配置、权限管理、配置项管理/变更的主要入口,通过配置中心模块来远程控制操作配置内容,其是配置内容变更发起的主要模块,当配置内容发生变更时,配置中心模块会通知配置代理模块更新数据,并且在每次更新完毕后通过配置代理模块获取配置内容共享内存模块中的配置内容更新本备用数据库的配置内容。
配置代理模块和配置中心模块保持实时数据同步,备用数据库起到数据持久化的作用。配置代理模块将同步到的更新数据写入到共享内存中供以各种语言编写的多种不同业务直接读取配置内容共享内存模块使用,由于配置读取量大于写,所有在共享内存模块结构构建中采用写增量更新,有利于读取时的性能提升,具体的后续将介绍。
配置代理模块是部署在每个计算节点上的,主要负责同步配置内容共享内存模块上的配置内容数据,并且将配置中心模块中的实时变更数据更新到共享内存模块中。该配置代理模块在启动的时候会首次从配置中心模块中同步全量数据(即所有的配置数据)。存储持久化是指:由于配置内容在正常读取时从配置内容共享内存模块的内存索引中读取,可能会发生***重启等问题,所以会将所有的配置项在Mysql这个数据库中存储一份。
配置代理模块中还可进一步封装RPC Server,具体的业务***可以通过调用RPC服务来读取配置数据。由于配置代理模块是多个节点(配置代理模块是在业务的多台服务器上都会部署),配置存储模块是一个,当有项目或配置项发生变更后会有两个操作被触发,一个操作是写入变更的配置项到消息队列模块中用来通知配置代理模块,
配置内容共享内存模块是用来缓存最终的配置项,采用共享内存的原因是在同机器节点(该机器节点是指部署配置代理的机器/服务器)中不同的进程可以通过共享内存通讯,灵活的应用共享内存解决了读取配置的性能问题。由于配置项读取大于写故采用写时全量更新内存索引(即将所有的配置项全量地更新到内存索引中),尽可能地提升读取的性能。
配置代理模块,还可用于响应于业务***的配置读取指令,通过远程过程调用协议RPC服务从所述共享内存模块中读取配置数据给业务***;或者,共享内存模块,还可用于响应于业务***的配置读取指令,直接读取配置数据给业务***。
参考图4所示为配置管理***实施例一的结构示意图,
当配置内容发生变更时,配置中心模块会通知配置代理模块更新数据,并且在每次更新完毕后通过配置代理模块获取配置内容共享内存模块中的配置内容更新本备用数据库的配置内容,备用数据库中存储的配置内容,用于配置代理模块在启动的时候会首次从配置中心模块中同步全量数据(即所有的配置数据)、共享内存在服务器重启后会被清空,在重启的时候需要从备用数据库上重新拉取一次全量的配置内容数据以及用作配置内容发生变化时的参考,确保做对比的对象是当前业务服务进程正在占用的配置内容。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机***通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机***的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (10)

1.一种配置管理方法,其特征在于,该方法包括:
当配置内容发生改变时,配置中心模块通过配置代理模块执行配置内容更新;
配置代理模块读取配置选择共享内存模块,获取当前业务服务进程占用的配置内容共享内存模块信息,未被业务服务进程占用的配置内容共享内存模块即为备份配置内容共享内存模块;
将被业务服务进程占用的配置内容共享内存模块存储的配置内容复制到备份配置内容共享内存模块中;
配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,完成配置内容更新。
2.根据权利要求1所述的配置管理方法,其特征在于,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变。
3.根据权利要求2所述的配置管理方法,其特征在于,还包括所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。
4.根据权利要求1所述的配置管理方法,其特征在于,还包括在备份配置内容共享内存模块完成配置内容更新后,更改配置选择共享内存模块中业务服务进程的占用对象,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。
5.根据权利要求1所述的配置管理方法,其特征在于,所述配置代理模块将更新后的配置内容写入到备份配置内容共享内存模块中,具体包括:
所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。
6.根据权利要求1所述的配置管理方法,其特征在于,配置代理模块采用RCU(Read-Copy Update)算法读取和/或写入配置内容共享内存以及备份配置内容共享内存。
7.一种配置管理***,包括配置中心模块、配置代理模块、配置选择共享内存模块、配置内容共享内存模块以及备份配置内容共享内存模块,其特征在于:
所述配置中心模块用于当配置内容发生变更时,通知配置代理模块执行配置内容更新;
所述配置代理模块用于接收配置中心模块发送的更新后的配置内容和更新配置内容指令,并将更新后的配置内容写入到备份配置内容共享内存模块中;
所述配置选择共享内存模块用于设置配置内容共享内存模块和备份配置内容共享内存模块的索引值,即设置业务服务进程的占用对象;
所述配置内容共享内存模块用于存储配置内容,供业务服务进程调用;
所述备份配置内容共享内存模块用于接受配置代理模块执行的写入操作,包括从配置内容共享内存模块获取的配置内容和从配置代理模块获取的更新的配置内容的写入操作,并存储更新后的配置内容。
8.根据权利要求7所述的配置管理***,其特征在于,所述配置中心模块通过配置代理模块读取配置内容共享内存模块中的配置内容,并在内置的备用数据库中建立备份用以判断配置内容是否发生改变,而且所述配置代理模块在首次启动时,从配置中心模块中同步所有的配置内容写入到配置内容共享内存模块中。
9.根据权利要求7所述的配置管理***,其特征在于,所述配置代理模块将更新后的配置内容增量地写入到备份配置内容共享内存模块中。
10.根据权利要求7所述的配置管理***,其特征在于,备份配置内容共享内存模块完成配置内容更新后,将更新完成的结果反馈给配置选择共享内存模块,配置选择共享内存模块执行更改业务服务进程占用对象的操作,即将配置内容共享内存模块和备份配置内容共享内存模块的索引值互换。
CN201811137718.XA 2018-09-28 2018-09-28 一种配置管理方法及*** Pending CN109343979A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811137718.XA CN109343979A (zh) 2018-09-28 2018-09-28 一种配置管理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811137718.XA CN109343979A (zh) 2018-09-28 2018-09-28 一种配置管理方法及***

Publications (1)

Publication Number Publication Date
CN109343979A true CN109343979A (zh) 2019-02-15

Family

ID=65307478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811137718.XA Pending CN109343979A (zh) 2018-09-28 2018-09-28 一种配置管理方法及***

Country Status (1)

Country Link
CN (1) CN109343979A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069221A (zh) * 2019-04-30 2019-07-30 北京华三通信技术有限公司 数据释放方法及装置
CN110096453A (zh) * 2019-04-11 2019-08-06 北京华三通信技术有限公司 数据处理方法及装置
CN111831350A (zh) * 2020-06-02 2020-10-27 深圳木成林科技有限公司 应用进程配置更新方法、***、终端设备及存储介质
CN112256344A (zh) * 2020-09-30 2021-01-22 中智关爱通(上海)科技股份有限公司 一种数据配置方法
CN112965837A (zh) * 2021-03-04 2021-06-15 杭州银行股份有限公司 配置和服务热重载更新方法、装置、计算机设备及存储介质
CN113791916A (zh) * 2021-11-17 2021-12-14 支付宝(杭州)信息技术有限公司 对象更新、读取方法及装置
CN113992754A (zh) * 2021-10-25 2022-01-28 北京恒安嘉新安全技术有限公司 深度报文检测设备的策略更新方法、装置、设备和介质
CN114020340A (zh) * 2021-11-02 2022-02-08 联想(北京)信息技术有限公司 一种服务器***及其数据处理方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426244A (zh) * 2001-12-20 2003-06-25 深圳市中兴通讯股份有限公司上海第二研究所 数据主备内存处理方法
CN101017448A (zh) * 2007-03-12 2007-08-15 中国建设银行股份有限公司 数据的动态刷新方法及***
US20110246425A1 (en) * 2010-03-30 2011-10-06 Sybase, Inc. Managing Data Backup of an In-Memory Database in a Database Management System
CN103838552A (zh) * 2014-03-18 2014-06-04 北京邮电大学 4g宽带通信***多核并行流水线信号的处理***和方法
CN104167822A (zh) * 2014-09-02 2014-11-26 科大智能电气技术有限公司 一种用于配网自动化终端装置的参数配置方法
CN105700962A (zh) * 2014-11-26 2016-06-22 中兴通讯股份有限公司 数据更新处理方法及装置
CN106878376A (zh) * 2016-12-23 2017-06-20 微梦创科网络科技(中国)有限公司 一种配置管理方法与***
CN107070976A (zh) * 2017-01-13 2017-08-18 广西电网有限责任公司电力科学研究院 一种数据传输方法
CN107346307A (zh) * 2016-05-04 2017-11-14 北京京东尚科信息技术有限公司 分布式缓存***及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426244A (zh) * 2001-12-20 2003-06-25 深圳市中兴通讯股份有限公司上海第二研究所 数据主备内存处理方法
CN101017448A (zh) * 2007-03-12 2007-08-15 中国建设银行股份有限公司 数据的动态刷新方法及***
US20110246425A1 (en) * 2010-03-30 2011-10-06 Sybase, Inc. Managing Data Backup of an In-Memory Database in a Database Management System
CN103838552A (zh) * 2014-03-18 2014-06-04 北京邮电大学 4g宽带通信***多核并行流水线信号的处理***和方法
CN104167822A (zh) * 2014-09-02 2014-11-26 科大智能电气技术有限公司 一种用于配网自动化终端装置的参数配置方法
CN105700962A (zh) * 2014-11-26 2016-06-22 中兴通讯股份有限公司 数据更新处理方法及装置
CN107346307A (zh) * 2016-05-04 2017-11-14 北京京东尚科信息技术有限公司 分布式缓存***及方法
CN106878376A (zh) * 2016-12-23 2017-06-20 微梦创科网络科技(中国)有限公司 一种配置管理方法与***
CN107070976A (zh) * 2017-01-13 2017-08-18 广西电网有限责任公司电力科学研究院 一种数据传输方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096453A (zh) * 2019-04-11 2019-08-06 北京华三通信技术有限公司 数据处理方法及装置
CN110096453B (zh) * 2019-04-11 2020-01-03 北京华三通信技术有限公司 数据处理方法及装置
CN110069221A (zh) * 2019-04-30 2019-07-30 北京华三通信技术有限公司 数据释放方法及装置
CN110069221B (zh) * 2019-04-30 2020-03-06 北京华三通信技术有限公司 数据释放方法及装置
CN111831350A (zh) * 2020-06-02 2020-10-27 深圳木成林科技有限公司 应用进程配置更新方法、***、终端设备及存储介质
CN112256344A (zh) * 2020-09-30 2021-01-22 中智关爱通(上海)科技股份有限公司 一种数据配置方法
CN112965837A (zh) * 2021-03-04 2021-06-15 杭州银行股份有限公司 配置和服务热重载更新方法、装置、计算机设备及存储介质
CN113992754A (zh) * 2021-10-25 2022-01-28 北京恒安嘉新安全技术有限公司 深度报文检测设备的策略更新方法、装置、设备和介质
CN113992754B (zh) * 2021-10-25 2023-12-22 北京恒安嘉新安全技术有限公司 深度报文检测设备的策略更新方法、装置、设备和介质
CN114020340A (zh) * 2021-11-02 2022-02-08 联想(北京)信息技术有限公司 一种服务器***及其数据处理方法
CN114020340B (zh) * 2021-11-02 2024-05-24 联想(北京)信息技术有限公司 一种服务器***及其数据处理方法
CN113791916A (zh) * 2021-11-17 2021-12-14 支付宝(杭州)信息技术有限公司 对象更新、读取方法及装置

Similar Documents

Publication Publication Date Title
CN109343979A (zh) 一种配置管理方法及***
CN102103518B (zh) 一种在虚拟化环境中管理资源的***及其实现方法
CN102037463B (zh) 使用全局确认的提交进行分布式事务的基于日志的复制
CN106462449B (zh) 具有多项目事务支持的多数据库日志
CN106991113A (zh) 数据库环境中的表格复制
US9106584B2 (en) Cloud infrastructure services
Viennot et al. Synapse: a microservices architecture for heterogeneous-database web applications
WO2020009737A1 (en) Data replication and data failover in database systems
US9256477B2 (en) Lockless waterfall thread communication
CN107148617A (zh) 日志协调存储组的自动配置
CN109906448A (zh) 使用单独的逻辑时间戳服务促进可插拔数据库上的操作
US20210149915A1 (en) Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization
EP3369006A1 (en) Techniques for application undo and redo using sql patchsets or changesets
CN102521028A (zh) 一种分布式环境下的事务内存***
CN110955672B (zh) 面向乐观并发控制的多版本支持方法及***
CN109800226A (zh) 一种数据治理中的任务管理方法及装置
CN109783578A (zh) 数据读取方法、装置、电子设备以及存储介质
CN101770403A (zh) 一种多核平台上控制***配置并发与同步的方法
CN112104504B (zh) 一种大规模资源访问的事务管理框架、设计方法及云平台
CN109358842A (zh) 一种服务实现方法、电子设备及存储介质
Popovic et al. Formal verification of distributed transaction management in a SOA based control system
Mishra et al. Hyflowcpp: A distributed transactional memory framework for c++
Jones et al. The Atomic Manifesto.
CN109814991A (zh) 一种数据治理中的任务管理方法及装置
Rothsberg Evaluation of using NoSQL databases in an event sourcing system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190215

RJ01 Rejection of invention patent application after publication