首页> 中国专利> 一种基于差异比较的电能表远程快速升级方法

一种基于差异比较的电能表远程快速升级方法

摘要

本发明公开了一种基于差异比较的电能表远程快速升级方法,通过将升级包程序相对于现场运行程序的差异部分进行整理,只传输升级差异部分,从而提升现场电能表的程序迭代升级效率。所述方法步骤包括:系统主站根据获取的升级包程序制作升级信息,所述升级信息包括升级包程序相对于现场运行程序的差异文件;系统主站通过集中器将所述升级信息分发至待升级的电能表;电能表将所述差异文件和现场运行程序文件合成升级包程序文件,根据合成的升级包程序文件进行电能表本地的程序升级。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F 8/65 专利申请号:2021102001545 申请日:20210223

    实质审查的生效

说明书

技术领域

本发明涉及智能电表控制系统技术领域,尤其涉及一种电能表远程升级方法。

背景技术

AMI解决方案中集中器和电表是最主要的应用功能设备,电表处于数据采集的末端,并且数量庞大,随之AMI解决方案的发展,智能表的功能越来越复杂,并且设备都支持在线升级,常常面对客户的需求或者现场应用功能的优化,可能需要进行电能表的程序升级,由于集中器管理的表计数量较多,因此现场升级的过程时间长会影响抄表数据成功率,并且下行通讯带宽受限,导致升级效率低下,很难快速升级完成切换最新的程序,采用人工本地升级对运维工作带来巨大困扰,数量多并且分散,运维及经济压力巨大,如果存在一些致命bug及计量计费缺陷的问题,不能及时升级处理,则严重影响计费等,可能给用户及供电公司带来巨大损失。

目前市场上的AMI解决方案中对表升级的过程大多数采用文件传输升级的过程,AMI系统主站通过人工导入需要升级的电能表升级程序和需要升级的电能表地址信息,然后将最新的升级程序和电能表地址信息下发给集中器,集中器按照电能表地址信息将升级程序下发,集中器通过点对点或者广播传输给对应的电能表,电能表将收到的传输数据包进行存储,收完后进行校验对比,合法文件进行程序升级,常常由于小部分代码的修改就会触发一次功能升级,传输整个升级包的过程漫长,并且受集中器和电能表通讯不确定影响,往往升级效率低下,成功率很难保证。

电能表的微控制的程序空间大多数最大支持512Kbyte步骤S,AMI解决方案现场的集中器和电能表大多数为载波通讯,并且采用窄带通讯方式为主,受电力线干扰影响,电力线的特性为数据传输越短成功率越高,因此大多数传输数据为小于256字节的传输数据,当电能表升级文件为300k内容时,则最少需要1200帧,通讯异常是还需要超时等待并且重复补发,所用的时间周期很长。

集中器和电能表的抄表过程也占用通讯带宽,升级的时候通讯频繁就会导致数据抄读的不完整,如果保证数据完整则会导致升级的周期很长,因此如果能用尽可能少的通讯传输发送尽可能多的信息则会对升级和抄读数据代理明显的提升,如果电能表出现致命问题,不能及时将其升级则随着时间的推移,会给客户及供电局带来巨大的人力物力损失,可能造成欺诈犯罪行为。

发明内容

本发明是为了克服现有技术中的电能表远程升级技术方案的上述不足之处,提供一种基于差异比较的电能表远程快速升级方法,通过将升级包程序相对于现场运行程序的差异部分进行整理,只传输升级差异部分,从而提升现场电能表的程序迭代升级效率。

为实现上述目的,本发明采用以下技术方案:

本发明的一种基于差异比较的电能表远程快速升级方法,所述方法包括以下步骤:

系统主站根据获取的升级包程序制作升级信息,所述升级信息包括升级包程序相对于现场运行程序的差异文件;

系统主站通过集中器将所述升级信息分发至待升级的电能表;

电能表将所述差异文件和现场运行程序文件合成升级包程序文件,根据合成的升级包程序文件进行电能表本地的程序升级。

作为优选,所述升级信息还包括加密的校验信息,所述校验信息包括升级包程序的版本号、现场运行程序的版本号、升级包程序的MD5值、现场运行程序的MD5值。

作为优选,所述系统主站通过集中器将所述升级信息分发至待升级的电能表的步骤,进一步包括:

系统主站将升级信息以及待升级的电能表地址信息发送至集中器;

根据所述待升级的电能表地址信息,集中器将升级信息发送至对应的电能表。

作为优选,所述集中器将升级信息发送至对应的电能表的传输方式为采用文件传输格式的断点续传方式。

作为优选,所述集中器将升级信息发送至对应的电能表的步骤,进一步包括:

电能表首先接收到集中器发送的升级信息中的校验信息,在校验信息中的现场运行程序的版本号和现场运行程序的MD5值匹配通过后,采用断点续传方式接收完整的升级信息。

