收藏 分享(赏)

【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc

上传人:微传9988 文档编号:2480872 上传时间:2018-09-18 格式:DOC 页数:5 大小:120KB
下载 相关 举报
【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc_第1页
第1页 / 共5页
【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc_第2页
第2页 / 共5页
【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc_第3页
第3页 / 共5页
【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc_第4页
第4页 / 共5页
【WORD格式论文原稿】一种基于文件的分布式存储与查询系统.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、一种基 于 文 件的分 布 式 存储与 查 询 系统郑超平,黄朝兵(武汉 理工 大学 信息 工程 学院, 武汉 )摘要 : 现 今的 分布 式存 储 系统 , 一 般采 用的 是分 布 式数据 库系 统 。 分 布式 数 据库技 术较 为复杂, 整个 系统 维护 管理 较 为困难 。 本文 根据 实际 的 应用 , 结 合分 布式 原理 , 设计和 实现 了一 种基于 文件 的分 布式 存储 系统 , 把 海量 数据 分成 多个 小的数 据文 件 , 存 储于 多个 存储节 点上 , 并在此 系统 开发 了一 个快 速查询 应用 ,取 得了 较好 的效果 。关键词 : 分布 式存 储; 分 布

2、式查 询; 并行 计算中图分 类号 :T P317.4A distributed storage and query system based on file storageZheng Chaoping, Huang Chaobing(School of Information Engineering, Wuhan University of Technology, Wuhan ) Abstract: Nowdays, distributed storage system generally uses a distributed database system.The distributed

3、database technology is relatively complex and the whole system maintenance and management is difficult. A distributed storage and query system based on file storage that massive data is splited into many small data files and stored on multiple data nodes is designed and implemented by combining the

4、practical appllication and the principle of distributed system. A fast query application has been developed based on the system, and the results are promising.Key words: distributed storage; distributed query; parallel computing0 引言现代计 算机 的广 泛使 用, 数字信 息的 迅速 膨胀 , 在 各种领 域中 , 特 别是 在 IT 领域中 , 每 天都可 能会 产

5、生 海量 的原 始数据 , 如何 存储 这些 原 始数据 , 如何 快速 查询 自 己想要 知道 的原 始记录 , 变得 越来 越重 要 。 要 完成 对数 据的 查询 , 首先必 须解 决数 据的 存储 问题 , 对 于数 据 的存储 管理 , 一般 采用 的 是数据 库技 术 , 对 海量 数 据的存 储采 取的 是分 布式 数据库 系统 , 分 布式数 据库 系统 的数 据在 逻辑是 统一 的 , 而 在物 理 上却是 分散 的 , 进 一步 讲 , 分 布式 数据 库 是把数 据按 照一 定的 规则 分布在 不同 的站 点( Site,又 称节点 Node) 上, 并且 这 些数据 是

6、建 立 在统一 的逻 辑上 的 。 本 文 根据分 布式 数据 库的 存储 原理 , 设 计 了 一个 将海 量 的数据 使用 文本 文件进 行分 布式 的存 储系 统,并 在此 系统 上实 现数 据的快 速 查 询。1 文件的分布式的 存 储处理分布式存 储是将海 量的数 据分布存 放于多个 节点上 ,为了更 适合分布 式的应 用,系统 一 般可以 简单 地分 为客 户层 、 中 间层 和数 据层 。 使用 3 层的 优 点是 可以 把复 杂的 业务逻 辑处 理 放在中 间层 来处 理 , 而 业 务逻辑 发生 变化 时只 要对 中间层 进行 维护 , 而不 用 对其它 逻辑 进行 修改 。

7、 分 布式 数据 的存 储 结构 , 在 一定 的程 度上 决 定着分 布式 系统 的应 用 , 所以存 储方 案的 设计决 定着 分布 式应 用的 性能。作者简介:郑超平(出生年 1984),男,硕士,主要研究方 向:图像处理. E-mail: chaoping-数 据 存 储 结点 3备份 数 据 存 储 结点 n1.1 分布式存 储系统框架Google 的分 布式 文件 系统 是在下 面的 几个 假设 的条 件下 1: 硬 件故 障是常 态 、 支持大 数 据 的集、一次写入多次 读取 、高并发性。 Google 的分 布式文件系统平台 是 建立 在大量的廉价 的,消 费 级 的 IT

