CN114513501B - 目标分发方法和系统 - Google Patents
目标分发方法和系统 Download PDFInfo
- Publication number
- CN114513501B CN114513501B CN202210138032.2A CN202210138032A CN114513501B CN 114513501 B CN114513501 B CN 114513501B CN 202210138032 A CN202210138032 A CN 202210138032A CN 114513501 B CN114513501 B CN 114513501B
- Authority
- CN
- China
- Prior art keywords
- target
- downloaded
- automation
- byte number
- metadata information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012790 confirmation Methods 0.000 claims description 12
- 230000000737 periodic effect Effects 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 description 50
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 6
- 239000003999 initiator Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了目标分发方法和系统,其中,方法包括:在接收到自动化客户端的目标下载请求时,根据目标下载请求从自动化服务端获取第一目标元数据信息;根据第一目标元数据信息,确定本地是否已缓存待下载目标;若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致;若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端;其中,自动化代理端本地已缓存的待下载目标为预先从自动化服务端下载得到。可见,本申请能够使自动化服务端中的待下载目标分发至自动化客户端。
Description
技术领域
本申请涉及通信领域,特别是涉及目标分发方法和系统。
背景技术
在企业的信息系统中,需要管理的物理机、虚拟机、应用程序等管理对象数量越来越多,在管理对象上分发执行的自动化任务使用的介质文件和执行脚本均需要由服务端分发至客户端。
目前,服务端通过采购的商业版自动化工具将执行脚本分发至客户端,但是该商业版自动化工具存在以下问题限制着使用上的发展:第一,该商业版自动化工具在使用时,需要由服务端主动连接被管理主机(客户端部署在被管理主机上)发起任务操作,这就要求服务端到所有被管理主机的网络可达,这点不符合企业网络的安全设计要求(企业网络的安全设计要求为:不同网络区域间存在安全隔离,访问上不允许同一个源访问所有网络目标,但在同一个安全级别的网络中允许不同源访问同一个网络目标),无法扩大使用范围;第二,该商业版自动化工具不具备介质文件的管控和分发能力。
综上,目前急需一种介质文件和执行脚本的分发方法,以使得服务端中的介质文件和执行脚本能够分发至客户端。
发明内容
有鉴于此,本申请提供了目标分发方法和系统,用于使自动化服务端中的待下载目标能够分发至自动化客户端,其技术方案如下:
一种目标分发方法,应用于自动化代理端,自动化代理端与下属自动化客户端处于同一网络区域,自动化代理端与自动化服务端处于不同网络区域;
目标分发方法,包括:
在接收到自动化客户端的目标下载请求时,根据目标下载请求从自动化服务端获取第一目标元数据信息,其中,目标下载请求用于请求下载待下载目标,第一目标元数据信息中包含待下载目标的字节数大小,待下载目标为执行脚本或介质文件;
根据第一目标元数据信息,确定本地是否已缓存待下载目标;
若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,其中,本地已缓存的待下载目标为预先从自动化服务端下载得到;
若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端。
可选的,还包括:
若本地未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则对待下载目标加锁,并从自动化服务端获取待下载目标;
比较获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致;
若获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则对待下载目标解锁,并将获取的待下载目标发送至自动化客户端;
若获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则判断当前重试次数是否达到预设重试次数,并在未达到预设重试次数时,将当前重试次数加1,返回执行从自动化服务端获取待下载目标,直至达到预设重试次数时结束,其中,初始的当前重试次数为1。
可选的,目标下载请求中包含待下载目标的唯一标识;
在在接收到自动化客户端的目标下载请求时,根据目标下载请求从自动化服务端获取第一目标元数据信息之前,还包括:
将自动化客户端发送的任务确认请求转发至自动化服务端,其中,任务确认请求用于确认自动化客户端是否存在待执行的自动化任务;
若接收到自动化服务端反馈的第二目标元数据信息,则将第二目标元数据信息发送至自动化客户端,以便自动化客户端基于第二目标元数据信息生成包含待下载目标的唯一标识的目标下载请求,其中,第二目标元数据信息中包含待下载目标的唯一标识。
可选的,第二目标元数据信息中还包含待下载目标的摘要值和字节数大小;
目标分发方法,还包括:
在接收到自动化客户端的目标重置请求时,根据目标重置请求从自动化服务端获取第三目标元数据信息,其中,目标重置请求为自动化客户端在比较接收的待下载目标的摘要值与第二目标元数据信息包含的摘要值不一致时,根据第二目标元数据信息包含的待下载目标的字节数大小生成的请求,目标重置请求中包含待下载目标的字节数大小;
根据第三目标元数据信息,从本地获取已缓存的待下载目标;
比较本地已缓存的待下载目标的字节数大小与目标重置请求中包含的字节数大小是否一致;
若是,则将本地已缓存的待下载目标删除。
可选的,还包括:
周期性的向自动化服务端发送预下载目标清单获取请求,并接收自动化服务端反馈的预下载目标清单,其中,预下载目标清单中包括自动化服务端根据自动化客户端与自动化代理端的对应关系,确定的未来设定时间内自动化客户端需要执行的自动化任务对应的第四目标元数据信息,第四目标元数据信息中包含自动化任务对应的预下载目标的字节数大小,自动化客户端与自动化代理端的对应关系由自动化服务端根据自动化代理端发送来的自动化客户端的周期心跳信息确定;
根据第四目标元数据信息,确定本地是否已缓存预下载目标;
若本地已缓存预下载目标,则比较预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小是否一致;
若本地未缓存预下载目标,或,预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小不一致,则从自动化服务端获取预下载目标,作为本地已缓存的预下载目标,并返回执行比较预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小是否一致,直至预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小一致时结束。
一种目标分发方法,应用于自动化客户端,自动化客户端与所属自动化代理端处于同一网络区域,自动化代理端与自动化服务端处于不同的网络区域;
目标分发方法,包括:
将目标下载请求发送至自动化代理端,以便自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息,并在基于第一目标元数据信息确定本地已缓存待下载目标,并且,本地已缓存的待下载目标的字节数大小与第一目标元数据信息包含的字节数大小一致时,将本地已缓存的待下载目标发送至自动化客户端,其中,目标下载请求用于请求下载待下载目标,第一目标元数据信息包含的字节数大小为待下载目标的字节数大小,待下载目标为执行脚本或介质文件,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到;
接收自动化代理端发送来的待下载目标。
可选的,目标下载请求由自动化客户端根据第二目标元数据信息得到,第二目标元数据信息为自动化服务端响应于自动化客户端的任务确认请求,通过自动化代理端反馈给自动化客户端的待下载目标的元数据信息,第二目标元数据信息中包含待下载目标的摘要值和字节数大小;
目标分发方法,还包括:
比较接收到的待下载目标的摘要值与第二目标元数据信息包含的摘要值是否一致;
若否,则删除待下载目标,并根据第二目标元数据信息包含的字节数大小,生成目标重置请求,其中,目标重置请求中包含待下载目标的字节数大小;
将目标重置请求发送至自动化代理端,以便自动化代理端根据目标重置请求从自动化服务端获取第三目标元数据信息,并根据第三目标元数据信息从本地获取已缓存的待下载目标,以及,在本地已缓存的待下载目标的字节数大小与目标重置请求中包含的字节数大小一致时,将本地已缓存的待下载目标删除。
一种目标分发方法,应用于自动化服务端,自动化服务端与自动化代理端处于不同网络区域,自动化代理端与下属自动化客户端处于同一网络区域;
目标分发方法,包括:
接收自动化代理端发送来的元数据获取请求,其中,元数据获取请求用于请求获取第一目标元数据信息,第一目标元数据信息中包含待下载目标的字节数大小,待下载目标为执行脚本或介质文件;
响应于元数据获取请求,将第一目标元数据信息发送至自动化代理端,以便自动化代理端基于第一目标元数据信息确定本地已缓存的待下载目标,并在比较待下载目标的字节数大小与第一目标元数据信息包含的待下载目标的字节数大小一致时,将待下载目标发送至自动化客户端,其中,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到。
可选的,还包括:
接收目标上传发起方发送的目标上传请求,其中,目标上传请求用于请求上传待上传目标;
基于目标上传请求,获取并存储待上传目标;
确定待上传目标的元数据信息,并将待上传目标的元数据信息存储至数据库。
一种目标分发系统,包括:自动化服务端、自动化代理端和下属自动化客户端,自动化客户端与自动化代理端处于同一网络区域,自动化代理端与自动化服务端处于不同网络区域;
自动化客户端,用于将目标下载请求发送至自动化代理端,其中,目标下载请求用于请求下载待下载目标,待下载目标为执行脚本或介质文件;
自动化代理端,用于在接收到自动化客户端的目标下载请求时,将元数据获取请求发送至自动化服务端,其中,元数据获取请求用于请求获取第一目标元数据信息,第一目标元数据信息中包含待下载目标的字节数大小;
自动化服务端,用于响应于元数据获取请求,将第一目标元数据信息发送至自动化代理端;
自动化代理端,还用于根据第一目标元数据信息,确定本地是否已缓存待下载目标,若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端,其中,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到。
经由上述的技术方案可知,本申请提供的应用于自动化代理端的目标分发方法,首先在接收到自动化客户端的目标下载请求时,根据目标下载请求从自动化服务端获取第一目标元数据信息,然后根据第一目标元数据信息,确定本地是否已缓存待下载目标,若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端,其中,自动化代理端本地已缓存的待下载目标为预先从自动化服务端下载得到。可见,本申请能够使自动化服务端中的待下载目标分发至自动化客户端。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种目标分发方法的流程示意图;
图2为本申请实施例提供的另一种目标分发方法的流程示意图;
图3为本申请实施例提供的错误待下载目标的重置过程示意图;
图4为本申请实施例提供的预下载目标下载的过程示意图;
图5为本申请实施例提供的待上传目标上传的过程示意图;
图6为本申请实施例提供的应用于自动化代理端的目标分发装置的结构示意图;
图7为本申请实施例提供的应用于自动化客户端的目标分发装置的结构示意图;
图8为本申请实施例提供的应用于自动化服务端的目标分发装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本案发明人在对现有技术进行了深入研究后发现,企业网络中,不同网络区域间存在安全隔离,访问上不允许同一个源访问所有网络目标,但在同一个安全级别的网络中允许不同源访问同一个网络目标,这就决定了自动化任务的请求需要由客户端发起,服务端被动监听,介质文件和执行脚本的分发需要支持跨网络可达客户端的分发能力。基于此,本案发明人想到,可以设计一个自动化客户端、自动化代理端和自动化服务端三层架构的自动化的目标分发系统,在该目标分发系统中,自动化代理端与下属的自动化客户端处于同一网络,由自动化代理端(即网络目标)作为自动化客户端与自动化服务端交互的桥梁,从而即使自动化客户端包括多个客户端(即多个源),该多个客户端仅需要将交互数据发送至自动化代理端(即同一个安全级别的网络中允许不同源访问同一个网络目标),然后再由自动化代理端与自动化服务端(即一个源)交互(即不同网络区域间同一个源访问一个网络目标),基于该目标分发系统,就能使得自动化服务端的介质文件和执行脚本能够跨网络、高并发的分发至自动化客户端包含的所有客户端。
基于此,本申请实施例提供了目标分发方法和目标分发系统。接下来首先通过下述实施例对本申请提供的目标分发方法进行详细介绍。
请参阅图1,示出了本申请实施例提供的一种目标分发方法的流程示意图,该目标分发方法可以包括:
步骤S101、自动化客户端将目标下载请求发送至所属自动化代理端。
其中,目标下载请求用于请求下载待下载目标,待下载目标为执行脚本或介质文件。该待下载目标是指自动化客户端当前需要下载的目标。
这里,自动化客户端包括至少一个客户端,自动化客户端与所属自动化代理端处于同一网络区域。本申请中,自动化客户端对应有自动化客户端程序,该自动化客户端程序用于提供自动化任务请求、处理、结果上送、心跳包上送等服务,自动化代理端对应有自动化代理程序,该自动化代理程序为代理层程序,负责接收自动化客户端的任务请求、目标获取等任务并转发自动化服务端的数据。
在本步骤中,自动化客户端包含的任一客户端若需要下载待下载目标,可生成目标下载请求,并将目标下载请求发送至其所属的自动化代理端,以便后续步骤中自动化代理端基于该目标下载请求向自动化服务端获取第一目标元数据信息。
在一可选实施例中,自动化客户端生成的目标下载请求中包含待下载目标的唯一标识。那么,自动化客户端需要知道待下载目标的唯一标识,才可基于该待下载目标的唯一标识生成目标下载请求,基于此,可选的,在本步骤执行之前,自动化客户端需要通过自动化代理端向自动化服务端发送任务确认请求(可选的,可周期性的发送任务确认请求),以确认自动化客户端是否存在待执行的自动化任务,若自动化服务端确定自动化客户端存在待执行的任务,可通过自动化代理端向自动化客户端反馈第二目标元数据信息(该第二目标元数据信息为待下载目标对应的元数据信息),当自动化客户端接收到第二目标元数据信息时,可基于第二目标元数据信息确认待执行的自动化任务使用的待下载目标为待下载的介质文件还是待下载的执行脚本,进而基于待下载的介质文件的唯一标识,或者,待下载的执行脚本的唯一标识,生成包含该唯一标识的目标下载请求。可选的,上述自动化服务端在通过自动化代理端反馈第二目标元数据信息的过程具体可以包括:自动化服务端在通过自动化代理端反馈任务确认结果,该任务确认结果中包含第二目标元数据信息。这里,第二目标元数据信息中包含待下载目标的唯一标识。
例如,自动化客户端包含的任一客户端将任务确认请求通过自动化代理端发送至自动化服务端,自动化服务端再将任务确认结果通过自动化代理端反馈给该客户端,假设任务确认结果中第二目标元数据信息包含的待下载目标的唯一标识为介质key,则在本步骤中,该客户端可基于介质key生成介质下载请求并发送至自动化代理端。
步骤S102、自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息。
其中,第一目标元数据信息为待下载目标对应的元数据信息,第一目标元数据信息中包含待下载目标的字节数大小。
这里,自动化代理端与自动化服务端处于不同网络区域。本申请中,自动化服务端对应有自动化服务端程序,该自动化服务端程序用于提供自动化任务下发、结果接收、客户端心跳包接收等请求处理服务。
在本步骤中,自动化代理端可接收下属自动化客户端发送来的目标下载请求,基于该目标下载请求可向自动化服务端获取第一目标元数据信息。可以理解的是,第一目标元数据信息为自动化服务端发送至自动化代理端的待下载目标对应的元数据信息,第二目标元数据信息为自动化服务端通过自动化代理端发送至自动化客户端的待下载目标对应的元数据信息,因此,通常情况下,第一目标元数据信息和第二目标元数据信息相同,当然,在一些异常情况下(例如自动化服务端发送了错误的元数据信息),第一目标元数据信息和第二目标元数据信息可能不同。
可选的,本步骤“自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息”的过程具体可以包括:自动化代理端向自动化服务端发送元数据获取请求,自动化服务端响应于元数据获取请求,将第一目标元数据信息发送至自动化代理端。这里,元数据获取请求用于请求获取第一目标元数据信息。
可选的,若目标下载请求中包含待下载目标的唯一标识,则本步骤“自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息”的过程可以包括:自动化代理端根据目标下载请求包含的待下载目标的唯一标识,从自动化服务端获取该唯一标识对应的第一目标元数据信息,例如待下载目标为介质文件,待下载目标的唯一标识为介质key,则本步骤可根据介质key向自动化服务端获取介质key对应的第一目标元数据信息。
可选的,本申请实施例中,自动化服务端上部署有自动化目标管理程序,该自动化目标管理程序可提供自动化任务使用的目标相关服务,则本步骤“自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息”的过程可以包括:根据目标下载请求向自动化目标管理程序获取第一目标元数据信息。例如,待下载目标为介质文件,自动化目标管理程序为自动化介质管理程序,则本步骤可根据目标下载请求向自动化介质管理程序获取第一目标元数据信息。
在本步骤中,上述第一目标元数据信息中包含待下载目标的字节数大小,可选的,第一目标元数据信息还可以包括:待下载目标的摘要值(例如,MD5校验码)、待下载目标的唯一标识(例如,待下载目标的key)、待下载目标的存储相对路径、待下载目标的名称等信息。当然,第一目标元数据信息还可以包括其他信息,本申请对此不进行限定,同理,本申请提供的第二目标元数据信息、第三目标元数据信息(参见后续本申请实施例)和第四目标元数据信息(参见后续本申请实施例)包含的信息可参照第一目标元数据。
步骤S103、自动化代理端根据第一目标元数据信息,确定本地是否已缓存待下载目标。
在本步骤中,自动化代理端可预先从自动化服务端下载未来设定时间内下属自动化客户端可能需要使用的待下载目标,以节省下载时间。基于此,自动化代理端在接收到第一目标元数据信息后,可根据第一目标元数据信息,确定本地是否已缓存待下载目标。
若本地已缓存待下载目标,则执行下述步骤S104。
步骤S104、若自动化代理端确定本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致。
这里,第一目标元数据包含的字节数大小是指第一目标元数据包含的待下载目标的字节数大小。
本领域技术人员应该理解,待下载目标可能会更新版本,为了尽量不向自动化客户端发送错误版本的待下载目标,自动化代理端可在向自动化客户端发送待下载目标之前,先比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,若一致,表征本地已缓存的待下载目标可能为正确版本,反之,若不一致,表征本地已缓存的待下载目标必然为错误版本。在本步骤中,若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则执行下述步骤S105。
步骤S105、若自动化代理端确定本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端。
具体的,自动化代理端可在本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致的情况下,直接将本地已缓存的待下载目标发送至自动化客户端包含的对应客户端。这样操作可节省自动化代理端向自动化服务端获取待下载目标的时间,提高了待下载目标的下载效率。
综上,本申请实施例提供的自动化介质分发方法,无需采购商业版自动化工具,即可使自动化服务端中的执行脚本和介质文件能够跨网络、高并发的分发至自动化客户端包含的各客户端,例如,若自动化客户端包括客户端1~5,客户端1~3均向自动化代理端发送包含同一介质key的介质下载请求,且自动化代理端已预先从自动化服务端下载该介质key对应的介质文件,则经由上述步骤S101~步骤S105,自动化代理端可将该介质key对应的介质文件发送至客户端1~3。本申请实施例提供的自动化介质分发方法符合企业网络的安全设计要求,能够为企业所使用,可有效提高待下载目标的分发效率和并发能力。
可以理解的是,可能存在自动化代理端未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致的情况,针对这两种情况,本申请还提供了以下实施例。
参见图2,示出了本申请实施例提供的另一种目标分发方法的流程示意图,可选的,本申请实施例还可以包括以下步骤S106~步骤S109:
步骤S106、若自动化代理端确定本地未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则对待下载目标加锁,并从自动化服务端获取待下载目标。
考虑到自动化代理端与部署在自动化服务端的自动化目标管理程序之间一般会有防火墙控制,如果有大流量会导致防火墙负载变大,影响业务稳定,增加风险。为了精简穿越防火墙的流量,降低产生业务风险的概率,可在自动化代理端确定本地未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致时,对待下载目标加锁,以控制同一个待下载目标同时只有一个线程向部署在自动化服务端的自动化目标管理程序下载待下载目标(该待下载目标对应的其他目标下载请求),即,若同一时间内自动化代理端接收到大量下属客户端发送的目标下载请求(用于请求下载同一待下载目标会按一定周期等待重试),而此时自动化代理端本地未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则在对待下载目标加锁后,仅通过一个线程从自动化客户端下载该同一待下载目标即可。
可选的,本步骤对待下载目标加锁具体可以为对待下载目标的唯一标识加锁,例如,待下载目标为介质文件,则本步骤可在代理层程序内存中对介质key加锁,以控制同一个介质key同时只有一个线程向部署在自动化服务端的自动化介质管理程序下载介质key对应的介质文件。
步骤S107、自动化代理端比较获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致。
在本步骤中,在自动化代理端从自动化服务端获取待下载目标后,可再次对获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小进行比较,以确定获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,若一致,表征获取的待下载目标可能为正确版本,反之,若不一致,表征获取的待下载目标必然为错误版本。。
步骤S108、若自动化代理端确定获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则对待下载目标解锁,并将获取的待下载目标发送至自动化客户端。
可选的,本步骤“对待下载目标解锁”具体可以为:对待下载目标的唯一标识解锁。
步骤S109、若自动化代理端确定获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则判断当前重试次数是否达到预设重试次数,并在未达到预设重试次数时,将当前重试次数加1,返回执行从自动化服务端获取待下载目标,直至达到预设重试次数时结束,其中,初始的当前重试次数为1。
本步骤可在自动化代理端确定获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,且当前重试次数未达到预设重试次数时,重新从自动化服务端获取待下载目标,并执行步骤S107~步骤S109,直至当前重试次数未达到预设重试次数时结束。
可选的,若达到预设重试次数时,获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小仍然不一致,则向自动化客户端反馈下载失败的指示信息。
可选的,预设重试次数可为3,当然,预设重试次数也可以为其他值,本申请对此不进行限定。
以预设重试次数为3,待下载目标为介质文件为例进行举例说明。初始的当前重试次数为1,执行步骤S106~步骤S107,若步骤S107的比较结果为获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则步骤S109将当前重试次数变为2,并重新执行步骤S106~步骤S107,若此时步骤S107的比较结果仍为获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则步骤S109将当前重试次数变为3,并重新执行步骤S106~步骤S107,若步骤S107的比较结果仍为获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致,则结束执行,并向自动化客户端反馈下载失败的指示信息;若上述任一次执行步骤S106~步骤S107时,步骤S107的比较结果为获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则对待下载目标解锁,并将获取的待下载目标发送至自动化客户端。
本申请实施例提供的自动化介质分发方法,可在自动化代理端本地未缓存待下载目标,或者,本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小不一致(即缓存的为错误版本的待下载目标)时,重新从自动化服务端获取待下载目标,并在获取的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致时,再将获取的待下载目标发送至自动化客户端。由此可见,本申请实施例能使自动化服务端中的执行脚本和介质文件跨网络、高并发的分发至自动化客户端包含的各客户端。
在一可选实施例中,考虑到自动化代理端可能会将错误版本的待下载目标发送至自动化客户端,为了确保自动化客户端下载到正确版本的待下载目标,自动化客户端可对自动化代理端发送的待下载目标进行校验,并在校验发现自动化代理端发送的待下载目标为错误版本时,删除该待下载目标并通知自动化代理端下载到错误的待下载目标。
参见图3所示,为本申请实施例提供的错误待下载目标的重置过程示意图。可选的,上述步骤S101提供的第二目标元数据信息中还可以包含待下载目标的摘要值和字节数大小,基于此,本申请实施例还可以包括以下步骤S301~步骤S307:
步骤S301、自动化客户端比较接收到的待下载目标的摘要值与第二目标元数据信息包含的摘要值是否一致。
这里,第二目标元数据信息包含的摘要值是指第二目标元数据信息包含的待下载目标的摘要值,例如MD5校验码。
自动化客户端接收到的待下载目标即自动化代理端发送至自动化客户端的待下载目标,在本步骤中,可比较该待下载目标的摘要值与第二目标元数据信息包含的摘要值是否一致,若一致,表征该待下载目标为正确版本,此时表征下载成功,若不一致,表征该待下载目标为错误版本,即待下载目标下载错误。
步骤S302、若自动化客户端确定接收到的待下载目标的摘要值与第二目标元数据信息包含的摘要值不一致,则删除待下载目标,并根据第二目标元数据信息包含的字节数大小,生成目标重置请求。
在本步骤中,若自动化客户端确定接收到的待下载目标的摘要值与第二目标元数据信息包含的摘要值不一致,即自动化客户端下载到错误的待下载目标,则可删除该错误的待下载目标,并根据第二目标元数据信息包含的待下载目标的字节数大小,生成目标重置请求。这里,该目标重置请求中包含待下载目标的字节数大小。
可选的,第二目标元数据信息中还可以包含待下载目标的唯一标识,则本步骤“根据第二目标元数据信息包含的待下载目标的字节数大小,生成目标重置请求”的过程具体可以包括:根据第二目标元数据信息包含的待下载目标的字节数大小和唯一标识,生成包含待下载目标的字节数大小和唯一标识的目标重置请求。
步骤S303、自动化客户端将目标重置请求发送至自动化代理端。
步骤S304、自动化代理端根据目标重置请求从自动化服务端获取第三目标元数据信息。
可选的,若目标重置请求中包含待下载目标的唯一标识,则本步骤中,自动化代理端可向部署在自动化服务端的自动化目标管理程序获取该待下载目标的唯一标识对应的第三目标元数据信息。
步骤S305、自动化代理端根据第三目标元数据信息,从本地获取已缓存的待下载目标。
值得注意的是,本步骤存在的前提条件之一为:自动化代理端将待下载目标发送至自动化客户端,因此,自动化代理端必然已在本地缓存待下载目标。
步骤S306、自动化代理端比较本地已缓存的待下载目标的字节数大小与目标重置请求包含的字节数大小是否一致。
这里,目标重置请求中包含的字节数大小是指第二目标元数据信息中包含的待下载目标的字节数大小。
步骤S307、若自动化代理端确定本地已缓存的待下载目标的字节数大小与目标重置请求包含的字节数大小一致,则将本地已缓存的待下载目标删除。
在本步骤中,若本地已缓存的待下载目标的字节数大小与目标重置请求包含的字节数大小一致,表征本地已缓存的待下载目标为错误版本,因此,自动化代理端可将本地已缓存的待下载目标删除。此后,可等待下一次自动化客户端重新发送目标下载请求,届时自动化代理端将会从自动化介质管理程序重新获取一份最新的待下载目标并完成下发。
可选的,在自动化代理端将本地已缓存的待下载目标删除后,还可以向自动化客户端反馈重置成功的指示信息。
综上,本申请实施例提供的目标分发方法,可通过自动化客户端对自动化代理端发送来的待下载目标进行校验,若校验未通过,则向自动化代理端发送将目标重置请求,从而自动化代理端在校验本地已缓存的待下载目标的字节数大小与目标重置请求中包含的字节数大小一致时,将本地已缓存的待下载目标删除。经由本申请实施例,可使得自动化代理端和自动化客户端获得正确的待下载目标。
前述(步骤S103)已经说明了,“自动化代理端可预先从自动化服务端下载未来设定时间内下属自动化客户端可能需要使用的待下载目标,以节省下载时间”,基于此,本申请实施例对自动化代理端预下载目标的过程进行说明。
参见图4所示,为本申请实施例提供的预下载目标下载的过程示意图。可选的,该过程可以包括:
步骤S401、自动化客户端周期性的向自动化代理端发送周期心跳信息。
例如,可选的,每隔5秒向自动化代理端发送一次表征自动化客户端存货的周期心跳信息(可选的,以请求方式发送周期心跳信息),这里,周期心跳信息中可以包括自动化客户端的IP、系统代码等信息。
步骤S402、自动化代理端将自动化客户端的周期心跳信息转发至自动化服务端。
在本步骤中,自动化代理端将自动化客户端的周期心跳信息转发至自动化服务端后,自动化服务端即可得到自动化客户端与自动化代理端的对应关系。
步骤S403、自动化代理端周期性的向自动化服务端发送预下载目标清单获取请求。
即,自动化代理端可周期性的向自动化服务端请求本代理节点需要预下载目标的清单。
步骤S404、自动化服务端响应于预下载目标清单获取请求,将预下载目标清单反馈给自动化代理端。
其中,下载目标清单中包括自动化服务端根据自动化客户端与自动化代理端的对应关系,确定的未来设定时间内自动化客户端需要执行的自动化任务对应的第四目标元数据信息,第四目标元数据信息中包含自动化任务对应的预下载目标的字节数大小。这里,自动化任务对应的预下载目标是指自动化任务使用的需要预下载的目标。
具体来说,在本步骤中,自动化服务端可根据自动化客户端与自动化代理端的对应关系,确定自动化代理端下属的自动化客户端在未来设定时间内是否有自动化任务,若有自动化任务,并且,有预下载目标下载任务,则将预下载目标对应的第四目标元数据信息所在的预下载目标清单反馈给自动化代理端。
可选的,未来设定时间可为未来半小时,当然也可以为其他时间,本申请对此不进行限定。
步骤S405、自动化代理端根据第四目标元数据信息,确定本地是否已缓存预下载目标。
步骤S406、若自动化代理端确定本地已缓存预下载目标,则比较预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小是否一致。
这里,预下载目标清单包含的字节数大小是指第四目标元数据信息中包含自动化任务对应的预下载目标的字节数大小。
在本步骤中,若自动化代理端确定本地已缓存预下载目标,并且,预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小一致,表征自动化代理端已缓存可能正确的预下载目标,此时可结束处理步骤,若预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小不一致,表征自动化代理端已缓存预下载目标必然为错误版本。
步骤S407、若本地未缓存预下载目标,或,预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小不一致,则从自动化服务端获取预下载目标,作为本地已缓存的预下载目标,并返回执行比较预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小是否一致,直至预下载目标清单包含的字节数大小与本地已缓存的预下载目标的字节数大小一致时结束。
在本步骤中,可在结束时,将从自动化服务端获取的最新的预下载目标存放在自动化代理程序本地存储空间。
综上,本申请实施例提供的目标分发方法,自动化代理端可预先从自动化服务端下载预下载目标,从而可有效提高自动化任务执行时待下载目标的分发效率。
前述各个实施例均在对目标(即执行脚本和介文件)由自动化服务端下载至自动化客户端的过程进行介绍,以下实施例对目标由目标上传发起方上传至自动化服务端的过程进行详细说明。
参见图5所示,为本申请实施例提供的待上传目标上传的过程示意图。可选的,目标由目标上传发起方上传至自动化服务端的过程可以包括:
步骤S501、自动化服务端接收目标上传发起方发送的目标上传请求。
这里,目标上传发起方可以为管理平台页面端,或者,对接的其他系统。
上述目标上传请求用于请求上传待上传目标。可选的,目标上传请求的参数可以包括:待上传目标的文件名、存储相对路径、系统序号、应用序号、文件流信息等信息。
步骤S502、自动化服务端基于目标上传请求,获取并存储待上传目标。
前述已经说明了,自动化服务端上部署有自动化目标管理程序,可选的,该自动化服务端上还部署有对象存储应用程序,该对象存储应用程序是指对象存储的应用服务网关接口,用于接收目标的上传下载处理。可选的,该自动化服务端上还部署有自动化任务发布程序,该自动化任务发布程序是指提供查询的接口,获取已配置为可发布的自动化任务信息。
在本步骤中,部署在自动化服务端上的自动化目标管理程序可基于目标上传请求,获取待上传目标,并将待上传目标存储至对象存储应用程序。
步骤S503、自动化服务端确定待上传目标的元数据信息,并将待上传目标的元数据信息存储至数据库。
具体来说,部署在自动化服务端上的自动化目标管理程序可计算待上传目标的摘要值和字节数大小,并在将待上传目标成功发送至对象存储应用程序后得到该待上传目标的唯一标识,然后再将该待上传目标的唯一标识、摘要值、字节数大小以及上述目标上传请求的参数共同作为待上传目标的元数据信息,一并存储至数据库。
本申请实施例还提供了一种目标分发系统,该目标分发系统包括自动化服务端、自动化代理端和自动化代理端的下属自动化客户端,自动化客户端与自动化代理端处于同一网络区域,自动化代理端与自动化服务端处于不同网络区域。
这里,自动化客户端,可以用于将目标下载请求发送至自动化代理端,其中,目标下载请求用于请求下载待下载目标,待下载目标为执行脚本或介质文件。
自动化代理端,可以用于在接收到自动化客户端的目标下载请求时,将元数据获取请求发送至自动化服务端,其中,元数据获取请求用于请求获取第一目标元数据信息,第一目标元数据信息中包含待下载目标的字节数大小。
自动化服务端,可以用于响应于元数据获取请求,将第一目标元数据信息发送至自动化代理端。
自动化代理端,还可以用于根据第一目标元数据信息,确定本地是否已缓存待下载目标,若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端,其中,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到。
本申请实施例提供的目标分发系统与上述目标分发方法可相互对应参照,上述自动化服务端、自动化代理端和自动化客户端的具体实现逻辑可以参照前述目标分发方法部分的相关介绍,此处不再赘述。
本申请实施例还提供了一种应用于自动化代理端的目标分发装置,下面对本申请实施例提供的应用于自动化代理端的目标分发装置进行描述,下文描述的应用于自动化代理端的目标分发装置与上文描述的目标分发方法可相互对应参照。
请参阅图6,示出了本申请实施例提供的应用于自动化代理端的目标分发装置的结构示意图,如图6所示,该应用于自动化代理端的目标分发装置可以包括:第一目标元数据信息获取模块601、待下载目标缓存确定模块602、字节数大小比较模块603和待下载目标分发模块604。
第一目标元数据信息获取模块601,用于在接收到自动化客户端的目标下载请求时,根据目标下载请求从自动化服务端获取第一目标元数据信息,其中,目标下载请求用于请求下载待下载目标,第一目标元数据信息中包含待下载目标的字节数大小,待下载目标为执行脚本或介质文件。
待下载目标缓存确定模块602,用于根据第一目标元数据信息,确定本地是否已缓存待下载目标。
字节数大小比较模块603,用于若本地已缓存待下载目标,则比较本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小是否一致,其中,本地已缓存的待下载目标为预先从自动化服务端下载得到。
待下载目标分发模块604,用于若本地已缓存的待下载目标的字节数大小与第一目标元数据包含的字节数大小一致,则将本地已缓存的待下载目标发送至自动化客户端。
本申请实施例还提供了一种应用于自动化客户端的目标分发装置,下面对本申请实施例提供的应用于自动化客户端的目标分发装置进行描述,下文描述的应用于自动化客户端的目标分发装置与上文描述的目标分发方法可相互对应参照。
请参阅图7,示出了本申请实施例提供的应用于自动化客户端的目标分发装置的结构示意图,如图7所示,该应用于自动化客户端的目标分发装置可以包括:目标下载请求发送模块701和待下载目标接收模块702。
目标下载请求发送模块701,用于将目标下载请求发送至自动化代理端,以便自动化代理端根据目标下载请求从自动化服务端获取第一目标元数据信息,并在基于第一目标元数据信息确定本地已缓存待下载目标,并且,本地已缓存的待下载目标的字节数大小与第一目标元数据信息包含的字节数大小一致时,将本地已缓存的待下载目标发送至自动化客户端,其中,目标下载请求用于请求下载待下载目标,第一目标元数据信息包含的字节数大小为待下载目标的字节数大小,待下载目标为执行脚本或介质文件,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到。
待下载目标接收模块702,用于接收自动化代理端发送来的待下载目标。
本申请实施例还提供了一种应用于自动化服务端的目标分发装置,下面对本申请实施例提供的应用于自动化服务端的目标分发装置进行描述,下文描述的应用于自动化服务端的目标分发装置与上文描述的目标分发方法可相互对应参照。
请参阅图8,示出了本申请实施例提供的应用于自动化服务端的目标分发装置的结构示意图,如图8所示,该应用于自动化服务端的目标分发装置可以包括:元数据获取请求接收模块801和第一目标元数据信息发送模块802。
元数据获取请求接收模块801,用于接收自动化代理端发送来的元数据获取请求,其中,元数据获取请求用于请求获取第一目标元数据信息,第一目标元数据信息中包含待下载目标的字节数大小,待下载目标为执行脚本或介质文件。
第一目标元数据信息发送模块802,用于响应于元数据获取请求,将第一目标元数据信息发送至自动化代理端,以便自动化代理端基于第一目标元数据信息确定本地已缓存的待下载目标,并在比较待下载目标的字节数大小与第一目标元数据信息包含的待下载目标的字节数大小一致时,将待下载目标发送至自动化客户端,其中,本地已缓存的待下载目标由自动化代理端预先从自动化服务端下载得到。
本申请实施例提供的上述目标分发装置与上述目标分发方法可相互对应参照,详细可参照前述目标分发方法部分的相关介绍,此处不再赘述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述自动化代理端在目标分发方法中的各个处理流程,或,实现前述自动化服务端在目标分发方法中的各个处理流程,或,实现前述自动化客户端在目标分发方法中的各个处理流程。
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种目标分发方法,其特征在于,应用于自动化代理端,所述自动化代理端与下属自动化客户端处于同一网络区域,所述自动化代理端与自动化服务端处于不同网络区域;
所述目标分发方法,包括:
在接收到所述自动化客户端的目标下载请求时,根据所述目标下载请求从所述自动化服务端获取第一目标元数据信息,其中,所述目标下载请求用于请求下载待下载目标,所述第一目标元数据信息中包含所述待下载目标的字节数大小,所述待下载目标为执行脚本或介质文件;
根据所述第一目标元数据信息,确定本地是否已缓存所述待下载目标;
若本地已缓存所述待下载目标,则比较本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小是否一致,其中,所述本地已缓存的所述待下载目标为预先从所述自动化服务端下载得到;
若所述本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小一致,则将所述本地已缓存的所述待下载目标发送至所述自动化客户端;
若本地未缓存所述待下载目标,或者,所述本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小不一致,则对所述待下载目标加锁,并从所述自动化服务端获取所述待下载目标;
比较获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小是否一致;
若所述获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小一致,则对所述待下载目标解锁,并将所述获取的所述待下载目标发送至所述自动化客户端;
若所述获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小不一致,则判断当前重试次数是否达到预设重试次数,并在未达到所述预设重试次数时,将所述当前重试次数加1,返回执行所述从所述自动化服务端获取所述待下载目标,直至达到所述预设重试次数时结束,其中,初始的所述当前重试次数为1。
2.根据权利要求1所述的目标分发方法,其特征在于,所述目标下载请求中包含所述待下载目标的唯一标识;
在所述在接收到所述自动化客户端的目标下载请求时,根据所述目标下载请求从自动化服务端获取第一目标元数据信息之前,还包括:
将所述自动化客户端发送的任务确认请求转发至所述自动化服务端,其中,所述任务确认请求用于确认所述自动化客户端是否存在待执行的自动化任务;
若接收到所述自动化服务端反馈的第二目标元数据信息,则将所述第二目标元数据信息发送至所述自动化客户端,以便所述自动化客户端基于所述第二目标元数据信息生成包含所述待下载目标的唯一标识的所述目标下载请求,其中,所述第二目标元数据信息中包含所述待下载目标的唯一标识。
3.根据权利要求2所述的目标分发方法,其特征在于,所述第二目标元数据信息中还包含所述待下载目标的摘要值和字节数大小;
所述目标分发方法,还包括:
在接收到所述自动化客户端的目标重置请求时,根据所述目标重置请求从所述自动化服务端获取第三目标元数据信息,其中,所述目标重置请求为所述自动化客户端在比较接收的所述待下载目标的摘要值与所述第二目标元数据信息包含的摘要值不一致时,根据所述第二目标元数据信息包含的所述待下载目标的字节数大小生成的请求,所述目标重置请求中包含所述待下载目标的字节数大小;
根据所述第三目标元数据信息,从本地获取已缓存的所述待下载目标;
比较本地已缓存的所述待下载目标的字节数大小与所述目标重置请求中包含的字节数大小是否一致;
若是,则将本地已缓存的所述待下载目标删除。
4.根据权利要求3所述的目标分发方法,其特征在于,还包括:
周期性的向所述自动化服务端发送预下载目标清单获取请求,并接收所述自动化服务端反馈的预下载目标清单,其中,所述预下载目标清单中包括所述自动化服务端根据所述自动化客户端与所述自动化代理端的对应关系,确定的未来设定时间内所述自动化客户端需要执行的自动化任务对应的第四目标元数据信息,所述第四目标元数据信息中包含所述自动化任务对应的预下载目标的字节数大小,所述自动化客户端与所述自动化代理端的对应关系由所述自动化服务端根据所述自动化代理端发送来的所述自动化客户端的周期心跳信息确定;
根据所述第四目标元数据信息,确定本地是否已缓存所述预下载目标;
若本地已缓存所述预下载目标,则比较所述预下载目标清单包含的字节数大小与本地已缓存的所述预下载目标的字节数大小是否一致;
若本地未缓存所述预下载目标,或,所述预下载目标清单包含的字节数大小与本地已缓存的所述预下载目标的字节数大小不一致,则从所述自动化服务端获取所述预下载目标,作为本地已缓存的所述预下载目标,并返回执行所述比较所述预下载目标清单包含的字节数大小与本地已缓存的所述预下载目标的字节数大小是否一致,直至所述预下载目标清单包含的字节数大小与本地已缓存的所述预下载目标的字节数大小一致时结束。
5.一种目标分发方法,其特征在于,应用于自动化客户端,所述自动化客户端与所属自动化代理端处于同一网络区域,所述自动化代理端与自动化服务端处于不同的网络区域;
所述目标分发方法,包括:
将目标下载请求发送至所述自动化代理端,以便所述自动化代理端根据所述目标下载请求从所述自动化服务端获取第一目标元数据信息,并在基于所述第一目标元数据信息确定本地已缓存待下载目标,并且,本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据信息包含的字节数大小一致时,将本地已缓存的所述待下载目标发送至所述自动化客户端,其中,所述目标下载请求用于请求下载所述待下载目标,所述第一目标元数据信息包含的字节数大小为所述待下载目标的字节数大小,所述待下载目标为执行脚本或介质文件,所述本地已缓存的所述待下载目标由所述自动化代理端预先从所述自动化服务端下载得到;
接收所述自动化代理端发送来的所述待下载目标;
所述目标下载请求由所述自动化客户端根据第二目标元数据信息得到,所述第二目标元数据信息为所述自动化服务端响应于所述自动化客户端的任务确认请求,通过所述自动化代理端反馈给所述自动化客户端的所述待下载目标的元数据信息,所述第二目标元数据信息中包含所述待下载目标的摘要值和字节数大小;
所述目标分发方法,还包括:
比较接收到的所述待下载目标的摘要值与第二目标元数据信息包含的摘要值是否一致;
若否,则删除所述待下载目标,并根据所述第二目标元数据信息包含的字节数大小,生成目标重置请求,其中,所述目标重置请求中包含所述待下载目标的字节数大小;
将所述目标重置请求发送至所述自动化代理端,以便所述自动化代理端根据所述目标重置请求从所述自动化服务端获取第三目标元数据信息,并根据所述第三目标元数据信息从本地获取已缓存的所述待下载目标,以及,在本地已缓存的所述待下载目标的字节数大小与所述目标重置请求中包含的字节数大小一致时,将本地已缓存的所述待下载目标删除。
6.一种目标分发系统,其特征在于,包括:自动化服务端、自动化代理端和下属自动化客户端,所述自动化客户端与所述自动化代理端处于同一网络区域,所述自动化代理端与所述自动化服务端处于不同网络区域;
所述自动化客户端,用于将目标下载请求发送至所述自动化代理端,其中,所述目标下载请求用于请求下载待下载目标,所述待下载目标为执行脚本或介质文件;
所述自动化代理端,用于在接收到所述自动化客户端的目标下载请求时,将元数据获取请求发送至所述自动化服务端,其中,所述元数据获取请求用于请求获取第一目标元数据信息,所述第一目标元数据信息中包含所述待下载目标的字节数大小;
所述自动化服务端,用于响应于所述元数据获取请求,将所述第一目标元数据信息发送至所述自动化代理端;
所述自动化代理端,还用于根据所述第一目标元数据信息,确定本地是否已缓存所述待下载目标,若本地已缓存所述待下载目标,则比较本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小是否一致,若所述本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小一致,则将本地已缓存的所述待下载目标发送至所述自动化客户端,其中,所述本地已缓存的所述待下载目标由所述自动化代理端预先从所述自动化服务端下载得到;
所述自动化代理端,还用于若所述本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小一致,则将所述本地已缓存的所述待下载目标发送至所述自动化客户端;
若本地未缓存所述待下载目标,或者,所述本地已缓存的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小不一致,则对所述待下载目标加锁,并从所述自动化服务端获取所述待下载目标;
比较获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小是否一致;
若所述获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小一致,则对所述待下载目标解锁,并将所述获取的所述待下载目标发送至所述自动化客户端;
若所述获取的所述待下载目标的字节数大小与所述第一目标元数据包含的字节数大小不一致,则判断当前重试次数是否达到预设重试次数,并在未达到所述预设重试次数时,将所述当前重试次数加1,返回执行所述从所述自动化服务端获取所述待下载目标,直至达到所述预设重试次数时结束,其中,初始的所述当前重试次数为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138032.2A CN114513501B (zh) | 2022-02-15 | 2022-02-15 | 目标分发方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138032.2A CN114513501B (zh) | 2022-02-15 | 2022-02-15 | 目标分发方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513501A CN114513501A (zh) | 2022-05-17 |
CN114513501B true CN114513501B (zh) | 2024-03-22 |
Family
ID=81551564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138032.2A Active CN114513501B (zh) | 2022-02-15 | 2022-02-15 | 目标分发方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513501B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3477910A1 (en) * | 2016-08-02 | 2019-05-01 | Wangsu Science & Technology Co., Ltd. | Acceleration method, device, and system for p2p data |
CN110851465A (zh) * | 2019-11-15 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 数据查询方法及系统 |
CN111416863A (zh) * | 2020-03-20 | 2020-07-14 | 上海圣剑网络科技股份有限公司 | 基于客户端的多元化下载管理方法、终端及介质 |
CN111614729A (zh) * | 2020-04-28 | 2020-09-01 | 北京金山云网络技术有限公司 | 对kubernetes容器集群的控制方法、装置及电子设备 |
CN111708743A (zh) * | 2020-05-28 | 2020-09-25 | 浪潮电子信息产业股份有限公司 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
CN111770172A (zh) * | 2020-06-29 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 消息中间件消费代理方法、装置、代理服务器及存储介质 |
WO2021051570A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于分布式集群的数据存储方法、及其相关设备 |
CN113364887A (zh) * | 2021-06-30 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种基于ftp的文件下载方法、代理服务器和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898520B2 (en) * | 2014-03-25 | 2018-02-20 | Open Text Sa Ulc | Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents |
US11122110B2 (en) * | 2019-06-11 | 2021-09-14 | Advanced New Technologies Co., Ltd. | Blockchain-based file processing method, apparatus, and device, and storage medium |
-
2022
- 2022-02-15 CN CN202210138032.2A patent/CN114513501B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3477910A1 (en) * | 2016-08-02 | 2019-05-01 | Wangsu Science & Technology Co., Ltd. | Acceleration method, device, and system for p2p data |
WO2021051570A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于分布式集群的数据存储方法、及其相关设备 |
CN110851465A (zh) * | 2019-11-15 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 数据查询方法及系统 |
CN111416863A (zh) * | 2020-03-20 | 2020-07-14 | 上海圣剑网络科技股份有限公司 | 基于客户端的多元化下载管理方法、终端及介质 |
CN111614729A (zh) * | 2020-04-28 | 2020-09-01 | 北京金山云网络技术有限公司 | 对kubernetes容器集群的控制方法、装置及电子设备 |
CN111708743A (zh) * | 2020-05-28 | 2020-09-25 | 浪潮电子信息产业股份有限公司 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
CN111770172A (zh) * | 2020-06-29 | 2020-10-13 | 深圳前海微众银行股份有限公司 | 消息中间件消费代理方法、装置、代理服务器及存储介质 |
CN113364887A (zh) * | 2021-06-30 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种基于ftp的文件下载方法、代理服务器和系统 |
Non-Patent Citations (1)
Title |
---|
余鑫宇.中国优秀硕士学位论文全文数据库.2012,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114513501A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
RU2357283C2 (ru) | Схема обновления соединений с сетевым печатающим устройством для клиентов печатающего устройства | |
US9549040B2 (en) | First cache purge optimization handling of unavailable nodes | |
US20070277169A1 (en) | System with required enhancements to SyncML DM environment to support firmware updates | |
CN102498703A (zh) | 应用服务器相关的用户数据的管理 | |
JPH086840A (ja) | サーバ回復のためのディレクトリ操作の完了を判定する機構 | |
CN104303454A (zh) | 认证对无线通信系统中的特定资源的访问授权的方法和装置 | |
US9501513B2 (en) | Advanced concurrency management in enterprise service oriented architecture based integrated business processing of distributed application components | |
US6877051B2 (en) | Consistency checking mechanism for configuration parameters in embedded systems | |
EP3537740B1 (en) | Hash based device configuration management | |
CN107623735B (zh) | 一种征信机系统中基于openssl的精准更新升级系统及方法 | |
EP1647874A2 (en) | Contents delivery management apparatus and contents delivery management method | |
CN110163003B (zh) | 一种密码管理方法及装置 | |
US9160767B2 (en) | System and method for device management security of trap management object | |
US8725887B2 (en) | License management system and function providing device | |
CN111371615A (zh) | 在线服务器、运维工具的更新方法及系统和可读存储介质 | |
EP2210194B1 (en) | Lightweight directory access protocol (ldap) collision detection mechanism and method | |
CN114513501B (zh) | 目标分发方法和系统 | |
CN112596956B (zh) | 一种文件系统管理方法、装置及相关组件 | |
JP4379369B2 (ja) | ファイル管理システム、監視サーバ、監視方法、及び、プログラム | |
CN111651419B (zh) | 数据存储方法、装置及存储介质 | |
CN114978902B (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN115022307A (zh) | 一种文件下载方法及装置、存储介质及电子设备 | |
KR102564488B1 (ko) | 블록체인 기반 IoT 기기 펌웨어 공급 시스템 및 이를 이용하는 펌웨어 업데이트 방법 | |
US7739688B1 (en) | Techniques for managing distribution of well-defined objects in a client/server system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |