一种线下设备间扩散式软件升级方法与流程

文档序号:17857399发布日期:2019-06-11 22:39阅读:166来源:国知局
一种线下设备间扩散式软件升级方法与流程

本发明涉及通信设备软件升级领域,具体涉及一种线下设备间扩散式软件升级方法。



背景技术:

申请人目前在一些城市中,设置了车辆防盗系统,为了防止二轮电动车被盗以及在被盗后追回,在电动车上会安装具有nb-iot模块、定位模块的防盗设备终端,设备终端可以周期性的采集包括位置信息、时间信息等参数信息,运动时间隔几秒周期采集一次,静止时间隔几分钟甚至更长时间周期采集一次,然后根据预设发送周期上传心跳数据至服务器,所有电动车的心跳数据最终汇集到服务器中。当某电动车被盗后,可以通过搜寻车辆信号以及行车轨迹来寻回被盗车辆。

虽然设备终端使用的nb-iot是一种较新兴的技术,当前社会和通信运营商正在极力推广的,具备广覆盖、广连接、低功耗、低成本等特点,但是nb-iot也是存在一些缺点比如上、下行通道少等,一个nb基站仅能提供12个上行通道、1个下行通道。这缺点使得目前电动车的设备终端面临一个很大的问题,因为城区的电动车的数量太大,高达几十万甚至上百万的数量级,当设备终端的软件需要更新时,因为nb基站本身的局限也即能提供的下行通道太少,使得整体设备终端的软件陷入非常缓慢的更新状态,整个城区一天能更新的数量只有只有总数量的零头,随着未来搭载nb-iot模块的其他设备越来越多,这种情况甚至可能进一步加重。



技术实现要素:

为避免背景技术的不足之处,本发明提供一种线下设备间扩散式软件升级方法,可使相距不远的高版本设备自动升级低版本设备,快速扩散使低版本设备升级。

本发明提出的一种线下设备间扩散式软件升级方法,包括:

设备间数据交互获取各自周边同类设备的版本号和对应的唯一识别码;

比对版本号确定低版本设备和高版本设备,设备默认自身为高版本设备,当设备获取的版本号高于自身版本号则确定自身为低版本设备并保存该版本号和对应的唯一识别码;

低版本设备根据获取的版本号和唯一识别码向版本号最高的高版本设备发送升级请求信号;

高版本设备向低版本设备回复对应的应答信号;

高版本设备向低版本设备发送升级数据包;

低版本设备进行软件升级并在升级完毕后确定自身为高版本设备。

进一步的,升级请求信号内包括随机生成的用于传输数据的指定频段;高版本设备向低版本设备回复对应的应答信号后,该对设备均跳频至指定频段;高版本设备向低版本设备发送升级数据包后,该对设备均跳频至默认频段。

进一步的,该对设备均跳频至指定频段后,监测并确定该指定频段为空闲频段。

进一步的,若该指定频段不为空闲频段,则该对设备跳频至默认频段且低版本设备重新对该高版本设备发送升级请求信号。

本发明还提出了一种设备间低版本设备请求高版本设备对其进行升级的方法,其特征在于,包括以下步骤:

获取周边同类设备的版本号和唯一识别码;

比对版本号,判断同类设备的版本号是否高于本设备的版本号,若是则将本设备的版本状态由默认状态下的不可升级修改为可升级并将该同类设备的唯一识别码和版本号添加至高版本设备名单内;

判断本设备当前是否符合预设进行升级条件,若是则在高版本设备名单内选择一个目标设备的唯一识别码并对外发送升级请求信号,升级请求信号包括本设备的版本号、目标设备的唯一识别码;

判断是否收到目标设备回复的与升级请求信号对应的应答信号,若是则进入下一步骤,否则将目标设备的唯一识别码和版本号从高版本设备名单中删去;

接收并保存目标设备发送的升级数据包;

升级本设备的软件、将本设备的版本状态修改为不可升级并删去高版本设备名单。

