CN113342492A - 一种任务指令下发方法、装置、***、电子设备和介质 - Google Patents
一种任务指令下发方法、装置、***、电子设备和介质 Download PDFInfo
- Publication number
- CN113342492A CN113342492A CN202110639173.8A CN202110639173A CN113342492A CN 113342492 A CN113342492 A CN 113342492A CN 202110639173 A CN202110639173 A CN 202110639173A CN 113342492 A CN113342492 A CN 113342492A
- Authority
- CN
- China
- Prior art keywords
- information
- zookeeper
- equipment
- target
- task instruction
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种任务指令下发方法、装置、***、电子设备和介质,该方法包括:与设备集群中各个设备建立websocket通信,并将设备集群中各个设备的信息存储至zookeeper;当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在zookeeper存储的各个设备的信息中匹配满足预设筛选条件的目标设备;利用websocket通信,将调用请求对应的任务指令下发至目标设备。该方法无需查找IP地址建立连接后再进行通信,能够实时获取各个设备的信息,提高了设备调度的效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种任务指令下发方法、装置、***、电子设备和介质。
背景技术
通常,服务端想要访问客户端,需要知道其IP地址,再与其进行通信。然而,在有很多客户端的情况下,预先分配各个IP地址并查找所需要的目标IP地址效率较低;其次,在这种方式下服务器也无法实时的获取各个设备的状态和设备信息,也无法确定可用的设备,客户端设备的调用实时性较差,效率较低。
发明内容
本申请的目的是提供一种任务指令下发方法、装置、***、电子设备和介质,无需查找IP地址建立连接后再进行通信,能够实时获取各个设备的信息,提高了设备调度的效率。其具体方案如下:
第一方面,本申请公开了一种任务指令下发方法,包括:
与设备集群中各个设备建立websocket通信,并将所述设备集群中各个设备的信息存储至zookeeper;
当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备;
利用所述websocket通信,将所述调用请求对应的任务指令下发至所述目标设备。
可选的,在将所述设备集群中各个设备的信息存储至zookeeper之后,还包括:
将所述zookeeper中存储的所述各个设备的信息同步至本地内存;
相应的,当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备,包括:
当接收到所述设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述本地内存存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备。
可选的,所述根据所述调用请求对应的预设筛选条件,在所述本地内存存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备,包括:
当所述预设筛选条件包含目标集群类型、目标设备标签和可用性信息时,在所述本地内存存储的各个设备的信息中查找满足所述目标集群类型、所述目标设备标签和所述可用性信息的设备,将同时满足所述目标集群类型、所述目标设备标签和所述可用性信息的设备作为所述目标设备。
可选的,在将所述设备集群中各个设备的信息存储至zookeeper之后,还包括:
监听所述zookeeper存储的各个设备的信息是否发生变化;
若所述zookeeper中存在发生变化的设备的信息,则更新所述本地内存中对应设备的信息。
可选的,所述将所述设备集群中各个设备的信息存储至zookeeper,包括:
将所述设备集群中各个设备的设备信息、状态信息和心跳时间存储至所述zookeeper,并将所述设备信息、所述状态信息和所述心跳时间作为所述信息。
第二方面,本申请公开了一种任务指令下发装置,应用于服务器,包括:
存储模块,用于与设备集群中各个设备建立websocket通信,并将所述设备集群中各个设备的信息存储至zookeeper;
查找模块,用于当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备;
下发模块,用于利用所述websocket通信,将所述调用请求对应的任务指令下发至所述目标设备。
第三方面,本申请公开了一种任务指令下发***,包括:
设备集群中各个设备,用于与服务器建立websocket通信;
所述服务器,用于执行如上述任务指令下发方法的步骤。
可选的,将所述zookeeper部署于其他服务器。
第四方面,本申请公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任务指令下发方法的步骤。
第五方面,本申请公开了一种介质,所述介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任务指令下发方法的步骤。
本申请提供一种任务指令下发方法,包括:与设备集群中各个设备建立websocket通信,并将所述设备集群中各个设备的信息存储至zookeeper;当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备;利用所述websocket通信,将所述调用请求对应的任务指令下发至所述目标设备。
可见,本申请通过服务器与设备集群中各个设备建立websocket通信,由于一次websocket通信的建立,服务器与设备集群中各个设备之间就可直接创建持久性的连接,无需查找IP地址建立连接后再进行通信;本申请利用zookeeper来存储设备集群中各个设备的信息,能够实时的获取各个设备的信息,避免了相关技术中需要建立IP连接后再进行通信,且服务器无法实时获取各个设备的信息,无法确定可用的设备的缺陷,本申请能够实时获取各个设备的信息,提高了设备调度的效率。本申请同时还提供了一种任务指令下发装置、一种任务指令下发***、一种电子设备和介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种任务指令下发方法的流程图;
图2为本申请实施例所提供的一种具体实施例的框架示意图;
图3为本申请实施例所提供的一种任务指令下发装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
通常,服务端想要访问一个客户端,需要知道其IP地址,再与其进行通信。当有许多客户端的情况下,预先设置许多的IP地址效率非常低下;其次,无法知道当前时刻设备的状态信息或其他等信息,也无法动态获取所需的设备或者判断设备是否可用等。基于上述技术问题,本实施例提供一种任务指令下发方法,能够实时获取各个设备的信息,提高了设备调度的效率,具体请参考图1,图1为本申请实施例所提供的一种任务指令下发方法的流程图,具体包括:
S101、与设备集群中各个设备建立websocket通信,并将设备集群中各个设备的信息存储至zookeeper。
本申请实施例的执行主体为服务器。本实施例并不限定设备集群的数量,可以是包括1个设备集群,也可以包括2个,可根据实际需求进行设定。同时,本实施例也不限定设备集群中设备的数量,可根据实际情况而定。本实施例中服务器与设备集群中各个设备之间建立websocket通信(是一种在单个TCP连接上进行全双工通信的协议),可以理解的是,服务器与各个设备之间进行一次websocket通信握手连接,之后就会创建持久性的连接,无需进行相关技术中需要先建立IP连接的操作后再进行通信,能够提高设备调度的效率。本实施例并不限定各个设备的信息的具体内容,可以包括设备信息,可以包括设备的状态信息,还可以包括设备的心跳时间。本实施例利用zookeeper组件来存储各个设备的信息,即zookeeper的各个节点用于存储各个设备的信息,可以理解的是,zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,能够实时的获取各个设备的信息,当各个设备的信息发生变化时,能够及时检测到,并推送至服务器,能够提高设备调度的实时性。本实施例并不限定zookeeper所在的服务器,可以是与业务逻辑功能处于同一服务器,即zookeeper处于本实施例执行主体的服务器,也可以位于其他服务器。可选的,为了提高可用性,本实施例中可将zookeeper部署于其他服务器上。
本实施例并不限定将设备集群中各个设备的信息存储至zookeeper之后的操作。在一种具体的实施例中,为了提高信息的获取效率,节省通信资源,本实施例在将设备集群中各个设备的信息存储至zookeeper之后,还可以包括:
将zookeeper中存储的各个设备的信息同步至本地内存;
相应的,当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在zookeeper存储的各个设备的信息中匹配满足预设筛选条件的目标设备,可以包括:
当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在本地内存存储的各个设备的信息中匹配满足预设筛选条件的目标设备。
本实施例在将设备集群中各个设备的信息存储至zookeeper之后,将zookeeper中存储的各个设备的信息同步至本地内存,当需要相应设备的信息时,直接在本地内存中查找对应设备的信息,无需再进行通信传输获取zookeeper中相应设备的信息,可以提高信息的获取效率,节省通信资源。相应的,当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,即可在本地内存存储的各个设备的信息中匹配满足预设筛选条件的目标设备。
进一步的,为了及时更新本地内存中发生变化的设备的信息,在将设备集群中各个设备的信息存储至zookeeper之后,还可以包括:
监听zookeeper存储的各个设备的信息是否发生变化;
若zookeeper中存在发生变化的设备的信息,则更新本地内存中对应设备的信息。
本实施例通过监听zookeeper的存储的各个设备的信息,即通过监听各个节点路径数据是否发生变化,当发生变化时,更新对应发生变化的设备的信息。本实施例并不限定发生变化的设备的具体内容,可以是设备所属的设备集群发生变化,可以是设备的版本发生变化,还可以是其他变化内容。即本实施例中服务器能够实时监听zookeeper存储的各个设备的信息的变化情况,并及时更新本地内存中发生变化的设备的信息。
本实施例并不限定设备的信息的具体内容,可以包括设备信息,可以包括设备的状态信息,还可以包括设备的心跳时间,还可以同时包含以上内容。在一种具体的实施例中,将设备集群中各个设备的信息存储至zookeeper,可以包括:
将设备集群中各个设备的设备信息、状态信息和心跳时间存储至zookeeper,并将设备信息、状态信息和心跳时间作为信息。
本实施例中的设备的信息同时包含设备信息、状态信息和心跳时间,将各个设备的设备信息、状态信息和心跳时间存储至zookeeper。本实施例并不限定设备信息的具体内容,可以包含设备集群类型和设备标签。可以理解的是,集群类型是根据具体的业务需求进行分类的,比如可以为业务的集群类型;设备标签可以是设备的版本等信息。设备状态是指设备是否被占用在执行任务的状态,可以是空闲状态,可以是占用状态。其中,心跳时间可以理解为间隔时间,即设备每经过一个心跳时间就会向服务器发送信号值,以代表设备正常运行未故障。
S102、当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在zookeeper存储的各个设备的信息中匹配满足预设筛选条件的目标设备。
本实施例并不限定预设筛选条件的具体内容,可根据具体的业务需求进行设定。例如,预设筛选条件可以是指定的设备集群,可以是指定的设备标签,还可是设备当前的可用性或状态信息。本实施例也不限定目标设备的数量,只要满足预设筛选条件即可作为目标设备。在一种具体的实施例中,根据调用请求对应的预设筛选条件,在本地内存存储的各个设备的信息中匹配满足预设筛选条件的目标设备,可以包括:
当预设筛选条件包含目标集群类型、目标设备标签和可用性信息时,在本地内存存储的各个设备的信息中查找满足目标集群类型、目标设备标签和可用性信息的设备,将同时满足目标集群类型、目标设备标签和可用性信息的设备作为目标设备。
本实施例中当预设筛选条件包含目标集群类型、目标设备标签和可用性信息时,在本地内存存储的各个设备的信息中查找同时满足目标集群类型、目标设备标签和可用性信息的设备,将同时满足目标集群类型、目标设备标签和可用性信息的设备作为目标设备。本实施例并不限定查找的顺序,可以是先查找满足目标集群类型的设备,再在满足目标集群类型的设备中查找满足目标设备标签的设备,进而在满足目标设备标签的设备中查找满足可用性信息的设备,作为目标设备;还可以是按照其他顺序,或者是根据三个条件可同时查找,再确定同时满足三个条件的设备作为目标设备,具体可根据业务需求进行设定。
S103、利用websocket通信,将调用请求对应的任务指令下发至目标设备。
本实施例并不限定任务指令的具体内容,可根据实际需求进行设定。即本实施例利用websocket通信,将调用请求对应的任务指令下发至目标设备。可以理解的是,websocket通信只需一次连接,即可永久通信,无需再进行连接(如相关技术中需要进行IP连接)即可实时通信。提高了通信效率,以及任务执行的实时性。
基于上述技术方案,本实施例通过服务器与设备集群中各个设备建立websocket通信,由于一次websocket通信的建立,服务器与各个设备之间就可直接创建持久性的连接,无需查找IP地址建立连接后再进行通信;本申请利用zookeeper来存储设备集群中各个设备的信息,能够实时的获取各个设备的信息,提高设备调度的效率。
以下为本申请提供的一种具体实施例。目标是在业务上需要批量大规模的测试app在设备(可以为手机设备)上的功能。在分布式情况下,能够通过一台服务端(例如电脑)能够实时控制批量的设备,对其下发任务指令;能够区分设备集群类型、设备标签、设备状态等信息,实现动态的实时的获取一定规则条件下的设备,并对不同设备下发不同的任务指令的能力;当业务需要增加设备数量时,***无需人为干预,就可实现动态扩容。
首先,需要建立设备与服务端的通信。简单的通信可以建立http连接,但是这种方式需要暴露所有客户端的IP端口,并且需要维护这些IP端口供服务端获取。因此本申请实施例建立websocket通信实现客户端即设备与服务端的长链接,websocket通信建立后仅一次握手,后续可以一直在这个连接下通信。同时,考虑到设备信息(集群类型,设备标签)、设备状态维护的实时性,以及分布式服务下,选取zookeeper作为设备的注册中间件,连接的设备可以在zookeeper节点存储设备信息等内容。当节点内容发生改变时,会及时通知服务端,服务端能够实时获取设备信息以及状态信息等。当有新增设备时,新增设备会自动连接服务端并且注册信息在zookeeper,达到动态扩容。其次,服务端能够实时获取设备信息及状态信息,可以在一定规则条件即预设筛选条件下选取目标设备进行任务指令的下发,达到全部的业务需求。
图2为本实施例提供的一种具体实施例的框架示意图。具体步骤如下:
S1、客户端设备主动发起与服务端的websocket长链接通信(或称websocket通信),图2中只标记了一台设备,实际上所有接入的设备都会发起连接。
S2、Websocket通信建立之后,服务端的上报模块会将设备此时的状态信息同步至zookeeper。
S3、当zookeeper的节点数据发生变化即节点存储设备的信息发生变化时,zookeeper会将变化数据推送到服务端;服务端的监听模块会自动监听到zookeeper中相应节点数据的变化,然后将获取的设备的信息转换为***本地数据存储在本地内存中。在分布式环境下,所有服务端都将收到zookeeper的回调内容。
S4、当用户发起设备调用请求时,服务端可以在***本地内存以一定规则即预设筛选条件动态筛选需要的目标设备。
S5、服务端通过此前与S4筛选的目标设备建立的websocket通信下发任务指令。
基于上述技术方案,本申请通过一个中心化的服务端能够实时发现设备的状态信息、设备信息,并通过设备的状态信息、设备信息调度设备发送任务指令,并且在横向扩容设备时不影响***。支持与批量设备通信,能够自动、实时获取到的设备信息,且通过websocket进行通信,极大提高了调度的实时性与效率。
下面对本申请实施例提供的一种任务指令下发装置进行介绍,下文描述的任务指令下发装置与上文描述的任务指令下发方法可相互对应参照,相关模块均设置于中,参考图3,图3为本申请实施例所提供的一种任务指令下发装置的结构示意图,包括:
在一些具体的实施例中,具体包括:
存储模块301,用于与设备集群中各个设备建立websocket通信,并将设备集群中各个设备的信息存储至zookeeper;
查找模块302,用于当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在zookeeper存储的各个设备的信息中匹配满足预设筛选条件的目标设备;
下发模块303,用于利用websocket通信,将调用请求对应的任务指令下发至目标设备。
在一些具体的实施例中,还包括:
同步模块,用于将zookeeper中存储的各个设备的信息同步至本地内存;
相应的,查找模块302,包括:
匹配单元,用于当接收到设备的调用请求时,根据调用请求对应的预设筛选条件,在本地内存存储的各个设备的信息中匹配满足预设筛选条件的目标设备。
在一些具体的实施例中,匹配单元,包括:
查找子单元,用于当预设筛选条件包含目标集群类型、目标设备标签和可用性信息时,在本地内存存储的各个设备的信息中查找满足目标集群类型、目标设备标签和可用性信息的设备,将同时满足目标集群类型、目标设备标签和可用性信息的设备作为目标设备。
在一些具体的实施例中,还包括:
监听模块,用于监听zookeeper存储的各个设备的信息是否发生变化;
更新模块,用于若zookeeper中存在发生变化的设备的信息,则更新本地内存中对应设备的信息。
在一些具体的实施例中,存储模块301,包括:
存储单元,用于将设备集群中各个设备的设备信息、状态信息和心跳时间存储至zookeeper,并将设备信息、状态信息和心跳时间作为信息。
由于任务指令下发装置部分的实施例与任务指令下发方法部分的实施例相互对应,因此任务指令下发装置部分的实施例请参见任务指令下发方法部分的实施例的描述,这里暂不赘述。
本申请还公开一种任务指令下发***,包括:
设备集群中各个设备,用于与服务器建立websocket通信;
服务器,用于执行如上述任务指令下发方法的步骤。
在一些具体的实施例中,将zookeeper部署于其他服务器。
由于任务指令下发***部分的实施例与任务指令下发方法部分的实施例相互对应,因此任务指令下发***部分的实施例请参见任务指令下发方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的电子设备与上文描述的任务指令下发方法可相互对应参照。
本申请还公开一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述任务指令下发方法的步骤。
由于电子设备部分的实施例与任务指令下发方法部分的实施例相互对应,因此电子设备部分的实施例请参见任务指令下发方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种介质进行介绍,下文描述的介质与上文描述的任务指令下发方法可相互对应参照。
本申请还公开一种介质,介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任务指令下发方法的步骤。
由于介质部分的实施例与任务指令下发方法部分的实施例相互对应,因此介质部分的实施例请参见任务指令下发方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种任务指令下发方法、装置、***、电子设备及介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种任务指令下发方法,其特征在于,应用于服务器,包括:
与设备集群中各个设备建立websocket通信,并将所述设备集群中各个设备的信息存储至zookeeper;
当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备;
利用所述websocket通信,将所述调用请求对应的任务指令下发至所述目标设备。
2.根据权利要求1所述的任务指令下发方法,其特征在于,在将所述设备集群中各个设备的信息存储至zookeeper之后,还包括:
将所述zookeeper中存储的所述各个设备的信息同步至本地内存;
相应的,当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备,包括:
当接收到所述设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述本地内存存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备。
3.根据权利要求2所述的任务指令下发方法,其特征在于,所述根据所述调用请求对应的预设筛选条件,在所述本地内存存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备,包括:
当所述预设筛选条件包含目标集群类型、目标设备标签和可用性信息时,在所述本地内存存储的各个设备的信息中查找满足所述目标集群类型、所述目标设备标签和所述可用性信息的设备,将同时满足所述目标集群类型、所述目标设备标签和所述可用性信息的设备作为所述目标设备。
4.根据权利要求2所述的任务指令下发方法,其特征在于,在将所述设备集群中各个设备的信息存储至zookeeper之后,还包括:
监听所述zookeeper存储的各个设备的信息是否发生变化;
若所述zookeeper中存在发生变化的设备的信息,则更新所述本地内存中对应设备的信息。
5.根据权利要求1所述的任务指令下发方法,其特征在于,所述将所述设备集群中各个设备的信息存储至zookeeper,包括:
将所述设备集群中各个设备的设备信息、状态信息和心跳时间存储至所述zookeeper,并将所述设备信息、所述状态信息和所述心跳时间作为所述信息。
6.一种任务指令下发装置,其特征在于,应用于服务器,包括:
存储模块,用于与设备集群中各个设备建立websocket通信,并将所述设备集群中各个设备的信息存储至zookeeper;
查找模块,用于当接收到设备的调用请求时,根据所述调用请求对应的预设筛选条件,在所述zookeeper存储的各个设备的信息中匹配满足所述预设筛选条件的目标设备;
下发模块,用于利用所述websocket通信,将所述调用请求对应的任务指令下发至所述目标设备。
7.一种任务指令下发***,其特征在于,包括:
设备集群中各个设备,用于与服务器建立websocket通信;
所述服务器,用于执行如权利要求1至5任一项所述任务指令下发方法的步骤。
8.根据权利要求7所述的任务指令下发***,其特征在于,将所述zookeeper部署于其他服务器。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述任务指令下发方法的步骤。
10.一种介质,其特征在于,所述介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述任务指令下发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639173.8A CN113342492A (zh) | 2021-06-08 | 2021-06-08 | 一种任务指令下发方法、装置、***、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110639173.8A CN113342492A (zh) | 2021-06-08 | 2021-06-08 | 一种任务指令下发方法、装置、***、电子设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342492A true CN113342492A (zh) | 2021-09-03 |
Family
ID=77475540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110639173.8A Pending CN113342492A (zh) | 2021-06-08 | 2021-06-08 | 一种任务指令下发方法、装置、***、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342492A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712457A (zh) * | 2018-04-03 | 2018-10-26 | 苏宁易购集团股份有限公司 | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
CN109831473A (zh) * | 2017-11-23 | 2019-05-31 | 菜鸟智能物流控股有限公司 | 物流服务提供方法及设备 |
US10346188B1 (en) * | 2014-06-13 | 2019-07-09 | Veritas Technologies Llc | Booting virtual machine instances in a distributed data processing architecture |
CN110597664A (zh) * | 2019-09-17 | 2019-12-20 | 深信服科技股份有限公司 | 一种高可用集群资源部署方法、装置及相关组件 |
US20200213387A1 (en) * | 2019-01-02 | 2020-07-02 | Citrix Systems, Inc. | Bidirectional Communication Clusters |
CN112118266A (zh) * | 2020-09-24 | 2020-12-22 | 焦点科技股份有限公司 | 一种HTTP与WebSocket协同的分布式状态同步方法 |
CN112416581A (zh) * | 2020-11-13 | 2021-02-26 | 五八同城信息技术有限公司 | 定时任务的分布式调用*** |
-
2021
- 2021-06-08 CN CN202110639173.8A patent/CN113342492A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346188B1 (en) * | 2014-06-13 | 2019-07-09 | Veritas Technologies Llc | Booting virtual machine instances in a distributed data processing architecture |
CN109831473A (zh) * | 2017-11-23 | 2019-05-31 | 菜鸟智能物流控股有限公司 | 物流服务提供方法及设备 |
CN108712457A (zh) * | 2018-04-03 | 2018-10-26 | 苏宁易购集团股份有限公司 | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 |
US20200213387A1 (en) * | 2019-01-02 | 2020-07-02 | Citrix Systems, Inc. | Bidirectional Communication Clusters |
CN109815248A (zh) * | 2019-01-15 | 2019-05-28 | 科大国创软件股份有限公司 | 一种基于Zookeeper的分布式架构数据一致性方法 |
CN110597664A (zh) * | 2019-09-17 | 2019-12-20 | 深信服科技股份有限公司 | 一种高可用集群资源部署方法、装置及相关组件 |
CN112118266A (zh) * | 2020-09-24 | 2020-12-22 | 焦点科技股份有限公司 | 一种HTTP与WebSocket协同的分布式状态同步方法 |
CN112416581A (zh) * | 2020-11-13 | 2021-02-26 | 五八同城信息技术有限公司 | 定时任务的分布式调用*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113783922A (zh) | 负载均衡的方法、***和装置 | |
CN105791344A (zh) | 灰度发布业务处理的方法、***、负载均衡器及服务总线装置 | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN107172214B (zh) | 一种具有负载均衡的服务节点发现方法及装置 | |
CN111884844A (zh) | 基于zookeeper的消息服务接入方法和设备 | |
US10498617B1 (en) | System, method, and computer program for highly available and scalable application monitoring | |
CN114338769B (zh) | 访问请求的处理方法及装置 | |
CN116800825A (zh) | 一种基于微服务拆分的调用方法、装置、设备及介质 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN113342492A (zh) | 一种任务指令下发方法、装置、***、电子设备和介质 | |
CN116647552A (zh) | 异构微服务集群中服务处理方法及***、终端及存储介质 | |
CA2986758C (en) | Systems and methods for server failover and load balancing | |
CN113918436A (zh) | 日志处理方法及装置 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN112702441B (zh) | 基于容器的访问数据处理方法、装置、***及存储介质 | |
CN112073322B (zh) | 一种网络测试仪的发现方法和装置 | |
CN114461424A (zh) | 单元化部署架构下的单元间服务发现方法、装置及*** | |
CN114785861A (zh) | 一种服务请求转发***、方法、计算机设备和存储介质 | |
CN114327823A (zh) | 微服务集群的资源调用方法、***、终端及存储介质 | |
CN114697339A (zh) | 集中式架构下的负载均衡方法及装置 | |
CN112181610A (zh) | 一种任务处理*** | |
CN113296968A (zh) | 地址列表更新方法、装置、介质及电子设备 | |
CN111309367A (zh) | 一种管理服务发现的方法、装置、介质和电子设备 | |
CN117914768B (zh) | 贯通节点的服务访问路径构建*** |
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 |