一种任务的处理方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:37849347 阅读:11 留言:0更新日期:2023-06-14 22:36
本申请涉及数据存储技术领域,公开了一种任务的处理方法、装置、设备和计算机可读存储介质,按照访盘地址以及设定的划分粒度,将数据空间划分为多个数据块;在完成对目标数据块的IO访问任务后,在线程池队列中记录有目标数据块对应的系统任务时,保持线程池队列中记录的系统任务不变。在线程池队列中未记录目标数据块对应的系统任务时,将系统任务添加至对应的任务队列中。按照设定的轮询算法依次执行线程池队列中记录的任务。在轮询期间,如果目标数据块对应的系统任务还未被执行,在该期间内接收到目标数据块的IO访问任务时,无需再向线程池队列中写入系统任务,缩减了系统任务所需执行的次数,提升了存储系统的数据处理性能。提升了存储系统的数据处理性能。提升了存储系统的数据处理性能。

【技术实现步骤摘要】
一种任务的处理方法、装置、设备和计算机可读存储介质


[0001]本申请涉及数据存储
,特别是涉及一种任务的处理方法、装置、设备和计算机可读存储介质。

技术介绍

[0002]在存储系统中,由于内存和磁盘的性能差异,为了提高系统访问效率,会把部分数据的副本缓存到内存中,当进行数据访问时,首先尝试访问缓存,如果缓存不命中,再从后端磁盘访问。预读就是把后续可能会被访问的数据,提前放到缓存中,这样后续的数据访问,可以直接访问缓存而无需访问后端磁盘,从而提升访问效率。
[0003]然而后续会访问哪些数据是未知的,这就需要通过预读算法确定把哪些数据提前放到缓存中,预读算法的好坏决定了后续数据访问的缓存命中率。为了提升缓存命中率,目前提出了更为智能的预读算法,但同时该预读算法也引入了巨大的计算负担。尤其是在IO访问频繁的场景下,按照当前每接收到一个IO访问,执行一次预读算法的方式很容易耗尽存储产品的计算能力。
[0004]可见,如何提升存储系统的数据处理性能,是本领域技术人员需要解决的问题。

技术实现思路

