数据处理方法、装置、设备、程序产品及存储介质与流程

未命名 08-01 阅读:169 评论:0


1.本技术涉及云技术领域及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备、计算机程序产品及计算机可读存储介质。


背景技术:

2.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
3.随着计算机技术和信息技术的普及进步,面向用户的各种服务通过各种客户端逐步从线下转移到线上,从而对于客户端的后台服务能力的要求越来越高,尤其在跨区域服务请求频繁的业务场景中,会出现大量的跨城服务请求,会增大网络耗时,从而导致服务响应延迟。
4.相关技术中会采取提高网络带宽或者优化硬件设备的方式以提升服务响应速度,但是这种方式具有明显的负载上限,仍然无法在跨区域服务请求频繁的业务场景中维持较高的服务响应速度。


技术实现要素:

5.本技术实施例提供一种集群系统的数据处理方法、装置、电子设备、计算机程序产品及计算机可读存储介质,能够提高服务请求的响应速度。
6.本技术实施例的技术方案是这样实现的:
7.本技术实施例提供一种集群系统的数据处理方法,所述集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在所述多个地区一一对应部署的多个接入交换机;包括:
8.通过所述接入交换机接收业务账号的服务请求,其中,所述服务请求的来源位置处于所述接入交换机对应的接入地区管辖的范围内,所述接入地区是所述多个地区中的一个;
9.通过所述接入交换机向所述路由中心查询所述业务账号的归属地区,其中,所述归属地区是所述多个地区中的一个;
10.当查询到的所述归属地区与所述接入地区不同时,通过所述接入交换机将所述服务请求路由至所述多个集群中对应所述归属地区的集群,以使对应所述归属地区的集群执行针对所述服务请求的响应处理。
11.本技术实施例提供一种集群系统的数据处理装置,所述集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在所述多个地区一一对应部署的多个接入交换机;所述装置包括:
12.接收模块,用于通过所述接入交换机接收业务账号的服务请求,其中,所述服务请求的来源位置处于所述接入交换机对应的接入地区管辖的范围内,所述接入地区是所述多个地区中的一个;
13.查询模块,用于通过所述接入交换机向所述路由中心查询所述业务账号的归属地区,其中,所述归属地区是所述多个地区中的一个;
14.路由模块,用于当查询到的所述归属地区与所述接入地区不同时,通过所述接入交换机将所述服务请求路由至所述多个集群中对应所述归属地区的集群,以使对应所述归属地区的集群执行针对所述服务请求的响应处理。
15.在上述方案中,所述路由模块,还用于:当所述业务账号归属地区与所述接入地区相同时,通过所述接入交换机调用路由控制工具将所述服务请求路由至所述多个集群中对应所述接入地区的集群。
16.在上述方案中,所述路由中心包括根节点、对应每个所述地区的路由存储数据库集群、以及对应每个所述地区的本地缓存;所述查询模块,还用于:通过所述接入交换机调用路由控制工具执行以下处理中任意一种:向对应所述接入地区的本地缓存查询所述业务账号的归属地区;当在所述路由中心的所述本地缓存未查询到所述业务账号的归属地区时,向对应所述接入地区的路由存储数据库集群查询所述业务账号的归属地区;当在对应所述接入地区的所述本地缓存未查询到所述业务账号的归属地区,且在对应所述接入地区的路由存储数据库集群未查询到所述业务账号的归属地区时,向所述路由中心的根节点查询所述业务账号的归属地区。
17.在上述方案中,对应所述接入地区的本地缓存分布于多个第一存储器,所述查询模块,还用于:对所述业务账号进行哈希处理,得到对应所述业务账号的第一哈希处理结果;从所述多个第一存储器中确定对应所述第一哈希处理结果的目标第一存储器;在所述目标第一存储器中查询所述业务账号的归属地区。
18.在上述方案中,所述查询模块,还用于:通过所述接入交换机调用路由控制工具执行以下处理:当在所述路由中心的根节点未查询到所述业务账号的归属地区时,确定所述服务请求是所述业务账号的首次服务请求,并将所述服务请求的接入地区确定为所述业务账号的归属地区。
19.在上述方案中,所述查询模块,还用于:当所述服务请求是所述业务账号的首次服务请求时,通过所述接入交换机调用路由控制工具执行以下处理:将表征所述归属地区的地区信息写入所述路由中心的根节点、对应所述接入地区的路由存储数据库集群、以及对应所述接入地区的本地缓存;向对应其他地区的路由存储数据库集群以及所述路由中心的其他本地缓存广播所述地区信息;其中,所述其他地区是所述多个地区中除所述接入地区之外的地区,所述其他本地缓存是所述路由中心中除对应所述接入地区的本地缓存之外的本地缓存。
20.在上述方案中,所述查询模块,还用于:对所述路由中心的根节点进行查询锁定处理;当所述路由中心的根节点处于查询锁定状态时,将表征所述归属地区的地区信息写入所述路由中心的根节点;其中,所述路由中心的根节点处于查询锁定状态表征所述路由中心的根节点不能被执行查询操作。
21.在上述方案中,对应所述接入地区的本地缓存分布于多个第一存储器,所述查询模块,还用于:对所述业务账号进行哈希处理,得到对应所述业务账号的第一哈希处理结果;对所述多个第一存储器中每个所述第一存储器的机器标识进行哈希处理,得到对应每个所述第一存储器的第二哈希处理结果;将与所述第一哈希处理结果相邻,且大于所述第
一哈希处理结果第二哈希处理结果对应的第一存储器确定为对应所述业务账号的目标第一存储器;将表征所述归属地区的地区信息写入所述目标第一存储器的本地缓存。
22.在上述方案中,表征所述接入地区的地区信息是所述路由控制工具中的默认路由信息,所述路由模块,还用于:通过所述接入交换机调用路由控制工具执行以下处理:利用用于表征所述归属地区的地区信息对所述路由控制工具中的默认路由信息进行替换处理,得到所述服务请求的路由信息;将所述路由信息作为对应所述服务请求的头部信息;根据所述头部信息将所述服务请求路由至对应所述归属地区的集群中。
23.在上述方案中,对应所述归属地区的集群包括部署逻辑服务的服务器,所述路由模块,还用于:当所述服务器处于不可用状态时,通过所述接入交换机将所述服务请求路由至对应其他地区的集群,以使对应其他地区的集群执行针对所述服务请求的响应处理,其中,所述其他地区是所述多个地区中除所述归属地区之外的地区。
24.在上述方案中,对应所述归属地区的集群包括与所述归属地区对应的存储系统,所述存储系统包括与所述归属地区对应的主存储器、与所述归属地区对应的备用存储器、以及与其他地区对应的异地备用存储器,其他地区是所述多个地区中除所述归属地区之外的地区;所述路由模块,还用于:执行以下处理任意一种:当与所述归属地区对应的主存储器处于可用状态时,根据所述服务请求针对与所述归属地区对应的主存储器执行目标操作,得到对应所述服务请求的响应结果,其中,所述目标操作包括以下至少之一:读操作、写操作;当与所述归属地区对应的主存储器处于不可用状态时,根据所述服务请求针对与所述归属地区对应的备用存储器执行目标操作,得到对应所述服务请求的响应结果,其中,所述目标操作包括以下至少之一:读操作、写操作;当与所述归属地区对应的主存储器、以及与所述归属地区对应的备用存储器均处于不可用状态时,根据所述服务请求针对与所述其他地区对应的异地备用存储器执行读操作,得到对应所述服务请求的响应结果。
25.本技术实施例提供一种电子设备,包括:
26.存储器,用于存储可执行指令;
27.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的集群系统的数据处理方法。
28.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本技术实施例提供的集群系统的数据处理方法。
29.本技术实施例具有以下有益效果:
30.通过接入交换机接收业务账号的服务请求,服务请求的来源位置处于接入交换机对应的接入地区管辖的范围内,从而可以保证服务请求的就近接入,当业务账号的归属地区与接入地区不同时,表征存在跨区域访问的情形,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理,由于接入交换机直接将服务请求路由至对应归属地区的集群,从而保证后续处理过程均是在归属地区对应的集群内部完成的,控制了跨地区的数据传输次数,提高了服务请求的响应速度。
附图说明
31.图1是本技术实施例提供的集群系统的数据处理系统的结构示意图;
32.图2是本技术实施例提供的电子设备的结构示意图;
33.图3a-3c是本技术实施例提供的集群系统的数据处理方法的流程示意图;
34.图4a-4c是本技术实施例提供的集群系统的数据处理方法的业务场景的显示界面图;
35.图5是本技术实施例提供的集群系统的数据处理方法的集群系统的架构示意图;
36.图6是本技术实施例提供的集群系统的数据处理方法的路由中心的架构示意图。
具体实施方式
37.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
38.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
39.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
40.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
41.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
42.1)可用性:客户端向用户提供的功能服务能够正常工作的概率,可用性高表征客户端向用户提供的功能服务可正常工作的概率高。
43.2)set单元化:将原本整体架构拆分成多个单元,每个单元独立工作,共同支持客户端的功能服务。
44.3)脑裂:不同主体基于相同数据获取到不同的数据处理结果,从而产生数据处理的冲突,从而主体无法正常运行。
45.随着计算机技术和信息技术的普及进步,面向用户的各种服务通过各种客户端逐步从线下转移到线上,从而对于客户端的后台服务能力的要求越来越高,尤其在跨区域服务请求频繁的业务场景中,会出现大量的跨城服务请求,会增大网络耗时,从而导致服务响应延迟。
46.相关技术中会采取提高网络带宽或者优化硬件设备的方式以提升服务响应速度,但是这种方式具有明显的负载上限,仍然无法在跨区域服务请求频繁的业务场景中维持较高的服务响应速度。
47.本技术实施例提供一种集群系统的数据处理方法、装置、电子设备、计算机程序产品及计算机可读存储介质,能够提高服务请求的响应速度,下面说明本技术实施例提供的电子设备的示例性应用,本技术实施例提供的电子设备可以实施为服务器。下面,将说明设
备实施为服务器时示例性应用。
48.参见图1,图1是本技术实施例提供的集群系统的数据处理系统的结构示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。其中,服务器200上部署有集群系统,集群系统包括在多个地区一一对应部署的多个集群,每个集群包括逻辑层服务、数据层服务及数据库,均能够独立完成针对服务请求的处理,集群系统还包括路由中心、以及在多个地区一一对应部署的多个接入交换机。终端400,用于发送针对目标业务的服务请求至服务器200。服务器200,用于接收到的服务请求并路由至到相应地区的集群,在路由之前向路由中心查询业务账号的归属地区,当查询到的归属地区与接入地区不同时,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理,在集群处理的过程中,通过集群的逻辑层服务调用集群的数据层服务,从集群的数据库读取数据或者写入数据,以生成处理结果。
49.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
50.参见图2,图2是本技术实施例提供的电子设备的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
51.处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
52.存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
53.存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器250旨在包括任意适合类型的存储器。
54.在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
55.操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
56.网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算
设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
57.在一些实施例中,本技术实施例提供的集群系统的数据处理装置可以采用软件方式实现,图2示出了存储在存储器250中的集群系统的数据处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块2551、查询模块2552及路由模块2553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
58.将结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的集群系统的数据处理方法。
59.参见图3a,图3a是本技术实施例提供的集群系统的数据处理方法的流程示意图,将结合图3a示出的步骤101-104进行说明。
60.在步骤101中,通过接入交换机接收终端发送的业务账号的服务请求。
61.作为示例,集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在多个地区一一对应部署的多个接入交换机。例如,集群系统中部署有三个地区广州、上海和北京,在广州、上海和北京分别部署一个集群,每个集群包括逻辑层服务、数据层服务以及存储数据库。服务请求的来源位置处于接入交换机对应的接入地区管辖的范围内,这里的管辖是针对业务请求的管辖,例如,上海负责管辖的范围是江浙地区,来源位置为苏州的服务请求由对应上海的接入交换机接收,例如,处于深圳某坐标的用户所使用的客户端发出服务请求,由于深圳处于广州的管辖范围内,广州即为服务请求的接入地区,接入地区是多个地区中的一个,接收服务请求的接入交换机是对应广州的接入交换机,且接入交换机是由网关确定的。
62.在步骤102中,通过接入交换机向路由中心查询业务账号的归属地区。
63.作为示例,集群系统中部署有三个地区广州、上海和北京,归属地区是多个地区中的一个,业务账号首次发出服务请求时所处的位置处于上海的管辖范围内,则上海是业务账号的归属地区。将表征归属地区的地区信息作为键值对的值存储在路由中心中,将业务账号作为键,形成键值对,从而可以通过接入交换机向路由中心查询业务账号的归属地区。
64.在步骤103中,当查询到的归属地区与接入地区不同时,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群。
65.在步骤104中,对应归属地区的集群执行针对服务请求的响应处理。
66.作为示例,处于深圳某坐标的用户所使用的客户端发出服务请求,由于深圳处于广州的管辖范围内,广州即为服务请求的接入地区,但是查询到的归属地区是上海,则通过接入交换机将服务请求路由至对应上海的集群,并由对应上海的集群针对服务请求执行直筒型响应处理,即通过对应上海的集群的逻辑层服务、数据层服务以及存储数据库执行针对服务请求的响应处理。
67.通过接入交换机接收业务账号的服务请求,服务请求的来源位置处于接入交换机对应的接入地区管辖的范围内,从而可以保证服务请求的就近接入,当业务账号的归属地区与接入地区不同时,表征存在跨区域访问的情形,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理,由于接入交换机直接将服务请求路由至对应归属地区的集群,从而保证后续处理过程均是在归属地区对应的集群内部完成的,控制了跨地区的数据传输次数,提高了服务请求的响
应速度。
68.在一些实施例中,参见图3b,图3b是本技术实施例提供的集群系统的数据处理方法的流程示意图,图3b中的步骤101-步骤104与图3a相同,下面结合图3b示出的步骤105进行说明。
69.在步骤105中,当业务账号归属地区与接入地区相同时,通过接入交换机调用路由控制工具将服务请求路由至多个集群中对应接入地区的集群。
70.作为示例,处于深圳某坐标的用户所使用的客户端发出服务请求,由于深圳处于广州的管辖范围内,广州即为服务请求的接入地区,同时也查询到归属地区是广州,则通过接入交换机将服务请求路由至对应广州的集群,并由对应广州的集群针对服务请求执行直筒型响应处理,即通过对应广州的集群的逻辑层服务、数据层服务以及存储数据库执行针对服务请求的响应处理。
71.在一些实施例中,路由中心包括根节点、对应每个地区的路由存储数据库集群、以及对应每个地区的本地缓存;参见图3c,图3c是本技术实施例提供的集群系统的数据处理方法的流程示意图,步骤102通过接入交换机向路由中心查询业务账号的归属地区,可以通过接入交换机调用路由控制工具执行图3c中步骤1021-步骤1023中任意一种实现。
72.在步骤1021中,向对应接入地区的本地缓存查询业务账号的归属地区。
73.在步骤1022中,当在路由中心的本地缓存未查询到业务账号的归属地区时,向对应接入地区的路由存储数据库集群查询业务账号的归属地区。
74.在步骤1023中,当在对应接入地区的本地缓存未查询到业务账号的归属地区,且在对应接入地区的路由存储数据库集群未查询到业务账号的归属地区时,向路由中心的根节点查询业务账号的归属地区。
75.通过逐层回源查询可以提高本地缓存的命中率,提升查询效率。
76.作为示例,参见图6,图6是本技术实施例提供的集群系统的数据处理方法的路由中心的架构示意图,路由中心与接入交换机类似也是多地部署,路由中心的主存储使用路由存储数据库集群,例如,redis数据库,路由中心采用三级存储结构。在三级存储结构中,l3是根节点,l2是各个地区的同城节点(路由存储数据库集群),l1是服务在各个地区的的本地内存缓存,在调用路由控制工具向路由中心查询业务账号的归属地区时会从l1