进一步的,将该同类设备的唯一识别码和版本号添加至高版本设备名单内的步骤前,判断该同类设备的版本号在高版本设备名单内是否最高,若是则将该同类设备的唯一识别码和版本号添加至高版本设备名单内并删去较低版本设备的唯一识别码和版本号,否则不动作。

进一步的,升级请求信号中还包括随机生成的用于传输数据的指定频段;收到目标设备回复的与升级请求信号对应的应答信号的步骤后,跳频至升级请求信号中的指定频段;接收并保存目标设备发送的升级数据包的步骤后,跳频至默认频段。

进一步的,跳频至升级请求信号中的指定频段的步骤后,在该指定频段发送准备完毕确认信号并判断是否收到且仅收到对应的应答信号,若是则开始接收目标设备发送的升级数据包,否则跳频至默认频段并重新发送包括再次随机生成的指定频段的升级请求信号。

进一步的,升级本设备的软件的步骤前,与平台通信确认升级数据包的校验码和版本号是否正确,若平台回复正确或超过预设时间平台未回复,则继续升级本设备的软件。

优选的,预设进行升级条件为本设备版本状态为可升级且高版本设备名单内存在唯一识别码,且本设备处于静止状态或半夜1至4点。

本发明还提出了一种设备间高版本设备接受低版本设备请求对其进行升级的方法,包括以下步骤:

接收升级请求信号,升级请求信号包括低版本设备的版本号、本设备的唯一识别码;

判断本设备当前是否符合预设升级数据发送条件,若是则进入下一步骤;

判断升级请求信号中的版本号是否低于本设备的版本号,若是则进入下一步骤;

回复与升级请求信号对应的应答信号;

发送升级数据包给目标设备。

进一步的,升级请求信号中还包括用于传输数据的指定频段;回复与升级请求信号对应的应答信号的步骤后,跳频至升级请求信号中的指定频段;发送升级数据包给目标设备的步骤后,跳频至默认频段。

进一步的,跳频至升级请求信号中的指定频段的步骤后,判断是否收到且仅收到低版本设备发送的准备完毕确认信号,若是则回复对应的应答信号并开始发送升级数据包给目标设备,否则跳频至默认频段。

优选的,预设升级数据发送条件为本设备版本状态为默认状态下的不可升级,且当前本设备处于静止状态。

本发明还提出了一种设备终端,包括用于存储程序的存储器和用于执行所述程序的处理器,所述程序被处理器执行时实现如上述任意一项方法的步骤。

本发明有益效果在于通过本方法可实现一定距离内的设备版本同步,设备间数据交互使低版本设备可以自动请求高版本设备对其进行升级软件,设备可以以指数级数增长的速度扩散更新升级,大大增加了设备的升级更新速率,弥补设备在线升级速度慢的缺点。

附图说明

图1是实施例提供的一种线下设备间扩散式软件升级方法的流程示意图。

图2是实施例提供的一种设备间低版本设备请求高版本设备对其进行升级的方法的流程示意图。

图3是实施例提供的一种设备间高版本设备接受低版本设备请求对其进行升级的方法的流程示意图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步说明。

实施例,参照附图1,一种线下设备间扩散式软件升级方法,包括:

s101设备间数据交互获取各自周边同类设备的版本号和对应的唯一识别码;本步骤中设备通过自带的无线射频信号收发模块或其他无线通信模块接收周边同类设备发送的心跳数据,解析并获取心跳数据中的设备版本号和设备唯一识别码。

s102比对版本号确定低版本设备和高版本设备,设备默认自身为高版本设备,当设备获取的版本号高于自身版本号则确定自身为低版本设备并保存该版本号和对应的唯一识别码;本步骤中设备会将自身的版本号与外界获取的版本号进行比对,默认情况下设备自身软件版本为高版本,当设备获取的版本号高于自身版本号时则确定自身为低版本设备,并保存所获取的版本号和对应的唯一识别码,等待条件合适向这些高版本设备请求对本设备进行升级;当设备获取的版本号低于或者与自身版本号相同时则不动作。

