一种服务自动初始化系统及方法与流程

文档序号:36862542发布日期:2024-02-02 20:45阅读:22来源:国知局
一种服务自动初始化系统及方法与流程

本发明涉及流程自动化,尤其涉及一种服务自动初始化系统及方法。


背景技术:

1、当开发人员在使用测试环境做测试的时候,就会生成很多的业务的数据和配置相关的数据,当开发人员测试完毕后,数据还是留在那里无法得到回收,在这种情况下用这个环境做其他测试的时候,因有上一次自动生成的配置和数据残留,这对于测试新项目是很不友好的,而且还会操作测试结果的错误。

2、基于此,每次当开发人员使用完测试环境,另外一个开发人员再使用这个测试环境做其他项目的时候,就需要先将环境里面的数据进行清理,也就是说测试环境的初始化。在一般情况下,这种事情往往都会交给运维人员去手工处理,使得运维人员有一部分时间都花在给开发人员初始化的环境的搭建和资源清理上,这就无形的占用了一部分工作量,真正花在公司服务器架构涉及高可用方案的少之又少。因此,亟需一种能够将日常琐碎的资源清理和初始化环境自动化的技术方案,以大大节省运维人员的时间,进而运维人员能够用节省下来的时间可以尽量多的去做研究。


技术实现思路

1、针对现有技术中存在的问题,本发明提供一种服务自动初始化系统,包括:

2、中央仓库模块,用于保存预先配置的多个公共服务的配置模板文件,所属同一部门的各所述公共服务的所述配置模板文件关联有对应的服务模板编码;

3、初始化处理平台,分别连接所述中央仓库模块和测试环境,用于在接收到开发人员输入的初始化请求时登录开发人员需要使用的所述测试环境,执行所述测试环境中对应配置的自动初始化脚本,以由所述中央仓库模块获取所述开发人员的所属部门对应的所述服务模板编码下需要初始化的各所述公共服务的所述配置模板文件,并根据所述模板配置文件构建初始化任务队列,进而依次重启所述初始化任务队列对应的各所述公共服务并更新各所述公共服务的所述配置模板文件,完成各所述公共服务的自动初始化。

4、优选的,所述初始化处理平台还连接数据库,所述初始化处理平台包括:

5、第一处理模块,用于在接收到所述初始化请求时登录所述测试环境,执行所述测试环境中对应配置的所述自动初始化脚本,以向所述中央仓库模块发送配置请求;

6、所述中央仓库模块根据所述配置请求更新各所述配置模板文件,随后将更新后的各所述配置模板文件复制至所述测试环境中;

7、第二处理模块,用于对所述配置模板文件进行解析得到解析文件,由所述解析文件中提取出所述初始化请求中包含的本次待初始化的所述服务模板编码下需要初始化的各所述公共服务的服务名称,并对应生成初始化任务编码保存至所述测试环境;

8、第三处理模块,连接所述第二处理模块,用于将提取出的每个所述公共服务均作为一个所述初始化任务队列,并将各所述初始化任务队列与所述初始化任务编码建立关联关系后存入所述数据库;

9、第四处理模块,用于执行所述自动初始化脚本,以根据保存的所述初始化任务编码由所述数据库中获取所述初始化任务编码关联的所有所述初始化任务队列,进而依次重启所述初始化任务队列对应的各所述公共服务并更新各所述公共服务的所述配置模板文件,完成各所述公共服务的自动初始化。

10、优选的,所述初始化请求为局部初始化请求,所述局部初始化请求还包括所述开发人员选择进行初始化的各所述公共服务的服务名称拼接形成的名称字符串;则所述第二处理模块包括:

11、提取单元,用于获取本次待初始化的所述服务模板编码下的所有所述公共服务的服务名称,遍历各所述服务名称,并在所述服务名称在所述名称字符串中时,提取出对应的所述服务名称作为需要初始化的所述公共服务的服务名称。

12、优选的,所述初始化请求为全部初始化请求;则所述第二处理模块包括:

13、全选单元,用于将本次待初始化的所述服务模板编码下的所有所述公共服务的服务名称作为需要初始化的所述公共服务的服务名称。

14、优选的,所述第四处理模块包括:

15、第一配置单元,用于针对每个所述初始化任务队列,根据对应的所述公共服务的所述服务名称向所述中央仓库模块发起配置覆盖请求,以由所述中央仓库模块获取最新的所述配置模板文件覆盖更新至所述测试环境中;

16、第二配置单元,用于在所述配置模板文件更新完成后,关闭原有的公共服务,随后向所述中央仓库模块发起重启及检测请求,以由所述中央仓库模块获取最新的启动配置文件下载至所述测试环境中,进而执行所述启动配置文件中包含的启动指令启动所述公共服务,并在启动过程中,执行所述启动配置文件中包含的检测指令持续扫描所述公共服务的端口,实现对所述公共服务的启动状态的监测。

