基于关系型数据库及k-d树索引的文件数据管理方法

文档序号:6552253阅读:907来源:国知局
基于关系型数据库及k-d树索引的文件数据管理方法
【专利摘要】本发明公开了一种基于关系型数据库及K-D树索引的文件数据管理方法,包括如下步骤:采用一致性哈希算法对文件进行分布存储,将文件的MD5值作为该文件的哈希值,将哈希值与集群中的服务器建立映射关系,从而将不同哈希值的文件分布到不同的服务器上;在元数据管理服务器端构建关系型数据库,对文件元数据库表结构进行设计;根据文件元数据库表字段数量构建多维检索树;根据服务器端接收的查询请求类型,进行相应查询,返回查询结果。本发明利用关系型数据库和内存中的文件索引,既保证了模糊检索的可用性,也保证了范围检索的高效性,在海量文件资料管理领域具有重要的实际应用价值。
【专利说明】基于关系型数据库及K-D树索引的文件数据管理方法

【技术领域】
[0001] 本发明涉及海量文件数据的管理方法,尤其涉及一种基于关系型数据库及K-D树 索引的文件数据管理方法。

【背景技术】
[0002] 大型企业级应用中存在海量的业务数据需要进行管理。在这些文件数据中文件资 料数据(包括扫描件,政策法规资料等)占了绝大多数,如何针对业务特征设计合理、高效的 文件存储与管理机制是个非常有意义的问题。
[0003] 每个需要集成的业务系统都留下了海量的文件资料,其管理会遇到如下几个问 题:(1)文件数据量较大,仅以一个区级单位为例,所有所涉及到的文件资料总大小已经超 过5T,并且以每年2T的数据量增加。(2)文件没有备份机制,任意一次安全事故将导致文 件资料的丢失。(3)文件资料以"文件名+文件路径"的方式存储,缺乏有效的查询机制, 使得查阅比较困难。(4)文件资料存储效率低,有的业务系统将图片文件直接存放在数据 库中,文件的读写都要经过SQL引擎,存储效率较低。常见的分布式文件系统如GFS,HDFS 和TFS对于简单的文件存储应用而言都过于复杂,最好的方式是结合实际情况设计简单的 文件存储系统来满足业务需求。文件元数据管理是文件管理的核心,常见的文件元数据通 常采用〈key, value〉的形式存储,其中key为主键,value表示文件存储路径与文件名的 组合。文件的业务属性则托管给上层应用数据库管理,造成了文件系统与应用系统强耦合。


【发明内容】

[0004] 本发明的目的在于针对现有技术的不足,提供一种基于关系型数据库及K-D树索 引的文件数据管理方法。
[0005] 本发明的目的是通过一下技术方案来实现的:一种基于关系型数据库及K-D树 索引的文件数据管理方法,包括以下步骤: (1) 采用一致性哈希算法(DHT)对文件进行分布存储,将文件的MD5值作为该文件的哈 希值,将哈希值与集群中的服务器建立映射关系,从而将不同哈希值的文件分布到不同的 服务器上; (2) 在元数据管理服务器端构建关系型数据库,对文件元数据库表结构进行设计,文件 元数据库表字段包括:文件存储路径、是否删除、上传时间; (3) 根据文件元数据库表字段数量,构建多维检索树(K-D树); (4) 判断元数据管理服务器端接收的客户端发送的检索请求,如检索请求类型为模糊 查找,将该请求自动转发到步骤2构建的关系型数据库中进行模糊检索;如检索请求类型 为属性范围查找,则调用步骤3构建的多维检索树,返回查询结果; (5) 在元数据管理服务器空闲时,重新建立平衡的多维检索树。
[0006] 进一步地,所述步骤(1)中将哈希值与集群中的服务器建立映射关系具体为:给 集群中的每个服务器分配随机标签,这些随机标签构成一个哈希环,存储文件时,计算文件 主键哈希值,然后存放到哈希环顺时针方向中第一个大于或等于该哈希值所在的服务器节 点。
[0007] 进一步地,所述的步骤(3)具体为:k表示文件元数据库表字段个数,η表示多维 检索树的层数,第η层中的每个节点,其左子树中每个节点的第n%k维属性小于或者等于 该节点的n%k维属性,右子树中的每个节点的第n%k维属性大于或等于该节点的n%k维属 性;在平衡状态下,多维检索树的检索性能0(l〇gN),并且支持0(N~(k-t/k))的范围查询 效率,其中N表示文件数量,t为查询时指定的维度。
[0008] 进一步地,所述的步骤(5)具体为: (5. 1)检索步骤2构建的关系型数据库的每个属性,将文件的第一维属性均摊分成两 个部分,将中间节点插入到多维检索树; (5. 2)对文件的第二维属性进行与步骤5. 1同样的处理,直到所有元数据信息按照维 度全部载入到多维检索树中,最终得到平衡态的多维检索树。
[0009] 本发明与现有技术相比具有的有益效果: (1)支持模糊检索以及范围检索两种检索类型,支持两种文件检索引擎自由切换,具有 了很高的检索效率。
[0010] (2)能够利用关系型数据库的优点,支持SQL语句查询,不仅支持对文件资料的精 确检索,也支持对某个属性的模糊检索,灵活度大大提升。
[0011] (3)大幅度降低了文件索引在内存中所占用的空间,支持对文件的多个维度进行 检索,提升了检索效率。

【专利附图】

【附图说明】
[0012] 图1是文件检索请求分布示意图。

