一种数据监管方法及系统与流程

文档序号:12462604阅读:287来源:国知局
一种数据监管方法及系统与流程

本发明涉及计算机系统及存储领域,特别涉及一种数据监管方法及系统。



背景技术:

现如今,随着互联网的快速普及,设备间的数据交换,不再单单是通过磁盘、光盘、U盘等这些相对耗时的实体设备进行中转的方法,而是可以通过互联网更快速的进行数据的交换。与此同时,带来的问题便是大量的数据交换也使得管理起来困难,容易出现文件重复存储的情况,例如,视频、文档、音乐等,大量的重复数据将占用大量的存储空间,对于企业来说更是如此。

网盘的出现在一定程度上缓解了企业对于存储空间的压力,但是网盘的便利性使得众多的用户能够轻松地上传大量文件,虽然对于每个用户个体来说其所上传的文件都是不同的,但整体来看众多用户会上传一个文件多次,如果不对这些文件进行处理,存储空间将大量浪费在这些重复文件上。

因此,如何能够降低数据的重复率成为了技术人员需要解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供。其具体方案如下:

一种数据监管方法,包括:

接收数据块,并保存到缓存区;

利用预设的算法计算出所述数据块的特征信息;

在特征信息记录表中查找所述数据块的特征信息,以确定物理空间中是否存在数据内容与所述数据块相同的物理块,其中,所述特征信息记录表为保存所述物理空间中每个物理块相应的特征信息的表;

如果查找到所述数据块的特征信息,则删除所述缓存区中的所述数据块。

优选的,所述利用预设的算法计算出所述数据块的特征信息包括:

利用第一预设算法和第二预设算法分别计算出所述数据块的第一特征信息和第二特征信息;

相应的,所述在特征信息记录表中查找所述数据块的特征信息,以确定物理空间中是否存在数据内容与数据块相同的物理块包括:

如果查找到与所述第一特征信息相同的第一历史特征信息,并且查找到与所述第二特征信息相同的第二历史特征信息,则判定所述物理空间中存在数据内容与所述数据块相同的物理块;

否则判定所述物理空间中不存在数据内容与所述数据块相同的物理块。

优选的,所述第一预设算法为哈希校验算法,所述第二预设算法为MD5校验算法。

优选的,所述接收数据块,包括:

预选设定数据块单位长度;

控制发送终端根据所述数据块长度设定信息切割源数据,得到数据块集;

接收由所述发送终端发送的所述数据块集。

优选的,所述预选设定数据块单位长度为4KB。

优选的,还包括:当任一用户需要访问所述物理空间中的目标物理块,则为所述目标物理块创建相应的副本。

优选的,所述生成所述目标物理块的副本之后,还包括:

对与所述目标物理块相对应的副本的总数进行统计;

当与所述目标物理块相对应的副本的总数为零,则删除所述目标物理块。

本发明还公开了一种数据监管系统,包括:

接收模块,用于接收数据块,并保存到缓冲区;

特征信息计算模块,用于利用预设的算法计算出所述数据块的特征信息;

特征信息查找模块,用于在特征信息记录表中查找所述数据块的特征信息,以确定物理空间中是否存在数据内容与所述数据块相同的物理块,其中,所述特征信息记录表为保存所述物理空间中每个物理块相应的特征信息的表;

第一删除模块,用于当所述特征信息查找模块查找到所述数据块的特征信息,则删除所述缓存区中的所述数据块。

优选的,还包括:副本生成模块,用于当任一用户需要访问所述物理空间中的目标物理块,则为所述目标物理块创建相应的副本。

优选的,还包括:

副本统计模块,用于对与所述目标物理块相对应的副本的总数进行统计;

第二删除模块,用于当与所述目标物理块相对应的副本的总数为零,则删除所述目标物理块。

