基于Ansible的文件分发方法、装置及设备制造方法及图纸

技术编号:34566379 阅读:9 留言:0更新日期:2022-08-17 12:56
本说明书涉及文件分发技术领域,提供了一种基于Ansible的文件分发方法、装置及设备,该方法包括:将Web端提供的Ansible配置信息写入数据库;所述Ansible配置信息包括待分发文件信息及被控节点信息;当收到文件分发执行指示时,从所述数据库中读取所述Ansible配置信息;根据所述Ansible配置信息动态组装剧本和被控节点清单;根据所述剧本和所述被控节点清单执行分发任务。本说明书实施例可提高文件推送效率。率。率。

【技术实现步骤摘要】
基于Ansible的文件分发方法、装置及设备


[0001]本说明书涉及文件分发
,尤其是涉及一种基于Ansible的文件分发方法、装置及设备。

技术介绍

[0002]在应用系统运维场景下,向服务器集群(例如x86服务器集群等)推送一个或者多个文件,已经成为日常运维场景的基本操作。例如,在运维过程中,需要将某些文件要上传到服务器集群上。目前,一般通过人工方式登录逐个服务器集群中的每个服务器,并人工上传文件至目标路径。但是,当服务器集群的规模较大时,这种人工上传文件至目标路径的方式的效率会比较低。

技术实现思路

[0003]本说明书实施例的目的在于提供一种基于Ansible的文件分发方法、装置及设备,以实现自动向大规模服务器集群推送文件,提高文件推动效率。
[0004]为达到上述目的,一方面,本说明书实施例提供了一种基于Ansible的文件分发方法,包括:
[0005]将Web端提供的Ansible配置信息写入数据库;所述Ansible配置信息包括待分发文件信息及被控节点信息;
[0006]当收到文件分发执行指示时,从所述数据库中读取所述Ansible配置信息;
[0007]根据所述Ansible配置信息动态组装剧本和被控节点清单;
[0008]根据所述剧本和所述被控节点清单执行分发任务。
[0009]本说明书实施例的基于Ansible的文件分发方法中,所述根据所述Ansible配置信息动态组装剧本和被控节点清单,包括:
[0010]根据所述Ansible配置信息生成一个或多个分发任务,每个分发任务包括一个或多个分发动作指令,以及执行所述分发动作指令的被控节点;
[0011]将各个分发任务组装为剧本,所述剧本中的每个Play对应一个分发任务;
[0012]根据各个分发任务对应的被控节点生成被控节点清单。
[0013]本说明书实施例的基于Ansible的文件分发方法中,所述根据所述剧本和所述被控节点清单执行分发任务,包括:
[0014]从所述剧本中顺序选择一个Play;
[0015]从所述被控节点清单中过滤出所述Play对应的被控节点;
[0016]加载所述Play对应的分发动作指令;
[0017]将所述Play对应的分发动作指令打包成临时Python脚本文件;
[0018]将所述临时Python脚本文件传输至所述Play对应的被控节点,以使所述Play对应的被控节点执行所述Python脚本文件,并返回执行结果。
[0019]本说明书实施例的基于Ansible的文件分发方法中,所述文件信息包括文件名称
以及位置信息。
[0020]本说明书实施例的基于Ansible的文件分发方法中,当所述待分发文件为远程文件时,所述文件信息还包括远程FTP配置信息。
[0021]本说明书实施例的基于Ansible的文件分发方法中,所述被控节点信息包括:被控节点端口、被控节点IP地址以及登录认证信息。
[0022]本说明书实施例的基于Ansible的文件分发方法中,所述文件信息包括文件名称以及位置信息;当所述待分发文件为远程文件时,所述文件信息还包括远程FTP配置信息。
[0023]本说明书实施例的基于Ansible的文件分发方法中,所述被控节点信息包括:被控节点端口、被控节点IP地址以及登录认证信息。
[0024]另一方面,本说明书实施例还提供了一种基于Ansible的文件分发装置,包括:
[0025]写入模块,用于将Web端提供的Ansible配置信息写入数据库;所述Ansible配置信息包括待分发文件信息及被控节点信息;
[0026]读取模块,用于当收到文件分发执行指示时,从所述数据库中读取所述Ansible配置信息;
[0027]组装模块,用于根据所述Ansible配置信息动态组装剧本和被控节点清单;
[0028]执行模块,用于根据所述剧本和所述被控节点清单执行分发任务。
[0029]另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
[0030]另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0031]另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0032]由以上本说明书实施例提供的技术方案可见,本说明书实施例可以预先保存包含待分发文件信息及被控节点信息的Ansible配置信息;当收到文件分发执行指示时,根据Ansible配置信息动态组装剧本和被控节点清单,并根据剧本和被控节点清单执行分发任务,从而基于Ansible实现了向大规模服务器集群自动化推送文件,减少了人工参与,提高了文件推送效率。
附图说明
[0033]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0034]图1示出了本说明书一些实施例中基于Ansible的文件分发装置应用场景示意图;
[0035]图2示出了本说明书一些实施例中基于Ansible的文件分发方法的流程图;
[0036]图3示出了本说明书一些实施例的基于Ansible的文件分发方法中动态组装剧本和被控节点清单的流程图;
[0037]图4示出了本说明书一些实施例的基于Ansible的文件分发方法中根据剧本和被
控节点清单执行分发任务的流程图;
[0038]图5示出了本说明书一些实施例中基于Ansible的文件分发装置的结构框图;
[0039]图6示出了本说明书一些实施例中计算机设备的结构框图。
[0040]【附图标记说明】
[0041]10、Web端;
[0042]20、文件分发装置;
[0043]30、服务器;
[0044]40、数据库;
[0045]51、写入模块;
[0046]52、读取模块;
[0047]53、组装模块;
[0048]54、执行模块;
[0049]602、计算机设备;
[0050]604、处理器;
[0051]606、存储器;
[0052]608、驱动机构;
[0053]610、输入/输出接口;
[0054]612、输入设备;
[0055]614、输出设备;
[0056]616、呈现设备;
[0057]618、图形用户本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Ansible的文件分发方法,其特征在于,包括:将Web端提供的Ansible配置信息写入数据库;所述Ansible配置信息包括待分发文件信息及被控节点信息;当收到文件分发执行指示时,从所述数据库中读取所述Ansible配置信息;根据所述Ansible配置信息动态组装剧本和被控节点清单;根据所述剧本和所述被控节点清单执行分发任务。2.如权利要求1所述的基于Ansible的文件分发方法,其特征在于,所述根据所述Ansible配置信息动态组装剧本和被控节点清单,包括:根据所述Ansible配置信息生成一个或多个分发任务,每个分发任务包括一个或多个分发动作指令,以及执行所述分发动作指令的被控节点;将各个分发任务组装为剧本,所述剧本中的每个Play对应一个分发任务;根据各个分发任务对应的被控节点生成被控节点清单。3.如权利要求1所述的基于Ansible的文件分发方法,其特征在于,所述根据所述剧本和所述被控节点清单执行分发任务,包括:从所述剧本中顺序选择一个Play;从所述被控节点清单中过滤出所述Play对应的被控节点;加载所述Play对应的分发动作指令;将所述Play对应的分发动作指令打包成临时Python脚本文件;将所述临时Python脚本文件传输至所述Play对应的被控节点,以使所述Play对应的被控节点执行所述Python脚本文件,并返回执行结果。4.如权利要求1所述的基于Ansible的文件分发方法,其特征在于,所述文件信息包括文件...

【专利技术属性】
技术研发人员:陈福洪田济榕
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1