一种系统升级方法、装置和设备制造方法及图纸

技术编号:37503591 阅读:18 留言:0更新日期:2023-05-07 09:39
本发明专利技术提供一种系统升级方法、装置和设备,方案通过预先在目标节点配置分布式锁,当执行升级任务时,先向该目标节点进行分布式锁申请,当分布式锁申请成功后,产生升级数据,将升级数据加载到目标节点,从而实现待升级设备的系统升级,而分布式锁申请失败时,表明已有其他升级数据生产者成功申请分布式锁,此时结束流程,无需产生升级数据,从而降低了在系统升级过程中,对其他系统带来的数据波峰冲击强度。度。度。

【技术实现步骤摘要】
一种系统升级方法、装置和设备


[0001]本专利技术涉及无线通讯
,具体涉及一种可分布式部署性能平滑的设备的系统升级方法、装置和设备。

技术介绍

[0002]在物联网平台中,为了设备软件更新、固件更新和设备管理功能更新等需求,对于设备的无线升级必不可少。则针对设备无线升级的后台系统应运而生。对于设备无线升级系统,除了稳定性、健壮性需求外,在性能上应该能够满足随着公司业务增长带来的升级设备量增加,灵活扩容,并且应该尽量保证升级流量平滑,以免对于物联网平台其他系统(如:网关系统)带来性能波峰冲击。
[0003]原有升级后台系统为基于多线程的单节点设计,这种设计方式不支持分布式扩容,原有设计对于升级服务采用周期性任务和多线程完成。例如,参见图1所示,现有升级方案中,升级任务按照预定升级周期(如:15分钟)进行待升级设备数据查询与升级命令下发。所以升级数据生产证会每15分钟就会给平台其他系统(如:网关)带来一个数据波峰冲击,影响系统正常工作。
[0004]由此,亟需一种对系统冲击小的系统升级方案。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种系统升级方法、装置和设备,以提供一种数据波峰冲击小的系统升级方案。
[0006]为实现上述目的,本专利技术实施例提供如下技术方案:
[0007]一种系统升级方法,包括:
[0008]当系统升级任务开始时,向目标节点发起分布式锁申请;
[0009]当申请到分布式锁时,产生升级数据;
[0010]将所述升级数据发送至所述目标节点,以使得待升级设备基于所述目标节点中的升级数据进行系统升级。
[0011]可选的,上述系统升级方法中,还包括:
[0012]基于所述升级任务确定待升级设备;
[0013]将所述待升级设备的设备数据写入所述目标节点;
[0014]当所述待升级设备升级完成后,将所述待升级设备的设备数据由所述目标节点删除。
[0015]可选的,上述系统升级方法中,所述向目标节点发起分布式锁申请包括:
[0016]判断所述目标节点中是否存在未升级的待升级设备的设备数据;
[0017]当所述目标节点中存在未升级的待升级设备的设备数据时,表明所述分布式锁已被占用,升级任务结束;
[0018]当所述目标节点不存在未升级的待升级设备的设备数据时,表明所述分布式锁未
被占用,向所述目标节点发起分布式锁申请。
[0019]可选的,上述系统升级方法中,所述将所述升级数据发送至所述目标节点之后,还包括:
[0020]判断所述目标节点中是否存在未升级的待升级设备的设备数据,如果存在,采用多线程方式向所述设备数据对应的待升级设备发送升级数据。
[0021]可选的,上述系统升级方法中,当所述目标节点中不存在未升级的待升级设备的设备数据,休眠第一预设时长后,继续判断所述目标节点中是否存在未升级的待升级设备的设备数据;
[0022]当采用多线程方式向所述设备数据对应的待升级设备发送升级数据之后,休眠第二预设时长后,继续判断所述目标节点中是否存在未升级的待升级设备的设备数据。
[0023]可选的,上述系统升级方法中,所述当系统升级任务开始时,向目标节点发起分布式锁申请,包括:
[0024]基于第三预设周期判断是否产生系统升级任务,当产生系统升级任务时,表明系统升级任务开始,向目标节点发起分布式锁申请。
[0025]一种系统升级装置,包括:
[0026]分布式锁申请单元,用于当系统升级任务开始时,向目标节点发起分布式锁申请;
[0027]升级数据产生单元,用于当申请到分布式锁时,产生升级数据;
[0028]升级数据发布单元,用于将所述升级数据发送至所述目标节点,以使得待升级设备基于所述目标节点中的升级数据进行系统升级。
[0029]可选的,上述系统升级装置中,还包括:
[0030]待升级设备确定单元,用于:
[0031]基于所述升级任务确定待升级设备;
[0032]将所述待升级设备的设备数据写入所述目标节点;
[0033]当所述待升级设备升级完成后,将所述待升级设备的设备数据由所述目标节点删除。
[0034]可选的,上述系统升级装置中,所述分布式锁申请单元在向目标节点发起分布式锁申请时,具体用于:
[0035]判断所述目标节点中是否存在未升级的待升级设备的设备数据;
[0036]当所述目标节点中存在未升级的待升级设备的设备数据时,表明所述分布式锁已被占用,升级任务结束;
[0037]当所述目标节点不存在未升级的待升级设备的设备数据时,表明所述分布式锁未被占用,向所述目标节点发起分布式锁申请。
[0038]一种系统升级设备,包括:所述存储器,用于存储程序;
[0039]所述处理器,用于执行所述程序,实现上述任一项所述的系统升级方法的各个步骤。
[0040]基于上述技术方案,本专利技术实施例提供的上述方案,预先在目标节点配置分布式锁,当执行升级任务时,先向该目标节点进行分布式锁申请,当分布式锁申请成功后,产生升级数据,将升级数据加载到目标节点,从而实现待升级设备的系统升级,而分布式锁申请失败时,表明已有其他升级数据生产者成功申请分布式锁,此时结束流程,无需产生升级数
据,从而降低了在系统升级过程中,对其他系统带来的数据波峰冲击强度。
附图说明
[0041]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042]图1为现有技术中的系统升级方案的流程示意图;
[0043]图2为本申请实施例公开的系统升级方法的流程示意图;
[0044]图3为本申请另一实施例公开的系统升级方法的流程示意图;
[0045]图4为本申请另一实施例公开的系统升级方法的流程示意图;
[0046]图5为本申请实施例公开的系统升级装置的结构示意图;
[0047]图6为本申请实施例公开的系统升级设备的结构示意图。
具体实施方式
[0048]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0049]为了解决现有技术中系统升级方案的上述问题,本申请公开了一种基于分布式锁的系统升级方案,其中,分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现,如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往需要通过互斥原则来防止彼此干扰来保证一致性。由本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统升级方法,其特征在于,包括:当系统升级任务开始时,向目标节点发起分布式锁申请;当申请到分布式锁时,产生升级数据;将所述升级数据发送至所述目标节点,以使得待升级设备基于所述目标节点中的升级数据进行系统升级。2.根据权利要求1所述的系统升级方法,其特征在于,还包括:基于所述升级任务确定待升级设备;将所述待升级设备的设备数据写入所述目标节点;当所述待升级设备升级完成后,将所述待升级设备的设备数据由所述目标节点删除。3.根据权利要求2所述的系统升级方法,其特征在于,所述向目标节点发起分布式锁申请包括:判断所述目标节点中是否存在未升级的待升级设备的设备数据;当所述目标节点中存在未升级的待升级设备的设备数据时,表明所述分布式锁已被占用,升级任务结束;当所述目标节点不存在未升级的待升级设备的设备数据时,表明所述分布式锁未被占用,向所述目标节点发起分布式锁申请。4.根据权利要求2所述的系统升级方法,其特征在于,所述将所述升级数据发送至所述目标节点之后,还包括:判断所述目标节点中是否存在未升级的待升级设备的设备数据,如果存在,采用多线程方式向所述设备数据对应的待升级设备发送升级数据。5.根据权利要求4所述的系统升级方法,其特征在于,当所述目标节点中不存在未升级的待升级设备的设备数据,休眠第一预设时长后,继续判断所述目标节点中是否存在未升级的待升级设备的设备数据;当采用多线程方式向所述设备数据对应的待升级设备发送升级数据之后,休眠第二预设时长后,继续判断所述目标节点中是否存在未升级的待升级设备的设备数...

【专利技术属性】
技术研发人员:张楠
申请(专利权)人:海尔智家股份有限公司
类型:发明
国别省市:

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

1