CN105071953B - 一种物联网智能设备固件及应用程序升级方法 - Google Patents

一种物联网智能设备固件及应用程序升级方法 Download PDF

Info

Publication number
CN105071953B
CN105071953B CN201510416030.5A CN201510416030A CN105071953B CN 105071953 B CN105071953 B CN 105071953B CN 201510416030 A CN201510416030 A CN 201510416030A CN 105071953 B CN105071953 B CN 105071953B
Authority
CN
China
Prior art keywords
equipment
data packet
client
server
internet
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.)
Active
Application number
CN201510416030.5A
Other languages
English (en)
Other versions
CN105071953A (zh
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.)
WUXI INSTITUTE OF FUDAN UNIVERDITY
Original Assignee
WUXI INSTITUTE OF FUDAN UNIVERDITY
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 WUXI INSTITUTE OF FUDAN UNIVERDITY filed Critical WUXI INSTITUTE OF FUDAN UNIVERDITY
Priority to CN201510416030.5A priority Critical patent/CN105071953B/zh
Publication of CN105071953A publication Critical patent/CN105071953A/zh
Application granted granted Critical
Publication of CN105071953B publication Critical patent/CN105071953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Abstract

本发明公开了一种物联网智能设备固件及应用程序升级方法,主要目的是为目前物联网设备固件及应用程序升级提供一种可行有效的升级方法。此升级系统采用自定义的升级协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,提高了升级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电脑客户端在任意时刻控制设备进行远程升级。

Description

一种物联网智能设备固件及应用程序升级方法
技术领域
本发明涉及计算机领域,具体而言,本发明涉及一种物联网智能设备固件及应用程序升级方法。
背景技术
随着物联网的兴起与发展,大量如传感器等智能设备连入互联网,它们数量众多,并需要不断地升级固件或应用程序来满足新的用户需求。如今已经实现通过互联网对设备进行远程固件及应该用程序升级,但升级大多采用传统的C/S结构,即通过服务器转发升级文件给设备端进行升级。同时随着设备数量不断增加,庞大的设备数量带来的是对升级效率的进一步苛求。在待升级设备数量众多的情况下,升级效率就会明显下降。
发明内容
为解决上述技术问题,本发明提供了一种物联网智能设备固件及应用程序升级方法,包括客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议;
设备通过DHCP协议自动连网并通过心跳机制与服务器保持长连接,使服务器内存储的设备IP地址信息是最新的,保证服务器能够随时与设备通信;客户端通过服务器获取设备的IP地址信息,并根据实际网络选择升级方式;
DHCP协议的帧结构包括首部字段和数据字段;首部字段包括opcode、block、IP、Port和MAC字段,数据字段为Message字段;每次通信发送的数据包中,包含首部字段,不一定包含数据字段;
传输过程采用接收确认机制和超时重发机制:
接收确认机制采用一问一答方式实现;设备每次收到数据包后检查所述block字段的数据包ID,如数据包ID正确则回复确认消息给客户端进行确认,并等待接收此ID为下一号的数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发送此ID的数据包;
超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
进一步地,部字段中的opcode为数据包的操作码,包括数据传输操作码、NAT穿越操作码和设备控制操作码。
进一步地,升级方式包括局域网升级模式、NAT穿越升级模式和服务器升级模式。
进一步地,block字段为储存升级数据包ID;IP、Port和MAC字段用于储存设备的地址信息。
进一步地,IP字段储存设备的IP地址信息;Port字段储存设备的端口号,MAC字段储存设备的MAC地址。
本发明所述的一种物联网智能设备固件及应用程序升级方法采用自定义的升级协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,相比现有技术,提高了升级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电脑客户端在任意时刻控制设备进行远程升级。
附图说明
为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详细的说明,其中,
图1是本发明所述的一种物联网智能设备固件及应用程序升级方法的DHCP协议的帧结构示意图;
图2是本发明所述的一种物联网智能设备固件及应用程序升级方法的一次升级过程的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
在本方法中,设备通过基于UDP协议的DHCP协议自动连网并通过心跳机制与服务器保持长连接,使服务器内存储的设备IP地址等信息是最新的,保证服务器能够随时与设备通信。客户端通过服务器获取设备的IP地址等信息,并根据实际网络选择最优的方式进行升级。升级方式分为三种:局域网升级模式、NAT穿越升级模式和服务器升级模式。此升级方法为三种模式设定优先级别,并根据客户端与设备端所处网络进行升级模式的选择。当客户端与设备处于同一局域网,通过服务器确认并选择局域网升级模式进行升级;当客户端与设备处于不同网络中,服务器检测二者是否可以NAT穿越,如果可以,则选择NAT穿越升级模式进行升级;当前两种方式都不可用的情况下,选择服务器升级模式进行升级。
如图1所示,DHCP协议的帧结构由两部分组成,分别为首部字段和数据字段,其中首部字段包括opcode、block、IP、Port和MAC字段,数据字段为Message字段。每次通信发送的数据包中,首部字段一定包含,数据字段选择性包含。首部字段中的opcode为数据包的操作码,相应数值和操作说明如表1所示,主要分为数据传输操作码、NAT穿越操作码和设备控制操作码。block字段储存升级数据包ID。IP、Port和MAC字段用于储存设备的地址信息等。
Name opcode Introduction
RRQ 1 读取文件请求
WRQ 2 写入文件请求
DATA 3 数据消息
ACK 4 数据消息确认
ERROR 5 错误消息
REGISTER 10 设备向服务器发送心跳包
LIST 11 向服务器请求在线设备列表
PUNCHING 12 客户端向设备进行NAT穿越
MESSAGE 13 客户端向设备发送消息(NAT穿越成功后)
LIST_ACK 14 服务器响应客户端LIST的请求
TRASH 15 设备向客户端发送垃圾包
PUNCHED 16 设备通知服务器,完成“打洞”步骤
P2PTEST 17 客户端进行P2P测试,检测NAT穿越是否成功
P2PACK 18 设备响应客户端P2PTEST消息,NAT穿越成功
LANCONNECT 19 服务器通知客户端可以局域网内升级
UPDATE 20 客户端向设备发送UPDATE消息,进行升级
表1
为确保升级文件传输准确,传输过程采用接收确认机制和超时重发机制,其中接收确认机制采用一问一答方式实现。设备每次收到数据包后检查block字段的数据包ID是否是自己需要的,如ID正确则回复确认消息给客户端进行确认,并等待接收ID为下一号的数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发送此ID的数据包。超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
作为本实施例的具体实现方式,如图2所示,首先,客户端向设备发送UPDATE消息通知设备进行升级,数据包中包含了升级用到的文件名,存储在Message字段中。作为回应,设备发送RRQ消息给客户端,同时也将升级文件名储存在Message字段中进行发送。接收到RRQ消息后,客户端把包中的文件名进行比对,如果错误则重新发送UPDATE消息。确认文件名正确后,客户端开始向设备发送ID号为1、2、……、n的文件分包,相应的opcode字段为DATA,每个文件分包都传输512字节的升级数据给设备。设备响应每个升级文件分包,回发ID号为1、2、……、n的响应包,其opcode字段对应为ACK。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。

