CN111813577A - 一种数据处理的方法、装置以及计算机可读存储介质 - Google Patents
一种数据处理的方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111813577A CN111813577A CN202010652349.9A CN202010652349A CN111813577A CN 111813577 A CN111813577 A CN 111813577A CN 202010652349 A CN202010652349 A CN 202010652349A CN 111813577 A CN111813577 A CN 111813577A
- Authority
- CN
- China
- Prior art keywords
- node
- service
- service node
- routing
- routing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置及计算机可读存储介质。所述一种数据处理方法包括:路由节点接收服务请求,所述服务请求包括用户标识;所述路由节点根据所述用户标识从服务节点集群中确定出第一服务节点;若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点;在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,所述路由节点向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。采用本申请实施例,可以实现在线缩容,并保证缩容过程中数据的一致性,提升用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理的方法、装置以及计算机可读存储介质。
背景技术
互联网业务大多由分布式服务节点提供服务。随着互联网业务规模的扩大,所需的服务节点越来越多,设备的投入成本也越来越高。在分布式架构中,为了减少资源的浪费,降低业务成本,可以关闭负载较低的服务节点。例如,在采用分布式部署服务节点的网络游戏中,可以关闭负载较低的服务节点,即缩容。
现有技术中,有两种缩容方式。第一种方式,可以在暂停业务后缩容。例如,在网络游戏全区停服后关闭负载较低的服务节点。第二种方式,可以在业务执行过程中缩容。例如,在网络游戏服务节点提供服务的过程中关闭负载较低的服务节点。但是,采用第一种缩容方式会造成一段时间的资源浪费。例如,在网络游戏全区停服时,提供服务的服务节点处于闲置状态。采用第二种缩容方式会产生无序的窗口消息,导致缩容过程中数据错误。例如,在网络游戏服务节点提供服务的过程中,在缩容前玩家终端发出了一个组队请求,服务节点可能会返回缩容前与缩容后不同的队伍信息。因此,如何在关闭服务节点时保证资源的利用率和缩容过程中数据的一致性是目前亟需解决的问题。
发明内容
本申请实施例提供了一种数据处理方法、装置及计算机可读存储介质,可以在线进行缩容,并且在缩容过程中保证数据的一致性,提升用户体验。
第一方面,本申请实施例提供了一种数据处理方法,该方法包括:
路由节点接收服务请求,所述服务请求包括用户标识;
所述路由节点根据所述用户标识从服务节点集群中确定出第一服务节点;
若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点;
在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,所述路由节点向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
第二方面,本申请实施例还提供了一种数据处理方法,该方法包括:
中控节点获取针对第一服务节点的缩容指令;
所述中控节点响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。
第三方面,本申请实施例提供了一种数据处理装置,该装置包括:
接收模块,用于接收服务请求,所述服务请求包括用户标识;
确定模块,用于根据所述用户标识从服务节点集群中确定出第一服务节点;
处理模块,用于若所述第一服务节点为不可用状态,缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点;
发送模块,用于在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
第四方面,本申请实施例提供了另一种数据处理装置,该装置包括:
获取模块,用于获取针对第一服务节点的缩容指令;
发送模块,用于响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。
第五方面,本申请实施例提供了一种路由节点,包括处理器和存储器,所述处理器与所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面所述的数据处理方法。
第六方面,本申请实施例提供了一种中控节点,包括处理器和存储器,所述处理器与所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面所述的数据处理方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面或者第二方面所述的方法。
第八方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或第二方面提供的数据处理方法。
在本申请实施例中,在路由节点接收到用户对应的终端发送的包含用户标识的服务请求时,路由节点根据该用户标识从服务节点集群中确定出第一服务节点。若该第一服务节点为不可用状态,则路由节点缓存该服务请求,并根据用户标识从所述服务节点集群中确定出第二服务节点。然后在第一服务节点将第一服务节点对应的用户数据迁移到第二服务节点之后,路由节点向第二服务节点发送服务请求,以使得第二服务节点处理该服务请求。若该第一服务节点为可用状态,则路由节点向第一服务节点发送该服务请求,以使得第一服务节点处理该服务请求。由此,对比于现有技术中,可以实现在线缩容,减少资源的浪费。并且相比在业务执行过程中负载过低就关闭服务节点而言,本申请实施例针对缓存负载过低的缩容服务节点对应的服务请求。可以保证在线缩容过程中数据的一致性,实现无损缩容,在节约资源的同时保障用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种数据处理系统的架构示意图;
图1b是本申请实施例提供的另一种数据处理系统的架构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种哈希环的示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5是本申请实施例提供的另一种数据处理方法的流程示意图;
图6是本申请实施例提供的一种数据处理方法的步骤示意图;
图7是本申请实施例提供的另一种数据处理方法的步骤示意图;
图8是本申请实施例提供的一种数据处理装置的结构示意图;
图9是本申请实施例提供的另一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种路由节点的结构示意图;
图11是本申请实施例提供的一种中控节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
请参见图1a,图1a是本申请实施例提供的一种数据处理系统的架构示意图,本申请实施例的技术方案可在图1a举例所示的系统架构或类似的系统架构中具体实施。该系统架构可以包括中控节点100和多个路由节点(如图1a所示,具体包括路由节点210、路由节点220、路由节点230)以及各个路由节点下挂载服务节点集群中的至少一个服务节点(例如路由节点210挂载有服务节点310a、服务节点310b;路由节点220挂载有服务节点320a、服务节点320b、服务节点320c;路由节点230挂载有服务节点330a、服务节点330b)。其中,一个路由节点(例如路由节点210)在接收到服务请求时,可以根据服务请求中的用户标识(例如用户的角色名)从服务节点集群中确定出处理该服务请求的第一服务节点(例如服务节点330a)。接着,该路由节点获取第一服务节点的状态。若该第一服务节点为不可用状态,通常当某个服务节点需要缩容时,可以将该服务节点设置为不可用状态,则该路由节点缓存服务请求,并根据用户标识从服务节点集群中确定出第二服务节点(例如服务节点330b)。然后在该第一服务节点对应的用户数据迁移到第二服务节点之后,该路由节点向第二服务节点发送服务请求,以使得第二服务节点处理该服务请求。若该第一服务节点为可用状态,则该路由节点向第一服务节点发送该服务请求,以使得第一服务节点处理该服务请求。利用本申请实施例的方法,在服务节点缩容时,可以缓存服务请求,保证缩容过程中数据的准确性,一致性。
需要说明的是,图1a所示的系统架构中包括:1个中控节点,3个路由节点,7个服务节点。路由节点和服务节点的节点数目仅仅是示意性的,可以根据实际业务需求部署任意数目的路由节点以及服务节点。其中,中控节点可以与多个路由节点之间通信,中控节点还可以通过路由节点与服务节点通信。各个路由节点之间可以相互通信。路由节点还可以与其挂载的服务节点通信,也可以通过路由节点与其他路由节点下的服务节点通信。服务节点可以通过路由节点与其他服务节点通信。
对于该系统架构中的每个节点(例如中控节点、路由节点、服务节点等),均具有与其对应的节点标识,而且每个节点均可以存储各个节点的节点标识。每个节点可以维护一个如下表所示的节点标识列表(可记为路由表),并将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,本申请实施例对此不作具体限定,如表1所示,表中以IP地址为节点标识的路由表为例进行说明。
表1路由表
在本申请实施例中包括路由节点。每个路由节点下挂载有不少于1个服务节点。服务节点可以通过其挂载的路由节点与其他节点进行通信。如表1所示,若服务节点310a上的用户发起请求至服务节点330a,则服务节点310a将服务请求发送至路由节点210。然后,路由节点210将服务请求发送至路由节点230,由路由节点230转发给服务节点330a。
其中,中控节点100可以是该系统架构中的管理设备。中控节点100可以接收用户的控制命令,并响应所述控制命令管理系统架构中的路由节点和/或服务节点。例如,中控节点100可以接收用户针对一个服务节点的缩容指令,中控节点可以响应该缩容指令发送广播消息,指示该服务节点为不可用状态。
中控节点可以是包括具备上述功能的终端设备(例如智能手机、平板、可穿戴设备等)或者具有交互界面的服务器(例如为带有显示屏的计算机或服务器等)。
路由节点可以是该系统架构中用于数据转发的节点设备。路由节点是中控节点与该路由节点挂载的服务节点的桥梁。中控节点与服务节点可以通过路由节点建立通信连接。例如,在图1a中,中控节点广播服务节点330a的状态信息至服务节点320a。中控节点先将服务节点330a的状态信息发送至路由节点220。然后,路由节点220将服务节点330a的状态信息发送至服务节点320a。
路由节点可以是包括具备上述功能的终端设备(例如智能手机、平板、可穿戴设备等)或者具备上述功能的的服务器(例如计算机或服务器等)。
服务节点可以是为用户提供业务服务的节点。在网络游戏中,服务节点可以给游戏玩家提供数据计算及存储服务。数据可包括网络游戏中对象的移动数据(例如,游戏角色的移动距离)、网络游戏中的场景数据(例如,游戏角色所处的地图数据)、网络游戏中的用户数据(例如,游戏角色所处的公会信息)等。这里不做限定。
服务节点可以是包括具备上述功能的终端设备(例如智能手机、平板、可穿戴设备等)或者具备上述功能的的服务器(例如计算机或服务器等)。
在分布式架构部署的网络游戏中,可以利用本方案的数据处理方法保证缩容过程的数据的一致性和准确性,实现无损在线缩容。
参考图1b,该系统架构可以包括中控节点100和多个路由节点(如图1b所示,具体包括路由节点211、路由节点221、路由节点231)以及各个路由节点下挂载的包括至少一个服务节点的服务集群。在网络游戏中,服务集群可包括功能集群和战斗集群。路由节点211挂载功能集群,功能集群中可包括匹配服务节点、公会服务节点、组队服务节点、场景服务节点。路由节点221挂载的战斗集群1,战斗集群1可包括游戏服务节点1、游戏服务节点2。路由节点231挂载的战斗集群2,战斗集群2可包括游戏服务节点3、游戏服务节点4。
在一个路由节点(例如路由节点211)接收到场景服务节点的服务请求时,可以根据服务请求中的用户标识(例如用户的角色名)从服务节点集群中确定出处理该服务请求的第一服务节点(例如游戏服务节点1)。接着,该路由节点获取第一服务节点的状态。若该第一服务节点为不可用状态,通常当某个服务节点需要缩容时,可以将该服务节点设置为不可用状态,则该路由节点缓存服务请求,并根据用户标识从服务节点集群中确定出第二服务节点(例如游戏服务节点2)。然后在该第一服务节点对应的用户数据迁移到第二服务节点之后,该路由节点向第二服务节点发送服务请求,以使得第二服务节点处理该服务请求。利用本申请实施例的方法,在网络游戏的服务节点缩容时,可以缓存服务请求,保证缩容过程中数据的准确性,一致性。
下面将对本申请实施例方法进行详细阐述。
请参见图2,图2是本申请实施例提供的一种数据处理方法的流程示意图。该方法可应用于上述图1a-图1b所述的系统架构中,该方法包括:
步骤S201,路由节点接收服务请求,所述服务请求包括用户标识。
在一些可行的实施方式中,路由节点可以接收服务请求,并根据服务请求中的用户标识唯一确定目标用户。
用户标识可以唯一标识目标用户。在一些可行的实施方式中,用户标识可以是用户账号(例如,用户的手机号码、用户的邮箱、用户的身份证号等),用户标识还可以是用户的角色名,这里不做限制。
步骤S202,路由节点根据所述用户标识从服务节点集群中确定出第一服务节点。
服务节点集群中包括至少一个服务节点。每个路由节点下挂载有服务节点集群中的至少一个服务节点。
在一个可行的实施方式中,路由节点利用一致性哈希算法将用户标识对应的目标用户映射到哈希环上,以及将服务节点集群包括的每个服务节点映射到所述哈希环上。然后,路由节点根据目标用户和每个服务节点在该哈希环上的映射位置从所述服务节点集群中确定出第一服务节点。
在一个可行的实施方式中,哈希环的圆弧上可均匀分布有0~232-1个哈希值。然后,路由节点计算目标用户的用户标识的哈希值,并根据目标用户的用户标识的哈希值将目标用户映射在哈希环上。路由节点计算服务节点的节点标识的哈希值,并根据服务节点的节点标识的哈希值将服务节点映射在哈希环上。然后,路由节点从目标用户在所述哈希环上的映射位置沿着所述哈希环顺时针查找,将查找到的第一个服务节点作为第一服务节点。
下面结合附图进行阐述。
参考图3,图3示出了一个哈希环的示意图。假设有4个服务节点,4个服务节点分别为节点1、节点2、节点3、节点4。计算4个服务节点的节点标识的哈希值,将4个节点映射在哈希环上,呈现如图3所示。哈希环上顺时针从整数0开始,一直到最大正整数,我们根据四个节点标识计算的哈希值肯定会落到这个哈希环上的某一个点,至此我们把服务节点映射到了哈希环上。
假设有7个目标用户,7个目标用户分别为用户1、用户2、用户3、用户4、用户5、用户6、用户7。计算7个目标用户的用户标识的哈希值,并根据目标用户的用户标识的哈希值将7个用户映射在哈希环上,呈现如图3所示。至此我们把目标用户映射到了哈希环上。
一致性哈希算法具有平衡性,也可以说负载均衡,目标用户的服务请求可以分散到不同的服务节点上,从而提升服务节点的处理速度,保障用户的使用体验。例如图3的哈希环,用户1的请求会由节点1进行处理。用户2、用户3的请求会由节点2进行处理。用户4、用户5、用户6的请求会由节点3进行处理。用户7的请求会由节点4进行处理。
一致性哈希算法具有单调性。在服务节点的数量发生变化时,仅需要改变部分用户的用户数据。如图3所示的哈希环,在节点2为不可用状态时,用户2、用户3的请求会由节点3进行处理,其他目标用户不受影响。
步骤S203,若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点。
服务节点可分为两种状态:可用状态和不可用状态。
服务节点为可用状态时,该服务节点能正常提供数据处理及存储服务。
服务节点为不可用状态时,该服务节点无法提供数据处理及存储服务。可选的,用户确定第一服务节点需要缩容时,可设置服务节点为不可用状态。可选的,在第一服务节点出故障时,服务节点可处于不可用状态。
在一些可行的实施方式中,服务节点可以接收按钮上的用户操作改变服务节点的状态。服务节点还可以接收中控节点的控制指令,并响应该控制指令切换状态。
在一些可行的实施方式中,路由节点可包括缓存模式和工作模式。路由节点为缓存模式时,路由节点既可以缓存服务请求还可以转发服务请求。路由节点为工作模式时,路由节点可以转发服务请求。
在一些可行的实施方式中,路由节点可以接收中控节点的控制指令,然后路由节点响应该中控节点的控制指令调整模式。
在一些可行的实施方式中,若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求。然后,路由节点将第一服务节点从所述哈希环上去除,得到更新后的哈希环。然后,路由节点从目标用户在所述更新后的哈希环上的映射位置沿着所述哈希环顺时针查找,将查找到的第一个服务节点作为第二服务节点。
在另一些可行的实施方式中,若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求。然后,路由节点计算目标用户的用户标识的哈希值,并将目标用户映射在哈希环上。路由节点计算不包含第一服务节点的其他服务节点的节点标识的哈希值,并将不包含第一服务节点的其他服务节点映射在哈希环上。从而,生成更新后的哈希环。接着,路由节点从目标用户在所述更新后的哈希环上的映射位置沿着所述哈希环顺时针查找,将查找到的第一个服务节点作为第二服务节点。
步骤S204,在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,所述路由节点向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
在一些可行的实施方式中。第一服务节点接收中控节点发送的通知消息,并响应该通知消息将第一服务节点内对应的全部用户数据发送至第二服务节点。然后,路由节点根据节点标识列表(例如路由表)发送服务请求至第二服务节点,以使得第二服务节点处理所述服务请求。
在另一些可行的实施方式中,第一服务节点接收中控节点发送的通知消息,并将第一服务节点内对应的全部用户数据发送至云存储空间。第二服务节点可从云存储空间下载第一服务节点内对应用户数据的部分或全部。然后,路由节点根据节点标识列表(例如路由表)发送服务请求至第二服务节点,以使得第二服务节点处理所述服务请求。
在一些可行的实施方式中,路由节点根据节点标识列表(例如路由表)发送服务请求至第二服务节点挂载的路由节点。然后第二服务节点挂载的路由节点将服务请求发送至第二服务节点。
可选的,在一些可行的实施方式中,若所述第一服务节点为可用状态,则路由节点根据节点标识列表(例如路由表)向第一服务节点发送服务请求,以使得第一服务节点处理所述服务请求。
可选的,在一些可行的实施方式中,在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,中控节点可以发送指令至路由节点,以使得所述路由节点由缓存模式进入工作模式,并且更新节点标识表(例如将包含不可用状态的服务节点的IP地址从路由表中删除)。
在本申请实施例中,路由节点接收到用户对应的终端发送的包含用户标识的服务请求时,路由节点根据一致性哈希算法从服务节点集群中确定出第一服务节点。若该第一服务节点为不可用状态,则路由节点缓存该服务请求,并根据一致性哈希算法从所述服务节点集群中确定出第二服务节点。然后在第一服务节点将第一服务节点对应的用户数据迁移到第二服务节点之后,路由节点向第二服务节点发送服务请求,以使得第二服务节点处理该服务请求。若该第一服务节点为可用状态,则路由节点向第一服务节点发送该服务请求,以使得第一服务节点处理该服务请求。本申请实施例利用一致性哈希算法调度用户数据,可以保证在缩容过程只有部分用户数据受影响。利用路由节点缓存受影响用户的服务请求,可以实现在线缩容,并且在缩容过程中,数据不会发生错乱,保证数据的一致性、准确性,实现无损缩容。在节约资源的同时保障用户体验。
请参见图4,图4是本申请实施例提供的另一种数据处理方法的流程示意图。该方法可应用于上述图1a-图1b所述的系统架构中,该方法包括:
步骤S401,路由节点接收中控节点在获取到针对第一服务节点的缩容指令时发送的广播消息,所述广播消息用于指示所述第一服务节点为不可用状态。
在中控节点获取到针对第一服务节点的缩容指令时,中控节点可向全网广播第一服务节点为不可用状态的广播消息。在路由节点接收到该广播消息后,可确定第一服务节点为不可用状态。
步骤S402,路由节点接收包含用户标识的用户请求,具体可参考步骤S201。
步骤S403,路由节点根据所述用户标识从服务节点集群中确定出第一服务节点,具体可参考步骤S202。
步骤S404,所述第一服务节点为不可用状态,则路由节点缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点。具体可参考步骤S203。
步骤S405,路由节点接收中控节点发送的清空消息,并向其挂载的至少一个服务节点发送所述清空消息。
在一些可行的实施方式中,路由节点可接收中控节点发送的清空消息(例如路由节点接收中控节点发送的携带有清空消息的控制指令)。然后,路由节点可向其挂载的至少一个服务节点发送清空消息(例如空数据包)。
例如,在图1a所示的系统架构中,路由节点210接收中控节点100发送的携带清空消息的控制指令。然后路由节点210发送空数据包至服务节点310a、服务节点310b。
步骤S406,路由节点在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息。
路由节点在接收到至少一个服务节点针对清空消息发送的回复消息之后,例如,确认消息(Acknowledge character,ACK),向所述中控节点发送通知消息。然后,中控节点在接收到所述每个路由节点发送的通知消息之后,发送控制指令至第一服务节点所挂载的路由节点。在第一服务节点挂载的路由节点接收到控制指令后,发送指示消息至第一服务节点指示第一服务节点进行数据迁移。
例如,在图1a所示的系统架构中,路由节点210接收服务节点310a、服务节点310b针对所述清空消息发送的回复消息之后,向中控节点100发送通知消息。中控节点100在接收到路由节点210、路由节点220、路由节点230发送的通知消息后指示第一服务节点的数据迁移。
步骤S407,在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,所述路由节点向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。可参考步骤S204,这里不做赘述。
第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点。然后,该路由节点向第二服务节点挂载的路由节点发送缓存的服务请求。第二服务节点挂载的路由节点接收缓存的服务请求并发送给第二服务节点,以使得第二服务节点处理所述缓存的服务请求。
在一些可行的实施方式中,第二服务节点挂载的路由节点可以与该路由节点相同。第二服务节点挂载的路由节点也可以与该路由节点不同。这里不做限定。
在本申请实施例中,路由节点接收到用户对应的终端发送的包含用户标识的服务请求时,路由节点根据一致性哈希算法从服务节点集群中确定出第一服务节点。若该第一服务节点为不可用状态,则路由节点缓存该服务请求,并根据一致性哈希算法从所述服务节点集群中确定出第二服务节点。然后,路由节点接收中控节点发送的清空消息,并向其挂载的至少一个服务节点发送所述清空消息。路由节点在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息,以使得中控节点在接收到所有路由节点的通知消息之后,指示第一服务节点进行数据迁移。在第一服务节点将第一服务节点对应的用户数据迁移到第二服务节点之后,路由节点向第二服务节点发送服务请求,以使得第二服务节点处理该服务请求。若该第一服务节点为可用状态,则路由节点向第一服务节点发送该服务请求,以使得第一服务节点处理该服务请求。本申请实施例利用一致性哈希算法调度用户数据,可以保证在缩容过程只有部分用户数据受影响。利用路由节点缓存受影响用户的服务请求并且在用户数据迁移前清空网络间受影响的数据。从而可以实现在线缩容,并且保证在缩容过程中用户数据不会发生错乱,保证数据的准确性,一致性,实现无损缩容。在节约资源的同时保障用户体验。
请参见图5,图5是本申请实施例提供的另一种数据处理方法的流程示意图。该方法可应用于上述图1a-图1b所述的系统架构中,该方法包括:
步骤S501,中控节点获取针对第一服务节点的缩容指令。
在一些可行的实施方式中,用户通过用户操作输入第一服务节点的缩容指令,中控节点获取针对第一服务节点的缩容指令。
步骤S502,中控节点响应所述缩容指令向每个路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态。
中控节点响应所述缩容指令向每个路由节点发送指示第一服务节点为不可用状态的广播消息。然后,路由节点可以从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求。
步骤S503,中控节点向所述每个路由节点发送清空消息。
中控节点向所述每个路由节点发送清空消息,以使得所述每个路由节点向挂载的至少一个服务节点发送所述清空消息。在每个路由节点接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息。
步骤S504,中控节点在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。
中控在接收到所述每个路由节点发送的通知消息之后,可以向所述第一服务节点挂载的路由节点发送控制指令,然后所述第一服务节点挂载的路由节点响应该控制指令向第一服务节点发送指示消息,用于指示所述第一服务节点进行数据迁移。
通过本申请实施例,中控节点响应缩容指令向路由节点发送广播消息,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述不可用状态的第一服务节点之后,缓存所述服务请求。然后,中控节点向所述每个路由节点发送清空消息,以使得所述每个路由节点向挂载的至少一个服务节点发送所述清空消息,并在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息。中控节点在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。从而可以实现在线缩容,并且在缩容过程中,受影响的用户数据不会发生错乱,实现无损缩容。在节约资源的同时保障用户体验。
请参见图6,图6是本申请实施例提供的一种数据处理方法的步骤示意图。如图6所示,实施该方法的结构可以包括中控节点,路由节点1、路由节点2以及服务节点1、服务节点2、服务节点3。其中,服务节点1和服务节点2挂载于路由节点1,服务节点3挂载于路由节点2。该方法可以简单包括以下步骤:
步骤S601,中控节点广播服务节点2为不可用状态至路由节点1和路由节点2。
步骤S602,路由节点1与路由节点2确认收到服务节点2为不可用状态的广播消息。
步骤S603,路由节点1接收服务请求,并根据服务请求中的用户标识确定处理该服务请求的服务节点是服务节点2,则路由节点1缓存该服务请求。
步骤S604,中控节点发送清空消息至路由节点1和路由节点2。
步骤S605,路由节点1将清空消息发送至服务节点1和服务节点2,路由节点2将清空消息发送至服务节点3。
步骤S606,服务节点1和服务节点2发送清空消息的回复消息至路由节点1,服务节点3发送清空消息的回复消息至路由节点2。
步骤S607,路由节点1和路由节点2发送清空消息的回复消息至中控节点。
步骤S608,中控节点发送用于指示数据迁移的指令至路由节点1。
步骤S609,路由节点1发送用于指示数据迁移的指令服务节点2。
步骤S610,服务节点2将服务节点2内的用户数据迁移至服务节点1内。
步骤S611,服务节点2发送用于确定用户数据迁移完成的通知消息至路由节点1。
步骤S612,路由节点1向服务节点1发送缓存的服务请求,以使得服务节点1处理该服务请求。
请参见图7,图7是本申请实施例提供的另一种数据处理方法的步骤示意图。如图7所示,实施该方法的结构可以包括中控节点,路由节点1、路由节点2以及服务节点1、服务节点2、服务节点3。其中,服务节点1和服务节点2挂载于路由节点1,服务节点3挂载于路由节点2。该方法可以简单包括以下步骤:
步骤S701,中控节点广播服务节点2为不可用状态至路由节点1和路由节点2。
步骤S702,路由节点1与路由节点2确认收到服务节点2为不可用状态的广播消息。
步骤S703,路由节点1接收服务请求,并根据服务请求中的用户标识确定处理该服务请求的服务节点是服务节点2,则路由节点1缓存该服务请求。
步骤S704,中控节点发送清空消息至路由节点1和路由节点2。
步骤S705,路由节点1将清空消息发送至服务节点1和服务节点2,路由节点2将清空消息发送至服务节点3。
步骤S706,服务节点1和服务节点2发送清空消息的回复消息至路由节点1,服务节点3发送清空消息的回复消息至路由节点2。
步骤S707,路由节点1和路由节点2发送清空消息的回复消息至中控节点。
步骤S708,中控节点发送用于指示数据迁移的指令至路由节点2。
步骤S709,路由节点2发送用于指示数据迁移的指令服务节点3。
步骤S710,服务节点2将服务节点2内的用户数据迁移至服务节点3内。
步骤S711,服务节点2发送用于确定用户数据迁移完成的通知消息至路由节点1。
步骤S712,路由节点1向路由节点2发送缓存的服务请求。
步骤S713,路由节点2向服务节点3发送缓存的服务请求,以使得服务节点3处理该服务请求。
本申请实施例提供一种数据处理方法,在服务节点为不可用状态时,路由节点缓存该服务请求。然后,中控节点发送清空消息,清空网络间受影响的服务请求。接着,中控节点指示不可用状态的服务节点进行数据迁移。在数据迁移完成后,由新的服务器处理缓存的服务请求。可以实现在线缩容,并且保证缩容过程中数据的一致性,实现无损缩容,在节约资源的同时保障用户体验。
参见图8,图8为本申请实施例提供的一种数据处理装置的结构示意图。本申请实施例所描述的装置,包括:
接收模块801,用于接收服务请求,所述服务请求包括用户标识;
确定模块802,用于根据所述用户标识从服务节点集群中确定出第一服务节点;
处理模块803,用于若所述第一服务节点为不可用状态,缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点;
发送模块804,用于在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
可选的,所述装置还包括:
接收模块801,还用于接收中控节点发送的清空消息;
发送模块804,还用于向挂载的至少一个服务节点发送所述清空消息;
发送模块804,还用于在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息。
可选的,确定模块802包括:
映射模块805,用于利用一致性哈希算法将所述用户标识对应的目标用户映射到哈希环上,以及将服务节点集群包括的每个服务节点映射到所述哈希环上;
确定模块802,还用于根据所述目标用户和所述每个服务节点在所述哈希环上的映射位置从所述服务节点集群中确定出第一服务节点。
可选的,所述处理模块803,包括:
去除模块806,用于将所述第一服务节点从所述哈希环上去除,得到更新后的哈希环;
确定模块802,还用于根据所述目标用户和所述每个服务节点在所述更新后的哈希环上的映射位置从所述服务节点集群中确定出第二服务节点。
可选的,所述发送模块804,包括:
获取模块807,用于获取路由表,所述路由表包括每个路由节点的节点标识和所述每个路由节点对应挂载的至少一个服务节点的节点标识;
发送模块804,还用于根据所述路由表向所述第二服务节点发送所述服务请求。
可选的,所述装置还包括:
接收模块801,还用于接收中控节点在获取到针对第一服务节点的缩容指令时发送的广播消息,所述广播消息用于指示所述第一服务节点为不可用状态。
可以理解的是,本实施例的数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在本申请实施例中,接收模块801接收服务请求,所述服务请求包括用户标识。然后,确定模块802根据所述用户标识从服务节点集群中确定出第一服务节点。接着,处理模块803在所述第一服务节点为不可用状态时缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点。最后,发送模块804在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。从而可以实现在线缩容,并且在缩容过程中用户数据不会发生错乱,保证数据的准确性,一致性,实现无损缩容。在节约资源的同时保障用户体验。
参见图9,图9为本申请实施例提供的另一种数据处理装置的结构示意图。本申请实施例所描述的装置,包括:
获取模块901,用于获取针对第一服务节点的缩容指令;
发送模块902,用于响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。
可选的,所述装置还包括:
发送模块902,还用于向所述每个路由节点发送清空消息,以使得所述每个路由节点向挂载的至少一个服务节点发送所述清空消息,并在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息;
指示模块903,用于在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。
可以理解的是,本实施例的数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
在本申请实施例中,获取模块901获取针对第一服务节点的缩容指令,然后发送模块902响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。从而可以实现在线缩容,并且在缩容过程中,受影响的用户数据不会发生错乱,实现无损缩容。在节约资源的同时保障用户体验。
请参见图10,图10为本申请实施例提供的一种路由节点的结构示意图。如图10所示的本实施例中的路由节点可以包括:处理器1001和存储器1002。上述处理器1001、和存储器1002通过总线1003连接。存储器1002用于存储计算机程序,所述计算机程序包括程序指令,处理器1001用于执行存储器1002存储的程序指令。
在本申请实施例中,处理器1001通过运行存储器1002中的可执行程序代码,执行如下操作:接收服务请求,所述服务请求包括用户标识,然后根据所述用户标识从服务节点集群中确定出第一服务节点。若所述第一服务节点为不可用状态,缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点。最后在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
可选的,所述处理器1001还用于:
接收中控节点发送的清空消息;
向挂载的至少一个服务节点发送所述清空消息;
在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息。
可选的,所述处理器1001还用于:
所述路由节点利用一致性哈希算法将所述用户标识对应的目标用户映射到哈希环上,以及将服务节点集群包括的每个服务节点映射到所述哈希环上;
所述路由节点根据所述目标用户和所述每个服务节点在所述哈希环上的映射位置从所述服务节点集群中确定出第一服务节点。
可选的,所述处理器1001还用于:
所述路由节点将所述第一服务节点从所述哈希环上去除,得到更新后的哈希环;
所述路由节点根据所述目标用户和所述每个服务节点在所述更新后的哈希环上的映射位置从所述服务节点集群中确定出第二服务节点。
可选的,所述处理器1001还用于:
所述路由节点获取路由表,所述路由表包括每个路由节点的节点标识和所述每个路由节点对应挂载的至少一个服务节点的节点标识;
所述路由节点根据所述路由表向所述第二服务节点发送所述服务请求。
可选的,所述处理器1001还用于:
所述路由节点接收中控节点在获取到针对第一服务节点的缩容指令时发送的广播消息,所述广播消息用于指示所述第一服务节点为不可用状态。
应当理解,在本申请实施例中,所称处理器1001可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1001还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器,可以存储路由表等。
具体实现中,本申请实施例中所描述的处理器1001和存储器1002可执行本申请实施例图2或图4提供的一种数据处理方法的流程中所描述的实现方式,也可执行本申请实施例提供图8的一种数据处理装置中所描述的实现方式,在此不再赘述。
在本申请实施例中,处理器接收服务请求,所述服务请求包括用户标识。然后根据所述用户标识从服务节点集群中确定出第一服务节点。若所述第一服务节点为不可用状态,缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点。最后在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。从而可以实现在线缩容,并且在缩容过程中用户数据不会发生错乱,保证数据的准确性,一致性,实现无损缩容。在节约资源的同时保障用户体验。
请参见图11,图11为本申请实施例提供的一种中控节点的结构示意图。如图11所示的本实施例中的中控节点可以包括:处理器1101和存储器1102。上述处理器1101、和存储器1102通过总线1103连接。存储器1102用于存储计算机程序,所述计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令。
在本申请实施例中,处理器1101通过运行存储器1102中的可执行程序代码,执行如下操作:获取针对第一服务节点的缩容指令。然后,响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。
可选的,所述处理器1101还用于:
向每个路由节点发送清空消息,以使得所述每个路由节点向挂载的至少一个服务节点发送所述清空消息,并在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息;
在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。
应当理解,在本申请实施例中,所称处理器1101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1001还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1102可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1102的一部分还可以包括非易失性随机存取存储器,可以存储路由表等。
具体实现中,本申请实施例中所描述的处理器1101和存储器1102可执行本申请实施例图5提供的一种数据处理方法的流程中所描述的实现方式,也可执行本申请实施例提供图9的另一种数据处理装置中所描述的实现方式,在此不再赘述。
在本申请实施例中,处理器获取针对第一服务节点的缩容指令,然后响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。从而可以实现在线缩容,并且在缩容过程中,受影响的用户数据不会发生错乱,实现无损缩容。在节约资源的同时保障用户体验。
本申请实施例中还提供一种计算机可读存储介质。所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,可执行上述数据处理方法实施例图2或图4-图5中所执行的步骤。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理方法实施例图2或图4-图5中所执行的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
路由节点接收服务请求,所述服务请求包括用户标识;
所述路由节点根据所述用户标识从服务节点集群中确定出第一服务节点;
若所述第一服务节点为不可用状态,则所述路由节点缓存所述服务请求,并根据所述用户标识从所述服务节点集群中确定出第二服务节点;
在所述第一服务节点将所述第一服务节点对应的用户数据迁移到所述第二服务节点之后,所述路由节点向所述第二服务节点发送所述服务请求,以使得所述第二服务节点处理所述服务请求。
2.如权利要求1所述的方法,其特征在于,每个路由节点挂载有所述服务节点集群中的至少一个服务节点,所述若所述第一服务节点为不可用状态之后,所述方法还包括:
所述路由节点接收中控节点发送的清空消息;
所述路由节点向挂载的至少一个服务节点发送所述清空消息;
所述路由节点在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息,以使得所述中控节点在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。
3.如权利要求1或2所述的方法,其特征在于,所述路由节点根据所述用户标识从服务节点集群中确定出第一服务节点,包括:
所述路由节点利用一致性哈希算法将所述用户标识对应的目标用户映射到哈希环上,以及将服务节点集群包括的每个服务节点映射到所述哈希环上;
所述路由节点根据所述目标用户和所述每个服务节点在所述哈希环上的映射位置从所述服务节点集群中确定出第一服务节点。
4.如权利要求3所述的方法,其特征在于,所述路由节点根据所述用户标识从所述服务节点集群中确定出第二服务节点,包括:
所述路由节点将所述第一服务节点从所述哈希环上去除,得到更新后的哈希环;
所述路由节点根据所述目标用户和所述每个服务节点在所述更新后的哈希环上的映射位置从所述服务节点集群中确定出第二服务节点。
5.如权利要求1所述的方法,其特征在于,所述路由节点向所述第二服务节点发送所述服务请求,包括:
所述路由节点获取路由表,所述路由表包括每个路由节点的节点标识和所述每个路由节点对应挂载的至少一个服务节点的节点标识;
所述路由节点根据所述路由表向所述第二服务节点发送所述服务请求。
6.如权利要求1所述的方法,其特征在于,所述路由节点接收服务请求之前,所述方法还包括:
所述路由节点接收中控节点在获取到针对第一服务节点的缩容指令时发送的广播消息,所述广播消息用于指示所述第一服务节点为不可用状态。
7.一种数据处理方法,其特征在于,所述方法包括:
中控节点获取针对第一服务节点的缩容指令;
所述中控节点响应所述缩容指令向路由节点发送广播消息,所述广播消息用于指示所述第一服务节点为不可用状态,以使得所述路由节点在从服务节点集群中确定出服务请求对应的服务节点为所述第一服务节点之后,缓存所述服务请求,并在所述第一服务节点将用户数据迁移到第二服务节点之后,向所述第二服务节点发送所述服务请求。
8.如权利要求7所述的方法,其特征在于,每个路由节点挂载有所述服务节点集群中的至少一个服务节点,所述中控节点响应所述缩容指令向路由节点发送广播消息之后,所述方法还包括:
所述中控节点向所述每个路由节点发送清空消息,以使得所述每个路由节点向挂载的至少一个服务节点发送所述清空消息,并在接收到所述至少一个服务节点针对所述清空消息发送的回复消息之后,向所述中控节点发送通知消息;
所述中控节点在接收到所述每个路由节点发送的通知消息之后,通过所述第一服务节点挂载的路由节点指示所述第一服务节点进行数据迁移。
9.一种数据处理装置,其特征在于,所述装置包括实现如权利要求1至8任一项所述的数据处理方法的模块。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使得所述处理器执行如权利要求1至6任一项所述的数据处理方法,或者如权利要求7至8任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652349.9A CN111813577A (zh) | 2020-07-08 | 2020-07-08 | 一种数据处理的方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010652349.9A CN111813577A (zh) | 2020-07-08 | 2020-07-08 | 一种数据处理的方法、装置以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813577A true CN111813577A (zh) | 2020-10-23 |
Family
ID=72843507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010652349.9A Pending CN111813577A (zh) | 2020-07-08 | 2020-07-08 | 一种数据处理的方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813577A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738339A (zh) * | 2020-12-29 | 2021-04-30 | 杭州东信北邮信息技术有限公司 | 一种电信域微服务架构下的服务实例无损扩缩容方法 |
CN113010496A (zh) * | 2021-03-19 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN113608678A (zh) * | 2021-06-29 | 2021-11-05 | 广州市品高软件股份有限公司 | 一种共享文件系统实现方法、系统、介质及设备 |
CN114979164A (zh) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
-
2020
- 2020-07-08 CN CN202010652349.9A patent/CN111813577A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738339A (zh) * | 2020-12-29 | 2021-04-30 | 杭州东信北邮信息技术有限公司 | 一种电信域微服务架构下的服务实例无损扩缩容方法 |
CN112738339B (zh) * | 2020-12-29 | 2022-09-23 | 杭州东信北邮信息技术有限公司 | 一种电信域微服务架构下的服务实例无损扩缩容方法 |
CN113010496A (zh) * | 2021-03-19 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN113010496B (zh) * | 2021-03-19 | 2024-03-08 | 腾讯云计算(北京)有限责任公司 | 一种数据迁移方法、装置、设备和存储介质 |
CN113608678A (zh) * | 2021-06-29 | 2021-11-05 | 广州市品高软件股份有限公司 | 一种共享文件系统实现方法、系统、介质及设备 |
CN114979164A (zh) * | 2022-04-14 | 2022-08-30 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
CN114979164B (zh) * | 2022-04-14 | 2023-11-17 | 网易(杭州)网络有限公司 | 虚拟房间的分配方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813577A (zh) | 一种数据处理的方法、装置以及计算机可读存储介质 | |
CN112087312B (zh) | 一种提供边缘服务的方法、装置和设备 | |
CN110677492B (zh) | 一种访问请求处理方法、装置、电子设备及存储介质 | |
CN111338806B (zh) | 一种业务控制方法及装置 | |
CN105893133A (zh) | 基于容器技术的应用服务无缝迁移方法和系统 | |
CN110808857B (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
US10305973B2 (en) | Distributed load-balancing for software defined networks | |
CN109144972B (zh) | 一种数据迁移的方法以及数据节点 | |
CN111352716B (zh) | 一种基于大数据的任务请求方法、装置、系统及存储介质 | |
CN111193773A (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN111698164B (zh) | 虚拟机的网络路由方法、装置和管理服务器 | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN111787079A (zh) | 基于通信群组的通信方法、装置、服务器、系统及介质 | |
US11140064B2 (en) | Configuring a topology of devices to support scaling of an exchange point | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
CN110933181B (zh) | 一种路由方法、装置、系统以及电子设备 | |
CN111090783B (zh) | 推荐方法、装置和系统、图嵌入的游走方法、电子设备 | |
CN112199176A (zh) | 一种业务处理方法、装置及相关设备 | |
KR101984846B1 (ko) | 객체 이동성을 제공하는 통신 방법 및 장치 | |
CN116094923A (zh) | 云实例迁移后的网关更新方法及装置和电子设备 | |
CN115225634A (zh) | 虚拟网络下的数据转发方法、装置及计算机程序产品 | |
CN114070853A (zh) | 沉浸式活动系统及其应用方法和电子设备 | |
CN106506247B (zh) | 虚拟网络创建方法和装置 | |
CN112799849A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
EP4057577A1 (en) | Addressing method, addressing system and addressing apparatus |
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 |