• / 20
  • 下載費用:30 金幣  

一種文件的升級發布方法和裝置.pdf

摘要
申請專利號:

CN201510312066.9

申請日:

2015.06.09

公開號:

CN104991790A

公開日:

2015.10.21

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 9/445申請日:20150609|||公開
IPC分類號: G06F9/445 主分類號: G06F9/445
申請人: 北京奇虎科技有限公司; 奇智軟件(北京)有限公司
發明人: 袁瑞峰; 高其林; 劉東輝; 周光柱; 權超靜
地址: 100088北京市西城區新街口外大街28號D座112室(德勝園區)
優先權:
專利代理機構: 北京市隆安律師事務所11323 代理人: 權鮮枝; 何立春
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510312066.9

授權公告號:

||||||

法律狀態公告日:

2018.05.25|||2015.11.18|||2015.10.21

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明公開了一種文件的升級發布方法和裝置。所述方法包括:導入指定文件的當前發布版本的發布包;如果是初始版本,則全量發布;如果是升級版本,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本,生成相應的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。本發明的技術方案,解決了全部版本以全量發布時的流量耗費問題。

權利要求書

權利要求書
1.  一種文件的升級發布方法,其中,該方法包括:
導入指定文件的當前發布版本的發布包;
如果當前發布版本為該指定文件的初始版本,將該發布包進行全量發布;
如果當前發布版本為該指定文件的升級版本,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;
生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;
發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。

2.  如權利要求1所述的方法,其中,如果當前發布版本為該指定文件的升級版本,在根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本之前,該方法進一步包括:
判斷是否需要使用全量發布,是則將該發布包進行全量發布。

3.  如權利要求2所述的方法,其中,判斷是否需要使用全量發布包括:
如果當前發布版本的發布包是已下線版本的重新導入包,則確定需要使用全量發布;
或者,如果該指定文件未開啟增量升級發布,則確定需要使用全量發布;
或者,如果當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同,則確定使用全量發布。

4.  如權利要求1所述的方法,其中,所述增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。

5.  如權利要求4所述的方法,其中,所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。

6.  如權利要求4所述的方法,其中,如果當前發布版本為該指定文件的升級版本,則在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,該方法進 一步包括如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。

7.  如權利要求6所述的方法,其中,該方法進一步包括:
提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。

8.  如權利要求1所述的方法,其中,生成當前發布版本的發布包與所述一個或多個已發布版本的發布包之間的增量文件時,該方法進一步包括:
如果用戶自定義勾選了一個或多個已發布版本,則還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。

9.  一種文件的升級發布裝置,其中,該裝置包括:
導入單元,適于導入指定文件的當前發布版本的發布包;
判斷單元,適于在當前發布版本為該指定文件的初始版本時,通知全量發布單元,以及適于在當前發布版本為該指定文件的升級版本時,通知增量發布單元;
全量發布單元,適于在當前發布版本為該指定文件的初始版本時,將該發布包進行全量發布;
增量發布單元,適于在當前發布版本為該指定文件的升級版本時,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。

10.  如權利要求9所述的裝置,其中,
所述判斷單元,適于在當前發布版本為該指定文件的升級版本時,在向增量發布單元發布通知之前進一步適于判斷是否需要使用全量發布,是則通知全量發布單元進行全量發布。

說明書

