CN114844951A - 请求处理方法、系统、设备、存储介质及产品 - Google Patents

请求处理方法、系统、设备、存储介质及产品 Download PDF

Info

Publication number
CN114844951A
CN114844951A CN202210429674.8A CN202210429674A CN114844951A CN 114844951 A CN114844951 A CN 114844951A CN 202210429674 A CN202210429674 A CN 202210429674A CN 114844951 A CN114844951 A CN 114844951A
Authority
CN
China
Prior art keywords
service
target
request
user
processing
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.)
Granted
Application number
CN202210429674.8A
Other languages
English (en)
Other versions
CN114844951B (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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte 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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202210429674.8A priority Critical patent/CN114844951B/zh
Publication of CN114844951A publication Critical patent/CN114844951A/zh
Application granted granted Critical
Publication of CN114844951B publication Critical patent/CN114844951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了请求处理方法、装置、设备、存储介质及产品。其中,该方法包括:业务处理服务在处理用户请求的过程中,检测到业务服务的调用事件被触发,通过同区域内的网关服务查询同区域内的请求转发服务的地址信息,基于地址信息和用户请求对应的目标用户标识,向请求转发服务发送业务服务的调用请求,请求转发服务根据目标用户标识确定对应的目标区域,通过网关服务查询目标区域中的目标业务服务的目标地址信息,基于目标地址信息和目标用户标识对目标业务服务进行调用,并向业务处理服务返回目标业务服务的调用结果。通过采用上述技术方案,可以兼顾数据一致性以及请求响应效率。

Description

请求处理方法、系统、设备、存储介质及产品
技术领域
本申请实施例涉及通信技术领域,尤其涉及请求处理方法、装置、设备、存储介质及产品。
背景技术
随着通信技术和互联网技术的快速发展,许多企业的业务范围不断扩大,用户数量不断增多,用户所覆盖的区域范围也越来越大,因此,需要在较大的地域范围内(如整个国家或者全球)跨区域部署服务。
在具体的业务场景中,来自不同区域的用户之间可以进行互动,一些业务服务需要保证数据的一致性,而想要保证数据强一致,一般会造成服务高延迟。目前,为了解决并发问题和数据同步延迟,通常将用户请求回源(可以理解为转发)至某个固定区域(如亚洲),由该固定区域的存储服务保证数据强一致性,然而,若某区域(如美洲)距离该固定区域较远,则该区域内的用户请求回源至上述固定区域的时延会较高,用户体验差,也影响整个业务系统的运行效率。
发明内容
本申请实施例提供了请求处理方法、装置、设备及存储介质,可以更加合理地对用户请求进行处理。
第一方面,本申请实施例提供了一种请求处理方法,应用于请求处理系统,所述请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,所述业务服务依赖于数据一致性,所述方法包括:
处于第一区域的第一业务处理服务在处理第一用户请求的过程中,检测到所述业务服务的调用事件被触发,通过所述第一区域内的第一网关服务查询所述第一区域内的第一请求转发服务的第一地址信息;
所述第一业务处理服务基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求;
所述第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,基于所述第一目标地址信息和所述第一目标用户标识对所述目标业务服务进行调用,并向所述第一业务处理服务返回所述目标业务服务的调用结果。
第二方面,本申请实施例提供了一种请求处理系统,用于执行本申请实施例提供的请求处理方法,所述请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,其中,所述业务服务依赖于数据一致性,业务处理服务中包括地址信息查询模块和调用请求发送模块,请求转发服务中包括服务调用模块;
所述地址信息查询模块,用于在处理第一用户请求的过程中,检测到所述业务服务的调用事件被触发,通过所属业务处理服务所处的第一区域内的第一网关服务查询所述第一区域内的第一请求转发服务的第一地址信息;
所述调用请求发送模块,用于基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求;
所述服务调用模块,用于根据所述第一目标用户标识确定对应的目标区域,通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,基于所述第一目标地址信息和所述第一目标用户标识对所述目标业务服务进行调用,并向所述第一业务处理服务返回所述目标业务服务的调用结果。
第三方面,本申请实施例提供了一种请求处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述请求处理设备被配置为本申请实施例提供的请求处理方法中的网关服务、业务处理服务、请求转发服务或业务服务,所述处理器执行所述计算机程序时实现如本申请实施例提供的请求处理方法中的相应步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例提供的请求处理方法中的相应步骤。
第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本申请实施例提供的请求处理方法中的相应步骤。
本申请实施例中提供的请求处理方案,应用于请求处理系统,请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,业务服务依赖于数据一致性,处于第一区域的第一业务处理服务在处理第一用户请求的过程中,检测到业务服务的调用事件被触发,通过第一区域内的第一网关服务查询第一区域内的第一请求转发服务的第一地址信息,第一业务处理服务基于第一地址信息和第一用户请求对应的第一目标用户标识,向第一请求转发服务发送业务服务的调用请求,第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,通过第一网关服务查询目标区域中的目标业务服务的第一目标地址信息,基于第一目标地址信息和第一目标用户标识对目标业务服务进行调用,并向第一业务处理服务返回目标业务服务的调用结果。通过采用上述技术方案,业务处理服务在处理用户请求的过程中,若需要对依赖于数据一致性的业务服务进行调用时,可以利用同区域的请求转发服务根据用户标识确定目标区域,对目标区域内的目标业务服务进行调用,可以更加灵活地确定所需调用的目标业务服务并获取到调用结果,而不是统一调用固定区域的业务服务,在一定程度上可提高用户请求的响应效率,且根据用户标识来确定目标区域,可以保证多次调用的区域一致性,进而保证数据一致性。
附图说明
图1为本申请实施例提供的一种请求处理系统的示意图;
图2为本申请实施例提供的一种请求处理方法的流程示意图;
图3为本申请实施例提供的又一种请求处理系统的示意图;
图4为本申请实施例提供的又一种请求处理方法的流程示意图;
图5为本申请实施例提供的一种基于请求处理方法实现的资源领取过程的时序图;
图6为本申请实施例提供的一种请求处理系统的结构框图;
图7为本申请实施例提供的一种请求处理设备的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。此外,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请实施例中提及的“第一”、“第二”等概念仅用于对不同的项目(如下文中的区域、业务处理服务、网关服务、请求转发服务、地址信息以及目标用户标识等)进行区分,并非限定不同项目之间的顺序或者相互依存关系。
图1为本申请实施例提供的一种请求处理系统的示意图。具体的,参考图1,该系统中可以包括网关服务101、业务处理服务102、请求转发服务103以及业务服务104,其中,网关服务101、业务处理服务102、请求转发服务103以及业务服务104均跨区域部署,具体的区域划分方式以及区域的总数量不做限定,图中仅以一个区域为例进行说明。例如,请求处理系统部署于全球的N个区域,则在其中每个区域中,均部署有至少一个网关服务、至少一个业务处理服务、至少一个请求转发服务以及至少一个业务服务。其中,业务服务依赖于数据一致性,具体的业务服务类型不做限定,例如可包括锁服务、库存控制服务以及频率限制服务等,这些服务需要保证系统内相关数据的全局一致性,以锁服务为例,假设系统中的业务逻辑需要保证某项虚拟资源单个用户只能获取一次,若该用户在任意一个区域中获取过一次,则需要加锁,防止并发情况下的多发,导致该用户可以从两个或更多的区域中获取多次,影响系统运行的准确性。
图2为本申请实施例提供的一种请求处理方法的流程示意图,该方法可以由请求处理装置执行,其中该装置可由软件和/或硬件实现,一般可集成在请求处理设备中。如图2所示,该方法包括:
步骤201、处于第一区域的第一业务处理服务在处理第一用户请求的过程中,检测到业务服务的调用事件被触发,通过第一区域内的第一网关服务查询第一区域内的第一请求转发服务的第一地址信息。
示例性的,第一区域可以是请求处理系统所覆盖的任意一个区域,第一业务处理服务为部署于第一区域中的业务处理服务,业务处理服务可以接收用户通过客户端等发起的用户请求,并进行相应的业务逻辑的处理,第一用户请求可以理解为第一业务处理服务当前接收到的用户请求。第一业务处理服务在处理第一用户请求的过程中,可能存在对业务服务进行调用的需求,如上述举例的锁服务,可能需要调用锁服务对当前用户的虚拟资源领取操作加锁,在检测到上述需求时,可认为检测到业务服务的调用事件被触发。
相关技术中,业务服务部署于固定区域,所有区域的业务处理服务在需要调用业务服务时,均需要到该固定区域对业务服务进行调用,在与该固定区域距离较远的业务处理服务发起调用时,会造成较长时间的等待,产生较高延时。
本申请实施例中,对业务服务进行跨区域部署,也即在多个区域均分别部署了业务服务,并新增了跨区域部署的请求转发服务和网关服务,在业务处理服务需要对业务服务进行调用时,可以由请求转发服务来确定具体调用哪个区域内的业务服务,相比于相关技术中均调用固定区域的业务服务的方案来说,在一定程度上可以降低延时。
具体的,第一业务处理服务通过第一区域内的第一网关服务进行服务寻址,查询第一区域内的第一请求转发服务的第一地址信息。网关服务可以基于网关集群实现,各请求转发服务可以预先在网关集群中进行注册,使得网关集群中可以存储各请求转发服务与地址信息的映射关系,进而向业务处理服务提供网关服务。示例性的,地址信息中可以包括网际协议(Internet Protocol,IP)地址和端口号(port)等。
可选的,若第一请求转发服务中包含多个请求转发服务节点,网关服务中可以存储各请求转发服务节点的地址信息构成的地址集合与所在区域的映射关系,在对第一请求转发服务进行寻址时,可以获取到第一请求转发服务对应的地址集合,按照同机房优先策略确定目标请求转发服务节点,将目标请求转发服务节点的地址信息确定为最终的第一地址信息。其中,同机房优先策略可以理解为当存在与第一业务处理服务部署于同一机房的请求转发服务节点的情况下,优先将该请求转发服务节点确定为目标请求转发服务节点。
步骤202、第一业务处理服务基于第一地址信息和第一用户请求对应的第一目标用户标识,向第一请求转发服务发送业务服务的调用请求。
示例性的,第一用户请求对应的第一目标用户标识可以是第一用户请求中携带的用户标识,还可以根据第一用户请求中携带的用户标识确定相关联的用户标识作为第一目标用户标识,具体不做限定,其中,用户标识可以记为uid。在经过寻址得到第一请求转发服务的第一地址信息后,第一业务处理服务可以根据第一地址信息来访问第一请求转发服务,向第一请求转发服务发送业务服务的调用请求,该调用请求中可以携带第一目标用户标识,使得第一请求转发服务可以根据第一目标用户标识对相应的业务服务进行调用。
步骤203、第一请求转发服务根据第一目标用户标识确定对应的目标区域,通过第一网关服务查询目标区域中的目标业务服务的第一目标地址信息,基于第一目标地址信息和第一目标用户标识对目标业务服务进行调用,并向第一业务处理服务返回目标业务服务的调用结果。
示例性的,可以预先设定各用户标识与区域之间的映射关系,第一请求转发服务可以通过查询该映射关系来确定当前的第一目标用户标识对应的目标区域。其中,该映射关系可以在用户注册时设定,例如,用户在客户端注册账号时,可以生成对应的用户标识,并提示用户选择自己所在区域,并建立用户标识和区域的对应关系。
可选的,所述第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,包括:所述第一请求转发服务根据所述第一目标用户标识获取对应的用户归属地信息,并根据所述用户归属地信息确定对应的目标区域。这样设置的好处在于,可以更加合理准确地确定目标区域,使得目标区域距离用户所在地区更近,进一步降低延迟。其中,用户归属地信息例如可以是用户所在国家、地区或城市等。可选的,目标区域为包含用户归属地信息中的归属地的区域。例如,用户归属地信息中的归属地为美国,目标区域可以是美洲区。
示例性的,各业务服务可以预先在网关集群中进行注册,使得网关集群中可以存储各业务服务与地址信息的映射关系,进而向请求转发服务提供网关服务。具体的,第一请求转发服务通过第一区域内的第一网关服务进行服务寻址,查询目标区域内的目标业务服务的第一目标地址信息。在得到第一目标地址信息后,第一请求转发服务通过第一目标地址信息访问目标业务服务,向目标业务服务发起调用请求,该调用请求中可以携带第一目标用户标识,目标业务服务向第一请求转发服务返回调用结果后,第一请求转发服务将调用结果转发给第一业务处理服务,使得第一业务处理服务完成对第一用户请求的业务处理。
本申请实施例中提供的请求处理方法,应用于请求处理系统,请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,业务服务依赖于数据一致性,处于第一区域的第一业务处理服务在处理第一用户请求的过程中,检测到业务服务的调用事件被触发,通过第一区域内的第一网关服务查询第一区域内的第一请求转发服务的第一地址信息,第一业务处理服务基于第一地址信息和第一用户请求对应的第一目标用户标识,向第一请求转发服务发送业务服务的调用请求,第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,通过第一网关服务查询目标区域中的目标业务服务的第一目标地址信息,基于第一目标地址信息和第一目标用户标识对目标业务服务进行调用,并向第一业务处理服务返回目标业务服务的调用结果。通过采用上述技术方案,业务处理服务在处理用户请求的过程中,若需要对依赖于数据一致性的业务服务进行调用时,可以利用同区域的请求转发服务根据用户标识确定目标区域,对目标区域内的目标业务服务进行调用,可以更加灵活地确定所需调用的目标业务服务并获取到调用结果,而不是统一调用固定区域的业务服务,在一定程度上可提高用户请求的响应效率,且根据用户标识来确定目标区域,可以保证多次调用的区域一致性,进而保证数据一致性。
在一些实施例中,所述通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,包括:通过所述第一网关服务查询所述目标区域中的目标业务服务的第一地址集合,其中,所述第一地址集合中包含所述目标业务服务中的各业务服务节点的地址信息;根据所述第一目标用户标识计算第一目标哈希值,并从所述第一地址集合中获取与所述第一目标哈希值相匹配的第一目标地址信息。这样设置的好处在于,可以保证同一用户的所有用户请求可以在同一业务服务节点完成相关处理,进一步保证数据一致性。
示例性的,每个区域中的同一个业务服务可以部署多个业务服务节点,网关服务中可以存储各业务服务节点的地址信息构成的地址集合与所在区域的映射关系,在对目标业务服务进行寻址时,可以通过网关服务获取到第一地址集合,根据第一目标用户标识计算第一目标哈希值,进而匹配对应的第一目标业务服务节点,该第一目标业务服务节点的地址信息即第一目标地址信息。
在一些实施例中,所述第一请求转发服务根据所述第一目标用户标识获取对应的用户归属地信息,包括:所述第一请求转发服务根据所述第一目标用户标识查询所述第一区域的存储服务中是否存在对应的用户归属地信息;若存在,则从所述第一区域的存储服务中获取所述第一目标用户标识对应的用户归属地信息;若不存在,则调用用户信息服务查询所述第一目标用户标识对应的用户归属地信息。这样设置的好处在于,可以在各区域的存储服务中对用户归属地信息进行缓存,从而在需要获取用户归属地信息时,优先查找本地存储服务,提高获取效率。
在本申请实施例中,存储服务可以用于存储用户标识和用户归属地信息的对应关系,还可用于存储其他数据,具体不做限定。用户信息服务可以理解为用于查询用户信息的服务,可以用于查找用户归属地信息,用户可以在注册账户时设定自己的归属地信息。需要说明的是,在使用本申请各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息(如用户归属地信息等)的类型、使用范围以及使用场景等告知用户并获得用户的授权。
在一些实施例中,发起所述第一用户请求的用户包含于用户群组,所述业务服务与所述用户群组相关联;其中,在所述第一业务处理服务基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求之前,还包括:所述第一业务处理服务根据所述用户群组中的群主用户的用户标识确定所述第一用户请求对应的第一目标用户标识。这样设置的好处在于,对于用户群组来说,其中可能包含来自不同区域的用户,根据群主用户的用户标识可以更加合理地确定第一目标用户标识,保证群组维度的数据一致性。
本申请实施例中,用户群组的具体形式不做限定。例如,用户群组可以是直播间,对应的群组用户可以是主播;又如,用户群组可以是游戏房间,对应的群组用户可以是房主;再如,用户群组可以是会话群组,对应的群组用户可以是创建会话的用户等。
以库存控制服务为例,库存额度可以以用户群组为单位进行配置,也即用户群组内的用户共享所属用户群组的库存,而不同用户群组之间的库存额度可以独立管理。为了便于保证库存数据的一致性,可以将群主用户视为所属用户群组的库存管理者,将群主用户的用户标识确定为第一目标用户标识,从而可以保证用户群组内的各用户发起用户请求时,都可以调用到同一区域的库存控制服务,保证库存数据的一致性。
在一些实施例中,发起所述第一用户请求的用户包含于用户群组,所述业务服务与所述用户群组相关联;其中,在所述第一业务处理服务基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求之前,还包括:所述第一业务处理服务基于归属地对所述用户群组中的各用户进行分类,得到至少一个用户集合,将用户数量最多的用户集合中的用户确定为目标用户,将所述目标用户的用户标识确定为所述第一用户请求对应的第一目标用户标识,其中,单个用户集合中的用户的归属地相同。这样设置的好处在于,对于用户群组来说,可以根据大多数用户的归属地来更加合理地确定第一目标用户标识,在保证群组维度的数据一致性的同时,降低群组内大多数用户的用户请求的响应时延。
示例性的,目标用户可以是单个用户,上述确定第一目标用户标识的步骤可以在用户群组创建完成后的预设时间内执行,在第一目标用户标识确定之后,一般不再重复进行第一目标用户标识的确定,若目标用户退出用户群组,可将与目标用户的归属地相同的用户更新为目标用户,并确定对应的第一目标用户标识,也即保证后续所调用的业务服务所属区域不变,保证数据一致性。
在一些实施例中,该还包括:处于第二区域的第二请求转发服务在接收到第二用户请求时,通过所述第二区域内的第二网关服务查询所述第二区域内的第二业务处理服务的第二地址集合,其中,所述第二地址集合中包含所述第二业务处理服务中的各业务处理服务节点的地址信息;所述第二请求转发服务根据所述第二用户请求对应的第二目标用户标识计算第二目标哈希值,并从所述第二地址集合中获取与所述第二目标哈希值相匹配的第二目标地址信息;所述第二请求转发服务基于所述第二目标地址信息向对应的业务处理服务节点转发所述第二用户请求。这样设置的好处在于,请求处理系统也可以复用为业务系统的网关层,在保证低延迟的同时,通过用户标识来将用户请求转发至同一个业务处理节点处理业务逻辑,丰富系统功能。
其中,第二区域可以是请求处理系统所覆盖的任意一个区域,可以与上述第一区域相同或不同。第二请求转发服务为部署于第二区域中的请求转发服务,第二网关服务为部署于第二区域中的网关服务。各业务处理服务可以预先在网关集群中进行注册,使得网关集群中可以存储各业务处理服务与地址信息的映射关系,进而向请求转发服务提供网关服务。
图3为本申请实施例提供的又一种请求处理系统的示意图,请求处理系统可以部署于全球的三个大洲,可包括亚洲区、欧洲区和美洲区。网关服务可以基于Kong集群实现,作为请求处理系统的网关和注册中心,Kong是一种高可用以及易扩展的应用程序编程接口(Application Programming Interface,API)网关(Gateway)项目,其可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个服务器,来应对大批量的网络请求。接入层可以理解为业务处理层,包含跨区域部署的业务处理服务,业务处理服务可以与具体的业务或活动相关,如全球游戏房间内的虚拟资源领取活动,全球直播间内的虚拟礼物赠送活动等等。全球回源服务可以理解为请求转发服务,同样部署于亚洲区、欧洲区和美洲区,每个区域内的全球回源服务中可以包括API服务、用户信息服务和存储服务。示例性的,全球回源服务可以使用SpringBoot框架实现,接入方采用Java语言开发时,可以采用Fegin调用,非Java语言可以采用http调用或brpcgw调用等,提高全球回源服务的适用范围。示例性的,存储服务可以基于Codis实现,Codis是一个分布式Redis解决方案,Redis(Remote Dictionary Server)全称为远程字典服务,是一个键值(key-value)存储系统,不同区域的存储服务之间保持数据同步。业务服务可包括跨区域部署的锁服务、库存服务和频率限制服务等。
图4为本申请实施例提供的又一种请求处理方法的流程示意图,本申请实施例在上述各可选实施例基础上进行优化,如图4所示,该方法可包括:
步骤401、处于第一区域的第一业务处理服务接收第一用户发起的第一用户请求。
其中,第一用户请求可以是直接发送至第一业务处理服务的用户请求,也可以是由第一区域的第一请求转发服务转发的用户请求。
步骤402、第一业务处理服务在处理第一用户请求的过程中,检测到业务服务的调用事件被触发,通过第一区域内的第一网关服务查询第一区域内的第一请求转发服务的第一地址信息。
其中,第一业务处理服务可以通过第一网关服务查询与第一业务处理服务部署于同机房的目标请求转发服务节点的地址信息,作为第一地址信息。
步骤403、第一业务处理服务判断业务服务是否与第一用户所属的用户群组相关联,若是,则执行步骤404;否则,执行步骤405。
示例性的,假设第一用户为某个游戏房间内的用户,第一用户请求为虚拟资源的获取请求。若当前需要调用的业务服务为库存服务,该库存服务负责对游戏房间的虚拟资源的库存进行管理,库存相关数据可以存放在房主所在大区内,则第一业务处理服务可以判断出库存服务与第一用户所属的游戏房间相关联,可以执行步骤404。假设第一用户想要获取的虚拟资源由业务逻辑设定每个用户仅限获取一次,当前需要调用的业务服务为锁服务,锁服务用于对用户获取虚拟资源的操作进行加锁,保证第一用户无法在不同区域进行多次获取,锁服务与游戏房间不存在关联,可以执行步骤405。
步骤404、第一业务处理服务将用户群组中的群主用户的用户标识确定为第一用户请求对应的第一目标用户标识,执行步骤406。
步骤405、第一业务处理服务根据将第一用户的用户标识确定为第一用户请求对应的第一目标用户标识。
步骤406、第一业务处理服务基于第一地址信息和第一用户请求对应的第一目标用户标识,向第一请求转发服务发送业务服务的调用请求。
步骤407、第一请求转发服务根据第一目标用户标识获取对应的用户归属地信息,并根据用户归属地信息确定对应的目标区域。
示例性的,第一业务处理服务可以先判断本机房Codis中是否缓存有第一目标用户标识对应的用户归属地信息,若存在,则可直接获取用户归属地信息,并确定对应的目标区域,若不存在,则可通过调用用户信息服务查询用户归属地信息,在查询到之后,将所查询到的第一目标用户标识对应的用户归属地信息存入本机房Codis中。
步骤408、第一请求转发服务通过第一网关服务查询目标区域中的目标业务服务的第一地址集合,根据第一目标用户标识计算第一目标哈希值,并从第一地址集合中获取与第一目标哈希值相匹配的第一目标地址信息。
示例性的,第一地址集合中的各地址信息对应存储有节点序号,采用预设哈希算法计算第一目标用户标识与目标区域中业务服务节点总数量相除后的余数,得到第一目标哈希值,根据第一目标哈希值选择相应序号的地址信息作为第一目标地址信息。
步骤409、第一请求转发服务基于第一目标地址信息和第一目标用户标识对目标业务服务进行调用,并向第一业务处理服务返回目标业务服务的调用结果。
示例性的,第一请求转发服务可以通过fegin等方式回源至用户归属地所在区域的业务服务进行相关处理,如上述的加锁操作或对库存进行更新等,并向业务处理服务返回处理结果。
图5为本申请实施例提供的一种基于请求处理方法实现的资源领取过程的时序图,用户向业务A发起领取资源请求,业务A调用作为代理的回源服务(请求转发服务)获取锁,回源服务从存储服务中查询用户归属地,若缓存中不存在,则向用户信息服务查询用户协议获取用户归属地并写入缓存,向回源服务返回用户归属地,回源服务回源至用户归属地所在大区进行加锁,并接收锁服务返回的锁结果,将锁结果返回业务A,业务A在确定锁成功的情况下向用户发放资源并返回领取结果,若锁失败,向用户返回失败的领取结果。
步骤410、处于第二区域的第二请求转发服务在接收到第二用户发起的第二用户请求时,通过第二区域内的第二网关服务查询第二区域内的第二业务处理服务的第二地址集合。
其中,第二地址集合中包含第二业务处理服务中的各业务处理服务节点的地址信息。
步骤411、第二请求转发服务根据第二用户请求对应的第二目标用户标识计算第二目标哈希值,并从第二地址集合中获取与第二目标哈希值相匹配的第二目标地址信息。
示例性的,将第二用户的用户标识确定为第二用户请求对应的第二目标用户标识。第二目标哈希值的计算方式可以与第一目标哈希值的计算方式相似,此处不再赘述。
步骤412、第二请求转发服务基于第二目标地址信息向对应的业务处理服务节点转发第二用户请求。
示例性的,第二目标地址信息向对应的业务处理服务节点在接收到第二请求转发服务转发的第二用户请求后,针对第二用户请求进行相应的业务处理,并将处理结果返回第二请求转发服务,由第二请求转发服务对第二用户侧的客户端进行响应。
本申请实施例提供的请求处理方法,请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,可以将各服务集成到请求转发服务下,方便对各服务进行统一管理,可降低维护成本和新需求的开发成本,请求转发服务根据用户归属地对服务的调用请求进行转发,可以在保证数据一致性的前提下,解决部分全球服务的高延迟问题,且请求转发服务可作为业务系统的统一网关层,支持在全球范围内通过用户标识哈希到同一节点处理业务逻辑,降低大区间依赖,提高服务可用性。
图6为本申请实施例提供的一种请求处理系统的结构框图,该装置可由软件和/或硬件实现,可通过执行请求处理方法来对请求进行处理。如图6所示,该系统包括:跨区域部署的网关服务610、业务处理服务620、请求转发服务630以及依赖于数据一致性的业务服务640,其中,业务处理服务中包括地址信息查询模块621和调用请求发送模块622,请求转发服务中包括服务调用模块631;
所述地址信息查询模块621,用于在处理第一用户请求的过程中,检测到所述业务服务的调用事件被触发,通过所属业务处理服务所处的第一区域内的第一网关服务查询所述第一区域内的第一请求转发服务的第一地址信息;
所述调用请求发送模块622,用于基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求;
所述服务调用模块631,用于根据所述第一目标用户标识确定对应的目标区域,通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,基于所述第一目标地址信息和所述第一目标用户标识对所述目标业务服务进行调用,并向所述第一业务处理服务返回所述目标业务服务的调用结果。
本申请实施例中提供的请求处理系统,业务处理服务在处理用户请求的过程中,若需要对依赖于数据一致性的业务服务进行调用时,可以利用同区域的请求转发服务根据用户标识确定目标区域,对目标区域内的目标业务服务进行调用,可以更加灵活地确定所需调用的目标业务服务并获取到调用结果,而不是统一调用固定区域的业务服务,在一定程度上可提高用户请求的响应效率,且根据用户标识来确定目标区域,可以保证多次调用的区域一致性,进而保证数据一致性。
本申请实施例提供了一种请求处理设备,该请求处理设备中可被配置为本申请实施例提供的请求处理方法中的网关服务、业务处理服务、请求转发服务或业务服务。图7为本申请实施例提供的一种请求处理设备的结构框图。请求处理设备700包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序,所述处理器702执行所述计算机程序时实现本申请实施例提供的请求处理方法中的相应步骤。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请实施例提供的请求处理方法中的相应步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现如本申请实施例提供的请求处理方法中的相应步骤。
上述实施例中提供的请求处理系统、设备、存储介质以及产品可执行本申请任意实施例所提供的请求处理方法中的相应步骤,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的请求处理方法。
注意,上述仅为本申请的较佳实施例。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求范围决定。

Claims (10)

1.一种请求处理方法,其特征在于,应用于请求处理系统,所述请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,所述业务服务依赖于数据一致性,所述方法包括:
处于第一区域的第一业务处理服务在处理第一用户请求的过程中,检测到所述业务服务的调用事件被触发,通过所述第一区域内的第一网关服务查询所述第一区域内的第一请求转发服务的第一地址信息;
所述第一业务处理服务基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求;
所述第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,基于所述第一目标地址信息和所述第一目标用户标识对所述目标业务服务进行调用,并向所述第一业务处理服务返回所述目标业务服务的调用结果。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,包括:
通过所述第一网关服务查询所述目标区域中的目标业务服务的第一地址集合,其中,所述第一地址集合中包含所述目标业务服务中的各业务服务节点的地址信息;
根据所述第一目标用户标识计算第一目标哈希值,并从所述第一地址集合中获取与所述第一目标哈希值相匹配的第一目标地址信息。
3.根据权利要求1所述的方法,其特征在于,所述第一请求转发服务根据所述第一目标用户标识确定对应的目标区域,包括:
所述第一请求转发服务根据所述第一目标用户标识获取对应的用户归属地信息,并根据所述用户归属地信息确定对应的目标区域。
4.根据权利要求3所述的方法,其特征在于,所述第一请求转发服务根据所述第一目标用户标识获取对应的用户归属地信息,包括:
所述第一请求转发服务根据所述第一目标用户标识查询所述第一区域的存储服务中是否存在对应的用户归属地信息;
若存在,则从所述第一区域的存储服务中获取所述第一目标用户标识对应的用户归属地信息;
若不存在,则调用用户信息服务查询所述第一目标用户标识对应的用户归属地信息。
5.根据权利要求1所述的方法,其特征在于,发起所述第一用户请求的用户包含于用户群组,所述业务服务与所述用户群组相关联;
其中,在所述第一业务处理服务基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求之前,还包括:
所述第一业务处理服务根据所述用户群组中的群主用户的用户标识确定所述第一用户请求对应的第一目标用户标识;或者,
所述第一业务处理服务基于归属地对所述用户群组中的各用户进行分类,得到至少一个用户集合,将用户数量最多的用户集合中的用户确定为目标用户,将所述目标用户的用户标识确定为所述第一用户请求对应的第一目标用户标识,其中,单个用户集合中的用户的归属地相同。
6.根据权利要求1所述的方法,其特征在于,还包括:
处于第二区域的第二请求转发服务在接收到第二用户请求时,通过所述第二区域内的第二网关服务查询所述第二区域内的第二业务处理服务的第二地址集合,其中,所述第二地址集合中包含所述第二业务处理服务中的各业务处理服务节点的地址信息;
所述第二请求转发服务根据所述第二用户请求对应的第二目标用户标识计算第二目标哈希值,并从所述第二地址集合中获取与所述第二目标哈希值相匹配的第二目标地址信息;
所述第二请求转发服务基于所述第二目标地址信息向对应的业务处理服务节点转发所述第二用户请求。
7.一种请求处理系统,其特征在于,包括:用于执行权利要求1-6任一所述的请求处理方法,所述请求处理系统包括跨区域部署的网关服务、业务处理服务、请求转发服务以及业务服务,其中,所述业务服务依赖于数据一致性,业务处理服务中包括地址信息查询模块和调用请求发送模块,请求转发服务中包括服务调用模块;
所述地址信息查询模块,用于在处理第一用户请求的过程中,检测到所述业务服务的调用事件被触发,通过所属业务处理服务所处的第一区域内的第一网关服务查询所述第一区域内的第一请求转发服务的第一地址信息;
所述调用请求发送模块,用于基于所述第一地址信息和所述第一用户请求对应的第一目标用户标识,向所述第一请求转发服务发送所述业务服务的调用请求;
所述服务调用模块,用于根据所述第一目标用户标识确定对应的目标区域,通过所述第一网关服务查询所述目标区域中的目标业务服务的第一目标地址信息,基于所述第一目标地址信息和所述第一目标用户标识对所述目标业务服务进行调用,并向所述第一业务处理服务返回所述目标业务服务的调用结果。
8.一种请求处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述请求处理设备被配置为如权利要求1-6任一项所述的请求处理方法中的网关服务、业务处理服务、请求转发服务或业务服务,所述处理器执行所述计算机程序时实现如权利要求1-6任一项所述的请求处理方法中的相应步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的请求处理方法中的相应步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的请求处理方法中的相应步骤。
CN202210429674.8A 2022-04-22 2022-04-22 请求处理方法、系统、设备、存储介质及产品 Active CN114844951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210429674.8A CN114844951B (zh) 2022-04-22 2022-04-22 请求处理方法、系统、设备、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210429674.8A CN114844951B (zh) 2022-04-22 2022-04-22 请求处理方法、系统、设备、存储介质及产品

Publications (2)

Publication Number Publication Date
CN114844951A true CN114844951A (zh) 2022-08-02
CN114844951B CN114844951B (zh) 2024-03-19

Family

ID=82565499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210429674.8A Active CN114844951B (zh) 2022-04-22 2022-04-22 请求处理方法、系统、设备、存储介质及产品

Country Status (1)

Country Link
CN (1) CN114844951B (zh)

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647335A (zh) * 2011-02-22 2012-08-22 中国移动通信集团公司 一种数据路由方法、装置和系统
CN103609147A (zh) * 2012-10-25 2014-02-26 华为技术有限公司 集群通信系统、集群服务器、接入网络以及集群通信方法
US20170187578A1 (en) * 2015-12-29 2017-06-29 Alibaba Group Holding Limited System and method for acquiring, processing and updating global information
CN107370805A (zh) * 2017-07-12 2017-11-21 广州市百果园信息技术有限公司 业务处理方法和装置、业务处理系统
CN109522118A (zh) * 2018-11-08 2019-03-26 珠海格力电器股份有限公司 一种业务处理方法、装置、服务器及可读存储介质
US20190095293A1 (en) * 2016-07-27 2019-03-28 Tencent Technology (Shenzhen) Company Limited Data disaster recovery method, device and system
CN110336753A (zh) * 2019-06-19 2019-10-15 腾讯科技(深圳)有限公司 一种跨网络区域的服务调用方法、装置、设备及存储介质
CN110769038A (zh) * 2019-10-09 2020-02-07 腾讯科技(深圳)有限公司 服务器调度方法及装置、存储介质、电子设备
CN110837499A (zh) * 2018-08-16 2020-02-25 阿里巴巴集团控股有限公司 数据访问处理方法、装置、电子设备和存储介质
CN110876118A (zh) * 2018-08-31 2020-03-10 中兴通讯股份有限公司 组业务处理、组业务区域配置的方法及装置
CN111381832A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 自动化部署控制方法、装置、计算机设备及存储介质
CN111464592A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于微服务的负载均衡方法、装置、设备及存储介质
CN111787079A (zh) * 2020-06-19 2020-10-16 广州市百果园信息技术有限公司 基于通信群组的通信方法、装置、服务器、系统及介质
CN111953811A (zh) * 2020-08-07 2020-11-17 腾讯科技(深圳)有限公司 站点访问方法、站点注册方法、装置、设备及存储介质
CN112015744A (zh) * 2020-08-18 2020-12-01 广州市百果园信息技术有限公司 配置数据访问方法、装置、设备、配置中心及存储介质
US20210036957A1 (en) * 2017-09-28 2021-02-04 Ping An Technology (Shenzhen) Co., Ltd. Methods and devices for optimizing load balancing based on cloud monitoring
EP3806412A1 (en) * 2019-10-09 2021-04-14 EMnify GmbH Multi-layered distributed gtp-c processing
CN113364691A (zh) * 2021-05-31 2021-09-07 广州趣丸网络科技有限公司 一种数据交互系统、方法、设备和存储介质
US20210377326A1 (en) * 2020-05-28 2021-12-02 Wangsu Science & Technology Co., Ltd. Method, apparatus, device and storage medium for pushing video stream
CN114095557A (zh) * 2022-01-21 2022-02-25 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
CN114153927A (zh) * 2021-11-26 2022-03-08 百果园技术(新加坡)有限公司 用户关系链存储方法、装置、系统、电子设备及存储介质
CN114172967A (zh) * 2021-12-14 2022-03-11 广州市百果园网络科技有限公司 媒体服务器分配方法、装置、设备及存储介质
CN114356575A (zh) * 2022-01-06 2022-04-15 上海幻电信息科技有限公司 用户请求处理方法及装置

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647335A (zh) * 2011-02-22 2012-08-22 中国移动通信集团公司 一种数据路由方法、装置和系统
CN103609147A (zh) * 2012-10-25 2014-02-26 华为技术有限公司 集群通信系统、集群服务器、接入网络以及集群通信方法
US20170187578A1 (en) * 2015-12-29 2017-06-29 Alibaba Group Holding Limited System and method for acquiring, processing and updating global information
US20190095293A1 (en) * 2016-07-27 2019-03-28 Tencent Technology (Shenzhen) Company Limited Data disaster recovery method, device and system
CN107370805A (zh) * 2017-07-12 2017-11-21 广州市百果园信息技术有限公司 业务处理方法和装置、业务处理系统
US20210036957A1 (en) * 2017-09-28 2021-02-04 Ping An Technology (Shenzhen) Co., Ltd. Methods and devices for optimizing load balancing based on cloud monitoring
CN110837499A (zh) * 2018-08-16 2020-02-25 阿里巴巴集团控股有限公司 数据访问处理方法、装置、电子设备和存储介质
CN110876118A (zh) * 2018-08-31 2020-03-10 中兴通讯股份有限公司 组业务处理、组业务区域配置的方法及装置
CN109522118A (zh) * 2018-11-08 2019-03-26 珠海格力电器股份有限公司 一种业务处理方法、装置、服务器及可读存储介质
CN111381832A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 自动化部署控制方法、装置、计算机设备及存储介质
CN110336753A (zh) * 2019-06-19 2019-10-15 腾讯科技(深圳)有限公司 一种跨网络区域的服务调用方法、装置、设备及存储介质
CN110769038A (zh) * 2019-10-09 2020-02-07 腾讯科技(深圳)有限公司 服务器调度方法及装置、存储介质、电子设备
US20220046732A1 (en) * 2019-10-09 2022-02-10 Emnify Gmbh Multi-layered distributed gtp-c processing
EP3806412A1 (en) * 2019-10-09 2021-04-14 EMnify GmbH Multi-layered distributed gtp-c processing
CN111464592A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于微服务的负载均衡方法、装置、设备及存储介质
US20210377326A1 (en) * 2020-05-28 2021-12-02 Wangsu Science & Technology Co., Ltd. Method, apparatus, device and storage medium for pushing video stream
CN111787079A (zh) * 2020-06-19 2020-10-16 广州市百果园信息技术有限公司 基于通信群组的通信方法、装置、服务器、系统及介质
CN111953811A (zh) * 2020-08-07 2020-11-17 腾讯科技(深圳)有限公司 站点访问方法、站点注册方法、装置、设备及存储介质
CN112015744A (zh) * 2020-08-18 2020-12-01 广州市百果园信息技术有限公司 配置数据访问方法、装置、设备、配置中心及存储介质
WO2022037359A1 (zh) * 2020-08-18 2022-02-24 百果园技术(新加坡)有限公司 配置数据访问方法、装置、设备、配置中心及存储介质
CN113364691A (zh) * 2021-05-31 2021-09-07 广州趣丸网络科技有限公司 一种数据交互系统、方法、设备和存储介质
CN114153927A (zh) * 2021-11-26 2022-03-08 百果园技术(新加坡)有限公司 用户关系链存储方法、装置、系统、电子设备及存储介质
CN114172967A (zh) * 2021-12-14 2022-03-11 广州市百果园网络科技有限公司 媒体服务器分配方法、装置、设备及存储介质
CN114356575A (zh) * 2022-01-06 2022-04-15 上海幻电信息科技有限公司 用户请求处理方法及装置
CN114095557A (zh) * 2022-01-21 2022-02-25 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
""23502-h40_CRs_Implemented_SA_approved_CRs"", 3GPP TSG_SA\\WG2_ARCH, 22 March 2022 (2022-03-22) *
LUZHOUXIAOSHUAI: ""多机房部署:跨地域的分布式系统如何做?"", Retrieved from the Internet <URL:https://www.cnblogs.com/kebibuluan/p/13361244.html> *
YONGPENG SHI; YUJIE XIA; YA GAO: ""Joint Gateway Selection and Resource Allocation for Cross-Tier Communication in Space-Air-Ground Integrated IoT Networks"", 《 IEEE ACCESS 10.1109/ACCESS.2020.3047891》, 29 December 2020 (2020-12-29) *
李京: "归属家区-移动通信中的区域计费解决方案", 现代电信科技, no. 012, 31 December 2000 (2000-12-31) *
江磊;: "基于MSTP网络的跨区广域网设计", 现代传输, no. 01, 15 February 2011 (2011-02-15) *
胡宏娟: ""异地多活之架构与存储研究"", 《江苏通信》, 15 June 2021 (2021-06-15) *

Also Published As

Publication number Publication date
CN114844951B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
US10374955B2 (en) Managing network computing components utilizing request routing
CN110278284B (zh) 一种服务调用方法及装置
CN110928709B (zh) 一种微服务框架下的服务调用方法、装置及服务器
CN103905572B (zh) 域名解析请求的处理方法及装置
WO2021004528A1 (zh) 应用实例的地址获取方法、装置、设备及存储介质
CN109151009B (zh) 一种基于mec的cdn节点分配方法和系统
US20130311424A1 (en) Distributed database
CN106991008B (zh) 一种资源锁管理方法、相关设备及系统
CN110049503B (zh) 一种获取数据的方法和设备
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
WO2015039475A1 (zh) 一种域名解析方法、服务器及系统
US20220318071A1 (en) Load balancing method and related device
US20240137269A1 (en) Method for instantiating edge application server and apparatus
CN111901705A (zh) 一种olt设备的omci功能虚拟化系统
CN113645304A (zh) 数据服务处理方法及相关设备
US9760370B2 (en) Load balancing using predictable state partitioning
CN107786594B (zh) 业务请求处理方法及装置
CN108494870B (zh) 基于cdn的动态数据加载方法及装置
CN107770203B (zh) 一种服务请求转发方法、装置及系统
US8402124B1 (en) Method and system for automatic load balancing of advertised services by service information propagation based on user on-demand requests
CN114844951B (zh) 请求处理方法、系统、设备、存储介质及产品
CN111314500A (zh) 一种确定访问地址的方法及装置
CN114025023B (zh) 回源方法、装置、设备及计算机可读存储介质
CN112910796B (zh) 流量管理方法、装置、设备、存储介质以及程序产品
CN114006915A (zh) 资源请求方法、装置、设备及计算机可读存储介质

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