l3进行逐层回源查询。
77.在一些实施例中,对应接入地区的本地缓存分布于多个第一存储器,上述向对应接入地区的本地缓存查询业务账号的归属地区,可以通过以下技术方案实现:对业务账号进行哈希处理,得到对应业务账号的第一哈希处理结果;从多个第一存储器中确定对应第一哈希处理结果的目标第一存储器;在目标第一存储器中查询业务账号的归属地区。
78.作为示例,由于每个存储器的存储容量是有限的,但是业务账号的数量是无穷的,因此本地缓存分布于多个第一存储器中,可以对每个业务账号进行哈希处理,每个业务账号具有唯一的第一哈希处理结果,且每个第一哈希处理结果均在固定圆上存在对应的位置,固定圆上存在2
32
个位置,由于每个第一存储器在该固定圆上也存在对应的位置,然后从数据映射到的位置开始顺时针查找,将找到的第一个存储器作为目标第一存储器,并在目标第一存储器中查询业务账号的归属地区。
79.在一些实施例中,通过接入交换机调用路由控制工具执行以下处理:当在路由中
心的根节点未查询到业务账号的归属地区时,确定服务请求是业务账号的首次服务请求,并将服务请求的接入地区确定为业务账号的归属地区。
80.作为示例,如果直到回源至根节点也没有查询到业务账号的归属地区,表征该服务请求对应的业务账号是首次接入集群系统以使用业务服务功能,业务账号发出的服务请求的来源位置即为接入地区,承接上述示例,当业务账号发出的服务请求的来源位置是深圳时,服务请求的接入地区为广州,将广州确定为业务账号的归属地区。
81.在一些实施例中,当服务请求是业务账号的首次服务请求时,通过接入交换机调用路由控制工具执行以下处理:将表征归属地区的地区信息写入路由中心的根节点、对应接入地区的路由存储数据库集群、以及对应接入地区的本地缓存;向对应其他地区的路由存储数据库集群以及路由中心的其他本地缓存广播地区信息;其中,其他地区是多个地区中除接入地区之外的地区,其他本地缓存是路由中心中除对应接入地区的本地缓存之外的本地缓存。通过广播处理可以有效对数据进行备份,从而在任意一个节点发生故障时可以实现存储容灾。
82.作为示例,如果直到回源至根节点也没有查询到业务账号的归属地区,表征该服务请求对应的业务账号是首次接入集群系统以使用业务服务功能,此时需要记录下业务账号对应的用户实时所处的地区的地区信息(来源位置的地区信息),并将地区信息作为路由信息写入路由中心的根节点、对应接入地区的路由存储数据库集群、以及本地内存缓存,并会将路由信息广播至其他各地的路由存储数据库集群(例如,redis数据库)和服务在各地的本地内存缓存。另外,为了在异常情况下快速构建缓存,还可以将全量路由信息进行备份以形成持久化存储。
83.在一些实施例中,上述将表征归属地区的地区信息写入路由中心的根节点,可以通过以下技术方案实现:对路由中心的根节点进行查询锁定处理;当路由中心的根节点处于查询锁定状态时,将表征归属地区的地区信息写入路由中心的根节点;其中,路由中心的根节点处于查询锁定状态表征路由中心的根节点不能被执行查询操作。通过锁定处理将查询处理与写入处理封装为原子操作,从而降低了数据冲突可能性。
84.作为示例,用户首次接入时短时间内可能触发了两个请求,一次从广州接入,一次从上海接入,从绝对时间先后顺序而言,从广州接入的请求是首次接入的请求,但是从上海接入的请求紧跟其他,两次请求之间的时间间隔相差小于时间阈值,例如,偏远省份的用户发出的服务请求可以随机通过广州的接入交换机接入至对应广州的集群,或者通过上海的接入交换机接入至对应上海的集群,由于路由中心的本地缓存以及redis数据库中都还没有表征该业务账号的归属地区的地区信息,从而两个请求会导致并发对根节点进行读取处理,此时根节点里也没有表征该用户的归属地区的地区信息,第一个请求对根节点进行写入处理并且返回的地区信息为广州,第二次请求覆盖上一次结果并且返回的地区信息为上海,从而两次查询请求得到的地区信息不同,可能会同时写入两个集群的存储,从而造成脑裂这种数据处理冲突问题,鉴于此,在访问根节点时,需要保证读和写操作在一个原子操作里,可以利用lua脚本保证原子性,在脚本中设置为先读后写,例如,第一个请求对根节点进行读取处理,当并未读取到地区信息时,表征服务请求是业务账号的首次服务请求,对路由中心的根节点进行查询锁定处理,当路由中心的根节点处于查询锁定状态时,将表征归属地区的地区信息写入路由中心的根节点,并且返回的地区信息为广州,在这个过程中无法
进行第二次请求的读取,如果对根节点进行读取的时候,读取到地区信息,则直接返回读取到的地区信息,否则在查询锁定的状态下将地区信息进行写入并返回此次写入的地区信息。
85.在一些实施例中,对应接入地区的本地缓存分布于多个第一存储器,上述将表征归属地区的地区信息写入对应接入地区的本地缓存,可以通过以下技术方案实现:对业务账号进行哈希处理,得到对应业务账号的第一哈希处理结果;对多个第一存储器中每个第一存储器的机器标识进行哈希处理,得到对应每个第一存储器的第二哈希处理结果;将与第一哈希处理结果相邻,且大于第一哈希处理结果第二哈希处理结果对应的第一存储器确定为对应业务账号的目标第一存储器;将表征归属地区的地区信息写入目标第一存储器的本地缓存。通过上述方式可以保证地区信息的写入唯一性,从而可以直接从某个第一存储器中查询,提升了查询效率。
86.作为示例,一致性哈希将整个哈希空间组织成一个虚拟的圆,整个空间按顺时针方向组织,0和2
32-1在零点方向重合,将各个第一存储器的标识进行哈希处理,确定出多个第一存储器中每个第一存储器的哈希值(第二哈希处理结果),并将其配置到固定圆的对应位置上,固定圆上存在2
32
个位置,然后采用同样的方法确定出业务账号的第一哈希处理结果,并映射到相同的固定圆上,然后从业务账号映射到的位置开始顺时针查找,将业务账号以及对应的地区信息保存到找到的第一个第一存储器(目标第一存储器)上。
87.在一些实施例中,表征接入地区的地区信息是路由控制工具中的默认路由信息,步骤103中通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,可以通过以下技术方案实现:通过接入交换机调用路由控制工具执行以下处理:利用用于表征归属地区的地区信息对路由控制工具中的默认路由信息进行替换处理,得到服务请求的路由信息;将路由信息作为对应服务请求的头部信息;根据头部信息将服务请求路由至对应归属地区的集群中。
88.作为示例,由于接入层(包括多个接入交换机)所接收的服务请求类型众多,为降低后台开发成本,可以结合协议开发通用的sdk来访问路由中心,接入层调用通用sdk获取路由信息并注入到请求的头元信息里,请求的头元信息会被发送至集群中的下层服务,集群包括逻辑层服务、数据层服务及数据库,各服务按需取用即可,接入层并不干预集群内的处理过程,从而在后续处理过程中不需要进行跨城访问,有效提高了服务响应速度。同时,由于路由信息是静态的,路由信息一旦生成就不会改变,sdk也可以对路由信息进行缓存以减少向路由中心进行查询的次数。
89.在一些实施例中,对应归属地区的集群包括部署逻辑服务的服务器,当服务器处于不可用状态时,通过接入交换机将服务请求路由至对应其他地区的集群,以使对应其他地区的集群执行针对服务请求的响应处理,其中,其他地区是多个地区中除归属地区之外的地区。通过将服务部署于各地的集群,避免某地发生异常导致服务全部不可用,某地服务故障后会自动切换到其他可用地区的集群,从而不影响业务的正常运行。
90.在一些实施例中,对应归属地区的集群包括与归属地区对应的存储系统,存储系统包括与归属地区对应的主存储器、与归属地区对应的备用存储器、以及与其他地区对应的异地备用存储器,其他地区是多个地区中除归属地区之外的地区;步骤104中对应归属地区的集群执行针对服务请求的响应处理,可以通过以下技术方案实现:执行以下处理任意
一种:当与归属地区对应的主存储器处于可用状态时,根据服务请求针对与归属地区对应的主存储器执行目标操作,得到对应服务请求的响应结果,其中,目标操作包括以下至少之一:读操作、写操作;当与归属地区对应的主存储器处于不可用状态时,根据服务请求针对与归属地区对应的备用存储器执行目标操作,得到对应服务请求的响应结果,其中,目标操作包括以下至少之一:读操作、写操作;当与归属地区对应的主存储器、以及与归属地区对应的备用存储器均处于不可用状态时,根据服务请求针对与其他地区对应的异地备用存储器执行读操作,得到对应服务请求的响应结果。
91.作为示例,参见图5,图5是本技术实施例提供的集群系统的数据处理方法的集群系统的架构示意图。集群系统包括在多个地区一一对应部署的多个集群,每个所述集群包括逻辑层服务、数据层服务及数据库(存储系统),在对应每个地区的集群中,存储单机房(某个集群的存储系统中的主存储器)故障后可以切换到同城备机(某个集群的存储系统中的备用存储器),存储全故障后只影响该地区内的用户发出的服务请求,此时可以读取异地容灾存储(其他地区对应的异地备用存储器),只是无法对异地容灾存储进行写入,必要情况下可以手动介入将异地容灾存储切换为主存储。
92.通过接入交换机接收业务账号的服务请求,服务请求的来源位置处于接入交换机对应的接入地区管辖的范围内,从而可以保证服务请求的就近接入,当业务账号的归属地区与接入地区不同时,表征存在跨区域访问的情形,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理,由于接入交换机直接将服务请求路由至对应归属地区的集群,从而保证后续处理过程均是在归属地区对应的集群内部完成的,控制了跨地区的数据传输次数,提高了服务请求的响应速度。
93.集群系统可以应用于各种跨区域服务请求频繁的业务场景中,例如,集群系统为支付业务系统,集群系统为游戏业务系统,集群系统为社交业务系统等等,下面以集群系统为社交业务系统为例,说明本技术实施例提供的集群系统的数据处理方法。
94.在一些实施例中,为保证应用向用户提供社交业务功能,本技术实施例提供集群系统的数据处理方法,具体的,终端接收用户的社交消息发送请求,终端通过网络连接服务器并将社交消息发送请求发送至服务器,服务器上部署有集群系统,集群系统包括在多个地区一一对应部署的多个集群,每个集群包括逻辑层服务、数据层服务及数据库,均能够独立完成针对社交消息发送请求的处理,集群系统还包括路由中心、以及在多个地区一一对应部署的多个接入交换机。服务器将接收到的社交消息发送请求路由到相应地区的集群,在路由之前,向路由中心查询用户的社交消息发送账号(发出社交消息发送请求的业务账号)的归属地区,当查询到的归属地区与接入地区不同时,通过接入交换机将社交消息发送请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对社交消息发送请求的响应处理,在集群处理的过程中,通过集群的逻辑层服务调用集群的数据层服务,从集群的数据库读取数据和/或写入数据,以生成社交消息成功发送结果。
95.参见图4a-4c,图4a-4c是本技术实施例提供的集群系统的数据处理方法的业务场景的显示界面图,在春节期间,由于用户地理位置发生变化,会导致跨区域服务请求更加频繁,社交业务可以基于浏览器任务体系,响应于业务账号在浏览器内完成任务,业务账号获得抽奖资格,有概率可以获得奖品。社交业务系统中还会上线其他功能以吸引用户使用,也
会在某个时段进行统一开奖,因此必须保证春节期间的社交业务服务具有非常高的可用性,避免出现用户可感知的故障或者延迟,从而影响用户的使用体验。春节期间内围绕假日运营活动的社交业务具有较高的用户关注度,因此服务需要具有非常高的可用性,为了保证服务具有较高的可用性,本技术实施例提供了集群系统的数据处理方法,能够提高服务请求的响应速度并且避免出现用户可感知的故障,集群系统采用了图5所示的分单元多地容灾架构。
96.参见图5,集群系统包括在多个地区一一对应部署的多个集群,每个所述集群包括逻辑层服务、数据层服务及数据库,均能够独立完成针对服务请求的处理,集群系统还包括路由中心、以及在多个地区一一对应部署的多个接入交换机。服务部署于各地的集群,所有服务全部三地部署,避免某地发生异常导致服务全部不可用,某地服务故障后会自动切换到其他可用地区的集群,从而不影响业务的正常运行。在对应每个地区的集群中,存储单机房故障后可以切换到同城备机,存储全故障后只影响该地区内的用户,此时可以读取异地容灾存储,只是无法对异地容灾存储进行写入,必要情况下可以手动介入将异地容灾存储切换为主存储。
97.在一些实施例中,春节期间因为春运的原因,可能出现大量跨城请求,过多的跨城请求会增加网络耗时和不稳定因素,首先,通过路由中心来统一管理用户(业务账号)的地区信息,以用户首次进入时所在的地区作为用户的归属地区,归属地区直接决定用户的主存储的位置,路由中心存储有多个键值对,以业务账号的用户标识为键,以业务账号的归属地区的地区信息为值,每次接收到服务请求后都需要向路由中心查询业务账号的归属地区。并且,接收到服务请求后,服务请求经过业务网关到接入层、再到地区集群内的逻辑层以下都均是直筒型就近接入。
98.在一些实施例中,用户的业务账号所属地区就是首次就近接入时的地区,即首次发出服务请求时用户所处的地区,若用户从未迁移,则之后每次服务请求也都从用户所处的地区就近接入,接收到服务请求后,服务请求经过业务网关到接入层、再到地区集群内的逻辑层以下都均是集群内的直筒型就近接入,不存在跨城的情形。当用户的位置发生变化时,例如,在业务功能上线期间,用户从上海迁移到了广州,那么用户对应的业务账号首次发出服务请求的位置是在上海,所以用户对应的业务账号所属地区也是上海,主存储也在上海的集群,此时用户迁移至广州后继续基于业务功能发出服务请求,通过网关就近接入会发送至广州的接入层(广州的接入交换机),并且继续就近接入路由至广州的集群的逻辑层,如此广州的集群的逻辑层往下的每次数据请求(逻辑服务层访问存储层)都会跨城发送至上海,多次跨城发送导致过多的耗时,基于此,本技术实施例提供包括路由中心的集群系统,使得本应该就近接入到广州的集群的服务请求直接跨城访问到上海的集群的逻辑层服务,服务请求路由至上海逻辑层后,在上海的集群内仍旧采取直筒型访问,因此整个请求响应流程中只在接入层存在一次跨城请求。
99.在一些实施例中,参见图6,路由中心用于解决频繁跨城问题,保证针对业务账号的服务请求最多只有一次跨城接入。路由中心与接入层一样也是三地部署。路由中心的主存储使用redis数据库。路由中心采用三级存储结构。在三级存储结构中,l3是根节点,l2是各个地区的同城节点,l1是服务的本地内存缓存。在调用路由控制工具向路由中心查询业务账号的归属地区时会从l1

