CN111343237B - 服务器集群通信的方法、通信装置及计算机存储介质 - Google Patents

服务器集群通信的方法、通信装置及计算机存储介质 Download PDF

Info

Publication number
CN111343237B
CN111343237B CN202010082781.9A CN202010082781A CN111343237B CN 111343237 B CN111343237 B CN 111343237B CN 202010082781 A CN202010082781 A CN 202010082781A CN 111343237 B CN111343237 B CN 111343237B
Authority
CN
China
Prior art keywords
server
node
server node
service
online
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
CN202010082781.9A
Other languages
English (en)
Other versions
CN111343237A (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.)
Yamei Zhilian Data Technology Co ltd
Original Assignee
Guangzhou Yame Information 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 Guangzhou Yame Information Technology Co ltd filed Critical Guangzhou Yame Information Technology Co ltd
Priority to CN202010082781.9A priority Critical patent/CN111343237B/zh
Publication of CN111343237A publication Critical patent/CN111343237A/zh
Application granted granted Critical
Publication of CN111343237B publication Critical patent/CN111343237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及服务器集群通信的方法、装置及计算机存储介质,属于计算机技术领域。该方法应用于集群服务器节点交互过程中,通过引入路由节点,将请求服务器节点的业务请求发送给与该路由节点连接的多个服务器节点,并向请求服务节点转发请求服务器节点返回的反馈信息,请求服务器节点基于确定的当前的在线服务器,判断在定时时间内是否在线的服务器均返回了反馈结果,若存在未反馈的在线服务节点,则确定当前业务请求超时。通过该方法,请求服务器节点的业务处理系统仅需判断在线服务节点是否返回反馈信息,无需对已下线服务节点的反馈信息进行额外的等待,缩短了业务请求的处理时间,提高了业务处理的效率。

Description