8、部 件上 的 ,某 些 部件 的可 靠性 并不 能保障 ,所 以系 统必 须较 好容错 处理 与 恢复处 理 能 力; 该系 统中 可以 支 技海 数据 的存 储, 数据量 可 以 是 T 级 的, 甚 至是 PB 级别 的; 这些数 据 一 般是 原始 记录 , 所 以写 入后 一般 不会 对 其进行 修 改 ; 高的 并发 性 , 是 系统 使用 针 对多用 户 所 设计 的 , 在 某 一时刻 可能 有多 个用 户同 时访问 相 同 的数 据 。 本 文 所设计 的分 布式 系主要 是 针 对海 量的 数据 存储与 查询 , 所以 系统 结 构可以 简 单 的设 计成 图 1 所示 。

9、将 一个 大 的数据 文 件 分成 若干 不相 关的小 文件 , 并分 发到 各结 点去存 储 , 为 了使 数据 有较 好的恢 复性 , 各节点 之 间 的数 据可 以相 互的备 份。原 始 数 据 的 划 分 成不相关 的小 文件数据分发数据分发 数据分发数据分发数 据 存 储 备份结点 1数 据 存 储 备份结点 2图 1 数据分布式存储结构1.2 数据分片 分片分发策略在分布 式存 储系 统中 , 数 据是经 过分 片的 方式 存放 在网络 中的 多个 存储 结点 上的 。 如 何 选择有 效 的 数据 存放 策略 来使系 统具 有稳 定的 可靠 性与良 好的 性能 至关 重要 。 通

10、常数 据放 置 策略分 为 顺 序放 置策 略和 随机放 置策 略 。 顺 序存 储 的好处 在于 当数 据结 点发 生故障 时 , 数 据 的恢复 开 销 比较 小 , 各 节 点的数 据管 理比 较容 易 ; 随机放 置策 略的 优点 在于 数据在 整个 系统 中是均 匀 分 布, 从整 体上 有利于 存储 的负 载均 衡 2。结合两 者的 优点 , 本文 所 设计的 存储 系统 是将 两种 策略进 行结 合 , 达 到数 据 的顺序 存储 和均匀 分 布 。本 文所 设计 的系统 是针 对 某 IT 公司 某 产品的 使用 情况 原始 日志 存储与 查询 , 其用户 使 用 总量 在 4

11、 亿左 右, 服务 器每 天收 集的 数 据记录 是 3 亿左 右 , 每 天 的日志 量 在 80G 左右。 每条 数据 的记 录信 息主 要 包括 时间 , IP 与用 户 ID 号。 其中 用 户 ID 号 是结 合 MAC 地 址生成 唯 一 标识 , 它是 由 a-f 与数字组成 的长 为 64 位 的字 符 串, 每台电 脑 的 ID 号都是 唯一 。 由 于 有 可 能 每 台 电 脑每 天会 产 生 不 止 一 条 记 录, 要将 这 些 数 据 长 期 保 存, 并且 给 出 指 定 的 ID 号查 询 这 个 ID 号在 指 定时间 段内 的记 录。 本系 统是将 数据 按

12、照 日期 与 ID 号的前 三位 进 行划分 , 将每 天 ID 号 前 3 位相同 记录 随机 的划 分 成 N 个 文件 , 其中 N 是数 据 存储结 点的 个 数, 即将 每天 的 原 始记 录 文件 分 成 16*16*16*N 个不相关 的小 个文 件 , 每 个 节点按 日期 存储16*16*16 个小文件。这样 划分就可以 保证数 据在各 节点可以按 顺序存 储,同 时也保证了 整 个系统 中数 据存 储的 负载 均衡, 并且 可以 使后 面的 的查询 程序 的并 行性 尽可 能地得 到开 发 ,- 3 -豆丁标准与论文网免费阅读: 尽量 充分 的得 利用 。1.3 数据的写

