System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、装置、设备、存储介质及程序产品制造方法及图纸_技高网

数据处理方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:41179292 阅读:3 留言:0更新日期:2024-05-07 22:14
本申请提供了一种数据处理方法、装置、设备、存储介质及计算机程序产品;方法包括:获取目标数据中的待缓存子数据、和待缓存子数据的缓存数据大小,当缓存目标数据中的子数据时,目标时长内所缓存的子数据的数据大小为目标数据大小的频率最高;获取用于数据缓存的缓存空间的待写入位置,并获取目标数据对应的分配缓存空间大小,该分配缓存空间大小基于目标数据大小确定;当缓存数据大小大于分配缓存空间大小时,从待写入位置起,将待缓存子数据写入缓存空间中的第一子空间;当缓存数据大小小于或等于分配缓存空间大小时,从待写入位置起,将待缓存子数据写入缓存空间中的第二子空间;通过本申请,能够提高缓存空间的利用率,减少缓存空间的浪费。

【技术实现步骤摘要】

本申请涉及计算机,尤其涉及一种数据处理方法、装置、设备、存储介质及计算机程序产品。


技术介绍

1、在互联网应用中,对数据的读写时延要求很高,数据的读写性能直接影响用户体验。数据缓存是提高数据读写性能的主要方案。相关技术中,多采用多组内存块的形式进行数据缓存。具体地,每个内存组中包含多个大小相同且固定的内存块,不同内存组之间包括的内存块的大小不同,当需要缓存数据时,则根据待缓存数据的数据大小,从内存组中寻找内存大小大于该数据大小的空闲内存块,以将待缓存数据写入该空闲内存块。但是,由于每个内存组中的内存块都是固定大小的,存储待缓存数据时不一定能充分使用该内存块,当数据的缓存次数多后,会产生大量的内存碎片,导致缓存空间的浪费。


技术实现思路

1、本申请实施例提供一种数据处理方法、装置、设备、存储介质及计算机程序产品,能够提高缓存空间的利用率,减少缓存空间的浪费。

2、本申请实施例的技术方案是这样实现的:

3、本申请实施例提供一种数据处理方法,包括:

4、获取目标数据中的待缓存子数据、和所述待缓存子数据的缓存数据大小;

5、其中,当缓存所述目标数据中的子数据时,目标时长内所缓存的子数据的数据大小为目标数据大小的频率最高;

6、获取用于数据缓存的缓存空间的待写入位置,并获取所述目标数据对应的分配缓存空间大小,所述分配缓存空间大小基于所述目标数据大小确定;

7、当所述缓存数据大小大于所述分配缓存空间大小时,从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间,所述第一子空间的大小为所述缓存数据大小;

8、当所述缓存数据大小小于或等于所述分配缓存空间大小时,从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第二子空间,所述第二子空间的大小为所述分配缓存空间大小。

9、上述方案中,所述目标数据为目标业务的数据,所述方法还包括:

10、获取预设时长内、针对所述目标业务的访问请求的目标请求数量;

11、基于请求数量和统计时长之间的对应关系,将对应所述目标请求数量的目标统计时长,作为所述目标时长。

12、本申请实施例还提供一种数据处理装置,包括:

13、第一获取模块,用于获取目标数据中的待缓存子数据、和所述待缓存子数据的缓存数据大小;

14、其中,当缓存所述目标数据中的子数据时,目标时长内所缓存的子数据的数据大小为目标数据大小的频率最高;

15、第二获取模块,用于获取用于数据缓存的缓存空间的待写入位置,并获取所述目标数据对应的分配缓存空间大小,所述分配缓存空间大小基于所述目标数据大小确定;

16、第一缓存模块,用于当所述缓存数据大小大于所述分配缓存空间大小时,从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间,所述第一子空间的大小为所述缓存数据大小;

17、第二缓存模块,用于当所述缓存数据大小小于或等于所述分配缓存空间大小时,从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第二子空间,所述第二子空间的大小为所述分配缓存空间大小。

18、上述方案中,所述第二获取模块,还用于获取所述待缓存子数据的数据标识,并确定所述缓存空间中是否已缓存有所述数据标识的目标子数据;当所述缓存空间中未缓存有所述数据标识的目标子数据时,确定将执行所述获取用于数据缓存的缓存空间的待写入位置的操作。

19、上述方案中,所述第二获取模块,还用于当所述缓存空间中缓存有所述数据标识的目标子数据时,确定所述目标子数据的子数据大小是否小于所述缓存数据大小;当所述子数据大小小于所述缓存数据大小时,确定将执行所述获取用于数据缓存的缓存空间的待写入位置的操作。

20、上述方案中,所述第二获取模块,还用于当所述子数据大小不小于所述缓存数据大小时,确定所述目标子数据在所述缓存空间中所处的目标子空间;清空所述目标子空间中缓存的所述目标子数据,并将所述待缓存子数据写入所述目标子空间。