服务器集群通信的方法、通信装置及计算机存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种服务器集群通信的方法、通信装置及计算机存储介质。
背景技术
随着物联网(The Internet of Things,IoT)的发展,越来越多的终端设备实现与网络相连,极大的方便了人们的生活。一般来说,终端设备通过网络与服务器相连时,会在该服务器中处理相关业务,并产生与终端相关的状态数据,这些状态数据很可能会被终端设备后续的业务用到。按照传统的方法,这些状态数据会被存储到一个集中式的数据库中,便于业务查询,通常情况下,数据库中会存储服务器、状态数据与终端设备的映射关系。
然而,在实际应用场景下,终端设备与服务器交互完毕之后,其状态数据一般会发生变化,需要数据库基于新的状态数据维护映射关系。当数据库存储大量数据且状态数据变化频繁时,会给数据库带来极大的工作负荷,降低数据库的性能。此外,当终端设备与服务器进行交互时,若正好发生状态迁移,可能导致业务请求延迟。
因此,如何高效实现有状态的集群节点之间的交互,是目前亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种服务器集群通信的方法、装置及计算机存储介质。
一种服务器集群通信的方法,所述服务器集群包括为处理同一项业务而部署的多个服务器节点,所述方法应用于请求服务器节点,所述请求服务器节点和所述多个服务器节点均与路由节点连接,包括:
接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接;
将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点;
接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息;
发送所述反馈信息至所述请求服务器节点或所述第一服务器节点。
应理解,请求服务器节点、多个服务器节点和路由节点分别属于不同的集群,请求服务器节点可以与路由节点通信连接,或者,也可以与第一服务器节点通信连接,其中,第一服务器节点为服务器集群中多个服务器节点中的任意一个,该第一服务器节点与路由节点通信连接,可以将由请求服务器节点获取的数据转发至路由节点。
根据本申请实施例提供的方法,路由节点可以将请求服务器节点的业务请求转发至与其通信连接的多个服务器节点中,并将获取的服务器节点的反馈信息转发至请求服务器节点,无需由集中式数据库获取服务器网关地址后,才可以进行业务请求,优化了服务器节点交互的架构,提高了业务处理的效率。
在其中一个实施例中,所述方法还包括:
接收所述服务器节点发送的功能指示信息;所述功能指示信息用于指示所述服务器节点支持的功能;
根据所述功能指示信息识别处理所述待处理业务所需要调用的第一功能;
指示所述多个服务器节点调用所述第一功能处理所述待处理业务。
应理解,服务器节点通过在路由节点注册功能事件,可以使得路由节点识别业务请求需要调用的功能,无需服务器节点再次判断需要调用哪一功能,减少了服务端的判断,提高待处理业务的处理效率。
在其中一个实施例中,所述方法还包括:
获取所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
向所述请求服务器节点发送所述上线通知。
在其中一个实施例中,所述方法还包括:
获取所述服务器节点的心跳信息;所述心跳信息用于指示所述服务器节点的最新在线时间;
向所述请求服务器节点发送所述心跳信息。
根据本申请实施例提供的服务器集群通信的方法,路由节点通过向请求服务器节点转发服务器节点的在线时间或者心跳信息,可以使得请求服务器节点获知当前最新的在线服务器节点,便于后续进一步判断是否所有在线服务器节点均返回反馈信息,无需等待下线服务器节点的反馈信息,缩短业务处理的时间,提高了业务处理的效率。
一种服务器集群的通信方法,所述服务器集群包括为处理同一项业务而部署的多个服务器节点,所述方法应用于请求服务器节点,所述请求服务器节点与路由节点或第一服务器节点通信连接,所述第一服务器节点属于所述服务器集群,所述路由节点与所述多个服务器节点通信连接,包括:
向所述路由节点或所述第一服务器节点发起业务请求;所述业务请求用于请求处理待处理业务;
接收所述路由节点或所述第一服务器节点转发的反馈信息;所述反馈信息由所述多个服务器节点中的在线服务器节点生成;所述反馈信息包括所述待处理业务的处理信息和空响应信息;
基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息。
根据本申请实施例提供的方法,请求服务器节点可以预先获取集群服务器节点的在线状态,并根据该在线状态判断是否接收到所有当前在线的服务器节点针对业务请求的反馈信息,避免请求服务器节点对于已下线服务器节点长时间等待的情况。由于只需判断在线服务器节点是否返回反馈信息,无需关注已下线服务器节点,能够节省请求服务器节点业务请求的时间,缩短整体业务处理的时间。
在其中一个实施例中,所述方法还包括:
获取所述路由节点转发的所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
建立所述服务器节点的标识和所述上线时间之间的映射关系;
根据接收到的所述服务器节点的心跳信息对所述映射关系中的在线时间进行更新;所述心跳信息用于指示所述服务器节点的最新在线时间;
当在第一预设时间内接收到所述心跳信息时,确定该心跳信息对应的服务器节点为在线服务器节点。
根据本申请实施例提供的服务器集群通信的方法,请求服务器节点获知当前最新的在线服务器节点后,无需再等待下线服务器节点的反馈信息,缩短业务处理的时间,提高了业务处理的效率。
在其中一个实施例中,设置第二预设时间,所述第二预设时间用于判断所述反馈信息是否超时,所述方法还包括:
当在第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息,并继续等待其他部分的所述当前在线服务器节点生成的反馈信息。
根据上述服务器集群通信的方法,请求服务器节点根据反馈信息是否超时或者反馈信息是否满足请求服务器节点的预设要求对反馈信息进行相应的丢弃或者使用操作,避免请求服务器节点存储不满足预设要求的反馈信息,造成的空间资源浪费;此外,设置第二预设时间,缩短了请求服务器节点的业务处理时间,提高了业务处理的效率。
一种集群服务器节点之间通信的装置,所述通信装置与请求服务器节点和多个服务器节点连接,包括:
接收模块,用于接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接;
发送模块,用于将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点;
接收模块,还用于接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息;
发送模块,还用于发送所述反馈信息至所述请求服务器节点或所述第一服务器节点。
在其中一个实施例中,接收模块,还用于接收所述服务器节点发送的功能指示信息;所述功能指示信息用于指示所述服务器节点支持的功能;
本实施例提供的通信装置还包括处理模块,用于根据所述功能指示信息识别处理所述待处理业务所需要调用的第一功能;
本实施例提供的通信装置还包括指示模块,用于指示所述多个服务器节点调用所述第一功能处理所述待处理业务。
在其中一个实施例中,接收模块,还用于获取所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
发送模块,还用于向所述请求服务器节点发送所述上线通知。
在其中一个实施例中,接收模块,还用于获取所述服务器节点的心跳信息;所述心跳信息用于指示所述服务器节点的最新在线时间;
发送模块,还用于向所述请求服务器节点发送所述心跳信息。
一种集群服务器节点之间通信的装置,包括:
发送模块,用于向路由节点发送业务请求;所述业务请求用于请求处理待处理业务;
接收模块,用于接收所述路由节点或所述第一服务器节点转发的反馈信息;所述反馈信息由所述多个服务器节点中的在线服务器节点生成;所述反馈信息包括所述待处理业务的处理信息和空响应信息;
判断模块,用于基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息。
在其中一个实施例中,接收模块,还用于获取所述路由节点转发的所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
该通信装置还包括处理模块,用于建立所述服务器节点的标识和所述上线时间之间的映射关系;根据接收到的所述服务器节点的心跳信息对所述映射关系中的在线时间进行更新;所述心跳信息用于指示所述服务器节点的最新在线时间;当在第一预设时间内接收到所述心跳信息时,确定该心跳信息对应的服务器节点为在线服务器节点。
在其中一个实施例中,处理模块,还用于设置第二预设时间,所述第二预设时间用于判断所述反馈信息是否超时,其中,
当在第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息满足请求服务器节点的预设要求时,处理模块,还用于对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息不满足请求服务器节点的预设要求时,处理模块,还用于丢弃所述反馈信息;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息满足请求服务器节点的预设要求时,处理模块,还用于对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息不满足请求服务器节点的预设要求时,处理模块,还用于丢弃所述反馈信息,并继续等待其他部分的所述当前在线服务器节点生成的反馈信息。
一种集群服务器节点之间通信的装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上文所述的集群服务器节点之间通信的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上文所述的集群服务器节点之间通信的方法的步骤。
上述集群服务器节点之间通信的方法、通信装置及计算机存储介质,经由路由节点将业务请求分发至服务器集群中的多个服务器节点,并将获取的服务器节点的反馈信息转发至请求服务器节点,使得请求服务器节点根据获取的当前的在线服务器,判断在定时时间内是否在线的服务器均返回了反馈结果。本方法中,请求服务器节点的业务处理系统无需经由集中式数据库即可向服务器集群请求业务处理,并且仅需判断在线服务节点是否返回反馈信息,无需对已下线服务节点的反馈信息进行额外的等待,缩短了业务请求的处理时间,提高了业务处理的效率,同时避免了请求服务器节点业务系统处理过多无效数据,提升了请求服务器节点的性能。
附图说明
图1示出了一种集群节点交互的示意图。
图2为一个实施例中提供的服务器集群通信的方法的流程示意图。
图3为一个实施例中提供的服务器集群通信的方法的流程示意图。
图4为一个实施例中提供的一种服务器集群通信过程的示意图。
图5为一个实施例中提供的另一种服务器集群通信过程的示意图。
图6为一个实施例中提供的又一种服务器集群通信过程的示意图。
图7为一个实施例中提供的又一种服务器集群通信过程的示意图。
图8为一个实施例中提供的一种服务器集群通信的装置的结构示意图。
图9为一个实施例中提供的另一种服务器集通信的装置的结构示意图。
图10为一个实施例中提供的一种通信装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的集群服务器节点之间通信的方法可以应用于物联网中集群节点之间的交互过程,例如,车联网(Internet of Vehicles,IoV)场景下服务器节点之间的交互等。
应理解,本申请实施例中所说的请求服务器节点、路由节点与多个服务器节点分别属于不同的节点集群。但是,本申请实施例所说的请求服务器节点和多个服务器节点可以属于同一应用。
本申请实施例中所说的请求服务器节点可以包括业务系统,该业务系统用于处理与物联网终端(如车辆)相关的业务。在一种可能的场景下,请求服务器节点本身可能未存储与终端相关的状态数据,或不支持处理待处理业务,如该终端从未连接到该请求服务器节点上,因而未在该请求服务器节点产生过相关的状态数据等。此时,请求服务器节点可以向服务器节点集群中的服务器节点请求对待处理业务进行处理。
以请求服务器节点请求获取终端的状态数据为例,如图1所示,目前服务器节点与终端交互后,一般会将交互产生的相关状态数据存储至集中式数据库,由数据库存储节点与状态数据的映射关系,并对该映射关系进行维护。当有节点后续请求处理与状态数据相关的业务时,需要发起请求的节点先通过数据库的映射关系查询产生上述状态数据的节点对应的网关地址,再根据该网关地址与相应节点建立连接,请求该节点进行业务处理。
然而,这种方式需要数据库维护节点与状态数据的映射关系,由于每次节点进行业务处理后会产生新的状态数据,数据库需要对新的状态数据进行读取和写入操作,因此,一旦涉及大数据量的需求时,数据库需要在极短的时间内完成成千上万次的读/写操作,这往往不是数据库能够承受的,容易造成数据库性能下降甚至瘫痪。
针对上述问题,本申请实施例提供了一种集群服务器节点之间通信的方法,通过在内存中引入内存数据库Redis作为路由节点,利用其优越的读/写性能以及事件发布和订阅功能,将其作为节点之间通信的中间层,实现直接向集群服务器节点分发请求,再由支持相关业务处理功能的服务器节点对请求的业务进行处理。
在本申请实施例涉及的通信架构中,路由节点与多个服务器节点通信连接,请求服务器节点可以与路由节点通信连接,或者,请求服务器节点与第一服务器节点通信连接,其中,第一服务器节点属于上述服务器集群。当请求服务器节点与路由节点通信连接时,请求服务器节点可以直接向路由节点发送业务请求,再由路由节点将业务请求发送至多个服务器节点;当请求服务器节点与第一服务器节点通信连接时,该第一服务器节点可以接收请求服务器节点的业务请求,将其转发至路由节点,再由路由节点转发至多个服务器节点。
应理解,本申请实施例所说的服务器集群可以包括为处理同一项业务而部署的多个服务器节点。换句话说,该属于同一服务器集群中的多个服务器节点可以具有相同的业务处理功能,但是,由于各个服务器节点记录的状态数据不相同,对同一业务处理后的结果可能并不相同。例如,对于请求车辆行驶里程数据的业务处理场景,不同服务器节点存储不同车辆的行驶里程,虽然各个服务器节点均具有车辆行驶里程的数据,但是对于某一特定车辆的行驶里程,需要对应的特定的服务器节点提供。
可选地,如图2所示,为一个实施例中提供的服务器集群的通信方法的流程示意图。
与传统业务请求方式不同,本申请实施例的服务器集群的通信方法中,请求服务器节点的业务系统可以直接将业务请求发送给Redis,由Redis将业务请求路由到每个与Redis保持连接的服务器节点,服务器节点可以根据路由节点的指示调用相关功能对业务进行处理,并生成反馈信息;或者,服务器节点接收到业务请求后,根据业务标识判断处理该待处理所需要调用的功能,然后根据自身状态(如该服务器节点是否存储有请求服务器节点所请求的相关状态数据或者与待处理业务相关的终端的连接是否建立在该服务器节点)生成反馈信息,并将反馈信息返回至路由节点。应理解,反馈信息可以包括待处理业务的处理结果和空响应信息,其中,支持处理待处理业务的请求节点可以生成处理结果,不支持处理该待处理业务的服务器节点可以生成空响应信息。Redis可以将业务处理结果路由到请求服务器节点的业务系统,便于业务系统进行后续的数据合并等操作。
可选地,当请求服务器节点接收到处理结果后,可以向Redis上报确认消息,完成整个流程。
通过上述集群服务器节点之间通信的方法,通过Redis直接将请求服务器节点的业务请求分发给与其连接的各个服务器节点,由支持处理该业务的服务器节点返回处理结果后,向请求服务器节点发送处理结果,无需事先查询数据库,根据映射关系判断能够处理该业务的服务器,而是根据服务器根据自身存储的相关状态数据直接对业务进行处理。避免数据库维护节点与状态的映射关系导致的性能问题,提高了业务处理的效率。
在一个实施例中,如图3所示,提供了一种服务器集群通信的方法的流程示意图。该方法可以由路由节点执行,该路由节点可以与服务器集群中的多个服务器节点通信连接。服务器集群通信的方法可以包括以下步骤:
S301,接收请求服务器节点或第一服务器节点发起的业务请求;该业务请求用于请求处理待处理业务;第一服务器节点属于服务器集群,且与请求服务器节点通信连接。
其中,业务请求可以包括请求服务器节点的标识以及待处理业务的业务标识。
可选地,请求服务器节点在生成或发送业务请求后,可以缓存待处理业务的业务标识至该请求服务器节点建立的任务列表中,该任务列表可以为全局列表(List)。
可选地,路由节点在接收到该业务请求时,可以存储请求服务器节点标识和业务标识的映射关系,使得路由节点可以根据业务标识确定待处理业务对应的请求服务器节点。
此外,路由节点接收该请求服务器节点或第一服务器节点发起的业务请求的具体过程可以包括:接收请求服务器节点直接发送给路由节点的业务请求;或者,接收请求服务器节点经由第一服务器节点转发给路由节点的业务请求,其中,第一服务器节点为服务器集群中的任一节点,且该第一服务器节点与请求服务器节点建立通信连接,能够接收请求服务器节点发送的业务请求。
本申请实施例中的路由节点可以为内存数据库Redis。其中,Redis具有事件发布与订阅功能,可以作为不同节点通信的中间层,Redis的订阅方式为扇出(fount),即Redis会将发布的事件路由到所有订阅了该Redis的订阅方,其中,订阅方可以指服务器节点。
S302,将业务请求转发至多个服务器节点;该多个服务器节点包括在线服务器节点。
其中,多个服务器节点可以包括在线服务器节点和已下线的服务器节点,其中,在线服务器节点可以接收到路由节点转发的业务请求,并针对业务请求生成反馈信息。
可选地,在线服务器节点可以经由路由节点向请求服务器节点转发上线时间以及心跳信息,使得请求服务器节点获知当前最新在线的服务器节点。
S303,接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息。
可选地,在线服务器节点可以针对业务请求生成反馈信息。具体地,该反馈信息可以包括满足业务请求要求的处理结果,或者不满足业务请求要求的空响应信息,该空响应信息可以用于指示该服务器节点不支持处理待处理业务。
示例性的,若业务请求为请求特定状态数据时,存储有该特定状态数据的服务器节点,可以反馈该特定状态数据;未存储状态数据或者存储有状态数据,但该状态数据不满足业务请求要求的服务器节点可以反馈空响应信息。其中,状态数据例如可以是请求服务器节点的连接数据,或者请求服务器节点的性能数据等。
此外,服务器节点无法生成满足业务请求要求的场景可以包括:物联网终端未与该服务器节点建立连接,故该服务器节点未记录与终端相关的状态数据;或者,服务器节点已将物联网终端的状态数据更新到集中式数据库中,并已删除自身存储的相关数据等。
可以理解的,物联网终端与服务器节点连接后,会在服务器节点产生状态数据,该服务器节点可以存储该状态数据。当请求服务器节点的业务系统在处理与物联网终端相关业务的过程中,需要相关状态数据时,可以向服务器节点请求该状态数据。换句话说,终端在本次业务请求之前,可以已经与多个服务器节点中的至少一个节点建立过连接;或者,请求过至少一个服务器节点进行业务处理等。该至少一个服务器节点记录有与待业务相关的状态数据,并且可以利用该状态数据对本次待处理业务的进行处理。
可选地,当服务器节点在接收到业务请求后,可以根据业务请求中的业务标识和自身存储的状态数据,判断是否支持处理该待处理业务;或者,利用路由节点的指示,获知当前待处理业务需要调用的第一功能,调用该第一功能对待处理业务进行处理,其中,第一功能为多个服务器节点支持的功能。
可选地,路由节点接收到服务器节点发送的反馈信息后,可以将该反馈信息转发给请求服务器节点;或者,路由节点可以将反馈信息转发至第一服务器节点,再由第一服务器节点转发至请求服务器节点。
上述服务器集群通信的方法,通过引入路由节点作为业务系统和服务器集群的转发节点,能够直接将业务系统的业务请求分发至集群中的多个服务器节点,无需由集中式数据库获取服务器网关地址后,才可以进行业务请求,优化了服务器节点交互的架构,提高了业务处理的效率。
可选地,如图4所示,为了实现服务器节点针对待处理业务进行高效反馈,减少服务端的判断过程,上述方法还可以包括服务器节点在路由节点进行功能事件注册,具体可以包括以下步骤:
S401,接收所述多个服务器节点发送的功能指示信息;所述功能指示信息用于指示所述服务器节点支持的功能。
可选地,服务器节点在路由节点注册其支持的功能的过程可以包括:在路由节点建立服务器节点标识(如S1)与功能标识(如m1,m2)的映射关系(如 S1:m1,m2)。
此外,当服务器节点有新功能上线时,还可以向路由节点发送功能上线事件,以便经由路由节点通知请求服务器节点,服务节点有新增服务可以处理对应的请求。
S402,根据所述功能指示信息识别所述业务请求所需要的功能。
可选地,路由节点可以根据服务器节点注册的功能事件,识别业务请求中待处理任务所需要的功能。
S403,指示所述多个服务器节点处理所述待处理业务所需要的功能。
可选地,路由节点在获取待处理任务需要的服务器节点的功能后,可以指示与其连接的服务器处理该待处理任务需调用的功能类型。示例性的,路由节点可以向服务器节点发送指示信息,指示该待处理任务需要的功能类型,该指示信息可以与业务请求同时被路由节点转发至服务器节点。
上述方法,服务器节点通过在路由节点注册功能事件,便于路由节点在接收到业务请求时,识别待处理任务调用的是服务器节点的哪个功能,进而指示服务器节点直接调用该功能,无需服务器节点自身再进行调用的功能类型判断,减少了服务端的判断过程。
进一步地,在通过路由节点实现服务器节点之间交互时,为避免请求服务器节点由于不知道集群服务器节点的在线情况,对已下线服务器节点的反馈信息进行长时间等待,从而导致业务请求长期占据通信资源的问题,本申请实施例中,请求服务器节点可以预先获取多个服务器节点中的在线服务器节点,并基于在线服务器节点判断是否所有的在线服务器节点均返回了反馈信息,无需考虑已下线的服务器节点,更无需对下线服务器节点的反馈信息进行等待,从而缩短业务请求的时间,提高业务处理的效率。
可选地,如图5所示,为了实现获取当前在线服务器节点,本申请实施例提供的服务器集群通信的方法还可以包括以下步骤:
S501,获取所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间。
可选地,服务器节点上线后,可以向路由节点发送上线通知,该上线通知包括服务器节点的标识和该服务器节点对应的上线时间。
S502,向所述请求服务器节点发送所述上线通知。
可选地,路由节点可以向请求服务器节点转发该服务器节点的上线通知。请求服务器节点可以缓存上线的服务器节点的标识及其上线时间,建立所述服务器节点的标识和所述上线时间之间的映射关系。具体地,请求服务器节点可以生成包括上线服务器节点标识及其对应上线时间的映射关系列表。
通过存储服务器节点的上线时间,可以便于请求服务器节点后续根据该服务器节点的上线时间确定当前在线的服务器节点。
在一个实施例中,如图6所示,为保证请求服务器节点获取的当前在线的服务器节点的准确性,本申请实施例提供的服务器集群的通信方法还可以具体包括以下步骤:
S601,获取服务器节点的心跳信息;心跳信息用于指示服务器节点的最新在线时间。
其中,在线的服务器节点可以按一定的时间间隔(如N秒),周期性的向路由节点发送心跳信息,该心跳信息用于指示服务器节点最新的在线时间。
可选地,该心跳信息可以包括发送该心跳信息的服务器标识。
可选地,路由节点可以按照一定的时间间隔(如N秒)周期性的向请求服务节点发送该心跳信息,使得请求服务器节点获知对应服务器最新的在线时间。
S602,向请求服务器节点发送心跳信息。
可选地,路由节点可以周期性的向请求服务器节点发送服务器节点的心跳信息。
可选地,请求服务器节点获取服务器节点的心跳信息后,可以根据心跳信息,更新步骤S502存储的对应的服务器节点的在线时间,并获知当前最新在线的服务器节点。
此外,请求服务器节点还可以设置第一预设时间,当在第一预设时间内接收到该心跳信息时,确定该心跳信息对应的服务器节点为在线服务器节点;当在第一预设时间内未接收到服务器节点的心跳信息时,则确定该服务器节点已下线,后续可以不再关注该已下线服务器节点是否返回反馈信息。
可以理解的,对于已下线服务器节点,可将其由缓存中删去,以获取最新的在线的服务器,后续也无需再等待下线服务器节点发送的处理结果或者指示信息。
上述服务器集群通信的方法,请求服务器节点可以根据获取的服务器的在线时间确定当前的在线服务器,判断在定时时间内是否在线的服务器均返回了反馈结果。本方法中,请求服务器节点的业务处理系统仅需判断在线服务节点是否返回反馈信息,无需对已下线服务节点的反馈信息进行额外的等待,缩短了业务请求的处理时间,提高了业务处理的效率,同时避免了请求服务器节点业务系统处理过多无效数据,提升了请求服务器节点的性能。
此外,请求服务器节点基于心跳信息更新在线服务器节点后,可以对业务请求进行超时检测。
示例性的,请求服务器节点可以设置第二预设时间,以判断反馈信息是否超时。其中,当在第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;或者,当在所述第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息;或者,当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;或者,当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息,并继续等待其他部分的所述当前在线服务器节点生成的反馈信息。
具体地,当请求服务器节点发起业务请求时,可以将当次请求的待处理业务标识、请求时间、定时时间、释放线程阻塞实例等放入全局列表(List)(如线程安全的List)。在应用启动阶段,开启一个线程定时从头扫描list(头部是耗时最久的请求),当扫描到未超时数据时休眠(Sleep),sleep时长可以为下一个未超时请求恰好超时的时间间隔,对于超时请求,则获取释放线程阻塞实例执行线程释放。
进一步地,当请求服务器未在第二预设时间内接收到所有当前在线服务器节点发送的反馈信息,确定业务请求超时后,可以将任务列表中缓存的业务标识删除;或者,请求服务器节点在第二预设时间内接收到集群服务器节点中所有在线的服务器节点的处理结果或者空响应消息后,也可以将任务列表中缓存的待处理业务的业务标识删除。
在一个实施例中,请求服务器节点接收到反馈信息后,可以基于预获取的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息,并根据接收到的反馈信息是否满足预设要求进行后续处理。不同情况下的具体处理过程可以包括以下几种方式:
(1)请求服务器节点接收到所有在线服务器节点的响应数据(包括处理结果或不支持待处理业务的响应消息),但该请求服务器节点的缓存中不存在与响应数据对应的请求标识,则该业务请求可能是由于请求超时或者已获得响应数据而结束的请求,此时,请求服务器节点可以丢弃该响应数据。
(2)请求服务器节点接收到所在在线服务器节点的相应数据,且缓存中存在响应数据对应的业务请求标识,则请求服务器节点业务系统判断响应数据中存在满足业务预期的数据后,请求服务器节点可以清除缓存中的业务请求标识。
(3)请求服务器节点未接收到所有在线服务器的响应数据,且已接收的响应数据不存在满足业务预期的数据时,请求服务器节点可以丢弃已接收到的响应数据,并继续等待响应数据。
(4)请求服务器节点已接收到所有在线服务器节点的响应数据,但该响应数据均不满足业务预期时,请求服务器节点可以丢弃响应数据,并清除缓存中的业务请求标识。
由于在集群部署时可能会不定期的增加服务器节点或者对服务器节点进行重启维护,其均有可能导致请求服务器节点对接收到所有服务器节点响应数据的判断发生错误,因此,此处可以利用请求服务器节点获取的服务器节点的心跳信息,对缓存的服务器节点列表中各服务器节点的在线状态(如上线、下线、最新在线时间等)进行维护,以获得当前在线的服务器节点。请求服务器节点仅需判断是否接收到所有当前在线的服务器节点的响应数据即可,而无需关心下线服务器节点的响应数据。
可以理解的,请求服务器节点针对上述不同情况,对响应数据和缓存的业务请求标识进行不同的处理,可以及时解除已完成的业务请求标识、响应数据等占据的空间资源,进而提高请求服务器节点的性能。
可选地,路由节点还可以将反馈信息发送给请求服务器节点的业务系统,业务系统在接收到处理结果和响应消息后,可以向路由节点上报确认消息,完成整个业务处理的流程。
上述集群服务器节点之间通信的方法,根据与存储的服务器的在线时间确定当前的在线服务器,进而判断在定时时间内是否在线的服务器均返回了反馈结果,若存在未反馈的在线服务节点,则确定当前业务请求超时。本方法中,请求服务器节点的业务处理系统仅需判断在线服务节点是否返回反馈信息,无需对已下线服务节点的反馈信息进行额外的等待,缩短了业务请求的处理时间,提高了业务处理的效率,同时避免了请求服务器节点业务系统处理过多无效数据,提升了请求服务器节点的性能。
以下结合具体应用场景,对本申请实施例提供的集群服务器节点之间通信的方法进行更具体的描述。
可选地,如图7所示,为一个实施例中提供的服务器集群通信过程的示意图。该场景可以为车联网中,车辆向服务器请求特定状态数据的场景。
作为一个示例,在车联网场景中,车辆与服务器建立连接后,会在服务器产生状态数据,如车辆速度、当次行驶里程、急刹车数量等,服务器对该状态数据进行记录。当业务系统需要处理与该车辆相关的业务时,例如业务系统进行该车辆总里程统计时,需要向服务器请求记录的与该车辆相关的行驶里程数据。具体地,业务系统可以经由服务节点集群中的任一服务器节点向Redis发送请求行驶数据的业务请求;Redis接收到该业务请求后,将其转发给多个服务器;多个服务器接收到业务请求后,根据业务请求判断自身是否具有行驶里程的相关状态数据,若存储有该状态数据,则向路由节点发送该数据,并通过路由节点将其转发给车辆业务系统;若不存在,服务器节点可以向路由节点发送无状态数据的指示信息。
具体地,当采用本申请实施例提供的集群服务器节点之间通信的方法实现上述场景下对特定状态数据的请求时,可以包括以下步骤:
S701,请求服务器的业务系统向服务器集群中的服务器A发送业务请求,该业务请求可以包括请求服务器或业务系统的标识以及业务请求标识。
其中,该业务请求用于请求车辆A的行驶里程数据。
可选地,服务器集群中例如包括服务器A和服务器B,其中,服务器A中例如存储有车辆B的行驶里程等状态数据,服务器B中例如存储有车辆A的行驶里程等状态数据。并且,服务器集群中的服务器A和服务器B均与路由节点Redis连接,可以实现与Redis交互。
应理解,业务系统可以向服务器集群中的任一服务器发送业务请求,此处仅以请求服务器的业务系统向服务器A发送业务请求为例进行说明,但并不限于此,业务系统还可以向服务器集群中的任一其他服务器(如服务器B)发送业务请求。
S702,服务器A向Redis转发该业务请求。
可选地,该服务器A向Redis转发该业务请求。其中,该业务请求可以包括请求服务器或业务系统的标识以及待处理业务的业务标识,该业务标识可以为请求行驶里程标识。
S703,Redis向服务集群中的多个服务器发送业务请求。
S704,服务集群中的服务器向Redis发送反馈信息。
其中,反馈信息可以包括车辆A的行驶里程的相关状态数据,这部分数据可以由存储有车辆A的行驶里程的相关状态数据的服务器发送;和,无满足条件的状态数据的空响应消息,该空响应消息可以由未存储有车辆A的行驶里程的相关状态数据的服务器发送。
可选地,服务器可以根据业务请求中的业务标识,判断自身是否存在车辆A 的行驶里程的相关状态数据,若存在,则可以向Redis发送该状态数据;若不存在,则可以向Redis发送无满足条件的状态数据的空响应信息。其中,为便于描述,状态数据和空响应信息可以统称为反馈信息。
S705,Redis将反馈信息转发至服务器A。
S706,服务器A汇总Redis发送的反馈信息后,将该反馈信息发送至业务系统。
可选地,请求服务器的业务系统可以根据预设的定时时间和获取的服务器节点的在线时间,判断在定时时间内是否接收到所有当前在线服务器节点发送的反馈信息时,若在定时时间内未接收到所有当前在线服务器节点的反馈信息时,确定业务请求超时。
可选地,当请求服务器的业务系统未在定时时间内接收到所有当前在线服务器节点发送的反馈信息,确定业务请求超时后,可以将任务列表中缓存的业务标识删除;或者,请求服务器节点在定时时间内接收到集群服务器节点中所有在线的服务器节点的处理结果或者响应消息后,可以将任务列表中缓存的待处理业务的业务标识清除。
上述集群服务器节点之间通信的方法,根据与存储的服务器的在线时间确定当前的在线服务器,进而判断在定时时间内是否在线的服务器均返回了反馈结果,若存在未反馈的在线服务节点,则确定当前业务请求超时。本方法中,请求服务器节点的业务处理系统仅需判断在线服务节点是否返回反馈信息,无需对已下线服务节点的反馈信息进行额外的等待,缩短了业务请求的处理时间,提高了业务处理的效率,同时避免了请求服务器节点业务系统处理过多无效数据,提升了请求服务器节点的性能。
应该理解的是,虽然图3至7的流程图中的各个步骤按照编号的指示依次显示,但是这些步骤并不是必然按照编号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3至图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,还提供了一种集群服务器节点之间通信的装置的结构示意图。该装置800包括接收模块801和发送模块802。该通信装置 800可以为上述服务器集群通信的方法中涉及的路由节点。
在一种实现方式中,接收模块801,可以用于接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接。
发送模块802,可以用于将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点。
接收模块801,还可以用于接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息。
发送模块802,还可以用于发送所述反馈信息至所述请求服务器节点或所述第一服务器节点。
在一种实现方式中,接收模块801,还可以用于接收所述服务器节点发送的功能指示信息;所述功能指示信息用于指示所述服务器节点支持的功能。
通信装置800还可以包括处理模块,用于根据所述功能指示信息识别处理所述待处理业务所需要调用的第一功能。
通信装置800还可以包括指示模块,用于指示所述多个服务器节点调用所述第一功能处理所述待处理业务。
在一种实现方式中,接收模块801,还可以用于获取所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间。
发送模块802,还可以用于向所述请求服务器节点发送所述上线通知。
在一种实现方式中,接收模块801,还可以用于向获取所述服务器节点的心跳信息;所述心跳信息用于指示所述服务器节点的最新在线时间。
发送模块802,还可以用于向所述请求服务器节点发送所述心跳信息。
在一个实施例中,如图9所示,还提供了另一种服务器集群通信的装置的结构示意图。该通信装置900可以包括发送模块901、接收模块902和处理模块 903。示例性的,该通信装置900可以为上述集群服务器节点之间通信的方法中涉及的请求服务器节点。
在一种实现方式中,发送模块901,可以用于向所述路由节点或所述第一服务器节点发起业务请求;所述业务请求用于请求处理待处理业务。
接收模块902,可以用于接收所述路由节点或所述第一服务器节点转发的反馈信息;所述反馈信息由所述多个服务器节点中的在线服务器节点生成;所述反馈信息包括所述待处理业务的处理信息和空响应信息。
处理模块903,可以用于基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息。
在一种实现方式中,接收模块901,还可以用于获取所述路由节点转发的所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间。
处理模块903,还可以用于建立所述服务器节点的标识和所述上线时间之间的映射关系;根据接收到的所述服务器节点的心跳信息对所述映射关系中的在线时间进行更新;所述心跳信息用于指示所述服务器节点的最新在线时间;当在第一预设时间内接收到所述心跳信息时,确定该心跳信息对应的服务器节点为在线服务器节点。
在一种实现方式中,处理模块903,还可以用于设置第二预设时间,所述第二预设时间用于判断所述反馈信息是否超时,其中:
当在第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息满足请求服务器节点的预设要求时,处理模块903,用于对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息不满足请求服务器节点的预设要求时,处理模块903,用于丢弃所述反馈信息;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息满足请求服务器节点的预设要求时,处理模块903,用于对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息不满足请求服务器节点的预设要求时,处理模块903,用于丢弃所述反馈信息,并继续等待其他部分的所述当前在线服务器节点生成的反馈信息。
关于通信装置的具体限定可以参见上文中对于集群服务器节点之间通信的方法的限定,在此不再赘述。上述通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本领域技术人员可以理解,图8和图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种通信装置,该通信装置可以是终端、服务器或路由器等,其内部结构图可以如图10所示。该通信装置包括通过系统总线连接的处理器、存储器和网络接口。其中,该通信装置的处理器用于提供计算和控制能力。该通信装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信装置的数据库用于存储用于处理待处理业务的数据。该通信装置的网络接口用于与外部的其他通信装置通过网络连接通信。该计算机程序被处理器执行时以实现一种集群服务器节点之间通信的方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种集群服务器节点之间通信的装置,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接;
将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点;
接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息;
发送所述反馈信息至所述请求服务器节点或所述第一服务器节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收所述服务器节点发送的功能指示信息;所述功能指示信息用于指示所述服务器节点支持的功能;
根据所述功能指示信息识别处理所述待处理业务所需要调用的第一功能;
指示所述多个服务器节点调用所述第一功能处理所述待处理业务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种服务器集群的通信方法,所述服务器集群包括为处理同一项业务而部署的多个服务器节点,其特征在于,所述方法应用于路由节点,所述路由节点与所述多个服务器节点通信连接,所述路由节点对所述服务器节点进行功能事件注册;所述方法包括:
接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接;
将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点;
接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息;
发送所述反馈信息至所述请求服务器节点或所述第一服务器节点;所述请求服务器节点基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息;
所述路由节点对所述服务器节点进行功能事件注册,具体包括:
接收所述服务器节点发送的功能指示信息以及服务器节点在有新功能上线时的功能上线事件;所述功能指示信息用于指示所述服务器节点支持的功能;
根据所述功能指示信息识别处理所述待处理业务所需要的服务器节点的第一功能;
指示所述多个服务器节点处理所述待处理业务所需要的功能。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
向所述请求服务器节点发送所述上线通知。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述服务器节点的心跳信息;所述心跳信息用于指示所述服务器节点的最新在线时间;
向所述请求服务器节点发送所述心跳信息。
4.一种服务器集群的通信方法,所述服务器集群包括为处理同一项业务而部署的多个服务器节点,其特征在于,所述方法应用于请求服务器节点,所述请求服务器节点与路由节点或第一服务器节点通信连接,所述第一服务器节点属于所述服务器集群,所述路由节点与所述多个服务器节点通信连接,所述路由节点对所述服务器节点进行功能事件注册;所述方法包括:
向所述路由节点或所述第一服务器节点发起业务请求,以使所述路由节点将所述业务请求转发至所述多个服务器节点;所述业务请求用于请求处理待处理业务;
接收所述路由节点或所述第一服务器节点转发的反馈信息;所述反馈信息由所述多个服务器节点中的在线服务器节点生成;所述反馈信息包括所述待处理业务的处理信息和空响应信息;
基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息;
所述路由节点对所述服务器节点进行功能事件注册,具体包括:
接收所述服务器节点发送的功能指示信息以及服务器节点在有新功能上线时的功能上线事件;所述功能指示信息用于指示所述服务器节点支持的功能;
根据所述功能指示信息识别处理所述待处理业务所需要的服务器节点的第一功能;
指示所述多个服务器节点处理所述待处理业务所需要的功能。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述路由节点转发的所述服务器节点的上线通知;所述上线通知包括所述服务器节点的标识和所述服务器节点对应的上线时间;
建立所述服务器节点的标识和所述上线时间之间的映射关系;
根据接收到的所述服务器节点的心跳信息对所述映射关系中的在线时间进行更新;所述心跳信息用于指示所述服务器节点的最新在线时间;
当在第一预设时间内接收到所述心跳信息时,确定该心跳信息对应的服务器节点为在线服务器节点。
6.根据权利要求5所述的方法,其特征在于,设置第二预设时间,所述第二预设时间用于判断所述反馈信息是否超时,所述方法还包括:
当在第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到所有的所述在线服务器节点的反馈信息,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息满足请求服务器节点的预设要求时,对所述反馈信息进行数据合并;
当在所述第二预设时间内接收到的反馈信息由部分的所述在线服务器节点生成,且所述反馈信息不满足请求服务器节点的预设要求时,丢弃所述反馈信息,并继续等待其他部分的当前在线服务器节点生成的反馈信息。
7.一种服务器集群通信的装置,所述服务器集群包括为处理同一项业务而部署的多个服务器节点,其特征在于,所述装置为路由节点,所述路由节点与所述多个服务器节点通信连接,所述路由节点对所述服务器节点进行功能事件注册;所述装置包括:
接收模块,用于接收请求服务器节点或第一服务器节点发起的业务请求;所述业务请求用于请求处理待处理业务;所述第一服务器节点属于所述服务器集群,且与所述请求服务器节点通信连接;
发送模块,用于将所述业务请求转发至所述多个服务器节点;所述多个服务器节点包括在线服务器节点;
所述接收模块,还用于接收所述在线服务器节点返回的反馈信息;所述反馈信息包括所述待处理业务的处理结果和空响应信息;
所述发送模块,还用于发送所述反馈信息至所述请求服务器节点或所述第一服务器节点;所述请求服务器节点基于预获知的所述多个服务器节点中的在线服务器节点,判断是否所有的所述在线服务器均返回了所述反馈信息;
所述接收模块,还用于接收所述服务器节点发送的功能指示信息以及服务器节点在有新功能上线时的功能上线事件;所述功能指示信息用于指示所述服务器节点支持的功能;
所述装置还包括处理模块,所述处理模块用于根据所述功能指示信息识别处理所述待处理业务所需要的服务器节点的第一功能;
所述装置还包括指示模块,所述指示模块用于指示所述多个服务器节点处理所述待处理业务所需要的功能。
8.一种服务器集群通信的装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的服务器集群通信的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的服务器集群通信的方法的步骤。
CN202010082781.9A 2020-02-07 2020-02-07 服务器集群通信的方法、通信装置及计算机存储介质 Active CN111343237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010082781.9A CN111343237B (zh) 2020-02-07 2020-02-07 服务器集群通信的方法、通信装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010082781.9A CN111343237B (zh) 2020-02-07 2020-02-07 服务器集群通信的方法、通信装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111343237A CN111343237A (zh) 2020-06-26
CN111343237B true CN111343237B (zh) 2022-11-29

