数据自动升级的方法、智能家居网关和计算机可读存储介质技术

技术编号:36980175 阅读:27 留言:0更新日期:2023-03-25 17:59
本发明专利技术提供一种数据自动升级的方法、智能家居网关和计算机可读存储介质。该方法包括:检测本地时间是否进入预设的闲时时间,若是,检测服务器上是否存在与目标本地文件对应的升级包的版本更新信息;若存在,获取升级包的下载地址,在闲时时间内随机获取第一下载时间;判断目标本地文件的下载地址是否与升级包的下载地址相同,若不相同,删除目标本地文件,开始下载升级包;判断升级包是否下载成功,若是,进行升级操作;若升级包下载失败,则再次获取升级包的下载地址,在闲时时间内随机获取第二下载时间,并在第二下载时间内再次下载升级包。智能家居网关可应用上述方法。本发明专利技术可避免一个时间段同时下载多个升级包导致再次下载失败。载失败。载失败。

【技术实现步骤摘要】
数据自动升级的方法、智能家居网关和计算机可读存储介质


[0001]本专利技术涉及空中下载
,具体是涉及一种数据自动升级的方法、智能家居网关和计算机可读存储介质。

技术介绍

[0002]空中下载技术(OTA,Over

the

Air Technology)是安卓系统提供的标准软件升级方式。空中下载技术应用于移动通信提供语音和数据服务,还提供新业务下载。智能家居网关需要增加新的功能或者修复异常问题时,通信需要对数据进行升级,通常使用空中下载技术进行数据的升级操作,例如以下载并运行升级包的方式进行升级。但是升级包的数据量较为庞大,下载的时间比较长,占用服务器的资源较多,如果有多个升级包需要下载,同时下载多个升级包时会容易出现资源抢占、高并发等问题而导致下载失败。
[0003]现有的升级包下载方法是通过闲时时间内随机生成一个下载时间进行下载,每一个升级包对应于一个下载时间,且每一个升级包在对应的下载时间内进行下载。但若下载失败,现有技术通常是继续下载该升级包,但继续下载升级包的时间可能与另一个升级包的下载时间重叠,导致一个时间段内同时需要下载两个甚至更多的升级包,会影响升级包的下载速度,又或者会出现资源抢占等问题,导致升级包再次下载失败。

技术实现思路

