CN109165207B - 基于Hadoop的饮用水海量数据存储管理方法和系统 - Google Patents

基于Hadoop的饮用水海量数据存储管理方法和系统 Download PDF

Info

Publication number
CN109165207B
CN109165207B CN201810787118.1A CN201810787118A CN109165207B CN 109165207 B CN109165207 B CN 109165207B CN 201810787118 A CN201810787118 A CN 201810787118A CN 109165207 B CN109165207 B CN 109165207B
Authority
CN
China
Prior art keywords
file
data
real
access
time attribute
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.)
Active
Application number
CN201810787118.1A
Other languages
English (en)
Other versions
CN109165207A (zh
Inventor
王卫星
杨伟志
林泽鑫
殷惠莉
姜晟
余杰平
黄仲强
姜冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Agricultural University
Original Assignee
South China Agricultural University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China Agricultural University filed Critical South China Agricultural University
Priority to CN201810787118.1A priority Critical patent/CN109165207B/zh
Publication of CN109165207A publication Critical patent/CN109165207A/zh
Application granted granted Critical
Publication of CN109165207B publication Critical patent/CN109165207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于Hadoop的饮用水海量数据存储管理方法,包括以下步骤:将实时属性数据存入区域服务器,将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;将合并后的大文件和索引文件存入Hadoop集群中。本发明对小文件的实时属性数据根据产生地域、时间后先做一次分类,然后再根据数据的元素类型再做一次分类,最后进行合并存储,这样大大减少了内存的消耗,提高了平台的性能。

Description

基于Hadoop的饮用水海量数据存储管理方法和系统
技术领域
本发明涉及计算机应用领域,特别涉及基于Hadoop的饮用水海量数据存储管理方法和系统。
背景技术
随着社会的进步,在当今科技水平高速发展,特别是物联网、电子技术兴起的环境下,人们对农村饮用水水质的监测已经可达到在线的、实时性的监测,监测数据的产生也是毫秒级的。
农村饮用水在线监控系统后台使用的存储工具主要以关系型数据为主,这类数据库在处理大量数据时,其数据吞吐性能并不十分优越,并且由于其扩展性能差,在管理分散数据时显得尤为无力。Hadoop分布式平台则能很好解决关系型数据库在数据吞吐性能和扩展性能等方面的不足,但是Hadoop平台的操作具有高延迟性,并不能适应实时数据可视化的场景。此外,传统的Hadoop平台在数据副本管理上采用三个副本静态管理策略,并不适应饮用水数据这种小文件数据多、对数据访问存在明显地域性或者时间性等特点。
综上,行业内急需一种既能解决传统饮用水数据存储平台使用的关系型数据库在遇到海量数据时吞吐性和扩展性不足,又能解决传统Hadoop分布式平台不能满足饮用水实时数据可视化的问题的饮用水海量数据存储管理方法。
发明内容
本发明针对目前饮用水数据平台遇到海量数据时吞吐性和扩展性不足,以及数据存储和管理策略等方面的问题,具体来说解决以下几个问题:
1)目前饮用水数据平台所使用的关系型数据库在处理海量数据时吞吐量和扩张性能差,而分布式平台又无法满足实时数据可视化的需求这两者之间的矛盾。
2)由于饮用水数据存在大量的小文件,在存储时对Hadoop名称节点内存消耗过高,这会使得Hadoop集群的性能非常差。
3)客户端在访问饮用水数据时具有比较强的倾向性,例如客户端会在夏季时期频繁访问往年夏季的数据等,但是无论是频繁访问或者是访问量小的文件,文件副本的数据是静态不变的,这就使得访问数据访问热度高的文件时,访问的性能非常差。
本发明所采用的技术方案为:
基于Hadoop的饮用水海量数据存储管理方法,包括以下步骤:对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;其中,所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小;将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;所述大文件的大小超过预先设置的块大小;将合并后的大文件和索引文件存入Hadoop集群中。
优选地,所述将Hadoop集群中的实时属性数据根据属性进行第二次分类包括:将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;将Hadoop集群中的实时属性数据按照检测元素类型进行分类。
优选地,所述将Hadoop集群中的实时属性数据按照检测元素类型进行分类包括:将所述实时属性数据中的重金属数据归位一类;将所述实时属性数据中的PH数据归位一类。
优选地,所述将合并后的大文件和索引文件存入Hadoop集群中之后还包括:基于饮用水海量数据访问的热度调整数据副本数量;基于饮用水海量数据访问的热度调整数据副本数量包括:计算Hadoop集群中文件的访问频率;根据所述访问频率计算出所述文件的访问热度;根据所述访问热度统计出文件存储副本的数量。
优选地,所述计算Hadoop集群中文件的访问频率包括:当接收到客户端访问Hadoop中的文件时,动态副本管理模块记录文件的访问次数加一;根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率;根据所述访问频率计算出所述文件的访问热度包括:根据连续多个统计周期的文件访问频率计算出该文件的访问热度。
优选地,所述计算Hadoop集群中文件的访问频率包括:预先在文件统计周期计时器上设定文件统计周期T,结合文件访问次数记录模块记录的文件访问次数,每个文件统计周期T计算一次文件的访问频率;其中文件访问次数记录起始值是0,文件每访问一次加一,一个周期进行一次清空;用f表示文件访问的频率,计算公式如下:
Figure BDA0001731136770000031
其中k表示文件第k个周期,n表示k周期内文件访问的次数,T表示一个周期;fk表示文件第k个周期的访问频率;
根据所述访问频率计算出所述文件的访问热度的计算公式如下:
Fi=[α1 α2 α3 ... αM][f1 f2 f3 ... fM]T
其中
Figure BDA0001731136770000032
Fi表示
Figure BDA0001731136770000033
文件热度,αi表示第i个周期的文件访问频率的影响系数,α的所有取值相加为1,fi表示第i个周期的文件访问频率,M所要得出的当前周期的前M个周期;
假设用Qij表示i文件在j周期内文本的需求值,根据所述访问热度计算出文件存储副本的数量的计算公式如下:
Qij=γ.F′j
其中F′j=tan-1Fj*2/π,Fj表示i文件在j周期内的文件访问频率,F′j表示对Fj使用反正切归一化处理后所得的结果,从而达到文件访问热度越大,需求量越大的需要,γ表示i文件访问热度对副本数量的影响。
优选地,所述根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率还包括:统计文件访问的客户端的聚集程度;根据所述聚集程度对比文件存储副本放置的位置。
基于Hadoop的饮用水海量数据存储管理系统,包括:第一次分类模块、数据存入模块、数据清洗模块、第二次分类模块和索引文件存入模块;所述第一次分类模块,用于对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;其中,所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小;所述数据存入模,用于将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;所述数据清洗模块,用于将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;所述第二次分类模块,用于将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;所述大文件的大小超过预先设置的块大小;所述索引文件存入模块,用于将合并后的大文件和索引文件存入Hadoop集群中。
优选地,所述第二次分类模块包括:时间地域分类单元和元素类型单元;
所述时间地域分类单元,用于将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;所述元素类型单元,用于将Hadoop集群中的实时属性数据按照检测元素类型进行分类。
优选地,还包括:副本数量调整模块;所述副本数量调整模块,用于基于饮用水海量数据访问的热度调整数据副本数量;所述副本数量调整模块包括:访问频率计算单元、访问热度计算单元和文件存储副本数量统计单元;所述访问频率计算单元,用于计算Hadoop集群中文件的访问频率;所述访问热度计算单元,用于根据所述访问频率计算出所述文件的访问热度;所述文件存储副本数量统计单元,用于根据所述访问热度统计出文件存储副本的数量。
本发明的有益效果为:
本发明根据来自各个监控区域采集终端实时采集的所在区域的农村饮用水数据的文件大小选择存储的方式,把文件大小超过所设置的块大小的非结构化数据直接存入Hadoop集群中;而小于块大小的实时属性数据根据属性进行第二次分类,将分类后的文件合并成一个大文件并生成索引文件,然后存入Hadoop集群中。由于对农村饮用水数据的访问过程中,数据产生的地域、时间和数据类型常常是访问重点,因此在小文件的实时属性数据的合并存储过程中,本发明对小文件的实时属性数据根据产生地域、时间后先做一次分类,然后再根据数据的元素类型再做一次分类,最后进行合并存储,在合并过程中生产索引文件,作为合并文件头一起存放入Hadoop集群,这样名称节点只需维护合并文件头的元数据就可以,大大减少了内存的消耗,提高了平台的性能,这样既能解决传统饮用水数据存储平台使用的关系型数据库在遇到海量数据时吞吐性和扩展性不足,又能解决传统Hadoop分布式平台不能满足饮用水实时数据可视化的问题。
附图说明
图1是本发明的基于Hadoop的饮用水海量数据存储管理方法的流程示意图;
图2是本发明的基于Hadoop的饮用水海量数据存储管理方法的原理框架图;
图3是本发明的饮用水海量数据存储的原理框图;
图4是本发明的基于饮用水海量数据访问的热度调整数据副本数量的流程示意图;
图5是本发明的基于Hadoop的饮用水海量数据存储管理系统的结构示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1-5,基于Hadoop的饮用水海量数据存储管理方法,包括:
S11,对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;其中,所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小;饮用水海量数据来自各个监控区域采集终端实时采集的所在区域的农村饮用水数据,然后通过无线传输的方式把数据上传后台的服务器。
S12,将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;进一步地,将农村饮用水结构化数据(实时属性数据)存储在各自区域服务器的关系型数据库Mysql中,Mysql按照数据表的表结构把属性数据写入,供前台对实时数据的访问,非结构数据传输到后台Hadoop集群中。具体地,所述非结构化数据一般为jpg、mp4格式,结构化数据一般为kv格式。通过在程序中设置,文件后缀为jpg、mp4格式的放去hadoop集群中,识别出是kv格式的,放去区域服务器。
S13,将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;具体地,通过编写自动调度脚本,使用数据迁移工具Sqoop定期把Mysql的历史数据(之前存入的实时属性数据)迁移到本地磁盘。使用日志收集系统Flume把区域服务器本地磁盘上的历史数据收集到中央服务器Kafka集群。接着编写Kafka消费者,一个消费者对Kafka集群中的历史数据进行清洗,然后分布存储进Hadoop集群中;另一个消费者直接把Kafka集群中的历史数据存储Hadoop集群中。然后周期性对Hadoop集群进行统计,统计结果返回前台,可视化数据。
S14,将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;具体地,步骤S14包括:将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;将Hadoop集群中的实时属性数据按照检测元素类型进行分类。
更进一步地,所述将Hadoop集群中的实时属性数据按照检测元素类型进行分类包括:将所述实时属性数据中的重金属数据归位一类;将所述实时属性数据中的PH数据归位一类,这样方便客户根据某个指标(重金属、PH…)来查询各个采集终端的数据。
S15,将合并后的大文件和索引文件存入Hadoop集群中。
在本实施例,所述非结构化数据为大文件,所述大文件的大小超过预先设置的块大小;所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小。
步骤S15之后还包括:基于饮用水海量数据访问的热度调整数据副本数量;具体地,所述基于饮用水海量数据访问的热度调整数据副本数量的步骤包括:
S21,计算Hadoop集群中文件的访问频率;步骤S21具体的包括:当接收到客户端访问Hadoop中的文件时,动态副本管理模块记录文件的访问次数加一;根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率;同时,统计文件访问的客户端的聚集程度;根据所述聚集程度对比文件存储副本放置的位置。
S22,根据所述访问频率计算出所述文件的访问热度;步骤S22具体的包括:根据连续多个统计周期的文件访问频率计算出该文件的访问热度。
S23,根据所述访问热度统计出文件存储副本的数量。
更进一步地,步骤S21包括:预先在文件统计周期计时器上设定文件统计周期T,结合文件访问次数记录模块记录的文件访问次数,每个文件统计周期T计算一次文件的访问频率;其中文件访问次数记录起始值是0,文件每访问一次加一,一个周期进行一次清空;文件统计周期计时器采用倒计时的方式,每个周期置位一次,当周期计时器减到0时,表面一个周期的结束,这时可以进行文件访问频率的计算。
用f表示文件访问的频率,计算公式如下:
Figure BDA0001731136770000081
其中k表示文件第k个周期,n表示k周期内文件访问的次数,T表示一个周期;fk表示文件第k个周期的访问频率;
一个周期内文件的访问频率不能作为文件的访问热度,因为一个周期具有随机性,有可能某个周期的访问频率很高,而下一个周期的访问频率就很低了。因此本实施例统计最近M个周期的文件访问频率来综合计算出文件热度,避免单个周期访问频率过高的随机性,而且文件的副本管理应该具有预测性,统计最近M个周期的文件访问频率确定文件访问热度可以在第k个周期先确定(k+(m/2+1))个周期的文件数目多少。
根据所述访问频率计算出所述文件的访问热度的计算公式如下:
Fi=[α1 α2 α3 ... αM][f1 f2 f3 ... fM]T
其中
Figure BDA0001731136770000091
Fi表示文件热度,αi表示第i个周期的文件访问频率的影响系数,α的所有取值相加为1,fi表示第i个周期的文件访问频率,M所要得出的当前周期的前M个周期;
本实施例假定出平台所需要文件副本的数量初始值为3,假设用Qij表示i文件在j周期内文本的需求值,根据所述访问热度计算出文件存储副本的数量的计算公式如下:
Qij=γ.F′j
其中F′j=tan-1Fj*2/π,Fj表示i文件在j周期内的文件访问频率,F′j表示对Fj使用反正切归一化处理后所得的结果,从而达到文件访问热度越大,需求量越大的需要,γ表示i文件访问热度对副本数量的影响。
综上,本实施例首先设定计算文件访问热度的周期,根据文件访问次数记录的基础上计算出文件访问的频率;选择统计时间范围M,然后计算出文件访问热度;根据文件热度推导出当前文件副本的需求数量,然后再判断平台内的副本数是否足够,在副本数最少为3个的前提下,多的则删除,不够的则增加;最后查看文件访问客户端的聚集程度,根据聚集程度对比副本放置的位置,如果距离合适则不需要迁移,如果距离过远,会因为网络性能导致访问性能很差的则进行数据文件副本的迁移。
本实施例当客户端访问Hadoop集群中的文件时,先访问名称节点,动态副本管理模块会记录为文件的访问次数加一,然后根据设定的统计周期,算出文件的访问频率,结合连续几个统计周期的文件访问频率计算出该文件的访问热度,从而统计出需要为文件存储副本的数量。如果计算出的副本数量少于目前集群内的副本数量则增加,如果多于则删除;在计算文件访问频率时,同时统计文件访问客户端的聚集程度,在进行文件动态管理时,优先存储在离客户端聚集程度高的数据节点中。
适用上述基于Hadoop的饮用水海量数据存储管理方法的基于Hadoop的饮用水海量数据存储管理系统,包括:第一次分类模块、数据存入模块、数据清洗模块、第二次分类模块和索引文件存入模块;所述第一次分类模块,用于对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;数据存入模块,用于将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;所述数据清洗模块,用于将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;所述第二次分类模块,用于将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;所述索引文件存入模块,用于将合并后的大文件和索引文件存入Hadoop集群中。
在本实施例,所述第二次分类模块包括:时间地域分类单元和元素类型单元;所述时间地域分类单元,用于将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;所述元素类型单元,用于将Hadoop集群中的实时属性数据按照检测元素类型进行分类。更进一步地,所述元素类型单元,还用于将所述实时属性数据中的重金属数据归位一类;将所述实时属性数据中的PH数据归位一类,这样方便客户根据某个指标(重金属、PH…)来查询各个采集终端的数据。
在本实施例,还包括:副本数量调整模块;所述副本数量调整模块,用于基于饮用水海量数据访问的热度调整数据副本数量;所述副本数量调整模块包括:访问频率计算单元、访问热度计算单元和文件存储副本数量统计单元;所述访问频率计算单元,用于计算Hadoop集群中文件的访问频率;所述访问热度计算单元,用于根据所述访问频率计算出所述文件的访问热度;所述文件存储副本数量统计单元,用于根据所述访问热度统计出文件存储副本的数量。
在本实施例,所述访问频率计算单元,还用于当接收到客户端访问Hadoop中的文件时,动态副本管理模块记录文件的访问次数加一;根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率;访问热度计算单元,还用于根据连续多个统计周期的文件访问频率计算出该文件的访问热度。
更进一步地,所述访问频率计算单元还用于预先在文件统计周期计时器上设定文件统计周期T,结合文件访问次数记录模块记录的文件访问次数,每个文件统计周期T计算一次文件的访问频率;其中文件访问次数记录起始值是0,文件每访问一次加一,一个周期进行一次清空;文件统计周期计时器采用倒计时的方式,每个周期置位一次,当周期计时器减到0时,表面一个周期的结束,这时可以进行文件访问频率的计算。
用f表示文件访问的频率,计算公式如下:
Figure BDA0001731136770000111
其中k表示文件第k个周期,n表示k周期内文件访问的次数,T表示一个周期;fk表示文件第k个周期的访问频率;
一个周期内文件的访问频率不能作为文件的访问热度,因为一个周期具有随机性,有可能某个周期的访问频率很高,而下一个周期的访问频率就很低了。因此本实施例统计最近M个周期的文件访问频率来综合计算出文件热度,避免单个周期访问频率过高的随机性,而且文件的副本管理应该具有预测性,统计最近M个周期的文件访问频率确定文件访问热度可以在第k个周期先确定(k+(m/2+1))个周期的文件数目多少。
根据所述访问频率计算出所述文件的访问热度的计算公式如下:
Fi=[α1 α2 α3 ... αM][f1 f2 f3 ... fM]T
其中
Figure BDA0001731136770000121
Fi表示文件热度,αi表示第i个周期的文件访问频率的影响系数,α的所有取值相加为1,fi表示第i个周期的文件访问频率,M所要得出的当前周期的前M个周期;
本实施例假定出平台所需要文件副本的数量初始值为3,假设用Qij表示i文件在j周期内文本的需求值,根据所述访问热度计算出文件存储副本的数量的计算公式如下:
Qij=γ.F′j
其中F′j=tan-1Fj*2/π,Fj表示i文件在j周期内的文件访问频率,F′j表示对Fj使用反正切归一化处理后所得的结果,从而达到文件访问热度越大,需求量越大的需要,γ表示i文件访问热度对副本数量的影响。
在本实施例,还包括聚集程度统计模块,所述聚集程度统计模块,用于统计文件访问的客户端的聚集程度;根据所述聚集程度对比文件存储副本放置的位置,这样能够解决客户端在访问饮用水数据时具有比较强的倾向性,访问数据访问热度高的文件时,访问的性能好。
在本实施例,所述非结构化数据为大文件,所述大文件的大小超过预先设置的块大小;所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小。
本方案根据来自各个监控区域采集终端实时采集的所在区域的农村饮用水数据的文件大小选择存储的方式,把文件大小超过所设置的块大小的非结构化数据直接存入Hadoop集群中;而小于块大小的实时属性数据根据属性进行第二次分类,将分类后的文件合并成一个大文件并生成索引文件,然后存入Hadoop集群中。由于对农村饮用水数据的访问过程中,数据产生的地域、时间和数据类型常常是访问重点,因此在小文件的实时属性数据的合并存储过程中,本实施例对小文件的实时属性数据根据产生地域、时间后先做一次分类,然后再根据数据的元素类型再做一次分类,最后进行合并存储,在合并过程中生产索引文件,作为合并文件头一起存放入Hadoop集群,这样名称节点只需维护合并文件头的元数据就可以,大大减少了内存的消耗,提高了平台的性能,这样既能解决传统饮用水数据存储平台使用的关系型数据库在遇到海量数据时吞吐性和扩展性不足,又能解决传统Hadoop分布式平台不能满足饮用水实时数据可视化的问题。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.基于Hadoop的饮用水海量数据存储管理方法,其特征在于,包括以下步骤:
对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;其中,所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小;
将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;
将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;
将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;所述大文件的大小超过预先设置的块大小;
将合并后的大文件和索引文件存入Hadoop集群中;
还包括:
基于饮用水海量数据访问的热度调整数据副本数量;
基于饮用水海量数据访问的热度调整数据副本数量包括:
计算Hadoop集群中文件的访问频率;
根据所述访问频率计算出所述文件的访问热度;
根据所述访问热度统计出文件存储副本的数量;
所述计算Hadoop集群中文件的访问频率包括:
当接收到客户端访问Hadoop中的文件时,动态副本管理模块记录文件的访问次数加一;
根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率;
根据所述访问频率计算出所述文件的访问热度包括:
根据连续多个统计周期的文件访问频率计算出该文件的访问热度;
具体为:预先在文件统计周期计时器上设定文件统计周期T,结合文件访问次数记录模块记录的文件访问次数,每个文件统计周期T计算一次文件的访问频率;其中文件访问次数记录起始值是0,文件每访问一次加一,一个周期进行一次清空;用f表示文件访问的频率,计算公式如下:
Figure FDA0003290324860000021
其中k表示文件第k个周期,n表示k周期内文件访问的次数,T表示一个周期;fk表示文件第k个周期的访问频率;
根据所述访问频率计算出所述文件的访问热度的计算公式如下:
Fi=[α1 α2 α3...αM][f1 f2 f3...fM]T
其中
Figure FDA0003290324860000022
Fi表示
Figure FDA0003290324860000023
文件热度,αi表示第i个周期的文件访问频率的影响系数,α的所有取值相加为1,fi表示第i个周期的文件访问频率,M所要得出的当前周期的前M个周期;
假设用Qij表示i文件在j周期内文本的需求值,根据所述访问热度计算出文件存储副本的数量的计算公式如下:
Qij=γ.F'j
其中F'j=tan-1Fj*2/π,Fj表示i文件在j周期内的文件访问频率,F'j表示对Fj使用反正切归一化处理后所得的结果,从而达到文件访问热度越大,需求量越大的需要,γ表示i文件访问热度对副本数量的影响。
2.根据权利要求1所述的基于Hadoop的饮用水海量数据存储管理方法,其特征在于,所述将Hadoop集群中的实时属性数据根据属性进行第二次分类包括:
将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;
将Hadoop集群中的实时属性数据按照检测元素类型进行分类。
3.根据权利要求2所述的基于Hadoop的饮用水海量数据存储管理方法,其特征在于,所述将Hadoop集群中的实时属性数据按照检测元素类型进行分类包括:
将所述实时属性数据中的重金属数据归位一类;
将所述实时属性数据中的PH数据归位一类。
4.根据权利要求1所述的基于Hadoop的饮用水海量数据存储管理方法,其特征在于,所述根据原先设定的统计周期,算出所述统计周期内所述文件的访问频率还包括:
统计文件访问的客户端的聚集程度;
根据所述聚集程度对比文件存储副本放置的位置。
5.基于Hadoop的饮用水海量数据存储管理系统,用于实现权利要求1-4任一权利要求所述的基于Hadoop的饮用水海量数据存储管理方法,其特征在于,包括:第一次分类模块、数据存入模块、数据清洗模块、第二次分类模块和索引文件存入模块;
所述第一次分类模块,用于对饮用水海量数据进行第一次分类,得到实时属性数据和非结构化数据;其中,所述实时属性数据为小文件,所述小文件的大小不超过预先设置的块大小;
所述数据存入模,用于将实时属性数据存入区域服务器,将非结构化数据存入Hadoop集群;
所述数据清洗模块,用于将区域服务器中的实时属性数据迁移Kafka集群中,并进行数据清洗,将清洗后的实时属性数据存入Hadoop集群中;
所述第二次分类模块,用于将Hadoop集群中的实时属性数据根据属性进行第二次分类,将分类后的实时属性数据合并成大文件并生成索引文件;所述大文件的大小超过预先设置的块大小;
所述索引文件存入模块,用于将合并后的大文件和索引文件存入Hadoop集群中;
还包括:副本数量调整模块;
所述副本数量调整模块,用于基于饮用水海量数据访问的热度调整数据副本数量;
所述副本数量调整模块包括:访问频率计算单元、访问热度计算单元和文件存储副本数量统计单元;
所述访问频率计算单元,用于计算Hadoop集群中文件的访问频率;
所述访问热度计算单元,用于根据所述访问频率计算出所述文件的访问热度;
所述文件存储副本数量统计单元,用于根据所述访问热度统计出文件存储副本的数量。
6.根据权利要求5所述的基于Hadoop的饮用水海量数据存储管理系统,其特征在于,所述第二次分类模块包括:时间地域分类单元和元素类型单元;
所述时间地域分类单元,用于将Hadoop集群中的实时属性数据按照产生时间和产生地域进行分类;
所述元素类型单元,用于将Hadoop集群中的实时属性数据按照检测元素类型进行分类。
CN201810787118.1A 2018-07-16 2018-07-16 基于Hadoop的饮用水海量数据存储管理方法和系统 Active CN109165207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810787118.1A CN109165207B (zh) 2018-07-16 2018-07-16 基于Hadoop的饮用水海量数据存储管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810787118.1A CN109165207B (zh) 2018-07-16 2018-07-16 基于Hadoop的饮用水海量数据存储管理方法和系统