17、优选的,所述第四处理模块还包括:

18、第三配置单元,用于在所述公共服务成功启动后,向所述中央仓库模块发起主机配置请求,以由所述中央仓库模块获取最新的主机配置文件,同时根据当前所述测试环境的主机名称获取当前所述测试环境的ip地址,并采用当前所述测试环境的ip地址替换获取的所述主机配置文件中的ip地址以对所述主机配置文件进行更新,随后采用更新的所述主机配置文件替换原有的主机配置文件。

19、优选的,所述测试环境中保存有上一次完成初始化的各所述公共服务的所述服务模板编码;则所述第四处理模块还包括:

20、判断单元,连接所述第一配置单元,用于在判断所述初始化请求中包含的本次待初始化的服务模板编码与上一次完成初始化的所述服务模板编码一致时输出第一配置信号,以及在判断所述初始化请求中包含的本次待初始化的服务模板编码与上一次完成初始化的所述服务模板编码不一致时输出第二配置信号;

21、所述第一配置单元根据所述第一配置信号及对应的所述公共服务的所述服务名称向所述中央仓库模块发起第一配置覆盖请求,以由所述中央仓库模块下载最新的所述配置模板文件覆盖所述测试环境中对应所述服务名称的文件,并删除与所述服务名称不一致的文件;

22、所述第一配置单元根据所述第二配置信号删除原有的所述配置模板文件并由所述中央仓库模块下载最新的所述配置模块文件,进而根据本次待初始化的所述服务模板编码获取并安装待初始化的各所述公共服务,随后向所述中央仓库模块发送第二配置覆盖请求,以由所述中央仓库模块下载最新的各所述服务名称覆盖所述测试环境中的对应文件目录。

23、优选的,所述初始化处理平台还包括:

24、初始化监测模块,连接所述第四处理模块,用于持续监测各所述初始化任务队列的初始化状态,在所述初始化任务队列未被初始化时,将对应的所述初始化状态配置为待机状态,在所述初始化任务队列正在被初始化时,将对应的所述初始化状态配置为初始化运行状态,以及在所述初始化任务队列被初始化完成时,将对应的所述初始化状态配置为初始化完成状态,并将各所述初始化状态保存至所述数据库;

25、初始化重启模块,连接所述第四处理模块,用于在自动初始化过程中断后继续初始化时,于所述数据库中根据所述初始化任务编码匹配关联的各所述初始化任务队列,并根据所述初始化状态筛选出未完成初始化的各所述初始化任务队列继续执行自动初始化。

26、优选的,所述第四处理模块还包括:

27、重启监测单元,连接所述第二配置单元,用于获取所述第二配置单元进行端口扫描的扫描结果,并在所述扫描结果表示预设时间内未发现端口存活时,将对应的所述公共服务的重启状态配置为重启失败状态并保存至所述数据库;

28、通知单元,用于读取所述数据库中的所述重启状态,并在存在所述重启失败状态时,通知运维人员进行排错。

29、本发明还提供一种服务自动初始化方法,应用于上述的服务自动初始化系统,所述服务自动初始化系统中预先配置有多个公共服务的配置模板文件,所属同一部门的各所述公共服务的所述配置模板文件关联有对应的服务模板编码;则所述服务自动初始化方法包括:

30、步骤s1,所述服务自动初始化系统在接收到开发人员输入的初始化请求时登录开发人员需要使用的所述测试环境,执行所述测试环境中对应配置的自动初始化脚本,以获取所述开发人员的所属部门对应的所述服务模板编码下需要初始化的各所述公共服务的所述配置模板文件;

31、步骤s2,所述服务自动初始化系统根据所述模板配置文件构建初始化任务队列,进而依次重启所述初始化任务队列对应的各所述公共服务并更新各所述公共服务的所述配置模板文件,完成各所述公共服务的自动初始化。

32、上述技术方案具有如下优点或有益效果:

33、1)开发人员在需要使用测试环境时,只需要选择需要初始化的公共服务,系统即可自动完成初始化过程,减少了和运维人员沟通,通过自动初始化使得开发的效率大大提高,开发人员可以全心全意的投入到代码开发中来;

34、2)系统自动初始化过程中通常无需运维人员参与,初始化过程中出现重启失败或初始化失败会自动通知运维人员进行排查,使得运维人员从处理初始化的动作、资源清理、服务重启等日常繁琐且反复的工作中解放出来,同样也减少了和开发人员的沟通造成的工作效率的降低,让相关人员能够把时间用在对公司更有价值的地方。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1