CN110535954B - 门锁固件的升级方法、升级系统、智能网关和存储介质 - Google Patents

门锁固件的升级方法、升级系统、智能网关和存储介质 Download PDF

Info

Publication number
CN110535954B
CN110535954B CN201910822118.5A CN201910822118A CN110535954B CN 110535954 B CN110535954 B CN 110535954B CN 201910822118 A CN201910822118 A CN 201910822118A CN 110535954 B CN110535954 B CN 110535954B
Authority
CN
China
Prior art keywords
upgrading
firmware
information
door lock
preset
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
CN201910822118.5A
Other languages
English (en)
Other versions
CN110535954A (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.)
Beijing Baiyou Technology Co ltd
Original Assignee
Beijing Baiyou Technology 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 Beijing Baiyou Technology Co ltd filed Critical Beijing Baiyou Technology Co ltd
Priority to CN201910822118.5A priority Critical patent/CN110535954B/zh
Publication of CN110535954A publication Critical patent/CN110535954A/zh
Application granted granted Critical
Publication of CN110535954B publication Critical patent/CN110535954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

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

Abstract

本发明涉及门锁固件的升级方法、升级系统、智能网关和存储介质,该升级方法通过接收门锁发送的心跳信息,根据心跳信息中的固件版本信息和预设升级固件的版本信息判断门锁是否需要进行固件升级,当判断门锁需要进行固件升级时,查询预设升级数据库以获取门锁的升级状态信息,当升级状态信息为非升级状态时,将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态,当升级状态信息为下载升级状态时,查询预设升级数据库以获取预设升级固件的下发进度位置信息,根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发,根据门锁的反馈信息更新下发进度位置信息,提高了升级效率。

Description

