CN113220433B - 一种代理程序运行管理方法及系统 - Google Patents

一种代理程序运行管理方法及系统 Download PDF

Info

Publication number
CN113220433B
CN113220433B CN202110529099.4A CN202110529099A CN113220433B CN 113220433 B CN113220433 B CN 113220433B CN 202110529099 A CN202110529099 A CN 202110529099A CN 113220433 B CN113220433 B CN 113220433B
Authority
CN
China
Prior art keywords
node
upgraded
program
agent
state
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
Application number
CN202110529099.4A
Other languages
English (en)
Other versions
CN113220433A (zh
Inventor
耿瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110529099.4A priority Critical patent/CN113220433B/zh
Publication of CN113220433A publication Critical patent/CN113220433A/zh
Application granted granted Critical
Publication of CN113220433B publication Critical patent/CN113220433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种代理程序运行管理方法及系统。管理方法包括:当待升级节点监听到第一代理程序的升级请求时,待升级节点获取升级请求对应的升级信息,并根据升级信息生成并运行第二代理程序;待升级节点将第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序;当在先服务任务均已被第一代理程序执行完成时,停止运行第一代理程序。本方案实现了节点升级过程不间断执行任务,而且节点升级过程之前接收到的服务任务也可以顺利完成,大大的提高了节点的处理效率。

Description

一种代理程序运行管理方法及系统
技术领域
本发明涉及集群升级技术领域,尤其涉及一种代理程序运行管理方法及系统。
背景技术
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
随着互联网的不断发展,特别是近几年大数据的兴起,动辄都是几十台、甚至几百台服务器的集群。在多节点任务调度环境下,当节点上的代理程序需要升级时,若此时代理程序上一直有新任务下发,任务一直要执行。传统方法会强制停止任务,在升级完后重启任务,任务的执行延时会增加。
发明内容
为了解决现有技术存在的节点进行升级的情况下有可能导致以接收到的任务的执行时长大幅增加,影响用户使用体验的问题,本发明的至少一个实施例提供了一种代理程序运行管理方法及系统。
第一方面,本发明实施例提供了一种代理程序运行管理方法,应用于多节点集群中的每个节点,所述管理方法包括:
当待升级节点监听到第一代理程序的升级请求时,所述待升级节点获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序;
所述待升级节点将所述第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序;
当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序;所述在先服务任务包括:所述第二代理程序运行之前已接收到的服务任务。
基于上述技术方案,本发明实施例还可以做出如下改进。
结合第一方面,在第一方面的第一种实施例中,所述当待升级节点监听到第一代理程序的升级请求时,所述待升级节点获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序之前,所述管理方法还包括:
监听注册中心,判断所述注册中心是否接收到针对节点的第一代理程序的升级请求;
当监听到所述注册中心接收到针对节点的第一代理程序的升级请求时,根据所述升级请求对应的节点信息确定所述待升级节点。
结合第一方面,在第一方面的第二种实施例中,所述待升级节点将所述第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序,包括:
所述待升级节点将所述第一代理程序的状态信息变更为过时状态,并将所述第一代理程序的状态信息发送至注册中心,使得监听所述注册中心的服务端将服务任务发送至第二代理程序。
结合第一方面或第一方面的第一、第二中实施例,在第一方面的第三种实施例中,所述当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序,具体包括:
判断所有所述在先服务任务是否均已执行完成;
当任一所述在先服务任务未执行完成时,所述第一代理程序继续执行所述在先服务任务;
当所有所述在先服务任务均已执行完成时,停止运行所述第一代理程序。
结合第一方面的第三种实施例,在第一方面的第四种实施例中,所述管理方法还包括:
当任一所述在先服务任务被执行完成时,所述第一代理程序将在先服务任务的任务状态发送至注册中心;
判断所有所述在先服务任务是否均已执行完成,包括:
从所述注册中心获取在先服务任务的任务状态,根据所述在先服务任务的任务状态,判断所有所述在先服务任务是否均已执行完成。
第二方面,本发明实施例提供了一种代理程序运行管理方法,应用于向多节点集群发送服务任务的服务端,所述管理方法包括:
当接收到针对待升级节点的第一代理程序的升级请求时,将所述升级请求发送至所述待升级节点,以使得所述待升级节点根据所述升级请求获取升级信息创建并运行第二代理程序;所述升级请求用于获取第二代理程序对应的升级信息;
当监听到所述待升级节点的第一代理程序的状态信息发生变更时,将发送到所述待升级节点的服务任务发送至所述待升级节点中的第二代理程序。
结合第二方面,在第一方面的第一种实施例中,所述将所述升级请求发送至所述待升级节点,以使得所述待升级节点根据所述升级请求获取升级信息创建并运行第二代理程序,包括:
所述服务端将所述升级请求发送至注册中心,使得监听所述注册中心的待升级节点获取所述升级请求。
结合第二方面,在第一方面的第二种实施例中,所述当监听到所述待升级节点的第一代理程序的状态信息发生变更时,将发送到所述待升级节点的服务任务发送至所述待升级节点中的第二代理程序之前,管理方法还包括:
所述服务端监听注册中心,判断所述注册中心是否接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息;
当所述注册中心接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息时,所述待升级节点的第一代理程序的状态信息发生变更;
当所述注册中心未接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息时,所述待升级节点的第一代理程序的状态信息未发生变更。
第三方面,本发明实施例提供了一种代理程序运行管理系统,应用于多节点集群中的待升级节点,待升级节点为任一所述节点;所述待升级节点包括:
创建单元,用于当监听到第一代理程序的升级请求时,获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序;
变更单元,用于将所述第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序;
停止单元,用于当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序;所述在先服务任务包括:所述第二代理程序运行之前已接收到的服务任务。
第四方面,本发明实施例提供了一种代理程序运行管理系统,应用于向多节点集群发送服务任务的服务端,服务端包括:
第一发送单元,用于当接收到针对待升级节点的第一代理程序的升级请求时,将所述升级请求发送至所述待升级节点,以使得所述待升级节点根据所述升级请求获取升级信息创建并运行第二代理程序;所述升级请求用于获取第二代理程序对应的升级信息;
第二发送单元,用于当监听到所述待升级节点的第一代理程序的状态信息发生变更时,将发送到所述待升级节点的服务任务发送至所述待升级节点中的第二代理程序。
本发明的上述技术方案与现有技术相比具有如下优点:本方案在待升级节点接收到升级请求时,根据升级请求获取升级信息,并依据升级信息创建并运行第二代理程序,并告知服务端将后续服务任务发送到第二代理程序中进行处理,同时,通过第一代理程序继续执行在先接收到的所有服务任务,在第一代理程序完成所有在先服务任务时,将第一代理程序注销则可以认为待升级节点的代理程序升级完成,本方案实现了节点升级过程不间断执行任务,而且节点升级过程之前接收到的服务任务也可以顺利完成,大大的提高了节点的处理效率。
附图说明
图1是本发明实施例提供的一种系统结构示意图;
图2是本发明另一实施例提供的一种代理程序运行管理方法流程示意图;
图3是本发明又一实施例提供的一种代理程序运行管理方法流程示意图其一;
图4是本发明又一实施例提供的一种代理程序运行管理方法流程示意图其二;
图5是本发明又一实施例提供的一种代理程序运行管理方法流程示意图其三;
图6是本发明又一实施例提供的一种代理程序运行管理方法流程示意图其四;
图7是本发明又一实施例提供的一种代理程序运行管理系统结构示意图其一;
图8是本发明又一实施例提供的一种代理程序运行管理系统结构示意图其二;
图9是本发明又一实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,本发明实施例提供的为实现本发明各个实施例的一种系统,包括服务端21、多节点集群和注册中心。
注册中心分别与服务端和多节点集群中的节点连接,服务端也与多节点集群中的节点连接,Zookeeper用作注册中心简单来讲,zookeeper可以充当一个服务注册表(Service Registry),让多个服务提供者形成一个集群,让服务消费者通过服务注册表获取具体的服务访问地址(IP+端口)去访问具体的服务提供者,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
其中,服务端21可以是诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
如图2所示,本发明实施例提供了一种代理程序运行管理方法,应用于多节点集群中的每个节点。参照图2,管理方法包括如下步骤:
S11、当待升级节点监听到第一代理程序的升级请求时,待升级节点获取升级请求对应的升级信息,并根据升级信息生成并运行第二代理程序。
在本实施例中,集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
在本实施例中,多节点集群中的节点即上述计算机或服务器,而每台计算机或服务器上的代理程序分别用以执行不同的任务,通过集群的方式执行不同的任务,可以根据任务的数量变化实时调整执行任务的计算机或服务器的数量,保证任务的执行效率。
在本实施例中,为了更好的完成所处理的任务,用户会对计算机或服务器中的代理程序进行相应的升级,以提高任务处理效率。
在本实施例中,待升级节点可以是集群中的任一节点,当节点接收到自身的代理程序的升级请求时,基于该升级请求获取对应的升级信息,升级请求可以是由用户输入或者节点自动识别代理程序的版本号来得到,比如,用户在开发完代理程序的新版本后,主动点击节点中的升级按钮录入申请请求,节点根据用户的主动控制获取代理程序的新版本进行代理程序的版本升级,或者,节点在运行时实时获取各个代理程序的最新版本号判断自身的代理程序的版本号是否为最新版,若版本号出现差异,则说明代理程序出现了更新的版本,此时,主动生成升级请求获取升级信息进行版本升级或者向用户弹出是否进行升级的窗口,由用户点选窗口中的选择按钮来选择是否进行版本升级。
在本实施例中,当接收到针对第一代理程序的升级请求时,获取升级请求对应的升级信息,并根据该升级信息来生成并运行第二代理程序。
S12、待升级节点将第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序。
在本实施例中,待升级节点将第一代理程序的状态信息进行变更,让服务端将服务任务发送至第二代理程序,比如,向服务端发送消息告知服务端第一代理程序已处于过时状态,不要再将新的服务任务发送到第一代理程序,将新出现的服务任务均发送至第二代理程序中进行处理;或者直接向服务端发送消息,将第一代理程序的状态信息设置为空,同时向服务端发送第二代理程序的地址信息,使得服务端将服务任务主动发送至第二代理程序中。
S13、当在先服务任务均已被第一代理程序执行完成时,停止运行第一代理程序;在先服务任务包括:第二代理程序运行之前已接收到的服务任务。
在本实施例中,由于在第二代理程序还未运行时接收到的服务任务在发送到待升级节点时都会发送到第一代理程序中进行处理,所以一旦此时出现代理程序进行升级时,若待升级节点直接停止在执行的任务去停止第一代理程序,转而运行第二代理程序,那就会导致第一代理程序正在执行的任务需要通过第二代理程序重新进行执行,同时由于代理程序的升级过程并不是能够瞬间完成的,所以这段时间内和在先接收到的且未执行完毕的服务任务都需要等待第二代理程序运行后进行处理,导致这一批任务的执行时长变的十分长。
在本实施例中,通过第一代理程序继续执行在先服务任务,直至在先服务任务均已被完成时,才停止运行第一代理程序,不仅在先接收到的任务可以及时被完成,新出现的任务也可以由第二代理程序进行处理,实现节点的代理程序的平滑升级。
在本实施例中,本方案在待升级节点接收到升级请求时,根据升级请求获取升级信息,并依据升级信息创建并运行第二代理程序,并告知服务端将后续服务任务发送到第二代理程序中进行处理,同时,通过第一代理程序继续执行在先接收到的所有服务任务,在第一代理程序完成所有在先服务任务时,将第一代理程序注销则可认为待升级节点的代理程序升级完成,实现了节点升级过程不间断执行任务,而且节点升级过程之前接收到的服务任务也可以顺利完成,大大的提高了节点的处理效率。
如图3所示,在本实施例中,在步骤S11之前,管理方法还包括:
S21、监听注册中心,判断注册中心是否接收到针对节点的第一代理程序的升级请求。
在本实施例中,为了实现分布式系统的一致性服务一般会用到注册中心来对服务端、客户端之间进行任务分配和任务协调,以保证分布式系统中的各项服务之间的数据统一,注册中心可以是ZooKeeper注册中心,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
在本实施例中,通过注册中心完成分布式系统中各个终端之间的数据互通,在本步骤中,各节点分别监听注册中心,确认注册中心是否接收到针对节点的代理程序的升级请求,以此来确定节点自身的代理程序是否需要进行升级,其中,可以由工作人员控制后台服务器将升级指令发送到注册中心,或者后台服务器实时比对各节点的代理程序的版本号与代理程序的最新版本号是否一致,若出现不一致的情况,则针对版本号不一致的代理程序对应的节点发送升级请求,即将升级请求发送至注册中心让节点获取到相关信息,或者后台服务器实时确定开发人员是否上传新的代理程序,若上传新的代理程序,则根据新的代理程序向对应的节点发送升级请求,即将升级请求发送至注册中心让节点获取到相关信息。
S22、当监听到注册中心接收到针对节点的第一代理程序的升级请求时,根据升级请求对应的节点信息确定待升级节点。
在本实施例中,各节点分别对注册中心进行监听,并在监听到注册中心接收到升级请求时,各节点根据升级请求对应的节点信息确认自身是否待升级节点,使得节点主动完成对自身代理程序的升级。
在本实施例中,通过注册中心完成本方案公开的系统中的各个终端的数据交互,可以减少数据交互过程中的数据丢失的情况,比如,若后台服务器直接与集群中的某一节点发送升级请求,若该节点此时的网络状态特别差,则该节点无法接收到升级请求或者接收到完整的升级请求,而后台服务器需要等待较长的时间才能知晓节点未接收到升级请求,即使节点网络状态较好,节点能够准确接收到升级请求,节点也需要在接收到升级请求后向后台服务器反馈接收到升级请求的反馈信息,这种数据的交互过程一旦出现网络波动就容易出现问题,本方案中通过注册中心来实现各个终端的数据交互,由终端主动监听注册中心的内容,在网络正常时主动获取相应的数据,以避免网络波动出现的数据丢失。
在本实施例中,本方案中将第一代理程序的状态信息进行变更可以将第一代理程序的状态信息变更为过时状态,并将第一代理程序的状态信息发送至注册中心,使得监听注册中心的服务端将服务任务发送至第二代理程序,服务端同样实时监听注册中心中关于第一代理程序的状态信息实现将服务任务分发到节点中状态信息正常的代理程序中。
如图4所示,本发明实施例提供了一种代理程序运行管理方法,应用于多节点集群中的每个节点。参照图4,管理方法包括如下步骤:
S31、当待升级节点监听到第一代理程序的升级请求时,待升级节点获取升级请求对应的升级信息,并根据升级信息生成并运行第二代理程序。
有关步骤S31,详细可参见步骤S11中的描述,本实施例在此不再赘述。
S32、待升级节点将第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序。
有关步骤S32,详细可参见步骤S12中的描述,本实施例在此不再赘述。
S33、判断所有在先服务任务是否均已执行完成。
在本实施例中,待升级节点实时监听注册中心中接收到的服务任务,并接收与自身相关的服务任务进行处理,在第二代理程序运行后,确定第二代理程序运行之前接收到的服务任务是否都被执行完成。
在本实施例中,节点判断自身接收到的在先服务任务是否均已执行完成,可以预先在接收到服务任务时,将服务任务的任务状态在本地进行存储,以便于在本步骤中实时确定在先服务任务是否被执行完成;还可以在在先服务任务执行完成后向服务端反馈服务结果时,将服务任务的任务状态与服务结果一同发送到注册中心进行登记,本步骤中向注册中心获取登记的服务任务的状态来确认在先服务任务是否均已被执行完成,这样可以避免一旦服务结果发送失败,此时节点会认为服务任务已执行完成,而服务端认为节点还在执行相应服务任务的情况,既可以让节点确认各个在先服务任务的完成情况,还可以让节点确认服务端是否接收到服务任务的处理结果。
S34a、当任一在先服务任务未执行完成时,第一代理程序继续执行在先服务任务。
S34b、当所有在先服务任务均已执行完成时,停止运行第一代理程序。
在本实施例中,根据在先服务任务是否全部被执行完成来确定是否停止运行第一代理程序,即结束第一代理程序的进程,由第二代理程序来执行节点后续接收到的服务任务。
在本实施例中,本方案中判断所有在先服务任务是否均已执行完成,包括:从注册中心获取在先服务任务的任务状态,根据在先服务任务的任务状态,判断所有在先服务任务是否均已执行完成。
在本实施例中,从注册中心获取在先服务任务的任务状态,来确认在先服务任务是否均已被执行完成,具体的,若存在在先服务任务的任务状态变更为已执行完成,则说明在先服务任务已被执行完成,
在本实施例中,当任一在先服务任务被执行完成时,第一代理程序将在先服务任务的任务状态发送至注册中心。
在本实施例中,由于已被执行完成的服务任务的任务状态会被发送至注册中心,后续,节点可以从注册中心中获取在先服务任务的任务状态来确定各个在先服务任务是否均被执行完成。
进一步,节点还可以通过注册中心中是否包含在先服务任务的任务状态确定在先发送至注册中心的信息是否到达注册中心,避免上述步骤中服务任务运行结束后,将服务结果发送至服务端的过程中一旦出现服务结果发送失败,此时节点会认为服务任务已执行完成,而服务端认为节点还在执行相应服务任务的情况。
如图5所示,本发明实施例提供了一种代理程序运行管理方法,应用于向多节点集群发送服务任务的服务端。参照图5,管理方法包括如下步骤:
S41、当接收到针对待升级节点的第一代理程序的升级请求时,将升级请求发送至待升级节点,以使得待升级节点根据升级请求获取升级信息创建并运行第二代理程序;升级请求用于获取第二代理程序对应的升级信息。
在本实施例中,服务端在接收到针对待升级节点的代理程序的升级请求时,将升级请求发送至相应的待升级节点,待升级节点根据升级请求获取相应的升级信息,创建并运行第二代理程序。
S42、当监听到待升级节点的第一代理程序的状态信息发生变更时,将发送到待升级节点的服务任务发送至待升级节点中的第二代理程序。
在本实施例中,服务端当监听到待升级节点的第一代理程序的状态信息发生变更时,则认为第一代理程序无法再继续处理服务任务,此时,将发送到该待升级节点的服务任务发送至待升级节点的第二代理程序中,在第一代理程序不再接收新的服务任务时,通过第二代理程序运行服务任务,以实现待升级节点的不间断运行。
在本实施例中,步骤S41中将升级请求发送至待升级节点,包括:服务端将升级请求发送至注册中心,使得监听注册中心的待升级节点获取升级请求。
如图6所示,在本实施例中,步骤S42当监听到待升级节点的第一代理程序的状态信息发生变更时,将发送到待升级节点的服务任务发送至待升级节点中的第二代理程序之前,管理方法还包括如下步骤:
S51、服务端监听注册中心,判断注册中心是否接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息。
S52a、当注册中心接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息发生变更。
S52b、当注册中心未接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息未发生变更。
在本实施例中,服务端实时监听注册中心中是否接收到待升级节点是否接收到将第一代理程序的状态变更为过时状态的状态信息来确定服务任务发送到待升级节点的正在进行工作的代理程序中。
在本实施例中,本方案通过注册中心进行分布式系统中各终端之间的数据交互,避免接收方因为网络波动无法接收到准确数据时,数据发送方和数据接收方均无法知晓数据的发送情况,只要各终端实时监听注册中心,就可以实时确定数据发送方发送的数据是否到达注册中心,数据接收方可以在网络状态好的情况下从注册中心获取相应数据。
如图7所示,本发明实施例提供了一种代理程序运行管理系统,应用于多节点集群中的待升级节点,待升级节点为任一节点;待升级节点包括:创建单元11、变更单元12和停止单元13。
在本实施例中,创建单元11,用于当监听到第一代理程序的升级请求时,获取升级请求对应的升级信息,并根据升级信息生成并运行第二代理程序。
在本实施例中,变更单元12,用于将第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序。
在本实施例中,停止单元13,用于当在先服务任务均已被第一代理程序执行完成时,停止运行第一代理程序;在先服务任务包括:第二代理程序运行之前已接收到的服务任务。
在本实施例中,节点均包括:第一监听单元,用于监听注册中心,判断注册中心是否接收到针对节点的第一代理程序的升级请求,当监听到注册中心接收到针对节点的第一代理程序的升级请求时,根据升级请求对应的节点信息确定节点自身是否为待升级节点。
在本实施例中,变更单元12,具体用于将第一代理程序的状态信息变更为过时状态,并将第一代理程序的状态信息发送至注册中心,使得监听注册中心的服务端将服务任务发送至第二代理程序。
在本实施例中,停止单元13,具体用于判断所有在先服务任务是否均已执行完成;当所有在先服务任务均已执行完成时,停止运行第一代理程序。
在本实施例中,待升级节点还包括:通知单元,用于当任一在先服务任务被执行完成时,第一代理程序将在先服务任务的任务状态发送至注册中心。
在本实施例中,停止单元13,具体用于从注册中心获取在先服务任务的任务状态,根据在先服务任务的任务状态,判断所有在先服务任务是否均已执行完成。
本发明实施例的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
如图8所示,本发明实施例提供了一种代理程序运行管理系统,应用于向多节点集群发送服务任务的服务端,服务端包括:第一发送单元14和第二发送单元15。
在本实施例中,第一发送单元14,用于当接收到针对待升级节点的第一代理程序的升级请求时,将升级请求发送至待升级节点,以使得待升级节点根据升级请求获取升级信息创建并运行第二代理程序;升级请求用于获取第二代理程序对应的升级信息。
在本实施例中,第二发送单元15,用于当监听到待升级节点的第一代理程序的状态信息发生变更时,将发送到待升级节点的服务任务发送至待升级节点中的第二代理程序。
在本实施例中,第一发送单元14,具体用于将升级请求发送至注册中心,使得监听注册中心的待升级节点获取升级请求。
在本实施例中,服务端包括:第二监听单元,具体用于监听注册中心,判断注册中心是否接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息;当注册中心接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息发生变更;当注册中心未接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息未发生变更。
本发明实施例的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
如图9所示,本发明实施例提供了一种电子设备,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信;
存储器1130,用于存放计算机程序;
处理器1110,用于执行存储器1130上所存放的程序时,实现上述任一实施例的代理程序运行管理方法。
本发明实施例提供的电子设备,处理器1110通过执行存储器1130上所存放的程序在待升级节点接收到升级请求时,根据升级请求获取升级信息,并依据升级信息创建并运行第二代理程序,并告知服务端将后续服务任务发送到第二代理程序中进行处理,同时,通过第一代理程序继续执行在先接收到的所有服务任务,在第一代理程序完成所有在先服务任务时,即可认为待升级节点的代理程序升级完成,实现了节点升级过程不间断执行任务,而且节点升级过程之前接收到的服务任务也可以顺利完成,大大的提高了节点的处理效率。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器1130(RandomAccessMemory,简称RAM),也可以包括非易失性存储器1130(non-volatilememory),例如至少一个磁盘存储器1130。可选的,存储器1130还可以是至少一个位于远离前述处理器1110的存储装置。
上述的处理器1110可以是通用处理器1110,包括中央处理器1110(CentralProcessingUnit,简称CPU)、网络处理器1110(NetworkProcessor,简称NP)等;还可以是数字信号处理器1110(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器1110执行,以实现上述任一实施例的代理程序运行管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种代理程序运行管理方法,其特征在于,应用于多节点集群中的每个节点,所述管理方法包括:
当待升级节点监听到第一代理程序的升级请求时,所述待升级节点获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序;
所述待升级节点将所述第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序,具体包括:所述待升级节点将所述第一代理程序的状态信息变更为过时状态,并将所述第一代理程序的状态信息发送至注册中心,使得监听所述注册中心的服务端将服务任务发送至第二代理程序;
当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序;所述在先服务任务包括:所述第二代理程序运行之前已接收到的服务任务。
2.根据权利要求1所述的管理方法,其特征在于,所述当待升级节点监听到第一代理程序的升级请求时,所述待升级节点获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序之前,所述管理方法还包括:
监听注册中心,判断所述注册中心是否接收到针对节点的第一代理程序的升级请求;
当监听到所述注册中心接收到针对节点的第一代理程序的升级请求时,根据所述升级请求对应的节点信息确定所述待升级节点。
3.根据权利要求1~2中任一所述的代理程序运行管理方法,其特征在于,所述当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序,具体包括:
判断所有所述在先服务任务是否均已执行完成;
当任一所述在先服务任务未执行完成时,所述第一代理程序继续执行所述在先服务任务;
当所有所述在先服务任务均已执行完成时,停止运行所述第一代理程序。
4.根据权利要求3所述的代理程序运行管理方法,其特征在于,所述管理方法还包括:
当任一所述在先服务任务被执行完成时,所述第一代理程序将在先服务任务的任务状态发送至注册中心;
判断所有所述在先服务任务是否均已执行完成,包括:
从所述注册中心获取在先服务任务的任务状态,根据所述在先服务任务的任务状态,判断所有所述在先服务任务是否均已执行完成。
5.一种代理程序运行管理方法,其特征在于,应用于向多节点集群发送服务任务的服务端,所述管理方法包括:
当接收到针对待升级节点的第一代理程序的升级请求时,将所述升级请求发送至所述待升级节点,以使得所述待升级节点根据所述升级请求获取升级信息创建并运行第二代理程序;所述升级请求用于获取第二代理程序对应的升级信息;
所述服务端监听注册中心,判断所述注册中心是否接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息;
当所述注册中心接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息时,所述待升级节点的第一代理程序的状态信息发生变更;
当所述注册中心未接收到待升级节点将所述第一代理程序的状态变更为过时状态的状态信息时,所述待升级节点的第一代理程序的状态信息未发生变更;
当监听到所述待升级节点的第一代理程序的状态信息发生变更时,将发送到所述待升级节点的服务任务发送至所述待升级节点中的第二代理程序。
6.根据权利要求5所述的代理程序运行管理方法,其特征在于,所述将所述升级请求发送至所述待升级节点,包括:
所述服务端将所述升级请求发送至注册中心,使得监听所述注册中心的待升级节点获取所述升级请求。
7.一种代理程序运行管理系统,其特征在于,应用于多节点集群中的待升级节点,待升级节点为任一所述节点;所述待升级节点包括:
创建单元,用于当监听到第一代理程序的升级请求时,获取所述升级请求对应的升级信息,并根据所述升级信息生成并运行第二代理程序;
变更单元,用于将所述第一代理程序的状态信息进行变更,使得服务端将服务任务发送至第二代理程序,具体包括:所述待升级节点将所述第一代理程序的状态信息变更为过时状态,并将所述第一代理程序的状态信息发送至注册中心,使得监听所述注册中心的服务端将服务任务发送至第二代理程序;
停止单元,用于当在先服务任务均已被所述第一代理程序执行完成时,停止运行所述第一代理程序;所述在先服务任务包括:所述第二代理程序运行之前已接收到的服务任务。
8.一种代理程序运行管理系统,其特征在于,应用于向多节点集群发送服务任务的服务端,服务端包括:
第一发送单元,用于当接收到针对待升级节点的第一代理程序的升级请求时,将所述升级请求发送至所述待升级节点,以使得所述待升级节点根据所述升级请求获取升级信息创建并运行第二代理程序;所述升级请求用于获取第二代理程序对应的升级信息;
第二监听单元,具体用于监听注册中心,判断注册中心是否接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息;当注册中心接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息发生变更;当注册中心未接收到待升级节点将第一代理程序的状态变更为过时状态的状态信息时,待升级节点的第一代理程序的状态信息未发生变更;
第二发送单元,用于当监听到所述待升级节点的第一代理程序的状态信息发生变更时,将发送到所述待升级节点的服务任务发送至所述待升级节点中的第二代理程序。
CN202110529099.4A 2021-05-14 2021-05-14 一种代理程序运行管理方法及系统 Active CN113220433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110529099.4A CN113220433B (zh) 2021-05-14 2021-05-14 一种代理程序运行管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110529099.4A CN113220433B (zh) 2021-05-14 2021-05-14 一种代理程序运行管理方法及系统

Publications (2)

Publication Number Publication Date
CN113220433A CN113220433A (zh) 2021-08-06
CN113220433B true CN113220433B (zh) 2023-09-01

Family

ID=77092167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110529099.4A Active CN113220433B (zh) 2021-05-14 2021-05-14 一种代理程序运行管理方法及系统

Country Status (1)

Country Link
CN (1) CN113220433B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472599B (zh) * 2021-09-03 2021-12-10 北京华云安信息技术有限公司 网络节点的数据通信方法及系统
CN113986303B (zh) * 2021-11-16 2024-05-07 重庆紫光华山智安科技有限公司 一种多芯片设备的升级方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859125A (zh) * 2006-03-31 2006-11-08 华为技术有限公司 集中远程自动升级软件的系统及其方法
CN106850746A (zh) * 2016-12-23 2017-06-13 微梦创科网络科技(中国)有限公司 服务平滑升级的方法及装置
WO2019056693A1 (zh) * 2017-09-25 2019-03-28 平安科技(深圳)有限公司 接口代理方法及应用服务器
CN111309366A (zh) * 2020-02-19 2020-06-19 北京字节跳动网络技术有限公司 一种管理注册核心的方法、装置、介质和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272204A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Uninterruptible upgrade for a build service engine
US9960963B2 (en) * 2013-06-24 2018-05-01 Oracle International Corporation Dynamic client fail-over during a rolling patch installation based on temporal server conditions
US10642603B2 (en) * 2018-01-16 2020-05-05 Nutanix, Inc. Scheduling upgrades in distributed computing systems
US11385883B2 (en) * 2018-01-25 2022-07-12 Vmware, Inc. Methods and systems that carry out live migration of multi-node applications
US10715385B2 (en) * 2018-09-27 2020-07-14 International Business Machines Corporation System and method for live migration for software agents

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859125A (zh) * 2006-03-31 2006-11-08 华为技术有限公司 集中远程自动升级软件的系统及其方法
CN106850746A (zh) * 2016-12-23 2017-06-13 微梦创科网络科技(中国)有限公司 服务平滑升级的方法及装置
WO2019056693A1 (zh) * 2017-09-25 2019-03-28 平安科技(深圳)有限公司 接口代理方法及应用服务器
CN111309366A (zh) * 2020-02-19 2020-06-19 北京字节跳动网络技术有限公司 一种管理注册核心的方法、装置、介质和电子设备

Also Published As

Publication number Publication date
CN113220433A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
US11748090B2 (en) Cloud services release orchestration
US8788565B2 (en) Dynamic and distributed queueing and processing system
US8938510B2 (en) On-demand mailbox synchronization and migration system
US7831734B2 (en) Method and system for remote configuration of network devices
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
US8539566B2 (en) Resource monitoring using a JMX message bridge
RU2670794C9 (ru) Способ и система формирования гибкого узла на локальных или распределенных вычислительных системах
CN113220433B (zh) 一种代理程序运行管理方法及系统
US11507479B2 (en) High availability for a relational database management system as a service in a cloud platform
CN109725950B (zh) 一种实现客户端单实例运行的方法、装置及存储介质
GB2518052A (en) Group server performance correction via actions to server subset
US9374417B1 (en) Dynamic specification auditing for a distributed system
WO2022155020A1 (en) Systems and methods to improve application performance
EP3816802A2 (en) Method and device for processing mini program data
CN111240760B (zh) 基于注册中心的应用发布方法、系统、存储介质及设备
US11381665B2 (en) Tracking client sessions in publish and subscribe systems using a shared repository
EP3721604B1 (en) Automatic subscription management of computing services
US20230093004A1 (en) System and method for asynchronous backend processing of expensive command line interface commands
US10348814B1 (en) Efficient storage reclamation for system components managing storage
US9288178B2 (en) Inventory updating of an internet protocol (IP) alias within a highly available computing cluster
US20230195512A1 (en) Monitoring container-implemented software applications
US20220276901A1 (en) Batch processing management
CN114968636A (zh) 一种故障处理的方法和装置
CN113254097A (zh) 配置信息的下发方法和装置、电子设备和存储介质
US10419368B1 (en) Dynamic scaling of computing message architecture

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