低功耗蓝牙BLE设备、数据更新系统及方法与流程

文档序号:11592238阅读:401来源:国知局
低功耗蓝牙BLE设备、数据更新系统及方法与流程

本发明涉及无线通讯领域,特别涉及低功耗蓝牙ble设备、数据更新系统及方法。



背景技术:

目前短距离无线通讯技术,例如低功耗蓝牙(ble),紫峰(zigbee)技术,经典蓝牙(classbluetooth)等,在众多电子设备,如智能手机、手环、可穿戴设备、传感器等中得到了广泛的应用。这些电子设备支持空中下载技术(over-the-airtechnology,简称“ota”),利用无线传输空中通道,传输更新数据包,完成系统自动更新功能。当电子设备的系统出现故障,或者需要利用系统资源扩充应用,或版本更新时,使用ota功能,为用户提供了便利。

发明人在实现本发明的过程中发现,现在具有无线传输能力的设备虽然有很多空中下载技术(ota)方案,但都需要服务器,人工操作,且版本不可传播。在这些方案中电子设备的系统更新依赖于服务器,当服务器与电子设备无法建立连接时,电子设备就不能更新系统;当大批量设备需要更新系统时,会加重服务器的负载,影响系统更新。



技术实现要素:

本发明实施方式的目的在于提供一种低功耗蓝牙ble设备、数据更新系统及方法,无需人工干预,无需特定后台服务器,自动在ble网络中传递更新数据,使得ble网络中设备的系统更新更简单。

为解决上述技术问题,本发明的实施方式提供了一种低功耗蓝牙ble设备,包括处理器和ble通讯模块,所述处理器用于在ble设备获取到更新数据时,触发所述ble通讯模块将更新数据通过ble链路传递给周边ble设备,直到检测到所述周边ble设备均获得上述更新数据为止;其中,上述周边ble设备为能够与所述获取到更新数据的ble设备进行端到端ble通讯的设备。

本发明的实施方式还提供了一种数据更新系统,包括若干个上述低功耗蓝牙ble设备。

本发明的实施方式还提供了一种数据更新方法,包括:在ble设备获取到更新数据之后,将所述更新数据通过ble链路传递给周边ble设备,直到检测到所述周边ble设备均获得所述更新数据为止;其中,上述周边ble设备为能够与上述获取到更新数据的ble设备进行端到端ble通讯的设备。

本发明实施方式相对于现有技术而言,在获取到更新数据时,通过采用具有ble无线传输能力的ble设备向周边ble设备传递更新数据,无需人工干预,无需特定后台服务器,自动在ble网络中传递更新数据,使得ble网络中设备的系统更新更简单。

附图说明

图1是根据现有技术的固件版本更新示意图;

图2是根据本发明第一实施方式的低功耗蓝牙ble设备的结构示意图;

图3是根据本发明第二实施方式的低功耗蓝牙ble设备包含加密模块的结构示意图;

图4是根据本发明第二实施方式的低功耗蓝牙ble设备包含解密模块的结构示意图;

图5是根据本发明第三实施方式的低功耗蓝牙ble设备的结构示意图;

图6是根据本发明第四实施方式的数据更新系统的工作示意图;

图7是根据本发明第五实施方式的数据更新系统的工作示意图;

图8是根据本发明第六实施方式的数据更新方法的流程示意图;

图9是根据本发明第七实施方式的数据更新方法的流程示意图;

图10是根据本发明第八实施方式的数据更新方法的流程示意图;

图11是根据本发明第九实施方式的数据更新方法中更新发布设备执行的流程示意图;

图12是根据本发明第九实施方式的数据更新方法中除更新发布设备之外的设备执行的流程示意图;

图13是根据本发明第十实施方式的数据更新方法中更新发布设备执行的流程示意图;

图14是根据本发明第十实施方式的数据更新方法中除更新发布设备之外的设备执行的流程示意图;

