基于多设备乱序数据的实时计算方法及系统技术方案

技术编号:21361186 阅读:25 留言:0更新日期:2019-06-15 09:17
本发明专利技术公开了一种基于多设备乱序数据的实时计算方法及系统,其中基于多设备乱序数据的实时计算方法包括:实时数据库从多个设备分别采集实时数据;以预设的读取周期读取实时数据库,对于每个读取周期,获取当前读取周期的时间范围内多个设备的最新实时数据;根据预设算法对所述最新实时数据进行运算得到运算结果。本发明专利技术通过设置读取周期,并以读取周期读取实时数据库,并获取当前读取周期内,从多个设备采集的最新实时数据,将获取到的多个设备的最新实时数据作为同一时间戳数据进行计算,这样就消除了实时数据乱序的问题,并保持了多设备乱序数据的时间一致性,可简单方便的根据预设算法对同一时间戳的最新实时数据进行运算并得到运算结果。

Real-time Computing Method and System Based on Multi-device Unordered Data

The invention discloses a real-time calculation method and system based on multi-device disordered data. The real-time calculation method based on multi-device disordered data includes: real-time database collects real-time data from multiple devices separately; real-time database is read by preset reading cycle, and the latest real-time of multiple devices within the time range of current reading cycle is obtained for each reading cycle. Data; According to the preset algorithm, the latest real-time data are calculated and the results are obtained. By setting the reading period and reading the real-time database with the reading period, and acquiring the latest real-time data collected from multiple devices in the current reading period, the present invention calculates the latest real-time data of multiple devices as the same time stamp data, thus eliminating the problem of real-time data disorder and maintaining the time consistency of the disordered data of multiple devices. It is simple and convenient to calculate the latest real-time data of the same timestamp according to the preset algorithm and get the operation results.

【技术实现步骤摘要】
基于多设备乱序数据的实时计算方法及系统
本专利技术涉及数据处理领域,尤其涉及一种基于多设备乱序数据的实时计算方法及系统。
技术介绍
随着流程工业的发展,大量高频采集的测量数据需要实时存储,而如果再采用传统的关系数据库则难以满足数据实时存储速度和存储容量的高要求,对实时数据和实时事务的应用需求已难以胜任。于是,适用于工业监控领域的实时数据库应运而生。实时数据库针对快速读写对应设计了时标型数据结构和高频缓存技术,可以实现海量数据的毫秒级读写。此外,基于压缩算法和对时间与索引的特殊处理,实时数据库能够节省大量的存储空间,支持大容量数据的有效存储。目前,实时数据库已经应用到众多领域,主要作为企业实时信息中枢,支持如调度系统、物料平衡系统等制造执行系统的应用,为工业企业生产信息的存储和访问提供统一数据源,实现实时监控和高级控制。实时计算是实时数据库的核心技术之一。与离线计算相比,实时计算在方法实现方面需要考虑得更多,这是因为实时计算能够用到的内存资源远不如离线计算,而且处理过程的时间限制更加严格,这都要求实时计算方法必须做相当多的优化。在理想情况下,实时计算在执行过程中读取和使用的数据都应是现场设备的最新值。然而,这是不现实也是不可能做到的。因为各个数据由不同精度的传感器获得,部分数据不在同一时刻也在所难免。此外,由于节点处理效率不同,总会有某些数据传入时间会滞后,真实情况与理想情况下数据的时间戳会不可避免地存在偏差,引发数据乱序,基于乱序数据情况下的实时计算方法比较困难。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中基于乱序数据情况下的实时计算方法比较困难,为保持多设备乱序数据的时间一致性,提供一种基于多设备乱序数据的实时计算方法及系统。本专利技术是通过下述技术方案来解决上述技术问题:一种基于多设备乱序数据的实时计算方法,所述基于多设备乱序数据的实时计算方法包括:实时数据库从多个设备分别采集实时数据;以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据;根据预设算法对所述最新实时数据进行运算得到运算结果。较佳地,所述以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据的步骤之后还包括:判断当前所述读取周期内是否获取到每个设备的最新实时数据,若否,则将未获取到的所述最新实时数据的设备的前一个所述读取周期的时间范围的最新实时数据作为当前所述读取周期内的最新实时数据。较佳地,所述根据预设算法对所述最新实时数据进行运算得到运算结果的步骤之后还包括:将所述运算结果保存于所述实时数据库中。较佳地,所述实时数据包括实时数据值和与所述实时数据值对应的时间戳。较佳地,所述运算结果包括运算结果值、与所述运算结果值对应的时间戳和与所述时间戳对应的数据质量信息,所述数据质量信息用于表征所述运算结果是否准确。一种基于多设备乱序数据的实时计算系统,所述基于多设备乱序数据的实时计算系统包括采集模块、读取模块和运算模块;所述采集模块用于利用实时数据库从多个设备分别采集实时数据;所述读取模块用于以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据;所述运算模块用于根据预设算法对所述最新实时数据进行运算得到运算结果。较佳地,所述基于多设备乱序数据的实时计算系统还包括判断模块,所述判断模块用于判断当前所述读取周期内是否获取到每个设备的最新实时数据,若否,则将未获取到的所述最新实时数据的设备的前一个所述读取周期的时间范围的最新实时数据作为当前所述读取周期内的最新实时数据。较佳地,所述基于多设备乱序数据的实时计算系统还包括存储模块,所述存储模块用于将所述运算结果保存于所述实时数据库中。较佳地,所述实时数据包括实时数据值和与所述实时数据值对应的时间戳。较佳地,所述运算结果包括运算结果值、与所述运算结果值对应的时间戳和与所述时间戳对应的数据质量信息,所述数据质量信息用于表征所述运算结果是否准确。本专利技术的积极进步效果在于:本专利技术通过设置读取周期,并以读取周期读取实时数据库,并获取当前读取周期内,从多个设备采集的最新实时数据,将获取到的多个设备的最新实时数据设置为同一时间戳数据,这样就消除了实时数据乱序的问题,并保持了多设备乱序数据的时间一致性,可简单方便的根据预设算法对同一时间戳数据进行运算并得到运算结果。附图说明图1为本专利技术的实施例1的基于多设备乱序数据的实时计算方法的流程示意图。图2为本专利技术的实施例1的基于多设备乱序数据的实时计算方法的两个设备的实时数据及运算结果示意图。图3为本专利技术的实施例1的基于多设备乱序数据的实时计算方法的两个设备的实时数据及运算结果示意图。图4为本专利技术的实施例2的基于多设备乱序数据的实时计算方法的流程示意图。图5为本专利技术的实施例2的基于多设备乱序数据的实时计算方法的两个设备的实时数据及运算结果示意图。图6为本专利技术的实施例2的基于多设备乱序数据的实时计算方法的原理示意图。图7为本专利技术的实施例3的基于多设备乱序数据的实时计算系统的模块示意图。图8为本专利技术的实施例4的基于多设备乱序数据的实时计算系统的模块示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。实施例1本实施例提供了一种基于多设备乱序数据的实时计算方法,如图1所示,基于多设备乱序数据的实时计算方法的步骤具体包括:步骤101、实时数据库从多个设备分别采集实时数据。实时数据库在当前读取周期内,采集并存储来自多个设备的实时数据。步骤102、以预设的读取周期读取实时数据库,对于每个读取周期,获取当前读取周期的时间范围内多个设备的最新实时数据。当前读取周期结束时,实时数据库采集到所有需要实时计算的最新实时数据。步骤103、根据预设算法对最新实时数据进行运算得到运算结果。针对进行实时计算的最新实时数据,用户可以基于根据实际情况需要设定具体的计算方法,根据设定的计算方法执行计算操作,得到运算结果可根据实际需求进行相应的处理。实时数据库进入下一个读取周期,继续执行步骤102的操作。下面对本实施例的方法步骤进行具体描述,准备位于同一网段的三台计算机,在其中两台计算机上分别开启基于Modbus(一种串行通信协议)协议的ModbusSlave(一种串行通信测试工具)测试工具作为设备,两个设备假设分别为MODDEV1:1与MODDEV2:2,设置另一台计算机运行实时数据库,实时数据库与两个设备完成通信连接并分别采集实时数据。假设设置读取实时数据库的读取周期为1秒,设置计算方法为进行MODDEV1:1与MODDEV2:2的数据加法运算得到MORRESULT运算结果。(1)实时数据库采集以上两个设备的实时数据。(2)设置读取实时数据库的周期为1秒,即每秒读取实时数据库,如图2中所示,在2018/11/282:05:40.000时刻至2:05:41.000的1秒的时间段内采集到设备MODDEV1:1的实时数据为1644,获取设备MODDEV2:2的实时数据为1621,则对获取到的两个实时数据进行求和运算得到运算结果为3265,然后继续进行下一个周期即本文档来自技高网...

