基于物联网的智能电能表修复方法、装置、终端及介质与流程

文档序号:16536011发布日期:2019-01-08 19:54阅读:298来源:国知局
基于物联网的智能电能表修复方法、装置、终端及介质与流程

本发明属于软件领域,尤其涉及基于物联网的智能电能表修复方法、装置、终端及介质。



背景技术:

现有的智能电能表除了具备用电量的计量功能以外,还具有双向多费率计量、用户端本地或远程控制、多种模式的双向数据通信、防窃电等功能。此外,智能电能表运行时间长,在使用过程中难免会发生软件故障,出现智能卡与智能电能表间通讯出错,电量无法正常写入现象,此时,每隔一段时间,智能电能表管理平台就需要对智能电能表进行修复。

然而,现有的智能电能表修复方法,无法完成智能电能表的精准修复,不利于提高修复效率。其原因在于,现有的智能电能表的固件和厂商繁多,不同固件、不同厂商需要不同的修复文件,才能修复成功,而现有的智能电能表管理平台对智能电能表进行时,不会区别固件和厂商,只会采用统一的修复文件修复智能电能表,这样,不同固件、不同厂商的智能电能表的系统与修复文件不兼容,容易导致智能电能表修复失败,不利于提高修复效率。



技术实现要素:

有鉴于此,本发明实施例提供了基于物联网的智能电能表修复方法、装置、终端及介质,以解决现有技术中现有的一种基于物联网的智能电能表修复方法,无法完成智能电能表的精准修复,不利于提高修复效率的问题。

本发明实施例的第一方面提供了一种基于物联网的智能电能表修复方法,包括:

接收智能电能表发送的64个字节的在线修复请求,所述在线修复请求包括修复标识符、所述智能电能表的固件版本号、型号以及厂商标识,所述修复标识符由第一字符串和第二字符串组成,所述第一字符串为repair,所述第二字符串为二进制的4个0;

向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,通过所述固件版本号,确定所述智能电能表是否为待修复智能电能表;

若所述智能电能表为待修复智能电能表,将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,根据预设的md5函数以及所述修复信息,生成所述修复信息的散列值;

根据预先存储的散列值和修复文件的对应关系,从云端存储的修复文件库中提取所述修复信息的散列值对应的修复文件;

响应所述在线修复请求,通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件。

本发明实施例的第二方面提供了一种基于物联网的智能电能表修复装置,包括:

获取模块,用于接收智能电能表发送的64个字节的在线修复请求,所述在线修复请求包括修复标识符、所述智能电能表的固件版本号、型号以及厂商标识,所述修复标识符由第一字符串和第二字符串组成,所述第一字符串为repair,所述第二字符串为二进制的4个0;

确定模块,用于向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,通过所述固件版本号,确定所述智能电能表是否为待修复智能电能表;

生成模块,用于若所述智能电能表为待修复智能电能表,将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,根据预设的md5函数以及所述修复信息,生成所述修复信息的散列值;

提取模块,用于根据预先存储的散列值和修复文件的对应关系,从云端存储的修复文件库中提取所述修复信息的散列值对应的修复文件;

发送模块,用于响应所述在线修复请求,通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件。

本发明实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明实施例的第四方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:

将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,提取所述修复信息的散列值对应的修复文件,避免了现有的智能电能表管理平台对智能电能表进行时,不会区别固件和厂商,出现不同固件、不同厂商的智能电能表的系统与修复文件不兼容的情况,因此能完成智能电能表的精准修复,有利于提高修复效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于物联网的智能电能表修复方法的实现流程图;

图2是本发明实施例提供的一种基于物联网的智能电能表修复装置的结构框图;

图3是本发明实施例提供的终端的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一

参考图1,图1是本发明实施例提供的一种基于物联网的智能电能表修复方法的实现流程图,该方法应用于终端,如图1所示一种基于物联网的智能电能表修复方法可以包括以下步骤:

s101,接收智能电能表发送的64个字节的在线修复请求,所述在线修复请求包括修复标识符、所述智能电能表的固件版本号、型号以及厂商标识,所述修复标识符由第一字符串和第二字符串组成,所述第一字符串为修复repair,所述第二字符串为二进制的4个0;

其中,获取已接入窄带物联网的智能电能表发送的64个字节的在线修复请求。

其中,智能电能表内置有nb-iot模块和为nb-iot模块供电的锂电池,智能电能表通过nb-iot模块接入窄带物联网。nb-iot模块接入窄带物联网的过程为现有技术,在此不做赘述。

其中,nb-iot模块,即基于蜂窝的窄带物联网(narrowband-internetofthings)的模块。

其中,智能电能表在电流采样信号为零,即智能电能表不计量用电量时,通过nb-iot模块发送在线修复请求,这样的有益效果为:避免了出现因修复系统中断计量用电量的情况,能较好地满足用户的实际需求。