图15是根据本发明第十一实施方式的数据更新方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种低功耗蓝牙ble设备。本实施方式的低功耗蓝牙ble(bluetoothlowenergy)设备100是一种具有蓝牙通讯能力的设备,具体如图2所示,其包括但不限于:处理器101、存储器102、ble通讯模块103和天线104等。

处理器101用于运行存储器102中的系统软件,并触发ble通讯模块103,完成与其它ble设备的通讯。本发明中的处理器可以使用但不限于arm、mips、或其它mcu处理器。此外,需要说明的是,本实施方式的处理器可以是单独设立的,也可以是在某一个模块中集成有具有处理器功能的部件单元。

存储器102主要是用来存放系统软件和更新数据,可以存放一份或多份不同版本的更新数据。在进行ble设备间版本传递时,传递发起方,把更新数据从存储器102中取出,通过ble链路传递给接收方。接收方则将更新数据存入本设备的存储器102中。存入策略包含但不限于:只有一份更新数据空间,直接覆盖旧版本;或着存有多份更新数据的空间,交替覆盖等。存储器102可以使用但不限于:sram,norflash,nandflash,eeprom等可擦除改写的存储器类型。另外,这里所说的更新数据包含但不限于:应用程序的更新数据,ble通讯协议栈的更新数据,系统配置数据等。

处理器101在ble设备获取到更新数据时,触发ble通讯模块103将更新数据通过ble链路传递给周边ble设备,直到检测到周边ble设备均获得更新数据为止。其中,周边ble设备为能够与获取到更新数据的ble设备进行端到端ble通讯的设备。

具体的,低功耗蓝牙ble设备可以为智能设备(如智能手机),可穿戴设备(如手环),以及各种类型的传感器等。ble设备通过ble通讯模块103实现ble通讯协议栈功能,ble通讯模块103和天线104一起为低功耗ble设备建立ble通讯通道,此时低功耗ble设备间可以发起通讯连接。当ble设备间处在连接状态时,可以将获取到的更新数据通过ble链路传递给其它设备,完成低功耗设备自动更新系统。例如,现在有三台低功耗蓝牙ble设备分别为设备a,设备b,设备c,三台低功耗蓝牙设备之间可通过ble通讯模块建立通讯连接,也就是说,设备a与设备b,设备b与设备c,设备a与设备c之间可分别进行ble通讯。当设备a获取到更新数据时,设备a可以向能够与自身进行ble通讯的设备b和设备c传递更新数据,设备a检测到b和c都获得了更新数据时,不再传递更新数据。同理,当设备b获取到更新数据时,设备b可以向能够与自身进行ble通讯的设备a和设备c传递更新数据,设备b检测到a和c都获得了更新数据时,不再传递更新数据。

此外,值得说明的是,ble设备可以通过外界获取到更新数据,比如,用户将更新数据下发到更新发布设备。或者,ble设备也可以通过接收其它设备传递的更新数据以获取到更新数据。无论ble设备以何种方式获取到更新数据,均向其周边ble设备传递更新数据,通过这种更新数据传递的方式,进行多层次的传递,可以将更新数据自动传递给网络内任何一台ble设备,从而实现更新数据在ble网络中的自动传递。

相对现有技术,本实施方式在获取到更新数据时,通过采用具有ble无线传输能力的ble设备向周边ble设备传递更新数据,无需人工干预,无需特定后台服务器,自动在ble网络中传递更新数据,使得ble网络中设备的系统更新更简单。

本发明的第二实施方式涉及一种低功耗蓝牙ble设备。第二实施方式在第一实施方式基础上作了进一步改进,主要改进之处在于:在第二实施方式中,ble设备通过对更新数据进行特定的安全策略处理,保证设备更新过程的安全性。

具体地说,如图3所示,低功耗蓝牙ble设备还可以包括加密模块105。该加密模块用于在ble设备作为更新发布设备时,对更新数据进行安全性处理,以形成加密的更新数据。相应地,ble通讯模块还用于将加密的更新数据传递给周边ble设备。

