CN115004650B - 节点配置方法、装置、分布式系统及计算机可读介质 - Google Patents
节点配置方法、装置、分布式系统及计算机可读介质 Download PDFInfo
- Publication number
- CN115004650B CN115004650B CN202080094856.3A CN202080094856A CN115004650B CN 115004650 B CN115004650 B CN 115004650B CN 202080094856 A CN202080094856 A CN 202080094856A CN 115004650 B CN115004650 B CN 115004650B
- Authority
- CN
- China
- Prior art keywords
- node
- configuration
- node equipment
- equipment
- connection port
- 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 87
- 238000009434 installation Methods 0.000 claims abstract description 99
- 238000004891 communication Methods 0.000 claims abstract description 87
- 238000001514 detection method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 description 24
- 230000001413 cellular effect Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 239000000523 sample Substances 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种节点配置方法、装置、分布式系统及计算机可读介质,涉及计算机技术领域,应用于分布式系统的主控设备,分布式系统还包括至少一个节点设备,该方法包括:检测节点设备的连接端口的工作状态,其中,连接端口用于实现主控设备与节点设备之间的通信连接;若连接端口的工作状态为可用状态,则建立与节点设备的通信链路;基于通信链路,向节点设备发送安装包,安装包包括指定程序的配置文件,指示节点设备根据配置文件配置用于运行指定程序的指定参数。因此,能够避免人工的方式对节点的配置而导致配置出错或者效率太低,避免在对节点设备配置的时候,由于节点设备的端口无法使用而导致配置失败。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种节点配置方法、装置、分布式系统及计算机可读介质。
背景技术
分布式系统(distributed system)是建立在网络之上的软件系统。通过分布式系统可以将一个作业分成多个任务,并在不同的计算机节点上同时处理多个任务,从而快速、安全地完成作业。分布式系统中包括多台设备,该多台设备协同工作,共同对外提供数据存储或其他业务功能。分布式系统有多种类型,比如云存储系统,云存储系统中通常包含服务器、管理节点、存储节点等设备。
但是,目前的各个节点服务器,需要人工对各节点服务器记进行配置,不仅容易出现配置错误,而且效率低下。
发明内容
本申请提出了一种节点配置方法、装置、分布式系统及计算机可读介质,以改善上述缺陷。
第一方面,本申请实施例提供了一种节点配置方法,应用于分布式系统的主控设备,所述分布式系统还包括至少一个节点设备,该方法包括:检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路;基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
第二方面,本申请实施例还提供了一种节点配置装置,应用于分布式系统的主控设备,所述分布式系统还包括至少一个节点设备。所述节点配置装置包括:检测单元、连接单元和处理单元。检测单元,用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接。连接单元,用于若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。处理单元,用于基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
第三方面,本申请实施例还提供了一种分布式系统,包括:主控设备和至少一个节点设备;所述主控设备用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路,并基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的配置文件。所述节点设备用于根据所述配置文件配置用于运行所述指定程序的指定参数。
第四方面,本申请实施例还提供了一种计算机可读介质,所述可读存储介质存储有处理器可执行的程序代码,所述程序代码被所述处理器执行时使所述处理器执行上述方法。
本申请提供的方案节点配置方法、装置、分布式系统及计算机可读介质,对节点设备的配置由主控设备通过安装包的方式统一配置,即主控设备向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,节点设备根据所述配置文件配置用于运行所述指定程序的指定参数,避免人工的方式对节点的配置而导致配置出错或者效率太低。另外,在主控设备向节点设备发送安装包之前,还确定节点设备的端口的状态,避免在对节点设备配置的时候,由于节点设备的端口无法使用而导致配置失败,具体地,检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路,并基于所述通信链路,向所述节点设备发送安装包。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的分布式系统的示意图;
图2示出了本申请一实施例提供的节点配置方法的方法流程图;
图3示出了本申请另一实施例提供的节点配置方法的方法流程图;
图4示出了本申请又一实施例提供的节点配置方法的方法流程图;
图5示出了本申请一实施例提供的节点配置装置的模块框图;
图6示出了本申请另一实施例提供的节点配置装置的模块框图;
图7示出了本申请又一实施例提供的节点配置装置的模块框图;
图8示出了本申请实施例提供的电子设备的示意图;
图9是本申请实施例的用于保存或者携带实现根据本申请实施例的数据同步方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
分布式系统(distributed system)是建立在网络之上的软件系统。通过分布式系统可以将一个作业分成多个任务,并在不同的计算机节点上同时处理多个任务,从而快速、安全地完成作业。分布式系统中包括多台设备,该多台设备协同工作,共同对外提供数据存储或其他业务功能。分布式系统有多种类型,比如云存储系统,云存储系统中通常包含服务器、管理节点、存储节点等设备。
分布式系统可以将大型计算任务部署到多台机器上运行,从而利用多台集群的计算资源提高数据的处理能力,因此得到了广泛的应用。为了实现各个服务器共同完成一个业务任务,则需要针对该业务任务对各个服务器进行配置,以使各个服务器能够配置运行该业务对应的进程时所需要的参数。
目前,对各个服务器的参数配置的方式一般分为人工配置和基于Jenkins或者Ansible的自动化部署。其中,人工配置的方式为由配置人员手动修改各个服务器的配置参数并且手动启动各个服务器的用于实现指定业务或完成指定任务的进程。
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。当分布式系统包括多台服务器时,并且配置了tomcat或jboss集群服务,可通过jenkins的节点配置,将jenkins项目发布在不同服务器上(分布jenkins工作空间,部署项目到不同服务器的tomcat或jboss),这就形成了jenkins的分布式。节点服务器不需要安装jenkins(只需要运行一个slave节点服务),构建事件的分发由master端(jenkins主服务)来执行。
Ansible是一个开源配置管理工具,可以使用它来自动化任务,部署应用程序实现IT基础架构。Ansible可以用来自动化日常任务,比如,服务器的初始化配置、安全基线配置、更新和打补丁系统,安装软件包等。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可。Ansible部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作,默认使用SSH协议对设备进行管理,有大量常规运维操作模块,可实现日常绝大部分操作,配置简单、功能强大、扩展性强,支持API及自定义模块,可通过Python轻松扩展,通过Playbooks来定制强大的配置、状态管理,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可,提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。
然而,发明人在研究中发现,通过人工方式部署各个服务器,效率低,且在修改配置文件时,易出错,因为人工方式部署各个服务器的参数,会导致不同的人在配置服务器的参数时可能由于人工操作的误差而导致参数配置不准确,容易出错。而利用Jenkins或者Ansible进行部署,需要安装Jenkins或者Ansible软件,依赖性大,且需要熟悉软件使用流程或者熟悉相应软件的语法,对部署人员的要求较高,花费的时间较长。
因此,为了改善上述缺陷,本申请实施例提供了一种节点配置方法和装置,能够由主控设备直接将配置文件发送至各个节点服务,完成对各个节点服务的配置,操作简单并且准确性高、效率高。
于本申请实施例中,所提供的节点配置方法和装置应用于分布式系统。下面先介绍本申请实施例提供的分布式系统。如图1所示,图1示出了本申请实施例提供的分布式系统。该分布式系统包括主控设备10和至少一个节点设备21。其中,至少一个节点设备21构成集群20,即在集群20内包括至少一个节点设备21,而主控设备10用于对集群20内的多个节点设备21进行参数配置以及启动各个节点设备21的指定进程,该指定进程可以对一个分布式任务。
请参阅图2,图2输出了本申请一实施例提供的节点配置方法,该方法应用于上述的分布式系统,该方法用于提高节点配置的效率,提高节点配置的准确性和降低节点配置的操作复杂度。于本申请实施例中,该方法的执行主体可以是主控设备,具体地,该方法包括:S201至S203。
S201:检测所述节点设备的连接端口的工作状态。
其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接。
其中,节点设备的连接端口可以是设置在节点设别内的用于数据和信令传输的端口,例如,该连接端口可以是I/O端口或者服务端口,具体地,于本申请实施例中,该节点设备可以是节点服务器,则上述的集群可以是服务器集群。
作为一种实施方式,该连接端口可以是服务端口。具体地,该服务端口可以分为"TCP协议端口"和"UDP协议端口"两种。该TCP协议端口又可以包括FTP端口(默认端口号为21)、SSH端口(默认端口号为22)、SMTP端口(默认端口号为25)、HTTP端口(默认端口号为80)、UDP端口(默认端口号为138)以及HTTPS端口(默认端口号为443)等。其中,节点设备的各个不同的端口用于与其他的设备通过端口对应的协议连接,并且实现相应的功能。例如,SSH端口用于通过SSH协议与其他设备连接,并且通过命令行模式远程连接其他设备。
作为一种实施方式,该连接端口的工作状态可以包括可用状态和不可用状态。其中,可用状态用于表征该连接端口能够被主控设备连接,并且能够与主控设备之间建立通信链路。不可用状态用于表征该连接端口不能够被主控设备连接,并且不能够与主控设备之间建立通信链路。具体地,工作状态为不可用状态的连接端口可以是该连接端口被关闭或者该连接端口被其他的设备连接,而导致主控设备无法连接到该连接端口。
作为一种实施方式,该连接端口的可用或可不用状态可以取决于该连接端口是否被占用。具体地,检测所述节点设备的连接端口的工作状态的实施方式可以是,判断所述节点设备的连接端口是否被占用;若被占用,则确定所述节点设备的连接端口的工作状态为不可用状态;若未被占用,则确定所述节点设备的连接端口的工作状态为不可用状态。
在一些实施例中,主控设备用于管理和记录每个节点设备的连接端口的工作状态。作为一种实施方式,可以是每个节点设别对该节点设备的连接端口的工作状态记录,并且将所记录的工作状态反馈至主控设备,以便主控设备能够记录每个节点设备的连接端口的工作状态。例如,该连接端口是否被占用。例如,节点设备检测连接端口是否被占用,且节点设备发送端口记录信息发送至主控设备。其中,该端口记录信息包括第一信息和第二信息,该第一信息用于指示该连接端口被占用,第二信息用于指示该连接端口未被占用。作为一种实施方式,节点设备发送端口记录信息还将节点设备的设备标识发送至主控设备,从而节点设备能够将自身的设备标识以及自身的端口记录信息发送至主控设备,以便主控设备能够将每个节点设备的设备标识和设备标识对应的工作状态对应记录。如下表1所示:
设备标识 | 工作状态 | 详情 |
设备1 | 不可用状态 | 被占用 |
设备2 | 不可用状态 | 被关闭 |
设备3 | 可用状态 |
因此,主控设备按照预设顺序配置每个节点设备,在配置该节点设备之前,先在该设备标识和设备标识对应的端口记录信息中,查找所要配置的节点设备的设备标识对应的工作状态,从而能够确定该设备标识对应的节点设备的连接端口的工作状态,由此,就能够确定该节点设备的连接端口的工作状态为可用状态还是不可用状态。
在一些实施例中,每个节点设备根据预设触发条件将端口记录信息上报至主控设备,具体地,该出预设触发条件是预先设定的节点设备满足一定条件下执行将该节点设备的端口记录信息上报至主控设备的条件。例如,该预设触发条件可以是预设上报周期,即按照该预设上报周期在每个周期到来的时候,执行将端口记录信息上报至主控设备的操作。另外,该预设触发条件还可以是节点设备的连接端口的端口记录信息发生变化,即连接端口的工作状态发生变化,因此,在节点设备的连接端口的工作状态发生变化的时候,将该节点设备的端口记录信息上报至主控设备。从而,主控设备能够实时记录每个节点设备的连接端口的工作状态,并且根据各节点设备的连接端口的实际工作状态实时更新。
作为另一种实施方式,主控设备发送探测请求至节点设备,所述探测请求用于指示所述节点设备检测所述连接端口是否被占用,并将检测结果返回至所述主控设备。即节点设备在获取到探测请求之后,检测所述连接端口是否被占用,并将检测结果返回至所述主控设备。然后,主控设备根据所获取的检测结果确定所述节点设备的连接端口是否被占用。
其中,在一些实施例中,节点设备记录连接端口是否被占用的实施方式可以参考前述描述,在此不再赘述。其中,该检测结果可以包括节点设备的工作状态,即包括被占用和未被占用。从而,若检测结果为被占用,确定所述节点设备的连接端口的工作状态为不可用状态,若检测结果为未被占用,则确定所述节点设备的连接端口的工作状态为不可用状态。
因此,在为节点设备配置参数之前,先确定节点设备的连接端口的工作状态,避免因为节点设备的连接端口被占用,而导致主控设备和节点设备之间无法建立通信连接而导致无法成功对节点设备配置。
S202:若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。
其中,通信链路是指数据传输到对端客户端所经过的网络路径。根据数据传输的途径的不同,通信链路分为直连传输和中转传输两种方式。直连传输方式为用户设备与用户设备直接进行点对点的(point to point,P2P)数据传输,传输途径中没有服务器节点。中转传输方式是在两个用户设备之间加入中转服务器,数据流需要通过服务器传输到对端。直连链路创建成功率和传输稳定性受限,而中转链路的稳定性更加可靠,所以提升中转链路的传输质量至关重要。于本申请实施例中,两个终端之间通过中转服务器实现中转链路的创建,并根据该中转连输实现数据交互。
于本申请实施例中,该通信链路可以是无线网络链路,也可以是蜂窝数据网络链路。其中,蜂窝数据网络(Cellular network),又称移动网络(mobile network)是一种移动通信硬件架构。具体地,网络服务区被划分成许多小区(cell,也就是“蜂窝”),每个小区设置一个基站,该基站负责本小区各个移动站的联络与控制。
蜂窝数据网络可以是5G(5th Generation,5G)通信系统(或称为新空口(NewRadio,NR)系统)、长期演进(LTE,Long Term Evolution)网络、通用分组无线服务(GPRS,General Packet Radio Service)系统、全球移动通信(GSM,Global System for Mobilecommunications)网络或通用移动通信网络(UMTS,Universal MobileTelecommunications System),当然也可以是其它蜂窝网络。
其中,无线网络可以是无线局域网(WLAN,Wireless Local Area Networks),具体可以是无线保真(WirelessFidelity,Wi-Fi)。
于本申请实施例中,该通信链路可以是基于HTTP协议建立的,即若所述连接端口的工作状态为可用状态,则基于HTTP协议建立与所述节点设备的通信链路。
超文本传输协议(HyperText Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。可以称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。可以称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。
通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。其中,该指定端口(默认是80端口)就可以是上述的节点设备的连接端口。
S203:基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
于本申请实施例中,主控设备可以同时通过无线网络链路和蜂窝数据网络链路将安装包发送至节点设备。例如,主控设备将安装包发送至节点设备,则主控设备可以将安装包的一部分子通过无线网络链路发送至节点设备数据,而将安装包的另一部分通过蜂窝数据网络链路发送至节点设备数据,从而在无线网络链路和蜂窝数据网络链路中的一个链路质量较差的时候,能够减少安装包中通过较差的链路发送至节点设备的部分,提高数据传输的稳定性,能够提高用户体验度,并且,主控设备和节点设备的多条链路采用中转传输的方式,进一步提高了数据传输的稳定性。
作为一种实施方式,主控设备能够基于安装包的重要性信息和两个网路链路的通信质量,通过无线网络链路和蜂窝数据网络链路将安装包向节点设备发送。
具体地,安装包包括至少两个子数据。作为一种实施方式,每个子数据的类型不同。作为另一种实施方式,不同子数据可以是该安装包内的不同的数据段。
安装包的重要性信息可以是每个子数据的重要程度,获取无线网络链路和蜂窝数据网络链路的通信质量,通过无线网络链路和蜂窝数据网络链路中通信质量较好的链路,将重要程度较高的子数据发送至节点设备,通过无线网络链路和蜂窝数据网络链路中通信质量较差的链路,将重要程度较低的子数据发送至节点设备。其中,重要程度较高是指重要程度大于指定重要度,重要程度较高是指重要程度小于或等于指定重要度,指定重要度可以是预先根据需求而设定的程度值。
在一些实施例中,重要程度可以通过重要值来表示,该重要值为一个数值,子数据的重要值越高,则该子数据的重要程度越高。作为一种实施方式,可以将预先设定重要值的数值范围(例如,0-10)为多个子数据设置不同的重要值,该指定重要度取自该取值范围内,例如,可以是6。假设安装包内包括子数据1、子数据2和子数据3,且子数据1、子数据2和子数据3的重要程度分别为2、5和8,且指定重要度为6,则子数据3为重要程度较高的子数据,可以被主控设备通过无线网络链路发送至节点设备,子数据1和子数据2为重要程度较低的子数据,可以被主控设备通过蜂窝数据网络链路发送至节点设备。
在另一些实施例中,重要程度较高和重要程度较低可以是子数据的重要状态,即重要状态包括重要程度较高和重要程度较低。该重要状态可以是主控设备为该子数据而配置的,具体地,可以是基于用户在主控设备的配置操作,为安装包内的多个子数据而配置的。作为一种实施方式,该配置操作可以是根据子数据的类别而配置的,将属于第一类别的子数据的重要状态配置为重要程度较高,将第二类别的子数据的重要状态配置为重要程度较低。其中,第一类别和第二类别可以根据实际使用需求而设定,例如,第一类别为视频流,第二类别为音频流。
其中,通信质量用于衡量链路的数据传输能力,具体地,该数据传输能力可以包括数据传输速率、数据传输的稳定性等。作为一种实施方式,可以是获取无线网络链路的第一信号强度值和蜂窝数据网络链路的第二信号强度值,将无线网络链路和蜂窝数据网络链路中信号强度值较高的链路作为通信质量较好的链路,将无线网络链路和蜂窝数据网络链路中信号强度值较低的链路作为通信质量较差的链路。
作为另一种实施方式,主控设备能够基于安装包内的子数据的数据大小,通过无线网络链路和蜂窝数据网络链路将所述安装包向节点设备发送。
具体地,获取每个子数据的数据大小,将数据大小大于指定大小的子数据通过无线网络链路发送至节点设备,将其他的子数据通过蜂窝数据网络链路发送至节点设备。
具体地,将数据大小大于指定大小的子数据记为第一子数据,将数据大小小于或等于指定大小的子数据记为第二子数据,将第一子数据通过无线网络链路发送至节点设备,将第二子数据通过蜂窝数据网络链路发送至节点设备。其中,指定大小可以是预先根据需求而设定的数值,在此不做限定。例如,音视频数据中,视频流的数据大小大于音频流的数据大小,则主控设备通过无线网络链路将视频流发送至节点设备,主控设备通过蜂窝数据网络链路将音频流发送至节点设备。
安装包包括指定程序的配置文件,其中,该指定程序可以是分布式系统内各个节点设备共同完成的分布式任务所需要的应用程序,该应用程序对应指定进程,不同的节点设备运行指定进程能够共同完成一个分布式的任务。
节点设备在获取到配置文件之后,能够根据该配置文件配置用于运行所述指定程序的指定参数。
其中,该指定参数可以包括与应用相关的参数。例如,该指定参数可以包括服务请求超时,线程池和队列的大小,缓存过期时间,数据库连接池的容量,日志输出级别,限流熔断阀值,服务安全黑白名单等。
另外,该指定参数还可以包括运行环境的配置参数,例如,数据库、中间件和其它服务的连接字符串配置。该指定参数还可以包括安全配置的参数,例如,用户名,密码,访问令牌,许可证书等。
具体地,该配置文件包含在安装包内的指定位置处,则主控设备可以事先与节点设备约定配置文件在安装包内的位置,节电设备在获取到安装包之后,根据预先约定的位置,即指定位置,由安装包内获取到配置文件,从而完成对指定参数的配置。具体地,该配置文件内设置有配置参数,节点设备对指定参数的配置的方式可以是将指定参数替换为配置参数,具体地,请参考后续实施例。
另外,节点设备可以为多个,每个所述节点设备接收的安装包均有所述主控设备发送。
请参阅图3,图3输出了本申请另一实施例提供的节点配置方法,该方法应用于上述的分布式系统,该方法用于提高节点配置的效率,提高节点配置的准确性和降低节点配置的操作复杂度。于本申请实施例中,该方法的执行主体可以是主控设备,具体地,该方法包括:S301至S304。
S301:检测所述节点设备的连接端口的工作状态。
于本申请实施例中,每个节点设备所能提供的服务端口包括多个,则在主控设备欲为节点设备配置的时候,需要先获取该节点设备所提供的服务端口。具体地,获取所述节点设备提供的服务端口,将所述服务端口作为所述连接端口。
其中,该服务端口的实施方式可以参考前述,则主控设备内记录有每个节点设备所提供的服务端口。具体地,可以是主控设备内部设置有集群信息,该集群信息内包括每个节点设备的设备标识和每个设备标识对应的服务端口的端口标识,该端口标识可以是端口号,具体地,不同的设备的端口号可能相同也可能不同,而相同的端口号可以通过所对应的设备标识区分。
作为一种实施方式,该集群信息可以是人工录入该主控设备内的,也可以是通过收集组件收集的各个节点设备的信息。在一些实施例中,每个节点设备内设置有数据上报组件,该数据上报组件用于收集每个节点设备的设备信息,将该设备信息上报至收集组件,从而主控设备能够得到集群信息。作为另一种实施方式,可以同时采用人工录入和收集组件收集的方式得到集群信息,即收集组件收集每个节点设备的设备信息,人工又可以录入设备信息或者修改设备信息。
在通过集群信息得到节点设备的服务端口之后,检测所述节点设备的服务端口的工作状态,即判断该节点设备的服务端口的工作状态是否为可用状态,也即判断该节点设备的服务端口是否被占用,如果被占用,则放弃本次对该节点设备的配置,并返回执行检测所述节点设备的服务端口的工作状态的操作,直至该节点设备的服务端口工作状态为可用状态,即未被占用,则执行S302。
作为一种实施方式,在判定该节点设备的服务端口被占用时,可以选择等待该端口的释放,也可以发送切换请求至节点设备,指示节点设备更换服务端口,并将更换后的服务端口的端口标识发送至主控设备,主控设备将该更换后的服务端口作为新的服务端口并执行检测所述节点设备的服务端口的工作状态以及后续操作。具体地,主控设备和节点设备之间可以通过广播消息的方式发送该切换请求和返回该更换后的服务端口的端口标识,也可以通过其他的中间设备将该切换请求发送至节点设备,节点设备通过该中间设备将更换后的服务端口的端口标识发送至主控设备。其中,该中间设备可以是节点设备预先设定的设备,以便主控设备与节点设备之间无法建立通信连接的时候,通过该中间设备通信。但是,考虑到中间设备可能存在不稳定因素,例如,所连接的设备过多或者功耗较高等因素,该中间设备可以暂时建立起该主控设备和节点设备之间的数据传输链路,在主控设备获取到更换后的服务端口的端口标识的时候,可以直接通过该服务端口建立连接。
作为另一种实施方式,主控设备内包括节点设备的多个服务端口的端口标识,且每个端口标识对应一个使用优先级,即优先级最高的作为首选的服务端口,而其他的端口作为备选的端口,则在所确定要使用的服务端口被占用之后,由备选的端口内选择一个端口,作为新的连接端口,直至找到工作状态为可用状态的连接端口。
S302:若所述连接端口的工作状态为可用状态,则获取所述节点设备的节点网络地址,基于所述节点网路地址建立与所述节点设备的通信链路。
其中,节点网络地址可以是节点设备的IP地址或者其他的网络地址。作为一种实施方式,该集群信息还包括节点网络地址,因此,通过查找主控设备内存储的与该节点设备的设备标识对应的集群信息,能够确定该节点设备对应的节点网络地址,然后,基于该节点网路地址建立与所述节点设备的通信链路。
S303:检测所述节点设备上的所述目标服务组件是否被启动。
如果被启动,则基于所述通信链路,向所述节点设备的目标服务组件发送安装包。
其中,目标服务组件可以是一种用于接收主控设备的命令的服务,例如,该目标服务组件可以是Agent服务。
作为一种实施方式,在节点设备的目标服务组件启动,表征该节点设备允许主控设备的访问,则主控设备能够通过该目标服务组件访问节点设备,并且能够通过该目标服务组件控制节点设备执行指定操作。例如,启动某个进程,例如,启动该指定程序的进程。
于本申请实施例中,主控设备对节点设备的操作,都会将每个操作对应的命令发送至目标服务组件。例如,对节点设备的连接端口的工作状态的检测,可以指示节点设备的目标服务组件对该节点设备的连接端口检测。
S304:基于所述通信链路,向所述节点设备的目标服务组件发送安装包,所述目标服务组件用于根据所述配置文件配置所对应的节点设备用于运行所述指定程序的指定参数。
作为一种实施方式,上述的集群信息除了包括节点设备的服务端口的端口标识之后,还可以包括节点设备的设备信息,该设备信息可以包括节点设备的节点网络地址和节点参数等,该节点参数可以包括节点的内存空间等运行参数。
主控设备将集群信息发送至节点设备的目标服务组件,以便目标服务组件能够获取到节点设备的相关信息。
作为一种实施方式,主控设备处理将集群信息发送至节点设备的目标服务组件,还发送第一连接请求至节点设备的目标服务组件,该第一连接请求内包括主控设备的主控网络地址,目标服务组件根据节点设备的节点网络地址和主控设备的主控网络地址建立通信链路。具体地,节点设备的目标服务组件发送第二连接请求至主控设备,主控设备同意连接之后,反馈同意指示信息至第二连接请求,以实现通信链路的建立。
通信链路建立之后,主控设备将安装包发送至目标服务组件,该安装包内包括配置文件和配置请求,该配置请求用于指示目标服务组件执行参数配置操作,该参数配置操作可以是根据所述配置文件配置所对应的节点设备用于运行所述指定程序的指定参数。
作为一种实施方式,该安装包还包括指定程序的执行文件和安装请求,该安装请求用于指示所述节点设备根据所述执行文件安装所述指定程序以及根据所述配置文件配置用于运行所述指定程序的指定参数。具体地,主控设备将指定程序的执行文件和安装请求通过安装包发送至目标服务组件,目标服务组件运行该执行文件,以便将指定程序在节点设备内安装。
作为一种实施方式,主控设备基于所述通信链路,将所述指示信息和所述安装包发送至所述节点设备。
其中,所述指示信息包括需所述节点设备配置的参数的标识,所述指示信息用于指示所述节点设备由所述配置文件内查找与所述标识对应的配置参数,根据所述配置参数修改所述节点设备的指定参数,所述指定参数与所述标识对应。
作为一种实施方式,主控设备发送给每个节点设备的安装包内的配置文件和指定程序的执行文件可以是相同的,即将所有节点设备需要配置的参数均打包在安装包内,并且为每个节点设备设置一个指示信息,使得每个节点设备都能够根据该指示信息在安装包内查找到所需配置的参数。
作为一种实施方式,该指示信息可以包括节点设备的设备标识,则安装包内的配置文件包括多个配置参数,每个配置参数对应一个指示信息,主控设备为每个节点设备发送的安装包对应的指示信息不同,即为每个节点设备发送对应的指示信息,每个节点设备根据接收到的指示信息,在安装包内查找该指示信息对应的配置参数,将节点设备的指定参数修改为配置参数。因此,主控设备发送至每个节点设备的安装包是相同的,避免人工干预以及发送的安装包不同而导致对节点设备的配置不够准确。
作为一种实施方式,该指示信息包括需所述节点设备配置的参数的标识。其中,所述标识为占位符,所述指示信息用于指示所述节点设备将所述占位符内的参数修改为所述配置参数。
所述节点设备的指定参数对应有占位符,占位符可以自己设定,比如{xxx},或者@xxxx@,该占位符用户作为节点设备内的参数的标识,该占位符可以预先获取的节点设备的指定参数的占位符,并预先存储在集群信息内。
在一些实施方式中,主控设备主动将安装包发送至节点设备,例如,可以是在建立与节点设备的通信链路之后,将安装包发送至节点设备,也可以是在建立与节点设备的通信链路之后,且在检测所述节点设备上的所述目标服务组件被启动的时候,将安装包发送至节点设备。
在另一些实施例中,可以是节点设备主动发送获取请求至主控设备,主控设备基于该获取请求将安装包发送至节点设备。具体地,主控设备获取所述节点设备发送的获取请求,所述获取请求对应有指定路径;由所述指定路径内获取所述安装包,并发送至所述节点设备。
作为一种实施方式,在主控设备和节点设备建立通信链路之后,主控设备将指定路径发送至节点设备的目标服务组件,该指定路径可以是一个网络地址,该网络地址可以是IP地址,也可以是URL地址,节点设备的目标服务组件通过该指定路径发送一个获取请求至主控设备,主控设备将安装包发送至节点设备。节点设备根据配置文件内的配置参数替换相应的占位符,生成该节点的配置参数,从而根据配置参数启动进程。
请参阅图4,图4输出了本申请又一实施例提供的节点配置方法,该方法应用于上述的分布式系统,该方法用于提高节点配置的效率,提高节点配置的准确性和降低节点配置的操作复杂度。于本申请实施例中,该方法的执行主体可以是主控设备,具体地,该方法包括:S401至S404。
S401:检测所述节点设备的连接端口的工作状态。
S402:若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。
S403:基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
S404:检测所述节点设备的配置结果,并记录所述配置结果。
作为一种实施方式,主控设备还能够记录每个节点设备的配置情况,以便能够将每个节点设备是否成功被配置的结果展示。具体地,在一些实施例中,主控设备可以主动定期轮询每个节点设备的部署进度,当各节点部署完成或者部署失败时都会返回相应的信息给主控机器,从而让操作人员获取到集群的部署状态。在另一些实施例中,可以是每个节点设备在获取到安装包,根据安装包配置指定参数的时候,将配置结果主动反馈至主控设备。
作为一种实施方式,检测所述节点设备的配置结果的实施方式可以是,检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,若获取到,则判定所述节点设备已成功配置;若未获取到,则判定所述节点设备未成功配置。
其中,所述成功配置信息为所述节点设备判定所述指定参数成功配置之后发送的信息。作为一种实施方式,该安装包还包括指定程序的执行文件时,成功配置信息为所述节点设备判定所述指定程序成功安装且所述指定参数成功配置之后发送的信息,即该成功配置信息为节点设备在成功配置之后发送的信息。其中,指定时间段可以是预先设定的时间长度,可以根据实际需求而设定,例如,可以是十分钟。
节点设备确定配置成功的实施方式可以是,在完成指定参数的配置之后,运行该指定程序,如果能够成功运行,在确定配置成功,从而返回成功配置信息至主控设备,而如果未能够成功运行该指定程序,在可以返回失败配置信息,也可以不返回任何信息,从而主控设备在指定时间长度内未接收到成功配置信息,就判定节点设备未成功配置,否则,判定所述节点设备已成功配置,从而将该配置结果记录,在获取到查询请求的时候,能够将该配置结果反馈给查询端。还可以是,主控设备包括显示屏,获取用户输入主控设备的查询请求,在获取到查询请求的时候,能够将该配置结果在显示屏上显示。
作为一种实施方式,还可以是主控设备主动启动该节点设备的指定程序,该节点设备根据该指定程序反馈成功配置信息。具体地,发送启动指令至所述节点设备,所述启动指令用于指示所述节点设备启动所述指定程序;检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,其中,所述指定时间段的时间起点为发送启动指令的时间点。
作为一种实施方式,主控设备将启动指令发送至目标服务组件,目标服务组件将节点设备内安装的指定程序启动,并且检测指定程序是否能够成功启动,具体地,在指定程序能够成功启动的时候,能够在节点设备的系统后台内存在指定进程,因此,如果能够查找到指定进程,就可以判定指定程序成功启动,然后,返回成功配置信息至主控设备。
因此,在节点设备接收到安装包的时刻起,如果在指定时间段内收到了成功配置信息,就可以判定该节点设备成功配置,否则,判定未成功配置。
作为另一种实施方式,主控设备定期询问节点设备的部署进度,具体地,发送询问请求至所述节点设备,所述询问请求用于请求所述节点设备返回配置结果;若所述配置结果为成功配置,则判定所述节点设备已成功配置;若所述配置结果为未成功配置,则判定所述节点设备未成功配置。
请参阅图5,其示出了本申请实施例提供的一种节点配置装置500的结构框图,该装置可以包括:检测单元501、连接单元502和处理单元503。
检测单元501,用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接。
连接单元502,用于若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。
处理单元503,用于基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的执行文件和配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图6,其示出了本申请实施例提供的一种节点配置装置600的结构框图,该装置可以包括:检测单元601、连接单元602、判断单元603和处理单元604。
检测单元601,用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接。
进一步地,检测单元601还用于判断所述节点设备的连接端口是否被占用;若被占用,则确定所述节点设备的连接端口的工作状态为不可用状态;若未被占用,则确定所述节点设备的连接端口的工作状态为不可用状态。
进一步地,检测单元601还用于发送探测请求至所述节点设备,所述探测请求用于指示所述节点设备检测所述连接端口是否被占用,并将检测结果返回至所述主控设备;根据所获取的检测结果确定所述节点设备的连接端口是否被占用。
连接单元602,用于若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。
进一步地,连接单元602还用于获取所述节点设备的节点网络地址;基于所述节点网路地址建立与所述节点设备的通信链路。具体地,基于HTTP协议建立与所述节点设备的通信链路。
进一步地,连接单元602还用于获取所述节点设备提供的服务端口,将所述服务端口作为所述连接端口。
判断单元603,用于检测所述节点设备上的所述目标服务组件是否被启动;如果被启动,则跳转至处理单元604。
处理单元604,用于基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的执行文件和配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
进一步地,处理单元604还用于基于所述通信链路,向所述节点设备的目标服务组件发送安装包,所述目标服务组件用于根据所述配置文件配置所对应的节点设备用于运行所述指定程序的指定参数。
进一步地,处理单元604还用于基于所述通信链路,将所述指示信息和所述安装包发送至所述节点设备,所述指示信息包括需所述节点设备配置的参数的标识,所述指示信息用于指示所述节点设备由所述配置文件内查找与所述标识对应的配置参数,根据所述配置参数修改所述节点设备的指定参数,所述指定参数与所述标识对应。
进一步地,处理单元604还用于获取所述节点设备发送的获取请求,所述获取请求对应有指定路径;由所述指定路径内获取所述安装包,并发送至所述节点设备。
其中,所述标识为占位符,所述指示信息用于指示所述节点设备将所述占位符内的参数修改为所述配置参数。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图7,其示出了本申请实施例提供的一种节点配置装置700的结构框图,该装置可以包括:检测单元701、连接单元702、处理单元703和统计单元704。
检测单元701,用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接。
连接单元702,用于若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路。
处理单元703,用于基于所述通信链路,向所述节点设备发送安装包,所述安装包包括指定程序的执行文件和配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数。
统计单元704,用于检测所述节点设备的配置结果,并记录所述配置结果。
进一步地,统计单元704还用于检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,所述成功配置信息为所述节点设备判定所述指定程序成功安装且所述指定参数成功配置之后发送的信息;若获取到,则判定所述节点设备已成功配置;若未获取到,则判定所述节点设备未成功配置。其中,所述成功配置信息为所述节点设备在成功运行所述指定程序时产生的。
进一步地,统计单元704还用于发送启动指令至所述节点设备,所述启动指令用于指示所述节点设备启动所述指定程序;检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,其中,所述指定时间段的时间起点为发送启动指令的时间点。
进一步地,统计单元704还用于发送询问请求至所述节点设备,所述询问请求用于请求所述节点设备返回配置结果;若所述配置结果为成功配置,则判定所述节点设备已成功配置;若所述配置结果为未成功配置,则判定所述节点设备未成功配置。
其中,所述节点设备为多个,每个所述节点设备接收的安装包均有所述主控设备发送。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图8,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、电子书、计算机、服务器等能够运行应用程序的电子设备。于本申请实施例中,电子设备100可以是上述主控设备。
本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图9,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
综上所述,本申请提供的方案节点配置方法、装置、分布式系统及计算机可读介质,对节点设备的配置由主控设备通过安装包的方式统一配置,即主控设备向所述节点设备发送安装包,所述安装包包括指定程序的配置文件,节点设备根据所述配置文件配置用于运行所述指定程序的指定参数,避免人工的方式对节点的配置而导致配置出错或者效率太低。另外,在主控设备向节点设备发送安装包之前,还确定节点设备的端口的状态,避免在对节点设备配置的时候,由于节点设备的端口无法使用而导致配置失败,具体地,检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路,并基于所述通信链路,向所述节点设备发送安装包。
本申请实施例,可以实现分布式系统的自动化部署,节省了部署人员的精力与时间,减少了重复工作,且该自动化部署方法使得整个部署过程变得更加准确,避免因为人工干预而产生不必要的错误。同时,对其他软件的依赖性小,对部署人员的要求较低。因为集群各服务节点的配置参数通过主控机器进行统一配置,避免人工修改配置参数,这样减少了人工干预,能一定程度上避免出错。
本申请实施例基于http协议,不需要依赖Jenkins或者Ansible软件,对部署人员的要求较低。且该方法的部署过程简单,部署结果准确,大大提高了分布式系统的部署效率。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种节点配置方法,其特征在于,应用于分布式系统的主控设备,所述分布式系统还包括至少一个节点设备,所述方法包括:
检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;
若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路;
基于所述通信链路,将指示信息和安装包发送至所述节点设备,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数,其中,所述安装包内的配置文件包括多个配置参数,每个配置参数对应一个指示信息,所述主控设备发送至每个所述节点设备的安装包相同,所述指示信息包括所述节点设备需配置的参数的标识,每个节点设备的指示信息不同,每个所述指示信息用于指示所对应的节点设备由所述配置文件内查找与所述标识对应的配置参数,根据所述配置参数修改所述节点设备的指定参数,所述指定参数与所述标识对应。
2.根据权利要求1所述的方法,其特征在于,所述检测所述节点设备的连接端口的工作状态,包括:
判断所述节点设备的连接端口是否被占用;
若被占用,则确定所述节点设备的连接端口的工作状态为不可用状态;
若未被占用,则确定所述节点设备的连接端口的工作状态为不可用状态。
3.根据权利要求2所述的方法,其特征在于,所述判断所述节点设备的连接端口是否占用,包括:
发送探测请求至所述节点设备,所述探测请求用于指示所述节点设备检测所述连接端口是否被占用,并将检测结果返回至所述主控设备;
根据所获取的检测结果确定所述节点设备的连接端口是否被占用。
4.根据权利要求1所述的方法,其特征在于,所述节点设备包括目标服务组件,所述基于所述通信链路,向所述节点设备发送安装包,包括:
基于所述通信链路,向所述节点设备的目标服务组件发送安装包,所述目标服务组件用于根据所述配置文件配置所对应的节点设备用于运行所述指定程序的指定参数。
5.根据权利要求4所述的方法,其特征在于,所述基于所述通信链路,向所述节点设备的目标服务组件发送安装包之前,还包括:
检测所述节点设备上的所述目标服务组件是否被启动;
如果被启动,则基于所述通信链路,向所述节点设备的目标服务组件发送安装包。
6.根据权利要求1-5任一所述的方法,其特征在于,所述建立与所述节点设备的通信链路,包括:
获取所述节点设备的节点网络地址;
基于所述节点网路地址建立与所述节点设备的通信链路。
7.根据权利要求6所述的方法,其特征在于,所述检测所述节点设备的连接端口的工作状态之前,还包括:
获取所述节点设备提供的服务端口,将所述服务端口作为所述连接端口。
8.根据权利要求1所述的方法,其特征在于,所述标识为占位符,所述指示信息用于指示所述节点设备将所述占位符内的参数修改为所述配置参数。
9.根据权利要求1所述的方法,其特征在于,所述基于所述通信链路,将所述安装包发送至所述节点设备,包括:
获取所述节点设备发送的获取请求,所述获取请求对应有指定路径;
由所述指定路径内获取所述安装包,并发送至所述节点设备。
10.根据权利要求1所述的方法,其特征在于,所述基于所述通信链路,向所述节点设备发送安装包之后,还包括:
检测所述节点设备的配置结果,并记录所述配置结果。
11.根据权利要求10所述的方法,其特征在于,所述检测所述节点设备的配置结果,包括:
检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,所述成功配置信息为所述节点设备判定所述指定参数成功配置之后发送的信息;
若获取到,则判定所述节点设备已成功配置;
若未获取到,则判定所述节点设备未成功配置。
12.根据权利要求11所述的方法,其特征在于,所述成功配置信息为所述节点设备在成功运行所述指定程序时产生的。
13.根据权利要求12所述的方法,其特征在于,检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,包括:
发送启动指令至所述节点设备,所述启动指令用于指示所述节点设备启动所述指定程序;
检测在指定时间段内是否获取到所述节点设备发送的成功配置信息,其中,所述指定时间段的时间起点为发送启动指令的时间点。
14.根据权利要求10所述的方法,其特征在于,所述检测所述节点设备的配置结果,包括:
发送询问请求至所述节点设备,所述询问请求用于请求所述节点设备返回配置结果;
若所述配置结果为成功配置,则判定所述节点设备已成功配置;
若所述配置结果为未成功配置,则判定所述节点设备未成功配置。
15.根据权利要求1所述的方法,其特征在于,所述节点设备为多个,每个所述节点设备接收的安装包均有所述主控设备发送。
16.根据权利要求1所述的方法,其特征在于,建立与所述节点设备的通信链路,包括:
基于HTTP协议建立与所述节点设备的通信链路。
17.一种节点配置装置,其特征在于,应用于分布式系统的主控设备,所述分布式系统还包括至少一个节点设备,所述节点配置装置包括:
检测单元,用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;
连接单元,用于若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路;
处理单元,用于基于所述通信链路,将指示信息和安装包发送至所述节点设备,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数,其中,所述安装包内的配置文件包括多个配置参数,每个配置参数对应一个指示信息,所述主控设备发送至每个所述节点设备的安装包相同,所述指示信息包括所述节点设备需配置的参数的标识,每个节点设备的指示信息不同,每个所述指示信息用于指示所对应的节点设备由所述配置文件内查找与所述标识对应的配置参数,根据所述配置参数修改所述节点设备的指定参数,所述指定参数与所述标识对应。
18.一种分布式系统,其特征在于,包括:主控设备和至少一个节点设备;
所述主控设备用于检测所述节点设备的连接端口的工作状态,其中,所述连接端口用于实现所述主控设备与所述节点设备之间的通信连接;若所述连接端口的工作状态为可用状态,则建立与所述节点设备的通信链路,并基于所述通信链路,将指示信息和安装包发送至所述节点设备,所述安装包包括指定程序的配置文件,指示所述节点设备根据所述配置文件配置用于运行所述指定程序的指定参数,其中,所述安装包内的配置文件包括多个配置参数,每个配置参数对应一个指示信息,所述主控设备发送至每个所述节点设备的安装包相同,所述指示信息包括所述节点设备需配置的参数的标识,每个节点设备的指示信息不同,每个所述指示信息用于指示所对应的节点设备由所述配置文件内查找与所述标识对应的配置参数,根据所述配置参数修改所述节点设备的指定参数,所述指定参数与所述标识对应;
所述节点设备用于根据所述配置文件配置用于运行所述指定程序的指定参数。
19.一种计算机可读介质,其特征在于,所述计算机可读介质存储有处理器可执行的程序代码,所述程序代码被所述处理器执行时使所述处理器执行权利要求1-16任一项所述方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/089589 WO2021226784A1 (zh) | 2020-05-11 | 2020-05-11 | 节点配置方法、装置、分布式系统及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115004650A CN115004650A (zh) | 2022-09-02 |
CN115004650B true CN115004650B (zh) | 2024-01-16 |
Family
ID=78526046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080094856.3A Active CN115004650B (zh) | 2020-05-11 | 2020-05-11 | 节点配置方法、装置、分布式系统及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115004650B (zh) |
WO (1) | WO2021226784A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615128B (zh) * | 2022-03-08 | 2024-02-23 | 网易(杭州)网络有限公司 | 服务管理方法及系统、计算机存储介质和电子设备 |
CN114860270B (zh) * | 2022-04-29 | 2024-08-09 | 济南浪潮数据技术有限公司 | 一种待故障注入节点的监控管理方法及相关组件 |
CN116628770B (zh) * | 2023-07-19 | 2023-11-28 | 北京芯驰半导体科技有限公司 | 芯片的数据保护方法、装置、芯片、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN106886434A (zh) * | 2016-12-28 | 2017-06-23 | 山西柯睿森信息技术有限公司 | 一种分布式应用安装方法与装置 |
CN109614120A (zh) * | 2018-11-29 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种分布式应用的安装方法、系统及节点设备 |
CN109660950A (zh) * | 2018-11-30 | 2019-04-19 | Oppo广东移动通信有限公司 | 导航控制方法及相关产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300598B2 (en) * | 2007-10-03 | 2016-03-29 | Virtela Technology Services Incorporated | Virtualized application acceleration infrastructure |
CN101552690B (zh) * | 2008-03-31 | 2011-04-06 | 华为技术有限公司 | 一种节点维护功能的配置方法、系统及节点设备 |
CN103593322B (zh) * | 2013-11-11 | 2017-07-07 | 曙光信息产业(北京)有限公司 | 驱动组件的配置方法和装置 |
CN106533753B (zh) * | 2016-11-07 | 2019-12-24 | 广州视源电子科技股份有限公司 | 一种分布式系统的角色配置方法及装置 |
-
2020
- 2020-05-11 CN CN202080094856.3A patent/CN115004650B/zh active Active
- 2020-05-11 WO PCT/CN2020/089589 patent/WO2021226784A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN106886434A (zh) * | 2016-12-28 | 2017-06-23 | 山西柯睿森信息技术有限公司 | 一种分布式应用安装方法与装置 |
CN109614120A (zh) * | 2018-11-29 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种分布式应用的安装方法、系统及节点设备 |
CN109660950A (zh) * | 2018-11-30 | 2019-04-19 | Oppo广东移动通信有限公司 | 导航控制方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115004650A (zh) | 2022-09-02 |
WO2021226784A1 (zh) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115004650B (zh) | 节点配置方法、装置、分布式系统及计算机可读介质 | |
KR102101319B1 (ko) | 과거 이력 데이터에 기초하는 네트워크 노드 가용성 예측 | |
CN111491013A (zh) | 服务器调度方法、装置、系统、存储介质及计算机设备 | |
US20130198266A1 (en) | Facilitating communication between web-enabled devices | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
CN111800443A (zh) | 数据处理系统和方法、装置以及电子设备 | |
US11983522B2 (en) | Edge-based intelligence for over the air update | |
CN112737847B (zh) | 节点升级方法及装置、存储介质及电子装置 | |
US20170171698A1 (en) | Near Field Discovery Method, User Equipment, and Storage Medium | |
CN112764696A (zh) | 一种云打印服务器、远程打印设备的智能打印方法及系统 | |
CN112788089A (zh) | 多边缘云的网络通讯控制方法及边缘运算装置与系统 | |
CN110442506B (zh) | 一种日志获取方法、装置、业务服务器、系统及存储介质 | |
CN112788088B (zh) | 多边缘云的网络通信控制方法及边缘运算系统 | |
CN112583630B (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
CN112423322A (zh) | 型号信息发送方法、装置、存储介质及电子装置 | |
CN107667513B (zh) | 用于远程网络拓扑发现的系统和方法 | |
CN111901395B (zh) | 多集群切换方法及装置 | |
CN113595894B (zh) | 服务节点间、客户端节点间通信方法、装置、设备及介质 | |
CN112242937B (zh) | 一种网络测速方法、装置、电子设备及计算机可读介质 | |
US11108652B2 (en) | Server assisted network discovery (SAND) | |
JP4532238B2 (ja) | オンデマンドサービス提供システム | |
CN105323088A (zh) | 跳板处理方法及装置 | |
CN105306238A (zh) | 终端接入方法、装置和系统 | |
US20190312929A1 (en) | Information synchronization method and device |
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 |