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

文档序号:9352693阅读:1302来源:国知局
一种物联网智能设备固件及应用程序升级方法
【技术领域】
[0001] 本发明涉及计算机领域,具体而言,本发明涉及一种物联网智能设备固件及应用 程序升级方法。
【背景技术】
[0002] 随着物联网的兴起与发展,大量如传感器等智能设备连入互联网,它们数量众多, 并需要不断地升级固件或应用程序来满足新的用户需求。如今已经实现通过互联网对设备 进行远程固件及应该用程序升级,但升级大多采用传统的C/S结构,即通过服务器转发升 级文件给设备端进行升级。同时随着设备数量不断增加,庞大的设备数量带来的是对升级 效率的进一步苛求。在待升级设备数量众多的情况下,升级效率就会明显下降。

【发明内容】

[0003] 为解决上述技术问题,本发明提供了一种物联网智能设备固件及应用程序升级方 法,包括客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议;
[0004] 设备通过DHCP协议自动连网并通过心跳机制与服务器保持长连接,使服务器内 存储的设备IP地址信息是最新的,保证服务器能够随时与设备通信;客户端通过服务器获 取设备的IP地址信息,并根据实际网络选择升级方式;
[0005] DHCP协议的帧结构包括首部字段和数据字段;首部字段包括opcode、block、IP、 Port和MAC字段,数据字段为Message字段;每次通信发送的数据包中,包含首部字段,不 一定包含数据字段;
[0006] 传输过程采用接收确认机制和超时重发机制:
[0007] 接收确认机制采用一问一答方式实现;设备每次收到数据包后检查所述block字 段的数据包ID,如数据包ID正确则回复确认消息给客户端进行确认,并等待接收此ID为下 一号的数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发 送此ID的数据包;
[0008] 超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计 时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过 程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
[0009] 进一步地,部字段中的opcode为数据包的操作码,包括数据传输操作码、NAT穿越 操作码和设备控制操作码。
[0010] 进一步地,升级方式包括局域网升级模式、NAT穿越升级模式和服务器升级模式。
[0011] 进一步地,block字段为储存升级数据包ID ;IP、Port和MAC字段用于储存设备的 地址信息。
[0012] 进一步地,IP字段储存设备的IP地址信息;Port字段储存设备的端口号,MAC字 段储存设备的MAC地址。
[0013] 本发明所述的一种物联网智能设备固件及应用程序升级方法采用自定义的升级 协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,相比现有技术,提高了升 级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电 脑客户端在任意时刻控制设备进行远程升级。
【附图说明】
[0014] 为了使本发明的内容更容易被清楚的理解,下面结合附图,对本发明作进一步详 细的说明,其中,
[0015] 图1是本发明所述的一种物联网智能设备固件及应用程序升级方法的DHCP协议 的帧结构示意图;
[0016] 图2是本发明所述的一种物联网智能设备固件及应用程序升级方法的一次升级 过程的示意图。
【具体实施方式】
[0017] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实 施方式作进一步地详细描述。
[0018] 在本方法中,设备通过基于UDP协议的DHCP协议自动连网并通过心跳机制与服务 器保持长连接,使服务器内存储的设备IP地址等信息是最新的,保证服务器能够随时与设 备通信。客户端通过服务器获取设备的IP地址等信息,并根据实际网络选择最优的方式进 行升级。升级方式分为三种:局域网升级模式、NAT穿越升级模式和服务器升级模式。此升 级方法为三种模式设定优先级别,并根据客户端与设备端所处网络进行升级模式的选择。 当客户端与设备处于同一局域网,通过服务器确认并选择局域网升级模式进行升级;当客 户端与设备处于不同网络中,服务器检测二者是否可以NAT穿越,如果可以,则选择NAT穿 越升级模式进行升级;当前两种方式都不可用的情况下,选择服务器升级模式进行升级。
[0019] 如图1所示,DHCP协议的帧结构由两部分组成,分别为首部字段和数据字段,其中 首部字段包括opcode、block、IP、Port和MAC字段,数据字段为Message字段。每次通信 发送的数据包中,首部字段一定包含,数据字段选择性包含。首部字段中的opcode为数据 包的操作码,相应数值和操作说明如表1所示,主要分为数据传输操作码、NAT穿越操作码 和设备控制操作码。block字段储存升级数据包ID。IP、Port和MAC字段用于储存设备的 地址信息等。
[0020]

[0021] 表 1
[0022] 为确保升级文件传输准确,传输过程采用接收确认机制和超时重发机制,其中接 收确认机制采用一问一答方式实现。设备每次收到数据包后检查block字段的数据包ID是 否是自己需要的,如ID正确则回复确认消息给客户端进行确认,并等待接收ID为下一号的 数据包;如果数据包ID错误,则设备发送错误消息和错误代码,通知客户端重新发送此ID 的数据包。超时重发机制的过程为:当客户端发送完一个数据包时,立刻开始一段时间的计 时,在此段时间内,如果客户端没有收到来自设备的接收确认消息,则认为数据包在传输过 程中丢失,待计时结束后,客户端会重新发送此ID的数据包。
[0023] 作为本实施例的具体实现方式,如图2所示,首先,客户端向设备发送UPDATE消息 通知设备进行升级,数据包中包含了升级用到的文件名,存储在Message字段中。作为回 应,设备发送RRQ消息给客户端,同时也将升级文件名储存在Message字段中进行发送。接 收到RRQ消息后,客户端把包中的文件名进行比对,如果错误则重新发送UPDATE消息。确 认文件名正确后,客户端开始向设备发送ID号为1、2、……、n的文件分包,相应的opcode 字段为DATA,每个文件分包都传输512字节的升级数据给设备。设备响应每个升级文件分 包,回发ID号为1、2、……、n的响应包,其opcode字段对应为ACK。
[0024] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对 于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或 变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或 变动仍处于本发明的保护范围之中。
【主权项】
1. 一种物联网智能设备固件及应用程序升级方法,其特征在于, 客户端、服务器和设备三者间的通信采用一个基于UDP协议的DHCP协议; 所述设备通过所述DHCP协议自动连网并通过心跳机制与所述服务器保持长连接,使 所述服务器内存储的所述设备IP地址信息是最新的,保证所述服务器能够随时与所述设 备通信;所述客户端通过服务器获取所述设备的IP地址信息,并根据实际网络选择升级方 式; 所述DHCP协议的帧结构包括首部字段和数据字段;所述首部字段包括〇pC〇de、bl 〇Ck、 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地址。
【专利摘要】本发明公开了一种物联网智能设备固件及应用程序升级方法,主要目的是为目前物联网设备固件及应用程序升级提供一种可行有效的升级方法。此升级系统采用自定义的升级协议,通过局域网、NAT穿越和服务器这三种方法优化了升级模式,提高了升级文件的传输效率。设备端自动连网并通过心跳机制连接服务器,使开发人员可以通过电脑客户端在任意时刻控制设备进行远程升级。
【IPC分类】H04L12/24, H04L29/08
【公开号】CN105071953
【申请号】CN201510416030
【发明人】郑泽铭, 陈一乔, 邹卓, 郑立荣
【申请人】复旦大学无锡研究院
【公开日】2015年11月18日
【申请日】2015年7月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1