CN112202829A - 基于微服务的社交机器人调度系统和调度方法 - Google Patents
基于微服务的社交机器人调度系统和调度方法 Download PDFInfo
- Publication number
- CN112202829A CN112202829A CN201910609817.1A CN201910609817A CN112202829A CN 112202829 A CN112202829 A CN 112202829A CN 201910609817 A CN201910609817 A CN 201910609817A CN 112202829 A CN112202829 A CN 112202829A
- Authority
- CN
- China
- Prior art keywords
- service
- load balancing
- balancing module
- micro
- service node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于微服务的社交机器人调度系统和调度方法,其中,该调度系统,包括:微服务注册中心,用于对服务节点进行注册;服务请求端,用于以微服务的形式向已经在微服务注册中心注册的服务节点发起服务请求;一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;二级负载均衡模块,用于对所在服务节点的状态进行监管,并向一级负载均衡模块反馈;多个服务节点,用于完成一级负载均衡模块分配的服务请求。在上例中,采用了微服务的形式,可以避免服务之间因争用数据库和争用缓存资源所带来问题,通过负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力。
Description
技术领域
本发明涉及设备控制技术领域,特别涉及一种基于微服务的社交机器人调度系统和调度方法。
背景技术
传统的单体架构是以整个系统为单位进行部署的,因此,采用以整个系统为单位的方式部署,使得单体架构中所有的服务都需要使用同一个数据库,使用同一张编程语言,服务之间的依赖性太高,且该单体架构的系统负荷无法有效均衡,网络的灵活性和可用性较低。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于微服务的社交机器人调度系统和调度方法,以达到均衡系统负荷,减少服务之间依赖性的技术效果目的。
一方面,本发明实施例提供了一种基于微服务的社交机器人调度系统,包括:
微服务注册中心,用于对服务节点进行注册;
服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;
一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;
二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;
多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。
在一个实施方式中,上述基于微服务的社交机器人调度系统还包括:
资源调度端,用于在高负载情况下,对社交机器人系统进行扩容,在低负荷情况下,对社交机器人系统进行资源回收。
在一个实施方式中,所述一级负载均衡模块和所述二级负载均衡模块为插件结构的模块,具备统一的接口。
在一个实施方式中,每个服务节点为一独立的组件,且具有一暴露的接口。
另一方面,本发明实施例提供了一种根据上述的基于微服务的社交机器人调度系统进行服务调度的方法,包括:
一级负载均衡模块接收服务请求方的服务请求;
所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
在一个实施方式中,所述状态信息包括以下至少之一:该服务节点上每个账号登陆的时间、每个账号上次操作的时间、该服务节点已登陆账号的数目、该服务节点剩余可登陆的账号数、登陆后最长时间未操作的时间。
在一个实施方式中,所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点,包括:
所述一级负载均衡模块确定是否存在具有可用资源的服务节点;
在存在具有可用资源的服务节点的情况下,将所述服务请求分配至已登陆账号数量最小的服务节点;
在不存在具有可用资源的服务节点的情况下,将登陆后最长时间未操作的账号登出,将所述服务请求分配至该账号登出的服务节点。
在一个实施方式中,上述方法还包括:
获取目标社交机器人的负载压力;
在所述负载压力超出预设阈值的情况下,为所述目标社交机器人创建服务节点并分配资源;
在创建服务节点之后,监控负载压力;
在负载压力小于预设阈值的情况下,回收创建的服务节点和分配的资源。
又一方面,本发明实施例提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
一级负载均衡模块接收服务请求方的服务请求;
所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
又一方面,本发明实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
一级负载均衡模块接收服务请求方的服务请求;
所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
在本发明实施例中,提供了一种基于微服务的社交机器人调度系统和服务调度方法,包括:微服务注册中心,用于对服务节点进行注册;服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。在上例中,采用了微服务的形式,可以避免服务之间因争用数据库和争用缓存资源所带来问题,通过负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是根据本发明实施例的基于微服务的社交机器人调度系统的架构图;
图2是根据本发明实施例的服务调度方法的方法流程图;
图3是根据本发明实施例的双层级负载均衡模块的架构示意图;
图4是根据本发明实施例的计算机终端的架构图;
图5是根据本发明实施例的服务调度装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
考虑到微服务根据每个服务的吞吐量不同,可以对每一个独立组件(例如:用户服务、商品服务)进行灵活的部署。每一个微服务拥有独立的数据源,服务之间的调用通过暴露的接口来完成,有效避免了服务之间争用数据库和争用缓存资源所带来的问题。微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并用轻量级机制(通常是HTTP资源API)进行通信。这些服务是围绕功能构建的,可以通过全自动部署机制独立部署。这些服务的集中管理最少,可以使用不同的编程语言编写,并使用不同的数据存储技术。
负载均衡建立在现有网络结构之上,提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力,提高网络的灵活性和可用性。
水平扩展与资源回收则是保障网络弹性的有效方案,由于网络流量的不确定性,在系统面对峰时大流量的冲击,有效的扩展策略是系统稳定性的保障,而在度过流量峰值之后,对资源进行及时的回收则能有效减少远高于需求的带宽与硬件资源成本。
基于此,在本例中,提供了一种基于微服务的社交机器人调度系统,如图1所示,可以包括:
微服务注册中心101,用于对服务节点进行注册;
服务请求端102,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;
一级负载均衡模块103,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;
二级负载均衡模块104,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;
多个服务节点105,用于完成所述一级负载均衡模块分配的服务请求。
在上例中,提供了一种基于微服务的社交机器人调度系统,包括:微服务注册中心,用于对服务节点进行注册;服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。在上例中,采用了微服务的形式,可以避免服务之间因争用数据库和争用缓存资源所带来问题,通过负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力。
为了在系统面对峰时大流量的冲击,有效的扩展策略是系统稳定性的保障,而在度过流量峰值之后,对资源进行及时的回收则能有效减少远高于需求的带宽与硬件资源成本。上述的基于微服务的社交机器人调度系统还可以包括:资源调度端,用于在高负载情况下,对社交机器人系统进行扩容,在低负荷情况下,对社交机器人系统进行资源回收。
上述的一级负载均衡模块和所述二级负载均衡模块为插件结构的模块,具备统一的接口。即,上述的负载均衡策略可以采用插件式的方式设计,从而可以方便地应用在不同层级的负载均衡模块上,为了方便扩展,插件可以被设计为具有统一的接口,以方便流程控制模块的调用。在插件中可以携带算法的基本信息和输入输出参数,对于用户和流程管理模块而言,算法的实现是透明的,只是根据输入数据给出一个策略选择,插件由流程控制模块负责加载和调用。
上述每个服务节点可以为一独立的组件,且具有一暴露的接口。
针对上述的基于微服务的社交机器人调度系统,在本例中还提供了一种服务调度方法,图2是服务调度方法一个实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的,如图2所示,本申请提供了一种服务调度方法可以包括如下步骤:
步骤201:一级负载均衡模块接收服务请求方的服务请求;
其中,该服务请求可以是接收的客户端微博服务的登录请求,在接收到该登录请求之后,可以直接作为服务请求转发至一级负载均衡模块,同时保存有已登录账号的连接信息,直接与服务提供方(即,服务节点)进行后续交互操作。
步骤202:所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
步骤203:被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
其中,上述的状态信息可以包括但不限于以下至少之一:该服务节点上每个账号登陆的时间、每个账号上次操作的时间、该服务节点已登陆账号的数目、该服务节点剩余可登陆的账号数、登陆后最长时间未操作的时间。
为了实现有效的负载均衡,一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点可以包括:
S1:一级负载均衡模块确定是否存在具有可用资源的服务节点;
S2:在存在具有可用资源的服务节点的情况下,将所述服务请求分配至已登陆账号数量最小的服务节点;
S3:在不存在具有可用资源的服务节点的情况下,将登陆后最长时间未操作的账号登出,将所述服务请求分配至该账号登出的服务节点。
为了在系统面对峰时大流量的冲击,有效的扩展策略是系统稳定性的保障,而在度过流量峰值之后,对资源进行及时的回收则能有效减少远高于需求的带宽与硬件资源成本。上述方法还可以包括:获取目标社交机器人的负载压力;在所述负载压力超出预设阈值的情况下,为所述目标社交机器人创建服务节点并分配资源;在创建服务节点之后,监控负载压力;在负载压力小于预设阈值的情况下,回收创建的服务节点和分配的资源。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在本例中,基于微服务的社交机器人调度架构设计提出了一种利用微服务架构细粒度管理服务状态、以实现对社交机器人的灵活调度。具体的,架构设计利用微服务框架SpringCloud,结合社交机器人对应服务状态管理场景,底层采用轻量级的通信机制,增加负载均衡服务模块和层级设计,从而实现服务模块的高可用,以避免单点故障。同时,将管理用户登录后的后续操作下放至服务节点,以缓解登录节点的压力。调度架构设计可以包括两个部分:一部分是内部的两级负载均衡模块,一级负载均衡模块管理服务请求节点的登录和服务节点满载时的账号,以服务的形式向注册中心注册,完成登录服务和满载时的账号登出管理,二级负载均衡模块部署在被请求服务节点上,负责管理本节点上所有登录账号的状态、上报当前节点的登录状态信息等,即,管理本节点具体账号的登录状态信息、执行服务满载时的登出操作并上报节点资源利用率给一级负载均衡节点,帮助负载均衡的策略决策,通过上传的节点信息可以为资源调度提供指标上的参考,帮助实现了准确及时的调度策略;另一部分则是水平扩展与资源回收模块,用于调度架构在不同负载压力下的灵活调整。
通过这种架构书设计可以完成社交机器人调度架构中基于服务端的负载均衡,运用层级设计可以缓解负载均衡模块的单点压力,同时实现了高可用性、高稳定性、高灵活性的社交机器人系统的调度调整。
上述的负载均衡策略可以采用插件式的方式设计,从而可以方便地应用在不同层级的负载均衡模块上,对于系统架构而言,算法策略的选择本身不影响负载均衡模块的流程处理,因此,可以选择简单的算法实现,也可以自定义复杂的规则策略,具体选用哪种算法可以根据应用的不同场景具体操作。
为了方便扩展,插件可以被设计为具有统一的接口,以方便流程控制模块的调用。在插件中可以携带算法的基本信息和输入输出参数,对于用户和流程管理模块而言,算法的实现是透明的,只是根据输入数据给出一个策略选择,插件由流程控制模块负责加载和调用。
为了能够解决社交机器人系统管理的问题,可以采用双层设计方案,上层的负载均衡服务提供登录的节点分配,将服务请求方的登录信息转发给服务节点的负载均衡登录模块,下层的负载均衡模块实际处理登录请求,并管理本账号的登录状态,将关于本连接的信息经由上层的负载均衡模块返回给服务请求方。之后在登录状态下的数据交换操作都由服务请求方和服务节点直接交互,可以有效缓解登录服务模块的压力,同时在登录节点出现故障进行切换时,已登录的服务节点的交互不受影响,如果登录相应信息丢失,也可以通过子节点的数据上报完成信息恢复,实现了高可用。
在上例中,通过设计分层次的负载均衡模块的架构,实现了插件式的负载均衡算法,能够灵活地进行算法更换。利用层级设计解决了社交机器人系统运行状态时的细粒度负载均衡,能够有效地管理服务端的任务分配和调度,提高了微服务平台负载均衡调度的灵活性和可用性,同时基于整个平台提供了弹性伸缩的能力,提高了设计的易用性和扩展性。
以一个具体应用实例对上述的双层级负载均衡模块的具体实施方案进行说明,在实例中,如图3所示,该双层级负载均衡模块可以包括:服务请求方、一级负载均衡模块、二级负载均衡模块、服务提供方,用于完成基于微博等社交平台的账号登录和操作服务。其中:
服务请求方,用于接收客户端微博服务的登录请求,并将请求直接转发至一级负载均衡模块,同时保存有已登录账号的连接信息,直接与服务提供方进行后续交互操作。
一级负载均衡模块,用于接收服务方的登录请求,并为该请求分配具体的登录节点。
二级负载均衡模块,用于接收一级负载均衡模块转发的登录账号信息,并保存本服务节点已登录的账号状态、该服务节点登录的状态信息等,并按照固定的时间间隔上报给一级负载均衡模块。
服务提供方,为每个服务提供方匹配一个二级负载均衡模块,通过二级负载均衡模块进行实际的微博登录操作,并直接与服务请求方进行登录后的转发、点赞、评论、收藏等操作。
通过上述的双层级负载均衡模块可以实现微服务架构下的社交机器人系统灵活调度的目的,可以包括:两级负载均衡模块、水平扩展回收模块,其中:
两级负载均衡模块,一级负载均衡模块作为用户登录请求和具体服务登录节点间的转发模块,需要向服务请求方提供登录数据获取的接口,接收客户端的登录请求信息。在获取到登录请求后,查看本地保存的各服务节点的登录状态,默认情况下选择已登录账号数量最少的服务节点转发请求。如果此时服务器所有可登录的资源已经用完,那么就要选择账号踢出,再处理本次请求登录的账号。默认规则可以是选择目前为止登录后最长时间未操作的账号进行登出,然后在同一服务节点上登录本次请求账号。
二级负载均衡模块管理本服务节点的状态信息,并将节点的状态信息上报至一级负载均衡模块。在服务节点接收到来自一级负载均衡模块的登录请求后,将登录信息转发给服务模块进行登录操作,将登录后的状态再返回至上层模块。该模块需要保存每个账号登录的时间、上次操作时间、本服务节点已登录的账号数目等信息,并将剩余可登陆的账号数、登陆后最长时间未操作的时间等信息上报给一级负载均衡模块,帮助模块进行负载均衡调度管理。
水平扩展回收模块,用于对不同负载压力下的应对方案实施操作,配合负载均衡模块灵活调整系统资源分配,完成有效的系统稳定性保障。在拥有不同社交机器人AI镜像的基础上,水平扩展回收模块配合系统的监测指标,对需求较高的社交机器人AI利用镜像快速创建实例加入集群并对负载均衡策略做出对应的调整,以有效缓解在高峰期的负载压力。同时,水平扩展回收模块设计考虑到峰值过后的资源回收,可以依据流量、请求规模等指标及时预测流量峰值降低的趋势,以对对应资源进行回收,保障了可用性和成本的平衡。
基于微服务的社交机器人调度系统可以包括:注册配置中心、服务请求端、负载均衡、目标服务端、资源调度端,其中,这几部分可以是基于微服务结构的,具体的:
微服务注册中心,用于提供社交机器人的相关服务管理功能,采用客户端发现模式,每一个实例在启动后都会被注册到server上。
服务请求端,以微服务的形式向已经在注册中心注册的实例发起请求,该请求可以包含带有状态的登录信息。
负载均衡模块,包括两部分:一级负载均衡模块以微服务的形式注册在微服务管理平台中,作为该服务的请求入口和调度中心,二级负载均衡模块监管每个服务节点的状态,向上级模块报告实时信息。
目标服务器,社交机器人的具体服务实施节点,完成服务请求。
资源调度端,用于在高负载情况下,对社交机器人系统扩容需求进行量化并实施资源扩容,以增强系统在不同负载压力下的适应能力。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图4是本发明实施例的一种服务调度方法的计算机终端的硬件结构框图。如图4所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的服务调度方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的服务调度方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在软件层面,上述服务调度装置,可以如图5所示,包括:
一级负载均衡模块501,用于接收服务请求方的服务请求,并通过负载均衡策略为所述服务请求分配服务节点;
二级负载均衡模块502,位于被分配服务请求的服务节点上,用于对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
在一个实施方式中,上述状态信息可以包括但不限于以下至少之一:该服务节点上每个账号登陆的时间、每个账号上次操作的时间、该服务节点已登陆账号的数目、该服务节点剩余可登陆的账号数、登陆后最长时间未操作的时间。
在一个实施方式中,上述一级负载均衡模块501具体可以确定是否存在具有可用资源的服务节点;在存在具有可用资源的服务节点的情况下,将所述服务请求分配至已登陆账号数量最小的服务节点;在不存在具有可用资源的服务节点的情况下,将登陆后最长时间未操作的账号登出,将所述服务请求分配至该账号登出的服务节点。
本申请的实施例还提供能够实现上述实施例中的服务调度方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的服务调度方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S1:一级负载均衡模块接收服务请求方的服务请求;
S2:所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
S3:被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
从上述描述可知,本申请实施例提供了一种基于微服务的社交机器人调度系统和调度方法,包括:微服务注册中心,用于对服务节点进行注册;服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。在上例中,采用了微服务的形式,可以避免服务之间因争用数据库和争用缓存资源所带来问题,通过负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力。
本申请的实施例还提供能够实现上述实施例中的服务调度方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的服务调度方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S1:一级负载均衡模块接收服务请求方的服务请求;
S2:所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
S3:被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
从上述描述可知,本申请实施例提供了一种基于微服务的社交机器人调度系统和调度方法,包括:微服务注册中心,用于对服务节点进行注册;服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。在上例中,采用了微服务的形式,可以避免服务之间因争用数据库和争用缓存资源所带来问题,通过负载均衡可以扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据的处理能力。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种基于微服务的社交机器人调度系统,其特征在于,包括:
微服务注册中心,用于对服务节点进行注册;
服务请求端,用于以微服务的形式向已经在所述微服务注册中心注册的服务节点发起服务请求;
一级负载均衡模块,用于以微服务的形式在微服务管理平台注册,作为服务请求的入口和调度中心;
二级负载均衡模块,用于对所在服务节点的状态进行监管,并向所述一级负载均衡模块反馈;
多个服务节点,用于完成所述一级负载均衡模块分配的服务请求。
2.根据权利要求1所述的调度系统,其特征在于,还包括:
资源调度端,用于在高负载情况下,对社交机器人系统进行扩容,在低负荷情况下,对社交机器人系统进行资源回收。
3.根据权利要求1所述的调度系统,其特征在于,所述一级负载均衡模块和所述二级负载均衡模块为插件结构的模块,具备统一的接口。
4.根据权利要求1所述的调度系统,其特征在于,每个服务节点为一独立的组件,且具有一暴露的接口。
5.一种根据权利要求1至4中任一项所述的基于微服务的社交机器人调度系统进行服务调度的方法,其特征在于,包括:
一级负载均衡模块接收服务请求方的服务请求;
所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点;
被分配服务请求的服务节点上的二级负载均衡模块对该被分配服务请求的服务节点的状态信息进行记录,并上报至所述一级负载均衡模块,其中,所述状态信息用于所述一级负载均衡模块进行服务分配。
6.根据权利要求5所述的方法,其特征在于,所述状态信息包括以下至少之一:该服务节点上每个账号登陆的时间、每个账号上次操作的时间、该服务节点已登陆账号的数目、该服务节点剩余可登陆的账号数、登陆后最长时间未操作的时间。
7.根据权利要求5所述的方法,其特征在于,所述一级负载均衡模块通过负载均衡策略为所述服务请求分配服务节点,包括:
所述一级负载均衡模块确定是否存在具有可用资源的服务节点;
在存在具有可用资源的服务节点的情况下,将所述服务请求分配至已登陆账号数量最小的服务节点;
在不存在具有可用资源的服务节点的情况下,将登陆后最长时间未操作的账号登出,将所述服务请求分配至该账号登出的服务节点。
8.根据权利要求5所述的方法,其特征在于,还包括:
获取目标社交机器人的负载压力;
在所述负载压力超出预设阈值的情况下,为所述目标社交机器人创建服务节点并分配资源;
在创建服务节点之后,监控负载压力;
在负载压力小于预设阈值的情况下,回收创建的服务节点和分配的资源。
9.一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至8中任一项所述方法的步骤。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609817.1A CN112202829A (zh) | 2019-07-08 | 2019-07-08 | 基于微服务的社交机器人调度系统和调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910609817.1A CN112202829A (zh) | 2019-07-08 | 2019-07-08 | 基于微服务的社交机器人调度系统和调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112202829A true CN112202829A (zh) | 2021-01-08 |
Family
ID=74004790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910609817.1A Pending CN112202829A (zh) | 2019-07-08 | 2019-07-08 | 基于微服务的社交机器人调度系统和调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202829A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553184A (zh) * | 2021-07-23 | 2021-10-26 | 中信银行股份有限公司 | 一种实现负载均衡的方法、装置、电子设备和可读存储介质 |
CN114296925A (zh) * | 2021-12-29 | 2022-04-08 | 武汉思普崚技术有限公司 | 一种基于微服务架构的文件类型识别系统及方法 |
CN114338684A (zh) * | 2021-12-31 | 2022-04-12 | 山东浪潮科学研究院有限公司 | 一种能源管理系统及方法 |
CN115756771A (zh) * | 2022-10-19 | 2023-03-07 | 中电金信软件有限公司 | 微服务化的前置系统、工作流调度方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160323367A1 (en) * | 2015-04-30 | 2016-11-03 | Lifespeed, Inc. | Massively-scalable, asynchronous backend cloud computing architecture |
CN107566508A (zh) * | 2017-09-19 | 2018-01-09 | 广东电网有限责任公司信息中心 | 一种自动化运维的短信微服务系统 |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
CN109618002A (zh) * | 2019-01-11 | 2019-04-12 | 武汉斗鱼鱼乐网络科技有限公司 | 一种微服务网关优化方法、装置及存储介质 |
CN109788055A (zh) * | 2019-01-11 | 2019-05-21 | 武汉虹旭信息技术有限责任公司 | 一种基于微服务架构的服务治理系统及其方法 |
CN109947547A (zh) * | 2019-03-14 | 2019-06-28 | 科学出版社成都有限责任公司 | 基于云计算的微服务构架方法 |
-
2019
- 2019-07-08 CN CN201910609817.1A patent/CN112202829A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160323367A1 (en) * | 2015-04-30 | 2016-11-03 | Lifespeed, Inc. | Massively-scalable, asynchronous backend cloud computing architecture |
CN107566508A (zh) * | 2017-09-19 | 2018-01-09 | 广东电网有限责任公司信息中心 | 一种自动化运维的短信微服务系统 |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
CN109618002A (zh) * | 2019-01-11 | 2019-04-12 | 武汉斗鱼鱼乐网络科技有限公司 | 一种微服务网关优化方法、装置及存储介质 |
CN109788055A (zh) * | 2019-01-11 | 2019-05-21 | 武汉虹旭信息技术有限责任公司 | 一种基于微服务架构的服务治理系统及其方法 |
CN109947547A (zh) * | 2019-03-14 | 2019-06-28 | 科学出版社成都有限责任公司 | 基于云计算的微服务构架方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553184A (zh) * | 2021-07-23 | 2021-10-26 | 中信银行股份有限公司 | 一种实现负载均衡的方法、装置、电子设备和可读存储介质 |
CN114296925A (zh) * | 2021-12-29 | 2022-04-08 | 武汉思普崚技术有限公司 | 一种基于微服务架构的文件类型识别系统及方法 |
CN114338684A (zh) * | 2021-12-31 | 2022-04-12 | 山东浪潮科学研究院有限公司 | 一种能源管理系统及方法 |
CN114338684B (zh) * | 2021-12-31 | 2023-05-19 | 山东浪潮科学研究院有限公司 | 一种能源管理系统及方法 |
CN115756771A (zh) * | 2022-10-19 | 2023-03-07 | 中电金信软件有限公司 | 微服务化的前置系统、工作流调度方法及装置 |
CN115756771B (zh) * | 2022-10-19 | 2023-09-29 | 中电金信软件有限公司 | 微服务化的前置系统、工作流调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146502B2 (en) | Method and apparatus for allocating resource | |
Yao et al. | Fog resource provisioning in reliability-aware IoT networks | |
CN112202829A (zh) | 基于微服务的社交机器人调度系统和调度方法 | |
WO2016161677A1 (zh) | 一种业务卸载方法及系统 | |
CN113709048A (zh) | 一种路由信息的发送、接收方法、网元及节点设备 | |
CN110069341B (zh) | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 | |
Rahimi et al. | On optimal and fair service allocation in mobile cloud computing | |
KR20210119504A (ko) | 통신 방법 및 장치, 엔티티 및 컴퓨터 판독가능 저장 매체 | |
CN112463375A (zh) | 一种数据处理的方法和装置 | |
CN112714164A (zh) | 一种物联网系统及其任务调度方法 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN110046187B (zh) | 数据处理系统、方法及装置 | |
CN115297008B (zh) | 基于智算网络的协同训练方法、装置、终端及存储介质 | |
CN116456496B (zh) | 资源调度的方法、存储介质及电子设备 | |
CN110365743B (zh) | 一种基于Zookeeper实现的支持多种可自定义负载算法的负载均衡器实现方法 | |
Yi et al. | Job allocation mechanism for battery consumption minimization of cyber-physical-social big data processing based on mobile cloud computing | |
CN116755799A (zh) | 一种服务编排系统和方法 | |
CN112448833A (zh) | 一种多管理域的通信方法和装置 | |
CN117322062A (zh) | 通过验证切片sla保证的5g允许进入 | |
CN111770179B (zh) | 一种高性能高可用云化联网网关实现方法、介质及终端 | |
CN117321973A (zh) | 应用与5g网络中的预定义的切片类型的自动匹配 | |
CN114443293A (zh) | 一种大数据平台的部署系统及方法 | |
CN113126884B (zh) | 数据迁移方法、装置、电子设备及计算机存储介质 | |
CN111143033B (zh) | 基于可伸缩操作系统的操作执行方法及装置 | |
CN114296869A (zh) | 一种基于tcp长连接的服务器节点服役方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210108 |