• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向Spring的熱點代碼在線部署方法研究

    2023-05-19 07:51:06萬嘉龍況立群熊風光薛紅新
    計算機技術(shù)與發(fā)展 2023年5期
    關(guān)鍵詞:復(fù)雜度代碼容器

    萬嘉龍,況立群,熊風光,薛紅新,韓 燮

    (中北大學(xué) 大數(shù)據(jù)學(xué)院,山西 太原 030051)

    0 引 言

    隨著業(yè)務(wù)不斷變更和功能持續(xù)迭代,人們對軟件更新方式的要求越來越高。個人的開發(fā)經(jīng)驗、團體的技術(shù)積累以及需求的不斷變化,都會增加軟件部署的復(fù)雜度和風險。在實際開發(fā)中,項目集成以及組件的更新會消耗大量的時間,并且存在眾多潛在風險,往往等到項目開發(fā)結(jié)束的時候,才可能發(fā)現(xiàn)這些問題,最終可能導(dǎo)致項目延期。持續(xù)集成與部署可以使項目實施過程透明化,進而完善開發(fā)結(jié)構(gòu),改進開發(fā)質(zhì)量,降低交付風險[1]。隨著國家數(shù)字化進程的推進,越來越多的項目采用這種開發(fā)方式,持續(xù)集成在應(yīng)用系統(tǒng)中發(fā)揮著越來越重要的作用[2]。

    傳統(tǒng)上通常使用人工干預(yù)的持續(xù)化部署模式,通過各種交互式手段完成自動化流程,以此實現(xiàn)對應(yīng)的代碼部署以及功能上線。Jenkins是一款持續(xù)集成和持續(xù)交付的開源軟件,常用于項目部署,不僅提供了直觀友好的用戶界面,而且可減少由于人工直接部署導(dǎo)致項目出現(xiàn)的系統(tǒng)兼容和版本沖突等問題[3]。但是這種方式不適用于部署頻繁改動的熱點代碼,因為這將導(dǎo)致頻繁的對整個應(yīng)用程序進行重新打包以及手工部署,由此產(chǎn)生較高的學(xué)習(xí)成本,且效率相對較低。

    目前主流的部署方式大多采用Docker等虛擬容器,其本質(zhì)上是一個內(nèi)部封裝Jenkins或與Jenkins同類插件的系統(tǒng)[4-5]。虛擬化的持續(xù)化部署方式可以減少系統(tǒng)開銷,同時增加容器化的可移植性[6-8]。如果直接將應(yīng)用部署到系統(tǒng)中,一旦系統(tǒng)環(huán)境發(fā)生變化,會引發(fā)應(yīng)用程序的運行風險。虛擬容器的部署方式降低了部署難度和部署風險,并且在代碼頻繁改動的環(huán)境下,可以提高部署效率。但是,該方式仍然需要打包部署全部應(yīng)用程序,無法僅針對局部熱點代碼進行部分編譯部署,因此沒有從根本上解決熱點代碼部署效率低下的問題。

    針對熱點代碼部署效率低下的問題,該文借鑒低代碼設(shè)計思想,提出一種面向Spring的熱點代碼在線部署方式,為專業(yè)計算機從業(yè)人員提供新穎的軟件開發(fā)部署模式,提升代碼質(zhì)量及部署效率[9-10]。該方法根據(jù)Bean容器找到對應(yīng)的算法代碼段進行數(shù)據(jù)抽取,利用在線部署的方式對代碼進行編譯、注冊及替換等操作,實現(xiàn)局部業(yè)務(wù)功能的在線更新。該方法應(yīng)用于新型智慧城市評估系統(tǒng),通過測試熱點代碼的頻繁更新迭代,驗證了在線部署模式的高效性。

    1 在線編譯的容器化加載機制

    Java的編譯分兩個部分,首先將源文件編譯成字節(jié)碼文件,然后字節(jié)碼文件被虛擬機加載以后變成機器碼[11]。對于開發(fā)者來講,主要的關(guān)注點在第一部分。在Spring的在線編譯中,應(yīng)用內(nèi)設(shè)置錨點,應(yīng)用外編譯代碼,再將指定的功能加入到應(yīng)用程序,這種在線編譯的加載機制可將代碼信息按照自定義格式加載到對應(yīng)的環(huán)境中。而容器化的機制是將編譯好的對應(yīng)代碼加入到Spring容器管理目錄,其關(guān)鍵思想是將新增的功能代碼直接加載到應(yīng)用,無需拉取所有代碼進行編譯發(fā)布[12]。

    在線編譯的容器化加載機制如圖 1所示。前臺將代碼與類名稱傳入服務(wù)端,構(gòu)成輸入?yún)?shù),將其連同程序構(gòu)建的編譯參數(shù)、輸出參數(shù)以及程序錯誤輸出參數(shù)一起傳入到JavaCompiler編譯工具類。待JavaCompiler執(zhí)行成功輸出對應(yīng)類的class文件,如果執(zhí)行失敗將在程序錯誤輸出中寫入失敗信息。容器化過程將類名稱轉(zhuǎn)化成相應(yīng)的Bean名稱并構(gòu)成Bean定義,連同class文件一起傳入Bean工廠,由Bean工廠生成相應(yīng)的Bean容器并添加至Spring容器列表。

    圖1 在線編譯的容器化加載機制

    2 熱點代碼在線部署方法

    2.1 在線部署流程

    在線部署模塊是由容器配置模塊、熱點代碼編譯模塊和容器裝載模塊組成。用戶按照定義好的格式在容器化管理列表的代碼編輯功能頁面下進行代碼編輯,并通過代碼檢查。前端將代碼信息傳輸至在線部署模塊的服務(wù)端,服務(wù)端對獲取的信息進行解析,確定符合容器定義規(guī)范后,再對代碼進行編譯并生成編譯文件。在線部署模塊將對應(yīng)的文件傳輸?shù)较到y(tǒng)指定的目錄下,通過Spring將文件注冊到Bean列表,并交由Spring進行管理,具體流程如圖 2所示。

    當應(yīng)用系統(tǒng)新增功能時,應(yīng)用系統(tǒng)首先要調(diào)用API實例化容器,然后提取相應(yīng)的屬性信息,最后由在線部署模塊將應(yīng)用數(shù)據(jù)裝入執(zhí)行單元,完成功能的調(diào)用。系統(tǒng)維護的過程中,如果目標執(zhí)行功能有變動,需要對目標執(zhí)行功能進行卸載再由在線部署模塊完成功能的新增。而在執(zhí)行功能卸載時,應(yīng)用系統(tǒng)需要通過容器化管理列表查詢Bean容器的信息,在Spring中將該容器卸載,在線部署模塊通過查找元信息中存儲的類名來刪除對應(yīng)的編譯文件,同時刪除存放的Bean信息和類文件。

    2.2 容器配置模塊

    容器配置模塊是基于當前流行的React框架并使用NodeJs進行編譯的前端平臺。該平臺使用React語言主要基于兩方面的原因,一方面是React使用虛擬Dom對頁面進行渲染,這種方法比直接操作Dom樹速度更快,另一方面React可以對功能細粒度進行封裝,從而提升組件的復(fù)用,且手動優(yōu)化性能更加便利,所以大型項目往往都會選擇React作為基礎(chǔ)框架[13]。

    圖2 熱點代碼在線部署方法

    如圖3所示,容器配置模塊是由容器化管理列表與對外提供服務(wù)兩個部分組成,其功能是為系統(tǒng)提供應(yīng)用管理、代碼編輯以及對外服務(wù)的API。其中應(yīng)用管理的功能是為在線部署模塊展示注入的應(yīng)用功能狀態(tài),以及對應(yīng)用功能進行基本操作。而代碼編輯模塊為容器化管理列表提供代碼編輯和代碼檢查的功能,方便使用者能夠摒棄繁瑣的配置,專注于指定功能的代碼編輯。為了使系統(tǒng)更加方便地調(diào)用容器配置模塊所構(gòu)建的功能,在容器配置模塊中加入了對外服務(wù)的API,使應(yīng)用系統(tǒng)能夠依靠簡單的配置就可以完成對注入功能的測試,同時也能為容器化管理列表提供對應(yīng)的功能索引,方便進行應(yīng)用功能的基本操作。

    圖3 容器配置模塊結(jié)構(gòu)

    2.3 代碼編譯模塊

    代碼編譯模塊使用了Java軟件開發(fā)包中自帶的java-tools動態(tài)編譯模塊,可以對字符串構(gòu)成的代碼進行編譯,并能提供豐富的編譯接口。該模塊將從前端傳輸來的代碼和元信息存儲到數(shù)據(jù)庫,并將數(shù)據(jù)庫中的對應(yīng)狀態(tài)標記為傳輸完成。隨后,代碼在該模塊進行編譯,如果編譯成功,模塊生成編譯文件,并將生成的文件放到指定位置,然后把編譯成功的狀態(tài)傳輸?shù)饺萜餮b載模塊,接著執(zhí)行后續(xù)操作。反之將編譯失敗的信息,連同對應(yīng)的元信息一起傳輸?shù)綌?shù)據(jù)庫中,并將數(shù)據(jù)庫中的對應(yīng)狀態(tài)標記為編譯失敗。

    常規(guī)采用的重新編譯部署方式如圖4的上部分所示,重新編譯部署方式在功能修改時,由用戶開發(fā)好相應(yīng)的功能代碼,并將代碼上傳至代碼管理平臺。用戶要完成應(yīng)用的部署還需使用持續(xù)集成工具Jenkins,將代碼拉取至服務(wù)端,Jenkins在服務(wù)端對代碼進行編譯,然后編譯生成Jenkins構(gòu)件,啟動構(gòu)件即完成部署。該文采用基于在線部署的編譯方式(見圖4下半部分),用戶是在在線部署模塊中進行編碼,服務(wù)端僅負責接收和編譯由在線部署模塊傳輸過來的代碼,之后將生成的文件通過Spring的環(huán)境直接注入到系統(tǒng)中,進而完成項目的部署。與重新編譯部署方法相比,在線部署編譯方式減少了代碼拉取以及構(gòu)件啟動的時間。在應(yīng)用功能未確定時,功能的改變會引發(fā)頻繁部署,采用在線部署方法可以節(jié)省很多的時間。

    圖4 重新編譯部署與在線部署的編譯方式對比

    2.4 容器裝載模塊

    容器裝載流程如圖5所示。

    圖5 容器裝載流程

    容器裝載模塊將Spring應(yīng)用環(huán)境的上下文實例化,通過加載具有復(fù)合注解的代碼,將應(yīng)用功能注入到Spring環(huán)境。該模塊從編譯模塊獲取編譯成功的文件和元信息并加入到Bean處理單元,然后將新生成的Bean容器注冊到Spring環(huán)境。如果注冊成功,則依據(jù)元信息在數(shù)據(jù)庫中找到指定記錄,并將其狀態(tài)更新為部署成功,然后把對應(yīng)的狀態(tài)寫入到日志管理器,反之,注冊失敗則標記部署失敗。

    容器注冊的核心是將熱點代碼轉(zhuǎn)化成Bean容器。對所需功能注冊時,將類名與Bean的ID進行綁定,保證在Bean注冊機制下,注冊的容器是唯一有效的。容器是整個Spring環(huán)境的重要組成部分,在應(yīng)用系統(tǒng)中,Bean的實例化獲取與銷毀都由Spring進行管理。如圖6所示,當在線部署某一應(yīng)用程序時,采用不停機的工作模式,事先定義好該程序的計算接口和數(shù)據(jù)信息接口,然后在代碼編輯模塊中實現(xiàn)上述兩個接口。其中,計算接口用于實現(xiàn)具體的應(yīng)用功能,而數(shù)據(jù)信息接口用于實現(xiàn)容器配置模塊對應(yīng)用功能的管理。接口代碼完成編譯后,Spring調(diào)用Bean管理器將轉(zhuǎn)化好的容器注冊到容器列表,為代碼無侵入做準備。應(yīng)用在停機部署時,卸載在線部署模塊不會影響系統(tǒng)的使用。依據(jù)不同開發(fā)階段的要求,在線部署模塊可以靈活制定相應(yīng)的部署策略,降低開發(fā)與運維的工作難度,保障系統(tǒng)的穩(wěn)定,降低項目管理成本。

    圖6 運行與停機狀態(tài)下的容器注冊方法

    3 性能測試與分析

    3.1 實驗環(huán)境

    實驗的硬件環(huán)境是Intel(R)Corn(TM)i7-7700HQ CPU @ 2.8 Hz 2.81 GHz,內(nèi)存為8 GB,軟件環(huán)境為windows tomcat idea2022。實驗在Spring官網(wǎng)下生成空白的項目,添加相應(yīng)的功能構(gòu)建不同復(fù)雜度的系統(tǒng),以便對比不同部署方式的部署效率。

    3.2 評價標準

    為了評估應(yīng)用在不同軟件復(fù)雜度下的在線部署方法與重新編譯部署方法的效率,采用不同維度下的軟件復(fù)雜度進行實驗,衡量軟件復(fù)雜度的常用度量方法,包括代碼行數(shù)度量法和Halstead度量法。其具體構(gòu)建如下:

    代碼行數(shù)度量法在空白項目中寫入100行代碼形成一個請求單元,標識系統(tǒng)擁有100的復(fù)雜度,將代碼請求單元擴增至10個請求單元,可以使代碼行數(shù)復(fù)雜度增加10倍,變?yōu)? 000的復(fù)雜度,以此類推,構(gòu)建10 000、100 000的代碼行數(shù)復(fù)雜度的測試項目。同理,使用Halstead度量法構(gòu)建不同復(fù)雜度的項目,向空白項目中寫入定義好的度量單位為100的模塊,以此為模板擴增,與代碼行數(shù)復(fù)雜度一致,分別增加至10 000和100 000的復(fù)雜度。度量單個單元復(fù)雜度的Halstead公式如下所示:

    Mcount=0.05(N+N1)

    其中,N為程序詞匯表的長度,N1為程序長度,為了與代碼行數(shù)度量法的對比更加直觀,設(shè)定了0.05的系數(shù)。

    3.3 實驗結(jié)果

    對重新編譯部署與在線部署兩種方法在時間效率上進行對比,從程序開始編譯計時,到實際應(yīng)用部署為止,得出各自所需的時間。實驗中選擇不同度量法下的不同系統(tǒng)復(fù)雜度,在進行10次相對獨立的實驗后取平均值。其中T1表示在線部署的時間,T2表示重新編譯部署的時間,T1/T2是兩種部署模式下的時間比值。

    表1 兩種部署方式在代碼行數(shù)復(fù)雜度下的對比

    表2 兩種部署方式在Halstead復(fù)雜度下的對比

    如表1和圖7所示,隨著代碼行數(shù)復(fù)雜度的增加,在線部署的時間明顯小于重新編譯部署的時間,并隨著代碼行數(shù)復(fù)雜度的增加,時間比值在逐漸下降。如表2和圖8所示,Halstead復(fù)雜度和代碼行數(shù)復(fù)雜度的結(jié)果基本一致。結(jié)果表明,在線部署比重新編譯部署效果更好,推廣到現(xiàn)在大規(guī)模、復(fù)雜性高的系統(tǒng)中,運用該熱部署方法部署代碼更有利于節(jié)約時間和資源。

    圖7 兩種部署方式在代碼行數(shù)復(fù)雜度下的對比

    圖8 兩種部署方式在Halstead復(fù)雜度下的對比

    4 系統(tǒng)應(yīng)用

    該文提出的在線部署方法應(yīng)用于新型智慧城市評估系統(tǒng)的評估體系構(gòu)建模塊。隨著城市的不斷發(fā)展,城市評價的指標體系也在不斷地進步,指標計算也越來越復(fù)雜。在系統(tǒng)業(yè)務(wù)開發(fā)的過程中,對城市評估的評估體系往往考慮得不夠全面,所以在系統(tǒng)運行初期,會不斷地調(diào)整指標中的評估算法,與之相對應(yīng)的測試環(huán)境以及預(yù)生產(chǎn)環(huán)境的應(yīng)用也需要頻繁地部署。針對這種情況,系統(tǒng)為其設(shè)計了可在線編輯的指標計算模塊,該模塊通過在線操作完成新指標的部署。

    當用戶對指標計算模塊編輯時,先在指標編輯的模塊中對指標計算的算法進行編輯,之后系統(tǒng)根據(jù)算法的名稱和配置構(gòu)建元信息,將代碼連同元信息一起傳輸?shù)较到y(tǒng)后臺,并在后臺對算法進行編譯,然后將編譯后的文件通過Spring注入到容器列表,即可完成對應(yīng)指標的部署。在對城市評估的時候,評估系統(tǒng)使用元信息查找到對應(yīng)的算法,完成指標的計算。該在線部署方法為在線評估系統(tǒng)的指標拓展計算提供了思路,同時很好地解決了頻繁部署熱點代碼的問題。

    5 結(jié)束語

    研究了基于Spring的在線熱點代碼部署方法,并在新型智慧城市評估系統(tǒng)進行了驗證。在系統(tǒng)部署的過程中,運維人員會將所有的代碼拉取到服務(wù)器中,對應(yīng)用重新部署。功能應(yīng)用在頻繁改動的時候,重復(fù)拉取代碼后進行部署,很容易導(dǎo)致一些問題出現(xiàn)。該方法能夠使應(yīng)用系統(tǒng)集成的在線部署模塊在不停機的狀態(tài)下,穩(wěn)定地增加功能,并以較快的速度部署,同時在應(yīng)用必須停機時,卸載在線部署模塊,零配置重新部署功能 。該文設(shè)計的在線部署方法有望在緊急上線、預(yù)生產(chǎn)環(huán)境調(diào)試等環(huán)境下發(fā)揮作用[14-15]。

    同時,該部署方案還有進一步完善的空間。在應(yīng)用過程中熱點的代碼只能修改單獨的類,只能在線單獨改變其中一個功能,這種方法免去了代碼的整包構(gòu)建,提升了速率。但是這種方案僅僅只能在熱點代碼中使用,不適合大范圍的修改代碼,此外對于復(fù)雜環(huán)境的分布式系統(tǒng),還需要考慮各個層級的依賴問題。

    猜你喜歡
    復(fù)雜度代碼容器
    Different Containers不同的容器
    難以置信的事情
    一種低復(fù)雜度的慣性/GNSS矢量深組合方法
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    求圖上廣探樹的時間復(fù)雜度
    某雷達導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進
    取米
    淫妇啪啪啪对白视频| 成人特级av手机在线观看| 男女午夜视频在线观看| 2021天堂中文幕一二区在线观| 99re在线观看精品视频| 草草在线视频免费看| 久久天堂一区二区三区四区| 欧美午夜高清在线| 他把我摸到了高潮在线观看| 久久精品影院6| 亚洲av电影在线进入| 黄色日韩在线| 国产成+人综合+亚洲专区| 欧美精品啪啪一区二区三区| 国产精品一区二区三区四区免费观看 | 日本一本二区三区精品| 日韩大尺度精品在线看网址| 91九色精品人成在线观看| 国产毛片a区久久久久| 国产精品一区二区精品视频观看| 999久久久精品免费观看国产| 嫩草影视91久久| av国产免费在线观看| 久久久久久久久久黄片| 综合色av麻豆| 99久久无色码亚洲精品果冻| 成人av在线播放网站| 国产69精品久久久久777片 | 每晚都被弄得嗷嗷叫到高潮| 亚洲欧美日韩无卡精品| 亚洲国产精品sss在线观看| 久久精品国产亚洲av香蕉五月| 久久久成人免费电影| 美女黄网站色视频| 最近视频中文字幕2019在线8| 国产高清有码在线观看视频| 嫁个100分男人电影在线观看| av女优亚洲男人天堂 | 97人妻精品一区二区三区麻豆| 此物有八面人人有两片| 99久久精品热视频| 哪里可以看免费的av片| 黄频高清免费视频| 给我免费播放毛片高清在线观看| 中文字幕精品亚洲无线码一区| 欧美乱妇无乱码| 最新在线观看一区二区三区| 亚洲精品乱码久久久v下载方式 | 国产熟女xx| 三级国产精品欧美在线观看 | 特大巨黑吊av在线直播| 久久久久性生活片| 操出白浆在线播放| 国产伦人伦偷精品视频| 亚洲熟妇中文字幕五十中出| 日本精品一区二区三区蜜桃| 九九热线精品视视频播放| 国产成人影院久久av| 最近最新中文字幕大全电影3| 黄色成人免费大全| 在线免费观看的www视频| 国产成人影院久久av| 九色国产91popny在线| 99视频精品全部免费 在线 | 韩国av一区二区三区四区| av天堂在线播放| 舔av片在线| xxxwww97欧美| 久久久久国产精品人妻aⅴ院| 天天躁狠狠躁夜夜躁狠狠躁| 久久中文字幕人妻熟女| 亚洲第一欧美日韩一区二区三区| 中文资源天堂在线| 成人三级黄色视频| 久久天躁狠狠躁夜夜2o2o| 久久伊人香网站| 成年版毛片免费区| 日韩欧美一区二区三区在线观看| 毛片女人毛片| 麻豆一二三区av精品| 999久久久国产精品视频| 国产黄a三级三级三级人| 两性夫妻黄色片| 中文在线观看免费www的网站| 亚洲人成网站在线播放欧美日韩| 亚洲精品美女久久av网站| 一本一本综合久久| 好看av亚洲va欧美ⅴa在| 久久久国产欧美日韩av| 久久久久国内视频| 看片在线看免费视频| 国产高潮美女av| 哪里可以看免费的av片| 首页视频小说图片口味搜索| 国产免费男女视频| 国产精品久久久久久亚洲av鲁大| 午夜免费成人在线视频| 日韩成人在线观看一区二区三区| 波多野结衣高清作品| 丝袜人妻中文字幕| 成人鲁丝片一二三区免费| 99久久成人亚洲精品观看| 国产欧美日韩精品一区二区| 熟女电影av网| 91av网一区二区| 国产精品日韩av在线免费观看| 亚洲黑人精品在线| 欧美日韩乱码在线| 两个人视频免费观看高清| 少妇裸体淫交视频免费看高清| 亚洲va日本ⅴa欧美va伊人久久| 夜夜躁狠狠躁天天躁| 国产探花在线观看一区二区| 99热精品在线国产| 日本三级黄在线观看| 精品久久久久久久久久久久久| 欧美一级a爱片免费观看看| 亚洲av成人精品一区久久| 伦理电影免费视频| 久久精品国产综合久久久| 亚洲国产精品合色在线| 日本 av在线| 十八禁人妻一区二区| 中文字幕久久专区| www日本黄色视频网| 最近最新免费中文字幕在线| 国产激情偷乱视频一区二区| 五月伊人婷婷丁香| 国产亚洲av嫩草精品影院| 亚洲 欧美一区二区三区| 国产av在哪里看| 欧美zozozo另类| 中文在线观看免费www的网站| 12—13女人毛片做爰片一| 精品久久久久久久毛片微露脸| www国产在线视频色| 网址你懂的国产日韩在线| 免费av毛片视频| 久久午夜亚洲精品久久| 国产1区2区3区精品| 亚洲欧美日韩无卡精品| 国产亚洲av嫩草精品影院| 波多野结衣巨乳人妻| 国产av在哪里看| 91av网站免费观看| 18禁黄网站禁片午夜丰满| 国产一区二区三区在线臀色熟女| 18禁观看日本| 精品电影一区二区在线| www日本黄色视频网| 久久99热这里只有精品18| 久久久水蜜桃国产精品网| www.www免费av| 久久久久久久久免费视频了| av中文乱码字幕在线| 啪啪无遮挡十八禁网站| 国产欧美日韩精品一区二区| 男女做爰动态图高潮gif福利片| 禁无遮挡网站| 又黄又爽又免费观看的视频| 天堂动漫精品| x7x7x7水蜜桃| 久久香蕉精品热| 欧美一区二区国产精品久久精品| svipshipincom国产片| 色哟哟哟哟哟哟| 黄色视频,在线免费观看| 亚洲国产精品久久男人天堂| 1000部很黄的大片| 一个人观看的视频www高清免费观看 | 日韩欧美在线乱码| 精品乱码久久久久久99久播| 97超级碰碰碰精品色视频在线观看| 亚洲欧美日韩东京热| 99热只有精品国产| 精品久久蜜臀av无| 久久久久久九九精品二区国产| 久久中文字幕一级| 久久久精品大字幕| 午夜福利欧美成人| 国产精品久久久久久人妻精品电影| 国产亚洲欧美98| 日韩大尺度精品在线看网址| 亚洲色图av天堂| 国产高潮美女av| 1024香蕉在线观看| 国模一区二区三区四区视频 | 琪琪午夜伦伦电影理论片6080| 免费看日本二区| 夜夜看夜夜爽夜夜摸| 久久久久久久午夜电影| 制服人妻中文乱码| 国产精品久久久av美女十八| 男女视频在线观看网站免费| 亚洲av成人一区二区三| 99热只有精品国产| 欧洲精品卡2卡3卡4卡5卡区| 国产高清视频在线播放一区| 亚洲精华国产精华精| 99精品在免费线老司机午夜| 国内揄拍国产精品人妻在线| 成年人黄色毛片网站| 国产熟女xx| 国产又色又爽无遮挡免费看| 中文字幕精品亚洲无线码一区| 国产精品一区二区精品视频观看| 偷拍熟女少妇极品色| 国产又黄又爽又无遮挡在线| 少妇人妻一区二区三区视频| 熟女人妻精品中文字幕| 亚洲人成网站在线播放欧美日韩| 男女之事视频高清在线观看| 淫妇啪啪啪对白视频| 久久欧美精品欧美久久欧美| 国产精品爽爽va在线观看网站| 在线观看日韩欧美| 午夜久久久久精精品| 网址你懂的国产日韩在线| 久久人人精品亚洲av| 久久精品综合一区二区三区| 熟女人妻精品中文字幕| 中文亚洲av片在线观看爽| 十八禁网站免费在线| 欧美色欧美亚洲另类二区| 午夜两性在线视频| 免费大片18禁| 国产精品一区二区免费欧美| 久久精品夜夜夜夜夜久久蜜豆| 1024手机看黄色片| 国产视频一区二区在线看| 国产精品女同一区二区软件 | a级毛片a级免费在线| svipshipincom国产片| 国产乱人视频| 精品久久久久久久末码| 可以在线观看毛片的网站| 国产亚洲av高清不卡| 国产精品,欧美在线| 久久久久国内视频| netflix在线观看网站| 国产精品久久久久久精品电影| 亚洲精品久久国产高清桃花| 91老司机精品| 一个人看视频在线观看www免费 | 欧美又色又爽又黄视频| 黄色视频,在线免费观看| 成年免费大片在线观看| 国产午夜精品论理片| 久久人人精品亚洲av| 老鸭窝网址在线观看| 人人妻人人看人人澡| 午夜免费观看网址| 狂野欧美激情性xxxx| 国产高潮美女av| 亚洲精华国产精华精| 搡老熟女国产l中国老女人| 天堂动漫精品| xxx96com| 欧美国产日韩亚洲一区| 搡老岳熟女国产| 美女cb高潮喷水在线观看 | 亚洲欧美日韩高清专用| 特级一级黄色大片| 国产一区二区在线观看日韩 | 国产一区二区在线观看日韩 | 最近视频中文字幕2019在线8| 久久久久性生活片| 757午夜福利合集在线观看| 日韩 欧美 亚洲 中文字幕| 麻豆国产av国片精品| 日本熟妇午夜| av在线天堂中文字幕| 看免费av毛片| 美女高潮喷水抽搐中文字幕| 久久久久精品国产欧美久久久| 日本与韩国留学比较| 麻豆成人午夜福利视频| 国产精品亚洲一级av第二区| 免费大片18禁| 99精品在免费线老司机午夜| 亚洲av成人av| 国内精品久久久久精免费| 久久久成人免费电影| 国产v大片淫在线免费观看| 我的老师免费观看完整版| 欧美性猛交╳xxx乱大交人| 狂野欧美白嫩少妇大欣赏| 夜夜躁狠狠躁天天躁| 亚洲精品一卡2卡三卡4卡5卡| 午夜a级毛片| 午夜福利免费观看在线| 国产亚洲av嫩草精品影院| av黄色大香蕉| 99久久久亚洲精品蜜臀av| 91在线精品国自产拍蜜月 | 伊人久久大香线蕉亚洲五| 毛片女人毛片| 国产极品精品免费视频能看的| 亚洲国产欧美一区二区综合| h日本视频在线播放| 日本免费a在线| 国产成人精品久久二区二区免费| 女生性感内裤真人,穿戴方法视频| 黑人欧美特级aaaaaa片| 在线免费观看的www视频| 久久伊人香网站| 18禁黄网站禁片免费观看直播| 亚洲人与动物交配视频| 亚洲专区中文字幕在线| 国产真实乱freesex| 亚洲色图av天堂| 搡老妇女老女人老熟妇| 国产免费男女视频| 一个人免费在线观看电影 | 啪啪无遮挡十八禁网站| 手机成人av网站| 在线观看美女被高潮喷水网站 | 99久久精品国产亚洲精品| 我的老师免费观看完整版| 日本一二三区视频观看| 精品一区二区三区视频在线观看免费| 久久天躁狠狠躁夜夜2o2o| 国产精品国产高清国产av| 叶爱在线成人免费视频播放| 日日摸夜夜添夜夜添小说| 男女床上黄色一级片免费看| 人妻丰满熟妇av一区二区三区| 国产91精品成人一区二区三区| 法律面前人人平等表现在哪些方面| 国产野战对白在线观看| 亚洲一区高清亚洲精品| 日韩成人在线观看一区二区三区| 老司机午夜福利在线观看视频| 亚洲精品在线观看二区| 日本撒尿小便嘘嘘汇集6| 好男人电影高清在线观看| 在线观看午夜福利视频| 欧美日韩国产亚洲二区| 久久国产乱子伦精品免费另类| 变态另类成人亚洲欧美熟女| 草草在线视频免费看| 国产精品av久久久久免费| 久久久久久久久免费视频了| 欧美在线黄色| 欧美3d第一页| 老熟妇仑乱视频hdxx| 亚洲精华国产精华精| 超碰成人久久| 久久香蕉国产精品| 国产 一区 欧美 日韩| 婷婷精品国产亚洲av在线| 国产亚洲av嫩草精品影院| 又黄又爽又免费观看的视频| 欧美一区二区国产精品久久精品| 国产激情久久老熟女| 日韩人妻高清精品专区| 久久天躁狠狠躁夜夜2o2o| 国产精品 欧美亚洲| 午夜福利高清视频| 一二三四社区在线视频社区8| 熟女少妇亚洲综合色aaa.| 精品人妻1区二区| 一本一本综合久久| 国产精品一区二区精品视频观看| 亚洲无线在线观看| 亚洲在线自拍视频| 国产三级在线视频| 欧美乱妇无乱码| 午夜两性在线视频| 久久中文字幕人妻熟女| 丁香六月欧美| 美女高潮喷水抽搐中文字幕| 欧美中文综合在线视频| 婷婷精品国产亚洲av在线| 后天国语完整版免费观看| 亚洲欧美精品综合一区二区三区| 极品教师在线免费播放| 美女被艹到高潮喷水动态| 久久久成人免费电影| 99久国产av精品| 国产野战对白在线观看| 一级作爱视频免费观看| 在线观看免费视频日本深夜| 国内毛片毛片毛片毛片毛片| 亚洲欧美日韩高清在线视频| 午夜福利欧美成人| 熟女人妻精品中文字幕| 999久久久精品免费观看国产| 亚洲欧美日韩卡通动漫| 老司机深夜福利视频在线观看| 亚洲精品色激情综合| 午夜成年电影在线免费观看| 伊人久久大香线蕉亚洲五| 久久性视频一级片| 亚洲av五月六月丁香网| 少妇裸体淫交视频免费看高清| 中文字幕高清在线视频| 亚洲精品美女久久av网站| 亚洲天堂国产精品一区在线| 久久久国产欧美日韩av| 18禁黄网站禁片午夜丰满| 亚洲欧美精品综合一区二区三区| 叶爱在线成人免费视频播放| 精品久久久久久久人妻蜜臀av| 91麻豆精品激情在线观看国产| 国产97色在线日韩免费| 悠悠久久av| 又大又爽又粗| 99国产精品一区二区三区| 99热只有精品国产| 国产久久久一区二区三区| 美女大奶头视频| 黄片大片在线免费观看| 免费看光身美女| 麻豆国产97在线/欧美| 真实男女啪啪啪动态图| 最新中文字幕久久久久 | 亚洲avbb在线观看| 伊人久久大香线蕉亚洲五| 精品一区二区三区视频在线 | 国产高潮美女av| 丝袜人妻中文字幕| 日韩国内少妇激情av| 亚洲中文av在线| www.精华液| 无遮挡黄片免费观看| bbb黄色大片| 国产精品一区二区精品视频观看| 露出奶头的视频| 国产激情久久老熟女| 午夜影院日韩av| 亚洲人成伊人成综合网2020| 亚洲 国产 在线| 99久久国产精品久久久| 一区二区三区高清视频在线| 精品久久久久久久末码| 超碰成人久久| 一个人免费在线观看电影 | 国产精品九九99| 亚洲在线自拍视频| 男女下面进入的视频免费午夜| 亚洲精品粉嫩美女一区| 中文在线观看免费www的网站| 村上凉子中文字幕在线| 在线观看免费午夜福利视频| 亚洲成人免费电影在线观看| 最近最新中文字幕大全免费视频| 欧美高清成人免费视频www| 日本精品一区二区三区蜜桃| 日韩欧美在线二视频| 色在线成人网| 久久这里只有精品19| 悠悠久久av| 禁无遮挡网站| 全区人妻精品视频| 欧美成人性av电影在线观看| 亚洲成av人片在线播放无| 精华霜和精华液先用哪个| 久久香蕉国产精品| 99久国产av精品| 成人三级黄色视频| 桃色一区二区三区在线观看| 亚洲专区中文字幕在线| 亚洲色图 男人天堂 中文字幕| 又紧又爽又黄一区二区| 亚洲精华国产精华精| 国产精品一区二区三区四区免费观看 | 国产久久久一区二区三区| 啦啦啦免费观看视频1| 久久久国产成人精品二区| 日韩欧美国产一区二区入口| 国产美女午夜福利| 久久久久久九九精品二区国产| 亚洲欧美日韩高清专用| 免费在线观看影片大全网站| 黄片大片在线免费观看| 悠悠久久av| 日本黄色片子视频| 国产免费av片在线观看野外av| 国产探花在线观看一区二区| 国产黄色小视频在线观看| 三级男女做爰猛烈吃奶摸视频| 成人性生交大片免费视频hd| 丁香欧美五月| 国产成人av激情在线播放| 天天添夜夜摸| 麻豆成人av在线观看| 国产成人aa在线观看| 巨乳人妻的诱惑在线观看| 久久午夜综合久久蜜桃| 舔av片在线| 国产精品1区2区在线观看.| 亚洲国产色片| 亚洲成人中文字幕在线播放| 淫妇啪啪啪对白视频| 亚洲九九香蕉| 小说图片视频综合网站| 亚洲人成伊人成综合网2020| 国产蜜桃级精品一区二区三区| 看免费av毛片| 岛国在线免费视频观看| 亚洲国产高清在线一区二区三| 很黄的视频免费| 99久久精品热视频| 中文字幕av在线有码专区| 两个人视频免费观看高清| 999久久久精品免费观看国产| 夜夜夜夜夜久久久久| 草草在线视频免费看| 可以在线观看毛片的网站| 一夜夜www| 亚洲 欧美 日韩 在线 免费| 欧美黄色淫秽网站| 亚洲av免费在线观看| 亚洲一区二区三区不卡视频| 桃红色精品国产亚洲av| 欧美日本亚洲视频在线播放| 天堂影院成人在线观看| 天天添夜夜摸| 亚洲成人免费电影在线观看| 成年免费大片在线观看| 欧美黄色片欧美黄色片| 国产伦一二天堂av在线观看| a在线观看视频网站| 国产av在哪里看| 欧美大码av| 国产精品自产拍在线观看55亚洲| 亚洲人成网站在线播放欧美日韩| xxxwww97欧美| 黄片小视频在线播放| 中文资源天堂在线| 免费看十八禁软件| 国产一级毛片七仙女欲春2| 国产97色在线日韩免费| 国产成年人精品一区二区| 国产精品99久久久久久久久| 国产亚洲av嫩草精品影院| 日韩成人在线观看一区二区三区| 国产成人av激情在线播放| 51午夜福利影视在线观看| 黄色 视频免费看| 91麻豆av在线| 国产黄a三级三级三级人| 又黄又爽又免费观看的视频| 操出白浆在线播放| 久久精品aⅴ一区二区三区四区| 中文字幕久久专区| 观看美女的网站| av在线蜜桃| 欧美黄色淫秽网站| 十八禁网站免费在线| 久久久久免费精品人妻一区二区| 免费搜索国产男女视频| 国产精品久久久久久亚洲av鲁大| 制服人妻中文乱码| 性色av乱码一区二区三区2| 黄色 视频免费看| 亚洲avbb在线观看| 国产精品爽爽va在线观看网站| 在线观看免费视频日本深夜| 一本一本综合久久| 91字幕亚洲| www国产在线视频色| 中文字幕久久专区| 国产免费av片在线观看野外av| 日本一本二区三区精品| 久久久水蜜桃国产精品网| 天堂av国产一区二区熟女人妻| 久久精品综合一区二区三区| 亚洲av成人一区二区三| 国产精品av久久久久免费| 不卡av一区二区三区| 91久久精品国产一区二区成人 | 免费看日本二区| 久久亚洲精品不卡| 国产av一区在线观看免费| 久久久久久久久久黄片| 啦啦啦韩国在线观看视频| 69av精品久久久久久| 伊人久久大香线蕉亚洲五| 亚洲欧洲精品一区二区精品久久久| 亚洲性夜色夜夜综合| 国产精品一区二区精品视频观看| 亚洲成a人片在线一区二区| 黄片小视频在线播放| 久久精品亚洲精品国产色婷小说| 精品一区二区三区视频在线 | 国产成人精品无人区| 变态另类成人亚洲欧美熟女| 免费在线观看亚洲国产| 国产高清视频在线观看网站| 精品福利观看| x7x7x7水蜜桃| 亚洲18禁久久av| 国产乱人伦免费视频| 亚洲人成伊人成综合网2020| 久久精品夜夜夜夜夜久久蜜豆| 日本一本二区三区精品| 99re在线观看精品视频| 亚洲欧美日韩卡通动漫| 老熟妇乱子伦视频在线观看| 亚洲五月婷婷丁香| 1000部很黄的大片| 91麻豆av在线| 欧美黑人欧美精品刺激| 好看av亚洲va欧美ⅴa在| a级毛片在线看网站| 日本黄大片高清| 黄色片一级片一级黄色片| 少妇人妻一区二区三区视频| 欧美大码av| 亚洲性夜色夜夜综合| 小说图片视频综合网站| 国产成人一区二区三区免费视频网站| 亚洲片人在线观看|