一种控制DDP模块开关的方法及其相关装置与流程

文档序号:15849918发布日期:2018-11-07 09:41阅读:221来源:国知局
一种控制DDP模块开关的方法及其相关装置与流程

本申请涉及存储领域,尤其涉及一种控制ddp模块开关的方法及其相关装置。

背景技术

现今,计算机越来越普及,计算机用户一般都会存储很多数据,且用户计算机内一般总会有一些重复的数据,这些重复的数据存在于存储空间中相当浪费数据存储空间。

重复数据删除(deduplication,ddp)是一种可减少数据存储空间的核心技术,尤其是在存储空间成本较高的全闪存存储阵列(allflasharray,afa),ddp已经成为必备的特性。ddp一般算法为:将新写入的数据计算一个指纹,然后与已存储的指纹对比,如果发现有相同指纹,则记录相同数据的位置,当前数据不写盘。然而做ddp对系统计算资源占用较大,对主机请求的写时延有一定影响(通常在10%左右)。对不同的主机业务来说,ddp带来的价值是不一样的,对于ddp率很高的应用,比如虚拟机场景(ddp率通常高于6:1),少量的性能影响带来了巨大的空间节省是非常值得的;但是对于ddp率很低的场景,比如视频监控(ddp率通常小于2:1),开启ddp节省的空间不大,反而影响业务的性能,此时用户通常希望关闭重删功能。

然而现有的ddp开关都是需要人工干预的,也即需要人为明确识别后续的应用场景可能的重删率,再人为设置ddp开关开启或关闭。这种方式有2个很大的问题:

1、靠人为设置的开关,往往太固定,完全依赖人的操作,如果人为设置错误或者应用场景变更而人为忘记变更设置,那么最终是否做ddp的设置就可能是错误的。

2、某些应用会将当前存储空间提供给第三方应用,至于第三方应用具体的业务,存储设备无从知晓,维护人员根本就判断不了是否应该开启ddp。



技术实现要素:

本申请实施例提供了一种控制ddp模块开关的方法及其相关装置,用于智能控制ddp模块的开启或关闭,减少人为干预,使得ddp模块的开关判断更为准确。

本申请实施例的第一方面提供了一种控制ddp模块开关的方法,具体包括:获取第一数据流;通过特征识别模块识别所述第一数据流,得到第一特征;判断预置的特征库中是否存有所述第一特征;若存有所述第一特征,则从所述特征库中获取所述第一特征对应的重复数据删除ddp率;若所述ddp率大于第一阈值,则开启所述ddp模块;若所述ddp率不大于所述第一阈值,则关闭所述ddp模块。

在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述判断预置的特征库中是否存有所述第一特征之后,所述方法还包括:若不存有所述第一特征,则开启所述ddp模块。

在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述若不存有所述第一特征,则开启所述ddp模块之后,所述方法还包括:通过ddp率统计模块获取所述ddp率;将所述第一特征、所述ddp率以及所述第一特征和所述ddp率的对应关系存储至所述特征库中。

在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,所述获取第一数据流之前,所述方法还包括:构建所述特征库。

在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述构建所述特征库包括:获取数据样本,所述数据样本为已知样本ddp率的数据;通过所述特征识别模块识别所述数据样本,得到样本特征;根据所述样本特征以及所述样本ddp率构建所述特征库。

本申请实施例的第二方面提供了一种控制ddp模块开关的装置,包括:第一获取单元,用于获取第一数据流;识别单元,用于通过预置的特征识别模块识别所述第一数据流,得到第一特征;判断单元,用于判断预置的特征库中是否存有所述第一特征;第二获取单元,用于当所述特征库中存有所述第一特征时,从所述特征库中获取所述第一特征对应的重复数据删除ddp率;第一开启单元,用于当所述ddp率大于第一阈值时,开启所述ddp模块;关闭单元,用于当所述ddp不大于所述第一阈值时,关闭所述ddp模块。

在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,所述装置还包括:第二开启单元,用于当所述特征库中不存有所述第一特征,开启所述ddp模块。

在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述装置还包括:第三获取单元,用于通过ddp率统计模块获取所述ddp率;存储单元,用于将所述第一特征、所述ddp率以及所述第一特征和所述ddp率的对应关系存储至所述特征库中。

在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,所述装置还包括:构建单元,用于构建所述特征库。

在一种可能的设计中,在本申请实施例第二方面的第四种实现方式中,所述构建单元包括:获取模块,用于获取数据样本,所述数据样本为已知样本ddp率的数据;识别模块,用于通过所述特征识别模块识别所述数据样本,得到样本特征;构建模块,用于根据所述样本特征以及所述样本ddp率构建所述特征库。

