System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种远程升级路径的查找方法技术_技高网

一种远程升级路径的查找方法技术

技术编号:44432904 阅读:11 留言:0更新日期:2025-02-28 18:44
本发明专利技术提供一种远程升级路径的查找方法,包括以下步骤:服务器建立并维护软件升级包数据库;建立与所述升级请求关联的有向图;所述服务器根据源版本号V<subgt;s</subgt;和目标版本号V<subgt;T</subgt;,搜索所述有向图,获得从源版本号V<subgt;s</subgt;到目标版本号V<subgt;T</subgt;的升级路径;所述服务器将所述升级路径返回给所述客户端。本发明专利技术从有向图的构造和升级路径查找两个方面,均缩短服务器运行时间,从而减少客户端等待时间,高效及时向客户端返回查找到的最优的升级路径,提高客户端用户的使用体验。

【技术实现步骤摘要】

本专利技术属于软件升级路径查找,具体涉及一种远程升级路径的查找方法


技术介绍

1、在科技不断发展的今天,软件版本的升级成为了各大企业和普通用户面临的一项重要任务。无论是操作系统、应用程序,还是框架和库,软件版本升级不仅是提高安全性和性能的关键步骤,更是确保与新技术和新设备兼容的必经之路。

2、因此,对于一款软件,常常同时存在多种不同的软件版本,当客户端发送不同的软件升级请求时,如何快速查找到与软件升级请求匹配的升级路径,从而使客户端根据升级路径下载不同的软件升级包,是目前需要解决的重点问题。


技术实现思路

1、针对现有技术存在的缺陷,本专利技术提供一种远程升级路径的查找方法,可有效解决上述问题。

2、本专利技术采用的技术方案如下:

3、本专利技术提供一种远程升级路径的查找方法,包括以下步骤:

4、步骤s1,服务器建立并维护软件升级包数据库;所述软件升级包数据库中存储并实时更新目标软件的所有版本的软件升级包,并且,每个版本的所述软件升级包的文件名具有软件版本号;具体的,如果所述软件升级包为全量包,则其软件版本号即为升级后的软件版本号;如果所述软件升级包为差分包,则其软件版本号表示为:升级后的软件版本号v新-升级前的软件版本号v旧;

5、步骤s2,当服务器接收到来自于客户端的目标软件的升级请求时,所述升级请求中携带有目标软件的源版本号vs和需要升级到的目标版本号vt,所述服务器查找所述软件升级包数据库,建立与所述升级请求关联的有向图;

6、步骤s3,所述服务器根据源版本号vs和目标版本号vt,搜索所述有向图,获得从源版本号vs到目标版本号vt的升级路径;

7、步骤s4,所述服务器将所述升级路径返回给所述客户端。

8、优选的,步骤s1中,每当目标软件出现新的软件升级包时,将所述新的软件升级包添加到所述软件升级包数据库;

9、每当目标软件的已有旧软件升级包被清退时,从所述软件升级包数据库中删除对应的软件升级包。

10、优选的,步骤s2具体为:

11、步骤s2.1,所述服务器遍历所述软件升级包数据库中的各个软件升级包,筛选出符合以下条件的软件升级包;:

12、如果为全量包,则筛选出软件版本号位于源版本号vs和目标版本号vt之间的软件升级包;如果为差分包,则筛选出升级后的软件版本号v新低于等于目标版本号vt,同时,升级前的软件版本号v旧高于等于源版本号vs的软件升级包;

13、步骤s2.2,对步骤s2.1筛选出的软件升级包的文件名中的软件版本号进行分析,建立有向图:

14、步骤s2.2.1,首先在图中建立代表源版本号vs的源节点ps,以及代表目标版本号vt的目标节点pt;

15、步骤s2.2.2,对于筛选出的每个软件升级包,从其文件名中解析出软件版本号,均执行以下步骤:

16、如果解析出的软件版本号为单独的一个软件版本号,代表该软件升级包为全量包,判断有向图中是否已存在代表该软件版本号的节点,如果不在,则将代表该软件版本号的节点新增加到有向图中,并增加一条指向自己的箭头,标识该节点的类型为全量包节点类型;

17、如果解析出的软件版本号为升级后的软件版本号v新-升级前的软件版本号v旧的差分形式,代表该软件升级包为用于将软件从v旧升级到v新的差分包,判断有向图中是否已存在代表升级后的软件版本号v新的节点p新,以及代表升级前的软件版本号v旧的节点p旧,如果没有,则在有向图中新增代表升级后的软件版本号v新的节点p新,以及代表升级前的软件版本号v旧的节点p旧,并增加节点p新指向节点p旧的路径,并在节点p新的路径列表中,增加指向节点p旧的路径;

18、步骤s2.2.3,当筛选出的每个软件升级包均执行步骤s2.2.2后,构建得到与所述升级请求关联的有向图。

19、优选的,步骤s3具体为:

20、步骤s3.1,设置初始为空的升级路径表;

21、步骤s3.2,在所述有向图中,首先设置代表目标版本号vt的目标节点pt为当前搜索节点c;

22、步骤s3.3,将当前搜索节点c记录到升级路径表中;

23、步骤s3.4,判断当前搜索节点c代表的软件版本号,是否与客户端待升级的源版本号vs相同,如果相同,则升级路径搜索过程结束,执行步骤s3.7;如果不相同,则执行步骤s3.5;

24、步骤s3.5,判断当前搜索节点c是否为全量包节点类型,如果是,则升级路径搜索过程结束,执行步骤s3.7;如果不是,则执行步骤s3.6;

25、步骤s3.6,对当前搜索节点c,执行路径搜索过程,方法为:

26、步骤s3.6.1,读取当前搜索节点c的路径列表,对于路径列表中的每条路径,均执行步骤s3.6.2-步骤s3.6.3:

27、步骤s3.6.2,将路径指向的节点p旧,作为当前搜索节点c的子节点,记录到升级路径表中;

28、步骤s3.6.3,判断路径指向的节点p旧代表的软件版本号v旧,是否与客户端待升级的源版本号vs相同,如果相同,则升级路径搜索过程结束,执行步骤s3.7;如果不相同,则将路径指向的节点p旧作为当前搜索节点c,返回执行步骤s3.5;

29、步骤s3.7,在升级路径表中,得到从源节点ps到目标节点pt的升级路径,或者,得到从某个全量包节点到目标节点pt的升级路径。

30、本专利技术提供的一种远程升级路径的查找方法具有以下优点:

31、本专利技术提供一种远程升级路径的查找方法,具有以下优点:

32、本专利技术从有向图的构造和升级路径查找两个方面,均缩短服务器运行时间,从而减少客户端等待时间,高效及时向客户端返回查找到的最优的升级路径,提高客户端用户的使用体验。

本文档来自技高网...

【技术保护点】

1.一种远程升级路径的查找方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种远程升级路径的查找方法,其特征在于,步骤S1中,每当目标软件出现新的软件升级包时,将所述新的软件升级包添加到所述软件升级包数据库;

3.根据权利要求1所述的一种远程升级路径的查找方法,其特征在于,步骤S2具体为:

4.根据权利要求3所述的一种远程升级路径的查找方法,其特征在于,步骤S3具体为:

【技术特征摘要】

1.一种远程升级路径的查找方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种远程升级路径的查找方法,其特征在于,步骤s1中,每当目标软件出现新的软件升级包时,将所述新的软件升级包添加到所...

【专利技术属性】
技术研发人员:祁兵殷木省
申请(专利权)人:艾体威尔电子技术北京有限公司
类型:发明
国别省市:

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

1