【技术保护点】
1.一种基于多设备乱序数据的实时计算方法,其特征在于,所述基于多设备乱序数据的实时计算方法包括:实时数据库从多个设备分别采集实时数据;以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据;根据预设算法对所述最新实时数据进行运算得到运算结果。

【技术特征摘要】
1.一种基于多设备乱序数据的实时计算方法,其特征在于,所述基于多设备乱序数据的实时计算方法包括:实时数据库从多个设备分别采集实时数据;以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据;根据预设算法对所述最新实时数据进行运算得到运算结果。2.如权利要求1所述的基于多设备乱序数据的实时计算方法,其特征在于,所述以预设的读取周期读取所述实时数据库,对于每个所述读取周期,获取当前所述读取周期的时间范围内所述多个设备的最新实时数据的步骤之后还包括:判断当前所述读取周期内是否获取到每个设备的最新实时数据,若否,则将未获取到的所述最新实时数据的设备的前一个所述读取周期的时间范围的最新实时数据作为当前所述读取周期内的最新实时数据。3.如权利要求1所述的基于多设备乱序数据的实时计算方法,其特征在于,所述根据预设算法对所述最新实时数据进行运算得到运算结果的步骤之后还包括:将所述运算结果保存于所述实时数据库中。4.如权利要求1所述的基于多设备乱序数据的实时计算方法,其特征在于,所述实时数据包括实时数据值和与所述实时数据值对应的时间戳。5.如权利要求1所述的基于多设备乱序数据的实时计算方法,其特征在于,所述运算结果包括运算结果值、与所述运算结果值对应的时间戳和与所述时间戳对应的数据质量信息,所述数据质量信息用于表征所述运算结果是否准确。6....

【专利技术属性】
技术研发人员:苏旭孙云云韩滨旭徐圆
申请(专利权)人:上海电气集团股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1