構建和更新運行時刻環境的系統和方法

            文檔序號:6349201閱讀:258來源:國知局
            專利名稱:構建和更新運行時刻環境的系統和方法
            技術領域
            本發明一般涉及數據處理領域,且更具體地,涉及用于構建包含至少一個軟件組件的多個不同版本的系統的運行時刻環境的計算機實現的方法、裝置和計算機程序產品。
            背景技術
            當產品系統中的企業應用服務器(EAS)被更新時,大多數修復包安裝軟件將把企業應用服務器作為整體整個升級。具體地,所有簡檔或服務器運行時刻被升級到最新修復包版本,且它們都將在相同企業應用服務器修復包級別處運行。不提供在相同機器中安裝和維護不同修復包版本。假設,例如,正在系統上安裝企業應用服務器基本版本,例如IBM WebSphere 應用服務器(WAQ版本6. 1。還假設在企業應用服務器上存在三個不同的運行時刻環境(RE), 例如WAS簡檔X,Y和Z,且還存在三個不同應用部署在X,Y和Z簡檔上,例如在簡檔X上的TEST1、在簡檔Y上的TEST2和在簡檔Z上的TEST3。還假設,需要將EAS從一個版本升級到另一個版本,例如僅對于在運行時刻環境Y上部署的應用TEST2從WAS版本6. 1升級到WAS版本6. 1.0. 25,且不需要對于其他應用升級EAS。實際上,該升級可能甚至對應用 TESTl和TEST3中的一個或兩者有負面影響。例如,應用TESTl已經被特別開發來使用由 IBM WebSphere 應用服務器版本6.1提供的接口。對于企業應用的當前補丁升級通常升級整個企業應用服務器。不提供僅升級企業應用服務器的一個或多個特定運行時刻環境、以便不同運行時刻環境可以運行在與部署在運行時刻環境上的應用相關的不同修復包級別。當前運行時刻環境還需要運行基本企業應用服務器且完全依賴于基本企業應用服務器文件。它們不具有選擇感興趣的版本的選擇, 例如存在于系統si上的簡檔X可能想要在IBM WebSphere 應用服務器6.1上運行,而在相同系統Sl上的簡檔Y可能想要在IBM WebSphere 應用服務器6.1. 5上運行。

            發明內容
            根據本發明的一個實施例,提供用于構建系統的運行時刻環境的計算機實現的方法、有形存儲介質和數據處理系統。簡檔管理器接收包含簡檔標識符的服務請求。簡檔標識符指定至少一個軟件組件的所需版本。簡檔管理器標識軟件組件的完整安裝和至少一個增量文件。簡檔管理器通過優選地利用來自至少一個增量文件的文件、然后利用來自完整安裝的文件,來構造所需版本的類路徑。然后,利用類路徑來構建運行時刻環境。


            現在僅通過例子參考附圖來描述本發明的實施例,在附圖中圖1描述了可以實施例示實施例的數據處理系統的網絡的圖示;圖2是可以實現例示實施例的數據處理系統的方框圖;圖3是圖示在可以實現本發明的計算機系統內操作的軟件組件的關系的方框圖4是根據例示實施例的Java 虛擬機的方框圖;圖5是用于向數據處理系統的Java 虛擬機提供簡檔的當前已知數據流圖;圖6是用于向根據例示實施例的數據處理系統的java 虛擬機提供簡檔的數據流圖;圖7是示意地圖示根據現有技術的企業應用服務器文件系統的方框圖;圖8是示意地圖示根據例示實施例的企業應用服務器文件系統的方框圖;圖9是示意地圖示根據例示實施例的企業應用服務器升級、補丁或修復包的安裝的方框圖;以及圖10是示意地圖示根據例示實施例的由運行時刻環境選擇系統版本的方法的流程圖。
            具體實施例方式如本領域技術人員將認識到的,本發明可以被實現為系統、方法或計算機程序產品。因此,本發明可以采取以下形式全硬件實施例、全軟件實施例(包括固件、駐留軟件、 微代碼等)或者組合了軟件和硬件方面的通常都可以被稱為“電路”、“模塊”或“系統”的實施例。此外,本發明可以采取嵌入在計算機可用程序代碼嵌入在介質中的表示的任何有形介質中的計算機程序產品的形式。可以使用一個或多個計算機可用或計算機可讀介質的任何組合。計算機可用或計算機可讀存儲介質例如可以是但不限于電子、磁、光、電磁、紅外或半導體系統、裝置、設備或者傳播介質。計算機可讀介質的更具體的示例(非窮盡性列舉)包括以下各項具有一條或多條線的電連接;便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、 可擦除可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式致密盤只讀存儲器(CD-ROM)、光存儲設備、諸如支持因特網或內聯網的那些的傳輸介質、或磁存儲設備。注意,計算機可用或計算機可讀介質甚至可以是在其上打印了程序的紙或另一適當的介質,因為該程序可以經由例如紙或其他介質的光掃描、然后被編譯、解釋或如果需要的話另外以適當的方式處理、 然后存儲在計算機存儲器中來電子的捕獲。在本文檔的上下文中,計算機可用或計算機可讀介質可以是可以包含、存儲、傳送、傳播或傳輸由指令執行系統、裝置或設備使用或關于它們而使用的程序的任何介質。計算機可用介質可以包括在基帶中的或者作為載波的一部分的傳播數據信號,在該傳播數據信號中嵌入計算機可用程序代碼。可以使用任何適當的介質來傳送在計算機可用程序代碼,所述介質包括但不限于無線、有線、光纖光纜、RF等。可以用一種或多種編程語言的任何組合來編寫用于執行本發明的操作的計算機程序代碼,所述編程語言包括但不限于面向對象的編程語言,例如Java 、Smalltalk.C++ 等;以及傳統的過程編程語言。程序代碼可以完全在用戶的計算機上執行、部分地在用戶的計算機上執行、作為單獨的軟件包執行、部分地在用戶的計算機上并且部分地遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在后一場景中,遠程計算機可以通過任何類型的網絡連接到用戶的計算機,所述網絡包括但不限于局域網(LAN)或廣域網(WAN)、或者可以進行到外部計算機(例如,使用因特網服務供應商通過因特網)的連接。下面參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和 /或框圖來描述本發明。將理解,所述流程圖和/或框圖的每個塊、以及所述流程圖和/或框圖中的塊的組合可以通過計算機程序指令來實現。這些計算機程序指令可以被提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器以便產生機器,使得經由所述計算機或其它可編程數據處理裝置的處理器執行的指令產生用于實現在一個或多個流程圖和/或框圖的塊中指定的功能/動作的部件。這些計算機程序指令也可以被存儲在計算機可讀介質中,所述計算機可讀介質可以指示計算機或其它可編程數據處理裝置按照特定的方式運行,使得存儲在計算機可讀介質中的指令產生包括實現在一個或多個流程圖和/或框圖的塊中指定的功能/動作的指令部件的制造產品。所述計算機程序指令也可以被加載到計算機或其他可編程數據處理裝置上,以便使得在計算機或其他可編程裝置上執行一系列操作步驟,從而產生計算機實現的過程,使得在計算機或其他可編程裝置上執行的指令提供用于實現在流程圖和/或框圖的一個或多個塊中指定的功能/動作的過程。現在參考附圖,且具體地參考圖1-2,提供數據處理環境的示例圖,其中可以實現例示實施例。應該理解,圖1-2僅是示例,且不意圖針對可以實現不同實施例的環境斷言或暗示任何限制。可以對描述的環境進行許多修改。圖1描述了可以實施例示實施例的數據處理系統的網絡的圖示。網絡數據處理系統100是可以實現例示實施例的計算機的網絡。網絡數據處理系統100包含網絡102,其是用于提供在網絡數據處理系統100內連接在一起的在各種設備和計算機之間的通信的介質。網絡102可以包括連接,諸如有線、無線通信鏈接或光纖電纜。在所描述的例子中,服務器104和服務器106與存儲單元108 —起連接到網絡 102。另外,客戶端110,112和114連接到網絡102。客戶端110,112和114可以是例如個人計算機或網絡計算機。在所描述的例子中,服務器104向客戶端110,112和114提供信息,諸如引導文件、操作系統映像和應用。客戶端110,112和114在該例子中是服務器104 的客戶端。網絡數據處理系統100可以包括另外的服務器、客戶端和未示出的其他設備。位于網絡數據處理系統100中的程序代碼可以被存儲在計算機可記錄存儲介質上,且被下載到數據處理系統或其他設備用于使用。例如,程序代碼可以被存儲在計算機可記錄存儲介質或服務器104上,且通過網絡102被下載到客戶端110用于在客戶端110上使用。在所示示例中,網絡數據處理系統100是因特網,網絡102表示使用協議的傳輸控制協議/因特網協議(TCP/IP)組來彼此通信的網絡和網關的全球集合。在因特網的中心處是在由路由數據和消息的數千商業、政府、教育和其他計算機系統組成的主節點或主機計算機之間的高速數據通信線的主干。當然,網絡數據處理系統100還可以被實現作為多個不同類型的網絡,諸如內聯網、局域網(LAN)或廣域網(WAN)。圖1意圖作為例子,而不是作為對不同例示實施例的結構限制。現在參考圖2,示出可以實現例示實施例的數據處理系統的方框圖。數據處理系統 200是諸如圖1中的服務器104或客戶端110的計算機的例子,其中,可以放置實現處理的計算機可用程序代碼或指令用于例示實施例。在該例示例子中,數據處理系統200包括通信結構(fabric) 202,其提供在處理單元204、存儲器206、永久存儲器208、通信單元210、輸入/輸出(I/O)單元212和顯示器214之間的通信。
            處理單元204用于執行可以被加載到存儲器206中的軟件的指令。處理單元204 取決于具體實施方式
            可以是一個或多個處理器的組,或可以是微處理器核。另外,可以使用一個或多個不同種的處理器系統來實現處理單元204,其中,主處理器與次級處理器存在于單個芯片上。作為另一例示例子,處理器單元204可以是包含相同類型的多個處理器的對稱的多處理器系統。存儲器206和永久存儲器208是存儲設備216的例子。存儲設備是能夠臨時和/ 或永久地存儲信息的任何硬件,所述信息諸如(示例而不是限制)數據、功能形式的程序代碼、和/或其他適當的信息。在這些例子中,存儲器206可以是例如隨機存取存儲器或任何其他適當的易失性或非易失性存儲設備。永久存儲器208可以取決于具體實施方式
            而采取各種形式。例如,永久存儲器208可以包含一個或多個組件或設備。例如,永久存儲器208 可以是硬盤、閃存、可重寫光盤、可重寫磁帶或上述的一些組合。由永久存儲器208使用的介質還可以是可移除的。例如,可以對永久存儲器208使用可移除硬盤。在這些例子中,通信單元210提供與其他數據處理系統或設備的通信。在這些例子中,通信單元210是網絡接口卡。通信單元210可以通過使用物理和無線通信鏈接之一或兩者來提供通信。輸入/輸出單元212允許與可以連接到數據處理系統200的其他設備輸入和輸出數據。例如,輸入/輸出單元212可以通過鍵盤、鼠標、和/或一些其他適當的輸入設備為用戶輸入提供連接。另外,輸入/輸出單元212可以向打印機發送輸出。顯示器214提供向用戶顯示信息的機構。操作系統、應用和/或程序的指令可以位于存儲設備216中,該存儲設備216通過通信結構202與處理器單元204通信。在這些示例例子中,這些指令以功能形式位于永久存儲器208上。這些指令可以被加載到存儲器206中,用于由處理器單元204執行。可以通過處理器單元204,使用可以位于諸如存儲器206的存儲器中的計算機實現的指令,來進行不同實施例的處理。這些指令被稱為可以由處理器單元204中的處理器讀取和執行的程序代碼、計算機可用程序代碼或計算機可讀程序代碼。在不同實施例中的程序代碼可以被實現在不同物理或有形計算機可讀介質上,諸如存儲器206或永久存儲器208。程序代碼218以功能形式位于可選擇性地移除的計算機可讀介質220上,且可以被加載或傳輸到數據處理系統200,用于由處理器單元204執行。程序代碼218和計算機可讀介質220在這些例子中形成計算機程序產品222。在一個例子中,計算機可讀介質220 可以處于有形形式,諸如光盤或磁盤,其被插入或放入驅動器或作為永久存儲器208的一部分的其他設備中,用于傳輸到諸如作為永久存儲器208的一部分的硬盤驅動器的存儲設備上。以有形形式,計算機可讀介質218還可以采取永久存儲器的形式,諸如連接到數據處理系統200的硬盤驅動器、拇指盤驅動器、或閃存。計算機可讀介質220的有形形式也稱為計算機可記錄存儲介質。在一些例子中,計算機可讀介質220可以不是可移除的。或者,程序代碼218可以從計算機可讀介質220通過到通信單元210的通信鏈接和/或通過到輸入/輸出單元212的連接而被傳輸到數據處理系統200。通信鏈接和/或連接在例示例子中可以是物理或無線的。計算機可讀介質還可以采取非有形介質的形式, 諸如包含程序代碼的通信鏈接或無線傳輸。
            在一些示例實施例中,程序代碼218可以通過網絡從另一設備或數據處理系統下載到永久存儲器208,用于在數據處理系統200內使用。例如,在服務器數據處理系統中的計算機可讀存儲介質中存儲的程序代碼可以通過網絡從服務器下載到數據處理系統200。 提供程序代碼218的數據處理系統可以是服務器計算機、客戶端計算機、或能夠存儲和傳輸程序代碼218的一些其他設備。為數據處理系統200圖示的不同組件不是想要向可以實現不同實施例的方式提供結構限制。不同例示實施例可以在包括除了對于數據處理系統200所示的那些以外的組件或包括代替對數據處理系統200所示的組件的組件的數據處理系統中實現。圖2所示的其他組件可以與所示的例示例子不同。可以使用能夠執行程序代碼的任何硬件設備或系統來實現不同實施例。作為一個例子,數據處理系統可以包括與無機組件集成的有機組件,和 /或可以完全由除了人類以外的有機組件來構成。例如,存儲設備可以由有機半導體構成。作為另一例子,在數據處理系統200中的存儲設備是可以存儲數據的任何硬件裝置。存儲器206、永久存儲器208和計算機可讀介質220是有形形式的存儲設備的例子。在另一例子中,可以使用總線系統來實現通信結構202,且可以由一個或多個總線 (諸如系統總線或輸入/輸出總線)構成。當然,可以使用提供在附接到總線系統的不同組件或設備之間的數據傳輸的任何適當類型的架構來實現總線系統。另外,通信單元可以包括用于發送和接收數據的一個或多個設備,諸如調制解調器或網絡適配器。另外,存儲器可以是例如存儲器206或諸如可以在通信結構202中存在的在接口和存儲器控制器集線器中找到的高速緩存。現在參考圖3,方框示在可以實現本發明的計算機系統內操作的軟件組件的關系。基于Java 的系統300包含向在特定硬件平臺上執行的軟件提供硬件和系統支持的特定平臺操作系統302。java 虛擬機(JVM)304是可以與操作系統結合執行的一個軟件應用。Java 虛擬機304給java 運行時刻環境提供執行作為以java 編程語言寫的程序、 servlet或軟件組件的Java 應用/小程序306的能力。Java 虛擬機304在其中操作的計算機系統可以類似于上述數據處理系統200或計算機100。但是,可以在所謂Java 芯片、硅上Java 或具有嵌入的Picojava核的Java 處理器上的專用硬件中實現Java 虛擬機 304。在java 運行時刻環境的中心是Java 虛擬機,其支持Java 的環境的所有方面,包括其架構、安全特征和網絡上的移動性和平臺獨立性。Java 虛擬機是例如抽象地指定的計算機的虛擬計算機。說明書定義每個Java 虛擬機必須實現的某些特征,和可以取決于Java 虛擬機被設計為在其上執行的平臺的設計選擇的一些范圍。例如,所有Java 虛擬機必須執行Java 字節碼,且可以使用一定范圍的技術來執行由字節碼表示的指令。 可以完全以軟件或稍微以硬件實現Java 虛擬機。該靈活性允許不同的Java 虛擬機被設計用于主機計算機和PDA。java 虛擬機是實際執行java 程序的虛擬計算機組件的名稱。Java 程序不直接由中央處理器運行,而是由Java 虛擬機運行,Java 虛擬機本身是在處理器上運行的軟件。與僅對于其編譯代碼的一個平臺相對,Java 虛擬機允許在不同平臺上執行Java程序。Java 程序對于Java 虛擬機進行編譯。以此方式,Java 能夠支持許多類型的數據處理系統的應用,其可以包含各種中央處理單元和操作系統架構。為了使得Java 應用能夠在不同類型的數據處理系統上執行,編譯器通常生成架構中性文件格式。在存在Java 運行時刻系統的情況下,該編譯的代碼可在許多處理器上執行。Java 編譯器生成非專用于特定計算機架構的字節碼指令。字節碼是由Java 編譯器生成且由Java 解釋器執行的機器獨立碼。Java 解釋器是交替地解碼和解釋一個字節碼或多個字節碼的Java 虛擬機的一部分。這些字節碼指令被設計為容易在任意計算機上解釋,且容易地即時翻譯為本地機器碼。字節碼可以通過即時(just-in-time (JIT))編譯器被翻譯為本地碼。java 虛擬機加載類文件,且執行它們中的字節碼。由Java 虛擬機中的類加載器來加載類文件。類加載器加載來自應用的類文件和來自應用需要的Java 應用編程接口 (API)的類文件。執行字節碼的執行引擎可以在平臺和實施方式上變化。一種類型的基于軟件的執行引擎是即時編譯器。利用這種類型的執行,一種方法的字節碼在成功滿足用于即時編譯一種方法的某種類型的標準時被編譯為本地機器碼。然后,在下一次調用方法時,該方法的本地機器碼被高速緩存和重用。執行引擎還可以以硬件實現,且嵌入在芯片上,以便本地地執行Java 字節碼。Java 虛擬機通常解釋字節碼,但 Java 虛擬機還可以使用其他技術,諸如即時編譯,來執行字節碼。當由在特定平臺操作系統上以軟件實現的java 虛擬機上執行應用時,java 應用可以通過調用本地方法來與主機操作系統交互。以Java 語言來寫Java 方法,將其編譯為字節碼,且將其存儲在類文件中。以某些其他語言來寫本地方法,將其編譯為特定處理器的本地機器碼。在其精確形式是特定平臺的動態鏈接庫中存儲本地方法。現在參考圖4,根據例示實施例描述Java .虛擬機的方框圖。Java .虛擬機 (JVM) 400包括類加載器子系統402,其是用于加載諸如類和接口的給出了合格的名稱的類型的機構。Java 虛擬機400還包含運行時刻數據域404、執行引擎406、本地方法接口 408 和存儲器管理410。執行引擎406是用于執行在由類加載器子系統402加載的類的方法中包含的指令的機構。執行引擎406可以是例如Java 解釋器412或即時編譯器414。本地方法接口 408允許對底層操作系統中的資源的訪問。本地方法接口 408可以是例如java 本地接口(JNI)。運行時刻數據域404包含本地方法棧416、Java 棧418、PC寄存器420、方法域 422和堆(heap)4M。這些不同的數據域表示由Java 虛擬機400執行程序所需的存儲器的組織。Java .棧418被用于存儲Java 方法調用的狀態。當啟動新線程時,Java 虛擬機為該線程構建新Java 棧。Java 虛擬機僅對Java 棧直接進行兩個操作。其推入和彈出幀。線程的Java 棧存儲該線程的Java 方法調用的狀態。Java 方法調用的狀態包括其本地變量、其被調用的參數、其返回的值、以及(如果有的話)中間計算。Java 棧由棧幀組成。棧幀包含單個Java 方法調用的狀態。當線程調用方法時,Java 虛擬機將新幀推入線程的Java 棧。當該方法完成時,Java 虛擬機彈出用于該方法的幀,并丟棄它。Java 虛擬機不具有用于保持中間值的任何寄存器;需要或產生中間值的任何Java 指令使用棧來保持中間值。以此方式,為各種平臺架構很好地定義了Java 指令集。程序計數器(PC)寄存器420被用于指示要執行的下一指令。每個實例化的線程得到其自己的PC寄存器和Java 棧。如果該線程正執行Java 虛擬機方法,則PC寄存器的值指示要執行的下一指令。如果該線程正執行本地方法,則不定義PC寄存器的內容。
            本地方法棧416存儲本地方法的調用的狀態。以依賴于實現的方式,在本地方法棧、寄存器或其他依賴于實現的存儲器域中存儲本地方法調用的狀態。在一些Java 虛擬機實施方式中,本地方法棧416和Java 棧418被組合。方法域422包含類數據,而堆4M包含所有實例化的對象。在這些例子中,常數池位于方法域422中。java 虛擬機規定嚴格地定義數據類型和操作。大多數Java 虛擬機選擇具有一個方法域和一個堆,其每個由在Java 虛擬機(諸如Java 虛擬機400)內部運行的所有線程共享。當Java 虛擬機400加載類文件時,其從類文件中包含的二進制數據解析關于類型的信息。Java 虛擬機400將這一類型信息放入方法域中。每次構建類實例或陣列時,從堆4 分配用于新對象的存儲器。Java 虛擬機400包括分配堆424的存儲器內的存儲器空間的指令,但不包括用于釋放該存儲器內的空間的指令。在所描述的例子中的存儲器管理410管理被分配給堆似4的存儲器內的存儲器空間。存儲器管理410可以包括垃圾收集器,其自動回收由不再被引用的對象使用的存儲器。另外,垃圾收集器也可以移動對象來減少堆碎片。在此的例示實施例描述用于構建系統的運行時刻環境的計算機實現的方法、有形存儲介質和數據處理系統。簡檔管理器接收包含簡檔標識符的服務請求。簡檔標識符指定至少一個軟件組件的所需版本。簡檔管理器標識軟件組件的完整安裝和至少一個增量文件。簡檔管理器通過優選地利用來自至少一個增量文件的文件、然后來自完整安裝的文件, 來構造所需版本的類路徑。然后,利用類路徑來構建運行時刻環境。例示實施例提供應用/簡檔在運行時刻期間選擇運行時刻環境版本的計算機實現的方法、系統和計算機程序產品。根據例示實施例,企業應用服務器修復包升級類似于虛擬安裝的功能,且不整體升級企業應用服務器版本。相反,在升級之后在系統中應該存在當前版本和新的版本兩者,以便在應用啟動或簡檔啟動階段期間可以選擇任一版本。根據另一例示實施例,包括基本版本和升級的版本的不同運行時刻版本被保持在系統中,且基于運行時刻選擇而動態地加載。現在參考圖5,描述用于向數據處理系統的java 虛擬機提供簡檔的已知數據流圖。Java 虛擬機510是諸如圖4的Java 虛擬機400的Java 虛擬機。Java 虛擬機510 通過維持每個分離的簡檔的完整安裝,在相同機器的分離的簡檔中安裝并維持企業應用服務器的不同版本。Java 虛擬機510包含應用服務器512-516。應用服務器512-516是其中Java 虛擬機510的應用實際執行的主要運行時刻組件。應用服務器512-516的每個執行Java .虛擬機機器實例518-522之一。Java 虛擬機實例518-522是Java 虛擬機510內的類實例。Java 虛擬機實例518-522的若干可以在Java 虛擬機510內分離地執行,只要那些實例每個被包含在分離的應用服務器(諸如應用服務器512-516)內。使用在簡檔數據庫530中存儲的簡檔5對-5觀之一來構建Java .虛擬機實例 518-522。簡檔數據庫5 是在諸如圖1的存儲單元108的存儲單元上實現的數據結構,其包含或引用簡檔524-528的位置。簡檔524-5 是分離的數據分區,其包括定義應用服務器處理(諸如部署管理器或應用服務器)的運行時刻環境的文件。每個運行時刻環境具有其自己的配置文件、日志、特性和其他屬性。簡檔524-5 可以使得應用服務器512-516的每個運行時刻唯一且與服務器二進制(binary)和與其他簡檔分離。簡檔5對_5觀的每個是完整的企業應用服務器安裝,包括在創建簡檔時可用的任何軟件補丁和更新。每次簡檔524-5 之一被打補丁或更新時,構建新的、單獨的簡檔。因此,在一個例示實施例中,簡檔5M是企業應用服務器的里程碑式發布的完整安裝。簡檔 5 是企業應用服務器的完整安裝。簡檔5 也是簡檔524的修補版本。簡檔5 是企業應用服務器的完整安裝。簡檔528也是簡檔526的修補的版本。當Java 虛擬機510接收服務請求530時,簡檔管理器532識別簡檔標識符534。 簡檔標識符534是應該使用企業應用服務器的哪個版本來滿足請求以及因此應該使用簡檔524-528中的哪個來創建諸如Java 虛擬機實例518-522的具體實例的指示。然后,簡檔管理器532提取簡檔5對-5觀中所指示的一個,且向正執行實例的應用服務器512-516 中的特定的一個分配所提取的簡檔。現在參考圖6,示出了根據例示實施例向數據處理系統的Java虛擬機提供簡檔的數據流圖。Java 虛擬機610是諸如圖4的Java 虛擬機400的Java 虛擬機。Java 虛擬機610通過維持每個分離的簡檔的增量文件,在相同機器的分離的簡檔中安裝并維持企業應用服務器的不同版本。Java 虛擬機610包含應用服務器612-616。應用服務器612-616是其中Java 虛擬機610的應用實際執行的主要運行時刻組件。應用服務器612-616中的每個執行Java 虛擬機實例618-622之一。Java 虛擬機實例618-622是Java 虛擬機610內的類實例。Java 虛擬機實例618-622中的若干可以分離地在Java 虛擬機610內執行,只要那些實例的每個被包含在單獨的應用服務器 (諸如應用服務器612-616)內。使用在簡檔數據庫631中存儲的簡檔擬4和一個或多個增量(delta)文件 626-630中的一個來創建Java 虛擬機實例618-622。簡檔數據庫631是在諸如圖1的存儲單元108的存儲單元上實現的數據結構,其包含或引用簡檔624的位置。簡檔6M是分離的數據分區,其包括定義應用服務器處理(諸如部署管理器或應用服務器)的運行時刻環境的文件。每個運行時刻環境具有其自己的配置文件、日志、特性和其他屬性。簡檔擬4 可以使得應用服務器612-616的每個運行時刻唯一且與服務器二進制和與其他簡檔分離。簡檔6M是完整的企業應用服務器安裝。不像圖5的簡檔524-528,簡檔6M不包括在構建簡檔時可用的任何軟件補丁和更新。在一個例示實施例中,簡檔6 是企業應用服務器的里程碑式發布的完整安裝。增量文件626-630是包含對諸如簡檔6M的基本簡檔的改變或對諸如其他增量文件626-630的先前增量文件的改變的文件。對于要應用到簡檔624的任何軟件補丁或更新,要對簡檔6 頒布的改變不初始地應用于簡檔624,而是被保存作為增量文件626-630之一。在一個例示實施例中,增量文件626-630中的每個是包含要對簡檔6M頒布的改變的軟件補丁或更新。當動態地將簡檔6M加載到應用服務器612-616之一中時,首先用來自所標識的增量文件626-630的文件、然后用來自基本簡檔624的文件來構造類路徑。在一個例示實施例中,增量文件626-630中的每個是順序的軟件補丁或更新,其包含要對如由前一個增量文件6沈-630修改的簡檔6M頒布的改變。例如,但不限于,增量文件6 可以是對簡檔624的第一更新,使得將直接對簡檔6M應用增量文件626的軟件補丁或更新。增量文件6 可以是對簡檔624的隨后更新,使得將對如由增量文件6 修改的簡檔6M應用增量文件628的軟件補丁或更新。增量文件630可以是對簡檔624的另一隨后更新,使得將對如由增量文件6 和增量文件6 兩者修改的簡檔6M應用增量文件628的軟件補丁或更新。因此,如果服務請求632標識包括增量文件626-630中的每個的簡檔版本,首先用來自增量文件630的文件、然后用來自增量文件628的文件、然后用來自增量文件626的文件、然后用來自基本簡檔624的文件來構造類路徑。當Java 虛擬機610接收服務請求632時,簡檔管理器634識別簡檔標識符636。 簡檔標識符636是應該使用企業應用服務器的哪個版本來滿足請求以及因此應該使用簡檔626-630中的哪個和簡檔6M —起來創建諸如Java 虛擬機實例618-622之一的具體實例的指示。然后,簡檔管理器634提取增量文件626-630中所指示的一個以及簡檔624,且向應用服務器612-616中正執行實例的特定的一個分配所提取的簡檔。例示實施例提供應用/簡檔在運行時刻期間選擇運行時刻環境版本的計算機實現的方法、系統和計算機程序產品。根據例示實施例,企業應用服務器修復包升級類似于虛擬安裝的功能,且不整體升級企業應用服務器版本。相反,在升級之后在系統中應該存在當前版本和新的版本,以便在應用啟動或簡檔啟動階段期間可以選擇任一版本。根據另一例示實施例,包括基本版本和升級的版本的不同運行時刻版本被保持在系統中,且基于運行時刻選擇而動態地被加載。現在參考圖7,根據現有技術示出示意性地示出企業應用服務器文件系統的方框圖。文件結構700是EAS的文件系統結構的組織,以便可以在企業應用服務器主目錄(home directory)中保持運行時刻文件的基本版本和多個其他完整安裝。文件結構700是包含諸如圖5的簡檔524-528的簡檔的文件系統的示意表示。文件結構700包括主目錄702。當企業應用服務器是WebSphere 應用服務器時, 主目錄 702 可以是例如(但不限于)\WebSphere\AppServer WAS_H0ME 目錄。Websphere 是國際商業機器公司的注冊商標。\profiles目錄列出了各種簡檔,但是WebSphere的其他目錄和文件,例如Java 目錄704、庫目錄706、插件目錄708和特性文件710都在WAS_H0ME 級別處。當對企業應用服務器進行升級,例如從版本6. 1. 0. 0升級到版本6. 1. 0. 25時,例如Java 目錄704、庫目錄706、插件目錄708和特性文件710內的文件的每個文件都將被改變以反映該升級。如果對企業應用服務器的升級保存為不同文件名,則文件結構700可以維持升級的企業應用服務器和原始企業應用服務器兩者的完整拷貝。如果對企業應用服務器的升級不保存為不同文件名,則企業應用服務器的原始版本的文件將被替換并丟失。現在參考圖8,根據例示實施例示出示意地圖示企業應用服務器文件系統結構的方框圖。文件結構800是企業應用服務器的文件系統結構的組織,以便可以在企業應用服務器主目錄中保持運行時刻文件的基本版本和多個其他完整安裝。文件結構800是包含諸如圖6的簡檔6M和增量文件626-630的簡檔和增量文件的文件系統的示意表示。文件結構800包括主目錄802。當企業應用服務器是WebSphere 應用服務器時, 主目錄 802 可以是例如(但不限于)\WebSphere\AppServer WAS_H0ME 目錄。Websphere 是國際商業機器公司的注冊商標。
            主目錄802初始地包含版本子目錄804。對于安裝的企業應用服務器的每個補丁或軟件升級,向主目錄802添加新版本子目錄。主目錄802列出各種簡檔。各種簡檔中的每個包括企業應用服務器的其他文件,例如Java 目錄806、庫目錄808、插件目錄810和特性文件812。其他文件安裝在WAS_H0ME\Version_base_6. 1. 0. 0級別處。當對企業應用服務器進行升級時,構建新的版本子目錄814。例如,從版本 6. 1.0. 0升級到版本6. 1.0. 25,添加\Version_base_6. 1.0.0目錄以包含運行時刻目錄文件,諸如例如但不限于Java 目錄816、庫目錄818、插件目錄820和特性文件822,使得在文件系統內存儲版本6. 1. 0. 0和版本6. 1. 0. 25兩者。在一個示例實施例中,諸如例如但不限于Java 目錄816、庫目錄818、插件目錄 820和特性文件822的運行時刻目錄文件是增量文件,諸如圖6的增量文件624-6 之一。 諸如例如但不限于Java 目錄816、庫目錄818、插件目錄820和特性文件822的運行時刻目錄文件是企業應用服務器從先前的Java 目錄806、庫目錄808、插件目錄810和特性文件812的改變。當向企業應用服務器應用修復包、補丁或升級時,修復包、補丁或升級可以是"里程碑式升級"或"非里程碑式"升級。如果選擇"里程碑式"升級,構建包含升級文件組的新的\version_delta_6. 1. 0. 25。例如,為了從版本6. 1. 0. 0升級到版本6. 1. 0. 25,版本 6. 1.0.0的運行時刻目錄文件的增量文件,例如Java 目錄816、庫目錄818、插件目錄820 和特性文件822將被存儲在新版本子目錄814中。非里程碑式安裝是包含企業應用服務器的所有文件和目錄的完整版本級別的完整安裝。在非里程碑式安裝中,將整個企業應用服務器系統升級到較新的版本。相反,里程碑式安裝是取決于一個或多個其他安裝目錄的版本級別的部分安裝,且大概是至少一個完整的基本簡檔/安裝目錄。在里程碑式安裝中,保存舊的和新的文件版本。新文件版本被存儲作為增量文件、諸如圖6的增量文件6沈-630之一。如果選擇"非里程碑式"升級,當發生升級時,運行時刻目錄文件被簡單地重寫從而在文件結構中僅存在升級的版本。當啟動諸如圖6的應用服務器612-616之一的應用服務器時,用適當的簡檔來啟動Java 虛擬機實例。構建虛擬機實例的類路徑,該類路徑首先包含來自version delta_6. 1. 0. 25的文件、然后是來自version_delta_6. 1. 0. 0.的文件。如果需要的話,一些狀態數據文件,例如在特性子目錄中的那些可以整體被復制,使得它們是一致的。可以結合特定增量文件來開始具體簡檔。用基本簡檔,或可能的用另一增量文件,來回填企業應用服務器運行時刻。以此方式,保存了在企業應用服務器的先前版本上以及在后的版本上運行簡檔的能力,而不必完整地復制所有文件。圖9是示意地圖示根據例示實施例的企業應用服務器升級、補丁或修復包的安裝的方框圖。處理900是在諸如圖6的簡檔管理器634的軟件組件上執行的軟件處理。處理900通過啟動用于安裝升級的版本的安裝器而開始(步驟902)。確定升級是否是里程碑式升級(步驟904)。響應于確定該升級是里程碑式升級(步驟904中的是), 安裝該升級,同時維持由該升級更新的所有先前版本的文件(步驟906)。響應于確定該升級不是里程碑式升級(步驟904中的”否”輸出),安裝該升級,以便通過用升級版本的文件來替換先前版本的文件來升級WAS的整個系統(步驟908)。圖10是示意地圖示根據例示實施例的由運行時刻環境選擇系統版本的方法的流程圖。處理1000是軟件方法,在諸如圖6的簡檔管理器634的軟件處理上執行。處理1000 假設在簇中的每個節點已安裝了相同更新安裝器包,且以一致的方式安裝了那些包。因此, 如果現有的簡檔工具被增強以更新在簡檔和運行時刻之間的關聯,且使用節點代理向所有節點推出,則可以容易地進行該關聯。例如在簡檔\AppSrv01\config\cells\cellName\ nodes\nodeName\runtime version, xml 巾白勺f 牛^1 弓I入處理1000通過啟動該簡檔而開始(步驟100 。處理1000使得用戶接口能夠在特定版本級別處設置在簡檔和運行時刻服務器實例之間的關聯(步驟1004)。處理1000標識應該使用企業應用服務器的哪個版本來滿足請求(步驟1006)。處理1000基于諸如圖6的簡檔標識符636的簡檔標識符來進行標識。構造包含來自所選版本的文件的類路徑,并用來自先前版本的任何需要文件來回填它(步驟1008)。例如,由簡檔標識符指示版本6. 1. 0. 25。然后,使用版本-基本-6. 1. 0. 0用未包含在版本6. 1. 0. 25 中的任意需要文件來回填版本6. 1. 0. 25。啟動所需的版本(步驟1010),然后該處理終止。因此例示實施例提供用于構建系統的運行時刻環境的計算機實現的方法、有形存儲介質和數據處理系統。簡檔管理器接收包含簡檔標識符的服務請求。簡檔標識符指定至少一個軟件組件的所需版本。簡檔管理器標識軟件組件的完整安裝和至少一個增量文件。簡檔管理器通過優選地利用來自至少一個增量文件的文件、然后利用來自完整安裝的文件,來動態地構造所需版本的類路徑。然后,利用類路徑來構建運行時刻環境。例示實施例提供應用/簡檔在運行時刻期間選擇運行時刻環境版本的計算機實現的方法、系統和計算機程序產品。根據例示實施例,企業應用服務器修復包升級類似于虛擬安裝的功能,且不整體升級企業應用服務器版本。相反,在升級之后在系統中應該存在當前版本和新的版本兩者,以便在應用啟動或簡檔啟動階段期間可以選擇任一版本。根據另一例示實施例,包括基本版本和升級的版本的不同運行時刻版本被保持在系統中,且基于運行時刻選擇而動態地被加載。可以通過簡檔管理器工具,或通過編輯在簡檔的頂部處的某一部署描述符,來進行簡檔與運行時刻環境的匹配。在節點簇的每個節點上的對應簡檔可能需要匹配在簇的每個節點上的對應的運行時刻版本。附圖中的流程圖和框示了根據本發明各種實施例的系統、方法和計算機程序產品的可能實現的架構、功能和操作。在這一點上,所述流程圖或框圖中的每個塊可以代表包括用于實現指定邏輯功能的一個或多個可執行指令的模塊、片段或部分代碼。還應當注意在某些替換實現中,在塊中標注的功能可以不按照圖中標注的順序進行。例如,連續示出的兩個塊實際上可以基本上同時執行,或者根據所涉及的功能,所述塊有時候可以按照相反的順序執行。還將注意,所述框圖和/或流程圖示的每個塊、以及所述框圖和/或流程圖示中的塊的組合可以通過執行指定的功能或動作的基于專用硬件的系統、或者專用硬件和計算機指令的組合來實現。在這里使用的術語僅僅是為了描述特定實施例的目的,并且并非意圖限制本發明。如在這里使用的,單數形式“一”意圖是也包括復數形式,除非上下文明確指出其它情形。還將理解,當在本說明書中使用時,術語“包括”和/或“包含”指定所述特征、整數、步驟、操作、元件和/或組件的存在,但是不排除一個或多個其他特征、整數、步驟、操作、元件、組件和/或它們的組的存在或附加。下面的權利要求中的對應結構、材料、動作和所有部件或步驟加功能元素的等效物意圖是包括與如具體要求保護的其它要求保護的元素組合而執行所述功能的任何結構、 材料或動作。對本發明的描述被提供用于說明和描述的目的,而并非意圖窮盡性的或者以所公開的形式限制于本發明。很多修改和變化對于本領域普通技術人員來說將是顯而易見的,而不背離本發明的范圍和精神。選擇和描述所述實施例,以便最佳地解釋本發明的原理和實際應用,并且使得本領域其他普通技術人員能夠對于適合于所構想的特定用途的具有各種修改的各種實施例而理解本發明。本發明可以采取完全硬件實施例、完全軟件實施例或包含硬件和軟件元素兩者的實施例的形式。在優選實施例中,本發明以軟件實現,其包括但不限于固件、駐留軟件、微代碼等。另外,本發明可以采取可從提供程序代碼用于由或結合計算機或任何指令執行系統使用的計算機可用或計算機可讀介質存取的計算機程序產品的形式。為了描述的目的, 計算機可用或計算機可讀介質可以是可以包含、存儲、通信、傳播或傳輸由或結合指令執行系統、裝置或設備使用的程序的任意有形裝置。介質可以是電、磁、光、電磁、紅外或半導體系統(裝置或設備)或傳播介質。計算機可讀介質的例子包括半導體或固態存儲器、磁帶、可移除計算機碟、隨機存取存儲器 (RAM)、只讀存儲器(ROM)、固態磁盤和光盤。光盤的當前例子包括緊致盤-只讀存儲器 (CD-ROM)、緊致盤-讀 / 寫(CD-R/W)和 DVD。適用于存儲和/或執行程序代碼的數據處理系統將包括直接或通過系統總線而間接耦合于存儲器元件的至少一個處理器。存儲器元件可以包括在實際執行程序代碼期間使用的本地存儲器、大容量存儲器和提供至少一些程序代碼的臨時存儲以便在執行期間減少必須從大容量存儲器提取代碼的次數的高速緩存存儲器。輸入/輸出或I/O設備(包括但不限于鍵盤、顯示器、指示設備等)可以直接耦合于該系統,或通過中間的I/O控制器而耦合于該系統。網絡適配器還可以耦合于該系統以使得數據處理系統能夠變得通過中間的私人或公共網絡而耦合于其他數據處理系統或遠程打印機或存儲設備。調制解調器、電纜調制解調器和以太網卡僅是當前可用的網絡適配器類型中的一些。已經為了圖示和描述的目的而呈現了本發明的描述,但不意圖窮舉或將本發明限制為所公開的形式。許多修改和改變對于本領域技術人員將是顯然的。選擇并描述實施例以便最佳地說明本發明的原理和實際的應用,以從而使得本領域其他技術人員能夠理解本發明的具有適合于所構思的特定用途的各種修改的各個實施例。
            權利要求
            1.一種用于構建系統的運行時刻環境的計算機實現的方法,該方法包括通過處理器接收包含簡檔標識符的服務請求,其中,所述簡檔標識符指定至少一個軟件組件的所需版本;通過處理器標識軟件組件的完整安裝和至少一個增量文件;通過處理器,通過優選地利用來自至少一個增量文件的文件、然后利用來自完整安裝的文件,來構造所需版本的類路徑;以及通過處理器來構建利用類路徑的運行時刻環境。
            2.根據權利要求1的方法,其中,至少一個增量文件進一步包括第一增量文件和第二增量文件,其中,所述第一增量文件是對完整安裝的較早更新,且其中,所述第二增量文件是對完整安裝的隨后更新,其中,通過優選地利用來自至少一個增量文件的文件、然后利用來自完整安裝的文件來動態地構造所需版本的類路徑的步驟還包括通過處理器應用在第二增量文件中的文件和目錄;通過處理器,響應于應用在第二增量文件中的文件和目錄,應用在第一增量文件中的文件和目錄;以及響應于應用在第一增量文件中的文件和目錄,通過處理器應用在完整安裝中的文件和目錄。
            3.根據權利要求1的方法,其中,所述運行時刻環境包括系統中的多個運行時刻環境之一,在面向對象程序虛擬機的分離實例中實現每個運行時刻環境。
            4.根據權利要求3的方法,其中,多個運行時刻環境之一使用至少一個增量文件中的不同文件,以便多個運行時刻環境中的運行時刻環境具有其自己的配置文件、日志和特性。
            5.根據權利要求1的方法,其中,運行時刻環境包括面向對象的程序代碼運行時刻環境,并且其中,通過邏輯地將多個面向對象的程序代碼軟件組件中的任意軟件組件與在所需的版本的用戶簡檔中指定的面向對象的程序代碼類重疊來指定類路徑,并且其中,在服務請求中的簡檔標識符指定所需的面向對象的程序代碼類版本。
            6.根據權利要求1的方法,其中,所述簡檔標識符指定用于邏輯地重疊軟件組件的完整安裝和至少一個增量文件的安排層次。
            7.根據權利要求1的方法,其中,軟件組件的完整安裝是企業應用服務器的完整安裝。
            8.一種用于升級軟件組件的計算機實現的方法,該方法包括通過處理器來接收軟件組件的升級;響應于接收軟件組件的升級,通過處理器來標識該升級是里程碑式升級還是非里程碑式升級;響應于標識該升級是非里程碑式升級,通過處理器用非里程碑式升級的新文件和目錄來替換軟件組件的文件和目錄;以及響應于標識該升級是里程碑式升級,通過處理器來安裝包括非里程碑式升級的新文件和目錄的里程碑式升級,并維持軟件組件的文件和目錄的先前版本,包括由非里程碑式升級的新文件和目錄替換的文件和目錄。
            9.根據權利要求8的方法,其中,所述里程碑式更新被存儲為增量文件,其中,所述增量文件是軟件補丁或更新,其包含要對軟件組件頒布的至少一個改變。
            10.根據權利要求8的方法,還包括通過處理器接收包含簡檔標識符的服務請求,其中,所述簡檔標識符指定軟件組件的所需版本;通過處理器,通過優選地利用來自增量文件的文件、然后利用來自軟件組件的完整安裝的文件,來構造所需版本的類路徑;以及通過處理器利用類路徑來構建軟件組件的運行時刻環境。
            11.根據權利要求10的方法,其中,所述軟件組件是企業應用服務器。
            12.—種計算機程序,包括程序代碼,可存儲在計算機可記錄存儲介質上,該程序代碼在由處理器執行時進行權利要求1到11中的任一的步驟。
            13.一種數據處理系統,包括存儲單元,具有用于構建在其上編碼的系統的運行時刻環境的指令; 總線系統,將所述存儲單元連接到處理器;以及處理器,其中,所述處理器執行指令以進行權利要求1到11的任一個的步驟。
            全文摘要
            一種構建系統的運行時刻環境的計算機實現的方法、有形存儲介質和數據處理系統。簡檔管理器接收包含簡檔標識符的服務請求。簡檔標識符指定至少一個軟件組件的所需版本。簡檔管理器標識軟件組件的完整安裝和至少一個增量文件。簡檔管理器通過優選地利用來自至少一個增量文件的文件、然后利用來自完整安裝的文件,來動態地構造所需版本的類路徑。然后,利用類路徑來構建運行時刻環境。
            文檔編號G06F9/445GK102422266SQ201080020706
            公開日2012年4月18日 申請日期2010年5月11日 優先權日2009年5月13日
            發明者D.尚穆加姆, P.D.加拉加里, S.布羅薩德 申請人:國際商業機器公司
            網友詢問留言 已有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久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品