l3进行逐层回源查询,如果直到回源至根节点也没有查询到
业务账号的归属地区,表征该服务请求对应的业务账号是首次接入集群系统以使用业务服务功能,此时需要记录下业务账号对应的用户实时所处的地区的地区信息,并将地区信息对应的集群信息写入路由中心的根节点和本地内存缓存,并会将集群信息作为路由信息广播至各地的redis数据库和各个服务器的本地内存缓存。另外,为了在异常情况下快速构建缓存,还可以将全量路由信息进行备份以形成持久化存储。路由中心要求调用方使用就近接入以及一致性哈希访问,因此,接入层交换机调用路由控制工具向处于相同地区的服务器的本地内存缓存查询业务账号的归属地区,从而接入层都访问到同城的本地缓存,而且保证了本地缓存的命中率。由此可见,路由中心的设计保证其具有高可用高性能的特点,路由中心的高可用性体现在多地容灾,路由中心的根节点、各地redis数据库以及各地的本地缓存都存储有全量路由信息,路由中心的高性能体现在查询时通常接入,老用户的业务账号查询时采取一致性哈希的方式就近接入,理论上所有服务请求对应的查询都访问同城节点,且绝大多数查询可以命中本地缓存,仿真测试时本地缓存的命中率高达92%,从而极大程度节约耗时,新用户的业务账号首次发出服务请求进行查询时只需要将实时所处的地区作为归属地区写入根节点和本地缓存成功后即返回,并且通过消息队列将业务账号的归属地区异步广播至路由中心的其它节点。
100.在一些实施例中,由于接入层所接收的服务请求类型众多,为降低后台开发成本,可以结合协议开发通用的sdk来访问路由中心,接入层调用通用sdk获取路由信息并注入到请求的头元信息里,请求头元信息会发送至集群中的下层服务,各服务按需取用即可,接入层并不干预集群内的处理过程。同时,由于路由信息是静态的,路由信息一旦生成就不会改变,sdk也可以对路由信息进行缓存以减少向路由中心进行查询的次数。
101.在一些实施例中,对于用户发出的跨城的服务请求,接入层交换机通过调用sdk将服务请求跨城发送至归属地区的集群,可以通过修改路由插件来实现。路由插件本身支持就近路由,即基于服务器所属机房的位置信息(区域/城市/机房)进行就近判断,例如,客户端对应的服务请求是经过广州某个机房发出的,如果集群系统开启就近路由功能,那么路由插件就根据广州这个地区信息优先访问服务端位于广州的机房。基于上述方式,当用户从上海迁移至广州,对应广州的接入层机器(接入交换机)需要将服务请求路由至到上海的集群中的逻辑层,只需要在路由插件里将原本对应广州的接入层机器的位置信息修改成与对应上海的逻辑层机器的位置信息一致,就可以实现从广州到上海的定向跨城访问。
102.在一些实施例中,用户首次接入时短时间内触发了两个请求,一次从广州接入,一次从上海接入,例如,偏远省份的用户可以随机从广州接入或者从上海接入,由于路由中心的本地缓存以及redis数据库中都还没有表征该用户的归属地区的地区信息,因此会并发对根节点进行读取处理,此时根节点里也没有表征该用户的归属地区的地区信息,第一个请求对根节点进行写入处理并且返回的地区信息为广州,第二次请求覆盖上一次结果并且返回的地区信息为上海,从而两次查询请求得到的地区信息不同,可能会同时写入两个集群的存储,从而造成脑裂。在访问根节点时,需要保证读和写操作在一个原子操作里,可以利用lua脚本保证原子性,在脚本中设置为先读后写,例如,第一个请求对根节点进行读取处理,在未读取到地区信息时进行写入处理,并且返回的地区信息为广州,在这个过程中无法进行第二次请求的读取,如果对根节点进行读取的时候,读取到地区信息,则直接返回读取到的地区信息,否则将地区信息进行写入并返回此次写入的地区信息。
103.通过本技术实施例提供的集群系统的数据处理方法,在长时间的仿真测试中具有稳定的服务请求响应速度,并且在仿真测试中模拟了跨区域服务请求频繁的业务场景,即便是应对瞬时突增的流量,整体服务未发生故障并且保持有较高的响应速度,从而在真实业务场景下可以保障用户社交的核心体验。
104.可以理解的是,在本技术实施例中,涉及到用户信息等相关的数据,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和中心的相关法律法规和标准。
105.下面继续说明本技术实施例提供的集群系统的数据处理装置255的实施为软件模块的示例性结构,在一些实施例中,集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在多个地区一一对应部署的多个接入交换机,如图2所示,存储在存储器250的集群系统的数据处理装置255中的软件模块可以包括:接收模块2551,用于通过接入交换机接收业务账号的服务请求,其中,服务请求的来源位置由接入交换机对应的接入地区管辖,接入地区是多个地区中的一个;查询模块2552,用于通过接入交换机向路由中心查询业务账号的归属地区,其中,归属地区是多个地区中的一个;路由模块2553,用于当查询到的归属地区与接入地区不同时,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理。
106.在一些实施例中,路由模块2553,还用于:当业务账号归属地区与接入地区相同时,通过接入交换机调用路由控制工具将服务请求路由至多个集群中对应接入地区的集群。
107.在一些实施例中,路由中心包括根节点、对应每个地区的路由存储数据库集群、以及对应每个地区的本地缓存;查询模块2552,还用于:通过接入交换机调用路由控制工具执行以下处理中任意一种:向对应接入地区的本地缓存查询业务账号的归属地区;当在路由中心的本地缓存未查询到业务账号的归属地区时,向对应接入地区的路由存储数据库集群查询业务账号的归属地区;当在对应接入地区的本地缓存未查询到业务账号的归属地区,且在对应接入地区的路由存储数据库集群未查询到业务账号的归属地区时,向路由中心的根节点查询业务账号的归属地区。
108.在一些实施例中,对应接入地区的本地缓存分布于多个第一存储器,查询模块2552,还用于:对业务账号进行哈希处理,得到对应业务账号的第一哈希处理结果;从多个第一存储器中确定对应第一哈希处理结果的目标第一存储器;在目标第一存储器中查询业务账号的归属地区。
109.在一些实施例中,查询模块2552,还用于:通过接入交换机调用路由控制工具执行以下处理:当在路由中心的根节点未查询到业务账号的归属地区时,确定服务请求是业务账号的首次服务请求,并将服务请求的接入地区确定为业务账号的归属地区。
110.在一些实施例中,查询模块2552,还用于:当服务请求是业务账号的首次服务请求时,通过接入交换机调用路由控制工具执行以下处理:将表征归属地区的地区信息写入路由中心的根节点、对应接入地区的路由存储数据库集群、以及对应接入地区的本地缓存;向对应其他地区的路由存储数据库集群以及路由中心的其他本地缓存广播地区信息;其中,其他地区是多个地区中除接入地区之外的地区,其他本地缓存是路由中心中除对应接入地区的本地缓存之外的本地缓存。
111.在一些实施例中,查询模块2552,还用于:对路由中心的根节点进行查询锁定处理;当路由中心的根节点处于查询锁定状态时,将表征归属地区的地区信息写入路由中心的根节点;其中,路由中心的根节点处于查询锁定状态表征路由中心的根节点不能被执行查询操作。
112.在一些实施例中,对应接入地区的本地缓存分布于多个第一存储器,查询模块2552,还用于:对业务账号进行哈希处理,得到对应业务账号的第一哈希处理结果;对多个第一存储器中每个第一存储器的机器标识进行哈希处理,得到对应每个第一存储器的第二哈希处理结果;将与第一哈希处理结果相邻,且大于第一哈希处理结果第二哈希处理结果对应的第一存储器确定为对应业务账号的目标第一存储器;将表征归属地区的地区信息写入目标第一存储器的本地缓存。
113.在一些实施例中,表征接入地区的地区信息是路由控制工具中的默认路由信息,路由模块2553,还用于:通过接入交换机调用路由控制工具执行以下处理:利用用于表征归属地区的地区信息对路由控制工具中的默认路由信息进行替换处理,得到服务请求的路由信息;将路由信息作为对应服务请求的头部信息;根据头部信息将服务请求路由至对应归属地区的集群中。
114.在一些实施例中,对应归属地区的集群包括部署逻辑服务的服务器,路由模块2553,还用于:当服务器处于不可用状态时,通过接入交换机将服务请求路由至对应其他地区的集群,以使对应其他地区的集群执行针对服务请求的响应处理,其中,其他地区是多个地区中除归属地区之外的地区。
115.在一些实施例中,对应归属地区的集群包括与归属地区对应的存储系统,存储系统包括与归属地区对应的主存储器、与归属地区对应的备用存储器、以及与其他地区对应的异地备用存储器,其他地区是多个地区中除归属地区之外的地区;路由模块2553,还用于:执行以下处理任意一种:当与归属地区对应的主存储器处于可用状态时,根据服务请求针对与归属地区对应的主存储器执行目标操作,得到对应服务请求的响应结果,其中,目标操作包括以下至少之一:读操作、写操作;当与归属地区对应的主存储器处于不可用状态时,根据服务请求针对与归属地区对应的备用存储器执行目标操作,得到对应服务请求的响应结果,其中,目标操作包括以下至少之一:读操作、写操作;当与归属地区对应的主存储器、以及与归属地区对应的备用存储器均处于不可用状态时,根据服务请求针对与其他地区对应的异地备用存储器执行读操作,得到对应服务请求的响应结果。
116.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本技术实施例上述的集群系统的数据处理方法。
117.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将被处理器执行本技术实施例提供的集群系统的数据处理方法,例如,如图3a-图3c示出的集群系统的数据处理方法。
118.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
119.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
120.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
121.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
122.综上所述,通过本技术实施例的接入交换机接收业务账号的服务请求,服务请求的来源位置由接入交换机对应的接入地区管辖,从而可以保证服务请求的就近接入,当业务账号的归属地区与接入地区不同时,表征存在跨区域访问的情形,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,以使对应归属地区的集群执行针对服务请求的响应处理,由于接入交换机直接将服务请求路由至对应归属地区的集群,从而保证后续处理过程均是在归属地区对应的集群内部完成的,控制了跨地区的数据传输次数,提高了服务请求的响应速度。
123.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。

