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

    基于微服務(wù)架構(gòu)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)

    2015-06-23 13:55:13吳昌雨李云松王善勤
    宿州學(xué)院學(xué)報(bào) 2015年7期
    關(guān)鍵詞:業(yè)務(wù)流程濕度架構(gòu)

    吳昌雨,李云松,劉 青,王善勤

    滁州職業(yè)技術(shù)學(xué)院信息工程系,安徽滁州,239000

    基于微服務(wù)架構(gòu)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)

    吳昌雨,李云松,劉 青,王善勤

    滁州職業(yè)技術(shù)學(xué)院信息工程系,安徽滁州,239000

    為構(gòu)建具有分布式、開放式特性的物聯(lián)網(wǎng)生態(tài)系統(tǒng),提出了基于微服務(wù)架構(gòu)(MSA,Micro-service Architecture)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架。以農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)為載體,闡述了其運(yùn)行與交互方式,并展示了原型系統(tǒng)實(shí)現(xiàn)方法。該框架采用去中心化設(shè)計(jì),具有易于訪問(wèn)、易于實(shí)現(xiàn)、易于擴(kuò)展等特性,從應(yīng)用層面提出了一種解決物聯(lián)網(wǎng)異構(gòu)問(wèn)題的解決方案。

    微服務(wù);物聯(lián)網(wǎng);應(yīng)用基礎(chǔ)框架

    物聯(lián)網(wǎng)(Internet of Things,IoT)是指通過(guò)部署具有一定感知、計(jì)算、執(zhí)行和通信等能力的各種設(shè)備,獲得物理世界的信息,通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)信息的傳輸、協(xié)同和處理,從而實(shí)現(xiàn)人與物通信、物與物通信的互聯(lián)的網(wǎng)絡(luò)[1]。國(guó)際標(biāo)準(zhǔn)化組織協(xié)會(huì)等組織在物聯(lián)網(wǎng)產(chǎn)業(yè)化及標(biāo)準(zhǔn)化上開展了大量工作,產(chǎn)生了許多較為成熟的低功耗的物理層和傳輸層網(wǎng)絡(luò)協(xié)議,如Zigbee、Bluetooth、IEEE 802.15.4等,各種物聯(lián)網(wǎng)設(shè)備在這些協(xié)議的支持下可以實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備之間的互聯(lián)互通。然而,這些技術(shù)標(biāo)準(zhǔn)雖然從網(wǎng)絡(luò)層角度實(shí)現(xiàn)了物聯(lián)網(wǎng)設(shè)備的互聯(lián)互通,但從應(yīng)用層的角度看,這些異構(gòu)的物聯(lián)網(wǎng)設(shè)備間仍然是一個(gè)個(gè)信息孤島,還需要開發(fā)者將其整合才能成為一個(gè)具有應(yīng)用價(jià)值的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)。

    以物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)為例。該系統(tǒng)包含大量傳感器、物聯(lián)網(wǎng)設(shè)備,通過(guò)無(wú)線傳感器網(wǎng)絡(luò)框架(Wireless Sensor Network,WSN)可以解決設(shè)備與設(shè)備之間的大規(guī)模部署及互聯(lián)互通問(wèn)題,然而物聯(lián)網(wǎng)系統(tǒng)用戶、應(yīng)用及設(shè)備之間的交互及信息共享等需求則需要由應(yīng)用層來(lái)解決。本文提出的基于微服務(wù)架構(gòu)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)方案適用于對(duì)開放性、可擴(kuò)展性有較高要求的物聯(lián)網(wǎng)應(yīng)用系統(tǒng),從應(yīng)用層面解決物聯(lián)網(wǎng)異構(gòu)問(wèn)題。

    1 相關(guān)工作

    通過(guò)研究當(dāng)前物聯(lián)網(wǎng)產(chǎn)業(yè)現(xiàn)狀可以發(fā)現(xiàn),雖然目前物聯(lián)網(wǎng)產(chǎn)業(yè)化應(yīng)用取得了一些成果并積累了不少成功的案例,但從應(yīng)用系統(tǒng)架構(gòu)設(shè)計(jì)角度看仍然存在一些共性的問(wèn)題:一是架構(gòu)設(shè)計(jì)封閉,采用私有接口、協(xié)議實(shí)現(xiàn)通信,即使是同行業(yè)間的應(yīng)用也沒有互操作能力;二是缺乏異構(gòu)終端支持,由于不同類型終端信息處理方式及通信協(xié)議的差異,現(xiàn)有系統(tǒng)很難實(shí)現(xiàn)跨終端應(yīng)用支持;三是采用整體架構(gòu)模式(Monolithic Architecture)設(shè)計(jì),所有功能封裝在一個(gè)應(yīng)用系統(tǒng)中,系統(tǒng)水平擴(kuò)展性差且缺乏跨應(yīng)用的支持;四是系統(tǒng)耦合性高,聚合度低,程序難以復(fù)用與維護(hù),與低耦合高內(nèi)聚的軟件開發(fā)原則相悖。

    為解決這些問(wèn)題,業(yè)界針對(duì)物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)制定了許多可借鑒的標(biāo)準(zhǔn)和方案,如Device Profiles for Web Services(DPWS)標(biāo)準(zhǔn)將SOA應(yīng)用于物聯(lián)網(wǎng)[2]。該標(biāo)準(zhǔn)基于Web Services 設(shè)計(jì),可以通過(guò)服務(wù)總線及中間件實(shí)現(xiàn)智能設(shè)備及應(yīng)用軟件的交互,但SOA標(biāo)準(zhǔn)更適用于整合連接靜態(tài)的企業(yè)級(jí)大型應(yīng)用。另一種值得關(guān)注的方案是近年來(lái)才提出的一種開放式物聯(lián)網(wǎng)方案Web of Things (WoT)。該方案主張將所有的物聯(lián)網(wǎng)設(shè)備抽象為資源,通過(guò)REST Web Service API的方式將其公開,在這一方案基礎(chǔ)上Pautasso等人提出了基于REST的業(yè)務(wù)流程管理方案(Business Process Management,BPM),允許將復(fù)雜的業(yè)務(wù)流程抽象為RESTful Web Service。BPM方案對(duì)于Web2.0及企業(yè)應(yīng)用整合有重要參考價(jià)值。

    上述標(biāo)準(zhǔn)和方案大都基于整體架構(gòu)模式設(shè)計(jì),即采用集中式業(yè)務(wù)平臺(tái)處理業(yè)務(wù)邏輯及存儲(chǔ)數(shù)據(jù)。在物聯(lián)網(wǎng)的復(fù)雜環(huán)境中,這種方式必然帶來(lái)一些系統(tǒng)擴(kuò)展性及伸縮性方面的局限,比如整體架構(gòu)模式采用統(tǒng)一的技術(shù)手段實(shí)現(xiàn),應(yīng)對(duì)異構(gòu)環(huán)境缺乏針對(duì)性;系統(tǒng)水平功能模塊擴(kuò)展需重新構(gòu)建和部署整個(gè)系統(tǒng);除重寫整個(gè)應(yīng)用程序外,很難變更新的基礎(chǔ)框架,其結(jié)果是整體架構(gòu)無(wú)法支持復(fù)雜的、變化的、長(zhǎng)期的應(yīng)用。

    2 基于微服務(wù)架構(gòu)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)

    物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架設(shè)計(jì)既要考慮如何將現(xiàn)有的物聯(lián)網(wǎng)設(shè)施整合,同時(shí)也要考慮系統(tǒng)設(shè)計(jì)的開放性及可擴(kuò)展性,比如是否能夠快速地適應(yīng)在現(xiàn)有基礎(chǔ)設(shè)施上的傳感器與物聯(lián)網(wǎng)設(shè)備增加而導(dǎo)致的功能需求變化,因此在設(shè)計(jì)過(guò)程中應(yīng)遵循以下幾點(diǎn)準(zhǔn)則:(1)系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,易于實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)應(yīng)盡量簡(jiǎn)潔,避免復(fù)雜的架構(gòu)與技術(shù)方案,支持系統(tǒng)的快速原型化。(2)基于標(biāo)準(zhǔn),降低開發(fā)成本。盡量采用已被廣泛接受且易于實(shí)現(xiàn)的標(biāo)準(zhǔn)及協(xié)議來(lái)構(gòu)建系統(tǒng),降低開發(fā)成本及開發(fā)門檻。(3)采用輕量級(jí)通信機(jī)制,易于訪問(wèn)。避免復(fù)雜的具有平臺(tái)限制的協(xié)議,易于實(shí)現(xiàn)及訪問(wèn)。(4)分布式、松耦合,易于擴(kuò)展。采用分布式設(shè)計(jì),避免組件緊耦合設(shè)計(jì),以利于系統(tǒng)的水平擴(kuò)展及垂直擴(kuò)展。

    基于以上準(zhǔn)則,在物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)的設(shè)計(jì)過(guò)程中提出了采用微服務(wù)架構(gòu)(MSA,Micro-service Architecture)構(gòu)建應(yīng)用基礎(chǔ)框架。其基本思想是:將功能分解到各個(gè)離散的服務(wù)中,以實(shí)現(xiàn)對(duì)解決方案的解耦,即將復(fù)雜系統(tǒng)拆分為一系列小且功能專一的服務(wù);并通過(guò)相互協(xié)作來(lái)構(gòu)建應(yīng)用系統(tǒng)。實(shí)踐中,將系統(tǒng)拆分為7個(gè)微服務(wù),比如其中濕度控制服務(wù)(Temperature control Service)用于獲取和記錄土壤濕度信息等功能,定時(shí)任務(wù)服務(wù)(Timing task Service)用于配置和完成諸如定時(shí)澆灌任務(wù)等功能??梢?,每個(gè)服務(wù)的功能小且專一,各自完成整個(gè)系統(tǒng)的部分功能。服務(wù)與服務(wù)間可以通過(guò)協(xié)作完成復(fù)雜的系列任務(wù),比如定時(shí)澆灌功能的實(shí)現(xiàn)需要由定時(shí)任務(wù)服務(wù)來(lái)設(shè)置及發(fā)布任務(wù)、由濕度控制服務(wù)來(lái)監(jiān)測(cè)當(dāng)前土壤區(qū)塊濕度平均值、由設(shè)備狀態(tài)服務(wù)來(lái)控制智能澆灌設(shè)備的開關(guān)?;谖⒎?wù)的物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)應(yīng)用層架構(gòu)如圖1所示。

    圖1 基于微服務(wù)的物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)應(yīng)用層架構(gòu)

    從架構(gòu)圖中可以看出,系統(tǒng)中每個(gè)服務(wù)的功能及數(shù)據(jù)相對(duì)于其他服務(wù)是獨(dú)立的,服務(wù)之間通過(guò)HTTP協(xié)議實(shí)現(xiàn)通信,下面通過(guò)與土壤濕度控制相關(guān)的三個(gè)應(yīng)用場(chǎng)景中具體的業(yè)務(wù)來(lái)說(shuō)明該微服務(wù)架構(gòu)如何工作:任務(wù)1“獲取設(shè)備編號(hào)為Hum01的濕度傳感器當(dāng)前值”,任務(wù)2“獲取區(qū)域編號(hào)Area01的土壤區(qū)塊濕度信息列表”,任務(wù)3“定時(shí)監(jiān)測(cè)某區(qū)域濕度信息,平均值低于臨界值時(shí)啟動(dòng)自動(dòng)灌溉裝置”。

    對(duì)于任務(wù)1“獲取設(shè)備編號(hào)為Hum01的濕度傳感器當(dāng)前值”、任務(wù)2“獲取某區(qū)域濕度信息列表”,實(shí)現(xiàn)過(guò)程較為簡(jiǎn)單,其業(yè)務(wù)流程都是通過(guò)HTTP協(xié)議訪問(wèn)預(yù)先定義的資源獲取信息,如客戶端通過(guò)Get請(qǐng)求發(fā)送URI:…/humidity/device/Hum01訪問(wèn)資源,濕度控制服務(wù)接收請(qǐng)求并返回包含Hum01的濕度傳感器當(dāng)前值JSON格式的響應(yīng);客戶端通過(guò)Get請(qǐng)求發(fā)送URI:…/humidity/area/Area01訪問(wèn)資源,濕度控制服務(wù)接收請(qǐng)求并返回包含Area01的土壤區(qū)塊所有濕度傳感器當(dāng)前值列表的JSON格式響應(yīng)。圖2展示了這兩個(gè)任務(wù)的業(yè)務(wù)流程序列圖及其請(qǐng)求、響應(yīng)樣例。

    圖2 任務(wù)1、2業(yè)務(wù)流程序列圖及請(qǐng)求、響應(yīng)樣例

    對(duì)于任務(wù)3“定時(shí)監(jiān)測(cè)某區(qū)域濕度信息,平均值低于臨界值時(shí)啟動(dòng)自動(dòng)灌溉裝置”,實(shí)現(xiàn)過(guò)程相對(duì)復(fù)雜,需要三個(gè)微服務(wù)協(xié)同工作,其業(yè)務(wù)流程首先是由定時(shí)任務(wù)服務(wù)通過(guò)發(fā)送包含有灌溉區(qū)域編號(hào)、目標(biāo)濕度值的POST請(qǐng)求至URI:…/humidity/irrigation/,濕度控制服務(wù)接收請(qǐng)求后首先會(huì)監(jiān)測(cè)該區(qū)塊平均濕度值,如未達(dá)到目標(biāo)值則發(fā)送包含由設(shè)備狀態(tài)操作代碼(啟動(dòng)設(shè)備)的PUT請(qǐng)求至URI:…/device/{device.id},由設(shè)備狀態(tài)服務(wù)接收請(qǐng)求并啟動(dòng)相應(yīng)的智能灌溉設(shè)備,灌溉過(guò)程中濕度控制服務(wù)還需監(jiān)控該區(qū)塊濕度值的變化,一旦達(dá)到目標(biāo)濕度值則再次發(fā)送包含由設(shè)備狀態(tài)操作代碼(關(guān)閉設(shè)備)的PUT請(qǐng)求至URI: …/device/{device.id},由設(shè)備狀態(tài)服務(wù)接收請(qǐng)求并關(guān)閉相應(yīng)的智能灌溉設(shè)備以最終完成灌溉。圖3展示了該任務(wù)的業(yè)務(wù)流程序列圖及其請(qǐng)求、響應(yīng)樣例。

    圖3 任務(wù)3業(yè)務(wù)流程序列圖及請(qǐng)求、響應(yīng)樣例

    上述應(yīng)用場(chǎng)景所描述的業(yè)務(wù)流程代表了整個(gè)物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)業(yè)務(wù)流程的處理方式,服務(wù)和服務(wù)之間、服務(wù)與應(yīng)用之間通過(guò)輕量級(jí)的機(jī)制實(shí)現(xiàn)彼此間的通信,系統(tǒng)設(shè)計(jì)采用Web標(biāo)準(zhǔn)中的HTTP1.1這種與語(yǔ)言、平臺(tái)無(wú)關(guān)的協(xié)議來(lái)傳輸數(shù)據(jù)?;贖TTP協(xié)議構(gòu)建的RESTful(REST風(fēng)格的Web服務(wù))API 的接口包含標(biāo)準(zhǔn)的HTTP方法,如GET、POST、PUT和DELETE。表1描述的是以土壤濕度控制服務(wù)為例所設(shè)計(jì)的API接口使用樣例。

    從表1中可以看出,土壤濕度控制服務(wù)的資源命名空間為“humidity”,與土壤濕度相關(guān)的操作可以通過(guò)該命名空間訪問(wèn)。另外在表格中“獲取某濕度傳感器當(dāng)前濕度值”與“刪除某濕度傳感器記錄值”URI示例路徑一致,服務(wù)器將根據(jù)請(qǐng)求類型是GET還是DELETE來(lái)確定執(zhí)行何種操作。當(dāng)其他應(yīng)用或服務(wù)通過(guò)URI訪問(wèn)當(dāng)前土壤濕度控制服務(wù)提供的功能是,通常情況下該服務(wù)會(huì)返回一個(gè)JSON格式數(shù)據(jù),比如希望獲取某傳感器歷史濕度記錄值,可以通過(guò)訪問(wèn)URI:…/humidity/device/{device.id}/{startTime}/{endTime}得到以下返回值:

    {["humDvice.id":"hum01","humidityValue":6,"recordTime":"2014-10-1 19:20:01"],

    ["humDvice.id":"hum01","humidityValue":5,"recordTime":"2014-10-1 19:30:01"],

    ["humDvice.id":"hum01","humidityValue":5,"recordTime":"2014-10-1 19:40:01"],……}

    表1 土壤濕度控制服務(wù)RESTful API

    此外,對(duì)于服務(wù)與物聯(lián)網(wǎng)設(shè)備間的通信,在系統(tǒng)設(shè)計(jì)中同樣也采用HTTP協(xié)議來(lái)實(shí)現(xiàn),圖4描述了其結(jié)構(gòu)。當(dāng)然,這種方式需要在下位機(jī)網(wǎng)關(guān)將無(wú)線傳感網(wǎng)絡(luò)采集到的物理設(shè)備數(shù)據(jù)轉(zhuǎn)換為HTTP協(xié)議并傳輸。

    圖4 微服務(wù)與物聯(lián)網(wǎng)設(shè)備的交互

    該微服務(wù)架構(gòu)的主要特點(diǎn)歸納如下:

    (1)去中心化設(shè)計(jì)。每個(gè)服務(wù)相互獨(dú)立運(yùn)行在一個(gè)獨(dú)立的操作系統(tǒng)進(jìn)程中,可以將不同的服務(wù)部署于不同的主機(jī),適應(yīng)于構(gòu)建分布式物聯(lián)網(wǎng)應(yīng)用系統(tǒng)。由于服務(wù)的獨(dú)立性,每個(gè)服務(wù)都可以選擇不同的技術(shù)平臺(tái)、數(shù)據(jù)庫(kù)實(shí)現(xiàn),可以根據(jù)不同的業(yè)務(wù)特征有針對(duì)性地選擇合適的技術(shù)方案去解決具體的業(yè)務(wù)問(wèn)題,比如使用Node.js構(gòu)建定時(shí)任務(wù)服務(wù),使用Grails構(gòu)建濕度控制服務(wù)等。并且,由于每個(gè)服務(wù)的功能單一,在定義好接口的情況下,可以由不同的開發(fā)團(tuán)隊(duì)獨(dú)立開發(fā)而互不干擾。

    (2)面向資源的架構(gòu)(Resource Oriented Architecture,ROA)風(fēng)格。繼承Web of Things (WoT)中將所有的物聯(lián)網(wǎng)設(shè)備抽象為資源的做法,通過(guò)微服務(wù)將各種資源以REST Web Service API對(duì)外公開,REST作為一種分布式軟件架構(gòu)風(fēng)格,是一系列實(shí)現(xiàn)Web標(biāo)準(zhǔn)(基于HTTP 1.1和URI)的指導(dǎo)原則。REST所制定的指導(dǎo)原則使得該架構(gòu)可以支持“系統(tǒng)組件間交互的可擴(kuò)展性、接口的一致性、組件的獨(dú)立部署、降低交互延時(shí)的中間組件、安全性的加強(qiáng)、對(duì)遺留系統(tǒng)的封裝”[3]。

    (3)開放式設(shè)計(jì)。由于整體架構(gòu)模式系統(tǒng)單進(jìn)程的局限性,水平功能擴(kuò)展時(shí)只能基于整個(gè)系統(tǒng)進(jìn)行擴(kuò)展,新功能的發(fā)布意味著要重新構(gòu)建和部署整個(gè)系統(tǒng)。而該架構(gòu)則可很好解決系統(tǒng)伸縮性的擴(kuò)展問(wèn)題,比如當(dāng)系統(tǒng)需要增加一個(gè)通風(fēng)控制相關(guān)功能模塊時(shí),可以單獨(dú)開發(fā)一個(gè)微服務(wù)并部署,不會(huì)對(duì)系統(tǒng)的其他服務(wù)產(chǎn)生影響。這意味著該架構(gòu)可以實(shí)現(xiàn)細(xì)粒度的自由擴(kuò)展。并且,由于所有的微服務(wù)都是基于REST Web Service API對(duì)外公開,很容易在此基礎(chǔ)上開發(fā)新的應(yīng)用或?qū)崿F(xiàn)跨應(yīng)用間的交互。

    微服務(wù)架構(gòu)的實(shí)施同樣也存在一些挑戰(zhàn),在實(shí)踐過(guò)程中發(fā)現(xiàn)突出的問(wèn)題有以下兩點(diǎn):

    (1)微服務(wù)協(xié)同事務(wù)處理。當(dāng)一個(gè)業(yè)務(wù)流程需要多個(gè)微服務(wù)協(xié)同工作時(shí),采用傳統(tǒng)的分布式事務(wù)處理方式會(huì)降低系統(tǒng)的可用性,因?yàn)樗笫聞?wù)參與者均可用,在分散且互相獨(dú)立的微服務(wù)中實(shí)現(xiàn)起來(lái)較為困難,并且包括REST、NOSQL等在內(nèi)的現(xiàn)代軟件技術(shù)棧并不支持分布式事務(wù),因此建議采用事件驅(qū)動(dòng)的異步模式來(lái)處理事務(wù),其特點(diǎn)是可以將事件的生產(chǎn)者、消費(fèi)者實(shí)現(xiàn)解耦,即簡(jiǎn)化開發(fā)同時(shí)也提升了可用性。

    (2)分布式系統(tǒng)的復(fù)雜性。微服務(wù)通過(guò)REST Web Service API相互交互,對(duì)于物聯(lián)網(wǎng)系統(tǒng)而言,在實(shí)際運(yùn)行過(guò)程中必須要考慮網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)故障、消息序列化等問(wèn)題,比如當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),微服務(wù)間通信中斷時(shí)如何處理?在物聯(lián)網(wǎng)農(nóng)作物生長(zhǎng)環(huán)境采集系統(tǒng)中,通過(guò)設(shè)計(jì)消息總線(Message Bus)實(shí)現(xiàn)消息隊(duì)列,微服務(wù)可以通過(guò)監(jiān)聽消息總線當(dāng)網(wǎng)絡(luò)故障恢復(fù)時(shí)從消息隊(duì)列中取出滯留的信息。

    3 原型系統(tǒng)實(shí)現(xiàn)

    目前,有許多輕量級(jí)的技術(shù)框架可以用來(lái)實(shí)現(xiàn)微服務(wù)架構(gòu),比如基于Ruby語(yǔ)言的Sinatra Web開發(fā)框架,其突出的特點(diǎn)就是輕量、快速[4];基于JavaScript 的Node.js,其特點(diǎn)是借助事件驅(qū)動(dòng),非阻塞I/O 模型,非常適合運(yùn)行在分布式設(shè)備的數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用[5];Spring Boot遵循“約定優(yōu)于配置”的理念,能夠極大地簡(jiǎn)化基于Spring MVC的Web應(yīng)用和REST服務(wù)開發(fā)[6]。本文為了實(shí)現(xiàn)原型系統(tǒng)快速構(gòu)建,以基于Groovy語(yǔ)言且同樣遵循“約定優(yōu)于配置”的Grails敏捷開發(fā)框架為例,就微服務(wù)的實(shí)現(xiàn)展開研究[7]。

    以濕度控制微服務(wù)為例,首先要將資源抽象為領(lǐng)域類,下面的Humidity 領(lǐng)域類(Domain)代碼中將濕度相關(guān)資源抽象為類的屬性,包括設(shè)備編號(hào)、記錄時(shí)間等,Grails框架將自動(dòng)為該領(lǐng)域類動(dòng)態(tài)注入包括save、delete、update、find等方法,即自動(dòng)提供CRUD等功能支持。

    class Humidity {

    String deviceId //設(shè)備編號(hào)

    Date recordTime //記錄時(shí)間

    double humidityValue //記錄值

    static mapping = {

    id generator:‘uuid.hex'

    }

    ……

    }

    其次是基于Humidity 領(lǐng)域類生成HumidityController控制器,控制器用戶獲取請(qǐng)求并返回響應(yīng),下面的代碼中show方法用于獲取某濕度傳感器當(dāng)前濕度值,以調(diào)用Humidity領(lǐng)域類findByDeviceId(該方法由Grails動(dòng)態(tài)注入)方法獲取Humidity實(shí)例,將結(jié)果render為JSON格式并返回。另外,代碼中allowedMethods用于定義請(qǐng)求類型與方法的綁定關(guān)系,即show方法只能通過(guò)GET請(qǐng)求訪問(wèn),其他類型請(qǐng)求無(wú)效。

    class HumidityController {

    static allowedMethods=[save: "POST",

    delete: "DELETE",show: "GET"]

    def show(String deviceId) {

    def humidityInstance = Humidity.findBy

    DeviceId(deviceId)

    if (!humidityInstance) {

    render(status: 404)

    } else {

    render(contentType: "text/json") {

    humidityInstance(deviceId:humidi

    tyInstance.deviceId,

    humidityValue:humidityInstance.

    humidityValue

    )

    }

    }

    }

    ……

    }

    由以上代碼示例可見,在合適的開發(fā)框架支持下,開發(fā)一個(gè)微服務(wù)相對(duì)于傳統(tǒng)軟件開發(fā)技術(shù)更為簡(jiǎn)單、快速。即使是完整的濕度控制微服務(wù),其代碼量?jī)H約1 000行。當(dāng)然,編碼工作量的降低并不意味著功能打折,只能更加充分地說(shuō)明合理的設(shè)計(jì)加上適當(dāng)?shù)募夹g(shù)將大大降低開發(fā)成本與開發(fā)門檻。

    4 結(jié) 語(yǔ)

    如上所述,采用微服務(wù)架構(gòu)設(shè)計(jì)的應(yīng)用基礎(chǔ)框架將系統(tǒng)按照功能拆分為若干微服務(wù),每個(gè)服務(wù)專注于完成各自核心的業(yè)務(wù)邏輯,這種微服務(wù)架構(gòu)設(shè)計(jì)的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架從應(yīng)用層面解決了物聯(lián)網(wǎng)異構(gòu)問(wèn)題,適用于對(duì)開放性、可擴(kuò)展性有較高要求的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)。此外,其分布式、開放式設(shè)計(jì)特性易于實(shí)現(xiàn)跨應(yīng)用的交互,從而可以將不同的物聯(lián)網(wǎng)應(yīng)用系統(tǒng)整合為物聯(lián)網(wǎng)生態(tài)系統(tǒng)。

    [1]孫其博,劉杰,黎舞,等.物聯(lián)網(wǎng):概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報(bào),2010,33(3):1-9

    [2]OASIS.Device Profiles for Web Services (DPWS) specification[EB/OL].[2014-12-01].http://docs. oasis-open.org/ ws-dd/ns/dpws/2009/01

    [3]Roy Thomas Fielding.Architectural Styles and the Design of Network-based Software Architectures[D].California Department of Information and Computer Science,University of California Irvine,2000:5-8

    [4]Blake Mizerany.Sinatra Documentation[EB/OL].[2014-12-15].http://www.sinatrarb.com

    [5]Google Nodejs.API DOCS[EB/OL].[2014-12-20].http://www.nodejs.org/api

    [6]SpringSource.Spring Boot Documentation[EB/OL].[2014-12-21]. http://http://spring.io/docs/

    [7]SpringSource.Grails Documentation[EB/OL].[2014-12-21].http://grails.org/Documentation

    (責(zé)任編輯:汪材印)

    10.3969/j.issn.1673-2006.2015.07.025

    2015-03-15

    安徽省高等學(xué)校省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目“基于物聯(lián)網(wǎng)的農(nóng)作物生長(zhǎng)環(huán)境信息采集系統(tǒng)研究——以滁州貢菊生長(zhǎng)環(huán)境為例”(KJ2014A189);滁州職業(yè)技術(shù)學(xué)院校科重點(diǎn)項(xiàng)目“基于CC2530的ZigBee溫室智能無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)”(YJZ-2013-06)。

    吳昌雨(1977-),安徽滁州人,碩士,講師,主要研究方向:軟件技術(shù)。

    TP311.5

    A

    1673-2006(2015)07-0088-05

    猜你喜歡
    業(yè)務(wù)流程濕度架構(gòu)
    植物有話說(shuō)(十七) 松果:開與合,看濕度
    基于FPGA的RNN硬件加速架構(gòu)
    RPA機(jī)器人助業(yè)務(wù)流程智能化
    功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
    汽車工程(2021年12期)2021-03-08 02:34:30
    工業(yè)鍋爐飽和蒸汽濕度的運(yùn)行控制
    STK業(yè)務(wù)流程優(yōu)化的探究
    基于濕度控制的室內(nèi)空氣凈化器高壓電源設(shè)計(jì)
    企業(yè)財(cái)務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
    LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
    基于財(cái)務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
    亚洲美女黄片视频| 亚洲少妇的诱惑av| 亚洲欧美一区二区三区久久| 美女扒开内裤让男人捅视频| 老司机午夜十八禁免费视频| 99精品久久久久人妻精品| 国产欧美日韩一区二区精品| 三级毛片av免费| av福利片在线| 色婷婷av一区二区三区视频| 操美女的视频在线观看| 久久久国产一区二区| 高清在线国产一区| 夫妻午夜视频| 黄色a级毛片大全视频| 亚洲精品av麻豆狂野| 国产成+人综合+亚洲专区| av免费在线观看网站| 少妇粗大呻吟视频| 国产野战对白在线观看| 曰老女人黄片| 欧美精品亚洲一区二区| 丝袜在线中文字幕| 精品亚洲成国产av| 日本欧美视频一区| 欧美日本中文国产一区发布| 午夜福利一区二区在线看| 1024香蕉在线观看| 久久中文看片网| 精品少妇黑人巨大在线播放| 中文字幕人妻丝袜一区二区| 色94色欧美一区二区| 久久中文字幕人妻熟女| 亚洲国产欧美一区二区综合| 久久亚洲真实| 精品熟女少妇八av免费久了| 成人国语在线视频| 国产精品一区二区在线不卡| 丁香六月欧美| 在线 av 中文字幕| 亚洲午夜精品一区,二区,三区| 热re99久久精品国产66热6| 亚洲美女黄片视频| 亚洲成av片中文字幕在线观看| 99国产综合亚洲精品| 如日韩欧美国产精品一区二区三区| 成人国产av品久久久| av有码第一页| 美女福利国产在线| 国产精品免费一区二区三区在线 | 国产单亲对白刺激| 国产在线精品亚洲第一网站| 国产男女内射视频| 大码成人一级视频| 啦啦啦中文免费视频观看日本| 变态另类成人亚洲欧美熟女 | 亚洲人成77777在线视频| 精品久久久久久久毛片微露脸| 一夜夜www| 久久精品91无色码中文字幕| 汤姆久久久久久久影院中文字幕| 多毛熟女@视频| 女人爽到高潮嗷嗷叫在线视频| 女同久久另类99精品国产91| 中文字幕制服av| 久久天堂一区二区三区四区| 国产亚洲欧美在线一区二区| 久久99一区二区三区| 亚洲美女黄片视频| 18禁国产床啪视频网站| av免费在线观看网站| www日本在线高清视频| 一边摸一边抽搐一进一出视频| 老司机亚洲免费影院| 在线 av 中文字幕| 女人被躁到高潮嗷嗷叫费观| 麻豆乱淫一区二区| 飞空精品影院首页| 一区福利在线观看| 成人亚洲精品一区在线观看| 欧美激情高清一区二区三区| 免费观看a级毛片全部| 国产亚洲午夜精品一区二区久久| 国产aⅴ精品一区二区三区波| 丰满少妇做爰视频| 超碰97精品在线观看| 成人国产一区最新在线观看| 老熟女久久久| 巨乳人妻的诱惑在线观看| 一二三四社区在线视频社区8| 久久久久精品人妻al黑| 亚洲精品中文字幕一二三四区 | 日日摸夜夜添夜夜添小说| 手机成人av网站| 国产视频一区二区在线看| 国产男靠女视频免费网站| 国产欧美日韩一区二区三| 日本黄色日本黄色录像| 黄色视频,在线免费观看| 久久精品人人爽人人爽视色| 性色av乱码一区二区三区2| 老司机午夜十八禁免费视频| √禁漫天堂资源中文www| 午夜日韩欧美国产| 老司机深夜福利视频在线观看| 侵犯人妻中文字幕一二三四区| 成人国产一区最新在线观看| 亚洲成人免费av在线播放| 欧美午夜高清在线| 黑丝袜美女国产一区| 最新的欧美精品一区二区| 日韩一卡2卡3卡4卡2021年| 亚洲第一欧美日韩一区二区三区 | a级毛片黄视频| 亚洲av片天天在线观看| 欧美成人午夜精品| 国产男靠女视频免费网站| 亚洲av美国av| 母亲3免费完整高清在线观看| 亚洲九九香蕉| 99riav亚洲国产免费| 欧美乱妇无乱码| 后天国语完整版免费观看| 久久久国产一区二区| 久久精品亚洲精品国产色婷小说| 亚洲成人免费电影在线观看| 国产无遮挡羞羞视频在线观看| 日本五十路高清| 女人被躁到高潮嗷嗷叫费观| 热99国产精品久久久久久7| 一区二区三区激情视频| av欧美777| 亚洲av美国av| 欧美精品高潮呻吟av久久| 国产av精品麻豆| 夜夜夜夜夜久久久久| 国产成人av激情在线播放| 成人精品一区二区免费| 国产精品国产高清国产av | 欧美av亚洲av综合av国产av| videosex国产| 国产国语露脸激情在线看| av网站在线播放免费| 亚洲精品av麻豆狂野| 国产精品1区2区在线观看. | 精品国产超薄肉色丝袜足j| 午夜免费成人在线视频| 日韩 欧美 亚洲 中文字幕| 老司机影院毛片| 国产在线免费精品| 午夜福利在线免费观看网站| 交换朋友夫妻互换小说| 国产黄色免费在线视频| 老鸭窝网址在线观看| 黄频高清免费视频| 午夜激情久久久久久久| 99精品在免费线老司机午夜| 高清在线国产一区| 久久 成人 亚洲| 亚洲一区中文字幕在线| 另类精品久久| 午夜福利欧美成人| videosex国产| 国产男女超爽视频在线观看| 老司机影院毛片| 80岁老熟妇乱子伦牲交| 露出奶头的视频| 国产主播在线观看一区二区| av有码第一页| 亚洲男人天堂网一区| 日韩欧美免费精品| 别揉我奶头~嗯~啊~动态视频| 精品免费久久久久久久清纯 | 久久久久视频综合| 欧美日韩一级在线毛片| 国产精品亚洲av一区麻豆| 人人妻人人添人人爽欧美一区卜| 在线观看免费视频日本深夜| 久久久精品免费免费高清| 天天操日日干夜夜撸| 老司机福利观看| 亚洲精品av麻豆狂野| 在线观看www视频免费| 欧美 亚洲 国产 日韩一| 亚洲av片天天在线观看| 午夜免费成人在线视频| 老司机影院毛片| 日韩人妻精品一区2区三区| 成人手机av| 久久久久精品国产欧美久久久| 水蜜桃什么品种好| 飞空精品影院首页| 另类亚洲欧美激情| a级毛片在线看网站| 日韩一卡2卡3卡4卡2021年| 一级毛片女人18水好多| 精品久久久精品久久久| 国产日韩欧美在线精品| 成人亚洲精品一区在线观看| 国产熟女午夜一区二区三区| 夫妻午夜视频| 欧美精品啪啪一区二区三区| 欧美 日韩 精品 国产| 美女午夜性视频免费| 99在线人妻在线中文字幕 | 两人在一起打扑克的视频| 99国产精品一区二区三区| 欧美日韩黄片免| 日韩成人在线观看一区二区三区| 99re6热这里在线精品视频| 汤姆久久久久久久影院中文字幕| 色尼玛亚洲综合影院| 国产亚洲精品一区二区www | 国产xxxxx性猛交| 99国产综合亚洲精品| 午夜老司机福利片| 色播在线永久视频| 亚洲成人手机| 久久国产精品男人的天堂亚洲| 亚洲精品国产精品久久久不卡| 久久午夜亚洲精品久久| 国产成人欧美在线观看 | 亚洲精品在线观看二区| 欧美日韩亚洲综合一区二区三区_| 性少妇av在线| 国产1区2区3区精品| 大型黄色视频在线免费观看| 久久精品人人爽人人爽视色| 国产成人欧美在线观看 | 国产激情久久老熟女| 又黄又粗又硬又大视频| 精品一区二区三卡| 少妇裸体淫交视频免费看高清 | 国产欧美日韩一区二区三区在线| 视频区欧美日本亚洲| 亚洲色图 男人天堂 中文字幕| 丰满迷人的少妇在线观看| 一边摸一边做爽爽视频免费| a级片在线免费高清观看视频| 亚洲精品粉嫩美女一区| 视频区图区小说| 天天躁日日躁夜夜躁夜夜| 国产成人系列免费观看| 天天添夜夜摸| 极品人妻少妇av视频| 免费av中文字幕在线| 国产亚洲av高清不卡| 欧美激情 高清一区二区三区| 久久精品91无色码中文字幕| 看免费av毛片| 久热爱精品视频在线9| 一区二区日韩欧美中文字幕| 51午夜福利影视在线观看| 大片电影免费在线观看免费| 麻豆乱淫一区二区| 女性生殖器流出的白浆| 国产成人欧美在线观看 | 极品少妇高潮喷水抽搐| 久久精品人人爽人人爽视色| 久久久国产一区二区| 亚洲午夜精品一区,二区,三区| av天堂在线播放| 在线看a的网站| 久久久精品94久久精品| 欧美日韩精品网址| 69精品国产乱码久久久| 亚洲 欧美一区二区三区| 欧美亚洲日本最大视频资源| 久久久国产精品麻豆| tocl精华| 国产99久久九九免费精品| 黄网站色视频无遮挡免费观看| 国产免费av片在线观看野外av| 国产黄频视频在线观看| 精品第一国产精品| 亚洲精品国产区一区二| 国产精品.久久久| 大码成人一级视频| 老司机深夜福利视频在线观看| avwww免费| 亚洲av欧美aⅴ国产| √禁漫天堂资源中文www| 中文亚洲av片在线观看爽 | 搡老岳熟女国产| 亚洲黑人精品在线| 国产成人啪精品午夜网站| 日本黄色视频三级网站网址 | 男女之事视频高清在线观看| 久久久久久亚洲精品国产蜜桃av| 精品高清国产在线一区| 日韩一区二区三区影片| 另类亚洲欧美激情| 香蕉国产在线看| 亚洲午夜理论影院| 亚洲国产看品久久| 黄片大片在线免费观看| 啦啦啦视频在线资源免费观看| 老熟妇仑乱视频hdxx| 51午夜福利影视在线观看| 国产亚洲午夜精品一区二区久久| 日韩中文字幕欧美一区二区| 国产欧美亚洲国产| 亚洲一区二区三区欧美精品| 中文字幕最新亚洲高清| 久热爱精品视频在线9| 亚洲精品久久成人aⅴ小说| 又大又爽又粗| 亚洲色图综合在线观看| 乱人伦中国视频| 欧美在线一区亚洲| 欧美另类亚洲清纯唯美| 亚洲欧美日韩另类电影网站| 亚洲精品美女久久av网站| 两人在一起打扑克的视频| 国产老妇伦熟女老妇高清| 午夜福利,免费看| 亚洲熟女精品中文字幕| 国产一区二区 视频在线| 少妇 在线观看| 亚洲成人国产一区在线观看| 国产精品成人在线| 亚洲精品国产色婷婷电影| 久久国产精品影院| 久久天堂一区二区三区四区| 午夜精品久久久久久毛片777| 亚洲成人手机| avwww免费| 精品国产乱码久久久久久小说| 亚洲午夜理论影院| 18禁观看日本| 久久国产精品大桥未久av| 亚洲第一欧美日韩一区二区三区 | 99精品欧美一区二区三区四区| 亚洲熟女精品中文字幕| 国产成+人综合+亚洲专区| 丁香六月天网| 欧美成狂野欧美在线观看| 精品国内亚洲2022精品成人 | 久久 成人 亚洲| 在线观看免费视频日本深夜| av在线播放免费不卡| 99国产综合亚洲精品| 如日韩欧美国产精品一区二区三区| 国产一区二区在线观看av| 国产亚洲精品一区二区www | 精品人妻熟女毛片av久久网站| 欧美黄色淫秽网站| 热re99久久国产66热| 老司机靠b影院| 狠狠狠狠99中文字幕| 窝窝影院91人妻| 三上悠亚av全集在线观看| 久久国产精品大桥未久av| 国产高清国产精品国产三级| 久久久久久久大尺度免费视频| cao死你这个sao货| 日日爽夜夜爽网站| 日韩精品免费视频一区二区三区| 久9热在线精品视频| 在线十欧美十亚洲十日本专区| 日本黄色日本黄色录像| av网站在线播放免费| 老熟妇仑乱视频hdxx| 一级,二级,三级黄色视频| 亚洲伊人久久精品综合| 黄色成人免费大全| 十八禁网站网址无遮挡| 欧美日韩亚洲国产一区二区在线观看 | 国产精品久久久人人做人人爽| 一区二区av电影网| 国产精品98久久久久久宅男小说| 成人免费观看视频高清| 亚洲精品国产色婷婷电影| 亚洲美女黄片视频| 大香蕉久久成人网| 亚洲va日本ⅴa欧美va伊人久久| 国产欧美日韩精品亚洲av| 久久久久国产一级毛片高清牌| 建设人人有责人人尽责人人享有的| 亚洲欧美激情在线| 最新在线观看一区二区三区| 欧美精品av麻豆av| 午夜视频精品福利| 中国美女看黄片| 丰满迷人的少妇在线观看| 久久久国产欧美日韩av| 亚洲天堂av无毛| 咕卡用的链子| 亚洲精品粉嫩美女一区| 最新美女视频免费是黄的| 一区福利在线观看| 视频区图区小说| 精品少妇一区二区三区视频日本电影| 视频区欧美日本亚洲| 夫妻午夜视频| 免费黄频网站在线观看国产| 亚洲人成电影免费在线| 久久国产精品影院| 狠狠狠狠99中文字幕| 人人妻人人澡人人爽人人夜夜| a级毛片在线看网站| 亚洲人成电影免费在线| 亚洲自偷自拍图片 自拍| 精品视频人人做人人爽| 99热网站在线观看| 黄色 视频免费看| 男女边摸边吃奶| 久久 成人 亚洲| a级片在线免费高清观看视频| 狂野欧美激情性xxxx| 亚洲精品中文字幕在线视频| 香蕉丝袜av| 黄色丝袜av网址大全| av视频免费观看在线观看| 日本一区二区免费在线视频| av免费在线观看网站| 国产福利在线免费观看视频| 国产在视频线精品| av有码第一页| 在线观看免费高清a一片| 国产一区二区激情短视频| 99精品在免费线老司机午夜| 久久久欧美国产精品| 中文欧美无线码| 五月天丁香电影| 亚洲精品国产精品久久久不卡| 精品国产乱子伦一区二区三区| 巨乳人妻的诱惑在线观看| 纵有疾风起免费观看全集完整版| 看免费av毛片| 亚洲av美国av| 免费不卡黄色视频| 国产成+人综合+亚洲专区| 丝袜美腿诱惑在线| 中文字幕高清在线视频| 国产精品.久久久| 在线观看免费高清a一片| 五月开心婷婷网| 50天的宝宝边吃奶边哭怎么回事| 国产91精品成人一区二区三区 | 91字幕亚洲| 日本一区二区免费在线视频| 久久久久久人人人人人| 后天国语完整版免费观看| 婷婷成人精品国产| 这个男人来自地球电影免费观看| 久久久久网色| 国产男女超爽视频在线观看| 一区二区三区国产精品乱码| 在线天堂中文资源库| 搡老乐熟女国产| 久久精品国产亚洲av香蕉五月 | 亚洲欧洲日产国产| 黑人巨大精品欧美一区二区蜜桃| 嫁个100分男人电影在线观看| 久热爱精品视频在线9| 18在线观看网站| av免费在线观看网站| 亚洲精品中文字幕一二三四区 | 午夜福利免费观看在线| 国产亚洲午夜精品一区二区久久| 久久精品成人免费网站| 欧美成狂野欧美在线观看| 在线 av 中文字幕| 51午夜福利影视在线观看| 亚洲欧美一区二区三区久久| 老司机影院毛片| 国产成人免费无遮挡视频| 国产伦理片在线播放av一区| 国产精品亚洲av一区麻豆| www.自偷自拍.com| 桃红色精品国产亚洲av| 成年人午夜在线观看视频| 老司机影院毛片| 黄片播放在线免费| 女人高潮潮喷娇喘18禁视频| 99精品久久久久人妻精品| 黄色 视频免费看| 亚洲天堂av无毛| 亚洲欧美日韩另类电影网站| 久久久久久久久久久久大奶| 精品福利观看| 中亚洲国语对白在线视频| 精品国产国语对白av| 欧美午夜高清在线| 国产激情久久老熟女| 亚洲第一av免费看| 国产亚洲欧美精品永久| 免费黄频网站在线观看国产| 少妇的丰满在线观看| 大型黄色视频在线免费观看| 无人区码免费观看不卡 | 久久精品亚洲av国产电影网| 少妇 在线观看| 桃红色精品国产亚洲av| 一边摸一边做爽爽视频免费| 91国产中文字幕| 麻豆乱淫一区二区| 一边摸一边抽搐一进一小说 | 狠狠精品人妻久久久久久综合| 亚洲一卡2卡3卡4卡5卡精品中文| 黄色 视频免费看| 精品国产乱码久久久久久小说| 亚洲 国产 在线| 久久这里只有精品19| 热re99久久精品国产66热6| 在线观看免费午夜福利视频| 亚洲精品在线观看二区| 亚洲精品乱久久久久久| 午夜福利欧美成人| 亚洲欧洲精品一区二区精品久久久| 国产av一区二区精品久久| 亚洲精品国产色婷婷电影| 男女床上黄色一级片免费看| 亚洲精品久久午夜乱码| 1024香蕉在线观看| 黄色怎么调成土黄色| 亚洲精品美女久久久久99蜜臀| 久久国产亚洲av麻豆专区| 日韩视频一区二区在线观看| 国产成+人综合+亚洲专区| 久久中文字幕一级| 国产在视频线精品| cao死你这个sao货| 欧美成人午夜精品| 波多野结衣一区麻豆| 久久精品国产a三级三级三级| 狂野欧美激情性xxxx| 日韩视频在线欧美| 国产精品免费大片| 涩涩av久久男人的天堂| 亚洲免费av在线视频| 国产男靠女视频免费网站| 久久精品国产99精品国产亚洲性色 | 窝窝影院91人妻| 国产精品.久久久| 精品久久久精品久久久| 国产成人精品无人区| 黄色成人免费大全| 国产成人影院久久av| 亚洲欧洲日产国产| 国产精品久久久人人做人人爽| 自拍欧美九色日韩亚洲蝌蚪91| 国产又色又爽无遮挡免费看| 黑人猛操日本美女一级片| 午夜福利乱码中文字幕| 日韩中文字幕视频在线看片| 老熟女久久久| 欧美黄色淫秽网站| 久久狼人影院| 精品久久久久久电影网| 老熟女久久久| 久久精品国产99精品国产亚洲性色 | 亚洲午夜理论影院| 欧美激情高清一区二区三区| 国产精品熟女久久久久浪| 国产精品 国内视频| 成人特级黄色片久久久久久久 | 王馨瑶露胸无遮挡在线观看| 香蕉丝袜av| 精品福利观看| 在线观看免费日韩欧美大片| 老熟妇仑乱视频hdxx| 老司机午夜十八禁免费视频| 搡老岳熟女国产| svipshipincom国产片| 一本一本久久a久久精品综合妖精| 窝窝影院91人妻| 国产av精品麻豆| 亚洲一区中文字幕在线| 汤姆久久久久久久影院中文字幕| 成人av一区二区三区在线看| 在线观看免费午夜福利视频| 国产亚洲精品第一综合不卡| 午夜久久久在线观看| 亚洲第一青青草原| 黄色毛片三级朝国网站| 精品国产一区二区三区久久久樱花| 精品少妇一区二区三区视频日本电影| 国产97色在线日韩免费| 国产欧美日韩精品亚洲av| 9热在线视频观看99| 国产一区二区在线观看av| 亚洲男人天堂网一区| 国产老妇伦熟女老妇高清| 三级毛片av免费| 亚洲,欧美精品.| 在线 av 中文字幕| 日本wwww免费看| 高清视频免费观看一区二区| 亚洲午夜精品一区,二区,三区| 日本wwww免费看| 一本一本久久a久久精品综合妖精| 在线 av 中文字幕| 国产麻豆69| 欧美黑人欧美精品刺激| 王馨瑶露胸无遮挡在线观看| 两性夫妻黄色片| 成年动漫av网址| 午夜日韩欧美国产| 欧美乱妇无乱码| 一区福利在线观看| 女人爽到高潮嗷嗷叫在线视频| 亚洲av欧美aⅴ国产| 女人高潮潮喷娇喘18禁视频| 亚洲精品久久午夜乱码| 久久天躁狠狠躁夜夜2o2o| 免费黄频网站在线观看国产| 日日夜夜操网爽| a在线观看视频网站| 欧美在线黄色| 亚洲午夜理论影院| 波多野结衣一区麻豆| 日韩欧美一区二区三区在线观看 | 午夜两性在线视频|