请参见图4所示,低功耗蓝牙ble设备还可以包括解密模块106。该解密模块106用于在ble设备作为更新数据接收方时,对接收到的更新数据进行安全性验证,并在验证成功时,触发ble设备进行系统更新;在验证失败时,将接收到的更新数据通过ble通讯模块传递给周边ble设备。

另外,需要说明的是,还可以设定无论解密模块是否验证成功,ble设备均将接收到的更新数据通过ble通讯模块传递给周边ble设备。也就是说,当ble设备接收到更新数据时,可以直接将更新数据传递出去,而不对更新数据进行安全性验证。在网络中,有一些ble设备仅作为更新数据传递的中转设备存在。

值得一提的是,加密模块105所采用的安全性处理和解密模块106所采用的安全性验证应当相对应。另外,加密模块105和解密模块106可以单独存在,对需要对更新数据进行安全性处理的ble设备(比如,更新发布设备)配置加密模块,对接收更新数据的ble设备(比如,待更新设备或者中转设备)配置解密模块。加密模块105和解密模块106也可以绑定在一起作为一个模块,在需要加密或解密时调用执行相关功能即可。现有的加密模块105和解密模块106的存在形式均可适用于本申请,在此不一一列举。

值得说明的是,安全策略可视具体实现而定,可以是只有更新发布设备和待更新设备两者协商好的策略。比如,提取更新发布设备和/或待更新设备的特征信息,按照已协商安全策略,与更新数据混合。

具体地说,加密模块105包括提取子模块和混合子模。其中,提取子模块用于提取设备特征。混合子模用于按照预设规则将提取的设备特征与更新数据混合,将混合后的数据作为加密的更新数据。

解密模块106包括解析子模块和匹配子模块。其中,解析子模块用于从接收到的更新数据中解析出设备特征。匹配子模块用于解析出的设备特征与本ble设备的特征进行匹配,并在匹配成功时,判定验证成功;在匹配失败时,判定验证失败。

当ble设备作为更新发布设备时,加密模块105中的提取子模块提取ble设备的特征。其中,设备特征包括但不限于:更新发布设备地址、更新发布设备位置、待更新设备的类型、待更新设备的位置、更新发布设备编号、待更新设备的编号等。更新发布设备地址是更新发布设备的标识,具有全网络唯一性。更新发布设备位置是更新发布设备的位置信息。待更新设备的类型是一类产品的唯一标识。待更新设备的位置是某一地址区域的设备标识。更新发布设备编号,待更新设备的编号是对网络中设备的编号。

设备特征提取完毕后,混合子模块1052将提取子模块提取的特征和更新数据按照预设的规则混合,形成加密的更新的数据。此时,ble设备实现对更新数据的安全性处理。然后,ble设备通过ble通讯模块103将加密的更新数据传递给周围的ble设备。周围的ble设备接收到加密的更新数据时,解密模块106中的解析子模块解析接收到的更新数据中的设备特征;匹配子模块将解析出的设备特征与本设备的特征进行匹配,匹配成功,即判定验证成功;匹配失败,即判定验证失败,此时ble设备完成更新数据的安全性验证。

另外,在更新发布前,也可对版本发布设备和待更新设备的特征提取,集成到系统更新数据中,再由ble网络传递到待更新设备上。待更新设备提取系统更新数据中的特征值,对版本发布设备的权限检查和自身特征检查,符合条件,再进行系统更新,保证设备更新过程的安全性。

另外,还可以采用一些通用加密方式作为安全策略。具体地说,加密模块105在对更新数据进行安全性处理时,还可以依据更新发布设备和待更新设备共享的密钥对更新数据进行加密处理,以形成加密的更新数据。解密模块106在对解密模块在对接收到的更新数据进行安全性验证时,采用依据更新发布设备和待更新设备共享的密钥对接收到的更新数据进行解密,得到解密数据;并校验解密数据的正确性;在校验正确时,判定验证成功;在校验失败时,判定验证失败。其中,密钥在更新发布设备和待更新设备之间共享,比如,通过其它方式预先在更新发布设备和待更新设备之间共享密钥。