13、入过程查询数 据库 中的 记录 时 , 在数据 表的 相关 字段 添加 索引可 以加 快查 询数 据的 速度 , 但 是 当查询 涉 及 属性 超 过 6 个 的时 候 , 多维 索引 的查 询性 能就 会 急剧 的下 降 3。 可 见 在数据 表中 , 索引可 以 明 显改 善数 据的 查询性 能 , 但 是并 不是 索 引越多 越好 , 适量 的索 引 才能改 善查 询性 能。 本系 统数 据在 各结 点 并不是 以数 据库 存储 , 而 是以文 本文 件形 式存 储 , 在数据 的存 储过 程 中建 立多级 目 录 ,利 用目 录 树 达到数 据库 索引 的效 果, 如建立 目录 :产

14、品名 /年 /月 /日 /ID 前两位 。 每个 结点 将分 到 的数据 写入 这样 的目 录下 , 在 查 询 时就 可以 利用 目 录树快 速的 定位 至相应 的 文 件, 从而 可以 加快数 据的 查询 速度 。1.4 分布式存 储中的复制策略总体来 说 , 复 制策 略是 决 定一个 数据 对象 同时 应该 拥有几 个副 本 , 以 及这 些 副本怎 样才 能进行 有 效 地管 理, 必须 考虑以 下几 个问 题 4:(1)复制 算法的 设计。它 对数据副 本的读取 和更新 都有极其 关键的影 响,从 根本上决 定 了 一个系 统管 理的 有效 性。(2)副本 的的个 数。较少 的副本

15、可 能会使数 据丢失 ,而副本 多了浪费 了资源 ,并且也 增 加 了管理 的难 度。(3) 数据 的更 新问 题。 一 个数据 对像 可能 有多 个副 本,怎 样才 能更 合理 去更 新数据 。(4)数据 的一致 性程度。 这包括强 一致性和 弱一致 性。强一 致性要求 所有副 本同步更 新 , 会降低 数据 的可 用性 和访 问速度 ;弱 一致 性则 允许 非同步 更新 , 会 产生 一些 过期的 数据 。(5)用户 应用需 求。由于 应用的不 同,开发 具体的 分布式存 储系统时 需要综 合考虑这 些 因 素, 满 足不 同的 用户 需求 。在各 种不 同的 分布 式存 储 中, 数据

16、的复 制策 略是 根 据实际 情况 而确 定的 , 一 种较为 简单 的方法 是 各 节点 上的 数据 只要一 个副 本 , 各 节点 之 间相互 备份 , 如将 结点 1 的数据 备份 到结 点 2 上 , 将结 点 2 的 数据 备份 到 结 点 3 上 ,以 此类 推, 最 后 将结 点 n-1 的数 据备份 到结 点 n 上, 结点 n 的 数据 备份 到 结点 1 上 。 这 样做 的最 大 优点是 整个 系统 的存 储负 载均衡 , 数据 的 管理较 为 容 易 ; 但 不利 于 结点加 入与 退出 , 一旦 相 互备份 的结 点同 时出 现故 障时 , 部 分数 据 就无法 得

17、到 恢复 。本 系统 的数据 存储 就是 使用 这种 策略。2 分布式查询本文 设计 的分 布式 数据 存 储系统 最终 是应 用在 数据 的快速 查询 上, 给出 一个 ID 号 与时 间段, 能 快 速的 查询 这 个 ID 号 在这 个时 间段 内所 有 的原始 记录 。本 文采 用的 是 C/S(客 户 机 /服 务器)模式 ,其为分布 式 查询系统的核 心,把客户 界面和应用 系 统的应用逻 辑分离开 来,实 现 不 同的 应用 。具 体表现 为 client(客 户端 ) 的请求 和 server(服 务器 端)的 请求 响 应 5。查询系 统 主 要包 括 以下二 点:(1)表示