由上可见,本发明的技术方案中,数据监管方法,包括:接收数据块,并保存到缓存区;利用预设的算法计算出数据块的特征信息;在特征信息记录表中查找数据块的特征信息,以确定物理空间中是否存在数据内容与数据块相同的物理块,其中,特征信息记录表为保存物理空间中每个物理块相应的特征信息的表;如果查找到数据块的特征信息,则删除缓存区中的数据块。可见,本发明在缓冲区以数据块的形式接收文件并计算出文件的特征信息与特征信息记录表中的历史特征信息进行比对,判定接收的数据块是否为重复数据,如果判定为重复数据则直接从缓冲区删除重复数据块,通过对数据块进行查重,使得精准度和细化程度得到了极大地提升,能够准确地对重复数据进行删除,并且通过记录历史特征信息,能够保证物理空间中不会存储相同的数据块,极大地降低了数据重复率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种数据监管方法流程图;

图2为本发明实施例提供的另一种数据监管方法流程图;

图3为本发明实施例提供的一种数据监管系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据监管方法,参见图1所示,该方法包括:

步骤S11:接收数据块,并保存到缓存区。

本实施例中,接收终端在接收数据前,会向发送终端发送数据块单位长度设定信息,发送终端接收到该信息后,根据该信息要求的数据块单位长度对源数据进行切割,得到数据块集,其中,数据块集中包含多个等大的数据块和/或小于设定的数据块单位长度,然后发送终端将数据块集发送给接收终端,接收终端接收到数据块集后,将数据块集先行保存到缓冲区中,等待重复数据判断。

可以理解的是,数据块的大小对于后续重复数据判断有着一定的影响,过大的数据块,虽然会使切分数量变少,加快重复数据判断速度,但是对于重复数据判断的准确性就无法保证,而过小的数据虽然提高了对于重复数据判断的准确度,但是过多的数据块,会降低数据存储的性能,例如,当数据块单位长度设定为32K时,一个32K的数据块,在第31K位置上有1K数据不一样则会判断为非重复数据,如果将数据块单位长度设定为8K时,则前三个8K的数据块将会被判断为重复数据,会被删除,最后的一个8k数据块则将会保留,这样便能节省24K的空间,当然最后被保留的8K数据中还有7K输入重复数据,而如果将数据块单位长度设定为1K时,虽然能够剔除全部的31K重复数据,但是判断次数也从最初的一次和八次,激增为了三十二次,过于频繁的数据重复判断降低了数据存储的性能,同时也会增加处理器的消耗,因此本发明实施例采用4K作为数据块单位长度,不仅保证了对于重复数据判断的准确度,也不会过度影响数据存储的性能,给处理器增加不必要的负担。

步骤S12:利用预设的算法计算出数据块的特征信息。

需要说明的是,如果直接使用接收的数据块的内容作为判断重输数据的标准,与物理空间中存储的物理块进行一一对比,将极大消耗系统资源的消耗,得不偿失,且面对大量数据进行匹对时效率低下。因此,可以使用预先设定的算法,计算出数据块的特征信息,通过特征信息来进行比对,同样能够保证准确性,并且提高判断效率。

实际应用中,当计算数据块的特征信息时,使用单一的算法,有可能出现误判的情况,尽管可能性很低,但为了避免出现此种情况时发生损失,可以同时使用两种算法对同一数据块进行计算,得出第一特征信息和第二特征信息,这样在后续的重复数据判断时,能够保证判断结果的准确。当然,根据实际需要不局限于采用双算法,例如,使用三种算法也可以实现,在此不对使用算法的数量做限定。

可以理解的是,特征信息可以选用数据块的哈希值,算法可以为哈希校验算法和/或MD5校验算法(Message Digest Algorithm 5,消息摘要算法5),其中,哈希校验算法可以为SHA(Secure Hash Standard,安全哈希算法)或CRC校验(Cyclic Redundancy Check,循环冗余校验码)。

步骤S13:在特征信息记录表中查找数据块的特征信息,以确定物理空间中是否存在数据内容与数据块相同的物理块,其中,特征信息记录表为保存物理空间中每个物理块相应的特征信息的表。

计算出数据块的特征信息后,在特征信息记录表中查找是否有与数据块的特征信息相同的历史特征信息,如果查找到与数据块的特征信息相同的历史特征信息,则判定接收到的数据块为重复数据,物理空间中存在数据内容与数据块相同的物理块;如果没有查找到数据块的特征信息相同的历史特征信息,则判定接收到的数据块为非重复数据。

其中,当判定接收到的数据块为非重复数据时,需要对数据块进行保存,具体包括步骤S131至步骤S133:

