一種軟件包的自動部署方法、裝置和系統的制作方法

            文檔序號:6470382閱讀:213來源:國知局
            專利名稱:一種軟件包的自動部署方法、裝置和系統的制作方法
            技術領域
            本發明涉及軟件管理領域,尤其涉及一種軟件包的自動部署方法、裝置和 系統。
            背景技術
            目前對軟件系統的自動化管理的要求越來越高,這主要包括軟件系統的集
            中部署、自動化安裝、升級、打補丁,版本管理以及補丁管理等;其中,軟件 部署和升級涉及客戶端和后臺應用服務端兩部分;現有技術中,客戶端部分的 部署和升級是使用JWS ( JavaWebStar, Java網絡啟動),即一種基于Java的 應用程序,主要被用于客戶端的零部署和自動化升級,包括在每次系統重新 啟動時,檢測是否有新的補丁需要安裝;并需要預先在待部署客戶端上安裝一 個木馬程序;以及,后臺需要一個Web服務器;
            客戶端使用JWS自動部署、升級客戶端軟件,而服務端的部署和升級目 前是手工進行的,并且JWS技術不適用于服務器端軟件的安裝和升級,畢竟 服務端的程序不可能經常重新啟動;
            發明人在實現本發明的過程中,發現現有技術中,服務器端軟件部署、升 級需要人工干預,效率低下。

            發明內容
            本發明實施例提供一種軟件包的自動部署方法、部署服務器、應用服務器 和軟件包管理系統,以實現在無人工干預的情況下,完成軟件包的自動部署。 一種軟件包自動部署方法,包括
            從所訂閱的與當前應用對應的聚合摘要Syndication Feed信息源中,獲得 Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相 關的軟件包的發布;根據所述Syndication Feed信息中的關鍵信息和所維護的部署包存量信 息,下載并部署相應的軟件包。
            以及, 一種軟件包信息的發布方法,包括
            接收應用服務器針對所訂閱的與當前應用對應的聚合摘要Syndication Feed信息源的查詢請求;
            如果該應用服務器所訂閱的Syndication Feed信息源中包含更新的 Syndication Feed信息,向該應用服務器返回所述更新的Syndication Feed信息, 所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布。
            以及, 一種軟件包管理系統,包括
            部署服務器,用于管理每個后臺應用對應的聚合摘要Syndication Feed信 息源,所述Syndication Feed信息源中包含用于反映與當前應用相關的軟件包 發布的Syndication Feed信息;
            應用服務器,用于從所述部署服務器中獲得所訂閱的與當前應用對應的 Syndication Feed信息源中的Syndication Feed信息,才艮據所述Syndication Feed 信息中的關鍵信息和所維護的部署包存量信息,下載并部署相應的軟件包。
            以及, 一種應用服務器,包括所述應用服務器包括至少一個部署組件 Bundle,每個部署Bundle對應一個應用,其中,所述部署Bundle包括
            訂閱單元,用于從所訂閱的與當前應用對應的聚合摘要Syndication Feed 信息源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反 映與當前應用相關的軟件包的發布;
            部署單元,用于根據所述Syndication Feed信息中的關鍵信息和所維護的 部署包存量信息,下載并部署相應的軟件包。 以及, 一種部署服務器,包括
            服務通信單元,用于接收應用服務器針對所訂閱的、與當前應用對應的聚 合摘要Syndication Feed信息源的查詢請求;
            訂閱處理單元,用于在所述服務通信單元接收到該查詢請求時,確定該應用服 務器所訂閱的Syndication Feed信息源中包含更新的Syndication Feed信息,并 通過所述月良務通信單元返回所述更新的Syndication Feed信息,其中所述 Syndication Feed信息用于反映與當前應用相關的軟件包的發布。本發明實施例中,應用服務器從當前應用所訂閱的Syndication Feed信息 源中獲得Syndication Feed信息,根據所述Syndication Feed信息中的關鍵信息 和所維護的部署包存量信息,下載并部署軟件包(補丁包或發布包),從而實 現在無人工千預的情況下,補丁包的自動升級、發布包的自動安裝,減低了軟 件后期的升級維護所帶來的成本壓力。


            為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施 例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述 中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付 出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1為本發明實施例的軟件包管理系統的結構示意圖; 圖2為本發明實施例所涉及的實體之間的關系示意圖; 圖3為本發明實施例一種軟件包自動部署方法的流程示意圖; 圖4為本發明實施例一種軟件包信息的發布方法的流程示意圖; 圖5為本發明實施例的一種軟件包發布方法的流程示意圖; 圖6為本發明實施例的另一種軟件包發布方法的流程示意圖 圖7為本發明實施例另一種軟件包自動部署方法的流程示意圖 圖8為本發明實施例一種軟件包自動部署方法的交互示意圖; 圖9為本發明實施例的應用服務器的結構示意圖; 圖IO為本發明實施例的部署服務器的結構示意圖。
            具體實施例方式
            下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清 楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是 全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造 性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
            聚合摘要Syndication Feed技術是一種基于XML ( Extensible Markup Language,可擴展標記語言)的文檔格式以及基于HTTP ( Hyper Text TransferProtocol,超文本傳輸協議)的協議,它被站點和客戶工具等用來聚合網絡內 容,包括雜志和新聞標題等。
            本發明實施例提供一種軟件包的自動部署方法、部署服務器、應用服務器 和軟件管理系統,其中,部署服務器采用Syndication Feed技術來發布用于反 映新軟件包發布的Syndication Feed信息;應用服務器獲取與當前應用相關的 Syndication Feed信息,才艮據所述Syndication Feed信息中的關4建信息和所維護 的部署包存量信息,下載并部署新軟件包;注這里的新軟件包(亦可稱為部 署包)是指新增加的OSGI Bundle ( Open Service Gateway Initiative Bundle,開 放服務網關發起者組件)、原有OSGI Bundle的補丁包,OSGI Bundle的資源 包,應當理解的是,新增加的OSGI Bundle指新增加的功能組件,就是發布包; 原有OSGI Bundle的補丁包、OSGI Bundle的資源包是對原來已有的OSGI Bundle進4亍打^卜丁的才卜丁包。
            請參閱圖l,為本發明實施例的軟件包管理系統,包括 部署服務器10,用于管理每個后臺應用對應的聚合摘要Syndication Feed 信息源,所述Syndication Feed信息源中包含用于反映與當前應用相關的軟件 包發布的Syndication Feed信息;
            應用服務器20 (20-1、 20-2),用于從部署服務器10中獲得所訂閱的與當 前應用對應的Syndication Feed信息源中的Syndication Feed信息,根據所述 Syndication Feed信息中的關4建信息和所維護的部署包存量信息,下載并部署 新軟件包;這里的關鍵信息包括軟件包名稱、版本信息和部署策略中的一種 或多種。
            以及,部署服務器10,進一步用于接收應用服務器針對當前應用對應的 Syndication Feed信息源的訂閱請求,所述Syndication Feed信息源中包含用于 反映與當前應用相關的軟件包發布的Syndication Feed信息;
            部署服務器10,進一步用于根據上傳的部署包相關信息生成或更新對應 的Syndication Feed信息到相關的應用所訂閱的Syndication Feed信息源中。一 種實現下,即根據上傳的部署包相關信息生成新的Syndication Feed條目到指 定的頻道Channel下,這里的Channel就是該應用所訂閱的Channel。以及,部署服務器IO,進一步可以用于存放和管理上傳的軟件包;如圖1 所示的存量數據庫50,應當理解的是發布包和補丁包可以統稱為軟件包,可 見,通過部署服務器IO存放和管理上傳的軟件包體現軟件的集中管理功能。
            在一種實現下,部署服務器10可以是一個B/S (Browser/Server,瀏覽器/ 服務器)結構系統,提供遠程管理界面和遠程軟件包的上傳能力,并能夠根據 上傳的部署包相關信息生成對應的Syndication Feed信息。
            以及,本發明實施例的應用服務器20中,每個應用服務器20上可以涉及 一個或多個應用,每個應用對應部署有一個部署組件Bundle,部署Bundle預 先向部署服務器訂閱與當前應用關聯的Syndication Feed信息源,該 Syndication Feed信息源包含反映與當前應用相關的軟件包的Syndication Feed 信息,并且獲耳又Syndication Feed信息源中與當前應用相關的Syndication Feed 信息,根據所述Syndication Feed信息中的關鍵信息和所維護的存量信息,下 載并部署新軟件包;
            應當理解的是,部署Bundle是后臺應用服務器中的一個邏輯實體,其本 身也運行在OSGI框架內,作為整個后臺服務基礎平臺的一部分發布的,其本 身實現OSGI規范中的部署功能,其本身提供了 Syndication Feed信息訂閱、 解析以及任務調度的能力。同時也提供對外的管理接口 ,包括目前操作的狀態, 部署包的存量信息等,這里的部署包的存量信息示例,如圖l所示的存量數據 庫40中的記錄。
            可見,本發明實施例中,應用服務器20從部署服務器10中所訂閱的、當 前應用對應的Syndication Feed信息源中獲得Syndication Feed信息,根據所述 Syndication Feed信息中的關鍵:信息和所維護的部署包存量信息,下載并部署 軟件包(補丁包或發布包),從而實現補丁包的自動升級、發布包的自動安裝;
            以及,本發明實施例通過4吏用Syndication Feed信息發布才幾制、Syndication Feed信息源訂閱機制,實現部署遠程監控, 一站式管理,減輕了軟件后期的 升級維護所帶來的成本壓力。
            請參閱圖2,為本發明實施例所涉及的實體之間的關系示意圖,如圖2所
            示部署服務器,管理一個或多個軟件包;
            部署服務器,才艮據上傳的部署包相關信息生成對應的Syndication Feed條 目,由于其管理一個或多個軟件包,而一個軟件包對應一個部署包相關信息, 故一個部署服務器維護一條或多條Syndication Feed條目;
            部署Bundle,是后臺應用服務器中的一個邏輯實體, 一個部署Bundle對 應一個應用月良務(亦可稱為應用); 一個部署Bundle訂閱當前應用關聯的一個 Syndication Feed信息源,該Syndication Feed信息源中包含一條或多條 Syndication Feed條目;
            部署Bundle,下載、部署一個或多個軟件包,其中,這里的軟件包,即 一個獨立的jar文件,用于發布新的OSGI Bundle、原有OSGI Bundle的補丁 包,OSGI Bundle的資源包,其命名方式以及內部的文件格式和內容要遵守 OSGI規范。軟件包一般包含如下幾個部分
            META-INF/MANIFEST.MF文件,這是標準的JAVA指定文件;
            新部署的OSGI Bundle,可以是多個;需要說明的是, 一個應用涉及一個 或多個功能組件,每個功能組件對應一個OSGI Bundle;
            資源包,用于對指定的OSGI Bundle打補丁,也可以是多個,具體可以包 括Bundle的私有jar和配置文件;
            進 一 步的,如果軟件包使用了數字簽名,META-INF/*.SF, META-INF/*.DSA, META-INF/*.RS也包含在內。
            請參閱圖3,為本發明實施例的軟件包自動部署方法的流程示意圖,應用 于應用服務器側,如圖3所示,包括
            S201 、從所訂閱的與當前應用對應的Syndication Feed信息源中,獲得 Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相 關的軟件包的發布;
            其中,從所訂閱的與當前應用對應的Syndication Feed信息源中,獲得 Syndication Feed信息可以包括根據配置的統一資源定位符URL向部署服務 器發送查詢請求;接收所述部署服務器返回的更新的Syndication Feed信息。
            S202、根據所述Syndication Feed信息中的關4A信息和所維護的部署包存量信息,下載并部署相應的軟件包。
            本發明實施例的專欠件包自動部署方法中,進一步的可以包括
            S200、應用服務器向部署服務器訂閱與當前應用對應的Syndication Feed 信息源,該Syndication Feed信息源包含反映與當前應用相關的軟件包發布的 Syndication Feed信息。
            進一步的,本發明實施例的軟件包自動部署方法中,S202中所下載的軟 件包可以包括新增加的OSGI Bundle、原有OSGI Bundle的補丁包,OSGI Bundle的資源包中的 一種或多種。
            可見,本發明實施例中,應用服務器從當前應用所訂閱的Syndication Feed 信息源中獲得SyndicationFeed信息,根據所述SyndicationFeed信息中的關鍵 信息和所維護的部署包存量信息,下載并部署新軟件包(補丁包或發布包), 從而實現補丁包的自動升級、發布包的自動安裝;即通過使用Syndication Feed 訂閱機制,實現部署遠程監控, 一站式管理,減低了軟件后期的升級維護所帶 來的成本壓力;
            進一步的,由于軟件包為OSGI bundle,所以部署時,無需中斷系統的操 作,如不需要重啟系統即可完成部署。
            請參閱圖4,為本發明實施例一種軟件包信息的發布方法的流程示意圖, 應用于部署服務器側,如圖4所示,包括
            5300、 部署服務器為每個后臺應用創建對應的Syndication Feed信息源;
            5301、 接收應用服務器針對所訂閱的、與當前應用對應的聚合摘要 Syndication Feed 4言息源的查詢i青求;
            5302、 如果訂閱方應用服務器所訂閱的Syndication Feed信息源中包含更 新的Syndication Feed信息,向該應用服務器返回所述更新的Syndication Feed 信息,所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布。
            本發明實施例軟件包信息的發布方法中,進一步可以包括
            5303、 接收部署包相關信息;
            第一種實現下,S303具體可以為接收上傳的軟件包和部署包相關信息, 其中所述部署包相關信息包括軟件包所對應的應用名稱、軟件包名稱、版本信息和部署策略中的一種或多種;
            第二種實現下,所述部署包相關信息為包含反映部署包相關信息的
            Syndication Feed信息的XML文本。
            S304、根據所述部署包相關信息生成或更新對應的Syndication Feed信息 到對應的應用所訂閱的Syndication Feed信息源中。
            針對S303的第一種實現,即根據所述部署包相關信息生成對應的 Syndication Feed信息到該軟件包對應的應用的Syndication Feed信息源中。
            針對S303的第二種實現,即根據所述部署包相關信息更新對應的 Syndication Feed信息到該軟件包對應的應用的Syndication Feed信息源中。
            針對S303的第一種實現,本發明實施例方法進一步包括存放所述軟件
            包;
            以及,本發明實施例軟件包信息的發布方法中,進一步可以包括
            S305 、接收應用服務器針對當前應用對應的Syndication Feed信息源的訂 閱請求;應當理解的是,S305可以在S301之前4丸行。
            可見,本發明實施例中,部署服務器通過使用Syndication Feed信息發布 機制,即使用Syndication Feed技術發布反映新軟件包的Syndication Feed信息 到應用服務器所訂閱的Syndication Feed信息源,從而實現了軟件包的自動發 布;進一步的,還實現了軟件包的集中管理。
            以及,本發明實施例通過采用Syndication Feed信息源訂閱機制,實現向 訂閱方返回更新的Syndication Feed信息,所述Syndication Feed信息反映有新 的軟件包發布,實現部署遠程監控, 一站式管理,減輕了軟件后期的升級維護 所帶來的成本壓力。
            下面為了更好的理解本發明實施例方案,分別>^人如下幾個流程來進行介

            一、首次部署流程
            系統首次部署時,管理員在部署服務器上為每個應用創建一個Syndication Feed信息源,在一種實現下即一個應用對應有一個頻道Channel,并對每個應 用的部署Bundle配置URL (統一資源定位符,Universal Resource Locator ),使部署Bundle在系統啟動后向部署服務器訂閱與當前應用對應的Syndication Feed信息源;之后,部署Bundle周期性的通過配置的URL來讀取所訂閱的 Syndication Feed信息源中的Syndication Feed信息, 一種實現下即部署Bundle 周期輪詢所訂閱的頻道中的Syndication Feed信息。
            部署服務器可以支持多種Syndication Feed格式,包括RSS0.9 ( Rich Site Summary0.9,富站點概要0.9 )/RSS2.0 ( Really Simple Syndication2.0,真正簡 單聯合2.0 )和原子ATOM。系統可以使用 一個統一的Syndication Feed模型, 根據具體的需要轉換成具體的RSS或ATOM模型。
            二、軟件包發布流程
            請參閱圖5,為本發明實施例的一種軟件包發布流程示意圖,如圖5所示, 包括
            5411、 維護人員操作Web客戶端通過部署服務器提供的文件上傳頁面將 軟件包上傳到部署服務器上,以及上傳部署包相關信息;
            這里的部署包相關信息包括但不限于軟件包所對應的應用的名稱、軟件 包的名稱(在一個應用中包名唯一)、版本信息和部署策略(如什么時候啟動 安裝或升級)等。
            5412、 部署服務器完成上傳軟件包的存放,在一種實現下,如圖4所示, 部署服務器接收到維護人員上傳的軟件包后,向FTP (File Transfer Protocol, 文件傳輸協議)服務器下發所述軟件包,FTP服務器存儲軟件包;在另一種實 現,部署服務器直接存放維護人員上傳的軟件包。
            5413、 根據部署包相關信息生成對應的Syndication Feed信息到為對應的 應用所創建的Syndication Feed信息源中,其中部署包相關信息可以包括軟 件包所對應的應用的名稱(簡稱應用名稱)、軟件包的名稱、版本信息和部署 策略中的一種或多種。
            如果當前上傳的軟件包名稱與部署服務器維護的Syndication Feed條目中 的一條Syndication Feed信息中軟件包名稱相同,則用生成的Syndication Feed 信息更新。
            可見,本發明實施例中,通過采用Syndication Feed技術實現用于反映新上傳軟件包的Syndication Feed信息的自動發布。
            請參閱圖6,為本發明實施例的另一種軟件包發布流程示意圖,如圖6所 示,包括
            5511、 維護人員操作Web客戶端上傳軟件包到FTP服務器上; 在一種實現下,即通過FTP的方式上傳軟件包到FTP服務器上;
            5512、 通過ATOM Publishing protocol/XML RPC (ATOM發布協議/XML 遠程過程調用)的方式將部署包相關信息以Syndication Feed的方式發布給部 署服務器;
            其中,將部署包相關信息以Syndication Feed的方式發布給部署服務器, 可以是,反映部署包相關信息的Syndication Feed信息以XML文本表示,調 用XML RPC接口發送該XML文本到部署服務器;
            5513、 部署服務器接收XML文本,更新對應的Syndication Feed信息; 使用這種方式要求部署服務器提供用于Syndication Feed信息變更的Web
            Service (網頁服務)接口。
            應當理解的是,FTP服務器和部署服務器可以運行在一個物理實體上,如 部署服務器提供了 FTP的功能,或者FTP服務器和部署服務器可以為不同物 體實體。
            可見,本發明實施例中,通過采用Syndication Feed技術實現用于反映新 上傳軟件包的Syndication Feed信息的自動發布。
            三、軟件包的自動部署階段
            應用服務器(部署bundle)基于系統啟動后訂閱了部署服務器中與當前應 用相關的Syndication Feed信息源, 一旦上傳了新的軟件包到部署服務器或FTP 服務器,應用服務器通過定期查詢部署服務器上所訂閱的Syndication Feed信 息源中的Syndication Feed信息,獲得Syndication Feed信息中對應部分中的軟 件包名字和版本信息,與本地的部署包存量信息記錄進行比較,根據比較結果 下載軟件包并部署;
            請參閱圖7,為本發明實施例軟件包自動部署方法的流程示意圖,應用于應用服務器,該應用服務器包括至少一個部署Bundle,每個部署Bundle對應 一個應用,換句話說,即每個應用服務器實例中包括一個部署Bundle,如圖7 所示,包括
            S601 、從部署服務器中所訂閱的與當前應用對應的Syndication Feed信息 源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反映與 當前應用相關的軟件包的發布;
            5602、 從該Syndication Feed信息中獲取軟件包名稱,與所維護部署包存 量信息進行匹配,如果在所維護的部署包存量信息中沒有匹配到軟件包名稱相 同的記錄,則執行步驟S605;如果在所維護的部署包存量信息中匹配到軟件 包名稱相同的記錄,則^L行步驟S603;
            需要說明的是,從Syndication Feed信息中獲取軟件包名稱,到部署包存 量表中匹配,如果沒有找到,就意味著這可能是一個新的部署;如果找到,就 意味這可能是一個升級部署,需要進一步檢測版本信息。
            5603、 進一步的比較版本信息,即將從該Syndication Feed信息中獲取的 第 一版本信息與匹配的軟件包名稱相同的記錄中的第二版本信息進行比較,如 果第一版本信息(如2丄2)優于第二版本信息(如2丄1),則確定當前應用存 在一個新版本的軟件包,執行步驟S604;反之,則確定上傳的軟件包是老版 本的軟件包,流程結束;
            5604、 根據該Syndication Feed信息,更新所維護的部署包存量信息中對 應的老存量信息;
            如圖l所示,在一種實現下,所維護的部署包存量信息中的每條記錄可以 包括軟件包名稱、版本信息和位置連接;即可以將第二版本信息更新為從該 Syndication Feed信息中獲取的第 一版本信息;
            5605、 根據該Syndication Feed信息中的軟件包名稱、版本信息等,生成 新的存量記錄;
            S606 、根據該Syndication Feed信息中的軟件包下載地址,如URL信息, 下載新的軟件包;
            下載軟件包可以使用HTTP協議也可以使用FTP協議。軟件包下載地址 (URL)在發布的Syndication Feed信息中給出。S607-608、檢查部署策略,根據該Syndication Feed信息中的部署策略,
            如部署包的時間策略,判斷是否即時啟動部署,當不是立即啟動時,則執行步
            驟S609;當是立即啟動時,則執行步驟S610;
            例如,這里的時間策略為每天的后半夜2點開始部署;
            由于一個bundle的起停(即安裝發布包或升級補丁包)可能會引起其他
            bundle由活動狀態轉成reserve (保留)狀態,所以需要才艮據實際情況調整不同
            的部署策略。
            5609、 啟動定時器,當定時時長到達時,4丸行步驟S610;
            5610、 啟動會話開始部署新的軟件包;
            這個過程由部署bundle發起,由OSGI框架提供的服務參與實施,包括啟 動會話、停止指定服務、更新資源、部署新的服務以及回滾功能。
            應當理解的是OSGI規范為網絡服務定義了一個標準的、面向組件的計 算環境。將OSGI服務平臺添加到一個網絡設備中,可以為其增加在網絡的任 何地方管理組件的生命周期的能力。軟件組件可以從運行中被安裝、升級或者 移除而不需要中斷設備的操作。軟件組件可以動態的發現和使用其他庫或者應 用程序。
            OSGI為動態擴充、修改系統功能和改變系統行為提供了支撐,在OSGI 服務平臺上可以部署許多OSGI的組件,即OSGIBundle。 OSGI有一整套完 整的機制去實現動態改變系統行為,基于OSGI的系統運行時就可通過安裝新 的Bundle、更新或停止現有的Bundle來實現系統功能的插拔。可插拔、可動 態改變行為從根本上保證了系統在運行期足夠的靈活性和擴展性。
            由于新的軟件包(發布包或補丁)是OSGI bundle,所以部署時,不需要 重啟系統即可完成部署。
            5611、 記錄部署結果;流程結束。需要說明的是,對于如上描述的流程中 也可以不包括S611。
            可見,本發明實施例中,從部署服務器中當前應用所訂閱的Syndication Feed信息源中獲得Syndication Feed信息,根據所述Syndication Feed信息中 的關鍵信息和所維護的部署包存量信息,下載并部署軟件包(補丁包或發布 包),從而實現補丁包的自動升級、發布包的自動安裝;以及,本發明實施例通過使用Syndication Feed信息發布機制、Syndication Feed信息源訂閱機制,實現部署遠程監控, 一站式管理,減輕了軟件后期的 升級維護所帶來的成本壓力。
            上述分別從各個階段對本發明實施例的方案進行了描述,下面結合一個具 體應用進一步介紹本發明實施例的方案
            請參閱圖8,為本發明實施例軟件包的自動部署方法的交互示意圖,應用 于包括Web客戶端、部署服務器和應用服務器的系統,如圖8并結合圖l所 示,包括
            S701、結合圖1所示,部署服務器IO根據后臺應用1和應用2分別創建 兩個Syndication Feed 4言息-源。
            部署服務器創建Syndication Feed信息源(換言之即部署服務器發布 Syndication Feed信息)的方式可以使用標準的頁面錨<&/> ,也可以使用<link/> 方式。
            例如<a href="http:〃localhost:8080/NE Software/info.xml"〉具體應用的名
            稱〈/a〉
            或者,<link rel="altemate" type="application/atom+xmr title:"具體應用的 名稱"href=" http:〃localhost:8080/NE Software/info.xml " /〉
            本發明實施例中,即"具體應用的名稱"為應用1、應用2,即可完成創 建Syndication Feed信息源,包括應用1的Syndication Feed信息源、應用2的 Syndication Feed信息源。
            在一種實現下,即部署服務器10定義兩個頻道,所述兩個頻道分別對應 應用1和應用2。
            S702-S703、應用服務器20-l訂閱應用1的Syndication Feed信息源,應 用服務器20- 2訂閱應用2的Syndication Feed信息源。
            應用1和應用2各自都包含一個部署Bundle,當部署Bundle首次被部署 時,被設定分別訂閱Syndication Feed,即應用1的部署Bundle訂閱應用1的 Syndication Feed信息源,應用2的部署Bundle訂閱應用2的Syndication Feed 信息源。在一種實現下,應用1的部署Bundle訂閱應用1的頻道,應用2的訂閱應用2的頻道。
            5704、 維護人員通過Web客戶端30上傳新的軟件包,以及提供部署包相 關信息;
            這里的部署包相關信息包括軟件包對應的應用名稱應用1,軟件包版 本信息2丄3,軟件包名稱PK1,部署策略每日凌晨2點啟動部署;這里 可以使用HTTP的方式也可以采用FTP的方式上傳新的軟件包。
            5705、 結合圖l所示,部署服務器IO接收到新的軟件包和部署包相關信 息后,根據所述部署包相關信息生成對應的Syndication Feed信息,更新該新 軟件包對應的應用1的Syndication Feed信息源中的信息,并將所述新的軟件 包存放到指定目錄下;其中,該指定目錄作為包下載地址信息包含于應用1 的Syndication Feed信息源中更新后的Syndication Feed信息。
            下面給出了 一個基于ATOM模型的Syndication Feed信息的例子,如圖1 所示,以XML文本表示
            <xml version="1.0" encoding="utf-8" > <feed xmlns="http:〃www.w3 .org/2005/Atom"> 〈title type=''text">Application name</title> <linkhref="http:〃localhost:8080/7> <id>tag:diveintomark.org,2003:3.2397</id> <updated>2008-07-10T12:29:29Z</updated> <rights>Copyright (c) 2008, Huawei Tech</rights> <entry>
            <title>Package name</title>
            <id>urn:uuid: 1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2008-07-l 0T12:29:29Z</updated> <published>2006-12-13T08:29:29-04:00</published> <contenttype=" Application/octet-stream" src="http:〃localhost:8080/resources/packagename.iar" /> </content>
            <version>2.1.3/version><action—time> </action—time> </6ntry> </feed>
            其中,Feed中的title元素中Application name即應用名稱,這個名稱在整 個部署服務器中唯一,本實施例中這里是Application 1;
            Entry中的title元素中Package name即軟件包名稱,這個名稱在本應用中 唯一,本實施例中這里是PKl。
            Content元素的type屬'性是合法的MIME (Multipurpose Internet Mail Extensions,多用途互聯網郵件擴展)類型,一4殳是application/octet-stream。 Src屬性是 一 個合法的URL ,指示軟件包的下載地址,即 src=http:〃localhost:8080/resources/packagename.jar。
            Version元素和action—time元素是擴展元素,分別用于指定軟件包的版本和 部署的時間策略。如果action—time是空,表示立即執行。action—time中的時 間格式符合標準的GTS時間格式。本實施例中版本信息是2.1.3;本實施例中 部署的操作時間為空。
            如果使用RSS2.0,則每個Channel對應一個應用,Title元素對應于應用 名稱。每個item元素對應一個軟件包,title子元素給出庫欠件包名稱,enclosure 元素用于給出軟件包下載的URL地址,這里不再贅述。
            S706、應用服務器20-1獲得所訂閱的與當前應用對應的Syndication Feed 信息源中的Syndication Feed信息;
            具體可以包括,應用服務器20-1上的部署bundle定時向部署服務器10 發送查詢請求,如http請求;
            部署服務器IO接收該查詢請求后,如果請求方所訂閱的Syndication Feed 信息源中有更新的Syndication Feed信息,返回包含更新的Syndication Feed信 息的響應,換句話說,即下載最新的Syndication Feed信息;如果請求方所訂 閱的Syndication Feed信息源中沒有更新的Syndication Feed信息,返回 一個 http頭的響應內容,指示沒有新的Syndication Feed; 還可以使用壓縮技術將 Syndication Feed信息壓縮后再傳送。
            由于S704中是針對應用1有新的軟件包發布,所以S706中應用服務器20-1 (應用1)上的部署Bundle會獲得更新的Syndication Feed信息。
            5707、 結合圖l所示,應用服務器20-1解析該Syndication Feed信息,從 該Syndication Feed信息中獲取軟件包名稱PK1,根據軟件包名稱PK1在維護 的部署包存量信息表中匹配到軟件包名稱相同的記錄,將從該Syndication Feed 信息中獲取的版本信息2.1.3與匹配記錄中的版本信息2.1.2進行比較,2丄3 優于2.1.2 ,根據該Syndication Feed信息中的包下載地址信息 src=http:〃localhost:8080/resources/packagename.jar下載相應的升級包;
            5708、 應用服務器20-1根據該Syndication Feed信息,更新所維護的部署 包存量信息表中對應的老存量記錄;
            5709、 應用服務器20-1根據該SyndicationFeed信息中的部署時間策略為 空,立即啟動會話,開始部署升級包,即調用OSGI的服務來實現升級操作。
            5710、 應用服務器20-l向部署服務器IO返回操作結果。
            可見,本發明實施例中,部署服務器通過^f吏用Syndication Feed技術發布 反映新軟件包的Syndication Feed信息到應用服務器所訂閱的Syndication Feed 信息源,應用月1務器>^人當前應用所訂閱的Syndication Feed信息源中獲得 Syndication Feed信息,根據所述Syndication Feed信息和所維護的存量信息, 下載并部署新軟件包(補丁包或發布包),從而實現在無人工干預的情況下, 軟件包能夠自動被部署服務器發布、自動被應用服務器檢測并下載,從而完成 應用服務相關補丁包的自動升級、發布包的自動安裝;即通過使用Syndication Feed發布、訂閱機制,實現部署遠程監控, 一站式管理,減低了軟件后期的 升級維護所帶來的成本壓力;
            進一步的,由于軟件包為OSGI bundle,所以部署時,無需中斷系統的操 作,如不需要重啟系統即可完成部署。
            請參閱圖9,為本發明實施例的應用服務器的結構示意圖,本發明實施例 的應用服務器包括至少一個部署Bundle (組件),每個部署Bundle對應一個應 用,如圖9所示,部署Bundle包括
            訂閱單元901 ,用于/人所訂閱的與當前應用對應的Syndication Feed信息 源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相關的新軟件包的發布;
            部署單元902,用于根據所述Syndication Feed信息中的關鍵信息和所維 護的部署包存量信息,下載并部署新軟件包。
            以及,訂閱單元901,進一步用于向部署服務器訂閱與當前應用對應的 Syndication Feed信息源,該Syndication Feed信息源包含反映與當前應用相關 的軟件包的Syndication Feed信息。
            本發明實施例的應用服務器中,部署Bundle進一步的可以包括管理單 元903,用于維護部署包存量信息;需要說明的是所維護的存量信息中的每條 記錄表示該部署Bundle對應的應用已部署的軟件包的情況。
            在一種實現下,部署單元902為第一部署單元,用于從所述Syndication Feed信息中獲取軟件包名稱,與所維護部署包存量信息進行匹配,根據匹配 得到的軟件包名稱相同的存量記錄中的第二版本信息與從該Syndication Feed 信息中獲取的第一版本信息的比較結果以及從該Syndication Feed信息中獲取 的軟件包下載地址,下載并部署新軟件包。
            或者,部署單元902為第二部署單元,用于從所述Syndication Feed信息 中獲取軟件包名稱,當從所維護部署包存量信息中匹配不到軟件包名稱相同的 記錄時,根據從該Syndication Feed信息中獲取的軟件包下載地址,下載軟件 包并部署。
            以及,所下載的新軟件包可以包括新增加的OSGI Bundle、原有OSGI Bundle的補丁包,OSGI Bundle的資源包中的一種或多種。
            可見,本發明實施例中,應用月l務器,人當前應用所訂閱的Syndication Feed 信息源中獲得Syndication Feed信息,根據所述Syndication Feed信息中的關鍵 信息和所維護的部署包存量信息,下載并部署新軟件包(補丁包或發布包), 從而實現補丁包的自動升級、發布包的自動安裝;即通過使用Syndication Feed 訂閱機制,實現部署遠程監控, 一站式管理,減低了軟件后期的升級維護所帶 來的成本壓力;
            進一步的,由于軟件包為OSGI bundle,所以部署時,無需中斷系統的操 作,如不需要重啟系統即可完成部署。請參閱圖10,為本發明實施例的部署服務器的結構示意圖,如圖IO所示,
            包括
            服務通信單元1001,用于接收應用服務器針對所訂閱的、與當前應用對 應的聚合摘要Syndication Feed信息源的查詢請求;
            訂閱處理單元1002,用于在所述服務通信單元接收到該應用服務器的查 詢請求時,確定訂閱方(該應用服務器)所訂閱的Syndication Feed信息源中 包含更新的Syndication Feed信息,并通過所述服務通信單元返回所述更新的 Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相 關的軟件包的發布。
            本發明實施例部署服務器進一步可以包括管理單元1003,用于為每個 后臺應用創建對應的Syndication Feed信息源。
            相應的,服務通信單元1001,進一步用于接收應用服務器針對當前應用 對應的Syndication Feed信息源的訂閱請求。
            本發明實施例部署服務器進一步可以包括Syndication Feed生成單元 1004,用于根據接收的部署包相關信息生成或更新對應的Syndication Feed信 息到對應的應用所訂閱的Syndication Feed信息源中;這里生成或更新對應的 Syndication Feed信息可以為RSS Feed信息、ATOM Feed信息,應當理解的是, 每當有軟件包被上傳到部署服務器或FTP服務器時,Syndication Feed生成單 元1004生成或更新對應的Syndication Feed信息。
            以及,本發明實施例部署服務器進一步可以包括存儲單元1005,用于 存放通過所述管理單元所接收的上傳的軟件包。
            可見,本發明實施例中,部署服務器通過使用Syndication Feed技術發布 反映新軟件包的Syndication Feed信息到應用服務器所訂閱的Syndication Feed 信息源,從而實現了軟件包的自動發布;進一步的,還實現了軟件包的集中管 理。
            以及,本發明實施例通過采用Syndication Feed信息源訂閱機制,實現向 訂閱方返回更新的Syndication Feed信息,所述Syndication Feed信息反映有新 的軟件包發布,實現部署遠程監控, 一站式管理,減輕了軟件后期的升級維護 所帶來的成本壓力。是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算 機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。
            其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。
            以上所述僅為本發明的幾個實施例,本領域的技術人員依據申請文件公開 的可以對本發明進行各種改動或變型而不脫離本發明的精神和范圍。
            權利要求
            1、一種軟件包自動部署方法,其特征在于,包括從所訂閱的與當前應用對應的聚合摘要Syndication Feed信息源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布;根據所述Syndication Feed信息中的關鍵信息和所維護的部署包存量信息,下載并部署相應的軟件包。
            2、 如權利要求l所述的方法,其特征在于,所述方法進一步包括向部署l艮務器訂閱與當前應用對應的Syndication Feed信息源,該 Syndication Feed信息源包含反映與當前應用相關的軟件包發布的Syndication Feed信息。
            3、 如權利要求2所述的方法,其特征在于,所述從所訂閱的與當前應用 對應的Syndication Feed信息源中,獲得Syndication Feed信息包括根據配置的統一資源定位符URL向部署服務器發送查詢請求; 接收所述部署服務器返回的所訂閱的與當前應用對應的Syndication Feed 信息源中更新的Syndication Feed信息。
            4、 如權利要求1所述的方法,其特征在于,所述根據所述Syndication Feed 信息中的關鍵信息和所維護的部署包存量信息,下載并部署軟件包,包括從該Syndication Feed信息中獲取軟件包名稱,與所維護部署包存量信息 進行匹配,如果在所維護的部署包存量信息中沒有匹配到壽欠件包名稱相同的記 錄,根據從該Syndication Feed信息中獲取的軟件包下載地址,下載軟件包并 部署。
            5、 如權利要求4所述的方法,其特征在于,如果在所維護的部署包存量 信息中匹配到軟件包名稱相同的記錄,則根據所匹配到的存量記錄中的第二版 本信息與從該Syndication Feed信息中獲取的第一版本信息的比較結果,以及 從該SyndicationFeed信息中獲取的軟件包下載地址,下載軟件包并部署。
            6、 如權利要求4或5所述的方法,其特征在于,所述方法進一步包括 根據所述Syndication Feed信息中的關鍵信息,生成或更新部署包存量記錄。
            7、 如權利要求1至5任一項所述的方法,其特征在于,所述軟件包包括 新增加的開放服務網關發起者組件OSGI Bundle、原有OSGI Bundle的補丁包 和OSGI Bundle的資源包中的一種或多種。
            8、 一種軟件包信息的發布方法,其特征在于,包括接收應用服務器針對所訂閱的與當前應用對應的聚合摘要Syndication Feed信息源的查詢請求;如果該應用月良務器所訂閱的Syndication Feed信息源中包含更新的 Syndication Feed信息,向該應用服務器返回所述更新的Syndication Feed信息, 所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布。
            9、 如權利要求8所述的方法,其特征在于,所述接收應用服務器針對所 訂閱的與當前應用對應的Syndication Feed信息源的查詢請求的步驟前,進一 步包括為每個后臺應用創建對應的Syndication Feed信息源; 接收應用服務器針對當前應用對應的Syndication Feed信息源的訂閱請求。
            10、 如權利要求8或9所述的方法,其特征在于,所述方法進一步包括 根據接收的部署包相關信息生成或更新對應的Syndication Feed信息到所述部署包相關信息關聯的應用所對應的Syndication Feed信息源中。
            11、 一種軟件包管理系統,其特征在于,包括部署服務器,用于管理每個后臺應用對應的聚合摘要Syndication Feed信 息源,所述Syndication Feed信息源中包含用于反映與當前應用相關的軟件包 發布的Syndication Feed信息;應用服務器,用于從所述部署服務器中獲得所訂閱的與當前應用對應的 Syndication Feed信息源中的Syndication Feed信息,根據所述Syndication Feed 信息中的關鍵信息和所維護的部署包存量信息,下載并部署相應的軟件包。
            12、 如權利要求11所述的系統,其特征在于,所述部署服務器,進一步 用于根據接收的部署包相關信息生成或更新對應的Syndication Feed信息到所 述部署包相關信息關聯的應用所對應的Syndication Feed信息源中。
            13、 一種應用服務器,其特征在于,包括所述應用服務器包括至少一個部署組件Bundle,每個部署Bundle對應一個應用,其中,所述部署Bundle包 括訂閱單元,用于>^人所訂閱的與當前應用對應的聚合摘要Syndication Feed 信息源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反 映與當前應用相關的軟件包的發布;部署單元,用于根據所述Syndication Feed信息中的關鍵信息和所維護的 部署包存量信息,下載并部署相應的軟件包。
            14、 如權利要求13所述的應用服務器,其特征在于,所述訂閱單元,進 一步用于向部署月良務器訂閱與當前應用對應的Syndication Feed信息源,該 Syndication Feed信息源包含反映與當前應用相關的軟件包發布的Syndication Feed信息。
            15、 如權利要求13或14所述的應用服務器,其特征在于,所述部署Bundle 進一步包括 管理單元,用于維護部署包存量信息;所述部署單元為第一部署單元,用于從所述Syndication Feed信息中獲取 軟件包名稱,與所維護部署包存量信息進行匹配,根據匹配得到的軟件包名稱 相同的存量記錄中的第二版本信息與從該Syndication Feed信息中獲取的第一 版本信息的比較結果,以及從該Syndication Feed信息中獲取的軟件包下載地 址,下載并部署軟件包;或者,所述部署單元為第二部署單元,用于從所述Syndication Feed信息 中獲取軟件包名稱,當從所維護部署包存量信息中匹配不到軟件包名稱相同的 記錄時,根據從該Syndication Feed信息中獲取的軟件包下載地址,下載并部 署軟件包。
            16、 一種部署服務器,其特征在于,包括服務通信單元,用于接收應用服務器針對所訂閱的、與當前應用對應的聚 合摘要Syndication Feed信息源的查詢請求;訂閱處理單元,用于在所述服務通信單元接收到該查詢請求時,確定該應 用服務器所訂閱的Syndication Feed信息源中包含更新的Syndication Feed信 息,并通過所述服務通信單元返回所述更新的Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布。
            17、 如權利要求16所述的部署服務器,其特征在于,所述部署服務器進 一步包括管理單元,用于為每個后臺應用創建對應的Syndication Feed信息源; 服務通信單元,進一步用于接收應用服務器針對當前應用對應的 Syndication Feed信息源的訂閱請求。
            18、 如權利要求16或17所述的部署服務器,其特征在于,所述部署服務 器進一步包括Syndication Feed生成單元,用于根據接收的部署包相關信息生成或更新 對應的Syndication Feed信息到所述部署包相關信息關聯的應用所對應的 Syndication Feed信息源中。
            19、 如權利要求17所述的部署服務器,其特征在于,所述部署服務器進 一步包括存儲單元,用于存放通過所述管理單元所接收的軟件包。
            全文摘要
            本發明實施例公開了一種軟件包的自動部署方法、裝置和系統,其中,軟件包的自動部署方法包括從所訂閱的與當前應用對應的聚合摘要Syndication Feed信息源中,獲得Syndication Feed信息,其中所述Syndication Feed信息用于反映與當前應用相關的軟件包的發布;根據所述Syndication Feed信息中的關鍵信息和所維護的部署包存量信息,下載并部署軟件包;通過所述方法,應用服務器實現在無人工干預的情況下,完成當前應用相關的軟件包的自動部署。
            文檔編號G06F9/445GK101420325SQ20081021770
            公開日2009年4月29日 申請日期2008年11月21日 優先權日2008年11月21日
            發明者張天虎 申請人:華為技術有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品