18、 处理逻 辑。为 客 户和信息 系统提 供了一个 交互平台, 主要是数 据的输 入和输出, 查 询请求 的输 入与 最终 结果 的输出 ,即 人机 交互 界面 。(2 ) 数 据处 理逻 辑 。 是 应 用系统 中负 责数 据操 作的 主体, 接收 已输 入的 查询 数 据请求 , 经 过 各结点 的查 询处 理并 返回 最终结 果。基于 前面 的分 布式 数据 存 储系统 结构 ,本 文将 分布 式查询 系统 结构 设计 成 图 2 所示 :服务器 端数 据 存 储结节 点 1 数 据 存 储客户端 结节 点 2 数 据 存 储结节 点 n图 2 分布式数据查询服务器 、 客户 端与 数据

19、存 储节点 之间 都是 通过 网络 连接 , 它 们之 前的 数据 交 换都是 通过网络完 成 , 其 过程 为: 客户端 发送 查询 请求 数据 ; 服务 器端 接收 客户 端 发送的 数据 查询 请求 , 并 将这 个查 询请 求 同时转 发给 各数 据存 储结 节; 数 据存 储结 点查 询 本地数 据 , 并 将 结果返 回给 服务 器端 ; 服务器 端收 集到 所有 数据 节点返 回的 查询 结果 后 , 将这些 结果 进行 合并, 并将 最终 的结 果返 回给客 户端 。2.1 查询处理在一般的 分布查询 系统, 主要是利 用分布式 数据库 技术,其 查询处理 一般可 以分为四 个

20、 层次 6:(1)查询分解。将待查询问题转化成一个定义在全局关系上的关系代数表达式或 SQL 语 句, 本 层转 换所 需要 的信 息在全 局概 念模 式中 获得 。( 2)数据 本地化。 把一个在全 局关系上 的查询具 体化 , 落实为 一相应物 理片段上 的查询 。 这一变 换所 需要 的信 息在 分布式 数据 的分 片模 式和 片段分 配模 式中 获得 。(3 ) 数据 的全 局优 化 。 根 据查询 语句 , 寻 找一 个近 于最优 的执 行策 略, 确定 查询的 相关 节点 ,以实现 用最 少的 时间 执行 查询。(4)数据 的局部 查询。由 拥有与查 询有关的 片段的 各个节点 具

21、体执行 。在一 个节点上 执 行 的子查 询, 被称 为局 部查 询。从图 2 中 可知 , 本 文的 分 布式查 询系 统 , 查 询的 所 有处理 都是 在存 储节 点上 完成的 , 这 样可以 简 化 系统 的设 计, 使 整个 系 统更 加的 简练 、 透 明 , 执 行 查询 时就 像是 在查 询 本机数 据, 同时整 个 系 统的 维护 也更 加的简 单容 易。2.2 数据的并 行查询在集中 式数 据库 中 , 由 于 系统大 多运 行在 单个 的处 理计算 上 , 所 有的 操作 都 是在本 地完 成, 所以 执行 查 询 的总 代 价是 CPU 代价 +I/O 代价 。 所花费

22、 的时 间就 是本 机完 成查询 的时 间, 其花费 时 间 主要 是由 查询 数据量 的大 小与 机器 的性 能决定 。 而在 分布 查询 中 , 数据是 分布 在 多个节 点 上 ,所 查询 的代 价不仅 要考 虑 CPU 代 价 与 I/O 代 价, 同时 还要 考 虑数据 在网 络上 的传输代价,即总代价为 CPU 代价+ I/O 代价+ 通 信代价。并且其时间花 费 也不是单一机 器消耗 的 时 间, 在分 布式 查 询中 是 利用 空间 换取 时间 , 从而 提 高查 询的 速度 。 其 查 询的时 间,- 5 -豆丁标准与论文网免费阅读: 络数 据的 传输 , 就 是所有 节点

