一种对数据进行去重复处理的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种对数据进行去重复处理的方法及装置。
背景技术
随着计算机技术的不断发展,计算机应用程序所产生的数据也大量增加,为了节约存储资源,经常需要对某一个计算机应用程序所产生或采集的数据进行去重复处理。
目前,对数据进行去重复处理时,通常需要将各个待处理数据写入到非易失性存储介质中,然后对存储在非易失性存储介质中的各个待处理数据进行逐一比较,当存在多个待处理数据相同时,则可对相应的待处理数据进行删除,以实现对各个待处理数据进行去重复处理。
但是,上述技术方案中,当大量的待处理数据被存储至非易失性存储介质时,则不易对各个待处理数据进行逐一比较,需要花费大量的处理时间才能实现对各个待处理数据进行去重复处理。
发明内容
本发明实施例提供了一种对数据进行去重复处理的方法及装置,可更为快速的实现对大量待处理数据进行去重复处理。
第一方面,本发明提供了一种对数据进行去重复处理的方法,包括:
S0:在内存中设置缓存区域,以及预先在非易失性存储介质中设置指定存储区域;
S1:在采集到一个待处理数据时,检测所述缓存区域中是否存在与所述待处理数据相同的目标缓存数据;
S2:当所述缓存区域中不存在与所述待处理数据相同的目标缓存数据时,将所述待处理数据作为缓存数据存储至所述缓存区域;
S3:检测所述缓存区域的剩余存储空间,在所述剩余存储空间小于预设阈值时,将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,并清除所述缓存区域中存储的各个所述缓存数据。
优选地,
所述预先在非易失性存储介质中设置指定存储区域,包括:
预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,其中,每一个所述存储分区分别对应一个设定长度的数据链;
则,所述将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,包括:
针对于所述缓存区域中存储的每一个所述缓存数据,均执行:
A1:计算所述缓存数据的摘要值;
A2:根据所述摘要值及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标存储分区;
A3:当所述目标存储分区中不存在与所述缓存数据相同的目标存储数据时,将所述缓存数据作为存储数据存储至所述目标存储分区。
优选地,
所述预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,进一步包括:根据各个所述存储分区分别对应的数据链设置各个所述存储分区分别对应的摘要值索引;
则,所述A2进一步包括:根据所述摘要值以及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标摘要值索引;
所述A3,包括:查询所述目标摘要索引中是否存在所述摘要值;当所述目标摘要索引中不存在所述摘要值时,将所述缓存数据作为存储数据存储至所述目标存储分区,并将所述摘要值新增至所述目标摘要索引。
优选地,
所述将所述摘要值新增至所述目标摘要索引,包括:根据所述摘要值的大小,将所述摘要值插入到所述目标摘要索引中。
优选地,
针对于每一个所述缓存数据,当前所述缓存数据的摘要值的前n个数据位所形成的数据链,与存储当前所述缓存数据的目标存储分区所对应的数据链相同,其中,n为所述设定长度。
第二方面,本发明实施例提供了一种对数据进行去重复处理的装置,包括:
设置模块,用于在内存中设置缓存区域,以及预先在非易失性存储介质中设置指定存储区域;
检测模块,用于在采集到一个待处理数据时,检测所述缓存区域中是否存在与所述待处理数据相同的目标缓存数据;
缓存处理模块,用于当所述缓存区域中不存在与所述待处理数据相同的目标缓存数据时,将所述待处理数据作为缓存数据存储至所述缓存区域;
存储处理模块,用于检测所述缓存区域的剩余存储空间,在所述剩余存储空间小于预设阈值时,将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,并清除所述缓存区域中存储的各个所述缓存数据。
优选地,
所述设置模块,用于预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,其中,每一个所述存储分区分别对应一个设定长度的数据链;
则,所述存储处理模块,包括:计算单元、确定单元和存储处理单元;
所述计算单元,用于针对于所述缓存区域中存储的每一个所述缓存数据,计算所述缓存数据的摘要值;
所述确定单元,用于根据所述摘要值及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标存储分区;
所述存储处理单元,用于当所述目标存储分区中不存在与所述缓存数据相同的目标存储数据时,将所述缓存数据作为存储数据存储至所述目标存储分区。
优选地,
所述设置模块,进一步用于根据各个所述存储分区分别对应的数据链设置各个所述存储分区分别对应的摘要值索引;
则,
所述确定单元,进一步用于根据所述摘要值以及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标摘要值索引;
所述存储处理单元,用于查询所述目标摘要索引中是否存在所述摘要值;当所述目标摘要索引中不存在所述摘要值时,将所述缓存数据作为存储数据存储至所述目标存储分区,并将所述摘要值新增至所述目标摘要索引。
优选地,所述存储处理单元,用于根据所述摘要值的大小,将所述摘要值插入到所述目标摘要索引中。
优选地,
针对于每一个所述缓存数据,当前所述缓存数据的摘要值的前n个数据位所形成的数据链,与存储当前所述缓存数据的目标存储分区所对应的数据链相同,其中,n为所述设定长度。
本发明实施例提供了一种对数据进行去重复处理的方法及装置,该方法中,由于在采集大量的待处理数据时,相同的待处理数据通常在时间上具有一定的连续性,通过在内存中设置缓存区域,以及在非易失性存储介质中设置指定存储区域,在每采集到一个待处理数据后,当且仅当在检测到缓存区域中不存在与该待处理数据相同的目标缓存数据时,才将该待处理数据作为缓存数据存储至缓存区域,从而实现对一个连续的时间段内采集的各个待处理数据进行去重复处理,后续则可在检测到缓存区域的剩余存储空间小于预设阈值时,将缓存区域中存储的各个缓存数据分别作为存储数据存储至指定存储区域,并清除缓存区域中存储的各个缓存数据,以便利用空闲的缓存区域对后续时间段内采集的各个待处理数据再次进行去重复处理。综上可见,本发明实施例提供的技术方案中,无需将各个待处理数据全部存储至非易失性存储介质以对各个待处理数据进行去重复处理,仅需要通过缓存区域对各个不同时间段内分别连续采集的少量待处理数据进行去重复处理则可,可更为快速的实现对大量待处理数据进行去重复处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种对数据进行去重复处理的方法的流程图;
图2是本发明一实施例提供的另一种对数据进行去重复处理的方法的流程图;
图3是本发明一实施例提供的一种对数据进行去重复处理的装置的结构示意图;
图4是本发明一实施例提供的另一种对数据进行去重复处理的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种对数据进行去重复处理的方法,包括:
S0:在内存中设置缓存区域,以及预先在非易失性存储介质中设置指定存储区域;
S1:在采集到一个待处理数据时,检测所述缓存区域中是否存在与所述待处理数据相同的目标缓存数据;
S2:当所述缓存区域中不存在与所述待处理数据相同的目标缓存数据时,将所述待处理数据作为缓存数据存储至所述缓存区域;
S3:检测所述缓存区域的剩余存储空间,在所述剩余存储空间小于预设阈值时,将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,并清除所述缓存区域中存储的各个所述缓存数据。
本发明上述实施例中,由于在采集大量的待处理数据时,相同的待处理数据通常在时间上具有一定的连续性,通过在内存中设置缓存区域,以及在非易失性存储介质中设置指定存储区域,在每采集到一个待处理数据后,当且仅当在检测到缓存区域中不存在与该待处理数据相同的目标缓存数据时,才将该待处理数据作为缓存数据存储至缓存区域,从而实现对一个连续的时间段内采集的各个待处理数据进行去重复处理,后续则可在检测到缓存区域的剩余存储空间小于预设阈值时,将缓存区域中存储的各个缓存数据分别作为存储数据存储至指定存储区域,并清除缓存区域中存储的各个缓存数据,以便利用空闲的缓存区域对后续时间段内采集的各个待处理数据再次进行去重复处理。综上可见,本发明实施例提供的技术方案中,无需将各个待处理数据全部存储至非易失性存储介质以对各个待处理数据进行去重复处理,仅需要通过缓存区域对各个不同时间段内分别连续采集的少量待处理数据进行去重复处理则可,可更为快速的实现对大量待处理数据进行去重复处理。
本发明一个实施例中,所述步骤S1中,所述预先在非易失性存储介质中设置指定存储区域,包括:
预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,其中,每一个所述存储分区分别对应一个设定长度的数据链;
则,所述将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,包括:
针对于所述缓存区域中存储的每一个所述缓存数据,均执行:
A1:计算所述缓存数据的摘要值;
A2:根据所述摘要值及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标存储分区;
A3:当所述目标存储分区中不存在与所述缓存数据相同的目标存储数据时,将所述缓存数据作为存储数据存储至所述目标存储分区。
具体地,针对于每一个所述缓存数据,当前所述缓存数据的摘要值的前n个数据位所形成的数据链,与存储当前所述缓存数据的目标存储分区所对应的数据链相同,其中,n为所述设定长度。
通过本发明上述实施例,由于已经被存储至非易失性存储介质的各个存储数据中,可能存在目标存储数据与即将被存储至非易失性存储介质的缓存数据相同,通过将对应摘要值前n个数据位相同的各个缓存数据作为存储数据存储到同一个存储分区内,在后续过程中需要对已经存储至非易失性存储介质中进行读取,以确定非易失性存储介质中是否存在与缓存数据相同的目标存储数据时,仅需要根据即将被存储至非易失性存储介质的缓存数据的摘要值,读取所对应数据链与该摘要值相对应的目标存储分区内的各个存储数据则可,无需读取已经被存储至非易失性存储介质的全部存储数据,则可快速确定出非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。
具体地,为了更为快速的确定出非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据,本发明一个实施例中,所述预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,进一步包括:根据各个所述存储分区分别对应的数据链设置各个所述存储分区分别对应的摘要值索引;
则,所述A2进一步包括:根据所述摘要值以及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标摘要值索引;
所述A3,包括:查询所述目标摘要索引中是否存在所述摘要值;当所述目标摘要索引中不存在所述摘要值时,将所述缓存数据作为存储数据存储至所述目标存储分区,并将所述摘要值新增至所述目标摘要索引。
本发明上述实施例中,各个存储分区所分别对应的摘要值索引具体可以由已经被存储至当前存储分区的各个存储数据所分别对应的摘要值构成,当需要确定非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据时,仅需要计算出即将被存储至非易失存储介质的摘要值,然后根据该摘要值确定出对应的目标摘要值索引,进而通过判断目标摘要值索引中是否存在与该摘要值相同的目标摘要值,来确定非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。综上可见,无需读取已经被存储至相应目标存储分区的各个存储数据,可更为快速的确定出非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。
相应的,当且仅当确定出非易失性存储介质中不存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据时,才将即将被存储至非易失性存储介质的缓存数据作为存储数据存储至非易失性存储介质中相应的存储分区,确保非易失性存储介质中不会存储相同的存储数据。
进一步的,为了实现快速判断目标摘要值索引中是否存在与该摘要值相同的目标摘要值,本发明一个实施例中,所述将所述摘要值新增至所述目标摘要索引,包括:根据所述摘要值的大小,将所述摘要值插入到所述目标摘要索引中。摘要值索引中的各个摘要值具体可以按照由小到大或由大大小的顺序进行排序,在针对计算的摘要值与确定的摘要值索引中的各个摘要值进行比较时,无需将计算的摘要值与确定的目标摘要值索引中的各个摘要值进行逐一比较则可确定出目标摘要值索引中是否存在与该摘要值相同的目标摘要值。
举例来说,计算得到缓存区域中即将需要被存储至非易失性存储介质的一个缓存数据所对应的摘要值为A,确定的目标摘要值索引中包括有4个按照由小到大的顺序排列的摘要值B、C、D、E;当需要判断目标摘要值索引中是否存在目标摘要值与计算得到的摘要值相同时,如果判断出A大于B且小于C,则明显说明后续的D与E均不与A相同,无需继续比较A与D、A与E则可快速判断出确定的目标摘要值索引中不存在与计算的摘要值相同的目标摘要值。
相应的,当计算得到的A需要被新增到确定的目标摘要值索引时,则可将A新增到B与C之间,形成的新的摘要值索引中各个摘要值的排序则为:B、A、C、D、E。
为了更加清楚的说明本发明的就似乎方案及优点,下面以非易失性存储介质包括缓存分区a和缓存分区b,缓存分区a和b分别对应的摘要值索引中,各个摘要值按照由小达到的顺序进行排序,且当前采集的一个待处理数据是A为例,如图2所示,具体可以通过如下各个步骤实现对多个待处理数据中的待处理数据A进行去重复处理:
步骤201,在内存中设置缓存区域;以及在非易失性存储介质中设置至少一个存储分区,并根据各个存储分区分别对应的数据链设置各个存储分区分别对应的摘要值索引。
这里,缓存区域具体可以是一张缓存表格,非易失性存储介质中设置有多个存储分区,为了方便描述,这里仅以非易失性存储介质包括存储分区a和存储分区b为例,且以存储分区a对应一个设定长度为4的数据链0001,存储分区b对应一个设定长度为4的数据链0010为例。
这里,各个存储分区所分别对应的摘要值索引可利用当前存储分区所对应的数据链来命名。针对于每一个摘要值索引,在当前摘要值索引所对应的存储分区中未存储存储数据时,摘要值索引为空;在当前摘要值索引所对应的存储分区中存在至少一个存储数据时,当前摘要值索引中则包括当前摘要值索引所对应的存储分区中存储的各个存储数据的摘要值,且前述各个存储数据的摘要值按照由小到大的顺序排列在当前摘要值索引中。
步骤202,在采集到一个待处理数据A时,检测缓存区域中是否存在与A相同的目标缓存数据。
步骤203,当缓存区域中不存在与待处理数据A相同的目标缓存数据时,将待处理数据A作为缓存数据存储至缓存区域。
这里,当缓存区域中不存在已经存储的缓存数据时,缓存数据A可直接存储到缓存区域中。当且仅当缓存区域中不存在与待处理数据A相同的目标缓存数据时,才将待处理数据A作为缓存数据存储至缓存区域;当缓存区域中存在与待处理数据A相同的目标缓存数据时,则释放待处理数据A,无需将待处理数据A作为缓存数据存储到缓存区域中,避免待处理数据A被重复存储至非易失存储介质。
步骤204,检测缓存区域的剩余存储空间是否小于预设阈值,如果是,则执行步骤205;否则,结束当前流程。
步骤205,计算缓存数据A的摘要值。
应当理解的是,本发明实施例的各个步骤中仅针对待处理数据A进行举例说明,针对于缓存区域中的其它数据,均可通过步骤205至步骤209中相同或相似的方法对其进行相应的处理。
本发明实施例中具体以计算出缓存数据A的摘要值是00010010为例。
步骤206,根据计算的摘要值及各个存储分区分别对应的数据链,确定缓存数据A所对应的目标存储分区,以及确定出缓存数据A所对应的目标摘要值索引。
这里,通过计算的摘要值的前4位所形成的二进制数据链0001,确定出目标存储分区是对应二进制数据链为0001的存储分区a;同时,可确定出目标摘要值索引是被命名为0001的摘要值索引。
步骤207,查询确定的目标摘要值索引中是否存在计算的摘要值,如果是,则结束当前流程;否则,执行步骤208。
本发明实施例中,当存储分区a中未存储存储数据时,则被命名为0001的目标摘要值索引中不存在摘要值,可将计算的摘要值00010010直接写入被命名为为0001的目标摘要值索引中。
这里以存储分区a中已经存储了存储数据B、C、D、E为例,且B、C、D、E分别对应的摘要值为:00010011、00010001、00010111、00011111,具体以目标摘要值索引中对存储数据B、C、D、E分别对应的摘要值以由小到大的顺序排列为例,即确定的目标存储区域中存储的摘要值依次为:00010001、00010011、00010111、00011111;在查询目标存储区域中是否存在目标摘要值与计算的摘要值相同时,可利用计算的摘要值与目标摘要值索引中存储的各个摘要值依次比较,比如,可比较出目标摘要值索引中排序为1的摘要值00010001小于计算的摘要值00010010,排序为2的摘要值00010011大于计算的摘要值00010010,由于对应排序在2之后的各个摘要值均大于排序为2的摘要值00010011,因此,无需将计算的摘要值与确定的目标摘要值索引中排序为3、4的摘要值进行比较则可确定出目标摘要值索引中不存在目标摘要值与计算的摘要值相同。
步骤208,将缓存数据A作为存储数据存储至目标存储分区。
步骤209,根据计算的摘要值的大小,将计算的摘要值插入到确定的目标摘要索引中。
这里,则可将计算的摘要值索引插入到确定的目标摘要值索引中,位于对饮排序为1的摘要值和对应排序为2的摘要值之间,如此,形成的对应于存储分区a的摘要值索引中,各个摘要值排序为:00010001、00010010、00010011、00010111、00011111。
步骤210,清除缓存区域中存储的各个缓存数据。
在针对缓存区域中存储各个缓存数据均执行上述205至209中相同或相似的步骤之后,则可清除缓存区域中存储的各个缓存数据,以便利用空闲的缓存区域对后续时间段内采集的各个待处理数据再次进行去重复处理。
通过本发明实施例的上述各个步骤,则可实现对待处理数据A进行去重复处理,避免待处理数据A被重复存储到非易失性存储介质中。
如图3所示,本发明实施例提供了一种对数据进行去重复处理的装置,包括:
设置模块301,用于在内存中设置缓存区域,以及预先在非易失性存储介质中设置指定存储区域;
检测模块302,用于在采集到一个待处理数据时,检测所述缓存区域中是否存在与所述待处理数据相同的目标缓存数据;
缓存处理模块303,用于当所述缓存区域中不存在与所述待处理数据相同的目标缓存数据时,将所述待处理数据作为缓存数据存储至所述缓存区域;
存储处理模块304,用于检测所述缓存区域的剩余存储空间,在所述剩余存储空间小于预设阈值时,将所述缓存区域中存储的各个所述缓存数据分别作为存储数据存储至所述指定存储区域,并清除所述缓存区域中存储的各个所述缓存数据。
如图4所示,本发明一个优选实施例中,所述设置模块301,用于预先在非易失性存储介质中设置包括至少一个存储分区的指定存储区域,其中,每一个所述存储分区分别对应一个设定长度的数据链;
则,所述存储处理模块304,包括:计算单元3041、确定单元3042和存储处理单元3043;
所述计算单元3041,用于针对于所述缓存区域中存储的每一个所述缓存数据,计算所述缓存数据的摘要值;
所述确定单元3042,用于根据所述摘要值及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标存储分区;
所述存储处理单元3043,用于当所述目标存储分区中不存在与所述缓存数据相同的目标存储数据时,将所述缓存数据作为存储数据存储至所述目标存储分区。
如图4所示,本发明一个优选实施例中,所述设置模块301,进一步用于根据各个所述存储分区分别对应的数据链设置各个所述存储分区分别对应的摘要值索引;
则,
所述确定单元3042,进一步用于根据所述摘要值以及各个所述存储分区分别对应的数据链,确定所述缓存数据所对应的目标摘要值索引;
所述存储处理单元3043,用于查询所述目标摘要索引中是否存在所述摘要值;当所述目标摘要索引中不存在所述摘要值时,将所述缓存数据作为存储数据存储至所述目标存储分区,并将所述摘要值新增至所述目标摘要索引。
如图4所示,本发明一个优选实施例中,所述存储处理单元3043,用于根据所述摘要值的大小,将所述摘要值插入到所述目标摘要索引中。
本发明一个实施例中,针对于每一个所述缓存数据,当前所述缓存数据的摘要值的前n个数据位所形成的数据链,与存储当前所述缓存数据的目标存储分区所对应的数据链相同,其中,n为所述设定长度。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明任意一个实施例中提供的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明任意一个实施例中提供的方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、本发明一实施例中,由于在采集大量的待处理数据时,相同的待处理数据通常在时间上具有一定的连续性,通过在内存中设置缓存区域,以及在非易失性存储介质中设置指定存储区域,在每采集到一个待处理数据后,当且仅当在检测到缓存区域中不存在与该待处理数据相同的目标缓存数据时,才将该待处理数据作为缓存数据存储至缓存区域,从而实现对一个连续的时间段内采集的各个待处理数据进行去重复处理,后续则可在检测到缓存区域的剩余存储空间小于预设阈值时,将缓存区域中存储的各个缓存数据分别作为存储数据存储至指定存储区域,并清除缓存区域中存储的各个缓存数据,以便利用空闲的缓存区域对后续时间段内采集的各个待处理数据再次进行去重复处理。综上可见,本发明实施例提供的技术方案中,无需将各个待处理数据全部存储至非易失性存储介质以对各个待处理数据进行去重复处理,仅需要通过缓存区域对各个不同时间段内分别连续采集的少量待处理数据进行去重复处理则可,可更为快速的实现对大量待处理数据进行去重复处理。
2、本发明一实施例中,通过将对应摘要值前n个数据位相同的各个缓存数据作为存储数据存储到同一个存储分区内,在后续过程中需要对已经存储至非易失性存储介质中进行读取,以确定非易失性存储介质中是否存在与缓存数据相同的目标存储数据时,仅需要根据即将被存储至非易失性存储介质的缓存数据的摘要值,读取所对应数据链与该摘要值相对应的目标存储分区内的各个存储数据则可,无需读取已经被存储至非易失性存储介质的全部存储数据,则可快速确定出非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。
3、本发明一实施例中,各个存储分区所分别对应的摘要值索引具体可以由已经被存储至当前存储分区的各个存储数据所分别对应的摘要值构成,当需要确定非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据时,仅需要计算出即将被存储至非易失存储介质的摘要值,然后根据该摘要值确定出对应的目标摘要值索引,进而通过判断目标摘要值索引中是否存在与该摘要值相同的目标摘要值,来确定非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。综上可见,无需读取已经被存储至相应目标存储分区的各个存储数据,可更为快速的确定出非易失性存储介质中是否存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据。
4、本发明一实施例中,当且仅当确定出非易失性存储介质中不存在与即将被存储至非易失性存储介质的缓存数据相同的目标存储数据时,才将即将被存储至非易失性存储介质的缓存数据作为存储数据存储至非易失性存储介质中相应的存储分区,确保非易失性存储介质中不会存储相同的存储数据。
5、本发明一实施例中,摘要值索引中的各个摘要值具体可以按照由小到大或由大大小的顺序进行排序,在针对计算的摘要值与确定的摘要值索引中的各个摘要值进行比较时,无需将计算的摘要值与确定的目标摘要值索引中的各个摘要值进行逐一比较则可确定出目标摘要值索引中是否存在与该摘要值相同的目标摘要值。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。