[0005]本申请实施例的目的是提供一种任务的处理方法、装置、设备和计算机可读存储介质,可以提升存储系统的数据处理性能。
[0006]为解决上述技术问题,本申请实施例提供一种任务的处理方法,包括:
[0007]按照访盘地址以及设定的划分粒度,将数据空间划分为多个数据块;
[0008]在完成对目标数据块的IO访问任务的情况下,判断线程池队列中是否记录有所述目标数据块对应的系统任务;其中,目标数据块为所有所述数据块中的任意一个数据块;线程池队列中包含有多个任务队列;
[0009]在所述线程池队列中记录有所述目标数据块对应的系统任务的情况下,保持所述线程池队列中记录的系统任务不变;
[0010]在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中;
[0011]按照设定的轮询算法依次执行所述线程池队列中记录的任务。
[0012]可选地,所述在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中包括:
[0013]在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,依据数据块与任务队列的对应关系,将所述系统任务添加至对应的任务队列中。
[0014]可选地,所述在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中包括:
[0015]在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,按照任务
队列轮询机制,将所述系统任务添加至当前轮询的任务队列中。
[0016]可选地,所述按照设定的轮询算法依次执行所述线程池队列中记录的任务包括:
[0017]判断当前任务队列的任务执行数量是否大于预设阈值;
[0018]在所述当前任务队列的任务执行数量大于或等于预设阈值的情况下,跳转到与所述当前任务队列相邻的下一个任务队列,执行下一个任务队列中记录的任务;
[0019]在所述当前任务队列的任务执行数量小于预设阈值的情况下,每执行一次所述当前任务队列中记录的任务,则将任务执行数量加一。
[0020]可选地,所述在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中包括:
[0021]在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务的任务指针添加至对应的任务队列中。
[0022]可选地,针对于所述划分粒度的设定,所述方法包括:
[0023]基于当前业务场景的性能要求,确定出划分粒度。
[0024]可选地,在所述按照访盘地址以及设定的划分粒度,将数据空间划分为多个数据块之后还包括:
[0025]对各所述数据块设置各自对应的多线程保护锁。
[0026]本申请实施例还提供了一种任务的处理装置,包括划分单元、判断单元、保持单元、添加单元和轮询单元;
[0027]所述划分单元,用于按照访盘地址以及设定的划分粒度,将数据空间划分为多个数据块;
[0028]所述判断单元,用于在完成对目标数据块的IO访问任务的情况下,判断线程池队列中是否记录有所述目标数据块对应的系统任务;其中,目标数据块为所有所述数据块中的任意一个数据块;线程池队列中包含有多个任务队列;
[0029]所述保持单元,用于在所述线程池队列中记录有所述目标数据块对应的系统任务的情况下,保持所述线程池队列中记录的系统任务不变;
[0030]所述添加单元,用于在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中;
[0031]所述轮询单元,用于按照设定的轮询算法依次执行所述线程池队列中记录的任务。
[0032]可选地,所述添加单元用于在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,依据数据块与任务队列的对应关系,将所述系统任务添加至对应的任务队列中。
[0033]可选地,所述添加单元用于在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,按照任务队列轮询机制,将所述系统任务添加至当前轮询的任务队列中。
[0034]可选地,所述轮询单元包括判断子单元、跳转子单元和记录子单元;
[0035]所述判断子单元,用于判断当前任务队列的任务执行数量是否大于预设阈值;
[0036]所述跳转子单元,用于在所述当前任务队列的任务执行数量大于或等于预设阈值的情况下,跳转到与所述当前任务队列相邻的下一个任务队列,执行下一个任务队列中记录的任务;
[0037]所述记录子单元,用于在所述当前任务队列的任务执行数量小于预设阈值的情况下,每执行一次所述当前任务队列中记录的任务,则将任务执行数量加一。
[0038]可选地,所述添加单元用于在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务的任务指针添加至对应的任务队列中。
[0039]可选地,针对于所述划分粒度的设定,所述装置包括确定单元;
[0040]所述确定单元,用于基于当前业务场景的性能要求,确定出划分粒度。
[0041]可选地,还包括设置单元;
[0042]所述设置单元,用于对各所述数据块设置各自对应的多线程保护锁。
[0043]本申请实施例还提供了一种电子设备,包括:
[0044]存储器,用于存储计算机程序;
[0045]处理器,用于执行所述计算机程序以实现如上述任务的处理方法的步骤。
[0046]本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任务的处理方法的步骤。
[0047]由上述技术方案可以看出,按照访盘地址以及设定的划分粒度,将数据空间划分为多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务的处理方法,其特征在于,包括:按照访盘地址以及设定的划分粒度,将数据空间划分为多个数据块;在完成对目标数据块的IO访问任务的情况下,判断线程池队列中是否记录有所述目标数据块对应的系统任务;其中,目标数据块为所有所述数据块中的任意一个数据块;线程池队列中包含有多个任务队列;在所述线程池队列中记录有所述目标数据块对应的系统任务的情况下,保持所述线程池队列中记录的系统任务不变;在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中;按照设定的轮询算法依次执行所述线程池队列中记录的任务。2.根据权利要求1所述的任务的处理方法,其特征在于,所述在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中包括:在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,依据数据块与任务队列的对应关系,将所述系统任务添加至对应的任务队列中。3.根据权利要求1所述的任务的处理方法,其特征在于,所述在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,将所述系统任务添加至对应的任务队列中包括:在所述线程池队列中未记录所述目标数据块对应的系统任务的情况下,按照任务队列轮询机制,将所述系统任务添加至当前轮询的任务队列中。4.根据权利要求1所述的任务的处理方法,其特征在于,所述按照设定的轮询算法依次执行所述线程池队列中记录的任务包括:判断当前任务队列的任务执行数量是否大于预设阈值;在所述当前任务队列的任务执行数量大于或等于预设阈值的情况下,跳转到与所述当前任务队列相邻的下一个任务队列,执行下一个任务队列中记录的任务;在所述当前任务队列的任务执行数量小于预设阈值的情况下,每执行一次所述当前任务队列中记录的任务,则将任务执行数量加一。5.根据权利要求1所述的任务的处理方法...

【专利技术属性】
技术研发人员:刘志魁周龙飞王艳清
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1