作为优选,所述电能表将所述差异文件和现场运行程序文件合成升级包程序文件,根据合成的升级包程序文件进行电能表本地的程序升级的步骤,进一步包括:

电能表根据差异文件,对现场运行程序进行修改,合成升级包程序文件;

根据校验信息内的升级包程序的MD5值,校验合成的升级包程序文件与系统主站的升级包程序一致,

电能表根据合成的升级包程序文件升级本地程序。

作为优选,所述差异文件格式采用TALV(T:type-A:address-L:length-V:value)的格式进行描述,其中type:bit4;address:bit28;length:bit8;value:N bytes。

作为优选,当type=1为在历史运行的程序文件的address地址上增加length长的value内容;当type=2为在历史的运行程序文件的address地址上删除length长度的数据,value为空;当type=3为在历史运行的程序文件的address地址上修改length长的value内容。

作为优选,所述系统主站根据获取的升级包程序制作升级信息,所述升级信息包括升级包程序相对于现场运行程序的差异文件的步骤,进一步包括:

系统主站对比升级包程序和现场运行程序,制作升级包程序相对于现场运行程序的差异文件;

比较所述差异文件和升级包程序的数据量;

若差异文件的数据量小于升级包程序的数据量,制作包含差异文件的升级信息;若差异文件的数据量大于升级包程序的数据量,制作包含升级包程序的升级信息。

作为优选,所述方法在电能表将所述差异文件和现场运行程序文件合成升级包程序文件,根据合成的升级包程序文件进行电能表本地的程序升级之后,还包括以下步骤:

集中器监控电能表的升级状态信息,并反馈至系统主站。

本申请的技术方案是通过将升级包程序相对于现场运行程序的差异部分进行整理,制作差异文件。在升级过程中只向电能表传输所述差异文件,由电能表根据所述差异文件和现场运行程序文件合成升级包程序文件进行本地升级。一般差异文件较小,传输效率高,从而提升现场电能表的程序迭代升级效率,提升解决方案的高效运维及应用。同时在包含差异文件的升级信息中添加了加密的校验信息,所述校验信息包括升级包程序的版本号、现场运行程序的版本号、升级包程序的MD5值、现场运行程序的MD5值。电能表可以根据上述的校验信息校验本地是否需要升级、接收的数据是否完整、合成的升级包程序文件是否和系统主站一致,从而提高了远程升级的安全性和稳定性。

附图说明

图1为本发明的一种基于差异比较的电能表远程快速升级方法的逻辑流程图。

图2为本实施例的步骤S001的流程图。

图3为本实施例的步骤S002的流程图。

图4为本实施例的步骤S003的流程图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步描述。

AMI(Advanced Metering Infrastructure)解决方案中有系统主站、集中器、电能表组成,系统主站和集中器通过GPRS通讯方式进行双向通讯,集中器和电能表通过电力线载波进行双向通讯,电能表和集中器按照变压器的台区归属安装在现场,系统主站将电能表的地址信息下发给集中器,集中器按照管理的电能表清单信息进行周期的任务抄表。

当现场电能表由于客户新的需求或者其他优化功能等需要进行远程升级,电表的开发人员提供新的满足需求的升级程序包给AMI系统运维人员,系统上会将现场运行的电能表的版本的程序包文件、版本信息和新的升级包程序、版本信息进行比对,计算出现场运行版本和最新版本的MD5(Message-Digest Algorithm 5)值,主站通过对称加密将两个文件MD5进行AES128加密,由于采用对称加密模式,电能表和系统主站匹配的对称加密解密秘钥一致,主站进行加密,电能表端进行解密,解密失败后则无法进行升级。

文件版本和校验信息:

{

运行版本版本号经过aes128加密:8byte

新版本版本号经过aes128加密:8byte

运行版本的文件MD5经过aes128加密:16bytes

新发布版本文件的MD5经过aes128加密:16bytes

}

系统主站通过两个版本(现场运行版本和新版本)区分出差异文件。

对新程序、现场运行程序的版本及新程序,现场运行程序的文件进行MD5校验,将差异文件、待升级的电能表地址信息一起下发给集中器,集中器收到信息后先进行区分待升级的表地址,然后按照表地址清单进行循环进行下发新版本、运行版本及文件MD5信息。

电能表接收集中器下发的信息后进行解密,解密失败则拒绝升级,解密成功后再次判断运行版本号和集中器传输的运行版本版本号及MD5是否一致,如果运行版本号和运行的MD5值一致,开启使能差异升级功能,如果不一致则拒绝升级,集中器收到电能表应答数据后进行归类,区分标记出无法升级及待升级的表清单信息。

