一种云存储环境下海量数据自适应读取优化方法及系统技术方案

技术编号:15203808 阅读:92 留言:0更新日期:2017-04-22 22:54
本发明专利技术提供一种云存储环境下海量数据自适应读取优化方法,其步骤包括:记录本地用户程序的数据访问日志信息;定期统计分析上述日志信息,得到数据对象间的关联关系;根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。该方法还包括从分布式文件系统的远端存储节点预读取关联的数据对象集合到本地缓存并更新本地缓存。该方法根据统计与分析的数据对象访问日志建立数据对象的关联关系,通过将当前读取数据对象的关联数据对象预读取到本地缓存中,以提高数据读取速度。

Method and system for optimizing adaptive reading of massive data in cloud storage environment

The present invention provides a method of reading data adaptive optimization of cloud storage environment, which comprises the following steps: recording the local user program data access log information; regular statistical analysis of the log information, get the relationship between data objects; according to user program data access request for access to data objects and data objects associated with the current access to the collection and pre read to the local cache; access request for data objects of the user program, read from the local cache, such as to visit the data object does not exist in the local cache, it is read from the remote storage nodes distributed file system. The method further includes pre reading the associated data object from the remote storage node of the distributed file system to the local cache and updating the local cache. Relationship of the method of access log data objects created according to the data statistics and analysis of the object, the object will read the data associated with the current pre read data object to the local cache, in order to improve the data read speed.

【技术实现步骤摘要】

