基于内容感知的数据管理方法和系统的制作方法

文档序号:6535813阅读:223来源:国知局
基于内容感知的数据管理方法和系统的制作方法
【专利摘要】本发明提供一种基于内容感知的数据管理方法和系统。所述方法,包括:获取预先设置的文件格式模板;将存储的文件与文件格式模板进行匹配,得到文件的文件格式;根据文件的文件格式,将文件的内容划分成至少两个对象数据,并将所有对象数据存储在存储数据库中;以及,根据文件的文件格式,确定文件对应的校验算法;利用文件对应的校验算法对文件对应的每个对象数据进行校验计算,记录文件的每个对象数据对应的校验值;建立每个对象数据对应的校验值与对象数据在存储数据库中存储位置的对应关系;根据每个对象数据对应的校验值与对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理。
【专利说明】基于内容感知的数据管理方法和系统
【技术领域】
[0001]本发明涉及计算机应用领域,尤其涉及一种基于内容感知的数据管理方法和系统。
【背景技术】
[0002]进入21世纪以来,随着信息时代的加速,企业数据呈现出爆炸性增长的趋势,特别是移动互联网、物联网和云计算的发展更加剧了数据的爆炸式增长。IDC报告指出,全球数据量每年以60%的速度递增,2010年全球数据量达1.8ZB,2015年将达到8ZB,2020年将达到35ZB,标志着“大数据”时代的到来。数据增长带来如下巨大的问题:成本急剧增加、带宽压力大、耗能问题严重、设备空间占用巨大、靠增加设备无法彻底解决数据量激增的问题等问题,同时,世界所面临的能源问题日益严峻,在高科技的IT领域能源浪费和环保更加引人注目。互联网的广泛使用让大型企业、政府机关、金融机构的信息中心规模日益膨胀,数据交换增加,设备堆积成山,占地面积越来越多,耗电量屡创新高。为实现信息和管理优化,在构建企业信息架构时,更加呼吁绿色的节能技术。节约能源,减少电力消耗,降低系统成本,急需研究面向新兴应用的新型绿色存储技术。在这个大趋势下,重复数据删除技术蕴育而生,重复数据删除技术能够有效地减少用户存储系统中的重复数据,从而为用户节省了存储容量,降低存储成本和管理难度。
[0003]在数据重删技术中,按照重删的方法可以分为:文件级重删和块级重删。这两种方法都是跨文件之间的重删,因此在实际使用过程中无法按需读取。

【发明内容】

[0004]本发明提供的基于内容感知的数据管理方法和系统,要解决的技术问题是如何按需读取数据。
[0005]为解决上述技术问题,本发明提供了如下技术方案:
[0006]一种基于内容感知的数据管理方法,包括:
[0007]获取预先设置的文件格式模板;
[0008]将存储的文件与所述文件格式模板进行匹配,得到所述文件的文件格式;
[0009]根据所述文件的文件格式,将所述文件的内容划分成至少两个对象数据,并将所有对象数据存储在存储数据库中;以及,根据所述文件的文件格式,确定所述文件对应的校验算法;
[0010]利用所述文件对应的校验算法对所述文件对应的每个对象数据进行校验计算,记录所述文件的每个对象数据对应的校验值;
[0011]建立所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系;
[0012]根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理。[0013]其中,根据所述文件的文件格式,确定所述文件对应的校验算法,包括:
[0014]在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
[0015]其中,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括:
[0016]当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对;
[0017]如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的对象数据,对查到的对象数据进行重删操作。
[0018]其中,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括:
[0019]当应用程序读取文件时,获取应用程序所使用的对象数据的校验值;
[0020]根据所述校验值对应的存储位置,读取所述对象数据。
[0021]一种基于内容感知的数据管理系统,该系统包括:结构化及非结构化文件格式模板库、文件扫描感知模块、校验计算模块、校验存储数据库和对象存储数据库,其中:
[0022]文件格式模板库,用于存储多个文件格式模板,其中所述文件格式模板包括结构化、非结构化文件的格式模板和自定义的文件格式模板中的至少一个;
[0023]文件扫描感知模块,用于逐一扫描文件,识别给定文件的格式,并利用文件格式模板库中存放的文件格式模板进行匹配,以选择合适的校验算法;
[0024]校验计算模块,用于按照文件格式提取出来的文件内部对象提供各种校验计算算法;
[0025]校验存储数据库,用于在文件扫描感知模块分析出文件格式后,将文件的内容按照文件格式分成至少两个对象数据,并将对象数据存储到对象数据库中,并使用校验计算模块对对象数据集中的对象进行校验计算,记录校验值及该对象在对象存储数据库中的存放位置;
[0026]对象存储数据库,用于存放对象数据。
[0027]其中,所述校验计算模块,具体用于在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
[0028]其中,所述系统还包括重删模块;其中:
[0029]所述重删模块,用于当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对;如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的数据,对查到的对象数据进行重删操作。
[0030]其中,所述系统还包括读取控制模块,其中:
[0031]所述读取控制模块,用于当应用程序读取文件时,获取应用程序所使用的对象数据的校验值,并根据所述校验值对应的存储位置,读取所述对象数据。
[0032]本发明提供的采用基于内容感知的重复数据删除方法和系统,以文件格式模板库为中心将文件内部数据按照文件格式分割成对象,将实际对象数据存入对象存储数据库,而文件对象位置则存放该对象哈希值,并不破坏原文件的文件格式,当应用程序读取文件时,不需要将存放在对象存储数据库中的所有对象数据读出并组合成原始文件,而只按需根据对象校验值读取相应文件对象即可,减少读取不必要的数据,提高IO性能。
【专利附图】

