加载缓存数据和数据处理的方法、装置、电子设备及介质制造方法及图纸

技术编号:37467171 阅读:12 留言:0更新日期:2023-05-06 09:42
本公开涉及一种加载缓存数据和数据处理的方法、装置、电子设备及介质,该方法包括:在缓存中查询是否存在与待访问的数据对象的目标键匹配的缓存值结果;在不存在缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;该操作代码块为针对该数据对象执行访问处理的处理逻辑中的代码块,该目标接口函数为该缓存的回调函数;根据该目标接口函数的执行结果,确定该目标键对应的目标值,并将该目标值回调写入至该缓存。目标接口函数的执行过程既是处理数据访问请求的过程,同时又是缓存数据加载的过程,使得缓存中写入的数据就是访问得到的结果数据,从而实现了数据访问和缓存加载的过程以及结果的一致性,同时代码只需一套,节省开发成本。节省开发成本。节省开发成本。

【技术实现步骤摘要】
加载缓存数据和数据处理的方法、装置、电子设备及介质


[0001]本公开涉及
,尤其涉及一种加载缓存数据和数据处理的方法、装置、电子设备及介质。

技术介绍

[0002]随着应用种类和数量呈数量级的增加,应用开发数据、应用业务数据以及应用运维数据等对应的数据规模非常庞大。在面对高并发或者大量数据访问的场景时,服务端直接从数据库访问相应数据,会对数据库的稳定性造成影响,而且查询效率较低。例如,以电商场景为例,针对一些物流或订单在一定时间内维持不变的静态数据,诸如频道页、活动页、商品页、订单信息和物流信息等,如果服务端针对频繁且高并发的访问请求均向数据库进行查询,会影响数据库的稳定性。
[0003]目前大多采用缓存技术来提升数据访问效率,并降低高并发访问对数据库的性能影响。在面对访问请求时,先从缓存查询,在缓存没有的情况下再去数据库进行查询。另外,在进行缓存数据和数据库数据的同步时,大多是通过离线任务方式或者定期更新的方式,从数据库同步数据至缓存。

技术实现思路