本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中,控制ddp模块开关的装置获取第一数据流;然后通过特征识别模块识别该第一数据流,得到第一特征;再判断预置的特征库中是否存有该第一特征;若存有该第一特征,则从该特征库中获取该第一特征对应的重复数据删除ddp率;若该ddp率大于第一阈值,则开启该ddp模块;若该ddp率不大于该第一阈值,则关闭该ddp模块。本申请可以通过获取到的数据流的ddp率确定是否开启ddp模块,智能控制ddp模块的开启或关闭,减少人为干预,避免人为手动操作带来的失误,也避免在一些无法预知的应用下错误设置ddp模块的开关,使得ddp模块的开关判断更为准确。

附图说明

图1为本申请实施例中控制ddp模块开关的方法的一个实施例示意图;

图2为本申请实施例中控制ddp模块开关的方法的另一个实施例示意图;

图3为本申请实施例中构建特征库的一个流程示意图;

图4为本申请实施例中控制ddp模块开关的装置的一种结构示意图;

图5为本申请实施例中控制ddp模块开关的装置的另一种结构示意图;

图6为本申请实施例中控制ddp模块开关的装置的另一种结构示意图。

具体实施方式

本申请实施例提供了一种控制ddp模块开关的方法及其相关装置,用于智能控制ddp模块的开启或关闭,减少人为干预,使得ddp模块的开关判断更为准确。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例中的控制ddp模块开关的装置可以安装于个人计算机、笔记本电脑、平板电脑、手机等终端的内部也可以安装于个人计算机、笔记本电脑、平板电脑、手机等终端的外部,也可以是个人计算机、笔记本电脑、平板电脑、手机等终端的本身,控制ddp模块开关的装置的具体存在形式此处不做限定。

请参阅图1,本发明实施例中一种控制ddp模块开关的方法一个实施例包括:

101、获取第一数据流。

本实施例中,装置(控制ddp模块开关的装置)从主机获取第一数据流,其中,该第一数据流包括音频数据流、视频数据流、文本数据流等,该第一数据流可以从互联网上获取,也可以从音频模块,视频模块等地方获取,具体获取方式此处不做限定。

102、通过特征识别模块识别第一数据流,得到第一特征。

本实施例中,当装置获取到第一数据流之后,会通过内部的特征识别模块识别该第一数据流,得到第一特征。

103、判断预置的特征库中是否存有所述第一特征,若存有,则执行步骤104-107,若不存有,则执行步骤108。

本实施例中,当装置获取到第一特征之后,将判断内部预置的特征库是否存有与该第一特征匹配的特征。

104、从特征库中获取所述第一特征对应的ddp率。

本实施例中,特征库不止存有第一特征,还存有与第一特征对应的ddp率,当装置从特征库中获取到与第一特征匹配的特征时,还需要获取与该特征对应的ddp率。

105、判断所述ddp率是否大于第一阈值,若大于,则执行步骤106,若不大于,则执行步骤107。

本实施例中,当装置获取了该ddp率之后,将判断该ddp率是否大于第一阈值。其中,该第一阈值可以根据用户需求灵活设定。

106、开启所述ddp模块。

本实施例中,当获取到的ddp率大于第一阈值时,那么则开启ddp模块,则此时开启ddp模块,将获取到的第一数据流下发到ddp模块做在线ddp,节省存储空间。

例如,当第一阈值为5:1,所述ddp率为6:1时,则此时开启所述ddp模块,对获取到的数据在线做ddp。

107、关闭所述ddp模块。

本实施例中,当获取到的ddp率不大于第一阈值时,那么则关闭该ddp模块,此时将获取到的第一数据流绕过ddp模块,直接写盘,并且标记第一数据流为未做ddp的数据。由于此时ddp率不大,没有做ddp的必要,关闭ddp模块可以减少读写时延,增加业务性能。

例如,当第一阈值为5:1,所述ddp率为2:1时,则此时关闭所述ddp模块,获取到的数据绕过ddp模块,直接写盘。

108、开启所述ddp模块。

本实施中,当根据步骤103得知,特征库中不存有第一特征,则此时证明特征库还没有收录过该特征,对于特征库来说,这是一个新的特征,由于不知道第一特征的ddp率,故此时需要开启ddp模块,第一数据在线做ddp。

本申请实施例中,控制ddp模块开关的装置获取第一数据流;然后通过特征识别模块识别该第一数据流,得到第一特征;再判断预置的特征库中是否存有该第一特征;若存有该第一特征,则从该特征库中获取该第一特征对应的重复数据删除ddp率;若该ddp率大于第一阈值,则开启该ddp模块;若该ddp率不大于该第一阈值,则关闭该ddp模块。本申请可以通过获取到的数据流的ddp率确定是否开启ddp模块,智能控制ddp模块的开启或关闭,减少人为干预,使得ddp模块的开关判断更为准确。

