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

    基于智能云測(cè)試平臺(tái)通信模塊的設(shè)計(jì)

    2020-01-03 01:24:24謝錫海2尹成瑞
    計(jì)算機(jī)測(cè)量與控制 2019年12期
    關(guān)鍵詞:服務(wù)程序線程隊(duì)列

    王 亮, 謝錫海2,尹成瑞

    (1.青海大學(xué) 信息化技術(shù)中心, 西寧 810016;2.西安郵電大學(xué) 通信與信息工程學(xué)院, 西安 710061)

    0 引言

    自動(dòng)化測(cè)試技術(shù)[1-3]的發(fā)展經(jīng)歷了捕獲回放[4]、單腳本執(zhí)行、關(guān)鍵字驅(qū)動(dòng)的測(cè)試集執(zhí)行[5-6]這3個(gè)階段的發(fā)展,已經(jīng)逐步走向成熟,這三者的共同特點(diǎn)是基于單機(jī)版的測(cè)試平臺(tái)執(zhí)行[7]。對(duì)于單機(jī)版測(cè)試平臺(tái)來(lái)說(shuō),其測(cè)試套中的腳本運(yùn)行是串行化的,當(dāng)測(cè)試套中腳本規(guī)模較大時(shí),運(yùn)行一次所需的時(shí)間比較長(zhǎng)。

    智能云測(cè)試系統(tǒng)[8-9]的目標(biāo)是在實(shí)現(xiàn)測(cè)試資源管理自動(dòng)化的基礎(chǔ)上,提供更高效的自動(dòng)化腳本執(zhí)行平臺(tái),在智能云測(cè)試系統(tǒng)中,需要存在大量的執(zhí)行機(jī)運(yùn)行在獨(dú)立的計(jì)算機(jī)或者虛擬機(jī)[10]上。這些執(zhí)行機(jī)需要在統(tǒng)一的調(diào)度程序控制下,完成啟動(dòng)進(jìn)程、打開(kāi)相應(yīng)的控制臺(tái)、接受并運(yùn)行指定腳本、反饋當(dāng)前的執(zhí)行狀態(tài)、結(jié)束進(jìn)程的動(dòng)作。然而 通用測(cè)試平臺(tái)執(zhí)行機(jī)的啟動(dòng)、運(yùn)行及停止均是無(wú)人值守的。智能云測(cè)試系統(tǒng)內(nèi)部通過(guò)命令來(lái)驅(qū)動(dòng)執(zhí)行機(jī)來(lái)完成,這個(gè)需求對(duì)測(cè)試平臺(tái)的通信機(jī)制提出了新的挑戰(zhàn),并且這一通信機(jī)制對(duì)于后續(xù)測(cè)試工具及自動(dòng)化的發(fā)展帶來(lái)了新思路。

    1 通用測(cè)試平臺(tái)及通信機(jī)制

    通用測(cè)試平臺(tái)提供多種連接方式來(lái)連接設(shè)備,以TCL語(yǔ)言為基礎(chǔ),為測(cè)試人員提供了廣泛的手工測(cè)試和自動(dòng)化測(cè)試支持。通用測(cè)試平臺(tái)實(shí)質(zhì)是將多種不同的設(shè)備連接方式作了統(tǒng)一管理。避免了用戶分別使用超級(jí)終端、SSH Client等不同的客戶端來(lái)訪問(wèn)設(shè)備。所以通用測(cè)試平臺(tái)需要支持同時(shí)以不同的連接方式連接設(shè)備,并與設(shè)備CLI接口進(jìn)行交互。通用測(cè)試平臺(tái)集成文本編輯器來(lái)支持TCL腳本的編寫,使得通用測(cè)試平臺(tái)集TCL腳本編輯、執(zhí)行功能于一體,更加接近于TCL語(yǔ)言集成開(kāi)發(fā)環(huán)境。

    測(cè)試平臺(tái)作為一個(gè)標(biāo)準(zhǔn)的Windows程序,其絕大部分功能是由主界面的各項(xiàng)菜單來(lái)驅(qū)動(dòng)的。用戶在通用測(cè)試平臺(tái)主界面上的各項(xiàng)操作,包括點(diǎn)擊各類菜單,編輯器中輸入字符等操作,最終都會(huì)產(chǎn)生一系列的Windows消息,通用測(cè)試平臺(tái)通過(guò)接收并處理這些消息來(lái)響應(yīng)用戶,并進(jìn)行各項(xiàng)處理,大致的流程如圖1所示。

    圖1 消息驅(qū)動(dòng)

    現(xiàn)有通用測(cè)試平臺(tái)系統(tǒng)并不支持任何分布式特性,面對(duì)來(lái)自智能云測(cè)試系統(tǒng)的新需求時(shí),進(jìn)行相應(yīng)升級(jí)改造。智能云測(cè)試系統(tǒng)執(zhí)行機(jī)的功能需求實(shí)際只是當(dāng)前通用測(cè)試平臺(tái)系統(tǒng)所實(shí)現(xiàn)功能的一個(gè)子集,通過(guò)將外部的驅(qū)動(dòng)方式由Windows消息修改為特定命令格式后,可以滿足智能云測(cè)試的實(shí)際應(yīng)用,將具體操作理解為驅(qū)動(dòng)模塊,將通用測(cè)試平臺(tái)的實(shí)際功能模塊理解為業(yè)務(wù)模塊。將驅(qū)動(dòng)模塊由Windows消息轉(zhuǎn)換為其他特定命令,而業(yè)務(wù)模塊即可透明的支持多種應(yīng)用場(chǎng)景,如圖2所示。

    圖2 命令驅(qū)動(dòng)

    在實(shí)際實(shí)現(xiàn)時(shí),考慮到通信機(jī)制的通用性,重點(diǎn)考慮單機(jī)版測(cè)試平臺(tái)與分布式測(cè)試平臺(tái)實(shí)現(xiàn)上的統(tǒng)一;通信機(jī)制需要有良好的擴(kuò)展性來(lái)支撐未來(lái)需求。通過(guò)正常方式啟動(dòng)的通用測(cè)試平臺(tái)不受任何影響,仍然是由用戶通過(guò)GUI菜單產(chǎn)生的Windows消息來(lái)驅(qū)動(dòng);而在啟動(dòng)通用測(cè)試平臺(tái)時(shí)給出特定命令行參數(shù),通用測(cè)試平臺(tái)會(huì)在啟動(dòng)時(shí)進(jìn)行智能云測(cè)試服務(wù)注冊(cè),注冊(cè)成功后會(huì)自動(dòng)開(kāi)啟另外一條命令通道,接受并處理Carbon命令。

    2 智能云測(cè)試系統(tǒng)

    智能云測(cè)試[11]是在云計(jì)算的基礎(chǔ)下一種新型測(cè)試方法。由云系統(tǒng)維護(hù)資源池,統(tǒng)一管理測(cè)試所需的環(huán)境:設(shè)備、儀器和PC機(jī)等。智能云測(cè)試系統(tǒng)以云為中心,將測(cè)試資源集中管理,按需動(dòng)態(tài)分配,同時(shí)腳本集中在云端并發(fā)分布式執(zhí)行。用戶通過(guò)web接口向系統(tǒng)提交測(cè)試任務(wù),設(shè)定被測(cè)設(shè)備型號(hào),選定測(cè)試版本,測(cè)試用例,提交后系統(tǒng)會(huì)自動(dòng)計(jì)算該任務(wù)所需要的環(huán)境,并動(dòng)態(tài)分配測(cè)試組網(wǎng)、執(zhí)行機(jī)來(lái)執(zhí)行相應(yīng)測(cè)試?yán)?,并及時(shí)給出結(jié)果反饋。

    2.1 智能云測(cè)試系統(tǒng)通信機(jī)制

    智能云測(cè)試通信機(jī)制本質(zhì)是一種Client-Server通信機(jī)制的擴(kuò)展,通過(guò)將消息報(bào)文采用標(biāo)準(zhǔn)的HTTP消息進(jìn)行封裝,來(lái)支持多種語(yǔ)言實(shí)現(xiàn)的服務(wù)端和客戶端。也就是與編程語(yǔ)言無(wú)關(guān)的多客戶端多服務(wù)端通信機(jī)制,如圖3所示。

    圖3 智能云測(cè)試從通信機(jī)制

    通信機(jī)制有如下特點(diǎn):1)語(yǔ)言無(wú)關(guān)性:對(duì)于客戶端和服務(wù)提供端來(lái)說(shuō),可以采用任意語(yǔ)言編程實(shí)現(xiàn),且支持混合調(diào)用。TCL語(yǔ)言客戶端可以調(diào)用C++服務(wù)提供端的服務(wù),反之亦然??蛻舳诵枰{(diào)用某服務(wù)時(shí),不需要關(guān)心還服務(wù)是采用何種語(yǔ)言實(shí)現(xiàn);2)平臺(tái)無(wú)關(guān)性:客戶端、Carbon-Server和服務(wù)提供者可以運(yùn)行在Windows及Linux操作系統(tǒng),并且Windows系統(tǒng)上的客戶端程序也可以向Linux系統(tǒng)下的某個(gè)服務(wù)發(fā)起請(qǐng)求并得到處理,整個(gè)過(guò)程對(duì)客戶端完全透明;3)部署簡(jiǎn)單:客戶端、Carbon-Server和服務(wù)提供者在同一臺(tái)物理機(jī)器,亦可以完全在不同的物理機(jī)器;4)可擴(kuò)展性高:由于服務(wù)和客戶程序的松耦合性,在本系統(tǒng)中添加新的服務(wù)是極為便利的事情。不需要更改任何現(xiàn)有的服務(wù)提供者和客戶端,相應(yīng)的是,某服務(wù)提供者提供更多的功能命令時(shí),也只需要修改該服務(wù)本身,不對(duì)其他服務(wù)造成影響。

    2.2 Carbon-Server框架

    Carbon-Server以C/S模式實(shí)現(xiàn)一個(gè)簡(jiǎn)便的進(jìn)程間通信平臺(tái)?;诿钚行问降姆?wù)命令調(diào)用;簡(jiǎn)便的客戶端/服務(wù)實(shí)現(xiàn)接口;多編程語(yǔ)言支持;選用Selenium作為基礎(chǔ)框架進(jìn)行開(kāi)發(fā),Selenium是一款為實(shí)現(xiàn) Web應(yīng)用程序開(kāi)源的自動(dòng)化測(cè)試框架[[12-15],其服務(wù)程序的開(kāi)發(fā)和部署都相對(duì)容易,對(duì)操作系統(tǒng)和服務(wù)平臺(tái)依賴小,可擴(kuò)展性強(qiáng)。Selenium的通信過(guò)程如圖4所示。

    圖4 Selenium通信結(jié)構(gòu)

    這個(gè)通信過(guò)程中,客戶端接口將用戶調(diào)用的服務(wù)器命令及參數(shù)封裝在HTTP請(qǐng)求當(dāng)中發(fā)送給Selenium-Server,Selenium-Server解析命令內(nèi)容并構(gòu)造JSON字符串寫入到對(duì)應(yīng)瀏覽器的命令隊(duì)列。瀏覽器中運(yùn)行的Java-Script服務(wù)程序(Core)定時(shí)向Selenium-Server發(fā)送HTTP響應(yīng)(帶有POST消息)。如果命令隊(duì)列不為空,Selenium-Server就把命令字符串通過(guò)HTTP響應(yīng)發(fā)送給服務(wù)程序運(yùn)行。服務(wù)程序執(zhí)行命令并把結(jié)果封裝在下一個(gè)HTTP響應(yīng)當(dāng)中返回給Selenium-Server,最后Selenium-Server把命令結(jié)果封裝在HTTP響應(yīng)命令當(dāng)中返回給客戶端。要滿足Carbon-Server的要求,Selenium-Server需要?jiǎng)h除其中的瀏覽器支持部分,而主要保留了其中的通信機(jī)制、命令隊(duì)列、日志處理這3個(gè)部分。并對(duì)以下幾個(gè)方面進(jìn)行了改進(jìn),改進(jìn)后Carbon-Server的通信結(jié)構(gòu)如圖2所示。

    圖5 Carbon-Server通信結(jié)構(gòu)

    2.2.1 注冊(cè)/撤消服務(wù)

    Carbon-Server支持服務(wù)的注冊(cè)和撤消。使用Carbon-Server提供的服務(wù)程序開(kāi)發(fā)接口編寫的服務(wù)程序,通過(guò)向Carbon-Server發(fā)送registerService命令來(lái)完成注冊(cè)。Carbon-Server接受到注冊(cè)命令時(shí)為服務(wù)程序創(chuàng)建命令隊(duì)列。注冊(cè)之后,服務(wù)程序就可以定時(shí)從命令隊(duì)列當(dāng)中讀取命令。相應(yīng)的,unregisterService命令撤消服務(wù)的注冊(cè)。Carbon-Server會(huì)刪除服務(wù)對(duì)應(yīng)的命令隊(duì)列,并停止處理客戶端對(duì)該服務(wù)的命令請(qǐng)求。

    2.2.2 服務(wù)隊(duì)列標(biāo)識(shí)

    服務(wù)程序在注冊(cè)Carbon-Server時(shí),在register Service 命令中包含了服務(wù)的名稱信息。Carbon-Server使用服務(wù)隊(duì)列管理類來(lái)維護(hù)服務(wù)名稱到對(duì)應(yīng)的命令隊(duì)列的映射。每一個(gè)服務(wù)創(chuàng)建一個(gè)命令隊(duì)列,并映射到一個(gè)唯一的服務(wù)名稱標(biāo)識(shí)。因此,在Carbon-Server上注冊(cè)的服務(wù)不能存在重名的現(xiàn)象??蛻舳嗽谡?qǐng)求某個(gè)服務(wù)的命令時(shí)也必須指定服務(wù)的ServiceId。

    2.2.3 并發(fā)訪問(wèn)

    Carbon-Server的應(yīng)用環(huán)境中,通常存在兩種情況的并發(fā)需求:多客戶端并發(fā)訪問(wèn)同一個(gè)服務(wù)、多客戶端并發(fā)訪問(wèn)不同的服務(wù)。Carbon-Server使用Apache的Http包來(lái)提供HTTP服務(wù)。對(duì)于每一個(gè)HTTP請(qǐng)求(響應(yīng))都會(huì)創(chuàng)建一個(gè)處理線程。因此,并發(fā)訪問(wèn)實(shí)際上體現(xiàn)為多線程并發(fā)讀寫命令隊(duì)列。實(shí)現(xiàn)時(shí)使用同步阻塞的方法來(lái)限制同時(shí)只有一個(gè)線程寫入指定服務(wù)的命令隊(duì)列并等待結(jié)果。

    2.2.4 定時(shí)老化

    Carbon-Server為每一個(gè)注冊(cè)成功的服務(wù)創(chuàng)建一個(gè)計(jì)數(shù)器,并使用一個(gè)專門的定時(shí)器線程對(duì)所有定時(shí)器進(jìn)行刷新,定時(shí)器刷新線程每隔一定時(shí)間將所有計(jì)數(shù)器的值加1。如果計(jì)數(shù)器的值達(dá)到限制的數(shù)值,則認(rèn)為該服務(wù)已超時(shí),需要?jiǎng)h除其命令隊(duì)列。另一方面,當(dāng)Carbon-Server接受到服務(wù)程序發(fā)送的命令獲取消息時(shí),計(jì)數(shù)器設(shè)置為0。

    2.2.5 狀態(tài)查詢

    Carbon-Server提供listAllService命令來(lái)查詢所有服務(wù)的狀態(tài)。返回信息以換行符分隔,每一行對(duì)應(yīng)一個(gè)服務(wù)的狀態(tài)信息。行的內(nèi)容又以逗號(hào)分隔為不同的列。

    2.2.6 服務(wù)類型

    Carbon-Server的配置文件中可以定義兩種類型的服務(wù),Internal和External:對(duì)于Internal類型的服務(wù),Carbon-Server在啟動(dòng)時(shí)會(huì)自動(dòng)根據(jù)配置文件的信息來(lái)啟動(dòng)服務(wù)程序;而對(duì)于External類型的服務(wù),Carbon-Server不會(huì)自動(dòng)啟動(dòng)服務(wù)(用戶可以手動(dòng)啟動(dòng)服務(wù)或在客戶端通過(guò)stsrtService命令啟動(dòng))。當(dāng)服務(wù)的定時(shí)器超時(shí)時(shí),對(duì)于Internal的服務(wù),Carbon-Server會(huì)關(guān)閉原來(lái)的服務(wù)程序并重新啟動(dòng),而對(duì)于External類型的服務(wù)則只是刪除命令隊(duì)列。

    2.2.7 并發(fā)方式及命令封裝

    Carbon-Server支持兩種服務(wù)并發(fā)方式:基于線程的并發(fā)和基于進(jìn)程的并發(fā)。如果服務(wù)程序支持基于線程的并發(fā),則主線程只處理getNewSession/releaseSession命令。則當(dāng)客戶端發(fā)送getNewSession命令時(shí),服務(wù)器程序需要啟動(dòng)一個(gè)新的服務(wù)線程并注冊(cè)到Carbon-Server。新線程的ServiceId包含一個(gè)隨機(jī)的GUID和最初的服務(wù)名稱。Carbon-Server會(huì)把這個(gè)ServiceId返回為客戶端。這個(gè)新的線程可以作為一個(gè)單獨(dú)的服務(wù)來(lái)使用。處理結(jié)束時(shí),客戶端需要發(fā)送releaseSession來(lái)釋放服務(wù)線程。如果服務(wù)程序支持基于進(jìn)程的并發(fā),則不管Internal還是External類型的服務(wù),Carbon-Server都不會(huì)自動(dòng)服務(wù)程序。只有當(dāng)接受到客戶端的startService命令時(shí)才會(huì)通過(guò)命令行來(lái)啟動(dòng)服務(wù)程序。這類服務(wù)程序的第一個(gè)命令行參數(shù)必須為一個(gè)字符串參數(shù),服務(wù)程序使用該字符串參數(shù)加上內(nèi)置的服務(wù)名稱作為ServiceId注冊(cè)到Carbon-Server。因此,Carbon-Server在啟動(dòng)服務(wù)程序時(shí)需要生成一個(gè)隨機(jī)的GUID作為服務(wù)啟動(dòng)參數(shù)。Carbon-Server使用XML字符串來(lái)封裝客戶端發(fā)送給服務(wù)程序的命令信息。

    2.2.8 服務(wù)與客戶接口

    Carbon-Server提供Java/C++/TCL的服務(wù)端開(kāi)發(fā)接口。不管哪種語(yǔ)言形式,服務(wù)開(kāi)發(fā)接口都需要提供3個(gè)功能:注冊(cè)命令、啟動(dòng)服務(wù)、停止服務(wù)。注冊(cè)命令接口至少包含兩個(gè)參數(shù):命令名稱和命令執(zhí)行對(duì)象。通過(guò)調(diào)用注冊(cè)命令接口可以建立命令名稱到命令執(zhí)行對(duì)象之間的映射。服務(wù)程序根據(jù)這個(gè)映射關(guān)系來(lái)執(zhí)行客戶端的命令請(qǐng)求。首先生成一個(gè)CarbonAgent對(duì)象。構(gòu)造函數(shù)的參數(shù)分別指定Carbon-Server的地址、服務(wù)名稱。然后使用register接口注冊(cè)一系列命令。所以命令類都需要實(shí)現(xiàn)接口AbstractCarbonAgentCommand的方法execute。該方法傳入一個(gè)字符串?dāng)?shù)組參數(shù),返回結(jié)果也為一個(gè)字符串。Carbon-Server提供Java/C++/TCL的客戶端開(kāi)發(fā)接口。客戶端接口實(shí)際上只需要把命令行封裝在 HTTP請(qǐng)求中發(fā)送即可??蛻舫绦蛑恍枰{(diào)用submit接口把命令發(fā)送給服務(wù)器執(zhí)行即可。

    2.3 智能云測(cè)試系統(tǒng)服務(wù)提供方

    在智能云測(cè)試通信系統(tǒng)中,服務(wù)提供方由業(yè)務(wù)模塊、代理模塊及監(jiān)聽(tīng)服務(wù)器組成。其中業(yè)務(wù)模塊與代理模塊在同一進(jìn)程中,通過(guò)函數(shù)調(diào)用及回調(diào)的方式來(lái)交互。監(jiān)聽(tīng)服務(wù)器一般在單獨(dú)進(jìn)程中實(shí)現(xiàn),進(jìn)程間采用Socket方式封裝HTTP消息來(lái)實(shí)現(xiàn)。

    對(duì)于執(zhí)行機(jī)分布式執(zhí)行的場(chǎng)景來(lái)說(shuō),業(yè)務(wù)模塊代表通用測(cè)試平臺(tái)進(jìn)程,代理模塊在CCarbonAgent.dll中實(shí)現(xiàn),為通用測(cè)試平臺(tái)進(jìn)程提供業(yè)務(wù)注冊(cè),消息封裝及解封裝,保活操作;監(jiān)聽(tīng)服務(wù)器則對(duì)應(yīng)Canbon-Server進(jìn)程。它們之間的關(guān)系如圖6所示。

    圖6 provider組成

    由于Canbon-Server服務(wù)器對(duì)外完全采用HTTP消息的方式通信,這樣的方式?jīng)Q定了業(yè)務(wù)模塊與代理模塊的實(shí)現(xiàn)不受語(yǔ)言限制。一般情況下,對(duì)于不同形態(tài)的業(yè)務(wù)模塊來(lái)說(shuō),分別提供不同的代理模塊來(lái)配合,如圖7所示。

    圖7 多代理框架

    代理模塊實(shí)現(xiàn)時(shí),通常要遵循的原則是:實(shí)現(xiàn)上盡量獨(dú)立,與業(yè)務(wù)模塊通過(guò)接口集成,代理模塊的實(shí)現(xiàn)要充分考慮不同語(yǔ)言的特點(diǎn)。對(duì)于C/C++代理程序來(lái)說(shuō),比較適合的實(shí)現(xiàn)是獨(dú)立的標(biāo)準(zhǔn)DLL。這樣的話可以方便任意C/C++程序經(jīng)過(guò)簡(jiǎn)單的改造演變成服務(wù)模塊。對(duì)于Java程序來(lái)說(shuō),比較合適的實(shí)現(xiàn)是封裝成獨(dú)立的Jar包來(lái)完成。對(duì)于TCL代理來(lái)說(shuō),封裝成Lib庫(kù)是合適的選擇。

    2.3.1 服務(wù)提供方通信細(xì)節(jié)

    在通用測(cè)試平臺(tái)的實(shí)踐中,代理模塊向通用測(cè)試平臺(tái)提供如下的接口來(lái)注冊(cè)命令。

    DLL_API int CarbonServer_InstallService(struct sCarbonServiceInfo *pService)

    入?yún)⒌臄?shù)據(jù)結(jié)構(gòu)定義如下(所有參數(shù)以字符串的形式統(tǒng)一傳遞):

    typedef struct sCarbonCmdList {

    Std::string strName;

    int (*fCmdHandle) (std::string);

    }sCarbonCmdList;

    注冊(cè)本地服務(wù)基本信息

    typedef struct sCarbonServiceInfo {

    DWORD dServerIpAddr;

    UINT uServerPort;

    Std::string strServiceName;

    Std::vectorvecCmdList;

    }sCarbonServiceInfo;

    其中,字符串變量strServiceName表示通用測(cè)試平臺(tái)所提供的服務(wù)名稱,向量vecCmdList包含了通用測(cè)試平臺(tái)服務(wù)所提供的所有有效命令列表。對(duì)于每個(gè)命令結(jié)構(gòu),由sCarbonCmdList結(jié)構(gòu)來(lái)記錄命令的名稱及回調(diào)函數(shù)指針。注冊(cè)后,當(dāng)監(jiān)聽(tīng)服務(wù)器Carbon-Server收到該服務(wù)對(duì)應(yīng)的命令請(qǐng)求時(shí),會(huì)從以上命令列表中進(jìn)行匹配,檢查是合法命令時(shí),則直接通過(guò)回調(diào)函數(shù)來(lái)調(diào)用通用測(cè)試平臺(tái)服務(wù)觸發(fā)相應(yīng)操作。

    2.4 智能云測(cè)試系統(tǒng)服務(wù)調(diào)用方

    智能云測(cè)試通信系統(tǒng)中,調(diào)用方一般是由Client、Agent及Carbon-Server組成。其實(shí)現(xiàn)機(jī)制與服務(wù)提供方類似,如圖8所示。

    圖8 調(diào)用方通信機(jī)制

    一般情況下,Carbon-Server與服務(wù)提供方運(yùn)行在一臺(tái)服務(wù)器,并向外提供TCP端口服務(wù)。調(diào)用方通過(guò)代理模塊向該服務(wù)發(fā)送命令請(qǐng)求,并接受運(yùn)行結(jié)果。同一種語(yǔ)言的代理模塊需要分別支持Provider服務(wù)和Caller客戶端操作接口。

    服務(wù)調(diào)用方通信細(xì)節(jié):通用測(cè)試平臺(tái)的實(shí)踐中,通用測(cè)試平臺(tái)主機(jī)注冊(cè)就是采用向注冊(cè)服務(wù)器請(qǐng)求,并由注冊(cè)服務(wù)器記錄到數(shù)據(jù)庫(kù)中。注冊(cè)程序是一個(gè)獨(dú)立的GUI程序,內(nèi)部通過(guò)調(diào)用代理模塊提供的命令請(qǐng)求接口來(lái)實(shí)現(xiàn)通信。代理模塊提供的請(qǐng)求接口如下:

    DLL_API int CarbonClient_ExecCommand(bool bIsNewSession,Struct sExeRegInfo *pRegInfo,std::string &strOutput)

    其中,入?yún)⒅械膕ExeRegInfo結(jié)構(gòu)記錄了待請(qǐng)求的服務(wù)及命令,strOutput變量為輸出參數(shù),記錄了命令的執(zhí)行結(jié)果。值得注意的是,該接口會(huì)觸發(fā)請(qǐng)求服務(wù)的相應(yīng)功能,不會(huì)立刻返回。sExeRegInfo結(jié)構(gòu)的定義如下:

    Typedef struct sExeRegInfo{

    DWORD dServerIpAddr;

    UINT uServerPort;

    std::string strServiceName;

    Std::vector vecCmdInfo;

    }sExeRegInfo;

    這里包含了帶請(qǐng)求服務(wù)所注冊(cè)的Carbon-Server地址信息,包含其IP地址和TCP端口號(hào),以及具體服務(wù)的名稱和命令名稱、參數(shù)。

    3 大規(guī)模混合性能測(cè)試平臺(tái)

    當(dāng)前的性能測(cè)試主要以采用測(cè)試儀為主,外加單機(jī)版測(cè)試工具輔助的方法來(lái)進(jìn)行,當(dāng)測(cè)試工具的性能達(dá)不到要求時(shí),極端情況下會(huì)采用多單機(jī)版工具同時(shí)運(yùn)行的情況。但到指標(biāo)相差太多時(shí),此種方式基本無(wú)法適用??梢钥紤]基于智能云測(cè)試通信機(jī)制對(duì)大量單機(jī)版測(cè)試工具進(jìn)行整合,在客戶端以TCL腳本的形式來(lái)驅(qū)動(dòng)其執(zhí)行,如圖9所示。

    圖9 Tcl驅(qū)動(dòng)通信機(jī)制

    Server1,Server2等對(duì)應(yīng)不同的性能測(cè)試模塊,由客戶端TCL腳本的運(yùn)行來(lái)統(tǒng)一驅(qū)動(dòng)。好處:1)支持大量相同的性能測(cè)試模塊同時(shí)運(yùn)行:通過(guò)TCL腳本,同時(shí)驅(qū)動(dòng)大量的相同性能測(cè)試模塊來(lái)運(yùn)行,相當(dāng)于極大增加了單機(jī)版性能測(cè)試模塊的性能指標(biāo);2)支持大量不同的性能測(cè)試模塊同時(shí)運(yùn)行:可以較高的模擬大規(guī)模組網(wǎng),使得測(cè)試平臺(tái)能通過(guò)PC進(jìn)行大規(guī)?;旌狭髁繙y(cè)試。

    4 實(shí)驗(yàn)結(jié)果與分析

    該分布式通信系統(tǒng)在任意單機(jī)版程序中經(jīng)過(guò)簡(jiǎn)單改造后均能提供分布式的統(tǒng)一服務(wù),其充分利用現(xiàn)有軟件資源及各類語(yǔ)言的特點(diǎn)來(lái)實(shí)現(xiàn)強(qiáng)大統(tǒng)一的工具平臺(tái),并且Carbon-Server在一個(gè)比較便捷的分布式開(kāi)發(fā)架構(gòu)下,其管理機(jī)制以及開(kāi)發(fā)接口都比較簡(jiǎn)單,易于理解和實(shí)現(xiàn),功能強(qiáng)大的優(yōu)點(diǎn)。但在實(shí)際的應(yīng)用中還存在不足之處,缺少GUI管理界面,命令執(zhí)行超時(shí)處理可靠性不夠,后續(xù)開(kāi)發(fā)中應(yīng)該解決這些問(wèn)題。

    猜你喜歡
    服務(wù)程序線程隊(duì)列
    基于移動(dòng)終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計(jì)
    基于C#的進(jìn)程守護(hù)程序的設(shè)計(jì)
    視聽(tīng)(2020年3期)2020-06-11 14:28:18
    隊(duì)列里的小秘密
    基于多隊(duì)列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    在隊(duì)列里
    豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
    淺談linux多線程協(xié)作
    水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
    Linux線程實(shí)現(xiàn)技術(shù)研究
    么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
    久久久久亚洲av毛片大全| 色播亚洲综合网| 99久久国产精品久久久| 国产1区2区3区精品| 亚洲国产高清在线一区二区三 | av在线播放免费不卡| 黄色视频,在线免费观看| 在线观看日韩欧美| 夜夜躁狠狠躁天天躁| 成人国产综合亚洲| 国产主播在线观看一区二区| 亚洲国产精品成人综合色| 久久久国产成人精品二区| 精品高清国产在线一区| 日韩免费av在线播放| 日本精品一区二区三区蜜桃| 亚洲一卡2卡3卡4卡5卡精品中文| 窝窝影院91人妻| 国产一区二区三区视频了| 精品国产美女av久久久久小说| 极品教师在线免费播放| 非洲黑人性xxxx精品又粗又长| 日日夜夜操网爽| 少妇 在线观看| 啦啦啦免费观看视频1| 久久中文字幕一级| 中出人妻视频一区二区| 国产精品一区二区精品视频观看| 99re在线观看精品视频| 18禁美女被吸乳视频| av片东京热男人的天堂| 亚洲va日本ⅴa欧美va伊人久久| 国产男靠女视频免费网站| 淫秽高清视频在线观看| 国产麻豆成人av免费视频| 成人欧美大片| 一进一出抽搐gif免费好疼| 亚洲精品美女久久久久99蜜臀| 午夜福利视频1000在线观看 | 国产亚洲欧美在线一区二区| 很黄的视频免费| 男男h啪啪无遮挡| 自线自在国产av| 美女高潮到喷水免费观看| 一区在线观看完整版| 精品久久久久久久久久免费视频| 黄网站色视频无遮挡免费观看| 免费av毛片视频| 最近最新免费中文字幕在线| 亚洲天堂国产精品一区在线| 悠悠久久av| 欧美日本中文国产一区发布| 性少妇av在线| 国产成+人综合+亚洲专区| 亚洲自拍偷在线| 叶爱在线成人免费视频播放| 亚洲avbb在线观看| 亚洲三区欧美一区| 精品乱码久久久久久99久播| 欧美日韩一级在线毛片| 男男h啪啪无遮挡| 97碰自拍视频| 久久中文字幕人妻熟女| 人妻久久中文字幕网| 色婷婷久久久亚洲欧美| 午夜免费观看网址| 国产欧美日韩一区二区精品| 亚洲中文日韩欧美视频| 啦啦啦免费观看视频1| 国产高清有码在线观看视频 | 国产高清有码在线观看视频 | 18美女黄网站色大片免费观看| svipshipincom国产片| 亚洲色图av天堂| 亚洲精品久久成人aⅴ小说| 亚洲国产欧美一区二区综合| 欧美一级a爱片免费观看看 | 成人av一区二区三区在线看| 国产亚洲欧美在线一区二区| 亚洲欧美精品综合久久99| 成人国产综合亚洲| 国产蜜桃级精品一区二区三区| 午夜福利在线观看吧| 伦理电影免费视频| 老熟妇仑乱视频hdxx| 久久久久久久午夜电影| 亚洲欧美精品综合久久99| 9热在线视频观看99| 欧美黑人精品巨大| 亚洲五月婷婷丁香| 男男h啪啪无遮挡| 久久人人精品亚洲av| 国产精品av久久久久免费| 欧美中文日本在线观看视频| 一级黄色大片毛片| 国产精品九九99| 三级毛片av免费| 成人永久免费在线观看视频| 精品国产美女av久久久久小说| 精品少妇一区二区三区视频日本电影| 久久久国产欧美日韩av| 欧美日韩中文字幕国产精品一区二区三区 | 日本a在线网址| 精品午夜福利视频在线观看一区| 激情视频va一区二区三区| 欧美日本中文国产一区发布| 三级毛片av免费| 亚洲专区字幕在线| 宅男免费午夜| 国产欧美日韩综合在线一区二区| 亚洲最大成人中文| 亚洲av成人av| 久久草成人影院| 国产乱人伦免费视频| 在线永久观看黄色视频| 国产麻豆成人av免费视频| 国产亚洲精品一区二区www| 丁香欧美五月| 夜夜爽天天搞| 日日爽夜夜爽网站| 欧美在线黄色| 国产亚洲av嫩草精品影院| 久久青草综合色| 大型黄色视频在线免费观看| 精品免费久久久久久久清纯| 亚洲情色 制服丝袜| 欧美一区二区精品小视频在线| 精品久久久久久久毛片微露脸| 久久久国产成人精品二区| av免费在线观看网站| 在线免费观看的www视频| 国产欧美日韩一区二区精品| 亚洲自偷自拍图片 自拍| 亚洲片人在线观看| 女警被强在线播放| 黄色成人免费大全| 久久久精品欧美日韩精品| 亚洲欧美精品综合久久99| 黑人巨大精品欧美一区二区mp4| 国产精品二区激情视频| 可以免费在线观看a视频的电影网站| 国产精品98久久久久久宅男小说| 露出奶头的视频| 自拍欧美九色日韩亚洲蝌蚪91| 在线观看免费视频日本深夜| 日韩视频一区二区在线观看| 欧美中文综合在线视频| 国产99白浆流出| videosex国产| www.熟女人妻精品国产| 乱人伦中国视频| 亚洲七黄色美女视频| 久久久久精品国产欧美久久久| 亚洲精品国产区一区二| 久久精品国产亚洲av高清一级| av天堂久久9| 18禁观看日本| 视频在线观看一区二区三区| netflix在线观看网站| 日韩精品免费视频一区二区三区| 操出白浆在线播放| 国产精品一区二区精品视频观看| 国产精品自产拍在线观看55亚洲| 久久人妻av系列| www.自偷自拍.com| 这个男人来自地球电影免费观看| 成人精品一区二区免费| 亚洲激情在线av| 欧美日韩一级在线毛片| 麻豆成人av在线观看| 女生性感内裤真人,穿戴方法视频| 久久久久久亚洲精品国产蜜桃av| 国产99白浆流出| 黄色视频,在线免费观看| 日本三级黄在线观看| 免费在线观看影片大全网站| 啪啪无遮挡十八禁网站| 午夜日韩欧美国产| 久久中文看片网| 国产精品秋霞免费鲁丝片| 曰老女人黄片| 国产精品爽爽va在线观看网站 | 日日夜夜操网爽| 亚洲国产精品999在线| 这个男人来自地球电影免费观看| 国产伦一二天堂av在线观看| 国产欧美日韩精品亚洲av| 夜夜夜夜夜久久久久| 国产精品免费视频内射| 免费观看人在逋| 中文字幕最新亚洲高清| 美女大奶头视频| 一区二区三区精品91| 亚洲国产日韩欧美精品在线观看 | 亚洲人成电影观看| 欧美 亚洲 国产 日韩一| 亚洲男人天堂网一区| 桃色一区二区三区在线观看| 女人被躁到高潮嗷嗷叫费观| 国产高清有码在线观看视频 | 在线观看免费午夜福利视频| 国产精品国产高清国产av| 日韩三级视频一区二区三区| 国内久久婷婷六月综合欲色啪| 激情视频va一区二区三区| 精品国产乱码久久久久久男人| 久久热在线av| 男女下面进入的视频免费午夜 | 老司机福利观看| 12—13女人毛片做爰片一| 日日干狠狠操夜夜爽| 黄色a级毛片大全视频| 亚洲美女黄片视频| 免费在线观看黄色视频的| 又黄又爽又免费观看的视频| 国产精品自产拍在线观看55亚洲| 一级毛片女人18水好多| 国产免费av片在线观看野外av| 午夜老司机福利片| 国产成人欧美| 日韩大码丰满熟妇| 色婷婷久久久亚洲欧美| 99国产综合亚洲精品| 久久午夜综合久久蜜桃| 在线观看一区二区三区| 成人国语在线视频| 日韩免费av在线播放| 最近最新免费中文字幕在线| 欧美国产精品va在线观看不卡| 国产一区二区三区综合在线观看| 久久久久精品国产欧美久久久| 最好的美女福利视频网| bbb黄色大片| 在线观看66精品国产| 俄罗斯特黄特色一大片| 啦啦啦韩国在线观看视频| av欧美777| 精品一区二区三区四区五区乱码| 999精品在线视频| 人成视频在线观看免费观看| 亚洲自偷自拍图片 自拍| 变态另类丝袜制服| 91老司机精品| 色综合亚洲欧美另类图片| 99久久精品国产亚洲精品| 亚洲成人免费电影在线观看| 国产精品 国内视频| 99久久99久久久精品蜜桃| 国产91精品成人一区二区三区| av在线播放免费不卡| 国产熟女午夜一区二区三区| 一二三四在线观看免费中文在| 亚洲av电影在线进入| 九色国产91popny在线| 天天躁狠狠躁夜夜躁狠狠躁| 久久香蕉激情| 亚洲成人免费电影在线观看| 中亚洲国语对白在线视频| 久久精品国产综合久久久| 国产精品二区激情视频| 中文字幕最新亚洲高清| av视频免费观看在线观看| 操美女的视频在线观看| www.自偷自拍.com| 在线观看日韩欧美| 丝袜在线中文字幕| 高清毛片免费观看视频网站| 国产乱人伦免费视频| 久久中文字幕人妻熟女| 亚洲午夜理论影院| 国产精品九九99| 制服人妻中文乱码| 日韩欧美一区二区三区在线观看| 久久草成人影院| 韩国精品一区二区三区| 别揉我奶头~嗯~啊~动态视频| 亚洲最大成人中文| 18禁美女被吸乳视频| 精品久久久久久久人妻蜜臀av | 校园春色视频在线观看| 婷婷精品国产亚洲av在线| 男人的好看免费观看在线视频 | 国产成+人综合+亚洲专区| 久久香蕉国产精品| 高潮久久久久久久久久久不卡| 国产精品久久久人人做人人爽| 可以免费在线观看a视频的电影网站| 大型黄色视频在线免费观看| 操出白浆在线播放| ponron亚洲| www.www免费av| 欧美激情久久久久久爽电影 | 国产精品一区二区精品视频观看| 久久久久久久精品吃奶| 亚洲最大成人中文| 亚洲欧美一区二区三区黑人| 国产亚洲精品av在线| 十八禁网站免费在线| 国产高清videossex| 美女午夜性视频免费| 亚洲欧美激情综合另类| 日韩欧美国产一区二区入口| 一进一出抽搐动态| 亚洲 国产 在线| 国产色视频综合| 久久国产精品影院| 久久天躁狠狠躁夜夜2o2o| 老司机深夜福利视频在线观看| 久久久久久大精品| 成人精品一区二区免费| 久久精品人人爽人人爽视色| 日日爽夜夜爽网站| 琪琪午夜伦伦电影理论片6080| 亚洲欧美日韩高清在线视频| 亚洲av成人av| 国产精品电影一区二区三区| 欧美激情极品国产一区二区三区| 成人欧美大片| 琪琪午夜伦伦电影理论片6080| 高潮久久久久久久久久久不卡| 欧美老熟妇乱子伦牲交| 午夜久久久久精精品| 一区福利在线观看| 欧美国产日韩亚洲一区| 丰满的人妻完整版| 国产aⅴ精品一区二区三区波| 男女做爰动态图高潮gif福利片 | 国产又爽黄色视频| 成人亚洲精品av一区二区| 波多野结衣av一区二区av| 国产成人av教育| 少妇粗大呻吟视频| bbb黄色大片| ponron亚洲| 国产熟女午夜一区二区三区| 欧美一区二区精品小视频在线| tocl精华| 午夜视频精品福利| 国产麻豆成人av免费视频| 久久久久久人人人人人| 一区在线观看完整版| 国产99白浆流出| a在线观看视频网站| 欧美日韩精品网址| 母亲3免费完整高清在线观看| 亚洲一区中文字幕在线| 日韩av在线大香蕉| 国产精品一区二区精品视频观看| 一边摸一边抽搐一进一小说| 亚洲 欧美 日韩 在线 免费| 国产精华一区二区三区| 亚洲精品国产区一区二| 日韩有码中文字幕| ponron亚洲| av福利片在线| 好男人电影高清在线观看| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲 国产 在线| 国产国语露脸激情在线看| 一区二区三区高清视频在线| 美女 人体艺术 gogo| 好男人电影高清在线观看| 免费在线观看黄色视频的| 纯流量卡能插随身wifi吗| 99香蕉大伊视频| 国产成人欧美| 无人区码免费观看不卡| 国产野战对白在线观看| 婷婷丁香在线五月| 国产av一区二区精品久久| 丰满人妻熟妇乱又伦精品不卡| 少妇被粗大的猛进出69影院| 九色国产91popny在线| 岛国视频午夜一区免费看| 两个人看的免费小视频| 亚洲精品美女久久av网站| 欧美最黄视频在线播放免费| av有码第一页| netflix在线观看网站| 国产av精品麻豆| 久久精品亚洲精品国产色婷小说| 国产成人精品久久二区二区91| 亚洲一区中文字幕在线| 丝袜人妻中文字幕| 妹子高潮喷水视频| 久9热在线精品视频| 身体一侧抽搐| 国产麻豆69| 人人妻,人人澡人人爽秒播| 非洲黑人性xxxx精品又粗又长| 日本五十路高清| 首页视频小说图片口味搜索| 在线观看一区二区三区| 91大片在线观看| 国产精品二区激情视频| 精品高清国产在线一区| 午夜亚洲福利在线播放| av免费在线观看网站| www.www免费av| 久久精品91蜜桃| 好男人在线观看高清免费视频 | 90打野战视频偷拍视频| 又黄又粗又硬又大视频| 国产精品 国内视频| 国产亚洲av高清不卡| 91国产中文字幕| 亚洲国产欧美日韩在线播放| 久久久精品国产亚洲av高清涩受| 在线视频色国产色| 久久伊人香网站| 91麻豆精品激情在线观看国产| 欧美久久黑人一区二区| videosex国产| 欧美性长视频在线观看| 母亲3免费完整高清在线观看| 精品少妇一区二区三区视频日本电影| 波多野结衣一区麻豆| ponron亚洲| 欧美色欧美亚洲另类二区 | 久久热在线av| 琪琪午夜伦伦电影理论片6080| 欧美日本视频| av视频在线观看入口| 欧美日韩精品网址| 午夜精品在线福利| 韩国精品一区二区三区| 婷婷丁香在线五月| 亚洲成人国产一区在线观看| 久久国产亚洲av麻豆专区| 国产精品精品国产色婷婷| 搞女人的毛片| 一边摸一边抽搐一进一小说| 一区二区三区高清视频在线| 欧美黄色淫秽网站| 亚洲片人在线观看| 欧美一级a爱片免费观看看 | 亚洲精品国产精品久久久不卡| 99久久99久久久精品蜜桃| 精品免费久久久久久久清纯| 黑人巨大精品欧美一区二区mp4| 制服诱惑二区| 国产三级在线视频| 九色国产91popny在线| 黄片小视频在线播放| 中文字幕久久专区| 丝袜美腿诱惑在线| 手机成人av网站| 色精品久久人妻99蜜桃| 免费在线观看影片大全网站| 极品人妻少妇av视频| 国产xxxxx性猛交| 天堂影院成人在线观看| 久久久久久久午夜电影| 老司机福利观看| 美女免费视频网站| 国产激情久久老熟女| 99热只有精品国产| 成人精品一区二区免费| 男女下面插进去视频免费观看| 黑人巨大精品欧美一区二区mp4| 一区在线观看完整版| 精品人妻1区二区| 一卡2卡三卡四卡精品乱码亚洲| 欧美老熟妇乱子伦牲交| 久久国产亚洲av麻豆专区| 国产亚洲精品久久久久5区| 亚洲午夜精品一区,二区,三区| 禁无遮挡网站| 99国产极品粉嫩在线观看| 大码成人一级视频| 欧美激情 高清一区二区三区| 看片在线看免费视频| 一夜夜www| 变态另类成人亚洲欧美熟女 | 亚洲av成人不卡在线观看播放网| 成人三级做爰电影| www.999成人在线观看| 99久久99久久久精品蜜桃| 亚洲黑人精品在线| 悠悠久久av| 欧美丝袜亚洲另类 | 成人欧美大片| 两个人视频免费观看高清| 亚洲中文字幕日韩| 非洲黑人性xxxx精品又粗又长| 日韩 欧美 亚洲 中文字幕| 黑人欧美特级aaaaaa片| 国产精品自产拍在线观看55亚洲| 国产精品免费视频内射| 黄色片一级片一级黄色片| 欧美在线黄色| 一级毛片女人18水好多| 一夜夜www| 亚洲 欧美 日韩 在线 免费| av片东京热男人的天堂| 国产欧美日韩一区二区三| 一区二区三区国产精品乱码| 国产成人精品无人区| 国产一区二区三区视频了| 国产区一区二久久| 亚洲第一青青草原| 久久精品国产综合久久久| 色精品久久人妻99蜜桃| www.自偷自拍.com| 国内久久婷婷六月综合欲色啪| 亚洲精品粉嫩美女一区| 成人国产综合亚洲| 99精品久久久久人妻精品| 亚洲欧美日韩无卡精品| 亚洲在线自拍视频| 丝袜美腿诱惑在线| 亚洲电影在线观看av| 免费在线观看亚洲国产| 亚洲视频免费观看视频| 丝袜美足系列| 免费看十八禁软件| 午夜免费成人在线视频| 久久久久精品国产欧美久久久| 亚洲av日韩精品久久久久久密| 老熟妇乱子伦视频在线观看| 国产熟女午夜一区二区三区| 啦啦啦免费观看视频1| 欧美一级a爱片免费观看看 | 国产精品精品国产色婷婷| 麻豆成人av在线观看| 国产麻豆69| 免费av毛片视频| 国产亚洲精品综合一区在线观看 | а√天堂www在线а√下载| 黄网站色视频无遮挡免费观看| e午夜精品久久久久久久| 男女下面进入的视频免费午夜 | 亚洲国产精品合色在线| 中文字幕人妻熟女乱码| 在线观看免费视频网站a站| 久久 成人 亚洲| 欧美在线一区亚洲| 午夜精品国产一区二区电影| 欧美中文综合在线视频| 91成年电影在线观看| 麻豆成人av在线观看| 日本vs欧美在线观看视频| 久久精品国产清高在天天线| av电影中文网址| 18美女黄网站色大片免费观看| 亚洲精品在线观看二区| 精品第一国产精品| 香蕉丝袜av| 亚洲国产高清在线一区二区三 | 一级片免费观看大全| 999久久久国产精品视频| 多毛熟女@视频| 久久久久久久午夜电影| 麻豆成人av在线观看| 亚洲成a人片在线一区二区| 在线免费观看的www视频| 熟妇人妻久久中文字幕3abv| 一边摸一边抽搐一进一小说| 国产三级在线视频| 我的亚洲天堂| 亚洲国产精品成人综合色| www.自偷自拍.com| 级片在线观看| 欧美日韩中文字幕国产精品一区二区三区 | 国产不卡一卡二| 久久久久久久久免费视频了| 免费女性裸体啪啪无遮挡网站| 久久婷婷成人综合色麻豆| 熟女少妇亚洲综合色aaa.| 久久久久久久午夜电影| 国产亚洲av高清不卡| 性欧美人与动物交配| 欧美日本中文国产一区发布| 国产精品98久久久久久宅男小说| 欧美色欧美亚洲另类二区 | 欧美乱色亚洲激情| 别揉我奶头~嗯~啊~动态视频| 亚洲精品久久成人aⅴ小说| 国产亚洲精品综合一区在线观看 | 日本 欧美在线| 人人妻人人澡欧美一区二区 | 制服丝袜大香蕉在线| 动漫黄色视频在线观看| 在线av久久热| 亚洲精品粉嫩美女一区| 国产亚洲av高清不卡| 亚洲第一欧美日韩一区二区三区| 国产精品九九99| 国产视频一区二区在线看| 久久草成人影院| 色综合站精品国产| 日本黄色视频三级网站网址| 欧美成人免费av一区二区三区| videosex国产| 在线观看www视频免费| 欧美日韩亚洲国产一区二区在线观看| 亚洲av电影在线进入| 不卡一级毛片| 精品久久久久久成人av| 国产精品爽爽va在线观看网站 | 亚洲欧美日韩无卡精品| 亚洲精品av麻豆狂野| 99riav亚洲国产免费| 国产xxxxx性猛交| 精品卡一卡二卡四卡免费| 亚洲色图 男人天堂 中文字幕| 日本 av在线| 国产精品亚洲美女久久久| 中文字幕人妻熟女乱码| 久久天堂一区二区三区四区| 欧美国产精品va在线观看不卡| 精品无人区乱码1区二区| 午夜福利,免费看| 激情在线观看视频在线高清| 欧美日韩福利视频一区二区|