数据访问方法、装置、系统及计算设备制造方法及图纸

技术编号:26653380 阅读:42 留言:0更新日期:2020-12-09 00:57
本发明专利技术实施例公开了一种数据访问方法,包括:第一服务节点接收请求调用第一服务的第一请求;在第一服务节点处理第一请求期间,确定需要调用第二服务;以及基于第一请求中携带的调用标识,确定调用的第二服务节点。本发明专利技术实施例还公开了相应的数据访问装置、系统和计算设备。

【技术实现步骤摘要】
数据访问方法、装置、系统及计算设备
本专利技术涉及网络
,特别涉及一种数据访问方法、装置、系统及计算设备。
技术介绍
随着互联网技术与应用的飞速发展、以及互联网用户的快速增长,传统的单体应用已难以应对日益复杂的服务内容和不断增长的并发访问量。分布式的服务架构,例如微服务架构,被广泛使用。其中,微服务架构是将一个应用拆分成一套小而相互关联的微服务,微服务之间通过暴露出来的API被其他微服务或系统所调用。在分布式架构的高并发场景下,需要通过缓存来减少数据库的压力,使得大量的访问能够命中缓存,只有少量的需要到数据库。然而当应用由十几个甚至数十个部署在不同服务节点上的微服务组成,服务之间通常需要互相调用来完成特定的功能时,传统缓存策略的缓存命中率较低,仍然给数据库带来很大压力。因此,需要提供一种更先进的数据访问方案,以提高缓存命中率。
技术实现思路
为此,本专利技术实施例提供了一种数据访问方法、装置、设备及系统,以力图解决或者至少缓解上面存在的至少一个问题。根据本专利技术实施例的一个专利技术,提供了一种数据访问方法,包括:第一服务节点接收请求调用第一服务的第一请求;在第一服务节点处理第一请求期间,确定需要调用第二服务;基于第一请求中携带的调用标识,确定调用的第二服务节点。可选地,在根据本专利技术实施例的数据访问方法中,在基于第一请求中携带的调用标识,确定调用的第二服务节点的步骤之前,还包括:判断第一请求是否携带有调用标识;若第一请求未携带调用标识,则生成调用标识;基于生成的调用标识,确定调用的第二服务节点。根据本专利技术实施例的另一方面,提供了一种数据访问装置,包括:通信单元,适于在第一服务节点处接收请求调用第一服务的第一请求;服务路由单元,适于在第一服务节点处理所述第一请求期间,确定需要调用第二服务;还适于基于第一请求中携带的调用标识,确定调用的第二服务节点。根据本专利技术实施例的另一方面,提供了一种分布式服务系统,包括服务注册中心和多个服务节点集群,其中服务节点集群包括多个提供服务的服务节点,服务节点驻留有根据本专利技术实施例的数据访问装置;服务注册中心适于管理服务节点的注册和查询提供服务的服务节点。根据本专利技术实施例的还有一个方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,该一个或多个程序包括用于执行根据本专利技术实施例的数据访问方法的指令。根据本专利技术实施例的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当计算设备执行时,使得计算设备执行根据本专利技术实施例的数据访问方法。根据本专利技术实施例的数据访问方案通过调用标识将具有该调用标识的所有服务调用者路由到同一个服务提供者上,极大地提高了缓存命中率,降低了数据库的访问压力。其中,通过在服务节点内设置本地缓存,实现了对建立单机内存缓存的支持。进一步地,通过缓存调用服务得到的数据、并采用调用标识和所调用的对象签名来查询缓存,实现了对服务的同步调用和异步调用的支持。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本专利技术一个实施例的分布式服务系统100的示意图;图2示出了根据本专利技术一个实施例的计算设备200的示意图;图3示出了根据本专利技术一个实施例的数据访问方法300的流程图;图4示出了根据本专利技术一个实施例的数据访问方法400的交互流程图;图5示出了根据本专利技术一个实施例的数据访问装置500的结构框图;图6示出了根据本专利技术一个实施例的数据访问方法600的流程图;以及图7示出了根据本专利技术一个实施例的数据访问装置700的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的分布式服务系统100的示意图。如图1所示,分布式服务系统100包括服务注册中心110和多个服务节点集群120(图1中服务节点集群的数目仅为示例)。其中,各服务节点集群120包括多个服务节点,同一服务节点集群内的服务节点可以提供相同服务。不同的服务节点集群可以提供不同的服务。例如,第一服务节点集群所包括的第一服务节点提供第一服务,第二服务节点集群所包括的第二服务节点提供第二服务。服务注册中心110则可以管理上述服务节点的注册和查询提供服务的服务节点。各服务节点可以通过诸如局域网(LAN)或者广域网(WAN)之类的一个或多个网络与服务注册中心110进行通信。具体地,服务注册中心110可以维护服务注册表,服务注册表记录有提供各服务的服务节点信息。服务节点信息通常包括访问服务节点的路径,例如服务节点的网络地址等等。在一些实施例中,服务节点可以向服务注册中心110发送服务注册请求,以进行服务注册。服务注册中心110可以响应于服务注册请求,将该服务节点记录在服务注册表中。相应地,服务节点还可以向服务注册中心110发送服务注销请求,以进行服务注销。服务注册中心110可以响应于服务注销请求,将该服务节点的记录从服务注册表中删除。此外,服务节点还可以定期向服务注册中心110发送心跳信号,以表明该服务节点的可用性。在另一些实施例中,服务节点也可以经由第三方服务管理中心来向服务注册中心进行服务注册和服务注销。本专利技术对此不做限制。当服务节点需要调用其他服务节点提供的服务时,通常可以先向服务注册中心110请求获取提供此服务的所有服务节点,再从中选择调用的服务节点进行访问。例如,当第一服务节点需要调用第二服务节点提供的第二服务时,第一服务节点可以向服务注册中心110发送服务查询请求,以获取提供第二服务的服务节点。服务注册中心110响应于服务查询请求,查询服务注册表,将提供第二服务的所有第二服务节点返回至第一服务节点。第一服务节点从服务注册中心110所返回的多个第二服务节点中选择调用的第二服务节点进行访问。应当指出,上述分布式服务系统100可以是分布式微服务系统,所提供的服务可以是微服务,提供服务的服务节点可以是提供微服务的服务实例本文档来自技高网...

