The invention relates to a test method, device, server and storage medium based on distributed coordination. The method includes: the server registers task nodes and task lock nodes by controlling service module ZK server, and the test task is queued up; the executor monitors the server by controlling client ZK client, and notifies the client ZK client after the test task is available. The proxy module on the executor controls the proxy module to build a new executor node under the task lock node registered by the server to get the test task; the server notifies the executor to deploy the script corresponding to the test task; the executor downloads the script from the script library and sends the deployment status information to the server; the server sends the message to the executor to execute the test task; Test builds and scripts are executed to test the test tasks. The invention does not need to monitor the state of the executor, and the test task allocation process is simple, and the execution efficiency of the test task is improved.
【技术实现步骤摘要】
基于分布式协调的测试方法、装置、服务器及存储介质
本专利技术涉及通信
,尤其涉及一种基于分布式协调的测试方法、装置、服务器及存储介质。
技术介绍
目前,Jenkins调度平台的主仆模式master-slave模式中,主机master需要判断执行机slave是否处于空闲状态,并实时监测执行机slave的心跳,以监控执行机slave的状态。监测执行机slave的心跳的过程中存在一定的延迟(5-10秒),如果在心跳延迟的时间空隙里,有执行机slave宕机,但主机master上执行机slave仍然是可用状态,这时执行机slave仍然被分配,那么将导致节点构建失败,执行机slave无法执行测试任务,这时需要重新分配测试任务,一次测试的构建过程中执行机slave的状态很难监控,测试任务分配流程复杂,导致测试任务的执行效率低。
技术实现思路
本专利技术的目的在于提供一种基于分布式协调的测试方法、装置、服务器及存储介质,旨在简化测试任务分配流程,提高测试任务的执行效率。为实现上述目的,本专利技术提供一种基于分布式协调的测试方法,所述基于分布式协调的测试方法包括:S1,服务器在接 ...
【技术保护点】
1.一种基于分布式协调的测试方法,其特征在于,所述基于分布式协调的测试方法包括:S1,服务器在接收到测试任务时,通过控制服务模块zk‑server注册任务节点及任务锁节点,将测试任务进行入队操作,并保存所述任务节点对应的属性信息,所述属性信息包括脚本库系统名称;S2,执行机通过控制客户端zk‑client监听服务器,在监听到所述服务器上有测试任务后,由客户端zk‑client通知该执行机上的代理模块,控制该代理模块利用预定的锁机制在所述服务器注册的任务锁节点下新建执行机节点,以获取测试任务;S3,所述服务器在执行机获取测试任务后,在该执行机节点下记录相应的节点名称及状态信息 ...
【技术特征摘要】
1.一种基于分布式协调的测试方法,其特征在于,所述基于分布式协调的测试方法包括:S1,服务器在接收到测试任务时,通过控制服务模块zk-server注册任务节点及任务锁节点,将测试任务进行入队操作,并保存所述任务节点对应的属性信息,所述属性信息包括脚本库系统名称;S2,执行机通过控制客户端zk-client监听服务器,在监听到所述服务器上有测试任务后,由客户端zk-client通知该执行机上的代理模块,控制该代理模块利用预定的锁机制在所述服务器注册的任务锁节点下新建执行机节点,以获取测试任务;S3,所述服务器在执行机获取测试任务后,在该执行机节点下记录相应的节点名称及状态信息,若该状态信息均为新建成功状态,则通知所述执行机部署测试任务对应的脚本;S4,所述执行机在接收到所述服务器的部署脚本的通知后,获取所述服务器注册的任务节点对应的属性信息中的脚本库系统名称,在所述脚本库系统名称对应的脚本库中下载脚本,并在完成脚本部署后,更新自身的部署状态信息,将对应的部署状态信息发送给所述服务器;S5,所述服务器接收到所述执行机的部署状态信息后,若所有的部署状态信息为部署完成状态,则发送执行测试任务的消息给所述执行机;S6,所述执行机在接收到所述服务器的执行测试任务的消息后,进行测试构建并执行脚本,以对所述测试任务进行测试。2.根据权利要求1所述的基于分布式协调的测试方法,其特征在于,所述预定的锁机制为乐观锁机制,所述控制该代理模块在该任务锁节点下新建执行机节点的步骤,具体包括:控制该代理模块在该任务锁节点下尝试新建执行机节点;若新建执行机节点成功,则分配执行机成功,该代理模块获取测试任务;若新建执行机节点失败,则分配执行机失败,返回执行尝试新建执行机节点的步骤。3.根据权利要求1所述的基于分布式协调的测试方法,其特征在于,所述预定的锁机制为并发锁机制,所述控制该代理模块在该任务锁节点下新建执行机节点的步骤,具体包括:控制该代理模块在该任务锁节点下创建临时顺序节点;若该临时顺序节点的数字编号是最小的数字编号,则该代理模块获取到锁,该代理模块获取测试任务;若该临时顺序节点的数字编号不是最小的数字编号,则在监听到锁被释放后,返回执行在该任务锁节点下创建临时顺序节点的步骤。4.根据权利要求1至3任一项所述的基于分布式协调的测试方法,其特征在于,所述属性信息还包括执行机的数量,所述进行测试构建并执行脚本的步骤,具体包括:若本次测试任务构建需要的执行机的数量为两台及两台以上,则两台及两台以上的执行机同时执行同一脚本,以进行并发调度。5.一种测试装置,其特征在于,所述测试装置为执行机,所述测试装置包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如下步骤:执行机通过控制客户端zk-client监...
【专利技术属性】
技术研发人员:林铭森,毛皓,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。