分布式程序的配置管理方法和装置制造方法及图纸

技术编号:19963908 阅读:23 留言:0更新日期:2019-01-03 12:39
本发明专利技术实施例提供一种分布式程序的配置管理方法和装置,涉及计算机技术领域,以能够解决分布式程序存在的软件配置项冗余的技术问题,减少重复劳动,降低线上应用事故率。分布式程序的配置管理方法包括:定义分布式计算机系统中各台机器的角色名;根据所述角色名对各台机器进行分组,并保存分组信息;所述分组信息包括:角色名、属于同一角色的机器标识;根据所述角色名构建配置项树,以保存分布式程序的配置项。

Configuration Management Method and Device for Distributed Programs

The embodiment of the present invention provides a configuration management method and device for distributed programs, which relates to the field of computer technology, so as to solve the technical problems of redundancy of software configuration items existing in distributed programs, reduce duplication of work and reduce the accident rate of online applications. The configuration management methods of distributed programs include: defining the role names of each machine in the distributed computer system; grouping each machine according to the role names and storing the grouping information; the grouping information includes: role names, machine identification belonging to the same role; and building the configuration item tree according to the role names to save the configuration items of distributed programs.

【技术实现步骤摘要】
分布式程序的配置管理方法和装置
本专利技术涉及计算机
,尤其涉及一种分布式程序的配置管理方法和装置。
技术介绍
随着互联网技术的飞速发展,大数据(BigData)越来越多地渗入到人们生活的各个领域。原有的单机软件系统已无法满足处理海量数据的需求,能对海量数据实现并行处理的分布式软件应用系统成为主流。分布式软件应用系统,是将应用分为多个组件,并且各组件分布于一个分布式计算机系统中的多台计算机上,以被同时执行。为了提高系统的稳定性,分布式软件应用系统通常会部署在多个机房中。这种系统部署的复杂性对软件配置管理也提出了更高的要求。所述软件配置管理,是指对软件的可配置项进行管理。在软件开发过程中,通常会将软件的一些可配置项识别、抽取出来,形成配置文件。在软件运行过程中,可通过修改配置文件实现软件功能的改变,而无需修改软件代码。现有的分布式程序中,往往是将应用代码放在Git服务器中,将配置文件放在部署系统中。在进行软件发布时,部署系统根据需要部署的集群和组件的不同,推送不同的配置文件和编译后的二进制文件到线上机器。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:第一,应用代码和配置文件的管理分离,导致部署成本增加。在上线新的系统时,需要开发人员在不同的系统中分别提交应用代码和配置文件,容易出现误操作。第二,配置文件存储在部署系统,导致无法对配置文件进行版本控制、变更控制。当错误发生时,很难对错误进行定位。而且,由于没有版本控制,也无法对配置文件进行回滚。第三,配置项存在大量重复。在部署系统中,为每个组件和每个集群的组合都保留了一份完整的配置项清单,即一个配置文件。例如,当存在M个组件、N个集群时,部署系统中的配置文件就有M*N份。当某个配置项需要修改时,开发人员很可能需要手动更改M*N次,才能完成全部更改。即便遗漏一处,也可能造成系统的不稳定,引发事故。
技术实现思路
有鉴于此,本专利技术实施例提供一种分布式程序的配置管理方法和装置,以能够解决分布式程序存在的软件配置项冗余的技术问题,减少重复劳动,降低线上应用事故率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种分布式程序的配置管理方法。本专利技术实施例的分布式程序的配置管理方法包括:定义分布式计算机系统中各台机器的角色名;根据所述角色名对各台机器进行分组,并保存分组信息;所述分组信息包括:角色名、属于同一角色的机器标识;根据所述角色名构建配置项树,以保存分布式程序的配置项。可选地,所述角色名包括:组件名、渠道名、集群名。可选地,根据所述角色名构建配置项树包括:根据所述组件名定义父节点,并将组件共用的配置项保存在所述父节点;根据所述渠道名定义所述父节点的儿子节点,并将渠道共用的配置项保存在所述儿子节点;根据所述集群名定义所述父节点的孙子节点,并将集群共用的配置项保存在所述孙子节点。可选地,根据所述角色名构建配置项树包括:根据所述渠道名定义父节点,并将渠道共用的配置项保存在所述父节点;根据所述组件名定义所述父节点的儿子节点,并将组件共用的配置项保存在所述儿子节点;根据所述集群名命定义所述父节点的孙子节点,并将集群共用的配置项保存在所述孙子节点。可选地,所述方法还包括:将所述分组信息保存在部署子系统,将所述配置项树与分布式程序的代码保存在分布式版本库。可选地,所述方法还包括:通过部署子系统将所述分组信息、所述配置项树和所述分布式程序的代码推送至各台机器,然后通过配置文件生成模块从所述配置项树提取配置项,以生成机器所需的配置文件。为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种分布式程序的配置管理装置。本专利技术实施例的分布式程序的配置管理装置包括:定义模块,用于定义分布式计算机系统中各台机器的角色名;分组模块,用于根据所述角色名对各台机器进行分组,并保存分组信息;所述分组信息包括:角色名、属于同一角色的机器标识;构建模块,用于根据所述角色名构建配置项树,以保存分布式程序的配置项。可选地,所述角色名包括:组件名、渠道名、集群名。可选地,所述配置项树包括:父节点,根据所述组件名定义,用于保存组件共用的配置项;儿子节点,根据所述渠道名定义,用于保存渠道共用的配置项;孙子节点,根据所述集群名定义,用于保存集群共用的配置项。可选地,所述配置项树包括:父节点,根据所述渠道名定义,用于保存渠道共用的配置项;儿子节点,根据所述组件名定义,用于保存组件共用的配置项;孙子节点,根据所述集群名定义,用于保存集群共用的配置项。可选地,所述分组模块保存分组信息包括:将所述分组信息保存在部署子系统;所述构建模块保存分布式程序的配置项包括:将所述配置项树与所述分布式程序的代码保存在分布式版本库。可选地,所述装置还包括:配置文件生成模块,用于在部署子系统将所述分组信息、所述配置项树和所述分布式程序的代码推送至各台机器之后,根据所述分组信息从所述配置项树提取配置项,以生成机器所需的配置文件。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种电子设备。本专利技术实施例的电子设备,包括:一个或多个处理器;以及,存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的分布式程序的配置管理方法。为实现上述目的,根据本专利技术实施例的又一个方面,提供了一种计算机可读介质。本专利技术实施例的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的分布式程序的配置管理方法。上述专利技术中的一个实施例具有如下优点或有益效果:在本专利技术实施例中,根据定义的角色对各台机器进行分组、保存分组信息,并且,根据定义的角色构建配置项树,能够使各台机器根据分组信息从配置项树中选取所需配置项、主动生成所需的配置文件。这样一来,有效解决了分布式程序存在的软件配置项冗余的技术问题,减少了重复劳动,降低了线上应用事故率。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的分布式程序的配置管理方法的主要步骤示意图;图2是根据本专利技术实施例的分布式程序的配置管理装置的示意图;图3是用于实现本专利技术实施例的电子设备的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的分布式程序的配置管理方法的主要步骤示意图。如图1所示,本专利技术实施例的分布式程序的配置管理方法主要包括以下步骤:步骤S101、定义分布式计算机系统中各台机器的角色名。在一个优选实施方式中,所述角色名包括:组件名、渠道名、集群名。其中,“组件”可定义为分布式系统的程序模块。例如,一个分布式系统包括sercher组件、merger组件、blender组件。“渠道”可定义为同一个业务的多个部署入口。例如,搜索业务可部署在pcweb端、手机app端,则搜索业务的渠道有“pc”渠道、“mobi本文档来自技高网
...