s102,向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,通过所述固件版本号,确定所述智能电能表是否为待修复智能电能表;

上述智能电能表在接收到终端发送的序列码获取请求之后,便向该终端反馈一条包含自身序列码的反馈消息。

其中,上述返回的序列码为上述智能电能表在出厂之前,由生产厂家在该智能电能表内部写入的该智能电能表的身份标识。该身份标识在写入智能电能表之后,会永久存储在该智能电能表中,且无法篡改。即每一台智能电能表在出厂之后,均会具有唯一且始终保持不变的一个序列码。

其中,上述预存的序列码为已认证的序列码,由已认证的厂家服务器上传。

其中,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,匹配成功时,解析所述在线修复请求,这样的有益效果为:拒绝解析仿造的智能电能表发送的在线修复请求。

s103,若所述智能电能表为待修复智能电能表,将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,根据预设的md5函数以及所述修复信息,生成所述修复信息的散列值;

其中,md5函数为:基于消息摘要算法第五版(messagedigestalgorithm)的函数。

s104,根据预先存储的散列值和修复文件的对应关系,从云端存储的修复文件库中提取所述修复信息的散列值对应的修复文件;

其中,修复文件库存储有多个修复文件,预先存储的散列值和修复文件的对应关系是一对多,即一个预先存储的散列值可对应多个修复文件。

其中,将所述修复信息的散列值与预先存储的散列值进行匹配,如果匹配成功,就从云端存储的修复文件库中提取所述修复信息的散列值对应的修复文件,这样的有益效果为:提取速度快,节省修复文件的提取时间。

s105,响应所述在线修复请求,通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件。

其中,终端响应所述在线修复请求,先发送所述修复信息的散列值对应的修复文件给nb-iot基站,再通过nb-iot基站将所述修复信息的散列值对应的修复文件发送给所述智能电能表。

其中,在s105之后,方法还包括:

读取系统时间和预设的修复时长,当达到所述修复时长后,检测是否接收到所述智能电能表发送的修复成功信息,如果没有接收到所述智能电能表发送的修复成功信息,就继续通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件,如果有接收到所述智能电能表发送的修复成功信息,就停止通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件。

其中,所述修复成功信息为由三部分组成,分别是帧头、内容部分和校验部分,详述如下:

帧头有2个字节的固定内容,1个字节的内容长度,固定内容为ffffh,内容长度为数据内容的字节数;

内容部分有多个字节的数据内容,数据内容包括所述智能电能表的序列码和固件版本号;

校验部分有3个字节的crc校验码。

优选地,所述修复时长为30分钟。

其中,nb-iot基站为:基于蜂窝的窄带物联网(narrowband-internetofthings)的基站。

在本发明实施例中,由于将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,提取所述修复信息的散列值对应的修复文件,避免了现有的智能电能表管理平台对智能电能表进行时,不会区别固件和厂商,出现不同固件、不同厂商的智能电能表的系统与修复文件不兼容的情况,因此能完成智能电能表的精准修复,有利于提高修复效率。

实施例二

本发明实施例描述了s102的实施过程,详述如下:

向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,判断所述固件版本号是否在预设的固件版本号列表中;若所述固件版本号在所述固件版本号列表中,确定所述智能电能表为待修复智能电能表;若所述固件版本号不在所述固件版本号列表中,确定所述智能电能表不为待修复智能电能表。

在本发明实施例中,通过固件版本号能过滤掉不需要修复的智能电能表。

实施例三

本发明实施例描述了s105的实施过程,详述如下:

响应所述在线修复请求,当存在多个所述修复信息的散列值对应的修复文件时,统计各个所述修复信息的散列值对应的修复文件的被选择次数;

对各个所述修复信息的散列值对应的修复文件的被选择次数进行排序,选取被选择次数最大的修复文件;

通过窄带物联网nb-iot基站,向所述智能电能表发送所述被选择次数最大的修复文件。

其中,终端响应所述在线修复请求,先发送所述被选择次数最大的修复文件给nb-iot基站,再通过nb-iot基站将所述被选择次数最大的修复文件发送给所述智能电能表。

在本发明实施例中,向智能电能表发送被选择次数最大的修复文件,能增强智能电能表的稳定性。

实施例四

本发明实施例描述了s105的另一实施过程,详述如下:

响应所述在线修复请求,当存在多个所述修复信息的散列值对应的修复文件时,获取各个所述修复信息的散列值对应的修复文件的生成时间;

对各个所述修复信息的散列值对应的修复文件的生成时间进行排序,选取最新的修复文件;

通过窄带物联网nb-iot基站,向所述智能电能表发送所述最新的修复文件。

其中,终端响应所述在线修复请求,先发送所述最新的修复文件给nb-iot基站,再通过nb-iot基站将所述最新的修复文件发送给所述智能电能表。

在本发明实施例中,向智能电能表发送最新的修复文件,能及时修复智能电能表的漏洞。

实施例五

