具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种计算机环境的配置方法、装置、计算机设备以及存储介质,能够在进行目标计算机环境的配置更新时,从用于更新目标计算机环境的环境配置文件中提取出可同步配置信息,然后根据可同步配置信息进行与目标计算机环境同属同一计算机系统的其他计算机环境的同步更新,从而能够减少由于目标计算机环境的配置更新导致不同计算机环境的配置不一致的情况发生,有利于保证计算机系统的正常运转。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种计算机环境的配置方法的流程示意图。如图1所示,该计算机环境的配置方法可以包括以下操作:
101、检测是否接收到针对目标计算机环境的环境配置文件,所述环境配置文件用于更新所述目标计算机环境的配置,所述目标计算机环境是指在包含有多套计算机环境的计算机系统中的任意一套计算机环境;
102、在接收到所述环境配置文件之后,对所述环境配置文件进行解析,得到所述环境配置文件中的可同步配置信息;
103、根据所述环境配置文件更新所述目标计算机环境的配置;
104、根据所述可同步配置信息更新所述计算机系统中其他计算机环境的配置,所述其他计算机环境是指所述计算机系统中除所述目标计算机环境以外的计算机环境。
本发明实施例中,在需要针对某一计算机环境(目标计算机环境)进行配置时,可以先根据需要配置的内容编写对应的json配置文件(即环境配置文件),这样即能够根据编写好的json文件进行目标计算机环境的配置。例如,需要将目标计算机环境的环境变量“CLASSPATH”的值修改为1,则可以将语句“CLASSPATH=1”添加至json配置文件中,需要将目标计算机环境的tomcat工具的规则名称设置为“manager-gui”、用户名称和密码分别设置为“user”和“1”,则可以在json配置文件中添加以下语句:
<role rolename="manager-gui"/>
<userusername="user"password="1"roles="manager-gui"/>。
目标计算机环境所在的计算机系统中的所有计算环境的配置均可以由用于管理计算机系统的配置的配置中心进行配置更新,例如,平安集团使用的普惠系统中的每套环境都可以由普惠配置中心进行配置更新。这样,将编写好的json文件上传至配置中心,然后配置中心即能够根据json文件中的内容对目标计算机环境的配置进行更新。可见,目前的配置更新方式通常只能更新json文件所针对的目标计算机环境的配置,若同一计算机系统的其他计算机环境需要针对本次配置更新作出适应性的更新(如,计算机系统中某一功能的调用接口进行了修改,则其他计算机环境也需要适应性修改该功能的调用接口),则需要再编写针对其他计算机环境的json文件或者人工手动实现适应性的配置更新。由于信息同步不及时、测试需求不同等原因,这样的配置方式容易出现不同计算机环境之间的配置项不一致的问题,影响计算机系统的正常运转。本发明实施例中,在接收到json文件之后,会对json文件进行解析得到json文件中的可同步配置信息(具体的json文件解析过程稍后描述),然后在根据json文件进行目标计算机环境的配置更新的同时,根据该可同步配置信息更新同一计算机系统内的其他计算机环境的配置,从而能够实现在更新目标计算机环境的配置时,同步更新同属同一计算机系统的其他计算机环境的配置,减少由于目标计算机环境的配置更新导致不同计算机环境的配置不一致的情况发生,有利于保证计算机系统的正常运转。
可见,实施图1所描述的计算机环境的配置方法,能够在进行目标计算机环境的配置更新时,从用于更新目标计算机环境的环境配置文件中提取出可同步配置信息,然后根据可同步配置信息进行与目标计算机环境同属同一计算机系统的其他计算机环境的同步更新,从而能够减少由于目标计算机环境的配置更新导致不同计算机环境的配置不一致的情况发生,有利于保证计算机系统的正常运转。
在一个可选的实施例中,所述在接收到所述环境配置文件之后,对所述环境配置文件进行解析,得到所述环境配置文件中的可同步配置信息,包括:
在接收到所述环境配置文件之后,根据预先确定出的关键字符集合查找所述环境配置文件中的关键字符;
根据所述关键字符确定所述环境配置文件中的目标文件位置;
提取所述环境配置文件中所述目标文件位置的信息,以作为所述环境配置文件的可同步配置信息,或者,
在接收到所述环境配置文件之后,根据预先确定出的文件位置从所述环境配置文件中提取可同步配置信息。
在该可选的实施例中,预先确定出的关键字符集合可以根据实际需求预先完成设置。假设环境变量“CLASSPATH”的值需要在不同计算机环境之间保持一致,则可以将字符“CLASSPATH”作为关键字符集合中的其中一个关键字符。假设json配置文件包括语句“CLASSPATH=1”,则可以从json配置文件中查找到关键字符“CLASSPATH”,然后根据关键字符“CLASSPATH”在json配置文件中的位置确定出目标文件位置(具体的目标文件位置的确认过程稍后描述)。最后,提取json配置文件中目标文件位置中的信息作为可同步配置信息,例如,目标文件位置仅为关键字符“CLASSPATH”所在的一行,则提取到的可同步配置信息为“CLASSPATH=1”。可选地,也可以预先约定可同步配置信息在json文件中的文件位置,然后相关人员在编写json文件时将可同步配置信息编写在预先约定的文件位置,这样在接收到json文件之后,即能够从约定的文件位置中提取出可同步配置信息。例如,预先约定json文件中的前20行用于存储可同步配置信息,则提取json文件中的前20行的代码作为可同步配置信息。
可见,实施该可选的实施例,能够实现根据预设的关键字符或者文件位置从环境配置文件中提取出可同步配置信息,从而能够使用不同的方式提取出可同步配置信息,提高可同步配置信息提取的准确性与便捷性,有利于保证不同计算机环境同步更新的准确进行,保证计算机系统的正常运转。
在一个可选的实施例中,所述关键字符包括关键配置字符;
以及,所述根据所述关键字符确定所述环境配置文件中的目标文件位置,包括:
确定所述关键配置字符在所述环境配置文件中的字符位置;
确定所述关键配置字符对应的配置信息范围;
根据所述关键配置字符对应的字符位置和配置信息范围,确定所述环境配置文件中的目标文件位置。
在该可选的实施例中,可以将需要同步的配置项所对应的关键字符设置为关键配置字符,例如,需要同步的配置项为环境变量“CLASSPATH”,则可以将“CLASSPATH”设置为关键配置字符,需要同步的配置项为tomcat工具的规则名称、用户名称和密码,则可以将“role rolename”设置为关键配置字符。这样,先查找出关键配置字符在环境配置文件中的位置,然后根据关键配置字符确定出关键配置字符的配置信息范围,最后根据关键配置字符的位置和配置信息范围,即能够确定出目标文件位置。其中,不同的关键配置字符对应的配置信息范围可以根据实际情况预设为不同的范围。例如,对于关键配置字符“CLASSPATH”,环境变量“CLASSPATH”的配置更新仅需要一行语句“CLASSPATH=1”,所以可以将关键配置字符“CLASSPATH”对应的配置信息范围预设为1行,假设关键配置字符“CLASSPATH”在json文件中的字符位置为第18行,则可以确定出目标文件位置为第18行。对于关键配置字符“role rolename”,tomcat工具的规则名称、用户名称和密码的更新通常需要两行语句:
<role rolename="manager-gui"/>
<userusername="user"password="1"roles="manager-gui"/>,
所以可以将关键配置字符“role rolename”对应的配置信息范围预设为2行,假设关键配置字符“role rolename”在json文件中的字符位置为第20行,则可以确定出目标文件位置为第20行和第21行。
可见,实施该可选的实施例,能够根据关键字符的不同设置不同的目标文件位置,从而能够针对不同的关键字符使用不同的提取规则提取出可同步配置信息,从而能够提高可同步配置信息提取的准确性,有利于保证不同计算机环境同步更新的准确进行,保证计算机系统的正常运转。
在一个可选的实施例中,所述关键字符包括定位起始字符和定位终止字符;
以及,所述根据所述关键字符确定所述环境配置文件中的目标文件位置,包括:
确定所述定位起始字符和所述定位终止字符在所述环境配置文件中的字符位置;
根据所述定位起始字符和所述定位终止字符对应的字符位置,确定所述环境配置文件中的目标文件位置。
在该可选的实施例中,可以预先约定指定的字符为定位起始字符和定位终止字符,然后将相邻的定位起始字符和定位终止字符之间的文件位置作为环境配置文件中的目标文件位置。这样,相关人员在编写环境配置文件时可以在需要进行同步更新的部分加入定位起始字符和定位终止字符,从而实现在环境配置文件中对可同步配置信息的定位。例如,约定字符“/*”为定位起始字符,字符“*\”为定位终止字符,假设json文件中包含如下代码:
/*
<role rolename="manager-gui"/>
<userusername="user"password="1"roles="manager-gui"/>
*\。
其中,“/*”在环境配置文件中的字符位置为第25行,“*\”在环境配置文件中的字符位置为第28行,则将字符“/*”和字符“*\”之间的第26行和第27行作为json文件的目标文件位置。这样,提取出的可同步配置信息即为:
<role rolename="manager-gui"/>
<userusername="user"password="1"roles="manager-gui"/>。
可见,实施该可选的实施例,通过在环境配置文件中设置定位起始字符和定位终止字符,能够实现在环境配置文件中对可同步配置信息的自由定位,便于在环境配置文件中设置可同步配置信息,便于准确地实现不同计算机环境的同步更新。
在一个可选的实施例中,所述根据所述环境配置文件更新所述目标计算机环境的配置之前,所述方法还包括:
检测是否接收到针对所述计算机系统的权限数据;
在接收到所述权限数据之后,对所述权限数据执行预设的验证操作;
在所述权限数据通过验证之后,触发执行所述根据所述环境配置文件更新所述目标计算机环境的配置的操作。
在该可选的实施例中,计算机系统的环境配置错误有可能会影响整个计算机系统的功能,所以计算机系统的环境配置通常都不会频繁地改动,且可以设置为只允许拥有修改权限的人员进行对计算机系统的环境配置的修改。例如,普惠配置中心可以针对普惠配置中心下面的每个系统生成唯一的令牌(即权限数据),只有持有正确的令牌(即权限数据)的用户才能够进行该系统中的计算机环境的修改。相关用户在上传环境配置文件进行计算机环境的配置修改时,需要同时上传令牌(即权限数据),并且在令牌(即权限数据)验证通过之后,才允许进行计算机环境的修改,否则不进行计算机环境的修改。其中,预设的验证操作可以是判断相关用户上传的令牌(即权限数据)与配置中心针对计算机系统生成的令牌(即权限数据)是否匹配,若两种权限数据匹配,则通过验证,若两种权限数据不匹配,则不通过验证。
可见,实施该可选的实施例,能够在进行目标计算机环境的配置更新之前,对请求进行目标计算机环境配置更新的用户的权限进行验证,在权限验证通过之后,才进行目标计算机环境的配置更新,从而能够提高目标计算机环境配置更新的安全性,有利于保证目标计算机环境配置更新的正确进行,保证计算机系统的正常运转。
在一个可选的实施例中,所述权限数据包括至少一种子权限数据,一种子权限数据对应所述计算机系统中的一套计算机环境;
以及,所述在接收到所述权限数据之后,对所述权限数据执行预设的验证操作,包括:
在接收到所述权限数据之后,对所述权限数据中的每种子权限数据执行预设的验证操作;
当所述权限数据中的任意一种子权限数据通过验证时,确定所述权限数据验证通过;
当所述权限数据中的所有子权限数据均未通过验证时,确定所述权限数据验证不通过;
以及,所述根据所述环境配置文件更新所述目标计算机环境的配置,包括:
在所述目标计算机环境对应的子权限数据通过验证之后,根据所述环境配置文件更新所述目标计算机环境的配置;
以及,所述根据所述可同步配置信息更新所述计算机系统中其他计算机环境的配置,包括:
在任意一套所述其他计算机环境对应的子权限数据通过验证之后,根据所述可同步配置信息更新已通过验证的子权限数据所对应的其他计算机环境的配置。
在该可选的实施例中,可以将计算机系统的环境配置权限按照计算机环境的不同进行细分,从而实现安全性更高的环境配置更新。具体地,配置中心可以针对系统中的每套计算机环境生成对应的权限数据,用户在上传环境配置文件时,还需要上传系统中各个环境的权限数据,在该环境对应的权限数据通过验证之后,才进行该环境的配置更新,否则,不进行该环境的配置更新。例如,计算机系统中共有A环境、B环境和C环境,配置中心为A、B、C环境均生成了对应的权限数据,若在用户上传的针对A、B、C环境的权限数据中只有A、B环境的权限数据与配置中心生成的权限数据匹配,则只进行A环境和B环境的配置更新,而不进行C环境的配置更新。
可见,实施该可选的实施例,能够将计算机系统的环境配置权限按照计算机环境的不同进行细分,从而实现安全性更高的环境配置更新,更有利于保证目标计算机环境配置更新的正确进行,保证计算机系统的正常运转。
在一个可选的实施例中,在所述目标计算机环境对应的子权限数据通过验证之后,所述根据所述环境配置文件更新所述目标计算机环境的配置之前,所述方法还包括:
向预先确定出的所述目标计算机环境对应的管理终端发送验证指令,所述验证指令用于触发所述目标计算机环境对应的管理终端采集并上传所述目标计算机环境对应的发布权限数据;
在接收到所述管理终端上传的发布权限数据之后,对所述发布权限数据执行预设的验证操作;
在所述发布权限数据通过验证之后,触发执行所述根据所述环境配置文件更新所述目标计算机环境的配置的操作。
在该可选的实施例中,为进一步提高计算机环境配置更新的安全性,还可以将每套计算机环境的配置权限细分为修改权限和发布权限,具有修改权限的用户只允许上传环境配置文件,在上传环境配置文件之后,需要得到具有发布权限的用户的允许才能够继续根据上传的环境配置文件进行计算机环境配置的更新。例如,配置中心可以针对系统中的目标计算机环境生成对应的修改权限数据(即上述的子权限数据)和发布权限数据,在具有修改权限的用户完成环境配置文件的上传以及修改权限数据的验证之后,向用于管理目标计算机环境的管理终端发送验证指令。目标计算机环境的管理人员在查看到验证指令之后,可以对环境配置文件进行审核,若审核通过,即可以上传所拥有的发布权限数据,若发布权限数据通过验证,即表明该管理人员具有目标计算机环境的发布权限,则根据环境配置文件更新目标计算机环境的配置,若发布权限数据验证不通过,即表明该管理人员不具有目标计算机环境的发布权限,则不进行目标计算机环境的配置更新。
可见,实施该可选的实施例,能够将计算机环境的配置权限细分为修改权限和发布权限,在进行计算机环境配置的更新之前,需要先获得正确的修改权限数据和发布权限数据,从而能够进一步提高环境配置更新的安全性,更有利于保证目标计算机环境配置更新的正确进行,保证计算机系统的正常运转。
可选地,还可以:将所述计算机环境的配置方法的配置信息上传至区块链中。
具体来说,配置信息是通过运行所述计算机环境的配置方法后得到的,用于记录计算机环境的配置情况,例如,所接收到的环境配置文件的上传时间、对环境配置文件进行解析后得到的可同步配置信息、目标计算机环境配置更新完成的时间等等。将配置信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得到该配置信息,以便查证所述计算机环境的配置方法的配置信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
可见,实施本发明实施例所公开的计算机环境的配置方法,能够在进行目标计算机环境的配置更新时,从用于更新目标计算机环境的环境配置文件中提取出可同步配置信息,然后根据可同步配置信息进行与目标计算机环境同属同一计算机系统的其他计算机环境的同步更新,从而能够减少由于目标计算机环境的配置更新导致不同计算机环境的配置不一致的情况发生,有利于保证计算机系统的正常运转。还能够实现根据预设的关键字符或者文件位置从环境配置文件中提取出可同步配置信息,从而能够使用不同的方式提取出可同步配置信息,提高可同步配置信息提取的准确性与便捷性。还能够根据关键字符的不同设置不同的目标文件位置,从而能够针对不同的关键字符使用不同的提取规则提取出可同步配置信息。还通过在环境配置文件中设置定位起始字符和定位终止字符,能够实现在环境配置文件中对可同步配置信息的自由定位。还能够在进行目标计算机环境的配置更新之前,对请求进行目标计算机环境配置更新的用户的权限进行验证,在权限验证通过之后,才进行目标计算机环境的配置更新,从而能够提高目标计算机环境配置更新的安全性。还能够将计算机系统的环境配置权限按照计算机环境的不同进行细分,从而实现安全性更高的环境配置更新。还能够将计算机环境的配置权限细分为修改权限和发布权限,在进行计算机环境配置的更新之前,需要先获得正确的修改权限数据和发布权限数据,从而能够进一步提高环境配置更新的安全性。
实施例二
请参阅图2,图2是本发明实施例公开的一种计算机环境的配置装置的结构示意图。如图2所示,该计算机环境的配置装置可以包括:
检测模块201,用于检测是否接收到针对目标计算机环境的环境配置文件,所述环境配置文件用于更新所述目标计算机环境的配置,所述目标计算机环境是指在包含有多套计算机环境的计算机系统中的任意一套计算机环境;
解析模块202,用于在接收到所述环境配置文件之后,对所述环境配置文件进行解析,得到所述环境配置文件中的可同步配置信息;
更新模块203,用于根据所述环境配置文件更新所述目标计算机环境的配置;
所述更新模块203,还用于根据所述可同步配置信息更新所述计算机系统中其他计算机环境的配置,所述其他计算机环境是指所述计算机系统中除所述目标计算机环境以外的计算机环境。
对于上述计算机环境的配置装置的具体描述可以参照上述计算机环境的配置方法的具体描述,在此不再一一赘述。
实施例三
请参阅图3,图3是本发明实施例公开的一种计算机设备的结构示意图。如图3所示,该计算机设备可以包括:
存储有可执行程序代码的存储器301;
与存储器301连接的处理器302;
处理器302调用存储器301中存储的可执行程序代码,执行本发明实施例一公开的计算机环境的配置方法中的步骤。
实施例四
本发明实施例公开了一种计算机存储介质401,计算机存储介质401存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一公开的计算机环境的配置方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-OnlyMemory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种计算机环境的配置方法、装置、计算机设备以及存储介质所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。