System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)屬于軟件升級(jí)路徑查找,具體涉及一種遠(yuǎn)程升級(jí)路徑的查找方法。
技術(shù)介紹
1、在科技不斷發(fā)展的今天,軟件版本的升級(jí)成為了各大企業(yè)和普通用戶面臨的一項(xiàng)重要任務(wù)。無(wú)論是操作系統(tǒng)、應(yīng)用程序,還是框架和庫(kù),軟件版本升級(jí)不僅是提高安全性和性能的關(guān)鍵步驟,更是確保與新技術(shù)和新設(shè)備兼容的必經(jīng)之路。
2、因此,對(duì)于一款軟件,常常同時(shí)存在多種不同的軟件版本,當(dāng)客戶端發(fā)送不同的軟件升級(jí)請(qǐng)求時(shí),如何快速查找到與軟件升級(jí)請(qǐng)求匹配的升級(jí)路徑,從而使客戶端根據(jù)升級(jí)路徑下載不同的軟件升級(jí)包,是目前需要解決的重點(diǎn)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)存在的缺陷,本專利技術(shù)提供一種遠(yuǎn)程升級(jí)路徑的查找方法,可有效解決上述問(wèn)題。
2、本專利技術(shù)采用的技術(shù)方案如下:
3、本專利技術(shù)提供一種遠(yuǎn)程升級(jí)路徑的查找方法,包括以下步驟:
4、步驟s1,服務(wù)器建立并維護(hù)軟件升級(jí)包數(shù)據(jù)庫(kù);所述軟件升級(jí)包數(shù)據(jù)庫(kù)中存儲(chǔ)并實(shí)時(shí)更新目標(biāo)軟件的所有版本的軟件升級(jí)包,并且,每個(gè)版本的所述軟件升級(jí)包的文件名具有軟件版本號(hào);具體的,如果所述軟件升級(jí)包為全量包,則其軟件版本號(hào)即為升級(jí)后的軟件版本號(hào);如果所述軟件升級(jí)包為差分包,則其軟件版本號(hào)表示為:升級(jí)后的軟件版本號(hào)v新-升級(jí)前的軟件版本號(hào)v舊;
5、步驟s2,當(dāng)服務(wù)器接收到來(lái)自于客戶端的目標(biāo)軟件的升級(jí)請(qǐng)求時(shí),所述升級(jí)請(qǐng)求中攜帶有目標(biāo)軟件的源版本號(hào)vs和需要升級(jí)到的目標(biāo)版本號(hào)vt,所述服務(wù)器查找所述軟件升級(jí)包數(shù)據(jù)庫(kù),建立與所述升級(jí)請(qǐng)求關(guān)聯(lián)
6、步驟s3,所述服務(wù)器根據(jù)源版本號(hào)vs和目標(biāo)版本號(hào)vt,搜索所述有向圖,獲得從源版本號(hào)vs到目標(biāo)版本號(hào)vt的升級(jí)路徑;
7、步驟s4,所述服務(wù)器將所述升級(jí)路徑返回給所述客戶端。
8、優(yōu)選的,步驟s1中,每當(dāng)目標(biāo)軟件出現(xiàn)新的軟件升級(jí)包時(shí),將所述新的軟件升級(jí)包添加到所述軟件升級(jí)包數(shù)據(jù)庫(kù);
9、每當(dāng)目標(biāo)軟件的已有舊軟件升級(jí)包被清退時(shí),從所述軟件升級(jí)包數(shù)據(jù)庫(kù)中刪除對(duì)應(yīng)的軟件升級(jí)包。
10、優(yōu)選的,步驟s2具體為:
11、步驟s2.1,所述服務(wù)器遍歷所述軟件升級(jí)包數(shù)據(jù)庫(kù)中的各個(gè)軟件升級(jí)包,篩選出符合以下條件的軟件升級(jí)包;:
12、如果為全量包,則篩選出軟件版本號(hào)位于源版本號(hào)vs和目標(biāo)版本號(hào)vt之間的軟件升級(jí)包;如果為差分包,則篩選出升級(jí)后的軟件版本號(hào)v新低于等于目標(biāo)版本號(hào)vt,同時(shí),升級(jí)前的軟件版本號(hào)v舊高于等于源版本號(hào)vs的軟件升級(jí)包;
13、步驟s2.2,對(duì)步驟s2.1篩選出的軟件升級(jí)包的文件名中的軟件版本號(hào)進(jìn)行分析,建立有向圖:
14、步驟s2.2.1,首先在圖中建立代表源版本號(hào)vs的源節(jié)點(diǎn)ps,以及代表目標(biāo)版本號(hào)vt的目標(biāo)節(jié)點(diǎn)pt;
15、步驟s2.2.2,對(duì)于篩選出的每個(gè)軟件升級(jí)包,從其文件名中解析出軟件版本號(hào),均執(zhí)行以下步驟:
16、如果解析出的軟件版本號(hào)為單獨(dú)的一個(gè)軟件版本號(hào),代表該軟件升級(jí)包為全量包,判斷有向圖中是否已存在代表該軟件版本號(hào)的節(jié)點(diǎn),如果不在,則將代表該軟件版本號(hào)的節(jié)點(diǎn)新增加到有向圖中,并增加一條指向自己的箭頭,標(biāo)識(shí)該節(jié)點(diǎn)的類型為全量包節(jié)點(diǎn)類型;
17、如果解析出的軟件版本號(hào)為升級(jí)后的軟件版本號(hào)v新-升級(jí)前的軟件版本號(hào)v舊的差分形式,代表該軟件升級(jí)包為用于將軟件從v舊升級(jí)到v新的差分包,判斷有向圖中是否已存在代表升級(jí)后的軟件版本號(hào)v新的節(jié)點(diǎn)p新,以及代表升級(jí)前的軟件版本號(hào)v舊的節(jié)點(diǎn)p舊,如果沒(méi)有,則在有向圖中新增代表升級(jí)后的軟件版本號(hào)v新的節(jié)點(diǎn)p新,以及代表升級(jí)前的軟件版本號(hào)v舊的節(jié)點(diǎn)p舊,并增加節(jié)點(diǎn)p新指向節(jié)點(diǎn)p舊的路徑,并在節(jié)點(diǎn)p新的路徑列表中,增加指向節(jié)點(diǎn)p舊的路徑;
18、步驟s2.2.3,當(dāng)篩選出的每個(gè)軟件升級(jí)包均執(zhí)行步驟s2.2.2后,構(gòu)建得到與所述升級(jí)請(qǐng)求關(guān)聯(lián)的有向圖。
19、優(yōu)選的,步驟s3具體為:
20、步驟s3.1,設(shè)置初始為空的升級(jí)路徑表;
21、步驟s3.2,在所述有向圖中,首先設(shè)置代表目標(biāo)版本號(hào)vt的目標(biāo)節(jié)點(diǎn)pt為當(dāng)前搜索節(jié)點(diǎn)c;
22、步驟s3.3,將當(dāng)前搜索節(jié)點(diǎn)c記錄到升級(jí)路徑表中;
23、步驟s3.4,判斷當(dāng)前搜索節(jié)點(diǎn)c代表的軟件版本號(hào),是否與客戶端待升級(jí)的源版本號(hào)vs相同,如果相同,則升級(jí)路徑搜索過(guò)程結(jié)束,執(zhí)行步驟s3.7;如果不相同,則執(zhí)行步驟s3.5;
24、步驟s3.5,判斷當(dāng)前搜索節(jié)點(diǎn)c是否為全量包節(jié)點(diǎn)類型,如果是,則升級(jí)路徑搜索過(guò)程結(jié)束,執(zhí)行步驟s3.7;如果不是,則執(zhí)行步驟s3.6;
25、步驟s3.6,對(duì)當(dāng)前搜索節(jié)點(diǎn)c,執(zhí)行路徑搜索過(guò)程,方法為:
26、步驟s3.6.1,讀取當(dāng)前搜索節(jié)點(diǎn)c的路徑列表,對(duì)于路徑列表中的每條路徑,均執(zhí)行步驟s3.6.2-步驟s3.6.3:
27、步驟s3.6.2,將路徑指向的節(jié)點(diǎn)p舊,作為當(dāng)前搜索節(jié)點(diǎn)c的子節(jié)點(diǎn),記錄到升級(jí)路徑表中;
28、步驟s3.6.3,判斷路徑指向的節(jié)點(diǎn)p舊代表的軟件版本號(hào)v舊,是否與客戶端待升級(jí)的源版本號(hào)vs相同,如果相同,則升級(jí)路徑搜索過(guò)程結(jié)束,執(zhí)行步驟s3.7;如果不相同,則將路徑指向的節(jié)點(diǎn)p舊作為當(dāng)前搜索節(jié)點(diǎn)c,返回執(zhí)行步驟s3.5;
29、步驟s3.7,在升級(jí)路徑表中,得到從源節(jié)點(diǎn)ps到目標(biāo)節(jié)點(diǎn)pt的升級(jí)路徑,或者,得到從某個(gè)全量包節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)pt的升級(jí)路徑。
30、本專利技術(shù)提供的一種遠(yuǎn)程升級(jí)路徑的查找方法具有以下優(yōu)點(diǎn):
31、本專利技術(shù)提供一種遠(yuǎn)程升級(jí)路徑的查找方法,具有以下優(yōu)點(diǎn):
32、本專利技術(shù)從有向圖的構(gòu)造和升級(jí)路徑查找兩個(gè)方面,均縮短服務(wù)器運(yùn)行時(shí)間,從而減少客戶端等待時(shí)間,高效及時(shí)向客戶端返回查找到的最優(yōu)的升級(jí)路徑,提高客戶端用戶的使用體驗(yàn)。
本文檔來(lái)自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,步驟S1中,每當(dāng)目標(biāo)軟件出現(xiàn)新的軟件升級(jí)包時(shí),將所述新的軟件升級(jí)包添加到所述軟件升級(jí)包數(shù)據(jù)庫(kù);
3.根據(jù)權(quán)利要求1所述的一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,步驟S2具體為:
4.根據(jù)權(quán)利要求3所述的一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,步驟S3具體為:
【技術(shù)特征摘要】
1.一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種遠(yuǎn)程升級(jí)路徑的查找方法,其特征在于,步驟s1中,每當(dāng)目標(biāo)軟件出現(xiàn)新的軟件升級(jí)包時(shí),將所述新的軟件升級(jí)包添加到所...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:祁兵,殷木省,
申請(qǐng)(專利權(quán))人:艾體威爾電子技術(shù)北京有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。