本发明实施例描述了发送最新的修复文件的实施过程,详述如下:

采用哈夫曼压缩算法,对所述最新的修复文件进行压缩,生成修复文件压缩包,向所述智能电能表发送所述修复文件压缩包。

在本发明实施例中,由于最新的修复文件更新比较快,短时间内也会产生比较多的修复文件,因此需要及时压缩,采用哈夫曼压缩算法,能有效压缩修复文件,降低修复文件压缩包的压缩时间。

实施例六

对应于上文实施例一所述的方法,参考图2,图2是本发明实施例提供的一种基于物联网的智能电能表修复装置的结构框图,应用于终端,终端包括但不限于移动电话、计算机。为便于说明,仅示出了与本实施例相关的部分。为了便于说明,仅示出了与本实施例相关的部分。

参照图2,该一种基于物联网的智能电能表修复装置包括:

获取模块21,用于接收智能电能表发送的64个字节的在线修复请求,所述在线修复请求包括修复标识符、所述智能电能表的固件版本号、型号以及厂商标识,所述修复标识符由第一字符串和第二字符串组成,所述第一字符串为repair,所述第二字符串为二进制的4个0;

确定模块22,用于向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,通过所述固件版本号,确定所述智能电能表是否为待修复智能电能表;

生成模块23,用于若所述智能电能表为待修复智能电能表,将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,根据预设的md5函数以及所述修复信息,生成所述修复信息的散列值;

提取模块24,用于根据预先存储的散列值和修复文件的对应关系,从云端存储的修复文件库中提取所述修复信息的散列值对应的修复文件;

发送模块25,用于响应所述在线修复请求,通过窄带物联网nb-iot基站,向所述智能电能表发送所述修复信息的散列值对应的修复文件。

作为本实施例的一种实现方式,在一种基于物联网的智能电能表修复装置中,

所述确定模块,具体用于:向所述智能电能表发送序列码获取请求,接收所述智能电能表基于所述序列码获取请求返回的序列码,将所述返回的序列码与预存的序列码进行匹配,匹配成功时,解析所述在线修复请求,通过所述repair以及二进制形式的4个0,识别所述修复标识符,在识别所述修复标识符后,判断所述固件版本号是否在预设的固件版本号列表中;若所述固件版本号在所述固件版本号列表中,确定所述智能电能表为待修复智能电能表;若所述固件版本号不在所述固件版本号列表中,确定所述智能电能表不为待修复智能电能表;

所述发送模块,具体用于:响应所述在线修复请求,当存在多个所述修复信息的散列值对应的修复文件时,统计各个所述修复信息的散列值对应的修复文件的被选择次数;对各个所述修复信息的散列值对应的修复文件的被选择次数进行排序,选取被选择次数最大的修复文件;通过窄带物联网nb-iot基站,向所述智能电能表发送所述被选择次数最大的修复文件。

作为本实施例的一种实现方式,在一种基于物联网的智能电能表修复装置中,

所述发送模块,具体用于:响应所述在线修复请求,当存在多个所述修复信息的散列值对应的修复文件时,获取各个所述修复信息的散列值对应的修复文件的生成时间;对各个所述修复信息的散列值对应的修复文件的生成时间进行排序,选取最新的修复文件;通过窄带物联网nb-iot基站,向所述智能电能表发送所述最新的修复文件;

所述通过窄带物联网nb-iot基站,向所述智能电能表发送所述最新的修复文件,具体为:

采用哈夫曼压缩算法,对所述最新的修复文件进行压缩,生成修复文件压缩包,向所述智能电能表发送所述修复文件压缩包。

在本发明实施例中,由于将所述智能电能表的固件版本号、型号以及厂商标识依序整合,生成修复信息,提取所述修复信息的散列值对应的修复文件,避免了现有的智能电能表管理平台对智能电能表进行时,不会区别固件和厂商,只会采用统一的修复文件批量修复智能电能表,出现不同固件、不同厂商的智能电能表的系统与修复文件不兼容的情况,因此能完成智能电能表的精准修复,有利于提高修复效率。

实施例七

图3是本发明实施例提供的终端的示意图。如图3所示,该实施例的终端3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32,例如智能电能表的修复程序。所述处理器30执行所述计算机程序32时实现上述各个一种基于物联网的智能电能表修复方法实施例中的步骤。

示例性的,所述计算机程序32可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述终端3中的执行过程。

所述终端3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可包括,但不仅限于,处理器30、存储器31。

本领域技术人员可以理解,图3仅仅是终端3的示例,并不构成对终端3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器31可以是所述终端3的内部存储单元,例如终端3的硬盘或内存。所述存储器31也可以是所述终端3的外部存储设备,例如所述终端3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器31还可以既包括所述终端3的内部存储单元也包括外部存储设备。

所述存储器31用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明的另一实施例中提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各个一种基于物联网的智能电能表修复方法实施例中的步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1