Claims (5)

1.一种物联网智能设备固件及应用程序升级方法,其特征在于,客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议;所述设备通过所述DHCP协议自动连网并通过心跳机制与所述服务器保持长连接,使所述服务器内存储的所述设备IP地址信息是最新的,保证所述服务器能够随时与所述设备通信;所述客户端通过服务器获取所述设备的IP地址信息,根据客户端与设备端所处网络进行升级模式的选择;当客户端与设备处于同一局域网,通过服务器确认并选择局域网升级模式进行升级;当客户端与设备处于不同网络中,服务器检测二者是否可以NAT穿越,如果可以,则选择NAT穿越升级模式进行升级;当前两种方式都不可用的情况下,选择服务器升级模式进行升级;所述DHCP协议的帧结构包括首部字段和数据字段;所述首部字段包括opcode、block、IP、Port和MAC字段,所述数据字段为Message字段;每次通信发送的数据包中,包含所述首部字段,不一定包含所述数据字段;传输过程采用接收确认机制和超时重发机制:所述接收确认机制采用一问一答方式实现;所述设备每次收到数据包后检查所述block字段的数据包ID,如所述数据包ID正确则回复确认消息给所述客户端进行确认,并等待接收下一号的数据包;如果所述数据包ID错误,则所述设备发送错误消息和错误代码,通知所述客户端重新发送数据包;所述超时重发机制的过程为:当所述客户端发送完一个数据包时,立刻开始一段时间的计时,在此段时间内,如果所述客户端没有收到来自所述设备的接收确认消息,则认为数据包在传输过程中丢失,待计时结束后,所述客户端会重新发送数据包。
2.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述首部字段中的opcode为数据包的操作码,包括数据传输操作码、NAT穿越操作码和设备控制操作码。
3.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述升级方式包括局域网升级模式、NAT穿越升级模式和服务器升级模式。
4.根据权利要求1所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述block字段为储存数据包ID;所述IP、Port和MAC字段用于储存设备的地址信息。
5.根据权利要求4所述的物联网智能设备固件及应用程序升级方法,其特征在于,所述IP字段储存所述设备的IP地址信息;所述Port字段储存所述设备的端口号,所述MAC字段储存所述设备的MAC地址。
CN201510416030.5A 2015-07-16 2015-07-16 一种物联网智能设备固件及应用程序升级方法 Active CN105071953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510416030.5A CN105071953B (zh) 2015-07-16 2015-07-16 一种物联网智能设备固件及应用程序升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510416030.5A CN105071953B (zh) 2015-07-16 2015-07-16 一种物联网智能设备固件及应用程序升级方法