具体的说,ble作为发布设备时,加密模块105将更新数据和密钥一同进行加密处理,形成加密的更新数据。ble通讯模块103将加密的更新数据传递给周围的ble设备。周围的ble设备在接收到加密的更新数据时,解密模块106使用共享的密钥对加密数据进行解密,得到解密数据。解密模块106验证得到的解密数据的正确性,校验正确时,判定成功,设备进行系统更新在校验失败时,判定验证失败,设备不进行设备更新并将加密数据传递给周围的ble设备。

通过本实施例提供的低功耗蓝牙ble设备,可以禁止未授权的设备发布更新,对指定的设备进行更新,确保了ble设备在传递更新数据时的安全性。

本发明的第三实施方式涉及一种低功耗蓝牙ble设备。第三实施方式在第一或第二实施方式基础上作了进一步改进,主要改进之处在于:在第三实施方式中,ble设备具备自动反馈已更新设备情况的能力,实现对已更新设备情况的收集统计。

具体地说,如图5所示,低功耗蓝牙ble设备还包括源地址记录模块107。该源地址记录模块107用于ble设备作为更新数据接收方时,在接收到更新数据时记录源设备地址;其中,源设备地址为向本ble设备传递更新数据的ble设备的地址。ble通讯模块还用于在本ble设备完成系统更新时,向源设备传递自身的设备信息;或者,ble通讯模块还用于在本ble设备接收到已更新设备的设备信息时,向源设备传递接收到的已更新设备的设备信息。

举例来说,ble设备的设备地址是设备的标识,具有全网唯一性。当ble设备作为接收方接收到更新数据时,源地址记录模块106记录向本设备发送更新数据的ble设备的设备地址。例如,ble设备a向周围传递更新数据,ble设备b接收到设备a发送的更新数据,设备b通过源地址模块记录设备a的设备地址。当设备b完成系统更新时,将根据记录的设备地址向设备a传递设备b自身的设备信息。当设备b收到已更新设备发送的来的设备信息时,设备b根据记录的设备地址向设备a传递接收到的已更新设备的设备信息。

也就是说,接收到更新数据的ble设备会将更新数据来源方的设备地址记录下来。若在本设备系统更新完成后,将本设备的设备信息发送给更新数据来源方,同时传递更新数据到下一个设备。若在本设备不需要更新,则继续传递更新数据到下一个设备。ble设备都具有将其它设备传来的已更新设备的设备信息传递给更新数据来源方的能力。这里所说的设备信息包括但不限于设备地址,设备位置,设备类型等。

ble设备可以与多个其它ble无线设备连接,从而构成一个网络。在网络中,若一台ble设备需要发布更新数据,则该ble设备可称为更新发布设备。任何一个设备都可以成为更新发布设备。更新发布设备可以通过上述更新数据传递的方式,进行多层次的传递,将更新数据自动传递给网络上任何一台ble设备。同时每个设备根据已记录的上一级的更新数据来源方地址,将已更新设备的设备信息发送过去,直到所有设备信息都反馈到更新数据发布的更新发布设备上,再由更新发布设备统计已更新的设备情况,如数量,设备分布情况等。

本领域技术人员应当了解,源地址记录模块可以是一个单独的模块,也可以是存储器的一部分,只需要能都记录源设备的地址,后续能根据该记录的地址准确反馈设备信息即可,本申请不应以源地址的记录形式为限制,任何记录源地址的方式都应该在本申请的保护范围之内。

本实施例提供的低功耗蓝牙ble设备,能快速的统计已更新的设备情况,如已更新设备的数量、分布等,根据统计的情况优化更新数据,向用户提供更加完美的系统更新数据。

本发明的第四实施方式涉及一种数据更新系统。该数据更新系统包括若干个上述第一至第三实施方式中任意一个提及的低功耗蓝牙ble设备。