技术特征:
1.一种集群系统的数据处理方法,其特征在于,所述集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在所述多个地区一一对应部署的多个接入交换机;所述方法包括:通过所述接入交换机接收业务账号的服务请求,其中,所述服务请求的来源位置处于所述接入交换机对应的接入地区管辖的范围内,所述接入地区是所述多个地区中的一个;通过所述接入交换机向所述路由中心查询所述业务账号的归属地区,其中,所述归属地区是所述多个地区中的一个;当查询到的所述归属地区与所述接入地区不同时,通过所述接入交换机将所述服务请求路由至所述多个集群中对应所述归属地区的集群,以使对应所述归属地区的集群执行针对所述服务请求的响应处理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述业务账号归属地区与所述接入地区相同时,通过所述接入交换机调用路由控制工具将所述服务请求路由至所述多个集群中对应所述接入地区的集群。3.根据权利要求1所述的方法,其特征在于,所述路由中心包括根节点、对应每个所述地区的路由存储数据库集群、以及对应每个所述地区的本地缓存;所述通过所述接入交换机向所述路由中心查询所述业务账号的归属地区,包括:通过所述接入交换机调用路由控制工具执行以下处理中任意一种:向对应所述接入地区的本地缓存查询所述业务账号的归属地区;当在所述路由中心的所述本地缓存未查询到所述业务账号的归属地区时,向对应所述接入地区的路由存储数据库集群查询所述业务账号的归属地区;当在对应所述接入地区的所述本地缓存未查询到所述业务账号的归属地区,且在对应所述接入地区的路由存储数据库集群未查询到所述业务账号的归属地区时,向所述路由中心的根节点查询所述业务账号的归属地区。4.根据权利要求3所述的方法,其特征在于,对应所述接入地区的本地缓存分布于多个第一存储器,所述向对应所述接入地区的本地缓存查询所述业务账号的归属地区,包括:对所述业务账号进行哈希处理,得到对应所述业务账号的第一哈希处理结果;从所述多个第一存储器中确定对应所述第一哈希处理结果的目标第一存储器;在所述目标第一存储器中查询所述业务账号的归属地区。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:通过所述接入交换机调用路由控制工具执行以下处理:当在所述路由中心的根节点未查询到所述业务账号的归属地区时,确定所述服务请求是所述业务账号的首次服务请求,并将所述服务请求的接入地区确定为所述业务账号的归属地区。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述服务请求是所述业务账号的首次服务请求时,通过所述接入交换机调用路由控制工具执行以下处理:将表征所述归属地区的地区信息写入所述路由中心的根节点、对应所述接入地区的路
由存储数据库集群、以及对应所述接入地区的本地缓存;向对应其他地区的路由存储数据库集群以及所述路由中心的其他本地缓存广播所述地区信息;其中,所述其他地区是所述多个地区中除所述接入地区之外的地区,所述其他本地缓存是所述路由中心中除对应所述接入地区的本地缓存之外的本地缓存。7.根据权利要求6所述的方法,其特征在于,所述将表征所述归属地区的地区信息写入所述路由中心的根节点,包括:对所述路由中心的根节点进行查询锁定处理;当所述路由中心的根节点处于查询锁定状态时,将表征所述归属地区的地区信息写入所述路由中心的根节点;其中,所述路由中心的根节点处于查询锁定状态表征所述路由中心的根节点不能被执行查询操作。8.根据权利要求6所述的方法,其特征在于,对应所述接入地区的本地缓存分布于多个第一存储器,所述将表征所述归属地区的地区信息写入对应所述接入地区的本地缓存,包括:对所述业务账号进行哈希处理,得到对应所述业务账号的第一哈希处理结果;对所述多个第一存储器中每个所述第一存储器的机器标识进行哈希处理,得到对应每个所述第一存储器的第二哈希处理结果;将与所述第一哈希处理结果相邻,且大于所述第一哈希处理结果第二哈希处理结果对应的第一存储器确定为对应所述业务账号的目标第一存储器;将表征所述归属地区的地区信息写入所述目标第一存储器的本地缓存。9.根据权利要求1所述的方法,其特征在于,表征所述接入地区的地区信息是所述路由控制工具中的默认路由信息,所述通过所述接入交换机将所述服务请求路由至所述多个集群中对应所述归属地区的集群,包括:通过所述接入交换机调用路由控制工具执行以下处理:利用用于表征所述归属地区的地区信息对所述路由控制工具中的默认路由信息进行替换处理,得到所述服务请求的路由信息;将所述路由信息确定为对应所述服务请求的头部信息;根据所述头部信息将所述服务请求路由至对应所述归属地区的集群中。10.根据权利要求1所述的方法,其特征在于,对应所述归属地区的集群包括部署逻辑服务的服务器,所述方法还包括:当所述服务器处于不可用状态时,通过所述接入交换机将所述服务请求路由至对应其他地区的集群,以使对应所述其他地区的集群执行针对所述服务请求的响应处理,其中,所述其他地区是所述多个地区中除所述归属地区之外的地区。11.根据权利要求1所述的方法,其特征在于,对应所述归属地区的集群包括与所述归属地区对应的存储系统,所述存储系统包括与所述归属地区对应的主存储器、与所述归属地区对应的备用存储器、以及与其他地区对应的异地备用存储器,其他地区是所述多个地区中除所述归属地区之外的地区;所述对应所述归属地区的集群执行针对所述服务请求的响应处理,包括:
执行以下处理任意一种:当与所述归属地区对应的主存储器处于可用状态时,根据所述服务请求针对与所述归属地区对应的主存储器执行目标操作,得到对应所述服务请求的响应结果,其中,所述目标操作包括以下至少之一:读操作、写操作;当与所述归属地区对应的主存储器处于不可用状态时,根据所述服务请求针对与所述归属地区对应的备用存储器执行目标操作,得到对应所述服务请求的响应结果,其中,所述目标操作包括以下至少之一:读操作、写操作;当与所述归属地区对应的主存储器、以及与所述归属地区对应的备用存储器均处于不可用状态时,根据所述服务请求针对与所述其他地区对应的异地备用存储器执行读操作,得到对应所述服务请求的响应结果。12.一种集群系统的数据处理装置,其特征在于,所述集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在所述多个地区一一对应部署的多个接入交换机;所述装置包括:接收模块,用于通过所述接入交换机接收业务账号的服务请求,其中,所述服务请求的来源位置处于所述接入交换机对应的接入地区管辖的范围内,所述接入地区是所述多个地区中的一个;查询模块,用于通过所述接入交换机向所述路由中心查询所述业务账号的归属地区,其中,所述归属地区是所述多个地区中的一个;路由模块,用于当查询到的所述归属地区与所述接入地区不同时,通过所述接入交换机将所述服务请求路由至所述多个集群中对应所述归属地区的集群,以使对应所述归属地区的集群执行针对所述服务请求的响应处理。13.一种电子设备,其特征在于,所述电子设备包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的集群系统的数据处理方法。14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至11任一项所述的集群系统的数据处理方法。15.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至11任一项所述的集群系统的数据处理方法。

技术总结
本申请提供了一种集群系统的数据处理方法、装置、电子设备、计算机程序产品及计算机可读存储介质;集群系统包括路由中心、在多个地区一一对应部署的多个集群、以及在多个地区一一对应部署的多个接入交换机;方法包括:通过接入交换机接收业务账号的服务请求,其中,服务请求的来源位置处于接入交换机对应的接入地区管辖的范围内,接入地区是多个地区中的一个;通过接入交换机向路由中心查询业务账号的归属地区,其中,归属地区是多个地区中的一个;当查询到的归属地区与接入地区不同时,通过接入交换机将服务请求路由至多个集群中对应归属地区的集群,对应归属地区的集群执行针对服务请求的响应处理。通过本申请,能够提高服务请求的响应速度。请求的响应速度。请求的响应速度。


技术研发人员:李轩 欧阳翅
受保护的技术使用者:腾讯科技(武汉)有限公司
技术研发日:2022.01.21
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