步骤S131:在物理空间中为数据块分配物理块地址,以使数据块能够长时间存储。

步骤S132:保存数据块的特征信息到特征信息记录表中,以便后续继续进行重复数据判断时能够判断出与当前保存的数据块重复的数据。

步骤S133:写入数据到指定的物理块中,完成对数据块的保存。

其中步骤S131和步骤S132执行顺序可以互换或同时进行,例如,先执行保存数据块的特征信息到特征信息记录表中,再执行在物理空间中为数据块分配物理块地址,在此不对具体执行顺序做限定。

当采用双算法计算特征信息时,根据计算出的第一特征信息查找是否存在与第一特征信息相同的第一历史特征信息,并且查找与第二特征信息相同的第二历史特征信息。

如果查找结果为只查找到与第一特征信息相同的第一历史特征信息或与第二特征信息相同的第二历史特征信息,则判定数据块为非重复数据,可以进行保存。

如果均未查找到与第一特征信息相同的第一历史特征信息和与第二特征信息相同的第二历史特征信息,则判定数据块为非重复数据,可以进行保存。

如果均查找到与第一特征信息相同的第一历史特征信息和与第二特征信息相同的第二历史特征信息,则继续判断第一历史特征信息和第二历史特征信息是否指向同一个物理块,如果是,则可以确认数据块与该物理块的数据内容相同;如果第一历史特征信息和第二历史特征信息指向不同的两个物理块,则说明数据块为非重复数据,可以进行保存。

需要说明的是,因为与数据块对应的特征信息具有唯一性,所以出现两种算法不同结果的可能性很低,因此当出现这种情况下,可以先行保存数据块到物理空间中,并且记录数据块特征信息查找结果,反馈给管理员,由管理员再对查找结果进行分析,判断数据块是否为重复数据,如果重新判断为重复数据则删除已保存到物理块的数据内容,如果判断为非重复数据,则不进行操作。

例如,当出现查找结果为只查找到与第一特征信息相同的第一历史特征信息或与第二特征信息相同的第二历史特征信息,或均查找到与第一特征信息相同的第一历史特征信息和与第二特征信息相同的第二历史特征信息,但第一历史特征信息和第二历史特征信息指向不同的物理块时,则保存数据块到物理空间中,并且将记录查找结果,反馈给管理员,由管理员再对查找结果进行分析,判断数据块是否为重复数据,如果重新判断为重复数据则删除已保存到物理块的数据内容,如果判断为非重复数据,则不进行操作。

可以理解的是,特征信息记录表中记录的特征信息,是在历史重复数据判断任务过程中记录的,在历史重复数据判断任务过程中使用当前重复数据判断任务相同的算法对历史数据块进行特征信息计算并比对,当为非重复数据时便保存历史数据块的特征信息。通过上述过程不断更新特征信息记录表中的内容,以此保证重复数据判断的准确性。且为了加快在特征记录表中的查找速度,可以对查找记录表中的特征信息进行分类,例如,根据不同算法计算出的特征信息分类,如使用哈希校验算法计算出的特征信息均分为一类,使用MD5校验算法计算出的特征信息均分为另一类,根据当前重复数据判断任务使用的算法进行分类查找,如当前使用的是MD5校验算法计算数据块的特征信息,则在特征信息记录表中的MD5校验算法分类中查找,进一步加快查找速度。

步骤S14:如果查找到数据块的特征信息,则删除缓存区中的数据块。

可见,本发明在缓冲区以数据块的形式接收文件并计算出文件的特征信息与特征信息记录表中的历史特征信息进行比对,判定接收的数据块是否为重复数据,如果判定为重复数据则直接从缓冲区删除重复数据块,通过对数据块进行查重,使得精准度和细化程度得到了极大地提升,能够准确地对重复数据进行删除,并且通过记录历史特征信息,能够保证物理空间中不会存储相同的数据块,极大地降低了数据重复率。

本发明实施例公开了一种具体的数据监管方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:

实际应用中,因为重复数据判断过程是在后台进行的,所以用户并不知道自己保存的数据是否重复,这也是为了减少用户操作,提高用户体验,但是当用户对目标数据具有使用需求,进行保存目标数据操作,而目标数据在重复数据判断过程中被删除,用户将无法使用目标数据,也无法直观的了解到为何保存操作没能完成,造成很差的用户体验,并且影响用户的正常操作,因此,在上一实施例的基础上对此种情况增加副本的引用来解决这一问题。

步骤S21:当任一用户需要访问物理空间中的目标物理块,则为目标物理块创建相应的副本。

具体的,物理空间可能是由多个用户共享使用,例如,企业中的文件共享空间或云网盘,当任一用户下载的数据中包含重复数据则可认为用户需要访问相应物理空间中的目标物理块,此时为该用户创建目标物理块相应的副本,用户便可以通过选择副本对目标物理块进行访问和调用。

其中,副本为逻辑块与物理块之间的映射关系,保存在Key-Value数据库,并没有数据存储。

步骤S22:对与目标物理块相对应的副本的总数进行统计。

需要说明的是,对于用户而言使用副本相当于使用已保存的目标物理块,因此当任一用户不再需要副本,即对目标物理块进行删除操作,为了防止影响到其他可能还需要使用目标物理块的用户,所以在生成目标物理块的副本后,对与目标物理块相对应的副本的总数进行统计,当副本的总数不为零时,用户进行删除副本操作,则只删除相应的副本,而不对目标物理块进行删除,当与目标物理块相对应的副本的总数为零时,进入步骤S23。

步骤S23:当与目标物理块相对应的副本的总数为零,则删除目标物理块。

当与目标物理块相对应的副本的总数为零时,说明所有用户对目标物理块没有进一步的使用需求,因此可以删除目标物理块,以此来节省存储空间。

本发明实施例中,通过增加副本的引用,使得用户能够能加方便快捷的索引和使用已保存的数据,而不会因为重复数据判断任务造成的操作不便,导致用户体验下降等因素。

本发明实施例还公开了一种数据监管系统,参见图3所示,该系统包括:

接收模块11,用于接收数据块,并保存到缓冲区;

特征信息计算模块12,用于利用预设的算法计算出数据块的特征信息;

特征信息查找模块13,用于在特征信息记录表中查找数据块的特征信息,以确定物理空间中是否存在数据内容与数据块相同的物理块,其中,特征信息记录表为保存物理空间中每个物理块相应的特征信息的表;

第一删除模块14,用于当特征信息查找模块13查找到数据块的特征信息,则删除缓存区中的数据块。

本发明实施例中的接收模块11,具体包括数据块单位长度设定单元、数据切割控制单元和接收单元,其中,

数据块单位长度设定单元,用于预选设定数据块单位长度;

数据切割控制单元,用于控制发送终端根据数据块长度设定信息切割源数据,得到数据块集;

接收单元,用于接收由发送终端发送的数据块集。

数据切割控制单元,具体用于控制发送终端以4KB为数据块单位长度切割源数据,得到数据块集。

特征信息计算模块12,具体用于利用第一预设算法和第二预设算法分别计算出数据块的第一特征信息和第二特征信息,其中,第一预设算法为哈希校验算法,第二预设算法为MD5校验算法。

特征信息查找模块13,具体用于如果查找到与第一特征信息相同的第一历史特征信息,并且查找到与第二特征信息相同的第二历史特征信息,则判定物理空间中存在数据内容与数据块相同的物理块;

否则判定物理空间中不存在数据内容与数据块相同的物理块。

本发明实施例的数据监管系统还包括:

副本生成模块,用于当任一用户需要访问物理空间中的目标物理块,则为目标物理块创建相应的副本。

副本统计模块,用于对与目标物理块相对应的副本的总数进行统计;

第二删除模块,用于当与目标物理块相对应的副本的总数为零,则删除目标物理块。

可见,本发明在缓冲区以数据块的形式接收文件并计算出文件的特征信息与特征信息记录表中的历史特征信息进行比对,判定接收的数据块是否为重复数据,如果判定为重复数据则直接从缓冲区删除重复数据块,通过对数据块进行查重,使得精准度和细化程度得到了极大地提升,能够准确地对重复数据进行删除,并且通过记录历史特征信息,能够保证物理空间中不会存储相同的数据块,极大地降低了数据重复率。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种数据监管方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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