s103低版本设备根据获取的版本号和唯一识别码向版本号最高的高版本设备发送升级请求信号,升级请求信号内包括随机生成的用于传输数据的指定频段;本步骤中当设备满足升级条件时,低版本设备随机生成一个指定频段,并根据获取的高版本设备的唯一识别码向该高版本设备发送升级请求信号;本实施例中,低版本设备接收升级请求信号需要处于静止状态下或者处于半夜1点到4点,高版本设备发送升级请求信号需要处于静止状态下;其中,对于设备双方需要处于静止状态比较好理解,是因为升级数据包的传输需要一定时间,设备在运动过程中,部分业务周期比较短,低于传输升级数据包所需要的时间,此时进行更新流程会导致部分业务迟滞;若两设备在临界距离附近运动,有可能因为运动使距离超出而打断传输,然后再次连上其他设备再次打断,使得设备的正常功能无法进行;而低版本设备在此基础上在半夜1点到4点无视静止状态还是运动状态主要是考虑到设备的运动检测模块可能会出现故障或损坏,导致设备一直处于运动状态,这样就无法进行更新了,故选择在半夜的1点到4点这个绝大部分的设备都处于静止状态的时间段进行补充升级;指定频段主要用于传输数据,因为默认频段往往会有其他设备在进行通信,为了升级数据包传输无误,需要两者在空闲频段进行数据传输。

s104高版本设备向低版本设备回复对应的应答信号;本步骤中当低版本设备发送升级请求信号时,对应的高版本设备可能不在附近或者该高版本设备正在对其他低版本设备进行升级,这种情况意味着该高版本设备不会回复对应的应答信号;也即当低版本设备没有收到高版本设备回复对应的应答信号,则低版本设备默认该高版本设备当前无法对其进行升级,故需更换一个高版本设备的唯一识别码发送升级请求信号,直到有高版本设备回复对应的应答信号。

s105高版本设备和低版本设备跳频至指定频段;本步骤中在完成升级请求信号的接收和应答后,两方设备跳频至指定频段准备传输升级数据包。

s106监测并确定该频段为空闲频段;本步骤中无论是高版本设备还是低版本设备都可以在跳频至指定频段后开启一定时间的数据接收来判断该频段是否有其他设备也在通信,避免升级数据包的传输收到其他设备发送的数据包的干扰;具体可采取以下措施:低版本设备在跳频后接收升级数据包前会发送一个特定大小的准备完毕确认信号给高版本设备;从高版本设备的视角来看,高版本设备在接收数据包后会判断是否收到且仅收到准备完毕确认信号,如果还有其他数据包则该频段可能存在有其他对设备也在传输升级数据包,因为升级数据包发送本身是一个连续不间断过程,高设备能检测到其他设备的升级数据包就可以判断出该频段不是空闲频段;同样的,从低版本设备的视角来看,低版本设备发送准备完毕确认信号后也会判断是否收到且仅收到高版本设备发送的与准备完毕确认信号对应的应答信号,如果低版本设备没有收到应答信号反而收到其他数据包就可以判断出该频段不是空闲频段。为了避免高版本设备传输给低版本设备的升级数据包错误,需要设备双方更换频段后低版本设备重新对该高版本设备发送升级请求信号。

s107高版本设备向低版本设备发送升级数据包;本步骤中升级数据包可被拆分为若干更新包,高版本设备每次发送完更新包,则在指定时间内等待低版本设备应答,若收到应答,则检查应答包是否正确;待更新包传输完毕后发送校验包,将自身程序的校验crc发送给低版本设备,收到应答后退出更新。

s108高版本设备和低版本设备跳频至默认频段。

s109低版本设备进行软件升级并在升级完毕后确定自身为高版本设备。本步骤中低版本设备在升级完毕后确定自身为高版本设备,然后可以开始对周边其他低版本设备进行升级。