[0004]为了解决或者至少部分地解决以下发现的技术问题:现有的缓存加载过程和数据访问过程是两个分立的过程,而且缓存的加载和访问的开发在有些场景下也是独立的两个阶段或由不同的研发人员负责,这样容易导致从缓存访问到的数据和数据库中的数据不一致的问题,本公开的实施例提供了一种加载缓存数据和数据处理的方法、装置、电子设备及介质。
[0005]第一方面,本公开的实施例提供了一种加载缓存数据的方法。上述加载缓存数据的方法包括:在缓存中查询是否存在与待访问的数据对象的目标键匹配的缓存值结果;在不存在上述缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;上述操作代码块为针对上述数据对象执行访问处理的处理逻辑中的代码块,上述目标接口函数为上述缓存的回调函数;根据上述目标接口函数的执行结果,确定上述目标键对应的目标值,并将上述目标值回调写入至上述缓存。
[0006]根据本公开的实施例,上述加载缓存数据的方法中,上述根据操作代码块构造目标接口函数,包括:获取上述处理逻辑中各个代码块的评估执行时长;将上述评估执行时长超过设定阈值的代码块确定为操作代码块,上述设定阈值和上述数据访问请求对应的场景信息相关联;定义抽象函数,上述抽象函数被定义为上述缓存的回调函数;将上述操作代码块作为上述抽象函数的函数体内容,生成目标接口函数。
[0007]根据本公开的实施例,上述加载缓存数据的方法中,上述评估执行时长是根据上述处理逻辑中各个代码块的历史执行时长确定的;或者,上述评估执行时长是根据上述处理逻辑中各个代码块的历史执行时长和上述服务端的资源占用状态确定的。
[0008]根据本公开的实施例,上述加载缓存数据的方法中,上述操作代码块包括以下操作类型中至少一种:访问数据库的操作类型、调用远程服务接口的操作类型、执行本地处理逻辑的操作类型。
[0009]根据本公开的实施例,上述加载缓存数据的方法还包括:根据预设的容错时间,配置上述缓存中上述目标值的过期时间,上述容错时间用于表示上述缓存和数据库从数据不一致状态到转变为数据一致状态所经历的时长,上述过期时间用于表示上述缓存中数据的有效持续时长。
[0010]第二方面,本公开的实施例提供了一种数据处理的方法。上述数据处理的方法应用于服务端,上述方法包括:接收请求端发起的数据访问请求;对上述数据访问请求进行解析处理,得到待访问的数据对象对应的目标键;在缓存中查询是否存在与上述目标键匹配的缓存值结果;在不存在上述缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;上述操作代码块为针对上述数据对象执行请求处理的处理逻辑中的代码块,上述目标接口函数为上述缓存的回调函数;根据上述目标接口函数的执行结果,确定上述目标键对应的目标值,并将上述目标值回调写入至上述缓存;根据上述目标值,向上述请求端发送请求结果。
[0011]根据本公开的实施例,上述数据处理的方法中,上述根据操作代码块构造目标接口函数,包括:获取上述处理逻辑中各个代码块的评估执行时长;将上述评估执行时长超过设定阈值的代码块确定为操作代码块,上述设定阈值和上述数据访问请求对应的场景信息相关联;定义抽象函数,上述抽象函数被定义为上述缓存的回调函数;将上述操作代码块作为上述抽象函数的函数体内容,生成目标接口函数。
[0012]根据本公开的实施例,上述数据处理的方法中,上述评估执行时长是根据上述处理逻辑中各个代码块的历史执行时长确定的;或者,上述评估执行时长是根据上述处理逻辑中各个代码块的历史执行时长和上述服务端的资源占用状态确定的。
[0013]根据本公开的实施例,上述数据处理的方法中,上述操作代码块包括以下操作类型中至少一种:访问数据库的操作类型、调用远程服务接口的操作类型、执行本地处理逻辑的操作类型。
[0014]根据本公开的实施例,上述数据处理的方法还包括:在存在上述缓存值结果的情况下,根据上述缓存值结果,向上述请求端发送请求结果。
[0015]根据本公开的实施例,上述数据处理的方法还包括:根据预设的容错时间,配置上述缓存中上述目标值的过期时间,上述容错时间用于表示上述缓存和数据库从数据不一致状态到转变为数据一致状态所经历的时长,上述过期时间用于表示上述缓存中数据的有效持续时长。
[0016]根据本公开的实施例,上述数据处理的方法中,对上述数据访问请求进行解析处理,得到待访问的数据对象对应的目标键,包括:对上述数据访问请求的请求报文进行摘要计算,得到摘要信息;根据上述摘要信息,生成待访问的数据对象对应的目标键。
[0017]第三方面,本公开的实施例提供了一种加载缓存数据的装置。上述加载缓存数据的装置包括:查询模块、接口函数构造与执行模块、以及缓存数据处理模块。上述查询模块用于在缓存中查询是否存在与待访问的数据对象的目标键匹配的缓存值结果。上述接口函数构造与执行模块用于在不存在上述缓存值结果的情况下,根据操作代码块构造目标接口
函数并执行;上述操作代码块为针对上述数据对象执行访问处理的处理逻辑中的代码块,上述目标接口函数为上述缓存的回调函数。上述缓存数据处理模块用于根据上述目标接口函数的执行结果,确定上述目标键对应的目标值,并将上述目标值回调写入至上述缓存。
[0018]第四方面,本公开的实施例提供了一种数据处理的装置。上述数据处理的装置包括:请求接收模块、解析模块、查询模块、接口函数构造与执行模块、缓存数据处理模块、以及结果发送模块。上述请求接收模块用于接收请求端发起的数据访问请求。上述解析模块用于对上述数据访问请求进行解析处理,得到待访问的数据对象对应的目标键。上述查询模块用于在缓存中查询是否存在与上述目标键匹配的缓存值结果。上述接口函数构造与执行模块用于在不存在上述缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;上述操作代码块为针对上述数据对象执行请求处理的处理逻辑中的代码块,上述目标接口函数为上述缓存的回调函数。上述缓存数据处理模块用于根据上述目标接口函数的执行结果,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加载缓存数据的方法,其特征在于,包括:在缓存中查询是否存在与待访问的数据对象的目标键匹配的缓存值结果;在不存在所述缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;所述操作代码块为针对所述数据对象执行访问处理的处理逻辑中的代码块,所述目标接口函数为所述缓存的回调函数;根据所述目标接口函数的执行结果,确定所述目标键对应的目标值,并将所述目标值回调写入至所述缓存。2.一种数据处理的方法,其特征在于,应用于服务端,所述方法包括:接收请求端发起的数据访问请求;对所述数据访问请求进行解析处理,得到待访问的数据对象对应的目标键;在缓存中查询是否存在与所述目标键匹配的缓存值结果;在不存在所述缓存值结果的情况下,根据操作代码块构造目标接口函数并执行;所述操作代码块为针对所述数据对象执行请求处理的处理逻辑中的代码块,所述目标接口函数为所述缓存的回调函数;根据所述目标接口函数的执行结果,确定所述目标键对应的目标值,并将所述目标值回调写入至所述缓存;根据所述目标值,向所述请求端发送请求结果。3.根据权利要求1或2所述的方法,其特征在于,所述根据操作代码块构造目标接口函数,包括:获取所述处理逻辑中各个代码块的评估执行时长;将所述评估执行时长超过设定阈值的代码块确定为操作代码块,所述设定阈值和所述数据访问请求对应的场景信息相关联;定义抽象函数,所述抽象函数被定义为所述缓存的回调函数;将所述操作代码块作为所述抽象函数的函数体内容,生成目标接口函数。4.根据权利要求3所述的方法,其特征在于,所述评估执行时长是根据所述处理逻辑中各个代码块的历史执行时长确定的;或者,所述评估执行时长是根据所述处理逻辑中各个代码块的历史执行时长和所述服务端的资源占用状态确定的。5.根据权利要求3所述的方法,其特征在于,所述操作代码块包括以下操作类型中至少一种:访问数据库的操作类型、调用远程服务接口的操作类型、执行本地处理逻辑的操作类型。6.根据权利要求2所述的方法,其特征在于,对所述数据访问请求进行解析处理,得到待访问的数据对象对应的目标键,包括:对所述数据访问请求的请求报文进行摘要计算,得到摘要信息;根据所述摘要信息,生成待访问的数据对象对应的目标键。7.根据权利要求2所述的方法,其...

【专利技术属性】
技术研发人员:李渊
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1