本专利技术涉及计算机
中的分布式文件系统数据读取优化方法,尤其涉及一种云存储环境下海量数据自适应读取优化方法及系统。
技术介绍
随着信息化社会的到来,各种数据以爆炸式的形式快速增长。伴随着产生的海量数据,对数据的存储、读取、管理等各方面的要求越来越高。在现阶段,分布式数据存储已经成为主流。分布式文件系统通常将数据存储在多个节点上(不同的服务器),各个节点之间通过网络进行连接,用户通过分布式文件系统的接口就可以访问到各个节点之间的数据。当用户读取海量数据时,由于网络传输的延时,数据读取时间将会很长。因此,如何实现快速读取海量数据成为本领域技术人员迫切解决的问题。
技术实现思路
本专利技术的目的是提供一种云存储环境下海量数据自适应读取优化方法及系统,其结合海量数据读取行为和分布式文件系统的数据存储特点,采用一种数据挖掘方法,根据数据对象访问日志,分析预测即将被用户程序访问的数据对象集合,提前从分布式文件系统中将数据对象预读取到本地的方式来提高数据读取效率。为实现上述目的,本专利技术所采用的技术方案为:一种云存储环境下海量数据自适应读取优化方法,步骤包括:1)记录本地用户程序的数据访问日志信息;2)定期统计分析上述日志信息,得到数据对象间的关联关系;3)根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;4)对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。进一步地,还包括从分布式文件系统的远端存储节点预读取关联的数据对象集合到本地缓存并更新本地缓存。进一步地,所述本地缓存封装符合POSIX的文件接口来实现与用户程序和分布式文件系统的数据交换。进一步地,所述数据对象关联关系为数据对象在同一时间窗口Δt内同时被读取的概率。更进一步地,所述各数据对象关联关系的概率值用矩阵存储。进一步地,所述关联数据对象集合为过去一段时间T中,在同一时间窗口Δt内频繁被同时读取的数据对象集合。一种云存储环境下海量数据自适应读取优化系统,包括用户程序、虚拟文件系统和分布式文件系统;所述虚拟文件系统包括文件访问中间件、缓存、日志数据库和统计分析服务四个模块;所述文件访问中间件用于实现与用户程序和分布式文件系统的数据交换,并记录用户程序的数据访问日志信息;所述缓存用于存储从所述分布式文件系统中预读取的关联数据对象集合;所述日志数据库用于存储用户程序的数据访问日志信息;所述统计分析服务模块用于对数据访问日志进行统计与分析,并建立数据对象的关联关系。本专利技术的有益效果在于:本专利技术结合海量数据读取行为和分布式文件系统的数据存储特点,根据记录并统计分析用户程序的数据访问日志信息,建立数据对象的关联关系;当用户程序读取数据对象时,通过分析当前的数据对象关联关系,预测判断其关联数据对象集合,将其预读取到虚拟文件系统的缓存中,将数据对象从分布式文件系统的读取转化为直接从虚拟文件系统的读取,来提高海量数据的读取速度;通过对数据对象的预读取,有效地降低了读取海量数据的时间。附图说明图1为本专利技术一实施例的系统框架图;图2为本专利技术一实施例的数据读取流程图。具体实施方式下面通过具体实施案例,通过一种云存储环境下海量数据自适应读取系统,并配合附图,对本专利技术做进一步的说明。本实施例中的云存储环境下海量数据自适应读取系统包括三部分:用户程序、虚拟文件系统和分布式文件系统,其中虚拟文件系统由文件访问中间件、缓存、日志数据库和统计分析服务四个模块组成,如图1所示。文件访问中间件采用用户空间文件系统(FUSE技术)实现符合POSIX的文件接口,负责接收用户程序的数据对象读取指令,从分布式文件系统中读取数据对象返回给用户程序,以及从分布式文件系统中预读取数据对象到缓存中;日志数据库存储数据访问日志信息;统计分析服务模块对数据访问日志进行统计与分析,并建立数据对象的关联关系。用户通过虚拟文件系统读取分布式文件系统中数据对象的流程如图2所示:1)用户程序将读取分布式文件系统中数据对象的指令提交到虚拟文件系统;2)文件访问中间件实时记录用户程序进程id、数据读取行为(read,write,open,close等)、数据大小、偏移量、数据对象id、时间等相关日志信息并将这些日志信息保存到数据访问日志数据库中;3)统计分析服务模块根据数据访问日志,定期统计分析在同一时间段内,同时被读取的数据对象,建立并更新数据对象关联关系,用矩阵存储各数据对象之间的读取关联值;4)从虚拟文件系统的缓存中查找数据对象,若存在,则跳到第5步;若不存在,则跳到第6步;5)读取虚拟文件系统缓存中的数据对象,并返回给用户程序;6)从分布式文件系统中读取数据对象,并返回给用户程序;7)从分布式文件系统中预读取相关联的数据对象到虚拟文件系统的缓存中;8)更新虚拟文件系统缓存。其中更新虚拟文件系统缓存,可通过先进先出等算法,从缓存中淘汰一批数据对象,然后从分布式文件系统中预读取新的关联数据对象来代替。以下用一具体实施例来解释说明本专利技术:首先记录分布式文件系统中所有(被读取过)数据对象集合为D={d1,d2,…,dm本文档来自技高网...
一种云存储环境下海量数据自适应读取优化方法及系统

【技术保护点】
一种云存储环境下海量数据自适应读取优化方法,步骤包括:1)记录本地用户程序的数据访问日志信息;2)定期统计分析上述日志信息,得到数据对象间的关联关系;3)根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;4)对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。

【技术特征摘要】
1.一种云存储环境下海量数据自适应读取优化方法,步骤包括:1)记录本地用户程序的数据访问日志信息;2)定期统计分析上述日志信息,得到数据对象间的关联关系;3)根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;4)对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。2.如权利要求1所述的方法,其特征在于,还包括从分布式文件系统的远端存储节点预读取关联的数据对象集合到本地缓存并更新本地缓存。3.如权利要求1所述的方法,其特征在于,所述本地缓存封装符合POSIX的文件接口来实现与用户程序和分布式文件系统的数据交换。4.如权利要求1所述的方法,其特征在于,所述数据对象关联关系为数据对象在同一时间窗口...

【专利技术属性】
技术研发人员:王学志赵江华林青慧周园春黎建辉
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京;11

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

1