门锁固件的升级方法、升级系统、智能网关和存储介质
技术领域
本发明涉及门禁控制领域,尤其涉及一种门锁固件的升级方法、升级系统、智能网关和存储介质。
背景技术
门锁升级方式一般采取拆机方式,例如主控芯片专用接口升级和ISP(In-SystemProgrammability,在系统可编程)升级,其中,主控芯片专用接口需要专用Flash烧录工具,将待升级的程序导入到烧录工具中,再通过门锁的专用升级接口烧录到主控芯片中,而对于ISP升级需要由上位机的软件配合且在预设升级程序的引导下通过门锁的串口写入到主控芯片中,总之,传统的升级方式均需要升级工具与主控芯片进行物理连接,操作繁琐且不便。
因此,目前的门锁采用OTA(Over the Air Technology,空中下载技术)升级,然而在Sub-1G的物联网的局域网中,Sub-1G的带宽资源紧张,在同一个局域网中,同一个网关可能对应多个门锁,当其中一个门锁进行升级并和网关之间传输升级数据包时,将会长时间占用上述Sub-1G的带宽资源,这样以来往往会影响其它门锁与上述网关之间的正常通信。
发明内容
鉴于此,本发明提供一种门锁固件的升级方法、升级系统和智能网关。
一种门锁固件的升级方法,上述升级方法包括:
接收门锁发送的心跳信息,心跳信息包括对应的固件版本信息;
根据固件版本信息和预设升级固件的版本信息判断门锁是否需要进行固件升级;
当判断门锁需要进行固件升级时,则根据门锁的MAC地址查询预设升级数据库以获取门锁的升级状态信息;
当升级状态信息为非升级状态时,则将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态;
当升级状态信息为下载升级状态时,则根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息;
根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发;
根据门锁的反馈信息更新下发进度位置信息。
在一个实施例中,在根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息的步骤之前还包括:
在获取到预设升级固件之后,根据预设升级固件大小以及预设数据块大小将预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库。
在一个实施例中,根据门锁的反馈信息更新下发进度位置信息的步骤包括:
若接收到门锁返回的数据块接收成功信息,则更新预设升级数据库中对应的下发进度位置信息为下一下发任务数据块对应的下发进度位置信息;
若接收到门锁返回的数据块接收失败信息时,保持预设升级数据库中对应的下发进度位置信息不变。
在一个实施例中,升级方法还包括:
将预设升级固件信息发送至门锁以使门锁根据预设升级固件信息对下载的预设升级固件进行校验并判断是否下载成功,预设升级固件信息包括预设升级固件的版本信息、固件大小和校验码;
当接收到门锁返回的固件下载成功信息时,将预设升级数据库中对应的升级状态信息更新为正在升级状态;
当接收到门锁返回的固件下载失败信息时,将下发进度位置信息更新为初始下发进度位置。
在一个实施例中,在将预设升级数据库中门锁的升级状态信息更新为正在升级状态的步骤之后还包括:
根据最新接收到的心跳信息获取对应的固件版本信息,并将所述固件版本信息与已写入所述预设升级数据库中的固件版本信息相比较;
当固件版本信息高于写入预设升级数据库中的固件版本信息时,判断门锁的固件升级过程完成,并将预设升级数据库中门锁的升级状态信息更新为非升级状态;
当固件版本信息等于写入预设升级数据库中的固件版本信息时,判断门锁的固件升级过程失败,并将下发进度位置信息更新为初始下发进度位置。
此外,还提供一种门锁固件的升级系统,升级系统包括门锁和智能网关;
智能网关用于接收门锁发送的心跳信息,心跳信息包括对应的固件版本信息;
智能网关用于根据固件版本信息和预设升级固件的版本信息判断门锁是否需要进行固件升级;
智能网关用于当判断门锁需要进行固件升级时,则根据门锁的MAC地址查询预设升级数据库以获取门锁的升级状态信息;
智能网关用于当升级状态信息为非升级状态时,则将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态;
智能网关用于当升级状态信息为下载升级状态时,则根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息;
智能网关用于根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发;
智能网关用于根据门锁的反馈信息更新下发进度位置信息。
在一个实施例中,升级系统还包括服务器;
智能网关还用于接收服务器发送的预设升级固件数据包,预设升级固件数据包设置有预设升级固件以及对应的预设升级固件信息。
在一个实施例中,智能网关还用于在获取到预设升级固件之后,根据预设升级固件大小以及预设数据块大小将预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库。
一种智能网关,智能网关包括存储器和处理器,存储器用于存储固件升级程序,处理器运行固件升级程序以使智能网关执行上述升级方法。
一种存储介质,存储介质上存储有上述智能网关所使用的固件升级程序。
上述门锁固件的升级方法,通过接收门锁发送的心跳信息,心跳信息包括对应的固件版本信息,根据固件版本信息和预设升级固件的版本信息判断门锁是否需要进行固件升级,当判断门锁需要进行固件升级时,则根据门锁的MAC地址查询预设升级数据库以获取门锁的升级状态信息,当升级状态信息为非升级状态时,则将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态,当升级状态信息为下载升级状态时,则根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息,根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发,根据门锁的反馈信息更新下发进度位置信息,能够将预设升级固件分成多个下发任务数据块,进而能够利用每次心跳时间的间隔,由智能网关根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息,进而根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发,并接收门锁的反馈信息更新下发进度位置信息,这样可以避免数据集中传输占用大量Sug-1G带宽资源,进而避免影响到网关与其它门锁之间的正常数据通信。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1为本发明一个实施例中门锁固件的升级方法的应用环境示意图;
图2为本发明一个实施例中一种门锁固件的升级方法的流程示意图;
图3为本发明一个实施例中确定每个下发任务数据块的对应下发进度位置信息的界面示意图;
图4为本发明一个实施例中智能网关根据门锁的反馈信息更新下发进度位置信息的方法流程示意图;
图5为本发明另一个实施例中一种门锁固件的升级方法的流程示意图;
图6为本发明又一个实施例中一种门锁固件的升级方法的流程示意图;
图7为本发明一个实施例中一种门锁固件的升级系统的结构框图;
图8为本发明另一个实施例中一种门锁固件的升级系统的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
图1为一个实施例中门锁固件的升级方法的应用环境示意图。
其中,图1包含三个门锁,智能网关100、门锁110、门锁120以及门锁130组成物联网局域网,门锁110、门锁120以及门锁130分别能够与智能网关100进行通信。
其中,上述门锁110通常采用智能门锁。
图2为一个实施例中一种门锁固件的升级方法的流程示意图,该升级方法包括:
步骤S210,接收门锁发送的心跳信息,心跳信息包括对应的固件版本信息。
其中,在上述门锁的物联网中,门锁通常需要每隔预设时间定时向网关发送一次心跳信息,以使门锁及时的上报自身的工作状态信息,每次心跳信息包括门锁的固件版本信息,网关接收到上述心跳信息后获取到门锁的固件版本信息。
其中,在门锁升级时,首先需要把目标升级固件包上传到服务器,然后,网关从服务器获取预设升级固件,然后保存到内部存储器中。
步骤S220,根据固件版本信息和预设升级固件的版本信息判断门锁是否需要进行固件升级。
其中,智能网关在获取各个门锁各自对应的固件版本信息之后,进一步将每个门锁的固件版本信息分别与预设升级固件的版本信息相比较,通常采取比较每个门锁的固件版本序列号是否分别等于各自对应的预设升级固件的版本序列号,以此判断各个门锁是否需要进行升级。
步骤S230,当判断门锁需要进行固件升级时,则根据门锁的MAC地址查询预设升级数据库以获取门锁的升级状态信息。
其中,各个门锁和网关组成同一个局域网,相应地,每个智能网关均对应分配一个MAC地址(媒体存取控制地址,Media Access Control Address),当智能网关发现门锁的固件版本序列号低于对应的预设升级固件的版本序列号时,此时智能网关就需要进一步据门锁的MAC地址查询预设升级数据库以获取门锁的升级状态信息。
其中,每个门锁即使对应的固件版本序列号低于对应的预设升级固件的版本序列号时,可能处于非升级状态、下载升级状态和正在升级状态,其中,非升级状态是指门锁没有进行下载预设升级固件的任务准备或者对应的下载任务时所对应的状态,下载升级状态是指门锁将要执行下载预设升级固件任务时或者正在下载上述预设升级固件时所处的状态,正在升级状态是指门锁已经成功下载上述预设升级固件且正在利用上述预设升级固件进行升级时所对应的状态。
步骤S240,当升级状态信息为非升级状态时,则将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态。
其中,当智能网关发现门锁的固件版本序列号低于对应的预设升级固件的版本序列号且查询到上述门锁处于非升级装状态时,此时智能网关则会将通过上述心跳信息获得的固件版本信息写入预设升级数据库中且将上述门锁对应的升级状态信息设置为下载升级状态。
步骤S250,当升级状态信息为下载升级状态时,则根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息。
其中,当智能网关发现门锁的固件版本序列号低于对应的预设升级固件的版本序列号且查询到上述门锁处于下载升级装状态时,表明上述门锁已经做好下载上述预设升级固件的任务准备或者已经正在执行上述下载预设升级固件任务,此时智能网关需要根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息。
其中,智能网关预设升级数据库中存储有处于下载升级状态中各个门锁各自对应的预设升级固件所对应的下发进度位置信息,且各个预设升级固件的下发进度位置信息所对应的存储位置与各个门锁的MAC地址相对应。
步骤S260,根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发。
其中,智能网关在获取门锁对应的下发进度位置信息之后,根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块,这是因为预设升级固件往往文件大小较大,智能网关通过将上述预设升级固件划分为多个任务数据块,在获取上述下发进度位置信息之后,查询获取到对应的相应下发进度位置的下发数据块并进行下发。
步骤S270,根据门锁的反馈信息更新下发进度位置信息。
其中,门锁在下载每一个下发数据块之后均向智能网关发送对应的下载反馈信息,其中,智能网关在获取上述反馈信息之后及时的更新上述预设升级数据库中该门锁对应的下发进度位置信息,为后续的下发数据块的下发做好准备,直至智能网关将上述预设升级固件下发完毕。
上述门锁固件的升级方法,能够将预设升级固件分成多个下发任务数据块,进而能够利用每次心跳时间的间隔,由智能网关根据门锁的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息,进而根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发,并接收门锁的反馈信息更新下发进度位置信息,这样可以避免数据集中传输占用大量Sug-1G带宽资源,进而避免影响到网关与其它门锁之间的正常数据通信。
在一个实施例中,步骤S250之前还包括:
在获取到预设升级固件之后,根据预设升级固件大小以及预设数据块大小将预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库。
其中,预设升级固件往往文件大小较大,智能网关需要将上述预设升级固件划分为多个下发任务数据块,智能网关根据预设升级固件大小和预设数据块大小对预设升级固件进行划分,进而确定每个下发任务数据块的下发进度位置信息。
在一个实施例中,如图3所示,预设升级固件的固件大小为0x18FEC,每个下发任务数据块的预设数据块大小为64字节,智能网关根据上述固件大小和预设数据块大小划分下发任务数据块,图3中左侧是预设升级固件包按预设数据块大小划分的下发任务数据块,图3中右侧0x00000-0x18FEC为下发任务数据块对应的下发进度位置信息,智能网关下发对应的下发任务数据块时,发送给门锁的下发任务数据块对应的起始下发进度位置信息为0x00000,预设数据块的大小为64字节,网关从预设升级固件的0x00000地址开始,截取长度64字节的下发任务数据块并发送给门锁,依次类推,直至将上述所有的下发任务数据块下发完毕。
通过将预设升级固件分成多个下发任务数据块,为后续的智能网关向门锁发送下发任务数据块奠定基础。
在一个实施例中,如图4所示,步骤S270包括:
步骤S272,若接收到门锁返回的数据块接收成功信息,则更新预设升级数据库中对应的下发进度位置信息为下一下发任务数据块对应的下发进度位置信息。
其中,智能网关在向门锁发送完毕每一个下发任务数据块之后需要进一步判断下发任务数据块是否已经成功下发,若接收到门锁返回的数据块接收成功信息,此时需要修改预设升级数据库中对应的下发进度位置信息,将预设升级数据库中该门锁对应的下发进度位置信息更改为下一下发任务数据块对应的下发进度位置信息,为后续的下发任务数据块的下发做好准备。
步骤S274,若接收到门锁返回的数据块接收失败信息时,保持预设升级数据库中对应的下发进度位置信息不变。
其中,当智能网关接收到门锁返回的数据块接收失败信息时,保持预设升级数据库中对应的下发进度位置信息不变,当下一次接收到门锁发送的心跳信息后继续按照上述对应的下发进度位置信息下发对应的下发任务数据块,直至该下发任务数据块下发成功。
在一个实施例中,如图5所示,上述升级方法还包括:
步骤S280,将预设升级固件信息发送至门锁以使门锁根据预设升级固件信息对下载的预设升级固件进行校验并判断是否下载成功,预设升级固件信息包括预设升级固件的版本信息、固件大小和校验码。
其中,智能网关在门锁下载预设升级固件之前或者下载完毕预设升级固件之后,可将预设升级固件信息发送至门锁,门锁接收到上述预设升级固件信息之后,根据预设升级固件信息中的预设升级固件的版本信息、固件大小和校验码对下载的预设升级固件进行校验并判断是否下载成功。
步骤S290,当接收到门锁返回的固件下载成功信息时,将预设升级数据库中所述门锁的升级状态信息更新为正在升级状态。
其中,门锁通过比较下载的预设升级固件的版本信息、固件大小和校验码均与智能网关发送的预设升级固件信息一致时,向智能网关返回固件下载成功信息,此时智能网关在获取到门锁返回的固件下载成功信息时,将预设升级数据库中所述门锁的升级状态信息更新为正在升级状态。
步骤S300,当接收到门锁返回的固件下载失败信息时,将下发进度位置信息更新为初始下发进度位置。
其中,门锁比较下载的预设升级固件的版本信息、固件大小和校验码均与智能网关发送的预设升级固件信息,当存在信息不一致时,向智能网关返回固件下载失败信息,此时智能网关在获取到门锁返回的固件下载失败信息时,将下发进度位置信息更新为初始下发进度位置,重新向门锁下发上述预设升级固件,直至接收到门锁返回的固件下载成功信息。
通过上述校验过程,能够确保上述预设升级固件下发的正确性,避免在下发文件错误的情况下仍然进行后续升级,提升了上述升级方法的升级效率。
在一个实施例中,如图6所示,在步骤S290之后还包括:
步骤S310,根据最新接收到的心跳信息获取对应的固件版本信息,并将所述固件版本信息与已写入所述预设升级数据库中的固件版本信息相比较。
其中,门锁在下载上述预设升级固件并下载校验成功时,将上述预设升级固件进行保存,然后进一步跳转到预设升级引导程序,根据版本信息对预设升级固件进行二次校验,当对预设升级固件进行二次校验成功时,进入固件搬移过程,分段读取门锁外围存储器中的预设升级固件并写入到上述门锁的主控芯片中的程序存储器直至将预设升级固件全部写入完毕,并进行主控芯片的复位。
门锁在进行复位后向智能网关发送心跳信息,智能网关根据最新接收到的心跳信息获取对应的固件版本信息,并将所述固件版本信息与已写入所述预设升级数据库中的固件版本信息相比较。
其中,当对预设升级固件二次校验失败时,直接删除预设升级固件,能够有效防止他人替换掉原来的目标固件升级包,或是把门锁的flash换掉带来的安全隐患。
步骤S320,当固件版本信息高于写入预设升级数据库中的固件版本信息时,判断门锁的固件升级过程完成,并将预设升级数据库中门锁的升级状态信息更新为非升级状态。
其中,由于预设升级数据库中存储的门锁的固件版本信息为门锁固件升级前的版本信息,门锁在进行复位后向智能网关发送心跳信息时,智能网关通过最新接收到的心跳信息获得的固件版本信息必然高于已写入预设升级数据库中的固件版本信息,因此,当固件版本信息高于写入预设升级数据库中门锁对应的固件版本信息时,表明该门锁固件已经升级完成,此时智能网关将上述预设升级数据库中门锁的升级状态信息更新为非升级状态。
步骤S330,当固件版本信息等于写入预设升级数据库中的固件版本信息时,判断门锁的固件升级过程失败,并将下发进度位置信息更新为初始下发进度位置。
其中,当固件版本信息等于写入预设升级数据库中的固件版本信息时,智能网关判断门锁的固件升级过程失败,这是因为预设升级数据库中存储的门锁的固件版本信息为门锁固件升级前的版本信息,如果固件版本信息等于写入预设升级数据库中的固件版本信息,表明门锁固件升级失败,此时智能网关需要将下发进度位置信息更新为初始下发进度位置,并重新执行上述升级方法以使门锁重新进行升级直至升级成功。
此外,如图7所示,还提供一种门锁固件的升级系统400,升级系统400包括门锁410和智能网关420;
智能网关420用于接收门锁410发送的心跳信息,心跳信息包括对应的固件版本信息;
智能网关420用于根据固件版本信息和预设升级固件的版本信息判断门锁410是否需要进行固件升级;
智能网关420用于当判断门锁410需要进行固件升级时,则根据门锁410的MAC地址查询预设升级数据库以获取门锁410的升级状态信息;
智能网关420用于当升级状态信息为非升级状态时,则将固件版本信息写入预设升级数据库中且将升级状态信息设置为下载升级状态;
智能网关420用于当升级状态信息为下载升级状态时,则根据门锁410的MAC地址查询预设升级数据库以获取预设升级固件的下发进度位置信息;
智能网关420用于根据下发进度位置信息从预设升级固件获取相应下发进度位置的下发任务数据块并进行下发;
智能网关420用于根据门锁410的反馈信息更新下发进度位置信息。
在一个实施例中,如图8所示,还提供一种升级系统500还包括服务器430;
智能网关420还用于接收服务器430发送的预设升级固件数据包,预设升级固件数据包设置有预设升级固件以及对应的预设升级固件信息。
在一个实施例中,智能网关420还用于在获取到预设升级固件之后,根据预设升级固件大小以及预设数据块大小将预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库。
此外,还提供一种智能网关,智能网关包括存储器和处理器,存储器用于存储固件升级程序,处理器运行固件升级程序以使智能网关执行上述升级方法。
一种存储介质,存储介质上存储有上述智能网关所使用的固件升级程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种门锁固件的升级方法,其特征在于,所述升级方法包括:
接收门锁发送的心跳信息,所述门锁每隔预设时间定时发送一次所述心跳信息,所述心跳信息包括对应的固件版本信息;
根据所述固件版本信息和预设升级固件的版本信息判断所述门锁是否需要进行固件升级;
当判断所述门锁需要进行固件升级时,则根据所述门锁的MAC地址查询预设升级数据库以获取所述门锁的升级状态信息;
当所述升级状态信息为非升级状态时,则将所述固件版本信息写入预设升级数据库中且将所述升级状态信息设置为下载升级状态;
在获取到所述预设升级固件之后,根据预设升级固件大小以及预设数据块大小将所述预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库;
当所述升级状态信息为所述下载升级状态时,则根据所述门锁的MAC地址查询所述预设升级数据库以获取所述预设升级固件的下发进度位置信息;
根据所述下发进度位置信息从所述预设升级固件获取相应下发进度位置的下发任务数据块并进行下发;
若接收到所述门锁返回的数据块接收成功信息,则更新所述预设升级数据库中对应的下发进度位置信息为下一下发任务数据块对应的下发进度位置信息;
若接收到所述门锁返回的数据块接收失败信息时,保持所述预设升级数据库中对应的下发进度位置信息不变。
2.根据权利要求1所述的升级方法,其特征在于,所述升级方法还包括:
将预设升级固件信息发送至所述门锁以使所述门锁根据所述预设升级固件信息对下载的预设升级固件进行校验并判断是否下载成功,所述预设升级固件信息包括所述预设升级固件的版本信息、固件大小和校验码;
当接收到所述门锁返回的固件下载成功信息时,将所述预设升级数据库中对应的升级状态信息更新为正在升级状态;
当接收到所述门锁返回的固件下载失败信息时,将所述下发进度位置信息更新为初始下发进度位置。
3.根据权利要求2所述的升级方法,其特征在于,在将所述预设升级数据库中所述门锁的升级状态信息更新为正在升级状态的步骤之后还包括:
根据最新接收到的心跳信息获取对应的固件版本信息,并将所述固件版本信息与已写入所述预设升级数据库中的固件版本信息相比较;
当所述固件版本信息高于写入所述预设升级数据库中的固件版本信息时,判断所述门锁的固件升级过程完成,并将所述预设升级数据库中所述门锁的升级状态信息更新为非升级状态;
当所述固件版本信息等于写入所述预设升级数据库中的固件版本信息时,判断所述门锁的固件升级过程失败,并将所述下发进度位置信息更新为初始下发进度位置。
4.一种门锁固件的升级系统,其特征在于,所述升级系统包括门锁和智能网关;
所述智能网关用于接收门锁发送的心跳信息,所述门锁每隔预设时间定时发送一次所述心跳信息,所述心跳信息包括对应的固件版本信息;
所述智能网关用于根据所述固件版本信息和预设升级固件的版本信息判断所述门锁是否需要进行固件升级;
所述智能网关用于当判断所述门锁需要进行固件升级时,则根据所述门锁的MAC地址查询预设升级数据库以获取所述门锁的升级状态信息;
所述智能网关用于当所述升级状态信息为非升级状态时,则将所述固件版本信息写入预设升级数据库中且将所述升级状态信息设置为下载升级状态;
所述智能网关用于在获取到所述预设升级固件之后,根据预设升级固件大小以及预设数据块大小将所述预设升级固件划分多个下发任务数据块以确定每个下发任务数据块的对应下发进度位置信息并保存至预设升级数据库;
所述智能网关用于当所述升级状态信息为所述下载升级状态时,则根据所述门锁的MAC地址查询所述预设升级数据库以获取所述预设升级固件的下发进度位置信息;
所述智能网关用于根据所述下发进度位置信息从所述预设升级固件获取相应下发进度位置的下发任务数据块并进行下发;
所述智能网关用于若接收到所述门锁返回的数据块接收成功信息,则更新所述预设升级数据库中对应的下发进度位置信息为下一下发任务数据块对应的下发进度位置信息;若接收到所述门锁返回的数据块接收失败信息时,保持所述预设升级数据库中对应的下发进度位置信息不变。
5.根据权利要求4所述的升级系统,其特征在于,所述升级系统还包括服务器;
所述智能网关还用于接收所述服务器发送的预设升级固件数据包,所述预设升级固件数据包设置有所述预设升级固件以及对应的预设升级固件信息。
6.一种智能网关,其特征在于,所述智能网关包括存储器和处理器,所述存储器用于存储固件升级程序,所述处理器运行所述固件升级程序以使所述智能网关执行权利要求1-3中任一项所述的升级方法。
7.一种存储介质,其特征在于,所述存储介质上存储有权利要求6所述智能网关所使用的所述固件升级程序。
CN201910822118.5A 2019-09-02 2019-09-02 门锁固件的升级方法、升级系统、智能网关和存储介质 Active CN110535954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910822118.5A CN110535954B (zh) 2019-09-02 2019-09-02 门锁固件的升级方法、升级系统、智能网关和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910822118.5A CN110535954B (zh) 2019-09-02 2019-09-02 门锁固件的升级方法、升级系统、智能网关和存储介质

