CN113067869B - 节点控制方法及装置、节点管理方法及装置、分布式系统 - Google Patents
节点控制方法及装置、节点管理方法及装置、分布式系统 Download PDFInfo
- Publication number
- CN113067869B CN113067869B CN202110293176.0A CN202110293176A CN113067869B CN 113067869 B CN113067869 B CN 113067869B CN 202110293176 A CN202110293176 A CN 202110293176A CN 113067869 B CN113067869 B CN 113067869B
- Authority
- CN
- China
- Prior art keywords
- node
- secondary terminal
- terminal node
- task
- unregistered
- 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
Images
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/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及一种节点控制方法及装置、节点管理方法及装置、分布式系统。其中,节点控制方法应用于分布式系统的代理节点,代理节点部署于分布式系统的一级终端节点中,该方法包括:对与一级终端节点连接的各个二级终端节点进行实时检测;当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据;将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。根据本公开实施例,能够减少向分布式系统接入新节点的成本和耗时,提高对节点的管控可靠性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种节点控制方法及装置、节点管理方法及装置、分布式系统。
背景技术
分布式系统通常由多个节点组成,各个节点一般采用集中式部署方式统一管控在机房中,以对外提供服务。
在相关技术中,当用户想要为分布式系统接入新节点时,需要由专人进行一系列操作以实现对新节点的接入,导致接入新节点的成本较高、耗时较长。另外,当机房出现问题时,会导致所有节点均不可用,使得对节点的管控可靠性较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种节点控制方法及装置、节点管理方法及装置、分布式系统。
第一方面,本公开提供了一种节点控制方法,应用于分布式系统的代理节点,代理节点部署于分布式系统的一级终端节点中,该方法包括:
对与一级终端节点连接的各个二级终端节点进行实时检测;
当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据;
将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。
第二方面,本公开提供了一种节点管理方法,应用于分布式系统的服务节点,该方法包括:
接收代理节点发送的未注册二级终端节点的节点标签数据,代理节点部署于分布式系统的一级终端节点中,未注册二级终端节点由代理节点在与一级终端节点连接的各个二级终端节点中实时检测得到;
根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点;
根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
第三方面,本公开提供了一种节点控制装置,应用于分布式系统的代理节点,代理节点部署于分布式系统的一级终端节点中,该装置包括:
节点检测单元,配置为对与一级终端节点连接的各个二级终端节点进行实时检测;
第一获取单元,配置为当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据;
第一发送单元,配置为将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。
第四方面,本公开提供了一种节点管理装置,应用于分布式系统的服务节点,该装置包括:
第一接收单元,配置为接收代理节点发送的未注册二级终端节点的节点标签数据,代理节点部署于分布式系统的一级终端节点中,未注册二级终端节点由代理节点在与所述一级终端节点连接的各个二级终端节点中实时检测得到;
第一注册单元,配置为根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点;
任务分配单元,配置为根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
第五方面,本公开提供了一种分布式系统,该分布式系统包括代理节点、一级终端节点和服务节点,代理节点部署于一级终端节点中,其中:
代理节点用于对与一级终端节点连接的各个二级终端节点进行实时检测;当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据;将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配;
服务节点用于接收代理节点发送的未注册二级终端节点的节点标签数据;根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点;根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
第六方面,本公开提供了一种计算设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面所述的节点控制方法或者第二方面所述的节点管理方法。
第七方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面所述的节点控制方法或者第二方面所述的节点管理方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的节点控制方法及装置、节点管理方法及装置、分布式系统,能够通过部署于分布式系统的一级终端节点中的代理节点与该一级终端节点连接的各个二级终端节点进行实时检测,并且在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,使服务节点根据未注册二级终端节点的节点标签数据对未注册二级终端节点进行注册,从而能够通过代理节点和服务节点配合以自动对新接入分布式系统的一级终端节点的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点对二终端级节点进行分布式部署的情况下的任务分配。另外,由于二终端级节点由代理节点进行分布式控制,即使某个代理节点出现问题,其他正常的代理节点所管理的二级终端节点仍可以正常工作,提高了对节点的管控可靠性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种分布式系统的系统架构图;
图2为本公开实施例提供的一种节点控制方法的流程示意图;
图3为本公开实施例提供的一种节点管理方法的流程示意图;
图4为本公开实施例提供的一种节点控制装置的结构示意图;
图5为本公开实施例提供的一种节点管理装置的结构示意图;
图6为本公开实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
分布式系统通常由多个节点组成,各个节点一般采用集中式部署方式统一管控在机房中,以对外提供服务。
以分布式自动化测试系统为例,分布式自动化测试系统通常由多个设备(例如服务器和测试终端等)组成,各个设备一般采用集中式部署方式统一管控在机房中,但是,这种集中式部署方式存在以下缺点:
1、新设备(无论是服务器还是测试终端)均需要由专人进行一系列操作才可以接入到分布式自动化测试系统中,使得这种接入新设备的方式的成本较高、耗时较长。
2、由于在机房中对各个设备进行统一管控,一旦机房出现问题,则会导致所有设备(无论是服务器还是测试终端)均不可用,使得这种对设备的管控方式的可靠性较低。
综上,在相关技术中,当用户想要为分布式系统接入新节点时,需要由专人进行一系列操作以实现对新节点的接入,导致接入新节点的成本较高、耗时较长。另外,当机房出现问题时,会使分布式系统的所有节点均不可用,导致对分布式系统的各个节点的管控可靠性较低。
为了解决上述问题,本公开实施例提供了一种能够将新节点通过更轻量、更便捷、更灵活的方式接入到分布式系统并且对节点的管控可靠性较高的节点控制方法及装置、节点管理方法及装置、分布式系统。
其中,本公开实施例提供的节点控制方法及装置、节点管理方法及装置、分布式系统可以应用于各种需要提供分布式服务的场景,在此不作限制。例如,本公开实施例提供的节点控制方法及装置、节点管理方法及装置、分布式系统可以应用于分布式自动化测试场景,尤其是基于定制化机柜的分布式自动化测试场景。
为了更清楚地对本公开实施例进行说明,下面首先结合图1对本公开实施例提供的分布式系统进行说明。
图1示出了本公开实施例提供的一种分布式系统的系统架构图。
如图1所示,该分布式系统可以包括分布式客户端中的一级终端节点101、二级终端节点102和代理节点103以及分布式服务端中的服务节点104。
在本公开实施例中,一级终端节点101可以用于实现对二级终端节点102的分布式部署。
可选地,一级终端节点101与一个或多个二级终端节点102连接,用作分布式部署客户端,进而实现在分布式环境下对二级终端节点102的部署。
其中,一级终端节点101可以为与服务节点104的物理接口连接的真实设备。
在一些实施例中,一级终端节点101可以是移动电话、平板电脑、台式计算机、笔记本电脑、车载终端、可穿戴电子设备、一体机、智能家居设备等具有通信功能的设备。
在另一些实施例中,一级终端节点101也可以是主端机架设备,也可以是远端机架设备等。
在本公开实施例中,二级终端节点102可以用于对外提供服务。
可选地,二级终端节点102可以用于对外提供数据存储、数据查询、数据处理、测试等服务。
进一步地,在不同的二级终端节点102提供相同的服务的情况下,每个二级终端节点102还可以提供相同服务中的不同功能。
以二级终端节点102用于提供测试服务为例,各个二级终端节点102可以提供用于实现测试服务的不同功能,例如,数据处理(如截图)、性能测试、功能测试、单元测试、单机测试、模拟器测试等。
其中,二级终端节点102可以为与一级终端节点101的物理接口连接的真实电子设备,也可以为与一级终端节点101的虚拟接口连接的虚拟电子设备,在此不作限制。
在一些实施例中,二级终端节点102可以为与一级终端节点101连接的真实电子设备。此时,二级终端节点102可以是移动电话、平板电脑、台式计算机、笔记本电脑、车载终端、可穿戴电子设备、一体机、智能家居设备等具有通信功能的设备。
在另一些实施例中,二级终端节点102可以为部署于一级终端节点101中或者部署于与一级终端节点101连接的真实电子设备中的与一级终端节点101连接的虚拟电子设备。此时,二级终端节点102可以是虚拟机或者模拟器模拟的设备。
在本公开实施例中,代理节点103可以部署于一级终端节点101中。
可选地,代理节点103可以为一级终端节点101中安装的代理应用程序。该代理节点103可以与服务节点104保持通信,来实现分布式环境下的二级终端节点102的管理,如对与其所属的一级终端节点101连接的二级终端节点102的启停管理、任务调度和健康上报等管理。
为了能够提供更丰富的服务信息,代理节点103还可以支持采集任务的实时日志和实时录屏。另外,代理节点103还可以内置一些异常处理和优化策略,用于在分布式环境下,能够在无人干预的情况下尽可能长时间的运行。
在本公开实施例中,服务节点104可以用于在分布式环境下实现对二终端级节点102的任务分配和协调服务。
可选地,服务节点104可以与代理节点103保持通信,来接收一级终端节点101的心跳,并且自动处理代理节点103发送的二级终端节点102的健康状态。
为了更可靠地提供服务,服务节点104还可以为二级终端节点102的任务执行过程提供一系列保障,如文件上传、实时日志监控等。
为了方便排查问题,服务节点104还可以提供对二级终端节点102的管理的可视化统计,包括设备甘特图、任务饼图、失败原因分布图等。
其中,服务节点104可以是服务器、云服务器或者服务器集群等具有存储及计算功能的设备,也可以是服务器或者云服务器中的一个进程。
基于上述的分布式系统,为了减少向分布式系统接入新节点的成本和耗时以及提高对节点的管控可靠性,代理节点103可以用于对与一级终端节点101连接的各个二级终端节点102进行实时检测,当在各个二终端级节点102中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至服务节点104,该节点标签数据可以用于对二级终端节点102进行节点注册和任务分配。相应地,服务节点104可以用于接收代理节点103发送的未注册二级终端节点的节点标签数据,并且根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点,进而根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
由此,在本公开实施例中,能够通过代理节点103和服务节点104配合以自动对新接入分布式系统的一级终端节点101的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点104还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点103对二终端级节点102进行分布式部署的情况下的任务分配。另外,由于二终端级节点102由代理节点103进行分布式控制,即使某个代理节点103出现问题,其他正常的代理节点103所管理的二级终端节点102仍可以正常工作,提高了对节点的管控可靠性。
在本公开一些实施例中,为了进一步减少向分布式系统接入新节点的成本和耗时,代理节点103还可以用于在检测到一级终端节点101首次接入分布式系统的情况下,获取一级终端节点101的节点标签数据,并且将一级终端节点101的节点标签数据发送至服务节点104,节点标签数据还可以用于对一级终端节点101进行节点注册。相应地,服务节点104可以用于接收代理节点103发送的一级终端节点101的节点标签数据,并且根据一级终端节点101的节点标签数据,对一级终端节点101进行注册,使一级终端节点101变更为已注册一级终端节点。
由此,在本公开实施例中,能够通过代理节点103和服务节点104配合以自动对新接入分布式系统的一级终端节点101进行注册,实现对一级终端节点101的自动接入,进一步减少向分布式系统接入新节点的成本和耗时。
在本公开一些实施例中,代理节点103还可以用于确定各个二级终端节点102中的空闲二级终端节点,并且向服务节点104发送针对空闲二级终端节点的任务轮询请求。相应地,服务节点104可以用于接收代理节点103发送的针对空闲二级终端节点的任务轮询请求,并且按照任务轮询请求对应的轮询顺序,根据待分配的任务对应的备选终端节点列表,确定任务轮询请求对应的任务轮询结果,进而向代理节点103反馈任务轮询结果。进一步地,代理节点103还可以用于接收服务节点104反馈的任务轮询请求对应的任务轮询结果,以根据任务轮询结果,控制空闲二级终端节点获取待分配的任务。
由此,在本公开实施例中,能够通过代理节点103和服务节点104配合实现任务的自动调度,并且使代理节点103基于拉取的方式,主动从服务节点104获取其管理的二级终端节点102可以执行的各个任务。
在本公开一些实施例中,代理节点103还可以用于确定各个二级终端节点102中的非空闲二级终端节点正在执行的进行中的任务,并且向服务节点104发送针对进行中的任务的状态轮询请求。相应地,服务节点104可以用于接收代理节点103发送的针对进行中的任务的状态轮询请求,并且根据进行中的任务的实时任务状态,生成状态轮询请求对应的状态轮询结果,进而向代理节点103反馈状态轮询结果。进一步地,代理节点103还可以用于接收服务节点104反馈的状态轮询请求对应的状态轮询结果,以根据状态轮询结果,控制非空闲二级终端节点执行进行中的任务。
在本公开实施例中,可选地,该分布式系统还可以包括分布式客户端中的前端设备。
在一些实施例中,在一级终端节点101为电子设备的情况下,前端设备可以由一级终端节点101实现。
在另一些实施例中,前端设备还可以为与服务节点104连接的一级终端节点101以外的电子设备。此时,前端设备可以是移动电话、平板电脑、台式计算机、笔记本电脑、车载终端、可穿戴电子设备、一体机、智能家居设备等具有通信功能的设备,也可以是虚拟机或者模拟器模拟的设备。
可选地,前端设备可以用于创建任务,也可以用户查询分布式系统中的一级终端节点101和二级终端节点102的节点标签数据、健康状态、任务执行数据等,还可以用于查询自动化测试系统中的分布式部署客户端和测试设备的标签数据、健康状态、任务执行数据等,以及查询服务节点104提供的可视化统计信息。
综上所述,本公开实施例提供的分布式系统可以实现自动化的终端节点部署及任务调度,进而使分布式系统具备部署便捷、扩展灵活等能力。
进一步地,在分布式系统为分布式自动化测试系统的情况下,即在分布式自动化测试场景下,能够让自动化测试从繁重的机房中移动到每个测试人员的身边,使自动化测试可以在不同地点、不同业务线的终端节点上实现。此外,得益于基于代理节点和服务节点配合实现的分布式部署和调度策略,各测试人员能够快速接入和落地自动化测试,降低了重复测试的人力投入、提高了测试效率。
下面结合图2对本公开实施例提供的节点控制方法进行说明。在本公开实施例中,该节点控制方法可以应用于分布式系统的代理节点,代理节点可以部署于分布式系统的一级终端节点中。其中,该代理节点可以为图1中所示的代理节点103,一级终端节点可以为图1中所示的一级终端节点101,在此不做赘述。
图2示出了本公开实施例提供的一种节点控制方法的流程示意图。
如图2所示,该节点控制方法可以包括如下步骤。
S210、对与一级终端节点连接的各个二级终端节点进行实时检测。
在本公开实施例中,代理节点可以对与其所属的一级终端节点连接的各个二级终端节点进行实时检测,以在该一级终端节点所连接的各个二级终端节点中自动检测该一级终端节点新连接的未注册二级终端节点。
其中,二级终端节点可以为图1中所示的二级终端节点102,在此不做赘述。
S220、当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据。
在本公开实施例中,当代理节点在各个二终端级节点中检测到未注册二级终端节点时,可以实时地获取未注册二级终端节点的节点标签数据,以便利用未注册二级终端节点的节点标签数据为未注册二级终端节点进行注册。
其中,节点标签数据可以包括节点属性数据和代理节点的代理节点标识。即每个终端节点的节点标签数据均可以包括该终端节点的节点属性数据和与该终端节点相关联的代理节点的代理节点标识。
具体地,节点属性数据可以用于描述终端节点的属性以及用于为创建的任务指定执行其的第二终端节点。代理节点标识可以用于指明终端节点所属的代理节点。
可选地,未注册二级终端节点的节点属性数据可以包括但不限于未注册二级终端节点的固有属性数据和系统属性数据。
以未注册二级终端节点为电子设备为例,固有属性数据可以包括电子设备的设备识别号,系统属性数据可以包括系统类型和系统版本。
可选地,与未注册二级终端节点的相关联的代理节点可以为部署于与该未注册二级终端节点连接的一级终端节点中的代理节点。代理节点的代理节点标识可以为代理节点在分布式系统中的唯一识别标识,该代理节点标识可以为在对代理节点进行注册时为该代理节点生成的标识。
在本公开实施例中,该唯一识别标识可以被称作可用设备标识(Pesduo-deviceIdentifier,PDID)。
S230、将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。
在本公开实施例中,在代理节点获取未注册二级终端节点的节点标签数据之后,可以将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,以使服务节点可以根据该未注册二级终端节点的节点标签数据对该未注册二级终端节点进行注册,使该未注册二级终端节点变为已注册二级终端节点,以将该未注册二级终端节点自动注册到分布式系统中,进而使服务节点可以根据分布式系统中的各个已注册二级终端节点的节点标签数据,为各个已注册二级终端节点进行任务分配。
其中,服务节点可以为图1中所示的服务节点104,在此不做赘述。
在本公开实施例中,能够通过部署于分布式系统的一级终端节点中的代理节点与该一级终端节点连接的各个二级终端节点进行实时检测,并且在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,使服务节点根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,从而能够通过代理节点和服务节点配合以自动对新接入分布式系统的一级终端节点的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点对二终端级节点进行分布式部署的情况下的任务分配。另外,由于二终端级节点由代理节点进行分布式控制,即使某个代理节点出现问题,其他正常的代理节点所管理的二级终端节点仍可以正常工作,提高了对节点的管控可靠性。
在本公开一些实施例中,在S230之后,该节点控制方法还可以包括:
将未注册二级终端节点变更为已注册二级终端节点。
具体地,代理节点可以在将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点之后,在本地将未注册二级终端节点变更为已注册二级终端节点。
在一些实施例中,将未注册二级终端节点变更为已注册二级终端节点可以具体包括:对未注册二级终端节点的节点标签数据进行存储。
具体地,代理节点可以在将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点之后,对未注册二级终端节点的节点标签数据进行存储,进而将未注册二级终端节点变更为已注册二级终端节点。
在另一些实施例中,将未注册二级终端节点变更为已注册二级终端节点可以具体包括:接收调度服务节点反馈的未注册二级终端节点的终端节点标识;对未注册二级终端节点的节点标签数据和终端节点标识进行关联存储。
具体地,服务节点在对未注册二级终端节点进行注册时,还可以为该未注册二级终端节点生成该未注册二级终端节点的终端节点标识。代理节点可以在将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点之后,接收调度服务节点反馈的未注册二级终端节点的终端节点标识,并且对未注册二级终端节点的节点标签数据和终端节点标识进行关联存储,进而将未注册二级终端节点变更为已注册二级终端节点。
在本公开实施例中,可选地,一级终端节点可以具有多个通信接口。每个通信接口可以分别用于连接一个二级终端节点。
在一些实施例中,通信接口可以包括物理接口。相应地,该通信接口可以用于与由真实电子设备形成的二级终端节点连接。
在另一些实施例中,通信接口可以包括虚拟接口。相应地,该通信接口可以用于与由虚拟电子设备形成的二级终端节点连接。
在这些实施例中,代理节点可以利用所属的一级终端节点的各个通信接口实现对与所属的一级终端节点连接的各个二级终端节点的实时检测。
在本公开一些实施例中,S210可以具体包括:
对一级终端节点的各个通信接口进行实时检测,一个通信接口用于连接一个二级终端节点;
当在各个通信接口中检测到目标通信接口时,获取与目标通信接口连接的目标二级终端节点的节点标签数据,目标通信接口为接口状态由未连接节点变为连接节点的通信接口;
在确定各个二级终端节点中的已注册二级终端节点的节点标签数据中不包含目标二级终端节点的节点标签数据的情况下,将目标二级终端节点作为未注册二级终端节点。
具体地,代理节点可以对所属的一级终端节点的各个通信接口进行实时检测,以在该一级终端节点的各个通信接口中自动检测接口状态由未连接节点变为连接节点的目标通信接口,由于目标通信接口由未连接节点的状态变更为连接节点的状态,因此,目标通信接口也为新连接二级终端节点的通信接口。当代理节点在各个通信接口中检测到目标通信接口时,可以确定目标通信接口连接的目标二级终端节点可能为新接入的未注册二级终端节点,因此,可以获取与目标通信接口连接的目标二级终端节点的节点标签数据,并确定目标二级终端节点的节点标签数据是否存在于该代理节点所管理的各个二级终端节点中的已注册二级终端节点的节点标签数据中,如果确定已注册二级终端节点的节点标签数据中不包含目标二级终端节点的节点标签数据,则可以将目标二级终端节点作为未注册二级终端节点,否则,如果确定已注册二级终端节点的节点标签数据中包含目标二级终端节点的节点标签数据,可以确定目标二级终端节点为已注册二级终端节点。
进一步地,代理节点可以实时地对所属的一级终端节点的各个通信接口的接口状态进行实时检测,当检测到接口状态变更的通信接口,可以对其接口状态的变更方式进行判断,如果其接口状态的变更方式为由未连接节点变为连接节点,则可以将该通信接口作为目标通信接口,即目标通信接口可以为新连接二级终端节点的通信接口。
进一步地,代理节点可以在获取到目标二级终端节点的节点标签数据之后,确定目标二级终端节点的节点标签数据是否存在于各个二级终端节点中的已注册二级终端节点的节点标签数据中。
在一些实施例中,在代理节点本地存储有已注册二级终端节点的节点标签数据的情况下,代理节点可以对已注册二级终端节点的节点标签数据进行遍历,以查询已注册二级终端节点的节点标签数据中是否存在与目标二级终端节点的节点标签数据相同的标签数据,如果存在,则可以确定已注册二级终端节点的节点标签数据中包含目标二级终端节点的节点标签数据,否则,可以确定已注册二级终端节点的节点标签数据中不包含目标二级终端节点的节点标签数据。
在另一些实施例中,在代理节点本地未存储已注册二级终端节点的节点标签数据的情况下,代理节点可以将目标二级终端节点的节点标签数据发送至服务节点,使服务节点为其查询其存储的已注册二级终端节点的节点标签数据中是否包含目标二级终端节点的节点标签数据。
由此,在本公开实施例中,代理节点可以利用所属的一级终端节点的各个通信接口和与所属的一级终端节点连接的各个二级终端节点的节点标签数据,实现对与所属的一级终端节点连接的各个二级终端节点中的未注册二级终端节点的实时检测。
进一步地,在将目标二级终端节点作为未注册二级终端节点之后,代理节点可以获取未注册二级终端节点的节点标签数据,并自动将未注册二级终端节点的节点标签数据发送至服务节点以为其进行注册。在确定目标二级终端节点为已注册二级终端节点之后,代理节点可以确定目标二级终端节点由离线状态变更为在线状态,并且向服务节点发送用于指示目标二级终端节点由离线状态变更为在线状态的通知信息,以使服务节点将目标二级终端节点由离线状态变更为在线状态。
进一步地,代理节点可以实时地对所属的一级终端节点的各个通信接口的接口状态进行实时检测,当检测到接口状态变更的通信接口,可以对其接口状态的变更方式进行判断,如果其接口状态的变更方式为由连接节点变为未连接节点,则可以确定该通信接口在接口状态变更之前所连接的二级终端节点,进而可以确定该二级终端节点由在线状态变更为离线状态,并且向服务节点发送用于指示该二级终端节点由在线状态变更为离线状态的通知信息,以使服务节点将该二级终端节点由在线状态变更为离线状态。
由此,在本公开实施例中,代理节点还可以自动探测二级终端节点的插拔操作,主动探测二级终端节点的离在线情况,进而自动向服务节点发送用于变更二级终端节点的离在线状态的通知,实现对二级终端节点的启停管理。
在本公开另一些实施例中,S210也可以具体包括:
对一级终端节点的各个通信接口进行实时检测,一个通信接口用于连接一个所述二级终端节点;
当在各个通信接口中检测到目标通信接口时,检测与目标通信接口连接的目标二级终端节点的终端节点标识;
在确定目标二级终端节点不具有终端节点标识的情况下,将目标二级终端节点作为未注册二级终端节点。
具体地,代理节点可以对所属的一级终端节点的各个通信接口进行实时检测,以在该一级终端节点的各个通信接口中自动检测接口状态由未连接节点变为连接节点的目标通信接口。当代理节点在各个通信接口中检测到目标通信接口时,可以确定目标通信接口连接的目标二级终端节点可能为新接入的未注册二级终端节点,因此,可以检测与目标通信接口连接的目标二级终端节点的终端节点标识,以确定目标二级终端节点是否已经具有分布式系统中的唯一识别标识,由于终端节点标识为对终端节点进行注册时为终端节点生成的标识,如果确定目标二级终端节点不具有终端节点标识,则可以将目标二级终端节点作为未注册二级终端节点,否则,如果确定目标二级终端节点具有终端节点标识,可以确定目标二级终端节点为已注册二级终端节点。
其中,代理节点在各个通信接口中检测目标通信接口以及对二级终端节点的启停管理的方法与上述实施例相似,在此不做赘述。
进一步地,代理节点可以在检测到目标通信接口之后,进一步检测与目标通信接口连接的目标二级终端节点的终端节点标识,以确定目标二级终端节点是否具有终端节点标识。
在一些实施例中,在代理节点本地对已注册二级终端节点的节点标签数据和终端节点标识进行了关联存储的情况下,代理节点可以对各个二级终端节点中的已注册二级终端节点的节点标签数据进行遍历,以查询已注册二级终端节点的节点标签数据中是否存在与目标二级终端节点的节点标签数据相同的标签数据,如果存在,则可以确定目标二级终端节点具有终端节点标识,否则,可以确定目标二级终端节点不具有终端节点标识。
在另一些实施例中,在代理节点本地未对已注册二级终端节点的节点标签数据和终端节点标识进行了关联存储的情况下,代理节点可以请求目标二级终端节点反馈其所拥有的终端节点标识,如果目标二级终端节点反馈了终端节点标识,则可以确定目标二级终端节点具有终端节点标识,否则,可以确定目标二级终端节点不具有终端节点标识。
由此,在本公开实施例中,代理节点可以利用所属的一级终端节点的各个通信接口和与所属的一级终端节点连接的各个二级终端节点的终端节点标识,实现对与所属的一级终端节点连接的各个二级终端节点中的未注册二级终端节点的实时检测。
在本公开另一种实施方式中,为了进一步减少向分布式系统接入新节点的成本和耗时,在S210之前,该节点控制方法还可以包括:
在检测到一级终端节点首次接入分布式系统的情况下,获取一级终端节点的节点标签数据;
将一级终端节点的节点标签数据发送至服务节点,节点标签数据还用于对一级终端节点进行节点注册。
在本公开实施例中,代理节点在检测到一级终端节点接入分布式系统之后,可以首先判断一级终端节点是否为首次接入分布式系统,如果是,则可以获取一级终端节点的节点标签数据,并且将一级终端节点的节点标签数据发送至服务节点,以使服务节点可以根据该一级终端节点的节点标签数据对该一级终端节点进行注册,进而将该一级终端节点自动注册到分布式系统中。
其中,节点标签数据与上述的未注册二级终端节点的节点标签数据相似,在此不做赘述。
在一些实施例中,代理节点判断一级终端节点是否为首次接入分布式系统可以具体包括:代理节点判断自身是否为首次运行,若是,则确定一级终端节点为首次接入分布式系统,否则,获取一级终端节点的节点标签数据,并确定已注册一级终端节点的节点标签数据中是否包含该一级终端节点的节点标签数据。如果已注册一级终端节点的节点标签数据中不包含该一级终端节点的节点标签数据,则确定一级终端节点为首次接入分布式系统,可以获取一级终端节点的节点标签数据,并且将一级终端节点的节点标签数据发送至服务节点。如果已注册一级终端节点的节点标签数据中包含该一级终端节点的节点标签数据,则确定该一级终端节点不是首次接入分布式系统,代理节点可以确定该一级终端节点由离线状态变更为在线状态,并且向服务节点发送用于指示该一级终端节点由离线状态变更为在线状态的通知信息,以使服务节点将该一级终端节点由离线状态变更为在线状态。
在另一些实施例中,代理节点判断一级终端节点是否为首次接入分布式系统可以具体包括:代理节点判断自身是否为首次运行,若是,则确定一级终端节点为首次接入分布式系统,否则,检测一级终端节点的终端节点标识。如果确定一级终端节点不具有终端节点标识,则确定一级终端节点为首次接入分布式系统,可以获取一级终端节点的节点标签数据,并且将一级终端节点的节点标签数据发送至服务节点。如果确定一级终端节点具有终端节点标识,则确定该一级终端节点不是首次接入分布式系统,代理节点可以确定该一级终端节点由离线状态变更为在线状态,并且向服务节点发送用于指示该一级终端节点由离线状态变更为在线状态的通知信息,以使服务节点将该一级终端节点由离线状态变更为在线状态。
在本公开一些实施例中,在将一级终端节点的节点标签数据发送至服务节点之后,该节点控制方法还可以包括:
将一级终端节点变更为已注册一级终端节点。
具体地,代理节点可以在将一级终端节点的节点标签数据发送至分布式系统的服务节点之后,在本地将一级终端节点变更为已注册一级终端节点。
在一些实施例中,将一级终端节点变更为已注册一级终端节点可以具体包括:对一级终端节点的节点标签数据进行存储。
具体地,代理节点可以在将一级终端节点的节点标签数据发送至分布式系统的服务节点之后,对一级终端节点的节点标签数据进行存储,进而将一级终端节点变更为已注册一级终端节点。
在另一些实施例中,将一级终端节点变更为已注册一级终端节点可以具体包括:接收调度服务节点反馈的一级终端节点的终端节点标识;对一级终端节点的节点标签数据和终端节点标识进行关联存储。
具体地,服务节点在对一级终端节点进行注册时,还可以为该一级终端节点生成该一级终端节点的终端节点标识。代理节点可以在将一级终端节点的节点标签数据发送至分布式系统的服务节点之后,接收调度服务节点反馈的一级终端节点的终端节点标识,并且对一级终端节点的节点标签数据和终端节点标识进行关联存储,进而将一级终端节点变更为已注册一级终端节点。
由此,在本公开实施例中,当一级终端节点新接入分布式系统时,代理节点可以自动将一级终端节点注册到分布式系统中。
在本公开实施例中,可选地,在检测一级终端节点是否为首次接入分布式系统之前,代理节点还可以接收首次启动指令,并响应于首次启动指令开始首次运行,进而将代理节点的节点识别码发送至服务节点,以使服务节点对代理节点进行注册。在服务节点对代理节点进行注册时,还可以为代理节点生成该代理节点的代理节点标识,并且向代理节点反馈其代理节点标识,使代理节点对接收到的代理节点标识进行存储,实现对代理节点的注册。
在本公开又一种实施方式中,每个二级终端节点在同一时刻只能执行一个任务,为了提高分布式系统的可靠性,代理节点每次仅会为二级终端节点中的空闲二级终端节点拉取待分配的任务。
其中,任务可以至少包括数据存储任务、数据查询任务、数据处理任务和测试任务。
在本公开实施例中,该节点控制方法还可以包括:
确定各个二级终端节点中的空闲二级终端节点;
向服务节点发送针对空闲二级终端节点的任务轮询请求;
接收服务节点反馈的任务轮询请求对应的任务轮询结果;
根据任务轮询结果,控制空闲二级终端节点获取待分配的任务。
具体地,代理节点可以对与所属的一级终端节点连接的各个二级终端节点的节点状态进行检测,并确定节点状态为空闲状态的空闲二级终端节点,然后向服务节点发送依次针对每个空闲二级终端节点的任务轮询请求。服务节点可以响应于任务轮询请求,依次为每个空闲二级终端节点查询其可以获取的待分配的任务,并且生成任务轮询请求对应的任务轮询结果,进而向代理节点反馈生成的任务轮询结果。代理节点在接收到服务节点反馈的任务轮询请求对应的任务轮询结果之后,可以根据针对每个空闲二级终端节点的任务轮询结果,分别控制相应的空闲二级终端节点获取待分配的任务。
可选地,空闲二级终端节点可以包括处于上线状态的二级终端节点,也可以包括处于离线状态的二级终端节点,在此不做限制。
在空闲二级终端节点包括处于上线状态的二级终端节点的情况下,当接收到针对该类空闲二级终端节点的任务轮询结果之后,可以直接控制空闲二级终端节点获取待分配的任务。
在空闲二级终端节点包括处于离线状态的二级终端节点的情况下,当接收到针对该类空闲二级终端节点的任务轮询结果之后,可以等待检测到空闲二级终端节点上线之后,再控制空闲二级终端节点获取待分配的任务。
可选地,代理节点可以在各个二级终端节点中的已注册二级终端节点中,确定已注册二级终端节点中的空闲二级终端节点。
可选地,确定各个二级终端节点中的空闲二级终端节点可以具体包括:
在代理节点满足预设的健康状态判断条件和/或代理节点与实时接收的随机数相匹配的情况下,确定各个二级终端节点中的空闲二级终端节点。
具体地,代理节点可以首先确认自身是否满足从服务节点拉取待分配的任务的条件,该条件可以包括满足预设的健康状态判断条件和代理节点与实时接收的随机数相匹配中的至少一种,如果代理节点满足该条件,则可以向服务节点轮询其管理的每个空闲二级终端节点当前是否可以获取待分配的任务。
可选地,预设的健康状态判断条件可以包括磁盘剩余空间大于或等于预设空间容量和资源占用率小于或等于预设占用率中的至少一种。
在一些实施例中,代理节点可以实时地判断自身的磁盘剩余空间是否大于或等于预设空间容量以及资源占用率是否小于或等于预设占用率,如果代理节点的磁盘剩余空间小于预设空间容量和/或资源占用率大于预设占用率,则说明代理节点的磁盘剩余空间不足和/或负载过高,即代理节点的健康状态不良,不满足预设的健康状态判断条件,即使代理节点所管理的二级终端节点中存在空闲二级终端节点,也不适合获取新的任务,进而可以暂停本次轮询,等代理节点重新满足预设的健康状态判断条件之后,再重新开始轮询。否则,说明代理节点满足预设的健康状态判断条件,代理节点可以确定各个二级终端节点中的空闲二级终端节点,并针对空闲二级终端节点进行任务轮询。
在另一些实施例中,代理节点也可以将自身的磁盘剩余空间和资源占用率等健康状态上报服务节点,使服务节点可以根据代理节点上报的磁盘剩余空间和资源占用率判断代理节点是否预设的健康状态判断条件,如果代理节点满足预设的健康状态判断条件,服务节点可以通知代理节点开始本次轮询,使得代理节点可以确定各个二级终端节点中的空闲二级终端节点,并针对空闲二级终端节点进行任务轮询,否则,通知代理节点暂停本次轮询。
由此,在本公开实施例中,代理节点可以根据本地健康状态动态地调整任务获取策略,提高分布式系统的可靠性。
可选地,代理节点与实时接收的随机数相匹配可以包括代理节点的终端节点标识为随机数的倍数或者代理节点的终端节点标识与随机数满足预设的映射关系,在此不作限制。
具体地,代理节点在开始轮询之前,可以先判断其与实时接收的随机数是否匹配,如果匹配,则可以确定各个二级终端节点中的空闲二级终端节点,并针对空闲二级终端节点进行任务轮询,否则,暂停本次轮询。
由此,在本公开实施例中,可以为代理节点的每次轮询的间隔加上随机数,放置服务节点在同一时刻接收到过多任务轮询请求,,提高分布式系统的可靠性,同时,也可以达到负载均衡效果。
在本公开实施例中,可选地,向服务节点发送针对空闲二级终端节点的任务轮询请求可以包括向服务节点依次发送携带每个空闲二级终端节点的终端节点标识的任务轮询请求,以利用每个空闲二级终端节点的终端节点标识为其轮询新的任务。
在本公开实施例中,可选地,接收服务节点反馈的任务轮询请求对应的任务轮询结果,根据任务轮询结果,控制空闲二级终端节点获取待分配的任务可以包括依次接收服务节点反馈的携带每个空闲二级终端节点的任务轮询结果。
在本公开实施例中,可选地,代理节点可以依次根据每个接收到的任务轮询结果,控制该任务轮询结果对应的空闲二级终端节点获取待分配的任务。
具体地,在轮询过程中,代理节点会依次针对每个空闲二级终端节点分别向服务节点发送一个任务轮询请求,即代理节点会向服务节点发送与空闲二级终端节点的数量相同的任务轮询请求,每个任务轮询请求只携带一个空闲二级终端节点的终端节点标识。服务节点可以获取任务轮询请求中的终端节点标识,并且基于该终端节点标识查询其符合的终端节点筛选条件所属的待分配的任务,进而根据查询结果和终端节点标识生成任务轮询结果。代理节点在接收到任务轮询结果之后,如果任务轮询结果指示该终端节点标识具有待分配的任务,则可以获取任务轮询结果中的任务信息,并根据该任务信息如任务标识,控制该终端节点标识所属的空闲二级终端节点获取任务轮询结果所指示的任务,否则,如果任务轮询结果指示该终端节点标识不具有待分配的任务,控制该终端节点标识所属的空闲二级终端节点不获取任何任务。
在本公开再一种实施方式中,在二级终端节点执行任务的过程中,进行中的任务的实时任务状态可能会发生改变,为了进一步提高分布式系统的可靠性,代理节点还会实时地监测进行中的任务的实时任务状态,进而根据实时任务状态调整二级终端节点中的非空闲二级终端节点的任务执行情况。
在本公开实施例中,该节点控制方法还可以包括:
确定各个二级终端节点中的非空闲二级终端节点正在执行的进行中的任务;
向服务节点发送针对进行中的任务的状态轮询请求;
接收服务节点反馈的状态轮询请求对应的状态轮询结果;
根据状态轮询结果,控制非空闲二级终端节点执行进行中的任务。
具体地,代理节点可以对所管理的各个二级终端节点的节点状态进行检测,并确定节点状态为工作状态的非空闲二级终端节点,然后向服务节点发送依次针对每个非空闲二级终端节点正在执行的进行中的任务的状态轮询请求。服务节点可以响应于状态轮询请求,依次为查询每个进行中的任务的实时任务状态,并且生成状态轮询请求对应的状态轮询请求,进而向代理节点反馈生成的状态轮询请求。代理节点在接收到服务节点反馈的状态轮询请求之后,可以根据针对每个进行中的任务的状态轮询结果,分别控制相应的非空闲二级终端节点执行进行中的任务。
可选地,代理节点可以在各个二级终端节点中的已注册二级终端节点中,确定已注册二级终端节点中的非空闲二级终端节点,进而确定非空闲二级终端节点正在执行的进行中的任务。
在轮询过程中,代理节点会依次针对每个非空闲二级终端节点正在执行的进行中的任务分别向服务节点发送一个状态轮询请求,即代理节点会向服务节点发送与非空闲二级终端节点的数量相同的状态轮询请求,每个状态轮询请求只携带一个非空闲二级终端节点正在执行的进行中的任务的任务信息。服务节点可以获取状态轮询请求中的任务信息如任务标识,并且基于该任务信息查询对应任务的实时任务状态,进而根据实时任务状态和任务信息生成状态轮询结果。代理节点在接收到状态轮询结果之后,如果状态轮询结果指示该任务信息对应的实时任务状态为取消状态,则可以控制执行该任务信息所属的任务的非空闲二级终端节点停止执行该任务,否则,如果状态轮询结果指示该任务信息对应的实时任务状态为非取消状态,控制该非空闲二级终端节点继续执行该任务。
综上,在本公开实施例中,代理节点可以基于上述的节点控制方法,来实现分布式环境下的二级终端节点的管理,如对与其所属的一级终端节点连接的二级终端节点的启停管理、任务调度和健康上报等管理。
下面结合图3对本公开实施例提供的节点管理方法进行说明。在本公开实施例中,该节点管理方法可以应用于分布式系统的服务节点。其中,该服务节点可以为图1中所示的服务节点104,在此不做赘述。
图3示出了本公开实施例提供的一种节点管理方法的流程示意图。
如图3所示,该节点管理方法可以包括如下步骤。
S310、接收代理节点发送的未注册二级终端节点的节点标签数据,代理节点部署于分布式系统的一级终端节点中,未注册二级终端节点由代理节点在与一级终端节点连接的各个二级终端节点中实时检测得到。
在本公开实施例中,服务节点可以实时接收代理节点发送的需要进行注册的未注册二级终端节点的节点标签数据。
其中,代理节点可以为图1中所示的代理节点103,一级终端节点可以为图1中所示的一级终端节点101,二级终端节点可以为图1中所示的二级终端节点102,在此不做赘述。
进一步地,代理节点实时检测未注册二级终端节点的方法已在图2所示的实施例中说明,在此不做赘述。
S320、根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点。
在本公开实施例中,在接收到未注册二级终端节点的节点标签数据之后,服务节点可以根据预设的标识生成方式为该未注册二级终端节点生成该未注册二级终端节点的终端节点标识,进而将未注册二级终端节点的节点标签数据和终端节点标识进行关联存储,以实现对未注册二级终端节点的注册,使得未注册二级终端节点变更为已注册二级终端节点。
其中,终端节点的代理节点标识可以为终端节点在分布式系统中的唯一识别标识。可选地,该唯一识别标识可以被称作PDID。
可选地,预设的标识生成方式可以为服务节点为该未注册二级终端节点随机生成一个终端节点标识,也可以为其他的标识生成方式,只要是能够为终端节点生成在分布式系统中的唯一识别标识即可,在此不作限制。
S330、根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
在本公开一些实施例中,服务节点可以在对未注册二级终端节点进行注册之后,实时根据更新后的分布式系统中的各个已注册二级终端节点的节点标签数据,为各个已注册二级终端节点进行任务分配。
在本公开另一些实施例中,服务节点也可以在未接收到未注册二级终端节点的节点标签数据的情况下以及执行S310和S320的过程中,实时根据未更新的分布式系统中的各个已注册二级终端节点的节点标签数据,为各个已注册二级终端节点进行任务分配。
在本公开实施例中,能够通过部署于分布式系统的一级终端节点中的代理节点与该一级终端节点连接的各个二级终端节点进行实时检测,并且在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,使服务节点根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,从而能够通过代理节点和服务节点配合以自动对新接入分布式系统的一级终端节点的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点对二终端级节点进行分布式部署的情况下的任务分配。另外,由于二终端级节点由代理节点进行分布式控制,即使某个代理节点出现问题,其他正常的代理节点所管理的二级终端节点仍可以正常工作,提高了对节点的管控可靠性。
在本公开实施例中,可选地,在S310之前,该节点管理方法还可以包括:
接收代理节点发送的首次接入分布式系统的一级终端节点的节点标签数据;
根据一级终端节点的节点标签数据,对一级终端节点进行注册,使一级终端节点变更为已注册一级终端节点。
具体地,在接收到首次接入分布式系统的一级终端节点的节点标签数据之后,服务节点可以根据上述的标识生成方式为该一级终端节点生成该一级终端节点的终端节点标识,进而将一级终端节点的节点标签数据和终端节点标识进行关联存储,以实现对一级终端节点的注册,使得一级终端节点变更为已注册一级终端节点。
在本公开实施例中,可选地,S330可以具体包括:
在接收到待分配的任务的情况下,获取待分配的任务对应的终端节点筛选条件;
在已注册二级终端节点的节点标签数据中,确定满足终端节点筛选条件的目标节点标签数据;
根据目标节点标签数据所属的已注册二级终端节点,生成待分配的任务对应的备选终端节点列表。
具体地,服务节点可以实时地接收前端设备创建的任务,并将其作为待分配的任务。其中,前端设备在创建任务时,可以为创建的任务设置终端节点筛选条件,以使服务节点可以基于终端节点筛选条件为其筛选能够执行该任务的备选终端节点。服务节点在每接收到一个待分配的任务之后,可以获取待分配的任务对应的终端节点筛选条件,并且对已注册二级终端节点的节点标签数据进行实时遍历,查询满足终端节点筛选条件的目标节点标签数据,进而获取目标节点标签数据所属的已注册二级终端节点的终端节点标识,并且根据获取到的终端节点标识生成该待分配的任务对应的备选终端节点列表。
其中,任务可以至少包括数据存储任务、数据查询任务、数据处理任务和测试任务。
可选地,终端节点筛选条件可以为用于对节点标签数据进行筛选的限制性条件,使得服务节点可以基于终端节点筛选条件对已注册二级终端节点的节点标签数据进行筛选,进而查询到符合任务需求的已注册二级终端节点。
例如,在节点标签数据包括系统类型和系统版本的情况下,终端节点筛选条件可以为系统类型为指定系统类型和系统版本为指定系统版本,此时,满足终端节点筛选条件的已注册二级终端节点应具有大于或等于指定系统版本的指定系统类型。
可选地,服务节点可以对全部的已注册二级终端节点的节点标签数据进行遍历,无论该已注册二级终端节点处于上线状态还是离线状态。
在本公开一些实施例中,在根据目标节点标签数据所属的已注册二级终端节点,生成待分配的任务对应的备选终端节点列表之后,该节点管理方法还可以包括:
对待分配的任务的等待时长进行计时;
在等待时长达到第二预设时长时待分配的任务仍未被分配的情况下,将待分配的任务变更为分配失败的任务。
具体地,服务节点在每生成一个待分配的任务对应的备选终端节点列表之后,可以存储该待分配的任务对应的备选终端节点列表,以使待分配的任务进入等待分配状态,并且对待分配的任务的等待时长进行计时,如果在等待时长达到第二预设时长之前该待分配的任务被分配,则可以将其变更为已分配的任务,如果在等待时长达到第二预设时长时待分配的任务仍未被分配,则可以确定任务分配超时,进而将待分配的任务变更为分配失败的任务。
在本公开实施例中,在确定任务分配失败之后,不会再对该任务进行其他处理,任务的实时任务状态也不会再被变更。
在本公开另一种实施方式中,为了提高分布式系统的可靠性,服务节点还可以接受代理节点的轮询,以使代理节点可以为其管理的空闲二级终端节点拉取待分配的任务。
在本公开实施例中,该节点管理方法还可以包括:
接收代理节点发送的针对空闲二级终端节点的任务轮询请求,空闲二级终端节点属于二级终端节点;
按照任务轮询请求对应的轮询顺序,根据各个待分配的任务对应的备选终端节点列表,确定任务轮询请求对应的任务轮询结果;
向代理节点反馈任务轮询结果。
具体地,在轮询过程中,代理节点会依次针对每个空闲二级终端节点分别向服务节点发送一个任务轮询请求,每个任务轮询请求可以携带一个空闲二级终端节点的终端节点标识。服务节点可以依次接收代理节点发送的针对每个空闲二级终端节点的任务轮询请求,然后按照任务轮询请求对应的轮询顺序,依次获取每个任务轮询请求中的空闲二级终端节点的终端节点标识,并且依次基于每个空闲二级终端节点的终端节点标识,在预先存储的各个待分配的任务对应的备选终端节点列表中查询该终端节点标识符合的终端节点筛选条件所属的待分配的任务,进而根据查询结果和终端节点标识生成该终端节点标识所属的任务轮询请求对应的任务轮询结果,并且向代理节点反馈该终端节点标识所属的任务轮询请求对应的任务轮询结果。
进一步地,针对每个终端节点标识可以按照存储时间由先至后的顺序,在预先存储的待分配的任务对应的备选终端节点列表中,查询首次出现该终端节点标识的备选终端节点列表,如果查询到首次出现该终端节点标识的备选终端节点列表,则根据该备选终端节点列表所属的待分配的任务的任务信息和终端节点标识,生成用于指示该终端节点标识具有待分配的任务的任务轮询结果,否则,如果查询到该终端节点标识未出现在任何的备选终端节点列表中,则可以根据该终端节点标识生成用于指示该终端节点标识不具有待分配的任务的任务轮询结果。
进一步地,当针对每个终端节点标识查询到首次出现该终端节点标识的备选终端节点列表之后,可以为该备选终端节点列表增加redis互斥锁,使得对新的终端节点标识进行查询时,只能在未增加redis互斥锁的备选终端节点列表中进行查询,进而确保同一个任务不会因为并行问题被分配给两个不同的二级终端节点。
在本公开一些实施例中,在向代理节点反馈任务轮询结果之后,该节点管理方法还可以包括:
将任务轮询结果对应的已分配的任务变更为进行中的任务;
对进行中的任务的执行时长进行计时;
在执行时长达到第一预设时长时仍未接收到进行中的任务对应的执行结果的情况下,将进行中的任务变更为执行失败的任务。
具体地,服务节点在向代理节点反馈任务轮询结果之后,可以将任务轮询结果对应的已分配的任务变更为进行中的任务,并对进行中的任务的执行时长进行计时,如果在执行时长达到第一预设时长之前接收到进行中的任务对应的执行结果,则在执行结果指示执行成功的情况下,将进行中的任务变更为执行成功的任务,而在执行结果指示执行失败的情况下,将进行中的任务变更为执行失败的任务。如果在执行时长达到第一预设时长时仍未接收到进行中的任务对应的执行结果,则可以确定任务执行超时,进而将进行中的任务变更为执行失败的任务。
其中,第一预设时长可以为根据需要预先设置的任意时长,在此不作限制。
在本公开实施例中,可选地,代理节点在根据任务轮询结果控制空闲二级终端节点获取待分配的任务之后,可以根据空闲二级终端节点所获取的任务生成状态变更请求,服务节点在接收到状态变更请求之后,可以获取状态变更请求中的任务信息,进而将任务信息所属的任务作为已分配的任务,并将已分配的任务变更为进行中的任务。
在本公开实施例中,对进行中的任务添加执行结果对应的结果标记以及确定任务执行失败之后,不会再对该任务进行其他处理,任务的实时任务状态也不会再被变更。
在本公开又一种实施方式中,在二级终端节点执行任务的过程中,进行中的任务的实时任务状态可能会发生改变,为了进一步提高分布式系统的可靠性,服务节点还需要实时配合代理节点监测进行中的任务的实时任务状态。
在本公开实施例中,该节点管理方法还可以包括:
接收代理节点发送的针对进行中的任务的状态轮询请求,进行中的任务为各个二级终端节点中的非空闲二级终端节点正在执行的任务;
根据进行中的任务的实时任务状态,生成状态轮询请求对应的状态轮询结果;
向代理节点反馈状态轮询结果。
具体地,在轮询过程中,代理节点会依次针对每个非空闲二级终端节点正在执行的进行中的任务分别向服务节点发送一个状态轮询请求,每个状态轮询请求只携带一个非空闲二级终端节点正在执行的进行中的任务的任务信息。服务节点可以依次接收代理节点发送的针对每个非空闲二级终端节点正在执行的进行中的任务的状态轮询请求,然后按照状态轮询请求对应的轮询顺序,依次获取每个状态轮询请求中的任务信息如任务标识,并且依次基于每个任务信息查询对应任务的实时任务状态,进而根据实时任务状态和任务信息生成状态轮询结果,并且向代理节点反馈该任务信息所属的状态轮询请求对应的状态轮询结果。
其中,状态轮询请求用于查询对应的任务的实时任务状态是否为取消状态,状态轮询结果可以用于指示对应的任务的实时任务状态为取消状态或非取消状态。
综上,在本公开实施例中,服务节点可以基于上述的节点管理方法,来实现分布式环境下对二终端级节点的任务分配和协调服务。
本公开实施例还提供了一种用于实现上述的节点控制方法的节点控制装置,下面结合图4进行说明。在本公开实施例中,该节点控制装置可以应用于分布式系统的代理节点,代理节点可以部署于分布式系统的一级终端节点中。其中,该代理节点可以为图1中所示的代理节点103,一级终端节点可以为图1中所示的一级终端节点101,在此不做赘述。
图4示出了本公开实施例提供的一种节点控制装置的结构示意图。
如图4所示,该节点控制装置400可以包括节点检测单元410、第一获取单元420和第一发送单元430。
该节点检测单元410可以配置为对与一级终端节点连接的各个二级终端节点进行实时检测。
该第一获取单元420可以配置为当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据。
该第一发送单元430可以配置为将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。
在本公开实施例中,能够通过部署于分布式系统的一级终端节点中的代理节点与该一级终端节点连接的各个二级终端节点进行实时检测,并且在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,使服务节点根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,从而能够通过代理节点和服务节点配合以自动对新接入分布式系统的一级终端节点的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点对二终端级节点进行分布式部署的情况下的任务分配。另外,由于二终端级节点由代理节点进行分布式控制,即使某个代理节点出现问题,其他正常的代理节点所管理的二级终端节点仍可以正常工作,提高了对节点的管控可靠性。
在本公开一些实施例中,该节点检测单元410可以包括接口检测子单元、第一处理子单元和第二处理子单元。
该接口检测子单元可以配置为对一级终端节点的各个通信接口进行实时检测,一个通信接口用于连接一个二级终端节点。
该第一处理子单元可以配置为当在各个通信接口中检测到目标通信接口时,获取与目标通信接口连接的目标二级终端节点的节点标签数据,目标通信接口为接口状态由未连接节点变为连接节点的通信接口。
该第二处理子单元可以配置为在确定各个二级终端节点中的已注册二级终端节点的节点标签数据中不包含目标二级终端节点的节点标签数据的情况下,将目标二级终端节点作为未注册二级终端节点。
相应地,该节点控制装置400还可以包括第一处理单元,该第一处理单元可以配置为在将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点之后,将未注册二级终端节点变更为已注册二级终端节点。
在本公开一些实施例中,该节点控制装置400还可以包括第二获取单元、第二发送单元和第二处理单元。
该第二获取单元可以配置为在对与一级终端节点连接的各个二级终端节点进行实时检测之前,在检测到一级终端节点首次接入分布式系统的情况下,获取一级终端节点的节点标签数据。
该第二发送单元可以配置为将一级终端节点的节点标签数据发送至服务节点,节点标签数据还用于对一级终端节点进行节点注册。
该第二处理单元可以配置为将一级终端节点变更为已注册一级终端节点。
在本公开一些实施例中,节点标签数据可以包括节点属性数据和代理节点的代理节点标识。
在本公开一些实施例中,该节点控制装置400还可以包括第一确定单元、第三发送单元、第二接收单元和第一控制单元。
该第一确定单元可以配置为确定各个二级终端节点中的空闲二级终端节点。
该第三发送单元可以配置为向服务节点发送针对空闲二级终端节点的任务轮询请求。
该第二接收单元可以配置为接收服务节点反馈的任务轮询请求对应的任务轮询结果。
该第一控制单元可以配置为根据任务轮询结果,控制空闲二级终端节点获取待分配的任务。
在本公开一些实施例中,该第一确定单元可以进一步配置为在代理节点满足预设的健康状态判断条件和/或代理节点与实时接收的随机数相匹配的情况下,确定各个二级终端节点中的空闲二级终端节点。
在本公开一些实施例中,该节点控制装置400还可以包括第二确定单元、第四发送单元、第三接收单元和第二控制单元。
该第二确定单元可以配置为确定各个二级终端节点中的非空闲二级终端节点正在执行的进行中的任务。
该第四发送单元可以配置为向服务节点发送针对进行中的任务的状态轮询请求。
该第三接收单元可以配置为接收服务节点反馈的状态轮询请求对应的状态轮询结果。
该第二控制单元可以配置为根据状态轮询结果,控制非空闲二级终端节点执行进行中的任务。
需要说明的是,图4所示的节点控制装置400可以执行图2所示的方法实施例中的各个步骤,并且实现图2所示的方法实施例中的各个过程和效果,在此不做赘述。
本公开实施例还提供了一种用于实现上述的节点管理方法的节点管理装置,下面结合图5进行说明。在本公开实施例中,该节点管理装置可以应用于分布式系统的服务节点。其中,该服务节点可以为图1中所示的服务节点104,在此不做赘述。
图5示出了本公开实施例提供的一种节点管理装置的结构示意图。
如图5所示,该节点管理装置500可以包括第一接收单元510、第一注册单元520和任务分配单元530。
该第一接收单元510可以配置为接收代理节点发送的未注册二级终端节点的节点标签数据,代理节点部署于分布式系统的一级终端节点中,未注册二级终端节点由代理节点在与一级终端节点连接的各个二级终端节点中实时检测得到。
该第一注册单元520可以配置为根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点。
该任务分配单元530可以配置为根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
在本公开实施例中,能够通过部署于分布式系统的一级终端节点中的代理节点与该一级终端节点连接的各个二级终端节点进行实时检测,并且在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据,进而将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,使服务节点根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,从而能够通过代理节点和服务节点配合以自动对新接入分布式系统的一级终端节点的未注册二级终端节点进行注册,实现对未注册二级终端节点的自动接入,减少向分布式系统接入新节点的成本和耗时。同时,服务节点还能够根据已注册二级终端节点的节点标签数据为已注册二级终端节点进行任务分配,进而能够保证在利用代理节点对二终端级节点进行分布式部署的情况下的任务分配。另外,由于二终端级节点由代理节点进行分布式控制,即使某个代理节点出现问题,其他正常的代理节点所管理的二级终端节点仍可以正常工作,提高了对节点的管控可靠性。
在本公开一些实施例中,该任务分配单元530可以包括第三处理子单元、第四处理子单元和第五处理子单元。
该第三处理子单元可以配置为在接收到待分配的任务的情况下,获取待分配的任务对应的终端节点筛选条件。
该第四处理子单元可以配置为在已注册二级终端节点的节点标签数据中,确定满足终端节点筛选条件的目标节点标签数据。
该第五处理子单元可以配置为根据目标节点标签数据所属的已注册二级终端节点,生成待分配的任务对应的备选终端节点列表。
在本公开一些实施例中,该节点管理装置500还可以包括第一计时单元和第一变更单元。
该第一计时单元可以配置为在根据目标节点标签数据所属的已注册二级终端节点,生成待分配的任务对应的备选终端节点列表之后,对待分配的任务的等待时长进行计时。
该第一变更单元可以配置为在等待时长达到第二预设时长时待分配的任务仍未被分配的情况下,将待分配的任务变更为分配失败的任务。
在本公开一些实施例中,该节点管理装置500还可以包括第四接收单元、第三确定单元和第五发送单元。
该第四接收单元可以配置为接收代理节点发送的针对空闲二级终端节点的任务轮询请求,空闲二级终端节点属于二级终端节点。
该第三确定单元可以配置为按照任务轮询请求对应的轮询顺序,根据各个待分配的任务对应的备选终端节点列表,确定任务轮询请求对应的任务轮询结果。
该第五发送单元可以配置为向代理节点反馈任务轮询结果。
在本公开一些实施例中,该节点管理装置500还可以包括第二变更单元、第二计时单元和第三变更单元。
该第二变更单元可以配置为在向所述代理节点反馈任务轮询结果之后,将任务轮询结果对应的已分配的任务变更为进行中的任务。
该第二计时单元可以配置为对进行中的任务的执行时长进行计时。
该第三变更单元可以配置为在执行时长达到第一预设时长时仍未接收到进行中的任务对应的执行结果的情况下,将进行中的任务变更为执行失败的任务。
在本公开一些实施例中,该节点管理装置500还可以包括第五接收单元、第三处理单元和第六发送单元。
该第五接收单元可以配置为接收代理节点发送的针对进行中的任务的状态轮询请求,进行中的任务为各个二级终端节点中的非空闲二级终端节点正在执行的任务。
该第三处理单元可以配置为根据进行中的任务的实时任务状态,生成状态轮询请求对应的状态轮询结果。
该第六发送单元可以配置为向代理节点反馈状态轮询结果。
需要说明的是,图5所示的节点管理装置500可以执行图3所示的方法实施例中的各个步骤,并且实现图3所示的方法实施例中的各个过程和效果,在此不做赘述。
本公开实施例还提供了一种计算设备,该计算设备可以包括处理器和存储器,存储器可以用于存储可执行指令。其中,处理器可以用于从存储器中读取可执行指令,并执行可执行指令以实现上述实施例中的节点控制方法或者节点管理方法。
图6示出了本公开实施例提供的一种计算设备的结构示意图。下面具体参考图6,其示出了适于用来实现本公开实施例中的计算设备600的结构示意图。
在本公开一些实施例中,计算设备600可以为图1中所示的代理节点103,并执行上述的节点控制方法。在本公开另一些实施例中,计算设备600也可以为图1中所示的服务节点104,并执行上述的节点管理方法。本公开对此不做限制。
需要说明的是,图6示出的计算设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,该计算设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有计算设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许计算设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的计算设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
本公开实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述实施例中的节点控制方法或者节点管理方法。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,当计算机程序被处理器执行时,使得处理器实现上述实施例中的节点控制方法或者节点管理方法。
例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的节点控制方法或者节点管理方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述计算设备中所包含的;也可以是单独存在,而未装配入该计算设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算设备执行时,使得该计算设备执行:
对与所属的一级终端节点连接的各个二级终端节点进行实时检测;当在各个二终端级节点中检测到未注册二级终端节点时,获取未注册二级终端节点的节点标签数据;将未注册二级终端节点的节点标签数据发送至分布式系统的服务节点,节点标签数据用于对二级终端节点进行节点注册和任务分配。
或者,接收代理节点发送的未注册二级终端节点的节点标签数据,代理节点部署于分布式系统的一级终端节点中,未注册二级终端节点由代理节点在与一级终端节点连接的各个二级终端节点中实时检测得到;根据未注册二级终端节点的节点标签数据,对未注册二级终端节点进行注册,使未注册二级终端节点变更为已注册二级终端节点;根据已注册二级终端节点的节点标签数据,为已注册二级终端节点进行任务分配。
在本公开实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (18)
1.一种节点控制方法,其特征在于,应用于分布式系统的代理节点,所述代理节点部署于所述分布式系统的一级终端节点中,所述方法包括:
对与所述一级终端节点连接的各个二级终端节点进行实时检测;
当在各个所述二级终端节点中检测到未注册二级终端节点时,获取所述未注册二级终端节点的节点标签数据;
将所述未注册二级终端节点的节点标签数据发送至所述分布式系统的服务节点,所述节点标签数据用于对所述二级终端节点进行节点注册和任务分配。
2.根据权利要求1所述的方法,其特征在于,所述对与所述一级终端节点连接的各个二级终端节点进行实时检测,包括:
对所述一级终端节点的各个通信接口进行实时检测,一个所述通信接口用于连接一个所述二级终端节点;
当在各个所述通信接口中检测到目标通信接口时,获取与所述目标通信接口连接的目标二级终端节点的节点标签数据,所述目标通信接口为接口状态由未连接节点变为连接节点的通信接口;
在确定各个所述二级终端节点中的已注册二级终端节点的节点标签数据中不包含所述目标二级终端节点的节点标签数据的情况下,将所述目标二级终端节点作为所述未注册二级终端节点;
其中,在所述将所述未注册二级终端节点的节点标签数据发送至所述分布式系统的服务节点之后,所述方法还包括:
将所述未注册二级终端节点变更为所述已注册二级终端节点。
3.根据权利要求1所述的方法,其特征在于,在所述对与所述一级终端节点连接的各个二级终端节点进行实时检测之前,所述方法还包括:
在检测到所述一级终端节点首次接入所述分布式系统的情况下,获取所述一级终端节点的节点标签数据;
将所述一级终端节点的节点标签数据发送至所述服务节点,所述节点标签数据还用于对所述一级终端节点进行节点注册;
将所述一级终端节点变更为已注册一级终端节点。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述节点标签数据包括节点属性数据和所述代理节点的代理节点标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定各个所述二级终端节点中的空闲二级终端节点;
向所述服务节点发送针对所述空闲二级终端节点的任务轮询请求;
接收所述服务节点反馈的所述任务轮询请求对应的任务轮询结果;
根据所述任务轮询结果,控制所述空闲二级终端节点获取待分配的任务。
6.根据权利要求5所述的方法,其特征在于,所述确定各个所述二级终端节点中的空闲二级终端节点,包括:
在所述代理节点满足预设的健康状态判断条件和/或所述代理节点与实时接收的随机数相匹配的情况下,确定各个所述二级终端节点中的所述空闲二级终端节点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定各个所述二级终端节点中的非空闲二级终端节点正在执行的进行中的任务;
向所述服务节点发送针对所述进行中的任务的状态轮询请求;
接收所述服务节点反馈的所述状态轮询请求对应的状态轮询结果;
根据所述状态轮询结果,控制所述非空闲二级终端节点执行所述进行中的任务。
8.一种节点管理方法,其特征在于,应用于分布式系统的服务节点,所述方法包括:
接收代理节点发送的未注册二级终端节点的节点标签数据,所述代理节点部署于所述分布式系统的一级终端节点中,所述未注册二级终端节点由所述代理节点在与所述一级终端节点连接的各个二级终端节点中实时检测得到;
根据所述未注册二级终端节点的节点标签数据,对所述未注册二级终端节点进行注册,使所述未注册二级终端节点变更为已注册二级终端节点;
根据所述已注册二级终端节点的节点标签数据,为所述已注册二级终端节点进行任务分配。
9.根据权利要求8所述的方法,其特征在于,所述根据所述已注册二级终端节点的节点标签数据,为所述已注册二级终端节点进行任务分配,包括:
在接收到待分配的任务的情况下,获取所述待分配的任务对应的终端节点筛选条件;
在所述已注册二级终端节点的节点标签数据中,确定满足所述终端节点筛选条件的目标节点标签数据;
根据所述目标节点标签数据所属的已注册二级终端节点,生成所述待分配的任务对应的备选终端节点列表。
10.根据权利要求9所述的方法,其特征在于,在所述根据所述目标节点标签数据所属的已注册二级终端节点,生成所述待分配的任务对应的备选终端节点列表之后,所述方法还包括:
对所述待分配的任务的等待时长进行计时;
在所述等待时长达到第二预设时长时所述待分配的任务仍未被分配的情况下,将所述待分配的任务变更为分配失败的任务。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述代理节点发送的针对空闲二级终端节点的任务轮询请求,所述空闲二级终端节点属于所述二级终端节点;
按照所述任务轮询请求对应的轮询顺序,根据各个待分配的任务对应的备选终端节点列表,确定所述任务轮询请求对应的任务轮询结果;
向所述代理节点反馈所述任务轮询结果。
12.根据权利要求11所述的方法,其特征在于,在所述向所述代理节点反馈所述任务轮询结果之后,所述方法还包括:
将所述任务轮询结果对应的已分配的任务变更为进行中的任务;
对所述进行中的任务的执行时长进行计时;
在所述执行时长达到第一预设时长时仍未接收到所述进行中的任务对应的执行结果的情况下,将所述进行中的任务变更为执行失败的任务。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述代理节点发送的针对进行中的任务的状态轮询请求,所述进行中的任务为各个所述二级终端节点中的非空闲二级终端节点正在执行的任务;
根据所述进行中的任务的实时任务状态,生成所述状态轮询请求对应的状态轮询结果;
向所述代理节点反馈所述状态轮询结果。
14.一种节点控制装置,其特征在于,应用于分布式系统的代理节点,所述代理节点部署于所述分布式系统的一级终端节点中,所述装置包括:
节点检测单元,配置为对与所述一级终端节点连接的各个二级终端节点进行实时检测;
第一获取单元,配置为当在各个所述二级终端节点中检测到未注册二级终端节点时,获取所述未注册二级终端节点的节点标签数据;
第一发送单元,配置为将所述未注册二级终端节点的节点标签数据发送至所述分布式系统的服务节点,所述节点标签数据用于对所述二级终端节点进行节点注册和任务分配。
15.一种节点管理装置,其特征在于,应用于分布式系统的服务节点,所述装置包括:
第一接收单元,配置为接收代理节点发送的未注册二级终端节点的节点标签数据,所述代理节点部署于所述分布式系统的一级终端节点中,所述未注册二级终端节点由所述代理节点在与所述一级终端节点连接的各个二级终端节点中实时检测得到;
第一注册单元,配置为根据所述未注册二级终端节点的节点标签数据,对所述未注册二级终端节点进行注册,使所述未注册二级终端节点变更为已注册二级终端节点;
任务分配单元,配置为根据所述已注册二级终端节点的节点标签数据,为所述已注册二级终端节点进行任务分配。
16.一种分布式系统,其特征在于,所述分布式系统包括代理节点、一级终端节点和服务节点,所述代理节点部署于所述一级终端节点中,其中:
所述代理节点用于对与所述一级终端节点连接的各个二级终端节点进行实时检测;当在各个所述二级终端节点中检测到未注册二级终端节点时,获取所述未注册二级终端节点的节点标签数据;将所述未注册二级终端节点的节点标签数据发送至所述分布式系统的服务节点,所述节点标签数据用于对所述二级终端节点进行节点注册和任务分配;
所述服务节点用于接收所述代理节点发送的所述未注册二级终端节点的节点标签数据;根据所述未注册二级终端节点的节点标签数据,对所述未注册二级终端节点进行注册,使所述未注册二级终端节点变更为已注册二级终端节点;根据所述已注册二级终端节点的节点标签数据,为所述已注册二级终端节点进行任务分配。
17.一种计算设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7中任一项所述的节点控制方法或者上述权利要求8-13中任一项所述的节点管理方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-7中任一项所述的节点控制方法或者上述权利要求8-13中任一项所述的节点管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293176.0A CN113067869B (zh) | 2021-03-18 | 2021-03-18 | 节点控制方法及装置、节点管理方法及装置、分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293176.0A CN113067869B (zh) | 2021-03-18 | 2021-03-18 | 节点控制方法及装置、节点管理方法及装置、分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113067869A CN113067869A (zh) | 2021-07-02 |
CN113067869B true CN113067869B (zh) | 2022-12-27 |
Family
ID=76562220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110293176.0A Active CN113067869B (zh) | 2021-03-18 | 2021-03-18 | 节点控制方法及装置、节点管理方法及装置、分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067869B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833462A (zh) * | 2018-04-13 | 2018-11-16 | 中国科学院信息工程研究所 | 一种面向微服务的自注册服务发现的系统及方法 |
CN110392080A (zh) * | 2018-04-20 | 2019-10-29 | 杭州海康威视系统技术有限公司 | 一种基于分布式系统的部署方法、装置及分布式系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133086B (zh) * | 2016-02-29 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 基于分布式系统的任务处理方法、装置和系统 |
-
2021
- 2021-03-18 CN CN202110293176.0A patent/CN113067869B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833462A (zh) * | 2018-04-13 | 2018-11-16 | 中国科学院信息工程研究所 | 一种面向微服务的自注册服务发现的系统及方法 |
CN110392080A (zh) * | 2018-04-20 | 2019-10-29 | 杭州海康威视系统技术有限公司 | 一种基于分布式系统的部署方法、装置及分布式系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113067869A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106489251B (zh) | 应用拓扑关系发现的方法、装置和系统 | |
CN108282514B (zh) | 一种分布式业务建立方法及装置 | |
CN109150987B (zh) | 基于主机层和容器层的两层式容器集群弹性扩容方法 | |
CN112333249B (zh) | 一种业务服务系统及方法 | |
CN109656690A (zh) | 调度系统、方法和存储介质 | |
US20160344582A1 (en) | Call home cluster | |
US9886337B2 (en) | Quorum based distributed anomaly detection and repair using distributed computing by stateless processes | |
US8606908B2 (en) | Wake-up server | |
CN111597024B (zh) | 跨域集群处理方法、装置、电子设备及存储介质 | |
CN111431730B (zh) | 一种业务处理方法、系统、计算机设备及可读介质 | |
CN110768914A (zh) | 基于语义场景实例迁移的去中心化物联网关系统 | |
CN110557416A (zh) | 一种多节点协同打块的方法及系统 | |
CN111556135A (zh) | 一种请求调度方法、系统、装置及电子设备 | |
CN111078516A (zh) | 分布式性能测试方法、装置、电子设备 | |
WO2022116849A1 (zh) | 服务分配方法、装置、电子设备及存储介质 | |
CN115328741A (zh) | 一种异常处理方法、装置、设备和存储介质 | |
CN113067869B (zh) | 节点控制方法及装置、节点管理方法及装置、分布式系统 | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN111092952A (zh) | 一种数据交互方法及相关产品 | |
CN108833532B (zh) | 基于物联网的服务处理方法、装置和系统 | |
CN114697334B (zh) | 一种编排任务的执行方法和装置 | |
KR101997602B1 (ko) | 디바이스 양방향 m2m 리소스 관리 방법 | |
CN106557310B (zh) | 一种远程桌面管理方法和系统 | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN113542424A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |