请求处理方法、数据获取方法、装置及电子设备制造方法及图纸

技术编号:39068789 阅读:22 留言:0更新日期:2023-10-12 20:01
本公开提供了一种请求处理方法、数据获取方法、装置及电子设备,可应用于计算机和金融科技领域。该请求处理方法包括:接收来自客户端的数据缓存请求;在确定待缓存键值的数据类型为字符串类型的情况下,确定待缓存键值的字节数;在确定待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对待缓存键值进行拆分,得到至少两个子键值;针对至少两个子键值中的每个子键值,根据子键值的拆分标识和待缓存键名生成与子键值对应的子键名,得到子数据缓存请求;根据预设的第一标识和至少两个子键值的数目更新待缓存键值,得到更新后的数据缓存请求;向缓存服务器发送至少两个子数据缓存请求和更新后的数据缓存请求。存请求和更新后的数据缓存请求。存请求和更新后的数据缓存请求。

【技术实现步骤摘要】
请求处理方法、数据获取方法、装置及电子设备


[0001]本公开涉及计算机领域和金融科技领域,具体地涉及一种请求处理方法、数据获取方法、装置、设备、介质和程序产品。

技术介绍

[0002]Redis是一个Key

Value数据结构的内存存储系统,用作数据库、缓存和消息代理。它支持支持字符串、哈希表、列表、集合、有序集合、位图等数据类型。Redis内置赋值、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
[0003]但是,当Redis处理的请求过大时,性能会明显下降;同时由于Redis是单线程的,当处理的请求较大时容易存在阻塞等情况,从而影响其他进入的请求,进而影响Redis处理请求的效率。

技术实现思路