【技术保护点】
1.一种数据访问方法,包括:/n第一服务节点接收请求调用第一服务的第一请求;/n在所述第一服务节点处理所述第一请求期间,确定需要调用第二服务;/n基于所述第一请求中携带的调用标识,确定调用的第二服务节点。/n

【技术特征摘要】
1.一种数据访问方法,包括:
第一服务节点接收请求调用第一服务的第一请求;
在所述第一服务节点处理所述第一请求期间,确定需要调用第二服务;
基于所述第一请求中携带的调用标识,确定调用的第二服务节点。


2.如权利要求1所述的方法,其中,在基于所述第一请求中携带的调用标识,确定调用的第二服务节点的步骤之前,还包括:
判断所述第一请求是否携带有调用标识;
若所述第一请求未携带调用标识,则生成调用标识;
基于生成的调用标识,确定调用的第二服务节点。


3.如权利要求1或2所述的方法,其中,基于所述第一请求中携带的调用标识、或者生成的调用标识,确定调用的第二服务节点的步骤包括:
获取提供所述第二服务的多个第二服务节点;
基于所述第一请求中携带的调用标识、或者生成的调用标识,从所述多个第二服务节点中选择调用的第二服务节点。


4.如权利要求3所述的方法,其中,基于所述第一请求中携带的调用标识、或者生成的调用标识,从所述多个第二服务节点中选择调用的第二服务节点的步骤包括:
采用一致性哈希算法,基于所述调用标识从所述多个第二服务节点中选择调用的第二服务节点。


5.如权利要求1或2所述的方法,其中,在基于所述第一请求中携带的调用标识、或者生成的调用标识,确定调用的第二服务节点的步骤之后,还包括:
生成请求调用第二服务、并携带有所述调用标识的第二请求;
将所述第二请求发送至所述调用的第二服务节点,以便所述调用的第二服务节点调用第二服务后将得到的第二数据返回至所述第一服务节点。


6.如权利要求1所述的方法,其中,还包括:
响应于所述第一请求,调用第一服务得到第一数据。


7.如权利要求6所述的方法,其中,调用第一服务得到第一数据的步骤包括:
从所述第一服务节点的数据库处获取所述第一数据。


8.如权利要求5所述的方法,其中,调用第一服务得到第一数据的步骤包括:
在从所述第一服务节点的数据库处获取所述第一数据之前,查询所述第一服务节点的缓存处是否存在所述第一数据;
如果存在,则从所述缓存处获取所述第一数据。


9.如权利要求8所述的方法,其中,调用第一服务得到第一数据的步骤包括:
如果所述第一服务节点的缓存处不存在...

【专利技术属性】
技术研发人员:王雪
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1