集中器在进行下发差异文件采用文件传输格式,并且电能表支持断点续传,将收到的报文按传输的帧序号进行区分接收位图,位图信息每个字节代表8帧(每个bit代表1帧),刚启动传输时电能表进行总清,然后收到报文进行标记,集中器读取位图进行区分漏帧进行补发,此过程可以点对点也可以采用广播的方式(载波通讯支持载波可以使用载波方式进行下发),电表收到后进行标记收到的差异文件,并且集中器下发的每帧报文带有帧序号和总帧数,电表区分标记收到帧的位图信息,当集中器发完一轮后进行查询位图,电能表回复已收帧序号的位图信息,集中器根据缺失的帧序号位图进行补帧,直到所有差异文件传输完成。

传输完成后,电能表根据差异文件及运行程序制作新的升级包,运行版本+差异文件=新版本的升级包程序,新版本的升级包通过MD5进行校验确保和主站下发的升级包一致。

电能表制作出的新版本的升级包后,经过MD5计算后和主站下发的一致,并且版本号也满足电能表的版本信息定义后,等待集中器下发执行升级命令,集中器下发执行命令后电能表进行升级,升级完成后集中器读取新版本的版本号进行确认升级状态,集中器将升级成功及升级失败、升级拒绝的电能表的地址上报主站,主站获取到信息后通过人工干涉进行甄别及时处理。

具体的,如图1-图4所示,本申请实施例提供一种基于差异比较的电能表远程快速升级方法,所述方法包括以下步骤。

步骤S001系统主站根据获取的升级包程序制作升级信息,所述升级信息包括升级包程序相对于现场运行程序的差异文件。

步骤S002系统主站通过集中器将所述升级信息分发至待升级的电能表。

步骤S003电能表将所述差异文件和现场运行程序文件合成升级包程序文件,根据合成的升级包程序文件进行电能表本地的程序升级。

所述升级信息还包括加密的校验信息,所述校验信息包括升级包程序的版本号、现场运行程序的版本号、升级包程序的MD5值、现场运行程序的MD5值。

系统主站通过对称加密方式将校验信息进行AE步骤S128加密,由于采用对称加密模式,电能表和主站匹配的对称加密解密秘钥一致,主站进行加密,电能表端进行解密,解密失败后则无法进行升级。

所述差异文件格式采用TALV(T:type-A:address-L:length-V:value)的格式进行描述,其中type:bit4;address:bit28;length:bit8;value:N bytes。

当type=1为在历史运行的程序文件的address地址上增加length长的value内容;当type=2为在历史的运行程序文件的address地址上删除length长度的数据,value为空;当type=3为在历史运行的程序文件的address地址上修改length长的value内容。删除文件时value为空,不带传输内容。

所述步骤S001进一步包括以下步骤:

步骤S101,系统主站对比升级包程序和现场运行程序,制作升级包程序相对于现场运行程序的差异文件。

步骤S102,比较所述差异文件和升级包程序的数据量,若差异文件的数据量小于升级包程序的数据量,制作包含差异文件的升级信息;若差异文件的数据量大于升级包程序的数据量,制作包含升级包程序的升级信息。

所述步骤S002进一步包括:

步骤S201系统主站将升级信息以及待升级的电能表地址信息发送至集中器。

步骤S202根据所述待升级的电能表地址信息,集中器将升级信息发送至对应的电能表。

步骤S203电能表首先接收到集中器发送的升级信息中的校验信息,在校验信息中的现场运行程序的版本号和现场运行程序的MD5值匹配通过后,采用断点续传方式接收完整的升级信息。

具体的,所述集中器将升级信息发送至对应的电能表的传输方式为采用文件传输格式的断点续传方式。集中器在进行下发差异升级文件采用文件传输格式,并且电能表支持断点续传,将收到的报文按传输的帧序号进行区分接收位图,位图信息每个字节代表8帧,每个bit代表1帧,刚启动传输时电能表进行总清,然后收到报文进行标记,集中器读取位图进行区分漏帧进行补发,此过程可以点对点也可以采用广播的方式载波通讯支持载波可以使用载波方式进行下发,电表收到后进行标记收到的差异文件,并且集中器下发的每帧报文带有帧序号和总帧数,电表区分标记收到帧的位图信息,当集中器发完一轮后进行查询位图,电能表回复已收帧序号的位图信息,集中器根据缺失的帧序号位图进行补帧,直到所有差异文件传输完成。

具体的,所述步骤003,进一步包括:

步骤S301电能表根据差异文件,对现场运行程序进行修改,合成升级包程序文件。

步骤S302根据校验信息内的升级包程序的MD5值,校验合成的升级包程序文件与系统主站的升级包程序一致,电能表根据合成的升级包程序文件升级本地程序。

电能表合成升级包程序文件的示例如下:

如下现场运行程序“A”,16进制文件大小为96byte:

{

00,11,22,33,44,55,66,77,88,99,AA,BB,CC,DD,EE,FF,

01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,00

11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,10

21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,20//删除

31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,30

41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,40

}

升级包程序“B”(即新版本程序),16进制文件大小为88byte:

{

00,11,22,33,44,55,66,77,88,99,AA,BB,CC,DD,EE,FF,

01,02,03,54,05,52,07,59,66,56,34,82,0D,0E,0F,00,//对比现场文件修改内容

11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,10,

//此地址对比现场文件需要删除

70,71,72,73,74,75,77,78//对比现场运行程序本此地址增加内容

31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,30

41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,40

}

差异文件“C”,16进制文件大小为35byte描述

{

300013 01 54//在现场运行程序文件19位置修改1字节为0x54

300015 01 52//在现场运行程序文件21位置修改1字节为0x52

300017 05 59 66 56 34 82//在现场运行程序文件23位置修改5字节为0x59,0x66,0x56,0x34,0x82

300030 10//在现场运行程序文件48位置删除16字节

100030 08 70 71 72 73 74 75 77 78//在现场运行程序文件48位置增加8字节0x70,0x71,0x72,0x73,0x74,0x75,0x77,0x78,

}

则:现场运行版本“A”+差异文件“C”=升级包程序“B”。

所述步骤S003之后,还包括:步骤S004,集中器监控电能表的升级状态信息,并反馈至系统主站。集中器根据系统主站下发的命令进行升级电能表,当电能表回复拒绝时记录升级拒绝的电能表,通讯失败时记录失败的电能表,升级成功记录升级成功,当集中器升级任务执行完成后将升级执行结果上报主站。

由于微控制器MCU代码程序通过编译器编译不改变的部分编译出的执行程序和修改前的版本编译的内容基本一样,如果能将差异部分进行整理,只传输升级差异部分,则升级效率会有很大的提升。本申请的技术方案是通过将升级包程序相对于现场运行程序的差异部分进行整理,制作差异文件。在升级过程中只向电能表传输所述差异文件,由电能表根据所述差异文件和现场运行程序文件合成升级包程序文件进行本地升级。一般差异文件较小,传输效率高,从而提升现场电能表的程序迭代升级效率,提升解决方案的高效运维及应用。同时在包含差异文件的升级信息中添加了加密的校验信息,所述校验信息包括升级包程序的版本号、现场运行程序的版本号、升级包程序的MD5值、现场运行程序的MD5值。电能表可以根据上述的校验信息校验本地是否需要升级、接收的数据是否完整、合成的升级包程序文件是否和系统主站一致,从而提高了远程升级的安全性和稳定性。

前述实施例中,

系统主站的功能在于:系统主站需要进行管理现场运行电能表的版本信息,并且同时存放该版本16进制程序升级包,如果需要迭代升级时,则需要上传新的升级文件版本及16进制升级包,系统主站通过两份文件版本及升级包先生成文件版本信息和校验MD5信息,再将其进行加密处理,制作完成版本校验信息后,主站在进行比对两个文件输出差异文件,差异文件按照TALV格式最终形成差异文件。

系统主站将需要升级的电能表清单下发给集中器,然后再将版本校验信息和差异文件下发给集中器,集中器按照表计清单进行执行升级任务,升级过程中将现场、新版本程序版本和校验下发给电能表,再根据结果将差异文件下发给支持升级的电能表,下发完成后再将升级成功的电能表进行上报主站,主站统计出本次升级成功、升级失败、不支持升级的电能表清单信息。

集中器的功能在于:

集中器根据系统主站下发的命令进行升级电能表,当电能表回复拒绝时记录升级拒绝的电能表,通讯失败时记录失败的电能表,升级成功记录升级成功,当集中器升级任务执行完成后将升级执行结果上报主站。

电能表的功能在于:

电能表接收集中器下发的升级信息命令后,先解密然后判断版本信息是否匹配,解密失败则退出升级使能,电能表对数据解密成功判断当前版本和自身运行版本是否一致匹配,如果一致则再次判断当前版本和自身运行版本的MD5校验是否一致,若DM5校验一致则进入升级使能。

进入升级使能后则接收集中器下发的差异文件,差异文件全部收全后,根据当前运行版本程序和差异文件生成最新版本的升级程序,生成的文件存放在dataflash的存储空间中,掉电存储内容不丢,执行MD5校验,校验结果与主站下发的文件进行比对,MD5一致后则此文件为合法文件可以执行升级处理,然后电能表将当前运行程序进行擦除并写入新的程序,并标记dataflash避免重复升级,并回复集中器升级成功,当MD5不一致,则不进行升级,运行原有程序,并回复集中器升级失败。

现场安装设备时需要保证主站系统和电能表的aes128加密秘钥一致,系统生产的差异文件内容大于现场运行版本程序时,则采用传统升级方式进行传输,确保升级传输文件最优。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号