本实施例方法可应用于电动车的防盗设备终端中,当服务器端对某个防盗设备终端升级至最高版本后,该设备在静止时可接收其他低版本设备的请求对其进行升级。以某小区电动车上的设备举例,当电动车停在小区停车场时,设备对停车场内的其他设备进行升级,以一升二、二升四、四升八这样的指数级数增长快速的将其他设备升级完毕;待第二天上班后,这些升级完毕的设备跟随电动车停在各自的工作地点,同样的对各自工作地点电动车上的设备进行升级,下午下班后,已升级完毕的所有设备跟随电动车回家,然后对各自停车场内的其他设备进行升级,如此周而复始,防盗设备终端可以以线下升级形式进行设备间扩散式升级。

本实施例方法在传统设备的在线从服务器下载数据包升级软件的基础上,添加了线下设备间数据交互自动升级软件的模式,设备以指数级数增长的速度扩散更新升级,大大增加了设备的升级更新速率,实现以小区、公司或工厂为单位的小区域内设备间的版本同步,本实施例方法特别适用于搭载在移动式的且采用nb-iot技术或类似下行通道少技术的设备终端。

实施例2:参照附图2,本实施例方法是站在低版本设备的视角,对实施例1方法进行细化的方法流程,具体的,一种设备间低版本设备请求高版本设备对其进行升级的方法,包括:

s201获取周边同类设备的版本号和唯一识别码;本步骤中设备通过自带的无线射频信号收发模块或其他无线通信模块接收周边设备发送的心跳数据,解析并获取心跳数据中的设备版本号和设备唯一识别码。

s202比对版本号,判断同类设备的版本号是否高于本设备的版本号,若是则进入下一步骤;本步骤中设备会将自身的版本号与外界获取的版本号进行比对,默认情况下设备自身软件版本为高版本。

s203将本设备的版本状态由默认状态下的不可升级修改为可升级;本步骤的目的是通过修改版本状态确定本设备为低版本设备,版本状态为可升级意味着本设备为低版本设备,版本状态为不可升级意味着本设备为高版本设备。

s204判断该同类设备的版本号在高版本设备名单内是否最高,若是则进入下一步骤;如果设备软件更新比较频繁,或者刚出不久版本有bug需要紧急更新等情况出现,对于低版本设备来说,设备在获取同类设备的版本号时可能获取到2种或更多数量的高版本版本号,当高版本设备名单内出现2种以上高版本的版本号时,升级为非最高版本毫无意义,本步骤的目的就是为了筛选去除非最高版本;高版本设备名单的作用是保存获取的高于本设备版本号的同类设备的唯一识别码,当本设备满足条件时,可以根据高版本设备名单内的唯一识别码向这些同类设备请求对本设备进行升级。

s205将该同类设备的唯一识别码和版本号添加至高版本设备名单内并删去较低版本设备的唯一识别码和版本号;本步骤中,如果新获得的版本号在高版本设备名单中是唯一最高的,则可以删去其余低版本版本号;如果不是唯一最高的,则无需删去其他版本号。

s206判断本设备当前是否符合预设进行升级条件,若是则进入下一步骤;本步骤中预设进行升级条件为高版本设备名单内有同类设备的唯一识别码,且当前本设备处于静止状态或者处于半夜1点到4点。

s207在高版本设备名单内选择一个目标设备的唯一识别码。

s208对外发送升级请求信号,升级请求信号包括本设备的版本号、目标设备的唯一识别码、随机生成的用于传输数据的指定频段。

s209判断是否收到目标设备回复的与升级请求信号对应的应答信号,若是则进入步骤s210,否则进入步骤s230;本步骤中如果收到目标设备的应答信号,则表明目标设备在本设备附近,可以进行升级;反之则表明目标设备不在本设备附近或目标设备正在对其他设备进行升级中,需要更换一个目标设备发送升级请求信号。

