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

    代碼生成技術(shù)在數(shù)據(jù)序列化方面的應(yīng)用

    2019-09-10 07:22:44戚艷兵楊佳
    關(guān)鍵詞:代碼生成序列化

    戚艷兵 楊佳

    摘要:作為提高軟件開發(fā)效率和開發(fā)質(zhì)量的一種技術(shù),代碼生成技術(shù)一直受到軟件開發(fā)人員的重視。針對(duì)用于數(shù)據(jù)序列化的代碼生成技術(shù)在可移植性及封裝、解析效率等方面的問題,設(shè)計(jì)了一種可以快速生成數(shù)據(jù)序列化或反序列化代碼的方法。該方法以協(xié)議原型定義文件為基本輸入,通過嚴(yán)格高效的轉(zhuǎn)換策略,自動(dòng)生成數(shù)據(jù)序列化或反序列化、日志以及邊界檢查等代碼。該方法具有數(shù)據(jù)結(jié)構(gòu)輕便高效、代碼易于移植以及二進(jìn)制數(shù)據(jù)流傳輸方式等優(yōu)點(diǎn)。通過實(shí)際項(xiàng)目應(yīng)用表明,該數(shù)據(jù)序列化代碼生成技術(shù)有效提高了嵌入式應(yīng)用軟件的開發(fā)效率及可移植性,并且實(shí)現(xiàn)了嵌入式平臺(tái)之間數(shù)據(jù)的高效可靠傳輸。

    關(guān)鍵詞:代碼生成;序列化;邊界檢查;嵌入式平臺(tái)

    中圖分類號(hào):TP311文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2019)13-52-4

    0引言

    在通信與電子信息行業(yè),數(shù)據(jù)序列化技術(shù)一直是數(shù)據(jù)交換的重要組成部分[1]。尤其是在嵌入式軟件開發(fā)過程中,隨著規(guī)模的擴(kuò)大和設(shè)計(jì)復(fù)雜度的提高,用戶需求或軟件設(shè)計(jì)框架變更的成本也越來越高,尤其是作為軟件工程重要組成部分的數(shù)據(jù)交換模塊,變更在所難免。加上大型軟件開發(fā)通常由很多人共同參與,編碼風(fēng)格難以統(tǒng)一,編碼水平參差不齊,尤其是在數(shù)據(jù)序列化和參數(shù)邊界檢查過程中,容易出現(xiàn)問題。如何在保證系統(tǒng)可靠性和穩(wěn)定性的同時(shí)提高軟件開發(fā)效率,已經(jīng)成為嵌入式軟件開發(fā)中的重要問題。

    代碼生成技術(shù)是一種利用程序生成代碼的技術(shù)[2],與手工書寫代碼相比,有效解決了人工編寫軟件代碼工作量大、錯(cuò)誤率高的問題,大大提高了軟件開發(fā)效率和代碼質(zhì)量,降低了軟件開發(fā)風(fēng)險(xiǎn)。針對(duì)現(xiàn)有嵌入式平臺(tái)代碼生成器框架生成代碼固化[3-4]、無法體現(xiàn)業(yè)務(wù)過程以及使用不夠靈活等特點(diǎn),提出了一種針對(duì)嵌入式平臺(tái)的數(shù)據(jù)序列化代碼生成方法。提供一種用來序列化結(jié)構(gòu)化數(shù)據(jù)的代碼生成方法,可以使用該技術(shù)將格式化協(xié)議序列化或反序列化成需要傳輸?shù)臄?shù)據(jù)流。提供了統(tǒng)一且跨平臺(tái)的應(yīng)用程序編程接口API,為嵌入式環(huán)境下的協(xié)議處理提供高效、靈活、具備嚴(yán)格邊界檢查的代碼生成技術(shù)。

    1數(shù)據(jù)序列化代碼生成技術(shù)設(shè)計(jì)

    嵌入式平臺(tái)的數(shù)據(jù)序列化代碼生成方法要考慮的需求[5-6]主要有運(yùn)行效率、穩(wěn)定性和系統(tǒng)的開發(fā)效率。為了實(shí)現(xiàn)更簡(jiǎn)單、更準(zhǔn)確且更快捷的開發(fā),系統(tǒng)的可維護(hù)性一方面要盡量減少代碼中的循環(huán)和判斷分支,另外一方面是對(duì)通信協(xié)議進(jìn)行修改不應(yīng)導(dǎo)致需要重新編譯整個(gè)系統(tǒng),對(duì)代碼量和風(fēng)格進(jìn)行有效管理;改進(jìn)后的系統(tǒng)應(yīng)該提供方便統(tǒng)一的API。

    數(shù)據(jù)序列化代碼生成框架如圖1所示,協(xié)議原型定義文件用于描述通信協(xié)議報(bào)文格式,輸入?yún)f(xié)議原型定義文件后需要對(duì)其進(jìn)行檢查,協(xié)議解析模塊則負(fù)責(zé)將協(xié)議原型定義文件規(guī)范為代碼生成器能夠理解的格式,再根據(jù)模板引擎翻譯的設(shè)計(jì)模板結(jié)合系統(tǒng)參數(shù)生成對(duì)應(yīng)的代碼。整個(gè)過程實(shí)現(xiàn)了將軟件平臺(tái)無關(guān)的協(xié)議報(bào)文格式翻譯成平臺(tái)相關(guān)的數(shù)據(jù)序列化代碼的過程。

    1.1協(xié)議原型定義文件設(shè)計(jì)

    數(shù)據(jù)通信過程中,需要采用一定的通信協(xié)議報(bào)文格式,而作為描述通信協(xié)議報(bào)文格式的一種手段,需要用到協(xié)議原型定義文件。只有收發(fā)雙方遵循約定好的固定格式收發(fā)數(shù)據(jù),平臺(tái)才能夠?qū)?bào)文進(jìn)行序列化和反序列化。

    針對(duì)嵌入式平臺(tái),通過設(shè)計(jì)自定義的描述性語(yǔ)言來良好地定義程序中需要用到數(shù)據(jù)格式。為了讓代碼生成方法實(shí)現(xiàn)高效靈活,使用的協(xié)議格式定義盡可能簡(jiǎn)化。對(duì)應(yīng)協(xié)議原型文件,一個(gè)數(shù)據(jù)流稱之為一個(gè)“message”,一個(gè)“message”對(duì)應(yīng)一個(gè)C程序中的結(jié)構(gòu)體,“message”之間可以嵌套;“message”中的每一行稱之為一個(gè)字段,一個(gè)字段描述一個(gè)程序中的數(shù)據(jù)類型,每個(gè)字段對(duì)應(yīng)若干個(gè)字段標(biāo)簽。

    為了能夠準(zhǔn)確描述每個(gè)字段的特征,需要對(duì)字段類型、字段聲明和字段標(biāo)簽進(jìn)行定義。為了支持跨平臺(tái)操作,需要根據(jù)字段特征對(duì)運(yùn)行平臺(tái)的各個(gè)數(shù)據(jù)類型進(jìn)行重新定義和內(nèi)存分配,根據(jù)父子數(shù)據(jù)流之間的關(guān)系判定每個(gè)字段的優(yōu)先級(jí)和嵌套關(guān)系。字段標(biāo)簽還描述了字段的邊界特征,通過定義default,min,max,step標(biāo)簽來規(guī)范字段數(shù)據(jù)的有效范圍,從而利用代碼生成器生成判斷序列化或反序列化的相關(guān)字段是否合法的代碼。

    原型定義文件的數(shù)據(jù)結(jié)構(gòu)如下:

    1.2模板庫(kù)框架設(shè)計(jì)

    通用的代碼生成系統(tǒng)模板原理是把靜態(tài)內(nèi)容寫成模板[7-8],把動(dòng)態(tài)內(nèi)容用特殊標(biāo)記嵌在模板內(nèi),然后通過代碼生成器將動(dòng)態(tài)標(biāo)記賦值,即可生成按照模板定制生成具體文件[9-10]。

    不同于基于通用模板的代碼生成系統(tǒng),針對(duì)嵌入式平臺(tái)的數(shù)據(jù)交換格式化需求,設(shè)計(jì)了一套由操作系統(tǒng)抽象層、功能模板層和代碼模板層自下而上組成的模板庫(kù),如圖2所示。

    操作系統(tǒng)抽象層主要針對(duì)嵌入式平臺(tái)的系統(tǒng)API和內(nèi)存等特性進(jìn)行管理。為了支持跨平臺(tái)操作,需要對(duì)操作系統(tǒng)進(jìn)行抽象,根據(jù)字段類型針對(duì)平臺(tái)的各個(gè)數(shù)據(jù)類型進(jìn)行重新定義,進(jìn)行內(nèi)存管理,提供調(diào)試所需的底層函數(shù),檢測(cè)大小端模式并對(duì)不同平臺(tái)的系統(tǒng)API函數(shù)進(jìn)行封裝、抽象。操作系統(tǒng)抽象層為功能模板層和代碼模板層提供了統(tǒng)一的接口使得生成的代碼滿足跨平臺(tái)數(shù)據(jù)交換格式化的需求。功能模板層作為中間層,主要為代碼模板層提供功能庫(kù)支持,如序列化與反序列化、日志輸出、邊界檢查以及功能開關(guān)等功能模板供上層調(diào)用。代碼模板層根據(jù)功能模板層和操作系統(tǒng)抽象層提供的內(nèi)容,通過代碼生成器對(duì)動(dòng)態(tài)標(biāo)記進(jìn)行賦值,完成最終的代碼,并且能夠根據(jù)需要方便快捷地生成對(duì)應(yīng)平臺(tái)下的動(dòng)態(tài)、靜態(tài)鏈接庫(kù)。

    1.3代碼生成模塊

    根據(jù)協(xié)議原型定義文件描述通信協(xié)議報(bào)文格式,利用協(xié)議檢查模塊對(duì)輸入進(jìn)行詳細(xì)檢查。然后,協(xié)議解析模塊負(fù)責(zé)將協(xié)議原型定義文件規(guī)范為代碼生成器能夠理解的格式,再結(jié)合用戶的輸入?yún)?shù),如大小端選擇,是否生成日志打印等參數(shù)輸入,選擇對(duì)應(yīng)的代碼模板以及模板引擎,進(jìn)行翻譯生成對(duì)應(yīng)的代碼,實(shí)現(xiàn)將軟件平臺(tái)無關(guān)的協(xié)議報(bào)文格式翻譯成平臺(tái)相關(guān)的數(shù)據(jù)序列化代碼的過程,開發(fā)人員可對(duì)生成的代碼進(jìn)行修改。

    生成的代碼接口包括初始化協(xié)議結(jié)構(gòu)體函數(shù)接口;負(fù)責(zé)網(wǎng)絡(luò)字節(jié)序、主機(jī)字節(jié)序轉(zhuǎn)換函數(shù)接口;負(fù)責(zé)日志輸出函數(shù)接口;協(xié)議結(jié)構(gòu)體到序列化數(shù)據(jù)流的封裝代碼(序列化),序列化數(shù)據(jù)流到協(xié)議結(jié)構(gòu)體的解析代碼(反序列化);負(fù)責(zé)字段的參數(shù)范圍檢查函數(shù)接口。例如,對(duì)于每個(gè)字段會(huì)生成一個(gè)參數(shù)范圍檢查函數(shù)(check)、一個(gè)獲取最大值函數(shù)(get_max_value)、一個(gè)獲取最小值函數(shù)(get_min_value)以及一個(gè)獲取默認(rèn)值函數(shù)(get_default_value)。

    2數(shù)據(jù)序列化代碼生成技術(shù)對(duì)比

    序列化技術(shù)的發(fā)展從傳統(tǒng)的具有可讀性、結(jié)構(gòu)嚴(yán)謹(jǐn)?shù)腦ML,到輕量級(jí)的數(shù)據(jù)交換格式JSON,再到Google的Protobuf,序列化領(lǐng)域里,各種解決方案都在不斷地改進(jìn)和優(yōu)化以適應(yīng)大數(shù)據(jù)時(shí)代的需求。

    為了驗(yàn)證本文提出的代碼生成技術(shù)在數(shù)據(jù)序列化方面的性能,提出了一個(gè)基于嵌入式平臺(tái)的基準(zhǔn)化性能分析方案,選取了目前常用的序列化工具,包括XML,JSON,Google的proto-buf,用來測(cè)試其在嵌入式平臺(tái)下的性能。測(cè)試環(huán)境:MPC8360,基于powerpc e300核心,主頻533 Hz,512 M DDR2 SDRAM,Linux版本:2.6.30。所有工具均使用同一段協(xié)議數(shù)據(jù)。為了保證公平性,實(shí)例的所有字段都必須被解析,并且需要在不對(duì)字段進(jìn)行壓縮的情況下進(jìn)行,測(cè)試數(shù)據(jù)如圖3和圖4所示。

    圖3中總時(shí)間開銷包括創(chuàng)建對(duì)象、序列化以及反序列化的總時(shí)間;單位ns。在給定條件下,綜合圖3性能數(shù)據(jù)對(duì)比可以發(fā)現(xiàn),對(duì)于一條消息數(shù)據(jù),XML,JSON的總時(shí)間開銷最長(zhǎng),而PROTO-BUF耗時(shí)較短,本文方法耗時(shí)最短。

    圖4的字節(jié)數(shù)表示對(duì)象序列化之后的長(zhǎng)度,即所占空間大小。在給定條件下,綜合圖4性能數(shù)據(jù)對(duì)比可以發(fā)現(xiàn),對(duì)于一條消息數(shù)據(jù),XML,JSON生成的消息長(zhǎng)度最長(zhǎng),而PROTO-BUF較短,本文方法生成的消息長(zhǎng)度最短。驗(yàn)證結(jié)果表明,本文提出的針對(duì)數(shù)據(jù)序列化的代碼生成技術(shù)在嵌入式平臺(tái)的應(yīng)用中與現(xiàn)有技術(shù)相比在時(shí)間和空間開銷上有一定的優(yōu)勢(shì)。而嵌入式領(lǐng)域中,時(shí)間和空間的開銷是2個(gè)極其重要的指標(biāo)。

    3應(yīng)用實(shí)例

    為了驗(yàn)證數(shù)據(jù)序列化代碼生成技術(shù)能夠有效提高嵌入式應(yīng)用軟件的開發(fā)效率及可擴(kuò)展性,實(shí)現(xiàn)了嵌入式平臺(tái)之間數(shù)據(jù)的高效和可靠傳輸,選取了實(shí)際應(yīng)用的基于網(wǎng)管代理與站控應(yīng)用管理系統(tǒng),開發(fā)基于嵌入式IMX6Q核心板卡,操作系統(tǒng)為L(zhǎng)inux。網(wǎng)管代理與站控應(yīng)用管理系統(tǒng)負(fù)責(zé)完成對(duì)遠(yuǎn)端站站內(nèi)本地通信設(shè)備的監(jiān)視與控制管理,并將本地設(shè)備參數(shù)及狀態(tài)向中心站設(shè)備管理系統(tǒng)發(fā)送,接收中心站的監(jiān)視管理。網(wǎng)管代理與站控應(yīng)用管理系統(tǒng)具備實(shí)時(shí)監(jiān)控、快速響應(yīng)和使用方便等特點(diǎn)。該平臺(tái)的數(shù)據(jù)序列化/反序列化使用了數(shù)據(jù)序列化代碼生成技術(shù)來實(shí)現(xiàn)。

    網(wǎng)管代理與站控軟件采用B/S模式軟件架構(gòu),該系統(tǒng)由6個(gè)子系統(tǒng)構(gòu)成:Web訪問服務(wù)、訪問控制單元、數(shù)據(jù)庫(kù)(DB)、數(shù)據(jù)訪問服務(wù)單元、設(shè)備采集單元以及日志管理單元組成。每個(gè)軟件單元又包含多個(gè)實(shí)現(xiàn)具體功能的軟件模塊,系統(tǒng)結(jié)構(gòu)如圖5所示。

    Web訪問服務(wù)負(fù)責(zé)與用戶進(jìn)行交互,配置和監(jiān)控設(shè)備與鏈路信息。訪問控制單元負(fù)責(zé)協(xié)議轉(zhuǎn)換,分發(fā)指令。數(shù)據(jù)訪問服務(wù)單元為網(wǎng)管代理與站控軟件提供數(shù)據(jù)庫(kù)讀、寫訪問操作支持,為其他內(nèi)部軟件模塊提供公共的數(shù)據(jù)庫(kù)訪問能力。設(shè)備采集單元是站控軟件的前端處理進(jìn)程,負(fù)責(zé)采集被管設(shè)備的運(yùn)行參數(shù)、生成告警事件以及向被管設(shè)備轉(zhuǎn)發(fā)用戶的設(shè)備控制命令。日志管理單元支持包括運(yùn)行日志、操作日志、通信日志及告警日志等信息。

    Web訪問服務(wù)與訪問控制單元、訪問控制單元與設(shè)備采集單元、設(shè)備采集單元與數(shù)據(jù)訪問服務(wù)單元之間的數(shù)據(jù)交互均采用數(shù)據(jù)序列化代碼生成技術(shù),序列化業(yè)務(wù)數(shù)據(jù)流程如圖6所示。

    通過代碼生成技術(shù)在該系統(tǒng)的數(shù)據(jù)序列化方面的應(yīng)用,基于業(yè)務(wù)過程的數(shù)據(jù)流能夠被快速實(shí)現(xiàn),為軟件的快速開發(fā)打下了良好的基礎(chǔ)。該系統(tǒng)軟件的設(shè)計(jì)更多的是對(duì)軟件框架和業(yè)務(wù)過程的綜合設(shè)計(jì)與實(shí)現(xiàn)。能夠快速開發(fā)軟件協(xié)議并能靈活應(yīng)對(duì)協(xié)議變化的方法在系統(tǒng)的軟件研發(fā)中占據(jù)重要地位,基于本文代碼生成技術(shù)的優(yōu)勢(shì)是用戶根據(jù)需求自定義分層模板,分層結(jié)構(gòu)使其易于復(fù)用;模板作為代碼的原型,生成的代碼可讀性強(qiáng);模板與數(shù)據(jù)分離,當(dāng)需修改代碼時(shí),只需修改模板,易于維護(hù)。測(cè)試結(jié)果表明,該數(shù)據(jù)傳輸協(xié)議實(shí)現(xiàn)了網(wǎng)關(guān)和應(yīng)用數(shù)據(jù)平臺(tái)之間數(shù)據(jù)的高效和可靠傳輸。

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

    針對(duì)嵌入式平臺(tái)的數(shù)據(jù)序列化需求,本文提出了一種代碼生成方法,使用該方法能夠?qū)⒓s定的通信協(xié)議序列化或反序列化成需要傳輸?shù)亩M(jìn)制數(shù)據(jù)流。該方法以協(xié)議原型定義文件為基本輸入,通過嚴(yán)格高效的轉(zhuǎn)換策略,自動(dòng)生成數(shù)據(jù)序列化或反序列化、日志輸出以及邊界檢查等代碼。生成的代碼具有一致的應(yīng)用程序編程接口API,能夠?yàn)榍度胧江h(huán)境下的協(xié)議處理提供高效、靈活、嚴(yán)格的邊界檢查服務(wù)。代碼具有良好的可讀性及可維護(hù)性,通過代碼生成工具的使用,極大地縮短了開發(fā)人員的工作量,有效提升了系統(tǒng)開發(fā)的效率、可維護(hù)性和可移植性。最后,在網(wǎng)管代理與站控的通信系統(tǒng)中,針對(duì)各個(gè)單元之間的數(shù)據(jù)序列化需求,引入了本文提出的代碼生成技術(shù),在實(shí)際應(yīng)用中得到了充分驗(yàn)證。

    參考文獻(xiàn)

    [1]史棟杰.五種快速序列化框架的性能比較[J].電腦知識(shí)與技術(shù),2010, 6(34):9710-9711.

    [2]肖寒.J2EE平臺(tái)下代碼自動(dòng)生成技術(shù)研究[J].電腦知識(shí)與技術(shù),2009,5(20): 5421-5422,5434.

    [3]張濤,黃強(qiáng),毛磊雅,等.一個(gè)基于JSON的對(duì)象序列化算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(15):98-100,133.

    [4]管太陽(yáng).基于模板的自動(dòng)代碼生成技術(shù)的研究[D].成都:電子科技大學(xué),2007.

    [5]王海波,耿暉,姜吉發(fā),等.基于XML的數(shù)據(jù)交換的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2001, 21(4): 67-68.

    [6]董玉明.代碼生成技術(shù)在管理信息系統(tǒng)開發(fā)中的研究與應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2012.

    [7]劉青.基于Protocol Buffer的即時(shí)通信監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2013.

    [8]魯杰,王永斌,劉宏波.基于XML的報(bào)務(wù)系統(tǒng)數(shù)據(jù)分發(fā)機(jī)制研究[J].計(jì)算機(jī)工程與設(shè)計(jì), 2010, 31(12): 2707-2709.

    [9] Alonso D,Vicente-Chicote C,Sanchez P,et al. Automatic Ada Code Generation Using a Model-Driven Engineering Approach[J]. Lecture notes in Computer Science,2007(4498): 168-179.

    [10]胡晨光,嚴(yán)捷豐,高正東,等.一種類的序列化與反序列化框架[J].電腦知識(shí)與技術(shù),2009,5(24):6739-6741.

    猜你喜歡
    代碼生成序列化
    如何建構(gòu)序列化閱讀教學(xué)
    甘肅教育(2020年14期)2020-09-11 07:58:36
    Lustre語(yǔ)言可信代碼生成器研究進(jìn)展
    電腦知識(shí)與技術(shù)(2020年4期)2020-04-14 04:54:29
    Java反序列化漏洞探析及其修復(fù)方法研究
    湖北電力(2016年11期)2016-11-07 07:25:37
    論初中語(yǔ)文作文的序列化訓(xùn)練
    代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
    電子世界(2016年15期)2016-08-29 02:14:28
    Java 反序列化漏洞研究
    基于XML的代碼自動(dòng)生成工具
    電子科技(2015年2期)2015-12-20 01:09:20
    作文訓(xùn)練微格化、序列化初探
    Java序列化技術(shù)的探討
    免费在线观看黄色视频的| 在线观看免费视频日本深夜| 纯流量卡能插随身wifi吗| 国产av一区二区精品久久| 中文字幕另类日韩欧美亚洲嫩草| 99热网站在线观看| 午夜91福利影院| 中文亚洲av片在线观看爽 | tocl精华| 正在播放国产对白刺激| 又黄又爽又免费观看的视频| 精品国产一区二区三区四区第35| 男女下面插进去视频免费观看| 一进一出抽搐动态| 日日夜夜操网爽| 在线观看www视频免费| 一区二区日韩欧美中文字幕| 国产精品 国内视频| 国产区一区二久久| 亚洲一区二区三区不卡视频| 欧美精品高潮呻吟av久久| 久久国产精品大桥未久av| 久久人妻av系列| 精品久久久精品久久久| 黄色毛片三级朝国网站| 女性被躁到高潮视频| netflix在线观看网站| 热re99久久国产66热| 国产一区二区三区视频了| 一进一出好大好爽视频| 欧美亚洲 丝袜 人妻 在线| 男女高潮啪啪啪动态图| 精品福利观看| 国产av一区二区精品久久| 欧美精品人与动牲交sv欧美| 自拍欧美九色日韩亚洲蝌蚪91| 精品国内亚洲2022精品成人 | 香蕉丝袜av| 老司机午夜十八禁免费视频| 91九色精品人成在线观看| 丝瓜视频免费看黄片| 欧美激情极品国产一区二区三区| 热99re8久久精品国产| 亚洲色图综合在线观看| 伊人久久大香线蕉亚洲五| 国产欧美日韩精品亚洲av| 91国产中文字幕| 国产人伦9x9x在线观看| 妹子高潮喷水视频| 黄色视频不卡| 很黄的视频免费| 黄色毛片三级朝国网站| 午夜影院日韩av| 国产精品自产拍在线观看55亚洲 | av欧美777| 久久99一区二区三区| 中出人妻视频一区二区| 美国免费a级毛片| 国产野战对白在线观看| 免费人成视频x8x8入口观看| 国产人伦9x9x在线观看| 亚洲精品中文字幕在线视频| 亚洲成av片中文字幕在线观看| 欧美日韩成人在线一区二区| 国产激情欧美一区二区| 涩涩av久久男人的天堂| а√天堂www在线а√下载 | 啦啦啦 在线观看视频| 国产熟女午夜一区二区三区| 美女福利国产在线| 亚洲成人免费av在线播放| 久久人妻福利社区极品人妻图片| 免费不卡黄色视频| 欧美日韩瑟瑟在线播放| av视频免费观看在线观看| 国产黄色免费在线视频| 国产精品电影一区二区三区 | 大码成人一级视频| av免费在线观看网站| av视频免费观看在线观看| 久久久久国内视频| 精品国内亚洲2022精品成人 | 嫁个100分男人电影在线观看| 国产高清videossex| 国产亚洲一区二区精品| 国产精品.久久久| 国产精品秋霞免费鲁丝片| 亚洲国产欧美网| 国产在线一区二区三区精| 久久国产精品大桥未久av| 亚洲成国产人片在线观看| 成人永久免费在线观看视频| 在线视频色国产色| 最近最新中文字幕大全免费视频| 国产精品一区二区在线不卡| 悠悠久久av| 亚洲精品国产精品久久久不卡| 日韩有码中文字幕| 男男h啪啪无遮挡| 日本五十路高清| 狠狠婷婷综合久久久久久88av| 中文字幕色久视频| 手机成人av网站| 免费看a级黄色片| 精品乱码久久久久久99久播| 两个人免费观看高清视频| 日本黄色日本黄色录像| 三级毛片av免费| 在线国产一区二区在线| 啦啦啦免费观看视频1| 亚洲aⅴ乱码一区二区在线播放 | 亚洲精品国产区一区二| 国产免费现黄频在线看| 亚洲成a人片在线一区二区| 亚洲专区字幕在线| 久久狼人影院| 欧美精品一区二区免费开放| 看黄色毛片网站| 村上凉子中文字幕在线| 久久久久久久久久久久大奶| 精品第一国产精品| 好男人电影高清在线观看| 在线天堂中文资源库| 久久中文字幕一级| 三级毛片av免费| 国产片内射在线| 免费在线观看视频国产中文字幕亚洲| 欧美黑人精品巨大| 99香蕉大伊视频| 午夜日韩欧美国产| 日韩精品免费视频一区二区三区| 如日韩欧美国产精品一区二区三区| 国产99久久九九免费精品| 久久精品国产a三级三级三级| 91av网站免费观看| 法律面前人人平等表现在哪些方面| 又紧又爽又黄一区二区| 美女高潮到喷水免费观看| 性少妇av在线| av免费在线观看网站| 国产精品二区激情视频| 日本wwww免费看| 99国产精品一区二区三区| 国产免费av片在线观看野外av| 一区二区三区精品91| 亚洲 欧美一区二区三区| av天堂在线播放| 高清黄色对白视频在线免费看| 国产精品欧美亚洲77777| 动漫黄色视频在线观看| 天天添夜夜摸| 欧美精品av麻豆av| 国产精品影院久久| 精品熟女少妇八av免费久了| 中文字幕精品免费在线观看视频| 亚洲,欧美精品.| 中文字幕人妻熟女乱码| 欧美日韩瑟瑟在线播放| 亚洲成av片中文字幕在线观看| 国产成人av教育| 欧美 亚洲 国产 日韩一| 国产欧美日韩一区二区三| 欧美日韩福利视频一区二区| 老司机亚洲免费影院| 久久精品国产清高在天天线| 日本撒尿小便嘘嘘汇集6| 亚洲一区中文字幕在线| 成年人免费黄色播放视频| 99久久精品国产亚洲精品| 激情在线观看视频在线高清 | 精品卡一卡二卡四卡免费| 在线观看一区二区三区激情| 国产av又大| 香蕉久久夜色| 亚洲av美国av| 性少妇av在线| 日韩中文字幕欧美一区二区| 性色av乱码一区二区三区2| 高清在线国产一区| 纯流量卡能插随身wifi吗| 亚洲九九香蕉| 精品久久久久久久久久免费视频 | 一a级毛片在线观看| 午夜精品在线福利| 亚洲va日本ⅴa欧美va伊人久久| 国产精品国产av在线观看| 亚洲人成电影免费在线| 99国产精品一区二区三区| 亚洲,欧美精品.| 亚洲欧美激情综合另类| 久久香蕉精品热| 欧美老熟妇乱子伦牲交| 久久久久久久午夜电影 | 丰满饥渴人妻一区二区三| 日本五十路高清| 亚洲精品中文字幕一二三四区| 国产成人av教育| 两个人看的免费小视频| 久久国产精品影院| 99热只有精品国产| 欧美日韩福利视频一区二区| 韩国av一区二区三区四区| 久久狼人影院| 69av精品久久久久久| 18禁裸乳无遮挡动漫免费视频| 中文字幕精品免费在线观看视频| 国产高清激情床上av| 亚洲精华国产精华精| 一级片'在线观看视频| 黄色成人免费大全| 久久国产精品男人的天堂亚洲| 天堂动漫精品| 电影成人av| 欧美另类亚洲清纯唯美| 看黄色毛片网站| 老汉色∧v一级毛片| 高清视频免费观看一区二区| 午夜福利在线观看吧| 可以免费在线观看a视频的电影网站| 欧美最黄视频在线播放免费 | 免费观看精品视频网站| 少妇 在线观看| 一区福利在线观看| 男女之事视频高清在线观看| 狂野欧美激情性xxxx| 色婷婷久久久亚洲欧美| 国产一区二区激情短视频| 高清av免费在线| 天天躁夜夜躁狠狠躁躁| 久久性视频一级片| 激情在线观看视频在线高清 | 热99国产精品久久久久久7| 亚洲精品美女久久久久99蜜臀| 成人三级做爰电影| av中文乱码字幕在线| 国产精华一区二区三区| 亚洲专区字幕在线| 国产精品.久久久| 欧美黄色淫秽网站| 日韩免费高清中文字幕av| 50天的宝宝边吃奶边哭怎么回事| 国产精品一区二区免费欧美| 久久久精品区二区三区| 啦啦啦 在线观看视频| 久久草成人影院| 成人av一区二区三区在线看| 亚洲一区二区三区欧美精品| 亚洲欧美一区二区三区久久| 一二三四社区在线视频社区8| 成人三级做爰电影| 婷婷精品国产亚洲av在线 | 亚洲va日本ⅴa欧美va伊人久久| 成年人免费黄色播放视频| 多毛熟女@视频| 国产精品影院久久| 欧美日韩一级在线毛片| 黄网站色视频无遮挡免费观看| 久久人妻福利社区极品人妻图片| 99国产精品99久久久久| 深夜精品福利| 欧美大码av| 久久久国产欧美日韩av| 久久这里只有精品19| 丰满饥渴人妻一区二区三| 国产成人精品久久二区二区91| 日日摸夜夜添夜夜添小说| 国产不卡av网站在线观看| 国产极品粉嫩免费观看在线| 亚洲国产欧美网| 国产精品综合久久久久久久免费 | 国产在线一区二区三区精| 在线观看免费日韩欧美大片| 国产精品99久久99久久久不卡| 黄色视频,在线免费观看| 91老司机精品| 18禁国产床啪视频网站| 亚洲第一欧美日韩一区二区三区| 婷婷精品国产亚洲av在线 | 免费黄频网站在线观看国产| 别揉我奶头~嗯~啊~动态视频| 一级黄色大片毛片| 最近最新免费中文字幕在线| 国产精品国产高清国产av | 777久久人妻少妇嫩草av网站| 精品国产一区二区三区久久久樱花| 黄片播放在线免费| 99热只有精品国产| 欧美大码av| 久久精品熟女亚洲av麻豆精品| 操美女的视频在线观看| 99国产极品粉嫩在线观看| 一区在线观看完整版| 黑人巨大精品欧美一区二区mp4| 国产精品av久久久久免费| av国产精品久久久久影院| 免费在线观看日本一区| 一区福利在线观看| 校园春色视频在线观看| 搡老岳熟女国产| 无人区码免费观看不卡| 成人特级黄色片久久久久久久| 高清黄色对白视频在线免费看| 欧美日韩国产mv在线观看视频| 欧美激情极品国产一区二区三区| av国产精品久久久久影院| a级片在线免费高清观看视频| 欧美成人免费av一区二区三区 | 十八禁人妻一区二区| 欧美国产精品va在线观看不卡| 国产成人精品在线电影| 热re99久久国产66热| 亚洲精品美女久久av网站| 国产人伦9x9x在线观看| 亚洲视频免费观看视频| av天堂久久9| 久久亚洲精品不卡| 午夜成年电影在线免费观看| tube8黄色片| 日韩一卡2卡3卡4卡2021年| 老司机靠b影院| 丝袜人妻中文字幕| 亚洲欧美激情在线| 男人的好看免费观看在线视频 | 久久亚洲精品不卡| √禁漫天堂资源中文www| 欧美精品高潮呻吟av久久| 色婷婷av一区二区三区视频| 日本五十路高清| 无人区码免费观看不卡| 国产精品影院久久| 一进一出抽搐动态| av线在线观看网站| 三级毛片av免费| 午夜精品国产一区二区电影| 国产精品美女特级片免费视频播放器 | av视频免费观看在线观看| 亚洲第一欧美日韩一区二区三区| videos熟女内射| 精品久久久久久电影网| 久久精品国产a三级三级三级| 国产欧美日韩综合在线一区二区| 亚洲专区中文字幕在线| 三级毛片av免费| 天天躁夜夜躁狠狠躁躁| 国产麻豆69| 欧美+亚洲+日韩+国产| 在线观看日韩欧美| 91字幕亚洲| 别揉我奶头~嗯~啊~动态视频| 国产精品久久久久久精品古装| 一区二区三区精品91| 国产亚洲av高清不卡| 麻豆av在线久日| 亚洲色图av天堂| 人成视频在线观看免费观看| 午夜激情av网站| 99国产精品一区二区蜜桃av | 香蕉国产在线看| 一边摸一边做爽爽视频免费| 国产色视频综合| 日本黄色视频三级网站网址 | 九色亚洲精品在线播放| 欧美日本中文国产一区发布| www.精华液| 国产精品香港三级国产av潘金莲| 午夜久久久在线观看| 精品一区二区三卡| 欧洲精品卡2卡3卡4卡5卡区| 两个人免费观看高清视频| 日韩欧美在线二视频 | 一级毛片女人18水好多| 国产精品.久久久| 99国产精品99久久久久| 精品国产一区二区三区久久久樱花| 黑人操中国人逼视频| 久久精品人人爽人人爽视色| av电影中文网址| 香蕉丝袜av| 欧美 亚洲 国产 日韩一| 黄频高清免费视频| 精品福利观看| 欧美日韩成人在线一区二区| 黄色 视频免费看| 99香蕉大伊视频| 精品电影一区二区在线| 99热网站在线观看| 国产一区在线观看成人免费| 黑人猛操日本美女一级片| 国产精品久久久人人做人人爽| √禁漫天堂资源中文www| av视频免费观看在线观看| www.熟女人妻精品国产| 日韩欧美三级三区| 人妻丰满熟妇av一区二区三区 | 欧美大码av| 美女高潮喷水抽搐中文字幕| 丁香六月欧美| 国产有黄有色有爽视频| 亚洲午夜精品一区,二区,三区| 夜夜爽天天搞| 麻豆乱淫一区二区| 一级作爱视频免费观看| 老熟女久久久| 国产单亲对白刺激| 一区二区日韩欧美中文字幕| 黑人欧美特级aaaaaa片| 久久香蕉国产精品| 亚洲 欧美一区二区三区| 亚洲,欧美精品.| 国产精品久久电影中文字幕 | 欧美黄色片欧美黄色片| 精品无人区乱码1区二区| 在线观看66精品国产| 大陆偷拍与自拍| 国产精品一区二区在线不卡| 亚洲欧美色中文字幕在线| 欧美日韩一级在线毛片| 亚洲专区国产一区二区| 久久国产精品大桥未久av| 91大片在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 91国产中文字幕| 国产精品一区二区精品视频观看| 亚洲人成77777在线视频| 国产精品一区二区免费欧美| 精品国产一区二区三区四区第35| 无人区码免费观看不卡| 动漫黄色视频在线观看| 国产成人精品久久二区二区91| 国产成人免费无遮挡视频| 日韩欧美三级三区| 成人精品一区二区免费| 51午夜福利影视在线观看| 97人妻天天添夜夜摸| 男人的好看免费观看在线视频 | 啦啦啦 在线观看视频| 一区二区三区国产精品乱码| 免费观看人在逋| 又黄又爽又免费观看的视频| 超色免费av| 一进一出抽搐gif免费好疼 | 欧美人与性动交α欧美软件| 亚洲精华国产精华精| 久久久精品区二区三区| 国产精品秋霞免费鲁丝片| tube8黄色片| 精品久久蜜臀av无| 99国产极品粉嫩在线观看| 在线观看一区二区三区激情| 999精品在线视频| 在线看a的网站| 中文字幕高清在线视频| 中文字幕人妻丝袜一区二区| 99久久综合精品五月天人人| 女人高潮潮喷娇喘18禁视频| 99精品久久久久人妻精品| 成人特级黄色片久久久久久久| 亚洲国产欧美一区二区综合| 无限看片的www在线观看| 欧美日韩中文字幕国产精品一区二区三区 | 男女床上黄色一级片免费看| 国产精品久久电影中文字幕 | 亚洲人成电影观看| 日韩免费av在线播放| 欧美丝袜亚洲另类 | av线在线观看网站| 一级片'在线观看视频| 亚洲成人国产一区在线观看| 91精品国产国语对白视频| 成人亚洲精品一区在线观看| 精品国产乱子伦一区二区三区| 国产一卡二卡三卡精品| 国产精品永久免费网站| 精品视频人人做人人爽| 国产日韩一区二区三区精品不卡| 国产成人精品在线电影| 老司机在亚洲福利影院| 69精品国产乱码久久久| 国产野战对白在线观看| av天堂久久9| 成人免费观看视频高清| 曰老女人黄片| 午夜精品久久久久久毛片777| 亚洲成人免费av在线播放| 高清在线国产一区| 视频区欧美日本亚洲| 99精品在免费线老司机午夜| 国产午夜精品久久久久久| 国产aⅴ精品一区二区三区波| av在线播放免费不卡| 精品午夜福利视频在线观看一区| 在线观看一区二区三区激情| 最近最新中文字幕大全电影3 | 欧美大码av| 久久香蕉国产精品| a级毛片黄视频| 国产精品偷伦视频观看了| 乱人伦中国视频| 亚洲国产中文字幕在线视频| 19禁男女啪啪无遮挡网站| 国产免费男女视频| 国产黄色免费在线视频| 国产精品影院久久| 高清在线国产一区| 国产成人精品在线电影| 一级a爱视频在线免费观看| 欧美日韩福利视频一区二区| 国产不卡一卡二| 精品久久久久久久久久免费视频 | 国产精品久久视频播放| 国产精品综合久久久久久久免费 | 狠狠狠狠99中文字幕| 精品国产超薄肉色丝袜足j| 99热网站在线观看| 国产一卡二卡三卡精品| 欧美日韩国产mv在线观看视频| 久久天躁狠狠躁夜夜2o2o| 少妇粗大呻吟视频| 人妻久久中文字幕网| 中文字幕人妻丝袜一区二区| 老司机深夜福利视频在线观看| 在线观看免费日韩欧美大片| 色在线成人网| 欧美久久黑人一区二区| 中文字幕人妻丝袜制服| 亚洲熟女毛片儿| 性少妇av在线| 成年动漫av网址| 亚洲色图综合在线观看| 久久久久久久精品吃奶| 国产精品综合久久久久久久免费 | 久久久久久久精品吃奶| 国产精品综合久久久久久久免费 | 久久久久久久久久久久大奶| 精品电影一区二区在线| www.精华液| 国产亚洲欧美在线一区二区| 激情在线观看视频在线高清 | 啦啦啦免费观看视频1| 人妻丰满熟妇av一区二区三区 | 亚洲国产欧美网| 一级,二级,三级黄色视频| 欧美+亚洲+日韩+国产| 多毛熟女@视频| 色94色欧美一区二区| av免费在线观看网站| 国产精品秋霞免费鲁丝片| 丰满的人妻完整版| 欧美乱码精品一区二区三区| 久久精品亚洲av国产电影网| 亚洲国产毛片av蜜桃av| 脱女人内裤的视频| 亚洲一码二码三码区别大吗| 97人妻天天添夜夜摸| 成在线人永久免费视频| 国产欧美日韩一区二区精品| 精品卡一卡二卡四卡免费| 精品国产亚洲在线| bbb黄色大片| 国产成人系列免费观看| 在线播放国产精品三级| 亚洲熟妇熟女久久| 男男h啪啪无遮挡| 国产精品一区二区在线观看99| 好看av亚洲va欧美ⅴa在| 久久中文字幕一级| 色老头精品视频在线观看| 亚洲一区二区三区欧美精品| 欧美日韩黄片免| 久99久视频精品免费| 村上凉子中文字幕在线| 国产男女内射视频| 亚洲男人天堂网一区| 啦啦啦视频在线资源免费观看| 国产精品一区二区在线观看99| 免费日韩欧美在线观看| 久久精品91无色码中文字幕| 女同久久另类99精品国产91| 亚洲五月婷婷丁香| 一边摸一边做爽爽视频免费| 一区在线观看完整版| 十八禁高潮呻吟视频| 久久久国产成人精品二区 | av中文乱码字幕在线| 中文字幕色久视频| 国产主播在线观看一区二区| 淫妇啪啪啪对白视频| videosex国产| 久久精品亚洲熟妇少妇任你| 最近最新免费中文字幕在线| 亚洲精品中文字幕在线视频| 午夜老司机福利片| 巨乳人妻的诱惑在线观看| 伦理电影免费视频| 久久香蕉国产精品| 国产成+人综合+亚洲专区| av网站免费在线观看视频| 午夜两性在线视频| bbb黄色大片| 日本欧美视频一区| 国产aⅴ精品一区二区三区波| 99在线人妻在线中文字幕 | 黑丝袜美女国产一区| 老司机在亚洲福利影院| 欧美乱妇无乱码| 天天躁夜夜躁狠狠躁躁| 久久精品国产99精品国产亚洲性色 | 在线天堂中文资源库| 91九色精品人成在线观看| cao死你这个sao货| 国产99白浆流出| e午夜精品久久久久久久| 久久狼人影院| 人人妻人人添人人爽欧美一区卜| 日韩视频一区二区在线观看|