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

    航管仿真訓(xùn)練系統(tǒng)運(yùn)行控制的設(shè)計(jì)與實(shí)現(xiàn)

    2014-08-03 00:53:00陳虹宇董志強(qiáng)李科磊
    關(guān)鍵詞:航管訓(xùn)練組隊(duì)列

    陳虹宇,胡 術(shù),董志強(qiáng),李科磊,殷 源

    (1.四川大學(xué)計(jì)算機(jī)學(xué)院,四川 成都 610064;2.四川大學(xué)國(guó)家空管自動(dòng)化系統(tǒng)技術(shù)重點(diǎn)實(shí)驗(yàn)室, 四川 成都 610045;3.空軍裝備研究院雷達(dá)與電子對(duì)抗所, 北京 100039)

    1 引言

    我國(guó)成都、西安區(qū)域管制中心引進(jìn)了西班牙英德拉(Indra)系統(tǒng),該系統(tǒng)配有模擬仿真訓(xùn)練系統(tǒng),使用與真實(shí)系統(tǒng)一樣的設(shè)備與人機(jī)界面來(lái)訓(xùn)練管制人員。Indra系統(tǒng)是目前中國(guó)引進(jìn)的最先進(jìn)的航管系統(tǒng)?;诒疚奶岢龅姆椒ㄗ灾餮邪l(fā)的系統(tǒng)與Indra配備的模擬仿真訓(xùn)練系統(tǒng)類(lèi)似,提供了對(duì)航空管制員的訓(xùn)練功能。其運(yùn)行控制需求復(fù)雜,不僅要求提供對(duì)多個(gè)組別的模擬飛行員席位和模擬管制員的組隊(duì)訓(xùn)練,還要求提供對(duì)提供服務(wù)的模擬服務(wù)程序均衡地分配計(jì)算資源的能力。針對(duì)航管仿真訓(xùn)練系統(tǒng)的相關(guān)訓(xùn)練特點(diǎn),本文設(shè)計(jì)并完成了基于航管仿真訓(xùn)練系統(tǒng)的運(yùn)行控制系統(tǒng)。

    2 航管仿真系統(tǒng)及運(yùn)行控制功能簡(jiǎn)介

    航管仿真訓(xùn)練系統(tǒng)是用于培養(yǎng)和提高空中交通區(qū)域及進(jìn)近雷達(dá)管制人員管制技能的主要手段和標(biāo)準(zhǔn)設(shè)備,能夠逼真地模擬包括設(shè)備、用戶(hù)界面等所有與訓(xùn)練相關(guān)的對(duì)象。通過(guò)實(shí)時(shí)模擬不同空中交通狀態(tài),以提供一個(gè)接近真實(shí)的工作環(huán)境來(lái)訓(xùn)練管制員,并且提供必要的手段完成這一模擬訓(xùn)練過(guò)程的準(zhǔn)備、運(yùn)行、記錄、回放以及評(píng)估等。當(dāng)代大型航管仿真訓(xùn)練系統(tǒng)可以同時(shí)進(jìn)行多個(gè)組別、不同訓(xùn)練內(nèi)容、科目的訓(xùn)練,其基本組成如圖1所示。該系統(tǒng)均由UNIX操作系統(tǒng)主機(jī)構(gòu)成,仿真軟件采用跨平臺(tái)設(shè)計(jì),可以運(yùn)行在Solaris、Linux等主流操作系統(tǒng)上。

    Figure 1 ATC simulation training system圖1 航管仿真訓(xùn)練系統(tǒng)組成圖

    進(jìn)行航管模擬訓(xùn)練的基本過(guò)程如下:在進(jìn)行仿真訓(xùn)練時(shí),教員席位準(zhǔn)備訓(xùn)練數(shù)據(jù),將訓(xùn)練數(shù)據(jù)分發(fā)給參訓(xùn)主機(jī)后,開(kāi)啟訓(xùn)練過(guò)程,主要完成對(duì)參訓(xùn)的模擬機(jī)長(zhǎng)席位和模擬雷達(dá)管制席位的角色指定,完成一個(gè)模擬機(jī)長(zhǎng)席位和一個(gè)或多個(gè)模擬雷達(dá)管制席位的組隊(duì),在模擬訓(xùn)練服務(wù)器中啟動(dòng)相應(yīng)組別的多個(gè)模擬服務(wù)進(jìn)程。圖1中,模擬機(jī)長(zhǎng)P1和模擬雷達(dá)管制席位R1和R2組成第一組,通過(guò)和模擬訓(xùn)練服務(wù)器交互完成第一組模擬訓(xùn)練任務(wù)。模擬訓(xùn)練服務(wù)器集群中部署相同的進(jìn)程,可以同時(shí)運(yùn)行一組或多組訓(xùn)練服務(wù)程序,為各組模擬機(jī)長(zhǎng)和模擬雷達(dá)管制席位的運(yùn)行提供支撐。教員席位通過(guò)啟動(dòng)訓(xùn)練服務(wù)進(jìn)程、模擬機(jī)長(zhǎng)和模擬管制員席位完成訓(xùn)練組的開(kāi)啟,在訓(xùn)練完成后退出相應(yīng)的訓(xùn)練組進(jìn)程。

    為了簡(jiǎn)化系統(tǒng)的部署,系統(tǒng)設(shè)計(jì)時(shí)各訓(xùn)練組的主機(jī)(含模擬訓(xùn)練服務(wù)器、模擬機(jī)長(zhǎng)和模擬管制員席位)均部署一樣的進(jìn)程,只在運(yùn)行前由教員席位先進(jìn)行訓(xùn)練數(shù)據(jù)準(zhǔn)備,然后將不同訓(xùn)練組的訓(xùn)練數(shù)據(jù)按組分發(fā)到參訓(xùn)主機(jī)的train_num(即訓(xùn)練組號(hào))目錄下,然后用命令行參數(shù)-Tnum(num為訓(xùn)練組號(hào))啟動(dòng)訓(xùn)練的各進(jìn)程,進(jìn)程通過(guò)讀取相應(yīng)的訓(xùn)練數(shù)據(jù)目錄運(yùn)行不同訓(xùn)練組。

    從以上需求來(lái)看,大型航管仿真訓(xùn)練系統(tǒng)對(duì)運(yùn)行控制提出了較高的要求,需合理地調(diào)度模擬訓(xùn)練服務(wù)器的計(jì)算資源,靈活地組合訓(xùn)練組教員和模擬雷達(dá)主機(jī),安全地啟動(dòng)和退出訓(xùn)練組。

    3 訓(xùn)練進(jìn)程組的設(shè)計(jì)

    運(yùn)行控制最基本的要求是對(duì)組成訓(xùn)練組的各進(jìn)程的啟動(dòng)、停止進(jìn)行準(zhǔn)確的控制,并且監(jiān)控其運(yùn)行狀態(tài)。為此,設(shè)計(jì)在系統(tǒng)每個(gè)主機(jī)上部署Agent代理進(jìn)程,通過(guò)教員席位負(fù)責(zé)運(yùn)行調(diào)度的調(diào)度模塊Scheduler對(duì)不同主機(jī)Agent發(fā)出相應(yīng)的啟動(dòng)、關(guān)閉命令,完成訓(xùn)練組的運(yùn)行控制。

    為了(1)在模擬訓(xùn)練服務(wù)器中均衡運(yùn)行不同訓(xùn)練組進(jìn)程;(2)在不同席位中按模擬飛行員、模擬管制員的不同角色啟動(dòng)進(jìn)程,航管模擬訓(xùn)練系統(tǒng)中進(jìn)程以組作為調(diào)度的最小粒度。圖2為三組訓(xùn)練服務(wù)進(jìn)程通過(guò)三臺(tái)模擬訓(xùn)練服務(wù)器為五個(gè)訓(xùn)練組提供服務(wù)的實(shí)例圖。不同進(jìn)程組的運(yùn)行情況,用二元組〈進(jìn)程組編號(hào)/訓(xùn)練組編號(hào)〉對(duì)應(yīng)一個(gè)實(shí)際運(yùn)行的進(jìn)程組,被稱(chēng)為訓(xùn)練進(jìn)程組。

    Figure 2 Distribution of process group and training group in services clusters圖2 服務(wù)集群中進(jìn)程組與訓(xùn)練組的分布

    4 進(jìn)程組運(yùn)行控制

    4.1 進(jìn)程啟動(dòng)方式的選擇

    進(jìn)程組運(yùn)行控制的基礎(chǔ)是通過(guò)Agent實(shí)現(xiàn)對(duì)組內(nèi)進(jìn)程進(jìn)行啟動(dòng)和退出的操作。通過(guò)一個(gè)進(jìn)程對(duì)其他進(jìn)程進(jìn)行啟動(dòng)有多種方式,系統(tǒng)實(shí)驗(yàn)了三種啟動(dòng)方式:

    (1)以fork+子進(jìn)程中exec方式將進(jìn)程作為Agent的子進(jìn)程啟動(dòng)[1],啟動(dòng)后立即獲得被啟動(dòng)進(jìn)程的pid,后續(xù)可使用kill(pid,0)方式檢查進(jìn)程是否在運(yùn)行。該方式的缺點(diǎn)是:①子進(jìn)程將繼承父進(jìn)程Agent的諸多運(yùn)行環(huán)境,如打開(kāi)的文件描述符、控制終端、信息輸出終端等,使父、子進(jìn)程的輸出將打印在同一個(gè)終端,因而無(wú)法分辨;②可能導(dǎo)致出現(xiàn)僵死進(jìn)程,耗費(fèi)系統(tǒng)資源。

    (2)改進(jìn)上述方法采用兩次fork,可避免僵死進(jìn)程的出現(xiàn)[2]。但是,該方法:①具有方法(1)中描述的①同樣的缺點(diǎn);②對(duì)使用shell腳本啟動(dòng)而在退出時(shí)使用實(shí)際運(yùn)行pid進(jìn)行管理的進(jìn)程(如Java進(jìn)程),該方法不能處理;③對(duì)啟動(dòng)后立即異常退出的進(jìn)程,雖然在啟動(dòng)時(shí)就獲取了pid,但由于該進(jìn)程沒(méi)有穩(wěn)定運(yùn)行,可能會(huì)對(duì)Agent的狀態(tài)判斷產(chǎn)生短暫的負(fù)面影響。

    (3)使用 system()啟動(dòng)。system()函數(shù)執(zhí)行了三步操作:①system()通過(guò)調(diào)用fork()由當(dāng)前終端窗口的shell產(chǎn)生子進(jìn)程;②子進(jìn)程則調(diào)用execl()來(lái)啟動(dòng)一個(gè)全新的程序;③在父進(jìn)程中調(diào)用waitpid()等待子進(jìn)程結(jié)束。在調(diào)用system()期間SIGCHLD 信號(hào)會(huì)被暫時(shí)擱置,SIGINT和SIGQUIT 信號(hào)則會(huì)被忽略[3]。system()方式的另一個(gè)好處是可以衍生執(zhí)行多種啟動(dòng)方式,如在某個(gè)終端中執(zhí)行進(jìn)程(如Linux環(huán)境下的終端仿真程序Gnome Terminal)等。這種方式的缺點(diǎn)是不能立即獲得被啟動(dòng)進(jìn)程的pid,需要使用進(jìn)程定位技術(shù)獲得pid。

    目前主要基于第三種方式,為了更好地適應(yīng)進(jìn)程組運(yùn)行控制的多樣化需求,也提供了其他幾種方式。

    4.2 進(jìn)程定位與監(jiān)控

    在使用system()啟動(dòng)時(shí),既可以將子進(jìn)程的控制臺(tái)輸出與父進(jìn)程的控制臺(tái)輸出在一起,也可以啟動(dòng)一個(gè)終端窗口,將子進(jìn)程的輸出輸出到該窗口;但是,該方法在啟動(dòng)時(shí)無(wú)法立即獲取被啟動(dòng)進(jìn)程的pid。本系統(tǒng)采用的策略是,在system()啟動(dòng)后的適應(yīng)性時(shí)間(一般是該進(jìn)程完成必要的初始化并開(kāi)始穩(wěn)定運(yùn)行)后,使用與操作系統(tǒng)平臺(tái)相關(guān)的進(jìn)程定位方法獲取進(jìn)程pid[4]。如在Linux系統(tǒng)下,訪(fǎng)問(wèn)/proc的虛擬文件系統(tǒng),/proc下以數(shù)字命名的子目錄是進(jìn)程目錄,通過(guò)進(jìn)程pid來(lái)訪(fǎng)問(wèn)該子目錄,查看子目錄中名為cmdline的文件,可以獲得相關(guān)進(jìn)程的啟動(dòng)時(shí)間、用戶(hù)時(shí)間、系統(tǒng)時(shí)間等。

    4.3 進(jìn)程退出管理

    在指定訓(xùn)練組關(guān)閉時(shí),各主機(jī)需要安全退出該訓(xùn)練組的相關(guān)進(jìn)程,傳統(tǒng)的做法是由Agent調(diào)用kill()函數(shù)對(duì)進(jìn)程發(fā)出SIGKILL(值為9)信號(hào)。但是,在模擬訓(xùn)練服務(wù)器中,如模擬仿真核心需要在退出時(shí)將訓(xùn)練過(guò)程中生成的評(píng)估信息等存入數(shù)據(jù)庫(kù),如果強(qiáng)行退出將導(dǎo)致數(shù)據(jù)丟失。本系統(tǒng)可對(duì)進(jìn)程的退出方式進(jìn)行配置,對(duì)于需要保存數(shù)據(jù)的進(jìn)程,先發(fā)出SIGTERM(值為15)信號(hào)等待適應(yīng)性時(shí)間后,如該進(jìn)程仍未退出,才最后對(duì)其發(fā)出SIGKILL信號(hào)[2]強(qiáng)制退出。

    4.4 進(jìn)程組分級(jí)管理

    除了訓(xùn)練組相關(guān)的應(yīng)用進(jìn)程外,模擬訓(xùn)練系統(tǒng)中有一些進(jìn)程需要長(zhǎng)時(shí)間運(yùn)行,直到系統(tǒng)完全關(guān)機(jī)。這類(lèi)進(jìn)程包括:基于NTP協(xié)議的對(duì)時(shí)進(jìn)程、打印服務(wù)進(jìn)程、消息中間件、集群管理進(jìn)程、訓(xùn)練日志進(jìn)程、系統(tǒng)監(jiān)控進(jìn)程等。這些進(jìn)程可以放在Agent啟動(dòng)前運(yùn)行,完成主機(jī)對(duì)時(shí)、初始化打印隊(duì)列等系統(tǒng)的環(huán)境準(zhǔn)備工作。如Agent在啟動(dòng)后發(fā)現(xiàn)這些進(jìn)程沒(méi)有啟動(dòng),將首先啟動(dòng)這些進(jìn)程。本系統(tǒng)將這些進(jìn)程按主機(jī)分成不同的服務(wù)進(jìn)程組,并由Agent確保其連續(xù)運(yùn)行,當(dāng)這些進(jìn)程發(fā)生異常退出時(shí),將自動(dòng)重啟該進(jìn)程,以保證服務(wù)提供的持續(xù)性。

    5 基于多個(gè)隊(duì)列設(shè)計(jì)和實(shí)現(xiàn)Agent

    Agent進(jìn)程通過(guò)網(wǎng)絡(luò)接收教員席Scheduler模塊發(fā)出的基本運(yùn)行控制命令,這些命令包括:關(guān)閉全系統(tǒng)主機(jī)、停止全系統(tǒng)運(yùn)行、啟動(dòng)本機(jī)指定進(jìn)程組、退出本機(jī)指定進(jìn)程組、對(duì)運(yùn)行時(shí)異常退出的進(jìn)程執(zhí)行重啟操作、按默認(rèn)方式啟動(dòng)進(jìn)程組以及關(guān)閉指定進(jìn)程等。基于進(jìn)程的運(yùn)行控制要求,Agent應(yīng)具有按照命令啟動(dòng)、退出、管理一臺(tái)主機(jī)上一個(gè)或多個(gè)訓(xùn)練進(jìn)程組的功能。Agent采用了劃分命令隊(duì)列、啟動(dòng)隊(duì)列、重啟隊(duì)列和退出隊(duì)列的管理方式實(shí)現(xiàn)了復(fù)雜的運(yùn)行控制。每個(gè)隊(duì)列設(shè)置一個(gè)定時(shí)器驅(qū)動(dòng),每秒鐘輪詢(xún)隊(duì)列一次,執(zhí)行控制命令。

    5.1 命令隊(duì)列

    命令隊(duì)列接收教員席Scheduler模塊傳入的控制報(bào)文并解析命令。解析命令后,根據(jù)其類(lèi)型,最終將其加入啟動(dòng)隊(duì)列、重啟隊(duì)列,或是退出隊(duì)列中執(zhí)行。由于命令的執(zhí)行要耗費(fèi)一定的時(shí)間,驅(qū)動(dòng)器每次只從隊(duì)首取出一條命令,待這條命令執(zhí)行完畢后將其從隊(duì)列中刪除。

    5.1.1 優(yōu)先級(jí)劃分

    命令隊(duì)列區(qū)分了各種命令的優(yōu)先順序,為每個(gè)命令定義了不同的優(yōu)先級(jí)及不同的處理函數(shù)。命令優(yōu)先級(jí)PRI_MODE如下所示,其中優(yōu)先級(jí)越高,數(shù)值越低。

    enum PRI_MODE

    EM_SHUTDOWN= 1,∥關(guān)機(jī)命令

    EM_CLOSE_ALL_PROC= 2,∥關(guān)閉所有進(jìn)程

    EM_CLOSE_SVR_PROC= 3,/*關(guān)閉所有服務(wù)進(jìn)程 */

    EM_CLOSE_APP_PROC= 4,/*關(guān)閉所有應(yīng)用進(jìn)程*/

    EM_START_DEFAULT_PROC= 5,/*啟動(dòng)默認(rèn)進(jìn)程*/

    EM_CLOSE_PROC= 6,∥關(guān)閉某應(yīng)用進(jìn)程

    EM_START_PROC= 7,∥開(kāi)啟某應(yīng)用進(jìn)程

    升壓調(diào)節(jié)器采用的是SP6641B,它具有很高的電池轉(zhuǎn)換效率能夠滿(mǎn)足多個(gè)設(shè)備的電力供應(yīng),而且還具有極低的靜態(tài)電流。

    };

    Figure 3 Flow chart of process management 圖3 進(jìn)程管理流程圖

    引入優(yōu)先級(jí)主要是為了避免如下情況的發(fā)生:教員席位可以不斷發(fā)出各種運(yùn)行操作命令,這些命令的執(zhí)行和完成都需花費(fèi)一定時(shí)間,在這個(gè)時(shí)間里如果教員席位不斷惡意地發(fā)出命令,則系統(tǒng)有可能會(huì)不斷關(guān)閉和啟動(dòng),影響系統(tǒng)穩(wěn)定性。所以,Agent收到命令后, 應(yīng)先根據(jù)命令報(bào)文的類(lèi)型及當(dāng)前隊(duì)列中命令,判斷是將新命令加入命令隊(duì)列,還是忽略這個(gè)命令。對(duì)PRI_MODE中的前四種命令,處理規(guī)則為:(1)當(dāng)前沒(méi)有要執(zhí)行的命令,直接將新命令加入到命令隊(duì)列;(2)當(dāng)這些命令加入時(shí),刪除所有低優(yōu)先級(jí)命令;(3)當(dāng)這些命令加入時(shí)如果有更高優(yōu)先級(jí)命令存在,則放棄加入。這樣能讓教員在系統(tǒng)完全退出、就緒的狀態(tài)下進(jìn)行下一個(gè)系統(tǒng)級(jí)操作。而后三種命令的判斷規(guī)則為:(1)當(dāng)前沒(méi)有要執(zhí)行的命令,直接將新命令加入到命令隊(duì)列;(2)當(dāng)前有正在執(zhí)行的命令,新命令的類(lèi)型是啟動(dòng)默認(rèn)進(jìn)程,若新命令的優(yōu)先級(jí)最高,則新命令加入隊(duì)列中,但不刪除隊(duì)列之前的命令;(3)當(dāng)前有正在執(zhí)行的命令,新命令的類(lèi)型是關(guān)閉某應(yīng)用進(jìn)程,若新命令的優(yōu)先級(jí)最高,則新命令加入隊(duì)列中,并且刪除當(dāng)前命令隊(duì)列中對(duì)同一組進(jìn)程的啟動(dòng)命令,但不刪除隊(duì)列之前的其他命令;(4)當(dāng)前有正在執(zhí)行的命令,新命令的類(lèi)型是啟動(dòng)某應(yīng)用進(jìn)程,若命令隊(duì)列中存在關(guān)機(jī)命令、關(guān)閉所有進(jìn)程的命令,則忽略新命令,否則,將其加入隊(duì)列。

    5.1.2 進(jìn)程信息管理

    由于命令隊(duì)列在執(zhí)行命令時(shí),將命令中涉及到的進(jìn)程交付給了其他三個(gè)隊(duì)列,故其本身并不知道進(jìn)程的執(zhí)行結(jié)果,因此把進(jìn)程劃分為九種狀態(tài)。各隊(duì)列根據(jù)進(jìn)程的執(zhí)行情況,調(diào)整進(jìn)程的狀態(tài)。例如,進(jìn)程暫時(shí)不能被加入到啟動(dòng)隊(duì)列中(一種情況是,需等到退出隊(duì)列中的進(jìn)程全部退出后,進(jìn)程才能加入啟動(dòng)隊(duì)列),這時(shí)進(jìn)程被設(shè)置為PS_TOSTART狀態(tài);在進(jìn)程成功加入啟動(dòng)隊(duì)列后,進(jìn)程被設(shè)置為PS_INSTART狀態(tài);啟動(dòng)隊(duì)列中的進(jìn)程成功啟動(dòng)后,又被設(shè)置為PS_RUNNING狀態(tài)。圖3簡(jiǎn)要描述了進(jìn)程在啟動(dòng)列表、重啟列表及退出列表中的轉(zhuǎn)換過(guò)程。

    進(jìn)程狀態(tài)PROC_STATE如下所示:

    enum PROC_STATE

    {

    PS_NONE= 1,∥初始化狀態(tài)

    PS_INSTART= 2,∥在啟動(dòng)隊(duì)列中

    PS_TOSTART= 3,∥要加入到啟動(dòng)隊(duì)列

    PS_STARTING= 4,∥正在啟動(dòng)

    PS_RUNNING= 5,∥運(yùn)行中

    PS_TOEXIT= 6,∥要加入到退出隊(duì)列

    PS_STOPPED= 7,∥已經(jīng)停止

    PS_INEXIT= 8,∥在退出隊(duì)列中

    PS_TERMING= 9∥正在停止

    };

    除了進(jìn)程狀態(tài)的設(shè)置外,系統(tǒng)還設(shè)計(jì)了專(zhuān)門(mén)的進(jìn)程管理器。進(jìn)程管理器存儲(chǔ)了Agent系統(tǒng)中所有服務(wù)進(jìn)程和應(yīng)用進(jìn)程的最新信息,包括進(jìn)程狀態(tài)信息。因此每次進(jìn)程狀態(tài)發(fā)生變化時(shí),都要及時(shí)修改進(jìn)程管理器中相關(guān)信息。通過(guò)定時(shí)器驅(qū)動(dòng)定時(shí)檢查所有應(yīng)用進(jìn)程的狀態(tài),對(duì)已經(jīng)退出的進(jìn)程,將其從進(jìn)程管理器中刪除;對(duì)等待啟動(dòng)和等待關(guān)閉進(jìn)程,將其加入到啟動(dòng)或退出隊(duì)列中。由于運(yùn)行中的進(jìn)程可能會(huì)發(fā)生異常終止的情況,進(jìn)程管理器將正常退出的進(jìn)程標(biāo)記為KILLED(數(shù)值1),異常退出的進(jìn)程的標(biāo)記為UNKILLED(數(shù)值0)。通過(guò)查看進(jìn)程退出標(biāo)記的值及檢測(cè)進(jìn)程是否還在運(yùn)行中,來(lái)判斷進(jìn)程有無(wú)異常終止。對(duì)異常終止的進(jìn)程,進(jìn)程管理器將其加入到重啟列表中重新啟動(dòng)。

    5.2 啟動(dòng)隊(duì)列和重啟隊(duì)列

    啟動(dòng)隊(duì)列接收命令隊(duì)列和進(jìn)程管理器的進(jìn)程啟動(dòng)請(qǐng)求,將待啟動(dòng)進(jìn)程加入到隊(duì)列中。與命令隊(duì)列不同,啟動(dòng)隊(duì)列一次處理完所有到來(lái)的請(qǐng)求,而不是逐一處理。啟動(dòng)和重啟隊(duì)列中的進(jìn)程狀態(tài)只能是INSTART和TOSTART兩者之一,啟動(dòng)成功的進(jìn)程狀態(tài)修改為PS_RUNNING,并從該隊(duì)列中移除。進(jìn)程執(zhí)行啟動(dòng)動(dòng)作后,若超過(guò)了60秒仍未啟動(dòng)成功,則將進(jìn)程加入到重啟隊(duì)列中等待下一次啟動(dòng),同時(shí)從啟動(dòng)隊(duì)列中刪除。啟動(dòng)隊(duì)列和重啟隊(duì)列中的進(jìn)程要求無(wú)重復(fù);同時(shí),啟動(dòng)進(jìn)程之前需判斷進(jìn)程的存活狀態(tài),使用kill(pid,0)得到進(jìn)程是否已經(jīng)在運(yùn)行,確保不會(huì)再次啟動(dòng)已經(jīng)在運(yùn)行的進(jìn)程。

    由于Agent支持在一臺(tái)主機(jī)上進(jìn)行不同訓(xùn)練組的切換功能,如席位主機(jī)從模擬飛行員切換為模擬雷達(dá)管制席位,這樣在啟動(dòng)新進(jìn)程組時(shí),若本機(jī)上前一組進(jìn)程仍然在運(yùn)行,需要進(jìn)行進(jìn)程組的切換。進(jìn)程組的切換要求先將前一個(gè)訓(xùn)練組的進(jìn)程加入退出隊(duì)列并殺死,再將待啟動(dòng)的新訓(xùn)練組進(jìn)程加入啟動(dòng)隊(duì)列進(jìn)行啟動(dòng)。因此,在命令隊(duì)列將待啟動(dòng)進(jìn)程加入啟動(dòng)隊(duì)列之前,需保證退出隊(duì)列的穩(wěn)定態(tài)(即待退出的進(jìn)程已經(jīng)全部殺死)。如果退出隊(duì)列是非穩(wěn)定態(tài),則通過(guò)定時(shí)器驅(qū)動(dòng)不斷檢測(cè)其狀態(tài),直到達(dá)到穩(wěn)定態(tài),才能將待啟動(dòng)進(jìn)程加入啟動(dòng)隊(duì)列中。

    5.3 退出隊(duì)列

    命令隊(duì)列處理退出進(jìn)程組、退出進(jìn)程、全系統(tǒng)關(guān)閉、訓(xùn)練組切換等命令時(shí),需要?dú)⑺酪粋€(gè)或多個(gè)進(jìn)程,所有待殺死的進(jìn)程被放入到退出隊(duì)列中。Agent提供了兩種殺死進(jìn)程的方式:一種基于SIGKILL信號(hào),一種基于SIGTERM信號(hào)。由于SIGTERM信號(hào)不能立即殺死進(jìn)程[2],故設(shè)置超時(shí)時(shí)間用于判斷SIGTERM是否超時(shí)。超時(shí)后,使用SIGKILL信號(hào)立即殺死進(jìn)程。在對(duì)進(jìn)程發(fā)出SIGTERM信號(hào)后,該進(jìn)程繼續(xù)保留在退出隊(duì)列中,同時(shí)記錄下SIGTERM信號(hào)的發(fā)出時(shí)間,進(jìn)程狀態(tài)也由PS_INEXIT變?yōu)镻S_TERMING。退出隊(duì)列的定時(shí)器輪詢(xún)隊(duì)列時(shí),若檢查到狀態(tài)為PS_TERMING的進(jìn)程在超時(shí)時(shí)間之內(nèi)死亡,則將其從退出隊(duì)列中移除;若檢查到該進(jìn)程已經(jīng)超時(shí)卻仍然存活,則對(duì)該進(jìn)程發(fā)出SIGKILL信號(hào),強(qiáng)制殺死進(jìn)程并將該進(jìn)程移出退出列表。與啟動(dòng)隊(duì)列類(lèi)似,對(duì)退出隊(duì)列中進(jìn)程發(fā)出殺死信號(hào)之前,也要判斷其存活狀態(tài),避免對(duì)已死亡進(jìn)程的不必要操作。

    5.4 Agent設(shè)計(jì)優(yōu)化

    當(dāng)采用進(jìn)程定位方式管理進(jìn)程時(shí),如果對(duì)操作系統(tǒng)中所有的進(jìn)程進(jìn)行定時(shí)的輪詢(xún),會(huì)導(dǎo)致Agent的CPU占用率增高。為了減少Agent的CPU占用率,可以采用將驅(qū)動(dòng)器運(yùn)行時(shí)間間隔加長(zhǎng)的方法,但這樣會(huì)降低進(jìn)程檢測(cè)的靈敏度。經(jīng)過(guò)優(yōu)化的Agent設(shè)計(jì)為:在上述四個(gè)隊(duì)列均為空時(shí)(這是實(shí)際系統(tǒng)運(yùn)行時(shí)大部分時(shí)間的狀態(tài)),將這種狀態(tài)定義為系統(tǒng)穩(wěn)定態(tài),只對(duì)被進(jìn)程管理器管理的進(jìn)程用kill(pid, 0)進(jìn)行存活的判斷,該方法有效降低了CPU占用率。

    6 Scheduler模塊的設(shè)計(jì)

    系統(tǒng)中各主機(jī)的Agent定時(shí)向Scheduler模塊發(fā)送訓(xùn)練組的信息和狀態(tài),每秒鐘更新一次。更新的信息包括:發(fā)送主機(jī)、是否處于穩(wěn)定態(tài)、當(dāng)前CPU使用率、當(dāng)前主機(jī)運(yùn)行了的分組數(shù)目、當(dāng)前本機(jī)上運(yùn)行的分組分別是哪些等。這個(gè)報(bào)文只在Agent處于穩(wěn)定狀態(tài)的時(shí)候進(jìn)行發(fā)送,如果主機(jī)目前狀態(tài)不穩(wěn)定,則會(huì)選擇發(fā)送上一次穩(wěn)定態(tài)的信息;同時(shí),指示當(dāng)前的主機(jī)狀態(tài)為不穩(wěn)定,以便Scheduler暫時(shí)不使用這些信息進(jìn)行進(jìn)程組的啟動(dòng)。Scheduler在啟動(dòng)后和運(yùn)行中如果發(fā)現(xiàn)某個(gè)訓(xùn)練組發(fā)生組缺失導(dǎo)致該訓(xùn)練組不能正常運(yùn)行,將選擇在某個(gè)訓(xùn)練服務(wù)器上重啟該缺失的訓(xùn)練進(jìn)程組。圖4是對(duì)Agent與Scheduler關(guān)系的簡(jiǎn)單描述。

    Figure 4 Flow chart of scheduler processing 圖4 Scheduler處理流程圖

    對(duì)于運(yùn)行于模擬仿真服務(wù)器上的各進(jìn)程組,Scheduler在:(1)存在進(jìn)程異常退出;(2)某臺(tái)服務(wù)器CPU占用率高于閾值;(3)訓(xùn)練組啟動(dòng)后需要對(duì)當(dāng)前的服務(wù)器運(yùn)行的訓(xùn)練服務(wù)進(jìn)程組在多個(gè)服務(wù)器間進(jìn)行調(diào)度,盡可能保持各航管模擬訓(xùn)練服務(wù)器的CPU負(fù)載均衡。Scheduler在負(fù)載均衡算法運(yùn)算后根據(jù)結(jié)果執(zhí)行調(diào)度動(dòng)作,目前執(zhí)行調(diào)度切換的時(shí)間為3秒,可以滿(mǎn)足系統(tǒng)的需要。

    Scheduler采用如下方法進(jìn)行調(diào)度[5~8]:

    (1)接收Agent報(bào)告的各訓(xùn)練服務(wù)器中各進(jìn)程的CPU占用率,并得到以進(jìn)程組為單位的CPU占用率,本系統(tǒng)中使用的占用率為小數(shù)點(diǎn)以后兩位。

    (2)檢查各服務(wù)器CPU占用率是否存在較大的差值,如果存在則進(jìn)行負(fù)載均衡動(dòng)作即進(jìn)入第三步。

    (3)定義一個(gè)系統(tǒng)中不可能出現(xiàn)的單機(jī)最大負(fù)載值MAX_LOAD,當(dāng)系統(tǒng)滿(mǎn)足了進(jìn)行負(fù)載均衡切換的條件后,首先在集群系統(tǒng)中查找當(dāng)前負(fù)載小于參數(shù)所指定負(fù)載(MAX_LOAD)的服務(wù)器中的最高負(fù)載的服務(wù)器,由它們組成一個(gè)“最高負(fù)載服務(wù)器鏈表”,然后依次遍歷鏈表的每個(gè)服務(wù)器上的進(jìn)程組。假設(shè)某最高負(fù)載服務(wù)器上運(yùn)行的第T個(gè)訓(xùn)練組的第N號(hào)進(jìn)程組,于是在當(dāng)前運(yùn)行的服務(wù)器組中查找具有最低負(fù)載的服務(wù)器。如果找到則計(jì)算兩臺(tái)服務(wù)器切換前后的負(fù)載差值,如果切換后的差值小于切換前的則說(shuō)明切換后負(fù)載更趨向均衡,那么將該進(jìn)程放入進(jìn)行切換的隊(duì)列中,依此類(lèi)推,直至遍歷完該主機(jī)上的所有進(jìn)程組為止。如果在該主機(jī)的遍歷過(guò)程中發(fā)生了進(jìn)程組的變化,那么則跳出對(duì)“最高負(fù)載服務(wù)器鏈表”的循環(huán),因?yàn)橛捎诎l(fā)生了切換,所以此時(shí)在最高負(fù)載服務(wù)器鏈表中的服務(wù)器負(fù)載總和可能已經(jīng)不再是系統(tǒng)中的最高負(fù)載了,因此重新進(jìn)行處理,進(jìn)入下一次遞歸,此時(shí)傳遞的參數(shù)仍然是MAX_LOAD,直至遍歷完所有最高負(fù)載主機(jī)上的進(jìn)程組。如果遍歷完成而沒(méi)有發(fā)生切換,那么就將此時(shí)系統(tǒng)中的最高負(fù)載總值作為參數(shù)傳遞到下一次遞歸運(yùn)算中。遞歸的終點(diǎn)是:在服務(wù)器組中再也找不到具有比傳入?yún)?shù)更小的負(fù)載總值的服務(wù)器了。此刻訓(xùn)練服務(wù)器組中各主機(jī)的負(fù)載達(dá)到了最大程度的平衡。圖5作為算法流程圖詳細(xì)描述了這一步的算法流程與步驟。

    在推選出各服務(wù)器要進(jìn)行切換的服務(wù)器進(jìn)程組以后,Scheduler會(huì)通知這些進(jìn)程組完成進(jìn)程運(yùn)行狀態(tài)檢查點(diǎn)的保存,并使用調(diào)用各服務(wù)器Agent完成檢查點(diǎn)信息到目標(biāo)服務(wù)器的傳輸,在狀態(tài)完成傳遞以后,統(tǒng)一發(fā)起進(jìn)程組在目標(biāo)機(jī)的啟動(dòng)工作。在進(jìn)程組跨主機(jī)遷移的過(guò)程中,Scheduler對(duì)外部對(duì)集群的控制命令不予處理,對(duì)于Agent心跳報(bào)文也只記錄收到的時(shí)間,這樣做的目的是為了避免切換過(guò)程中引起新的調(diào)度。

    Figure 5 Flow chart of training server load balancing algorithm圖5 訓(xùn)練服務(wù)器負(fù)載均衡算法流程圖

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

    如4.1節(jié)的方法一所述,以fork+子進(jìn)程中exec方式將進(jìn)程作為Agent的子進(jìn)程啟動(dòng)的方式可能導(dǎo)致出現(xiàn)僵死進(jìn)程。當(dāng)子進(jìn)程終止時(shí),它釋放資源,并且發(fā)送SIGCHLD信號(hào)通知父進(jìn)程。父進(jìn)程接收SIGCHLD信號(hào),返回子進(jìn)程的狀態(tài),并且釋放系統(tǒng)進(jìn)程表資源。如果子進(jìn)程先于父進(jìn)程終止,而父進(jìn)程fork()之前既沒(méi)有按照SIGCHLD信號(hào)調(diào)用處理函數(shù)waitpid()等待子進(jìn)程結(jié)束,又沒(méi)有顯式忽略該信號(hào),則子進(jìn)程成為僵死進(jìn)程,無(wú)法正常結(jié)束。此時(shí)即使是以超級(jí)用戶(hù)身份調(diào)用kill-9命令也不能殺死僵死進(jìn)程。直到其父進(jìn)程結(jié)束,子線(xiàn)程成為孤兒進(jìn)程,由守護(hù)進(jìn)程init領(lǐng)養(yǎng)孤兒進(jìn)程,當(dāng)孤兒進(jìn)程結(jié)束時(shí)init為其釋放進(jìn)程表資源。

    實(shí)現(xiàn)系統(tǒng)時(shí)發(fā)現(xiàn),即使處理了SIGCHILD信號(hào),調(diào)用waitpid()等待子進(jìn)程結(jié)束,當(dāng)被關(guān)閉進(jìn)程組的進(jìn)程過(guò)多時(shí),如達(dá)到幾十個(gè),由于UNIX系統(tǒng)對(duì)同一信號(hào)沒(méi)有排隊(duì)機(jī)制,總有幾個(gè)子進(jìn)程無(wú)法正常關(guān)閉,出現(xiàn)僵死進(jìn)程。不僅耗費(fèi)系統(tǒng)資源,也可能因?yàn)榻┧肋M(jìn)程沒(méi)有釋放系統(tǒng)資源,如網(wǎng)絡(luò)通訊的文件描述符綁定的網(wǎng)絡(luò)端口,導(dǎo)致同一進(jìn)程無(wú)法再次啟動(dòng),給系統(tǒng)的進(jìn)程管理帶來(lái)很大麻煩。經(jīng)過(guò)多次嘗試新方法,最終4.1節(jié)的方法三良好地適應(yīng)了系統(tǒng)進(jìn)程組控制管理的需求。

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

    以上介紹了基于代理的航管仿真訓(xùn)練系統(tǒng)運(yùn)行控制的設(shè)計(jì)與實(shí)現(xiàn),通過(guò)對(duì)命令隊(duì)列、啟動(dòng)隊(duì)列、重啟隊(duì)列和退出隊(duì)列的設(shè)計(jì),通過(guò)對(duì)收到的命令按優(yōu)先級(jí)進(jìn)行處理,配合負(fù)載均衡算法,有效處理了航管訓(xùn)練系統(tǒng)中運(yùn)行控制的問(wèn)題,也實(shí)現(xiàn)了對(duì)進(jìn)程運(yùn)行狀態(tài)信息的監(jiān)控。

    在航管仿真訓(xùn)練系統(tǒng)的后續(xù)研發(fā)中,隨著訓(xùn)練功能的日益豐富,對(duì)基于代理的運(yùn)行控制提出了更多的要求,其XML表述的配置內(nèi)容更加豐富,對(duì)于命令的處理也由單純的依靠?jī)?yōu)先級(jí)判斷變?yōu)榛谟邢逘顟B(tài)機(jī)進(jìn)行命令和運(yùn)行狀態(tài)轉(zhuǎn)換,系統(tǒng)功能日益完善和提升。

    [1] Ferber J, Gutknecht O. A meta-model for the analysis and design of organization in multi-agent systems[C]∥Proc of the 3rd International Conference on Multi-Agent Systems (ICMAS’98), 1998:258-266.

    [2] Raymond E S. The art of Unix programming[M]. 2nd edition. Beijing:Electronic Industry Press, 2006.(in Chinese)

    [3] Stevens W R. Advanced programming in the Unix environment[M]. Beijing:Posts & Telecom Press, 2000.(in Chinese)

    [4] Stevens W R. Unix network programming volume 2:Interprocess communications[M]. Beijing:Posts & Telecom Press, 2010.(in Chinese)

    [5] Lin Jun-xuan, Hu Shu. System and process information access in tru64 Unix server[J]. Computer Applications, 2006, 26(z2):316-318.(in Chinese)

    [6] Forrest S,Hofmeyr S A,Somayaji A,et al.A sense of self for Unix processes[C]∥Proc of the 1996 IEEE Symposium on Security and Privacy, 1996:120-128.(in Chinese)

    [7] Xiang Jian-jun, Bai Xin, Zuo Ji-zhang. A multipletask load balancing algorithm used in real-time cluster system[J]. Computer Engineering, 2003, 29(12):36-38.(in Chinese)

    [8] Sekar R, Venkatakrishnan V N. One-way isolation:An effective approach for realizing safe execution environments[C]

    ∥Proc of the ISOC Network and Distributed Systems Symposium, 2005:265-278.(in Chinese)

    [9] Bass L, Clements P C, Kazman R. Software architecture in practice[M].2nd ed. Beijing:Tsinghua University Press, 2003.(in Chinese)

    附中文參考文獻(xiàn):

    [2] Raymond E S. UNIX編程藝術(shù)[M]. 第二版.北京:電子工業(yè)出版社,2006.

    [3] Stevens W R. UNIX高級(jí)環(huán)境編程[M].第二版.北京:人民郵電出版社,2000.

    [4] Stevens W R. UNIX網(wǎng)絡(luò)編程(卷二)進(jìn)程間通信[M]. 北京:人民郵電出版社,2010.

    [5] 林俊萱,胡術(shù).Tru64 Unix服務(wù)器中系統(tǒng)及進(jìn)程信息的獲取方法[J]. 計(jì)算機(jī)應(yīng)用,2006, 26(z2):316-318.

    [6] Forrest S,Hofmeyr S A,Somayaji A,等.自我感覺(jué)UNIX進(jìn)程[C]∥ IEEE計(jì)算機(jī)學(xué)會(huì)安全與隱私研討會(huì), 1996:120-128.

    [7] 向建軍,白欣,左繼章.一種用于實(shí)時(shí)集群的多任務(wù)負(fù)載均衡算法[J]. 計(jì)算機(jī)工程,2003, 29(12):36-38.

    [8] Sekar R, Venkatakrishnan V N. 單向隔離:實(shí)現(xiàn)安全的執(zhí)行環(huán)境的有效途徑[C]∥國(guó)際互聯(lián)網(wǎng)協(xié)會(huì)網(wǎng)絡(luò)與分布式系統(tǒng)安全座談會(huì), 2005:265-278.

    [9] Bass L, Clements P C, Kazman R.軟件構(gòu)架實(shí)踐[M].第二版.北京:清華大學(xué)出版社,2003.

    猜你喜歡
    航管訓(xùn)練組隊(duì)列
    新型抗阻力訓(xùn)練模式改善大學(xué)生身體素質(zhì)的實(shí)驗(yàn)研究
    跑臺(tái)運(yùn)動(dòng)訓(xùn)練對(duì)脊髓損傷大鼠肺功能及HMGB-1表達(dá)的影響
    線(xiàn)上自主訓(xùn)練與線(xiàn)下指導(dǎo)訓(xùn)練表面肌電差異分析
    隊(duì)列里的小秘密
    基于多隊(duì)列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    淺談軍民航航管的融合發(fā)展
    在隊(duì)列里
    豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
    傳輸設(shè)備速率對(duì)于航管雷達(dá)融合處理的影響研究
    航管應(yīng)答機(jī)退敏和恢復(fù)的設(shè)計(jì)研究
    電子制作(2017年23期)2017-02-02 07:16:51
    老司机影院成人| 日韩在线高清观看一区二区三区| 亚洲高清免费不卡视频| 大片电影免费在线观看免费| 国产亚洲5aaaaa淫片| 不卡视频在线观看欧美| 国产 一区 欧美 日韩| 国产精品久久久久成人av| 91久久精品国产一区二区三区| 久久精品国产自在天天线| 久久久久久久国产电影| videossex国产| 2018国产大陆天天弄谢| 只有这里有精品99| 国产成人精品久久久久久| 久久久久久久久久久免费av| 国产 一区 欧美 日韩| 国产亚洲一区二区精品| 下体分泌物呈黄色| 男男h啪啪无遮挡| 日本与韩国留学比较| 亚洲久久久国产精品| 久久久a久久爽久久v久久| 亚洲国产成人一精品久久久| 中文字幕亚洲精品专区| 亚洲精品456在线播放app| 特大巨黑吊av在线直播| 在线观看美女被高潮喷水网站| 亚州av有码| 最近最新中文字幕免费大全7| 亚洲综合色惰| xxx大片免费视频| 男女边摸边吃奶| 老女人水多毛片| 黄色视频在线播放观看不卡| 久久6这里有精品| 亚洲,一卡二卡三卡| 久久99热这里只有精品18| 久久久久久久久久久免费av| 欧美高清成人免费视频www| 美女高潮的动态| 欧美xxxx黑人xx丫x性爽| 舔av片在线| 欧美少妇被猛烈插入视频| 亚洲综合色惰| 又粗又硬又长又爽又黄的视频| 国产成人精品婷婷| 麻豆国产97在线/欧美| 欧美日韩在线观看h| 男人舔奶头视频| 久久精品人妻少妇| 亚洲欧美成人精品一区二区| 欧美变态另类bdsm刘玥| 久久亚洲国产成人精品v| 亚洲国产精品999| av在线老鸭窝| 国产淫片久久久久久久久| 亚洲va在线va天堂va国产| 精品久久久精品久久久| 热99国产精品久久久久久7| 性色avwww在线观看| 久久久成人免费电影| 黄片无遮挡物在线观看| 精品熟女少妇av免费看| 国产精品一区二区在线观看99| 高清视频免费观看一区二区| 久热这里只有精品99| 观看免费一级毛片| 香蕉精品网在线| 六月丁香七月| 国产在视频线精品| 舔av片在线| 各种免费的搞黄视频| 免费观看a级毛片全部| 亚洲av成人精品一二三区| 麻豆国产97在线/欧美| 精品午夜福利在线看| 人妻一区二区av| 波野结衣二区三区在线| 亚洲精品亚洲一区二区| 国产极品天堂在线| 午夜日本视频在线| 天天躁日日操中文字幕| av又黄又爽大尺度在线免费看| 国产黄频视频在线观看| 国产精品一区二区在线观看99| 亚洲性久久影院| 中文字幕久久专区| 乱码一卡2卡4卡精品| 内地一区二区视频在线| 免费看av在线观看网站| 韩国高清视频一区二区三区| 成年人午夜在线观看视频| 国产v大片淫在线免费观看| 国产亚洲av片在线观看秒播厂| 久热这里只有精品99| 国产v大片淫在线免费观看| 少妇 在线观看| 亚洲av免费高清在线观看| 免费黄色在线免费观看| 超碰97精品在线观看| 老熟女久久久| 黄色欧美视频在线观看| 中文字幕制服av| 高清在线视频一区二区三区| 人妻 亚洲 视频| 午夜免费男女啪啪视频观看| 在线观看一区二区三区激情| 成人漫画全彩无遮挡| 亚洲aⅴ乱码一区二区在线播放| 综合色丁香网| 国产免费一级a男人的天堂| 只有这里有精品99| 亚洲国产av新网站| 少妇被粗大猛烈的视频| 国产精品成人在线| 男女边摸边吃奶| 中文字幕av成人在线电影| 午夜日本视频在线| 街头女战士在线观看网站| 99久久中文字幕三级久久日本| 久久ye,这里只有精品| 黄色怎么调成土黄色| 精品国产三级普通话版| 国产乱人视频| 色综合色国产| av黄色大香蕉| 夜夜骑夜夜射夜夜干| 国产精品熟女久久久久浪| 美女高潮的动态| 亚洲精品国产av蜜桃| 国产深夜福利视频在线观看| 成年女人在线观看亚洲视频| 国产在线免费精品| 久久鲁丝午夜福利片| 国产免费一级a男人的天堂| 久久久成人免费电影| 六月丁香七月| 久久精品国产a三级三级三级| 亚洲中文av在线| 观看av在线不卡| 国精品久久久久久国模美| 美女视频免费永久观看网站| kizo精华| 九草在线视频观看| 永久网站在线| 欧美日韩在线观看h| 日本午夜av视频| 国产一区二区在线观看日韩| 大码成人一级视频| av在线播放精品| 国产精品久久久久久精品电影小说 | 久久精品国产自在天天线| 久久久久久九九精品二区国产| 视频区图区小说| av一本久久久久| 卡戴珊不雅视频在线播放| 女性被躁到高潮视频| 日本av手机在线免费观看| 国产综合精华液| 99热网站在线观看| 七月丁香在线播放| 99热网站在线观看| 中文精品一卡2卡3卡4更新| 欧美另类一区| 久久综合国产亚洲精品| 激情五月婷婷亚洲| 青青草视频在线视频观看| 亚洲四区av| 我要看黄色一级片免费的| 中文字幕精品免费在线观看视频 | 国国产精品蜜臀av免费| 一边亲一边摸免费视频| 国产男女内射视频| 日本猛色少妇xxxxx猛交久久| 97在线视频观看| 狂野欧美激情性xxxx在线观看| 国产精品一区二区在线不卡| 欧美一区二区亚洲| 国产成人a区在线观看| 久久99热6这里只有精品| 青春草国产在线视频| 亚洲av综合色区一区| 美女视频免费永久观看网站| 久久久久久久国产电影| 高清在线视频一区二区三区| 涩涩av久久男人的天堂| 一级爰片在线观看| av专区在线播放| 欧美高清成人免费视频www| 亚洲性久久影院| 欧美日韩综合久久久久久| 欧美日韩一区二区视频在线观看视频在线| freevideosex欧美| 久久99热这里只有精品18| 国产精品一区二区在线不卡| 国语对白做爰xxxⅹ性视频网站| 美女内射精品一级片tv| 亚洲精品日本国产第一区| 最近手机中文字幕大全| 亚洲人成网站在线播| 国产又色又爽无遮挡免| www.av在线官网国产| 国产精品久久久久久久电影| 中文天堂在线官网| 日韩精品有码人妻一区| 偷拍熟女少妇极品色| 男人爽女人下面视频在线观看| 亚洲国产精品国产精品| 久久精品熟女亚洲av麻豆精品| 亚洲图色成人| 女的被弄到高潮叫床怎么办| 99久久人妻综合| tube8黄色片| 欧美激情极品国产一区二区三区 | 日日摸夜夜添夜夜添av毛片| 日韩一区二区三区影片| 国产无遮挡羞羞视频在线观看| 国产成人精品一,二区| 99国产精品免费福利视频| 亚洲欧美精品自产自拍| av免费在线看不卡| 国产免费视频播放在线视频| 国产无遮挡羞羞视频在线观看| 午夜免费观看性视频| 色综合色国产| 免费高清在线观看视频在线观看| 国产伦精品一区二区三区四那| 成人亚洲欧美一区二区av| 亚洲国产精品专区欧美| 国产精品国产三级国产av玫瑰| 亚洲国产精品一区三区| 日日摸夜夜添夜夜爱| 建设人人有责人人尽责人人享有的 | 美女福利国产在线 | 久久久久久久久久久丰满| 日韩在线高清观看一区二区三区| 国产乱人视频| 国国产精品蜜臀av免费| 久久久久国产精品人妻一区二区| 最近的中文字幕免费完整| 久热久热在线精品观看| 亚洲av成人精品一区久久| 欧美+日韩+精品| 午夜福利网站1000一区二区三区| 亚洲成人中文字幕在线播放| 亚洲内射少妇av| 好男人视频免费观看在线| 国产精品一二三区在线看| 日本欧美视频一区| 看十八女毛片水多多多| 国产女主播在线喷水免费视频网站| 成人国产av品久久久| 成人二区视频| 国产成人a区在线观看| 人人妻人人爽人人添夜夜欢视频 | 亚洲不卡免费看| 午夜视频国产福利| 国产av精品麻豆| 中文欧美无线码| 九色成人免费人妻av| 美女cb高潮喷水在线观看| 欧美成人午夜免费资源| 欧美激情极品国产一区二区三区 | 波野结衣二区三区在线| 国产爱豆传媒在线观看| 亚洲美女视频黄频| 深爱激情五月婷婷| 一级黄片播放器| 久久精品熟女亚洲av麻豆精品| 精品酒店卫生间| 五月伊人婷婷丁香| 一级毛片久久久久久久久女| 少妇人妻精品综合一区二区| 国产淫语在线视频| 国产女主播在线喷水免费视频网站| 日本午夜av视频| 欧美性感艳星| 国产精品国产三级国产av玫瑰| 欧美性感艳星| 熟女人妻精品中文字幕| 国产色婷婷99| 国产高潮美女av| 丰满乱子伦码专区| 黄色视频在线播放观看不卡| 亚洲av在线观看美女高潮| 伦精品一区二区三区| 久久热精品热| 少妇人妻久久综合中文| 卡戴珊不雅视频在线播放| 亚洲av综合色区一区| 国产伦在线观看视频一区| 亚洲欧美精品专区久久| 久久99热这里只频精品6学生| 特大巨黑吊av在线直播| 国产精品99久久久久久久久| 两个人的视频大全免费| 国产男女内射视频| 少妇人妻精品综合一区二区| 成人一区二区视频在线观看| 亚洲欧美日韩东京热| 久久热精品热| 欧美性感艳星| 男人狂女人下面高潮的视频| 国产在线视频一区二区| 26uuu在线亚洲综合色| 久久久久人妻精品一区果冻| 超碰av人人做人人爽久久| 中文字幕精品免费在线观看视频 | 国产精品久久久久久精品古装| 人人妻人人澡人人爽人人夜夜| 亚洲美女视频黄频| 久久青草综合色| 妹子高潮喷水视频| 人妻 亚洲 视频| 久久人妻熟女aⅴ| 亚洲天堂av无毛| 亚洲国产欧美人成| 亚洲四区av| 丝袜喷水一区| 亚洲丝袜综合中文字幕| 大香蕉久久网| 午夜福利网站1000一区二区三区| 日本av免费视频播放| 人人妻人人添人人爽欧美一区卜 | 国产淫语在线视频| 精品国产一区二区三区久久久樱花 | 色网站视频免费| 国产一区二区在线观看日韩| 亚洲国产精品一区三区| av不卡在线播放| 极品少妇高潮喷水抽搐| 亚洲性久久影院| 久久久午夜欧美精品| 亚洲国产欧美人成| 少妇 在线观看| 国产又色又爽无遮挡免| 老司机影院毛片| 美女主播在线视频| 校园人妻丝袜中文字幕| 一级av片app| www.av在线官网国产| 国产伦精品一区二区三区视频9| 97热精品久久久久久| 又黄又爽又刺激的免费视频.| 亚洲欧美一区二区三区黑人 | 欧美3d第一页| www.av在线官网国产| 一边亲一边摸免费视频| 亚洲欧美一区二区三区国产| 熟女av电影| 日韩制服骚丝袜av| 日韩免费高清中文字幕av| 亚洲不卡免费看| 两个人的视频大全免费| 亚洲精品国产成人久久av| 国产一级毛片在线| 你懂的网址亚洲精品在线观看| 97在线视频观看| 男人狂女人下面高潮的视频| 国产一区二区三区综合在线观看 | 免费观看av网站的网址| 午夜激情久久久久久久| 日本黄色片子视频| h日本视频在线播放| 国产男人的电影天堂91| 蜜桃亚洲精品一区二区三区| 人妻制服诱惑在线中文字幕| 最黄视频免费看| 99九九线精品视频在线观看视频| 久久99热6这里只有精品| 国产伦在线观看视频一区| av在线蜜桃| 欧美少妇被猛烈插入视频| 亚洲精品第二区| 色综合色国产| 有码 亚洲区| 中文字幕制服av| 永久免费av网站大全| 久久综合国产亚洲精品| 九九爱精品视频在线观看| 插逼视频在线观看| 一级毛片电影观看| 狠狠精品人妻久久久久久综合| 全区人妻精品视频| 成人18禁高潮啪啪吃奶动态图 | 五月开心婷婷网| 亚洲一级一片aⅴ在线观看| a级毛色黄片| 免费av不卡在线播放| 97在线视频观看| 高清毛片免费看| 天天躁夜夜躁狠狠久久av| 我要看日韩黄色一级片| 妹子高潮喷水视频| 伦精品一区二区三区| 国产精品一及| 麻豆乱淫一区二区| 黄片wwwwww| 性色avwww在线观看| 欧美一级a爱片免费观看看| 久久久亚洲精品成人影院| av在线播放精品| av线在线观看网站| 日本黄大片高清| 激情五月婷婷亚洲| 亚洲欧美日韩另类电影网站 | 精品人妻偷拍中文字幕| 亚洲av电影在线观看一区二区三区| 国产精品伦人一区二区| 网址你懂的国产日韩在线| 国产精品国产三级国产av玫瑰| 少妇人妻精品综合一区二区| 欧美激情极品国产一区二区三区 | 国产真实伦视频高清在线观看| 亚洲色图综合在线观看| 国产乱人偷精品视频| 寂寞人妻少妇视频99o| 中文精品一卡2卡3卡4更新| 国产美女午夜福利| 赤兔流量卡办理| 成人黄色视频免费在线看| 欧美成人a在线观看| 国产一区有黄有色的免费视频| 欧美精品人与动牲交sv欧美| 精品一区在线观看国产| 女的被弄到高潮叫床怎么办| 欧美最新免费一区二区三区| 久久久久视频综合| 欧美 日韩 精品 国产| 成人毛片60女人毛片免费| 久久97久久精品| 国产成人精品一,二区| 亚洲av中文av极速乱| 日日摸夜夜添夜夜爱| 久久久a久久爽久久v久久| 亚洲激情五月婷婷啪啪| 最后的刺客免费高清国语| 久久亚洲国产成人精品v| 国产精品人妻久久久影院| 亚洲精品乱码久久久v下载方式| 亚洲激情五月婷婷啪啪| 美女内射精品一级片tv| 国产高清三级在线| 精品国产露脸久久av麻豆| 一级片'在线观看视频| 欧美3d第一页| 亚洲欧美日韩东京热| 啦啦啦在线观看免费高清www| 国产欧美日韩一区二区三区在线 | 国产免费一区二区三区四区乱码| 新久久久久国产一级毛片| 欧美精品一区二区大全| 有码 亚洲区| 国产无遮挡羞羞视频在线观看| av在线蜜桃| 嫩草影院入口| 亚洲精华国产精华液的使用体验| 精华霜和精华液先用哪个| 免费黄色在线免费观看| 欧美三级亚洲精品| 99九九线精品视频在线观看视频| 在线观看人妻少妇| 亚洲精品乱码久久久久久按摩| 好男人视频免费观看在线| 伊人久久精品亚洲午夜| 九色成人免费人妻av| av女优亚洲男人天堂| 成人高潮视频无遮挡免费网站| av又黄又爽大尺度在线免费看| 亚洲成人一二三区av| 1000部很黄的大片| 欧美成人a在线观看| 麻豆成人av视频| 精品久久国产蜜桃| 乱码一卡2卡4卡精品| 观看av在线不卡| 国产亚洲一区二区精品| 欧美xxⅹ黑人| 国产av国产精品国产| 女性生殖器流出的白浆| 亚洲美女黄色视频免费看| 黄色视频在线播放观看不卡| 欧美区成人在线视频| 亚洲aⅴ乱码一区二区在线播放| 日韩成人伦理影院| 亚洲精品国产色婷婷电影| 欧美97在线视频| 精华霜和精华液先用哪个| 色婷婷久久久亚洲欧美| 国产成人精品福利久久| 一级毛片电影观看| av黄色大香蕉| 一区在线观看完整版| 熟女人妻精品中文字幕| 精品国产一区二区三区久久久樱花 | 日本av免费视频播放| 人妻少妇偷人精品九色| 夫妻性生交免费视频一级片| 国产精品精品国产色婷婷| 成人综合一区亚洲| 亚洲国产av新网站| 美女视频免费永久观看网站| 91午夜精品亚洲一区二区三区| 一级毛片我不卡| 亚洲人成网站在线观看播放| 久久99热这里只有精品18| 国产精品国产三级国产专区5o| 免费观看在线日韩| 国产av国产精品国产| 午夜视频国产福利| 99久久中文字幕三级久久日本| 国产精品久久久久久精品古装| 永久免费av网站大全| 18禁在线无遮挡免费观看视频| 熟女av电影| 一级片'在线观看视频| 欧美成人午夜免费资源| 久久99蜜桃精品久久| 久久久久网色| 亚洲成人av在线免费| 黄色怎么调成土黄色| 日韩一区二区视频免费看| 99热网站在线观看| 晚上一个人看的免费电影| 亚洲精品乱码久久久久久按摩| 日本一二三区视频观看| 岛国毛片在线播放| 亚洲国产精品一区三区| 青春草视频在线免费观看| 少妇人妻久久综合中文| 免费看日本二区| 日韩人妻高清精品专区| 亚洲欧美清纯卡通| 天美传媒精品一区二区| 男人添女人高潮全过程视频| 美女国产视频在线观看| 亚洲av不卡在线观看| 汤姆久久久久久久影院中文字幕| 女性被躁到高潮视频| 精品国产露脸久久av麻豆| 欧美zozozo另类| 亚洲,欧美,日韩| 男女国产视频网站| 美女中出高潮动态图| 亚洲一级一片aⅴ在线观看| 国产久久久一区二区三区| 3wmmmm亚洲av在线观看| 一级黄片播放器| 日韩人妻高清精品专区| 亚洲精品日本国产第一区| 国产熟女欧美一区二区| av国产久精品久网站免费入址| www.av在线官网国产| 亚洲欧美日韩卡通动漫| www.av在线官网国产| 在线观看国产h片| 亚洲三级黄色毛片| 爱豆传媒免费全集在线观看| 精品亚洲乱码少妇综合久久| 久久久久精品久久久久真实原创| 美女视频免费永久观看网站| 国产精品偷伦视频观看了| 亚洲精品456在线播放app| 黄片无遮挡物在线观看| 蜜桃亚洲精品一区二区三区| 欧美日韩精品成人综合77777| 亚洲精品国产av蜜桃| 亚洲伊人久久精品综合| 国产大屁股一区二区在线视频| 一本—道久久a久久精品蜜桃钙片| videos熟女内射| av免费在线看不卡| 精品亚洲成a人片在线观看 | 欧美丝袜亚洲另类| 尾随美女入室| 亚洲,一卡二卡三卡| 亚洲无线观看免费| 欧美性感艳星| 亚洲,欧美,日韩| 99久久精品热视频| 国产大屁股一区二区在线视频| 99热国产这里只有精品6| 婷婷色av中文字幕| 日韩av在线免费看完整版不卡| 久久久久性生活片| 国产午夜精品久久久久久一区二区三区| 久久精品久久久久久久性| 精品人妻视频免费看| 婷婷色av中文字幕| 日韩伦理黄色片| 亚洲美女搞黄在线观看| 高清日韩中文字幕在线| 成人综合一区亚洲| 亚洲欧洲日产国产| 中文资源天堂在线| 久久6这里有精品| 九九在线视频观看精品| 2021少妇久久久久久久久久久| 制服丝袜香蕉在线| 在线免费十八禁| 久久久亚洲精品成人影院| 国产成人aa在线观看| freevideosex欧美| 99热这里只有是精品在线观看| 亚洲精品,欧美精品| 欧美丝袜亚洲另类| 日本午夜av视频| 老女人水多毛片| 精品久久久久久久久av| 欧美+日韩+精品| 成人无遮挡网站| 亚洲av日韩在线播放| 麻豆精品久久久久久蜜桃| 黄片wwwwww|