s210跳频至升级请求信号中的指定频段。

s211发送准备完毕确认信号;本步骤中当本设备完成升级前的准备工作后,会发送准备完毕确认信号通知目标设备本设备已经做好接收升级数据包的准备。

s212判断是否收到且仅收到对应的应答信号,若是则进入步骤s213,否则进入步骤s220;本步骤中的目的有两个,一是通过接收应答信号判断高版本设备是否收到本设备的准备完毕确认信号;二是在监测该频段是否为空闲频段,在发送准备完毕确认信号后,通过检测是否接收到其他设备的数据包判断该频段当前是否被其他设备占用;如果该频段为空闲频段,则进入步骤s213开始接收升级数据包;如果该频段不是空闲频段,则本设备进入步骤s220跳频至默认频段发送包括重新随机生成的指定频段的升级请求信号。

s213接收并保存目标设备发送的升级数据包。

s214跳频至默认频段。

s215升级本设备的软件、将本设备的版本状态修改为不可升级并删去高版本设备名单;进行到本步骤即意味着本设备已完成版本升级,从此时开始可以接受其他低版本设备请求并对其进行升级。

s220跳频至默认频段,然后返回步骤s208。

s230将目标设备的唯一识别码和版本号从高版本设备名单中删去,然后返回步骤s207。

本实施例方法的原理和技术效果可参照实施例1。

为了防止有不法分子通过某种手段在设备里恶意散布无效或恶意软件版本,本设备升级软件前,还会向平台确认升级数据包的校验码和版本号是否正确,若平台回复正确或超过预设时间平台未回复,则继续升级本设备的软件。通常设备的升级数据包在几十k大小左右,而平台的回复应答在几个字节左右,故对于nb基站对大数量的设备进行数据传输升级有时间难度,但是仅回复几个字节的速度还是可以很快。为了防止设备长时间无法收到平台的回复,另外在以上基础上设备还添加了平台超时未回复自动升级。

实施例3:参照附图3,本实施例方法是站在高版本设备的视角,对实施例1方法进行细化的方法流程,具体的,一种设备间高版本设备接受低版本设备请求对其进行升级的方法,包括:

s301接收升级请求信号,升级请求信号包括低版本设备的版本号、本设备的唯一识别码、指定频段。

s302判断本设备当前是否符合预设升级数据发送条件,若是则进入下一步骤;本步骤中预设升级数据发送条件为本设备版本状态为默认状态下的不可升级,且当前本设备处于静止状态。

s303判断升级请求信号中的版本号是否低于本设备的版本号,若是则进入下一步骤。

s304回复与升级请求信号对应的应答信号。

s305跳频至升级请求信号中的指定频段。

s306判断是否收到且仅收到低版本设备发送的准备完毕确认信号,若是则进入下一步骤,否则进入步骤s309。本步骤中的目的有两个,一是通过接收准备完毕确认信号确定低版本设备是否准备完毕;二是在监测该频段是否为空闲频段,在发送准备完毕确认信号后,通过检测是否接收到其他设备的数据包判断该频段当前是否被其他设备占用;如果该频段为空闲频段,则进入步骤s307告知目标设备本设备可以在该频段发送升级数据包;如果该频段不是空闲频段,则本设备进入步骤s309跳频至默认频段等待重新接收包括不同的指定频段的升级请求信号。

s307回复对应的应答信号。

s308发送升级数据包给目标设备;进行到本步骤即意味着本设备已完成版本升级,从此时开始可以接受其他低版本设备请求并对其进行升级。

s309跳频至默认频段。

本实施例方法与实施例2方法是相对应的,其原理和技术效果可参照实施例1和实施例2,此处不再赘述。

虽然本发明已通过参考优选的实施例进行了描述,但是,本领域普通技术人员应当了解,可以不限于上述实施例的描述,在权利要求书的范围内,可作出形式和细节上的各种变化。

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