论文部分内容阅读
【摘要】 为解决现有工业数据处理方案的不足,将大数据技术引入到CIMS的监测和分析中;借助消息中间件完成HDFS分布式环境下的可靠通信,并利用Hadoop的MapReduce框架保证监测和分析的实时性。另外,还借助系统动力学方法对要建立的CIMS监测和分析平台进行建模,以分析监测和分析平台的瓶颈,提高监测和分析性能。
【关键词】 大数据 HDFS MapReduce CIMS
一、研究背景
工业化和计算機技术的发展,使制造系统每天产生的数据量不断增加,整个制造业产生的数据量远高于其他行业[1]。面对日益复杂的制造业生产系统,通过保存其运行过程中的中间数据,并对数据进行研究,能够解决当前的系统建模手段无法解决的问题。传统的数据分析方案一般先将数据保存到关系型数据库中,然后借助联机分析、处理等手段为决策提供支持[2]。
当面对制造业的海量数据时,可能会有如下缺陷[3]:
(1)数据来自不同地区的工作站、传感器等,而且数据格式不统一,既有结构化数据,也有非结构化数据,不利于处理;
(2)联机分析处理过程中会有大量的数据移动操作,当数据量达到PB级时,大量数据移动造成的开销变得难以接受。
因此,有必要研究并实现一个能够合并存储异构数据、并且可以完成基于大数据的CIMS数据分析处理的平台。本文将Hadoop大数据技术引入到CIMS海量工业数据的监测和分析中。
二、研究现状
范剑青[4]阐述了大数据独有的特点,说明大数据提供的海量数据给统计、处理以及统计估算和检验带来的问题。Jiang 等人[5]对电子商务网站的大量商品数据进行分析处理,提出了基于Hadoop的协同过滤算法。
Duke能源公司模拟大数据解决方案,使维护专家远程观看设备和记录异常指数,甚至可以及时采取纠正操作,但还不能真正实现大数据分析和处理平台。通用电气(GE)于2013年推出其大数据分析平台,用以将云平台中的工业机器产生的海量数据转化为实时信息,此平台可以认为是第一个能够真正管理工业海量数据的平台,但是难以处理来自多个数据源的数据。美国国家仪器公司和IBM联手推出InfoSphereStreams大数据解决方案,能够以很高的数据吞吐率分析来自多个数据源的信息,但其处理带有一定的数据延时,实时性不佳。
为解决海量数据处理时的实时性问题,本文拟采用开源的Storm流处理技术,并借助类SQL和Piglatin等过程化语言扩展,以实时监控整个大数据平台。
三、大数据技术在CIMS监测与分析平台中的设计
工业应用数据在数据量上远超普通应用,其海量数据存储的要求超过了传统的关系型数据库的存储能力。另外,工业应用数据也由传统的结构化数据扩展到结构化、半结构化以及非结构化数据并存,对这些数据格式以及数据类型都存在不同的工业数据进行采集、分析和处理的方式有别于传统方式,因此需要对监测和分析平台进行设计,从软件结构、通信方式以及数据存储方式等各个方面进行分析。
3.1 CIMS海量数据监测与分析平台的设计
在将大数据技术应用于CIMS海量数据的监测与分析时,海量的工业数据不再存放在传统的关系型数据库,而是存放到HDFS分布式文件系统上。因此,软件结构设计要与Hadoop的HDFS文件系统相对应。
3.1.1 软件结构
本文设计的CIMS海量工业数据监测和分析平台(以下简称“平台”)采用Master-slave主从架构,Hadoop集群的NameNode节点作为监测和分析平台的管理节点,完成数据采集、数据分析等各功能的功能模块是工作节点。管理节点管理整个集群的相关信息,并维护包括节点的主机名、IP地址等机器状态。工作节点可以根据工业应用的需求进行灵活的配置,也可以动态增加或减少。
平台主要分为如下部分[6]:客户端、消息中间件、数据查询模块、数据分析模块、数据采集模块以及Hadoop集群。客户端接收用户请求,向平台发出任务请求;数据采集模块、数据查询模块以及数据分析模块是平台的功能组件,分别提供工业大数据分析流程中的对应功能[7]:数据采集模块对外提供数据的访问接口,其功能是从不同的数据源获取数据,并将这些数据存储到Hadoop的HDFS文件系统上。
数据查询模块从HDFS文件系统中查询数据的存储索引,并返回给数据分析模块;数据分析模块中实现不同的数据分析配置方法,并交由MapReduce框架分布式地实现数据分析任务。
3.1.2 系统功能模块
平台中监测和分析的数据一般都是离散数据,所以选择消息中间件作为通信管理模块,消息中间件实现平台中各个模块间的通信。
以功能节点上线为例,由于管理节点存储了所有节点的状态信息,所以为保证整个集群信息的一致性,功能节点上线时需要先向管理节点注册其信息,管理节点会向消息中间件订阅“注册”这一主题,消息中间件接收到订阅请求后会创建相应的队列,并持续监听此队列的消息情况。消息队列中的消息是以文本格式存在的,本文的消息传递方式采用XML。平台中的操作请求都会发送给任务管理模块,由其解析后,再发送给相应的功能模块执行。
数据采集模块从基于HDFS文件系统的Hbase数据库中获取来自客户端的数据,由于工业数据的采集并发量可能比较大,因此要在采集端部署大量数据库;除此之外,ETL工具负责将异构数据源的数据抽取处理进行数据清洗。Hadoop上的数据分析模块能够完成多维分析,由于MapReduce的具备很强的并行处理能力,因此分析维度的增加并不会使数据分析的开销显著增加,这无疑是传统的数据分析平台所无可比拟的。
3.1.3 数据存储方式
传统的关系型数据库不能很好的支持结构化和半结构化的数据,HDFS分布式文件系统克服了这一缺陷,将非结构化数据和结构化数据都以文件形式存放,实现了廉价而又可靠数据存储。 工业数据可能来自多个不同的数据源,平台借助中间件屏蔽了它们之间的异构性,然后将这些原本异构的数据存储到HDFS文件系统中。这种异构数据存储方式不需要昂贵的存储设备,廉价的服务器即可组成可靠的存储集群;另外,存储集群节点同时还是Hadoop集群的工作节点,提高了数据存储节点的利用率[8]。
四、大数据技术在CIMS监测与分析平台的性能优化
软件工程思想中,不能只设计软件的结构,同时要对软件进行不断优化。平台集中了多个数据来源的数据,因此平台间的数据传递吞吐量比较大;另外,平台各个组件间的网络依赖关系比较复杂,合理分配网络资源对提升平台性能有重要的影响。
系统动力学研究复杂系统的结构、功能以及动态行为模式,可以利用系统动力学的相关原理和方法,对本文设计的平台进行模拟仿真研究。
在进行实际的大数据平台仿真分析时,为搭建Hadoop集群本文配置4台服务器,其中一台作为NameNode,其他服务器作为DataNode。具体的配置信息如表1所示:
系统动力学分析软件系统的基本思路是把与系统相关的网络变量转换为因果图及流图,因果图表征了变量间的相互影响关系,流图说明了变量的反馈积累;然后利用DYNAMO方程描述变量间的关系。因果图反应了平台中的反馈回路的正负极性,表示出系统元素间基本的相互影響关系。
基于以上分析,对本文设计的平台进行系统动力学分析如下:由于平台是一个非线性时变系统,影响其性能的因素不仅包括管理节点、消息中间件、Hadoop集群等,还包含网络带宽、服务器配置等客观因素。根据系统建模目的,可以知道系统边界应该包括如下因素:用户请求数目、数据采集模块采集到的输入数据、消息中间件队列中的消息数量、消息中间件路由消息的延迟、Hadoop集群的性能等。
平台的系统边界确定后,接下来需要分析系统边界内的元素间的影响关系,以及它们之间是否有因果关系。经分析可知,用户请求的增加会导致消息中间件队列中的消息增加,而消息中间件路由消息的延迟降低会降低系统中消息传递的整体时延。
消息中间件的工作性能和系统各个模块的工作时延组成正反馈回路,说明消息中间件和系统模块是正相关的,所以平台整体性能的提升依赖于消息中间件和系统模块的合理资源配置。
消息中间件的各种配置参数,比如响应速度、吞吐量等参数对提升平台的分析性能影响很大,在优化消息中间件的各种参数后,比较本文设计的基于大数据的数据分析平台和传统的工业数据平台的性能,在同时对PB级别的工业数据进行分析时,当CPU数目相同时,响应速度的结果如表2所示:
对于不同的数据级别,两种大数据平台的处理效果如表3所示:
由结果可知,在处理相同的数据量时,在响应速度的性能上,本文设计的工业数据分析平台要优于传统的数据分析平台。
当处理不同的数据量时,随着数据量的增加,传统的大数据处理平台的处理时间也呈现显著增加,而本文设计的大数据处理平台处理时间是线性的,明显优于传统大数据处理平台。
五、总结与展望
本文首先介绍了Hadoop大数据技术,分析了其HDFS文件系统和MapReduce计算框架;
接下来对基于大数据技术的CIMS海量工业数据监测和分析平台进行设计,从软件结构、通信方式以及数据存储方式等各个方面进行了分析。最后利用系统动力学的原理,对影响平台性能的因素进行了研究。
与Duke能源公司模拟的大数据解决方案相比,本文设计的平台已经能够采集、分析并处理海量数据,真正意义上在工业领域引入了大数据技术;而且此平台还能够处理来自多个数据源的数据,比通用电气的大数据分析平台具备一定的优势。
参 考 文 献
[1] 韩燕波,赵卓峰.面向大规模感知数据的实时数据流处理方法及关键技术[J].计算机集成制造系统.2013,19(3):641-653.
[2] 邓华锋,刘云生,肖迎元. 分布式数据流处理系统的动态负载平衡技术[J]. 计算机科学. 2007(07)
[3] 胡茂胜.基于数据中心模式的分布式异构空间数据无缝集成技术研究[D].武汉:中国地质大学,2012.
[4] 杨林青,李湛,牟雁超等.面向大规模数据集的并行化Top-k Skyline查询算法[J].计算机科学与探索.2014, 12(26).
[5] J.Jiang, J. Lu, G. Zhang, and G. Long. Scaling-up item-based collaborative filtering recommendation algorithm based on hadoop. SERVICES, pp. 490 -497, 2011.
[6] 王黎维,黄泽谦,罗敏,彭智勇. 集成对象代理数据库的科学工作流服务框架中的数据跟踪[J]. 计算机学报. 2008(05)
[7] 多雪松,张晶,高强. 基于Hadoop的海量数据管理系统[J]. 微计算机信息. 2010(13)
[8] 陈康,郑纬民. 云计算:系统实例与研究现状[J]. 软件学报. 2009(05)
【关键词】 大数据 HDFS MapReduce CIMS
一、研究背景
工业化和计算機技术的发展,使制造系统每天产生的数据量不断增加,整个制造业产生的数据量远高于其他行业[1]。面对日益复杂的制造业生产系统,通过保存其运行过程中的中间数据,并对数据进行研究,能够解决当前的系统建模手段无法解决的问题。传统的数据分析方案一般先将数据保存到关系型数据库中,然后借助联机分析、处理等手段为决策提供支持[2]。
当面对制造业的海量数据时,可能会有如下缺陷[3]:
(1)数据来自不同地区的工作站、传感器等,而且数据格式不统一,既有结构化数据,也有非结构化数据,不利于处理;
(2)联机分析处理过程中会有大量的数据移动操作,当数据量达到PB级时,大量数据移动造成的开销变得难以接受。
因此,有必要研究并实现一个能够合并存储异构数据、并且可以完成基于大数据的CIMS数据分析处理的平台。本文将Hadoop大数据技术引入到CIMS海量工业数据的监测和分析中。
二、研究现状
范剑青[4]阐述了大数据独有的特点,说明大数据提供的海量数据给统计、处理以及统计估算和检验带来的问题。Jiang 等人[5]对电子商务网站的大量商品数据进行分析处理,提出了基于Hadoop的协同过滤算法。
Duke能源公司模拟大数据解决方案,使维护专家远程观看设备和记录异常指数,甚至可以及时采取纠正操作,但还不能真正实现大数据分析和处理平台。通用电气(GE)于2013年推出其大数据分析平台,用以将云平台中的工业机器产生的海量数据转化为实时信息,此平台可以认为是第一个能够真正管理工业海量数据的平台,但是难以处理来自多个数据源的数据。美国国家仪器公司和IBM联手推出InfoSphereStreams大数据解决方案,能够以很高的数据吞吐率分析来自多个数据源的信息,但其处理带有一定的数据延时,实时性不佳。
为解决海量数据处理时的实时性问题,本文拟采用开源的Storm流处理技术,并借助类SQL和Piglatin等过程化语言扩展,以实时监控整个大数据平台。
三、大数据技术在CIMS监测与分析平台中的设计
工业应用数据在数据量上远超普通应用,其海量数据存储的要求超过了传统的关系型数据库的存储能力。另外,工业应用数据也由传统的结构化数据扩展到结构化、半结构化以及非结构化数据并存,对这些数据格式以及数据类型都存在不同的工业数据进行采集、分析和处理的方式有别于传统方式,因此需要对监测和分析平台进行设计,从软件结构、通信方式以及数据存储方式等各个方面进行分析。
3.1 CIMS海量数据监测与分析平台的设计
在将大数据技术应用于CIMS海量数据的监测与分析时,海量的工业数据不再存放在传统的关系型数据库,而是存放到HDFS分布式文件系统上。因此,软件结构设计要与Hadoop的HDFS文件系统相对应。
3.1.1 软件结构
本文设计的CIMS海量工业数据监测和分析平台(以下简称“平台”)采用Master-slave主从架构,Hadoop集群的NameNode节点作为监测和分析平台的管理节点,完成数据采集、数据分析等各功能的功能模块是工作节点。管理节点管理整个集群的相关信息,并维护包括节点的主机名、IP地址等机器状态。工作节点可以根据工业应用的需求进行灵活的配置,也可以动态增加或减少。
平台主要分为如下部分[6]:客户端、消息中间件、数据查询模块、数据分析模块、数据采集模块以及Hadoop集群。客户端接收用户请求,向平台发出任务请求;数据采集模块、数据查询模块以及数据分析模块是平台的功能组件,分别提供工业大数据分析流程中的对应功能[7]:数据采集模块对外提供数据的访问接口,其功能是从不同的数据源获取数据,并将这些数据存储到Hadoop的HDFS文件系统上。
数据查询模块从HDFS文件系统中查询数据的存储索引,并返回给数据分析模块;数据分析模块中实现不同的数据分析配置方法,并交由MapReduce框架分布式地实现数据分析任务。
3.1.2 系统功能模块
平台中监测和分析的数据一般都是离散数据,所以选择消息中间件作为通信管理模块,消息中间件实现平台中各个模块间的通信。
以功能节点上线为例,由于管理节点存储了所有节点的状态信息,所以为保证整个集群信息的一致性,功能节点上线时需要先向管理节点注册其信息,管理节点会向消息中间件订阅“注册”这一主题,消息中间件接收到订阅请求后会创建相应的队列,并持续监听此队列的消息情况。消息队列中的消息是以文本格式存在的,本文的消息传递方式采用XML。平台中的操作请求都会发送给任务管理模块,由其解析后,再发送给相应的功能模块执行。
数据采集模块从基于HDFS文件系统的Hbase数据库中获取来自客户端的数据,由于工业数据的采集并发量可能比较大,因此要在采集端部署大量数据库;除此之外,ETL工具负责将异构数据源的数据抽取处理进行数据清洗。Hadoop上的数据分析模块能够完成多维分析,由于MapReduce的具备很强的并行处理能力,因此分析维度的增加并不会使数据分析的开销显著增加,这无疑是传统的数据分析平台所无可比拟的。
3.1.3 数据存储方式
传统的关系型数据库不能很好的支持结构化和半结构化的数据,HDFS分布式文件系统克服了这一缺陷,将非结构化数据和结构化数据都以文件形式存放,实现了廉价而又可靠数据存储。 工业数据可能来自多个不同的数据源,平台借助中间件屏蔽了它们之间的异构性,然后将这些原本异构的数据存储到HDFS文件系统中。这种异构数据存储方式不需要昂贵的存储设备,廉价的服务器即可组成可靠的存储集群;另外,存储集群节点同时还是Hadoop集群的工作节点,提高了数据存储节点的利用率[8]。
四、大数据技术在CIMS监测与分析平台的性能优化
软件工程思想中,不能只设计软件的结构,同时要对软件进行不断优化。平台集中了多个数据来源的数据,因此平台间的数据传递吞吐量比较大;另外,平台各个组件间的网络依赖关系比较复杂,合理分配网络资源对提升平台性能有重要的影响。
系统动力学研究复杂系统的结构、功能以及动态行为模式,可以利用系统动力学的相关原理和方法,对本文设计的平台进行模拟仿真研究。
在进行实际的大数据平台仿真分析时,为搭建Hadoop集群本文配置4台服务器,其中一台作为NameNode,其他服务器作为DataNode。具体的配置信息如表1所示:
系统动力学分析软件系统的基本思路是把与系统相关的网络变量转换为因果图及流图,因果图表征了变量间的相互影响关系,流图说明了变量的反馈积累;然后利用DYNAMO方程描述变量间的关系。因果图反应了平台中的反馈回路的正负极性,表示出系统元素间基本的相互影響关系。
基于以上分析,对本文设计的平台进行系统动力学分析如下:由于平台是一个非线性时变系统,影响其性能的因素不仅包括管理节点、消息中间件、Hadoop集群等,还包含网络带宽、服务器配置等客观因素。根据系统建模目的,可以知道系统边界应该包括如下因素:用户请求数目、数据采集模块采集到的输入数据、消息中间件队列中的消息数量、消息中间件路由消息的延迟、Hadoop集群的性能等。
平台的系统边界确定后,接下来需要分析系统边界内的元素间的影响关系,以及它们之间是否有因果关系。经分析可知,用户请求的增加会导致消息中间件队列中的消息增加,而消息中间件路由消息的延迟降低会降低系统中消息传递的整体时延。
消息中间件的工作性能和系统各个模块的工作时延组成正反馈回路,说明消息中间件和系统模块是正相关的,所以平台整体性能的提升依赖于消息中间件和系统模块的合理资源配置。
消息中间件的各种配置参数,比如响应速度、吞吐量等参数对提升平台的分析性能影响很大,在优化消息中间件的各种参数后,比较本文设计的基于大数据的数据分析平台和传统的工业数据平台的性能,在同时对PB级别的工业数据进行分析时,当CPU数目相同时,响应速度的结果如表2所示:
对于不同的数据级别,两种大数据平台的处理效果如表3所示:
由结果可知,在处理相同的数据量时,在响应速度的性能上,本文设计的工业数据分析平台要优于传统的数据分析平台。
当处理不同的数据量时,随着数据量的增加,传统的大数据处理平台的处理时间也呈现显著增加,而本文设计的大数据处理平台处理时间是线性的,明显优于传统大数据处理平台。
五、总结与展望
本文首先介绍了Hadoop大数据技术,分析了其HDFS文件系统和MapReduce计算框架;
接下来对基于大数据技术的CIMS海量工业数据监测和分析平台进行设计,从软件结构、通信方式以及数据存储方式等各个方面进行了分析。最后利用系统动力学的原理,对影响平台性能的因素进行了研究。
与Duke能源公司模拟的大数据解决方案相比,本文设计的平台已经能够采集、分析并处理海量数据,真正意义上在工业领域引入了大数据技术;而且此平台还能够处理来自多个数据源的数据,比通用电气的大数据分析平台具备一定的优势。
参 考 文 献
[1] 韩燕波,赵卓峰.面向大规模感知数据的实时数据流处理方法及关键技术[J].计算机集成制造系统.2013,19(3):641-653.
[2] 邓华锋,刘云生,肖迎元. 分布式数据流处理系统的动态负载平衡技术[J]. 计算机科学. 2007(07)
[3] 胡茂胜.基于数据中心模式的分布式异构空间数据无缝集成技术研究[D].武汉:中国地质大学,2012.
[4] 杨林青,李湛,牟雁超等.面向大规模数据集的并行化Top-k Skyline查询算法[J].计算机科学与探索.2014, 12(26).
[5] J.Jiang, J. Lu, G. Zhang, and G. Long. Scaling-up item-based collaborative filtering recommendation algorithm based on hadoop. SERVICES, pp. 490 -497, 2011.
[6] 王黎维,黄泽谦,罗敏,彭智勇. 集成对象代理数据库的科学工作流服务框架中的数据跟踪[J]. 计算机学报. 2008(05)
[7] 多雪松,张晶,高强. 基于Hadoop的海量数据管理系统[J]. 微计算机信息. 2010(13)
[8] 陈康,郑纬民. 云计算:系统实例与研究现状[J]. 软件学报. 2009(05)