[0004]本专利技术的第一目的是提供一种避免一个时间段同时下载多个升级包导致再次下载失败的数据自动升级的方法。
[0005]本专利技术的第二目的是提供一种应用上述数据自动升级的方法的智能家居网关。
[0006]本专利技术的第三目的是提供一种实现上述数据自动升级的方法的计算机可读存储介质。
[0007]为了实现上述的第一目的,本专利技术提供的数据自动升级的方法,该方法包括:检测本地时间是否进入预设的闲时时间,若是,检测服务器上是否存在与目标本地文件对应的升级包的版本更新信息;若存在,获取升级包的下载地址,在闲时时间内随机获取第一下载时间;判断目标本地文件的下载地址是否与升级包的下载地址相同,若不相同,删除目标本地文件,开始下载升级包;判断升级包是否下载成功,若是,进行升级操作;若升级包下载失败,则再次获取升级包的下载地址,在闲时时间内随机获取第二下载时间,并在第二下载时间内再次下载升级包。
[0008]由上述方案可见,本专利技术提供的数据自动升级的方法,在预设的闲时时间中下载升级包,例如预设的闲时时间为凌晨2点到凌晨5点,在这个时间段内下载升级包可以避开用户使用智能家居的时间,此外,在闲时时间段从服务器中下载文件的设备较少,下载资源较为充足。在闲时时间内中随机获取一个下载时间,可避免多个设备在同一时间内同时下载而导致下载失败。若在下载过程中文件下载失败,则在闲时时间内再次随机分配下一个下载时间,可以避免多个设备同一时间内同时下载而导致再次下载失败。
[0009]进一步的方案中,若目标本地文件的下载地址与升级包的下载地址相同,则检测目标本地文件的大小与服务器上的升级包的文件大小是否一致;若一致,确认升级包下载成功。
[0010]由此可见,由于先前下载时可能出现下载失败的现象,当重新获取地址时,地址可能会相同。当目标本地文件的大小与服务器上的升级包的文件大小相同,则证明已下载完成。
[0011]进一步的方案中,若目标本地文件的大小与服务器上的升级包的文件大小不一致,则继续下载升级包。
[0012]由此可见,若目标本地文件的大小与服务器上的升级包的文件大小不一致,则证明之前下载的文件并没有下载完成,通过断点续传的方式从上一次未下载的完成的位置,继续下载升级包。
[0013]进一步的方案中,检测服务器上是否存在与目标本地文件对应的升级包的版本更新信息包括:判断在闲时时间的起始时刻以前是否在服务器上查询到升级包的版本更新信息;若在闲时时间的起始时刻以前没有在服务器上查询到升级包的版本更新信息,则检测在当前时刻下,在服务器上是否查询到升级包的版本更新信息;若查询到升级包的版本更新信息,则保存版本更新信息,版本更新信息包括升级包的下载地址、升级包的文件大小和升级包的版本号。
[0014]由此可见,在下载前需要检测是否有升级包的版本更新信息,若在闲时时间的起始时刻之前检测到服务器上有升级包的版本更新信息,先不进行下载,等到闲时时间再进行下载。若在闲时时间的起始时刻之前检测到服务器上没有升级包的版本更新信息,则在闲时时间内继续查询升级包的版本更新信息。
[0015]进一步的方案中,保存版本更新信息后,还执行:判断目标本地文件的版本号是否低于升级包的版本号;若目标本地文件的版本号低于升级包的版本号,确认当前有升级包下载需求;若本地文件的版本号不低于升级包的版本号,确认当前没有升级包下载需求。
[0016]由此可见,智能家居网关可通过对目标本地文件的版本号与升级包的版本号进行对比,若服务器上的升级包的版本号低于目标本地文件的版本号,则证明这个升级包不是最新的升级包,不需要下载。
[0017]进一步的方案中,若闲时时间的起始时刻以前在服务器上有查询到升级包的版本更新信息,则直接保存升级包的版本更新信息。
[0018]由此可见,若在闲时时间的起始时刻之前检测到服务器上有升级包的版本更新信息,先不进行下载,等到闲时时间再记录升级包的版本信息,再进行下载。
[0019]进一步的方案中,若当前时刻下在服务器上没有查询到升级包的版本更新信息,则记录当前查询次数,将查询次数乘以二后加一,记录为下一查询时间的间隔,在下一查询时间的间隔过后继续查询升级包的版本更新信息。
[0020]由此可见,当在闲时时间中,当前时刻下没有查询到升级包的版本更新信息,则记录当前的查询次数,记录为n,则下一查询时间的间隔为2n+1分钟,2n+1分钟后继续查询升级包的版本更新信息。
[0021]进一步的方案中,如下一查询时间的间隔超出闲时时间的终止时刻,则不执行升级包的版本更新信息的查询。
[0022]由此可见,若已超出闲时时间的范围,则不再查询升级包的版本更新信息。
[0023]为了实现上述的第二目的,本专利技术提供的智能家居网关,智能家居网关从服务器下载升级包,其特征在于:智能家居网关包括处理器和存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的数据自动升级的方法。
[0024]为了实现上述的第三目的,本专利技术提供的计算机可读存储介质,其上存储有计算机程序,其特征在于:计算机程序被处理器执行时实现上述的数据自动升级的方法。
附图说明
[0025]图1是本专利技术数据自动升级的方法实施例中智能家具网关从服务器下载的系统结构框图。
[0026]图2是本专利技术数据自动升级的方法实施例的流程图。
[0027]图3是本专利技术数据自动升级的方法实施例中查询升级包的版本更新信息的流程图。
[0028]以下结合附图及实施例对本专利技术作进一步说明。
具体实施方式
[0029]数据自动升级的方法实施例:
[0030]参本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据自动升级的方法,包括:检测本地时间是否进入预设的闲时时间,若是,检测服务器上是否存在与目标本地文件对应的升级包的版本更新信息;若存在,获取所述升级包的下载地址,在所述闲时时间内随机获取第一下载时间;判断所述目标本地文件的下载地址是否与所述升级包的下载地址相同,若不相同,删除所述目标本地文件,开始下载所述升级包;判断所述升级包是否下载成功,若是,进行升级操作;其特征在于:若所述升级包下载失败,则再次获取所述升级包的下载地址,在所述闲时时间内随机获取第二下载时间,并在所述第二下载时间内再次下载所述升级包。2.根据权利要求1所述的数据自动升级的方法,其特征在于:若所述目标本地文件的下载地址与所述升级包的下载地址相同,则检测所述目标本地文件的大小与所述服务器上的所述升级包的文件大小是否一致;若一致,确认所述升级包下载成功。3.根据权利要求1或2所述的数据自动升级的方法,其特征在于:若所述目标本地文件的大小与所述服务器上的所述升级包的文件大小不一致,则继续下载所述升级包。4.根据权利要求3所述的数据自动升级的方法,其特征在于:检测所述服务器上是否存在与所述目标本地文件对应的升级包的版本更新信息包括:判断在所述闲时时间的起始时刻以前是否在所述服务器上查询到所述升级包的版本更新信息;若在所述闲时时间的起始时刻以前没有在服务器上查询到所述升级包的版本更新信息,则检测在当前时刻下,在所述服务器上是否查询到所述升级包的版本更新信息;若查询到所述升级包的版本更新信息,则保存所述升级包的版本更新信息,所述升级包的版...

【专利技术属性】
技术研发人员:聂振杨月轩陈潇凯郑建军
申请(专利权)人:珠海雷特科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1