【技术保护点】
1.一种分布式程序的配置管理方法,其特征在于,所述方法包括:定义分布式计算机系统中各台机器的角色名;根据所述角色名对各台机器进行分组,并保存分组信息;所述分组信息包括:角色名、属于同一角色的机器标识;根据所述角色名构建配置项树,以保存所述分布式程序的配置项。

【技术特征摘要】
1.一种分布式程序的配置管理方法,其特征在于,所述方法包括:定义分布式计算机系统中各台机器的角色名;根据所述角色名对各台机器进行分组,并保存分组信息;所述分组信息包括:角色名、属于同一角色的机器标识;根据所述角色名构建配置项树,以保存所述分布式程序的配置项。2.根据权利要求1所述的方法,其特征在于,所述角色名包括:组件名、渠道名、集群名。3.根据权利要求2所述的方法,其特征在于,根据所述角色名构建配置项树包括:根据所述组件名定义父节点,并将组件共用的配置项保存在所述父节点;根据所述渠道名定义所述父节点的儿子节点,并将渠道共用的配置项保存在所述儿子节点;根据所述集群名定义所述父节点的孙子节点,并将集群共用的配置项保存在所述孙子节点。4.根据权利要求2所述的方法,其特征在于,根据所述角色名构建配置项树包括:根据所述渠道名定义父节点,并将渠道共用的配置项保存在所述父节点;根据所述组件名定义所述父节点的儿子节点,并将组件共用的配置项保存在所述儿子节点;根据所述集群名命定义所述父节点的孙子节点,并将集群共用的配置项保存在所述孙子节点。5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:将所述分组信息保存在部署子系统,将所述配置项树与分布式程序的代码保存在分布式版本库。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过部署子系统将所述分组信息、所述配置项树和所述分布式程序的代码推送至各台机器,然后通过配置文件生成模块从所述配置项树提取配置项,以生成机器所需的配置文件。7.一种分布式程序的配置管理装置,其特征在于,所述装置包括:定义模块,用于定义分布式计算机系统中各台机器的角色名;分组模块,用于根据所述角色名对各台机...

【专利技术属性】
技术研发人员:王菲武锐
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1