Publications (2)

Publication Number Publication Date
CN110535954A CN110535954A (zh) 2019-12-03
CN110535954B true CN110535954B (zh) 2022-02-01

Family

ID=68666097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910822118.5A Active CN110535954B (zh) 2019-09-02 2019-09-02 门锁固件的升级方法、升级系统、智能网关和存储介质

Country Status (1)

Country Link
CN (1) CN110535954B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258603A (zh) * 2020-01-10 2020-06-09 青岛海信智慧家居系统股份有限公司 一种智能门锁固件升级的方法及智能门锁
CN112181453A (zh) * 2020-09-11 2021-01-05 上海润欣科技股份有限公司 固件升级方法、装置及存储介质
CN112394663A (zh) * 2020-11-12 2021-02-23 深圳市泰比特科技有限公司 一种共享电单车中控接口线升级方法及装置
CN114884935A (zh) * 2022-04-26 2022-08-09 深圳绿米联创科技有限公司 数据升级方法、装置、电子设备和存储介质
CN117130627B (zh) * 2023-02-28 2024-05-17 荣耀终端有限公司 配件升级方法及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
CN105187262A (zh) * 2015-10-27 2015-12-23 上海斐讯数据通信技术有限公司 一种路由器升级方法及系统
CN105204911A (zh) * 2015-10-15 2015-12-30 成都艾克尔特医疗科技有限公司 一种生命体征监护手环的固件升级方法及系统
CN105491161A (zh) * 2016-01-19 2016-04-13 深圳市沃特玛电池有限公司 一种电池管理系统软件的远程升级系统及其远程升级方法
CN107247589A (zh) * 2017-06-02 2017-10-13 广东汇泰龙科技有限公司 一种基于ota的门锁固件升级方法
CN108023778A (zh) * 2017-12-14 2018-05-11 深圳市斑点猫信息技术有限公司 固件升级方法及其系统
CN109067894A (zh) * 2018-08-23 2018-12-21 广东汇泰龙科技有限公司 一种基于云锁系统的在线升级和一键还原的方法、系统
CN109361760A (zh) * 2018-11-20 2019-02-19 北京千丁互联科技有限公司 智能门锁系统及智能门锁重组网方法
CN109600671A (zh) * 2018-12-13 2019-04-09 四川九州电子科技股份有限公司 一种网络机顶盒快速升级的系统及其方法
CN109905256A (zh) * 2017-12-07 2019-06-18 阿里巴巴集团控股有限公司 一种固件更新方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040008007A (ko) * 2002-07-15 2004-01-28 에임텍 주식회사 무선단말기 펌웨어 업그레이드 방법
CN105204911A (zh) * 2015-10-15 2015-12-30 成都艾克尔特医疗科技有限公司 一种生命体征监护手环的固件升级方法及系统
CN105187262A (zh) * 2015-10-27 2015-12-23 上海斐讯数据通信技术有限公司 一种路由器升级方法及系统
CN105491161A (zh) * 2016-01-19 2016-04-13 深圳市沃特玛电池有限公司 一种电池管理系统软件的远程升级系统及其远程升级方法
CN107247589A (zh) * 2017-06-02 2017-10-13 广东汇泰龙科技有限公司 一种基于ota的门锁固件升级方法
CN109905256A (zh) * 2017-12-07 2019-06-18 阿里巴巴集团控股有限公司 一种固件更新方法和装置
CN108023778A (zh) * 2017-12-14 2018-05-11 深圳市斑点猫信息技术有限公司 固件升级方法及其系统
CN109067894A (zh) * 2018-08-23 2018-12-21 广东汇泰龙科技有限公司 一种基于云锁系统的在线升级和一键还原的方法、系统
CN109361760A (zh) * 2018-11-20 2019-02-19 北京千丁互联科技有限公司 智能门锁系统及智能门锁重组网方法
CN109600671A (zh) * 2018-12-13 2019-04-09 四川九州电子科技股份有限公司 一种网络机顶盒快速升级的系统及其方法

