CN116107618A - 一种流量计控制器升级方法、计算机设备及存储介质 - Google Patents

一种流量计控制器升级方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN116107618A
CN116107618A CN202310116303.9A CN202310116303A CN116107618A CN 116107618 A CN116107618 A CN 116107618A CN 202310116303 A CN202310116303 A CN 202310116303A CN 116107618 A CN116107618 A CN 116107618A
Authority
CN
China
Prior art keywords
program
data
data packet
controller
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310116303.9A
Other languages
English (en)
Inventor
金香仙
厉海松
胡国柱
楼华英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Chint Instrument and Meter Co Ltd
Original Assignee
Zhejiang Chint Instrument and Meter Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Chint Instrument and Meter Co Ltd filed Critical Zhejiang Chint Instrument and Meter Co Ltd
Priority to CN202310116303.9A priority Critical patent/CN116107618A/zh
Publication of CN116107618A publication Critical patent/CN116107618A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F25/00Testing or calibration of apparatus for measuring volume, volume flow or liquid level or for metering by volume
    • G01F25/10Testing or calibration of apparatus for measuring volume, volume flow or liquid level or for metering by volume of flowmeters
    • G01F25/15Testing or calibration of apparatus for measuring volume, volume flow or liquid level or for metering by volume of flowmeters specially adapted for gas meters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Fluid Mechanics (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种流量计控制器升级方法、计算机设备及存储介质,该方法包括,建立与系统主站的通信连接,并向系统主站发送升级请求信息,升级请求信息用于指示获取第一程序的升级数据帧;获取系统主站根据升级请求信息反馈的第一程序的第一程序信息;当验证第一程序信息为有效信息时,向系统主站发送应答指令;获取系统主站根据应答指令发送的升级数据帧,升级数据帧用以表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,第二程序为系统主站存储的第一程序的升级程序;根据差异数据包、差异数据包对应的位置信息,以及第一程序生成第一升级程序;根据第一升级程序升级控制器。

Description

一种流量计控制器升级方法、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种流量计控制器升级方法、计算机设备及存储介质。
背景技术
随着物联网应用在智能燃气行业的逐步推进,燃气公司早先在线运行的气体流量计基表存在着改造或更新的迫切需求。而加装流量计控制器后,随着行业需求和用户体验的不断增加,流量计控制器的功能需不断优化,固件程序的升级也日趋频繁,但在实际应用中会有各种局限,因此亟需提出一种全新的升级方法,来解决现有技术中的问题。
发明内容
为解决现有技术中的问题,本发明实施例提供了一种流量计控制器升级方法、计算机设备及存储介质。
根据第一方面,本发明实施例公开了流量计控制器升级方法,由控制器执行,方法包括:
建立与系统主站的通信连接,并向系统主站发送升级请求信息,升级请求信息用于指示获取第一程序的升级数据帧;
获取系统主站根据升级请求信息反馈的第一程序的第一程序信息;
当验证第一程序信息为有效信息时,向系统主站发送应答指令;
获取系统主站根据应答指令发送的升级数据帧,升级数据帧用以表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,第二程序为系统主站存储的第一程序的升级程序;
根据差异数据包、差异数据包对应的位置信息,以及第一程序生成第一升级程序;
根据第一升级程序升级控制器。
可选地,根据第一升级程序升级控制器之前,方法还包括:
获取系统主站发送的位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息;
根据差异数据包、差异数据包对应的位置信息生成控制器的第一位图数据;
根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站;
获取系统主站根据第一应答位图数据反馈的固件执行帧;
根据固件执行帧,验证差异数据包的完整性;
当差异数据包完整时,根据第一程序、预设划分标准以及差异数据包,生成第一升级程序,对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
可选地,根据第一升级程序升级控制器之前,方法还包括:
获取系统主站发送的位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息;
根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据;
根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站;
获取系统主站根据第一应答位图数据反馈的固件执行帧;
根据固件执行帧对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
可选地,根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据,具体包括:
将第一程序以预设划分标准划分为多个第一数据包集合;
将第一数据包集合中与差异数据包对应的位置信息一致的数据包替换为差异数据包,得到第二数据包集合;
根据第二数据包集合生成第一位图数据。
可选地,第一位图数据还包括已替换数据包的位置信息,根据第一位图数据与位图查询帧,生成第一应答位图数据,具体包括:
将已替换数据包的位置信息与位图查询帧中所有的差异数据包的位置信息进行比对,得到差别位置信息;
根据差别位置信息,生成第一应答位图数据。
可选地,当第一应答位图数据包括缺失数据包对应的位置信息时,方法还包括:
获取系统主站根据第一应答位图数据反馈的第一续发数据帧,第一续发数据帧包括缺失数据包和缺失数据包的位置信息;
根据缺失数据包、缺失数据包的位置信息以及在位图查询帧之前获取的差异数据包,确定第一升级程序,并根据第一升级程序升级控制器。
可选地,当获取到系统主站发送的中断执行帧时,中断执行帧包括休息时间,方法还包括:
根据中断执行帧中断与系统主站的连接,并在中断时间累计达到休息时间时,向系统主站发送建立连接请求后,与系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据中断之前获取的差异数据包、中断之前获取的差异数据包分别对应的位置信息生成控制器的第二位图数据;
将第二位图数据发送至系统主站,并获取系统主站根据第二位图数据发送的第二续发数据帧,第二续发数据帧包括中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包、中断数据包的位置数据、中断之前获取的差异数据包、中断之前获取的差异数据包对应的位置信息以及第一程序,生成第二升级程序;
根据第二升级程序升级控制器。
可选地,当获取到系统主站发送的中断执行帧时,中断执行帧包括休息时间,方法还包括:
根据中断执行帧中断与系统主站的连接,并在中断时间累计达到休息时间时,向系统主站发送建立连接请求后,与系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据中断之前获取的差异数据包、中断之前获取的差异数据包分别对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第二位图数据;
将第二位图数据发送至系统主站,并获取系统主站根据第二位图数据发送的第二续发数据帧,第二续发数据帧包括中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包、中断数据包的位置数据、中断之前获取的差异数据包、中断之前获取的差异数据包对应的位置信息以及第一程序,生成第二升级程序;
根据第二升级程序升级控制器。
根据第二方面,本发明实施例公开了流量计控制器升级方法,由系统主站执行,方法包括:
获取控制器发送的升级请求信息,根据升级请求信息,发送第一程序的第一程序信息至控制器;
获取控制器根据第一程序信息反馈的应答指令;
根据应答指令,向控制器发送升级数据帧,升级数据帧用于表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,以便后续控制器根据差异数据包生成第一升级程序,并根据第一升级程序升级控制器,第二程序是第一程序的升级程序。
可选地,根据应答指令,向控制器发送升级数据帧之前,方法还包括:
将第一程序和第二程序分别以预设划分标准依次划分,得到与第一程序对应的第一数据包集合和与第二程序对应的第二数据包集合;
对第一数据包集合中的每个数据包与预设位图标识进行绑定,生成与第一程序对应的第一位图数据;
根据第二数据包集合中的每个数据包与预设位图标识进行绑定,生成与第二程序对应的第二位图数据;
逐个比对第一位图数据和第二位图数据中对应的位置的数据包,将所有不一致的数据包构成差异数据包,并记录差异数据包在第一位图数据中的位置信息;
根据差异数据包和差异数据包的位置信息,构成升级数据帧。
可选地,在将升级数据帧发送至控制器后,方法还包括:
向控制器发送位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序中的位置信息;
获取控制器根据位图查询帧反馈的第一应答位图数据;
当第一应答位图数据未包括缺失数据包对应的位置信息时,向控制器发送固件升级帧,用以后续控制器根据固件升级帧和第一升级程序升级控制器;
当第一应答位图数据包括缺失数据包对应的位置信息时,方法还包括:
根据缺失数据包的位置信息确定缺失数据包;
根据缺失数据包和缺失数据包的位置信息,生成第一续发数据帧,将第一续发数据帧发送至控制器,以便后续根据第一续发数据帧和升级数据帧确定第一升级程序升级控制器。
可选地,当控制器与系统主站连接时长达到预设阈值时,方法还包括:
生成中断执行帧,并发送至控制器,中断执行帧包括休息时间;
获取控制器发送的建立连接请求,根据建立连接请求,建立与控制器的连接;
向控制器发送位图查询帧;
获取控制器应答的第二位图数据,将第二位图数据与全部差异数据包的位置数据进行比对,得到中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包和中断数据包在第一程序的位置数据,生成第二续发数据帧,并将第二续发数据帧发送至控制器,以便后续控制器根据第二续发数据帧、升级数据帧以及控制器已有的第一程序生成第二升级程序,根据第二升级程序升级控制器。
根据第三方面,本发明实施例公开了流量计控制器升级装置,应用于控制器,装置包括:
第一连接模块,用于建立与系统主站的通信连接,并向系统主站发送升级请求信息,升级请求信息用于指示获取第一程序的升级数据帧;
获取信息模块,用于获取系统主站根据升级请求信息反馈的第一程序的第一程序信息;
验证模块,用于当验证第一程序信息为有效信息时,向系统主站发送应答指令;
获取升级数据帧模块,用于获取系统主站根据应答指令发送的升级数据帧,升级数据帧用以表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,第二程序为系统主站存储的第一程序的升级程序;
确定程序模块,用于根据差异数据包、差异数据包对应的位置信息,以及第一程序生成第一升级程序;
升级模块,用于根据第一升级程序升级控制器。
根据第四方面,本发明实施例公开了流量计控制器升级装置,应用于系统主站,装置包括:
第二连接模块,用于获取控制器发送的升级请求信息,根据升级请求信息,发送第一程序的第一程序信息至控制器;
获取应答指令模块,用于获取控制器根据第一程序信息反馈的应答指令;
发送升级数据帧模块,用于根据应答指令,向控制器发送升级数据帧,升级数据帧用于表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,以便后续控制器根据差异数据包生成第一升级程序,并根据第一升级程序升级控制器,第二程序是第一程序的升级程序。
根据第五方面,本发明实施例还公开了一种计算端,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行如第一方面或第一方面任一可选实施方式的流量计控制器升级方法的步骤以及执行如第二方面或第二方面任一可选实施方式的流量计控制器升级方法的步骤。
根据第六方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式的流量计控制器升级方法的步骤以及执行如第二方面或第二方面任一可选实施方式的流量计控制器升级方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的流量计控制器升级方法、计算机设备及存储介质,该方法由控制器执行时,建立与系统主站的通信连接,向系统主站发送升级请求信息,其中升级请求信息用于指示获取第一程序的升级数据帧;随后获取系统主站根据升级请求信息反馈的第一程序的第一程序信息,可以根据第一程序信息验证系统主站与控制器中的正在运行的程序是否一致,由此可以确保在升级过程中安全性;进一步地,当验证第一程序信息为有效信息时,向系统主站发送应答指令,并获取系统主站根据应答指令发送的升级数据帧,其中升级数据帧表征第一程序与第二程序之间的差异数据包,以及差异数据包在第一程序中的位置信息,因此控制器可以根据差异数据包和数据在第一程序中的位置信息,对第一程序进行升级,避免了在获取全部升级程序时在线传输时间过长的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中流量计控制器升级方法的一个具体示例的流程图;
图2为本发明实施例中流量计控制器升级系统的一个具体示例的示意框图;
图3为本发明实施例中流量计控制器升级方法的一个具体示例的流程图;
图4为本发明实施例中流量计控制器升级方法的一个具体示例的流程图;
图5为本发明实施例中流量计控制器升级方法的一个具体示例的流程图;
图6为本发明实施例中流量计控制器升级装置的一个具体示例的原理框图;
图7为本发明实施例中流量计控制器升级装置的一个具体示例的原理框图;
图8为本发明实施例中计算机设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
针对背景技术中所提及的技术问题,本申请实施例提供了一种流量计控制器升级方法,具体参见图1所示,为本发明实施例提供的一种流量计控制器升级方法流程示意图。在介绍该方法实施步骤之前,首先说明该方法适用的一种流量计控制器升级系统。如图2所示,该流量计控制器升级系统包括控制器和系统主站,其中控制器安装于对应的流量计一端,用于监控流量计的实际运行,系统主站为后台的服务端,系统主站可以统一控制所有的控制器的运行以及升级的相关问题,系统主站可以控制分别控制多个控制器的升级和运行。
控制器内部的程序存储区域,分为两个区域,分别为boot程序区和应用程序区。boot程序只为执行新旧程序差异代码替换,代码初始地址为flash起始地址,程序区大小根据需要固定。boot区不能远程升级,只能用规定烧写器烧写。应用程序区的结构层次为三层,包括driver层、api层和应用任务层,driver层在后续程序升级的机率会比较少,所以在flash区中分两块,一块是不可能会有变动,包括MCU的各种接口、i2c总线、串口、卡、液晶接口等,此块分配flash时不需留存多余空间。另一块是可能会有变动,比如说阀驱动、按键驱动等,但此块变动不会太大,分配flash时只需留存少量的多余空间。api层主要是应用程序的接口,包括远程无线通信模块、RS485通信、红外、串口通信模块、液晶显示功能模块、数据存储和冻结模块、计量模块、时钟模块、系统任务模块等,把此层在flash中分为3块,其中无线通信模块一块,数据存储和冻结模块、计量模块一块,RS485通信、红外、串口通信模块、液晶显示功能、时钟模块、系统任务模块等一块。无线通讯模块接口flash区块和数据存储、冻结模块、计量模块接口留存一些多余空间,另一flash区块留存少量的多余空间。应用任务层包括远程无线通信应用、流量计485通讯应用、卡控应用、红外、串口通信应用、液晶显示应用等,此层的flash按应用分区块,各区块留存多余空间。应用程序ram区在编译前的地址和大小分配原则和flash的分配原则基本相同。
后续在更改和编写对应的升级程序时,可以在已经的程序编写规范内尽可能的精简更改程序,例如减少增加新的全局变量,新增的程序代码编译后位置尽量靠近各功能模块的后半部分地址等,这样在后续进行升级时可以减少差异数据包,可以提高控制器升级的效率,同样减少出错率。
以上,为流量计控制器升级系统所包括的功能组件,以及各功能组件所执行的功能介绍,具体执行过程可以参见下文。
具体的,参见图1所示,流量计控制器升级方法包括如下步骤:
步骤101,建立与系统主站的通信连接,并向系统主站发送升级请求信息。
升级请求信息用于指示获取第一程序的升级数据帧。
示例性地,当控制器需要进行升级时,需要建立与系统主站的连接,从而可以从系统主站获取对应的升级程序,根据升级程序来得到对应的升级程序。具体的,可以通过NB-IoT或4G、5G等通信技术向控制器发送升级请求信息以及建立通信连接,升级请求信息中可以包括对应的控制器的类型、控制器的电压以及正在运行的程序长度版本等信息,后续系统主站可以根据升级请求信息反馈对应的升级程序信息。
步骤102,获取系统主站根据升级请求信息反馈的第一程序的第一程序信息。
示例性地,获取建立通信连接之后,获取系统主站根据升级请求信息反馈的第一程序的第一程序信息,这里的第一程序用以表示系统主站中存储的对应控制器中已有的程序,也就是控制器正在运行的程序,其中第一程序信息用于表示第一程序对应的版本信息或者程序长度、旧程序版本、旧程序数据长度、旧程序校验码以及其他可以标识第一程序的唯一标识的信息本申请实施例对第一程序信息的具体形式和内容不做限定,本领域技术人员可以根据实际情况确定。
步骤103,当验证第一程序信息为有效信息时,向系统主站发送应答指令。
示例性地,获取到第一程序信息之后,判断第一程序信息与正在运行的程序是否是一致的,如果不一致则说明和系统主站存储的第一程序不一致,则需要重新确定对应的程序,当确定一致后才可以执行后续操作。
如果是一致的,则说明验证有效,则向系统主站发送应答指令。
如图3所示,为本实施例中验证第一程序信息的示意图,首先需要判断第一程序信息是否符合既定的数据帧格式,其次依次判断控制器电压是否满足要求、第一程序版本号是否一致,校验码是否一致等;当第一程序信息中还包括了与第一程序对应的第二程序的信息时,还需要验证第二程序的是否是第一程序的升级版本的程序,第二程序的程序是否满足控制器的规格等。
当全部验证正确时,才可以向主站系统发送应答指令。
步骤104,获取系统主站根据应答指令发送的升级数据帧。
步骤105,根据差异数据包、差异数据包对应的位置信息,以及第一程序生成第一升级程序。
示例性地,在发送应答指令之后,获取系统主站根据应答指令发送的升级数据帧,其中升级数据帧用以表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,第二程序为系统主站存储的第一程序的升级程序。
差异数据包为第一程序和第二程序之间存在差异的程序数据包,第一程序和第二程序之间没有变化的程序是不需要从系统主站获取的。在获取差异数据包时需要确定差异数据包处于第一程序的位置信息,这样后续可以根据位置信息来将差异数据包中的程序替换到第一程序对应的位置,得到第一升级程序,这时的第一升级程序与系统主站的中的第二程序是一致的。
具体地,在生成第一升级程序时,控制器程序复位后先运行boot程序,程序从flash中取出升级相关标志,在flash中根据位置信息进行差异数据包替换,即把外部flash中存储的升级数据写入程序代码相对应的flash区,替换成功后进行入应用区程序,控制器程序正常运行,程序升级完成。
步骤106,根据第一升级程序升级控制器。
示例性地,在确定第一升级程序之后,控制器直接运行第一升级程序即可完成控制器的升级。
在上述实施例的基础上,本发明实施例还提供了另一种流量计控制器升级方法,本实施例中对于上述实施例中已经介绍的内容将不再重复赘述,在本实施例中,为进一步确保控制器获取了全部的差异数据包,在根据第一升级程序升级控制器之前,如图4所示,方法还包括:
步骤401,获取系统主站发送的位图查询帧。
位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息。
步骤402,根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据。
示例性地,为了确保控制器获取到全部的差异数据包,根据从系统主站获取到的位图查询帧,即可判断是否已经接收到了全部的差异数据包,其中位图查询帧中包括了全部的差异数据包在第一程序中的位置信息。由于差异数据包是以数据包的形式来表示的,因此位图查询帧中对于全部差异数据包的描述也是基于数据包来描述的。
在控制器端若要确定差异数据包是否完整,可将控制器端的第一程序根据预设划分标准划分成与差异数据包大小相同的数据包得到第一程序的第一位图数据,这里的预设划分标准只要与差异数据包大小相同即可。
具体地,在一个优选的实施例中,根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据,具体包括:
将第一程序以预设划分标准划分为多个第一数据包集合;将第一数据包集合中与差异数据包对应的位置信息一致的数据包替换为差异数据包,得到第二数据包集合;根据第二数据包集合生成第一位图数据。
示例性地,将第一程序以256字节为划分标准,从第一程序的第一行代码开始,将第一程序划分为若干个数据包,得到第一数据包集合,这里的第一数据包集合中的最后一个数据包的大小为小于等于256个字节。对每一个数据包进行编号,编号按程序初始地址从0开始,编号数为0为应用程序数据从初始地址开始的256字节数据,编号数为1为应用程序数据从第257字节开始的256个字节数据,以此类推,最后编号的数据包小于等于256字节。
对应的第一位图数据每个bit位代表一包数据,第一个位图数据的bit0位对应编号0的数据包,第一个位图的bit1位对应编号1的数据包……,第二个位图数据的bit0位对应编号8的数据包,第二个位图的bit1位对应编号9的数据包……,以此类推,得到第一位图数据。
步骤403,根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站。
示例性地,将第一位图数据与位图查询帧中每个数据包的位置进行逐个比对,将比对结果生成第一位图应答数据。
在一个优选地实施例中,第一位图数据还包括已替换数据包的位置信息,根据第一位图数据与位图查询帧,生成第一应答位图数据,具体包括:将已替换数据包的位置信息与位图查询帧中所有的差异数据包的位置信息进行比对,得到差别位置信息;根据差别位置信息,生成第一应答位图数据。
示例性地,当在生成第一位图数据的时候,将已经替换了差异数据包的数据包进行标记,这样得到第一位图数据中在对应位置有对应标记,在与位图查询帧中的差异数据包的位置信息进行比对时,可以直接确定已经存在且替换的差异数据包,不需要在逐个比对,可以大大减少比对的时间,提高了升级过程中的升级效率。
步骤404,获取系统主站根据第一应答位图数据反馈的固件执行帧。
步骤405,根据固件执行帧对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
示例性地,当控制器已经获取到全部的差异数据包时,第一升级程序也就相当于第二程序,第一应答位图数据也就是接收成功的信息,这时获取系统主站根据第一应答位图数据反馈的固件升级帧,根据固件升级帧可以进一步验证第一升级程序的完整性来确保升级过程中的安全性。当程序完整时,则继续完成对控制器的升级。
当步骤403中,第一应答位图数据包括缺失数据包对应的位置信息时,方法还包括:获取系统主站根据第一应答位图数据反馈的第一续发数据帧,第一续发数据帧包括缺失数据包和缺失数据包的位置信息;根据缺失数据包、缺失数据包的位置信息、第二数据包集合,得到第三数据包集合;根据第三数据包集合,确定第一升级程序,并根据第一升级程序升级控制器。
示例性地,当第一位图数据和位图查询帧比对后,确定有缺失的差异数据包没有获取到时,第一应答位图数据应包括对应的缺失数据包的位置数据,在本实施例中,对应的位置数据可以是对应的位图数据。这时,就还需要从系统主站获取对应的缺失数据包,以及缺失数据包对应的位置信息,来得到最终的第一升级程序来升级控制器。
在上述实施例的基础上还提供了另一种流量计控制器升级方法,本实施例中对于上述实施例中已经介绍的内容将不再重复赘述,在本实施例中,为进一步确保控制器获取了全部的差异数据包,在根据第一升级程序升级控制器之前,方法还包括:
获取系统主站发送的位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息;根据差异数据包、差异数据包对应的位置信息生成控制器的第一位图数据;根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站;获取系统主站根据第一应答位图数据反馈的固件执行帧;根据固件执行帧,验证差异数据包的完整性;当差异数据包完整时,根据第一程序、预设划分标准以及差异数据包,生成第一升级程序,对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
示例性地,本实施例中方法是在根据第一升级程序升级控制器之前的另一种对差异数据包的验证方法,本实施例中对第一位图数据的确定方法与前述实施例中的不同。
具体的,本实施例中可以直接通过差异数据包与对应的位置数据来确定第一位图数据,这样根据第一位图数据和位图查询帧可直接生成第一应答位图数据。上一个确定第一位图数据的过程是需要每获取一个差异数据包就要对第一程序进行更新的,一边获取一边更新,这样在获取位图查询帧时,需要根据第一程序对应的数据以及与差异数据包对应的预设划分标准来确定第一位图数据,同样的,在最后也就不用进一步生成对应的第一升级程序了,可以直接检查第一升级程序的完整性后进行升级。
而本实施例中这样是在获取到全部的差异数据包之后,在升级程序,因此在确定第一位图数据时,只需要根据差异数据包和差异数据包对应的位置信息生成第一位图数据即可。在最后验证获取到全部的差异数据包之后,根据差异数据包、第一程序以及与差异数据包对应的预设划分标准来得到第一升级程序,并在对第一升级程序验证完整后进行升级。
在上述实施例的基础上,本发明实施例还提供了另一种流量计控制器升级方法,本实施例中对于上述实施例中已经介绍的内容将不再重复赘述,在本实施例中,考虑到当控制器与主站系统连接时间过长,而对应的控制器电源不能提供较大的电流,引起控制器异常动作,进而断开连接导致升级失败的问题。因此该方法在,获取到系统主站发送的中断执行帧时,中断执行帧包括休息时间,方法还包括:
根据中断执行帧中断与系统主站的连接,并在中断时间累计达到休息时间时,向系统主站发送建立连接请求后,与系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据中断之前获取的差异数据包、中断之前获取的差异数据包分别对应的位置信息、预设划分标准生成控制器的第二位图数据;
将第二位图数据发送至系统主站,并获取系统主站根据第二位图数据发送的第二续发数据帧,第二续发数据帧包括中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包、中断数据包的位置数据、中断之前获取的差异数据包、中断之前获取的差异数据包对应的位置信息以及第一程序,生成第二升级程序;
根据第二升级程序升级控制器。
示例性地,当控制器与系统主站连接的时间超过预设时间时,系统主站会下发中断执行帧来中断与控制器的连接。中断连接之后,差异数据包并没有全部获取,这样就出现了在系统主站这边不知道控制器在中断之前接收到哪些差异数据包,因此控制器需要获取系统主站发送的位图查询帧,以此来确定在重新连接之后,系统主站发送哪些差异数据包,直至最后控制器获取到全部的差异数据包后,得到第二升级程序,这里的第二升级程序即为完整的升级程序,随后利用第二升级程序完成对控制器的升级。
本发明提供的流量计控制器升级方法,建立与系统主站的通信连接,向系统主站发送升级请求信息,其中升级请求信息用于指示获取第一程序的升级数据帧;随后获取系统主站根据升级请求信息反馈的第一程序的第一程序信息,可以根据第一程序信息验证系统主站与控制器中的正在运行的程序是否一致,由此可以确保在升级过程中安全性;进一步地,当验证第一程序信息为有效信息时,向系统主站发送应答指令,并获取系统主站根据应答指令发送的升级数据帧,其中升级数据帧表征第一程序与第二程序之间的差异数据包,以及差异数据包在第一程序中的位置信息,因此控制器可以根据差异数据包和数据在第一程序中的位置信息,对第一程序进行升级,避免了在获取全部升级程序时在线传输时间过长的问题。
与上述方法实施例相对应的,本发明实施例还提供了一种流量计控制器升级方法,具体参见图5所示,该方法由系统主站执行,包括:
步骤501,获取控制器发送的升级请求信息,根据升级请求信息,发送第一程序的第一程序信息至控制器。
示例性地,系统主站在获取到控制器发送的升级请求信息时,这里的升级请求消息包括控制器对应的控制器电量、标识信息、运行程序的版本号等信息,系统主站根据升级请求消息来确定与控制器对应的升级程序,具体地,可以根据控制器的标识信息与系统主站中存储程序的映射关系,确定与控制器对应的已有的旧版程序(第一程序)和新版程序(第二程序),根据版本号,确定与控制器对应的新版程序。为进一步确保程序的正确性,将确定的第一程序的第一程序信息发送至控制器用以再次验证。
当然,为确保控制器升级成功,可以将第二程序的信息也发送至控制器进行验证,为确保第二程序满足控制器的要求,因为若是不进行验证,可能会出现第二程序的长度过长,占用的存储空间太大,导致升级失败的问题。具体地程序的程度等信息,可以采用校验码等信息来确定。
步骤502,获取控制器根据第一程序信息反馈的应答指令。
示例性地,控制器在根据第一程序信息反馈应答指令后,当应答指令时验证成功时,则继续将后续的第二程序发送至控制器进行升级。
当应答指令应答不成功时,则不发送第二程序,也就是中断升级,当验证成功之后即可继续后续的升级操作。
步骤503,根据应答指令,向控制器发送升级数据帧,升级数据帧用于表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,以便后续控制器根据差异数据包生成第一升级程序,并根据第一升级程序升级控制器,第二程序是第一程序的升级程序。
示例性地,将控制器发送升级执行帧,其中升级执行帧包括控制器的升级程序信息,为了减少控制器与系统主站的长时间连接过程中可能出现的不确定因素,升级程序以差异数据包的形式发送至控制器,将存在差异的程序发送,不存在差异的程序则不需要发送。
在一个可选的实施例中,根据应答指令,向控制器发送升级数据帧之前,方法还包括:
将第一程序和第二程序分别以预设划分标准依次划分,得到与第一程序对应的第一数据包集合和与第二程序对应的第二数据包集合;对第一数据包集合中的每个数据包与预设位图标识进行绑定,生成与第一程序对应的第一位图数据;根据第二数据包集合中的每个数据包与预设位图标识进行绑定,生成与第二程序对应的第二位图数据;逐个比对第一位图数据和第二位图数据中对应的位置的数据包,将所有不一致的数据包构成差异数据包,并记录差异数据包在第一位图数据中的位置信息;根据差异数据包和差异数据包的位置信息,构成升级数据帧。
示例性地,在发送升级执行帧之前,需要根据第一程序和第二程序生成对应的差异数据包以及对应数据包的位置信息,最后来确定升级数据帧。
具体地,把新版程序(第二程序)、旧版程序(第一程序)按256字节分成多包数据,每包数据编号,编号按程序初始地址从0开始,编号数为0为应用程序数据从初始地址开始的256字节数据,编号数为1为应用程序数据从第257字节开始的256个字节数据,以此类推,最后编号的数据包小于等于256字节。位图数据每个bit位代表一包数据,第一个位图数据的bit0位对应编号0的数据包,第一个位图的bit1位对应编号1的数据包……,第二个位图数据的bit0位对应编号8的数据包,第二个位图的bit1位对应编号9的数据包……,以此类推。上位机程序循环把新版和旧版程序相同编号的每包数据进行比对,如数据不一致,取新版程序的数据包和编号生成升级数据包,并置位图相对应bit位为是,否则设为否。
在确保控制器获取了所有的差异数据包,在将升级数据帧发送至控制器后,方法还包括:向控制器发送位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序中的位置信息;获取控制器根据位图查询帧反馈的第一应答位图数据;当第一应答位图数据未包括缺失数据包对应的位置信息时,向控制器发送固件升级帧,用以后续控制器根据固件升级帧和第一升级程序升级控制器。
示例性地,将所有的差异数据包的位置信息以位图数据的方式发送至控制器,用以控制器判断是否以获取全部差异数据包。在确定控制器已获取全部差异数据包之后,向控制器发送固件执行帧,来进一步查验控制器的升级程序是否完整,当验证成功时,控制器即可升级。
当步骤503中的第一应答位图数据包括缺失数据包对应的位置信息时,方法还包括:根据缺失数据包的位置信息确定缺失数据包;根据缺失数据包和缺失数据包的位置信息,生成第一续发数据帧,将第一续发数据帧发送至控制器,以便后续根据第一续发数据帧和升级数据帧确定第一升级程序升级控制器。
示例性地,第一应答位图数据包中包括了缺失数据包对应的位置信息时,说明控制器没有获取到全部的差异数据包,系统主站需要将缺失数据包以及对应的位置信息发送至控制器,这样控制器就获取到全部的差异数据包来得到对应的第一升级程序升级控制器。
在上述实施例的基础上,本发明实施例还提供了另一种流量计控制器升级方法,本实施例中对于上述实施例中已经介绍的内容将不再重复赘述,在本实施例中,考虑到当控制器与主站系统连接时间过长,而对应的控制器电源不能提供较大的电流,断开连接导致升级失败的问题。因此该方法在控制器与系统主站连接时长达到预设阈值时,方法还包括:
生成中断执行帧,并发送至控制器,中断执行帧包括休息时间;获取控制器发送的建立连接请求,根据建立连接请求,建立与控制器的连接;获取控制器发送的第二位图数据,将第二位图数据与全部差异数据包的位置数据进行比对,得到中断数据包以及中断数据包在第一程序的位置数据;根据中断数据包和中断数据包在第一程序的位置数据,生成第二续发数据帧,并将第二续发数据帧发送至控制器,以便后续控制器根据第二续发数据帧、升级数据帧以及控制器已有的第一程序生成第二升级程序,根据第二升级程序升级控制器。
示例性地,控制器与系统主站连接时间达到一定的时间时,系统主站生成中断执行帧,中断执行帧中包括中断的休息时间,来主动断开与控制器的连接,避免控制器因为长时间连接可能导致的升级失败的问题。当控制器断开连接的时间达到休息时间时,就会重新与系统主站建立连接并继续进行差异数据包的获取。直至获取到全部的差异数据包后进行升级。这里的预设阈值可以根据控制器的类型等信息来确定。
由于不确定在中断之前,控制器获取了多少的差异数据包,因此需要生成一个的位图查询帧,来确定控制器获取到的差异数据包,以及缺失数据包以及缺失数据包对应的位置信息,根据缺失数据包和对应的位置信息来生成对应的续发数据帧,直至控制器获取到全部的差异数据包。
以下,以一个具体的实施例,对上述控制器和系统主站之间的交互过程进行介绍:
S1.1、把控制器的新版、旧版程序代码文件存放到系统主站指定路径,生成程序差异数据包及位图数据,差异数据包及位图数据具体生成方法如下:
截取新版、旧版程序的应用区程序数据,把新版、旧版程序按256字节分成多包数据,每包数据编号,编号按程序初始地址从0开始,编号数为0为应用程序数据从初始地址开始的256字节数据,编号数为1为应用程序数据从第257字节开始的256个字节数据,以此类推,最后编号的数据包小于等于256字节。位图数据每个bit位代表一包数据,第一个位图数据的bit0位对应编号0的数据包,第一个位图的bit1位对应编号1的数据包……,第二个位图数据的bit0位对应编号8的数据包,第二个位图的bit1位对应编号9的数据包……,以此类推。上位机程序循环把新版和旧版程序相同编号的每包数据进行比对,如数据不一致,取新版程序的包数据和编号生成差异数据包,并置位图相对应bit位为是,否则为否。
S1.2、系统主站根据控制器对应的类型及历史上报数据预置控制器升级参数,配置远传在线最大时长、休息时间,升级数据帧发送方式是盲发或一发一答,如盲发,配置盲发间隔时间和位图查询发送间隔帧数,一般建议采用盲发方式;
S1.3、控制器通过NB-IoT或4G、5G等通信技术与系统主站建立连接,并上报控制器的相关信息,包括控制器电量、当前程序版本号等;
S1.4、系统主站系统检测到有预置升级命令,下发升级起始帧,起始帧内容可以包括旧程序版本、旧程序数据长度、旧程序校验码、新程序版本、新程序数据长度、新程序校验码,旧程序校验码为应用程序区所有程序代码数据的校验和,新程序校验码为所有升级数据包数据的校验和。
S1.5、控制器终端收到起始帧,判断起始帧内容后应答。
升级相关信息初始化为控制器的位图数据清零(全部设为否),flash存贮升级程序区数据清零,升级相关标志置为启动标志,位图数据、升级相关标志和新程序校验和及长度存入EEROM。
S1.6、系统主站收到升级初始化成功的应答后,往下执行;
S1.7、系统主站下发程序升级数据帧,如为盲发模式,每发送一帧升级数据,盲发间隔时间到,再下发一帧升级数据,如下发帧数已到配置的发送位图查询,跳到S1.8步骤。如升级数据帧发送为一发一答模式,发送一帧数据后等到终端应答成功接收后再下发下一升级数据帧。直到所有数据帧下发完成跳到S1.8步骤。在发送数据帧过程中,如果判断控制器远传在线时长超过配置的最大时长,跳到S1.10步骤;
S1.8、系统主站下发位图查询命令,控制器收到命令后应答控制器的位图数据,主站系统根据收到的应答位图和S1.1生成的位图数据进行比对,根据比对位图算出控制器终端还有未收到的数据帧,跳回S1.7继续执行,如控制器终端升级数据帧已全部收到,跳到S1.11步骤执行;
S1.9、控制器收到升级数据帧后,把升级代码数据按帧中的编号标识及数据长度写入外部flash相对应的地址中,地址的计算方式为存贮初始地址加编号乘以256,返回写入成功,再从flash相同地址读取出数据,和下发帧数据比对,如一致,根据帧中编号标识更新存储在EEROM中的位图数据,更新位图数据成功应答主站升级数据接收成功,如无应答,主站下发升级数据帧必须为盲发模式(建议采用盲发模式)。
S1.10、主站系统下发升级中断执行帧,控制器终端收到升级中断执行帧,断开控制器和主站系统的远传连接,控制器根据数据帧中的升级续传休息时间及当前时间计算下次和主站连接时间。当控制器判断到和主站的连接时间已到,主动与系统主站建立连接,上报控制器信息,主站系统收到上报信息,跳到S1.8步骤继续执行;
S1.11、系统主站下发升级固件执行帧,控制器收到命令后先把控制器存贮的位图数据和升级执行帧中的位图数据项进行比对,如一致,根据初始命令中S1.5步骤中存储在EEROM中的新程序程序长度和校验码校验升级数据的完整性,数据完整性校验通过后把升级相关标志置为升级数据完整标志,并和位图一起存入flash中,应答系统升级数据完整,延时10秒后程序软复位;
S1.12、控制器程序复位后先运行boot程序,程序从flash中取出升级相关标志,判断为升级数据完整后,取出存贮在flash中的位图,根据位图进行差异程序代码替换,即把外部flash中存储的升级数据写入程序代码相对应的flash区,替换成功后进行入应用区程序,控制器程序正常运行,主动和主站建立远传连接,上报控制器信息,主站系统收到上报信息中的版本号和新程序一致,程序升级完成,控制器升级完成。
以上,为本申请所提供的流量计控制器升级几个方法实施例,下文中则介绍说明本申请所提供的流量计控制器升级其他实施例,具体参见如下。
本发明实施例还公开了一种流量计控制器升级装置,如图6所示,应用于控制器,装置包括:
第一连接模块601,用于建立与系统主站的通信连接,并向系统主站发送升级请求信息,升级请求信息用于指示获取第一程序的升级数据帧;
获取信息模块602,用于获取系统主站根据升级请求信息反馈的第一程序的第一程序信息;
验证模块603,用于当验证第一程序信息为有效信息时,向系统主站发送应答指令;
获取升级数据帧模块604,用于获取系统主站根据应答指令发送的升级数据帧,升级数据帧用以表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,第二程序为系统主站存储的第一程序的升级程序;
确定程序模块605,用于根据差异数据包、差异数据包对应的位置信息,以及第一程序生成第一升级程序;
升级模块606,用于根据第一升级程序升级控制器。
作为本申请的一个可选的实施方式,根据第一升级程序升级控制器之前,装置还用于:
获取系统主站发送的位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息;
根据差异数据包、差异数据包对应的位置信息生成控制器的第一位图数据;
根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站;
获取系统主站根据第一应答位图数据反馈的固件执行帧;
根据固件执行帧,验证差异数据包的完整性;
当差异数据包完整时,根据第一程序、预设划分标准以及差异数据包,生成第一升级程序,对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
作为本申请的一个可选的实施方式,根据第一升级程序升级控制器之前,装置还用于:
获取系统主站发送的位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序的位置信息;
根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据;
根据第一位图数据与位图查询帧,生成第一应答位图数据,将第一应答位图数据发送至系统主站;
获取系统主站根据第一应答位图数据反馈的固件执行帧;
根据固件执行帧对第一升级程序的完整性进行验证,以便当第一升级程序验证成功后,根据第一升级程序升级控制器。
作为本申请的一个可选的实施方式,根据差异数据包、差异数据包对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第一位图数据,具体用于:
将第一程序以预设划分标准划分为多个第一数据包集合;
将第一数据包集合中与差异数据包对应的位置信息一致的数据包替换为差异数据包,得到第二数据包集合;
根据第二数据包集合生成第一位图数据。
作为本申请的一个可选的实施方式,第一位图数据还包括已替换数据包的位置信息,根据第一位图数据与位图查询帧,生成第一应答位图数据,具体用于:
将已替换数据包的位置信息与位图查询帧中所有的差异数据包的位置信息进行比对,得到差别位置信息;
根据差别位置信息,生成第一应答位图数据。
作为本申请的一个可选的实施方式,当第一应答位图数据包括缺失数据包对应的位置信息时,装置还用于:
获取系统主站根据第一应答位图数据反馈的第一续发数据帧,第一续发数据帧包括缺失数据包和缺失数据包的位置信息;
根据缺失数据包、缺失数据包的位置信息以及在位图查询帧获取的差异数据包,确定第一升级程序,并根据第一升级程序升级控制器。
作为本申请的一个可选的实施方式,当获取到系统主站发送的中断执行帧时,中断执行帧包括休息时间,装置还用于:
根据中断执行帧中断与系统主站的连接,并在中断时间累计达到休息时间时,向系统主站发送建立连接请求后,与系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据中断之前获取的差异数据包、中断之前获取的差异数据包分别对应的位置信息生成控制器的第二位图数据;
将第二位图数据发送至系统主站,并获取系统主站根据第二位图数据发送的第二续发数据帧,第二续发数据帧包括中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包、中断数据包的位置数据、中断之前获取的差异数据包、中断之前获取的差异数据包对应的位置信息以及第一程序,生成第二升级程序;
根据第二升级程序升级控制器。
作为本申请的一个可选的实施方式,当获取到系统主站发送的中断执行帧时,中断执行帧包括休息时间,装置还用于:
根据中断执行帧中断与系统主站的连接,并在中断时间累计达到休息时间时,向系统主站发送建立连接请求后,与系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据中断之前获取的差异数据包、中断之前获取的差异数据包分别对应的位置信息、预设划分标准和第一程序对应的数据生成控制器的第二位图数据;
将第二位图数据发送至系统主站,并获取系统主站根据第二位图数据发送的第二续发数据帧,第二续发数据帧包括中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包、中断数据包的位置数据、中断之前获取的差异数据包、中断之前获取的差异数据包对应的位置信息以及第一程序,生成第二升级程序;
根据第二升级程序升级控制器。
本发明实施例提供的流量计控制器升级装置中各部件所执行的功能均已在上述任一方法实施例中做了详细的描述,因此这里不再赘述。
通过执行该装置,建立与系统主站的通信连接,向系统主站发送升级请求信息,其中升级请求信息用于指示获取第一程序的升级数据帧;随后获取系统主站根据升级请求信息反馈的第一程序的第一程序信息,可以根据第一程序信息验证系统主站与控制器中的正在运行的程序是否一致,由此可以确保在升级过程中安全性;进一步地,当验证第一程序信息为有效信息时,向系统主站发送应答指令,并获取系统主站根据应答指令发送的升级数据帧,其中升级数据帧表征第一程序与第二程序之间的差异数据包,以及差异数据包在第一程序中的位置信息,因此控制器可以根据差异数据包和数据在第一程序中的位置信息,对第一程序进行升级,避免了在获取全部升级程序时在线传输时间过长的问题。
本发明实施例还公开了一种流量计控制器升级装置,应用于系统主站,如图7所示,应用于系统主站,装置包括:
第二连接模块701,用于获取控制器发送的升级请求信息,根据升级请求信息,发送第一程序的第一程序信息至控制器;
获取应答指令模块702,用于获取控制器根据第一程序信息反馈的应答指令;
发送升级数据帧模块703,用于根据应答指令,向控制器发送升级数据帧,升级数据帧用于表征第一程序和第二程序之间的差异数据包,以及差异数据包在第一程序的位置信息,以便后续控制器根据差异数据包生成第一升级程序,并根据第一升级程序升级控制器,第二程序是第一程序的升级程序。
作为本申请的一个可选实施方式,根据应答指令,向控制器发送升级数据帧之前,装置还用于:
将第一程序和第二程序分别以预设划分标准依次划分,得到与第一程序对应的第一数据包集合和与第二程序对应的第二数据包集合;
对第一数据包集合中的每个数据包与预设位图标识进行绑定,生成与第一程序对应的第一位图数据;
根据第二数据包集合中的每个数据包与预设位图标识进行绑定,生成与第二程序对应的第二位图数据;
逐个比对第一位图数据和第二位图数据中对应的位置的数据包,将所有不一致的数据包构成差异数据包,并记录差异数据包在第一位图数据中的位置信息;
根据差异数据包和差异数据包的位置信息,构成升级数据帧。
作为本申请的一个可选实施方式,在将升级数据帧发送至控制器后,装置还用于:
向控制器发送位图查询帧,位图查询帧用以表征系统主站中全部差异数据包在第一程序中的位置信息;
获取控制器根据位图查询帧反馈的第一应答位图数据;
当第一应答位图数据未包括缺失数据包对应的位置信息时,向控制器发送固件升级帧,用以后续控制器根据固件升级帧和第一升级程序升级控制器;
当第一应答位图数据包括缺失数据包对应的位置信息时,方法还包括:
根据缺失数据包的位置信息确定缺失数据包;
根据缺失数据包和缺失数据包的位置信息,生成第一续发数据帧,将第一续发数据帧发送至控制器,以便后续根据第一续发数据帧和升级数据帧确定第一升级程序升级控制器。
作为本申请的一个可选实施方式,当控制器与系统主站连接时长达到预设阈值时,装置还用于:
生成中断执行帧,并发送至控制器,中断执行帧包括休息时间;
获取控制器发送的建立连接请求,根据建立连接请求,建立与控制器的连接;
向控制器发送位图查询帧;
获取控制器应答的第二位图数据,将第二位图数据与全部差异数据包的位置数据进行比对,得到中断数据包以及中断数据包在第一程序的位置数据;
根据中断数据包和中断数据包在第一程序的位置数据,生成第二续发数据帧,并将第二续发数据帧发送至控制器,以便后续控制器根据第二续发数据帧、升级数据帧以及控制器已有的第一程序生成第二升级程序,根据第二升级程序升级控制器。
本发明实施例提供的流量计控制器升级装置中各部件所执行的功能均已在上述任一方法实施例中做了详细的描述,因此这里不再赘述。
本发明实施例还提供了一种计算机设备,如图8所示,该计算端可以包括处理器801和存储器802,其中处理器801和存储器802可以通过总线或者其他方式连接,图8中以通过总线连接为例。
处理器801可以为中央处理器(Central Processing Unit,CPU)。处理器801还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器802作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的流量计控制器升级方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的流量计控制器升级方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器801所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至处理器801。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器802中,当被处理器801执行时,执行如图1或图3所示实施例中的流量计控制器升级方法。
上述计算机设备具体细节可以对应参阅图1或图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (12)

1.一种流量计控制器升级方法,其特征在于,由控制器执行,所述方法包括:
建立与系统主站的通信连接,并向所述系统主站发送升级请求信息,所述升级请求信息用于指示获取第一程序的升级数据帧;
获取所述系统主站根据所述升级请求信息反馈的所述第一程序的第一程序信息;
当验证所述第一程序信息为有效信息时,向所述系统主站发送应答指令;
获取所述系统主站根据所述应答指令发送的升级数据帧,所述升级数据帧用以表征所述第一程序和第二程序之间的差异数据包,以及所述差异数据包在所述第一程序的位置信息,所述第二程序为所述系统主站存储的所述第一程序的升级程序;
根据所述差异数据包、所述差异数据包对应的位置信息,以及所述第一程序生成第一升级程序;
根据所述第一升级程序升级所述控制器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一升级程序升级所述控制器之前,所述方法还包括:
获取所述系统主站发送的位图查询帧,所述位图查询帧用以表征所述系统主站中全部差异数据包在所述第一程序的位置信息;
根据所述差异数据包、所述差异数据包对应的位置信息生成所述控制器的第一位图数据;
根据所述第一位图数据与所述位图查询帧,生成第一应答位图数据,将所述第一应答位图数据发送至所述系统主站;
获取所述系统主站根据所述第一应答位图数据反馈的固件执行帧;
根据所述固件执行帧,验证所述差异数据包的完整性;
当所述差异数据包完整时,根据所述第一程序、预设划分标准以及所述差异数据包,生成第一升级程序,对所述第一升级程序的完整性进行验证,以便当所述第一升级程序验证成功后,根据所述第一升级程序升级所述控制器。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一升级程序升级所述控制器之前,所述方法还包括:
获取所述系统主站发送的位图查询帧,所述位图查询帧用以表征所述系统主站中全部差异数据包在所述第一程序的位置信息;
根据所述差异数据包、所述差异数据包对应的位置信息、预设划分标准和所述第一程序对应的数据生成所述控制器的第一位图数据;
根据所述第一位图数据与所述位图查询帧,生成第一应答位图数据,将所述第一应答位图数据发送至所述系统主站;
获取所述系统主站根据所述第一应答位图数据反馈的固件执行帧;
根据所述固件执行帧对所述第一升级程序的完整性进行验证,以便当所述第一升级程序验证成功后,根据所述第一升级程序升级所述控制器。
4.根据权利要求2或3所述的方法,其特征在于,当所述第一应答位图数据包括缺失数据包对应的位置信息时,所述方法还包括:
获取所述系统主站根据所述第一应答位图数据反馈的第一续发数据帧,所述第一续发数据帧包括缺失数据包和所述缺失数据包的位置信息;
根据所述缺失数据包、所述缺失数据包的位置信息以及在所述位图查询帧之前获取的差异数据包,确定所述第一升级程序,并根据所述第一升级程序升级所述控制器。
5.根据权利要求2所述的方法,其特征在于,当获取到所述系统主站发送的中断执行帧时,所述中断执行帧包括休息时间,所述方法还包括:
根据所述中断执行帧中断与所述系统主站的连接,并在中断时间累计达到所述休息时间时,向所述系统主站发送建立连接请求后,与所述系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据所述中断之前获取的差异数据包、所述中断之前获取的差异数据包分别对应的位置信息生成所述控制器的第二位图数据;
将所述第二位图数据发送至所述系统主站,并获取所述系统主站根据所述第二位图数据发送的第二续发数据帧,所述第二续发数据帧包括中断数据包以及所述中断数据包在所述第一程序的位置数据;
根据所述中断数据包、所述中断数据包的位置数据、所述中断之前获取的差异数据包、所述中断之前获取的差异数据包对应的位置信息以及所述第一程序,生成第二升级程序;
根据所述第二升级程序升级所述控制器。
6.根据权利要求3所述的方法,其特征在于,当获取到所述系统主站发送的中断执行帧时,所述中断执行帧包括休息时间,所述方法还包括:
根据所述中断执行帧中断与所述系统主站的连接,并在中断时间累计达到所述休息时间时,向所述系统主站发送建立连接请求后,与所述系统主站建立连接;
确定中断之前获取的差异数据包,以及中断之前获取的差异数据包分别对应的位置信息;
根据所述中断之前获取的差异数据包、所述中断之前获取的差异数据包分别对应的位置信息、预设划分标准和所述第一程序对应的数据生成所述控制器的第二位图数据;
将所述第二位图数据发送至所述系统主站,并获取所述系统主站根据所述第二位图数据发送的第二续发数据帧,所述第二续发数据帧包括中断数据包以及所述中断数据包在所述第一程序的位置数据;
根据所述中断数据包、所述中断数据包的位置数据、所述中断之前获取的差异数据包、所述中断之前获取的差异数据包对应的位置信息以及所述第一程序,生成第二升级程序;
根据所述第二升级程序升级所述控制器。
7.一种流量计控制器升级方法,其特征在于,由系统主站执行,所述方法包括:
获取控制器发送的升级请求信息,根据所述升级请求信息,发送第一程序的第一程序信息至所述控制器;
获取所述控制器根据所述第一程序信息反馈的应答指令;
根据所述应答指令,向所述控制器发送升级数据帧,所述升级数据帧用于表征所述第一程序和第二程序之间的差异数据包,以及所述差异数据包在所述第一程序的位置信息,以便后续所述控制器根据所述差异数据包生成第一升级程序,并根据所述第一升级程序升级所述控制器,所述第二程序是所述第一程序的升级程序。
8.根据权利要求7所述的方法,其特征在于,所述根据所述应答指令,向所述控制器发送升级数据帧之前,所述方法还包括:
将所述第一程序和所述第二程序分别以预设划分标准依次划分,得到与第一程序对应的第一数据包集合和与第二程序对应的第二数据包集合;
对所述第一数据包集合中的每个数据包与预设位图标识进行绑定,生成与所述第一程序对应的第一位图数据;
根据所述第二数据包集合中的每个数据包与预设位图标识进行绑定,生成与所述第二程序对应的第二位图数据;
逐个比对所述第一位图数据和所述第二位图数据中对应的位置的数据包,将所有不一致的数据包构成所述差异数据包,并记录所述差异数据包在所述第一位图数据中的位置信息;
根据所述差异数据包和所述差异数据包的位置信息,构成升级数据帧。
9.根据权利要求7所述的方法,其特征在于,在将升级数据帧发送至所述控制器后,所述方法还包括:
向所述控制器发送位图查询帧,所述位图查询帧用以表征所述系统主站中全部差异数据包在所述第一程序中的位置信息;
获取所述控制器根据所述位图查询帧反馈的第一应答位图数据;
当所述第一应答位图数据未包括缺失数据包对应的位置信息时,向所述控制器发送固件升级帧,用以后续所述控制器根据所述固件升级帧和所述第一升级程序升级所述控制器;
当所述第一应答位图数据包括缺失数据包对应的位置信息时,所述方法还包括:
根据所述缺失数据包的位置信息确定所述缺失数据包;
根据所述缺失数据包和所述缺失数据包的位置信息,生成第一续发数据帧,将所述第一续发数据帧发送至所述控制器,以便后续根据所述第一续发数据帧和所述升级数据帧确定所述第一升级程序升级所述控制器。
10.根据权利要求9所述的方法,其特征在于,当所述控制器与所述系统主站连接时长达到预设阈值时,所述方法还包括:
生成中断执行帧,并发送至所述控制器,所述中断执行帧包括休息时间;
获取所述控制器发送的建立连接请求,根据所述建立连接请求,建立与所述控制器的连接;
获取所述控制器发送的第二位图数据,将所述第二位图数据与所述全部差异数据包的位置数据进行比对,得到中断数据包以及所述中断数据包在所述第一程序的位置数据;
根据所述中断数据包和所述中断数据包在所述第一程序的位置数据,生成第二续发数据帧,并将所述第二续发数据帧发送至所述控制器,以便后续所述控制器根据所述第二续发数据帧、所述升级数据帧以及所述控制器已有的第一程序生成第二升级程序,根据所述第二升级程序升级所述控制器。
11.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6或如权利要求7-10任一所述的流量计控制器升级方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被节点执行时实现如权利要求1-6或如权利要求7-10任一所述的流量计控制器升级方法。
CN202310116303.9A 2023-01-16 2023-01-16 一种流量计控制器升级方法、计算机设备及存储介质 Pending CN116107618A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310116303.9A CN116107618A (zh) 2023-01-16 2023-01-16 一种流量计控制器升级方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310116303.9A CN116107618A (zh) 2023-01-16 2023-01-16 一种流量计控制器升级方法、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116107618A true CN116107618A (zh) 2023-05-12

Family

ID=86253939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310116303.9A Pending CN116107618A (zh) 2023-01-16 2023-01-16 一种流量计控制器升级方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116107618A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278340A (zh) * 2023-11-23 2023-12-22 瑞纳智能设备股份有限公司 实现低功耗阀固件升级的方法及存储介质、电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278340A (zh) * 2023-11-23 2023-12-22 瑞纳智能设备股份有限公司 实现低功耗阀固件升级的方法及存储介质、电子设备
CN117278340B (zh) * 2023-11-23 2024-02-13 瑞纳智能设备股份有限公司 实现低功耗阀固件升级的方法及存储介质、电子设备

Similar Documents

Publication Publication Date Title
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN105224362A (zh) 上位机对下位机进行程序升级的方法及系统
CN109343873A (zh) 一种智能家电远程升级控制方法
CN112650520B (zh) 电表升级方法、系统、智能电表及存储介质
CN105511929A (zh) 一种设备远程无线升级方法
CN110708205A (zh) 通过网关对设备进行fota的方法及系统
US10469620B2 (en) Method for transferring a new software version to at least one electricity meter via a communication network
CN116107618A (zh) 一种流量计控制器升级方法、计算机设备及存储介质
CN113721966B (zh) 节点升级方法、装置、存储介质及电子装置
CN111123807A (zh) 一种新能源客车整车控制器的标定方法
CN114616544A (zh) 固件数据处理方法及装置
CN113238791A (zh) 一种主从架构的ota差分升级方法及系统
CN112822654A (zh) 一种基于ftp远程固件升级功能的遥测终端机及其控制方法
CN112333278A (zh) 智能设备升级方法、系统及智能设备
CN110362323B (zh) 基于分布式自组网的嵌入式终端设备程序更新方法
CN112667272A (zh) 电表升级方法、系统、智能电表及存储介质
WO2017049557A1 (zh) 为适配器升级的方法、移动终端和适配器
CN111984287A (zh) 设备升级方法及系统
CN112925546B (zh) 一种防止车载ecu刷新出错的多级校验方法及系统
KR101436135B1 (ko) 하부장치에 대한 소프트웨어 업데이트 장치
CN113865171A (zh) 一种制冰机
US20180219727A1 (en) Method and apparatus for terminal configuration management
CN114157674A (zh) 无线通信方法、装置、系统、服务器以及介质
CN111813597A (zh) 一种空调器
CN115915102B (zh) USAT特性更新方法、eUICC、终端、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Zhengtai Instrument Measurement Industrial Park, No.1 Liangce Road, Beibaixiang Town, Leqing City, Wenzhou City, Zhejiang Province, 325603

Applicant after: ZHEJIANG CHINT INSTRUMENT & METER Co.,Ltd.

Address before: 325603 Wenzhou Daqiao Industrial Park, Yueqing City, Wenzhou City, Zhejiang Province

Applicant before: ZHEJIANG CHINT INSTRUMENT & METER Co.,Ltd.

CB02 Change of applicant information