ble网络中任何一个设备都可作为更新发布设备,更新数据包通过ble网络传递到网络中任何一台设备中。以数据更新系统包括5台ble设备为例进行说明。如图6所示,假设现选择ble设备1作为更新发布设备,ble设备5作为待更新设备,更新数据在网络中的传递过程为:

ble设备1在从外界获取到更新数据时,向ble设备2传递更新数据如图6中s61所示。

ble设备2接收到更新数据时,向其周边ble设备传递接收到的更新数据,ble设备2的周边设备有ble设备3和ble设备4,因此,ble设备2向ble设备3和ble设备4分别传递更新数据,如图6中s62和s63所示。

ble设备3接收到更新数据时,由于其周边只有ble设备2,因此ble设备3不再进一步传递更新数据。

ble设备4接收到更新数据时,向其周边设备传递更新数据,ble设备3的周边设备有ble设备2和ble设备5,ble设备3向ble设备5传递更新数据,如图6中s64所示。

ble设备5接收到更新数据之后,进行系统数据更新。

值得说明的是,ble通讯的链路是端到端的方式。链路的一端设备通过其它ble链路接收到更新数据并存储在存储器后,会去查询另一端设备是否存在该更新数据,若不存在或更新输数据版本低,则传递更新数据;若对端更新数据版本高,则读取更新数据,再存放在存储器。设备查询另一端设备的更新数据信息的时机可以是接收到完整的更新数据后,也可以是对端设备接收到完整的更新数据后,再通知本设备来查询。

另外,设备间发送和读取更新数据的方式包含但不限于文件分包,断点续传等方式,以保证版本传递的质量,和尽可能的不影响正常用途的数据传输。

本实施例提供的数据更新系统,可以实现在该系统下的ble设备在没有服务器,无人工干预的情况下自主的进行设备的系统更新,为用户提供了更加简单快捷的更新系统。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第五实施方式涉及一种数据更新系统。第五实施方式在第四实施方式基础上作了进一步改进,具体改进之处在于:在第五实施方式中,数据更新系统可以收集统计设备的更新情况。

具体地说,数据更新系统中任意一个ble设备在本ble设备完成系统更新时,向源设备传递自身的设备信息。或者,数据更新系统中的任意一个ble设备在本ble设备接收到已更新设备的设备信息时,向源设备传递接收到的已更新设备的设备信息,直到更新发布设备获取到所有已更新设备的设备信息为止。其中,源设备为向本ble设备传递更新数据的ble设备。

在数据更新系统中,任意一个ble设备都具有将其它设备传来的已更新设备的设备信息传递给更新数据来源方的能力。以第四实施方式中所例举的5台ble设备中的更新数据传递之后进行更新情况收集统计为例进行说明:

在ble设备5完成数据更新之后,向ble设备4反馈自身的设备信息,如图7中s71所示。

ble设备4在接收到ble设备5反馈的设备信息时,将ble设备5的设备信息反馈到ble设备2,如图7中s72所示。

ble设备2在接收到ble设备5反馈的设备信息时,将ble设备5的设备信息反馈到ble设备1,如图7中s73所示。

ble设备1对接收到的设备信息进行收集统计。

通过本实施例提供的数据更新系统,能快速的统计在该系统下已更新的设备情况,如已更新设备的数量、分布等,根据统计的情况优化更新数据,向用户提供更加完美的系统更新数据。

不难发现,本实施方式为与第三实施方式相对应的系统实施例,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。

本发明的第六实施方式涉及一种数据更新方法。该数据更新方法基于第一实施方式所描述的低功耗蓝牙ble设备。该数据更新方法的具体流程如图8所示,其包括:

步骤s81,获取更新数据。

具体的说,ble设备获取更新数据有两种方式,方式一,ble设备作为更新发布设备,从外界获取更新数据;方式二,从其它ble设备传递的更新数据。

