CN115878853A - 请求的处理方法、装置、电子设备及存储介质 - Google Patents
请求的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115878853A CN115878853A CN202110898325.6A CN202110898325A CN115878853A CN 115878853 A CN115878853 A CN 115878853A CN 202110898325 A CN202110898325 A CN 202110898325A CN 115878853 A CN115878853 A CN 115878853A
- Authority
- CN
- China
- Prior art keywords
- processing system
- hierarchical processing
- target
- layer
- request
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种请求的处理方法、装置、电子设备及存储介质,请求处理系统包括至少两个分层处理系统,数据层用于存储所在分层处理系统所对应地区的业务数据;接入层用于接收所在分层处理系统所对应地区的客户端发起的请求;该方法包括:在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,第一分层处理系统中的路由层在至少两个分层处理系统中,确定处理请求的目标业务层所在的目标分层处理系统;第一分层处理系统中的路由层将请求路由到目标分层处理系统中的目标业务层,以使目标业务层从目标分层处理系统中的目标数据层中获取对应的业务数据,并对请求进行处理;本方案在保证业务数据隔离的基础上,实现了请求的有效处理。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种请求的处理方法、装置、电子设备及存储介质。
背景技术
通用数据保护条例(General Data Protection Regulation,GDPR)规定了企业和实体应该采取措施保护欧盟公民的数据。因此,在各业务场景下,为了满足GDPR的要求,需要进行业务数据的隔离存储,那么如何在保证业务数据隔离存储的基础上有效对请求进行处理是现有技术中亟待解决的技术问题。
发明内容
鉴于上述问题,本申请实施例提出了一种请求的处理方法、装置、电子设备及存储介质,以改善上述问题。
根据本申请实施例的一个方面,提供了一种请求的处理方法,应用于请求处理系统中的第一分层处理系统,所述请求处理系统包括至少两个分层处理系统,所述第一分层处理系统是所述至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;所述分层处理系统包括接入层、路由层、业务层和数据层;所述数据层用于存储所在分层处理系统所对应地区的业务数据;所述接入层用于接收所在分层处理系统所对应地区的客户端发起的请求;该方法包括:在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统;所述第一地区是指所述第一分层处理系统所对应的地区;所述第一分层处理系统中的路由层将所述请求路由到所述目标分层处理系统中的所述目标业务层,以使所述目标业务层从所述目标分层处理系统中的目标数据层中获取对应的业务数据,并对所述请求进行处理。
根据本申请实施例的一个方面,提供了一种请求的处理装置,应用于请求处理系统中的第一分层处理系统,所述请求处理系统包括至少两个分层处理系统,所述第一分层处理系统是所述至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;所述分层处理系统包括接入层、路由层、业务层和数据层;所述数据层用于存储所在分层处理系统所对应地区的业务数据;所述接入层用于接收所在分层处理系统所对应地区的客户端发起的请求;所述装置包括:目标分层处理系统确定模块,用于在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统;所述第一地区是指所述第一分层处理系统所对应的地区;路由模块,用于所述第一分层处理系统中的路由层将所述请求路由到所述目标分层处理系统中的所述目标业务层,以使所述目标业务层从所述目标分层处理系统中的目标数据层中获取对应的业务数据,并对所述请求进行处理。
在本申请的一些实施例中,基于前述方案,目标分层处理系统确定模块包括:目标路由策略确定单元,用于所述第一分层处理系统中的路由层根据所述请求的属性信息,确定所述属性信息对应的目标路由策略;目标分层处理系统确定单元,用于所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统。
在本申请的一些实施例中,基于前述方案,所述目标路由策略包括根据请求携带的传参标记进行路由;目标分层处理系统确定单元,包括:传参标记获取单元,用于所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求携带的传参标记;第一确定单元,用于将所述传参标记所指示的地区对应的分层处理系统,确定为所述目标分层处理系统。
在本申请的另一些实施例中,基于前述方案,所述目标路由策略指示根据请求访问的域名进行路由;目标分层处理系统确定单元,包括:目标域名获取单元,用于所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求所请求访问的目标域名;第二确定单元,用于将所述目标域名所属地区对应的分层处理系统,确定为所述目标分层处理系统。
在本申请的另一些实施例中,基于前述方案,所述目标路由策略指示根据注册地进行路由;目标分层处理系统确定单元,包括:注册地信息获取单元,用于所述第一路由层根据所述目标路由策略获取所述客户端的注册地信息;第三确定单元,用于将所述注册信息所指示注册地所属地区对应的分层处理系统确定为所述目标分层处理系统。
在本申请的另一些实施例中,基于前述方案,所述目标路由策略指示根据请求携带的索引信息进行路由;目标分层处理系统确定单元,包括:目标索引信息获取单元,用于所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求携带的目标索引信息;地区查询单元,用于根据所述目标索引信息进行地区查询,确定目标地区;第四确定单元,用于将所述目标地区所对应的分层处理系统确定为所述目标分层处理系统。
在本申请的一些实施例中,基于前述方案,请求的处理装置还包括:请求分类确定模块,用于所述第一分层处理系统中的路由层在缓存的非敏感信息中查询获得所述请求的属性信息。
在本申请的一些实施例中,基于前述方案,请求的处理装置还包括:待处理的请求获取模块,用于所述第一分层处理系统中的业务层获取待处理的请求,所述待处理的请求来源于所述第一分层处理系统中的路由层或者来源于除所述第一分层处理系统外的其他分层处理系统中的路由层;目标服务确定模块,用于根据所述待处理请求在所述第一分层处理系统的业务层中确定目标服务,所述目标服务用于处理所述待处理的请求;处理模块,用于由所述目标服务根据从所述第一分层处理系统的数据层中所获取到的业务数据,对所述待处理的请求进行处理。
在本申请的一些实施例中,基于前述方案,所述目标服务包括嵌套调用的至少两级子目标服务;所述至少两级子目标服务包括上一级子目标服务和下一级子目标服务,所述下一级子目标服务还部署于第二分层处理系统中的业务层,所述第二分层处理系统是所述至少两个分层处理系统中除所述第一分层处理系统外的至少一个其他分层处理系统;在该实施例中,处理模块,包括:第一数据查询单元,用于所述上一级子目标服务调用所述第一分层处理系统中的所述下一级子目标服务和所述第二分层处理系统中的所述下一级子目标服务在对应的数据层中进行数据查询,获得对应的查询结果;第一处理单元,用于由所述上一级子目标服务根据所述第一分层处理系统中的所述下一级子目标服务返回的查询结果和所述第二分层处理系统中的所述下一级子目标服务返回的查询结果,对所述待处理的请求进行处理。
在本申请的一些实施例中,基于前述方案,所述目标服务还部署在第三分层处理系统中的业务层,所述第三分层处理系统是所述至少两个分层处理系统中除所述第一分层处理系统外的至少一个其他分层处理系统;在该实施例中,处理模块,包括:第二数据查询单元,用于所述第一分层处理系统中的目标服务在所述第一分层处理系统中的数据层中进行数据查询;第三数据查询单元,用于若第一分层处理系统中的目标服务在所述第一分层处理系统中的数据层中未查询到对应的业务数据,则通过所述第一分层处理系统中业务层的目标服务调用所述第三分层处理系统中的目标服务进行数据查询,获得对应的查询结果;第二处理单元,用于由所述目标业务层中的目标服务根据所述查询结果对所述请求进行处理。
在本申请的一些实施例中,基于前述方案,所述分层处理系统还包括协议转换层;在该实施例中,请求的处理装置还包括:协议转换模块,用于所述第一分层处理系统中的协议转换层对所述请求进行协议转换。
根据本申请实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述请求的处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述请求的处理方法。
在本申请的方案中,通过将请求处理系统中的各分层处理系统按地区进行部署,一地区对应一分层处理系统,将各地区对应的业务数据存储于该地区所对应分层处理系统的数据层中,有效实现了业务数据的隔离;而且,各分层处理系统中的接入层接收该分层处理系统所对应地区的客户端发起的请求,便于进行集群管理。除此之外,在各分层处理系统中业务层的上层部署路由层,通过路由层来进行请求的准确路由,一方面,通过路由层来建立了各分层处理系统之间的关联,可以有效保证在需要跨区访问的情况下请求的有效处理;另一方面,由于通过位于业务层上层的路由层来进行请求的准确路由,保证了请求转发的准确性,避免出现因跨区访问的请求超时,可以有效保证请求处理的及时性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的技术方案的实施环境的示意图。
图2是根据本申请一些实施例示出的请求处理系统的架构图。
图3示出了相关技术中请求处理系统的架构图。
图4是根据本申请的一些实施例示出的请求的处理方法的流程图。
图5是根据本申请一些实施例示出的步骤410的流程图。
图6是根据本申请一具体实施例示出的路由策略的部署示意图。
图7是根据本申请另一实施例示出的请求的处理方法的流程图。
图8是根据本申请一些实施例示出的步骤730的流程图。
图9是根据本申请的一些实施例示出的在两个分层处理系统的业务层之间进行服务双查的示意图。
图10是根据本申请另一些实施例示出的步骤730的流程图。
图11是根据本申请一具体实施例示出的在两个分层处理系统的业务层之间进行服务跨地区查询的示意图。
图12是根据本申请一实施例示出的请求的处理装置的框图。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在进行具体说明之前,对本文中涉及的术语进行如下解释。
GDPR(General Data Protection Regulation,通用数据保护条例):该条例规定了企业和实体应该采取何种措施保护欧盟公民的数据,任何收集、传输、保留或处理涉及到欧盟所有成员国内的个人信息的机构组织均受该条例的约束。
图1示出了可以应用本申请实施例的技术方案的实施环境的示意图。如图1所示,该实施环境包括终端110和服务器120,终端110和服务器120通过有线或者无线网络建立通信连接。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端110可以运行客户端应用程序,从而该终端110中的客户端与服务器120进行交互。客户端应用程序可以是即时通信应用程序、支付应用程序、购物应用程序、游戏应用程序、云端会议等,在此不进行具体限定。
服务器120为终端110中的客户端提供服务。在本申请的方案中,终端110中客户端所发起的请求,例如语音通信请求、信息查询请求等,由服务器120按照本申请的方法对请求进行处理,并将请求处理结果返回到终端110。
图2是根据本申请一些实施例示出的请求处理系统的架构图,该请求处理系统可以部署于图1中的服务器120。图2中示例性示出了请求处理系统中的两个分层处理系统(分层处理系统I和分层处理系统II),当然,在其他实施了中,请求处理系统所包括分层处理系统的数量并不限于两个,还可以是3个、4个等其他数量,具体可根据实际需要设定,例如视所划分地区的数量而定。
其中,每一分层处理系统对应一地区。在具体实施例中,进行地区划分的原则可以根据实际需要进行选定,例如,按照国家进行地区划分,则对应的,每个国家所在的区域为一地区,又例如,在同一国家内,例如在中国,还可以按照省份进行地区划分,一个或者多个省份所在的区域为一地区;又例如,针对某一国家的企业提供的应用,还可以将全球的区域划分为该国家所在的区域(可以称为国内地区)和该国家以外的区域(可以称为海外地区)。当然,以上仅仅是示例性举例,不能认为是对本申请使用范围的限制。可以理解的是,所划分地区的数量与请求处理系统中分层处理系统的数量是相同的,实现在一地区部署一分层处理系统,保证一地区唯一对应一分层处理系统。
如图2所示,每个分层处理系统(分层处理系统I、分层处理系统II)包括接入层210、协议转换层220、路由层230、业务层240、数据层250、业务组件层260和平台工具270。
接入层210负责接入所在分层处理系统所对应地区的客户端的请求,并对请求的合法性进行校验,而不做业务逻辑处理。之后该接入层210将客户端的请求转发到下层的协议转换层220。其中,客户端可以是基于多种操作系统的客户端,操作系统可以是mac OS、Windows、IOS、Android等,在此不进行具体限定。在图2中,分层处理系统I对应的地区为A地区,分层处理系统II对应的地区为B地区。从而,分层处理系统I的接入层接收A地区的客户端发起的请求(即图示中A地区的请求),分层处理系统II的接入层接收B地区的客户端发起的请求(即图示中B地区的请求)。
在该架构下,由于每一分层处理系统中的接入层仅接收该分层处理系统所对应地区的客户端发起的请求,实现了将发起请求的域名进行隔离,各个地区的客户端所发起的请求不会耦合在一起,便于进行集群管理。
协议转换层220用于将请求进行协议转换。若所接收到的请求不是分层处理系统所支持的协议,则通过该协议转换层220将请求转换为分层处理系统所支持的协议。在一些大型服务架构系统中,系统内部一般使用RPC(Remote Procedure Call,远程过程调用)协议调用内部服务,对外提供的是非RPC协议(如HTTP(Hyper Text Transfer Protocol,超文本传输协议)等),在该种情况下,由协议转换层220将非RPC协议的请求转换成对应的RPC协议的请求。当然,在其他实施例中,还可以是其他协议之间的转换,具体视所使用的协议而定。在完成协议转换后,将协议转换后的请求转发到所在分层处理系统中的路由层230。可以理解的是,系统向外发送的信息,例如针对请求的处理结果,该协议转换层220还用于将请求的处理的结果按照该系统对外所使用协议进行协议转换,以转换为该系统对外所提供协议。
可以理解的是,在一些应用场景下,若系统内部使用的协议与外部使用的协议是一致的,则不需要部署协议转换层进行协议转换。
路由层230负责将请求路由到能够处理该请求的业务层中,换言之,该路由层能够将请求路由到所在分层处理系统中的业务层中,也可以是将该请求路由到除所在分层处理系统外的其他分层处理系统的业务层中。可以理解的,由于业务层中部署在多个分层处理系统中,因此,该路由层230是先确定可以处理该请求的业务层所在的分层处理系统(即为下文中的目标分层处理系统),然后对应将该请求路由到目标分层处理系统中的业务层中。
在本申请的一些实施例中可以将路由层和协议转换层的服务集成在一起,从而调用链路,提高代码复用性。
业务层240用于进行业务处理,负责为到来的请求提供对应的服务,并通过与数据层的交互来实现业务。可以理解的是,转发到一业务层240的请求可以是来自于该业务层240所在分层处理系统中的路由层,也可以是来源于其他分层处理系统中的路由层。
数据层250,用于存储业务数据,以满足业务需求。在本申请的方案中,每一地区的业务数据存储于该地区对应的分层处理系统中的数据层,从而实现按地区进行业务数据的隔离存储,以满足GDPR的规定。在本申请的一些实施例中,该业务数据可以是GDPR所规定的敏感数据,例如用户的个人信息、个人创作的未公开的作品等。可以理解的是,一分层处理系统中的数据层仅限于该分层处理系统中的业务层进行访问,而其他分层处理系统业务层不能直接访问该分层处理系统中的数据层。
在数据层中,可以通过数据库(Database)来存储对应地区的业务数据。数据库可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
业务组件层260以及平台工具270主要是负责对业务层提供支持,如日志、监控、配置下发等,为开发、运营等提供问题排查、变更配置等服务;平台工具270可以是可视化平台工具、运维工具、运营工具等,在此不进行具体限定。
在图2所示的架构下,由于在各个分层处理系统中部署了路由层,从而,通过该路由层来建立了不同分层处理系统之间的关联,从而,在保证数据隔离的基础上,也保证可以进行跨地区访问(即一地区的客户端可以属于其他地区的业务数据)。而且,业务层与数据层的交互不受数据隔离的影响,可以保证请求处理的及时性,可以有效避免因数据隔离所导致请求延时处理的问题。
图2所示的系统架构可以通过相关技术中请求处理系统的已有架构进行改造得到。图3示出了相关技术中请求处理系统的架构图。如图3所示,该系统架构图包括接入层210、协议转换层220、业务层240、数据层250业务组件层260和平台工具270。
基于图3所示的系统架构,按照GDPR的规定,可以先将各个地区的业务数据进行隔离,即按地区存储;然后,将图3所示的系统架构进行异地部署,即在每个地区部署如图3所示的系统,并将各个地区的业务数据迁移到为该地区所部署的系统中的数据层中;最后,对应在异地部署的系统中部署路由层。可以理解的是,在各个地区所部署图3所示的系统以及在系统中新增部署路由层后的系统即为本申请方案中的分层处理系统,全部地区的分层处理系统即形成本申请方案中的请求处理系统。
在基于图3所示的请求处理系统构建得到图2所示的请求处理系统后,图2所示的一分层处理系统的接入层仅接收来自该分层处理系统所对应地区的客户端的请求,因此,该分层处理系统至少用于处理所对应地区的请求,避免了请求的跨地区接入。而且,由于在各个分层处理系统中部署了路由层,在进行数据隔离后,可以保证客户端的请求准确路由到对应地区的业务层中进行处理。一方面,可以保证在数据隔离前后,对于客户端所在用户而言,是无感知的,保证可以正常为用户提供服务;另一方面,请求处理系统中各个分层处理系统中,在各个业务层的上层部署了路由层,因此,不管是一地区的客户端需要访问其他地区的业务数据、还是后台访问一地区的业务数据推送到其他地区的客户端,均不存在跨地区访问数据层的情况(即一分层处理系统中的业务层访问另一分层处理系统中的数据层),保证满足GDPR的规定。
而且,由于在分层处理系统中增加部署了路由层,可以避免在业务层中增加大量的兼容逻辑。举例来说,若请求处理系统为提供云端会议相关服务,在该种应用场景下,会议过程中生成的数据会存在在多个地区的数据库中,那么,在进行会议数据查询的情况下,需要在第一次查询不到的情况下,向另一个地区发起查询,并且后续所有查询都需要这样去查询。从而,为了实现该功能,需要在业务层中增加实现该功能(即在一个地区的业务数据中查询不到所需要的数据的情况下,转向其他地区的业务数据中进行查询)的业务代码。如果这样的话,则需要在业务层中部署大量的冗余代码。而在本申请所提供的请求处理系统的各个分层处理系统中,由于在业务层的上层部署了路由层,通过路由层来确定请求被转发至的目标业务层,因此,在下层的业务层不需要进行地区判断即可完成查询,对应的,也不需要在业务层中部署大量的兼容逻辑。
举例来说,若一个请求是需要查询一个用户的会议列表,该用户为B地区的用户,由于处于上层的路由层会对请求进行地区判断,即判断处理该请求的业务处理层对应的地区(即该业务处理层所在分层处理系统对应的地区),那么,在将该请求路由到对应的业务层后,业务层中具体负责查询的服务就不需要再次进行判断是在哪一地区的数据库进行数据查询。
在申请的方案中由于将分层处理系统按照地区分别部署,而且,由位于业务层上层的路由层进行路由,对于业务层和数据层来说,业务层和数据层中所生成的日志也相当于敏感信息,例如业务层中的服务访问数据层中的业务数据生成的日志、以及业务层中的服务进行处理所产生的日志等,从而,在该种部署下,对于一分层处理系统(假设为分层处理系统X1)而言,即使该分层处理系统X1中的业务层所获取到的请求是来源于分层处理系统X2的路由层,而在分层处理系统X1的业务层在对请求进行处理期间所生成的日志仍然会保存在分层处理系统X1的数据层中,而不会保存在分层处理系统X2中。因此,按照本方案请求处理系统的部署,可以有效保证数据的隔离,满足GDPR的要求。
本方案通过分层处理系统中的路由层进行请求的准确路由,可以有效避免因未进行地区判断将请求转发到业务层后,导致请求在不同地区的业务层之间的多次转发造成跨地区交互时间长的情况,因此,本申请的方案,可以明显减少跨地区交互的时间,有效减少出现请求处理超时情况的发生。
由上可以看出,本申请所提供的请求处理系统对可以在现有技术中的请求处理系统的基础上进行简单改造得到,不需要在业务层部署大量的兼容逻辑,不涉及对业务层在代码层面上的改动,而且,改造工作量较小,保证所得到的请求处理系统满足GDPR的规定,满足数据隔离的要求,而且可以保证请求的及时处理。
图4是根据本申请的一个实施例示出的请求的处理方法的流程图,该方法可以由具备处理能力的计算机设备执行,例如服务器等,在此不进行具体限定。该方法应用于请求处理系统中的第一分层处理系统,请求处理系统包括至少两个分层处理系统,第一分层处理系统是至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;分层处理系统包括接入层、路由层、业务层和数据层;数据层用于存储所在分层处理系统所对应地区的业务数据;接入层用于接收所在分层处理系统所对应地区的客户端发起的请求。如图4所示,该方法至少包括:
步骤410,在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,第一分层处理系统中的路由层在至少两个分层处理系统中,确定处理请求的目标业务层所在的目标分层处理系统;第一地区是指第一分层处理系统所对应的地区。
第一地区的客户端是指归属于第一地区的客户端。客户端所归属的地区可以根据该客户端所在用户的用户注册地区来确定,即若一客户端所在用户的注册地区为A地区,则该客户端所归属的地区为A地区。客户端所归属的地区还可以根据该客户端的应用程序的地区版本来确定。举例来说,若一应用程序针对不同地区,提供了多个地区版本的客户端应用程序,在该该种应用场景下,将该客户端所属地区版本对应的地区确定为该客户端所属的地区。
客户端所发起的请求视该客户端面向用户所提供的服务不同而可能存在差异,例如,若客户端为提供云会议的应用的客户端,则客户端所发起的请求可以是会议申请请求、会议加入请求、会议记录查询请求等,若客户端为即时通信应用的客户端,则客户端所发起的请求可以是好友查询请求、好友添加请求、即时会话请求、会话记录查询请求等,在此不进行具体限定。
在本申请的一些实施例中,分层处理系统还包括协议转换层;例如图2所示的分层处理系统,在该实施例中,步骤410之前,该方法还包括:第一分层处理系统中的协议转换层对请求进行协议转换。在将请求进行协议转换后,该第一分层处理系统中的协议转换层将协议转换后的请求转发到该第一分层处理系统中的路由层。可以理解的是,若分层处理系统内部所使用的通信协议与外部的通信协议一致,则分层处理系统中可以不用部署协议转换层。
在本申请的一些实施例中,还可以将协议转换的功能集成到路由层中,从而,接入层在接收到请求后,将该请求转发到路由层中,然后由路由层先对该请求进行协议转换,然后再将该请求路由到对应的目标业务层中。
针对请求所确定的目标分层处理系统可以是第一分层处理系统,也可以是请求处理系统中除第一分层处理系统外的其他分层处理系统。目标业务层是指所确定目标分层处理系统中的业务层。
在本申请的一些实施例中,可以在服务中增加地区标记字段,该地区标记字段用户指示该服务所在业务层对应的地区。当请求指示了所要调用的服务的情况下,根据请求所指示调用服务对应的地区标记字段来确定用来处理该请求的目标业务层所在的目标分层处理系统,即将该地区标记字段所指示的地区对应的分层处理系统确定为目标分层处理系统。
在本申请的一些实施例中,可以在路由层中预先设置路由策略,从而,各分层处理系统中的路由层根据所预先设置的路由策略来确定用于处理一请求的目标业务层所在的目标分层处理系统。其中,在路由层中设置的路由策略可以是一种也可以是多种,在此不进行具体限定。
在本申请的一些实施例中,若在路由层中设置的路由策略是多种,还可以进一步根据请求来确定所用的路由策略。如图5所示,步骤410进一步包括:步骤510,第一分层处理系统中的路由层根据请求的属性信息,确定属性信息对应的目标路由策略;步骤520,第一分层处理系统中的路由层根据目标路由策略,在至少两个分层处理系统中确定处理请求的目标业务层所在的目标分层处理系统。
在本实施例中,在路由层中设置多种路由策略的基础上,并对应设定属性信息与路由策略之间的映射关系,从而,在路由层获取到一请求后,该路由层在确定该请求的属性信息后,将该请求的属性信息相映射的路由策略作为目标路由策略,并按照该目标路由策略确定处理该请求的目标业务层所在的目标分层处理系统。
路由策略可以包括下文中的:根据请求携带的传参标记进行路由、请求访问的地址进行路由、根据客户端的注册地区进行路由、请求携带的索引信息进行路由中的一种或者多种,当然,路由策略不仅限于此,在其他应用场景下,还可以包括更多或者更少的路由策略,具体可根据实际需要、以及请求处理系统所提供的服务来设定。
请求的属性信息可以是请求所来源的地区、该请求来源客户端的用户注册地信息、与请求所要访问业务数据相关的地区信息(例如发起会议的地区信息)等,在不同的应用场景下,请求的属性信息可能存在差异。
在本申请的一些实施例中,步骤510之前,该方法还包括:第一分层处理系统中的路由层在缓存的非敏感信息中查询获得请求的属性信息。
在本申请的一些实施例中,可以部署分布式缓存,在路由层本地缓存非敏感信息,非敏感信息可以是会议的ID、发起会议的用户的地区、客户端所在用户所属的地区等。举例来说,缓存中所存储的非敏感信息的形式可以是:将会议ID作为key、或者用户的用户ID作为key,将客户端所在用户所属的地区作为value进行关联存储。在此基础上,由于请求中可能携带用户ID、或者会议ID,则可以根据会议ID或者用户ID查询到用户所属的地区(即请求的属性信息)。
在本申请的一些实施例中,目标路由策略包括根据请求携带的传参标记进行路由;步骤520,包括:第一分层处理系统中的路由层按照目标路由策略,获取请求携带的传参标记;将传参标记所指示的地区对应的分层处理系统,确定为目标分层处理系统。
请求所携带的传参标记用于指示地区,所指示的地区可以是该请求所来源客户端所在的地区,也可以是处理该请求的目标业务层所在的分层处理系统所对应的地区。
在具体实施例中,可以在各个客户端的请求中加入公参,所加入的公参作为传参标记。传参标记可以包括传参字段和传参字段的值,传参字段的值用于指示地区。在路由层接收到请求后,将获取请求中所携带的传参标记中传参字段的值,根据传参字段的值来确定传参标记所指示的地区。举例来说,传参标记可以是district=0或district=1,“district”为传参字段,等号后面的数字即为传参字段的值。若设定传参字段的值为0,表示指示A地区,传参字段的值为1,表示指示B地区;则若一请求中的传参标记为district=0,可以对应确定由A地区对应的分层处理系统对该请求进行处理;若传参标记为district=1,则对应确定由B地区对应的分层处理系统对该请求进行处理。
在本实施例的方案中,通过在请求中附加传参标记,从而便于路由层快速针对一请求确定处理该请求的目标分成处理系统所在的目标分层处理系统。
在本申请的另一些实施例中,目标路由策略指示根据请求访问的域名进行路由;步骤520进一步包括:第一分层处理系统中的路由层按照目标路由策略,获取请求所请求访问的目标域名;将目标域名所属地区对应的分层处理系统,确定为目标分层处理系统。
在请求指示了所请求访问的域名(即目标域名)的情况下,由于域名是与地区相关的,即一域名是归属于一地区的,在进行数据隔离存储的基础上,一地区对应的业务数据是存储在该地区对应的分层处理系统中的数据层中的。请求访问一域名,则一般用于处理该请求的数据会存储在对应地区的数据层中,因此,在本方案中,将请求所请求访问的目标域名所属的地区对应的分层处理系统确定为目标分层处理系统。
在本申请的另一些实施例中,目标路由策略指示根据注册地进行路由;在该实施例中,步骤520包括:第一路由层根据目标路由策略获取客户端的注册地信息;将注册信息所指示注册地所属地区对应的分层处理系统确定为目标分层处理系统。
客户端的注册地信息是指该客户端所在用户的注册地信息。客户端的注册地信息可以是根据该客户端的程序地区版本来确定的,即将该客户端的程序地区版本所对应的地区作为该客户端的注册地信息。该客户端的注册地信息也可以是用户在注册时输入的用户地址。
在一些应用场景下,业务数据存储是按照用户的注册地进行存储,那么,对应的,如果进行数据隔离,也是按照用户的注册地进行对应业务数据的隔离。在该种情况下,对应需要按照注册地确定存储与该用户相关业务数据的数据层所对应的地区。
在本申请的另一些实施例中,目标路由策略指示根据请求携带的索引信息进行路由;步骤520,包括:第一分层处理系统中的路由层按照目标路由策略,获取请求携带的目标索引信息;根据目标索引信息进行地区查询,确定目标地区;将目标地区所对应的分层处理系统确定为目标分层处理系统。
在本申请的一些实施例中,该请求所携带的索引信息可以是能够索引所请求业务数据所对应地区的信息,例如,索引信息可以是会议的地区标识。
在本申请的一些实施例中,可以根据索引信息在缓存的非敏感信息中进行地区查询确定目标地区。举例来说,若客户端为云会议应用的客户端,假设一请求为加入会议的请求,该请求携带的会议ID可以作为目标索引信息,根据该会议ID在缓存的信息中查询确定申请该会议ID的用户所在的地区,将所查询到申请该会议ID的用户所在的地区确定为目标地区,将目标地区所对应的分层处理系统确定为该分层处理系统。
在本申请的一些实施例中,可以根据索引信息与数据层交互进行地区查询来确定目标地区。换言之,通过请求所携带的索引信息请求数据层查询该请求所请求访问业务数据所对应的地区,即目标地区,然后将目标地区所对应的分层处理系统确定为目标分层处理系统。
图6是根据本申请一具体实施例示出的路由策略的部署示意图。图6中示例性示出了两个分层处理系统(分层处理系统X1和分层处理系统X2)。在图6中,通过各分层处理系统中的路由层中的路由模块来确定将请求所要路由到的目标分层处理系统。如图6所示,路由模块中设置的路由策略包括四种,即:接口I所提供的路由策略-按照客户端携带的传参标记进行路由;接口II所提供的路由策略-根据所请求访问的域名进行路由;接口III所提供的路由策略-根据客户端所在用户的注册地路由;接口IV所提供的路由策略-根据请求携带的索引信息进行路由。在图6中示例性示出了各个分层处理系统的业务层部署的服务,即服务T1和服务T2,不能认为是对本申请使用范围的限制。在图6中所部署的多种路由策略的基础上,可以按照上述的实施例,按照请求的属性信息来进行确定目标路由策略,然后按照目标路由策略将请求进行路由。
请继续参阅图4,步骤420,第一分层处理系统中的路由层将请求路由到目标分层处理系统中的目标业务层,以使目标业务层从目标分层处理系统中的目标数据层中获取对应的业务数据,并对请求进行处理。
如上所描述,目标分层处理系统与第一分层处理系统可以是同一分层处理系统,也可以是不同的分层处理系统。如果目标分层处理系统与第一分层处理系统是不同的分层处理系统,则目标分层处理系统中的目标业务层对请求进行处理得到对应的处理结果后,对应将该处理结果返回到第一分层处理系统中的路由层,由第一分层处理系统将请求的处理结果返回到发起该请求的客户端。
在本申请的方案中,通过将请求处理系统中的各分层处理系统按地区进行部署,一地区对应一分层处理系统,将各地区对应的业务数据存储于该地区所对应分层处理系统的数据层中,有效实现了业务数据的隔离;而且,各分层处理系统中的接入层接收该分层处理系统所对应地区的客户端发起的请求,便于进行集群管理。除此之外,在各分层处理系统中业务层的上层部署路由层,通过路由层来进行请求的准确路由,一方面,通过路由层来建立了各分层处理系统之间的关联,可以有效保证在需要跨区访问的情况下请求的有效处理;另一方面,由于通过位于业务层上层的路由层来进行请求的准确路由,保证了请求转发的准确性,避免出现因跨区访问的请求超时,可以有效保证请求处理的及时性。
而且,本申请所提供的请求处理系统可以在现有技术中的请求处理系统上进行简单改造得到,即将现有技术中请求处理系统按地区进行异地部署,然后将需要隔离的数据迁移到所对应地区的数据层中,并在系统中部署路由层。在该过程中,由于在各分层处理系统中新增部署路由层来进行请求的准确路由,而不需要在业务层中来进行请求的路由,不需要在业务层中部署复杂的兼容逻辑,对业务层的改动小,也不涉及对其他层的改动,因此,本方案所提供的请求处理系统,可以直接在现有的请求处理系统的基础上进行快速部署和独立维护,以使重新部署的请求处理系统满足数据的隔离要求,例如满足GDPR法令的规定。由于请求处理系统中各分层处理系统按地区部署,后续可以进行各地区的分层处理系统的迭代独立维护。
在本申请的方案中,由于在各分层处理系统中业务层的上层部署了路由层,所部署的路由层建立了不同分层处理层之间的关联,因此,可以避免因分层处理系统按地区异地部署导致不同分层处理系统中的业务层(以及数据层)之间彼此不感知的问题,因此,即使是请求处理系统的后台需要进行信息推送的场景下,也可以对应调用各分层处理系统中的业务层中的服务在对应的数据层中获取数据进行推送,也就是说,本申请所提供的请求处理系统可以保证后台在数据层中进行数据查询并进行异地推送。
也就是说,本申请提供的请求处理系统可以实现多种业务场景:a.一地区的客户端用户通过所在地区的分层处理系统访问该分层处理系统的数据层中的业务数据;b.一地区的客户端用户通过所在地区的分层处理系统访问其他地区的分层处理系统中数据层的业务数据;c.后台访问一地区的分层处理系统的数据层中业务数据向该地区的客户端进行推送;d.后台访问一地区的分层处理系统中的数据层的业务数据向其他地区的客户端推送。
在本申请的一些实施例中,如图7所示,该方法还包括:
步骤710,第一分层处理系统中的业务层接收待处理的请求,待处理的请求来源于第一分层处理系统中的路由层或者来源于除第一分层处理系统外的其他分层处理系统中的路由层。
在本申请的一些实施例中,第一分层处理系统的业务层所接收到待处理的请求可以是各个客户端发起的请求转发到路由层后,由路由层转发到第一分层处理系统中的业务层;所接收的待处理的请求还可以是请求处理系统后台发起的请求经各分层处理系统中的路由层路由到业务层中的。
步骤720,根据待处理请求在第一分层处理系统的业务层中确定目标服务,目标服务用于处理待处理的请求。
在各个业务层中部署了一种或者多种服务,通过业务层中所部署的服务来对请求进行处理。所部署的服务例如可用于处理登录请求的账号服务、可用于处理会议加入的会控服务、可用于查询会议的查询服务等,在此不进行具体限定。
在本申请的一些实施例中,请求可以携带索要调用服务的服务标识信息,因此,基于该请求所携带的服务标识信息来确定处理该请求的目标服务。
在本申请的一些实施例中,业务层中部署了请求的分配逻辑,因此,基于该请求的分配逻辑来确定用于处理该待处理的请求的目标服务。
步骤730,由目标服务根据从第一分层处理系统的数据层中所获取到的业务数据,对待处理的请求进行处理。
位于同一分层处理系统中的业务层可以访问数据层中的业务数据,因此,在确定目标服务后,该目标服务可以根据请求中携带的入参(例如会议ID)等,在数据层中进行数据查询,获得对应的业务数据。因此,在确定目标服务的基础上,通过目标服务根据所获取到的业务数据,对待处理的请求进行处理,获得对应的处理结果。可以理解的是,在得到对应的处理结果后,将该处理结果返回到该待处理的请求的发起方。
通过如上的过程,各个分层处理系统中的业务层可以处理来自于同一分层处理系统的路由层的请求(即待处理的请求)也可以处理来自于其他分层处理系统的路由层的请求。
在本申请的一些实施例中,目标服务包括嵌套调用的至少两级子目标服务;至少两级子目标服务包括上一级子目标服务和下一级子目标服务,下一级子目标服务还部署于第二分层处理系统中的业务层,第二分层处理系统是至少两个分层处理系统中除第一分层处理系统外的至少一个其他分层处理系统。在该实施例中,如图8所示,步骤730,包括:
步骤810,上一级子目标服务调用第一分层处理系统中的下一级子目标服务和第二分层处理系统中的下一级子目标服务在对应的数据层中进行数据查询,获得对应的查询结果。
步骤820,由上一级子目标服务根据第一分层处理系统中的下一级子目标服务返回的查询结果和第二分层处理系统中的下一级子目标服务返回的查询结果,对待处理的请求进行处理。
在一些场景下,所请求查询的数据可能存储于多个数据层中,例如,若要查询一用户的全量好友信息,该用户的好友可能包括多个地区的用户。在该种情况下,可以按照本实施例所提供的方案,由上一级子目标服务调用至少两个分层处理系统中的下一级子目标服务在对应的数据层中进行数据查询,进而由上一级子目标服务根据在至少两个分层处理系统返回的查询结果对该待处理的请求进行处理。
可以理解的是,目标服务所包括至少两级子目标服务可以是超过两级的子目标服务,若子目标服务的级数超过两级,则针对两个具有嵌套调用关系的两级子目标服务,均可以将被调用的子目标服务作为下一级子目标服务,将发起调用的子目标服务作为上一级子目标服务,按照上述的过程对待处理的请求进行处理。
在本实施例中,实现了在分层处理系统的业务层中服务在多个分层处理系统的业务层中进行服务双查。在该种情况下,可以针对需要在多个分层处理系统的数据层中查询的情况,可以在一分层处理系统中的业务层中的服务进行改造,以部署向其他分层处理系统的业务层的服务调用逻辑。可以理解的是,在增加向其他分层处理系统的服务调用逻辑的情况下,一分层处理系统的数据层也是由该分层处理系统的业务层中的服务进行访问的,不存在一分层处理系统的业务层中的服务访问另一分层处理系统的数据层的情况,即不存在服务跨地区访问业务数据的情况。
图9是根据本申请的一些实施例示出的在两个分层处理系统的业务层之间进行服务双查的示意图。如图9所示,两个分层处理系统(分层处理系统X1和分层处理系统X2)的业务层中均设有嵌套调用的两级子目标服务,具体的,在图9中,该两级子目标服务中的上一级子目标服务为服务T1,该两级目标服务中的下一级子目标服务为服务T2。
如图9所示,若分层处理系统X1中的服务T1需要服务T2的全量数据(例如查询某一个用户下的全量好友列表的详情)时,由分层处理系统X1中的服务T1调用分层处理系统X1中的服务T2在分层处理系统X1的数据层中进行数据查询,和调用分层处理系统X2中的服务T2在分层处理系统X2的数据层中进行数据查询,分别得到对应的查询结果;然后由分层处理系统X1中的服务T1根据分层处理系统X1中的服务T2返回的查询结果和分层处理系统X2中的服务T2返回的查询结果,对该待处理的请求进行处理。
同理,若分层处理系统X2中的服务T1需要服务T2的全量数据(查询某一个用户下的全量好友列表的详情时)时,由分层处理系统X2中的服务T1调用分层处理系统X2中的服务T2在分层处理系统X2的数据层中进行数据查询和调用分层处理系统X1中的服务T2在分层处理系统X1的数据层中进行数据查询,分别得到对应的查询结果;然后由分层处理系统X2中的服务T1根据分层处理系统X2中的服务T2返回的查询结果和分层处理系统X1中的服务T2返回的查询结果,对该待处理的请求进行处理。
在本申请的另一些实施例中,目标服务还部署在第三分层处理系统中的业务层,第三分层处理系统是至少两个分层处理系统中除第一分层处理系统外的至少一个其他分层处理系统;在该实施例中,如图10所示,步骤730,包括:
步骤1010,第一分层处理系统中的目标服务在第一分层处理系统中的数据层中进行数据查询。
步骤1020,若第一分层处理系统中的目标服务在第一分层处理系统中的数据层中未查询到对应的业务数据,则通过第一分层处理系统中业务层的目标服务调用第三分层处理系统中的目标服务进行数据查询,获得对应的查询结果。
步骤1030,由目标业务层中的目标服务根据查询结果对请求进行处理。
第三分层处理系统可以是与图8对应实施例中的第二分层处理系统是相同的分层处理系统,也可以是不同的分层处理系统,具体可根据实际需要设定。其中,第三分层处理系统可以是一个也可以是多个。
在一些场景下,可能不需要考虑用户地区归属的情况,只需要查询数据时,在该种情况下,可能存在服务交叉访问的情况。在该种情况下,可以先在其他的分层处理系统(第三分层处理系统)中的业务层中也部署相同的服务,并增加第一分层处理系统中该服务到第三分层处理系统的业务层中该相同服务的调用。通过该该种方案,可以降低代码的耦合性,可以快速改造不同的业务服务,提高效率。
在此基础上,先由目标服务在所在分层处理系统的数据层中进行数据查询,若未查询到对应的业务数据,通过该目标服务调用其他分层处理系统(第三分层处理系统)的业务层中的目标服务,以使第三分层处理系统的业务层中的目标服务在第三分层处理系统的数据层中进行业务数据查询,得到对应的查询结果,然后将该查询结果返回到第一分层处理系统中的目标服务,由第一分层处理系统的目标服务基于该查询结果对待处理的请求进行处理。
图11是根据本申请一具体实施例示出的在两个分层处理系统的业务层之间进行服务跨地区查询的示意图。如图11所示,两个分层处理系统(分层处理系统X3和分层处理系统X4)的业务层中均设有服务T3。
若分层处理系统X3的业务层接收到待处理的请求,所确定用于处理该待处理的请求的目标服务为服务T3,从而,分层处理系统X3中的服务T3根据该待处理的请求所携带的参数,在分层处理系统X3中的数据层中进行数据查询;如果在分层处理系统X3中的数据层中未查询到对应的业务数据,则分层处理系统X3的业务层中的服务T3调用分层处理系统X4的业务层中的服务T3,以使分层处理系统X4的业务层中的服务T3根据该待处理的请求所携带的参数,在分层处理系统X4中的数据层中进行数据查询,并将查询结果返回到分层处理系统X3中的服务T3,由分层处理系统X3中的服务T3根据该查询结果对该待处理的请求进行处理。
同理,若分层处理系统X4获取到待处理的请求,所确定用于处理该待处理的请求的服务为服务T3,从而,分层处理系统X4中的服务T3根据该待处理的请求所携带的参数,在分层处理系统X4中的数据层中进行数据查询;如果在分层处理系统X4中的数据层中未查询到对应的业务数据,则分层处理系统X4的业务层中的服务T3调用分层处理系统X3的业务层中的服务T3,以使分层处理系统X3的业务层中的服务T3根据该待处理的请求所携带的参数,在分层处理系统X3中的数据层中进行数据查询,并将查询结果返回到分层处理系统X4中的服务T3,由分层处理系统X4中的服务T3根据该查询结果对该待处理的请求进行处理。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述方法实施例。
图12是根据一实施例示出的请求的处理装置的框图,该请求的处理装置应用于请求处理系统中的第一分层处理系统,请求处理系统包括至少两个分层处理系统,第一分层处理系统是至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;分层处理系统包括接入层、路由层、业务层和数据层;数据层用于存储所在分层处理系统所对应地区的业务数据;接入层用于接收所在分层处理系统所对应地区的客户端发起的请求。如图12所示,该请求的处理装置包括:目标分层处理系统确定模块1210,用于在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,第一分层处理系统中的路由层在至少两个分层处理系统中,确定处理请求的目标业务层所在的目标分层处理系统;第一地区是指第一分层处理系统所对应的地区;路由模块1220,用于第一分层处理系统中的路由层将请求路由到目标分层处理系统中的目标业务层,以使目标业务层从目标分层处理系统中的目标数据层中获取对应的业务数据,并对请求进行处理。
在本申请的一些实施例中,目标分层处理系统确定模块1210,包括:目标路由策略确定单元,用于第一分层处理系统中的路由层根据请求的属性信息,确定属性信息对应的目标路由策略;目标分层处理系统确定单元,用于第一分层处理系统中的路由层根据目标路由策略,在至少两个分层处理系统中确定处理请求的目标业务层所在的目标分层处理系统。
在本申请的一些实施例中,目标路由策略包括根据请求携带的传参标记进行路由;目标分层处理系统确定单元,包括:传参标记获取单元,用于第一分层处理系统中的路由层按照目标路由策略,获取请求携带的传参标记;第一确定单元,用于将传参标记所指示的地区对应的分层处理系统,确定为目标分层处理系统。
在本申请的另一些实施例中,目标路由策略指示根据请求访问的域名进行路由;目标分层处理系统确定单元,包括:目标域名获取单元,用于第一分层处理系统中的路由层按照目标路由策略,获取请求所请求访问的目标域名;第二确定单元,用于将目标域名所属地区对应的分层处理系统,确定为目标分层处理系统。
在本申请的另一些实施例中,目标路由策略指示根据注册地进行路由;目标分层处理系统确定单元,包括:注册地信息获取单元,用于第一路由层根据目标路由策略获取客户端的注册地信息;第三确定单元,用于将注册信息所指示注册地所属地区对应的分层处理系统确定为目标分层处理系统。
在本申请的另一些实施例中,目标路由策略指示根据请求携带的索引信息进行路由;目标分层处理系统确定单元,包括:目标索引信息获取单元,用于第一分层处理系统中的路由层按照目标路由策略,获取请求携带的目标索引信息;地区查询单元,用于根据目标索引信息进行地区查询,确定目标地区;第四确定单元,用于将目标地区所对应的分层处理系统确定为目标分层处理系统。
在本申请的一些实施例中,请求的处理装置还包括:请求分类确定模块,用于第一分层处理系统中的路由层在缓存的非敏感信息中查询获得请求的属性信息。
在本申请的一些实施例中,请求的处理装置还包括:待处理的请求获取模块,用于第一分层处理系统中的业务层获取待处理的请求,待处理的请求来源于第一分层处理系统中的路由层或者来源于除第一分层处理系统外的其他分层处理系统中的路由层;目标服务确定模块,用于根据待处理请求在第一分层处理系统的业务层中确定目标服务,目标服务用于处理待处理的请求;处理模块,用于由目标服务根据从第一分层处理系统的数据层中所获取到的业务数据,对待处理的请求进行处理。
在本申请的一些实施例中,目标服务包括嵌套调用的至少两级子目标服务;至少两级子目标服务包括上一级子目标服务和下一级子目标服务,下一级子目标服务还部署于第二分层处理系统中的业务层,第二分层处理系统是至少两个分层处理系统中除第一分层处理系统外的至少一个其他分层处理系统;在该实施例中,处理模块,包括:第一数据查询单元,用于上一级子目标服务调用第一分层处理系统中的下一级子目标服务和第二分层处理系统中的下一级子目标服务在对应的数据层中进行数据查询,获得对应的查询结果;第一处理单元,用于由上一级子目标服务根据第一分层处理系统中的下一级子目标服务返回的查询结果和第二分层处理系统中的下一级子目标服务返回的查询结果,对待处理的请求进行处理。
在本申请的一些实施例中,目标服务还部署在第三分层处理系统中的业务层,第三分层处理系统是至少两个分层处理系统中除第一分层处理系统外的至少一个其他分层处理系统;在该实施例中,处理模块,包括:第二数据查询单元,用于第一分层处理系统中的目标服务在第一分层处理系统中的数据层中进行数据查询;第三数据查询单元,用于若第一分层处理系统中的目标服务在第一分层处理系统中的数据层中未查询到对应的业务数据,则通过第一分层处理系统中业务层的目标服务调用第三分层处理系统中的目标服务进行数据查询,获得对应的查询结果;第二处理单元,用于由目标业务层中的目标服务根据查询结果对请求进行处理。
在本申请的一些实施例中,分层处理系统还包括协议转换层;在该实施例中,请求的处理装置还包括:协议转换模块,用于第一分层处理系统中的协议转换层对请求进行协议转换。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(Central Processing Unit,CPU)1301,其可以根据存储在只读存储器(Read-Only Memory,ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(Random Access Memory,RAM)1303中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU1301、ROM1302以及RAM 1303通过总线1304彼此相连。输入/输出(Input/Output,I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。
根据本申请的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述任一实施例中的方法。
根据本申请实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种请求的处理方法,其特征在于,应用于请求处理系统中的第一分层处理系统,所述请求处理系统包括至少两个分层处理系统,所述第一分层处理系统是所述至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;所述分层处理系统包括接入层、路由层、业务层和数据层;所述数据层用于存储所在分层处理系统所对应地区的业务数据;所述接入层用于接收所在分层处理系统所对应地区的客户端发起的请求;
所述方法包括:
在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统;所述第一地区是指所述第一分层处理系统所对应的地区;
所述第一分层处理系统中的路由层将所述请求路由到所述目标分层处理系统中的所述目标业务层,以使所述目标业务层从所述目标分层处理系统中的目标数据层中获取对应的业务数据,并对所述请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统,包括:
所述第一分层处理系统中的路由层根据所述请求的属性信息,确定所述属性信息对应的目标路由策略;
所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统。
3.根据权利要求2所述的方法,其特征在于,所述目标路由策略包括根据请求携带的传参标记进行路由;
所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统,包括:
所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求携带的传参标记;
将所述传参标记所指示的地区对应的分层处理系统,确定为所述目标分层处理系统。
4.根据权利要求2所述的方法,其特征在于,所述目标路由策略指示根据请求访问的域名进行路由;
所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统,包括:
所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求所请求访问的目标域名;
将所述目标域名所属地区对应的分层处理系统,确定为所述目标分层处理系统。
5.根据权利要求2所述的方法,其特征在于,所述目标路由策略指示根据注册地进行路由;
所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统,包括:
所述第一路由层根据所述目标路由策略获取所述客户端的注册地信息;
将所述注册信息所指示注册地所属地区对应的分层处理系统确定为所述目标分层处理系统。
6.根据权利要求2所述的方法,其特征在于,所述目标路由策略指示根据请求携带的索引信息进行路由;
所述第一分层处理系统中的路由层根据所述目标路由策略,在所述至少两个分层处理系统中确定处理所述请求的目标业务层所在的目标分层处理系统,包括:
所述第一分层处理系统中的路由层按照所述目标路由策略,获取所述请求携带的目标索引信息;
根据所述目标索引信息进行地区查询,确定目标地区;
将所述目标地区所对应的分层处理系统确定为所述目标分层处理系统。
7.根据权利要求2所述的方法,其特征在于,所述第一分层处理系统中的路由层根据所述请求的属性信息,确定所述属性信息对应的目标路由策略之前,所述方法还包括:
所述第一分层处理系统中的路由层在缓存的非敏感信息中查询获得所述请求的属性信息。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一分层处理系统中的业务层获取待处理的请求,所述待处理的请求来源于所述第一分层处理系统中的路由层或者来源于除所述第一分层处理系统外的其他分层处理系统中的路由层;
根据所述待处理请求在所述第一分层处理系统的业务层中确定目标服务,所述目标服务用于处理所述待处理的请求;
由所述目标服务根据从所述第一分层处理系统的数据层中所获取到的业务数据,对所述待处理的请求进行处理。
9.根据权利要求8所述的方法,其特征在于,所述目标服务包括嵌套调用的至少两级子目标服务;所述至少两级子目标服务包括上一级子目标服务和下一级子目标服务,所述下一级子目标服务还部署于第二分层处理系统中的业务层,所述第二分层处理系统是所述至少两个分层处理系统中除所述第一分层处理系统外的至少一个其他分层处理系统;
所述由所述目标服务根据从所述第一分层处理系统的数据层中所获取到的业务数据,对所述待处理的请求进行处理,包括:
所述上一级子目标服务调用所述第一分层处理系统中的所述下一级子目标服务和所述第二分层处理系统中的所述下一级子目标服务在对应的数据层中进行数据查询,获得对应的查询结果;
由所述上一级子目标服务根据所述第一分层处理系统中的所述下一级子目标服务返回的查询结果和所述第二分层处理系统中的所述下一级子目标服务返回的查询结果,对所述待处理的请求进行处理。
10.根据权利要求8所述的方法,其特征在于,所述目标服务还部署在第三分层处理系统中的业务层,所述第三分层处理系统是所述至少两个分层处理系统中除所述第一分层处理系统外的至少一个其他分层处理系统;
所述由所述目标服务根据从所述第一分层处理系统中的数据层中所获取到对应的业务数据,对所述待处理的请求进行处理,包括:
所述第一分层处理系统中的目标服务在所述第一分层处理系统中的数据层中进行数据查询;
若第一分层处理系统中的目标服务在所述第一分层处理系统中的数据层中未查询到对应的业务数据,则通过所述第一分层处理系统中业务层的目标服务调用所述第三分层处理系统中的目标服务进行数据查询,获得对应的查询结果;
由所述目标业务层中的目标服务根据所述查询结果对所述请求进行处理。
11.根据权利要求1所述的方法,其特征在于,所述分层处理系统还包括协议转换层;所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统之前,所述方法还包括:
所述第一分层处理系统中的协议转换层对所述请求进行协议转换。
12.一种请求的处理装置,其特征在于,应用于请求处理系统中的第一分层处理系统,所述请求处理系统包括至少两个分层处理系统,所述第一分层处理系统是所述至少两个分层处理系统中的一个分层处理系统;每一分层处理系统对应一地区;所述分层处理系统包括接入层、路由层、业务层和数据层;所述数据层用于存储所在分层处理系统所对应地区的业务数据;所述接入层用于接收所在分层处理系统所对应地区的客户端发起的请求;
所述装置包括:
目标分层处理系统确定模块,用于在第一分层处理系统中的接入层接收到第一地区的客户端发起的请求后,所述第一分层处理系统中的路由层在所述至少两个分层处理系统中,确定处理所述请求的目标业务层所在的目标分层处理系统;所述第一地区是指所述第一分层处理系统所对应的地区;
路由模块,用于所述第一分层处理系统中的路由层将所述请求路由到所述目标分层处理系统中的所述目标业务层,以使所述目标业务层从所述目标分层处理系统中的目标数据层中获取对应的业务数据,并对所述请求进行处理。
13.一种电子设备,其特征在于,包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1-11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110898325.6A CN115878853A (zh) | 2021-08-05 | 2021-08-05 | 请求的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110898325.6A CN115878853A (zh) | 2021-08-05 | 2021-08-05 | 请求的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878853A true CN115878853A (zh) | 2023-03-31 |
Family
ID=85762102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110898325.6A Pending CN115878853A (zh) | 2021-08-05 | 2021-08-05 | 请求的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878853A (zh) |
-
2021
- 2021-08-05 CN CN202110898325.6A patent/CN115878853A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488595B (zh) | 用于实现权限控制的方法及相关设备 | |
US10791087B2 (en) | SCIM to LDAP mapping using subtype attributes | |
CN111240763B (zh) | 配置更新方法、装置、设备及存储介质 | |
US10567364B2 (en) | Preserving LDAP hierarchy in a SCIM directory using special marker groups | |
US8813225B1 (en) | Provider-arbitrated mandatory access control policies in cloud computing environments | |
CN103119907B (zh) | 提供用于访问控制的智能组的系统和方法 | |
CN111290865A (zh) | 一种服务调用方法、装置、电子设备和存储介质 | |
EP3577885A1 (en) | Tenant data comparison for a multi-tenant identity cloud service | |
US8745088B2 (en) | System and method of performing risk analysis using a portal | |
CN103716326A (zh) | 一种资源访问方法及用户资源网关 | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
CN111416723B (zh) | 一种设备管理方法及相关设备 | |
CN113645304B (zh) | 数据服务处理方法及相关设备 | |
WO2019057055A1 (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN111310230B (zh) | 一种空间数据处理方法、装置、设备及介质 | |
CN112105026A (zh) | 一种授权控制的方法、装置以及存储介质 | |
CN116566656A (zh) | 资源访问方法、装置、设备及计算机存储介质 | |
CN103533094A (zh) | 标码一体机及标码系统 | |
CN110035099B (zh) | 一种多系统管理方法、终端设备及存储介质 | |
US20220385596A1 (en) | Protecting integration between resources of different services using service-generated dependency tags | |
CN111045928A (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN115878853A (zh) | 请求的处理方法、装置、电子设备及存储介质 | |
US11303606B1 (en) | Hashing name resolution requests according to an identified routing policy | |
CN115604103A (zh) | 云计算系统的配置方法、装置、存储介质以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40083051 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |