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

    基于Python的網(wǎng)管軟件技術(shù)體系設(shè)計

    2015-01-10 00:25:20蔣洪磊
    無線電通信技術(shù) 2015年4期
    關(guān)鍵詞:開發(fā)人員網(wǎng)管代碼

    蔣洪磊

    (中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

    基于Python的網(wǎng)管軟件技術(shù)體系設(shè)計

    蔣洪磊

    (中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

    針對C/C++在網(wǎng)管開發(fā)中效率低下、維護(hù)和調(diào)試成本高的問題,提出采用動態(tài)語言Python所組成的輕量級開發(fā)架構(gòu)。在介紹Python的動態(tài)類型系統(tǒng)及其元編程能力的基礎(chǔ)上,給出在B/S架構(gòu)的網(wǎng)管軟件中設(shè)備監(jiān)控、Web開發(fā)、ORM等技術(shù)選擇:利用Python的數(shù)據(jù)結(jié)構(gòu)來對二進(jìn)制流格式進(jìn)行描述,程序可以自動地在二進(jìn)制流和JSON結(jié)構(gòu)間進(jìn)行雙向轉(zhuǎn)換?;贔lask的微Web框架,簡單易用擴展,有著豐富的插件,支持服務(wù)器推送事件。SQLAlchemy作為Python中對象關(guān)系建模的事實標(biāo)準(zhǔn),使得開發(fā)人員從各種數(shù)據(jù)庫的差異中解脫出來。項目實踐表明基于Python的實現(xiàn)代碼簡潔,可讀性更強,具有快速開發(fā)優(yōu)勢。

    Python;動態(tài)類型;元編程;設(shè)備監(jiān)控;Web服務(wù)器架構(gòu);對象關(guān)系映射

    0 引言

    一二十年前的網(wǎng)管開發(fā),通常采用C/C++的技術(shù)體系;然而隨著硬件性能的提高,其所帶來的運行性能優(yōu)勢越來越不明顯,而其高昂的學(xué)習(xí)成本,低下的開發(fā)效率,開發(fā)人員的參差不齊,以及由此帶來的代碼健壯性、代碼維護(hù)成本等問題,以及對Web開發(fā)支持的缺乏等等,使其越來越難以適應(yīng)現(xiàn)代網(wǎng)管的開發(fā)工作。為此,提出基于Python的輕量級軟件開發(fā)架構(gòu)。

    1 動態(tài)語言Python

    Python[1,2]是一門面向?qū)ο蟮膭討B(tài)語言[3,4],它適用于文本處理、圖形處理、科學(xué)計算[5-7]、Web網(wǎng)站、設(shè)備監(jiān)控[8]的快速開發(fā)。在編譯時獲得類型的稱為靜態(tài)類型系統(tǒng),其優(yōu)勢是可以在執(zhí)行前發(fā)現(xiàn)類型不匹配錯誤,并能根據(jù)類型信息進(jìn)行編譯時優(yōu)化以提高執(zhí)行速度;而動態(tài)類型系統(tǒng)則是在運行時才能知道變量的類型,因而在編寫代碼時無需聲明變量的類型。代碼中缺少類型聲明,降低了程序的執(zhí)行效率,卻使得代碼變得更加簡潔,開發(fā)人員不再關(guān)注于數(shù)據(jù)類型聲明這些非本質(zhì)的部分,而專注于處理業(yè)務(wù)邏輯。

    動態(tài)語言還具有在程序執(zhí)行時獲取、改變程序信息的能力。在不同的語言中稱為反射(reflection)、自?。╥ntrospection)或者元編程(meta-programming)。Python可以在運行時獲取對象的類型信息(內(nèi)置函數(shù)type/isinstance/issubclass)、查詢對象當(dāng)前擁有的屬性和方法(內(nèi)置函數(shù)dir/hasattr/getattr)、增刪對象的屬性/方法(內(nèi)置方法del)、在運行時將字符串編譯為程序并成為程序的一部分(內(nèi)置函數(shù)eval)等等。這一能力,使得開發(fā)人員可以在運行時環(huán)境中進(jìn)行即時開發(fā)。在靜態(tài)語言開發(fā)中,雖然可以設(shè)置斷點,查看或者修改變量的數(shù)值,但是新編寫的代碼只能在保存文件、整個項目重新編譯再重新運行后才能得到驗證。而在動態(tài)語言中,則可以在斷點處的上下文中立即執(zhí)行來驗證代碼的正確性,如果正確則保存新編寫的代碼,如果代碼編寫錯誤則修改后再次立即執(zhí)行。例如在Python的集成開發(fā)環(huán)境WingIDE中,可以使用Debug Probe窗口進(jìn)行運行時開發(fā)。元編程不僅可以簡化設(shè)計模式的實現(xiàn),提高開發(fā)人員對程序的操控能力,還可以在不改變已有代碼的情況下而對功能進(jìn)行追加和變更,這在開發(fā)中稱為猴子補?。╩onkey patch)。開發(fā)人員可以利用這種靈活性來修訂正在運行中的程序錯誤[9]。

    由于動態(tài)語言所具有的豐富表現(xiàn)力,使得動態(tài)語言的代碼實現(xiàn)更加簡潔,維護(hù)和排錯成本更低[10]。根據(jù)各種實際項目的對比,動態(tài)語言的代碼量只有相同靜態(tài)類型代碼的1/3到1/5,而開發(fā)效率是靜態(tài)語言的3~5倍。例如應(yīng)用C++進(jìn)行國產(chǎn)達(dá)夢數(shù)據(jù)庫開發(fā)時,需要的代碼量是近兩萬行代碼,需時數(shù)月;而遷移到Python后,利用自主開發(fā)的SQLAlchemy方言,則只需不足千行代碼,用時不到1周。由于動態(tài)類型使得在執(zhí)行時才能發(fā)現(xiàn)錯誤、閱讀程序時可用到的線索較少,因此相比靜態(tài)語言開發(fā)人員,動態(tài)語言的開發(fā)者更依賴于運行時測試用例和良好的文檔編寫習(xí)慣。

    2 軟件體系

    在衛(wèi)星通訊系統(tǒng)的綜合網(wǎng)管中(如圖1所示),需要完成該衛(wèi)星通訊系統(tǒng)的綜合業(yè)務(wù)管理、網(wǎng)絡(luò)運行狀態(tài)監(jiān)視,設(shè)備監(jiān)控等各種功能。用戶的操作內(nèi)容在進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理后,以JSON格式,由DevMonitor根據(jù)對應(yīng)的設(shè)備協(xié)議進(jìn)行轉(zhuǎn)換,由相應(yīng)的SatSide或者EarthSide模塊發(fā)送。Web客戶端以AJAX向Web Framework發(fā)送請求并注冊Server Send Event(服務(wù)器推送事件,簡稱SSE),當(dāng)設(shè)備狀態(tài)發(fā)生變化時,則沿反向路徑,由DevMonitor轉(zhuǎn)換為JSON格式后經(jīng)Web框架推送給瀏覽器。

    圖1 衛(wèi)星網(wǎng)管系統(tǒng)的基本架構(gòu)

    2.1 設(shè)備監(jiān)控

    為了獲取網(wǎng)絡(luò)運行狀態(tài),必須對網(wǎng)絡(luò)中的設(shè)備進(jìn)行監(jiān)控[11]。利用Python的pySerial、pyParallel、pyUSB、PyVISA等庫可以與設(shè)備的串口、并口、USB等接口進(jìn)行通信。在數(shù)據(jù)包的封裝格式上,底層設(shè)備通常采用自定義的二進(jìn)制流封裝格式[12,13],而Web開發(fā)中則通常使用JSON包作為Web客戶端與服務(wù)器交互的協(xié)議格式。在協(xié)議解析部分,利用Python的語言特性,用協(xié)議格式描述來替代手工為每種格式的包進(jìn)行編碼解析。如下所示,pack_des_ list的協(xié)議格式描述了表1和表2所示的包格式:

    可以看出只需要不到10行代碼就可以將這種包格式描述完成。通過將該協(xié)議描述作為參數(shù)輸入通用的解包函數(shù)depack_buffer,就可以完成自定義二進(jìn)制流格式到JSON格式的轉(zhuǎn)換,或者使用封包函數(shù)pack_buffer完成逆向操作。在實現(xiàn)新的協(xié)議格式時,只要編寫協(xié)議的格式描述,就能將數(shù)據(jù)包自動解析為相應(yīng)的數(shù)據(jù)結(jié)構(gòu),而不需要額外編寫一行代碼。

    表1 站控信息幀結(jié)構(gòu)

    表2 設(shè)備控制響應(yīng)數(shù)據(jù)字段格式

    對于每一個pack_des_list的項,第一個字段表示該項(或者稱為字段)的長度或者數(shù)目,第二個字段表示該項的名稱,如果為None表示該字段保留,解包程序?qū)⒅苯犹^。第三個字段的類型可以是dict,tuple或者list,這3種類型都是Python的基本數(shù)據(jù)類型。我們用dict(字典)來描述給定項的處理方式,如”type”:str表示該字段的類型為字符串,缺省類型為整形數(shù);”tmp”:True表示該項是臨時項,在后繼處理完畢后不會反應(yīng)到最終結(jié)果中,缺省為非臨時項。如果第三字段的類型為list(列表),則表示后面按可變長的數(shù)組解析,其長度為該項的值。如果第三字段的類型為tuple(元組),則后面為固定長數(shù)組,其長度為該項第一字段的值。list或者tuple可以進(jìn)行任意層次嵌套,如“DevNum”項下面又嵌套著”ArgNum”,表示該數(shù)據(jù)包可以一次返回多個設(shè)備的,每個設(shè)備多個參數(shù)的設(shè)置狀態(tài)。

    可以看出,讓開發(fā)人員編寫協(xié)議描述比每次單獨為每種包格式編寫封包和解包代碼要高效的多,而且不容易出錯。此外,由于協(xié)議描述本身就是Python的數(shù)據(jù)結(jié)構(gòu),這使得用戶編寫的代碼可以直接利用IDE的語法檢查工具來判斷是否出錯。此外,該協(xié)議描述能夠容易描述現(xiàn)有的協(xié)議格式,從而快速實現(xiàn)已有協(xié)議的解析。

    2.2 Web服務(wù)器

    Python的Web Framework有很多種,選擇的是Flask,其優(yōu)勢是簡單且易于擴展,有豐富的插件來實現(xiàn)認(rèn)證、鑒權(quán)、會話管理、Cache、存儲、文件上傳、ORM等各種功能。URL路由使得用戶可以使用自由彈性的網(wǎng)址,F(xiàn)lask根據(jù)約定優(yōu)于配置的設(shè)計原則,約定所有靜態(tài)文件,均放在/static/目錄下;而所有模板文件,均放入/template/目錄下。

    直接使用URL路由等于將URL地址和實現(xiàn)代碼進(jìn)行了綁定,這在簡化開發(fā)的同時也造成了兩者的緊耦合。在進(jìn)行大型項目開發(fā)時,為實現(xiàn)模塊化并行開發(fā),可以使用Flask的Blueprint(藍(lán)圖)技術(shù),將一個應(yīng)用劃分為若干Blueprint集合,然后將一個Blueprint注冊到一個應(yīng)用的URL前綴或子域名之下。可以將一個blueprint以多個不同URL rules在同一個應(yīng)用中注冊多次。在Blueprint中提供模板filters、靜態(tài)文件、模板等utilities。Blueprint除了方便模塊化開發(fā),還完成了URL組織與功能實現(xiàn)的解耦合。

    2.3 對象關(guān)系映射

    ORM將數(shù)據(jù)庫的Table映射為類,Column映射為類的屬性,Table中的每條Record則映射為一個類的對象。ORM通過更高層次的抽象,屏蔽數(shù)據(jù)庫間的差異,并代替用戶處理連接、緩存、一致性管理等細(xì)節(jié),從而提高了開發(fā)效率。由于用戶不再直接使用SQL代碼,不易產(chǎn)生SQL注入攻擊,也提高了安全性。

    Python中的SQLAlchemy可以完成Object Relational Mapping(ORM)的功能,以實現(xiàn)通過面向?qū)ο笳Z法來操控數(shù)據(jù)庫,將商業(yè)邏輯與數(shù)據(jù)庫操作邏輯分開。如圖2所示,在SQLAlchemy中Dialect負(fù)責(zé)將通用的操作命令轉(zhuǎn)換為各種數(shù)據(jù)庫的方言,從而對上層用戶操作屏蔽數(shù)據(jù)庫間的差異;Connection Pooling(連接池)用于保持和維護(hù)和DB的連接,這樣不用每次操作都建立和斷開連接,從而提高IO性能。DBAPI則是用于連接數(shù)據(jù)庫的API接口。而連接Oracle數(shù)據(jù)庫需要安裝對應(yīng)版本的Oracle instantclient和cx_Oracle庫。通過使用SQLAlchemy,用戶的實現(xiàn)代碼不在依賴于具體的數(shù)據(jù)庫,只需要少量代碼就可以完成從一種數(shù)據(jù)庫到另一種數(shù)據(jù)庫的遷移。此外,基于SQLAlchemy的Alembic庫可以方便進(jìn)行數(shù)據(jù)庫的遷移及版本控制。

    圖2 SQLAlchemy的組織結(jié)構(gòu)

    2.4 服務(wù)器推送事件

    Server Send Events(SSE)是實現(xiàn)服務(wù)器主動推送消息的最簡單方式,可以結(jié)合RESTful技術(shù)實現(xiàn)協(xié)同編輯或者實時反應(yīng)設(shè)備的狀態(tài)。在用Python 的Flask來實現(xiàn)SSE非常簡單,只需要將之前通過設(shè)備監(jiān)控解析出得結(jié)構(gòu)體直接創(chuàng)建為JSON包放入相應(yīng)的事件隊列。客戶端注冊SSE所需的服務(wù)器端處理函數(shù)需要對每類事件(event_name)的每個訂閱者(uuid)創(chuàng)建一個Queue,只要Queue中有事件,則推送給該訂閱者。SSE的服務(wù)器端處理函數(shù)定義如下:

    3 結(jié)束語

    介紹Python語言的動態(tài)特性,給出了實現(xiàn)B/S架構(gòu)的網(wǎng)管體系中所需要的設(shè)備監(jiān)控、Web服務(wù)開發(fā)、ORM的技術(shù)方案。從本文可以看出,通過采用Python的輕量級開發(fā)架構(gòu),可以極大地提高開發(fā)人員的工作效率,用更少的代碼完成相同的功能,使用戶關(guān)注于業(yè)務(wù)的實現(xiàn)而非技術(shù)細(xì)節(jié),從而使軟件的功能更加契合用戶需求,并能夠進(jìn)行快速的響應(yīng)需求變更。

    [1]Mark Lutz.Learning Python(Fifth Edition)[M].Sebastopol US:O’Reilly Media,Inc.,2013.

    [2]Mark Summerfield.Programming in Python 3 Second Edition[M].Boston US:Pearson Education,2010.

    [3]松本行弘.松本行弘的程序世界[M].北京:人民郵電出版社,2011.

    [4]Paul King.動態(tài)語言的敏捷開發(fā)實踐[C]∥QCon2010.北京,2010.

    [5]Sandro Tosi.Matplotlib for Python Developers[M].Birmingham UK:Packt Publishing,2009.

    [6]HYRY Studio.用Python做科學(xué)計算[M].北京:清華大學(xué)出版社,2012.

    [7]Hans Petter Langtangen.A Primer on Scientific Programming with Python 2rd[M].US:Springer,2015.

    [8]Hughes JM.Real World Instrumentation with Python [M].Sebastopol US:O’Reilly Media,Inc,2011.

    [9]王浩波,郭金鵬.星載環(huán)境下可重構(gòu)技術(shù)分析[J].無線電工程,2012,42(1):40-42.

    [10]孔慶玲,胡志軍,劉英,等.程序復(fù)雜性度量技術(shù)分析[J].無線電工程,2011,41(2):61-64,2011.

    [11]劉學(xué)輝,王國良.軟件進(jìn)程監(jiān)控系統(tǒng)及其實現(xiàn)[J].無線電工程,2011,41(9):62-64.

    [12]許靜.高效信息收發(fā)軟件系統(tǒng)設(shè)計分析[J].無線電工程,2011,41(9):7-10,43.

    [12]王明,何加銘,曾興斌.IP攝像頭遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].無線電通信技術(shù),2014,40(1):71-74.

    Design on Python-based Network M anagement Software Architecture

    JIANG Hong-lei
    (The 54th Research Institute of CETC,Shijiazhuang Hebei050081,China)

    In view of such problems as low efficiency in developmentand high cost inmaintenance for networkmanagement system with C/C++languages,this paper proposes a lightweight architecture based on dynamic language Python.On the basis of Python’s dynamic-type system and meta-programming capability,this paper presents such technical selections in networkmanagement software of browser/server(B/S)architecture as devicemonitoring,web development,ORM,etc.The Python’s data structure is used to describe binary stream protocol,and the bidirectional exchange of program can be automatically performed between binary packet and JSON.The micro web framework Flask is easy to use and extend,supports Server Send Event.SQLAlchemy,as a de facto standard for ORM in Python,makes developers handle database like objects.The project practice shows that Python-based implementation is simple,more readable and has higher development speed.

    Python;dynamic types;meta programming;devicemonitoring;web server framework;ORM

    TP393

    A

    1003-3114(2015)04-87-4

    10.3969/j.issn.1003-3114.2015.04.23

    蔣洪磊.基于Python的網(wǎng)管軟件技術(shù)體系設(shè)計[J].無線電通信技術(shù),2015,41(4):87-90.

    2015-04-09

    國家部委基金資助項目

    蔣洪磊(1982—),男,博士,工程師,主要研究方向:分布式存儲、衛(wèi)星通訊網(wǎng)網(wǎng)管運控。

    猜你喜歡
    開發(fā)人員網(wǎng)管代碼
    Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    讓W(xué)indows 10進(jìn)入開發(fā)者模式
    電腦迷(2015年12期)2015-04-29 23:22:51
    后悔了?教你隱藏開發(fā)人員選項
    電腦愛好者(2015年6期)2015-04-03 01:20:56
    “五制配套”加強網(wǎng)管
    新聞前哨(2015年2期)2015-03-11 19:29:29
    一種供鳥有限飛翔的裝置
    發(fā)射機房網(wǎng)管系統(tǒng)的設(shè)計原則及功能
    河南科技(2014年14期)2014-02-27 14:11:59
    久久久国产成人免费| 男女床上黄色一级片免费看| 日本成人三级电影网站| 很黄的视频免费| 在线a可以看的网站| 亚洲第一电影网av| 午夜亚洲福利在线播放| 日本 av在线| 免费无遮挡裸体视频| x7x7x7水蜜桃| 午夜福利在线观看吧| 国产av不卡久久| 亚洲av二区三区四区| 国产综合懂色| 日韩有码中文字幕| 久久6这里有精品| 丰满人妻一区二区三区视频av| 国产男靠女视频免费网站| 亚洲电影在线观看av| 乱码一卡2卡4卡精品| 欧美中文日本在线观看视频| 18美女黄网站色大片免费观看| 国产一区二区激情短视频| 欧美午夜高清在线| 亚洲中文字幕一区二区三区有码在线看| 国产伦精品一区二区三区四那| 免费看日本二区| 久久天躁狠狠躁夜夜2o2o| 美女黄网站色视频| 亚洲欧美日韩无卡精品| 国语自产精品视频在线第100页| 中文字幕久久专区| 国产69精品久久久久777片| 亚洲国产色片| 亚洲五月天丁香| 国产91精品成人一区二区三区| 国产乱人视频| 成年女人看的毛片在线观看| 国产黄片美女视频| 午夜精品一区二区三区免费看| 亚洲最大成人手机在线| 最近中文字幕高清免费大全6 | 少妇熟女aⅴ在线视频| 可以在线观看的亚洲视频| 精品一区二区免费观看| 女同久久另类99精品国产91| 中文字幕av在线有码专区| 老女人水多毛片| 首页视频小说图片口味搜索| 亚洲人成电影免费在线| 欧美激情在线99| 舔av片在线| 十八禁网站免费在线| 精品一区二区免费观看| 亚洲欧美日韩无卡精品| 国产成+人综合+亚洲专区| 天堂av国产一区二区熟女人妻| 老司机福利观看| 精品欧美国产一区二区三| 欧美bdsm另类| 日韩欧美国产一区二区入口| 国产免费男女视频| 尤物成人国产欧美一区二区三区| 狂野欧美白嫩少妇大欣赏| 免费大片18禁| 美女xxoo啪啪120秒动态图 | bbb黄色大片| 久久午夜亚洲精品久久| 最后的刺客免费高清国语| 日韩高清综合在线| 女生性感内裤真人,穿戴方法视频| 日韩精品青青久久久久久| 变态另类成人亚洲欧美熟女| 久久国产精品人妻蜜桃| 欧美丝袜亚洲另类 | 人妻夜夜爽99麻豆av| 亚洲av二区三区四区| 亚洲人成网站在线播放欧美日韩| 免费观看精品视频网站| 美女高潮的动态| x7x7x7水蜜桃| 给我免费播放毛片高清在线观看| 九色成人免费人妻av| www日本黄色视频网| 欧美一区二区精品小视频在线| 赤兔流量卡办理| 国产精品野战在线观看| 丰满人妻熟妇乱又伦精品不卡| 99热这里只有精品一区| 精品无人区乱码1区二区| 免费在线观看亚洲国产| 成年人黄色毛片网站| 最近在线观看免费完整版| 国产成人影院久久av| 一边摸一边抽搐一进一小说| 天美传媒精品一区二区| 少妇裸体淫交视频免费看高清| 欧美日韩中文字幕国产精品一区二区三区| 久久久久亚洲av毛片大全| 免费无遮挡裸体视频| netflix在线观看网站| 99久久99久久久精品蜜桃| 中文字幕久久专区| 一本精品99久久精品77| 亚洲人成网站在线播| 一本精品99久久精品77| 亚洲男人的天堂狠狠| 精品日产1卡2卡| 国产精品伦人一区二区| 91麻豆av在线| 午夜福利成人在线免费观看| 精品久久久久久成人av| 亚洲不卡免费看| 欧洲精品卡2卡3卡4卡5卡区| 国产精品久久电影中文字幕| 亚洲久久久久久中文字幕| 亚洲第一电影网av| 色av中文字幕| 非洲黑人性xxxx精品又粗又长| 99精品久久久久人妻精品| aaaaa片日本免费| 老司机午夜福利在线观看视频| 免费观看的影片在线观看| 熟女人妻精品中文字幕| 国产精品久久久久久久久免 | 脱女人内裤的视频| 免费观看精品视频网站| 九色国产91popny在线| 国产精品久久久久久久久免 | 国产欧美日韩精品一区二区| 欧美国产日韩亚洲一区| 欧美日韩福利视频一区二区| x7x7x7水蜜桃| 又爽又黄无遮挡网站| 高清在线国产一区| 日日夜夜操网爽| 午夜视频国产福利| 在线十欧美十亚洲十日本专区| 成人特级黄色片久久久久久久| 又紧又爽又黄一区二区| 免费在线观看影片大全网站| 日韩精品青青久久久久久| 日韩中文字幕欧美一区二区| 在线天堂最新版资源| 亚洲国产精品sss在线观看| 日本与韩国留学比较| 久久精品国产自在天天线| 精品国产三级普通话版| 宅男免费午夜| 日本免费a在线| 亚洲国产欧洲综合997久久,| 亚洲无线在线观看| 国产伦人伦偷精品视频| 最后的刺客免费高清国语| 国产精品嫩草影院av在线观看 | 色吧在线观看| 女生性感内裤真人,穿戴方法视频| 久久久久久久久久黄片| 国产成年人精品一区二区| 亚洲国产欧洲综合997久久,| 露出奶头的视频| 国产精品久久视频播放| 俺也久久电影网| 男人的好看免费观看在线视频| 男人的好看免费观看在线视频| 日韩av在线大香蕉| 18美女黄网站色大片免费观看| 男女之事视频高清在线观看| 最近中文字幕高清免费大全6 | 亚洲精品日韩av片在线观看| 精品人妻1区二区| 久久国产乱子伦精品免费另类| 亚洲国产高清在线一区二区三| 不卡一级毛片| 亚洲 国产 在线| 波多野结衣高清无吗| 欧美日韩黄片免| 人妻夜夜爽99麻豆av| 日韩欧美国产一区二区入口| 色噜噜av男人的天堂激情| 日本 av在线| 午夜福利18| 久久国产乱子伦精品免费另类| 亚洲中文字幕一区二区三区有码在线看| 久久天躁狠狠躁夜夜2o2o| 一个人免费在线观看电影| 日韩高清综合在线| 亚洲av免费高清在线观看| 一级作爱视频免费观看| 无人区码免费观看不卡| aaaaa片日本免费| 精品99又大又爽又粗少妇毛片 | 俺也久久电影网| 亚洲熟妇熟女久久| 亚洲18禁久久av| 久久欧美精品欧美久久欧美| 亚洲中文字幕一区二区三区有码在线看| 1000部很黄的大片| 亚洲精品亚洲一区二区| 五月伊人婷婷丁香| 国产精品久久久久久精品电影| 国产精品一区二区三区四区久久| 日韩欧美免费精品| 一个人免费在线观看电影| 国模一区二区三区四区视频| 日本 欧美在线| 91久久精品国产一区二区成人| 91久久精品国产一区二区成人| 嫩草影院入口| 欧美乱妇无乱码| 成人性生交大片免费视频hd| 三级毛片av免费| 国产中年淑女户外野战色| 国内精品久久久久久久电影| 久久亚洲真实| 嫩草影院入口| 给我免费播放毛片高清在线观看| 性色avwww在线观看| 一本一本综合久久| 欧美乱妇无乱码| 成年人黄色毛片网站| 校园春色视频在线观看| 欧美国产日韩亚洲一区| 亚洲av中文字字幕乱码综合| 国产亚洲精品av在线| 国产熟女xx| 一本综合久久免费| 国产精品一区二区三区四区免费观看 | 亚洲欧美日韩东京热| 伦理电影大哥的女人| 欧美日韩综合久久久久久 | 国内久久婷婷六月综合欲色啪| 国产人妻一区二区三区在| 国产精品美女特级片免费视频播放器| 狂野欧美白嫩少妇大欣赏| 精品午夜福利视频在线观看一区| 51国产日韩欧美| 美女 人体艺术 gogo| 精品无人区乱码1区二区| 精品免费久久久久久久清纯| 天堂√8在线中文| 精品人妻视频免费看| www.色视频.com| 国产三级黄色录像| 亚洲七黄色美女视频| 青草久久国产| bbb黄色大片| 91麻豆av在线| 天堂网av新在线| 久久香蕉精品热| 熟女电影av网| 精品人妻视频免费看| 热99在线观看视频| 国产成人福利小说| 制服丝袜大香蕉在线| 色哟哟·www| 日韩av在线大香蕉| 精品熟女少妇八av免费久了| 丰满人妻熟妇乱又伦精品不卡| 国产精品人妻久久久久久| 在线观看免费视频日本深夜| 精品久久久久久久久亚洲 | avwww免费| 99在线人妻在线中文字幕| 日韩av在线大香蕉| 好男人在线观看高清免费视频| 99热这里只有是精品在线观看 | 国产精品久久久久久亚洲av鲁大| 丁香欧美五月| 国产精品,欧美在线| 99在线人妻在线中文字幕| 亚洲精品粉嫩美女一区| av在线天堂中文字幕| 51午夜福利影视在线观看| 午夜福利在线观看吧| 18禁黄网站禁片午夜丰满| 高清在线国产一区| 国产亚洲精品综合一区在线观看| 白带黄色成豆腐渣| 亚洲无线观看免费| 全区人妻精品视频| 大型黄色视频在线免费观看| 国产精品综合久久久久久久免费| 国产熟女xx| 成人国产综合亚洲| 身体一侧抽搐| eeuss影院久久| 一级毛片久久久久久久久女| 亚洲欧美日韩高清专用| 欧美成人免费av一区二区三区| 国产精品电影一区二区三区| 亚洲欧美日韩东京热| 亚洲乱码一区二区免费版| 亚洲精品色激情综合| 偷拍熟女少妇极品色| 可以在线观看的亚洲视频| 美女高潮的动态| av在线老鸭窝| 久久精品国产亚洲av涩爱 | 又紧又爽又黄一区二区| 久久国产乱子免费精品| 18禁在线播放成人免费| 麻豆成人午夜福利视频| 午夜福利成人在线免费观看| netflix在线观看网站| 成年女人看的毛片在线观看| 久久精品国产清高在天天线| 国产精品精品国产色婷婷| 性插视频无遮挡在线免费观看| 少妇人妻精品综合一区二区 | 久久婷婷人人爽人人干人人爱| 久久精品久久久久久噜噜老黄 | 中文字幕免费在线视频6| 亚洲,欧美,日韩| 亚洲专区中文字幕在线| 欧美精品国产亚洲| 高清毛片免费观看视频网站| 麻豆av噜噜一区二区三区| 精品久久久久久久人妻蜜臀av| 成人欧美大片| 成人精品一区二区免费| 精品一区二区三区人妻视频| 日韩中字成人| 国产精品久久久久久人妻精品电影| 性色avwww在线观看| 亚洲精品乱码久久久v下载方式| 国产探花极品一区二区| 五月伊人婷婷丁香| 啪啪无遮挡十八禁网站| 色av中文字幕| 麻豆一二三区av精品| 免费在线观看影片大全网站| 变态另类丝袜制服| 免费人成视频x8x8入口观看| 精品久久久久久久末码| 精品熟女少妇八av免费久了| 日韩欧美在线二视频| 757午夜福利合集在线观看| 亚洲真实伦在线观看| 国产国拍精品亚洲av在线观看| 国模一区二区三区四区视频| 亚洲天堂国产精品一区在线| 欧美激情国产日韩精品一区| 婷婷精品国产亚洲av在线| 国产91精品成人一区二区三区| 精品乱码久久久久久99久播| 禁无遮挡网站| 国产高清三级在线| 99久久99久久久精品蜜桃| 波野结衣二区三区在线| 久久精品国产亚洲av香蕉五月| 长腿黑丝高跟| 18美女黄网站色大片免费观看| 亚洲精品乱码久久久v下载方式| 亚洲最大成人中文| 亚洲精品亚洲一区二区| 久久精品综合一区二区三区| 亚洲成人久久爱视频| 99久久成人亚洲精品观看| 日本成人三级电影网站| 欧美在线黄色| 国产黄色小视频在线观看| 免费在线观看亚洲国产| 麻豆一二三区av精品| 日本免费一区二区三区高清不卡| 国产精品免费一区二区三区在线| 午夜福利在线观看吧| 观看免费一级毛片| 91九色精品人成在线观看| 999久久久精品免费观看国产| 久久精品久久久久久噜噜老黄 | 久久精品国产99精品国产亚洲性色| 欧美最黄视频在线播放免费| 白带黄色成豆腐渣| 美女免费视频网站| 亚洲五月天丁香| 亚洲天堂国产精品一区在线| 国产视频一区二区在线看| 亚洲熟妇熟女久久| 麻豆成人午夜福利视频| 久久精品国产99精品国产亚洲性色| 亚洲va日本ⅴa欧美va伊人久久| 精品久久久久久,| 一区二区三区四区激情视频 | 亚洲最大成人手机在线| 国产色婷婷99| 久久欧美精品欧美久久欧美| 国产一区二区激情短视频| 很黄的视频免费| 97碰自拍视频| 午夜福利欧美成人| 亚洲五月天丁香| 欧美色欧美亚洲另类二区| 亚洲在线观看片| 国产免费一级a男人的天堂| 少妇的逼好多水| 在线观看午夜福利视频| 一卡2卡三卡四卡精品乱码亚洲| netflix在线观看网站| 国产野战对白在线观看| 国产精品久久视频播放| 美女高潮的动态| 亚洲无线观看免费| 精华霜和精华液先用哪个| 国产精品日韩av在线免费观看| 午夜亚洲福利在线播放| 午夜福利在线观看吧| 怎么达到女性高潮| 12—13女人毛片做爰片一| 18禁在线播放成人免费| 直男gayav资源| 动漫黄色视频在线观看| 露出奶头的视频| 亚洲av电影不卡..在线观看| 国产欧美日韩精品一区二区| 91久久精品电影网| 亚洲av第一区精品v没综合| 中文字幕人妻熟人妻熟丝袜美| 亚洲人成网站在线播放欧美日韩| 色吧在线观看| 精品熟女少妇八av免费久了| 在线观看舔阴道视频| 午夜a级毛片| 嫁个100分男人电影在线观看| 啦啦啦观看免费观看视频高清| 黄色配什么色好看| 国产高清激情床上av| 国产高清有码在线观看视频| 久久精品国产亚洲av天美| 欧美激情久久久久久爽电影| 国产真实伦视频高清在线观看 | 久久久成人免费电影| 国产精品美女特级片免费视频播放器| 成人精品一区二区免费| 久久精品人妻少妇| www.999成人在线观看| 毛片女人毛片| 丁香六月欧美| 精品人妻视频免费看| 男人的好看免费观看在线视频| 少妇的逼水好多| 欧美在线黄色| 在线免费观看不下载黄p国产 | 怎么达到女性高潮| 午夜福利高清视频| 久久精品影院6| 亚洲精品色激情综合| 午夜福利视频1000在线观看| 久久伊人香网站| av福利片在线观看| 欧美黑人欧美精品刺激| 首页视频小说图片口味搜索| 免费av不卡在线播放| or卡值多少钱| 日本黄色片子视频| 日韩中文字幕欧美一区二区| 午夜福利免费观看在线| 亚洲美女搞黄在线观看 | 欧美激情在线99| 国内久久婷婷六月综合欲色啪| 日韩中文字幕欧美一区二区| 噜噜噜噜噜久久久久久91| 亚洲久久久久久中文字幕| 日韩欧美 国产精品| 久久久精品欧美日韩精品| 国产成人啪精品午夜网站| 国产乱人视频| 嫩草影院入口| 亚洲成av人片在线播放无| 美女黄网站色视频| 精品午夜福利视频在线观看一区| 国产极品精品免费视频能看的| 男女之事视频高清在线观看| 国产大屁股一区二区在线视频| 欧美+亚洲+日韩+国产| 欧美zozozo另类| 亚洲av不卡在线观看| 999久久久精品免费观看国产| 九九热线精品视视频播放| 久久精品国产亚洲av天美| 亚洲专区中文字幕在线| 欧美成人a在线观看| 国产激情偷乱视频一区二区| 最好的美女福利视频网| 97热精品久久久久久| 国产精品亚洲美女久久久| 五月伊人婷婷丁香| 国产亚洲精品久久久com| 日日摸夜夜添夜夜添av毛片 | 国产男靠女视频免费网站| 欧美成狂野欧美在线观看| 久久久久国产精品人妻aⅴ院| 在线免费观看的www视频| x7x7x7水蜜桃| 欧美日韩瑟瑟在线播放| 久久婷婷人人爽人人干人人爱| 欧美黑人巨大hd| 夜夜躁狠狠躁天天躁| 久久久久久九九精品二区国产| 美女xxoo啪啪120秒动态图 | 又粗又爽又猛毛片免费看| 成人午夜高清在线视频| 日本一本二区三区精品| 亚洲一区二区三区色噜噜| 欧美性猛交╳xxx乱大交人| 欧美高清性xxxxhd video| 国产精品一区二区性色av| 国内毛片毛片毛片毛片毛片| 国产色婷婷99| 久久精品国产清高在天天线| 午夜a级毛片| 午夜福利在线观看吧| 亚洲va日本ⅴa欧美va伊人久久| 欧美一区二区国产精品久久精品| 国内精品久久久久精免费| 国产午夜精品久久久久久一区二区三区 | 精品久久久久久久末码| 久久久久久久久久成人| 深爱激情五月婷婷| 中文字幕久久专区| 国产不卡一卡二| 一级黄片播放器| 国产极品精品免费视频能看的| 久久6这里有精品| 99久久99久久久精品蜜桃| 亚洲精品色激情综合| 成年女人毛片免费观看观看9| 身体一侧抽搐| 国产黄色小视频在线观看| 高潮久久久久久久久久久不卡| 精品国产三级普通话版| 如何舔出高潮| 日韩成人在线观看一区二区三区| 亚洲成人久久爱视频| 日本黄色视频三级网站网址| 一个人免费在线观看电影| 午夜日韩欧美国产| 亚洲熟妇熟女久久| 国产在线精品亚洲第一网站| 亚洲av美国av| 欧美一级a爱片免费观看看| 久久精品国产清高在天天线| 如何舔出高潮| 深夜a级毛片| 久久99热6这里只有精品| 久久久久久九九精品二区国产| 亚洲精品久久国产高清桃花| 99精品在免费线老司机午夜| 精品久久久久久,| av中文乱码字幕在线| 极品教师在线免费播放| 欧美最黄视频在线播放免费| 欧美一区二区精品小视频在线| 欧美+亚洲+日韩+国产| 午夜福利视频1000在线观看| 怎么达到女性高潮| 久久精品久久久久久噜噜老黄 | 少妇被粗大猛烈的视频| 男人的好看免费观看在线视频| 国产色婷婷99| 波多野结衣高清无吗| 日韩高清综合在线| 怎么达到女性高潮| 日韩中字成人| 国内精品久久久久久久电影| 久久久久久久久久成人| 少妇丰满av| 一区二区三区免费毛片| 国内精品一区二区在线观看| 国产三级黄色录像| 蜜桃亚洲精品一区二区三区| 伊人久久精品亚洲午夜| www.999成人在线观看| 色av中文字幕| 日韩欧美 国产精品| 免费观看人在逋| 国产在视频线在精品| 大型黄色视频在线免费观看| 18禁裸乳无遮挡免费网站照片| 99久久九九国产精品国产免费| 热99在线观看视频| 禁无遮挡网站| 黄色丝袜av网址大全| av在线蜜桃| 乱人视频在线观看| 在线国产一区二区在线| 久久精品久久久久久噜噜老黄 | 日本三级黄在线观看| 国产高潮美女av| 欧美日韩福利视频一区二区| 精品不卡国产一区二区三区| 中文字幕熟女人妻在线| 国产久久久一区二区三区| 欧美高清成人免费视频www| 在线免费观看的www视频| 国产欧美日韩一区二区精品| 少妇熟女aⅴ在线视频| or卡值多少钱| 亚洲avbb在线观看| 1000部很黄的大片| 国产黄色小视频在线观看| 老女人水多毛片| 日韩欧美国产一区二区入口| 午夜亚洲福利在线播放| 国产伦精品一区二区三区四那| 国产免费av片在线观看野外av| 午夜精品久久久久久毛片777| 99视频精品全部免费 在线| 欧美xxxx黑人xx丫x性爽| 18+在线观看网站| 亚洲熟妇中文字幕五十中出| 欧美日韩亚洲国产一区二区在线观看| 欧美三级亚洲精品| 欧美性感艳星| 国产色婷婷99|