• <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
    日本vs欧美在线观看视频| 色精品久久人妻99蜜桃| 精品午夜福利视频在线观看一区| a级毛片在线看网站| 人成视频在线观看免费观看| 欧美成人性av电影在线观看| 嫩草影院精品99| 日韩三级视频一区二区三区| 国产精品一区二区三区四区久久 | 久久久久久久久免费视频了| 50天的宝宝边吃奶边哭怎么回事| 欧美一级a爱片免费观看看 | 精品人妻在线不人妻| 欧美日本亚洲视频在线播放| 午夜福利18| 久久久国产欧美日韩av| 亚洲国产精品999在线| 国产又爽黄色视频| 免费少妇av软件| 啦啦啦免费观看视频1| 黑人巨大精品欧美一区二区蜜桃| 国产三级在线视频| 欧美在线黄色| 国产真人三级小视频在线观看| 女人被躁到高潮嗷嗷叫费观| 少妇粗大呻吟视频| 黄色 视频免费看| 欧美日韩黄片免| 亚洲国产高清在线一区二区三 | 成人欧美大片| 欧美一级a爱片免费观看看 | 日韩三级视频一区二区三区| 99热只有精品国产| 免费高清视频大片| 女性生殖器流出的白浆| 国产三级黄色录像| 黄色视频,在线免费观看| 淫秽高清视频在线观看| 天堂√8在线中文| 国产精品久久久人人做人人爽| 97人妻精品一区二区三区麻豆 | 亚洲avbb在线观看| 免费不卡黄色视频| 国产精品秋霞免费鲁丝片| 亚洲人成电影免费在线| 别揉我奶头~嗯~啊~动态视频| 一进一出抽搐动态| 美女 人体艺术 gogo| 日韩一卡2卡3卡4卡2021年| 免费在线观看亚洲国产| 十分钟在线观看高清视频www| 国产亚洲欧美精品永久| 人人澡人人妻人| 国产精品一区二区精品视频观看| 999久久久精品免费观看国产| av天堂在线播放| 天天躁夜夜躁狠狠躁躁| 国产xxxxx性猛交| 久热这里只有精品99| 国产精品久久久人人做人人爽| 日韩精品免费视频一区二区三区| 亚洲精品久久成人aⅴ小说| 91麻豆精品激情在线观看国产| 国产私拍福利视频在线观看| 国产一区二区三区综合在线观看| 国产午夜精品久久久久久| 黄色视频,在线免费观看| 51午夜福利影视在线观看| 亚洲欧美一区二区三区黑人| 亚洲av熟女| 中亚洲国语对白在线视频| 大型av网站在线播放| 亚洲精品中文字幕一二三四区| 日韩高清综合在线| 真人一进一出gif抽搐免费| 中文字幕人妻熟女乱码| 亚洲欧美激情综合另类| 中出人妻视频一区二区| 女人被狂操c到高潮| 色尼玛亚洲综合影院| 法律面前人人平等表现在哪些方面| 国产人伦9x9x在线观看| 精品久久蜜臀av无| 人妻久久中文字幕网| 国产97色在线日韩免费| 国产成人av教育| 大码成人一级视频| 午夜久久久久精精品| 国产精品电影一区二区三区| 熟妇人妻久久中文字幕3abv| 成年版毛片免费区| 亚洲精品在线美女| 久久国产精品影院| 久久久久久国产a免费观看| 亚洲人成77777在线视频| 一区二区日韩欧美中文字幕| 亚洲,欧美精品.| 欧美日韩中文字幕国产精品一区二区三区 | 国产精品乱码一区二三区的特点 | av视频在线观看入口| 亚洲av熟女| 久久久国产成人免费| 日韩高清综合在线| 久久久国产成人免费| av片东京热男人的天堂| 亚洲天堂国产精品一区在线| 国产亚洲精品综合一区在线观看 | 国产欧美日韩综合在线一区二区| 大码成人一级视频| 免费观看精品视频网站| 老熟妇乱子伦视频在线观看| 12—13女人毛片做爰片一| 女人高潮潮喷娇喘18禁视频| 精品国产一区二区三区四区第35| 十八禁网站免费在线| 欧美日韩中文字幕国产精品一区二区三区 | 欧美日韩亚洲综合一区二区三区_| 午夜亚洲福利在线播放| 久久天躁狠狠躁夜夜2o2o| 亚洲国产欧美一区二区综合| 亚洲成av人片免费观看| 欧美中文日本在线观看视频| xxx96com| 日韩国内少妇激情av| 999久久久精品免费观看国产| 久久精品91蜜桃| 一a级毛片在线观看| 久久久久久大精品| 夜夜爽天天搞| 亚洲色图 男人天堂 中文字幕| 99久久国产精品久久久| 老司机午夜福利在线观看视频| 久久影院123| 国产成人免费无遮挡视频| 99国产精品一区二区三区| 精品福利观看| 亚洲精品在线美女| 亚洲 国产 在线| 无遮挡黄片免费观看| 国产高清激情床上av| 国产三级黄色录像| 琪琪午夜伦伦电影理论片6080| 国产精品av久久久久免费| 国产精品九九99| 90打野战视频偷拍视频| 久久天躁狠狠躁夜夜2o2o| 日韩有码中文字幕| 国产97色在线日韩免费| 亚洲第一电影网av| 亚洲国产欧美网| 好看av亚洲va欧美ⅴa在| 国产午夜福利久久久久久| 国产野战对白在线观看| 久久亚洲精品不卡| 99国产精品免费福利视频| 久久亚洲真实| 国产单亲对白刺激| 99精品在免费线老司机午夜| 美女国产高潮福利片在线看| 亚洲精品中文字幕在线视频| 丝袜在线中文字幕| 久久婷婷成人综合色麻豆| 神马国产精品三级电影在线观看 | а√天堂www在线а√下载| 在线观看日韩欧美| 日韩高清综合在线| 久久狼人影院| 日韩av在线大香蕉| 可以免费在线观看a视频的电影网站| 亚洲avbb在线观看| 亚洲国产精品sss在线观看| 亚洲精品一区av在线观看| 亚洲av美国av| 男女之事视频高清在线观看| 两性夫妻黄色片| 国产成人啪精品午夜网站| 亚洲精品av麻豆狂野| 欧美成人午夜精品| 波多野结衣av一区二区av| 黄片小视频在线播放| 91成年电影在线观看| 国产成人影院久久av| 又大又爽又粗| e午夜精品久久久久久久| 熟女少妇亚洲综合色aaa.| 国产激情欧美一区二区| 九色亚洲精品在线播放| 亚洲精品一区av在线观看| 欧美激情极品国产一区二区三区| 1024视频免费在线观看| 久久久国产成人精品二区| 9色porny在线观看| 777久久人妻少妇嫩草av网站| 少妇裸体淫交视频免费看高清 | 久久香蕉精品热| 宅男免费午夜| 久久久久国内视频| 1024视频免费在线观看| 色综合欧美亚洲国产小说| 久久 成人 亚洲| 精品国产亚洲在线| 国产91精品成人一区二区三区| 日本 欧美在线| 老司机午夜福利在线观看视频| 看片在线看免费视频| 一边摸一边做爽爽视频免费| 亚洲激情在线av| 电影成人av| 国产国语露脸激情在线看| 麻豆一二三区av精品| 亚洲 欧美 日韩 在线 免费| 午夜福利一区二区在线看| 少妇裸体淫交视频免费看高清 | 亚洲 国产 在线| 午夜福利免费观看在线| 国产片内射在线| 午夜免费成人在线视频| 母亲3免费完整高清在线观看| 国产aⅴ精品一区二区三区波| 国产男靠女视频免费网站| 久久精品91无色码中文字幕| 一本综合久久免费| 精品国产美女av久久久久小说| 精品熟女少妇八av免费久了| 不卡av一区二区三区| 免费在线观看完整版高清| 女人被狂操c到高潮| 身体一侧抽搐| 最近最新免费中文字幕在线| 可以在线观看毛片的网站| 久久精品aⅴ一区二区三区四区| 国产欧美日韩一区二区精品| 在线十欧美十亚洲十日本专区| 久久天堂一区二区三区四区| e午夜精品久久久久久久| 亚洲欧美日韩另类电影网站| 国产一区二区激情短视频| 精品久久久久久成人av| 村上凉子中文字幕在线| 18禁黄网站禁片午夜丰满| 熟妇人妻久久中文字幕3abv| 女生性感内裤真人,穿戴方法视频| 亚洲国产中文字幕在线视频| 91字幕亚洲| 免费人成视频x8x8入口观看| 咕卡用的链子| 天堂√8在线中文| 午夜福利成人在线免费观看| 久久人人97超碰香蕉20202| 1024视频免费在线观看| 一边摸一边抽搐一进一出视频| 国产高清激情床上av| 欧美色欧美亚洲另类二区 | 桃色一区二区三区在线观看| 动漫黄色视频在线观看| 亚洲黑人精品在线| 久久国产精品人妻蜜桃| 日本五十路高清| 午夜亚洲福利在线播放| 国产成人精品久久二区二区免费| 国产91精品成人一区二区三区| 亚洲精品中文字幕一二三四区| 国产片内射在线| 欧美日本亚洲视频在线播放| 国产欧美日韩综合在线一区二区| 亚洲国产高清在线一区二区三 | 久久性视频一级片| 亚洲中文日韩欧美视频| 国产一卡二卡三卡精品| 自拍欧美九色日韩亚洲蝌蚪91| 国产成人欧美| 久久九九热精品免费| 国产免费男女视频| 久久香蕉国产精品| 久久青草综合色| 在线观看免费视频网站a站| 性少妇av在线| 成人特级黄色片久久久久久久| 两个人视频免费观看高清| 午夜日韩欧美国产| 老汉色av国产亚洲站长工具| 欧美日韩亚洲国产一区二区在线观看| 婷婷精品国产亚洲av在线| 欧美色视频一区免费| av免费在线观看网站| 亚洲av电影在线进入| 午夜免费鲁丝| 亚洲成人国产一区在线观看| 老司机午夜福利在线观看视频| 97碰自拍视频| 两性夫妻黄色片| 日韩精品中文字幕看吧| 亚洲精品中文字幕一二三四区| 久久久久久久久中文| 国产91精品成人一区二区三区| 亚洲av电影不卡..在线观看| 亚洲欧美日韩无卡精品| 午夜精品久久久久久毛片777| 久久精品亚洲熟妇少妇任你| 啦啦啦 在线观看视频| 久久久国产成人精品二区| 欧美+亚洲+日韩+国产| 99riav亚洲国产免费| 手机成人av网站| 成人免费观看视频高清| 真人做人爱边吃奶动态| АⅤ资源中文在线天堂| 亚洲欧美日韩高清在线视频| 欧美黄色片欧美黄色片| svipshipincom国产片| 国产精品影院久久| 成人手机av| 亚洲欧美日韩另类电影网站| 久久天躁狠狠躁夜夜2o2o| 一本综合久久免费| 亚洲av电影在线进入| 成人欧美大片| 久久久久久国产a免费观看| 亚洲在线自拍视频| 亚洲av成人av| 亚洲色图综合在线观看| 日本精品一区二区三区蜜桃| √禁漫天堂资源中文www| 亚洲欧美日韩无卡精品| 老司机午夜福利在线观看视频| av天堂在线播放| 午夜福利在线观看吧| 色播在线永久视频| 国产三级黄色录像| 人妻丰满熟妇av一区二区三区| 欧美老熟妇乱子伦牲交| av天堂久久9| av视频免费观看在线观看| 欧美一级毛片孕妇| 国产精品久久久久久亚洲av鲁大| 国产精品美女特级片免费视频播放器 | 女性生殖器流出的白浆| 99精品在免费线老司机午夜| 啦啦啦 在线观看视频| 最新美女视频免费是黄的| 国产免费av片在线观看野外av| 女人精品久久久久毛片| 波多野结衣av一区二区av| 99久久国产精品久久久| 午夜成年电影在线免费观看| 男女午夜视频在线观看| 日韩一卡2卡3卡4卡2021年| 少妇粗大呻吟视频| 麻豆av在线久日| 久久精品亚洲熟妇少妇任你| 国产亚洲精品久久久久5区| 国产1区2区3区精品| 黄色视频不卡| 脱女人内裤的视频| 99在线人妻在线中文字幕| 欧美一级a爱片免费观看看 | 亚洲激情在线av| 在线播放国产精品三级| 精品乱码久久久久久99久播| 亚洲天堂国产精品一区在线| 99热只有精品国产| 夜夜躁狠狠躁天天躁| 免费av毛片视频| 亚洲精品国产色婷婷电影| 两个人免费观看高清视频| 人妻久久中文字幕网| 日韩精品青青久久久久久| 99在线视频只有这里精品首页| 身体一侧抽搐| 国产精品美女特级片免费视频播放器 | 人成视频在线观看免费观看| 国产精品免费视频内射| 日韩视频一区二区在线观看| 一区二区三区国产精品乱码| av在线天堂中文字幕| 麻豆一二三区av精品| 色综合站精品国产| 亚洲av成人一区二区三| 成在线人永久免费视频| 在线观看舔阴道视频| 亚洲熟妇熟女久久| 啦啦啦韩国在线观看视频| 天堂√8在线中文| 国产99久久九九免费精品| 国产欧美日韩一区二区三| 国产片内射在线| 1024香蕉在线观看| 最新美女视频免费是黄的| 精品乱码久久久久久99久播| 精品久久久久久成人av| 91麻豆精品激情在线观看国产| 午夜久久久久精精品| 亚洲激情在线av| 久久国产精品人妻蜜桃| 99精品欧美一区二区三区四区| 91大片在线观看| 亚洲国产毛片av蜜桃av| 成熟少妇高潮喷水视频| 男女做爰动态图高潮gif福利片 | 精品国产一区二区三区四区第35| 高清在线国产一区| 国产在线观看jvid| 成人三级做爰电影| 日本欧美视频一区| svipshipincom国产片| 久久亚洲精品不卡| 黄色丝袜av网址大全| 精品乱码久久久久久99久播| 50天的宝宝边吃奶边哭怎么回事| 91麻豆精品激情在线观看国产| 精品第一国产精品| АⅤ资源中文在线天堂| 在线观看舔阴道视频| 90打野战视频偷拍视频| 日韩国内少妇激情av| 免费人成视频x8x8入口观看| 夜夜看夜夜爽夜夜摸| 男人操女人黄网站| 国产精品影院久久| 首页视频小说图片口味搜索| 久久国产精品男人的天堂亚洲| 亚洲第一欧美日韩一区二区三区| 日韩精品免费视频一区二区三区| 日本在线视频免费播放| 十八禁网站免费在线| 免费观看精品视频网站| 国产精品精品国产色婷婷| 精品国产国语对白av| 性色av乱码一区二区三区2| 午夜福利影视在线免费观看| 母亲3免费完整高清在线观看| 欧美精品亚洲一区二区| 久久午夜亚洲精品久久| 嫩草影视91久久| 99精品久久久久人妻精品| 日本免费一区二区三区高清不卡 | 欧美久久黑人一区二区| 日韩精品免费视频一区二区三区| 国产片内射在线| 老汉色av国产亚洲站长工具| 人妻丰满熟妇av一区二区三区| 视频区欧美日本亚洲| 9191精品国产免费久久| 亚洲国产精品成人综合色| 国产精品98久久久久久宅男小说| tocl精华| 欧美+亚洲+日韩+国产| 极品人妻少妇av视频| 色在线成人网| 国产高清videossex| 国产欧美日韩一区二区三| 看免费av毛片| 日韩视频一区二区在线观看| 不卡av一区二区三区| 人成视频在线观看免费观看| 国产一级毛片七仙女欲春2 | 久久精品国产综合久久久| 国产精品自产拍在线观看55亚洲| 欧美精品啪啪一区二区三区| 大香蕉久久成人网| 好男人电影高清在线观看| 免费不卡黄色视频| 精品人妻1区二区| 美女 人体艺术 gogo| 久久国产乱子伦精品免费另类| 色av中文字幕| 亚洲,欧美精品.| 精品久久久久久久人妻蜜臀av | 国产精品野战在线观看| 男女之事视频高清在线观看| 亚洲欧美精品综合一区二区三区| 久久性视频一级片| 亚洲 国产 在线| 欧美丝袜亚洲另类 | 亚洲一区高清亚洲精品| 欧美黑人精品巨大| 欧洲精品卡2卡3卡4卡5卡区| 变态另类丝袜制服| 99国产精品一区二区三区| 一级片免费观看大全| 在线观看免费视频日本深夜| 久99久视频精品免费| 午夜福利18| 正在播放国产对白刺激| 99在线人妻在线中文字幕| 一本综合久久免费| 亚洲国产欧美一区二区综合| 国产一级毛片七仙女欲春2 | 99国产精品一区二区三区| 老鸭窝网址在线观看| 黑人巨大精品欧美一区二区mp4| 亚洲人成电影观看| 成人av一区二区三区在线看| 在线av久久热| 午夜a级毛片| 啦啦啦观看免费观看视频高清 | 亚洲欧美精品综合一区二区三区| tocl精华| 亚洲精品一区av在线观看| 久久伊人香网站| 国产午夜精品久久久久久| 欧美国产精品va在线观看不卡| 一边摸一边抽搐一进一小说| 久久欧美精品欧美久久欧美| 美女扒开内裤让男人捅视频| 亚洲男人天堂网一区| 91精品国产国语对白视频| 日本免费a在线| 国产精品亚洲一级av第二区| aaaaa片日本免费| 国产免费av片在线观看野外av| 精品国产乱子伦一区二区三区| 国产一区二区三区在线臀色熟女| 亚洲色图av天堂| 欧美日韩福利视频一区二区| 乱人伦中国视频| 国产精品永久免费网站| 91成年电影在线观看| 亚洲国产精品合色在线| 99精品久久久久人妻精品| 午夜影院日韩av| 制服人妻中文乱码| 久久中文字幕人妻熟女| 亚洲中文字幕日韩| 国产麻豆69| av欧美777| 夜夜躁狠狠躁天天躁| 久久人妻熟女aⅴ| 亚洲熟女毛片儿| 91国产中文字幕| 最近最新中文字幕大全电影3 | 国产成人精品久久二区二区91| 欧美精品亚洲一区二区| 热99re8久久精品国产| 欧美在线黄色| 黄色a级毛片大全视频| 极品教师在线免费播放| 黄网站色视频无遮挡免费观看| 日本vs欧美在线观看视频| 1024香蕉在线观看| 亚洲av片天天在线观看| 色播亚洲综合网| 日韩免费av在线播放| 亚洲国产中文字幕在线视频| 亚洲熟妇熟女久久| 老熟妇乱子伦视频在线观看| 99久久国产精品久久久| 精品一品国产午夜福利视频| 男男h啪啪无遮挡| 日韩av在线大香蕉| 亚洲 国产 在线| 熟女少妇亚洲综合色aaa.| 长腿黑丝高跟| 免费无遮挡裸体视频| 黄色片一级片一级黄色片| 亚洲国产毛片av蜜桃av| 看免费av毛片| 老鸭窝网址在线观看| 午夜福利高清视频| 国产精品久久电影中文字幕| 90打野战视频偷拍视频| 中文亚洲av片在线观看爽| 首页视频小说图片口味搜索| 亚洲,欧美精品.| 两性午夜刺激爽爽歪歪视频在线观看 | 操出白浆在线播放| 国产又色又爽无遮挡免费看| 可以在线观看毛片的网站| av超薄肉色丝袜交足视频| 999久久久国产精品视频| 精品午夜福利视频在线观看一区| 亚洲精品国产精品久久久不卡| 又黄又爽又免费观看的视频| 国产国语露脸激情在线看| 国产欧美日韩一区二区三| 一本综合久久免费| 禁无遮挡网站| 中文字幕人成人乱码亚洲影| 中文字幕高清在线视频| 亚洲精品中文字幕一二三四区| 国产精品综合久久久久久久免费 | 波多野结衣av一区二区av| 两个人看的免费小视频| 满18在线观看网站| 韩国精品一区二区三区| 国产亚洲欧美精品永久| 午夜福利免费观看在线| 欧美国产精品va在线观看不卡| 可以在线观看的亚洲视频| 丰满的人妻完整版| 熟妇人妻久久中文字幕3abv| 一级作爱视频免费观看| 国产精品久久久人人做人人爽| 午夜日韩欧美国产| 日韩高清综合在线| 丁香欧美五月| 亚洲精品av麻豆狂野| 免费人成视频x8x8入口观看| 99国产极品粉嫩在线观看| 老司机福利观看| 国产精品九九99| 国产精品一区二区精品视频观看| 久久香蕉激情| 在线观看免费视频网站a站| 咕卡用的链子| 国产熟女午夜一区二区三区| 日本 av在线| 欧美最黄视频在线播放免费| 久久天躁狠狠躁夜夜2o2o| 精品人妻1区二区| 9色porny在线观看| 免费人成视频x8x8入口观看| 国产男靠女视频免费网站| 精品国内亚洲2022精品成人| 国产精品 国内视频|