[0004]鉴于上述问题,本公开提供了一种请求处理方法、数据获取方法、装置、设备、介质和程序产品。
[0005]根据本公开的一个方面,提供了一种请求处理方法,包括:
[0006]接收来自客户端的数据缓存请求,其中,上述数据缓存请求包括待缓存键名和待缓存键值;
[0007]在确定上述待缓存键值的数据类型为字符串类型的情况下,确定上述待缓存键值的字节数;
[0008]在确定上述待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对上述待缓存键值进行拆分,得到至少两个子键值,其中每个上述子键值具有拆分标识;
[0009]针对上述至少两个子键值中的每个子键值,根据上述子键值的拆分标识和上述待缓存键名生成与上述子键值对应的子键名,得到子数据缓存请求,最终得到至少两个上述子数据缓存请求,其中,上述子数据缓存请求包括上述子键名和上述子键值;
[0010]根据预设的第一标识和上述至少两个子键值的数目更新上述待缓存键值,得到更新后的数据缓存请求,其中,上述更新后的数据缓存请求包括上述待缓存键名和更新后的待缓存键值;以及
[0011]向缓存服务器发送上述至少两个子数据缓存请求和上述更新后的数据缓存请求。
[0012]根据本公开的实施例,上述请求处理方法还包括:
[0013]在上述按照预设拆分规则对上述待缓存键值进行拆分,得到至少两个子键值之前,调用预设的压缩工具对上述待缓存键值进行压缩处理,得到压缩键值;
[0014]其中,在确定上述待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对上述待缓存键值进行拆分,得到至少两个子键值包括:
[0015]在确定压缩后键值的字节数超过上述预设阈值的情况下,按照预设拆分规则对上
述压缩键值进行拆分,得到上述至少两个子键值。
[0016]根据本公开的实施例,上述请求处理方法还包括:
[0017]在确定压缩键值的字节数未超过上述预设阈值的情况下,利用预设的第二标识和上述压缩后键值更新上述待缓存键值,得到新的键值;
[0018]根据上述待缓存键名和上述新的键值生成新的数据缓存请求;
[0019]向上述缓存服务器发送上述新的数据缓存请求。
[0020]根据本公开的实施例,上述按照预设拆分规则对上述压缩键值进行拆分,得到上述至少两个子键值包括:
[0021]循环地执行如下操作,直至压缩键值的当前字节数小于或等于预设数目的字节数:
[0022]以上述压缩键值的当前字节数中的第一个字节为起点,沿第一方向移动预设数目的字节数后拆分,得到一个子键值,其中,当前字节数为压缩键值中未拆分的字符串的字节数。
[0023]根据本公开的实施例,上述请求处理方法还包括:
[0024]在确定上述待缓存键值的数据类型不是字符串类型的情况下,利用与上述待缓存键值的数据类型对应的格式转换方式,对上述待缓存键值进行格式转换,得到字符串类型的待缓存键值。
[0025]本公开的另一个方面提供了一种数据获取方法,包括:
[0026]接收来自客户端的数据获取请求,其中,上述数据获取请求包括目标键名;
[0027]根据上述目标键名获取与上述目标键名对应的目标键值;
[0028]在确定上述目标键值包括第一标识的情况下,获取上述目标键值中包含的目标子键值的目标数目;
[0029]根据上述目标键名和上述目标数目确定至少两个目标子健名;
[0030]针对上述至少两个目标子健名中的每个目标子键名,根据上述目标子键名获取与上述目标子键名对应的目标子键值,得到至少两个上述目标子键值;以及
[0031]拼接至少两个上述目标子键值,得到拼接键值,并向上述客户端发送上述拼接键值。
[0032]根据本公开的实施例,上述数据获取方法还包括:
[0033]在向上述客户端发送上述拼接键值之前,在确定上述拼接键值被压缩的情况下,调用预设的压缩工具对上述拼接键值进行解压处理,得到第一解压键值;
[0034]其中,向上述客户端发送上述拼接键值包括:
[0035]向上述客户端发送上述第一解压键值。
[0036]根据本公开的实施例,上述数据获取方法还包括:
[0037]在确定上述目标键值中包括第二标识的情况下,调用预设的压缩工具对上述目标键值进行解压处理,得到第二解压键值;向上述客户端发送上述第二解压键值。
[0038]根据本公开的实施例,上述数据获取方法还包括:
[0039]在确定上述目标键值中不包括第一标识和第二标识的情况下,向上述客户端发送上述目标键值。
[0040]本公开的另一个方面提供了一种请求处理装置,包括:
[0041]第一接收模块,用于接收来自客户端的数据缓存请求,其中,上述数据缓存请求包括待缓存键名和待缓存键值;
[0042]第一确定模块,用于在确定上述待缓存键值的数据类型为字符串类型的情况下,确定上述待缓存键值的字节数;
[0043]拆分模块,用于在确定上述待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对上述待缓存键值进行拆分,得到至少两个子键值,其中每个上述子键值具有拆分标识;
[0044]第一生成模块,用于针对上述至少两个子键值中的每个子键值,根据上述子键值的拆分标识和上述待缓存键名生成与上述子键值对应的子键名,得到子数据缓存请求,最终得到至少两个上述子数据缓存请求,其中,上述子数据缓存请求包括上述子键名和上述子键值;
[0045]第一更新模块,用于根据预设的第一标识和上述至少两个子键值的数目更新上述待缓存键值,得到更新后的数据缓存请求,其中,上述更新后的数据缓存请求包括上述待缓存键名和更新后的待缓存键值;以及
[0046]第一发送模块,用于向缓存服务器发送上述至少两个子数据缓存请求和上述更新后的数据缓存请求。
[0047]本公开的另一个方面提供了一种数据获取装置,包括:
[0048]第二接收模块,用于接收来自客户端的数据获取请求,其中,上述数据获取请求包括目标键名;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求处理方法,包括:接收来自客户端的数据缓存请求,其中,所述数据缓存请求包括待缓存键名和待缓存键值;在确定所述待缓存键值的数据类型为字符串类型的情况下,确定所述待缓存键值的字节数;在确定所述待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对所述待缓存键值进行拆分,得到至少两个子键值,其中每个所述子键值具有拆分标识;针对所述至少两个子键值中的每个子键值,根据所述子键值的拆分标识和所述待缓存键名生成与所述子键值对应的子键名,得到子数据缓存请求,最终得到至少两个所述子数据缓存请求,其中,所述子数据缓存请求包括所述子键名和所述子键值;根据预设的第一标识和所述至少两个子键值的数目更新所述待缓存键值,得到更新后的数据缓存请求,其中,所述更新后的数据缓存请求包括所述待缓存键名和更新后的待缓存键值;以及向缓存服务器发送所述至少两个子数据缓存请求和所述更新后的数据缓存请求。2.根据权利要求1所述的方法,还包括:在所述按照预设拆分规则对所述待缓存键值进行拆分,得到至少两个子键值之前,调用预设的压缩工具对所述待缓存键值进行压缩处理,得到压缩键值;其中,在确定所述待缓存键值的字节数超过预设阈值的情况下,按照预设拆分规则对所述待缓存键值进行拆分,得到至少两个子键值包括:在确定压缩后键值的字节数超过所述预设阈值的情况下,按照预设拆分规则对所述压缩键值进行拆分,得到所述至少两个子键值。3.根据权利要求2所述的方法,还包括:在确定压缩键值的字节数未超过所述预设阈值的情况下,利用预设的第二标识和所述压缩后键值更新所述待缓存键值,得到新的键值;根据所述待缓存键名和所述新的键值生成新的数据缓存请求;向所述缓存服务器发送所述新的数据缓存请求。4.根据权利要求2或3所述的方法,其中,所述按照预设拆分规则对所述压缩键值进行拆分,得到所述至少两个子键值包括:循环地执行如下操作,直至压缩键值的当前字节数小于或等于预设数目的字节数:以所述压缩键值的当前字节数中的第一个字节为起点,沿第一方向移动预设数目的字节数后拆分,得到一个子键值,其中,当前字节数为压缩键值中未拆分的字符串的字节数。5.根据权利要求1所述的方法,还包括:在确定所述待缓存键值的数据类型不是字符串类型的情况下,利用与所述待缓存键值的数据类型对应的格式转换方式,对所述待缓存键值进行格式转换,得到字符串类型的待缓存键值。6.一种数据获取方法,包括:接收来自客户端的数据获取请求,其中,所述数据获取请求包括目标键名;根据所述目标键名获取与所述目标键名对应的目标键值;在确定所述目标键值包括第一标识的情况下,获取所述目标键值中包含的目标子键值
的目标数目;根据所述目标键名和所述目标数目确定至少两个目标子健名;针对所述至少两个目标子健名中的每个目标子键名,根据所述目标子键名获取与所述目标子键名对应的目标子键值,得到至少两个所述目标子键值;以及拼接至少两个所述目标子键值,得到拼接键值,并向所述客户端发送所述拼接键值。7....

【专利技术属性】
技术研发人员:吕鸥刘飞朱嘉桐高灵杰
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1