一种设备数据主动上报打点记录方法及数据补偿方法技术

技术编号:26342402 阅读:37 留言:0更新日期:2020-11-13 20:33
本发明专利技术涉及一种设备数据主动上报打点记录方法,生成每个数据主动上报时间点对应的打点记录值的具体步骤为:首先生成每个数据主动上报时间点的时间打点值;并将每天0点的打点记录值设为0;之后当第一个主动上报时间点的数据上报成功时,则该时间点的打点记录值y

A method of equipment data reporting and data compensation

【技术实现步骤摘要】
一种设备数据主动上报打点记录方法及数据补偿方法
本专利技术涉及数据上报领域,特别涉及一种设备数据主动上报打点记录方法及数据补偿方法。
技术介绍
在数据采集过程中往往需要考虑以下几个因素:1、通信压力及流量耗损情况;2、数据的完整性;3、数据的及时性;4、数据的准确性。但一般的情况下,在数据采集过程中首先考虑的是通信压力及流量耗损情况和数据的完整性,为了减小数据采集过程中的通信压力和流量损耗问题,大多采用如下方式处理:a、采集系统与设备之间约定上报的数据内容,频次等信息b、设备定时给采集系统进行数据主动上报(减少下行流量);但在设备通过定时进行数据主动上报过程中,如果设备与采集系统之间出现网络中断的情况时,设备在一次主动上报未成功后则继续重试多次进行数据主动上报,一旦数据主动上报重试次数用完的情况下,数据均未上报成功,此时设备将会放弃主动上报本次数据,这种情况下就不能保证数据的完整性,因此为了在数据采集过程中保证数据的完整性,就需要做一定的补偿机制。现有的采集系统为保证数据完整性,会对采集的所有数据进行检查,筛选出缺失的数据点,然后下发采集命令,将缺失的数据重新补采到采集系统中;但现有的采集系统随着通讯连接的设备数量的增加,数据也会成倍的增加,而采用现有的对全部数据的筛选来检测出缺失的数据点的方法将会非常损耗性能,且存在多种不良效果:1、采集系统中的数据表全部进行扫描,数据表中信息量大,扫描成本高;2、没有上报的数据在数据表中是没有的,因此需要生成应该采集的数据与数据表的信息比对,找出缺失的数据点,比对消耗性能3、一次校验数据完整性的花费的时间和人力成本高,在数据超过一定数量后,这个时间很可能就会出现首尾相接的情况,后果不可预估;因此针对现有的技术,需要进一步改进。
技术实现思路
本专利技术所要解决的第一个技术问题是针对现有技术的现状,提供一种设备数据主动上报打点记录方法,该方法的计算速度快,能有效反映每个数据主动上报时间点对应的数据上传情况。本专利技术所要解决的第二个技术问题是针对现有技术的现状,提供一种数据补偿方法,该方法采用上述设备数据主动上报打点记录方法生成打点记录值,并根据打点记录值能很快确定出数据缺失的时间点,成本低、提高了数据缺失时间点的检索速度且工作效率更高。本专利技术解决上述第一个技术问题所采用的技术方案为:一种设备数据主动上报打点记录方法,其特征在于:以每天的0点为起始点,设备每间隔p分钟进行一次数据主动上报,根据设备的数据主动上报周期p和每个数据主动上报时间点对应的数据上报情况依次生成每个数据主动上报成功的时间点对应的打点记录值,其中p为正整数;具体步骤如下:步骤1、生成每个数据主动上报时间点对应的时间打点值x1,x2,...xj...xn,其中,x1,x2,...xj...xn均为二进制数,x1为第一个数据主动上报时间点对应的时间打点值,x2为第二个数据主动上报时间点对应的时间打点值,xj为第j个数据主动上报时间点对应的时间打点值,xn为第n个数据主动上报时间点对应的时间打点值,n为每天数据主动上报的时间点总个数;xj的计算公式为:xj=1<<((hj*60+mj*1)/p)-1);其中,<<表示左移,hj为第j个数据主动上报时间点对应的小时数;mj为第j个数据主动上报时间点对应的分钟数;步骤2、将每天0点对应的打点记录值设为0,并将该打点记录值作为当前打点记录值y;步骤3、若第一个数据主动上报时间点的数据上报成功时,则计算该第一个数据主动上报时间点的打点记录值y1,并将该打点记录值y1替换掉当前打点记录值,作为新的当前打点记录值y:打点记录值y1的计算公式为:y1=0|x1;其中,|表示或运算,x1为该数据主动上报时间点对应的时间打点值;若第一数据主动上报时间点的数据上报未成功时,则该数据主动上报时间点无打点记录值;步骤4、若第二个数据主动上报时间点的数据上报成功时,则计算该第二个数据主动上报时间点的打点记录值y2,并将该打点记录值y2替换掉当前打点记录值,作为新的当前打点记录值y;打点记录值y2的计算公式为:y2=a2|x2;其中,a2为当前的打点记录值y的前面补充0后组成的二进制数,该二进制数与x2的位数相同;若第二数据主动上报时间点的数据上报未成功时,则该第二数据主动上报时间点无打点记录值;步骤5、依次使用相同的方法,若第j个数据主动上报时间点的数据上报成功时,则计算第j个数据主动上报时间点的打点记录值yj,并将该打点记录值yj替换掉当前打点记录值,作为新的当前打点记录值y;打点记录值yj的计算公式为:yj=aj|xj;其中,aj为当前的打点记录值y的前面补充0后组成的二进制数,该二进制数与xj的位数相同;若第j个数据主动上报时间点的数据上报成功时,则该第j个数据主动上报时间点无打点记录值;步骤6、依次使用步骤5中相同的方法,得到每天每个数据主动上报成功的时间点对应的打点记录值。具体的,所述数据主动上报周期p的取值范围为:1~1440内能被1440整除的正整数。优选的,所述数据主动上报周期p=15。所述设备通讯连接有采集系统,用于将数据主动上报给采集系统。进一步的,判断某个数据主动上报时间点的数据是否上报成功的方法为:检测采集系统中的数据表中某个数据主动上报时间点是否有收到数据,若采集系统中的数据表中有收到数据时,则判定为设备数据主动上报成功;若采集系统中的数据表中未收到数据时,则设备反复执行N次主动上报,当N次主动上报成功后采集系统中的数据表中还未收到数据,则判定该数据主动上报时间点数据上报不成功。所述数据上报反复执行的次数N的取值范围为:1~5。优选的,所述数据上报反复执行的次数N=3。作为优选,所述设备为电能表,所述采集系统为与电能表通讯连接的采集终端。本专利技术解决上述第二个技术问题所采用的技术方案为:一种数据补偿方法,其特征在于:采用上述的设备数据主动上报打点记录方法生成最终当前打点记录值y,还包括以下步骤:步骤7、根据每天数据主动上报的时间点总个数n,生成长度为n的全1二进制数;步骤8、判断当前打点记录值y的长度是否为n,如是,则转入步骤9;如否,则将当前打点记录值y的前面补0,直至该当前打点记录值y的长度为n,则将补0后生成的长度为n的当前打点记录值作为新的当前打点记录值y,并转入步骤9;步骤9、将当前打点记录值y与长度为n的全1二进制数进行异或运算;步骤10、在异或运算之后的二进制数中提取出数值为1的二进制位,并按照从后往前的顺序记录该二进制位对应的位数;步骤11、将步骤10中提取出的二进制位对应的位数转换成时间点,该时间点则对应为数据缺失的时间点;步骤12、采集系统对步骤11中数据缺失的时间点进行数据补偿。具体的,所述步骤11中将提取出的二本文档来自技高网
...

