CN106570108A - 一种云存储环境下海量数据自适应读取优化方法及系统 - Google Patents
一种云存储环境下海量数据自适应读取优化方法及系统 Download PDFInfo
- Publication number
- CN106570108A CN106570108A CN201610936474.6A CN201610936474A CN106570108A CN 106570108 A CN106570108 A CN 106570108A CN 201610936474 A CN201610936474 A CN 201610936474A CN 106570108 A CN106570108 A CN 106570108A
- Authority
- CN
- China
- Prior art keywords
- data
- data object
- file system
- read
- local cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Abstract
本发明提供一种云存储环境下海量数据自适应读取优化方法,其步骤包括:记录本地用户程序的数据访问日志信息;定期统计分析上述日志信息,得到数据对象间的关联关系;根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。该方法还包括从分布式文件系统的远端存储节点预读取关联的数据对象集合到本地缓存并更新本地缓存。该方法根据统计与分析的数据对象访问日志建立数据对象的关联关系,通过将当前读取数据对象的关联数据对象预读取到本地缓存中,以提高数据读取速度。
Description
技术领域
本发明涉及计算机技术领域中的分布式文件系统数据读取优化方法,尤其涉及一种云存储环境下海量数据自适应读取优化方法及系统。
背景技术
随着信息化社会的到来,各种数据以爆炸式的形式快速增长。伴随着产生的海量数据,对数据的存储、读取、管理等各方面的要求越来越高。在现阶段,分布式数据存储已经成为主流。分布式文件系统通常将数据存储在多个节点上(不同的服务器),各个节点之间通过网络进行连接,用户通过分布式文件系统的接口就可以访问到各个节点之间的数据。当用户读取海量数据时,由于网络传输的延时,数据读取时间将会很长。因此,如何实现快速读取海量数据成为本领域技术人员迫切解决的问题。
发明内容
本发明的目的是提供一种云存储环境下海量数据自适应读取优化方法及系统,其结合海量数据读取行为和分布式文件系统的数据存储特点,采用一种数据挖掘方法,根据数据对象访问日志,分析预测即将被用户程序访问的数据对象集合,提前从分布式文件系统中将数据对象预读取到本地的方式来提高数据读取效率。
为实现上述目的,本发明所采用的技术方案为:
一种云存储环境下海量数据自适应读取优化方法,步骤包括:
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},并记录给定时间窗口Δt内的读取行为且记为一条读取记录r,则过去一段时间T内的读取记录集合R={r1,r2,…,rrn}的读取行为统计信息可用表1表示(读取记录条数由[T/Δt]决定):
表1:读取行为统计表
d1 | d2 | d3 | d4 | d5 | |
r1 | 1 | 1 | 1 | 0 | 0 |
r2 | 0 | 0 | 1 | 1 | 0 |
r3 | 1 | 0 | 0 | 0 | 1 |
r4 | 1 | 1 | 1 | 1 | 0 |
r5 | 1 | 1 | 0 | 0 | 1 |
r6 | 0 | 0 | 1 | 1 | 0 |
其中,1表示数据对象被读取,0表示数据对象没有被读取;T值可根据应用的需要选择不同模型来确定,如采用一个时间滑动窗口,窗口的大小根据应用和系统的资源限制决定;或者还可以对每条读取行为赋予权值,并且这个权值随时间推移减小等。
根据统计分析的上述数据访问日志信息和当前用户程序的数据访问请求,挖掘数据对象读取的模式与特征,构建数据对象关联关系,如计算各个数据对象之间的关联概率和条件关联概率值,其关联概率和条件关联概率的计算方法分别如公式(1)和(2)所示:
其中根据表1的读取行为统计信息,并结合公式(1)和(2),得到关联概率和条件关联概率值如表2所示:
表2:关联概率和条件关联概率值
d1 | d2 | d3 | d4 | d5 | |
d1 | (0,0) | (0.5,0.75) | (0.33,0.5) | (0.17,0.25) | (0.33,0.5) |
d2 | (0.5,1) | (0,0) | (0.33,0.67) | (0.17,0.33) | (0.17,0.33) |
d3 | (0.33,0.5) | (0.33,0.5) | (0,0) | (0.5,0.75) | (0,0) |
d4 | (0.17,0.33) | (0.17,0.33) | (0.5,1) | (0,0) | (0,0) |
d5 | (0.33,1) | (0.17,0.5) | (0,0) | (0,0) | (0,0) |
通过上述数据对象的关联关系,便可预测下一步要读取的数据对象集合,并将其关联数据对象集合预读取到虚拟文件系统的缓存中;然后根据用户程序的数据对象访问请求,从虚拟文件系统的缓存中直接读取;其中关联概率和条件关联概率值可根据应用类型和系统性能进行调整。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (7)
1.一种云存储环境下海量数据自适应读取优化方法,步骤包括:
1)记录本地用户程序的数据访问日志信息;
2)定期统计分析上述日志信息,得到数据对象间的关联关系;
3)根据用户程序的数据访问请求获取与当前访问的数据对象关联的数据对象集合,并预读取到本地缓存;
4)对于用户程序的数据对象访问请求,先从本地缓存中读取,如本地缓存中不存在待访数据对象,则从分布式文件系统的远端存储节点读取。
2.如权利要求1所述的方法,其特征在于,还包括从分布式文件系统的远端存储节点预读取关联的数据对象集合到本地缓存并更新本地缓存。
3.如权利要求1所述的方法,其特征在于,所述本地缓存封装符合POSIX的文件接口来实现与用户程序和分布式文件系统的数据交换。
4.如权利要求1所述的方法,其特征在于,所述数据对象关联关系为数据对象在同一时间窗口Δt内同时被读取的概率。
5.如权利要求4所述的方法,其特征在于,所述各数据对象关联关系的概率值用矩阵存储。
6.如权利要求1所述的方法,其特征在于,所述关联数据对象集合为过去一段时间T中,在同一时间窗口Δt内频繁被同时读取的数据对象集合。
7.一种云存储环境下海量数据自适应读取优化系统,包括用户程序、虚拟文件系统和分布式文件系统,其特征在于,所述虚拟文件系统包括文件访问中间件、缓存、日志数据库和统计分析服务四个模块;
所述文件访问中间件用于实现与用户程序和分布式文件系统的数据交换,并记录用户程序的数据访问日志信息;
所述缓存用于存储从所述分布式文件系统中预读取的关联数据对象集合;
所述日志数据库用于存储用户程序的数据访问日志信息;
所述统计分析服务模块用于对数据访问日志进行统计与分析,并建立数据对象的关联关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610936474.6A CN106570108A (zh) | 2016-11-01 | 2016-11-01 | 一种云存储环境下海量数据自适应读取优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610936474.6A CN106570108A (zh) | 2016-11-01 | 2016-11-01 | 一种云存储环境下海量数据自适应读取优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106570108A true CN106570108A (zh) | 2017-04-19 |
Family
ID=58533529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610936474.6A Pending CN106570108A (zh) | 2016-11-01 | 2016-11-01 | 一种云存储环境下海量数据自适应读取优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106570108A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656701A (zh) * | 2017-09-26 | 2018-02-02 | 郑州云海信息技术有限公司 | 小文件读加速方法、系统、装置及计算机可读存储介质 |
CN109189737A (zh) * | 2018-08-18 | 2019-01-11 | 王梅 | 根据时间分段在移动互联网内进行文件预取的方法及系统 |
CN110020061A (zh) * | 2018-08-21 | 2019-07-16 | 广州市城市规划勘测设计研究院 | 一种智慧城市时空信息云平台服务引擎 |
CN110324366A (zh) * | 2018-03-28 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及系统 |
CN110750498A (zh) * | 2018-07-19 | 2020-02-04 | 成都华为技术有限公司 | 对象访问方法、装置及存储介质 |
CN111190926A (zh) * | 2019-11-25 | 2020-05-22 | 腾讯云计算(北京)有限责任公司 | 资源缓存方法、装置、设备及存储介质 |
CN111723057A (zh) * | 2020-05-28 | 2020-09-29 | 广东浪潮大数据研究有限公司 | 一种文件预读方法、装置、设备及存储介质 |
CN113407506A (zh) * | 2021-07-06 | 2021-09-17 | 中国电信股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020115A (zh) * | 2012-11-13 | 2013-04-03 | 深圳市同洲电子股份有限公司 | 一种数据缓存的方法、缓存服务器及系统 |
CN103795781A (zh) * | 2013-12-10 | 2014-05-14 | 西安邮电大学 | 一种基于文件预测的分布式缓存模型 |
CN104408159A (zh) * | 2014-12-04 | 2015-03-11 | 曙光信息产业(北京)有限公司 | 一种数据关联、加载、查询方法及装置 |
CN105279240A (zh) * | 2015-09-28 | 2016-01-27 | 暨南大学 | 客户端起源信息关联感知的元数据预取方法及系统 |
CN105721538A (zh) * | 2015-12-30 | 2016-06-29 | 东莞市青麦田数码科技有限公司 | 数据访问的方法和装置 |
CN105808451A (zh) * | 2014-12-29 | 2016-07-27 | 华为技术有限公司 | 一种数据缓存方法以及相关装置 |
-
2016
- 2016-11-01 CN CN201610936474.6A patent/CN106570108A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020115A (zh) * | 2012-11-13 | 2013-04-03 | 深圳市同洲电子股份有限公司 | 一种数据缓存的方法、缓存服务器及系统 |
CN103795781A (zh) * | 2013-12-10 | 2014-05-14 | 西安邮电大学 | 一种基于文件预测的分布式缓存模型 |
CN104408159A (zh) * | 2014-12-04 | 2015-03-11 | 曙光信息产业(北京)有限公司 | 一种数据关联、加载、查询方法及装置 |
CN105808451A (zh) * | 2014-12-29 | 2016-07-27 | 华为技术有限公司 | 一种数据缓存方法以及相关装置 |
CN105279240A (zh) * | 2015-09-28 | 2016-01-27 | 暨南大学 | 客户端起源信息关联感知的元数据预取方法及系统 |
CN105721538A (zh) * | 2015-12-30 | 2016-06-29 | 东莞市青麦田数码科技有限公司 | 数据访问的方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656701A (zh) * | 2017-09-26 | 2018-02-02 | 郑州云海信息技术有限公司 | 小文件读加速方法、系统、装置及计算机可读存储介质 |
CN110324366A (zh) * | 2018-03-28 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及系统 |
CN110750498A (zh) * | 2018-07-19 | 2020-02-04 | 成都华为技术有限公司 | 对象访问方法、装置及存储介质 |
CN110750498B (zh) * | 2018-07-19 | 2023-01-06 | 成都华为技术有限公司 | 对象访问方法、装置及存储介质 |
CN109189737A (zh) * | 2018-08-18 | 2019-01-11 | 王梅 | 根据时间分段在移动互联网内进行文件预取的方法及系统 |
CN109189737B (zh) * | 2018-08-18 | 2021-11-26 | 北京合思信息技术有限公司 | 根据时间分段在移动互联网内进行文件预取的方法及系统 |
CN110020061A (zh) * | 2018-08-21 | 2019-07-16 | 广州市城市规划勘测设计研究院 | 一种智慧城市时空信息云平台服务引擎 |
CN110020061B (zh) * | 2018-08-21 | 2021-06-01 | 广州市城市规划勘测设计研究院 | 一种智慧城市时空信息云平台服务引擎 |
CN111190926A (zh) * | 2019-11-25 | 2020-05-22 | 腾讯云计算(北京)有限责任公司 | 资源缓存方法、装置、设备及存储介质 |
CN111190926B (zh) * | 2019-11-25 | 2023-04-07 | 腾讯云计算(北京)有限责任公司 | 资源缓存方法、装置、设备及存储介质 |
CN111723057A (zh) * | 2020-05-28 | 2020-09-29 | 广东浪潮大数据研究有限公司 | 一种文件预读方法、装置、设备及存储介质 |
CN113407506A (zh) * | 2021-07-06 | 2021-09-17 | 中国电信股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106570108A (zh) | 一种云存储环境下海量数据自适应读取优化方法及系统 | |
US10057367B2 (en) | Systems and methods for data caching in a communications network | |
CA2371121C (en) | Database management system with a multiple-level cache arrangement | |
CN106464669B (zh) | 基于访问模式的智能文件预取 | |
CN106126641A (zh) | 一种基于Spark的实时推荐系统及方法 | |
US20080120275A1 (en) | Merging synopses to determine number of distinct values in large databases | |
CN110188080A (zh) | 基于客户端高效缓存的远程文件数据访问性能优化方法 | |
CN103491075B (zh) | 动态调整dns递归服务器缓存资源记录的方法和系统 | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
JP2013514579A (ja) | キャッシングのための方法、サーバ、コンピュータプログラム及びコンピュータプログラム製品 | |
CN109982104A (zh) | 一种移动边缘计算中移动感知的视频预取与缓存替换决策方法 | |
CN103905439A (zh) | 一种基于家庭网关的加速网页浏览方法 | |
CN102054000A (zh) | 数据查询方法、装置及系统 | |
CN112905638B (zh) | 一种基于喇叭状的时间切片处理方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN108647266A (zh) | 一种异构数据快速分布存储、交互方法 | |
US7254389B2 (en) | Wireless link simulation with generic caching | |
CN110399351A (zh) | 审计日志数据的处理方法与系统 | |
CN106503008A (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN108416054A (zh) | 基于文件访问热度的动态hdfs副本个数计算方法 | |
CN113271631B (zh) | 基于用户请求可能性与时空特性的新型内容缓存部署方案 | |
CN110502540A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110413579A (zh) | 基于缓存价值的图片缓存方法、设备、存储介质及装置 | |
CN103995869B (zh) | 一种基于Apriori算法的数据缓存方法 | |
CN116578409A (zh) | 内存热页识别与迁移的方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170419 |
|
RJ01 | Rejection of invention patent application after publication |