一种数据缓存方法和相关设备技术

技术编号:38460023 阅读:12 留言:0更新日期:2023-08-11 14:37
本申请实施例公开了一种数据缓存方法和相关设备,用于缓存微服务的有效数据。本申请用于服务系统,所述数据服务系统包括数据库和本地缓存模块。在本申请中,首先从所述数据库中获取目标有效数据,所述目标有效数据为用于运行目标微服务所需的全部有效数据,然后在所述本地存储模块中缓存所述目标有效数据。那么,在接收对所述目标有效数据的数据查询请求时,可以根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据,保障了目标微服务的继续运行,提升了目标微服务的容灾能力和可用性,从而提升了用户体验。从而提升了用户体验。从而提升了用户体验。

【技术实现步骤摘要】
一种数据缓存方法和相关设备


[0001]本申请涉及数据存储领域,尤其涉及一种数据缓存方法和相关设备。

技术介绍

[0002]微服务是一种软件架构风格,是以开发一组小型服务的方式来作为一个独立的应用系统,不同服务之间采用轻量级的通信机制进行通信。例如对于一个购物应用,可以分为用户注册服务、用户登录服务、商品展示服务、下单服务等小型服务,这些小型服务都可以分别开发和部署。
[0003]微服务所需有效数据的数据量较少,均存储于数据库中。当数据库本身出现问题时,例如网络中断或者数据库所依存的服务器宕机,微服务则无法继续运行。当前,可以通过缓存方案使微服务继续工作。具体的,在数据库出问题之前,微服务在运行的过程中所使用到的部分有效数据将被缓存。那么,当数据库出现问题之后,可以通过缓存的部分有效数据让微服务继续运行。
[0004]但是,在数据库出问题之前,微服务运行过程中未使用到的有效数据则未缓存,在数据库出现问题之后无法继续使用这部分未缓存的有效数据。若后续微服务的运行需要用上这部分未缓存的有效数据,那么微服务将无法继续工作。

技术实现思路

[0005]本申请实施例提供了一种数据缓存方法和相关设备,用于缓存微服务的有效数据。
[0006]本申请第一方面提供了一种数据缓存方法,用于数据服务系统,所述数据服务系统包括数据库和本地缓存模块。在本申请中,首先从所述数据库中获取目标有效数据,所述目标有效数据为用于运行目标微服务所需的全部有效数据,然后在所述本地存储模块中缓存所述目标有效数据。那么,在接收对所述目标有效数据的数据查询请求时,可以根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据,保障了目标微服务的继续运行,提升了目标微服务的容灾能力和可用性,从而提升了用户体验。
[0007]在一些可能的实现方式中,所述根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据之前,可以从所述数据库中查询所述目标有效数据,若在所述数据库中未查询到所述目标有效数据,则执行所述根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据的步骤,即在数据库出现故障时,还可以从所述本地存储模块中查询所述目标有效数据,保障了目标微服务的继续运行,提升了目标微服务的容灾能力和可用性,从而提升了用户体验。
[0008]在一些可能的实现方式中,所述从所述数据库中获取目标有效数据之前,可以从所述数据库中获取目标元数据,并根据所述目标元数据在所述本地存储模块中创建内存数据库,在所述内存数据库中对应缓存所述目标有效数据和所述目标元数据,从而实现了在本地存储模块中通过目标元数据查找目标有效数据。
[0009]在一些可能的实现方式中,所述数据查询请求中携带所述目标元数据,那么,根据所述目标元数据从所述本地存储模块中查询所述目标有效数据。
[0010]在一些可能的实现方式中,创建查询引擎,并使用所述查询引擎根据所述目标元数据从所述本地存储模块中查询所述目标有效数据,由于用户可以通过自行开发的查询引擎,实现通过标识符访问,也可以实现通过标准的结构化查询语言(structured query language,SQL)对缓存的目标有效数据进行灵活查询,例如标准的SQL92语法如条件查询、联合查询、分组查询及排序等。
[0011]第二方面,本申请提供一种数据缓存设备,所述数据缓存设备用于执行前述第一方面中任一项所述的方法。
[0012]第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面中任一项所述的方法。
[0013]本申请第四方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的方法。
[0014]本申请第五方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
[0015]本申请第六方面提供了一种芯片系统,该芯片系统包括处理器,用于支持数据缓存设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
[0016]在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存数据缓存设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
[0017]其中,第二至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
[0018]图1

1为本申请所应用的数据服务系统的架构示意图;
[0019]图1

2为本申请所提供的本地缓存模块的结构示意图;
[0020]图1

3为本申请所提供的本地缓存模块的另一结构示意图;
[0021]图2为本申请实施例提供的数据缓存方法的实施例示意图;
[0022]图3为本申请实施例提供的一种数据缓存设备的结构示意图;
[0023]图4为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
[0024]本申请实施例提供了一种数据缓存方法和相关设备,用于缓存微服务的有效数
据。
[0025]下面结合附图,对本申请的实施例进行描述。
[0026]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
[0027]如图1

1所示,为本申请所应用的数据服务系统100的架构示意图,该数据服务系统100包括应用软件模块110、数据驱动模块120、本地缓存模块130和数据库140。
[0028]需要说明的是,应用软件模块110、数据驱动模块120、本地缓存模块130和构成微服务实例。在一些可行的实现方式中,微服务实例中的应用软件模块110、数据驱动模块120本地缓存模块130均由同一个中央处理器(central processing unit,CPU)实现。在一些可行的实现方式中,一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据缓存方法,其特征在于,用于数据服务系统,所述数据服务系统包括数据库和本地缓存模块,所述方法包括:从所述数据库中获取目标有效数据,所述目标有效数据为用于运行目标微服务所需的全部有效数据;在所述本地存储模块中缓存所述目标有效数据;接收对所述目标有效数据的数据查询请求;根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据。2.根据权利要求1所述方法,其特征在于,所述根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据之前,所述方法还包括:从所述数据库中查询所述目标有效数据;若在所述数据库中未查询到所述目标有效数据,则执行所述根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据的步骤。3.根据权利要求1或2所述方法,其特征在于,所述从所述数据库中获取目标有效数据之前,所述方法还包括:从所述数据库中获取目标元数据;根据所述目标元数据在所述本地存储模块中创建内存数据库;所述在所述本地存储模块中缓存所述目标有效数据包括:在所述内存数据库中对应缓存所述目标有效数据和所述目标元数据。4.根据权利要求3所述方法,其特征在于,所述数据查询请求中携带所述目标元数据,所述根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据包括:根据所述目标元数据从所述本地存储模块中查询所述目标有效数据。5.根据权利要求3或4所述方法,其特征在于,所述方法还包括:创建查询引擎;所述根据所述目标元数据从所述本地存储模块中查询所述目标有效数据包括:使用所述查询引擎根据所述目标元数据从所述本地存储模块中查询所述目标有效数据。6.一种数据缓存设备,其特征在于,包括:处理模块,用于从所述数据库中获取目标有效数据,所述目标有效数据为用于运行目标微服务所需的全部有效数据;存储模块,用于在所述本地存储模块中缓存所述目标有效数据;所述处理模块,还用于接收对所述目标有效数据的数据查询请求;所述处理模块,还用于根据所述数据查询请求从所述本地存储模块中查询所述目标有效数据。7.根据权利要求6所述设备,其特征在于,所述处理模块,还用于从所述数据库中查询所述目标有效数据;所述处理...

【专利技术属性】
技术研发人员:祝君肖伟民王彧周搏涛张春鹤
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1