CN113014650A - 针对数据请求的处理方法、装置、计算设备和介质 - Google Patents
针对数据请求的处理方法、装置、计算设备和介质 Download PDFInfo
- Publication number
- CN113014650A CN113014650A CN202110227184.5A CN202110227184A CN113014650A CN 113014650 A CN113014650 A CN 113014650A CN 202110227184 A CN202110227184 A CN 202110227184A CN 113014650 A CN113014650 A CN 113014650A
- Authority
- CN
- China
- Prior art keywords
- node
- request
- target
- hash value
- level 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种针对数据请求的处理方法,涉及金融领域。该方法包括:接收待处理请求,其中,待处理请求包括服务标识和属性信息,服务标识包括待处理请求所针对的应用服务的标识,属性信息包括发送待处理请求的发送者信息;处理待处理请求,得到待处理请求的特征数据;利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点,其中,预设路由策略表征了服务标识、属性信息与节点之间的关联关系。本公开还提供了一种针对数据请求的处理装置、一种计算设备、一种介质以及一种程序产品。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种针对数据请求的处理方法、一种针对数据请求的处理装置、一种计算设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
相关技术中,用户可以调用各种各样的应用服务来实现业务处理,应用服务例如包括转账服务、付款服务、任务处理服务等等。每个应用服务具有服务接入层,各应用服务在各自的服务接入层实现路由策略,导致应用存在大量的冗余代码。在调用相关应用服务时,需要通过该应用服务对应的服务接入层的路由策略来执行调用。在每个应用服务实现灰度上线时,需要在每个应用服务对应的服务接入层中修改路由策略,对服务接入层代码修改量较大。
发明内容
有鉴于此,本公开提供了一种优化的针对数据请求的处理方法、针对数据请求的处理装置、计算设备、计算机可读存储介质和计算机程序产品。
本公开的一个方面提供了一种针对数据请求的处理方法,包括:接收待处理请求,其中,所述待处理请求包括服务标识和属性信息,所述服务标识包括所述待处理请求所针对的应用服务的标识,所述属性信息包括发送所述待处理请求的发送者信息;处理所述待处理请求,得到所述待处理请求的特征数据;利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点,其中,所述预设路由策略表征了所述服务标识、所述属性信息与节点之间的关联关系。
根据本公开的实施例,所述至少一个节点包括至少一个第一级节点,每个第一级节点用于处理针对应用服务的待处理请求;所述特征数据包括哈希值,所述预设路由策略包括所述每个第一级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点作为所述目标节点,其中,所述哈希值在所述目标节点的哈希值范围之内。
根据本公开的实施例,所述至少一个节点还包括至少一个第二级节点,每个第二级节点用于处理针对应用服务所包含的服务版本的待处理请求;所述预设路由策略还包括每个第二级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点作为所述目标节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在所述目标第一级节点的哈希值范围之内。
根据本公开的实施例,每个应用服务的服务版本包括至少一个灰度版本和至少一个非灰度版本。
根据本公开的实施例,所述至少一个节点还包括至少一个第三级节点,每个第三级节点用于处理针对服务版本所部署的数据库的待处理请求;所述预设路由策略还包括每个第三级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第二级节点相对应的至少一个第三级节点中确定目标第三级节点作为所述目标节点,其中,所述哈希值在所述目标第三级节点的哈希值范围之内;其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内,与所述目标第二级节点相对应的每个第三级节点的哈希值范围均在目标第二级节点的哈希值范围之内。
根据本公开的实施例,所述属性信息包括所述发送者的身份标识和所述发送者所处的地理位置。
根据本公开的实施例,方法还包括,在处理所述待处理请求,得到所述待处理请求的特征数据之前:对所述待处理请求进行校验得到校验结果,以便基于所述校验结果确定是否处理所述待处理请求,其中,所述校验结果表征了以下至少一项:所述待处理请求是否为非空数据、所述待处理请求的数据格式是否满足预设格式、所述待处理请求的数据逻辑是否满足预设逻辑条件。
本公开的另一个方面提供了一种针对数据请求的处理装置,包括:接收模块、处理模块以及确定模块。其中,接收模块,用于接收待处理请求,其中,所述待处理请求包括服务标识和属性信息,所述服务标识包括所述待处理请求所针对的应用服务的标识,所述属性信息包括发送所述待处理请求的发送者信息;处理模块,用于处理所述待处理请求,得到所述待处理请求的特征数据;确定模块,用于利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点,其中,所述预设路由策略表征了所述服务标识、所述属性信息与节点之间的关联关系。
根据本公开的实施例,所述至少一个节点包括至少一个第一级节点,每个第一级节点用于处理针对应用服务的待处理请求;所述特征数据包括哈希值,所述预设路由策略包括所述每个第一级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点作为所述目标节点,其中,所述哈希值在所述目标节点的哈希值范围之内。
根据本公开的实施例,所述至少一个节点还包括至少一个第二级节点,每个第二级节点用于处理针对应用服务所包含的服务版本的待处理请求;所述预设路由策略还包括每个第二级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点作为所述目标节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在所述目标第一级节点的哈希值范围之内。
根据本公开的实施例,每个应用服务的服务版本包括至少一个灰度版本和至少一个非灰度版本。
根据本公开的实施例,所述至少一个节点还包括至少一个第三级节点,每个第三级节点用于处理针对服务版本所部署的数据库的待处理请求;所述预设路由策略还包括每个第三级节点所对应的哈希值范围。
根据本公开的实施例,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;利用预设路由策略,基于所述哈希值从与所述目标第二级节点相对应的至少一个第三级节点中确定目标第三级节点作为所述目标节点,其中,所述哈希值在所述目标第三级节点的哈希值范围之内;其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内,与所述目标第二级节点相对应的每个第三级节点的哈希值范围均在目标第二级节点的哈希值范围之内。
根据本公开的实施例,所述属性信息包括所述发送者的身份标识和所述发送者所处的地理位置。
根据本公开的实施例,装置还包括校验模块,用于对所述待处理请求进行校验得到校验结果,以便基于所述校验结果确定是否处理所述待处理请求,其中,所述校验结果表征了以下至少一项:所述待处理请求是否为非空数据、所述待处理请求的数据格式是否满足预设格式、所述待处理请求的数据逻辑是否满足预设逻辑条件。
本公开的另一方面提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述方法。
本公开的另一方面提供了一种非易失性可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现上述方法。
本公开的另一方面提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法。
根据本公开的实施例,利用如上所述的针对数据请求的处理方法,可以至少部分地解决相关技术中为每个应用服务配置对应的服务接入层导致应用存在大量的冗余代码的技术问题。因此可以实现降低针对应用服务的服务接入层的代码冗余的技术效果。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的针对数据请求的处理方法和针对数据请求的处理装置的应用场景;
图2示意性示出了根据本公开实施例的针对数据请求的处理方法的流程图;
图3示意性示出了根据本公开实施例的针对数据请求的处理方法的示意图;
图4示意性示出了根据本公开另一实施例的针对数据请求的处理方法的流程图;
图5示意性示出了根据本公开实施例的针对数据请求的处理装置的框图;以及
图6示意性示出了根据本公开实施例的用于实现针对数据请求的处理的计算设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程控制装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读存储介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种针对数据请求的处理方法,包括:接收待处理请求,待处理请求包括服务标识和属性信息,服务标识包括待处理请求所针对的应用服务的标识,属性信息包括发送待处理请求的发送者信息。然后,处理待处理请求,得到待处理请求的特征数据。接下来,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点,预设路由策略表征了服务标识、属性信息与节点之间的关联关系。
图1示意性示出了根据本公开实施例的针对数据请求的处理方法和针对数据请求的处理装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的应用场景100可以包括计算设备110和节点120、130、140。计算设备110包括但不进行于计算机、服务器、服务器集群等等。节点120、130、140例如包括但不限于计算机、服务器等等。计算设备110和和节点120、130、140之间可以通过网络进行通信。网络用以在计算设备110和节点120、130、140之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
当计算设备110接收到待处理请求101之后,确定待处理请求101所针对的应用服务。然后,计算设备110基于预设路由策略将待处理请求101转发至提供相应的应用服务的节点。例如,计算设备110基于预设路由策略将待处理请求101转发至节点130中进行处理。
应该理解,图1中的计算设备和节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备和节点。
以下结合图1的应用场景,根据图2~图4来描述本公开实施例的针对数据请求的处理方法。
图2示意性示出了根据本公开实施例的针对数据请求的处理方法的流程图。
如图2所示,本公开实施例的针对数据请求的处理方法例如可以包括操作S210~操作S230。本公开实施例的方法例如由图1所示的计算设备来执行。
在操作S210,接收待处理请求。
在操作S220,处理待处理请求,得到待处理请求的特征数据。
在操作S230,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点。
例如,待处理请求包括服务标识和属性信息,服务标识包括待处理请求所针对的应用服务的标识,属性信息包括发送待处理请求的发送者信息。例如,属性信息包括发送者的身份标识和发送者所处的地理位置。
在接收到待处理请求之后,处理待处理请求得到特征数据。然后利用预设路由策略基于特征数据从多个节点中确定用于处理该待处理请求的目标节点,以便将待处理请求发送给目标节点进行处理。
在本公开的实施例中,预设路由策略表征了服务标识、属性信息与节点之间的关联关系。因此,利用预设路由策略可以基于待处理请求的服务标识和属性信息,确定与服务标识和属性信息相关联的节点作为目标节点。
根据本公开的实施例,针对不同应用服务的待处理请求,均由统一的预设路由策略来基于该待处理请求的特征数据,确定用于处理该待处理请求的目标节点。可以理解,通过本公开实施例的技术方案,无需针对每个应用服务设置相应的预设路由策略,从而降低了代码的冗余,并且在更新预设路由策略时,无需针对每个应用服务的预设路由策略进行更新,提高了路由策略的更新效率。
图3示意性示出了根据本公开实施例的针对数据请求的处理方法的示意图。
如图3所示,至少一个节点例如包括至少一个第一级节点321、322。每个第一级节点用于处理针对应用服务的待处理请求。例如第一级节点321用于处理针对应用服务A的待处理请求,第一级节点322用于处理针对应用服务B的待处理请求。每个第一级节点例如包括用于进行数据处理的计算机、服务器等设备。
在本公开的实施例中,服务接入层310例如部署于计算设备中。当服务接入层310接收到待处理请求301之后,对待处理请求301进行处理得到待处理请求301的特征数据。例如,通过哈希算法处理待处理请求301得到哈希值作为特征数据。
在本公开的实施例中,预设路由策略包括每个第一级节点所对应的哈希值范围。例如,第一级节点321对应的哈希值范围为1-40,第一级节点322对应的哈希值范围为41-80。
接下来,利用预设路由策略,基于待处理请求301的哈希值从至少一个第一级节点中确定目标第一级节点作为目标节点,该待处理请求301的哈希值在目标节点的哈希值范围之内。例如,当待处理请求的哈希值为15时,该哈希值15在哈希值范围1-40之内,将第一级节点321作为目标第一级节点。在一实施例中,可以将该目标第一级节点作为用于处理待处理请求301的目标节点。
在本公开实施例中,由于待处理请求301中的服务标识为重要特征,在利用哈希算法计算待处理请求301的哈希值时,计算得到的哈希值例如表征了待处理请求301中的服务标识。例如,待处理请求301中的服务标识为应用服务A的服务标识,待处理请求301的哈希值表征了应用服务A的服务标识,因此可以基于哈希值将该待处理请求301转发至针对应用服务A的第一级节点321。
接着参考图3,本公开实施例的至少一个节点还可以包括至少一个第二级节点331、332、333、334。每个第二级节点用于处理针对应用服务所包含的服务版本的待处理请求。每个应用服务包含的服务版本例如包括至少一个灰度版本和至少一个非灰度版本。
第二级节点331例如用于处理针对应用服务A所包含的灰度版本的待处理请求,第二级节点332例如用于处理针对应用服务A所包含的非灰度版本的待处理请求。第二级节点333例如用于处理针对应用服务B所包含的灰度版本的待处理请求,第二级节点334例如用于处理针对应用服务B所包含的非灰度版本的待处理请求。每个第二级节点例如包括用于进行数据处理的计算机、服务器等设备。
在本公开的实施例中,预设路由策略还包括每个第二级节点所对应的哈希值范围。例如,第二级节点331对应的哈希值范围为1-20,第二级节点332对应的哈希值范围为21-40,第二级节点333对应的哈希值范围为41-60,第二级节点334对应的哈希值范围为61-80。
在另一实施例中,在确定第一级节点321作为目标第一级节点之后,进一步利用预设路由策略基于待处理请求301的哈希值从与目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点作为目标节点,待处理请求301的哈希值在目标第二级节点的哈希值范围之内。
例如,与目标第一级节点相对应的至少一个第二级节点包括第二级节点331、332。与目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内,例如第二级节点331的哈希值范围1-20在目标第一级节点的哈希值范围1-40之内,第二级节点332的哈希值范围21-40在目标第一级节点的哈希值范围1-40之内。
基于待处理请求301的哈希值15,从第二级节点331、332中确定第二级节点331作为目标第二级节点。在一实施例中,可以将目标第二级节点作为用于处理待处理请求301的目标节点。
接着参考图3,本公开实施例的至少一个节点还可以包括至少一个第三级节点341-348,每个第三级节点用于处理针对服务版本所部署的数据库的待处理请求。以应用服务A的灰度版本为例,针对应用服务A的灰度版本部署于数据库a和数据库b,第三级节点341用于处理针对数据库a的待处理请求,第三级节点342用于处理针对数据库b的待处理请求。
根据本公开的实施例,预设路由策略还包括每个第三级节点所对应的哈希值范围。例如第三级节点341所对应的哈希值范围是1-10,第三级节点342所对应的哈希值范围是11-20。
在另一实施例中,在确定第二级节点331作为目标第二级节点之后,进一步利用预设路由策略,基于待处理请求301的哈希值从与目标第二级节点相对应的至少一个第三级节点中确定目标第三级节点作为目标节点,待处理请求301的哈希值在目标第三级节点的哈希值范围之内。
例如,与目标第二级节点相对应的至少一个第三级节点包括第三级节点341、342。与目标第二级节点相对应的每个第三级节点的哈希值范围均在目标第二级节点的哈希值范围之内,例如第三级节点341的哈希值范围1-10在目标第二级节点的哈希值范围1-20之内,第三级节点342的哈希值范围11-20在目标第二级节点的哈希值范围1-20之内。
基于待处理请求301的哈希值15,从第三级节点341、342中确定第三级节点341作为目标第三级节点。在一实施例中,可以将目标第三级节点作为用于处理待处理请求301的目标节点。
在本公开实施例中,待处理请求的哈希值表征了待处理请求所包括的服务标识、发送者的身份标识和发送者所处的地理位置。因此,可以基于待处理请求的哈希值确定用于处理待处理请求的目标节点。
例如,针对任意一个第一级节点、任意一个第二级节点、或者任意一个第三级节点来说,该节点例如用于处理针对某些应用服务的待处理请求,或者,该节点例如用于处理针对某些发送者的待处理请求,或者,该节点例如用于处理针对处于某些地理位置的发送者的待处理请求。地理位置例如包括发送者的注册地。通过计算待处理请求的哈希值,并根据哈希值可以将该待处理请求路由至相应的节点中进行处理。
示例性地,多个应用服务例如包括应用服务A(哈希值范围例如为1-40)和应用服务B(哈希值范围例如为41-80)。应用服务A包括灰度版本(哈希值范围1-20)和非灰度版本(哈希值范围21-40),灰度版本例如部署于数据库a(哈希值1-10)和数据库b(11-20),非灰度版本例如部署于数据库c(哈希值21-30)和数据库d(31-40),应用服务B类似。
待处理请求的发送者例如为集团。当接收到待处理请求后,基于待处理请求中的服务标识、集团名称、集团注册地计算待处理请求所对应的哈希值,例如计算得到哈希值为15。然后基于预设路由策略得知该待处理请求调用应用服务A(1-40),可以将待处理请求发送给应用服务A所对应的节点进行处理。或者,还可以进一步确定该待处理请求调用应用服务A中的灰度版本(1-20),此时可以将待处理请求发送给应用服务A的灰度版本所对应的节点进行处理。或者,还可以进一步确定该待处理请求调用灰度版本的数据库b(11-20)。然后将待处理请求发送给基于数据库b执行数据处理的节点进行处理。
图4示意性示出了根据本公开另一实施例的针对数据请求的处理方法的流程图。
如图4所示,本公开实施例的针对数据请求的处理方法例如可以包括操作S401~操作S410。
在操作S401,接收待处理请求。
在操作S402,对待处理请求进行格式转换。
例如将待处理请求由Json格式转换为Bean格式。
在操作S403,对进行格式转换得到的待处理请求进行校验得到校验结果。
校验结果例如表征了待处理请求是否为非空数据、待处理请求的数据格式是否满足预设格式、待处理请求的数据逻辑是否满足预设逻辑条件。
在操作S404基于校验结果确定待处理请求是否通过校验。如果是,则执行操作S405。如果否,则结束。
当校验结果表征了待处理请求为非空数据、待处理请求的数据格式满足预设格式、待处理请求的数据逻辑满足预设逻辑条件时,确定待处理请求通过校验。
在操作S405,处理待处理请求,得到待处理请求的特征数据。
在操作S406,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点。
在操作S407,将待处理请求发送至目标节点进行处理。
在操作S408,接收来自目标节点的处理结果。
在操作S409,对处理结果进行格式转换。
例如将待处理请求由Bean格式转换为Json格式。
在操作S410,将进行格式转换得到的处理结果返回给待处理请求的发送者。
根据本公开的实施例,针对不同应用服务的待处理请求,均由统一的预设路由策略来基于该待处理请求的特征数据,确定用于处理该待处理请求的目标节点。可以理解,通过本公开实施例的技术方案,无需针对每个应用服务设置相应的预设路由策略,从而降低了代码的冗余,并且在更新预设路由策略时,无需针对每个应用服务的预设路由策略进行更新,提高了路由策略的更新效率。另外,本公开实施例还实现了统一不同应用服务的服务接入层,实现服务接入层的代码统一,减少冗余代码,增加了应用服务的可维护、可扩展等性能。
图5示意性示出了根据本公开实施例的针对数据请求的处理装置的框图。
如图5所示,针对数据请求的处理装置500例如可以包括接收模块510、处理模块520以及确定模块530。
接收模块510可以用于接收待处理请求,待处理请求包括服务标识和属性信息,服务标识包括待处理请求所针对的应用服务的标识,属性信息包括发送待处理请求的发送者信息。根据本公开实施例,接收模块510例如可以执行上文参考图2描述的操作S210,在此不再赘述。
处理模块520可以用于处理待处理请求,得到待处理请求的特征数据。根据本公开实施例,处理模块520例如可以执行上文参考图2描述的操作S220,在此不再赘述。
确定模块530可以用于利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点,预设路由策略表征了服务标识、属性信息与节点之间的关联关系。根据本公开实施例,确定模块530例如可以执行上文参考图2描述的操作S230,在此不再赘述。
根据本公开的实施例,至少一个节点包括至少一个第一级节点,每个第一级节点用于处理针对应用服务的待处理请求;特征数据包括哈希值,预设路由策略包括每个第一级节点所对应的哈希值范围。
根据本公开的实施例,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点包括:利用预设路由策略,基于哈希值从至少一个第一级节点中确定目标第一级节点作为目标节点,哈希值在目标节点的哈希值范围之内。
根据本公开的实施例,至少一个节点还包括至少一个第二级节点,每个第二级节点用于处理针对应用服务所包含的服务版本的待处理请求;预设路由策略还包括每个第二级节点所对应的哈希值范围。
根据本公开的实施例,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点包括:利用预设路由策略,基于哈希值从至少一个第一级节点中确定目标第一级节点,哈希值在目标第一级节点的哈希值范围之内;利用预设路由策略,基于哈希值从与目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点作为目标节点,哈希值在目标第二级节点的哈希值范围之内;与目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内。
根据本公开的实施例,每个应用服务的服务版本包括至少一个灰度版本和至少一个非灰度版本。
根据本公开的实施例,至少一个节点还包括至少一个第三级节点,每个第三级节点用于处理针对服务版本所部署的数据库的待处理请求;预设路由策略还包括每个第三级节点所对应的哈希值范围。
根据本公开的实施例,利用预设路由策略,基于特征数据从至少一个节点中确定用于处理待处理请求的目标节点包括:利用预设路由策略,基于哈希值从至少一个第一级节点中确定目标第一级节点,哈希值在目标第一级节点的哈希值范围之内;利用预设路由策略,基于哈希值从与目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点,哈希值在目标第二级节点的哈希值范围之内;利用预设路由策略,基于哈希值从与目标第二级节点相对应的至少一个第三级节点中确定目标第三级节点作为目标节点,哈希值在目标第三级节点的哈希值范围之内;与目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内,与目标第二级节点相对应的每个第三级节点的哈希值范围均在目标第二级节点的哈希值范围之内。
根据本公开的实施例,属性信息包括发送者的身份标识和发送者所处的地理位置。
根据本公开的实施例,装置500还包括校验模块,用于对待处理请求进行校验得到校验结果,以便基于校验结果确定是否处理待处理请求,校验结果表征了以下至少一项:待处理请求是否为非空数据、待处理请求的数据格式是否满足预设格式、待处理请求的数据逻辑是否满足预设逻辑条件。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,接收模块510、处理模块520以及确定模块530中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块510、处理模块520以及确定模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块510、处理模块520以及确定模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的用于实现针对数据请求的处理的计算设备的方框图。图6示出的计算设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算设备600包括处理器601、计算机可读存储介质602。该计算设备600可以执行根据本公开实施例的方法。
具体地,处理器601例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质602,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质602可以包括计算机程序603,该计算机程序603可以包括代码/计算机可执行指令,其在由处理器601执行时使得处理器601执行根据本公开实施例的方法或其任何变形。
计算机程序603可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序603中的代码可以包括一个或多个程序模块,例如包括603A、模块603B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器601执行时,使得处理器601可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,接收模块510、处理模块520以及确定模块530中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器601执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现上述方法。
根据本公开的实施例,计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (14)
1.一种针对数据请求的处理方法,包括:
接收待处理请求,其中,所述待处理请求包括服务标识和属性信息,所述服务标识包括所述待处理请求所针对的应用服务的标识,所述属性信息包括发送所述待处理请求的发送者信息;
处理所述待处理请求,得到所述待处理请求的特征数据;以及
利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点,其中,所述预设路由策略表征了所述服务标识、所述属性信息与节点之间的关联关系。
2.根据权利要求1所述的方法,其中:
所述至少一个节点包括至少一个第一级节点,每个第一级节点用于处理针对应用服务的待处理请求;
所述特征数据包括哈希值,所述预设路由策略包括所述每个第一级节点所对应的哈希值范围。
3.根据权利要求2所述的方法,其中,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:
利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点作为所述目标节点,其中,所述哈希值在所述目标节点的哈希值范围之内。
4.根据权利要求2所述的方法,其中:
所述至少一个节点还包括至少一个第二级节点,每个第二级节点用于处理针对应用服务所包含的服务版本的待处理请求;
所述预设路由策略还包括每个第二级节点所对应的哈希值范围。
5.根据权利要求4所述的方法,其中,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:
利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;以及
利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点作为所述目标节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;
其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在所述目标第一级节点的哈希值范围之内。
6.根据权利要求4或5所述的方法,其中,每个应用服务的服务版本包括至少一个灰度版本和至少一个非灰度版本。
7.根据权利要求4所述的方法,其中:
所述至少一个节点还包括至少一个第三级节点,每个第三级节点用于处理针对服务版本所部署的数据库的待处理请求;
所述预设路由策略还包括每个第三级节点所对应的哈希值范围。
8.根据权利要求7所述的方法,其中,所述利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点包括:
利用预设路由策略,基于所述哈希值从所述至少一个第一级节点中确定目标第一级节点,其中,所述哈希值在所述目标第一级节点的哈希值范围之内;
利用预设路由策略,基于所述哈希值从与所述目标第一级节点相对应的至少一个第二级节点中确定目标第二级节点,其中,所述哈希值在所述目标第二级节点的哈希值范围之内;以及
利用预设路由策略,基于所述哈希值从与所述目标第二级节点相对应的至少一个第三级节点中确定目标第三级节点作为所述目标节点,其中,所述哈希值在所述目标第三级节点的哈希值范围之内;
其中,与所述目标第一级节点相对应的每个第二级节点的哈希值范围均在目标第一级节点的哈希值范围之内,与所述目标第二级节点相对应的每个第三级节点的哈希值范围均在目标第二级节点的哈希值范围之内。
9.根据权利要求1所述的方法,其中,所述属性信息包括所述发送者的身份标识和所述发送者所处的地理位置。
10.根据权利要求1所述的方法,还包括,在处理所述待处理请求,得到所述待处理请求的特征数据之前:
对所述待处理请求进行校验得到校验结果,以便基于所述校验结果确定是否处理所述待处理请求,
其中,所述校验结果表征了以下至少一项:所述待处理请求是否为非空数据、所述待处理请求的数据格式是否满足预设格式、所述待处理请求的数据逻辑是否满足预设逻辑条件。
11.一种针对数据请求的处理装置,包括:
接收模块,用于接收待处理请求,其中,所述待处理请求包括服务标识和属性信息,所述服务标识包括所述待处理请求所针对的应用服务的标识,所述属性信息包括发送所述待处理请求的发送者信息;
处理模块,用于处理所述待处理请求,得到所述待处理请求的特征数据;以及
确定模块,用于利用预设路由策略,基于所述特征数据从至少一个节点中确定用于处理所述待处理请求的目标节点,其中,所述预设路由策略表征了所述服务标识、所述属性信息与节点之间的关联关系。
12.一种计算设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227184.5A CN113014650B (zh) | 2021-03-01 | 2021-03-01 | 针对数据请求的处理方法、装置、计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110227184.5A CN113014650B (zh) | 2021-03-01 | 2021-03-01 | 针对数据请求的处理方法、装置、计算设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014650A true CN113014650A (zh) | 2021-06-22 |
CN113014650B CN113014650B (zh) | 2022-12-23 |
Family
ID=76387102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110227184.5A Active CN113014650B (zh) | 2021-03-01 | 2021-03-01 | 针对数据请求的处理方法、装置、计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014650B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465770A (zh) * | 2021-12-29 | 2022-05-10 | 天翼云科技有限公司 | 数据处理方法及相关装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213392A (zh) * | 2018-04-03 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据分发方法、装置、计算机设备和存储介质 |
CN110474940A (zh) * | 2018-05-10 | 2019-11-19 | 北京金山安全软件有限公司 | 请求调度方法、装置、电子设备、及介质 |
CN111355816A (zh) * | 2020-05-22 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 服务器选取方法、装置、设备及分布式服务系统 |
CN111399991A (zh) * | 2020-06-05 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 虚拟资源加锁方法和装置、存储介质及电子装置 |
CN111611091A (zh) * | 2020-05-15 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种业务对象的服务调用方法、装置及介质 |
US10853146B1 (en) * | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
WO2021022985A1 (zh) * | 2019-08-06 | 2021-02-11 | 中兴通讯股份有限公司 | 云服务处理方法及装置、云服务器、云服务系统及存储介质 |
-
2021
- 2021-03-01 CN CN202110227184.5A patent/CN113014650B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213392A (zh) * | 2018-04-03 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 数据分发方法、装置、计算机设备和存储介质 |
US10853146B1 (en) * | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
CN110474940A (zh) * | 2018-05-10 | 2019-11-19 | 北京金山安全软件有限公司 | 请求调度方法、装置、电子设备、及介质 |
WO2021022985A1 (zh) * | 2019-08-06 | 2021-02-11 | 中兴通讯股份有限公司 | 云服务处理方法及装置、云服务器、云服务系统及存储介质 |
CN111611091A (zh) * | 2020-05-15 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种业务对象的服务调用方法、装置及介质 |
CN111355816A (zh) * | 2020-05-22 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 服务器选取方法、装置、设备及分布式服务系统 |
CN111399991A (zh) * | 2020-06-05 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 虚拟资源加锁方法和装置、存储介质及电子装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465770A (zh) * | 2021-12-29 | 2022-05-10 | 天翼云科技有限公司 | 数据处理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113014650B (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751475A (zh) | 一种区块链交易的跨链方法及系统、设备和存储介质 | |
US11539701B2 (en) | Network access point | |
US11489693B2 (en) | Home network access | |
CA3120888C (en) | Enforcing data consistency in a transportation network | |
CN110766408A (zh) | 异构区块链的跨链交易验证方法、引擎、设备和存储介质 | |
CN112748962B (zh) | 应用加载方法、装置、电子设备和计算机可读介质 | |
US20200153889A1 (en) | Method for uploading and downloading file, and server for executing the same | |
CN114281573A (zh) | 工作流数据交互方法、装置及电子装置、可读存储介质 | |
CN113297163A (zh) | 基于区块链的询证函中转系统、方法、装置、设备和介质 | |
CN113014650B (zh) | 针对数据请求的处理方法、装置、计算设备和介质 | |
KR102553877B1 (ko) | 디앱에서 요구하는 높은 트랜잭션 처리량을 효율적으로 블록체인에서 처리하기 위한 방법 및 시스템 | |
CN113791792B (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
CN112988738B (zh) | 用于区块链的数据分片方法和装置 | |
CN111818179A (zh) | 用户请求的处理方法、装置、计算设备和介质 | |
CN114567678B (zh) | 一种云安全服务的资源调用方法、装置及电子设备 | |
CN110278133B (zh) | 由服务器执行的检查方法、装置、计算设备以及介质 | |
CN112995169B (zh) | 防火墙部署方法和装置 | |
CN113553206B (zh) | 数据事件执行方法、装置、电子设备和计算机可读介质 | |
CN111291065B (zh) | 由计算设备执行的资产数据变更方法、装置和计算设备 | |
CN107210996B (zh) | 一种业务链管理方法及装置 | |
CN113988992A (zh) | 订单信息发送方法、装置、电子设备和计算机可读介质 | |
US20170286181A1 (en) | Deployment and execution of sensing and computational tasks in a network of computing devices | |
CN111641721B (zh) | 安全检测方法、安全检测装置、计算设备以及介质 | |
CN112650528B (zh) | 个性化算法生成方法、装置、电子设备和计算机可读介质 | |
CN114244830B (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 |