23、完成 局部 查询 的时间 。 要减 少查 询总 体 花费的 时间 , 就必须使 各节 点尽 量的 并行 查询 , 即 各存 储节 点同 时 接收来 自服 务器 端的 数据 查询请 求 , 同 时 并行进 行局 部查 询 , 服 务 器同时 并行 接收 各节 点查 询的数 据结 果 。 这 样系 统 完成查 询时 间在 机器配 置相 同的 情况 上 , 约是单 台机 器花 费时 间 的 1/N( N 是存 储的 节点 数) 。 理 论是 存储 结点越 多, 查询 相同 数据 的时间 消耗 越少 。2.3 数据的局 部访问各节点 在接 收到 来自 服务 器端的 数据 查询 请求 时, 完 成对自

24、身的 数据 查询 称为 数据的 局 部访问 。 从整 个查 询系 统 来看 , 系 统并 行查 询所 用 时间 , 就 是整 个系 统中 , 局部查 询查 询最 慢节点 的 用 时, 所以 必须 尽可的 提高 每一 个节 点的 查询速 度。在数据 库存 储系 统中 , 索 引可以 提高 数据 的查 询速 度, 本文 所设 计的 系统 中 各节点 存储 的文本 文 件 , 根据 前面 的 数据写 入过 程的 设计 , 可 以利用 数据 存储 的目 录结 构来实 现类 似于 数据库 的 索 引功 能, 根据 查询请 求中 的信 息, 可得 到:产 品名/ 年/ 月/ 日/ ID 前 两位/ 文 件

25、名 , 这样就 可 以 确定 查询 结果 在节点 中的 具体 路径 与文 件, 完 成 结果 所在 文件 的 快速定 位 , 提 高 数据局 部 查 询的 速度 。在计算 机中 , 当输 入到 内 存的数 据量 超过 内存 的大 小时 , 数 据内 存的 数据 就 会反复 输出 到硬盘 , 这 样就 会引 起较 高的费 用。 在局 部查 询中 , 若查 询 较长 一段 时间 某 ID 号的记 录时 , 如果将 所 有 相关 的结 果文 件都输 放到 内存 中, 这些 文件的 总大 小极 可能 超出 计算机 的内 存 , 这样必 然 影 响查 询的 速度 。 为 避免 出现 这种 情况 , 在局

26、部 查询 中 , 顺 序查 询 每天的 对应 的文 件, 最 终 在 节点 上将 查询 时 间段 中 每天 的结 果进 行合 并, 发 送给 服务 器端 , 这 样 局部查 询中 , 各节点 在 执 行查 询中 内存 的消耗 非常 小, 有利 于提 高局部 查询 速度 。3 结束语本文设 计的 分布 式存 储查 询系统 , 在处 理简 单的 大 数据存 储查 询较 为实 用 , 系统的 维护 简单 , 数 据的 查询 速度 较 快。 分布 式存 储查 询系 统 较为复 杂 , 本 文设 计是 较 为简单 实用 的系 统, 在实 际应 用中 , 可 根 据具体 的要 求 , 对 本文 系 统进行

27、 修改 , 变成 自己 所 需的分 布式 存储 查询系 统 。 由 于 分 布式 本 身的复 杂, 技术 内容 丰富, 还有许 多问 题有 待进 一步 研究和 解决 。 随 着计算 机 技 术的 飞速 发展 , 相 信 分布 式数 据存 储与 查 询也 将 得到 迅速 的发 展。参考文 献 (R eferences)1 孙健, 贾晓菁. Google 云计 算平台的技术构架及对其成本的影响的研究 J. 电信科学, 2010, 1(01) :38-44.2 胡文波,徐造林. 分布式存储 方案的设计与研究 J. 计算机 技术与发展, 2010, 20(01) : 65-68.3 韩希先,杨东华,李建中. 海 量数据上一种有效的 Top_K 查 询处理算法 J.计算机学报, 2010, 33(08) :1405-1417.4 姜大光,奚加鹏,徐造林. 分 布式存储系统( Ocean Store) 的 复制策略 J.计算机工程与科学, 2008,30(08) :1 44-149.5 吴媚芳,吴决. 基于 C/S 计算 模式 COMODIS 数据查询优化 J. 电脑与信息技术, 2003, 1(01) :2 6-27. 6 李华,赵建平. 分布式数据库 查询的优化处理方法 J. 长春 理工大学学报, 2005, 28(04) : 85-89.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报