Family

ID=71186049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010082781.9A Active CN111343237B (zh) 2020-02-07 2020-02-07 服务器集群通信的方法、通信装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111343237B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866170B (zh) * 2020-07-30 2023-08-08 小视科技(江苏)股份有限公司 Iot集群内发送同步消息的方法
CN112311898B (zh) * 2020-11-17 2023-07-18 深圳市欢太数字科技有限公司 数据处理方法及装置、服务器、计算机可读存储介质
CN112615786B (zh) * 2020-12-04 2023-04-04 北京神州泰岳软件股份有限公司 路由确定方法、装置、电子设备及计算机可读存储介质
CN112738258A (zh) * 2020-12-30 2021-04-30 北京浪潮数据技术有限公司 一种节点管理方法、装置、系统及计算机可读存储介质
CN112953835B (zh) * 2021-01-18 2023-03-14 广州三七互娱科技有限公司 数据传输方法、装置及系统
CN113052691A (zh) * 2021-04-30 2021-06-29 中国工商银行股份有限公司 一种分布式对账系统业务均衡方法,节点及集群
CN113259476B (zh) * 2021-06-10 2022-09-30 深圳市腾讯信息技术有限公司 消息推送方法及系统
CN114422581B (zh) * 2021-12-22 2024-05-24 网络通信与安全紫金山实验室 服务创建方法、装置、计算机设备和存储介质
CN115766859A (zh) * 2022-11-15 2023-03-07 中国工商银行股份有限公司 超时检测方法、装置、设备、存储介质和计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973809A (zh) * 2014-05-22 2014-08-06 北京锐安科技有限公司 一种数据分发方法及系统
CN106649865A (zh) * 2016-12-31 2017-05-10 深圳市优必选科技有限公司 一种分布式服务器系统及数据处理方法
CN106941508A (zh) * 2016-01-05 2017-07-11 阿里巴巴集团控股有限公司 服务调用方法、装置和系统
CN108600012A (zh) * 2018-04-26 2018-09-28 深圳光华普惠科技有限公司 微服务架构监控系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800488A (en) * 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
JP3441726B2 (ja) * 1990-11-30 2003-09-02 株式会社日立製作所 通信装置及び通信方法
WO2002084528A1 (en) * 2001-04-12 2002-10-24 Fifth Web Limited System and method for searching in a distributed computing environment
IL152233A0 (en) * 2002-10-10 2003-05-29 Teracross Ltd Method and system for distributed single-stage scheduling
CN103716343B (zh) * 2012-09-29 2016-11-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统
CN103500180A (zh) * 2013-09-09 2014-01-08 北京思特奇信息技术股份有限公司 一种基于连接池管理的分布式事务处理方法
CN103685501A (zh) * 2013-12-06 2014-03-26 北京奇虎科技有限公司 数据处理方法、装置和系统
CN104735097A (zh) * 2013-12-18 2015-06-24 青岛海尔空调器有限总公司 信息的收集方法和系统
CN105337786B (zh) * 2014-07-23 2019-07-19 华为技术有限公司 一种服务器性能检测方法、装置及设备
CN104331457A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于数据库节点的数据访问方法及系统
EP3261290B1 (en) * 2015-12-31 2020-11-25 Huawei Technologies Co., Ltd. Software defined data center and method for deploying service cluster therein
CN106407244A (zh) * 2016-06-21 2017-02-15 平安科技(深圳)有限公司 基于多数据库的数据查询方法、系统和装置
CN107040422B (zh) * 2017-04-25 2020-05-05 浙江工业大学 一种基于物化缓存的网络大数据可视化方法
CN108259215B (zh) * 2017-09-26 2021-05-28 新华三技术有限公司 一种设备管理方法及装置
CN107992568B (zh) * 2017-11-29 2020-05-05 政和科技股份有限公司 一种搜索方法、装置及系统
CN110673502B (zh) * 2019-10-14 2021-01-22 珠海格力电器股份有限公司 智能设备的快速响应方法及系统、存储介质和网络侧设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973809A (zh) * 2014-05-22 2014-08-06 北京锐安科技有限公司 一种数据分发方法及系统
CN106941508A (zh) * 2016-01-05 2017-07-11 阿里巴巴集团控股有限公司 服务调用方法、装置和系统
CN106649865A (zh) * 2016-12-31 2017-05-10 深圳市优必选科技有限公司 一种分布式服务器系统及数据处理方法
CN108600012A (zh) * 2018-04-26 2018-09-28 深圳光华普惠科技有限公司 微服务架构监控系统