步骤s82,向周围ble设备中的一个传递获取到的更新数据。

步骤s83,判断是否所有周边ble设备均已获取到更新数据,若否,则返回执行步骤s82;若是,则结束本流程。

也就是说,ble设备在获取更新数据后,会自主向周围传递ble设备更新数据,如果周围的ble设备均已经获得了更新数据,则停止向周围ble设备传递更新数据。

本实施方式的数据更新方法,低功耗蓝牙ble设备实现了在没有服务器,无人工干预的情况下自主传递更新数据,直到周边ble设备均获得更新数据为止。使低功耗蓝牙ble设备系统更新不再依赖于服务器,能自主的更新系统,方便用户的使用。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

不难发现,本实施方式与第一实施方式相互对应,因此本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,在第一实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第七实施方式涉及一种数据更新方法。第七实施方式在第六实施方式基础上作了进一步改进,其改进之处在于:在第七实施方式中,提供了一种ble设备作为从设备向周围ble设备传递更新数据的方法。

ble设备作为从设备获取到更新数据之后,发起广播。在与周边ble设备中任意一个建立通讯连接之后,发送本设备存储的更新数据。重复上述步骤,直到周边ble设备均获得更新数据为止。其中,广播中携带有更新数据的版本信息。

而周边ble设备监听广播。在监听到广播之后,读取广播中携带的更新数据的版本信息。并将读取到的版本信息与本设备存储的更新数据版本信息进行比较。在两者不一致时,发起通讯请求。在建立通讯连接之后,接收更新数据。

具体流程如图9所示,其包括:

步骤s91,获得更新数据的ble设备1发起广播,其中,广播中携带有更新数据的版本信息。具体地说,广播信息中包含本设备已存放的一份或多份更新数据的版本信息。

步骤s92,ble设备2监听广播。在监听到广播之后,读取广播中携带的更新数据的版本信息。将读取到的版本信息与本设备存储的更新数据版本信息进行比较。若两者不一致,则执行步骤s93;否则,继续监听。

步骤s93,ble设备2向ble设备1发起通讯请求。

步骤s94,在建立通讯连接之后,ble设备1和ble设备2传递更新数据。

这里所说的建立通讯连接的过程与现有技术中蓝牙设备之间建立通讯连接的过程类似,在此不再赘述。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第八实施方式涉及一种数据更新方法。第八实施方式在第六实施方式基础上作了进一步改进,其改进之处在于:在第八实施方式中,提供了一种ble设备作为主设备向周边ble设备传递更新数据的方法。

具体地说,ble设备与周边ble设备中任意一个建立通讯连接之后,查询通讯对端的已存在更新数据的版本信息;在查询得到的版本信息与本设备存储的更新数据的版本信息不一致时,发送本设备存储的更新数据。

具体流程如图10所示,其包括:

步骤s101,ble设备1与ble设备2建立通讯连接。这里所说的建立通讯连接的过程与现有技术中蓝牙设备之间建立通讯连接的过程类似,在此不再赘述。

步骤s102,ble设备1查询ble设备2的已存在更新数据的版本信息。

步骤s103,ble设备1判断查询得到的版本信息与本设备存储的更新数据的版本信息不一致时,执行步骤s104;否则,断开连接。

步骤s104,ble设备1向ble设备2发送本设备存储的更新数据。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第九实施方式涉及一种数据更新方法。第九实施方式在第六实施方式基础上作了进一步改进,其改进之处在于:在第九实施方式中,数据更新方法通过对更新数据进行特定的安全策略处理,保证设备更新过程的安全性。

ble设备作为更新发布设备获取到更新数据。在获取到更新数据之后,对获取到的更新数据进行安全性处理,以形成加密的更新数据。在向周边ble设备传递更新数据时,将加密的更新数据传递给周边ble设备。

ble设备作为更新数据接收方,从发送方接收更新数据从而获取到更新数据。在接收到更新数据之后,对接收到的更新数据进行安全性验证。在验证成功时,触发ble设备进行系统更新;在验证失败时,将接收到的更新数据传递给周边ble设备。