21、上述方案中,所述第二获取模块,还用于当所述目标数据大小为一个值时,将所述目标数据大小,确定为所述目标数据对应的分配缓存空间大小;当所述目标数据大小为多个值时,将多个所述目标数据大小中的最大目标数据大小,确定为所述目标数据对应的分配缓存空间大小。

22、上述方案中,所述目标数据为目标业务的数据,所述第二获取模块,还用于获取预设时长内、针对所述目标业务的访问请求的目标请求数量;基于请求数量和统计时长之间的对应关系,将对应所述目标请求数量的目标统计时长,作为所述目标时长。

23、上述方案中,所述第一缓存模块,还用于确定位于所述待写入位置之后、且与所述待写入位置相邻的缓存子空间内是否存在已缓存数据;当所述缓存子空间内存在已缓存数据时,确定处于所述第一子空间的目标已缓存数据;清空所述目标已缓存数据,并将待缓存子数据写入所述第一子空间。

24、上述方案中,所述缓存空间具有相应的缓存记录表,所述缓存记录表包括至少一条已缓存数据的缓存记录,所述缓存记录,用于记录所述已缓存数据的数据标识、以及相应的数据位置;相应的,所述第一缓存模块,还用于从所述缓存记录表中,清空所述目标已缓存数据的缓存记录;相应的,所述第一缓存模块,还用于在所述缓存记录表中,增加所述待缓存子数据的目标缓存记录,所述目标缓存记录,用于记录所述待缓存子数据的数据标识、以及相应的数据位置。

25、上述方案中,所述第一缓存模块,还用于基于所述待写入位置和所述缓存数据大小,确定目标待写入位置,所述目标待写入位置,为所述待缓存子数据的下一条待缓存子数据的待写入位置;将所述缓存空间的待写入位置,更新为所述目标待写入位置。

26、上述方案中,所述第一缓存模块,还用于确定所述缓存空间中待写入位置之后的剩余空间的剩余空间大小,是否小于所述缓存数据大小;当所述剩余空间大小小于所述缓存数据大小时,确定所述待缓存子数据中对应所述剩余空间大小的第一部分数据、以及所述待缓存子数据中除所述第一部分数据之外的第二部分数据;从所述缓存空间的起始写入位置起,确定具有所述第二部分数据的数据大小的第三子空间,所述第三子空间和所述剩余空间组成所述第一子空间;将所述第一部分数据从所述待写入位置起写入所述剩余空间,并将所述第二部分数据从所述起始写入位置起写入所述第三子空间。

27、上述方案中,所述第一获取模块,还用于获取所述待缓存子数据的数据长度的第一数据大小、以及所述待缓存子数据的数据本体的第二数据大小;将所述第一数据大小和所述第二数据大小之和,作为所述待缓存子数据的缓存数据大小。

28、上述方案中,所述待缓存子数据为所述目标数据写入所述缓存空间的首个子数据,所述第二缓存模块,还用于当再次缓存所述目标数据时,获取所述目标数据中待缓存的目标子数据、以及所述目标子数据的子数据大小;当所述子数据大小小于或等于所述分配缓存空间大小本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述获取用于数据缓存的缓存空间的待写入位置之前,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,所述获取所述目标数据对应的分配缓存空间大小,包括:

6.如权利要求1所述的方法,其特征在于,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间,包括:

7.如权利要求6所述的方法,其特征在于,所述缓存空间具有相应的缓存记录表,所述缓存记录表包括至少一条已缓存数据的缓存记录,所述缓存记录,用于记录所述已缓存数据的数据标识、以及相应的数据位置;

8.如权利要求1所述的方法,其特征在于,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间之后,所述方法还包括:

9.如权利要求1所述的方法,其特征在于,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间,包括:

10.如权利要求1所述的方法,其特征在于,所述获取所述待缓存子数据的缓存数据大小,包括:

11.如权利要求1所述的方法,其特征在于,所述待缓存子数据为所述目标数据写入所述缓存空间的首个子数据,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第二子空间之后,所述方法还包括:

12.一种数据处理装置,其特征在于,所述装置包括:

13.一种电子设备,其特征在于,所述电子设备包括:

14.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至11任一项所述的数据处理方法。

15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至11任一项所述的数据处理方法。

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述获取用于数据缓存的缓存空间的待写入位置之前,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求1所述的方法,其特征在于,所述获取所述目标数据对应的分配缓存空间大小,包括:

6.如权利要求1所述的方法,其特征在于,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间,包括:

7.如权利要求6所述的方法,其特征在于,所述缓存空间具有相应的缓存记录表,所述缓存记录表包括至少一条已缓存数据的缓存记录,所述缓存记录,用于记录所述已缓存数据的数据标识、以及相应的数据位置;

8.如权利要求1所述的方法,其特征在于,所述从所述待写入位置起,将所述待缓存子数据写入所述缓存空间中的第一子空间之后,所述方法还包括:

<...

【专利技术属性】
技术研发人员:谢亚晋
申请(专利权)人:腾讯科技上海有限公司
类型:发明
国别省市:

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

1