Puppet配置数据的处理方法及装置制造方法及图纸

技术编号:11196847 阅读:63 留言:0更新日期:2015-03-26 03:35
本发明专利技术提供了一种Puppet配置数据的处理方法及装置。Puppet配置数据的处理方法,包括:解析已有的多个Puppet配置文件,将其分为固定的指令序列部分和可变的参数部分;获取其中所述固定的指令序列部分,将其封装成可调用的模块;以及在该模块上设置对外接口,以供所述模块被调用时接收外界参数输入。采用本发明专利技术能够增加了业务的稳定性,并能够节省配置文件生成所需的资源。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种Puppet配置数据的处理方法及装置。Puppet配置数据的处理方法,包括:解析已有的多个Puppet配置文件,将其分为固定的指令序列部分和可变的参数部分;获取其中所述固定的指令序列部分,将其封装成可调用的模块;以及在该模块上设置对外接口,以供所述模块被调用时接收外界参数输入。采用本专利技术能够增加了业务的稳定性,并能够节省配置文件生成所需的资源。【专利说明】Puppet配置数据的处理方法及装置
本专利技术涉及互联网应用领域,特别是涉及一种Puppet配置数据的处理方法及装 置。
技术介绍
puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的 puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些 系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的 依赖关系。 现有技术中,puppet的配置是写/etc/puppet/manifests/site. PP配置文件中 的,但是,配置文件在使用过程必然是需要经常变动的,任意一个参数的变化都会引起配置 文件的变化,进而需要重启主服务器(Master)。对于业务而言,重启Master所需的时间较 长,若经常性重启Master,对业务本身的可持续性造成非常大的困扰,造成业务不稳定。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上 述问题的Puppet配置数据的处理方法和相应的装置。 基于本专利技术的一个方面,提供了一种Puppet配置数据的处理方法,包括: 解析已有的多个Puppet配置文件,将其分为固定的指令序列部分和可变的参数 部分; 获取其中所述固定的指令序列部分,将其封装成可调用的模块;以及 在该模块上设置对外接口,以供所述模块被调用时接收外界参数输入。 可选地,Puppet配置数据的处理方法还包括: 当所述模块通过所述对外接口接收到所述外界参数时,所述模块与所述外界参数 合成生成配置文件。 可选地,所述模块接收外界参数输入之后,还包括:将所述外界参数格式化为多系 统的通用格式,以供后续其他系统调用。 可选地,所述通用格式为JSON格式。 可选地,所述固定的指令序列部分包括下列至少之一:先安装软件包,后同步配置 文件;需不需要重启服务; 所述可变的参数部分包括下列逻辑至少之一:软件包的名字、版本、配置文件的路 径。 基于本专利技术的另一个方面,提供了一种Puppet配置数据的处理装置,包括: 解析组件,适于解析已有的多个Puppet配置文件,将其分为固定的指令序列部分 和可变的参数部分; 封装组件,适于获取其中所述固定的指令序列部分,将其封装成可调用的模块; 接口设置组件,适于在该模块上设置对外接口,以供所述模块被调用时接收外界 参数输入。 可选地,当所述模块通过所述对外接口接收到所述外界参数时,所述模块与所述 外界参数合成生成配置文件。 可选地,所述封装组件还适于:所述模块接收外界参数输入之后,将所述外界参数 格式化为多系统的通用格式,以供后续其他系统调用。 可选地,所述通用格式为JSON格式。 可选地,所述固定的指令序列部分包括下列逻辑至少之一:先安装软件包,后同步 配置文件;需不需要重启服务; 所述可变的参数部分包括下列至少之一:软件包的名字、版本、配置文件的路径。 在本专利技术实施例中,将Puppet配置文件划分为两部分,一部分是固定的指令序列 部分(即静态参数),另一部分是可变的参数部分(即动态参数),静态参数和动态参数分 开,在使用时将两者结合,容易形成自动化控制,使用起来省时省力。将两部分划分开之后, 将固定的指定序列部分封装成可调用模块,并在其上设置对外接口,以供该模块被调用时 接收外界参数的输入。随后,将外界参数匹配到对应的指令中,生成配置文件。在本专利技术实 施例中,固定的指令序列部分封装成模块后是固定存在的,对于主服务器而言,即配置文件 主体是固定存在的,并未出现变化。其变化的仅仅是通过对外接口输入的外界参数,配置 文件主体不变,那么,主服务器不需要重启,避免因多次重启耗时所造成的业务不稳定的情 况,能够对业务提供稳定的支持。另外,因指令序列部分被封装为可调用模块,对于配置文 件自身而言,这部分指令序列部分可以直接调用,不需要重新利用代码写入多个指令序列, 配置文件的准确性、可靠性以及配置文件的生成效率都大大提高,尤其是对于复杂的指令 序列,效果大大增加。由于模块可调用性的便利,进一步增加了业务的稳定性,并能够节省 配置文件生成所需的资源。 上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段, 而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够 更明显易懂,以下特举本专利技术的【具体实施方式】。 根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明 了本专利技术的上述以及其他目的、优点和特征。 【专利附图】【附图说明】 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中: 图1示出了根据本专利技术一个实施例的Puppet配置数据的处理方法的处理流程 图; 图2示出了根据本专利技术一个实施例的Puppet配置数据的处理装置的结构示意图。 【具体实施方式】 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。 为解决上述技术问题,本专利技术实施例提供了一种Puppet配置数据的处理方法。首 先介绍puppet的配置文件结构。下述部分是puppet的配置文件的一个示例: 【权利要求】1. 一种化ppet配置数据的处理方法,包括: 解析已有的多个化ppet配置文件,将其分为固定的指令序列部分和可变的参数部分; 获取其中所述固定的指令序列部分,将其封装成可调用的模块;W及 在该模块上设置对外接口,W供所述模块被调用时接收外界参数输入。2. 根据权利要求1所述的方法,其中,还包括: 当所述模块通过所述对外接口接收到所述外界参数时,所述模块与所述外界参数合成 生成配置文件。3. 根据权利要求1或2所述的方法,其中,所述模块接收外界参数输入之后,还包括: 将所述外界参数格式化为多系统的通用格式,W供后续其他系统调用。4. 根据权利要求3所述的方法,其中,所述通用格式为JSON格式。5. 根据权利要求1至4任一项所述的方法,其中, 所述固定的指令序列部分包括下列逻辑至少之一:先安装软件包,后同步配置文件; 需不需要重启服务; 所述可变的参数部分包括下列至少之一;软件包的名字、版本、配置文件的路径。6. -种化本文档来自技高网...

【技术保护点】
一种Puppet配置数据的处理方法,包括:解析已有的多个Puppet配置文件,将其分为固定的指令序列部分和可变的参数部分;获取其中所述固定的指令序列部分,将其封装成可调用的模块;以及在该模块上设置对外接口,以供所述模块被调用时接收外界参数输入。

【技术特征摘要】

【专利技术属性】
技术研发人员:王浩宇
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1