一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

混合重复数据删除调度方法及系统与流程

2022-02-22 18:33:17 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,具体涉及一种混合重复数据删除调度方法及一种混合重复数据删除调度系统。


背景技术:

2.随着大数据时代的发展,日益增长的数据对存储系统的存储能力提出了更高的要求,也就导致了更高的存储成本。为了提高存储系统的存储效率,现代存储系统通常使用重复删除技术检查存储设备中的冗余数据,通过消除设备中的冗余数据,优化存储设备的可用空间,降低冗余数据对存储成本的影响。
3.在现有重复数据的删除方法中,主要存在离线重复数据删除和在线重复数据删除两种。其中,离线重复数据删除技术是在数据写入存储设备后再执行重复数据删除操作,其优点为不会降低用户的访问时延,但是因为需要将数据写入设备后再进行删除,这对于存储空间小和网络带宽不足的存储设备来说,会极大影响用户的体验度。而在线重复数据删除技术是在数据写入存储设备之前执行重复数据删除操作,由于重复数据不会被存储,减少了需要存储的数据量,该方式能有效减少存储设备的io操作和网络带宽消耗,但是由于在线重复数据删除操作的指纹哈希计算和查找等操作会占用大量的cpu资源,当业务负载中的重复数据有限时会减慢数据吞吐速度,增加业务的访问时延等,从而影响业务访问性能。


技术实现要素:

4.本技术实施例的目的是提供一种混合重复数据删除调度方法及一种混合重复数据删除调度系统,以至少解决上述技术问题。
5.为了实现上述目的,本技术第一方面提供一种混合重复数据删除调度方法,包括:获取io请求的请求指令;基于所述请求指令确定调度业务类型;获取实时io路径的运行参数;根据所述实时io路径的运行参数和所述调度业务类型,选择重复数据删除调度方案;基于所述重复数据删除调度方案执行重复数据删除。
6.在本技术实施例中,所述调度业务类型包括:时延敏感型和带宽敏感型;所述基于所述请求指令确定调度业务类型,包括:若所述请求指令表示io请求为小块单深度io请求,确定调度业务类型为时延敏感型;若所述请求指令表示io请求为非小块单深度io请求,确定调度业务类型为带宽敏感型;其中,所述小块单深度io请求表示io请求数据的体量小于小块上限阈值且io通道唯一。
7.在本技术实施例中,时延敏感型调度业务的重复数据删除操作方式为:离线重复数据删除;带宽敏感型调度业务的重复数据删除操作方式为:离线重复数据删除和/或在线重复数据删除。
8.在本技术实施例中,所述io路径包括存储节点和客户端,所述客户端通过网络向所述存储节点发起io请求;所述存储节点基于云存储系统构建,用于存放文件数据;所述客
户端用于执行文件的创建和删除,以及文件数据的读、写和更新操作。
9.在本技术实施例中,所述实时io路径的运行参数包括:存储节点的cpu利用率、网络带宽利用率、存储节点的存储空间使用率、当前业务io数据的重删率。
10.在本技术实施例中,所述根据所述实时io路径的运行参数和所述调度业务类型,选择重复数据删除调度方案,包括:在确定调度业务类型为时延敏感型的情况下,根据当前存储节点的cpu利用率判断当前存储节点的cpu繁忙程度,其中,存储节点的cpu繁忙程度具有三个等级:繁忙、适中和空闲;根据当前存储节点的cpu繁忙程度选择重复数据删除调度方案:若当前存储节点的cpu繁忙程度为繁忙,选择重复数据删除调度方案为:待业务负载空闲时执行离线重复数据删除;若当前存储节点的cpu繁忙程度为适中或空闲,选择重复数据删除调度方案为:立即执行重复数据删除。
11.在本技术实施例中,存储节点的cpu繁忙程度的各个等级分别对应不同的cpu利用率范围;所述根据当前存储节点的cpu利用率判断当前存储节点的cpu繁忙程度,包括:判断实时存储节点的cpu利用率所属的cpu利用率范围,确定当前存储节点的cpu繁忙程度的等级。
12.在本技术实施例中,所述根据所述实时io路径的运行参数和所述调度业务类型,选择重复数据删除调度方案,还包括:在确定调度业务类型为带宽敏感型,且所述请求指令表示io请求为小块多深度io请求的情况下:根据当前存储节点的cpu利用率判断当前存储节点的cpu繁忙程度;根据当前存储节点的cpu繁忙程度选择重复数据删除调度方案:若当前存储节点的cpu繁忙程度为繁忙,选择重复数据删除调度方案为:待业务负载空闲时执行离线重复数据删除;若当前存储节点的cpu繁忙程度为适中,选择重复数据删除调度方案为:立即执行离线重复数据删除;若当前存储节点的cpu繁忙程度为空闲,选择重复数据删除调度方案为:执行在线重复数据删除。
13.在本技术实施例中,所述根据所述实时io路径的运行参数和调度业务类型,选择重复数据删除调度方案,还包括:若确定调度业务类型为带宽敏感型,所述请求指令表示io请求为小块多深度io请求,且当前业务io数据的重删率大于预设重删率阈值,计算重删后减少的io时延和模拟重删操作增加的io时延,并将重删后减少的io时延与重删操作增加的io时延进行对比:若重删后减少的io时延大于重删操作增加的io时延,则选择重复数据删除调度方案为:在存储节点计算资源空闲的情况下执行在线重复数据删除;若重删后减少的io时延小于等于重删操作增加的io时延,则选择重复数据删除调度方案为:在存储节点计算资源充足的情况下执行离线重复数据删除。
14.在本技术实施例中,所述根据所述实时io路径的运行参数和调度业务类型,选择重复数据删除调度方案,包括:若确定调度业务类型为带宽敏感型,所述请求指令表示io请求为大块io请求,将当前存储节点的存储空间使用率与预设使用率阈值进行对比:若当前存储节点的存储空间使用率大于预设使用率阈值,则选择重复数据删除调度方案为:执行在线重复数据删除;若当前存储节点的存储空间使用率小于等于预设使用率阈值,则分别计算重删开销和网络传输开销;其中,所述重删开销的计算规则为:重删开销=指纹hash计算时延 指纹读取时延 指纹比较时延;所述网络传输开销的计算规则为:网络传输开销=存储节点接收到io的时间-io提交到网络的时间;将当前重删开销与当前网络传输开销进行对比:若当前的重删开销小于等于当前的网络传输开销,则选择重复数据删除调度方案
为:执行在线重复数据删除;若当前的重删开销大于当前的网络传输开销,则选择重复数据删除调度方案为:执行离线重复数据删除。
15.本技术第二方面提供一种混合重复数据删除调度系统,包括:采集单元,用于获取io请求的请求指令,以及获取实时io路径的运行参数;处理单元,用于:基于所述请求指令确定调度业务类型;根据所述实时io路径的运行参数和所述调度业务类型,生成重复数据删除调度方案;执行单元,用于基于所述重复数据删除调度方案执行重复数据删除。
16.本技术第三方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的混合重复数据删除调度方法。
17.通过上述技术方案,根据io特征对io进行分类处理,在具体重删操作中,综合评估存储系统的各项功能指标,通过量化分析重删操作的性能开销和具体的收益,然后确定具有最优效果的重删方案。本发明方案在系统整体角度通过调度采用最合适的重复数据删除方法,从而最大化利用在线重删和离线重删的优点,并且避免了单独使用任何一种重复数据删除方法时存在的问题。
18.本技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
19.附图是用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本技术实施例,但并不构成对本技术实施例的限制。在附图中:
20.图1示意性示出了根据本技术实施例的混合重复数据删除调度方法的流程示意图;
21.图2示意性示出了根据本技术实施例的混合重复数据删除调度系统的结构框图;
22.图3示意性示出了根据本技术实施例的混合重复数据删除调度方法的应用环境示意图。
具体实施方式
23.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
24.由于在线重删对业务的访问性能有较大的影响,大部分存储系统为了避免较差的用户体验,通常默认关闭在线重删功能而采用离线重删方式,因而既无法利用在线重删的优点,也无法避免离线重删对网络带宽和闪存存储设备使用寿命的影响等。为了解决上述问题,充分利用在线重删和离线重删的优点,避免他们的缺点对整个存储系统的影响,本发明提出了一种混合重复数据删除调度方法,该方法根据io特征对io进行分类处理,在具体重删操作中综合评估存储系统的各项功能指标(包括业务访问性能、cpu使用率、网络带宽使用率和存储空间使用率),量化分析重删操作的性能开销和具体的收益,然后确定具有最优效果的重删方案。
25.图2是本发明一种实施方式提供的混合重复数据删除调度系统的系统结构图。如图2所示,本发明实施方式提供一种混合重复数据删除调度系统,所述系统包括:采集单元,
用于获取io请求的请求指令,以及获取实时io路径的运行参数;处理单元,用于:基于所述请求指令确定调度业务类型;根据所述实时io路径的运行参数和所述调度业务类型,生成重复数据删除调度方案;执行单元,用于基于所述重复数据删除调度方案执行重复数据删除。
26.优选的,如图3所示,本发明方案提出的混合重复数据删除调度系统应用于云存储环境,根据一种实施方式,该系统可包括多个客户端、多个存储节点和一个元数据节点。其中,元数据节点与存储节点的物理结构相同。客户端主要执行文件的创建、删除、文件数据的读、写和更新操作等。元数据节点是可选的,可根据存储节点的数量进行扩展,主要执行元数据的管理操作。数据节点负责存放具体的文件数据。系统中各个组件通过网络连接通信,网络可以是ip、fc或ib等一切可以通信的协议。
27.图1是本发明一种实施方式提供的混合重复数据删除调度方法的方法流程图。如图1所示,本发明实施方式提供一种混合重复数据删除调度方法,所述方法包括:
28.步骤s10:获取io请求的请求指令,并基于所述请求指令确定调度业务类型。
29.具体的,本发明提出的混合重复数据删除调度方法是基于根据io特征对io进行分类处理,在具体重删操作中,综合评估存储系统的各项功能指标(包括业务访问性能、cpu使用率、网络带宽使用率和存储空间使用率),量化分析重删操作的性能开销和具体的收益,然后确定具有最优效果的重删方案。所以,需要了解具体的io请求,且执行业务传输各设备终端具体执行情况,以便于进行具体开销和收益评估,从而确定具有最优效果的重删方案。
30.具体来说,首先,需要获取io请求的请求指令,该指令由用户终端发起,然后通过网络传输到存储节点,以用于通过存储节点获取用户终端实际需求的业务数据。该请求指令包括了发起请求的终端身份识别信息、请求业务类型、业务传输链路等具体信息。不同的用户终端需求的业务类型和响应需求可能并不相同,所以需要针对用户的实际需求进行对应的重删操作。通常小块io对时延比较敏感,因为这些小块io往往为用户发起的访问请求,所以这部分小块io不需要传输大量的数据,但是用户需要急速的访问请求,所以这部分业务对时延非常敏感。而大块io往往涉及大量的文件传输,所以为了提高数据的传输效率,需要足够的带宽支撑,这部分请求对带宽比较敏感。
31.基于上述不同用户的实际需求,本发明将业务划分为时延敏感型和带宽敏感型,以用于满足不同用户的实际需求。显而易见,时延敏感型主要针对对响应速度要求比较高的业务请求,上述已知,小块io对时延比较敏感,但也并不是所有小块io对时延均有很强的时延敏感性,例如某些本身需求数据很小的实际业务传输请求,为了避免这部分数据造成业务调度资源损耗,优选的,本发明进一步规定了时延敏感型请求的范围。在业务请求和传输路径中,存在单深度和多深度两种类型,分别对应传输链路数量。若io通道唯一,则为单深度。因为io通道唯一,其存在的隐形排队机制对于用户来说,为了避免重删操作加重存储介质负担,导致响应速度进一步降低,优选地规定这部分请求全部为离线重删操作。因为小块单深度io本身需求数据体量很小,即使进行离线重删,对设备的需要也不会太高。综上所述,根据io请求的请求指令,判断当前io请求是否为小块单深度,若io请求指令表示为io请求小块单深度时,则调度业务类型选择时延敏感型;若io请求指令表示为io请求非小块单深度时,则调度业务类型选择带宽敏感型。其中,非小块单深度包括:大块单深度、大块多深度、小块多深度。本发明对时延敏感型和带宽敏感型进行离线或在线的差异化重复数据删
除以外,还预设了不同的重复数据删除执行时间,基于离线或在线删除方案和删除执行时间预设了多种情况的重复数据删除调度方案。本技术便是基于判断重删操作的实际情况,进行预设重复数据删除调度方案使用工况匹配,选择最佳的重复数据删除调度方案作为实时工况的执行方案。
32.步骤s20:获取实时io路径的运行参数。
33.具体的,上述已知,本发明方案进行具体重删操作还需要考虑cpu使用率、网络带宽使用率和存储空间使用率等设备终端的具体运行情况。io路径包括存储节点,基于云存储系统构建,用于负责存放具体的文件数据;客户端,用于执行文件的创建、删除、文件数据的读、写和更新操作;存储节点和客户端网络连接,客户端通过网络向存储节点发起io请求。所以,对应的io路径的运行参数包括:存储节点的cpu利用率、网络带宽利用率、存储节点的存储空间使用率、当前业务io数据的重删率。
34.步骤s30:根据所述实时io路径的运行参数和确定的调度业务类型生成具体的重复数据删除调度方案。
35.具体的,若确定调度业务类型为时延敏感型,为避免在线重删对数据传输时延造成进一步影响,优选的,该部分请求直接使用离线重复数据删除的方式进行重复数据删除。但是,其执行时间需要根据存储节点的cpu利用率进行确定。若本身cpu使用非常繁忙,为了避免进一步加重cpu的使用负担,优选地在业务负载空闲时执行离线重复数据删除。所以,还需要判断cpu的繁忙程度。
36.在一种可能的实施方式中,以cpu的利用率进行繁忙程度判断,预设繁忙程度为三个等级,分别为:繁忙、适中和空闲。并分别规定各繁忙程度等级下的cpu利用率范围值,例如,cpu使用率》70%表明cpu繁忙,存储节点计算资源不足;cpu使用率大于30%且小于70%表明cpu适中,cpu使用率小于30%,表明cpu空闲,存储节点计算资源充足。
37.在另一种可能的实施方式中,以io访问时延作为繁忙程度判断,当存储节点计算资源不足时,io访问时延会增大,当cpu没有满负荷运行时,在业务io过程中使用重复数据删除操作的关键io流程时延tlatency作为基准时延,当该关键io流程的时延超过基准时延的50%时,认为存储节点计算资源紧张,否则认为存储节点计算资源相对充足。在一种可能的实施方式中,关键io流程的时延的计算方法为:关键io流程的时延=指纹hash计算时延 指纹读取时延 指纹比较时延。
38.完成cpu繁忙程度判断后,根据当前存储节点cpu的繁忙程度进行具体重复数据删除方案确定。若当前存储节点cpu的繁忙程度为繁忙时,表明存储节点计算资源不足,业务访问性能将受到影响,为减少重复数据删除对业务访问性能的影响,则待业务负载空闲时执行离线重复数据删除。若当前存储节点cpu的繁忙程度为适中或空闲时,表明存储节点计算资源足够,业务的访问性能可能会受到影响,为减少重复数据删除对业务访问性能的影响,则立即执行重复数据删除。
39.在一个实施例中,确定调度业务类型为带宽敏感型,且所述请求指令表示io请求为小块多深度io请求,首先根据上述对cpu的繁忙程度的判断方法对当前存储节点cpu的繁忙程度进行判断,然后根据当前存储节点cpu的繁忙程度进行具体重复数据删除方案确定,若当前存储节点cpu的繁忙程度为繁忙时,表明存储节点计算资源不足,业务访问性能将受到影响,为减少重复数据删除对业务访问性能的影响,则待业务负载空闲时执行离线重复
数据删除。若当前存储节点cpu的繁忙程度为适中时,表明存储节点计算资源适中,业务的访问性能可能会受到影响,为减少重复数据删除对业务访问性能的影响,则立即执行离线重复数据删除。若当前存储节点cpu的繁忙程度为空闲时,表明存储节点计算资源充足,则执行在线重复数据删除。
40.在一个实施例中,若确定调度业务类型为带宽敏感型,所述请求指令表示io请求为小块多深度io请求,且当前业务io数据的重删率大于50%:当重删率达到50%以上,表明业务的io数据存在大量重复数据,应在不影响业务io性能的情况下执行在线重复数据删除;当重删率小于等于50%,表明业务的io数据存在一定量的重复数据,应评估重删减少的io时延和重删操作增加的io时延来决定使用何种重复数据删除方式。基于此,计算重删后减少的io时延和模拟重删操作增加的io时延,并进行重删后减少的io时延和重删操作增加的io时延对比。若重删后减少的io时延大于重删操作增加的io时延,则在存储节点计算资源空闲的情况下执行在线重复数据删除。若重删后减少的io时延小于等于重删操作增加的io时延,则在存储节点计算资源充足时执行离线重复数据删除。
41.在一个实施例中,确定调度业务类型为带宽敏感型,所述请求指令表示io请求为大块io请求,对比当前存储节点的存储空间使用率和预设使用率阈值:例如预设使用率阈值为80%,若当前存储节点的存储空间使用率大于所述预设使用率阈值,表示当前存储节点的空闲的存储空间已经很小,为了避免重复数据对空闲空间的无效占用,导致有效数据存储困难,从而影响用户的可用性,优选的,使用在线重复数据删除。若当前存储节点的存储空间使用率小于等于所述预设使用率阈值,则分别计算重删开销和网络传输开销,然后计算重删操作的“收益比”,根据最佳收益进行具体重删操作方式的确定。
42.其中,所述重删开销的计算规则为:重删开销=指纹hash计算时延 指纹读取时延 指纹比较时延;
43.网络传输开销的计算规则为:网络传输开销=存储节点接收到io的时间-io提交到网络的时间;
44.对比当前重删开销和当前网络传输开销;若当前重删开销小于等于当前网络传输开销时,则使用在线重复数据删除。若当前重删开销大于当前网络传输开销时,则使用离线重复数据删除。
45.在本发明实施例中,针对云存储环境,混合使用在线重复数据删除和离线重复数据删除,同时创新性地将离线重复数据删除方法细分为离线重复数据删除方法-立即执行重复数据删除操作、离线重复数据删除方法-业务负载空闲执行重复数据删除操作两种,并根据系统负载情况选择合适的离线重复数据删除方案。
46.本发明以业务可用性和访问性能为主要目标,并结合在线重复数据删除和离线重复数据删除的优缺点以及系统的资源使用情况,综合考虑进行调度。本发明量化了cpu繁忙程度的计算方法:cpu使用率、相关模块在cpu不同繁忙程度下的时延,量化了重复数据删除操作增加的系统开销和带来的具体收益。重删操作开销包括:指纹hash计算时延、指纹读取时延和指纹比较时延;收益包括:通过重删减少的io数据量从而带来的io网络传输时延的减少量。本发明集合io特征和系统资源使用情况,设计了完整的重复数据删除调度流程,能够最大化保证业务的可用性和访问性能。
47.本发明实施方式还提供一种计算机可读储存介质,该计算机可读存储介质上储存
有指令,其在计算机上运行时使得计算机执行上述的混合重复数据删除调度方法。
48.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
49.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
50.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
51.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
52.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
53.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
54.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
55.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
56.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献