Also Published As

Publication number Publication date
CN110535954A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN110535954B (zh) 门锁固件的升级方法、升级系统、智能网关和存储介质
CN110474977B (zh) 智能门锁的固件升级方法、固件升级系统和智能门锁
EP3975503A1 (en) Esim card replacement method and related device
EP2456257B1 (en) Method and system for upgrading wireless data card
US20150220326A1 (en) Mobile Terminal and Software Upgrade Method Thereof
US10394572B2 (en) Power adapter and method for upgrading the power adapter
CN107273156A (zh) 一种ota升级方法及装置
CN105786549B (zh) 智能设备及其升级方法
CN110727454A (zh) 智能设备的更新方法及装置、电子设备、存储介质
US20160162271A1 (en) Application Migration Method, Device and System for Mobile Terminal
CN111142905B (zh) 一种ota升级方法、ota服务器及ota升级系统
CN110597545A (zh) 一种基于ota组件的热补丁智能升级方法及系统
CN103916846A (zh) 一种终端应用的更新方法、系统及设备
CN110769411B (zh) 稳定实现终端设备的批量ota升级方法、装置、设备及系统
CN109002305B (zh) 一种设备程序的更新方法及其系统
CN104991796B (zh) 一种连续升级的方法及装置
CN113452556A (zh) 产品技能的配置方法、装置、存储介质及电子装置
CN112130883A (zh) 软件升级方法及装置、电子设备、存储介质
US11068251B2 (en) Method for distributing software upgrade in a communication network
CN107920074B (zh) 一种sdk自动升级方法、终端设备及主控服务器
CN105490852A (zh) 一种升级检测方法和装置
US11368871B2 (en) System and method for generating groups of filtering rules
CN113535202A (zh) 充电桩的升级方法、升级装置以及充电桩系统
CN111918278A (zh) 空中下载升级校验方法、装置、介质和智能终端设备
CN101436139A (zh) Fpga下载方法和装置

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
GR01 Patent grant
GR01 Patent grant