Publications (2)

Publication Number Publication Date
CN109165207A CN109165207A (zh) 2019-01-08
CN109165207B true CN109165207B (zh) 2021-11-26

Family

ID=64897686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810787118.1A Active CN109165207B (zh) 2018-07-16 2018-07-16 基于Hadoop的饮用水海量数据存储管理方法和系统

Country Status (1)

Country Link
CN (1) CN109165207B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112051968B (zh) * 2020-08-07 2021-10-22 东北大学 基于Kafka的分布式数据流分级缓存自动迁移方法
CN112650726A (zh) * 2020-12-07 2021-04-13 浙江合众新能源汽车有限公司 一种流式计算行驶行程和充电行程的系统
CN117519608B (zh) * 2023-12-27 2024-03-22 泰安北航科技园信息科技有限公司 一种以Hadoop为核心的大数据服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和系统
CN105512167A (zh) * 2015-10-30 2016-04-20 广东广信通信服务有限公司 一种基于混合数据库的多业务用户数据管理系统及其方法
CN106095796A (zh) * 2016-05-30 2016-11-09 中国邮政储蓄银行股份有限公司 分布式数据存储方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017193108A2 (en) * 2016-05-06 2017-11-09 ZeroDB, Inc. Encryption for distributed storage and processing
US10409782B2 (en) * 2016-06-15 2019-09-10 Chen Zhang Platform, system, process for distributed graph databases and computing
CN106777141B (zh) * 2016-12-19 2019-07-12 国网山东省电力公司电力科学研究院 一种融合多源异构电网数据的获取和分布式存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104820717A (zh) * 2015-05-22 2015-08-05 国网智能电网研究院 一种海量小文件存储及管理方法和系统
CN105512167A (zh) * 2015-10-30 2016-04-20 广东广信通信服务有限公司 一种基于混合数据库的多业务用户数据管理系统及其方法
CN106095796A (zh) * 2016-05-30 2016-11-09 中国邮政储蓄银行股份有限公司 分布式数据存储方法、装置及系统