请参阅图2,本发明实施例中一种控制ddp模块开关的方法另一个实施例包括:

201、构建特征库。

本实施例中,首先要根据已有的数据样本构建特征库,其中该数据样本为曾经做过ddp,明确ddp率的数据,根据已有的数据样本构建特征库具体包括:获取数据样本,然后通过特征识别模块识别该样本,得到样本特征。

该特征识别模块需要通过机器学习算法提取数据对应的特征,机器学习算法需要采用一种固定的算法,例如贝叶斯、k近邻等算法。然后根据提取的样本特征以及该样本ddp率构建特征库,特征库中存有多种数据的特征以及该特征对应的ddp率,比如:{特征1,ddp率1},{特征2,ddp率2}等等。

其中,特征库的构建流程如图3所示,首先获取样本数据以及该样本数据对应的ddp率(包括虚拟机、数据库、媒资、视频监控等),然后将该样本数据发送至特征识别模块,特征识别模块识别出该样本数据的样本特征之后,将该样本特征以及该样本特征对应的ddp率存储至特征库中。

202、获取第一数据流。

本实施例中,装置(控制ddp模块开关的装置)从主机获取第一数据流,其中,该第一数据流包括音频数据流、视频数据流、文本数据流等,该第一数据流可以从互联网上获取,也可以从音频模块,视频模块等地方获取,具体获取方式此处不做限定。

203、通过特征识别模块识别第一数据流,得到第一特征。

本实施例中,当装置获取到第一数据流之后,会通过内部的特征识别模块识别该第一数据流,得到第一特征,该过程通常要几分钟。

具体为,当装置获取到第一数据流之后,特征识别模块将通过机器学习法获取到该第一数据流的第一特征。

204、判断预置的特征库中是否存有所述第一特征,若存有,则执行步骤205-208,若不存有,则执行步骤209-211。

本实施例中,当装置获取到第一特征之后,将判断内部预置的特征库是否存有与该第一特征匹配的特征。

205、从特征库中获取所述第一特征对应的ddp率。

本实施例中,特征库不止存有第一特征,还存有与第一特征对应的ddp率,当装置从特征库中获取到与第一特征匹配的特征时,还需要获取与该特征对应的ddp率。

206、判断所述ddp率是否大于第一阈值,若大于,则执行步骤207,若不大于,则执行步骤208。

本实施例中,当装置获取了该ddp率之后,将判断该ddp率是否大于第一阈值。其中,该第一阈值可以根据用户需求灵活设定。

207、开启所述ddp模块。

本实施例中,当获取到的ddp率大于第一阈值时,那么则开启ddp模块,则此时开启ddp模块,将获取到的第一数据流下发到ddp模块做在线ddp,节省存储空间。

例如,当第一阈值为5:1,所述ddp率为6:1时,则此时开启所述ddp模块,对获取到的数据在线做ddp。

其中,ddp模块做在线ddp时,会将新写入的数据计算一个指纹,然后与已存储的指纹对比,如果发现有相同指纹,则记录相同数据的位置,当前数据不写盘,如果没有发现相同的指纹,才写盘,节省存储空间。

208、关闭所述ddp模块

本实施例中,当获取到的ddp率不大于第一阈值时,那么则关闭该ddp模块,此时将获取到的第一数据流绕过ddp模块,直接写盘,并且标记第一数据流为未做ddp的数据。由于此时ddp率不大,没有做ddp的必要,关闭ddp模块可以减少读写时延,增加业务性能。

例如,当第一阈值为5:1,所述ddp率为2:1时,则此时关闭所述ddp模块,获取到的数据绕过ddp模块,直接写盘。

需要说明的是,在本实施例中,对于已经决策关闭ddp模块的场景,对于没有做ddp的数据,可以记录下来,后续在业务不繁忙的时候做离线ddp,这样不仅可以避免由于在线ddp导致的读写延迟,还可以节省存储空间。

209、开启所述ddp模块。

本实施中,当根据步骤204得知,特征库中不存有第一特征,则此时证明特征库还没有收录过该特征,对于特征库来说,这是一个新的特征,由于不知道第一特征的ddp率,故此时需要开启ddp模块,第一数据在线做ddp。

210、通过ddp率统计模块获取所述ddp率。

本实施例中,在第一数据流写盘的过程中,通过ddp率统计模块一段时间(通常是小时级)的统计,获取第一特征的ddp率。

211、将所述第一特征、所述ddp率以及所述第一特征和所述ddp率的对应关系存储至所述特征库中。

本实施例中,当特征库中不存有第一特征,但后续通过第一数据流写盘的过程中获取到了第一特征的ddp率之后,需要将第一特征作为一个新的特征存入特征库中,同时存入特征库的还有与第一特征对应的ddp率,以及第一特征和所述ddp率的对应关系。

