CN116860806A - 数据查询方法、装置、电子设备及计算机存储介质 - Google Patents

数据查询方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN116860806A
CN116860806A CN202310916294.1A CN202310916294A CN116860806A CN 116860806 A CN116860806 A CN 116860806A CN 202310916294 A CN202310916294 A CN 202310916294A CN 116860806 A CN116860806 A CN 116860806A
Authority
CN
China
Prior art keywords
query
service
data
determining
identifier
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
Application number
CN202310916294.1A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co 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 Industrial and Commercial Bank of China Ltd ICBC, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310916294.1A priority Critical patent/CN116860806A/zh
Publication of CN116860806A publication Critical patent/CN116860806A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供了一种数据查询方法、装置、电子设备及计算机存储介质,可以应用于云计算技术领域。该方法包括:响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识,其中,网关设备用于接收并转发用户发起的查询请求;确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务,注册中心用于调度多个应用服务,缓存服务用于存储注册中心的操作信息;响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及根据查询结果,确定查询数据。

Description

数据查询方法、装置、电子设备及计算机存储介质
技术领域
本公开涉及云计算技术领域,更具体地涉及一种数据查询方法、装置、电子设备及计算机存储介质。
背景技术
随着云计算技术的不断发展,企业能够利用云服务平台向用户提供多种应用服务,也即微服务。相关技术中,一般由云服务平台内的注册中心管理和调度多个微服务。例如,由注册中心将用户请求转发至微服务,微服务执行对应的功能并向用户反馈执行结果。
在实现上述发明构思的过程中,发明人发现相关技术至少存在以下技术问题:微服务与注册中心之间频繁的数据调用和缓存操作,导致云服务平台的处理效率较低。
发明内容
鉴于上述问题,本公开提供了一种数据查询方法、装置、电子设备及计算机存储介质。
根据本公开的第一个方面,提供了一种数据查询方法,包括:
响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识,其中,网关设备用于接收并转发用户发起的查询请求;
确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务,注册中心用于调度多个应用服务,缓存服务用于存储注册中心的操作信息;
响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及
根据查询结果,确定查询数据。
根据本公开的实施例,其中,根据查询结果,确定查询数据包括:
响应于查询结果表征不存在与查询请求对应的目标数据,从注册中心中确定与查询标识相匹配的目标应用服务的访问地址;
将查询请求转发至访问地址,以便目标应用服务执行查询操作;以及
接收由访问地址返回的查询数据,并将查询数据存储至缓存服务。
根据本公开的实施例,还包括:
在将查询数据存储至缓存服务的同时,通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,其中,根据匹配结果,确定查询数据还包括:
响应于查询结果表征存在与查询请求对应的目标数据,将目标数据作为查询数据,并通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,其中,查询标识包括用户标识和业务数据标识;响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果,包括:
响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据业务数据标识,在缓存服务中确定针对目标应用服务的存储区域;
根据用户标识在存储区域中执行查询操作,确定查询结果。
根据本公开的实施例,在解析查询请求得到查询标识之后,还包括:
确定与查询标识相匹配的时间参数,其中,时间参数用于表征与查询标识相对应的应用服务在缓存服务中的数据存储时长。
根据本公开的实施例,其中,根据用户标识在存储区域中执行查询操作,确定查询结果,包括:
根据用户标识在存储区域中确定备选查询数据和存储备选查询数据的存储时刻;
计算当前时刻与存储时刻之间的时间差;以及
根据时间差与时间参数之间的比较关系,确定查询结果。
根据本公开的实施例,其中,查询结果包括查询成功和查询失败;根据时间差与时间参数之间的比较关系,确定查询结果包括:
在时间差小于或等于时间参数的情况下,将备选查询数据确定为与查询请求对应的目标数据,并确定查询结果为查询成功;
在时间差大于时间参数的情况下,确定查询结果为查询失败。
本公开的第二方面提供了一种数据查询装置,包括:
解析模块,用于响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识,其中,网关设备用于接收并转发用户发起的查询请求;
第一确定模块,用于确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务,注册中心用于调度多个应用服务,缓存服务用于存储注册中心的操作信息;
第二确定模块,用于响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及
第三确定模块,用于根据查询结果,确定查询数据。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述数据查询方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据查询方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据查询方法。
在本公开的实施例,响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识;确定与查询标识相匹配的服务参数;响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及根据查询结果,确定查询数据,实现了数据查询操作。由于应用服务的业务数据能够存储在注册中心内的缓存服务中,因此,网关设备将查询请求转发至注册中心之后,注册中心通过判断服务参数能够确定是否在缓存服务中执行查询操作,至少部分地减少了应用服务与注册中心之间的交互次数,能够提高云服务平台整体的处理效率和数据处理量。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据查询方法的应用场景;
图2示意性示出了根据本公开实施例的数据查询方法的流程图;
图3示意性示出了根据本公开实施例的在查询结果表征不存在与查询请求对应的目标数据的情况下获取查询数据的方法的流程图;
图4示意性示出了根据本公开一具体实施例的确定查询数据的方法的流程图;
图5示意性示出了根据本公开一具体实施例的确定查询数据的应用场景;
图6示意性示出了根据本公开另一实施例的确定查询数据的应用场景;
图7示意性示出了根据本公开实施例的数据查询装置的结构框图;以及
图8示意性示出了根据本公开实施例的适于数据查询方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的数据(如包括但不仅限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
相关技术中,一般由云服务平台内的注册中心管理和调度多个微服务。例如,由注册中心将用户请求转发至微服务,微服务执行对应的功能并向用户反馈执行结果。云服务平台中的多个微服务一般来源于多个服务提供方,每个微服务都由对应的服务提供方开发或完善服务功能。
服务提供方在开发微服务时,需要在微服务的业务代码中编写用于实现缓存功能的程序块。由此,用户在发起查询请求时,网关设备将查询请求转发至注册中心,注册中心再将查询请求转发至对应的微服务,由微服务响应于上述查询请求,从缓存或数据库中查询对应的数据并返回。
在实现上述查询操作时,查询请求需要依次经过网关设备、注册中心和微服务,在微服务的缓存中没有数据时,还需要经过微服务对应的数据库,实现数据查询操作。由于每个微服务都能够执行查询操作,使得多个微服务与注册中心之间存在频繁的数据查询操作。由于网关和注册中心能够处理的数据量是有限的,频繁的数据查询操作会降低微服务之间的网络请求速率,从而影响整体微服务系统的处理效率和处理量。
此外,每个微服务都能够通过缓存功能实现数据查询。然而,用于实现缓存功能的代码逻辑较为复杂,每个服务提供方的编码能力也存在差异,因此,由每个服务提供方自行开发缓存服务也会导致开发成本和代码审核成本高。
本公开的实施例提供了一种数据查询方法,包括:响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识,其中,网关设备用于接收并转发用户发起的查询请求;确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务,注册中心用于调度多个应用服务,缓存服务用于存储注册中心的操作信息;响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及根据查询结果,确定查询数据。
图1示意性示出了根据本公开实施例的数据查询方法的应用场景。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络105、网关设备105和服务器106。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103、网关设备105和服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与网关设备105交互;网关设备105可以将用户发起的请求转发至服务器106,以执行数据操作等。
第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
网关设备105,又称网间连接器、协议转换器,是一种充当转换重任的计算机系统或设备。通常是在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
服务器106可以是一个服务器,也可以是一个服务器集群,用于承载云服务平台。例如,服务器集群中的每个服务器都可以作为云服务平台中的一个节点,用于提供对应的服务。
需要说明的是,本公开实施例所提供的数据查询方法一般可以由服务器106执行。相应地,本公开实施例所提供的数据查询装置一般可以设置于服务器106中。本公开实施例所提供的数据查询方法也可以由不同于服务器106且能够与第一终端设备101、第二终端设备102、第三终端设备103、网关设备105和/或服务器106通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据查询装置也可以设置于不同于服务器106且能够与第一终端设备101、第二终端设备102、第三终端设备103、网关设备105和/或服务器106通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图6对公开实施例的数据查询方法进行详细描述。
图2示意性示出了根据本公开实施例的数据查询方法的流程图。
如图2所示,该方法200包括操作S210~S240。
在操作S210,响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识。
根据本公开的实施例,网关设备用于接收并转发用户发起的查询请求。网关设备作为云服务平台与用户进行交互的唯一通道,用于将用户发起的各种类型的请求转发至注册中心,以及将注册中心或应用服务得到的执行结果返回给用户。
根据本公开的实施例,用户发起的请求的类型包括查询请求、数据处理请求等。查询请求用于执行查询操作,数据处理请求用于执行多个类型的数据处理操作。
例如,查询请求A用于查询用户的基本信息,数据处理请求B用于执行转账操作,数据处理请求C用于执行交互操作,数据处理请求D用于执行理财操作等。
根据本公开的实施例,查询请求包括查询标识,查询标识用于确定待查询的数据。
在操作S220,确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务。
根据本公开的实施例,注册中心用于调度多个应用服务,也即微服务。
根据本公开的实施例,应用服务在注册中心进行注册后,才能正常提供服务。
根据本公开的实施例,注册中心包括缓存服务,用于存储注册中心的操作信息。例如,缓存服务可以存储注册中心发送和接收的请求,还可以存储由应用服务返回的数据。
根据本公开的实施例,根据查询标识能够确定与其相匹配的目标应用服务,进而确定与目标应用服务相关的服务参数。每个应用服务都可以对应一个服务参数,服务参数用于表征该应用服务是否启用注册中心的缓存服务。
根据本公开的实施例,当应用服务已启用注册中心的缓存服务时,注册中心的缓存服务可以缓存应用服务中的部分业务数据;当应用服务未启用注册中心的缓存服务时,应用服务中的业务数据无法存储至注册中心的缓存服务,仅能由应用服务本地的缓存或应用服务的数据库存储对应的业务数据。
根据本公开的实施例,业务数据是指与应用服务提供的服务相关的具体服务,例如,查询的用户基本信息。
在操作S230,响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果。
根据本公开的实施例,在服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务时,由于目标应用服务能够使用注册中心中的缓存服务,因此,可以根据解析得到的查询标识在缓存服务中进行查询,已得到查询结果。
根据本公开的实施例,查询结果用于表征是否查询到与查询请求对应的目标数据。在能够查询到与查询请求对应的目标数据的情况下,查询结果包括表征执行结果的“查询成功”和查询到的目标数据。在不能够查询到与查询请求对应的目标数据的情况下,查询结果仅包括表征执行结果的“查询失败”。
在操作S240,根据查询结果,确定查询数据。
根据本公开的实施例,由于查询结果可以包括查询数据,因此,在确定查询结果之后,可以直接从查询结果中获取查询数据。
在本公开的实施例,响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识;确定与查询标识相匹配的服务参数;响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果;以及根据查询结果,确定查询数据,实现了数据查询操作。由于应用服务的业务数据能够存储在注册中心内的缓存服务中,因此,网关设备将查询请求转发至注册中心之后,注册中心通过判断服务参数能够确定是否在缓存服务中执行查询操作,至少部分地减少了应用服务与注册中心之间的交互次数,能够提高云服务平台整体的处理效率和数据处理量。
此外,由于注册中心能够综合至少一个应用服务的缓存服务,因此,本公开的实施例至少能够部分地解决缓存服务开发成本和代码审核成本高的问题,降低应用服务中缓存功能的开发成本和代码审核成本。
图3示意性示出了根据本公开实施例的在查询结果表征不存在与查询请求对应的目标数据的情况下获取查询数据的方法的流程图。
如图3所示,该实施例的在查询结果表征不存在与查询请求对应的目标数据的情况下获取查询数据的方法300包括操作S341~操作S343,可以作为操作S240的一个具体实施例。
在操作S341,响应于查询结果表征不存在与查询请求对应的目标数据,从注册中心中确定与查询标识相匹配的目标应用服务的访问地址。
在操作S342,将查询请求转发至访问地址,以便目标应用服务执行查询操作。
在操作S343,接收由访问地址返回的查询数据,并将查询数据存储至缓存服务。
根据本公开的实施例,在与查询标识相匹配的目标应用服务已启用缓存服务的情况下,如果查询结果表征不存在与查询请求对应的目标数据,此时,再由与查询标识相匹配的目标应用服务执行查询操作,得到对应的查询数据。
根据本公开的实施例,在上线应用服务时,应用服务需要在注册中心内完成注册操作,也即建立注册中心与应用服务之间的映射关系。在查询结果表征不存在与查询请求对应的目标数据时,可以根据注册中心与应用服务之间的映射关系,从注册中心中确定与查询标识相匹配的目标应用服务的访问地址。
根据本公开的实施例,访问地址包括互联网协议地址(Internet ProtocolAddress,IP地址)和端口。
根据本公开的实施例,在确定目标应用服务的访问地址之后,将查询请求转发至上述访问地址,以便目标应用服务根据接收的查询请求执行查询操作。
根据本公开的实施例,由于目标应用服务已经启用注册中心的缓存服务,因此,目标应用服务执行查询操作后,将查询到的查询数据返回至注册中心的缓存服务,以便在第二次查询上述查询数据时,直接从缓存服务中获取对应的查询数据。
在本公开的实施例中,先在缓存服务中查询目标数据,有目标数据直接返回无需转发请求到下游应用服务,能够减少注册中心与应用服务之间的交互次数。在缓存服务中没有查询数据时,再由对应的应用服务执行查询操作,并向缓存服务存入查询的数据,在保证查询到对应的目标数据的同时,能够方便下次查询,减少下次查询的交互次数。
根据本公开的实施例,在将查询数据存储至缓存服务的同时,通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,由于目标应用服务已启用注册中心的缓存服务,因此,执行查询操作之后将查询到的查询数据。同时,通过网关设备将查询数据返回至发起查询请求的地址,无需再由缓存服务通过网关设备发送查询数据,减少查询数据的返回时长,提高处理效率。
根据本公开的实施例,根据匹配结果,确定查询数据还包括:响应于查询结果表征存在与查询请求对应的目标数据,将目标数据作为查询数据,并通过网关设备将查询数据返回至发起查询请求的地址。
例如,用户向网关设备发送了一个查询请求A,查询请求A用于首次在应用服务B中查询“数据C”。其中,应用服务B已启用注册中心的缓存服务。
网关设备将查询请求A转发至注册中心,注册中心解析查询请求A得到查询标识D;确定与查询标识D相匹配的服务参数。由于应用服务B已启用注册中心的缓存服务,因此,服务参数表征应用服务B已启用缓存服务。此时,注册中心根据查询标识D在缓存服务中进行查询操作,确定查询结果。由于查询请求A用于首次在应用服务B中查询“数据C”,因此,缓存服务中没有“数据C”,此时,查询结果表征缓存服务中不存在与查询请求A对应的“数据C”,注册中心将查询请求A转发至应用服务B,由应用服务B执行查询操作,得到“数据C”。应用服务B在得到“数据C”之后,通过网关设备将“数据C”返回给用户;同时,将“数据C”返回至缓存服务。
用户在发送查询请求A并获取“数据C”之后,用户又向网关设备发送了一个查询请求A’,查询请求A’也用于在应用服务B中查询“数据C”。此时,查询请求A’用于第二次查询“数据C”。
网关设备将查询请求A’转发至注册中心,注册中心解析查询请求A’得到查询标识D’;确定与查询标识D’相匹配的服务参数。服务参数表征应用服务B已启用缓存服务,注册中心可以根据查询标识D’在缓存服务查询到“数据C”。在缓存服务中查询到“数据C”之后,注册中心直接将“数据C”通过网关返回用户,无需再将查询请求转发至应用服务B。
根据本公开的实施例,查询标识包括用户标识和业务数据标识。
根据本公开的实施例,响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果,包括:响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据业务数据标识,在缓存服务中确定针对目标应用服务的存储区域;根据用户标识在存储区域中执行查询操作,确定查询结果。
根据本公开的实施例,用户标识用于唯一确定用户,例如,用户标识可以是发起查询请求的用户终端设备的访问地址、端口和用户身份信息组合得到的标识。
根据本公开的实施例,注册中心的缓存服务可以存储多个应用服务的业务数据,多个应用服务用于提供多种业务功能。因此,缓存服务中可以根据业务功能类型存储业务数据。业务标识用于表征待查询的业务数据的功能类型。
根据本公开的实施例,一个用户可以订阅多个应用服务,一个应用服务同时向多个用户提供服务。根据用户标识可以唯一确定用户要查询的数据。
根据本公开的实施例,响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据业务数据标识,在缓存服务中确定针对目标应用服务的存储区域。之后,可以根据用户标识在存储区域中执行查询操作,确定待查询的目标数据。
根据本公开的实施例,由于至少一个应用服务能够启用注册中心的缓存服务,因此,在缓存服务中按照业务功能类型分区存储,并基于用户标识在对应的存储区域中确定目标数据能够提高查询效率。
图4示意性示出了根据本公开一具体实施例的确定查询数据的方法的流程图。
如图4所示,确定查询数据的方法400包括操作S401~操作S409。
在操作S401,解析查询请求得到查询标识。
在操作S402,确定与查询标识相匹配的服务参数。
在操作S403,是否启用注册中心的缓存服务。具体地,在服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务的情况下,进入操作S404;在服务参数表征与查询标识相匹配的目标应用服务未启用缓存服务的情况下,进入操作S406,以便在应用服务中执行查询操作。
在操作S404,根据查询标识在缓存服务中进行查询操作,确定查询结果。
在操作S405,是否查询成功。具体地,在查询成功时,进入操作S409,直接将从缓存服务中查询到的查询数据返回发起查询请求的地址。在查询失败的情况下,进入操作S406,以便在应用服务中执行查询操作。
在操作S406,从注册中心中确定与查询标识相匹配的目标应用服务的访问地址。
在操作S407,将查询请求转发至访问地址,以便目标应用服务执行查询操作。
在操作S408,接收由访问地址返回的查询数据,并将查询数据存储至缓存服务。
在操作S409,通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,在解析查询请求得到查询标识之后,还包括:确定与查询标识相匹配的时间参数,其中,时间参数用于表征与查询标识相对应的应用服务在缓存服务中的数据存储时长。
根据本公开的实施例,根据用户标识在存储区域中执行查询操作,确定查询结果,包括:根据用户标识在存储区域中确定备选查询数据和存储备选查询数据的存储时刻;计算当前时刻与存储时刻之间的时间差;以及根据时间差与时间参数之间的比较关系,确定查询结果。
根据本公开的实施例,应用服务在注册中心中进行注册时,可以将时间参数和服务参数作为注册数据存储在注册中心。在接收并解析查询请求得到查询标识之后,根据查询标识可以直接获取服务参数和时间参数。
根据本公开的实施例,时间参数可以为有效存储时长。
根据本公开的实施例,备选查询数据可以理解为已经在存储区域中查询到的数据,但是并不确定该数据是否超过有效存储时长。可以理解的是,由于应用服务存储的数据具有时效性,只有未超过有效存储时长的数据才能作为目标数据。
根据本公开的实施例,缓存服务在存储数据时同步保存存储该数据的存储时刻。在根据用户标识在存储区域中确定备选查询数据的同时,也能确定存储备选查询数据的存储时刻,以便根据存储时刻和当前时刻计算备选查询数据的存储时长。例如,可以通过当前时刻与存储时刻之间的时间差,将该时间差作为存储时长,之后,根据时间差与时间参数之间的比较关系,确定查询结果。
根据本公开的实施例,查询结果包括查询成功和查询失败;根据时间差与时间参数之间的比较关系,确定查询结果包括:在时间差小于或等于时间参数的情况下,将备选查询数据确定为与查询请求对应的目标数据,并确定查询结果为查询成功;在时间差大于时间参数的情况下,确定查询结果为查询失败。
根据本公开的实施例,在时间差小于或等于时间参数的情况下,表征备选查询数据没有超过数据存储时长,属于有效的查询数据,因此,可以将备选查询数据作为目标数据,并将查询结果确定为查询成功。
在时间差大于时间参数的情况下,表征备选查询数据已经超过数据存储时长,需要重新从应用服务中获取并更新查询数据。
在本公开的实施例中,通过新增的时间参数能够随时更新缓存服务中存储的数据,以保证数据的时效性。
图5示意性示出了根据本公开一具体实施例的确定查询数据的应用场景。
如图5所示,应用场景500描述了在应用服务1已启用注册中心的缓存服务的情况下,获取查询数据的过程。
用户1可以向网关设备发送查询请求,网关设备将查询请求转发至注册中心的管理节点,由管理节点解析查询请求得到查询标识,根据查询标识确定服务参数。响应于服务参数表征与查询标识相匹配的应用服务1已启用缓存服务,管理节点向缓存服务发起请求缓存推送,以便确定与查询请求对应的查询数据。
在缓存服务中得到查询数据之后,缓存服务将查询数据返回网关设备,以便通过网关设备向用户1返回查询数据。
在缓存服务中执行查询操作,得到的查询结果表征不存在与查询请求对应的目标数据,缓存服务向管理节点返回查询结果,由管理节点确定与查询标识相匹配的应用服务1的访问地址。之后,管理节点将查询请求转发至应用服务1的访问地址,由应用服务1执行查询操作。应用服务1执行查询操作之后,将查询数据同步发送至缓存服务和网关设备,以便通过网关设备向用户1返回查询数据。
根据本公开的实施例,用户还可以向网关设备发送业务处理请求,例如,交易请求,由应用服务执行对应的交易操作并通过王官舍必返回交易结果。
图6示意性示出了根据本公开另一实施例的确定查询数据的应用场景。
如图6所示,应用场景600描述了在应用服务2未启用注册中心的缓存服务的情况下,获取查询数据的过程。
用户1可以向网关设备发送查询请求,网关设备将查询请求转发至注册中心的管理节点,由管理节点解析查询请求得到查询标识,根据查询标识确定服务参数。响应于服务参数表征与查询标识相匹配的应用服务2未启用缓存服务,由管理节点确定与查询标识相匹配的应用服务2的访问地址。之后,管理节点将查询请求转发至应用服务2的访问地址,由应用服务2执行查询操作。具体地,应用服务2在数据库中执行查询操作,得到与查询请求对应的查询数据。由于应用服务2未启用缓存服务,因此,应用服务2仅将查询数据发送至网关设备,通过网关设备向用户1返回查询数据。
根据本公开的实施例,通过注册中心的缓存服务即可实现查询数据换的缓存,使得在应用服务中不包括缓存功能的代码时,能够实现查询数据的缓存。此外,通过注册中心的缓存服务能够对应用服务的查询数据进行缓存统一管理,减少了后续开发、升级缓存功能的成本,减少开发应用服务代码量。
此外,还需要说明的是,本公开的实施例通过注册中心的缓存服务实现查询数据换的缓存,还能将应用服务待执行的请求部分转移至缓存中心,扩大了应用服务待处理的请求数量,提高了云服务平台整体的数据吞吐量。
图7示意性示出了根据本公开实施例的数据查询装置的结构框图。
如图7所示,该实施例的数据查询装置700包括解析模块710、第一确定模块720、第二确定模块730和第三确定模块740。
解析模块710,用于响应于接收到由网关设备转发的查询请求,解析查询请求得到查询标识,其中,网关设备用于接收并转发用户发起的查询请求。在一实施例中,解析模块710,可以用于执行前文描述的操作S210,在此不再赘述。
第一确定模块720,用于确定与查询标识相匹配的服务参数,其中,服务参数用于表征应用服务是否启用注册中心的缓存服务,注册中心用于调度多个应用服务,缓存服务用于存储注册中心的操作信息。在一实施例中,第一确定模块720可以用于执行前文描述的操作S220,在此不再赘述。
第二确定模块730,用于响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据查询标识在缓存服务中进行查询操作,确定查询结果。在一实施例中,第二确定模块730可以用于执行前文描述的操作S230,在此不再赘述。
第三确定模块740,用于根据查询结果,确定查询数据。在一实施例中,第三确定模块740可以用于执行前文描述的操作S240,在此不再赘述。
根据本公开的实施例,第三确定模块740包括第一确定子模块、第一转发子模块和接收子模块。
第一确定子模块用于响应于查询结果表征不存在与查询请求对应的目标数据,从注册中心中确定与查询标识相匹配的目标应用服务的访问地址。在一实施例中,第一确定子模块可以用于执行前文描述的操作S341,在此不再赘述。
第一转发子模块用于将查询请求转发至访问地址,以便目标应用服务执行查询操作。在一实施例中,第一转发子模块可以用于执行前文描述的操作S342,在此不再赘述。
接收子模块用于接收由访问地址返回的查询数据,并将查询数据存储至缓存服务。在一实施例中,接收子模块可以用于执行前文描述的操作S343,在此不再赘述。
根据本公开的实施例,第三确定模块740还包括第二转发子模块,用于在将查询数据存储至缓存服务的同时,通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,第三确定模块740还包括第二确定子模块,用于响应于查询结果表征存在与查询请求对应的目标数据,将目标数据作为查询数据,并通过网关设备将查询数据返回至发起查询请求的地址。
根据本公开的实施例,查询标识包括用户标识和业务数据标识。第二确定模块730包括第三确定子模块和第四确定子模块。
第三确定子模块用于响应于服务参数表征与查询标识相匹配的目标应用服务已启用缓存服务,根据业务数据标识,在缓存服务中确定针对目标应用服务的存储区域。
第四确定子模块用于根据用户标识在存储区域中执行查询操作,确定查询结果。
根据本公开的实施例,数据查询装置700还包括第四确定模块,用于确定与查询标识相匹配的时间参数,其中,时间参数用于表征与查询标识相对应的应用服务在缓存服务中的数据存储时长。
根据本公开的实施例,第四确定子模块包括第一确定单元、第二确定单元和第三确定单元。
第一确定单元用于根据用户标识在存储区域中确定备选查询数据和存储备选查询数据的存储时刻。
第二确定单元用于计算当前时刻与存储时刻之间的时间差。
第三确定单元用于根据时间差与时间参数之间的比较关系,确定查询结果。
根据本公开的实施例,第三确定单元包括第一确定子单元和第二确定子单元。
第一确定子单元用于在时间差小于或等于时间参数的情况下,将备选查询数据确定为与查询请求对应的目标数据,并确定查询结果为查询成功。
第二确定子单元用于在时间差大于时间参数的情况下,确定查询结果为查询失败。
根据本公开的实施例,解析模块710、第一确定模块720、第二确定模块730和第三确定模块740中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本公开的实施例,解析模块710、第一确定模块720、第二确定模块730和第三确定模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,解析模块710、第一确定模块720、第二确定模块730和第三确定模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于数据查询方法的电子设备的方框图。
如图8所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800还可以包括连接至输入/输出I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供上述方法。
在该计算机程序被处理器801执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (12)

1.一种数据查询方法,包括:
响应于接收到由网关设备转发的查询请求,解析所述查询请求得到查询标识,其中,所述网关设备用于接收并转发用户发起的查询请求;
确定与所述查询标识相匹配的服务参数,其中,所述服务参数用于表征应用服务是否启用注册中心的缓存服务,所述注册中心用于调度多个应用服务,所述缓存服务用于存储所述注册中心的操作信息;
响应于所述服务参数表征与所述查询标识相匹配的目标应用服务已启用缓存服务,根据所述查询标识在所述缓存服务中进行查询操作,确定查询结果;以及
根据所述查询结果,确定查询数据。
2.根据权利要求1所述的方法,其中,所述根据所述查询结果,确定查询数据包括:
响应于所述查询结果表征不存在与所述查询请求对应的目标数据,从所述注册中心中确定与所述查询标识相匹配的目标应用服务的访问地址;
将所述查询请求转发至所述访问地址,以便所述目标应用服务执行查询操作;以及
接收由所述访问地址返回的查询数据,并将所述查询数据存储至所述缓存服务。
3.根据权利要求2所述的方法,还包括:
在将所述查询数据存储至所述缓存服务的同时,通过所述网关设备将所述查询数据返回至发起所述查询请求的地址。
4.根据权利要求1所述的方法,其中,所述根据所述匹配结果,确定查询数据还包括:
响应于所述查询结果表征存在与所述查询请求对应的目标数据,将所述目标数据作为所述查询数据,并通过所述网关设备将所述查询数据返回至发起所述查询请求的地址。
5.根据权利要求1所述的方法,其中,所述查询标识包括用户标识和业务数据标识;所述响应于所述服务参数表征与所述查询标识相匹配的目标应用服务已启用缓存服务,根据所述查询标识在所述缓存服务中进行查询操作,确定查询结果,包括:
响应于所述服务参数表征与所述查询标识相匹配的目标应用服务已启用缓存服务,根据所述业务数据标识,在所述缓存服务中确定针对所述目标应用服务的存储区域;
根据所述用户标识在所述存储区域中执行查询操作,确定所述查询结果。
6.根据权利要求5所述的方法,在所述解析所述查询请求得到查询标识之后,还包括:
确定与所述查询标识相匹配的时间参数,其中,所述时间参数用于表征与所述查询标识相对应的应用服务在所述缓存服务中的数据存储时长。
7.根据权利要求6所述的方法,其中,所述根据所述用户标识在所述存储区域中执行查询操作,确定所述查询结果,包括:
根据所述用户标识在所述存储区域中确定备选查询数据和存储所述备选查询数据的存储时刻;
计算当前时刻与所述存储时刻之间的时间差;以及
根据所述时间差与所述时间参数之间的比较关系,确定所述查询结果。
8.根据权利要求7所述的方法,其中,所述查询结果包括查询成功和查询失败;所述根据所述时间差与所述时间参数之间的比较关系,确定所述查询结果包括:
在所述时间差小于或等于所述时间参数的情况下,将所述备选查询数据确定为与所述查询请求对应的目标数据,并确定查询结果为查询成功;
在所述时间差大于所述时间参数的情况下,确定查询结果为查询失败。
9.一种数据查询装置,包括:
解析模块,用于响应于接收到由网关设备转发的查询请求,解析所述查询请求得到查询标识,其中,所述网关设备用于接收并转发用户发起的查询请求;
第一确定模块,用于确定与所述查询标识相匹配的服务参数,其中,所述服务参数用于表征应用服务是否启用注册中心的缓存服务,所述注册中心用于调度多个应用服务,所述缓存服务用于存储所述注册中心的操作信息;
第二确定模块,用于响应于所述服务参数表征与所述查询标识相匹配的目标应用服务已启用缓存服务,根据所述查询标识在所述缓存服务中进行查询操作,确定查询结果;以及
第三确定模块,用于根据所述查询结果,确定查询数据。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~8中任一项所述的方法。
CN202310916294.1A 2023-07-25 2023-07-25 数据查询方法、装置、电子设备及计算机存储介质 Pending CN116860806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310916294.1A CN116860806A (zh) 2023-07-25 2023-07-25 数据查询方法、装置、电子设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310916294.1A CN116860806A (zh) 2023-07-25 2023-07-25 数据查询方法、装置、电子设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN116860806A true CN116860806A (zh) 2023-10-10

Family

ID=88226746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310916294.1A Pending CN116860806A (zh) 2023-07-25 2023-07-25 数据查询方法、装置、电子设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN116860806A (zh)

Similar Documents

Publication Publication Date Title
CN112860451A (zh) 一种基于SaaS的多租户数据处理方法和装置
US8380820B1 (en) Sending synchronous responses to requests from frontend applications
US11838381B2 (en) Device cross-area access method, electronic device, and non-transitory computer-readable storage medium
CN113127168A (zh) 服务分配方法、系统、装置、服务器及介质
CN112202744B (zh) 一种多系统数据通信方法和装置
CN114979295B (zh) 一种网关管理的方法和装置
CN111984849A (zh) 一种信息查询方法、装置、设备及介质
CN113765774B (zh) 消息实时同步方法、装置、电子设备及介质
CN114285793A (zh) 一种分发方法、装置、设备和存储介质
CN107222365B (zh) 数据处理方法、装置及服务器
CN116599855A (zh) 数据传输方法、系统、电子设备及存储介质
CN115951923B (zh) 订阅事件管理方法、显示系统、设备和存储介质
CN115190062B (zh) 业务处理方法及装置、电子设备和计算机可读存储介质
CN109005250B (zh) 用于访问服务端的方法和装置
CN111262779A (zh) 即时通讯中数据的获取方法、装置、服务器及系统
CN116860806A (zh) 数据查询方法、装置、电子设备及计算机存储介质
CN115374207A (zh) 业务处理方法及装置、电子设备和计算机可读存储介质
CN115396494A (zh) 基于流式计算的实时监控方法及系统
CN112035760B (zh) 一种任务分配方法及计算机设备
CN113326060A (zh) 业务请求处理方法、装置和系统以及业务配置方法和装置
US20110055324A1 (en) Ubiquitous service framework system for supporting service in multiple domain and method thereof
CN114979004B (zh) 信息处理方法、装置、设备及介质
US11799982B2 (en) Message push method, apparatus, device and medium
CN113691462B (zh) 互联网组管理协议的应答方法及装置
CN111131414B (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