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

    基于VSOME/IP的汽車E/E架構(gòu)分布式服務(wù)框架設(shè)計研究

    2024-04-18 09:18:53周輝煌朱元畢承鼎張彪
    汽車文摘 2024年4期
    關(guān)鍵詞:分布式系統(tǒng)

    周輝煌 朱元 畢承鼎 張彪

    【摘要】新型汽車電子電氣架構(gòu)下的車載軟件需具備可復(fù)用、易擴(kuò)展、松耦合、兼容互操作等特點。為了將汽車電子控制單元(ECU)上的應(yīng)用程序抽象為服務(wù),以開源的分布式通信中間件VSOME/IP和遠(yuǎn)程過程調(diào)用框架CommonAPI C++為基礎(chǔ),提出了一種基于VSOME/IP的分布式服務(wù)框架。該框架利用Franca IDL服務(wù)接口描述語言提高開發(fā)人員構(gòu)建服務(wù)效率;通過路由管理器實現(xiàn)了服務(wù)框架中服務(wù)注冊中心組件,為分布式系統(tǒng)提供服務(wù)發(fā)布、服務(wù)訂閱、狀態(tài)同步、消息通知等功能,并采用SOME/IP 作為底層通信協(xié)議,為系統(tǒng)提供發(fā)布訂閱式和請求響應(yīng)式的服務(wù)調(diào)用方式。

    關(guān)鍵詞:面向服務(wù)架構(gòu);VSOME/IP;分布式系統(tǒng);汽車中間件;服務(wù)框架

    中圖分類號:TP311? ?文獻(xiàn)標(biāo)志碼:A? DOI: 10.19822/j.cnki.1671-6329.20230297

    Research on Design of Distributed Service Framework for Automotive

    E/E Architecture Based on VSOME/IP

    Zhou Huihuang1, Zhu Yuan1, Bi Chengding2, Zhang Biao2

    (1. School of Automotive Engineering, Tongji University, Shanghai 201804; 2. Commercial Vehicle Development Institute, FAW Jiefang Automobile Co., Ltd., Changchun 130011)

    【Abstract】 In-vehicle software under the new automotive electronic and electrical architecture needs to be reusable, easy to expand, loosely coupled, compatible and interoperable. In order to abstract the application program on automobile ECU into a service, a distributed service framework based on VSOME/IP is proposed based on the open source distributed communication middleware VSOME/IP and the remote procedure calling framework CommonAPI C++. The framework utilizes francadil service interface description language to improve the efficiency of developers in building services; Through the routing manager, the service registration center component in the service framework is realized, which provides services publishing, service subscription, status synchronization, message notification and other functions for the distributed system. SOME/IP serves as the underlying communication protocol to provide the system with publish-subscribe and request-response service invocation methods.

    Key words: Service-oriented architecture, VSOME/IP, Distributed systems, Automotive middleware, Service framework

    縮略語

    SOA? ? ? Service-Oriented Architecture

    ECU? ? ? Electronic Control Unit

    AUTOSAR AUTomotive Open System

    Architecture

    AP? ? ? Adaptive Platform

    IDL? ? ? Interface Description Language

    RPC? ? Remote Procedure Call

    OTA? ? Over-the-Air Technology

    ADAS? Advanced Driving Assistance System

    IVI? ? ? In-Vehicle Infotainment

    GPU? ? Graphics Processing Unit

    IO? ? ? ? ? Input Output

    SOME/IP Scalable service-Oriented MiddlewarE

    over IP

    0 引言

    隨著基于域控制器的功能集中式汽車電子電氣架構(gòu)的發(fā)展[1],以及為了滿足用戶對汽車智能化日益變化的需求,面向服務(wù)的架構(gòu)(Service-Oriented Architecture,SOA)的開發(fā)方式愈發(fā)受到整車制造商和軟件供應(yīng)商關(guān)注。SOA的核心是將整車電子控制單元(Electronic Control Unit,ECU)上具有不同功能的應(yīng)用程序抽象化為獨立的服務(wù),并通過服務(wù)接口描述語言定義服務(wù),中間件技術(shù)在SOA中發(fā)揮著至關(guān)重要的作用,其可提高服務(wù)復(fù)用性和互操作性。因此,基于SOA的中間件技術(shù)成為車載軟件開發(fā)的核心要素。

    中間件是一類介于應(yīng)用軟件和操作系統(tǒng)之間的軟件,其主要功能是對操作系統(tǒng)提供的系統(tǒng)調(diào)用接口進(jìn)行封裝整合,同時為應(yīng)用軟件提供應(yīng)用層的調(diào)用接口,以達(dá)到復(fù)用度高、易于維護(hù)的目的。汽車開放系統(tǒng)架構(gòu)(AUTomotive Open System Architecture,AUTOSAR)組織針對目前車載應(yīng)用新需求發(fā)布了AUTOSAR自適應(yīng)平臺(Adaptive Platform,AP),其符合SOA設(shè)計的模式受到多家國內(nèi)外汽車相關(guān)企業(yè)認(rèn)可[2]。AP為應(yīng)用程序提供了運(yùn)行環(huán)境,其基礎(chǔ)功能模塊為應(yīng)用程序提供接口,服務(wù)功能模塊為應(yīng)用程序提供服務(wù)。現(xiàn)在,國內(nèi)整車制造商雖然計劃在新型汽車電子電氣架構(gòu)的轉(zhuǎn)變下嘗試SOA開發(fā)方式,但是成熟的AP方案來自于國外且架構(gòu)昂貴,導(dǎo)致開發(fā)成本增加,限制國內(nèi)智能汽車軟件行業(yè)的發(fā)展[3]。許多軟件供應(yīng)商針對AP標(biāo)準(zhǔn)提出的解決方案,目前比較成熟且可量產(chǎn)的方案有以下4種:

    (1)Elektrobit公司推出的EB corbos AdaptiveCore,該平臺與基于POSIX的操作系統(tǒng)兼容,在系統(tǒng)性能上達(dá)到最高的汽車安全等級[4]。

    (2)VECTOR公司推出的Adaptive MICROSAR,提供完整的工具鏈,包括AP各模塊源碼,支持AP系統(tǒng)建模、集成驗證、代碼生成、編碼開發(fā)等功能[5]。

    (3)ETAS聯(lián)合BOSCH公司共同推出的RTA-VRTE,可選擇QNX作為操作系統(tǒng),提高車載軟件的安全性[6]。

    (4)國內(nèi)東軟睿馳公司推出自主研發(fā)基于AP標(biāo)準(zhǔn)的NeuSAR產(chǎn)品,基于該中間件能快速構(gòu)建自動駕駛域控制器以及車聯(lián)網(wǎng)控制器。

    由于AP標(biāo)準(zhǔn)發(fā)布時間較短并且商用解決方案不對外公開,因此在學(xué)術(shù)領(lǐng)域相關(guān)研究較少。Guissouma等[7]介紹了現(xiàn)代電氣電子架構(gòu)的模型UPDATER(UPDateable Automotive Test dEmonstratoR),展示了如何以高效和敏捷的方式實現(xiàn)空中下載技術(shù)(Over-the-Air Technology,OTA)。Kenji?等[8]提出了一種經(jīng)過驗證的自動化解決方案,用于通過車載以太網(wǎng)協(xié)議(Scalable service-Oriented MiddlewarE over IP,SOME/IP)在高級駕駛員輔助系統(tǒng)(Advanced Driving Assistance System,ADAS)和車載信息娛樂(In-Vehicle Infotainment,IVI)域之間進(jìn)行數(shù)據(jù)交換。Ioana等[9]提出了一種VSOME/IP-OPC UA網(wǎng)關(guān)概念解決方案,以確保中間件接口的安全性。Kato等[10]提出了一種在AP平臺通過可視化對軟件進(jìn)行功能驗證的方法,需要優(yōu)化的事件通過可視化軟件進(jìn)行展示。擴(kuò)展了開源的自動駕駛框架(Autoware)軟件功能,提供了一套完整的自動駕駛模塊,包括定位、檢測、預(yù)測、規(guī)劃和控制,并評估了Autoware在基于ARM的嵌入式處理核心和基于Tegra嵌入式圖形處理單元(Graphics Processing Unit,GPU)上的性能。Staron[11]等結(jié)合了學(xué)術(shù)研究和行業(yè)經(jīng)驗中的理論和實踐問題,AUTOSAR軟件開發(fā)的量產(chǎn)例子、Simulink、構(gòu)架權(quán)衡分析方法(Architecture Tradeoff Analysis Method,ATAM)和ISO 26262: 2018《道路車輛—功能安全》(Road Vehicles-Functional Safety)等重要標(biāo)準(zhǔn)和方法[12]。

    國內(nèi)汽車產(chǎn)業(yè)迫切需要具有我國知識產(chǎn)權(quán)的中間件技術(shù)解決方案。本文提出了一種基于VSOME/IP的分布式服務(wù)框架,符合智能汽車開發(fā)標(biāo)準(zhǔn)和測試評估標(biāo)準(zhǔn)的發(fā)展特點和趨勢,能夠提供合理的服務(wù)質(zhì)量,具備針對不同功能域提供差異性服務(wù)策略的能力[13]。根據(jù)網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)時延、安全性指標(biāo)的敏感程度,為功能域提供動態(tài)靈活的服務(wù)質(zhì)量配置,使服務(wù)能滿足智能汽車對于性能和可靠性的要求。構(gòu)建基于SOME/IP通信協(xié)議的分布式服務(wù)框架應(yīng)該包含服務(wù)建模、服務(wù)發(fā)布訂閱機(jī)制、服務(wù)調(diào)用、服務(wù)路由等核心功能。本文將圍繞這些核心功能模塊結(jié)合CommonAPI C++和VSOME/IP進(jìn)行設(shè)計研究[14]。在二者已有的功能上進(jìn)行封裝改良,提出可以提高系統(tǒng)性能以及兼容性的設(shè)計方案,最終實現(xiàn)符合車載端需求的基于VSOME/IP的分布式服務(wù)框架:系統(tǒng)顯示與查詢工具(SOME/IP based Distributed Service Framework,SDSF)。

    1 服務(wù)模型的建立

    1.1 服務(wù)模型特征

    根據(jù)面向服務(wù)的特性,服務(wù)應(yīng)該具備以下4個特征:

    (1)軟件程序:服務(wù)是服務(wù)提供者所在的機(jī)器或虛擬機(jī)中運(yùn)行的軟件程序,可對某個業(yè)務(wù)邏輯進(jìn)行抽象封裝,為其實現(xiàn)有意義的功能并向服務(wù)消費(fèi)者提供服務(wù)接口。

    (2)服務(wù)標(biāo)準(zhǔn)契約:為了服務(wù)提供者和消費(fèi)者之間能夠正常交互,二者之間必須遵守某個標(biāo)準(zhǔn)契約,該契約包含服務(wù)接口的描述、服務(wù)綁定信息、服務(wù)壽命等相關(guān)約束。接口定義語言(Interface Description Language,IDL)文件作為服務(wù)契約常用的一種形式,通過其定義的服務(wù)具有兼容性和互操作性。

    (3)可組合復(fù)用:多個服務(wù)可以組合在一起實現(xiàn)新的服務(wù),將已有的邏輯重新編排形成新的功能,促進(jìn)了服務(wù)的復(fù)用。

    (4)可發(fā)現(xiàn):服務(wù)提供者發(fā)布服務(wù)后,服務(wù)消費(fèi)者能感知服務(wù)存在,通過服務(wù)實現(xiàn)彼此之間松耦合關(guān)系。因此服務(wù)遵循標(biāo)準(zhǔn)化服務(wù)契約,具備模塊化、可重復(fù)性,可被感知發(fā)現(xiàn)并調(diào)用。標(biāo)準(zhǔn)化的服務(wù)契約是構(gòu)建服務(wù)模型的關(guān)鍵,而服務(wù)通常以服務(wù)接口表示,如Google的Protobuf、Facebook的Thrift以及GENIVI的CommonAPI C++等框架,均采用自定義的IDL文件用來描述服務(wù)接口。其中GENIVI的CommonAPI C++是基于VSOME/IP實現(xiàn)的遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC)框架,與VSOME/IP之間存在良好的連接性。據(jù)此,本文選擇CommonAPI C++作為研究的主要框架。服務(wù)模型設(shè)計如圖1所示。

    1.2 服務(wù)模型的設(shè)計

    在汽車內(nèi)部復(fù)雜的分布式系統(tǒng)中,應(yīng)用軟件除了要滿足基于事件的一對多通信方式,以此實現(xiàn)類似汽車傳統(tǒng)總線進(jìn)行廣播傳遞消息的功能,也要提供基于RPC的一對一的通信方式,實現(xiàn)軟件程序的復(fù)用,避免ECU功能冗余,有效降低系統(tǒng)耦合性,提高系統(tǒng)穩(wěn)定性。因此,車載端服務(wù)應(yīng)具備發(fā)布/訂閱式的通信行為以此滿足實時通信需要,并且還能支持請求/響應(yīng)式的通信行為,使整個系統(tǒng)的算力分配更合理。

    服務(wù)模型依賴于服務(wù)接口設(shè)計,一個服務(wù)僅能通過一個服務(wù)接口定義。根據(jù)fidl描述語言,該框架的服務(wù)接口包含以下3種抽象行為和其他描述字段:

    (1)方法(Methods):需確定方法的輸入、輸出參數(shù)數(shù)量和類型,服務(wù)提供者需要對該接口方法進(jìn)行實現(xiàn)。服務(wù)消費(fèi)者請求方法調(diào)用時,提供者調(diào)用本地接口方法并返回結(jié)果,實現(xiàn)遠(yuǎn)程過程調(diào)用。

    (2)廣播(Broadcast):需確定廣播輸出的數(shù)據(jù)類型,服務(wù)消費(fèi)者能訂閱廣播。服務(wù)提供者在相應(yīng)事件發(fā)生后向訂閱者發(fā)布消息,服務(wù)提供者可以同時向多個服務(wù)訂閱者發(fā)送消息,實現(xiàn)事件通知類型的廣播通信。

    (3)屬性(Attribute):需確定屬性的數(shù)據(jù)類型,屬性是方法和廣播的結(jié)合體。服務(wù)提供者需要對屬性的接口方法進(jìn)行實現(xiàn),服務(wù)消費(fèi)者利用接口方法實現(xiàn)對屬性內(nèi)容的讀寫訪問。屬性還能提供與廣播類似的事件通知(Notifier),在消費(fèi)者訂閱后并且屬性內(nèi)容變化時,主動通知消費(fèi)者,實現(xiàn)狀態(tài)同步控制。

    (4)包名(Package):確定該服務(wù)接口的域空間,便于區(qū)分管理,對應(yīng)于C++程序中的命名空間。

    (5)接口名(Interface):在同一域空間,通過接口名來區(qū)分不同的服務(wù),一個接口名下可以包含多個方法、廣播、屬性。

    (6)接口版本(Version):接口版本與包名組成域空間,接口版本分別由Major和Minor 2個字段來確定。

    1.3 服務(wù)接口描述語言

    服務(wù)接口由GENIVI的CommonAPI C++所提供的接口描述語言Franca IDL來定義。Franca IDL分為2種類型:fidl和fdepl。

    fidl是對服務(wù)接口本身進(jìn)行邏輯編排,如接口能提供方法、廣播、屬性等模塊。以天氣預(yù)報服務(wù)為例,分別對提供者和消費(fèi)者的行為進(jìn)行分析,抽象后的描述文件weather_serivce.fidl如圖2a所示。天氣預(yù)報服務(wù)對應(yīng)接口有提供者和消費(fèi)者:

    (1)天氣預(yù)報服務(wù)的提供者,提供查詢功能以及定時發(fā)送天氣狀態(tài)信息,方法名是檢查(Check),廣播名是通知(Notice)。

    (2)天氣預(yù)報服務(wù)消費(fèi)者能夠主動調(diào)用該接口提供的Check方法,在輸入日期后,該天氣預(yù)報服務(wù)返回指定日期的天氣情況。在訂閱Notice廣播后,在每晚8點被動接收天氣預(yù)報服務(wù)發(fā)送的明日天氣情況。

    根據(jù)系統(tǒng)所使用的通信中間件或平臺不同,服務(wù)接口能夠靈活解耦地與不同的通信中間件綁定,以及進(jìn)行相關(guān)部署工作,這一部分工作依賴于fdepl描述文件。比如使用SOME/IP通信中間件后,必須確定SOME/IP協(xié)議中所包含的方法ID、事件組ID、服務(wù)ID以及實例ID等。還是以天氣預(yù)報服務(wù)為例,給出與SOME/IP通信中間件綁定的描述文件weather service_SOME/IP.fdepl,如圖2b所示。

    根據(jù)SOME/IP協(xié)議要求,本研究定義了一系列服務(wù)、接口及事件,包括服務(wù)ID、Check方法的方法ID、傳輸協(xié)議、Notice廣播事件的事件ID和事件組ID,以及字符串類型的小端序UTF-16編碼方式。同時定義了服務(wù)提供者的服務(wù)實例ID、通信端口IP地址和端口號。根據(jù)這2個描述文件,通過CommonAPI C++所提供的代碼生成器生成C++語言的Proxy類和Stub類,以及與SOME/IP通信中間件部署相關(guān)的類,如圖3所示。開發(fā)人員利用Stub類實現(xiàn)服務(wù)提供的接口方法和事件相關(guān)的代碼,向外提供服務(wù),然后再通過Proxy類提供的程序接口訂閱服務(wù)后調(diào)用遠(yuǎn)程方法。開發(fā)過程中,開發(fā)人員不必將時間精力耗費(fèi)在底層通信的實現(xiàn)細(xì)節(jié)上,只需調(diào)用生成類對應(yīng)的接口,著重完成業(yè)務(wù)邏輯方面的實現(xiàn),以此提升開發(fā)效率。

    2 服務(wù)注冊中心的設(shè)計與實現(xiàn)

    服務(wù)注冊中心負(fù)責(zé)管理服務(wù)注冊與訂閱2個主要功能,其保存并持續(xù)更新服務(wù)相關(guān)信息,包括服務(wù)接口域名稱、服務(wù)提供者地址的映射關(guān)系、服務(wù)調(diào)用者訂閱服務(wù)的相關(guān)信息,實現(xiàn)低耦合的通信方式。

    2.1 注冊中心面臨的問題

    若分布式系統(tǒng)未配備注冊中心,可能出現(xiàn)以下問題:

    (1)難遷移擴(kuò)展:服務(wù)之間的交互,無論是通過套接字直接通信還是依托于通信框架,交互雙方均需明確對方的IP地址和端口號。若無注冊中心,服務(wù)需在本地保存對方的地址信息,這屬于硬編碼方式,即服務(wù)預(yù)先在本地完成其所依賴服務(wù)地址的配置。如圖4所示,當(dāng)服務(wù)A的服務(wù)實例1由于環(huán)境變動而遷移,其地址由地址1變成地址2,依賴于服務(wù)A的服務(wù)B需手動更新服務(wù)實例1的地址信息并重啟,期間可能會出現(xiàn)服務(wù)停用等問題。為提升服務(wù)可用性,同一服務(wù)一般存在多個服務(wù)實例,這些服務(wù)實例被部署到不同的機(jī)器上,組成服務(wù)集群。服務(wù)B作為消費(fèi)者擁有服務(wù)A的所有實例地址信息,服務(wù)B能夠從中選擇合適的服務(wù)實例進(jìn)行通信。然而,當(dāng)業(yè)務(wù)增長需要對服務(wù)A進(jìn)行橫向擴(kuò)展(增加服務(wù)A的服務(wù)實例)時,服務(wù)B需手動增加服務(wù)A新增實例的地址信息。實際情況中,服務(wù)A不只依賴單個服務(wù),如果不采用有效的解決方案,會造成額外的維護(hù)成本。

    (2)難感知隔離:在分布式系統(tǒng)中,服務(wù)實例會不可避免地出現(xiàn)故障,導(dǎo)致該服務(wù)實例不可用。此外,在服務(wù)升級過程中,服務(wù)節(jié)點需下線進(jìn)行升級再重新上線。當(dāng)這些情況出現(xiàn)時,需要對受影響的服務(wù)節(jié)點進(jìn)行隔離。

    如圖5所示,服務(wù)A依賴于服務(wù)B并通過節(jié)點2進(jìn)行請求訪問,若節(jié)點2出現(xiàn)故障被迫下線隔離,服務(wù)A則無法及時感知到節(jié)點2不可用狀態(tài),造成請求失敗,并對服務(wù)A的運(yùn)行狀態(tài)產(chǎn)生負(fù)面影響。即使節(jié)點2在下線隔離前可以通知服務(wù)A其不可用狀態(tài),其他服務(wù)仍試圖與節(jié)點2建立連接,造成資源和時間浪費(fèi)。因此,在執(zhí)行服務(wù)節(jié)點隔離措施時,需保證現(xiàn)有連接中不再接受新的請求訪問,并禁止新的連接建立,直至服務(wù)B的配置信息被手動更新后重啟服務(wù)。

    2.2 服務(wù)信息關(guān)系

    服務(wù)注冊中心管理的信息對應(yīng)關(guān)系如圖6所示。

    (1)一個服務(wù)可以有多個服務(wù)提供者,即多個服務(wù)實例組成集群,保證該服務(wù)的可用性與系統(tǒng)的穩(wěn)定性。而每個提供者可能具備多個服務(wù)能力從而提供多個服務(wù)接口。

    (2)一個服務(wù)能夠被多個服務(wù)消費(fèi)者所使用,實現(xiàn)軟件程序的高復(fù)用性,減少開發(fā)成本。而一個服務(wù)消費(fèi)者能夠訂閱多個服務(wù)。

    (3)在分析服務(wù)提供者與服務(wù)消費(fèi)者之間的地址信息關(guān)系時,必須將服務(wù)本身作為核心考量,若忽略服務(wù)本身,則毫無意義。在雙方共享同一服務(wù)接口域名稱關(guān)聯(lián)的情況下,表現(xiàn)出多對多的關(guān)系,即:一個服務(wù)提供者的地址信息能夠被多個服務(wù)消費(fèi)者所保存。而針對同一服務(wù)接口,一個服務(wù)消費(fèi)者能夠識別并連接同一個服務(wù)的多個服務(wù)提供者。

    2.3 注冊中心功能

    為解決上述問題,分布式系統(tǒng)中需要添加服務(wù)注冊中心,如圖7所示,其可提供注冊(Register)、訂閱(Subscribe)、通知(Notify)、檢查(Check)4個核心功能。

    (1)注冊:接收服務(wù)提供者的服務(wù)注冊或注銷請求,保存服務(wù)提供者的地址信息以及維護(hù)服務(wù)接口域名稱和服務(wù)提供者地址信息的映射關(guān)系。

    (2)訂閱:接收服務(wù)消費(fèi)者的服務(wù)發(fā)現(xiàn)或停止發(fā)現(xiàn)請求,將與服務(wù)接口相關(guān)的服務(wù)節(jié)點全部發(fā)送給服務(wù)消費(fèi)者。消費(fèi)者在選擇某個節(jié)點進(jìn)行消費(fèi)后,注冊中心存儲該消費(fèi)記錄,維護(hù)服務(wù)接口域名稱和消費(fèi)者地址信息的映射關(guān)系,便于遇到突發(fā)情況后快速通知。

    (3)通知:當(dāng)服務(wù)節(jié)點發(fā)生變動時,如某節(jié)點出現(xiàn)故障或進(jìn)行升級而隔離或橫向擴(kuò)展時增加某節(jié)點,服務(wù)注冊中心能及時通知關(guān)聯(lián)消費(fèi)者,使其實時感知服務(wù)節(jié)點最新狀態(tài),避免服務(wù)請求失敗。

    (4)檢查:注冊中心具備狀態(tài)查詢功能,能及時同步服務(wù)節(jié)點狀態(tài),通常通過心跳檢測或者長連接的方式來實現(xiàn)。

    2.4 注冊中心設(shè)計

    服務(wù)注冊中心是基于VSOME/IP中的核心組件——路由管理器來實現(xiàn)。

    每個服務(wù)應(yīng)用均配備路由管理器,負(fù)責(zé)處理通信以及提供服務(wù)注冊中心的基本功能。如圖8所示,VSOME/IP框架中的路由管理器主要分為2類:主路由管理器和代理路由管理器。主路由管理器負(fù)責(zé)管理同一機(jī)器上或虛擬環(huán)境中的服務(wù)應(yīng)用通信,且在任何給定時間點,僅允許單個主路由管理器存在,具備主路由管理器的服務(wù)應(yīng)用被稱做主服務(wù)應(yīng)用。而同一機(jī)器可以存在多個代理路由管理器,除了主服務(wù)應(yīng)用外的其他應(yīng)用均配備代理路由管理器。主服務(wù)應(yīng)用可以通過配置文件顯示指定,若未在配置文件中指定,則系統(tǒng)默認(rèn)首次啟動的服務(wù)應(yīng)用作為主服務(wù)應(yīng)用。

    主路由管理器中包含本地存根和服務(wù)發(fā)現(xiàn)模塊2個模塊。本地存根用于本地通信,當(dāng)服務(wù)提供者所提供服務(wù)的使用范圍僅在本地ECU或服務(wù)消費(fèi)者能夠在本地上找到對應(yīng)的服務(wù)實例,本地存根利用本地套接字建立通信端口,負(fù)責(zé)與本地其他節(jié)點進(jìn)行通信,實現(xiàn)本地的服務(wù)注冊與發(fā)現(xiàn)功能。而服務(wù)發(fā)現(xiàn)模塊用于遠(yuǎn)程通信,當(dāng)本地服務(wù)提供者所提供的服務(wù)需被其他ECU服務(wù)消費(fèi)者所訂閱,或者本地服務(wù)消費(fèi)者無法找到滿足需求的服務(wù)實例時,服務(wù)發(fā)現(xiàn)模塊通過網(wǎng)絡(luò)套接字建立通信端口,負(fù)責(zé)與遠(yuǎn)程其他節(jié)點進(jìn)行通信,實現(xiàn)ECU之間的服務(wù)注冊與發(fā)現(xiàn)功能。

    代理路由管理器與主路由管理器中的本地存根類似,只用于本地通信,若其需發(fā)布服務(wù)或者調(diào)用服務(wù),可通過本地套接字將請求發(fā)到主路由管理器,主路由管理器中的服務(wù)發(fā)現(xiàn)模塊通過網(wǎng)絡(luò)將請求發(fā)往其他ECU的服務(wù)注冊中心。同樣,網(wǎng)絡(luò)中的訪問請求也只能通過本地主路由管理器轉(zhuǎn)發(fā)到代理路由管理器上。這樣的優(yōu)勢是其既適用于主服務(wù)應(yīng)用也適用于輔助服務(wù)應(yīng)用,通過使用相同通信接口,有效屏蔽底層通信差異。而主服務(wù)應(yīng)用中的主路由管理器是唯一負(fù)責(zé)與外部通信的組件,從而簡化了網(wǎng)絡(luò)連接管理并提高其效率。本地通信的實現(xiàn)除了使用本地套接字,也可以使用共享內(nèi)存等技術(shù)。

    作為網(wǎng)絡(luò)通信橋梁,主路由管理器實現(xiàn)的關(guān)鍵要素是構(gòu)建高效的網(wǎng)絡(luò)輸入輸出(Input Output,IO)處理引擎。VSOME/IP的主路由管理器通過引入Boost::Asio異步網(wǎng)絡(luò)IO庫和Boost::Thread線程庫,搭建高性能且安全可靠的通信框架,其高效性主要基于2個因素:首先,其結(jié)合庫中多種IO對象類(如套接字、定時、域名解析器)、IO服務(wù)類和線程管理類,實現(xiàn)了基于事件驅(qū)動的Reactor或Proactor網(wǎng)絡(luò)模型以及具有任務(wù)調(diào)度機(jī)制的線程池,為主路由管理器提供強(qiáng)大的網(wǎng)絡(luò)驅(qū)動能力;其次,Boost庫中bind和function組件具有靈活性,主路由管理器能夠自動感知并處理網(wǎng)絡(luò)IO上發(fā)生的事件(如讀寫事件或連接事件),實現(xiàn)消息轉(zhuǎn)發(fā)功能,并為上層應(yīng)用提供異步回調(diào)機(jī)制。作為中間層,網(wǎng)絡(luò)IO處理引擎實現(xiàn)了網(wǎng)絡(luò)層與應(yīng)用層相互隔離,使開發(fā)人員更專注于業(yè)務(wù)邏輯的實現(xiàn)。路由管理器為上層應(yīng)用提供的核心接口可以提供以下4項功能:

    (1)提供服務(wù):路由管理器將服務(wù)注冊表中服務(wù)接口與服務(wù)實例地址的映射關(guān)系通過C++ STL庫中的map容器進(jìn)行保存。路由管理器先將服務(wù)信息保存到本地服務(wù)注冊表,方便本地其它服務(wù)應(yīng)用通過主路由管理器感知到本地的服務(wù)實例,并通過服務(wù)發(fā)現(xiàn)模塊構(gòu)建SOME/IP-SD報文,將服務(wù)信息以廣播方式發(fā)布給遠(yuǎn)程機(jī)器上的路由管理器。遠(yuǎn)程機(jī)器上的路由管理器接收到該SOME/IP-SD報文后將服務(wù)信息保存到遠(yuǎn)程服務(wù)注冊表,方便服務(wù)消費(fèi)者能夠?qū)ふ业皆摲?wù)實例。

    (2)請求服務(wù):路由管理器利用map容器來保存服務(wù)實例的訂閱信息,即服務(wù)訂閱表。路由管理器先查看本地服務(wù)注冊表,若存在本地服務(wù)實例,訂閱該本地服務(wù)實例并將訂閱信息保存到本地服務(wù)訂閱表。若本地服務(wù)注冊表不存在服務(wù)實例,路由管理器查看遠(yuǎn)程服務(wù)注冊表,將服務(wù)實例信息告知上層應(yīng)用,上層應(yīng)用根據(jù)服務(wù)路由策略選擇服務(wù)實例并消費(fèi),然后路由管理器將該訂閱信息保存到服務(wù)消費(fèi)表中并通過服務(wù)發(fā)現(xiàn)模塊構(gòu)建SOME/IP-SD報文,將訂閱信息以廣播方式發(fā)送給遠(yuǎn)程服務(wù)實例所在的路由管理器。遠(yuǎn)程的路由管理器接收到該SOME/IP-SD報文后同步遠(yuǎn)程服務(wù)訂閱表中該服務(wù)實例的訂閱信息。

    (3)報告服務(wù)狀態(tài):服務(wù)提供者通過該接口,能夠主動通知本地路由管理器自身服務(wù)狀態(tài)。當(dāng)服務(wù)狀態(tài)為不可用時,主路由管理器中的服務(wù)發(fā)現(xiàn)模塊發(fā)送停止提供服務(wù)類型的SOME/IP-SD報文。訂閱該服務(wù)實例的服務(wù)消費(fèi)者們通過路由管理器接收該SOME/IP-SD報文并同步該服務(wù)實例不可用的狀態(tài)。

    (4)注冊可用服務(wù):服務(wù)消費(fèi)者通過該接口,將關(guān)注的服務(wù)或服務(wù)實例結(jié)合回調(diào)函數(shù)注冊到路由管理器上,若服務(wù)實例的狀態(tài)發(fā)生改變,執(zhí)行回調(diào)函數(shù)。當(dāng)服務(wù)實例從不可用狀態(tài)到可用狀態(tài)時,服務(wù)消費(fèi)者能夠調(diào)用該服務(wù)實例提供的功能;當(dāng)服務(wù)實例從可用狀態(tài)到不可用狀態(tài)時,服務(wù)消費(fèi)者重新尋找其他可用服務(wù)實例。該接口還實現(xiàn)了服務(wù)注冊中心的通知功能,通過將關(guān)注的服務(wù)實例設(shè)置成ANY,當(dāng)某個服務(wù)集群中節(jié)點增加或減少,服務(wù)消費(fèi)者都能立即感知。

    路由管理器不僅為上層應(yīng)用提供交互接口,還具備定期檢測已注冊服務(wù)提供者和消費(fèi)者狀態(tài)的功能。當(dāng)檢測到某個服務(wù)提供者或消費(fèi)者上、下線時,路由管理器能夠及時向與之關(guān)聯(lián)的對象發(fā)出通知。

    3 服務(wù)調(diào)用的設(shè)計與實現(xiàn)

    服務(wù)調(diào)用是分布式服務(wù)框架中的重要環(huán)節(jié)。如圖9所示,服務(wù)消費(fèi)者借助服務(wù)注冊中心發(fā)現(xiàn)可用的服務(wù)實例,然后借助服務(wù)路由獲得服務(wù)實例相關(guān)信息并將信息實例化成本地代理類對象,通過代理類對象進(jìn)行服務(wù)調(diào)用。

    根據(jù)章節(jié)1.1所述,服務(wù)模型構(gòu)建中定義了2種通信方式:請求/響應(yīng)式和發(fā)布/訂閱式。服務(wù)調(diào)用也主要分為2類:方法調(diào)用和事件通知。根據(jù)有無應(yīng)答能夠?qū)⒎椒ㄕ{(diào)用劃分為Oneway模式(無應(yīng)答)和請求/響應(yīng)模式(有應(yīng)答),其區(qū)別在于服務(wù)提供者是否將執(zhí)行結(jié)果返回給服務(wù)消費(fèi)者。還能根據(jù)服務(wù)消費(fèi)者在方法調(diào)用后是否進(jìn)入阻塞狀態(tài),將方法調(diào)用分為同步或異步。

    本文服務(wù)框架中的服務(wù)調(diào)用機(jī)制基于 CommonAPI C++實現(xiàn)。章節(jié)1.3中提到,根據(jù)服務(wù)接口描述文件CommonAPI C++的代碼生成器會生成相關(guān)的C++類,其中包含應(yīng)用層面的Proxy類和Stub類,還包含通信中間件層面的SOME/IP部署類。以天氣預(yù)報服務(wù)為例,自動生成的C++代碼如圖3所示,后文根據(jù)該天氣預(yù)報服務(wù)描述SDSF提供的服務(wù)調(diào)用方式以及實現(xiàn)原理。

    3.1 同步方法調(diào)用

    同步方法調(diào)用工作原理如圖10所示,調(diào)用步驟如下:

    (1)服務(wù)消費(fèi)者通過代理對象提供的接口,發(fā)起遠(yuǎn)程方法調(diào)用,然后進(jìn)入阻塞狀態(tài)。

    (2)代理對象通過運(yùn)行時環(huán)境將調(diào)用請求序列化成Request類型的SOME/IP報文,發(fā)送到遠(yuǎn)程機(jī)器上。

    (3)服務(wù)提供者收到請求通知后調(diào)用存根對象實現(xiàn)的本地方法,并將執(zhí)行結(jié)果序列化成Response類型的SOME/IP報文發(fā)給服務(wù)消費(fèi)者。

    (4)服務(wù)消費(fèi)者收到返回結(jié)果后結(jié)束阻塞狀態(tài),繼續(xù)完成后續(xù)工作。

    假設(shè)服務(wù)消費(fèi)者先于服務(wù)提供者啟動,天氣預(yù)報服務(wù)check方法同步調(diào)用時序如圖11所示。

    3.2 異步方法調(diào)用

    異步方法調(diào)用相比于同步方式,工作原理和使用較為復(fù)雜。異步方法調(diào)用工作原理如圖12所示,調(diào)用步驟如下:

    (1)服務(wù)消費(fèi)者通過代理對象調(diào)用異步接口并傳入回調(diào)函數(shù)作為參數(shù)。

    (2)代理對象通過運(yùn)行時環(huán)境將調(diào)用請求序列化成Request類型的SOME/IP報文,發(fā)送到遠(yuǎn)程機(jī)器上,并返回Future對象給服務(wù)消費(fèi)者,提供給服務(wù)消費(fèi)者能夠通過get方法同步阻塞等待調(diào)用結(jié)果返回的可能性,而在不調(diào)用get方法之前不進(jìn)入阻塞狀態(tài),繼續(xù)執(zhí)行后續(xù)任務(wù)。

    (3)服務(wù)提供者收到請求通知后調(diào)用存根對象實現(xiàn)的本地方法,并將執(zhí)行結(jié)果序列化成Response類型的SOME/IP報文發(fā)給服務(wù)消費(fèi)者。

    (4)請求訪問在網(wǎng)絡(luò)傳輸過程中,服務(wù)消費(fèi)者端負(fù)責(zé)管理IO的線程會循環(huán)監(jiān)聽通信端口的狀態(tài)。若收到返回結(jié)果,將結(jié)果保存到Future對象中,并且監(jiān)聽模塊執(zhí)行對應(yīng)的回調(diào)函數(shù),用來處理返回結(jié)果。

    假設(shè)服務(wù)消費(fèi)者先于服務(wù)提供者啟動,天氣預(yù)報服務(wù)check方法異步調(diào)用時序如圖13所示。

    3.3 事件通知

    事件通知是屬于事件驅(qū)動的一種異步服務(wù)調(diào)用方式。服務(wù)消費(fèi)者訂閱服務(wù)提供者的話題或者事件,將繼續(xù)向后執(zhí)行任務(wù),而服務(wù)提供者在適當(dāng)時間或者當(dāng)事件發(fā)生時向服務(wù)消費(fèi)者發(fā)送消息通知。

    (1)服務(wù)消費(fèi)者通過代理對象調(diào)用事件訂閱接口并傳入回調(diào)函數(shù)作為參數(shù)。

    (2)代理對象通過運(yùn)行時環(huán)境將訂閱請求序列化成Subscribe Eventgroup類型的SOME/IP-SD報文,發(fā)送到遠(yuǎn)程機(jī)器上。

    (3)服務(wù)提供者收到訂閱通知后記錄該服務(wù)消費(fèi)者信息,在事件發(fā)生時將通知內(nèi)容序列化成Notification類型的SOME/IP 報文發(fā)給所有訂閱該事件的服務(wù)消費(fèi)者。

    (4)在訂閱請求在網(wǎng)絡(luò)傳輸過程中,服務(wù)消費(fèi)者端負(fù)責(zé)管理IO的線程會循環(huán)。

    (5)監(jiān)聽通信端口的狀態(tài),若收到通知消息,立刻執(zhí)行對應(yīng)的回調(diào)函數(shù),用于處理消息內(nèi)容。

    天氣預(yù)報服務(wù)Notice事件通知時序如圖14所示。

    3.4 特性分析

    針對以上3種類型的服務(wù)調(diào)用過程和實現(xiàn)原理進(jìn)行特性分析,如表1所示。

    同步方法調(diào)用和異步方法調(diào)用均類似于函數(shù)調(diào)用,需要通過函數(shù)標(biāo)簽以及參數(shù)列表定義其接口。相比于事件通知,采用同步方法調(diào)用通常會使應(yīng)用程序和服務(wù)接口耦合程度更高,若服務(wù)接口發(fā)生改變,應(yīng)用程序也必須相應(yīng)地進(jìn)行修改。而異步方法調(diào)用和事件通知過程是異步的,允許在等待調(diào)用結(jié)果或事件響應(yīng)的同時執(zhí)行其他任務(wù),提升調(diào)用效率,且有助于充分發(fā)揮硬件平臺性能。然而,由于返回調(diào)用結(jié)果或事件發(fā)生的時間不確定,不利于需要嚴(yán)格實時響應(yīng)的任務(wù)。因此,異步方法調(diào)用不適合用于對實時性要求較高的場景。

    可根據(jù)不同業(yè)務(wù)場景需求選擇合適的服務(wù)調(diào)用:

    (1)若業(yè)務(wù)場景不關(guān)注調(diào)用結(jié)果,可以選擇單向調(diào)用或者事件通知。

    (2)若業(yè)務(wù)場景對邏輯處理和響應(yīng)實時性要求較高,則優(yōu)先選擇同步方法調(diào)用。

    (3)若業(yè)務(wù)場景中邏輯塊可獨立并行處理,不存在依賴關(guān)系,則優(yōu)先考慮異步方法調(diào)用或者事件通知。

    (4)若需實現(xiàn)一對多的通信方式,或?qū)μ囟ㄊ录蜖顟B(tài)進(jìn)行監(jiān)控,則優(yōu)先選擇事件通知。

    4 結(jié)束語

    基于VSOME/IP的分布式服務(wù)框架設(shè)計方案,有效降低了汽車軟硬件之間的耦合性,增加車載軟件的復(fù)用性,提高開發(fā)效率。該框架采用SOME/IP作為通信協(xié)議,并依托開源的分布式通信中間件VSOME/IP實現(xiàn)基于服務(wù)的通信,改善了傳統(tǒng)汽車基于信號的通信方式在當(dāng)下基于域控制器的新型汽車電子電氣架構(gòu)中存在的不足,為車載ECU提供靈活動態(tài)的服務(wù)通信能力,以適應(yīng)目前或未來復(fù)雜的通信需求。

    參 考 文 獻(xiàn)

    [1] NAN J, LI H, CAO W, et al. Research on Improvement and Experiment for Cyber Security of Automotive Electronic and Electrical Architecture[C]//2022 IEEE 7th International Conference on Intelligent Transportation Engineering (ICITE). IEEE, 2022: 400-405.

    [2] F?RST S, SPOKESPERSON A. Autosar the Next Generation-the Adaptive Platform[J]. CARS@ EDCC2015, 2015: 215-217.

    [3] Oertel M, Zimmer B. More Performance with Autosar Adaptive[J]. ATZelectronics worldwide, 2019, 14(5): 36-39.

    [4] HOFFMEISTER K. Automated Driving Necessary Infrastructure Shift[J]. ATZelektronik worldwide, 2016, 11(1): 42-47.

    [5] OERTEL M, ZIMMER B. More Performance with Autosar Adaptive[J]. ATZelectronics worldwide, 2019, 14(5): 36-39.

    [6] ZERFOWSKI D, BUTTLE D. Paradigm Shift in the Market for Automotive Software[J]. ATZelektronik worldwide, 2019, 121(9): 28-33.

    [7] GUISSOUMA H, HOHL C P, LESNIAK F, et al. Lifecycle Management of Automotive Safety-critical over the Air Updates: A Systems Approach[J]. IEEE Access, 2022, 10: 57696-57717.

    [8] KENJI? D, ?IVKOV D, ANTI? M. Automated Data Transfer from ADAS to Android-based IVI Domain over SOME/IP[J]. IEEE Transactions on Intelligent Vehicles, 2023, 8(4): 3166-3177.

    [9] IOANA A, KORODI A. VSOMEIP-OPC UA Gateway Solution for the Automotive Industry[C]. 2019 IEEE International Conference on Engineering, Technology and Innovation (ICE/ITMC), 2019: 1-6.

    [10] KATO S, TOKUNAGA S, MARUYAMA Y, et al. Autoware on board: Enabling Autonomous Vehicles with Embedded Systems[C]. 2018 ACM/IEEE 9th International Conference on Cyber-Physical Systems (ICCPS), 2018: 287-296.

    [11] STARON M, DURISIC D. Autosar Standard, Automotive Software Architectures: Springer, 2017: 81-116.

    [12] ISO. Road Vehicles-Functional Safety: ISO 26262:? ? ?2018.[S]. Switzerland: ISO Copyright Office, 2018.

    [13] BELLANGER M, MARMOUNIER E. Service Oriented Architecture: Impacts and Challenges of An Architecture Paradigm Change[C]. 10th European Congress on Embedded Real Time Software and Systems (ERTS 2020), 2020.

    [14] ANGGORO W, TORJO J. BOOST. Asio C++ Network Programming[M]. Packt Publishing Ltd, 2015.

    (責(zé)任編輯 梵鈴)

    【作者簡介】

    周輝煌(1999—),男,同濟(jì)大學(xué),碩士研究生,研究方向為汽車電子嵌入式軟件。

    E-mail:zhouhuihuang78@gmail.com

    朱元(1976—),男,同濟(jì)大學(xué),副教授,研究方向為新能源汽車電機(jī)控制技術(shù)、汽車電子嵌入式軟件。

    E-mail:yuan.zhu@#edu.cn

    猜你喜歡
    分布式系統(tǒng)
    基于分布式計算的暴力破解密碼系統(tǒng)的改進(jìn)
    基于現(xiàn)場采集與云服務(wù)的流量積算管理系統(tǒng)研究
    典型應(yīng)用領(lǐng)域全球定量遙感產(chǎn)品生產(chǎn)體系
    科技資訊(2016年25期)2016-12-27 16:23:06
    以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法
    分布式系統(tǒng)中的辯證對立統(tǒng)一概念與方法
    一種基于Hadoop的海量圖片檢索策略
    基于Hadoop的MOOC學(xué)習(xí)分析系統(tǒng)的構(gòu)建
    一種分布式消息隊列的可靠性研究
    “中間件技術(shù)”課程教學(xué)方法改革探討
    基于MapReduce的海量數(shù)據(jù)動態(tài)裝箱算法研究
    欧美成人一区二区免费高清观看 | 久久精品影院6| 亚洲美女黄片视频| 欧美+亚洲+日韩+国产| www.自偷自拍.com| 午夜视频精品福利| 日韩欧美国产一区二区入口| 日本熟妇午夜| 欧美日韩瑟瑟在线播放| 老司机深夜福利视频在线观看| 中文字幕高清在线视频| 一级毛片女人18水好多| 国产在线精品亚洲第一网站| 亚洲成a人片在线一区二区| 久久精品国产亚洲av香蕉五月| 久久中文看片网| 草草在线视频免费看| 国产真人三级小视频在线观看| 国产激情偷乱视频一区二区| 亚洲avbb在线观看| 美女扒开内裤让男人捅视频| 天堂影院成人在线观看| 国产久久久一区二区三区| 最新美女视频免费是黄的| 亚洲在线自拍视频| 亚洲欧美日韩高清在线视频| 久久国产精品人妻蜜桃| 日韩欧美国产在线观看| 免费观看精品视频网站| 天堂av国产一区二区熟女人妻 | 免费在线观看影片大全网站| 精品电影一区二区在线| 午夜福利18| 午夜a级毛片| 美女黄网站色视频| 久久精品国产清高在天天线| 亚洲av成人av| 亚洲狠狠婷婷综合久久图片| 欧美日韩中文字幕国产精品一区二区三区| 久久中文字幕一级| 人成视频在线观看免费观看| 18禁裸乳无遮挡免费网站照片| 久久久国产成人免费| 久久久久久亚洲精品国产蜜桃av| 老司机午夜十八禁免费视频| 国产精品亚洲av一区麻豆| www.精华液| 亚洲午夜精品一区,二区,三区| 韩国av一区二区三区四区| 国产伦在线观看视频一区| 黑人操中国人逼视频| 中文字幕高清在线视频| 少妇熟女aⅴ在线视频| 男女下面进入的视频免费午夜| 国产精品一及| 亚洲av日韩精品久久久久久密| 精品久久久久久久毛片微露脸| 日韩av在线大香蕉| 男女之事视频高清在线观看| 一边摸一边抽搐一进一小说| 在线观看免费午夜福利视频| 女警被强在线播放| 中出人妻视频一区二区| 美女扒开内裤让男人捅视频| 国产成人啪精品午夜网站| 欧美一区二区国产精品久久精品 | 老司机午夜十八禁免费视频| 亚洲av成人精品一区久久| 亚洲成a人片在线一区二区| 淫妇啪啪啪对白视频| 超碰成人久久| 动漫黄色视频在线观看| 色噜噜av男人的天堂激情| 91麻豆精品激情在线观看国产| 天天添夜夜摸| 香蕉国产在线看| 老司机午夜福利在线观看视频| 欧美久久黑人一区二区| 国产午夜精品论理片| 精品国产亚洲在线| 身体一侧抽搐| 欧美日本亚洲视频在线播放| 精品乱码久久久久久99久播| or卡值多少钱| 色播亚洲综合网| 亚洲人成伊人成综合网2020| 国产精品永久免费网站| 无限看片的www在线观看| 人妻夜夜爽99麻豆av| 在线观看一区二区三区| 欧美午夜高清在线| av在线天堂中文字幕| 欧美成狂野欧美在线观看| 性欧美人与动物交配| 一本精品99久久精品77| 亚洲av成人一区二区三| 久热爱精品视频在线9| 18禁观看日本| 欧美黑人精品巨大| 精品久久久久久久毛片微露脸| 香蕉国产在线看| 欧美色欧美亚洲另类二区| 久久精品国产99精品国产亚洲性色| 夜夜夜夜夜久久久久| 99热6这里只有精品| 国产成人av教育| 精品无人区乱码1区二区| 俺也久久电影网| 午夜精品在线福利| 久久精品91蜜桃| 国产亚洲精品久久久久5区| 亚洲精品中文字幕一二三四区| 久99久视频精品免费| 天堂影院成人在线观看| 日本熟妇午夜| 国产三级在线视频| 国产亚洲欧美在线一区二区| 午夜免费激情av| 精品久久蜜臀av无| 一级毛片高清免费大全| 小说图片视频综合网站| 99国产极品粉嫩在线观看| 亚洲熟妇中文字幕五十中出| 国模一区二区三区四区视频 | 国产精品 国内视频| 女警被强在线播放| 黑人欧美特级aaaaaa片| 久久久久国产精品人妻aⅴ院| 日本黄色视频三级网站网址| 午夜影院日韩av| 在线免费观看的www视频| 国产精品 国内视频| 欧美日韩亚洲国产一区二区在线观看| 成人欧美大片| 婷婷精品国产亚洲av| 精品久久久久久,| 长腿黑丝高跟| 18禁裸乳无遮挡免费网站照片| 亚洲男人的天堂狠狠| 看片在线看免费视频| 一边摸一边抽搐一进一小说| 好男人在线观看高清免费视频| 亚洲精品国产一区二区精华液| 亚洲一区二区三区不卡视频| 老熟妇仑乱视频hdxx| 黄片小视频在线播放| 岛国在线免费视频观看| 香蕉国产在线看| 黄色丝袜av网址大全| 国产伦在线观看视频一区| 熟女电影av网| 久久人人精品亚洲av| 国产精品爽爽va在线观看网站| a在线观看视频网站| 高清在线国产一区| 精品福利观看| av天堂在线播放| 亚洲中文av在线| 精品欧美国产一区二区三| 亚洲人成网站高清观看| 亚洲va日本ⅴa欧美va伊人久久| 村上凉子中文字幕在线| 国产伦人伦偷精品视频| 首页视频小说图片口味搜索| 看片在线看免费视频| 三级国产精品欧美在线观看 | 十八禁网站免费在线| 午夜免费激情av| 两个人看的免费小视频| 国产精品一区二区三区四区免费观看 | 人人妻人人看人人澡| 色哟哟哟哟哟哟| 国产精品,欧美在线| 大型av网站在线播放| 首页视频小说图片口味搜索| 亚洲中文日韩欧美视频| 亚洲专区中文字幕在线| 亚洲av成人av| 日本一区二区免费在线视频| 男男h啪啪无遮挡| 日本黄色视频三级网站网址| 香蕉av资源在线| 给我免费播放毛片高清在线观看| 怎么达到女性高潮| 亚洲精品在线美女| 长腿黑丝高跟| 99精品久久久久人妻精品| 日韩大尺度精品在线看网址| 老司机靠b影院| 长腿黑丝高跟| 午夜精品久久久久久毛片777| 50天的宝宝边吃奶边哭怎么回事| 精品国产超薄肉色丝袜足j| 宅男免费午夜| 一边摸一边抽搐一进一小说| 一本精品99久久精品77| 久久香蕉精品热| 亚洲男人天堂网一区| 久久性视频一级片| 亚洲人成网站高清观看| 全区人妻精品视频| 欧美午夜高清在线| www.www免费av| 欧美大码av| 亚洲av五月六月丁香网| 欧美在线黄色| 亚洲欧美一区二区三区黑人| 国产麻豆成人av免费视频| 99精品在免费线老司机午夜| 三级国产精品欧美在线观看 | avwww免费| 99久久无色码亚洲精品果冻| 欧洲精品卡2卡3卡4卡5卡区| 少妇熟女aⅴ在线视频| 亚洲国产精品999在线| 嫩草影院精品99| 黄色片一级片一级黄色片| 欧美乱码精品一区二区三区| 久久人人精品亚洲av| 51午夜福利影视在线观看| 欧美成人免费av一区二区三区| 超碰成人久久| 少妇人妻一区二区三区视频| 午夜亚洲福利在线播放| 狂野欧美激情性xxxx| 欧美高清成人免费视频www| 国内少妇人妻偷人精品xxx网站 | 亚洲熟妇熟女久久| 麻豆国产av国片精品| 亚洲人成网站高清观看| 国产一级毛片七仙女欲春2| 男女床上黄色一级片免费看| 制服诱惑二区| 久久久精品大字幕| 亚洲精品中文字幕在线视频| 老汉色av国产亚洲站长工具| 国产真实乱freesex| 可以在线观看毛片的网站| 不卡一级毛片| 欧美黄色片欧美黄色片| 男插女下体视频免费在线播放| 正在播放国产对白刺激| 久热爱精品视频在线9| 免费电影在线观看免费观看| 这个男人来自地球电影免费观看| 久久国产精品人妻蜜桃| 国产午夜福利久久久久久| 亚洲精品美女久久久久99蜜臀| 欧美色视频一区免费| 国产探花在线观看一区二区| 国产高清视频在线播放一区| 国产三级黄色录像| 日本一区二区免费在线视频| 色综合婷婷激情| 亚洲av成人不卡在线观看播放网| 午夜福利免费观看在线| aaaaa片日本免费| 国产免费男女视频| 亚洲成人中文字幕在线播放| 亚洲av熟女| www.熟女人妻精品国产| 全区人妻精品视频| 国产免费av片在线观看野外av| 欧美黄色片欧美黄色片| 99久久无色码亚洲精品果冻| 中文字幕最新亚洲高清| 欧美成人午夜精品| 国产成年人精品一区二区| 国产麻豆成人av免费视频| 亚洲成av人片在线播放无| 亚洲国产精品999在线| 欧美黑人巨大hd| 国产精品一区二区免费欧美| 精品国产亚洲在线| 视频区欧美日本亚洲| 国产真实乱freesex| 啦啦啦观看免费观看视频高清| 国产一区二区三区视频了| 久久久久久久午夜电影| 免费在线观看亚洲国产| 欧美绝顶高潮抽搐喷水| 草草在线视频免费看| 欧美乱妇无乱码| 亚洲国产欧美网| 国产真人三级小视频在线观看| 天堂√8在线中文| 久久久国产成人免费| 国产亚洲精品综合一区在线观看 | 国内精品久久久久久久电影| 老司机深夜福利视频在线观看| 久久99热这里只有精品18| 91国产中文字幕| 国产探花在线观看一区二区| 亚洲全国av大片| 男人舔女人下体高潮全视频| 欧美成人性av电影在线观看| 色尼玛亚洲综合影院| 国产午夜福利久久久久久| a级毛片a级免费在线| 成人国语在线视频| 亚洲专区国产一区二区| 久久精品影院6| 两人在一起打扑克的视频| 欧美 亚洲 国产 日韩一| 国产精品久久久久久精品电影| 欧美日韩福利视频一区二区| 欧美一级a爱片免费观看看 | 午夜精品在线福利| 麻豆一二三区av精品| 国产野战对白在线观看| 国产精品 国内视频| 怎么达到女性高潮| 人人妻人人澡欧美一区二区| 国产精品久久久久久人妻精品电影| 高潮久久久久久久久久久不卡| 国产三级在线视频| 1024视频免费在线观看| 窝窝影院91人妻| 日韩 欧美 亚洲 中文字幕| 91国产中文字幕| 国产亚洲精品一区二区www| 99re在线观看精品视频| 亚洲五月婷婷丁香| 一级毛片高清免费大全| 亚洲成人中文字幕在线播放| 日韩高清综合在线| 日日夜夜操网爽| 婷婷精品国产亚洲av在线| 成人午夜高清在线视频| 亚洲人成网站高清观看| 神马国产精品三级电影在线观看 | 欧美日韩瑟瑟在线播放| 国产91精品成人一区二区三区| 两性夫妻黄色片| 国产亚洲精品一区二区www| 久久精品国产亚洲av香蕉五月| 日本撒尿小便嘘嘘汇集6| 欧美成人午夜精品| 免费观看人在逋| 91老司机精品| 村上凉子中文字幕在线| 香蕉国产在线看| 超碰成人久久| 亚洲18禁久久av| 欧美日韩亚洲国产一区二区在线观看| 中文亚洲av片在线观看爽| or卡值多少钱| 亚洲欧洲精品一区二区精品久久久| 人人妻,人人澡人人爽秒播| 国产精品 国内视频| 国产激情偷乱视频一区二区| 18禁黄网站禁片免费观看直播| 欧美乱妇无乱码| 国产免费男女视频| 美女高潮喷水抽搐中文字幕| 国产亚洲欧美98| 全区人妻精品视频| 免费观看人在逋| 啦啦啦观看免费观看视频高清| 97人妻精品一区二区三区麻豆| 亚洲成av人片免费观看| netflix在线观看网站| 婷婷六月久久综合丁香| 久9热在线精品视频| 欧美精品啪啪一区二区三区| 91麻豆精品激情在线观看国产| 久久久久性生活片| 精品国产超薄肉色丝袜足j| 国产伦人伦偷精品视频| 国产精品电影一区二区三区| 亚洲成人中文字幕在线播放| 香蕉国产在线看| 老熟妇乱子伦视频在线观看| 亚洲精品粉嫩美女一区| 国产精品永久免费网站| 波多野结衣高清无吗| a级毛片在线看网站| 亚洲国产日韩欧美精品在线观看 | 男男h啪啪无遮挡| 男人舔女人下体高潮全视频| 女警被强在线播放| 在线观看免费视频日本深夜| 听说在线观看完整版免费高清| 91大片在线观看| 亚洲国产精品999在线| 后天国语完整版免费观看| 亚洲专区字幕在线| 十八禁网站免费在线| 美女扒开内裤让男人捅视频| 又粗又爽又猛毛片免费看| 亚洲精品久久国产高清桃花| 久久久久免费精品人妻一区二区| 亚洲精品色激情综合| 久久久久国产一级毛片高清牌| 日韩欧美 国产精品| av超薄肉色丝袜交足视频| 9191精品国产免费久久| 亚洲,欧美精品.| 成人国语在线视频| 午夜两性在线视频| 露出奶头的视频| www.精华液| 精品人妻1区二区| 一级作爱视频免费观看| 精品福利观看| 国产黄色小视频在线观看| 50天的宝宝边吃奶边哭怎么回事| 久久精品aⅴ一区二区三区四区| 国产麻豆成人av免费视频| 国产精品久久久久久久电影 | 久久婷婷人人爽人人干人人爱| 国产精品美女特级片免费视频播放器 | 国产精品久久电影中文字幕| 老汉色∧v一级毛片| 岛国在线免费视频观看| 99国产精品99久久久久| 色综合亚洲欧美另类图片| 女人被狂操c到高潮| 日本黄大片高清| 亚洲av熟女| 女人爽到高潮嗷嗷叫在线视频| 久久久水蜜桃国产精品网| 国产片内射在线| 久久欧美精品欧美久久欧美| 国产精品 国内视频| 国产伦在线观看视频一区| 久久久国产精品麻豆| 免费观看精品视频网站| avwww免费| 亚洲成人久久爱视频| 精品不卡国产一区二区三区| 亚洲av日韩精品久久久久久密| 久久久久久久久免费视频了| 国产av一区二区精品久久| 桃色一区二区三区在线观看| 每晚都被弄得嗷嗷叫到高潮| av超薄肉色丝袜交足视频| 一本大道久久a久久精品| 亚洲中文av在线| 欧美久久黑人一区二区| 国产精品香港三级国产av潘金莲| 日本撒尿小便嘘嘘汇集6| 99久久久亚洲精品蜜臀av| 色精品久久人妻99蜜桃| 老司机福利观看| 午夜日韩欧美国产| 亚洲18禁久久av| 91老司机精品| 一进一出好大好爽视频| 欧美另类亚洲清纯唯美| 国产在线观看jvid| 国产97色在线日韩免费| 日韩免费av在线播放| 欧美成狂野欧美在线观看| 国产精品免费视频内射| 两个人视频免费观看高清| 一本综合久久免费| 淫秽高清视频在线观看| 中文字幕久久专区| 黄片小视频在线播放| 国产激情久久老熟女| 搡老岳熟女国产| 亚洲成a人片在线一区二区| 91字幕亚洲| 国产麻豆成人av免费视频| 两个人的视频大全免费| a在线观看视频网站| 精品少妇一区二区三区视频日本电影| 国产成人精品无人区| 成人永久免费在线观看视频| a级毛片a级免费在线| 免费一级毛片在线播放高清视频| 亚洲成人国产一区在线观看| 国产成人啪精品午夜网站| 丁香欧美五月| 免费在线观看成人毛片| 97碰自拍视频| 久9热在线精品视频| 不卡一级毛片| 男人的好看免费观看在线视频 | 最近最新中文字幕大全免费视频| 91在线观看av| 91成年电影在线观看| 日日夜夜操网爽| 亚洲熟妇中文字幕五十中出| 久久国产精品人妻蜜桃| 欧美午夜高清在线| 法律面前人人平等表现在哪些方面| 欧美av亚洲av综合av国产av| 久久久久性生活片| 91字幕亚洲| 成人av在线播放网站| 欧美精品亚洲一区二区| 久久中文字幕一级| 女人爽到高潮嗷嗷叫在线视频| 国产精品精品国产色婷婷| 在线国产一区二区在线| 黄色视频不卡| 日日夜夜操网爽| 亚洲国产欧洲综合997久久,| 男女那种视频在线观看| 国产免费av片在线观看野外av| 熟女少妇亚洲综合色aaa.| 亚洲国产精品999在线| 97超级碰碰碰精品色视频在线观看| www.自偷自拍.com| 日韩有码中文字幕| 日韩欧美 国产精品| 精品熟女少妇八av免费久了| 黄色 视频免费看| 久久香蕉激情| 国产一区二区三区视频了| 日韩大码丰满熟妇| 黑人巨大精品欧美一区二区mp4| 在线观看午夜福利视频| 精品少妇一区二区三区视频日本电影| 久久亚洲真实| 免费无遮挡裸体视频| 亚洲aⅴ乱码一区二区在线播放 | 丝袜美腿诱惑在线| 亚洲一区二区三区不卡视频| 精品免费久久久久久久清纯| 国产精品亚洲美女久久久| 在线观看美女被高潮喷水网站 | 亚洲一区中文字幕在线| 成人午夜高清在线视频| 无限看片的www在线观看| 香蕉丝袜av| 老司机深夜福利视频在线观看| 在线观看美女被高潮喷水网站 | 一本大道久久a久久精品| 国产亚洲精品久久久久5区| 国产伦在线观看视频一区| 一个人免费在线观看电影 | 婷婷亚洲欧美| 欧美黑人巨大hd| 又紧又爽又黄一区二区| www.www免费av| 日韩中文字幕欧美一区二区| 日本一二三区视频观看| 动漫黄色视频在线观看| 亚洲色图 男人天堂 中文字幕| 久久精品91蜜桃| 午夜精品久久久久久毛片777| 麻豆久久精品国产亚洲av| 麻豆成人午夜福利视频| 老熟妇仑乱视频hdxx| 热99re8久久精品国产| 国产亚洲精品第一综合不卡| 成人国语在线视频| 亚洲国产看品久久| 欧洲精品卡2卡3卡4卡5卡区| 国产精品久久久人人做人人爽| 观看免费一级毛片| 天堂√8在线中文| 看黄色毛片网站| 国产亚洲精品久久久久5区| 久久久久国产精品人妻aⅴ院| 一级片免费观看大全| 极品教师在线免费播放| 免费在线观看视频国产中文字幕亚洲| 色播亚洲综合网| 亚洲成人免费电影在线观看| 1024手机看黄色片| 亚洲av成人不卡在线观看播放网| 亚洲成a人片在线一区二区| 欧美在线黄色| 亚洲国产精品久久男人天堂| 美女黄网站色视频| 亚洲 欧美一区二区三区| 最近视频中文字幕2019在线8| 日本熟妇午夜| 色精品久久人妻99蜜桃| 动漫黄色视频在线观看| 18禁黄网站禁片午夜丰满| av免费在线观看网站| 日本a在线网址| 久久久久免费精品人妻一区二区| 国内毛片毛片毛片毛片毛片| 好看av亚洲va欧美ⅴa在| 久久中文字幕人妻熟女| 国产亚洲精品av在线| 亚洲精品国产精品久久久不卡| 99国产精品99久久久久| 中文字幕熟女人妻在线| 91九色精品人成在线观看| 免费观看人在逋| 两性午夜刺激爽爽歪歪视频在线观看 | 俄罗斯特黄特色一大片| 一本综合久久免费| 香蕉丝袜av| 久久久久国产精品人妻aⅴ院| 欧美zozozo另类| 成年版毛片免费区| 亚洲黑人精品在线| 欧美精品亚洲一区二区| 国产亚洲av嫩草精品影院| 人妻夜夜爽99麻豆av| 欧美色视频一区免费| 久热爱精品视频在线9| 一个人免费在线观看电影 | 真人一进一出gif抽搐免费| 麻豆久久精品国产亚洲av| 可以在线观看的亚洲视频| 欧美三级亚洲精品| 最近在线观看免费完整版| 亚洲 国产 在线| 欧美一级毛片孕妇| 久久婷婷人人爽人人干人人爱| 男女那种视频在线观看| 19禁男女啪啪无遮挡网站| 中文资源天堂在线| 极品教师在线免费播放| 婷婷亚洲欧美| 欧美成狂野欧美在线观看|