本发明涉及配电站的数据采集的技术领域,特别涉及一种延长数据采集服务器存储单元使用寿命的方法。
背景技术:
在物联网、能源互联网等应用领域中涉及大量的智能表计的数据采集与发送,大数据时代的数据完整性直接影响到数据分析和挖掘的正确性,从而避免巨大商业价值丢失,所以延长数据采集控制器存储芯片的使用寿命成为数据保存安全性的至关重要因素。
在配电领域,数据采集具有特殊意义,被采集的数据一定要安全、有效,这样的数据才能为配电行业进行电量需量的分析和挖掘起到真正有效的指引。但配电领域的数据往往存在颗粒度小的数据特点,但对实时采集以及数据安全性要求较高。且因为环境恶劣,颗粒较小对网络要求极高,服务器承载量压力很大。
目前通过网络实时采集数据时,由于各智能表计自身的存储空间有限,且由于表计数量庞大、存在多种类型及采用不同的通信协议,出于需求与成本的考虑不可能为每个表计扩展出足够的存储空间,当网络异常时,,当前采集数据无法及时通过网络传输到数据中心时,往往造成数据丢失,不利于对电站的监控和管理。
技术实现要素:
本发明的目的在于提供一种延长数据采集服务器存储单元使用寿命的方法,以解决现有的延长数据采集服务器存储单元使用寿命的方法所存在的网络故障时无法保证采集的数据的完整性的问题。
为实现上述目的,本发明提供了一种延长数据采集服务器存储单元使用寿命的方法,包括以下步骤:
(1)数据采集服务器采集配电站内表计及传感设备的数据;
(2)数据采集服务器检测其与数据采集测量服务器间的通信网络是否正常,如正常,进入步骤(3);
(3)数据采集服务器将采集的数据通过所述通信网络发送至数据采集策略服务器;
(4)数据采集策略服务器将采集的数据通过网络共享至监控分中心;
(5)所述监控分中心将采集的数据发送至发布服务器、数据挖掘中心、监控中心及/或设备维护终端;
(6)所述发布服务器通过云端设备将采集的数据发送至用户端;其中,所述步骤(2)具体包括:
S1:检测通信网络是否正常,如是,进入步骤S3,如否进入步骤S6;
S2:判断eMMC存储器是否存有数据,如是,进入步骤S3,如否,进入步骤S4;
S3:首先eMMC存储器中的数据发送至外部网络,同时将当前的采集数据存入RAM数据缓冲区,待eMMC存储器中的数据发送完毕后,再将RAM数据缓冲区中的数据发送出至外部网络;
S4:将当前的采集数据存入RAM数据缓冲区,再直接传送至外部网络;
S5:判断RAM数据缓冲区是否已存满数据,如是,进入步骤S6,如否,进入步骤S7;
S6:判断eMMC存储器是否存满数据,如是,系统报错,如否,将RAM数据缓冲区中的数据一次性转存至所述eMMC存储器,并将当前的采集数据存入所述RAM数据缓冲区;
S7:将当前的采集数据存入所述RAM数据缓冲区;
其中,所述eMMC存储器每次发送数据时,仅移动数据对应的指针。
较佳地,步骤S1中在网络异常后,当再次检测到网络正常时,执行过程与原步骤S1网络正常的情况相同。
较佳地,获取采集的历史数据,根据历史数据计算每条采集数据的平均长度L,获取采集周期T,数据采集点N,根据所述平均长度L及采集周期T计算31天的采集数据的总占用存储空间Z为:
Z=(L*N*3600秒/小时*24小时/天*31天)/T,
其中,这里取L=4字节,T=10秒,N=5000点,则Z为5G;
则根据计算得到的Z的大小,设置eMMC存储器的容量大小设置为8G,其中,分配eMMC存储器的3G容量用于系统运行,分配eMMC存容储器的5G量用于数据存储。
较佳地,获取采集的历史数据,根据历史数据计算每条采集数据的平均长度L,获取采集周期T,数据采集点N,根据所述平均长度L及采集周期T计算6天的采集数据的总占用存储空间Z为:
Z=(L*N*3600秒/小时*24小时/天*6天)/T,
其中,这里取L=4字节,T=10秒,N=5000点,则Z为1G;
则根据计算得到的Z的大小,设置所述RAM数据缓冲区的容量大小为1G。
本发明还提供了一种延长数据采集服务器存储单元使用寿命的方法,包括以下步骤:
S1:获取各表计的采集数据;
S2:检测网络是否正常,如是,进入步骤S3,如否进入步骤S6;
S3:判断eMMC存储器是否存有数据,如是,进入步骤S4,如否,进入步骤S5;
S4:首先eMMC存储器中的数据发送至外部网络,同时将当前的采集数据存入RAM数据缓冲区,待eMMC存储器中的数据发送完毕后,再将RAM数据缓冲区中的数据发送出至外部网络;
S5:将当前的采集数据存入RAM数据缓冲区,再直接传送至外部网络;
S6:判断RAM数据缓冲区是否已存满数据,如是,进入步骤S7,如否,进入步骤S8;
S7:判断eMMC存储器是否存满数据,如是,系统报错,如否,将RAM数据缓冲区中的数据一次性转存至所述eMMC存储器,并将当前的采集数据存入所述RAM数据缓冲区;
S8:将当前的采集数据存入所述RAM数据缓冲区;
其中,所述eMMC存储器每次发送数据时,仅移动数据对应的指针。
较佳地,步骤S2中在网络异常后,当再次检测到网络正常时,执行过程与原步骤S2网络正常的情况相同。
较佳地,所述eMMC存储器的容量大小设置为8G,其中,分配eMMC存储器的3G容量用于系统运行,分配eMMC存容储器的5G量用于数据存储。
较佳地,所述RAM数据缓冲区的容量大小设置为1G。
较佳地,所述步骤S1中通过与供电网中的表计相连的数据采集服务器进行采集数据,所述eMMC存储器设置于所述数据采集服务器中,所述数据采集服务器用于采集供电网中各类的表计的数据,并通通信网络将采集的数据发送至配电网的数据采集测量服务器。
本发明方法具有以下有益效果:
(1)通过将RAM内存缓冲区、eMMC两种存储方式相互结合,实现了灵活高效的数据存储方式,不仅大大延长了存储芯片使用寿命,还提高了采集数据保存的安全可靠性;
(2)针对配电领域的颗粒度较小的数据对网络要求极高,服务器承载量压力很大的问题,选取了eMMMC,存储及读取数据速度快,发热量小,抗震动具有稳定性,焊接在板子上,解决了管脚氧化的稳定,比传统SD卡的性价比低很多。
附图说明
图1为本发明方法应用例的系统结构图;
图2为本发明方法流程图;
图3为本发明步骤S5的数据存储过程示意图;
图4为本发明步骤S7的数据存储过程示意图;
图5为本发明方法网络恢复时的数据存储过程示意图。
具体实施方式
为更好地说明本发明,兹以一优选实施例,并配合附图对本发明作详细说明,具体如下:
如图1所示,本发明提供的方法应用于配电站中进行数据采集,该配电站的数据采集系统,数据采集策略服务器200及具有eMMC存储器的数据采集服务器100,数据采集策略服务器200通过互联网与供电网的各个监控分中心300进行通信。其中,数据采集服务器100与数据采集策略服务器200通过网络相通信。数据采集服务器100一般设置于配电站的PLC控制器101中,用于采集供电网中各类的表计及传感设备的数据,PLC控制器101与数据采集策略服务器200进行数据交互。
其中,该系统还可根据需要设置与监控分中心300相连的监控中心终端310、设备维护终端320、数据挖掘中心终端330,监控分中心300通过网络(互联网)与数据采集策略服务器200进行通信。监控中心终端310用于获取采集的数据并显示;设备维护终端320用于获取采集的数据并在系统检测到数据异常时通知维护人员;数据挖掘中心终端330用于根据采集的数据进行处理分析供电网的各表记及传感器的工作性能。该系统还包括发布服务器400,发布服务器400与监控分中心300相连,用于获取采集的数据并通过云端设备将采集的数据发送至用户端以发布给用户。
这样,对于监控终端的管理人员来说,其可以通过与监控分中心300相连的监控中心终端310直接获得各个电站的表计及传感设备的采集的数据的情况。而该系统中直接采集数据的数据采集服务器在进行数据采集的过程中,根据网络的好坏的情况将数据存储到缓存及eMMC存储器,在断网时,eMMC存储器仍提供了足够的存储空间存储采集的数据,恢复网络后再发送给数据采集服务器,避免断网造成数据丢失。
具体地,本发明方法包括:
(1)数据采集服务器采集配电站内表计及传感设备的数据;
(2)数据采集服务器检测其与数据采集测量服务器间的通信网络是否正常,如正常,进入步骤(3);
(3)数据采集服务器将采集的数据通过所述通信网络发送至数据采集策略服务器;
(4)数据采集策略服务器将采集的数据通过网络共享至监控分中心;
(5)所述监控分中心将采集的数据发送至发布服务器、数据挖掘中心、监控中心及/或设备维护终端;
(6)所述发布服务器通过云端设备将采集的数据发送至用户端;其中,所述步骤(2)具体包括:
S1:检测通信网络是否正常,如是,进入步骤S3,如否进入步骤S6;
S2:判断eMMC存储器是否存有数据,如是,进入步骤S3,如否,进入步骤S4;
S3:首先eMMC存储器中的数据发送至外部网络,同时将当前的采集数据存入RAM数据缓冲区,待eMMC存储器中的数据发送完毕后,再将RAM数据缓冲区中的数据发送出至外部网络;
S4:将当前的采集数据存入RAM数据缓冲区,再直接传送至外部网络;
S5:判断RAM数据缓冲区是否已存满数据,如是,进入步骤S6,如否,进入步骤S7;
S6:判断eMMC存储器是否存满数据,如是,系统报错,如否,将RAM数据缓冲区中的数据一次性转存至所述eMMC存储器,并将当前的采集数据存入所述RAM数据缓冲区;
S7:将当前的采集数据存入所述RAM数据缓冲区;
其中,所述eMMC存储器每次发送数据时,仅移动数据对应的指针。
步骤S1中在网络异常后,当再次检测到网络正常时,执行过程与原步骤S1网络正常的情况相同。
获取采集的历史数据,根据历史数据计算每条采集数据的平均长度L,获取采集周期T,数据采集点N,根据所述平均长度L及采集周期T计算31天的采集数据的总占用存储空间Z为:
Z=(L*N*3600秒/小时*24小时/天*31天)/T,
其中,这里取L=4字节,T=10秒,N=5000点,则Z为5G;
则根据计算得到的Z的大小,设置eMMC存储器的容量大小设置为8G,其中,分配eMMC存储器的3G容量用于系统运行,分配eMMC存容储器的5G量用于数据存储。
获取采集的历史数据,根据历史数据计算每条采集数据的平均长度L,获取采集周期T,数据采集点N,根据所述平均长度L及采集周期T计算6天的采集数据的总占用存储空间Z为:
Z=(L*N*3600秒/小时*24小时/天*6天)/T,
其中,这里取L=4字节,T=10秒,N=5000点,则Z为1G;
则根据计算得到的Z的大小,设置所述RAM数据缓冲区的容量大小为1G。
在本发明的另一实施例中,还提供了一种延长数据采集服务器存储单元使用寿命的方法,该方法具体如下:
如图2所示,本实施例提供的延长数据采集服务器存储单元使用寿命的方法,包括以下步骤:
S1:获取各表计的采集数据。
S2:检测网络是否正常,如是,进入步骤S3,如否进入步骤S6。
S3:判断eMMC存储器是否存有数据,如是,进入步骤S4,如否,进入步骤S5。
S4:首先将eMMC存储器中的数据发送至外部网络,同时将当前的采集数据存入RAM数据缓冲区,待eMMC存储器中的数据发送完毕后,再将RAM数据缓冲区中的数据发送出至外部网络。
S5:将当前的采集数据存入RAM数据缓冲区,再直接传送至外部网络。该过程具体参见图3所示,其中,每次的数据DATA直接存入RAM数据缓冲区,RAM数据缓冲区的数据直接传送至外部的互联网,以供互联网上的相关管理人员或用户使用。
S6:判断RAM数据缓冲区是否已存满数据,如是,进入步骤S7,如否,进入步骤S8。
S7:判断eMMC存储器是否存满数据,如是,系统报错,如否,将RAM数据缓冲区中是数据一次性转存至所述eMMC存储器,并将当前的采集数据存入所述RAM数据缓冲区。
本步骤中,eMMC存储器未存满数据时,新的数据存储过程参见图4,其中,由于RAM数据缓冲区已存满数据,则将RAM数据缓冲区内的数据一次存入eMMC存储器,在继续将新的数据存储到RAM数据缓冲区中,以减少eMMC存储器写数据的频率。
S8:将当前的采集数据存入所述RAM数据缓冲区。
其中,参见图5,上述的步骤S2中在网络异常后,当再次检测到网络正常时,执行过程与原步骤S2网络正常的情况相同。
该方法中,若步骤S2检测到出现短时的网络延时或阻塞,由于采用的RAM数据缓冲区,若RAM数据缓冲区未满的情况下网络恢复通畅,则可以避免将RAM数据缓冲区数据写入8G eMMC存储芯片里,直接连接服务器进行发送,减少了擦写eMMC的次数。若持续网络延时或阻塞,系统待1G RAM缓冲区数据装满一次性写入eMMC,清空RAM缓冲区,重复以上流程,当网络恢复通畅时,系统将eMMC数据逐一发送回服务器,对eMMC仅移动数据指针操作,并不对eMMC再进行清空擦写,这样的方法极大地减少eMMC的擦写次数,充分延长了eMMC的使用寿命。
本实施例中的EMMC存储器每次发送数据时,仅移动数据对应的指针。即每次在网络恢复时,不对eMMC进行清空擦写,这里的“不对eMMC进行清空擦写”的含义为当网络故障解决后,通电时,将eMMC存储器中的数据发向上层服务器,仅数据对应的指针移动。本发明采用指针的方式来实现减少数据插写的频率,当擦写频率降低时,即起到延长数据采集控制器的存储芯片使用寿命。
这里,还根据需要设置eMMC存储器的容量大小。具体地,获取采集的历史数据,根据历史数据计算每条采集数据的平均长度L,获取采集周期T,数据采集点N,根据所述平均长度L及采集周期T计算31天的采集数据的总占用存储空间Z为:
Z=(L*N*3600秒/小时*24小时/天*31天)/T,
其中,这里取L=4字节,T=10秒,N=5000点,则Z为5G;
则根据计算得到的Z的大小,设置eMMC存储器的容量大小设置为8G,其中,分配eMMC存储器的3G容量用于系统运行,分配eMMC存容储器的5G量用于数据存储。本实施例中,数据采集服务器的系统采用了Linux系统,该数据采集服务器无需配置键盘、显示器等常见的输入输出设备,仅通过与表计及传感设备相连以采集数据,以及通过网络与外部的数据采集策略服务器进行通信即可。
该方法可以尽可能地延长存储芯片的使用寿命,减少不必要的读写次数,因此采用了大内存的方式,即在RAM内存中分配1G的数据区作为当前数据的缓冲区,在网络通畅的情况下,便于系统及时通过互联网发送数据。若以一个5000个点的大型采集规模,一个采集点的数据平均占4字节,采集周期以10秒计算单位为例:
(4字节*5000个点*3600秒/小时*24小时/天*6天)/10秒=1G,
3600秒/小时*24小时/天*6天/10秒=51840次,
按此计算,在没有内存做缓冲的情况下,一天需要插写51840次,而本实施例的方法在一般网络阻断的情况都属于间接性出现,并且在正常情况下是不需要擦写eMMC存储芯片,可见该方法可以极大的降低擦写频率,延长控制器存储芯片的使用寿命。所以本发明选取使用存储空间较大的eMMC存储数据,更加降低eMMC的擦写频率。
采用本发明的方法,可使配电网的数据采集系统的信号传输可靠,数据不会丢失。相比现有的通过公共机(相当于服务器,需要正常的网络传输数据)直接进行数据采集的方法来说,成本较低,不会出现数据传输拥塞、数据丢失的情况。而对于用户来说,也可通过与云端设备相连的各类终端获得其权限内的可查看的相关数据,使用十分方便。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何本领域的技术人员在本发明揭露的技术范围内,对本发明所做的变形或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述的权利要求的保护范围为准。