1.本发明涉及工业数据处理技术领域,具体而言,涉及一种工业数据处理方法、系统及计算设备。
背景技术:2.工业生产过程中,数据采集程序采集工业装置的运行数据,这些数据可以是温度、压力、流量等变量的数据,并将这些数据储存于数据文本或者数据库中。当需要进一步利用这些数据时可能会遇到以下难题。首先,数据采集器由于通讯或者自身设计问题,无法保证采集到的数据的采集时刻是等间隔的;其次,同一数据采集程序采集到的同一变量在不同时间范围的数据与不同数据采集程序采集到的不同变量的数据需要合并到同一时间范围内;再次,常规的采用存储时间戳的方式存储数据的采集时刻的方法占用计算机内存大,且不易进行插值等处理;另外,数据采集程序的采集周期过小,导致数据量巨大,需要通过抽样后进行存储。
3.目前的相关技术中,采集到的工业数据一般要存储时间戳,或者是需要记录时间偏差,不论是存储时间戳的方式还是记录时间偏差的方式都需要为采样时间分配内存空间。并且,相关技术中,在需要进行数据合并时以及需要等间隔化时间戳时,需要对采样值的采样时间进行逐一修改,效率低下。
4.可以看到,目前没有一种相关技术可以同时解决以上所有的问题。因此,亟待研究一种工业数据处理方法、系统及计算设备,以保证数据源合并后的数据在时刻等间隔的时间范围内存储,并在减少数据存储所占用的内存的同时便于后续对数据的分析和利用。
技术实现要素:5.本说明书提供一种工业数据处理方法、系统及计算设备,用以克服现有技术中存在的至少一个技术问题。
6.根据本说明书实施例的第一方面,提供一种工业数据处理方法,包括:接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值;获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值;遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。
7.可选地,所述获取期待存储的最大时刻和最小时刻的步骤,包括两种实现方式,其中第一种实现方式为,对所述多个数据源中的数据时刻进行遍历比较,得到最大时刻和最小时刻;第二种实现方式为,获取预先设置的最大时刻和最小时刻。
8.可选地,所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应
的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤,包括:对所述多个数据源中在所述最大时刻和所述基准时刻之间的每一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号;根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。
9.可选地,在所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目;当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。
10.可选地,在所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。
11.根据本说明书实施例的第二方面,提供一种工业数据处理系统,包括数据接收模块、数组初始化模块以及数据存储模块,其中所述数据接收模块,被配置为接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值;所述数组初始化模块,被配置为获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值;所述数据存储模块,被配置为遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。
12.可选地,所述数据存储模块包括序号计算子模块以及元素赋值子模块,其中所述序号计算子模块,被配置为对所述多个数据源中在所述最大时刻和所述基准时刻之间的每
一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号;所述元素赋值子模块,被配置为根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。
13.可选地,所述系统还包括数据压缩与解压模块,所述数据压缩与解压模块包括数据压缩子模块以及数据解压子模块,其中所述数组压缩子模块,被配置为在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目;所述数组解压子模块,被配置为当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。
14.可选地,所述系统还包括时刻找回模块,其中所述时刻找回模块,被配置为在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。
15.根据本说明书实施例的第三方面,提供一种计算设备,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算设备执行所述的工业数据处理方法的步骤。
16.本说明书实施例的有益效果如下:
17.本说明书实施例,提供一种工业数据处理方法、系统及计算设备,所述方法可以实现对不同数据采集程序采集得到的工业数据进行合并与存储。该方法基于数组的有序性,认为每个数组元素的采样周期都是相同的,则存储的数组元素的采样时刻可认为是等间隔的,这样解决了数据采集器由于通讯或者自身设计问题而导致的采样时刻不等间隔的问题。通过数组存储的方式,仅需要存储采集到的变量的具体数值,而不需要存储该数值的采样时刻,这样不仅节省了内存空间的使用,而且通过数组元素的序号做插值处理也更简便。当需要存储数据的采样时刻时,也可通过数组元素的序号推断得到,保证了这种数组存储的方式没有丢失采样时刻的信息。该方法还可通过灵活配置最大时刻、最小时刻和采样周期的值来控制存储在数组中的数据总量,避免大量的数据存储导致的内存过量使用的问题。当长时间通讯中断或者数据采集器未采集某个时间范围内的数据时,数组中存储这部
分时间范围的元素是初始值,所述方法,提供了一种压缩及解压方法来处理这种因连续的初始值而造成的内存浪费的问题。该方法不仅适用于合并同一数据采集程序采集到的同一变量在不同时间范围的数据,也适用于合并不同数据采集程序采集到的不同变量的数据,此时多个变量的数据可通过多个长度相同的数组储存,而这些数组对应的基准时刻和采样周期是相同的,因此将不同变量数据的时间范围进行了统一,便于分析变量间的相互关系。相比相关技术,本说明书实施例的方法可极大提高采样数据的利用率,并便于后续的数据分析,一举多得地解决了相关技术的问题,做出了具有创造性的贡献。
18.本说明书实施例的创新点包括:
19.1、本说明书实施例中,通过利用数组结构本身的存储有序性的优势,将数据的采样时刻,按照一个采样周期为单位,进行了等间隔处理,能够有效解决采样时刻并不完全等间隔的问题,使得采集到的数据的可用性大大提高,为工业数据的进一步分析和利用创造便利,是本说明书实施例的创新点之一。
20.2、本说明书实施例中,通过数组存储方式,将同一数据采集程序采集到的同一变量在不同时间范围的数据与不同数据采集程序采集到的不同变量的数据合并到同一时间范围内,并且不同变量的数据采用了相同的采样时刻序列,为分析不同变量间的关系创造条件,是本说明书实施例的创新点之一。
21.3、本说明书实施例中,通过期待存储的最大时刻和最小时刻以及数组存储方式,实现了将多个数据源在指定时间范围内的数据进行合并,提高了多数据源合并的灵活性以及效率,是本说明书实施例的创新点之一。
22.4、本说明书实施例中,通过数组中元素序号可反推采样时刻,避免了对数据采样时刻的存储,在一定程度上降低了存储数据所使用的内存量,是本说明书实施例的创新点之一。
23.5、本说明书实施例中,通过预先设置采样周期,可灵活地对存储的数据的采样周期进行控制,并可通过设置较大采样周期降低存储数据所使用的内存量,是本说明书实施例的创新点之一。
附图说明
24.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本说明书一个实施例的一种工业数据处理方法的流程示意图;
26.图2为本说明书一个实施例的一种工业数据处理系统的结构示意图;
27.图3为本说明书一个实施例的一种计算设备的结构示意图。
具体实施方式
28.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有
其他实施例,都属于本发明保护的范围。
29.需要说明的是,本说明书实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.工业生产过程中,数据采集程序采集工业装置的运行数据,这些数据可以是温度、压力、流量等变量的数据,并将这些数据储存于数据文本或者数据库中。然而数据采集程序由于通讯或者自身设计问题,无法保证采集到的数据的采集时刻是等间隔的,这限制了这些数据的利用范围;同时,同一数据采集器采集到的不同批次的数据以及不同数据采集器采集到的不同变量的数据需要合并到同一时间范围内后才可进行分析利用;此外,当数据采集器的采集周期设置过小,或者采集的变量数量过多时需要进行有效的存储优化设计以避免数据合并储存后占用过多的计算机内存。本说明书实施例公开了一种工业数据处理方法、系统及计算设备,以下分别进行详细说明。
31.图1为本说明书一个实施例的一种工业数据处理方法。如图1所示,一种工业数据处理方法包括:
32.s110、接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值。
33.所述数据源包括从数据库得到的数据、数据文件中的数据以及可能以其他形式存储的数据。这些数据可以是温度、压力、流量等变量的数据。
34.s120、获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值。
35.在具体的实现过程中,所述获取期待存储的最大时刻和最小时刻的步骤,包括两种实现方式,其中
36.第一种实现方式为,对所述多个数据源中的数据时刻进行遍历比较,得到最大时刻和最小时刻。这种方式能够合理得出待处理数据中的时间跨度,按照该处理方法能够对待处理数据源中的所有数据进行处理。
37.第二种实现方式为,获取预先设置的最大时刻和最小时刻。第二种实现方式,支持使用者预先进行设置,例如原本是两天内的采集数据,可以通过自主设定的最大和最小时刻来缩短存储时间的跨度为一天,那么不在这个时间范围的数据点将不进行存储,因此导入数据的时间范围可以控制,使用起来更加灵活,能够适应不同的存储需求。
38.通过期待存储的最大时刻和最小时刻以及数组存储方式,实现了将多个数据源在指定时间范围内的数据进行合并,提高了多数据源合并的灵活性以及效率。
39.其中,根据所述最小时刻确定基准时刻,例如用户对时刻有要求时,如需要整十秒,可对最小时刻tmin向前进行调整,调整后的最小时刻即为基准时刻tref。
40.根据采样周期(ts),计算得到存储这些数据所需要的数组array的长度n,其中
41.n=(tmax-tref)/ts
42.并向上取整。
43.这个数组的所有元素初始化为nan。
44.s130、遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。
45.在一个具体实施例中,所述s130、遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤,包括:
46.s132、对所述多个数据源中在所述最大时刻和所述基准时刻之间的每一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号。
47.遍历所有数据源中的数据进行数组元素的赋值,如某个数据是时刻t,值val,则其可计算元素序号index,其中
48.index=(t-tref)/ts
49.的取整,则array[index]赋值为val。
[0050]
所述取整,根据数组第一个元素需要从0开头或者从1开头按照不同方式取整,若第一个元素从序号0开始,则计算元素序号index按照四舍五入进行取整,若第一个元素从序号1开始,则计算元素序号index按照四舍五入后加1进行取整。
[0051]
由上可知,通过预先设置采样周期,可灵活地对存储的数据的采样周期进行控制,例如,可通过设置较大采样周期降低存储数据所使用的内存量。举例如,根据原先的采样周期,每20个原始数据取一个进行存储,那么将所述采样周期设置为原先的采样周期的两倍,则每40个原始数据取一个进行存储,可以实现对海量采集数据的压缩存储,节省内存空间。
[0052]
通过灵活配置最大时刻、最小时刻和采样周期的值来控制存储在数组中的数据总量,避免大量的数据存储导致的内存过量使用的问题。
[0053]
s134、根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。
[0054]
本说明书的方法不仅适用于合并同一数据采集程序采集到的同一变量在不同时间范围的数据,也适用于合并不同数据采集程序采集到的不同变量的数据,此时多个变量的数据可通过多个长度相同的数组储存,而这些数组对应的基准时刻和采样周期是相同的,因此将不同变量数据的时间范围进行了统一,便于分析变量间的相互关系。
[0055]
在一个具体实施例中,在s130、遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:
[0056]
s142、在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前
述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目。
[0057]
如果得到的数组array中存在连续nan段时,此时很可能出现通讯中断的情况,导致有大段时间未能采集到有效数据;也有可能是多个数据文件进行合并时有一段时间范围内的数据缺失。此时,可将array按照nan段拆分成多个子数组array1,array2
…
,记录每个子数组的第一个元素在数组array中的位置。
[0058]
s144、当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。
[0059]
如果需要将子数组array1,array2
…
还原为数组array时,可通过记录的每个子数组的第一个元素在数组array中的位置将该子数组的所有元素在数组array中赋值。
[0060]
在一个具体实施例中,在s130、遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:
[0061]
s150、在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。
[0062]
当某些场合需要使用时刻时可通过以下公式进行计算:
[0063]
时刻=基准时刻+索引*采样周期
[0064]
上述公式中的索引,与将数据存入数组时计算元素序号取整的方式相互对应,若按照四舍五入进行取整,则元素序号从0开始,索引与存储值的元素序号对应;若按照四舍五入后加1进行取整,则元素序号从1开始,索引与存储值的元素序号减1对应。
[0065]
通过数组中元素序号可反推采样时刻,避免了对数据采样时刻的存储,在一定程度上降低了存储数据所使用的内存量,并且保证了这种数组存储的方式没有丢失采样时刻的信息。根据以上公式可以得到,依照本说明书实施例的存储方式得到的采样时刻必然是等间隔的,因此实现了对采集数据的时刻的等间隔化处理。
[0066]
本实施例中,提供一种工业数据的处理方法,通过利用数组结构本身的存储有序性的优势,将数据的采集时刻,按照一个采样周期为单位,进行了等间隔处理,能够有效解决采样时刻并不完全等间隔的问题,使得采集到的数据的可用性大大提高,为工业数据的进一步分析和利用创造便利,同时通过数组存储方式,将同一数据采集程序采集到的同一变量在不同时间范围的数据与不同数据采集程序采集到的不同变量的数据合并到同一时间范围内,并且不同变量的数据采用了相同的采样时刻序列,为分析不同变量间的关系创造条件。
[0067]
图2为本说明书一个实施例的一种工业数据处理系统的结构示意图。如图2所示,一种工业数据处理系统200,包括数据接收模块210、数组初始化模块220以及数据存储模块230,其中
[0068]
所述数据接收模块210,被配置为接收待处理的多个数据源,所述数据源包括采样
时刻序列以及各个采样时刻对应的采样值。
[0069]
所述数组初始化模块220,被配置为获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值。
[0070]
所述数据存储模块230,被配置为遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。
[0071]
所述数据存储模块230包括序号计算子模块232以及元素赋值子模块234,其中
[0072]
所述序号计算子模块232,被配置为对所述多个数据源中在所述最大时刻和所述基准时刻之间的每一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号。
[0073]
所述元素赋值子模块234,被配置为根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。
[0074]
在一个具体实施例中,工业数据处理系统200还包括数据压缩与解压模块240,所述数据压缩与解压模块240包括数据压缩模块子模块242以及数据解压子模块244,其中
[0075]
所述数组压缩子模块242,被配置为在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目。
[0076]
所述数组解压子模块244,被配置为当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。
[0077]
在一个具体实施例中,化工数据处理系统200还包括时刻找回模块250,其中
[0078]
所述时刻找回模块250,被配置为在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。
[0079]
图3为本说明书一个实施例的一种计算设备的结构示意图。如图3所示,一种计算设备300,包括存储设备310以及处理器320,所述存储设备310用于存储计算机程序,所述处
理器320运行所述计算机程序以使所述计算设备300执行所述的工业数据处理方法的步骤。
[0080]
本说明书实施例,还提供一种存储介质,其存储有所述的计算设备中所使用的计算机程序,该计算机程序被处理器执行时实现所述的工业数据处理方法的步骤。
[0081]
综上所述,本说明书实施例,提供一种工业数据处理方法、系统及计算设备,所述方法,利用数组结构本身的存储有序性的优势,通过数组在存储数据的同时实现了数据时刻的等间隔处理,仅存储采集到的变量的具体数值,而不存储该数值的采样时刻,这样不仅节省了内存空间的使用,而且便于通过数组元素的序号做插值处理,当需要数值的采样时刻时,可通过数组元素的序号推断得到,从而保证了这种数组存储的方式没有丢失采样时刻的信息。所述方法,通过灵活配置最大时刻、最小时刻和采样周期的值来控制存储在数组中的数据总量,避免大量的数据存储导致的内存过量使用的问题。当长时间通讯中断或者数据采集器未采集某个时间范围内的数据时,数组中存储这部分时间范围的元素是初始值,所述方法提供了一种压缩及解压方法来处理这种因连续的初始值而造成的内存浪费的问题。本说明书实施例的工业数据处理方法不仅适用于合并同一数据采集程序采集到的同一变量在不同时间范围的数据,也适用于合并不同数据采集程序采集到的不同变量的数据,此时多个变量的数据可通过多个长度相同的数组储存,而这些数组对应的基准时刻和采样周期是相同的,因此将不同变量数据的时间范围进行了统一,便于分析变量间的相互关系,提高了采样数据的利用率,为后续进行化工数据分析利用创造了有利因素。
[0082]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0083]
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0084]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
技术特征:1.一种工业数据处理方法,其特征在于,包括:接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值;获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值;遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。2.根据权利要求1所述的方法,其特征在于,所述获取期待存储的最大时刻和最小时刻的步骤,包括两种实现方式,其中第一种实现方式为,对所述多个数据源中的数据时刻进行遍历比较,得到最大时刻和最小时刻;第二种实现方式为,获取预先设置的最大时刻和最小时刻。3.根据权利要求1所述的方法,其特征在于,所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤,包括:对所述多个数据源中在所述最大时刻和所述基准时刻之间的每一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号;根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。4.根据权利要求3所述的方法,其特征在于,在所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目;当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋
值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。5.根据权利要求1所述的方法,其特征在于,在所述遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组的步骤之后,还包括:在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。6.一种工业数据处理系统,其特征在于,包括数据接收模块、数组初始化模块以及数据存储模块,其中所述数据接收模块,被配置为接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值;所述数组初始化模块,被配置为获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将所述最大时刻与所述基准时刻的差值除以所述采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值;所述数据存储模块,被配置为遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述数据源中的采样值存储至所述数组。7.根据权利要求6所述的系统,其特征在于,所述数据存储模块包括序号计算子模块以及元素赋值子模块,其中所述序号计算子模块,被配置为对所述多个数据源中在所述最大时刻和所述基准时刻之间的每一采样时刻,将该采样时刻与所述基准时刻的差值除以所述采样周期并进行取整,得到该采样时刻在所述数组中的元素序号;所述元素赋值子模块,被配置为根据所述元素序号,将数组中所述元素序号处的当前存储值替换为该采样时刻所对应的采样值;直到遍历完所述多个数据源中在所述最大时刻和所述基准时刻之间的所有采样时刻及对应的采样值,从而将所述多个数据源中的采样值存储至所述数组中。8.根据权利要求7所述的系统,其特征在于,还包括数据压缩与解压模块,所述数据压缩与解压模块包括数据压缩子模块以及数据解压子模块,其中所述数组压缩子模块,被配置为在所述数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,从第一段大于预设数目的连续的初始值开始,将所述数组中的从第一个数组元素至连续的第一个初始值之前的数组元素通过第一子数组进行存储,并记录所述第一子数组的首个数组元素在所述数组中的元素序号,将所述数组中的从连续的最后一个初始值之后的数组元素至最后一个数组元素通过第二子数组进行存储,并记录所述第二子数组的首个数组元素在所述数组中的元素序号;在所述第二子数组中包含有连续的存储值为初始值的情况下,当连续的初始值的个数大于预设数目时,将所述第二子数组按照前述方式继续拆分为子数组后进行存储,直到所有的子数组中包含有的连续的存储值为初始值的个数不大于预设数目;
所述数组解压子模块,被配置为当需要将所有的子数组合并还原为原数组时,建立长度为所述数组长度值的新数组,将所述新数组的每个数组元素的存储值赋为初始值,遍历所有的子数组,根据所记录的每个子数组的首个数组元素在所述数组中的元素序号,将所有的子数组的第一个数组元素赋值到所述新数组中对应的元素序号处,并将每一子数组中的剩余元素依次赋值到所述新数组中的该子数组上一赋值数组元素的元素序号的后一个元素序号处。9.根据权利要求6所述的系统,其特征在于,还包括时刻找回模块,其中所述时刻找回模块,被配置为在需要根据所述数组中的存储值得到新的数据源的情况下,根据存储值对应的元素序号、所述采样周期及所述基准时刻得到存储值对应的时刻,从而将所述数组输出为符合程序所需要的数据格式的数据源。10.一种计算设备,其特征在于,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述计算设备执行权利要求1-5中任一项所述的方法的步骤。
技术总结本说明书公开一种工业数据处理方法、系统及计算设备,其中所述方法包括:接收待处理的多个数据源,所述数据源包括采样时刻序列以及各个采样时刻对应的采样值;获取期待存储的最大时刻和最小时刻,根据所述最小时刻确定基准时刻,根据预先设置的采样周期,将最大时刻与基准时刻的差值除以采样周期并向上取整,得到存储当前所有采样值所需的数组长度值,建立长度为所述数组长度值的数组,将所述数组的每个数组元素的存储值赋为初始值;遍历所述多个数据源,根据各个数据源中的各个采样时刻以及对应的采样值对所述数组的数组元素进行赋值,从而将所述多个数据源中的采样值存储至所述数组,并可将所述数组输出为符合程序所需要的数据格式的数据源。据格式的数据源。据格式的数据源。
技术研发人员:卢俊晶 张伟勇 张天琦 张志强 王健 盛天佑 梁洋洋 王帅虎
受保护的技术使用者:清云智通(北京)科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1