【技术保护点】
1.一种设备数据主动上报打点记录方法,其特征在于:以每天的0点为起始点,设备每间隔p分钟进行一次数据主动上报,根据设备的数据主动上报周期p和每个数据主动上报时间点对应的数据上报情况依次生成每个数据主动上报成功的时间点对应的打点记录值,其中p为正整数;具体步骤如下:/n步骤1、生成每个数据主动上报时间点对应的时间打点值x

【技术特征摘要】
1.一种设备数据主动上报打点记录方法,其特征在于:以每天的0点为起始点,设备每间隔p分钟进行一次数据主动上报,根据设备的数据主动上报周期p和每个数据主动上报时间点对应的数据上报情况依次生成每个数据主动上报成功的时间点对应的打点记录值,其中p为正整数;具体步骤如下:
步骤1、生成每个数据主动上报时间点对应的时间打点值x1,x2,...xj...xn,其中,x1,x2,...xj...xn均为二进制数,x1为第一个数据主动上报时间点对应的时间打点值,x2为第二个数据主动上报时间点对应的时间打点值,xj为第j个数据主动上报时间点对应的时间打点值,xn为第n个数据主动上报时间点对应的时间打点值,n为每天数据主动上报的时间点总个数;
xj的计算公式为:
xj=1<<((hj*60+mj*1)/p)-1);
其中,<<表示左移,hj为第j个数据主动上报时间点对应的小时数;mj为第j个数据主动上报时间点对应的分钟数;
步骤2、将每天0点对应的打点记录值设为0,并将该打点记录值作为当前打点记录值y;
步骤3、若第一个数据主动上报时间点的数据上报成功时,则计算该第一个数据主动上报时间点的打点记录值y1,并将该打点记录值y1替换掉当前打点记录值,作为新的当前打点记录值y:
打点记录值y1的计算公式为:y1=0|x1;
其中,|表示或运算,x1为该数据主动上报时间点对应的时间打点值;
若第一数据主动上报时间点的数据上报未成功时,则该数据主动上报时间点无打点记录值;
步骤4、若第二个数据主动上报时间点的数据上报成功时,则计算该第二个数据主动上报时间点的打点记录值y2,并将该打点记录值y2替换掉当前打点记录值,作为新的当前打点记录值y;
打点记录值y2的计算公式为:y2=a2|x2;
其中,a2为当前的打点记录值y的前面补充0后组成的二进制数,该二进制数与x2的位数相同;
若第二数据主动上报时间点的数据上报未成功时,则该第二数据主动上报时间点无打点记录值;
步骤5、依次使用相同的方法,若第j个数据主动上报时间点的数据上报成功时,则计算第j个数据主动上报时间点的打点记录值yj,并将该打点记录值yj替换掉当前打点记录值,作为新的当前打点记录值y;
打点记录值yj的计算公式为:yj=aj|xj;
其中,aj为当前的打点记录值y的前面补充0后组成的二进制数,该二进制数与xj的位数相同;
若第j个数据主动上报时间点的数据上报成功时,则该第j个数据主动上报时间点无打点记录值;
步骤6、依次使用步骤5中相同的方法,得到每天每个数据主动上报成功的时间点对应的打点记录值。


2.根据权利要求1所述的...

【专利技术属性】
技术研发人员:陈海峰
申请(专利权)人:宁波三星医疗电气股份有限公司
类型:发明
国别省市:浙江;33

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

1