一种利用非关系数据库存储海量工业设备监测数据的方法

文档序号:6521030阅读:243来源:国知局
一种利用非关系数据库存储海量工业设备监测数据的方法
【专利摘要】本发明涉及一种利用非关系数据库存储海量工业设备监测数据的方法,属于计算机数据库管理【技术领域】。首先使多个非结构化数据管理系统组成分布式结构的非关系数据库集群,从关系数据库中读取海量工业设备监测数据,并将读取的监测数据以逗号分隔的文本文件形式存储到多台客户机中,建立一个非关系数据库存储模式,将客户机上的上述以逗号分隔的文本文件导入到非关系数据库集群中。本方法能够有效存储海量的设备监测数据,并支持快速数据查询与分析,使得企业能够对海量监测数据进行查询和分析,挖掘监测数据中具有商业价值的信息,最终达到对工业生产的设计、制造、销售、使用与维护等方面提供借鉴的目的。
【专利说明】一种利用非关系数据库存储海量工业设备监测数据的方法
【技术领域】
[0001]本发明涉及一种利用非关系数据库存储海量工业设备监测数据的方法,属于计算机数据库管理【技术领域】。
【背景技术】
[0002]随着制造业的迅猛发展,在面向大型设备的企业信息化过程中,越来越多的传感器被应用到工业生产线和工程机械设备中,进而产生了大量工业设备监测数据。这些数据通常产生于工程机械设备上大量的传感器,并实时地通过移动网络发送给服务平台,并存储在中心数据库中。通过存储、分析这些数据,企业可以挖掘具有商业价值的信息,对工业生产的设计、制造、销售、使用与维护等生命周期都有借鉴意义。例如,对机械产品进行故障预警或者故障诊断时,通过对监测数据的分析,可以挖掘机械设备发生故障前监测数据的规律,对即将发生的故障进行预警。
[0003]工业设备监测数据多以时序数据为主,通常具有数据量大、连续、易丢失、具有高度的领域相关性等特点,是一种典型的流数据。由于绝大部分监测数据由传感器产生,一个传感器可以监控一个物理量(Key)的值(Value),因此监测数据实际上是以键值对(Key-Value)的形式存在的。由于企业新产品的不断增加,监测数据的模型不断变化,数据的类型也会随着需要进行变化。
[0004]目前,绝大多数机械设备制造企业使用关系数据库(如Oracle)存储监测数据,并通过数据分区技术进行存储。通过将监测数据按时间切分,只将最近的数据存放于在线数据库中,其余的历史数据以离线的方式存放在备用存储中。
[0005]通过数据库分区技术存在下面的问题:首先,通过数据分区技术,只能将海量监测数据中很少量的部分存放于在线数据库中,通常是最近几个月的数据,联机分析处理(OLAP)应用只能够对这些数据进行处理;其次,传统的关系数据库需要固定的模型来描述数据,因此难以适应监测数据模型多变的特点;再次,传统数据库很难进行横向扩展,对于容量扩充的需求只能通过停机维护和数据迁移来实现,时间和财力成本较高;最后,传统的关系数据库难以满足高并发读写的需求,并且对硬件性能要求较高,当数据量达到百亿级时,对历史数据大规模的查询操作将难以完成,小范围的查询操作也变得缓慢,并发数据写入的性能难以满足需求。

【发明内容】

[0006]本发明的目的是提出一种利用非关系数据库存储海量工业设备监测数据的方法,以避免传统关系数据库在管理海量监测数据时的缺点,有效存储海量的设备监测数据,并能够支持快速数据查询与分析,使得企业能够对海量监测数据进行查询和分析,挖掘监测数据中具有商业价值的信息,最终达到对工业生产的设计、制造、销售、使用与维护等方面提供借鉴的目的。
[0007]本发明提出的利用非关系数据库存储海量工业设备监测数据的方法,包括以下步骤:
[0008](I)使多个非结构化数据管理系统组成一个具有分布式结构的非关系数据库集群;
[0009](2)从关系数据库中读取海量工业设备监测数据,并将读取的监测数据以逗号分隔的文本文件形式存储到多台客户机中,具体过程为:
[0010](2-1)使用镜像磁盘阵列克隆方法,将关系数据库中在线磁盘阵列中的海量工业设备监测数据拷贝到关系数据库中离线镜像磁盘阵列中,并使在线磁盘阵列与关系数据库断开,使离线镜像磁盘阵列与关系数据库相连;
[0011](2-2)使多台客户机的客户端与关系数据库相连,客户端按天读取关系数据库离线镜像磁盘阵列中的海量工业设备监测数据;
[0012](2-3)将上述海量工业设备监测数据以逗号分隔的文本文件形式存储到客户机上,文件格式为:“设备编号,监测数据标识,接收时间,监测值”;
[0013](3)建立一个非关系数据库存储模式,具体步骤如下:
[0014](3-1)使客户机的客户端与非关系数据库相连;
[0015](3-2)分别将上述以逗号分隔的文本文件中的监测数据标识作为列族名、设备编号作为行键、接收时间作为列名、监测值作为列值,建立一个非关系数据库的自由表模式;
[0016](3-3)设置非关系数据库为多备份;
[0017](4)将客户机上的上述以逗号分隔的文本文件导入到非关系数据库集群中,导入过程如下:
[0018](4-1)使客户机上的客户端与非关系数据库集群的底层接口相连,并将非关系数据库集群的写入一致性级别设置为最终一致性;
[0019](4-2)客户端从客户机上按天读取上述以逗号分隔的文本文件,并根据步骤(2-3)的文件格式对读取的文件进行解析,得到工业设备监测数据,并将工业设备监测数据存储在客户机的内存中;
[0020](4-3)将客户机内存中的工业设备监测数据写入非关系数据库集群中。
[0021]本发明提出的利用非关系数据库存储海量工业设备监测数据的方法,其优点是:
[0022]1、本发明方法通过使用非关系数据库(NoSQL),例如开源的Cassandra,解决传统的关系数据库不能解决的海量工程机械设备监测数据的存储和管理的难题。由于工业设备监测数据的数据量非常大,同时企业的数据分析需求要求所有的历史数据必须全部在线,而非关系数据库具有容量大,可扩展性好的特点,因此本方法比传统的方法更加实用;
[0023]2、针对监测数据具有模型多变的特点,本发明方法具备了自由表模型具有模式动态可变的特点,如果有新的监测数据类型产生,自由表模型可以新增相应的列族,省去了关系数据库中重新建表进行修改模式、数据导出导入等。通过合理设计基于非关系数据库的存储模型,并对分布式集群进行参数配置与调优,可以有效存储并管理PB级监测数据,并满足制造企业对海量监测数据进行查询和分析的需求;
[0024]3、本发明方法中的非关系数据库数据库支持在线扩展,可以在数据库集群正常运行的情况下新增节点,不需要停机维护和数据迁移,节省了时间和人力成本。
【专利附图】