需要说明的是,在本申请实施例中,当用户发现特征识别模块判断ddp模块的开关有误时,可以手动调整开关,特征识别模块会重新根据用户的操作更新特征库。

本申请实施例中,控制ddp模块开关的装置获取第一数据流;然后通过特征识别模块识别该第一数据流,得到第一特征;再判断预置的特征库中是否存有该第一特征;若存有该第一特征,则从该特征库中获取该第一特征对应的重复数据删除ddp率;若该ddp率大于第一阈值,则开启该ddp模块;若该ddp率不大于该第一阈值,则关闭该ddp模块。本申请可以通过获取到的数据流的ddp率确定是否开启ddp模块,智能控制ddp模块的开启或关闭,减少人为干预,避免人为手动操作带来的失误,也避免在一些无法预知的应用下错误设置ddp模块的开关,使得ddp模块的开关判断更为准确。

上面对本发明实施例中的控制ddp模块开关的方法进行了描述,下面对本发明实施例中的控制ddp模块开关的装置进行描述,请参阅图4,本发明实施例中的控制ddp模块开关的装置包括:

第一获取单元401,用于获取第一数据流;

识别单元402,用于通过预置的特征识别模块识别该第一数据流,得到第一特征;

判断单元403,用于判断预置的特征库中是否存有该第一特征;

第二获取单元404,用于当该特征库中存有该第一特征时,从该特征库中获取该第一特征对应的重复数据删除ddp率;

第一开启单元405,用于当该ddp率大于第一阈值时,开启该ddp模块;

关闭单元406,用于当该ddp不大于该第一阈值时,关闭该ddp模块。

本申请实施例中,第一获取单元401获取第一数据流;识别单元402通过特征识别模块识别该第一数据流,得到第一特征;判断单元403判断预置的特征库中是否存有该第一特征;若存有该第一特征,则第二获取单元404从该特征库中获取该第一特征对应的重复数据删除ddp率;若该ddp率大于第一阈值,则第一开启单元405开启该ddp模块;若该ddp率不大于该第一阈值,则关闭单元406关闭该ddp模块。本申请可以通过获取到的数据流的ddp率确定是否开启ddp模块,智能控制ddp模块的开启或关闭,减少人为干预,避免人为手动操作带来的失误,也避免在一些无法预知的应用下错误设置ddp模块的开关,使得ddp模块的开关判断更为准确。

请参阅图5,本发明实施例中控制ddp模块开关的装置的另一个实施例包括:

构建单元501,用于构建所述特征库。

其中,构建单元501包括:

获取模块5011,用于获取数据样本,所述数据样本为已知样本ddp率的数据;

识别模块5012,用于通过所述特征识别模块识别所述数据样本,得到样本特征;

构建模块5013,用于根据所述样本特征以及所述样本ddp率构建所述特征库。

第一获取单元502,用于获取第一数据流;

识别单元503,用于通过预置的特征识别模块识别该第一数据流,得到第一特征;

判断单元504,用于判断预置的特征库中是否存有该第一特征;

第二获取单元505,用于当该特征库中存有该第一特征时,从该特征库中获取该第一特征对应的重复数据删除ddp率;

第一开启单元506,用于当该ddp率大于第一阈值时,开启该ddp模块;

关闭单元507,用于当该ddp不大于该第一阈值时,关闭该ddp模块。

第二开启单元508,用于当所述特征库中不存有所述第一特征,开启所述ddp模块。

第三获取单元509,用于通过ddp率统计模块获取所述ddp率;

存储单元510,用于将所述第一特征、所述ddp率以及所述第一特征和所述ddp率的对应关系存储至所述特征库中。

本申请实施例中,第一获取单元502获取第一数据流;识别单元503通过特征识别模块识别该第一数据流,得到第一特征;判断单元504判断预置的特征库中是否存有该第一特征;若存有该第一特征,则第二获取单元505从该特征库中获取该第一特征对应的重复数据删除ddp率;若该ddp率大于第一阈值,则第一开启单元506开启该ddp模块;若该ddp率不大于该第一阈值,则关闭单元507关闭该ddp模块。本申请可以通过获取到的数据流的ddp率确定是否开启ddp模块,智能控制ddp模块的开启或关闭,减少人为干预,避免人为手动操作带来的失误,也避免在一些无法预知的应用下错误设置ddp模块的开关,使得ddp模块的开关判断更为准确。

请参阅图6,图6是本发明实施例提供的一种控制ddp模块开关的装置结构示意图,该控制ddp模块开关的装置600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对控制ddp模块开关的装置中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,打开器600上执行存储介质630中的一系列指令操作。

控制ddp模块开关的装置600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由控制ddp模块开关的装置所执行的步骤可以基于该图6所示的控制ddp模块开关的装置结构。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1