【附图说明】
[0033]图1为本发明提供的基于内容感知的数据管理方法实施例的流程示意图;
[0034]图2为本发明提供的基于内容感知的数据管理系统实施例的流程示意图。
【具体实施方式】
[0035]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0036]图1为本发明提供的基于内容感知的数据管理方法实施例的流程示意图。图1所示方法实施例包括:
[0037]步骤101、获取预先设置的文件格式模板;
[0038]其中,文件格式模板是由文件的数据格式建立的,其中每个文件格式对应有各自的数据划分规则,其中该数据划分规则根据该文件的数据存储单位来设置的;例如,视频格式的文件可以按照数据帧的数量来划分等。简单来说,是按照文件大小来划分的,其中划分的最小单位可以根据整个文件的大小来设置,在数据划分规则中可以通过设置划分的个数的上限值和下限值来来设置划分后每个对象数据的大小,当然,也可以设置对象数据的大小的上限值和下限值。
[0039]步骤102、将存储的文件与所述文件格式模板进行匹配,得到所述文件的文件格式;
[0040]具体的,在得到某一文件后,读取该文件的后缀名,将该后缀名与文件格式模板中记录的文件格式进行对比,查找到该文件的文件格式。
[0041]步骤103、根据所述文件的文件格式,将所述文件的内容划分成至少两个对象数据,并将所有对象数据存储在存储数据库中;以及,根据所述文件的文件格式,确定所述文件对应的校验算法;
[0042]其中,不同文件使用不同的校验算法,比如图片,可以使用尺度不变特征转换(Scale-1nvariant feature transform, SIFT)和 pHash 算法,普通的文件校验可以使用MD5校验。
[0043]步骤104、利用所述文件对应的校验算法对所述文件对应的每个对象数据进行校验计算,记录所述文件的每个对象数据对应的校验值;
[0044]其中步骤103和步骤104没有明确的先后顺序。
[0045]步骤105、建立所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系;
[0046]例如,按照文件的对象数据在文件的排列顺序,顺序保存对象数据的校验值。
[0047]步骤106、根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理。
[0048]本发明采用基于内容感知的重复数据删除方法,以结构化及非结构化文件格式模板库为中心将文件内部数据按照文件格式分割成对象,将实际对象数据存入对象存储数据库,而文件对象位置则存放该对象哈希值,并不破坏原文件的文件格式,当应用程序读取文件时,不需要将存放在对象存储数据库中的所有对象数据读出并组合成原始文件,而只按需根据对象校验值读取相应文件对象即可,减少读取不必要的数据,提高IO性能。
[0049]本发明的结构区别于传统的文件重删和块重删,具体来说,现有的重删方法对文件内部的重复数据并不提前进行重删处理,每一次重删都需要多次对重复数据进行校验计算、比对等操作,同时还会破坏文件原有的格式,当应用程序处理文件时,需要从数据存储仓库中读取所有的文件数据组合成原文件后才能处理,无法按需读取。本发明采用基于内容感知的重复数据删除方法,以结构化及非结构化文件格式模板库为中心将文件内部数据按照文件格式分割成对象,将实际对象数据存入对象存储数据库,而文件对象位置则存放该对象校验值,并不破坏原文件的文件格式,当应用程序读取文件时,不需要将存放在对象存储数据库中的所有对象数据读出并组合成原始文件,而只按需根据对象校验值读取相应文件对象,减少读取不必要的数据,提高IO性能。
[0050]下面对本发明提供的方法实施例作进一步说明:
[0051]其中,根据所述文件的文件格式,确定所述文件对应的校验算法,包括:
[0052]在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
[0053]具体的,针对某些文件格式的文件,该文件格式可适用的校验算法有很多种,但上述校验算法的复杂度上有一定区别,因此将能够适用的校验算法划分成高复杂度的算法和低复杂的算法,当如何设置的对象数据过大时,为保证运算性能,选择低复杂度的算法。
[0054]其中,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括:
[0055]当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对;
[0056]如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的对象数据,对查到的对象数据进行重删操作。
[0057]由于校验算法能够唯一鉴别某一对象数据的内容,因此,无需查看该对象数据的内容,通过校验值就可以简单的筛查出内容相同的数据,提高了工作效率。
[0058]其中,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括:
[0059]当应用程序读取文件时,获取应用程序所使用的对象数据的校验值;
[0060]根据所述校验值对应的存储位置,读取所述对象数据。
[0061]当接收到用户对某一对象数据的读取请求后,根据用户请求的数据起始位置,确定所述用户所请求的对象数据,例如,用户在线观看某一视频时,跳转视频的播放时间时,根据点击的播放时间确定对应的对象数据;再通过读取该对象数据的校验值,读取该对象数据的数据内容,发送给该用户。由此可以看出,上述方式能够快速响应用户对某一部分数据的快速读取请求,提高响应速度。
[0062]图2为本发明提供的基于内容感知的数据管理系统实施例的结构示意图。图2所示系统实施例包括:结构化及非结构化文件格式模板库201、文件扫描感知模块202、校验计算模块203、校验存储数据库204和对象存储数据库205,其中:
[0063]文件格式模板库201,用于存储多个文件格式模板,其中所述文件格式模板包括结构化、非结构化文件的格式模板和自定义的文件格式模板中的至少一个;
[0064]文件扫描感知模块202,用于逐一扫描文件,识别给定文件的格式,并利用文件格式模板库201中存放的文件格式模板进行匹配,以选择合适的校验算法;
[0065]校验计算模块203,用于按照文件格式提取出来的文件内部对象提供各种校验计算算法;
[0066]校验存储数据库204,用于在文件扫描感知模块分析出文件格式后,将文件的内容按照文件格式分成至少两个对象数据,并将对象数据存储到对象数据库中,并使用校验计算模块对对象数据集中的对象进行校验计算,记录校验值及该对象在对象存储数据库中的存放位置;
[0067]对象存储数据库205,用于存放对象数据。
[0068]其中,所述校验计算模块,具体用于在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
[0069]其中,所述系统还包括重删模块;其中:
[0070]所述重删模块,用于当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对;如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的数据,对查到的对象数据进行重删操作。
[0071]其中,所述系统还包括读取控制模块,其中:
[0072]所述读取控制模块,用于当应用程序读取文件时,获取应用程序所使用的对象数据的校验值,并根据所述校验值对应的存储位置,读取所述对象数据。
[0073]本发明的结构区别于传统的文件重删和块重删,具体来说,现有的重删方法对文件内部的重复数据并不提前进行重删处理,每一次重删都需要多次对重复数据进行校验计算、比对等操作,同时还会破坏文件原有的格式,当应用程序处理文件时,需要从数据存储仓库中读取所有的文件数据组合成原文件后才能处理,无法按需读取。本发明采用基于内容感知的重复数据删除方法,以结构化及非结构化文件格式模板库为中心将文件内部数据按照文件格式分割成对象,将实际对象数据存入对象存储数据库,而文件对象位置则存放该对象校验值,并不破坏原文件的文件格式,当应用程序读取文件时,不需要将存放在对象存储数据库中的所有对象数据读出并组合成原始文件,而只按需根据对象校验值读取相应文件对象,减少读取不必要的数据,提高IO性能。
[0074]本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之
一或其组合。
[0075]可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0076]上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
[0077]上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
[0078]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
【权利要求】
1.一种基于内容感知的数据管理方法,其特征在于,包括: 获取预先设置的文件格式模板; 将存储的文件与所述文件格式模板进行匹配,得到所述文件的文件格式; 根据所述文件的文件格式,将所述文件的内容划分成至少两个对象数据,并将所有对象数据存储在存储数据库中;以及,根据所述文件的文件格式,确定所述文件对应的校验算法; 利用所述文件对应的校验算法对所述文件对应的每个对象数据进行校验计算,记录所述文件的每个对象数据对应的校验值; 建立所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系; 根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理。
2.根据权利要求1所述的方法,其特征在于,根据所述文件的文件格式,确定所述文件对应的校验算法,包括: 在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括: 当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对; 如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的对象数据,对查到的对象数据进行重删操作。
4.根据权利要求1所述的方法,其特征在于,所述根据所述每个对象数据对应的校验值与所述对象数据在存储数据库中存储位置的对应关系,对存储的文件进行管理,包括: 当应用程序读取文件时,获取应用程序所使用的对象数据的校验值; 根据所述校验值对应的存储位置,读取所述对象数据。
5.一种基于内容感知的数据管理系统,其特征在于,该系统包括:结构化及非结构化文件格式模板库、文件扫描感知模块、校验计算模块、校验存储数据库和对象存储数据库,其中: 文件格式模板库,用于存储多个文件格式模板,其中所述文件格式模板包括结构化、非结构化文件的格式模板和自定义的文件格式模板中的至少一个; 文件扫描感知模块,用于逐一扫描文件,识别给定文件的格式,并利用文件格式模板库中存放的文件格式模板进行匹配,以选择合适的校验算法;校验计算模块,用于按照文件格式提取出来的文件内部对象提供各种校验计算算法;校验存储数据库,用于在文件扫描感知模块分析出文件格式后,将文件的内容按照文件格式分成至少两个对象数据,并将对象数据存储到对象数据库中,并使用校验计算模块对对象数据集中的对象进行校验计算,记录校验值及该对象在对象存储数据库中的存放位置; 对象存储数据库,用于存放对象数据。
6.根据权利要求5所述的方法,其特征在于: 所述校验计算模块,具体用于在某一文件格式对应有多个校验算法时,根据所述文件的每个对象数据的大小,选择与该文件大小对应复杂度的校验算法。
7.根据权利要求5所述的方法,其特征在于,所述系统还包括重删模块;其中: 所述重删模块,用于当执行跨文件重删时,对存储的文件的各个对象数据的校验值进行比对;如果两个对象数据的校验值相同,则根据校验值相同的两个对象数据的其中的一个的校验值对应的存储位置,查找所述校验值相同的两个对象的其中的一个的数据,对查到的对象数据进行重删操作。
8.根据权利要求5所述的系统,其特征在于,所述系统还包括读取控制模块,其中: 所述读取控制模块,用于当应用程序读取文件时,获取应用程序所使用的对象数据的校验值,并根据所述 校验值对应的存储位置,读取所述对象数据。
【文档编号】G06F17/30GK103761290SQ201410018214
【公开日】2014年4月30日 申请日期:2014年1月15日 优先权日:2014年1月15日
【发明者】王通 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1