一种HDFS中热点数据文件的动态副本创建方法和系统技术方案

技术编号:10528632 阅读:152 留言:0更新日期:2014-10-15 10:53
本发明专利技术提供了一种Hadoop分布式文件系统(HDFS)中热点数据文件的动态副本创建方法和系统,其中,所述方法包括:识别热点数据文件;对所述文件动态创建副本,包括:优先在对所述热点数据文件发生请求的本地节点创建所述热点数据文件的副本。本发明专利技术避免了数据文件副本大量移动带来的数据读取延迟和网络开销大。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种Hadoop分布式文件系统(HDFS)中热点数据文件的动态副本创建方法和系统,其中,所述方法包括:识别热点数据文件;对所述文件动态创建副本,包括:优先在对所述热点数据文件发生请求的本地节点创建所述热点数据文件的副本。本专利技术避免了数据文件副本大量移动带来的数据读取延迟和网络开销大。【专利说明】一种HDFS中热点数据文件的动态副本创建方法和系统
本专利技术涉及数据文件的副本创建,尤其涉及一种Hadoop分布式文件系统(HDFS) 中热点数据文件的动态副本创建方法和系统。
技术介绍
随着现代网络的发展,数据量剧增。为实现对海量数据量进行高效、可靠地处理, 出现了 Hadoop集群,其由多台廉价机器作为集群节点搭建而成。Hadoop集群能够把应用程 序分割成许多很小的工作单元,每个单元可以在任何集群节点上执行。此外,Hadoop还提 供一个分布式文件系统HDFS用来在各个集群节点上存储数据,提供了对数据读写的高吞 吐率。 目前,HDFS在为节点配置数据文件副本时不区分冷热数据文件,对所有的数据文 件均通过静态配置副本以保证容错性,一旦配置完成,集群启动后数据文件的副本数就一 直保持配置值的副本数。 并且,现有的静态配置的文件副本通常存储在固定的集群节点上,如果数据文件 的处理请求不是发生在所述固定的集群节点上,需要从所述固定集群节点上存储的文件副 本传输到请求发生的集群节点上,大量的数据移动也会增加数据读取延迟和网络开销。
技术实现思路
本专利技术提供了一种HDFS中热点数据文件的动态副本创建方法和系统,以解决如 何避免数据文件副本大量移动带来的数据读取延迟和网络开销大的技术问题。 -种HDFS中热点数据文件的动态副本创建方法,所述方法包括: 识别热点数据文件; 对所述文件动态创建副本,包括:优先在对所述热点数据文件发生请求的本地节 点创建所述热点数据文件的副本。 可选地,所述识别热点数据文件,包括: 按时间顺序依次记录被访问的数据文件并为每个被访问的数据文件分配权值;分 配权值时,先访问的数据文件被分配的权值小,后访问的数据文件被分配的权值大; 达到预设时间时,统计记录的每个被访问的数据文件被分配的权值之和,权值之 和最大的文件为热点数据所在的文件。 可选地,所述方法还包括: 在预设时间到达前,若按时间顺序依次记录的被访问的数据文件占用的空间达到 或超过阈值,则删除最早记录的被访问的数据文件直至已记录的被访问的数据文件占用的 空间满足要求。 可选地,所述方法包括: 将被访问的数据文件存储进队列,依次对进入队列中的数据文件分配从小到大的 权值; 在预设时间到达前,若队列满,则按照先入先出(FIFO)原则,将数据文件从队列 头开始移出,将新被访问的数据文件继续存储进该队列;并且将更新后的队列中的数据文 件的权值顺序设置为与更新前的队列中的数据文件的权值顺序相同。 可选地,所述依次对进入队列中的数据文件分配从小到大的权值,包括: 将位于对头的数据文件分配权值1,队列中对头数据文件的后续数据文件被分配 的权值比各自前一个数据文件被分配的权值多1。 可选地,对所述文件动态创建副本,还包括: 当所述本地节点创建的热点数据文件的副本数达到预设的节点可存储副本阈值 时,则依次在本地节点所在机架的其他节点、其他机架的节点上创建所述热点数据文件的 副本。 一种HDFS中热点数据文件的动态副本创建系统,所述系统包括文件识别模块、副 本创建模块,其中, 所述文件识别模块,用于识别热点数据文件; 所述副本创建模块,用于对所述文件动态创建副本,包括:优先在对所述热点数据 文件发生请求的本地节点创建所述热点数据文件的副本。 可选地,所述文件识别模块,用于识别热点数据文件,包括: 按时间顺序依次记录被访问的数据文件并为每个被访问的数据文件分配权值;分 配权值时,先访问的数据文件被分配的权值小,后访问的数据文件被分配的权值大;达到预 设时间时,统计记录的每个被访问的数据文件被分配的权值之和,权值之和最大的文件为 热点数据所在的文件。 可选地, 所述文件识别模块,还用于在预设时间到达前,若判断出按时间顺序依次记录的 被访问的数据文件占用的空间达到或超过阈值,则删除最早记录的被访问的数据文件直至 已记录的被访问的数据文件占用的空间满足要求。 可选地, 所述文件识别模块,用于将被访问的数据文件存储进队列,依次对进入队列中的 数据文件分配从小到大的权值;在预设时间到达前,若队列满,则按照先入先出(FIFO)原 贝1J,将数据文件从队列头开始移出,将新被访问的数据文件继续存储进该队列;并且将更新 后的队列中的数据文件的权值顺序设置为与更新前的队列中的数据文件的权值顺序相同。 可选地,所述文件识别模块,用于依次对进入队列中的数据文件分配从小到大的 权值,包括: 将位于对头的数据文件分配权值1,队列中对头数据文件的后续数据文件被分配 的权值比各自前一个数据文件被分配的权值多1。 可选地,所述副本创建模块,用于对所述文件动态创建副本,还包括: 当所述本地节点创建的热点数据文件的副本数达到预设的节点可存储副本阈值 时,则依次在本地节点所在机架的其他节点、其他机架的节点上创建所述热点数据文件的 副本 上述技术方案对热点数据文件的副本进行动态创建,并且优先在对所述热点数据 文件发生请求的本地节点创建所述热点数据文件的副本,保证发出请求的程序能够在本地 获取到所需的热点数据文件,避免了热点数据文件在节点间传输带来的数据读取延迟和网 络延迟。 【专利附图】【附图说明】 图1为本实施例的HDFS中热点数据文件的动态副本创建方法流程图; 图2为本实施例的HDFS中热点数据文件的动态副本创建系统组成图。 【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。 图1为本实施例的HDFS中热点数据文件的动态副本创建方法流程图。 S101识别热点数据文件; 识别热点数据文件的方法可以包括以下步骤: 按时间顺序依次记录被访问的数据文件并为每个被访问的数据文件分配权值;分 配权值时,先访问的数据文件被分配的权值小,后访问的数据文件被分配的权值大; 达到预设时间时,统计记录的每个被访问的数据文件被分配的权值之和,权值之 和最大的文件为热点数据所在的文件; 由于在分配数据文件的权值时,考虑了数据被访问的时间先后,并且最近被访问 的数据文件被分配的权值大,因此根据上述方法识别出的热点数据文件是当前被访问次数 较多的数据文件,使得后续根据热点文件创建的文件副本能够较好的满足当前的数据处理 请求,提升集群系统的用户友好度; 通常存储被访问的数据文件的空间有限,在预设时间到达前,若按时间顺序依次 记录的被访问的数据文件占用的空间达到或超过阈值,则删除最早记录的被访问的数据文 件直至已记录的被访问的数据文件占用的空间满足本文档来自技高网...
一种HDFS中热点数据文件的动态副本创建方法和系统

【技术保护点】
一种HDFS中热点数据文件的动态副本创建方法,其特征在于,所述方法包括:识别热点数据文件;对所述文件动态创建副本,包括:优先在对所述热点数据文件发生请求的本地节点创建所述热点数据文件的副本。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭美思吴楠
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1