【技术实现步骤摘要】
一种基于P2P架构的多模块程序自动更新方法
[0001]本专利技术属于涉及程序自动更新
,特别是涉及一种基于
P2P
架构的多模块程序自动更新方法
。
技术介绍
[0002]互联网设备一般采用
C/S(Client/Server)
架构进行程序更新,即以服务器为中心,各客户端依靠互联网构建程序更新链路,该架构可提前把新版本程序储存在服务器或者其他中介设备中,若有更新需要的节点接入网络后,可以快速的从服务器中申请更新
。
许多无线网络延续使用了
C/S
架构,但对于分布式网络来说,由于无固定基础设施的支撑,在一定程度上难完成程序更新
。C/S
架构的程序更新方式依赖服务器或固定节点,在没有服务器支撑的情况下,客户端互相连接时,无法通过客户端间自主判断完成程序更新,大大降低了更新的灵活性
。
此外,现有的程序更新方式为单模块更新,若节点设备有多个模块需要程序更新,则采用多次单模块更新的方式完成,因此,该方式仅适用于模块程序版本不存在约束关系的简单设备
。
技术实现思路
[0003]本专利技术目的在于解决上述
技术介绍
中提出的问题,提供一种基于
P2P
架构的多模块程序自动更新方法,主要适用于无基础设施支撑的多模块无线网络设备
。
[0004]为了实现本专利技术目的,本专利技术公开了一种基于
P2P
架构的多模块程序自动更新方法,不需要预设的服务 ...
【技术保护点】
【技术特征摘要】
1.
一种基于
P2P
架构的多模块程序自动更新方法,其特征在于,无线网络中节点的更新流程包括如下步骤:
S11
,启动节点设备,检测程序更新寄存器,当寄存器状态为“重启需更新”,将寄存器状态更改为“重启不更新”,并转到步骤
S17
,否则转到步骤
S12
;
S12
,广播本节点版本对比包,并接收其他节点广播的各版本对比包,整理所有节点版本对比包中的信息,组成版本对照表;
S13
,根据整理的版本对照表,判断是否有模块需要更新,若没有模块需要更新,等待固定时长,转到步骤
S12
,若有模块需要更新
,
转到步骤
S14
;
S14
,根据版本对照表中的约束关系,计算更新策略,并向对应节点发送更新申请包;
S15
,接收对应节点发送的更新程序;
S16
,判断节点设置的更新模式,若节点当前设置的更新模式为“及时更新”,进行步骤
S17
,若节点当前设置的更新模式为“重启时更新”,转到步骤
S111
;
S17
,备份待更新模块中的程序,备份完成后,开始更新,等待更新完成,进行程序校验比对;
S18
,当程序比对成功,转到步骤
S19
,当程序比对不成功,转到
S110
;
S19
,读取节点内各模块的版本,更新版本信息,覆盖原版本信息,转到步骤
S12
;
S110
,根据各模块版本间的约束关系有选择的进行版本回退,回退完成后,转到步骤
S19
;
S111
,备份更新程序,将更新寄存器的状态更改为“重启需更新”,转到步骤
S12。2.
根据权利要求1所述的一种基于
P2P
架构的多模块程序自动更新方法,其特征在于,步骤
S12
中,在如下情况发送版本对比包:
S121
,当有新节点入网,新节点和原网络中的节点全部广播版本对比包;
S122
,当没有新节点入网,在全网统一时间的条件下,每隔固定时长,全部节点广播版本对比包
。3.
根据权利要求1所述的一种基于
P2P
架构的多模块程序自动更新方法,其特征在于,步骤
S12
中,版本对比包的具体报文内容如下所示:版本对比包中包含自身节点的唯一识别号,节点中模块个数
n
,第一个模块版本及与其他模块的约束关系,第二个模块版本及与其他模块的约束关系,直至第
n
个模块版本及与其他模块的约束关系
。4.
根据权利要求1所述的一种基于
P2P
架构的多模块...
【专利技术属性】
技术研发人员:唐一鸣,胡郑峰,张晗,黄镠,
申请(专利权)人:中国船舶集团有限公司第七二四研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。