Publications (2)

Publication Number Publication Date
CN105071953A CN105071953A (zh) 2015-11-18
CN105071953B true CN105071953B (zh) 2018-08-28

Family

ID=54501240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510416030.5A Active CN105071953B (zh) 2015-07-16 2015-07-16 一种物联网智能设备固件及应用程序升级方法

Country Status (1)

Country Link
CN (1) CN105071953B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298879A (zh) * 2017-07-25 2019-02-01 深圳市中兴微电子技术有限公司 一种高效物联网fota升级的方法
CN113141263B (zh) * 2020-01-02 2022-09-27 广东博智林机器人有限公司 一种升级方法、装置、系统和存储介质
CN114745267A (zh) * 2022-03-28 2022-07-12 杭州涂鸦信息技术有限公司 一种功能更新方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252458A (zh) * 2008-01-30 2008-08-27 深圳市共进电子有限公司 一种固件批量升级方法
CN101296146A (zh) * 2008-05-21 2008-10-29 深圳创维-Rgb电子有限公司 电视机远程升级系统
CN101321350A (zh) * 2008-07-24 2008-12-10 北京立通无限科技有限公司 移动终端应用软件自动升级的方法、装置和系统
CN103580921A (zh) * 2013-11-08 2014-02-12 深圳市共进电子股份有限公司 一种网络设备自动升级的方法及自动升级系统
CN103970553A (zh) * 2013-01-30 2014-08-06 广东美的制冷设备有限公司 一种家电产品功能升级的控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163341A1 (en) * 2002-02-26 2003-08-28 International Business Machines Corporation Apparatus and method of dynamically updating dynamic host configuration protocol (DHCP) options

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252458A (zh) * 2008-01-30 2008-08-27 深圳市共进电子有限公司 一种固件批量升级方法
CN101296146A (zh) * 2008-05-21 2008-10-29 深圳创维-Rgb电子有限公司 电视机远程升级系统
CN101321350A (zh) * 2008-07-24 2008-12-10 北京立通无限科技有限公司 移动终端应用软件自动升级的方法、装置和系统
CN103970553A (zh) * 2013-01-30 2014-08-06 广东美的制冷设备有限公司 一种家电产品功能升级的控制方法
CN103580921A (zh) * 2013-11-08 2014-02-12 深圳市共进电子股份有限公司 一种网络设备自动升级的方法及自动升级系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"NAT穿越技术研究与实现";曹申会;《中国优秀硕士学位论文全文数据库-信息科技辑》;20130615;全文 *
"一个基于UDP协议的P2P即时通讯软件的设计与实现";黄亮;《中国优秀硕士学位论文全文数据库-信息科技辑》;20120715;全文 *
"心跳机制在DHCP协议中的应用";王坤,林莉芸;《新乡学院学报》;20140228;第31卷(第2期);第28-34页 *

Also Published As

Publication number Publication date
CN105071953A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN107291516B (zh) 一种固件升级方法和系统
CN101645801B (zh) 基于集群管理的软件版本升级方法及命令交换机
CN103918307B (zh) 基于递送路径变化的分组排序
CN1819593B (zh) 信息处理器和数据传输系统及方法
CN109842523A (zh) 一种固件升级方法、装置、设备及存储介质
CN102045409B (zh) 网络穿透方法及网络通讯系统
CN105071953B (zh) 一种物联网智能设备固件及应用程序升级方法
CN103139157B (zh) 一种基于socket的网络通信方法、装置及系统
CN105229972B (zh) 增强的动态主机配置协议方法
CN103024028B (zh) 一种云计算中虚拟机ip地址探测系统及方法
CN101621411B (zh) 微控制器远程更新方法和更新系统
CN101951369A (zh) 基于自动发现的终端批量升级方法及其系统
CN101242330B (zh) 电子设备、管理服务器及其控制方法
CN108390950A (zh) 一种消息推送方法、装置及设备
CN106301959A (zh) 基于windows和linux平台的网关批量升级方法及系统
CN103152206A (zh) 一种多设备升级方法和系统
CN102082685A (zh) 嵌入式设备的网络配置方法和系统
CN104079571A (zh) 一种识别Android模拟器的方法及装置
CN104247322B (zh) 促进计算环境中的通信的方法、系统和计算机可读介质
CN108306959A (zh) 一种远程升级cpld固件的方法、装置和存储介质
RU2003108533A (ru) Способ интегрированного управления для коммутирующих устройств локальной вычислительной сети
CN110505071A (zh) 局域网内fpga板卡的远程更新方法、系统及相关装置
CN100481779C (zh) 升级控制方法及控制装置
CN104969521A (zh) 数据发送处理方法及路由器
CN104009961A (zh) 一种PPPoE会话标识分配方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant