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

    基于微服務(wù)架構(gòu)的眾包圖像數(shù)據(jù)集標(biāo)注系統(tǒng)①

    2021-05-21 07:22:16袁曉晨張衛(wèi)山高紹姝趙永俊安云云
    計算機系統(tǒng)應(yīng)用 2021年5期
    關(guān)鍵詞:標(biāo)定部署架構(gòu)

    袁曉晨,張衛(wèi)山,高紹姝,時 斌,趙永俊,王 冶,安云云

    1(中國石油大學(xué)(華東)計算機科學(xué)與技術(shù)學(xué)院,青島 266580)

    2(青島海爾空調(diào)電子有限公司 電控模塊開發(fā)部,青島 266101)

    3(解放軍9144 部隊,青島 266102)

    4(國網(wǎng)山東省電力公司 青島市黃島區(qū)供電公司,青島 266500)

    計算機視覺圖像識別是人工智能的重要應(yīng)用,廣泛應(yīng)用在工業(yè)、醫(yī)學(xué)、軍事、教育、商業(yè)、體育、安防檢測等行業(yè)與領(lǐng)域中.機器學(xué)習(xí),尤其是深度學(xué)習(xí)展現(xiàn)出了針對圖像識別領(lǐng)域優(yōu)秀的識別性能.而機器學(xué)習(xí)本身需要建立在大量的帶有指導(dǎo)意義的既有數(shù)據(jù)集基礎(chǔ)之上.在進行深度學(xué)習(xí)模型訓(xùn)練流程中,往往需要針對海量圖片進行人工數(shù)據(jù)標(biāo)注,繁重的圖像標(biāo)注任務(wù)增添了大量時間成本.

    傳統(tǒng)的圖像標(biāo)注工具,如表1所示,大多以單機運行的傳統(tǒng)單體式系統(tǒng)架構(gòu)為主,運行在單機之上,同一時間同一系統(tǒng)運行實例上只允許一個用戶對本地資源進行圖像標(biāo)定.當(dāng)使用傳統(tǒng)圖像標(biāo)注工具進行協(xié)作標(biāo)定時,需要用戶手動進行圖像集的分組并拷貝至協(xié)作組員的工作站.協(xié)作組員各自完成任務(wù)后仍需要用戶自行合并制作數(shù)據(jù)集.由于缺少集中化的圖像與工作流,導(dǎo)致傳統(tǒng)單機標(biāo)注工具在協(xié)作場景下存在大量的文件與數(shù)據(jù)傳輸,在海量圖像文件的壓縮、打包與傳輸過程中產(chǎn)生了大量的時間與人工成本.

    表1 傳統(tǒng)圖像標(biāo)注工具對比

    為了解決機器學(xué)習(xí)圖像識別訓(xùn)練的各種前置準備工作費時費力的問題,本文提出并設(shè)計實現(xiàn)了一種基于Spring Cloud、面向機器學(xué)習(xí)模型訓(xùn)練的協(xié)作式圖像數(shù)據(jù)管理與標(biāo)注平臺,通過眾包任務(wù)的方式,優(yōu)化圖像標(biāo)注流程,設(shè)計實現(xiàn)了面向海量圖像的存儲、標(biāo)定集管理、圖像標(biāo)定任務(wù)管理等功能模塊.系統(tǒng)采用微服務(wù)架構(gòu),將系統(tǒng)各個部分進行解耦[1],實現(xiàn)服務(wù)注冊與發(fā)現(xiàn)、負載均衡、容錯處理,提升了系統(tǒng)的高可用性、可維護性與可擴展性.基于GitLab-CICD 實現(xiàn)了微服務(wù)的增量更新、持續(xù)部署與灰度更新.通過將海量圖像標(biāo)定數(shù)據(jù)進行分組劃分,簡化數(shù)據(jù)標(biāo)注過程中的操作,降低了數(shù)據(jù)標(biāo)注人員的時間成本,提升了數(shù)據(jù)標(biāo)注工作效率.

    1 概述

    1.1 眾包任務(wù)模式

    眾包任務(wù)模式指的是將本應(yīng)當(dāng)由單一機構(gòu)或個人執(zhí)行的工作內(nèi)容在公開或非公開網(wǎng)絡(luò)上以公開的方式外包給特定或非特定用戶[2].通過采用眾包任務(wù)的模式,將龐大的圖像標(biāo)注任務(wù)切分為小的任務(wù),能夠有效提升標(biāo)定的速度與質(zhì)量,從而加速深度學(xué)習(xí)模型訓(xùn)練流程.

    1.2 微服務(wù)架構(gòu)

    微服務(wù)[3]是一系列功能簡單、互相之間采用輕量級通信協(xié)議協(xié)同工作的功能區(qū)塊.每個小的功能區(qū)塊具有高內(nèi)聚、低耦合的特點,能夠獨立自主地運行.

    微服務(wù)架構(gòu)是一種架構(gòu)模式,它是SOA 架構(gòu)(Service Of Application)的進一步發(fā)揚,通過將龐大的系統(tǒng)根據(jù)業(yè)務(wù)邊界細粒度地拆分為小的服務(wù)模塊.每個小的服務(wù)模塊具有高內(nèi)聚、低耦合的特點,均能夠獨立地運行.每個模塊可以由不同的團隊進行開發(fā)[4].

    微服務(wù)架構(gòu)擁有著許多傳統(tǒng)單體式應(yīng)用所不具備的優(yōu)勢[5]:

    ① 復(fù)雜度可控:通過將復(fù)雜的系統(tǒng)細粒度地拆分為小體積、業(yè)務(wù)簡單的模塊,降低了每個模塊的開發(fā)難度與復(fù)雜度.各個模塊間互相解耦[6],當(dāng)需求變更時,只需要修改對應(yīng)的模塊即可實現(xiàn)系統(tǒng)整體功能上的變更,無需考慮其他模塊可能因為接口實現(xiàn)的變更而無法正常工作的問題.

    ② 團隊協(xié)作效率高:當(dāng)確定系統(tǒng)各個微服務(wù)接口定義后即可分組并行開發(fā)不同的微服務(wù)模塊,從而提升了整體開發(fā)效率.同時不同微服務(wù)模塊無需集成為一個整體,只需要能夠互相調(diào)用即可保證系統(tǒng)的正常運行,避免了單體式應(yīng)用集成過程中出現(xiàn)的組件源碼不兼容,降低了集成成本.

    ③ 獨立部署:每個小模塊都能夠獨立地運行,不會因為其他服務(wù)故障而受到影響.通過微服務(wù)調(diào)度系統(tǒng)的支持,能夠?qū)崿F(xiàn)快速部署在單機或集群上,從而充分利用計算性能.

    ④ 維護難度低:配合持續(xù)集成與持續(xù)部署(CI/CD),即可實現(xiàn)灰度發(fā)布與服務(wù)熱更新,無需系統(tǒng)全部停機或重啟即可完成功能更新.

    ⑤ 多種技術(shù)允許共存:微服務(wù)獨立部署使得微服務(wù)間只需要約定技術(shù)、語言無關(guān)的RPC 協(xié)議即可實現(xiàn)不同技術(shù)、語言實現(xiàn)的微服務(wù)共存并配合工作[7].

    ⑥ 系統(tǒng)穩(wěn)定性高:微服務(wù)架構(gòu)的系統(tǒng)擁有熔斷機制,當(dāng)系統(tǒng)部分組件失效時能夠及時阻止故障船體,從而避免系統(tǒng)發(fā)生雪崩式功能失效,提升了系統(tǒng)的穩(wěn)定性.

    1.3 對象存儲系統(tǒng)

    基于對象的云存儲即對象存儲(object storage)是近幾年逐漸流行的一個新興且切實可行的大規(guī)模存儲方案[8],使用較為簡便的方法實現(xiàn)數(shù)據(jù)存儲,即充分利用已有的存儲組件、網(wǎng)絡(luò)技術(shù)和處理技術(shù),使系統(tǒng)擁有較好的可擴展性以及高吞吐量[9].對象存儲思想的核心為對象,每個對象都有唯一的標(biāo)識[10].對象存儲將文件劃分為一個個對象,為用戶提供了統(tǒng)一的存儲空間,從而能更好的對文件進行訪問控制和存儲管理[11].這些對象被分布在整個集群之中,為保障數(shù)據(jù)安全、防止數(shù)據(jù)丟失將每一個對象多重備份復(fù)制到多個設(shè)備上.對象存儲系統(tǒng)將數(shù)據(jù)塊列表映射為對象列表,將各類數(shù)據(jù)塊簡化成為一個個對象來進行管理[12],極大改善了系統(tǒng)的可伸縮性,可以輕易實現(xiàn)海量數(shù)據(jù)的管理.

    2 系統(tǒng)設(shè)計

    2.1 需求分析

    傳統(tǒng)的數(shù)據(jù)集標(biāo)注往往在單終端中進行,大量的圖像需要由一個部門或者個人完成.使用傳統(tǒng)的標(biāo)注工具進行多人協(xié)作式圖像標(biāo)注時,在圖像整理上浪費了大量時間.協(xié)作前需要人工將大量圖像打包分組,協(xié)作后需要將圖像與標(biāo)定數(shù)據(jù)回收合并為同一個數(shù)據(jù)集合.常見的文件系統(tǒng)針對海量小文件的處理性能往往不及少量大文件,導(dǎo)致人工打包也是一項耗時的工作.針對以上痛點,圖像標(biāo)注系統(tǒng)主要有以下需求:

    ① 圖像數(shù)據(jù)托管:為避免文件系統(tǒng)直接頻繁操作大量小文件,從而節(jié)省任務(wù)分配數(shù)據(jù)打包的時間,圖像數(shù)據(jù)應(yīng)當(dāng)由專門的機制進行托管,必要時以圖像為基本單位提供圖像及其元數(shù)據(jù)檢索服務(wù).

    ② 任務(wù)劃分與管理:為實現(xiàn)眾包模式的圖像標(biāo)注,需要將包含大量圖像的任務(wù)拆分為小任務(wù),交由不同的個人進行標(biāo)注.

    ③ 支持多種標(biāo)注模式:系統(tǒng)應(yīng)當(dāng)支持機器視覺訓(xùn)練常用的關(guān)鍵點、矩形、多邊形標(biāo)注模式.

    ④ 支持多種導(dǎo)出格式:針對主流深度學(xué)習(xí)源碼所接受的格式,系統(tǒng)應(yīng)當(dāng)具備良好的擴展性以支持更多的深度學(xué)習(xí)框架.

    ⑤ 數(shù)據(jù)統(tǒng)計:任務(wù)發(fā)起者應(yīng)當(dāng)能夠看到子任務(wù)的標(biāo)注進度、標(biāo)簽數(shù)量等統(tǒng)計信息,從而有針對性地決定是否需要增加或者調(diào)整圖像組成.

    ⑥ 支撐模塊需求:除此之外,系統(tǒng)應(yīng)當(dāng)具有基本的用戶與權(quán)限控制功能.

    2.2 微服務(wù)劃分與系統(tǒng)架構(gòu)設(shè)計

    ① 系統(tǒng)微服務(wù)劃分

    根據(jù)系統(tǒng)需求分析結(jié)果,將系統(tǒng)劃分為4 個功能性微服務(wù)和3 個架構(gòu)支撐服務(wù):圖像對象存儲服務(wù)、圖像集合管理服務(wù)、標(biāo)定集合管理服務(wù)、數(shù)據(jù)輸入輸出服務(wù)、用戶及授權(quán)管理和服務(wù)網(wǎng)關(guān).

    圖像對象存儲服務(wù)用于面向海量圖片的對象存儲,將圖片統(tǒng)一以相同規(guī)則生成的不重復(fù)定位符作為索引,避免圖片重復(fù)存儲與圖片文件名重復(fù)沖突的問題.

    圖像集合管理服務(wù)用于將離散的圖片在邏輯上組成一個集合,作為系統(tǒng)中圖片操作的基本單位.

    標(biāo)定集合管理服務(wù)用于管理和存儲圖像集對應(yīng)的標(biāo)定數(shù)據(jù),同時提供標(biāo)定任務(wù)的劃分與分配.

    數(shù)據(jù)導(dǎo)入導(dǎo)出服務(wù)主要用于圖像、標(biāo)簽數(shù)據(jù)的解包導(dǎo)入與打包導(dǎo)出.提供常見的壓縮與視頻格式的解析與常見數(shù)據(jù)集格式的導(dǎo)出等功能.

    ② 系統(tǒng)架構(gòu)設(shè)計

    系統(tǒng)整體采用分層式結(jié)構(gòu),如圖1所示.為了開發(fā)過程中能夠更明確的分工,其中服務(wù)層按照微服務(wù)的思想進行拆分.各層主要包含內(nèi)容如下:

    持久化層:為了方便使用微服務(wù)編排框架進行部署,所有有狀態(tài)的服務(wù)均從整體架構(gòu)中分離整合在持久化層中.其中包括用于對象數(shù)據(jù)存儲的NoSQL 數(shù)據(jù)庫;用于關(guān)系型信息數(shù)據(jù)存儲的SQL 數(shù)據(jù)庫;用于全局數(shù)據(jù)緩存的內(nèi)存NoSQL 數(shù)據(jù)庫;用于全局消息同步的消息隊列中間件.

    微服務(wù)層:包含了業(yè)務(wù)邏輯微服務(wù)群和架構(gòu)支撐服務(wù)群兩部分.架構(gòu)支撐服務(wù)群中包含了微服務(wù)架構(gòu)必需的注冊發(fā)現(xiàn)中心、日志監(jiān)控、配置中心等基礎(chǔ)微服務(wù).業(yè)務(wù)邏輯微服務(wù)群提供了實現(xiàn)業(yè)務(wù)邏輯的相關(guān)微服務(wù),包括圖像對象存儲微服務(wù)、圖像集管理微服務(wù)、標(biāo)定管理微服務(wù)和數(shù)據(jù)導(dǎo)入導(dǎo)出微服務(wù).

    網(wǎng)關(guān)層:網(wǎng)關(guān)層包含了由Spring Gateway 實現(xiàn)的API 網(wǎng)關(guān)微服務(wù)、前端站點微服務(wù)和Nginx 總代理微服務(wù),提供了系統(tǒng)接入入口.

    CI/CD 支撐部分:系統(tǒng)源代碼采用了Gitlab 私服進行托管,Gitlab 也提供了對持續(xù)集成的支持,故直接采用Gitlab-CICD 實現(xiàn)系統(tǒng)開發(fā)過程中的持續(xù)集成與部署.

    系統(tǒng)采用現(xiàn)有完整的微服務(wù)方案,使用服務(wù)發(fā)現(xiàn)實現(xiàn)松散的服務(wù)間耦合,采用聲明式RPC 客戶端實現(xiàn)微服務(wù)間的互相調(diào)用,使用統(tǒng)一網(wǎng)關(guān)代理微服務(wù)作為系統(tǒng)入口,添加負載均衡機制以擴展系統(tǒng)負載容量,使用OAuth2 開放認證協(xié)議作為認證機制.

    圖1 圖像標(biāo)注系統(tǒng)架構(gòu)

    3 持續(xù)集成、持續(xù)部署與微服務(wù)架構(gòu)實現(xiàn)

    3.1 微服務(wù)注冊與發(fā)現(xiàn)

    在微服務(wù)架構(gòu)的系統(tǒng)中,為了實現(xiàn)微服務(wù)間既有松散的耦合度,又能夠互相訪問,微服務(wù)注冊與發(fā)現(xiàn)機制是一種常用方法[13].通過由微服務(wù)自行將自身的信息主動注冊至注冊中心的方式,使得其他微服務(wù)可以通過查詢注冊中心注冊記錄的方式間接地發(fā)現(xiàn)其存在并獲得訪問相關(guān)參數(shù).注冊中心是注冊與發(fā)現(xiàn)中最重要的一部分,在Spring Cloud 微服務(wù)套件中,提供了注冊中心的一種原生實現(xiàn)和兩種接入實現(xiàn):

    ① Eureka Server:由Netflix 開發(fā)的基于原生Java的開源注冊中心實現(xiàn),Spring Cloud 套件給出了基于Spring Boot 快速構(gòu)建注冊中心的方案.

    ② Spring Cloud Consul:Consul是由HashiCorp 公司開發(fā)的一種服務(wù)網(wǎng)格解決方案,提供具有服務(wù)發(fā)現(xiàn),配置和分段功能的全功能控制平面[14].通過添加org.springframework.cloud.spring-cloud-starter-consul-all 依賴,同樣可以實現(xiàn)類似的注冊發(fā)現(xiàn)功能.

    Spring Cloud Zookeeper:Apache ZooKeeper是一項集中式服務(wù),用于維護配置信息,命名,提供分布式同步和提供組服務(wù)[15].基于Spring Cloud的微服務(wù)可以通過添加org.springframework.cloud.spring-cloudstarter-zookeeper-all 依賴實現(xiàn)基于ZooKeeper的注冊發(fā)現(xiàn).

    由于后兩種注冊發(fā)現(xiàn)的方案需要單獨部署第三方的應(yīng)用實例來支撐微服務(wù)注冊與發(fā)現(xiàn)的功能,故選擇可自行構(gòu)建的Eureka Server 方案.

    Eureka的注冊與發(fā)現(xiàn)方案整體流程如圖2所示,主要分為兩部分.

    圖2 基于Eureka的注冊發(fā)現(xiàn)實現(xiàn)流程

    第一部分為Eureka 注冊中心.Spring 提供了一套項目生成工具Spring Initializer[16],允許開發(fā)人員直接通過可視化配置直接生成Spring Boot 項目,這里借用Spring Initializer 可以直接生成Eureka Server的項目.

    如圖3所示,在Spring Initializer 中輸入項目信息并選中Eureka Server 依賴,點擊Generate 即可得到初始項目模板.在Spring Boot 啟動類上添加@EnableEurekaServer參數(shù)即可開啟項目依賴中的Eureka Server.

    圖3 使用Spring Initializer 生成Eureka Server 實例

    第二部分即業(yè)務(wù)微服務(wù)中的Discovery Client.在需要通過服務(wù)發(fā)現(xiàn)感知其他服務(wù)實例的微服務(wù)中,增加org.springframework.cloud.spring-cloud-starter-netflixeureka-client 依賴,并在項目引導(dǎo)類上添加@Enable-DiscoveryClient 注解,即可為Feign 客戶端添加服務(wù)發(fā)現(xiàn)的功能.

    完成其他業(yè)務(wù)微服務(wù)開發(fā)后,同時啟動各個微服務(wù),可通過登錄Eureka 監(jiān)控頁面看到各個微服務(wù)的注冊情況,如圖4所示.

    圖4 通過Eureka Server 查看服務(wù)發(fā)現(xiàn)注冊狀態(tài)

    3.2 微服務(wù)接口網(wǎng)關(guān)與負載均衡

    相較于傳統(tǒng)的單體式應(yīng)用,微服務(wù)架構(gòu)的應(yīng)用更接近于單體式應(yīng)用站群.微服務(wù)架構(gòu)應(yīng)用為了實現(xiàn)從外部表現(xiàn)為與單體式應(yīng)用類似的形式,需要一個微服務(wù)作為接口網(wǎng)關(guān),同時需要提供負載均衡的特性.

    對于API 網(wǎng)關(guān),Spring Cloud 提供了兩套方案:

    ① Zuul:Zuul 來源于Netflix 開源的微服務(wù)架構(gòu)套件.Zuul 底層采用了Tomcat Embeded 版本作為HTTP支撐層.

    ② Spring Cloud Gateway:Spring Cloud Gateway是由Spring 項目組基于其自研Web 框架WebFlux 實現(xiàn)的API 網(wǎng)關(guān).Spring Cloud Gateway是Spring Cloud去Netflix 進程中非常重要的一個項目,旨在替代Zuul成為未來的Spring Cloud 框架下的API 網(wǎng)關(guān)組件.

    WebFlux 底層為直接使用Netty 等高性能非阻塞服務(wù)器,相較于采用Servlet 架構(gòu)的Tomcat(Embeded)性能上略勝一籌[17].考慮到未來Spring 項目組開發(fā)的方向與性能預(yù)期,采用Spring Cloud Gateway 作為系統(tǒng)API 網(wǎng)關(guān).

    Spring Cloud Gateway 同樣可以使用Spring Initializer進行項目初始化,初始化完成后可以通過在application.yml 中的spring.cloud.gateway.route 字段中配置接口路徑與微服務(wù)的映射.

    代碼1.Spring Cloud Gateway 路由配置spring:application:name:application-gateway cloud:gateway:routes:# 用戶服務(wù)-id:user-service uri:lb://user-service predicates:->Path=/oauth/**,/user/**,/role/**# 其他服務(wù)#…

    對于負載均衡,Spring Cloud 框架提供了Ribbon組件.Ribbon是一款客戶端側(cè)負載均衡器,它可以自動從Discovery Client 中獲取微服務(wù)實力列表,應(yīng)用常見的負載均衡算法實現(xiàn)在同一服務(wù)的多個冗余實例上的負載均衡[18].通過添加org.springframework.cloud.spring-cloud-starter-netflix-ribbon 依賴即可在服務(wù)調(diào)用側(cè)引入負載均衡組件.

    3.3 微服務(wù)熔斷機制

    微服務(wù)之間往往避免不了互相調(diào)用對方的服務(wù).當(dāng)進行同步接口調(diào)用時,被調(diào)用方宕機、接口調(diào)用超時往往會引起調(diào)用方的異常.為了避免因微服務(wù)之間的依賴關(guān)系而出現(xiàn)大面積故障,調(diào)用方服務(wù)應(yīng)當(dāng)感知被調(diào)用方的異常并作出防御性動作,防止故障繼續(xù)的蔓延.

    在Spring Cloud 框架中,提供了Hystrix 組件.Hystrix 能夠在被調(diào)用微服務(wù)出現(xiàn)異常時及時熔斷,觸發(fā)調(diào)用方的異常處理流程,防止調(diào)用方產(chǎn)生異常.Hystrix組件可以通過在微服務(wù)中添加org.springframework.cloud.spring-cloud-starter-netflix-hystrix 依賴來添加至微服務(wù)中.在微服務(wù)啟動類上添加@EnableHystrix 注解即可啟用熔斷器.

    3.4 基于SSDB的圖像對象存儲系統(tǒng)

    在深度學(xué)習(xí)圖像識別模型訓(xùn)練過程中往往需要準備大量圖像,而實現(xiàn)存儲并快速索引圖像數(shù)據(jù)就是標(biāo)注系統(tǒng)性能提升的關(guān)鍵點.

    SSDB是一個高性能的支持豐富數(shù)據(jù)結(jié)構(gòu)的NoSQL數(shù)據(jù)庫,其底層實現(xiàn)為Google的高性能鍵值對數(shù)據(jù)庫LevelDB.

    首先是一個高性能SSDB 集群,SSDB 采用的是與Redis 相同的網(wǎng)絡(luò)通信實現(xiàn),故可以采用Redis 集群常用的TwemProxy 代理實現(xiàn)如圖5所示的對象存儲架構(gòu).

    圖5 SSDB 集群架構(gòu)

    圖5上部分是圖像對象存儲微服務(wù).圖像存儲微服務(wù)使用圖像原始數(shù)據(jù)經(jīng)哈希運算得到的索引號作為圖像在對象系統(tǒng)中的唯一索引.每一張圖像采用一個哈希表進行存儲,在哈希表中額外增加有關(guān)圖像內(nèi)容相關(guān)的元信息,對于重復(fù)上傳的內(nèi)容采取增加元信息中記錄的索引數(shù)量而不重復(fù)存儲.

    3.5 基于Gitlab-CICD的持續(xù)集成與部署

    在傳統(tǒng)的單體式應(yīng)用中,只需要編譯一次即可得到可運行的產(chǎn)物,而在微服務(wù)架構(gòu)應(yīng)用中,因為劃分為了多個實例,這種類似于“站群”的系統(tǒng)往往需要編譯多個“單體式應(yīng)用”并封裝為Docker 鏡像進行部署.為了減少編譯部署階段的工作量,使用Gitlab-CICD 實現(xiàn)全自動化的編譯、測試與部署.

    首先是準備一個Gitlab 實例,可以使用Gitlab 官方站點或者建立開源的Gitlab-CE 實例,本文不再贅述有關(guān)Gitlab 實例搭建的內(nèi)容.

    系統(tǒng)采用了Docker Swarm 作為微服務(wù)編排框架,使用Harbor 作為Docker Swarm 集群的私有鏡像源.

    Gitlab-CICD 中另一個重要組成部分便是Gitlab-Runner.Gitlab-Runner是實際執(zhí)行持續(xù)集成任務(wù)的主體.Gitlab-Runner 支持多種部署方式,本項目選擇了基于裸機系統(tǒng)的編譯環(huán)境,方便做一些特殊的環(huán)境配置.

    Gitlab-CICD 執(zhí)行流程如圖6所示,主要環(huán)節(jié)包括:

    ① 代碼提交:在各個微服務(wù)中建立Git 倉庫,并將倉庫托管至Gitlab.當(dāng)微服務(wù)代碼得到更新并推送提交至Gitlab 時,Gitlab 會自動檢查倉庫目標(biāo)分支中的.gitlab-ci.yml 文件中的配置,并在流水線(pipeline)中添加持續(xù)集成的任務(wù).

    ② CICD 任務(wù)的執(zhí)行:Gitlab-Runner 定時向Gitlab的流水線隊列請求任務(wù),當(dāng)Gitlab-Runner 得到任務(wù)后在其宿主機上執(zhí)行配置文件中定義的腳本.腳本中定義的動作完成微服務(wù)的編譯、測試、鏡像打包與提交、灰度更新.

    圖6 Gitlab-CICD 執(zhí)行流程

    以圖像管理服務(wù)為例,編寫了如代碼2 所示的gitlab-CICD.yml 配置文件.

    代碼2.Gitlab 持續(xù)集成與持續(xù)部署配置stages:-測試-構(gòu)建-部署測試:stage:測試only:-master tags:-dlp script:-mvn test構(gòu)建:

    stage:構(gòu)建only:-master tags:-dlp script:-mvn package-Dmaven.test.skip=true-docker build-t ${DOCKER_REGISTRY}/dlp/${SERVICE_NAME}:latest.-docker push ${DOCKER_REGISTRY}/dlp/${SERVICE_NAME}:latest部署:stage:部署only:-master tags:-dlp script:-docker-H ${DOCKER_SWARM} service update--image ${DOCKER_REGISTRY}/dlp/${SERVICE_NAME}:latest${DOCKER_SWARM_ STACK_NAME}_${SERVICE_NAME}

    如代碼2 所示,CICD 一次任務(wù)將分為3 個階段:構(gòu)建、測試與部署.其中測試階段由Maven 進行編譯并執(zhí)行系統(tǒng)中的單元測試;構(gòu)建階段直接使用Maven進行服務(wù)器端編譯,隨后使用Gitlab-Runner 宿主機上的docker 構(gòu)建鏡像并推送至Harbor;部署階段通過暴露Docker Swarm 中的Manager 節(jié)點上dockerd的2375端口,實現(xiàn)從Gitlab-Runner 宿主機直接控制集群并觸發(fā)微服務(wù)鏡像更新.運行效果如圖7所示.

    通過在各個微服務(wù)實例中分別修改相同邏輯后分別以手動部署與持續(xù)集成在多節(jié)點集群上部署并統(tǒng)計用時,得到邏輯更新至生產(chǎn)環(huán)境的耗時如表2所示.

    圖7 Gitlab-CICD 執(zhí)行效果

    表2 手動部署與CICD 部署效率對比

    由表2可知,CICD 有效減少了系統(tǒng)集成過程中的集成與部署時間成本,提升了系統(tǒng)邏輯變更同步至生產(chǎn)環(huán)境的效率.

    4 系統(tǒng)測試

    4.1 系統(tǒng)后端接口測試

    項目采用了微服務(wù)系統(tǒng)常見的前后端分離結(jié)構(gòu),前端在接口確定后采用樁服務(wù)器(mock-server)與后端并行開發(fā).后端系統(tǒng)測試過程中使用了postman 進行接口的測試,如圖8所示.

    Postman[19]是一個用于API 接口開發(fā)的協(xié)作平臺.它提供了一套API 接口開發(fā)工具,包括API 客戶端、文檔生成、自動化測試、API 接口監(jiān)控、API 設(shè)計與樁服務(wù)器與接口文檔協(xié)作.

    Postman 內(nèi)嵌了OAuth2的認證模型,通過配置即可實現(xiàn)一系列共用同認證服務(wù)的API 同時獲得登錄認證的功能.

    圖8 使用postman 對后端接口進行測試

    4.2 系統(tǒng)功能測試

    以深度學(xué)習(xí)圖像數(shù)據(jù)制備流程為例,對系統(tǒng)中圖像導(dǎo)入、任務(wù)分配與標(biāo)定、數(shù)據(jù)導(dǎo)出流程進行功能測試.

    首先是圖像導(dǎo)入.圖像標(biāo)注系統(tǒng)支持圖像、視頻、PDF、OpenDocument 等格式混合打包上傳,上傳界面如圖9所示.上傳完成數(shù)據(jù)傳輸后轉(zhuǎn)入異步解壓處理流程,異步解壓完成后前端顯示實際圖像集大小.

    在圖像集中創(chuàng)建出標(biāo)定集后即可向系統(tǒng)中其他用戶分配標(biāo)定任務(wù)進行圖像標(biāo)定的團隊協(xié)作.分配任務(wù)過程如圖10 所示.

    切換至任務(wù)執(zhí)行用戶,可以在“我的任務(wù)”頁面中看到由任務(wù)發(fā)起用戶分配的任務(wù),點擊“開始”按順序?qū)D像進行標(biāo)定.進入標(biāo)定流程后,如圖11 所示,通過在圖像上拖拽創(chuàng)建圖像區(qū)域,完成對圖像內(nèi)容的標(biāo)記.

    圖9 創(chuàng)建圖像集

    圖10 分配標(biāo)定任務(wù)

    標(biāo)注過程中發(fā)起任務(wù)的用戶能夠看到各個任務(wù)執(zhí)行用戶的標(biāo)定進度與當(dāng)前已標(biāo)定圖像的標(biāo)簽統(tǒng)計信息.當(dāng)圖像集標(biāo)定完成后,任務(wù)發(fā)起者可以對圖像進行最終修正并導(dǎo)出圖像集合與標(biāo)定集合開展深度學(xué)習(xí)模型訓(xùn)練.以導(dǎo)出的VOC XML 格式為例,最終導(dǎo)出的標(biāo)簽集如圖12 所示.

    圖11 圖像標(biāo)注過程

    圖12 標(biāo)簽集合導(dǎo)出

    4.3 系統(tǒng)性能測試

    本文采用開源Apache Benchmark 對系統(tǒng)中圖像對象存儲系統(tǒng)進行多并發(fā)場景下的性能測試,測試環(huán)境如表3所示.

    如表4所示為模擬多用戶進行每個終端進行10次訪問(總計訪問次數(shù)=并發(fā)數(shù)量×10)的資源響應(yīng)速度的測試的測試結(jié)果.

    由表4可知,采用微服務(wù)架構(gòu)有效提升了系統(tǒng)容量,允許更多的用戶參與到眾包圖像標(biāo)定工作中.

    表3 性能測試節(jié)點環(huán)境配置

    表4 圖像存儲服務(wù)性能測試結(jié)果(單位:ms)

    5 結(jié)束語

    本文設(shè)計實現(xiàn)了面向深度學(xué)習(xí)的圖像標(biāo)注系統(tǒng),與傳統(tǒng)的本地標(biāo)注工具不同,本系統(tǒng)引入了眾包協(xié)作的思想與多種圖像格式存儲支持,將繁重的數(shù)據(jù)標(biāo)注任務(wù)進行合作完成,并提供了多種導(dǎo)出格式,避免了傳統(tǒng)工具協(xié)作標(biāo)注工作流中大量圖像數(shù)據(jù)的分包與標(biāo)簽數(shù)據(jù)合并操作,簡化了協(xié)作標(biāo)定流程,有效提升了數(shù)據(jù)準備階段的工作效率.同時,系統(tǒng)架構(gòu)層面采用了微服務(wù)架構(gòu),開發(fā)階段引入基于Gitlab-CICD的持續(xù)集成與持續(xù)部署,加速了系統(tǒng)開發(fā)到部署的更新迭代.

    猜你喜歡
    標(biāo)定部署架構(gòu)
    基于FPGA的RNN硬件加速架構(gòu)
    一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
    晉城:安排部署 統(tǒng)防統(tǒng)治
    功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
    汽車工程(2021年12期)2021-03-08 02:34:30
    部署
    使用朗仁H6 Pro標(biāo)定北汽紳寶轉(zhuǎn)向角傳感器
    LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
    基于勻速率26位置法的iIMU-FSAS光纖陀螺儀標(biāo)定
    船載高精度星敏感器安裝角的標(biāo)定
    部署“薩德”意欲何為?
    太空探索(2016年9期)2016-07-12 10:00:02
    亚洲精品久久午夜乱码| 一级毛片黄色毛片免费观看视频| 亚洲欧美精品自产自拍| 五月伊人婷婷丁香| 国产亚洲午夜精品一区二区久久| 国产成人a∨麻豆精品| 日韩欧美精品免费久久| 飞空精品影院首页| 考比视频在线观看| 日本-黄色视频高清免费观看| 亚洲人成电影观看| 亚洲成国产人片在线观看| 美女午夜性视频免费| 日韩,欧美,国产一区二区三区| 亚洲国产精品999| 国产av精品麻豆| 日产精品乱码卡一卡2卡三| 日日撸夜夜添| 国产亚洲最大av| 久久久久久久精品精品| 水蜜桃什么品种好| 国产精品久久久av美女十八| 国产成人精品久久二区二区91 | 国产午夜精品一二区理论片| 熟女电影av网| 国产国语露脸激情在线看| 一区在线观看完整版| 各种免费的搞黄视频| 久久精品久久精品一区二区三区| 一级黄片播放器| 波多野结衣av一区二区av| 精品少妇黑人巨大在线播放| 精品人妻偷拍中文字幕| 成年女人毛片免费观看观看9 | 久热久热在线精品观看| 赤兔流量卡办理| 国产av精品麻豆| 哪个播放器可以免费观看大片| 国产亚洲欧美精品永久| 欧美人与性动交α欧美软件| 精品亚洲成a人片在线观看| 久热这里只有精品99| 大香蕉久久网| 纯流量卡能插随身wifi吗| 国产又爽黄色视频| 丝袜美腿诱惑在线| 日本午夜av视频| 一本—道久久a久久精品蜜桃钙片| 国产一区二区 视频在线| 亚洲四区av| 蜜桃国产av成人99| 国产成人精品一,二区| 两个人免费观看高清视频| 国产色婷婷99| 国产国语露脸激情在线看| 久久精品人人爽人人爽视色| 国产精品国产av在线观看| 另类亚洲欧美激情| 秋霞伦理黄片| 考比视频在线观看| 免费在线观看完整版高清| 亚洲成色77777| 在线天堂最新版资源| 成人毛片a级毛片在线播放| 国产极品天堂在线| 99香蕉大伊视频| 日本色播在线视频| 91aial.com中文字幕在线观看| 日韩制服骚丝袜av| 欧美日韩亚洲国产一区二区在线观看 | 一本—道久久a久久精品蜜桃钙片| 午夜激情久久久久久久| 亚洲欧洲精品一区二区精品久久久 | 午夜激情av网站| 啦啦啦中文免费视频观看日本| 少妇猛男粗大的猛烈进出视频| 精品第一国产精品| 国产成人a∨麻豆精品| 久久国产亚洲av麻豆专区| 国产成人a∨麻豆精品| 亚洲综合精品二区| 国产精品熟女久久久久浪| 国产精品99久久99久久久不卡 | 女性生殖器流出的白浆| 国产一区二区激情短视频 | 97人妻天天添夜夜摸| 韩国高清视频一区二区三区| 久久精品夜色国产| 九色亚洲精品在线播放| 狂野欧美激情性bbbbbb| 超碰97精品在线观看| av不卡在线播放| 国产 精品1| 好男人视频免费观看在线| 国产1区2区3区精品| 啦啦啦在线免费观看视频4| 亚洲国产欧美网| 亚洲精品国产av成人精品| 男人爽女人下面视频在线观看| 国产精品熟女久久久久浪| 一本久久精品| 日本欧美国产在线视频| 国产 精品1| 侵犯人妻中文字幕一二三四区| 国产成人aa在线观看| 久久精品国产综合久久久| 精品卡一卡二卡四卡免费| 亚洲综合精品二区| 中文字幕精品免费在线观看视频| 热99国产精品久久久久久7| 久久久久国产精品人妻一区二区| 国产亚洲一区二区精品| 国产精品国产三级国产专区5o| 伊人久久大香线蕉亚洲五| 两个人看的免费小视频| 不卡视频在线观看欧美| 秋霞在线观看毛片| 国产一区二区在线观看av| 亚洲人成网站在线观看播放| 精品少妇内射三级| 色婷婷av一区二区三区视频| 不卡视频在线观看欧美| 免费黄色在线免费观看| 国产精品一区二区在线不卡| 毛片一级片免费看久久久久| 夜夜骑夜夜射夜夜干| 老司机影院成人| 建设人人有责人人尽责人人享有的| 欧美中文综合在线视频| 777米奇影视久久| 精品一区二区三区四区五区乱码 | 老司机影院毛片| 免费观看av网站的网址| 老鸭窝网址在线观看| av在线观看视频网站免费| 亚洲av成人精品一二三区| 各种免费的搞黄视频| 青春草亚洲视频在线观看| xxxhd国产人妻xxx| 日韩免费高清中文字幕av| 女性被躁到高潮视频| 在线免费观看不下载黄p国产| 性色avwww在线观看| 欧美日韩av久久| 人妻少妇偷人精品九色| 国产成人av激情在线播放| 亚洲国产欧美网| 久久久久网色| 亚洲欧美精品综合一区二区三区 | 国产老妇伦熟女老妇高清| 人妻系列 视频| 精品99又大又爽又粗少妇毛片| 男人添女人高潮全过程视频| 男人添女人高潮全过程视频| 老汉色av国产亚洲站长工具| 国产精品不卡视频一区二区| videosex国产| 交换朋友夫妻互换小说| 香蕉国产在线看| 各种免费的搞黄视频| 人人澡人人妻人| 午夜福利影视在线免费观看| 人妻少妇偷人精品九色| 999久久久国产精品视频| 久久狼人影院| 亚洲第一青青草原| 90打野战视频偷拍视频| 美女大奶头黄色视频| 又大又黄又爽视频免费| 人人澡人人妻人| 精品少妇一区二区三区视频日本电影 | 国产福利在线免费观看视频| 国产97色在线日韩免费| 国产1区2区3区精品| 国产激情久久老熟女| 欧美日韩国产mv在线观看视频| 曰老女人黄片| 一个人免费看片子| 老司机影院毛片| 久久久久久久久久久久大奶| 最黄视频免费看| 爱豆传媒免费全集在线观看| 黑人猛操日本美女一级片| 免费观看无遮挡的男女| 午夜91福利影院| 五月天丁香电影| a级毛片在线看网站| 中文天堂在线官网| 哪个播放器可以免费观看大片| 日韩中文字幕视频在线看片| 日本猛色少妇xxxxx猛交久久| 免费观看性生交大片5| 99久久综合免费| 久久人人爽人人片av| 99久久精品国产国产毛片| 不卡av一区二区三区| 国产日韩欧美视频二区| 午夜福利视频在线观看免费| 国产成人午夜福利电影在线观看| 美女脱内裤让男人舔精品视频| 一区二区三区精品91| 一本—道久久a久久精品蜜桃钙片| 丰满乱子伦码专区| 啦啦啦中文免费视频观看日本| 精品卡一卡二卡四卡免费| a 毛片基地| 狠狠精品人妻久久久久久综合| 成年女人在线观看亚洲视频| 黄片小视频在线播放| 免费大片黄手机在线观看| 永久网站在线| 美女主播在线视频| 国产男女内射视频| 午夜福利视频精品| 侵犯人妻中文字幕一二三四区| 国产深夜福利视频在线观看| 成年女人在线观看亚洲视频| 成人亚洲精品一区在线观看| 天天躁夜夜躁狠狠久久av| 日韩一卡2卡3卡4卡2021年| 一级片'在线观看视频| 在线观看免费高清a一片| 性色av一级| 久久久国产欧美日韩av| 热99久久久久精品小说推荐| 亚洲中文av在线| 免费高清在线观看视频在线观看| 日韩三级伦理在线观看| 国产免费视频播放在线视频| 国产精品免费视频内射| 精品一区二区三区四区五区乱码 | 国产精品三级大全| 丰满乱子伦码专区| 久久国内精品自在自线图片| 亚洲国产欧美日韩在线播放| 欧美av亚洲av综合av国产av | 熟妇人妻不卡中文字幕| 国产av一区二区精品久久| 最近中文字幕2019免费版| 如日韩欧美国产精品一区二区三区| 高清av免费在线| 国产av国产精品国产| 亚洲欧美中文字幕日韩二区| 亚洲欧美精品综合一区二区三区 | 国产精品蜜桃在线观看| 国产一级毛片在线| 国产精品蜜桃在线观看| 欧美激情 高清一区二区三区| 久久99一区二区三区| 亚洲国产av影院在线观看| 精品第一国产精品| 国产精品99久久99久久久不卡 | 高清欧美精品videossex| 国产无遮挡羞羞视频在线观看| 久久精品aⅴ一区二区三区四区 | 精品人妻偷拍中文字幕| 女人精品久久久久毛片| 中文字幕最新亚洲高清| 久久国产亚洲av麻豆专区| 97精品久久久久久久久久精品| 涩涩av久久男人的天堂| 久久久欧美国产精品| 肉色欧美久久久久久久蜜桃| 26uuu在线亚洲综合色| 黑人猛操日本美女一级片| 超碰成人久久| 中文字幕制服av| 午夜福利一区二区在线看| 国产女主播在线喷水免费视频网站| 美女国产视频在线观看| 美女福利国产在线| 国产日韩欧美视频二区| 国产又爽黄色视频| 成年女人在线观看亚洲视频| 久久精品人人爽人人爽视色| 电影成人av| 欧美日韩亚洲国产一区二区在线观看 | 色网站视频免费| 如日韩欧美国产精品一区二区三区| 两性夫妻黄色片| 两性夫妻黄色片| 夫妻午夜视频| 男女高潮啪啪啪动态图| 丝袜人妻中文字幕| 亚洲一级一片aⅴ在线观看| 亚洲精品日本国产第一区| 女的被弄到高潮叫床怎么办| 少妇被粗大的猛进出69影院| 免费人妻精品一区二区三区视频| 黄片播放在线免费| 亚洲美女搞黄在线观看| 人妻一区二区av| 搡女人真爽免费视频火全软件| 精品久久久精品久久久| 免费少妇av软件| 91国产中文字幕| 午夜日韩欧美国产| 丝袜喷水一区| 国产成人精品久久二区二区91 | 香蕉国产在线看| 日日爽夜夜爽网站| videos熟女内射| 亚洲人成77777在线视频| 在线观看三级黄色| 久久精品久久久久久久性| 亚洲成色77777| 亚洲欧洲日产国产| 国产精品久久久久久精品电影小说| 热99久久久久精品小说推荐| 成人国产麻豆网| 欧美日韩精品网址| 涩涩av久久男人的天堂| 久久久久久久久久久久大奶| 国产成人av激情在线播放| av在线app专区| 交换朋友夫妻互换小说| 国产片内射在线| 日韩制服丝袜自拍偷拍| 大香蕉久久网| 日日撸夜夜添| 成年人午夜在线观看视频| 久久精品熟女亚洲av麻豆精品| 亚洲精品,欧美精品| 亚洲国产欧美网| 人妻 亚洲 视频| 久久99蜜桃精品久久| 国语对白做爰xxxⅹ性视频网站| 男人添女人高潮全过程视频| 哪个播放器可以免费观看大片| 国产精品久久久久成人av| a级片在线免费高清观看视频| 街头女战士在线观看网站| 成人漫画全彩无遮挡| videos熟女内射| 大香蕉久久成人网| 精品卡一卡二卡四卡免费| 国产成人午夜福利电影在线观看| 日韩不卡一区二区三区视频在线| 下体分泌物呈黄色| 亚洲成av片中文字幕在线观看 | 日韩 亚洲 欧美在线| 自线自在国产av| 在线天堂最新版资源| 9色porny在线观看| 黄色 视频免费看| 成人毛片60女人毛片免费| 激情五月婷婷亚洲| 亚洲国产欧美日韩在线播放| 男女免费视频国产| 国产成人av激情在线播放| 欧美精品高潮呻吟av久久| 亚洲av中文av极速乱| 亚洲成人手机| 在线观看免费视频网站a站| 91国产中文字幕| 我要看黄色一级片免费的| 中文字幕人妻丝袜一区二区 | 欧美精品国产亚洲| 欧美成人精品欧美一级黄| 交换朋友夫妻互换小说| 亚洲色图综合在线观看| av线在线观看网站| 边亲边吃奶的免费视频| 久久综合国产亚洲精品| 国产日韩欧美亚洲二区| 日韩人妻精品一区2区三区| 日韩成人av中文字幕在线观看| 亚洲三级黄色毛片| 五月伊人婷婷丁香| 国产老妇伦熟女老妇高清| 大香蕉久久网| 午夜久久久在线观看| 国产深夜福利视频在线观看| 天天躁夜夜躁狠狠久久av| 少妇猛男粗大的猛烈进出视频| 日韩欧美一区视频在线观看| 美女主播在线视频| 高清欧美精品videossex| 人人妻人人爽人人添夜夜欢视频| 一本色道久久久久久精品综合| 精品国产超薄肉色丝袜足j| 久久精品人人爽人人爽视色| 91久久精品国产一区二区三区| 极品少妇高潮喷水抽搐| 日产精品乱码卡一卡2卡三| 午夜老司机福利剧场| 国产又色又爽无遮挡免| 国产成人免费观看mmmm| 亚洲精品成人av观看孕妇| 欧美激情高清一区二区三区 | 日日爽夜夜爽网站| 青春草视频在线免费观看| 日韩中字成人| av女优亚洲男人天堂| 中文字幕人妻丝袜一区二区 | 男女边吃奶边做爰视频| 女的被弄到高潮叫床怎么办| 日韩熟女老妇一区二区性免费视频| 欧美另类一区| 国产亚洲精品第一综合不卡| 欧美人与性动交α欧美精品济南到 | 性色avwww在线观看| 精品人妻在线不人妻| 日韩不卡一区二区三区视频在线| 一级a爱视频在线免费观看| 老司机影院毛片| 久久ye,这里只有精品| av线在线观看网站| 汤姆久久久久久久影院中文字幕| 嫩草影院入口| 1024香蕉在线观看| 亚洲综合色惰| 999精品在线视频| 最新的欧美精品一区二区| av不卡在线播放| 日本黄色日本黄色录像| 日本猛色少妇xxxxx猛交久久| 亚洲美女搞黄在线观看| 制服诱惑二区| 国产精品久久久久久av不卡| 久久精品熟女亚洲av麻豆精品| 国产精品秋霞免费鲁丝片| 亚洲av免费高清在线观看| 国产欧美亚洲国产| av天堂久久9| 国产淫语在线视频| 国产成人91sexporn| 老汉色∧v一级毛片| 边亲边吃奶的免费视频| 嫩草影院入口| 欧美+日韩+精品| 国产亚洲午夜精品一区二区久久| 女人高潮潮喷娇喘18禁视频| 超色免费av| 亚洲精品日本国产第一区| 欧美最新免费一区二区三区| 久久午夜综合久久蜜桃| 在线观看人妻少妇| 又大又黄又爽视频免费| 中文乱码字字幕精品一区二区三区| 久久久久久久久久人人人人人人| 国产精品三级大全| 精品亚洲成a人片在线观看| 国产欧美日韩综合在线一区二区| 一级毛片黄色毛片免费观看视频| 婷婷色av中文字幕| 制服丝袜香蕉在线| 免费观看性生交大片5| 国产av一区二区精品久久| 一本—道久久a久久精品蜜桃钙片| 国产精品久久久久久久久免| 亚洲精品aⅴ在线观看| videossex国产| 久久鲁丝午夜福利片| 这个男人来自地球电影免费观看 | av电影中文网址| 黄色一级大片看看| 看十八女毛片水多多多| 两个人看的免费小视频| 日韩电影二区| 国产97色在线日韩免费| 国产精品蜜桃在线观看| 久久精品国产亚洲av高清一级| 久久青草综合色| 日韩一区二区视频免费看| 国产成人91sexporn| 中文字幕亚洲精品专区| 日韩av在线免费看完整版不卡| 亚洲精品日本国产第一区| 女人久久www免费人成看片| 青青草视频在线视频观看| 少妇的逼水好多| 少妇的丰满在线观看| 日日啪夜夜爽| 又大又黄又爽视频免费| 美女视频免费永久观看网站| 亚洲激情五月婷婷啪啪| 亚洲国产精品成人久久小说| 国产高清不卡午夜福利| 美女福利国产在线| 国产在线免费精品| 黄片播放在线免费| 1024香蕉在线观看| 亚洲精品国产色婷婷电影| 男女无遮挡免费网站观看| 国产成人免费观看mmmm| 97在线人人人人妻| 亚洲国产av新网站| 晚上一个人看的免费电影| 欧美日韩视频精品一区| 777久久人妻少妇嫩草av网站| 欧美精品一区二区大全| 下体分泌物呈黄色| 亚洲第一区二区三区不卡| 日日爽夜夜爽网站| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 9191精品国产免费久久| 大香蕉久久网| 在线观看免费高清a一片| 国产在线视频一区二区| 日韩成人av中文字幕在线观看| 亚洲成av片中文字幕在线观看 | 中文字幕亚洲精品专区| 中文天堂在线官网| 在现免费观看毛片| 国产成人精品在线电影| 国产精品 欧美亚洲| 高清在线视频一区二区三区| 免费播放大片免费观看视频在线观看| 少妇人妻精品综合一区二区| 麻豆av在线久日| 少妇人妻精品综合一区二区| a级毛片在线看网站| 曰老女人黄片| 精品福利永久在线观看| 天天躁日日躁夜夜躁夜夜| 99精国产麻豆久久婷婷| 99九九在线精品视频| 成人亚洲欧美一区二区av| 欧美日韩国产mv在线观看视频| 伦理电影大哥的女人| 午夜日韩欧美国产| 色网站视频免费| 精品久久久精品久久久| 国产av码专区亚洲av| 久久午夜福利片| 在线天堂最新版资源| 国产精品久久久久成人av| 亚洲欧美一区二区三区黑人 | 大话2 男鬼变身卡| av女优亚洲男人天堂| 欧美精品人与动牲交sv欧美| 人妻少妇偷人精品九色| 一级,二级,三级黄色视频| 免费黄色在线免费观看| av在线观看视频网站免费| 精品少妇一区二区三区视频日本电影 | 亚洲四区av| 国产免费福利视频在线观看| 亚洲精品日本国产第一区| 亚洲av电影在线进入| 亚洲色图综合在线观看| 久久av网站| 久久热在线av| 十八禁网站网址无遮挡| 久久97久久精品| 老司机影院毛片| 又黄又粗又硬又大视频| 狠狠婷婷综合久久久久久88av| 在线观看免费高清a一片| 老司机影院毛片| 日本欧美国产在线视频| 交换朋友夫妻互换小说| 最近的中文字幕免费完整| 一区二区三区精品91| 女人被躁到高潮嗷嗷叫费观| 最黄视频免费看| www.自偷自拍.com| 国产麻豆69| 久久久久久久亚洲中文字幕| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲精品久久成人aⅴ小说| 免费久久久久久久精品成人欧美视频| 久久婷婷青草| 91久久精品国产一区二区三区| 久久亚洲国产成人精品v| 欧美日韩视频高清一区二区三区二| 国产成人午夜福利电影在线观看| 青春草亚洲视频在线观看| 亚洲精品美女久久av网站| 好男人视频免费观看在线| 天堂中文最新版在线下载| 在线 av 中文字幕| 久久免费观看电影| 成人二区视频| 精品久久久久久电影网| 日韩视频在线欧美| 久久久久人妻精品一区果冻| 捣出白浆h1v1| videossex国产| 大话2 男鬼变身卡| 97精品久久久久久久久久精品| 国产精品成人在线| 午夜精品国产一区二区电影| 美女国产视频在线观看| 日韩精品免费视频一区二区三区| 久久久久人妻精品一区果冻| 国产成人精品福利久久| 不卡av一区二区三区| 欧美亚洲 丝袜 人妻 在线| 成年av动漫网址| xxx大片免费视频| 亚洲,欧美精品.| 嫩草影院入口| 高清黄色对白视频在线免费看| 99热全是精品| 人人妻人人澡人人看| 精品国产一区二区三区四区第35| 亚洲欧洲精品一区二区精品久久久 | 亚洲色图综合在线观看| 国产熟女欧美一区二区| 五月天丁香电影| 国产极品天堂在线| 免费黄网站久久成人精品| 中文精品一卡2卡3卡4更新| 深夜精品福利| videossex国产| 精品福利永久在线观看| 久久久久久免费高清国产稀缺| 精品国产一区二区久久| 青春草视频在线免费观看| 久久人人爽av亚洲精品天堂| 国产精品一区二区在线观看99| 国产老妇伦熟女老妇高清| 成人手机av|