說明書一種文件的升級發布方法和裝置
技術領域
本發明涉及互聯網技術領域,具體涉及一種文件的升級發布方法和裝置。
背景技術
當前,各種各樣的應用軟件在人們的工作和生活中起到越來越重要的角色。每種軟件也會因為功能的改進和漏洞的修補,需要不斷的進行升級。
而對于軟件發布者來說,為了升級軟件功能以不斷適應用戶的需求或者為了修補漏洞,需要對發發布的軟件不斷進行升級,發布新版本。
但是現有的軟件升級方法就是將更新后版本的軟件安裝包重新發布一次,然后用戶卸載之前的就版本,再安裝新版本。這種方式由于每次都要重新發布新版本的完整安裝包,每個客戶端都需要下載該完整的安裝包,因此耗費非常大的流量。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種文件的升級發布方法和裝置。
依據本發明的一個方面,提供了一種文件的升級發布方法,其中,該方法包括:
導入指定文件的當前發布版本的發布包;
如果當前發布版本為該指定文件的初始版本,將該發布包進行全量發布;
如果當前發布版本為該指定文件的升級版本,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;
生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;
發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行 增量升級的配置文件中。
可選地,如果當前發布版本為該指定文件的升級版本,在根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本之前,該方法進一步包括:
判斷是否需要使用全量發布,是則將該發布包進行全量發布。
可選地,判斷是否需要使用全量發布包括:
如果當前發布版本的發布包是已下線版本的重新導入包,則確定需要使用全量發布;
或者,如果該指定文件未開啟增量升級發布,則確定需要使用全量發布;
或者,如果當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同,則確定使用全量發布。
可選地,所述增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。
可選地,所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
可選地,如果當前發布版本為該指定文件的升級版本,則在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,該方法進一步包括如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。
可選地,該方法進一步包括:
提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。
可選地,生成當前發布版本的發布包與所述一個或多個已發布版本的發布包之間的增量文件時,該方法進一步包括:
如果用戶自定義勾選了一個或多個已發布版本,則還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。
可選地,在將該發布包進行全量發布之前,或者在發布所生成的增量文件之前,該方法進一步包括:
對待發布內容進行測試驗證,如果測試驗證通過則進行發布,否則進行修正后重新導入。
可選地,所述根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本包括:
預設一個或多個增量跳數;
如果當前發布版本的編號能夠被一個增量跳數整除,則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。
依據本發明的另一個方面,提供了一種文件的升級發布裝置,其中,該裝置包括:
導入單元,適于導入指定文件的當前發布版本的發布包;
判斷單元,適于在當前發布版本為該指定文件的初始版本時,通知全量發布單元,以及適于在當前發布版本為該指定文件的升級版本時,通知增量發布單元;
全量發布單元,適于在當前發布版本為該指定文件的初始版本時,將該發布包進行全量發布;
增量發布單元,適于在當前發布版本為該指定文件的升級版本時,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列 表下發到供客戶端進行增量升級的配置文件中。
可選地,所述判斷單元,適于在當前發布版本為該指定文件的升級版本時,在向增量發布單元發布通知之前進一步適于判斷是否需要使用全量發布,是則通知全量發布單元進行全量發布。
可選地,所述判斷單元,適于在當前發布版本的發布包是已下線版本的重新導入包時,確定需要使用全量發布;或者,在該指定文件未開啟增量升級發布時,確定需要使用全量發布;或者,在當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同時,確定使用全量發布。
可選地,所述增量升級單元生成的增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。
可選地,所述增量升級單元生成的增量升級列表中的所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
可選地,所述增量升級單元,在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,進一步適于執行如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。
可選地,該裝置進一步包括:
參數接口單元,適于提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。
可選地,所述增量發布單元,進一步適于在用戶自定義勾選了一個或多個已發布版本時,還生成當前發布版本的發布包與用戶自定義勾選的一個或 多個已發布版本的發布包之間的增量文件。
可選地,該裝置進一步包括:測試驗證單元;
所述全量發布單元,進一步適于在將該發布包進行全量發布之前,布內容發送給測試驗證單元,當測試驗證通過后進行發布
所述增量發布單元,進一步適于在發布所生成的增量文件之前,將待發布內容發送給測試驗證單元,當測試驗證通過后進行發布;
所述測試驗證單元,適于對待發布內容進行測試驗證;
所述導入單元,進一步適于在測試驗證不通過時,導入修正后的版本。
可選地,所述增量發布單元,適于預設一個或多個增量跳數;如果當前發布版本的編號能夠被一個增量跳數整除,則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。
根據本發明的這種根據實際情況選擇全量發布或增量發布,且在增量發布時只生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,發布所生成的增量文件,以及將增量升級列表下發到供客戶端進行增量升級的配置文件中的技術方案,解決了全部版本以全量發布時的流量耗費問題,并且每次增量發布時選擇性地生成當前發布版本的發布包與一個或多個已發布版本的發布包之間的增量文件,而不是生成當前發布版本的發布包與所有已發布版本的發布包之間的增量文件,進一步減少了文件升級所需的資源。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示 相同的部件。在附圖中:
圖1示出了根據本發明一個實施例的一種文件的升級發布方法的流程圖;
圖2示出了根據本發明又一個實施例的一種文件的升級發布方法的流程圖;
圖3示出了根據本發明一個實施例的一種文件的升級發布裝置的結構圖;
圖4示出了根據本發明又一個實施例的一種文件的升級發布裝置的結構圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
圖1示出了根據本發明一個實施例的一種文件的升級發布方法的流程圖。如圖1所示,該方法包括:
步驟S110,導入指定文件的當前發布版本的發布包。
本步驟中,將當前要發布的版本的發布包導入到發布平臺中。
步驟S120,如果當前發布版本為該指定文件的初始版本,將該發布包進行全量發布。
由于初始版本時第一個版本,因此只能全量發布。
步驟S130,如果當前發布版本為該指定文件的升級版本,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本。
本步驟中,只需要根據預設策略確定少數的已發布版本。
步驟S140,生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含 增量升級路徑的增量升級列表。
增量文件:記錄新版本相對于舊版本所發生的變化的文件。一般來說,版本號之間跨度越大,版本間變化的內容的越多,增量文件越大,反之越小。
本步驟中,生成當前發布版本和所確定的少數幾個已發布版本之間增量文件,而不需要生成當前發布版本和所有之前的已發布版本之間的增量文件,避免了大量的數據冗余,大大減少的升級所需的資源,如存儲增量文件所需的存儲資源、生成增量文件所需的資源等等。
步驟S150,發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。
這樣,當客戶端想要對本地的該指定文件進行升級時,先到配置文件查詢從本地的版本升級的更高版本時的路徑,獲得該路徑對應的增量文件信息,然后去下載相應的增量文件進行升級。
圖1所示的方法,解決了全部版本以全量發布時的流量耗費問題,并且每次增量發布時選擇性地生成當前發布版本的發布包與一個或多個已發布版本的發布包之間的增量文件,而不是生成當前發布版本的發布包與所有已發布版本的發布包之間的增量文件,進一步減少了文件升級所需的資源。
需要說明的是,這里所述的文件可以是應用軟件,也可以是各類數據庫。
在本發明的一個實施例中,圖1所示的方法中,如果當前發布版本為該指定文件的升級版本,在根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本之前,該方法進一步包括:判斷是否需要使用全量發布,是則將該發布包進行全量發布。這是因為,在有些情況下即使是升級版本,也需要進行全量發布,具體判斷是否需要使用全量發布包括如下中的一種或多種情況:
a1)如果當前發布版本的發布包是已下線版本的重新導入包,則確定需要使用全量發布。這種情況是指當前發布版本并不是最新版本,而是之前已發布但又下線版本在進行漏洞修復后的重新導入包。此時只能全量發布。因為之前已經生成了增量文件,先后兩個版本的差異會導致增量文件不一樣,會導致該版本之后的版本都會出現文件,所以必須全量發布。
a2)如果該指定文件未開啟增量升級發布,則確定需要使用全量發布。 發布平臺會提供“增量控制”選擇項,只有選擇了該項的文件才進行增量發布,如果沒有選擇則進行全量發布。這可以讓用戶自主選擇是否進行增量發布。
a3)如果當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同,則確定使用全量發布。一般會操作系統會有32位和64位,如Windows系統。如果發一個版本只能支持32位,那么只能和之前已發布的支持32位的版本生成增量文件。
在本發明的一個實施例中,圖1所示方法中所述增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑。其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
例如,一條增量升級路徑是從版本4升級到版本16的路徑,其具體為4-5-15-16,即從版本4升級到版本5,從版本5升級到版本15,再從版本15升級到版本16。所需的增量文件為:版本5與版本4之間的增量文件,版本15與版本5之間的增量文件,以及版本16與版本15之間的增量文件。增量文件的下載地址及下載URL。或者,已經知道從指定地址下載,此時MD5值作為增量文件的唯一標識可以識別是哪個增量文件。
在本發明的一個實施例中,圖1所示的方法中,如果當前發布版本為該指定文件的升級版本,則在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,該方法進一步包括如下中的一項或多項:
b1)如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑。例如,第一預設閾值可以設置為1M,如果生成的增量文件大于1M,則放棄對應的增量路徑。
b2)如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑。例如,第二預設閾值可以設置50%,如果新版本全量發布時8M,則增量文件不能超過4M。
b3)如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。即如果增量升級所需要下載的增量文件大小已經大于新版本發布包的大小的話,增量升級已經沒有意義了。
上述幾種增量升級路徑過濾方法都是為了避免增量升級反而比全量升級還要費流量的情況。
在本發明的一個實施例中,圖1所示的方法進一步包括:提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。即增量發布平臺的用戶可以自主選擇和設置第一預設值和第二預設值。
在本發明的一個實施例中,圖1所示的方法,在生成當前發布版本的發布包與所述一個或多個已發布版本的發布包之間的增量文件時,該方法進一步包括:如果用戶自定義勾選了一個或多個已發布版本,則還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。這可以讓用戶自主定義想生成增量文件的版本。
現實情況中,有一些如下情況的特殊需求:某文件有兩個分支,一些版本只發布beta版(1001、1003、1005等),一些版本只發布正式版(1002、1004、1006),且版本號穿插著,兩個分支的文件差異較大,不能夠按照默認設置1002-1001、1003-1002的形式生成增量,所以提供了自定義勾選增量生成的功能。自定義勾選增量的意義:可以自定義任意低版本到目標版本直接生成diff,首先它解決了更復雜版本之間升級,其次解決了增量跳數限制的問題,也能實際滿足生產情況下的需求。
在本發明的一個實施例中,圖1所示的方法,在將該發布包進行全量發布之前,或者在發布所生成的增量文件之前,該方法進一步包括:對待發布內容進行測試驗證,如果測試驗證通過則進行發布,否則進行修正后重新導入。這里的測試驗證時發布前的測試驗證,如果不通過則需要修改后重新導入再發布。
在本發明的一個實施例中,圖1所示方法中所述根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本包括:預設一個或多個增量跳數;如果當前發布版本的編號能夠被一個增量跳數整除, 則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。
為了方便記錄各版本的先后序號,在本發明的實施例中,將指定文件的各級版本按照先后順序從0開始進行整數編號。這樣就不受指定文件的發布實際版本號是否連續的影像了。例如,發布初始版本時賦予編號0,之后,每發布一個新版本在上一版本編號上加1即為該新版本的編號,這里新賦予的編號成為內部編號。舉例說明如下(增量跳數為1、5、10和20):
A)導入版本時,發布平臺會為使用增量的版本進行內部編號,初始全量版本編號為0,之后版本編號依次加1,如
1.0.0.1000->0,
1.0.0.1001->1,
1.0.0.1002->2,

