1、2023 03 10计算机应用,Journal of Computer Applications2023,43(3):759-766ISSN 10019081CODEN JYIIDUhttp:/基于HBase的工业时序大数据分布式存储性能优化策略杨力,陈建廷,向阳*(同济大学 电子与信息工程学院,上海 201804)(通信作者电子邮箱)摘要:在自动化的工业场景中,大量工业设备产生的时序性日志数据量呈爆炸式增长,业务场景对时序数据的访问需求进一步提升。虽然目前基于分布式列族的数据库HBase能够存储工业时序大数据,但由于未考虑特定业务场景中数据与访问行为特征的关联,现有策略无法较好地满足工业时序
2、数据的特定访问需求。针对上述问题,基于分布式存储系统HBase,利用工业场景中数据与访问行为特征的关联性,提出面向海量工业时序数据的分布式存储性能优化策略。针对工业时序数据特点引发的负载倾斜问题,提出基于冷热数据分区及访问行为分类的负载均衡优化策略。使用逻辑回归模型(LR)对数据进行冷热分类,并将热数据分散存储在不同节点;同时,为进一步降低存储集群中跨节点的通信开销,以提升工业时序数据高维索引的查询效率,提出索引主数据同 Region 化策略,设计索引RowKey字段及拼接规则,将索引存放到与它对应的主数据相同的Region中。在真实工业时序数据上的实验结果表明,引入优化策略后的数据负载分布倾
3、斜度降低28.5%,查询效率提升27.7%,验证了所提优化策略能够有效地挖掘特定时序数据的访问模式,合理地分配负载,降低数据访问开销,有能力满足对特定时序大数据的访问需求。关键词:分布式存储;时序大数据;工业大数据;负载均衡;HBase中图分类号:TP311 文献标志码:APerformance optimization strategy of distributed storage for industrial time series big data based on HBaseYANG Li,CHEN Jianting,XIANG Yang*(College of Electronic
4、and Information Engineering,Tongji University,Shanghai 201804,China)Abstract:In automated industrial scenarios,the amount of time series log data generated by a large number of industrial devices has exploded,and the demand for access to time series data in business scenarios has further increased.A
5、lthough HBase,a distributed column family database,can store industrial time series big data,the existing strategies cannot meet the specific access requirements of industrial time series data well because the correlation between data and access behavior characteristics in specific business scenario
6、s is not considered.In view of the above problem,based on the distributed storage system HBase,and using the correlation between data and access behavior characteristics in industrial scenarios,a distributed storage performance optimization strategy for massive industrial time series data was propos
7、ed.Aiming at the load tilt problem caused by characteristics of industrial time series data,a load balancing optimization strategy based on hot and cold data partition and access behavior classification was proposed.The data were classified into cold and hot ones by using a Logistic Regression(LR)mo
8、del,and the hot data were distributed and stored in different nodes.In addition,in order to further reduce the cross-node communication overhead in storage cluster and improve the query efficiency of the high-dimensional index of industrial time series data,a strategy of putting the index and main d
9、ata into a same Region was proposed.By designing the index RowKey field and splicing rules,the index was stored with its corresponding main data in the same Region.Experimental results on real industrial time series data show that the data load distribution tilt degree is reduced by 28.5%and the que
10、ry efficiency is improved by 27.7%after introducing the optimization strategy,demonstrating the proposed strategy can mine access patterns for specific time series data effectively,distribute load reasonably,reduce data access overhead,and meet access requirements for specific time series big data.K
11、ey words:distributed storage;time series big data;industrial big data;load balancing;HBase0 引言 随着信息技术飞速发展,大数据正在成为各大产业领域的重要资产,并且物联网、5G等技术的高速发展也导致大数据的范围扩大化和来源多样化1。随着全球工业水平提升,工业大数据已成为大数据家族的重要成员,其中时序数据就是重要且典型的工业大数据类型。在各大智能工业场景中,文章编号:1001-9081(2023)03-0759-08DOI:10.11772/j.issn.1001-9081.2022020211收稿日期:2
12、0220224;修回日期:20220531;录用日期:20220602。基金项目:国家重点研发计划项目(2019YFB1704402)。作者简介:杨力(1998),男,甘肃张掖人,硕士研究生,主要研究方向:大数据、分布式系统;陈建廷(1996),男,吉林吉林人,博士研究生,CCF学生会员,主要研究方向:工业大数据、智能制造、深度学习;向阳(1962),男,上海人,教授,博士,CCF高级会员,主要研究方向:自然语言处理、数据挖掘、知识图谱。第 43 卷计算机应用大量不同来源的异构时序性日志数据量呈爆炸式增长,在时序数据规模越来越大的情况下,海量工业时序数据的存储与管理成为了大数据领域的研究焦点2
13、。广义的时序数据,即带有时间信息的数据记录,通常可以通过结构化方式表示。时序数据具有时间序列化、时段密集化、单条数据高权重、数据产生高并发、数据总量巨大的特点3。在工业场景下,工业时序数据通常由上百台工业设备的上万个传感器产生,各传感器采样周期堆叠,并且各数据之间可能存在复杂的依赖关系,因此工业时序数据具有采样周期密集和强关联的特点4。工业时序数据主要包含设备参数、设备运行状况、设备负载程度等,反映了各设备在不同单位时间内的工作情况,对分析设备故障、提升设备工作效率进而优化整个工业场景整体管控都具有重要的意义5。因此,工业系统对时序数据具有较高的数据访问需求。现有数据存储系统在面对该需求时极易
14、发生负载不均衡现象,导致系统访问效率低下。在一些典型业务场景,如超大型自动化码头系统中,数以万计的码头设备传感器在极短的时间内产生大量设备工作状态时序数据,对于相同传感器或相近时间段数据的写入与读取,通常发生在同一存储节点上,极易造成存储节点因访问数据流量不均衡而引发的负载倾斜问题;且数据高维索引查询的效率较低,很容易出现数据访问速度慢,甚至服务器宕机的情况,这会严重影响业务流程的运行。因此,工业时序数据存储系统需要具备平衡数据访问负载的能力,实现多维度查询,从而支持对工业时序数据的高密度并发访问。HBase 作为一种具有良好可扩展性的分布式列族数据库,常作为一种通用存储技术用于海量数据存储场
15、景6。对于数据负载倾斜问题,目前主要基于HBase的多存储服务器节点分散分布的特点,通过添加必要的系统模块以达到优化目的,主要分为预分区与被动分区两类。预分区方法在数据到来之前将 Region按照行键 RowKey进行分区,将后续写入的数据按不同策略写入特定分区7-12;被动分区方法对数据进行监控,根据数据量、数据访问频率等数据变化特性进行动态分区13-18。但由于工业时序数据采样周期密集、强关联以及访问需求高的特点,现存的负载均衡方法没有考虑到特定业务场景中数据与访问行为特征的关联,无法满足特定场景下的数据访问需求,因此,在工业场景下,面向海量工业时序数据的分布式存储负载均衡策略值得进一步研
16、究和探索。本文基于分布式存储系统 HBase 提出面向海量工业时序数据的分布式存储性能优化策略。针对工业时序数据的负载倾斜问题,本文发现工业系统具有相对固定的时序数据访问模式,通过对用户历史访问行为模式与数据特征的分析,提出基于冷热数据分区及访问行为分类的负载均衡优化策略。将待存储数据进行冷热分类并写入对应分区,进而缓解负载倾斜,提升后续数据读取效率;同时,为降低存储集群中跨节点通信开销以提升工业时序数据高维索引的查询效率,提出了索引主数据同Region化策略。在真实工业时序数据上进行了对比实验,验证了本文策略能提升工业时序数据的存储性能,可满足工业场景下对时序数据的访问需求。1 相关工作 针对时序数据特点所引发的负载倾斜问题,目前的主流方法是向HBase引入必要的系统模块以达到优化目的,主要分为预分区和被动分区两类方法。预分区方法在存储数据前就设定 HBase 中不同数据分区的StartRowKey和EndRowKey,进行预分区。Van Le等7基于 Hbase提出一种针对时序数据的智能存储策略,在 HBase建表之前,根据要存储的时序数据的特征设计每个分区Region的 Star