差异变量发布方法和装置的制造方法
【专利摘要】本发明公开了一种差异变量发布方法和装置,所述方法包括:获取物料包版本信息,在所述物料包版本信息中确定待升级的物料包版本信息;根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级的物料包进行差异变量的替换处理,得到差异变量物料包;基于所述差异变量物料包在目标机器中执行所述差异变量物料包的发布操作。本发明实现了在同一子系统中的各个机器物料包中配置文件的发布过程中,不需要用户手动发布,简化了同一子系统中的各个机器物料包中配置文件的发布流程;由于差异变量物料包中配置文件所对应的变量值不需要用户手动输入,因此保证了同一子系统中的各个机器差异变量物料包中所生成的配置文件的准确性。
【专利说明】
差异变量发布方法和装置
技术领域
[0001] 本发明涉及网络通信技术领域,尤其涉及一种差异变量发布方法和装置。
【背景技术】
[0002] 在应用部署过程中,通常会出现同一个应用在不同的机器中需要不同的应用配置 值,这个配置值可以从外部系统获取,或者由用户实时进行输入,或者存在数据加密的需 求,该配置就为差异变量。
[0003] 对于这样差异变量,需要用户提前把各个机器的配置文件准备好,然后再将各个 机器所对应的配置文件发布到各个机器中。如要把A物料包发布到IP1和IP2两台机器,其中 A物料包里面有个a. conf文件,该a. conf文件包含一个变量C0NN_IP,该变量在IP1的值是X, 在IP2的值是Y;另外有一个代表数据库密码的SQL_PASS变量。于是,发布用户需要写脚本预 先生成这两台机器各自的配置文件,然后再进行发布。因此,每次发布机器的配置文件时, 都需要用户预先生成该配置文件,导致了同一子系统中的机器的配置文件发布流程过长, 不能自动化,且在生成该配置文件时容易出错。
【发明内容】
[0004] 本发明的主要目的在于提供一种差异变量发布方法和装置,旨在解决现有的同一 子系统中的各个机器物料包中配置文件的发布流程过长,其在生成该配置文件时容易出错 的技术问题。
[0005] 为实现上述目的,本发明提供的一种差异变量发布方法,所述差异变量发布方法 包括:
[0006] 获取物料包版本信息,在所述物料包版本信息中确定待升级的物料包版本信息;
[0007] 根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级的物料包 进行差异变量的替换处理,得到差异变量物料包;
[0008] 基于所述差异变量物料包在目标机器中执行所述差异变量物料包的发布操作。
[0009] 优选地,所述根据所述待升级的物料包版本信息确定待升级的物料包,将所述待 升级的物料包进行差异变量的替换处理,得到差异变量物料包的步骤包括:
[0010] 根据所述待升级的物料包版本信息确定待升级的物料包;
[0011] 解压所述待升级的物料包,在解压后的所述待升级的物料包中提取差异变量;
[0012] 根据所述差异变量的命名规则获取所述差异变量所对应变量值,用所述变量值替 换所述待升级的物料包中对应的变量,得到差异变量物料包。
[0013] 优选地,所述差异变量包括CMDB配置管理系统提供的CMDB变量、系统变量、明文变 量和密文变量。
[0014] 优选地,所述CMDB变量的命名规则为[Osubsystemid-resource ],其中,所述 subsystemid表示待升级系统的子系统对象,所述resource表示所述子系统对象在CMDB中 可以查询到的资源;
[0015] 所述系统变量为所述发布系统内部定义的变量。
[0016] 优选地,所述根据所述待升级的物料包版本信息确定待升级的物料包,将所述待 升级的物料包进行差异变量的替换处理,得到差异变量物料包的步骤之后,还包括:
[0017] 将所述差异变量物料包发送至物料服务器中,并发送获取指令给目标机器,以供 所述目标机器根据所述获取指令从所述物料服务器中获取所述差异变量物料包。
[0018] 此外,为实现上述目的,本发明还提供一种差异变量发布装置,所述差异变量发布 装置包括:
[0019] 获取模块,用于获取物料包版本信息,在所述物料包版本信息中确定待升级的物 料包版本信息;
[0020] 替换模块,用于根据所述待升级的物料包版本信息确定待升级的物料包,将所述 待升级的物料包进行差异变量的替换处理,得到差异变量物料包;
[0021 ]发布模块,用于基于所述差异变量物料包在目标机器中执行所述差异变量物料包 的发布操作。
[0022]优选地,所述替换模块包括:
[0023] 确定单元,用于根据所述待升级的物料包版本信息确定待升级的物料包;
[0024] 提取单元,用于解压所述待升级的物料包,在解压后的所述待升级的物料包中提 取差异变量;
[0025] 替换单元,用于根据所述差异变量的命名规则获取所述差异变量所对应变量值, 用所述变量值替换所述待升级的物料包中对应的变量,得到差异变量物料包。
[0026] 优选地,所述差异变量包括CMDB配置管理系统提供的CMDB变量、系统变量、明文变 量和密文变量。
[0027] 优选地,所述CMDB变量的命名规则为[Osubsystemid-resource ],其中,所述 subsystemid表示待升级系统的子系统对象,所述resource表示所述子系统对象在CMDB中 可以查询到的资源;
[0028] 所述系统变量为所述发布系统内部定义的变量。
[0029] 优选地,所述差异变量发布装置还包括:
[0030] 发送模块,用于将所述差异变量物料包发送至物料服务器中,并发送获取指令给 目标机器,以供所述目标机器根据所述获取指令从所述物料服务器中获取所述差异变量物 料包。
[0031] 本发明通过将所述待升级的物料包进行差异变量的替换处理,得到差异变量物料 包,在目标机器中执行所述差异变量物料包的发布操作。实现了在同一子系统中的各个机 器物料包中配置文件的发布过程中,不需要用户手动发布,简化了同一子系统中的各个机 器物料包中配置文件的发布流程;由于差异变量物料包中配置文件所对应的变量值不需要 用户手动输入,因此保证了同一子系统中的各个机器差异变量物料包中所生成的配置文件 的准确性。
【附图说明】
[0032] 图1为本发明差异变量发布方法的第一实施例的流程示意图;
[0033] 图2为本发明差异变量发布方法的第二实施例的流程示意图;
[0034] 图3为本发明差异变量发布装置的第一实施例的功能模块示意图;
[0035] 图4为本发明差异变量发布装置的第二实施例的功能模块示意图。
[0036] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0037] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038] 本发明提供一种差异变量发布方法。
[0039] 参照图1,图1为本发明差异变量发布方法第一实施例的流程示意图。
[0040] 在本实施例中,所述差异变量发布方法包括:
[0041] 步骤S10,获取物料包版本信息,在所述物料包版本信息中确定待升级的物料包版 本信息;
[0042] 测试环境中的发布系统从测试环境中的物料服务器中获取物料服务器所存储的 所有的物料包的版本信息,在所述物料包版本信息中确定待升级的物料包的版本信息。其 中,物料服务器是存储物料包的服务,可以提供FTP(File Transfer Protocol、文件传输协 议)接口等。当研发人员编译好物料包,且该物料包通过测试并确定了版本号时,将所述物 料包上传至测试环境中的物料服务器中,所述物料包包括程序、配置信息、数据和脚本等。 当所述测试环境中的物料服务器接收到研发人员上传的物料包时,存储所述物料包。需要 说明的是,研发人员并不会将编译好的物料包上传至生产环境中的物料服务器中。
[0043] 需要说明的是,所述发布系统主要实现了自动化发布的功能。测试环境和生产环 境中都存在物料服务器和发布系统,且所述测试环境中的物料服务器和所述生产环境中的 物料服务器和发布系统的功能作用是相同的。
[0044] 步骤S20,根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级 的物料包进行差异变量的替换处理,得到差异变量物料包;
[0045] 当所述测试环境的发布系统得到所述待升级的物料包版本信息时,所述测试环境 的发布系统根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级的物料 包进行差异变量的替换处理,得到差异变量物料包。
[0046] 进一步地,所述步骤S20包括:
[0047] 步骤a,根据所述待升级的物料包版本信息确定待升级的物料包;
[0048] 步骤b,解压所述待升级的物料包,在解压后的所述待升级的物料包中提取差异变 量;
[0049] 步骤c,根据所述差异变量的命名规则获取所述差异变量所对应变量值,用所述变 量值替换所述待升级的物料包中对应的变量,得到差异变量物料包。
[0050] 当所述测试环境的发布系统得到所述待升级的物料包版本信息时,所述测试环境 的发布系统根据所述待升级的物料包版本信息确定待升级的物料包。当所述测试环境中的 发布系统得到所述待升级的物料包时,所述测试环境中的发布系统解压所述待升级的物料 包,扫描所述解压后的所述待升级的物料包,根据所述差异变量所对应的命名规则获取所 述差异变量所对应的变量值。当所述测试环境中的发布系统得到所述差异变量所对应的变 量值时,所述测试环境中的发布系统用所述变量值替换所述待升级的物料包中所述差异变 量所对应的变量,得到差异变量的物料包。
[0051 ] 需要说明的是,所述差异变量包括但不限于CMDB(Configuration Management Database,配置管理系统)提供的CMDB变量、系统变量、明文变量和密文变量。所述CMDB中存 储了各种配置信息,并对外部系统提供查询接口。所述CMDB变量是涉及外部系统相关配置 信息的,变量的内容存储在CMDB中,所述CMDB变量包括分布式架构部署所导致的差异,如 DCN(Data Center Node)节点号、机器的IP(Internet Protocol,网络之间互连的协议)地 址等,还包括外部连接的系统信息,如数据库及消息总线的IP等。所述系统变量为所述发布 系统自己定义的,提供给用户使用的变量。所述明文变量为用户自定义的,在发布差异变量 物料包时,由用户实时输入的变量。所述密文变量为用户自定义的,在发布差异变量物料包 时,由用户实时输入的变量,但是由于涉及到密码,不能以明文的方式出现。所述DCN是负责 客户业务处理,运行业务办理所需的应用系统,有稳定的账户容量,可以根据业务量的需 要,通过增加 DCN的数量快速的横向扩展。
[0052]所述CMDB变量的命名规则的原则是:当得到该变量的变量名时,可以将该变量的 变量名直接转化为CMDB的查询条件。对于每个变量,CMDB的查询结果应该是一组IP下的 key-value对,key是变量名,value则是所对应的具体变量值,如:MAP〈IP,MAP〈VARIABLE_ NAME,VARIABLE_VALUE>>,表示的是每一 IP都有对应的变量名,每个变量名都有对应的变量 值,即表示IP、变量名和变量值三者之间的映射关系。所述CMDB变量的命名规则为:[@ subsystemid-resource],其中,所述subsystemid表示所述待升级系统的子系统对象,使用 的是所述发布系统基线表中子系统的IP,所述resource表示所述子系统对象在CMDB中可以 查询到的资源,如:
[0053] VIRTUAL_DCN:查询子系统的虚拟节点号;
[0054] DCN:查询子系统的字节号;
[0055] TDSQL_VIP:查询子系统的TDSQL数据库的虚拟IP地址;
[0056] TDSQL_P0RT:查询子系统的TDSQL数据库端口号;
[0057] D0MAIN_APP_IPS:查询子系统归属域的APP应用的所有IP地址;
[0058] RMB_VIP:查询子系统调用的消息总线的IP地址;
[0059] RMB_P0RT:查询子系统调用的消息总线的端口号;
[0060] APP_VIP:查询子系统的APP应用的虚拟IP地址;
[0061 ] APP_P0RT:查询子系统的APP应用的端口号。
[0062]具体的实施例为,具体的实施例为,当子系统所对应的ID为#6036时,#6036所对应 的DCN节点号的命名为[@6036-VIRTUAL_DCN],表示这个子系统的虚拟DCN节点号;DCN节点 号所对应的APP的IP地址为:[@6036-D0MAIN_APP_IPS],表示DCN节点号下子系统所有APP的 IP地址,当存在多个IP地址时,用空格将多个IP地址进行分隔。其中,所述子系统为发布系 统中可以发布差异变量物料包的最小单元。
[0063]所述系统变量所对应的变量是发布系统内部预定义好的变量,不需要外部系统或 者用户主动提供,将所述系统变量的命名规则设置为[Ipassname];如[!DEPL0Y_PATH],表 示当前子系统的部署路径。所述密文变量的命名规则为[% pas sname ],如[% GMP_PASS ],表 示这个子系统的数据库密码。所述明文变量和密文变量一样,需要用户输入,但是与所述密 文变量不同的是,所述明文变量不需要加密,在进行差异变量的替换时,直接进行明文的替 换。所述明文变量的命名规则为:[#confname] Jn[#GMP_AC0NF],表示GMP这个子系统的A变 量的配置。
[0064]如用户某次需要在测试环境中的IP1和IP2两台目标机器中进行应用部署时,当需 要处理的差异变量是子系统(ID为6036)的DCN节点号,以及一个发布时输入的密文变量时, 用户把子系统的DCN节点号录入相应的CMDB中管理。在进行所述差异变量物料包配置过程 中,发布系统从CMDB中获取[@6036_DCN]以及从用户的输入中获取[%SQL_PASS]来作为差 异变量写入所述差异变量物料包的配置文件中,并将差异变量物料包发送至所述测试环境 中物料服务器中。用户在所述测试环境中的发布系统中配置含有该差异变量的配置文件路 径:
[0065] 对于[@6036_DCN],所述测试环境的发布系统向所述CMDB的接口发送请求:
[0067]当所述CMDB通过其接口接收到所述测试环境中的发布系统所发送的请求时,所述 CMDB返回的结果为:
[0069] 即表明所述测试环境中的发布系统分别使用101和102替换IP1和IP2这两个目标 机器中DCN字节号所对应的变量。
[0070] 对于[%SQL_PASS],所述测试环境中的发布系统在前端弹出一个对话框提示用户 输入SQL_PASS的值。当所述测试环境中的发布系统接收到用户输入的SQL_PASS的值时,所 述测试环境中的发布系统对所述SQL_PASS的值进行加密。如当用户输入的SQL_PASS的值为 1 2 3 4 5 6时,所述测试环境中的发布系统得到加密后的S Q L _ P A S S的值为 c97c92660f68113b74。当所述测试环境中的发布系统得到加密后的SQL_PASS的值时,将所 述加密后SQL_PASS的值替换原来的SQL_PASS的值,以得到差异变量物料包。
[0071 ]步骤S30,基于所述差异变量物料包在目标机器中执行所述差异变量物料包的发 布操作。
[0072]当所述测试环境中的发布系统得到所述差异变量物料包时,所述测试环境中的发 布系统基于所述差异变量物料包在测试环境的目标机器上执行所述差异变量物料包的发 布操作。所述差异变量物料包在发布过程中包括停止服务、文件更新和启动服务等。在文件 更新过程中,会使用所述差异变量物料中的内容,如使用所述差异变量物料包中的程序、配 置信息、数据和脚本等。
[0073]需要说明的是,当所述生产环境的物料服务器获取到所述待升级的物料包时,所 述生产环境中的发布系统和物料服务器执行过程与所述测试环境中的发布系统和物料服 务器的执行过程一致,即所述生产环境中的发布系统和物料服务器执行步骤S10,步骤S20 和步骤S30,在此不再赘述。
[0074]本实施例将所述待升级的物料包进行差异变量的替换处理,得到差异变量物料 包,在目标机器中执行所述差异变量物料包的发布操作。实现了在同一子系统中的各个机 器物料包中配置文件的发布过程中,不需要用户手动发布,简化了同一子系统中的各个机 器物料包中配置文件的发布流程;由于差异变量物料包中配置文件所对应的变量值不需要 用户手动输入,因此保证了同一子系统中的各个机器差异变量物料包中所生成的配置文件 的准确性。同时可以在所生成的差异变量物料包中统一维护差异变量所对应的变量值,在 差异变量物料包中进行变更历史等,方便了用户对差异变量物料包的扩展。
[0075]参照图2,图2为本发明差异变量发布方法的第二实施例的流程示意图,基于第一 实施例提出本发明差异变量发布方法的第二实施例。
[0076]在本实施例中,所述差异变量发布方法还包括:
[0077]步骤S40,将所述差异变量物料包发送至物料服务器中,并发送获取指令给目标机 器,以供所述目标机器根据所述获取指令从所述物料服务器中获取所述差异变量物料包。
[0078] 当所述测试环境中的发布系统得到所述差异变量物料包时,所述测试环境中的发 布系统将所述差异变量物料包发送至测试环境中的物料服务器中,并发送获取指令给所述 测试环境中的目标机器。当所述测试环境中的目标机器接收到所述测试环境中的发布系统 所发送的获取指令时,所述测试环境中的目标机器根据所述获取指令在所述测试环境中的 物料服务器获取所述差异变量物料包。
[0079] 进一步地,当测试环境中的发布系统在所述测试环境的目标机器上执行所述差异 变量物料包的发布操作后,生产环境中的物料服务器从所述测试环境的物料服务器中获得 通过测试的物料包,并将所述通过测试的物料包自动同步到其它生产环境中。每个生产环 境都有自己的物料包的发布系统。
[0080] 需要说明的是,所述生产环境和所述测试环境中存在相同的目标机器,因此,所述 步骤S40也可以在所述生产环境中执行,所述步骤S40在所述生产环境中的执行过程与在所 述测试环境中的执行过程一致,在此不再赘述。
[0081 ]本实施例通过使目标机器所得到差异变量物料包,发布系统控制目标机器,使测 试环境中的目标机器中执行该差异变量物料包发布操作。当确定该差异变量物料包在测试 环境中的目标机器中成功发布之后,生产环境中的物料服务器再从测试环境的物料服务器 中获得通过测试的物料包,执行后续的物料包的发布流程,提高了生产环境中物料包发布 的成功率。
[0082]本发明进一步提供一种差异变量发布装置。
[0083]参照图3,图3为本发明差异变量发布装置的第一实施例的功能模块示意图。
[0084] 在本实施例中,所述差异变量发布装置包括:
[0085] 获取模块10,用于获取物料包版本信息,在所述物料包版本信息中确定待升级的 物料包版本信息;
[0086] 测试环境中的发布系统从测试环境中的物料服务器中获取物料服务器所存储的 所有的物料包的版本信息,在所述物料包版本信息中确定待升级的物料包的版本信息。其 中,物料服务器是存储物料包的服务,可以提供FTP(File Transfer Protocol、文件传输协 议)接口等。当研发人员编译好物料包,且该物料包通过测试并确定了版本号时,将所述物 料包上传至测试环境中的物料服务器中,所述物料包包括程序、配置信息、数据和脚本等。 当所述测试环境中的物料服务器接收到研发人员上传的物料包时,存储所述物料包。需要 说明的是,研发人员并不会将编译好的物料包上传至生产环境中的物料服务器中。
[0087]需要说明的是,所述发布系统主要实现了自动化发布的功能。测试环境和生产环 境中都存在物料服务器和发布系统,且所述测试环境中的物料服务器和所述生产环境中的 物料服务器和发布系统的功能作用是相同的。
[0088]替换模块20,用于根据所述待升级的物料包版本信息确定待升级的物料包,将所 述待升级的物料包进行差异变量的替换处理,得到差异变量物料包;
[0089] 当所述测试环境的发布系统得到所述待升级的物料包版本信息时,所述测试环境 的发布系统根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级的物料 包进行差异变量的替换处理,得到差异变量物料包。
[0090] 进一步地,所述替换模块20包括:
[0091 ]确定单元,用于根据所述待升级的物料包版本信息确定待升级的物料包;
[0092] 提取单元,用于解压所述待升级的物料包,在解压后的所述待升级的物料包中提 取差异变量;
[0093] 替换单元,用于根据所述差异变量的命名规则获取所述差异变量所对应变量值, 用所述变量值替换所述待升级的物料包中对应的变量,得到差异变量物料包。
[0094] 当所述测试环境的发布系统得到所述待升级的物料包版本信息时,所述测试环境 的发布系统根据所述待升级的物料包版本信息确定待升级的物料包。当所述测试环境中的 发布系统得到所述待升级的物料包时,所述测试环境中的发布系统解压所述待升级的物料 包,扫描所述解压后的所述待升级的物料包,根据所述差异变量所对应的命名规则获取所 述差异变量所对应的变量值。当所述测试环境中的发布系统得到所述差异变量所对应的变 量值时,所述测试环境中的发布系统用所述变量值替换所述待升级的物料包中所述差异变 量所对应的变量,得到差异变量的物料包。
[0095] 需要说明的是,所述差异变量包括但不限于CMDB(Configuration Management Database,配置管理系统)提供的CMDB变量、系统变量、明文变量和密文变量。所述CMDB中存 储了各种配置信息,并对外部系统提供查询接口。所述CMDB变量是涉及外部系统相关配置 信息的,变量的内容存储在CMDB中,所述CMDB变量包括分布式架构部署所导致的差异,如 DCN(Data Center Node)节点号、机器的IP(Internet Protocol,网络之间互连的协议)地 址等,还包括外部连接的系统信息,如数据库及消息总线的IP等。所述系统变量为所述发布 系统自己定义的,提供给用户使用的变量。所述明文变量为用户自定义的,在发布差异变量 物料包时,由用户实时输入的变量。所述密文变量为用户自定义的,在发布差异变量物料包 时,由用户实时输入的变量,但是由于涉及到密码,不能以明文的方式出现。所述DCN是负责 客户业务处理,运行业务办理所需的应用系统,有稳定的账户容量,可以根据业务量的需 要,通过增加 DCN的数量快速的横向扩展。
[0096] 所述CMDB变量的命名规则的原则是:当得到该变量的变量名时,可以将该变量的 变量名直接转化为CMDB的查询条件。对于每个变量,CMDB的查询结果应该是一组IP下的 key-value对,key是变量名,value则是所对应的具体变量值,如:MAP〈IP,MAP〈VARIABLE_ NAME,VARIABLE_VALUE>>,表示的是每一 IP都有对应的变量名,每个变量名都有对应的变量 值,即表示IP、变量名和变量值三者之间的映射关系。所述CMDB变量的命名规则为:[@ subsystemid-resource],其中,所述subsystemid表示所述待升级系统的子系统对象,使用 的是所述发布系统基线表中子系统的IP,所述resource表示所述子系统对象在CMDB中可以 查询到的资源,如:
[0097] VIRTUAL_DCN:查询子系统的虚拟字节号;
[0098] DCN:查询子系统的字节号;
[0099] TDSQL_VIP:查询子系统的TDSQL数据库的虚拟IP地址;
[0100] TDSQL_P0RT:查询子系统的TDSQL数据库端口号;
[0101] D0MAIN_APP_IPS:查询子系统归属域的APP应用的所有IP地址;
[0102] RMB_VIP:查询子系统调用的消息总线的IP地址;
[0103] RMB_P0RT:查询子系统调用的消息总线的端口号;
[0104] APP_VIP:查询子系统的APP应用的虚拟IP地址;
[0105] APP_P0RT:查询子系统的APP应用的端口号。
[0106]具体的实施例为,具体的实施例为,当子系统所对应的ID为#6036时,#6036所对应 的DCN节点号的命名为[@6036-VIRTUAL_DCN],表示这个子系统的虚拟DCN节点号;DCN节点 号所对应的APP的IP地址为:[@6036-D0MAIN_APP_IPS],表示DCN节点号下子系统所有APP的 IP地址,当存在多个IP地址时,用空格将多个IP地址进行分隔。其中,所述子系统为发布系 统中可以发布差异变量物料包的最小单元。
[0107] 所述系统变量所对应的变量是发布系统内部预定义好的变量,不需要外部系统或 者用户主动提供,将所述系统变量的命名规则设置为[!pa SSname];如[!DEPL0Y_PATH],表 示当前子系统的部署路径。所述密文变量的命名规则为[% pas sname ],如[% GMP_PASS ],表 示这个子系统的数据库密码。所述明文变量和密文变量一样,需要用户输入,但是与所述密 文变量不同的是,所述明文变量不需要加密,在进行差异变量的替换时,直接进行明文的替 换。所述明文变量的命名规则为:[#confname] Jn[#GMP_AC0NF],表示GMP这个子系统的A变 量的配置。
[0108] 如用户某次需要在测试环境中的IP1和IP2两台目标机器中进行应用部署时,当需 要处理的差异变量是子系统(ID为6036)的DCN节点号,以及一个发布时输入的密文变量时, 用户把子系统的DCN节点号录入相应的CMDB中管理。在进行所述差异变量物料包配置过程 中,发布系统从CMDB中获取[@6036_DCN]以及从用户的输入中获取[%SQL_PASS]来作为差 异变量写入所述差异变量物料包的配置文件中,并将差异变量物料包发送至所述测试环境 中物料服务器中。用户在所述测试环境中的发布系统中配置含有该差异变量的配置文件路 径:
[0109] 对于[@6036_DCN],所述测试环境的发布系统向所述CMDB的接口发送请求:
[0111]当所述CMDB通过其接口接收到所述测试环境中的发布系统所发送的请求时,所述 CMDB返回的结果为:
[0113] 即表明所述测试环境中的发布系统分别使用101和102替换IP1和IP2这两个目标 机器中DCN字节号所对应的变量。
[0114] 对于[%SQL_PASS],所述测试环境中的发布系统在前端弹出一个对话框提示用户 输入SQL_PASS的值。当所述测试环境中的发布系统接收到用户输入的SQL_PASS的值时,所 述测试环境中的发布系统对所述SQL_PASS的值进行加密。如当用户输入的SQL_PASS的值为 1 2 3 4 5 6时,所述测试环境中的发布系统得到加密后的S Q L _ P A S S的值为 c97c92660f68113b74。当所述测试环境中的发布系统得到加密后的SQL_PASS的值时,将所 述加密后SQL_PASS的值替换原来的SQL_PASS的值,以得到差异变量物料包。
[0115] 发布模块30,用于基于所述差异变量物料包在目标机器中执行所述差异变量物料 包的发布操作。
[0116] 当所述测试环境中的发布系统得到所述差异变量物料包时,所述测试环境中的发 布系统基于所述差异变量物料包在测试环境的目标机器上执行所述差异变量物料包的发 布操作。所述差异变量物料包在发布过程中包括停止服务、文件更新和启动服务等。在文件 更新过程中,会使用所述差异变量物料中的内容,如使用所述差异变量物料包中的程序、配 置信息、数据和脚本等。
[0117]需要说明的是,当所述生产环境的物料服务器获取到所述待升级的物料包时,所 述生产环境中的发布系统和物料服务器执行过程与所述测试环境中的发布系统和物料服 务器的执行过程一致(所述测试环境和所述生产环境中都存在获取模块10、替换模块20和 发布模块30),在此不再赘述。
[0118] 本实施例将所述待升级的物料包进行差异变量的替换处理,得到差异变量物料 包,在目标机器中执行所述差异变量物料包的发布操作。实现了在同一子系统中的各个机 器物料包中配置文件的发布过程中,不需要用户手动发布,简化了同一子系统中的各个机 器物料包中配置文件的发布流程;由于差异变量物料包中配置文件所对应的变量值不需要 用户手动输入,因此保证了同一子系统中的各个机器差异变量物料包中所生成的配置文件 的准确性。同时可以在所生成的差异变量物料包中统一维护差异变量所对应的变量值,在 差异变量物料包中进行变更历史等,方便了用户对差异变量物料包的扩展。
[0119] 参照图4,图4为本发明差异变量发布装置的第二实施例的功能模块示意图,基于 第一实施例提出本发明差异变量发布装置的第二实施例。
[0120] 在本实施例中,所述差异变量发布装置还包括:
[0121]发送模块40,用于将所述差异变量物料包发送至物料服务器中,并发送获取指令 给目标机器,以供所述目标机器根据所述获取指令从所述物料服务器中获取所述差异变量 物料包。
[0122]当所述测试环境中的发布系统得到所述差异变量物料包时,所述测试环境中的发 布系统将所述差异变量物料包发送至测试环境中的物料服务器中,并发送获取指令给所述 测试环境中的目标机器。当所述测试环境中的目标机器接收到所述测试环境中的发布系统 所发送的获取指令时,所述测试环境中的目标机器根据所述获取指令在所述测试环境中的 物料服务器获取所述差异变量物料包。
[0123] 进一步地,当测试环境中的发布系统在所述测试环境的目标机器上执行所述差异 变量物料包的发布操作后,生产环境中的物料服务器从所述测试环境的物料服务器中获得 通过测试的物料包,并将所述通过测试的物料包自动同步到其它生产环境中。每个生产环 境都有自己的物料包的发布系统。
[0124] 需要说明的是,所述生产环境和所述测试环境中存在相同的目标机器,即所述发 送模块40存在所述测试环境中,也存在所述生产环境中。
[0125] 本实施例通过使目标机器所得到差异变量物料包,发布系统控制目标机器,使测 试环境中的目标机器中执行该差异变量物料包发布操作。当确定该差异变量物料包在测试 环境中的目标机器中成功发布之后,生产环境中的物料服务器再从测试环境的物料服务器 中获得通过测试的物料包,执行后续的物料包的发布流程,提高了生产环境中物料包发布 的成功率。
[0126] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方 式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用 硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于 这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品 的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括 若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发 明各个实施例所述的方法。
[0127] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发 明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技 术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1. 一种差异变量发布方法,其特征在于,所述差异变量发布方法包括: 获取物料包版本信息,在所述物料包版本信息中确定待升级的物料包版本信息; 根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升级的物料包进行 差异变量的替换处理,得到差异变量物料包; 基于所述差异变量物料包在目标机器中执行所述差异变量物料包的发布操作。2. 如权利要求1所述的差异变量发布方法,其特征在于,所述根据所述待升级的物料包 版本信息确定待升级的物料包,将所述待升级的物料包进行差异变量的替换处理,得到差 异变量物料包的步骤包括: 根据所述待升级的物料包版本信息确定待升级的物料包; 解压所述待升级的物料包,在解压后的所述待升级的物料包中提取差异变量; 根据所述差异变量的命名规则获取所述差异变量所对应变量值,用所述变量值替换所 述待升级的物料包中对应的变量,得到差异变量物料包。3. 如权利要求2所述的差异变量发布方法,其特征在于,所述差异变量包括CMDB配置管 理系统提供的CMDB变量、系统变量、明文变量和密文变量。4. 如权利要求3所述的差异变量发布方法,其特征在于,所述CMDB变量的命名规则为[@ subsystemid-resource],其中,所述subsystemid表示待升级系统的子系统对象,所述 resource表示所述子系统对象在CMDB中可以查询到的资源; 所述系统变量为所述发布系统内部定义的变量。5. 如权利要求1至4任一项所述的差异变量发布方法,其特征在于,所述根据所述待升 级的物料包版本信息确定待升级的物料包,将所述待升级的物料包进行差异变量的替换处 理,得到差异变量物料包的步骤之后,还包括: 将所述差异变量物料包发送至物料服务器中,并发送获取指令给目标机器,以供所述 目标机器根据所述获取指令从所述物料服务器中获取所述差异变量物料包。6. -种差异变量发布装置,其特征在于,所述差异变量发布装置包括: 获取模块,用于获取物料包版本信息,在所述物料包版本信息中确定待升级的物料包 版本信息; 替换模块,用于根据所述待升级的物料包版本信息确定待升级的物料包,将所述待升 级的物料包进行差异变量的替换处理,得到差异变量物料包; 发布模块,用于基于所述差异变量物料包在目标机器中执行所述差异变量物料包的发 布操作。7. 如权利要求6所述的差异变量发布装置,其特征在于,所述替换模块包括: 确定单元,用于根据所述待升级的物料包版本信息确定待升级的物料包; 提取单元,用于解压所述待升级的物料包,在解压后的所述待升级的物料包中提取差 异变量; 替换单元,用于根据所述差异变量的命名规则获取所述差异变量所对应变量值,用所 述变量值替换所述待升级的物料包中对应的变量,得到差异变量物料包。8. 如权利要求7所述的差异变量发布装置,其特征在于,所述差异变量包括CMDB配置管 理系统提供的CMDB变量、系统变量、明文变量和密文变量。9. 如权利要求8所述的差异变量发布装置,其特征在于,所述CMDB变量的命名规则为[@ subsystemid-resource],其中,所述subsystemid表示待升级系统的子系统对象,所述 resource表示所述子系统对象在CMDB中可以查询到的资源; 所述系统变量为所述发布系统内部定义的变量。10.如权利要求6至9任一项所述的差异变量发布装置,其特征在于,所述差异变量发布 装置还包括: 发送模块,用于将所述差异变量物料包发送至物料服务器中,并发送获取指令给目标 机器,以供所述目标机器根据所述获取指令从所述物料服务器中获取所述差异变量物料 包。
【文档编号】G06F9/445GK106095509SQ201610443283
【公开日】2016年11月9日
【申请日】2016年6月20日
【发明人】伦秉力, 朱红燕, 孙敬, 尤嘉
【申请人】深圳前海微众银行股份有限公司