【具体实施方式】
[0013] 下面结合附图对本发明作进一步详细说明。
[0014] 如图1所示,本发明一种基于关系型数据库及K-D树索引的文件数据管理方法, 包括如下步骤: (1)采用一致性哈希算法对文件进行分布存储,将文件的MD5值作为该文件的哈希值, 将哈希值与集群中的服务器建立映射关系,给集群中的每个服务器分配随机标签,这些随 机标签构成一个哈希环,存储文件时,计算文件主键哈希值,然后存放到哈希环顺时针方向 中第一个大于或等于该哈希值所在的服务器节点;从而将不同哈希值的文件分布到不同的 服务器上。
[0015] (2)在元数据管理服务器端构建关系型数据库,对文件元数据库表结构进行设计, 文件元数据库表字段包括:文件存储路径、是否删除、上传时间; (3)根据文件元数据库表字段数量,构建多维检索树:k表示文件元数据库表字段个 数,η表示多维检索树的层数,第η层中的每个节点,其左子树中每个节点的第n%k维属性 小于或者等于该节点的n%k维属性,右子树中的每个节点的第n%k维属性大于或等于该节 点的n%k维属性;在平衡状态下,多维检索树的检索性能O(logN),并且支持0(N~(k-t/k)) 的范围查询效率,其中N表示文件数量,t为查询时指定的维度。
[0016] (4)判断元数据管理服务器端接收的客户端发送的检索请求,如检索请求类型为 模糊查找,将该请求自动转发到步骤2构建的关系型数据库中进行模糊检索;如检索请求 类型为属性范围查找,则调用步骤3构建的多维检索树,返回查询结果; (5)在元数据管理服务器空闲时,重新建立平衡的多维检索树,提高检索效率,具体 为: (5. 1)检索步骤2构建的关系型数据库的每个属性,将文件的第一维属性均摊分成两 个部分,将中间节点插入到多维检索树; (5. 2)对文件的第二维属性进行与步骤5. 1同样的处理,直到所有元数据信息按照维 度全部载入到多维检索树中,最终得到平衡态的多维检索树。
[0017] 实施例: (1)搭建分布式存储环境。实验环境为2T硬盘单个文件元数据管理服务器以及4个 文件服务器组成的文件集群,操作系统为ubantul3. 10,网络传输速率为10m/s.准备文件 材料集,将20k大小的扫描件,通过随机生成不重复文件名以及随机选择其行政区划属性, 同时进行文件上传1000次。
[0018] (2)以业务背景为例,调研文件资料所需要进行检索的字段文档,在元数据管理 服务器端构建关系型数据库,对文件元数据库表结构进行设计,设计字段原则是每一个字 段均与业务需求相关,其中文件存储路径,是否删除,上传时间是必须字段。

【权利要求】
1. 一种基于关系型数据库及K-D树索引的文件数据管理方法,其特征在于,包括如下 步骤: (1) 采用一致性哈希算法对文件进行分布存储,将文件的MD5值作为该文件的哈希值, 将哈希值与集群中的服务器建立映射关系,从而将不同哈希值的文件分布到不同的服务器 上; (2) 在元数据管理服务器端构建关系型数据库,对文件元数据库表结构进行设计,文件 元数据库表字段包括:文件存储路径、是否删除、上传时间; (3) 根据文件元数据库表字段数量,构建多维检索树; (4) 判断元数据管理服务器端接收的客户端发送的检索请求,如检索请求类型为模糊 查找,将该请求自动转发到步骤2构建的关系型数据库中进行模糊检索;如检索请求类型 为属性范围查找,则调用步骤3构建的多维检索树,返回查询结果; (5) 在元数据管理服务器空闲时,重新建立平衡的多维检索树。
2. 根据权利要求1所述的一种基于关系型数据库及K-D树索引的文件数据管理方法, 其特征在于,所述步骤(1)中将哈希值与集群中的服务器建立映射关系具体为:给集群中 的每个服务器分配随机标签,这些随机标签构成一个哈希环,存储文件时,计算文件主键哈 希值,然后存放到哈希环顺时针方向中第一个大于或等于该哈希值所在的服务器节点。
3. 根据权利要求1所述的一种基于关系型数据库及K-D树索引的文件数据管理方法, 其特征在于,所述的步骤(3)具体为:k表示文件元数据库表字段个数,η表示多维检索树的 层数,第η层中的每个节点,其左子树中每个节点的第n%k维属性小于或者等于该节点的 n%k维属性,右子树中的每个节点的第n%k维属性大于或等于该节点的n%k维属性;在平衡 状态下,多维检索树的检索性能〇 (logN),并且支持0 (N~ (k-t/k))的范围查询效率,其中N 表示文件数量,t为查询时指定的维度。
4. 根据权利要求1所述的一种基于关系型数据库及K-D树索引的文件数据管理方法, 其特征在于,所述的步骤(5)具体为: (5. 1)检索步骤2构建的关系型数据库的每个属性,将文件的第一维属性均摊分成两 个部分,将中间节点插入到多维检索树; (5. 2)对文件的第二维属性进行与步骤5. 1同样的处理,直到所有元数据信息按照维 度全部载入到多维检索树中,最终得到平衡态的多维检索树。
【文档编号】G06F17/30GK104063487SQ201410316850
【公开日】2014年9月24日 申请日期:2014年7月3日 优先权日:2014年7月3日
【发明者】杜震洪, 张丰, 刘仁义, 郑少楠, 郭绿奕 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1