Also Published As

Publication number Publication date
CN111343237A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111343237B (zh) 服务器集群通信的方法、通信装置及计算机存储介质
US11418413B2 (en) Sharable storage method and system for network data analytics
CN113518354B (zh) 一种确定策略的方法、装置及系统
CN106936662B (zh) 一种实现心跳机制的方法、装置及系统
US11251981B2 (en) Communication method and apparatus
WO2012113218A1 (zh) 群组通信的方法和用于群组通信的装置
EP3876500B1 (en) Subscription message processing method and apparatus, and computer device and storage medium
WO2008025297A1 (fr) Procédé de téléchargement de fichiers selon la technique p2p (pair à pair) et système de téléchargement p2p
CN110768873B (zh) 分布式心跳检测方法、系统、装置和计算机设备
CN111031517A (zh) 消息通知方法、装置、网元、系统及存储介质
CN114338063B (zh) 消息队列系统、业务处理方法及计算机可读存储介质
CN112134730B (zh) 网络数据采集方法及装置
US20200142759A1 (en) Rest gateway for messaging
CN115103008A (zh) 一种服务请求转发系统
CN115865886B (zh) 一种基于http的跨网络数据交互方法和装置
CN111917870A (zh) 请求处理方法、系统、装置、电子设备及存储介质
CN113572859B (zh) 空间动态网络中任务云计算方法、装置和存储介质
CN113791733B (zh) 信息的存储方法、装置、设备及存储介质
CN113342901B (zh) 区块链节点注册至节点集合的方法及装置
KR20070061420A (ko) 서비스 플로우 식별자를 분산 관리하는 무선 통신 시스템및 그 시스템에서의 서비스 플로우 식별자 관리 방법
CN113660178A (zh) 一种cdn内容管理系统
WO2018188447A1 (zh) 一种ip地址配置方法及装置
CN116915786B (zh) 一种多服务器协同的车牌识别及车辆管理系统
CN117314354B (zh) 一种基于流程引擎的跨系统协同方法和系统
WO2023077907A1 (en) Methods and apparatuses for same event subscription for multi sessions of one ue

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
TR01 Transfer of patent right

Effective date of registration: 20221221

Address after: 510630 Room 101, No. 227, Gaotang Road, Tianhe District, Guangzhou City, Guangdong Province (Location: Room 601) (office only)

Patentee after: Yamei Zhilian Data Technology Co.,Ltd.

Address before: Room 201, No.1 Hanjing Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU YAME INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right