【附图说明】[0025]图1是本发明方法中文件格式与自由表模型的映射关系示意图。
【具体实施方式】
[0026]本发明提出的利用非关系数据库存储海量工业设备监测数据的方法,包括以下步骤:
[0027](I)使多个非结构化数据管理系统组成一个具有分布式结构的非关系数据库集群;
[0028](2)从关系数据库中读取海量工业设备监测数据,并将读取的监测数据以逗号分隔的文本文件形式存储到多台客户机中,具体过程为:
[0029](2-1)使用镜像磁盘阵列克隆方法,将关系数据库中在线磁盘阵列中的海量工业设备监测数据拷贝到关系数据库中离线镜像磁盘阵列中,并使在线磁盘阵列与关系数据库断开,使离线镜像磁盘阵列与关系数据库相连;
[0030](2-2)使多台客户机的客户端与关系数据库相连,客户端按天读取关系数据库离线镜像磁盘阵列中的海量工业设备监测数据;
[0031](2-3)将上述海量工业设备监测数据以逗号分隔的文本文件形式存储到客户机上,文件格式为:“设备编号,监测数据标识,接收时间,监测值”;
[0032](3)建立一个非关系数据库存储模式,具体步骤如下:
[0033](3-1)使客户机的客户端与非关系数据库相连;
[0034](3-2)分别将上述以逗号分隔的文本文件中的监测数据标识作为列族名、设备编号作为行键、接收时间作为列名、监测值作为列值,建立一个非关系数据库的自由表模式;在该模式中,列族的数量可以根据监测数据标识的种类动态地增加或删除,新读取的数据根据接收时间插入为新列。文件格式与自由表模型的映射关系如图1所示。
[0035](3-3)设置非关系数据库为多备份;
[0036](4)将客户机上的上述以逗号分隔的文本文件导入到非关系数据库集群中,导入过程如下:
[0037](4-1)使客户机上的客户端与非关系数据库集群的底层接口相连,并将非关系数据库集群的写入一致性级别设置为最终一致性;
[0038](4-2)客户端从客户机上按天读取上述以逗号分隔的文本文件,并根据步骤(2-3)的文件格式对读取的文件进行解析,得到工业设备监测数据,并将工业设备监测数据存储在客户机的内存中;
[0039](4-3)将客户机内存中的工业设备监测数据写入非关系数据库集群中。
【权利要求】
1.一种利用非关系数据库存储海量工业设备监测数据的方法,其特征在于该方法包括以下步骤: (1)使多个非结构化数据管理系统组成一个具有分布式结构的非关系数据库集群; (2)从关系数据库中读取海量工业设备监测数据,并将读取的监测数据以逗号分隔的文本文件形式存储到多台客户机中,具体过程为: (2-1)使用镜像磁盘阵列克隆方法,将关系数据库中在线磁盘阵列中的海量工业设备监测数据拷贝到关系数据库中离线镜像磁盘阵列中,并使在线磁盘阵列与关系数据库断开,使离线镜像磁盘阵列与关系数据库相连; (2-2)使多台客户机的客户端与关系数据库相连,客户端按天读取关系数据库离线镜像磁盘阵列中的海量工业设备监测数据; (2-3)将上述海量工业设备监测数据以逗号分隔的文本文件形式存储到客户机上,文件格式为:“设备编号,监测数据标识,接收时间,监测值”; (3)建立一个非关系数据库存储模式,具体步骤如下: (3-1)使客户机的客户端与非关系数据库相连; (3-2)分别将上述以逗号分隔的文本文件中的监测数据标识作为列族名、设备编号作为行键、接收时间作为列名、监测值作为列值,建立一个非关系数据库的自由表模式; (3-3)设置非关系数据库为多备份; (4)将客户机上的上述以逗号分隔的文本文件导入到非关系数据库集群中,导入过程如下: (4-1)使客户机上的客户端与非关系数据库集群的底层接口相连,并将非关系数据库集群的写入一致性级别设置为最终一致性; (4-2)客户端从客户机上按天读取上述以逗号分隔的文本文件,并根据步骤(2-3)的文件格式对读取的文件进行解析,得到工业设备监测数据,并将工业设备监测数据存储在客户机的内存中; (4-3 )将客户机内存中的工业设备监测数据写入非关系数据库集群中。
【文档编号】G06F17/30GK103631912SQ201310617021
【公开日】2014年3月12日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】王建民, 刘英博, 张力, 钟雨 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1