亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微服務(wù)構(gòu)建模型的應(yīng)用系統(tǒng)增量更新算法

        2018-03-13 05:18:55徐亮亮
        關(guān)鍵詞:差異服務(wù)模型

        黃 林,楊 軍,徐亮亮

        (華北計(jì)算技術(shù)研究所基礎(chǔ)四部,北京 100083)

        0 引 言

        “微服務(wù)+微應(yīng)用”架構(gòu)[1-4]是近年興起的新型應(yīng)用系統(tǒng)構(gòu)建模型,具有架構(gòu)靈活、高內(nèi)聚、低耦合、有效支持DevOps[5](開(kāi)發(fā)運(yùn)維一體化)等新型特征,是有效響應(yīng)需求靈活多變的新型軟件架構(gòu)模式,在互聯(lián)網(wǎng)企業(yè)中得到了廣泛應(yīng)用。

        應(yīng)用系統(tǒng)與完全自由的互聯(lián)網(wǎng)應(yīng)用相比,除了響應(yīng)用戶的修改需求,還具備較多的集中管理功能,往往需要以應(yīng)用系統(tǒng)而非一堆零散的APP形式發(fā)布,經(jīng)常要求在特定時(shí)間集中完成系統(tǒng)全面更新任務(wù),集中更新將會(huì)對(duì)后臺(tái)部署服務(wù)器造成集中式壓力,同時(shí)會(huì)在網(wǎng)絡(luò)上造成大量的應(yīng)用下載流量,這些都需要有創(chuàng)新的系統(tǒng)升級(jí)方法。

        增量升級(jí)已有一些算法被廣泛應(yīng)用,比如Bsdiff算法[6]、Xdelta3算法[7]等,但是這些算法通常只應(yīng)用于單個(gè)應(yīng)用的增量升級(jí),在對(duì)大型的應(yīng)用系統(tǒng)進(jìn)行增量升級(jí)時(shí)效率低下,當(dāng)網(wǎng)絡(luò)環(huán)境不好時(shí),整體更新時(shí)間過(guò)長(zhǎng),容易超時(shí)導(dǎo)致更新失敗,應(yīng)用系統(tǒng)發(fā)生頻繁更新時(shí),應(yīng)用系統(tǒng)更新的塊會(huì)比較集中。如何高效查找有差異的更新塊也是急需解決的問(wèn)題。

        本文針對(duì)大型應(yīng)用系統(tǒng)提出一種基于微服務(wù)構(gòu)建模型的應(yīng)用系統(tǒng)增量更新算法ASIUpdate(Application System Increment Update),通過(guò)細(xì)粒度分層次的系統(tǒng)劃分,利用二分法有效地將大型應(yīng)用系統(tǒng)進(jìn)行分解,有利于準(zhǔn)確增量更新,提高增量升級(jí)效率。一般情況下,程序修改是局部性的,版本的升級(jí)只會(huì)影響其中的一部分,大型系統(tǒng)進(jìn)行分解后,每個(gè)局部會(huì)變得很小,增量升級(jí)的對(duì)象也很小,效率會(huì)提升很快。利用空間局部性原理[8],采用標(biāo)記每次發(fā)生變化的功能塊的方法,減少頻繁更新時(shí)查找塊的時(shí)間。

        1 應(yīng)用系統(tǒng)功能構(gòu)成及其構(gòu)建模型

        1.1 應(yīng)用系統(tǒng)構(gòu)成

        一個(gè)功能完善、實(shí)用、擴(kuò)展性良好的應(yīng)用系統(tǒng)[9]按照職能管理劃分應(yīng)該包括以下7個(gè)子系統(tǒng)(如圖1所示):生產(chǎn)管理子系統(tǒng)、供應(yīng)管理子系統(tǒng)、市場(chǎng)銷(xiāo)售子系統(tǒng)、財(cái)務(wù)管理子系統(tǒng)、人力資源子系統(tǒng)、設(shè)備管理子系統(tǒng)、高層決策子系統(tǒng)。

        圖1 應(yīng)用系統(tǒng)構(gòu)成

        1.2 基于微服務(wù)的應(yīng)用系統(tǒng)構(gòu)建模型

        典型的應(yīng)用系統(tǒng)EAI構(gòu)建模型[10]包含應(yīng)用集成框架、圖形化集成開(kāi)發(fā)工具、流程管理器、監(jiān)控管理工具、統(tǒng)計(jì)分析工具等組件,其模型結(jié)構(gòu)如圖2所示。

        圖2 應(yīng)用系統(tǒng)EAI模型

        應(yīng)用系統(tǒng)EAI模型不利于細(xì)粒度地對(duì)應(yīng)用系統(tǒng)進(jìn)行區(qū)塊劃分,而基于微服務(wù)的應(yīng)用系統(tǒng)構(gòu)建模型,通過(guò)細(xì)粒度分層次的系統(tǒng)劃分,可有效地解決大型應(yīng)用系統(tǒng)的復(fù)雜性。本文基于微服務(wù)架構(gòu)的應(yīng)用系統(tǒng),結(jié)合傳統(tǒng)的CS架構(gòu)模型可分為服務(wù)端和客戶端進(jìn)行描述:

        1)服務(wù)端。如圖3所示,業(yè)務(wù)系統(tǒng)下包含云服務(wù),云服務(wù)下包含微服務(wù),微服務(wù)再是服務(wù)集群。

        圖3 服務(wù)端

        服務(wù)端將微服務(wù)進(jìn)行分組,每組微服務(wù)對(duì)應(yīng)多個(gè)微應(yīng)用構(gòu)成云服務(wù),微應(yīng)用[11]針對(duì)同業(yè)務(wù)開(kāi)發(fā)小型系統(tǒng),提供更靈活、更個(gè)性化、更快速響應(yīng)、更具可擴(kuò)展性的服務(wù),也更方便第三方開(kāi)發(fā)商的接入。這些微服務(wù)運(yùn)行在服務(wù)集群上,而這種云[12]是基于“云計(jì)算”[13-14]技術(shù),通過(guò)使用計(jì)算分布在大量的分布式[15-17]計(jì)算機(jī)上,而非本地計(jì)算機(jī)或遠(yuǎn)程服務(wù)器中,實(shí)現(xiàn)各種終端設(shè)備之間的互聯(lián)互通。用戶享受的所有資源、所有應(yīng)用程序全部都由一個(gè)存儲(chǔ)和運(yùn)算能力超強(qiáng)的云端后臺(tái)來(lái)提供。服務(wù)集群則是將很多服務(wù)器集中起來(lái)一起進(jìn)行同一種服務(wù),在客戶端看來(lái)就像是只有一臺(tái)服務(wù)器,集群可以利用多個(gè)計(jì)算機(jī)進(jìn)行并行計(jì)算從而獲得很高的計(jì)算速度,也可以用多個(gè)計(jì)算機(jī)做備份,從而使得任何一個(gè)機(jī)器出現(xiàn)了故障整個(gè)系統(tǒng)還是能正常運(yùn)行。

        2)客戶端。如圖4所示,業(yè)務(wù)系統(tǒng)下包含子系統(tǒng),子系統(tǒng)下包含應(yīng)用,應(yīng)用表現(xiàn)為二進(jìn)制文件。

        圖4 客戶端

        客戶端以子系統(tǒng)的形式展現(xiàn)給用戶,這里的端為客戶提供本地服務(wù)的程序,除了一些只在本地運(yùn)行的應(yīng)用程序之外,一般安裝在普通的客戶機(jī)上,需要與服務(wù)端互相配合運(yùn)行。而子系統(tǒng)則是包含很多應(yīng)用的一個(gè)集合。子系統(tǒng)的行為由它所包含的應(yīng)用提供,子系統(tǒng)實(shí)現(xiàn)一個(gè)或多個(gè)接口,這些接口定義子系統(tǒng)可以執(zhí)行的行為。

        服務(wù)端和客戶端可以用集合來(lái)表示:

        S={CS1, CS2, CS3, …, CSn}

        CS={a1, a2, a3, …, an}

        其中:S表示整個(gè)應(yīng)用系統(tǒng)由子系統(tǒng)CS1, CS2, CS3, …, CSn構(gòu)成的集合,單個(gè)子系統(tǒng)CS也是集合,由應(yīng)用a1, a2, a3, …, an組合而成。

        基于微服務(wù)的應(yīng)用系統(tǒng)構(gòu)建模型有利于對(duì)應(yīng)用系統(tǒng)進(jìn)行合理的區(qū)塊劃分,方便拆分成塊進(jìn)行增量更新。

        2 應(yīng)用系統(tǒng)版本增量升級(jí)算法與實(shí)現(xiàn)

        一個(gè)大型復(fù)雜軟件應(yīng)用拆分成多個(gè)微服務(wù)組成,系統(tǒng)中的各個(gè)微服務(wù)可被獨(dú)立部署,各個(gè)微服務(wù)之間是松耦合的,每個(gè)微服務(wù)僅關(guān)注于完成一件任務(wù)并很好地完成該任務(wù),在所有情況下,每個(gè)任務(wù)代表著一個(gè)小的業(yè)務(wù)能力。ASIUpdate算法經(jīng)過(guò)對(duì)基于微服務(wù)應(yīng)用系統(tǒng)構(gòu)建模型,將應(yīng)用系統(tǒng)進(jìn)行細(xì)粒度的分層區(qū)塊劃分,拆分成多個(gè)子系統(tǒng),再對(duì)子系統(tǒng)進(jìn)行拆分成多個(gè)應(yīng)用,通過(guò)外置描述文件找出差異的應(yīng)用,最后對(duì)差異應(yīng)用采用增量升級(jí)算法,通過(guò)外置描述文件記錄各區(qū)塊及分層的詳細(xì)信息,有利于適宜地使用差分算法。

        當(dāng)應(yīng)用系統(tǒng)發(fā)生頻繁的版本更新時(shí),應(yīng)用系統(tǒng)更新的塊會(huì)比較集中,在查找有差異的更新塊的過(guò)程中,根據(jù)空間局部性原理,當(dāng)應(yīng)用系統(tǒng)的某一塊發(fā)生更新時(shí),在下一個(gè)版本中,其附近的塊也會(huì)很快發(fā)生更新,將每次發(fā)生更新的塊記錄到外置描述文件中,有利于下一次更新更快地找出差異的塊。

        Bsdiff算法是對(duì)整個(gè)二進(jìn)制大文件進(jìn)行無(wú)差別的二進(jìn)制比對(duì),而本文所采用的基于微服務(wù)應(yīng)用系統(tǒng)構(gòu)建模型的ASIUpdate算法,先通過(guò)二分法將大型系統(tǒng)進(jìn)行大塊分層次分解,然后對(duì)分解后的小塊做比對(duì)。

        2.1 ASIUpdate算法原理

        圖5 ASIUpdate算法的原理

        圖5所示為ASIUpdate算法原理:圖5(a)是舊版本的應(yīng)用系統(tǒng),包含4個(gè)子系統(tǒng)(每種顏色代表的區(qū)域代表一個(gè)子系統(tǒng)),每個(gè)子系統(tǒng)都包含多個(gè)應(yīng)用(每一個(gè)小方塊代表一個(gè)應(yīng)用);圖5(b)是新版本的應(yīng)用系統(tǒng),與舊版本應(yīng)用系統(tǒng)的區(qū)別在于有3個(gè)子系統(tǒng)都各有一個(gè)應(yīng)用(白色區(qū)域)有版本更新;圖5(c)和圖5(d)為舊版本與新版本應(yīng)用ASIUpdate算法先找出各個(gè)子系統(tǒng)中不同MD5值對(duì)應(yīng)的塊,即有更新的應(yīng)用,然后對(duì)這些塊進(jìn)行差值處理,從而產(chǎn)生整個(gè)應(yīng)用系統(tǒng)新舊版本之間的差異包;圖5(e)為舊版本和新版本即對(duì)新舊版本系統(tǒng)各個(gè)子系統(tǒng)中差異的應(yīng)用采用Bsdiff算法生成差異包patch;圖5(f)則是最終對(duì)整個(gè)系統(tǒng)進(jìn)行差異產(chǎn)生的系統(tǒng)差異包,其大小只包含有差異應(yīng)用的差異包大小之和,即圖5(f)中有色的塊大小,最終的升級(jí)只需下載該差異包與舊版本的應(yīng)用進(jìn)行結(jié)合產(chǎn)生新的差異包進(jìn)行升級(jí),而無(wú)需下載圖5(b)中整個(gè)新版本應(yīng)用系統(tǒng)。

        2.2 ASIUpdate算法及實(shí)現(xiàn)

        ASIUpdate算法主要分為6步,具體步驟如圖6所示。

        圖6 ASIUpdate算法流程

        1)劃分系統(tǒng)。將系統(tǒng)以不同的功能模塊按照基于微服務(wù)的應(yīng)用系統(tǒng)構(gòu)建模型進(jìn)行劃分為相應(yīng)的子系統(tǒng)branchSystem[],從而達(dá)到實(shí)用、擴(kuò)展性好的效果。

        2)找出差異子系統(tǒng)。通過(guò)外置的描述文件(如MD5)值,找出差異的子系統(tǒng)。

        3)劃分子系統(tǒng)。將子系統(tǒng)再利用基于微服務(wù)的應(yīng)用系統(tǒng)構(gòu)建模型劃分應(yīng)用app[],每個(gè)子系統(tǒng)里面的應(yīng)用都有類(lèi)似的功能或者屬于同種類(lèi)型。

        4)找出有差異的應(yīng)用。以區(qū)塊劃分的機(jī)制,通過(guò)外置的描述文件(如MD5)值,而非生硬地作二進(jìn)制比較,找出有版本差異的應(yīng)用diffApp[]。

        5)處理差異的應(yīng)用。對(duì)應(yīng)用采用單元級(jí)增量算法,生成差異包。

        6)合并成子系統(tǒng)差異包。將有差異的子系統(tǒng)中應(yīng)用差異包按同一層合并成子系統(tǒng)差異包,并將有差異的塊記錄到子系統(tǒng)的外置描述文件中,方便下次更新采用局部性原理。

        7)合并成應(yīng)用系統(tǒng)。將子系統(tǒng)差異包再按同一層合并成應(yīng)用系統(tǒng)差異包。

        上述應(yīng)用系統(tǒng)增量升級(jí)算法的關(guān)鍵在于通過(guò)描述文件的信息快速定位到有版本差異的子系統(tǒng),然后通過(guò)描述文件對(duì)應(yīng)用信息的記錄,找出有變動(dòng)的應(yīng)用,對(duì)這些有變動(dòng)的應(yīng)用采用差值算法生成差異包。

        在步驟4、步驟5中關(guān)鍵算法的偽代碼實(shí)現(xiàn)如下:

        diff(oldApps, newApps, patchApps){

        for i←0 to oldApps.len do

        begin

        if oldApps[i].MD5 <> newApps[i].MD5 then

        Diff.gendiff(oldApps[i].path, newApps[i].path, patchApps[i].path);

        end;

        }

        3 實(shí)驗(yàn)驗(yàn)證與測(cè)試分析

        3.1 ASIUpdate算法效率分析

        時(shí)間效率上相對(duì)于整體差異的效率提升百分比為t。

        3.2 對(duì)比測(cè)試

        1)傳統(tǒng)的應(yīng)用系統(tǒng)全部重裝的算法;

        2)應(yīng)用系統(tǒng)整體Bsdiff的算法;

        3)本文實(shí)現(xiàn)的ASIUpdate算法。

        3.3 測(cè)試方法

        同樣的應(yīng)用系統(tǒng)發(fā)布的2個(gè)版本,新版本比舊版本只有較微小的改動(dòng),只涉及少量的應(yīng)用有變化。與Bsdiff算法作比較的原因在于其對(duì)單個(gè)文件進(jìn)行增量升級(jí)應(yīng)用廣泛,比較的核心點(diǎn)在大型應(yīng)用系統(tǒng)整個(gè)增量升級(jí)過(guò)程中的效率和時(shí)間上。

        測(cè)量指標(biāo)有:

        1)系統(tǒng)更新時(shí)間:客戶端日志記錄。

        2)網(wǎng)絡(luò)傳輸量:使用網(wǎng)絡(luò)監(jiān)控工具。

        實(shí)驗(yàn)平臺(tái)是利用Java開(kāi)發(fā)環(huán)境與Eclipse集成開(kāi)發(fā)環(huán)境,與平臺(tái)無(wú)關(guān)。

        3.4 比對(duì)測(cè)試結(jié)果

        子系統(tǒng)中應(yīng)用程序包大小的實(shí)驗(yàn)數(shù)據(jù)如表1所示,柱狀圖如圖7所示。

        表1 應(yīng)用新舊版本及差異包大小 /MB

        名稱(chēng)舊版本大小新版本大小差異包大小APACHE_TOMCAT_Noarch_325.88.04AGENT_BASE_Noarch_3223230.149JAVA_JDK_Noarch_32138168163

        圖7 應(yīng)用新舊版本及差異包大小對(duì)比

        從圖7的數(shù)據(jù)中可以看出patch包相對(duì)于新版本包大大減小。

        系統(tǒng)整體采用Bsdiff與本文的部分差異算法ASIUpdate消耗的時(shí)間的實(shí)驗(yàn)數(shù)據(jù)如表2所示,對(duì)比柱狀圖如圖8所示。

        表2 系統(tǒng)整體Bsdiff與部分差異算法ASIUpdate消耗時(shí)間 /ms

        名稱(chēng)全量Bsdiff算法消耗的時(shí)間ATUPdating算法消耗的時(shí)間APACHE_TOMCAT_Noarch_322600026500AGENT_BASE_Noarch_322400400JAVA_JDK_Noarch_329800099800

        圖8 系統(tǒng)整體BsDiff與部分差異算法ASIUpdate消耗時(shí)間對(duì)比

        從圖8的數(shù)據(jù)中可以看出,當(dāng)拆分的塊有更新時(shí),本文實(shí)現(xiàn)的部分差異算法ASIUpdate消耗的時(shí)間比系統(tǒng)整體BsDiff消耗的時(shí)間略大,但是沒(méi)有變化的塊基本不消耗時(shí)間,對(duì)于一組微服務(wù)整體的升級(jí)過(guò)程中,往往只有某些塊發(fā)生變化,大大縮短了增量升級(jí)過(guò)程的時(shí)間。

        全量升級(jí)與增量升級(jí)所消耗的時(shí)間實(shí)驗(yàn)數(shù)據(jù)如表3所示,對(duì)比柱狀圖如圖9所示。

        表3 全量升級(jí)與增量升級(jí)所消耗的時(shí)間實(shí)驗(yàn)數(shù)據(jù) /ms

        名稱(chēng)全量Bsdiff算法消耗的時(shí)間ATUPdating算法消耗的時(shí)間APACHE_TOMCAT_Noarch_321000600AGENT_BASE_Noarch_3220000JAVA_JDK_Noarch_32160008000

        圖9 全量升級(jí)與增量升級(jí)所消耗的時(shí)間實(shí)驗(yàn)數(shù)據(jù)對(duì)比

        從圖9的數(shù)據(jù)中可以得出,增量升級(jí)相對(duì)于全量升級(jí)消耗的時(shí)間顯著降低。

        實(shí)驗(yàn)數(shù)據(jù)的結(jié)果表明:本文提出的應(yīng)用系統(tǒng)級(jí)更新算法ASIUpdate,可以有效提升效率。

        4 結(jié)束語(yǔ)

        本文提出的基于微服務(wù)構(gòu)建模型的應(yīng)用系統(tǒng)增量更新算法ASIUpdate,對(duì)大型應(yīng)用系統(tǒng)進(jìn)行塊級(jí)更新,采用空間局部性原理,通過(guò)外置描述文件記錄塊的詳細(xì)信息,測(cè)試數(shù)據(jù)表明,可有效解決大型應(yīng)用系統(tǒng)更新過(guò)程中的單一升級(jí)不穩(wěn)定性問(wèn)題,有效降低數(shù)據(jù)傳輸量、顯著提升系統(tǒng)更新速度,尤其在系統(tǒng)頻繁更新的情況下,可快速找到有差異的塊,對(duì)于大型應(yīng)用系統(tǒng)快速迭代更新、系統(tǒng)快速生成起到有效的技術(shù)支撐作用。

        [1] Lewis J, Fowler M. Microservices[EB/OL]. https://www.martinfowler.com/articles/microservices.html, 2014-03-25.

        [2] 米沃奇. 深度剖析微服務(wù)架構(gòu)的九大特征[J]. 電腦知識(shí)與技術(shù):經(jīng)驗(yàn)技巧, 2016(10):105-110.

        [3] Walraven S, Truyen E,Joosen W. Comparing PaaS offerings in light of SaaS development[J]. Computing, 2014,96(8):669-724.

        [4] 郭棟,王偉,曾國(guó)蓀. 一種基于微服務(wù)架構(gòu)的新型云件PaaS平臺(tái)[J]. 信息網(wǎng)絡(luò)安全, 2015(11):15-20.

        [5] 鄒筱菁,柯林. 基于DevOps的軟件開(kāi)發(fā)管理模式[J]. 數(shù)字技術(shù)與應(yīng)用, 2016(11):184-187.

        [6] Stolikj M, Cuijpers P J L, Lukkien J J. Efficient reprogramming of wireless sensor networks using incremental updates and data compression[C]// 2013 IEEE International Conference on Pervasive Computing and Communications Workshops(PERCOM Workshops). 2012:584-589.

        [7] 夏棋. 移動(dòng)互聯(lián)網(wǎng)增量數(shù)據(jù)差分更新算法研究[D]. 成都:電子科技大學(xué), 2014.

        [8] 劉巍. 基于空間局部性的PCM和DRAM混合內(nèi)存頁(yè)面調(diào)度算法[J]. 中國(guó)科技論文, 2014,9(1):53-57.

        [9] 趙琳,張黎明. 基于SOA架構(gòu)的企業(yè)應(yīng)用系統(tǒng)研究[J]. 太原理工大學(xué)學(xué)報(bào), 2007,38(6):535-539.

        [10] 過(guò)立新. 一種新型企業(yè)應(yīng)用系統(tǒng)EAI模型的構(gòu)建[J]. 電子科技, 2006(11):72-76.

        [11] 《中國(guó)金融電腦》編輯部. PWorld2015:聚焦互聯(lián)網(wǎng)+,助力“大平臺(tái)+微應(yīng)用”[J]. 中國(guó)金融電腦, 2015(7):96.

        [12] 陳全,鄧倩妮. 云計(jì)算及其關(guān)鍵技術(shù)[J]. 計(jì)算機(jī)應(yīng)用, 2009,29(9):2562-2567.

        [13] 王意潔,孫偉東,周松,等. 云計(jì)算環(huán)境下的分布存儲(chǔ)關(guān)鍵技術(shù)[J]. 軟件學(xué)報(bào), 2012,23(4):962-986.

        [14] 盧小賓,王濤. Google三大云計(jì)算技術(shù)對(duì)海量數(shù)據(jù)分析流程的技術(shù)改進(jìn)優(yōu)化研究[J]. 圖書(shū)情報(bào)工作, 2015,59(3):6-11.

        [15] 魏青松. 大規(guī)模分布式存儲(chǔ)技術(shù)研究[D]. 成都:電子科技大學(xué), 2004.

        [16] 劉亞. 基于MooseFS分布式存儲(chǔ)策略的研究與實(shí)現(xiàn)[D]. 濟(jì)南:山東大學(xué), 2015.

        [17] 吳思. 容錯(cuò)分布式存儲(chǔ)系統(tǒng)擴(kuò)容機(jī)制研究[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué), 2016.

        猜你喜歡
        差異服務(wù)模型
        一半模型
        相似與差異
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        找句子差異
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        生物為什么會(huì)有差異?
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        精品黑人一区二区三区久久hd| 精品国产黑色丝袜高跟鞋| 亚洲AV无码久久久一区二不卡| av蜜桃视频在线观看| 国产自拍精品在线免费观看| 香港aa三级久久三级| 999久久久免费精品国产| 音影先锋色天堂av电影妓女久久| 国产自拍视频一区在线| 奇米影视色777四色在线首页| 亚洲第一无码xxxxxx| 国产精品一区二区久久乐下载| 国产成人亚洲精品青草天美| 国产精品久久久久久久成人午夜| 欧美亚洲日韩国产人成在线播放| 久久麻传媒亚洲av国产| 人禽交 欧美 网站| 亚洲在AV极品无码天堂手机版 | 国产成人亚洲合集青青草原精品| 国产91久久精品成人看网站| 99在线精品免费视频| 成人亚洲性情网站www在线观看| 久久久www成人免费无遮挡大片| 在线国产丝袜自拍观看| 又粗又大又硬毛片免费看| 久久AV老司机精品网站导航| 亚洲av影片一区二区三区| 国产夫妻自拍视频在线播放| 东北女人啪啪对白| 海角国精产品一区一区三区糖心| 亚洲人成网站久久久综合| 亚洲午夜经典一区二区日韩| 无码人妻丰满熟妇区五十路 | 人妻少妇一区二区三区| 射进去av一区二区三区| 成人做爰69片免费看网站野花| 国产精品 视频一区 二区三区| 蜜桃视频中文字幕一区二区三区 | 国产农村三片免费网站| 麻豆成人久久精品二区三区免费| 亚洲av成人片色在线观看高潮|