日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

智能汽車車用基礎(chǔ)軟件平臺(tái)關(guān)聯(lián)技術(shù)

2022-09-25 17:59:10·  來源:汽車測試網(wǎng)  
 

(2) 主要功能


SOME/IP-SD 有兩個(gè)主要功能:


一是應(yīng)用程序之間傳達(dá)自己的服務(wù)或獲取對方的服務(wù)是否可用。二是向其他應(yīng)用程序訂閱服務(wù),也 就是通過 SOME/IP-SD 對服務(wù)進(jìn)行訂閱,然后再用 SOME/IP 里的 Notification 類型消息發(fā)布訂閱內(nèi)容。


SOME/IP-SD 報(bào)文主要有以下幾類:


① OfferService:Server 服務(wù) Ready 并滿足服務(wù)發(fā)布條件后,主動(dòng)發(fā)出 OfferService 報(bào)文,告知組播內(nèi)其他節(jié)點(diǎn),該服務(wù)已經(jīng)啟動(dòng),可以創(chuàng)建服務(wù)連接。


② FindService:當(dāng) Client 在網(wǎng)絡(luò)中未收到相關(guān)服務(wù)的 OfferService 報(bào)文或者暫時(shí)未收到,而 Client 又需要訪問該服務(wù),那么 Client 可以發(fā)送 FindService 報(bào)文主動(dòng)尋找服務(wù),如果 Server 服務(wù) Ready,會(huì)回復(fù) OfferService 報(bào)文。


③ StopOfferService:當(dāng) Server 發(fā)現(xiàn)服務(wù)不可用,不滿足服務(wù)發(fā)布條件時(shí),會(huì)主動(dòng)發(fā)送 StopOffer- Service 報(bào)文,告知組播內(nèi)其他節(jié)點(diǎn),該服務(wù)已不可用,停止服務(wù)支持。


④ Subscribe:事件組的交互采用 “訂閱- 發(fā)布” 機(jī)制,當(dāng) Client 收到 OfferServic 報(bào)文之后,通過發(fā)送 Subscribe 報(bào)文主動(dòng)跟 Server 訂閱相關(guān)事件組。


⑤ SubscribeACK/SubscribeNACK:當(dāng) Server 收到 Client 的訂閱報(bào)文之后,需要先行判斷是否符合可訂閱的條件,如果該 Client 滿足事件組訂閱條件,則發(fā)送 SubscribeACK,告知 Client 訂閱成功。當(dāng)事件組內(nèi)的事件準(zhǔn)備就緒之后,Server 會(huì)以約定好的形式發(fā)送相關(guān)事件給成功訂閱的 Client。如果該Client 不符合事件組訂閱條件,Server 會(huì)直接回復(fù) SubscribeNACK,告知訂閱不成功。


⑥ StopSubscribe :當(dāng) Client 訂閱某個(gè)事件組之后,發(fā)現(xiàn)后續(xù)并不在需要該事件組的數(shù)據(jù)了,可發(fā)送 StopSubscribe 報(bào)文向 Server 取消訂閱相應(yīng)事件。


(3) 通信行為


服務(wù)端和客戶端的通信行為如圖 4.5-5 所示,包含以下幾個(gè)階段:

圖片

圖4.5-5 SOME/IP協(xié)議服務(wù)端和客戶端的通信行為階段

⑦ 服務(wù)端通信行為:

服務(wù)端通信行為如圖 4.5-6 所示。

圖片

圖4.5-6 服務(wù)S端通信行E為

a. Down Phase

在這個(gè)階段,Service 是不可用的,即服務(wù)端無法提供服務(wù)。

b. Initial Wait Phase

·  當(dāng)服務(wù)準(zhǔn)備完畢 (Available) 后,進(jìn)入此階段。

·  如果此階段收到 Find Service 報(bào)文,服務(wù)端忽略此消息,不做任何處理。

·  如果服務(wù)不可用了,將返回進(jìn)入 Down Phase。

·  此階段需要定義時(shí)間參數(shù) INITIAL_DELAY_Min 和 INITIAL_DELAY_Max,初始化時(shí)間取其之間的隨機(jī)值,當(dāng)定時(shí)器超時(shí)后,發(fā)送第一幀 OfferService,標(biāo)志著進(jìn)入下一個(gè)階段。

c. Repetition Phase

·  為了讓客戶端快速找到有哪些 Service,此階段重復(fù)發(fā)送 OfferService,重復(fù)次數(shù)由 REPETI- TIONS_MAX 決定。

·  發(fā)送間隔以 REPETITIONS_base_DELAY 為基本時(shí)間,每發(fā)送一次,間隔是前一間隔的 2 倍。

·  如果收到某客戶端的 FindService,不影響當(dāng)前階段的發(fā)送計(jì)數(shù)和計(jì)時(shí),延遲一定時(shí)間 (REQUEST_ RESPONSE_DELAY) 后,單獨(dú)發(fā)送單播 OfferService 給服務(wù)請求端。

·  如果收到 SubscribeEventgroup 后,發(fā)送單播 Ack/Nack,啟動(dòng)此訂閱Entry 的 TTL 計(jì)時(shí)器。

·  如果收到 StopSubscribeEventgroup 后,停止此訂閱 Entry 的 TTL 計(jì)時(shí)器。

· 如果服務(wù)不可用,離開此階段進(jìn)入 Down Phase,并發(fā)送 StopOfferService 通知所有客戶端。

d. Main Phase

· 此階段將周期性發(fā)送   OfferService,周期時(shí)間為CYCLIC_OFFER_DELAY。

·  如果收到某客戶端的 FindService,不影響發(fā)送計(jì)數(shù),延遲一定時(shí)間 (REQUEST_RESPONSE_ DELAY) 后,發(fā)送單播 OfferService 給服務(wù)請求端。

·  如果收到 SubscribeEventgroup 后,發(fā)送單播 Ack/Nack,啟動(dòng)此訂閱Entry 的 TTL 計(jì)時(shí)器。

·  收到 StopSubscribeEventgroup 后,停止此訂閱 Entry 的 TTL 計(jì)時(shí)器。

·  如果服務(wù)不可用,離開此階段進(jìn)入 Down Phase,并發(fā)送 StopOfferService。

服務(wù)端狀態(tài)機(jī)轉(zhuǎn)換圖如圖 4.5-7 所示。

圖片

圖4.5-7 服務(wù)端S狀態(tài)機(jī)轉(zhuǎn)E換圖

⑧ 客戶端通信行為

客戶端通信行為如圖 4.5-8 所示。

圖片

圖4.5-8 客戶端通信行為

分享到:
 
反對 0 舉報(bào) 0 收藏 0 評論 0
滬ICP備11026917號-25