System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件更新,具体是一种基于多核技术的软件控制器在线更新系统。
技术介绍
1、据研究称,任何软件开发商都不可能把软件开发做到完美,软件在使用一段时间之后由于各方面的原因,总会出现各种问题,随着新技术的出现以及用户要求的不断增加,软件升级变得越来越重要。现在基本国内各种软件都具备自动升级或在线升级功能,一般都是有新版本时提示用户确认升级,开始下载软件,下载完成后安装软件,安装完成后自动删除升级包;
2、然而,在对软件控制器进行升级时,由于升级包存在众多的版本号,难以选取合适的升级包,以提高软件升级安全性和效率;有时候,某个软件版本只是修改了少量脚本文件或配置文件,也要整体升级才能更新到控制器上,代价较大;或者应用程序在升级的过程中被干扰篡改,导致应用程序破坏不可用的情况发生;基于以上不足,本专利技术提出一种基于多核技术的软件控制器在线更新系统。
技术实现思路
1、本专利技术旨在至少解决现有技术中存在的技术问题之一;为此,本专利技术提出了一种基于多核技术的软件控制器在线更新系统。
2、为实现上述目的,本专利技术的第一方面提供了一种基于多核技术的软件控制器在线更新系统,包括程序验证模块、请求监测模块、云服务器、文件筛选模块、数据库以及程序更新模块;
3、所述程序验证模块与软件控制器相连接,用于判断软件控制器实现的应用功能对应的应用程序的有效性,当应用功能对应的应用程序均有效时,启动软件控制器中对应应用程序;
4、所述程序验证模块内
5、当软件控制器状态满足升级条件时,所述文件筛选模块用于对云服务器上的各个升级包进行筛选分析,计算得到各个升级包的筛选匹配指数sp;
6、选取筛选匹配指数sp最大的升级包作为目标文件,然后软件控制器通过云服务器下载目标文件到本地;
7、所述软件控制器的软件有固化程序和活动程序之分;所述程序更新模块用于将目标文件中的活动程序与软件控制器本地活动程序逐一比较,将存在不同的差异文件发送至软件控制器进行更新,具体包括:
8、对于目标文件中活动程序的每个新文件,程序更新模块计算新文件的摘要,软件控制器计算本地活动程序中对应旧文件的摘要,如果新旧文件的摘要相同,则将当前新文件判定为差异文件并发送至软件控制器;
9、当差异文件下发完成,则软件控制器将差异文件更新至本地活动程序中并更新软件版本号;更新完成之后,再次计算各文件的摘要,与新文件的摘要进行比对,若完全相同,则说明程序更新无误。
10、进一步地,所述文件筛选模块的具体分析步骤包括:
11、通过信息交互渠道从各大网络平台上获取到若干个符合软件控制器升级需求的升级包;所述升级包携带有兼容等级信息;
12、针对某个升级包,统计所述升级包的平台分布数量为l1,统计所述升级包的数据量为z1;在预设时间段内,采集所述升级包的下载次数为z3;
13、获取所述升级包的兼容等级信息,将对应的兼容系数阈值标记为z2;具体为:所述数据库内存储有兼容等级信息与兼容系数阈值的映射关系表;
14、利用公式sp=(z2×a1+l1×a2+z3×a3)/z1计算得到所述升级包的筛选匹配指数sp,其中a1、a2、a3均为预设系数因子。
15、进一步地,云服务器利用预设的软件升级判断逻辑的具体步骤包括:
16、当接收到外部升级请求,则请求监测模块下发召测报文至软件控制器;
17、软件控制器收到召测报文之后将对应应用程序的版本号返回至云服务器;
18、所述云服务器拿到版本号后与升级包的最新版本号进行比对;
19、如果软件控制器的版本号低于云服务器上的最新版本号,则判定所述软件控制器状态满足升级条件。
20、进一步地,所述程序更新模块用于通过蓝牙下发差异文件,差异文件一帧一帧发;每帧内容长度400,每帧内容包括协议头、升级文件总长度、偏移量、本帧长度、本帧内容和校验码;
21、所述软件控制器接收到本帧内容后通过协议头和校验码进行校验;若校验不通过,则返回失败,停止更新;若校验通过,则写入缓存,返回成功,程序更新模块收到成功之后立刻发送下一帧内容。
22、进一步地,所述程序更新模块用于将更新后的软件版本号上传至云服务器,所述云服务器通过软件版本号比对,完全一致则认为当前更新成功,否则提示更新出错。
23、进一步地,所述程序更新模块还包括:在开始发送内容时开始计时,如果3秒收不到回复内容,则启动超时重发,并且计数器加一;如果计数器大于3,则返回失败,停止更新。
24、进一步地,所述软件控制器中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化。
25、与现有技术相比,本专利技术的有益效果是:
26、本专利技术中所述请求监测模块用于实时监测是否接收到了外部升级请求,一旦接收到外部升级请求,则调用云服务器并利用预设的软件升级判断逻辑来判断软件控制器状态是否满足升级条件;当满足升级条件时,所述文件筛选模块用于对云服务器上的各个升级包进行筛选分析,选取筛选匹配指数sp最大的升级包作为目标文件,以提高软件升级安全性和效率;所述程序更新模块用于将目标文件中的活动程序与软件控制器本地活动程序逐一比较,将存在不同的差异文件发送至软件控制器进行更新,只需更新差异文件即可,提高了更新效率,缩短更新时间,避免升级整体软件带来的问题。
本文档来自技高网...【技术保护点】
1.一种基于多核技术的软件控制器在线更新系统,其特征在于,包括程序验证模块、请求监测模块、文件筛选模块、数据库以及程序更新模块;
2.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述文件筛选模块的具体分析步骤包括:
3.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,云服务器利用预设的软件升级判断逻辑的具体步骤包括:
4.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述程序更新模块用于通过蓝牙下发差异文件,差异文件一帧一帧发;每帧内容长度400,每帧内容包括协议头、升级文件总长度、偏移量、本帧长度、本帧内容和校验码;
5.根据权利要求4所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述程序更新模块用于将更新后的软件版本号上传至云服务器,所述云服务器通过软件版本号比对,完全一致则认为当前更新成功,否则提示更新出错。
6.根据权利要求5所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述程序更新模块还包括:在开始发
7.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述软件控制器中的应用程序启动后需要针对所述应用程序对应的具体应用模块进行硬件资源初始化。
...【技术特征摘要】
1.一种基于多核技术的软件控制器在线更新系统,其特征在于,包括程序验证模块、请求监测模块、文件筛选模块、数据库以及程序更新模块;
2.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述文件筛选模块的具体分析步骤包括:
3.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,云服务器利用预设的软件升级判断逻辑的具体步骤包括:
4.根据权利要求1所述的一种基于多核技术的软件控制器在线更新系统,其特征在于,所述程序更新模块用于通过蓝牙下发差异文件,差异文件一帧一帧发;每帧内容长度400,每帧内容包括协议头、升级文件总长度、偏移量、本帧长度、本帧内容和校验码;<...
【专利技术属性】
技术研发人员:谢磊,田羽,张亮,
申请(专利权)人:合肥图哇科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。