Also Published As

Publication number Publication date
CN109165207A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109165207B (zh) 基于Hadoop的饮用水海量数据存储管理方法和系统
CN105653591B (zh) 一种工业实时数据分级存储及迁移方法
CN110413599A (zh) 数据实时处理与存储系统及方法
CA2777506C (en) System and method for grouping multiple streams of data
CN103106152B (zh) 基于层次存储介质的数据调度方法
CN103793493B (zh) 一种处理车载终端海量数据的方法和系统
CN104978324B (zh) 一种数据处理方法和装置
CN104133882A (zh) 一种基于hdfs的小文件处理方法
CN106933868A (zh) 一种调整数据分片分布的方法及数据服务器
CN106339331B (zh) 一种基于用户活跃度的数据缓存层置换算法
CN109299115A (zh) 一种数据存储方法、装置、服务器及存储介质
CN105488148A (zh) 大数据的存储访问系统及方法
CN109144791A (zh) 数据转存方法、装置和数据管理服务器
CN110727406A (zh) 一种数据存储调度方法及装置
CN110147470B (zh) 一种跨机房数据比对系统及方法
CN106649687A (zh) 大数据联机分析处理方法及装置
CN111737325A (zh) 一种基于大数据技术的电力数据分析方法和装置
US20050097130A1 (en) Tracking space usage in a database
CN110858912A (zh) 流媒体缓存方法和系统、缓存策略服务器、流服务节点
CN112000703B (zh) 数据入库处理方法、装置、计算机设备和存储介质
CN114036410A (zh) 数据存储、查询方法、设备、系统、程序及介质
WO2022062777A1 (zh) 数据管理方法、数据管理装置及存储介质
CN116226250A (zh) 针对发电领域海量时序数据管理的汇聚式管理方法及系统
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
CN116820323A (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
GR01 Patent grant
GR01 Patent grant