1.0.0.1020->20
B)導入版本時,會拿新版本的內部編號去分別除下增量跳數里配置的數(1,5,10,20),能夠除盡的會找向前找相應跳數的節點生成一個增量文件(這里稱為diff文件),例如
i.線上已存在一個全量發布的1.0.0.1000版本,編號為0,新導入一個版本1.0.0.1001,編號為1:
1%1=0,可以除盡,則會向前找1個跳數和1.0.0.1000版本生成一個diff
diff=1.0.0.1000->1.0.0.1001
依次類推,導入1.0.0.1002版本,編號為2,會和1.0.0.1001版本生成diff
diff=1.0.0.1001->1.0.0.1002
diff=1.0.0.1002->1.0.0.1003
diff=1.0.0.1003->1.0.0.1004
ii.當導入1.0.0.1005版本時,編號為5,會發現5%5=0,則會向前找5個跳數再生成一個增量,則會產生兩個diff:
diff=1.0.0.1004->1.0.0.1005
diff=1.0.0.1000->1.0.0.1005
依次類推,導入1.0.0.1010版本時,10%10=0,10%5=0,10%1=0,
則會生成三個diff:
diff=1.0.0.1009->1.0.0.1010
diff=1.0.0.1005->1.0.0.1010
diff=1.0.0.1000->1.0.0.1010
導入1.0.0.1020版本時,20%20=0,20%10=0,20%5=0,20%1=0,
生成四個diff:
diff=1.0.0.1019->1.0.0.1020
diff=1.0.0.1015->1.0.0.1020
diff=1.0.0.1010->1.0.0.1020
diff=1.0.0.1000->1.0.0.1020
C)增量跳數默認為(1,5,10,20),也可根據特殊需求向審批組申請修改為其他值。
在本發明的一個實施例中,所設置的一個或多個增量跳數中至少包括1。以保證從任何版本都可以增量升級到新版本。
在本發明的一個實施例中,文件發布平臺可以在界面中提供設置項,以供用戶設置前述的第一預設值、第二預設值和增量跳數。此外還可以提供設置項對一個文件是否進行增量發布進行控制,以及還可以對指定文件的一個版本是否進行增量發布進行控制。當指定文件的一個版本被設置成全量發布時,進行增量發布,但仍按照既定策略生成相應的增量文件,以保持后續版本的增量發布特性。
圖2示出了根據本發明一個實施例的一種文件的升級發布方法的流程圖。如圖2所示,以指定的某個文件的各版本發布為例,該方法包括:
步驟S201,導入當前發布版本的發布包。
步驟S202,判斷是否為初始版本,是則執行步驟S203,否則執行步驟S204。
步驟S203,得到全量發布用的結果。執行步驟S211。
步驟S204,判斷是否需要使用全量發布,是則執行步驟S203,否則執行步驟S205。
本步驟中根據前述的a1、a2和a3的方式進行判斷。
步驟S205,根據預設策略確定一個或多個已發布版本,生成相應的增量文件。例如根據前述的預設增量跳數的方法。
步驟S206,判斷用戶是否自定義勾選了一個或多個已發布版本,是則執行步驟S207,否則執行步驟S208。
步驟S207,生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。
步驟S208,生成增量升級列表。
步驟S209,優化增量升級列表中的增量升級路徑。
本步驟中根據前述的b1、b2、b3中所述的方法進行優化。
步驟S210,得到增量發布用的結果。
步驟S211,進行測試驗證。
步驟S212,判斷測試驗證是否通過,是則執行步驟S214,否則執行步驟S213。
步驟S213,進行回退處理,返回步驟S201。
步驟S214,進行增量或全量發布。
綜上可以看出,本發明中的升級發布方法,減少了各個版本之間增量的冗余性,可以重復利用生成的增量文件,減少生成的增量文件的大小,節省磁盤空間和帶寬,減少計算的復雜度,更方便管理與維護。
圖3示出了根據本發明一個實施例的一種文件的升級發布裝置的結構圖。如圖3所示,該文件的升級發布裝置300包括:
導入單元310,適于導入指定文件的當前發布版本的發布包;
判斷單元320,適于在當前發布版本為該指定文件的初始版本時,通知全量發布單元,以及適于在當前發布版本為該指定文件的升級版本時,通知增量發布單元;
全量發布單元330,適于在當前發布版本為該指定文件的初始版本時,將該發布包進行全量發布;
增量發布單元340,適于在當前發布版本為該指定文件的升級版本時,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。
圖3所示的裝置,解決了全部版本以全量發布時的流量耗費問題,并且每次增量發布時選擇性地生成當前發布版本的發布包與一個或多個已發布版本的發布包之間的增量文件,而不是生成當前發布版本的發布包與所有已發布版本的發布包之間的增量文件,進一步減少了文件升級所需的資源。
圖4示出了根據本發明又一個實施例的一種文件的升級發布裝置的結構圖。如圖4所示,該文件的升級發布裝置400包括:
導入單元410,適于導入指定文件的當前發布版本的發布包;
判斷單元420,適于在當前發布版本為該指定文件的初始版本時,通知全量發布單元,以及適于在當前發布版本為該指定文件的升級版本時,通知增量發布單元;
全量發布單元430,適于在當前發布版本為該指定文件的初始版本時,將該發布包進行全量發布;
增量發布單元440,適于在當前發布版本為該指定文件的升級版本時,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。
在本發明的一個實施例中,所述判斷單元420,適于在當前發布版本為該指定文件的升級版本時,在向增量發布單元發布通知之前進一步適于判斷是否需要使用全量發布,是則通知全量發布單元進行全量發布。
在本發明的一個實施例中,所述判斷單元420,適于在當前發布版本的發布包是已下線版本的重新導入包時,確定需要使用全量發布;或者,在該指定文件未開啟增量升級發布時,確定需要使用全量發布;或者,在當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同時,確定使用全量發布。
在本發明的一個實施例中,所述增量升級單元生成的增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。
在本發明的一個實施例中,所述增量升級單元生成的增量升級列表中的所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
在本發明的一個實施例中,所述增量升級單元440,在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,進一步適于執行如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。
在本發明的一個實施例中,該裝置400進一步包括:參數接口單元450,適于提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。
在本發明的一個實施例中,所述增量發布單元440,進一步適于在用戶自定義勾選了一個或多個已發布版本時,還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。
在本發明的一個實施例中,其中該裝置進一步包括:測試驗證單元460;
所述全量發布單元430,進一步適于在將該發布包進行全量發布之前,布內容發送給測試驗證單元,當測試驗證通過后進行發布
所述增量發布單元440,進一步適于在發布所生成的增量文件之前,將待發布內容發送給測試驗證單元,當測試驗證通過后進行發布;
所述測試驗證單元460,適于對待發布內容進行測試驗證;
所述導入單元410,進一步適于在測試驗證不通過時,導入修正后的版本。
在本發明的一個實施例中,所述增量發布單元440,適于預設一個或多個增量跳數;如果當前發布版本的編號能夠被一個增量跳數整除,則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。
前述圖1和圖2所示方法實施例中所述的各類技術方案都適用于圖3和圖4所示的裝置中,這里不再一一復述。
綜上所述,本發明的這種根據實際情況選擇全量發布或增量發布,且在增量發布時只生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,發布所生成的增量文件,以及將增量升級列表下發到供客戶端進行增量升級的配置文件中的技術方案,解決了全部版本以全量發布時的流量耗費問題,并且每次增量發布時選擇性地生成當前發布版本的發布包與一個或多個已發布版本的發布包之間的增量文件,而不是生成當前發布版本的發布包與所有已發布版本的發布包之間的增量文件,進一步減少了文件升級所需的資源。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關。各種通用裝置也可以與基于在此的示教一起使用。根據上面的描述,構造這類裝置所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的文件的升級發布裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信 號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發明公開了A1、一種文件的升級發布方法,其中,該方法包括:
導入指定文件的當前發布版本的發布包;
如果當前發布版本為該指定文件的初始版本,將該發布包進行全量發布;
如果當前發布版本為該指定文件的升級版本,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;
生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;
發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。
A2、如A1所述的方法,其中,如果當前發布版本為該指定文件的升級版本,在根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本之前,該方法進一步包括:
判斷是否需要使用全量發布,是則將該發布包進行全量發布。
A3、如A2所述的方法,其中,判斷是否需要使用全量發布包括:
如果當前發布版本的發布包是已下線版本的重新導入包,則確定需要使用全量發布;
或者,如果該指定文件未開啟增量升級發布,則確定需要使用全量發布;
或者,如果當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同,則確定使用全量發布。
A4、如A1所述的方法,其中,所述增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。
A5、如A4所述的方法,其中,所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
A6、如A4所述的方法,其中,如果當前發布版本為該指定文件的升級版本,則在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,該方法進一步包括如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。
A7、如A6所述的方法,其中,該方法進一步包括:
提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。
A8、如A1所述的方法,其中,生成當前發布版本的發布包與所述一個或多個已發布版本的發布包之間的增量文件時,該方法進一步包括:
如果用戶自定義勾選了一個或多個已發布版本,則還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。
A9、如A1所述的方法,其中,在將該發布包進行全量發布之前,或者在發布所生成的增量文件之前,該方法進一步包括:
對待發布內容進行測試驗證,如果測試驗證通過則進行發布,否則進行修正后重新導入。
A10、如A1所述的方法,其中,所述根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本包括:
預設一個或多個增量跳數;
如果當前發布版本的編號能夠被一個增量跳數整除,則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。
本發明還公開了B11、一種文件的升級發布裝置,其中,該裝置包括:
導入單元,適于導入指定文件的當前發布版本的發布包;
判斷單元,適于在當前發布版本為該指定文件的初始版本時,通知全量發布單元,以及適于在當前發布版本為該指定文件的升級版本時,通知增量發布單元;
全量發布單元,適于在當前發布版本為該指定文件的初始版本時,將該發布包進行全量發布;
增量發布單元,適于在當前發布版本為該指定文件的升級版本時,根據預設策略確定需要當前發布版本與之生成增量的該指定文件的一個或多個已發布版本;生成當前發布版本的發布包與所確定的一個或多個已發布版本的發布包之間的增量文件,并根據當前以及之前生成的增量文件生成包含增量升級路徑的增量升級列表;發布所生成的增量文件,將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中。
B12、如B11所述的裝置,其中,
所述判斷單元,適于在當前發布版本為該指定文件的升級版本時,在向增量發布單元發布通知之前進一步適于判斷是否需要使用全量發布,是則通知全量發布單元進行全量發布。
B13、如B12所述的裝置,其中,
所述判斷單元,適于在當前發布版本的發布包是已下線版本的重新導入包時,確定需要使用全量發布;或者,在該指定文件未開啟增量升級發布時,確定需要使用全量發布;或者,在當前發布版本所支持的操作系統位數與之前已發布版本所支持的操作系統位數不同時,確定使用全量發布。
B14、如B11所述的裝置,其中,所述增量升級單元生成的增量升級列表包括:從不同的已發布版本升級到當前發布版本的增量升級路徑;
其中,每條增量升級路徑包括:從對應的已發布的版本升級到當前發布版本所需經過的版本,以及對應所需的增量文件信息。
B15、如B14所述的裝置,其中,所述增量升級單元生成的增量升級列表中的所述增量文件信息包括:增量文件的下載地址,或者從指定地址下載增量文件的MD5值。
B16、如B14所述的裝置,其中,
所述增量升級單元,在生成包含增量升級路徑的增量升級列表之后,并在將所生成的增量升級列表下發到供客戶端進行增量升級的配置文件中之前,進一步適于執行如下中的一項或多項:
如果生成的一個增量文件的大小,大于第一預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果生成的一個增量文件的大小與當前發布版本的發布包的大小的比值,大于第二預設閾值,則從增量升級列表中刪除包含該增量文件的增量升級路徑;
如果一條增量升級路徑上增量文件的大小總和,大于當前發布版本的發布包的大小,則從增量升級列表中刪除該增量升級路徑。
B17、如B16所述的裝置,其中,該裝置進一步包括:
參數接口單元,適于提供參數設置接口,通過該參數設置接口接收輸入的第一預設值和/或第二預設值。
B18、如B11所述的裝置,其中,
所述增量發布單元,進一步適于在用戶自定義勾選了一個或多個已發布版本時,還生成當前發布版本的發布包與用戶自定義勾選的一個或多個已發布版本的發布包之間的增量文件。
B19、如B11所述的裝置,其中該裝置進一步包括:測試驗證單元;
所述全量發布單元,進一步適于在將該發布包進行全量發布之前,布內容發送給測試驗證單元,當測試驗證通過后進行發布
所述增量發布單元,進一步適于在發布所生成的增量文件之前,將待發 布內容發送給測試驗證單元,當測試驗證通過后進行發布;
所述測試驗證單元,適于對待發布內容進行測試驗證;
所述導入單元,進一步適于在測試驗證不通過時,導入修正后的版本。
B20、如B11所述的裝置,其中,
所述增量發布單元,適于預設一個或多個增量跳數;如果當前發布版本的編號能夠被一個增量跳數整除,則找到版本編號比放前發布版本的編號低該增量跳數的已發布版本。

關 鍵 詞:
一種 文件 升級 發布 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種文件的升級發布方法和裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6353555.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图