另外,需要说明的是,还可以设定无论是否验证成功,ble设备均将接收到的更新数据传递给周边ble设备。也就是说,当ble设备接收到更新数据时,可以直接将更新数据传递出去,而不对更新数据进行安全性验证。在网络中,有一些ble设备仅作为更新数据传递的中转设备存在。

进行安全性处理的策略可根据具体情况商定,比如,按照已协商安全策略,将提取的更新发布设备和/或待更新设备的特征信息,与更新数据混合。更新发布设备执行的具体流程如图11所示,其包括:

步骤s111,获取更新数据。

步骤s112,提取设备特征。

步骤s113,按照预设规则将提取的设备特征与更新数据混合,将混合后的数据作为加密的更新数据。

步骤s114,向周边ble设备传递加密的更新数据。

除更新发布设备之外的设备执行的具体流程如图12所示,其包括:

步骤s121,接收更新数据。

步骤s122,从接收到的更新数据中解析出设备特征。

步骤s123,判断解析出的设备特征与本ble设备的特征是否匹配,在匹配成功时,判定验证成功,执行步骤s124;在匹配失败时,判定验证失败,执行步骤s126。

步骤s124,判断是否需要进行系统更新;若是,则执行步骤s125;若否,则执行步骤s126。

步骤s125,使用接收到的更新数据进行系统更新。

步骤s126,向周边ble设备传递加密的更新数据。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

不难发现,本实施方式与第二实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明的第十实施方式涉及一种数据更新方法。第十实施方式与第九实施方式大致相同,主要区别之处在于,在第九实施方式中,提取更新发布设备和/或待更新设备的特征信息与更新数据混合的方式进行安全性处理;在第十实施方式中,采用通用加密方式进行安全性处理。密钥在更新发布设备和待更新设备之间共享,比如,通过其它方式预先在更新发布设备和待更新设备之间共享密钥。

更新发布设备执行的具体流程如图13所示,其包括:

步骤s131,获取更新数据。

步骤s132,依据更新发布设备和待更新设备共享的密钥对更新数据进行加密处理,以形成加密的更新数据。

步骤s133,向周边ble设备传递加密的更新数据。

除更新发布设备之外的设备执行的具体流程如图14所示,其包括:

步骤s141,接收更新数据。

步骤s142,采用更新发布设备和待更新设备共享的密钥对接收到的更新数据进行解密,得到解密数据。

步骤s143,校验解密数据的正确性,在校验正确时,判定验证成功,执行步骤144;在校验失败时,判定验证失败,执行步骤s146。

步骤s144,判断是否需要进行系统更新;若是,则执行步骤s145;若否,则执行步骤s146。

步骤s145,使用接收到的更新数据进行系统更新。

步骤s146,向周边ble设备传递加密的更新数据。

不难发现,本实施方式与第二实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明的第十一实施方式涉及一种数据更新方法。第十一实施方式在第六实施方式基础上作了进一步改进,其改进之处在于:在第十一实施方式中,可以收集统计已更新设备的信息。

ble设备作为更新数据接收方,从发送方接收更新数据从而获取到更新数据,在ble设备接收到更新数据之后,执行的具体流程如图15所示,其包括:

步骤s151,记录源设备地址。其中,源设备地址为向本ble设备传递更新数据的ble设备的地址。

步骤s152,判断本ble设备是否完成系统更新,若是,则执行步骤s153;否则,执行步骤s154。

步骤s153,向源设备传递自身的设备信息。

步骤s154,判断本ble设备是否接收到已更新设备的设备信息,若是,则执行步骤s155,否则,结束本流程。

步骤s155,向源设备传递接收到的已更新设备的设备信息。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

不难发现,本实施方式与第三实施方式相互对应,因此本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,在第三实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。

值得一提的是,本申请的实施方式中所涉及到的各模块可以为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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