欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)傳輸方法和系統(tǒng)與流程

文檔序號(hào):11807722閱讀:276來(lái)源:國(guó)知局
數(shù)據(jù)傳輸方法和系統(tǒng)與流程

本申請(qǐng)涉及計(jì)算機(jī)領(lǐng)域,具體涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及數(shù)據(jù)傳輸方法和系統(tǒng)。



背景技術(shù):

在系統(tǒng)(例如自動(dòng)駕駛汽車控制系統(tǒng))運(yùn)行過(guò)程中,確保系統(tǒng)中多個(gè)進(jìn)程之間保持高效、安全的通信是確保系統(tǒng)穩(wěn)定性、安全性的重中之重。目前,通常采用的多進(jìn)程傳輸數(shù)據(jù)的方式為:數(shù)據(jù)接收進(jìn)程按順序從共享內(nèi)存段中讀取數(shù)據(jù),在數(shù)據(jù)接收進(jìn)程處理數(shù)據(jù)的頻率低于數(shù)據(jù)發(fā)送進(jìn)程發(fā)送數(shù)據(jù)的頻率時(shí),遵循最慢讀取數(shù)據(jù)原則。數(shù)據(jù)發(fā)送進(jìn)程則以讀取數(shù)據(jù)最慢的接收程序節(jié)點(diǎn)速度為基準(zhǔn),向共享內(nèi)存段中寫入數(shù)據(jù)。

然而,當(dāng)采用上述方式傳輸數(shù)據(jù)時(shí),一方面,造成數(shù)據(jù)發(fā)送進(jìn)程阻塞,大量新的數(shù)據(jù)無(wú)法及時(shí)寫入到共享內(nèi)存段中。另一方面,導(dǎo)致數(shù)據(jù)接收進(jìn)程僅可以對(duì)舊數(shù)據(jù)進(jìn)行處理,在諸如自動(dòng)駕駛汽車控制系統(tǒng)中需要通過(guò)數(shù)據(jù)接收進(jìn)程對(duì)數(shù)據(jù)的處理而做出行車決策時(shí),導(dǎo)致自動(dòng)駕駛汽車控制系統(tǒng)做出過(guò)時(shí)和錯(cuò)誤的行車決策,無(wú)法滿足諸如自動(dòng)駕駛汽車控制系統(tǒng)對(duì)實(shí)時(shí)性要求極高的需求。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)?zhí)峁┝藬?shù)據(jù)傳輸方法和系統(tǒng),用于解決上述背景技術(shù)部分存在的技術(shù)問(wèn)題。

第一方面,本申請(qǐng)?zhí)峁┝藬?shù)據(jù)傳輸方法,該方法包括:數(shù)據(jù)接收方獲取用于在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引,最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址;判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致;根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

第二方面,本申請(qǐng)?zhí)峁┝藬?shù)據(jù)傳輸系統(tǒng),該數(shù)據(jù)傳輸系統(tǒng)包括:數(shù)據(jù)接收方、數(shù)據(jù)發(fā)送方;其中,數(shù)據(jù)接收方用于獲取用于在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引,最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址;判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致;根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

本申請(qǐng)?zhí)峁┑臄?shù)據(jù)傳輸方法和系統(tǒng),通過(guò)數(shù)據(jù)接收方獲取用于在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引,最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址;判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致;根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。實(shí)現(xiàn)了當(dāng)數(shù)據(jù)接收進(jìn)程處理數(shù)據(jù)的頻率低于數(shù)據(jù)發(fā)送進(jìn)程發(fā)送數(shù)據(jù)的頻率時(shí),數(shù)據(jù)接收進(jìn)程直接讀取最新的數(shù)據(jù),丟棄未及時(shí)處理的舊數(shù)據(jù),同時(shí)并不影響其他處理數(shù)據(jù)較快的數(shù)據(jù)接收進(jìn)程。從而滿足諸如自動(dòng)駕駛汽車控制系統(tǒng)中對(duì)進(jìn)程處理數(shù)據(jù)的實(shí)時(shí)性的要求極高的需求,提升數(shù)據(jù)傳輸系統(tǒng)的安全性和穩(wěn)定性。

附圖說(shuō)明

通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:

圖1示出了可以應(yīng)用于本申請(qǐng)的數(shù)據(jù)傳輸方法或系統(tǒng)的示例性系統(tǒng)架構(gòu);

圖2示出了根據(jù)本申請(qǐng)的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程圖;

圖3示出了根據(jù)本申請(qǐng)的數(shù)據(jù)傳輸方法的一個(gè)示例性原理圖;

圖4示出了根據(jù)本申請(qǐng)的數(shù)據(jù)傳輸系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;

圖5示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的數(shù)據(jù)傳輸系統(tǒng)的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。

需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。

圖1示出了可以應(yīng)用于本申請(qǐng)的數(shù)據(jù)傳輸方法或系統(tǒng)的實(shí)施例的示例性系統(tǒng)架構(gòu)100。

如圖1所示,系統(tǒng)架構(gòu)100可以包括:數(shù)據(jù)發(fā)送方101、多個(gè)數(shù)據(jù)接收方102、共享內(nèi)存段103。數(shù)據(jù)發(fā)送方101、數(shù)據(jù)接收方102利用共享內(nèi)存段103傳輸數(shù)據(jù)。數(shù)據(jù)發(fā)送方101、數(shù)據(jù)接收方102可以為運(yùn)行于同一系統(tǒng)中的進(jìn)程。以自動(dòng)駕駛汽車控制系統(tǒng)為例,數(shù)據(jù)發(fā)送方101可以用于采集數(shù)據(jù),例如數(shù)據(jù)發(fā)送方為傳感器處理程序。數(shù)據(jù)接收方102可以用于處理數(shù)據(jù),例如數(shù)據(jù)接收方為決策和控制程序。

請(qǐng)參考圖2,其示出了根據(jù)本申請(qǐng)的數(shù)據(jù)傳輸方法的一個(gè)實(shí)施例的流程200。該方法包括以下步驟:

步驟201,數(shù)據(jù)接收方獲取用于數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引。

在實(shí)施例中,最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址。

在本實(shí)施例中,數(shù)據(jù)接收方和數(shù)據(jù)發(fā)送方之間可以通過(guò)共享內(nèi)存段傳輸數(shù)據(jù)。以數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方為自動(dòng)駕駛汽車控制系統(tǒng)中的兩個(gè)進(jìn)程為例,其中一個(gè)進(jìn)程為數(shù)據(jù)發(fā)送進(jìn)程,用于通過(guò)攝像頭采集自動(dòng)駕駛汽車當(dāng)前行駛在的道路上的路況圖像。另外一個(gè)進(jìn)程為數(shù)據(jù)接收進(jìn)程,用于對(duì)路況圖像進(jìn)行分析識(shí)別障礙物。數(shù)據(jù)發(fā)送進(jìn)程需要提供采集到的路況圖像,數(shù)據(jù)接收進(jìn)程需要接收數(shù)據(jù)發(fā)送進(jìn)程采集到的路況圖像進(jìn)行分析識(shí)別障礙物。可以將數(shù)據(jù)發(fā)送進(jìn)程與數(shù)據(jù)接收進(jìn)程之間的待傳輸數(shù)據(jù)的類型即路況圖像稱之為話題名稱。數(shù)據(jù)發(fā)送方可以創(chuàng)建話題名稱共享內(nèi)存段。用于數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的數(shù)據(jù)傳輸。

數(shù)據(jù)發(fā)送方可以將待傳輸數(shù)據(jù)寫入共享內(nèi)存段,數(shù)據(jù)接收方可以從內(nèi)存數(shù)據(jù)段中讀取出由數(shù)據(jù)發(fā)送方寫入到共享內(nèi)存段中的待傳輸數(shù)據(jù)。共享內(nèi)存段可以以共享內(nèi)存塊為單位,數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方可以以內(nèi)存數(shù)據(jù)塊為單位進(jìn)行待傳輸數(shù)據(jù)的寫入和讀取。每一個(gè)共享內(nèi)存塊對(duì)應(yīng)一個(gè)索引,可以通過(guò)共享內(nèi)存塊的索引查找出相應(yīng)的共享內(nèi)存塊,進(jìn)行數(shù)據(jù)的寫入和讀取。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)發(fā)送方為數(shù)據(jù)發(fā)送進(jìn)程,數(shù)據(jù)接收方為數(shù)據(jù)接收進(jìn)程。

在本實(shí)施例中,數(shù)據(jù)發(fā)送方可以為數(shù)據(jù)發(fā)送進(jìn)程,數(shù)據(jù)接收方可以為數(shù)據(jù)接收進(jìn)程。在本實(shí)施例中,多個(gè)數(shù)據(jù)發(fā)送進(jìn)程與多個(gè)數(shù)據(jù)接收進(jìn)程之間可以通過(guò)同一共享內(nèi)存段傳輸數(shù)據(jù)。多個(gè)數(shù)據(jù)發(fā)送進(jìn)程與多個(gè)數(shù)據(jù)接收進(jìn)程之間可以通過(guò)共享內(nèi)存塊的索引查找出索引對(duì)應(yīng)的共享內(nèi)存塊,在查找出的索引對(duì)應(yīng)的共享內(nèi)存塊中進(jìn)行數(shù)據(jù)的寫入和讀取。

在本實(shí)施例中,利用共享內(nèi)段進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)發(fā)送方與數(shù)據(jù)接收方可以為多個(gè)。多個(gè)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方可以對(duì)應(yīng)一個(gè)話題名稱。多個(gè)數(shù)據(jù)發(fā)送方可以將待傳輸數(shù)據(jù)寫入話題名稱對(duì)應(yīng)的共享內(nèi)存段,多個(gè)數(shù)據(jù)接收方可以從話題名稱對(duì)應(yīng)的共享內(nèi)存段讀取待傳輸數(shù)據(jù)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,共享內(nèi)存段包括:通用標(biāo)志位變量、通用標(biāo)志位鎖變量,通用標(biāo)志位變量用于存儲(chǔ)最新共享內(nèi)存塊索引。

在本實(shí)施例中,可以在共享內(nèi)存段中存儲(chǔ)通用標(biāo)志位變量,通用標(biāo)志位變量可以用于存儲(chǔ)最新共享內(nèi)存塊索引。當(dāng)數(shù)據(jù)發(fā)送進(jìn)程與數(shù)據(jù)接收進(jìn)程需要修改通用標(biāo)志位變量的數(shù)值時(shí),需要首先獲取通用標(biāo)志位鎖變量。然后,修改通用標(biāo)志位變量的數(shù)值。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,還包括:數(shù)據(jù)發(fā)送進(jìn)程獲取通用標(biāo)志位鎖變量;確定內(nèi)存數(shù)據(jù)段中用于存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊的索引;將待寫入的數(shù)據(jù)寫入索引對(duì)應(yīng)的共享內(nèi)存塊;當(dāng)將待寫入的數(shù)據(jù)寫入索引對(duì)應(yīng)的共享內(nèi)存塊成功時(shí),獲取通用標(biāo)志位鎖變量,將通用標(biāo)志位變量的數(shù)值更新為存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊的索引。

在本實(shí)施例中,在數(shù)據(jù)發(fā)送進(jìn)程向共享內(nèi)存段寫入數(shù)據(jù)時(shí),數(shù)據(jù)發(fā)送進(jìn)程首先獲取通用標(biāo)志位鎖變量。然后,數(shù)據(jù)發(fā)送進(jìn)程確定共享內(nèi)存段中用于存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊的索引。數(shù)據(jù)發(fā)送進(jìn)程將數(shù)據(jù)寫入確定出的共享內(nèi)存段中用于存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊中。當(dāng)將待寫入的數(shù)據(jù)寫入索引對(duì)應(yīng)的共享內(nèi)存塊成功時(shí),獲取通用標(biāo)志位變量,將通用標(biāo)志位變量的數(shù)值更新為用于存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊的索引。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)接收方獲取共享內(nèi)存段的最新共享內(nèi)存塊索引包括:數(shù)據(jù)接收進(jìn)程獲取通用標(biāo)志位鎖變量;讀取通用標(biāo)志位變量,以獲取共享內(nèi)存段的最新共享內(nèi)存塊索引。

在本實(shí)施例中,在數(shù)據(jù)接收進(jìn)程需要從共享內(nèi)存段中讀取數(shù)據(jù)時(shí),需要首先獲取通用標(biāo)志位鎖變量。數(shù)據(jù)接收進(jìn)程獲取通用標(biāo)志位鎖變量之后,可以讀取通用標(biāo)志位變量,以獲取共享內(nèi)存段的最新共享內(nèi)存塊索引。

步驟202,判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致。

在本實(shí)施例中,在通過(guò)步驟201獲取用于數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引即最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的索引之后,可以判斷由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致。

以數(shù)據(jù)發(fā)送方為數(shù)據(jù)發(fā)送進(jìn)程,數(shù)據(jù)接收方為數(shù)據(jù)接收進(jìn)程為例,多個(gè)數(shù)據(jù)發(fā)送進(jìn)程與多個(gè)數(shù)據(jù)接收進(jìn)程之間可以通過(guò)同一共享內(nèi)存段傳輸數(shù)據(jù)。最新寫入的數(shù)據(jù)可以由數(shù)據(jù)發(fā)送進(jìn)程中任意一個(gè)進(jìn)程寫入到共享內(nèi)存段中。當(dāng)多個(gè)數(shù)據(jù)接收進(jìn)程中任意一個(gè)數(shù)據(jù)接收進(jìn)程從共享內(nèi)存段中讀取數(shù)據(jù)時(shí),可以判斷最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的索引與該數(shù)據(jù)接收進(jìn)程上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致。

步驟203,根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

在本實(shí)施例中,在通過(guò)步驟202判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致之后,可以根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)包括:當(dāng)判斷結(jié)果為最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引一致時(shí),不讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù);當(dāng)判斷結(jié)果為最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引不一致時(shí),讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

以數(shù)據(jù)發(fā)送方為數(shù)據(jù)發(fā)送進(jìn)程,數(shù)據(jù)接收方為數(shù)據(jù)接收進(jìn)程為例,多個(gè)數(shù)據(jù)發(fā)送進(jìn)程與多個(gè)數(shù)據(jù)接收進(jìn)程之間可以通過(guò)同一共享內(nèi)存段傳輸數(shù)據(jù)。在多個(gè)數(shù)據(jù)接收進(jìn)程中任意一個(gè)數(shù)據(jù)接收進(jìn)程從共享內(nèi)存段中讀取數(shù)據(jù)時(shí),當(dāng)該數(shù)據(jù)接收進(jìn)程判斷出最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的索引與數(shù)據(jù)接收進(jìn)程上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引一致時(shí),則可以確定該數(shù)據(jù)接收進(jìn)程已獲取共享內(nèi)存塊中最新的數(shù)據(jù),則不從最新共享內(nèi)存塊索引中讀取數(shù)據(jù)。當(dāng)該數(shù)據(jù)接收進(jìn)程判斷出最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的索引與數(shù)據(jù)接收進(jìn)程上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引不一致時(shí),則可以確定讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

以數(shù)據(jù)發(fā)送方與數(shù)據(jù)接收方為自動(dòng)駕駛系統(tǒng)中的進(jìn)程為例,數(shù)據(jù)發(fā)送進(jìn)程可以用于通過(guò)攝像頭采集自動(dòng)駕駛汽車當(dāng)前行駛在的道路上的路況圖像,數(shù)據(jù)接收進(jìn)程可以用于對(duì)路況圖像進(jìn)行分析識(shí)別障礙物。數(shù)據(jù)發(fā)送進(jìn)程和數(shù)據(jù)接收進(jìn)程之間的話題名稱可以為傳輸?shù)臄?shù)據(jù)的類型即路況圖像。利用共享內(nèi)段進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)發(fā)送方與數(shù)據(jù)接收方可以為多個(gè)。多個(gè)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方可以對(duì)應(yīng)一個(gè)話題名稱。多個(gè)數(shù)據(jù)發(fā)送方可以將待傳輸數(shù)據(jù)寫入話題名稱對(duì)應(yīng)的共享內(nèi)存段,多個(gè)數(shù)據(jù)接收方可以從話題名稱對(duì)應(yīng)的共享內(nèi)存段讀取待傳輸數(shù)據(jù)。

當(dāng)數(shù)據(jù)接收進(jìn)程處理數(shù)據(jù)的頻率低于數(shù)據(jù)發(fā)送進(jìn)程發(fā)送數(shù)據(jù)的頻率時(shí),數(shù)據(jù)接收進(jìn)程可以直接讀取最新的數(shù)據(jù)即最新的路況圖像,丟棄未及時(shí)處理的舊數(shù)據(jù)即舊的路況圖像,使得該數(shù)據(jù)接收進(jìn)程依然可以根據(jù)最新的路況圖像來(lái)識(shí)別障礙物。同時(shí)并不影響其他處理數(shù)據(jù)較快的數(shù)據(jù)接收進(jìn)程路況圖像對(duì)障礙物進(jìn)行識(shí)別。從而滿足自動(dòng)駕駛汽車控制系統(tǒng)中對(duì)進(jìn)程處理數(shù)據(jù)的實(shí)時(shí)性的要求極高的需求,數(shù)據(jù)接收進(jìn)程獲取足夠量的數(shù)據(jù)進(jìn)行分析,實(shí)時(shí)而有效地生成行車決策,提升自動(dòng)駕駛汽車控制系統(tǒng)的安全性和穩(wěn)定性。

請(qǐng)參考圖3,其示出了根據(jù)本申請(qǐng)的數(shù)據(jù)傳輸方法的一個(gè)示例性原理圖。

在圖3中,示出了發(fā)送程序節(jié)點(diǎn)、共享內(nèi)存段、多個(gè)接收程序節(jié)點(diǎn)即接收程序節(jié)點(diǎn)1、接收程序節(jié)點(diǎn)2、接收程序節(jié)點(diǎn)3。發(fā)送程序節(jié)點(diǎn)可以為數(shù)據(jù)發(fā)送進(jìn)程,接收程序節(jié)點(diǎn)可以為數(shù)據(jù)接收進(jìn)程。

發(fā)送程序節(jié)點(diǎn)可以發(fā)布一個(gè)話題名稱,多個(gè)接收程序節(jié)點(diǎn)均可以訂閱該話題名稱。發(fā)送程序節(jié)點(diǎn)1與多個(gè)接收程序節(jié)點(diǎn)之間可以通過(guò)話題名稱對(duì)應(yīng)的共享內(nèi)存段進(jìn)行數(shù)據(jù)傳輸。

發(fā)送程序節(jié)點(diǎn)與多個(gè)接收程序節(jié)點(diǎn)利用話題對(duì)應(yīng)的共享內(nèi)存段寫入或讀取待傳輸數(shù)據(jù)時(shí),可以以共享內(nèi)存段中的共享內(nèi)存塊為單位進(jìn)行寫入或讀取。存儲(chǔ)在共享內(nèi)存塊中的數(shù)據(jù)可以稱之為消息。

在該話題名稱對(duì)應(yīng)的共享內(nèi)存段中,可以存儲(chǔ)通用標(biāo)志符,通用標(biāo)志符用于發(fā)送程序節(jié)點(diǎn)按序?qū)懭霐?shù)據(jù)以及接收程序節(jié)點(diǎn)按序讀取數(shù)據(jù)。通用標(biāo)志符可以包含通用標(biāo)志位變量和通用標(biāo)志位鎖變量。其中,標(biāo)志位變量用于標(biāo)識(shí)當(dāng)前由發(fā)送程序節(jié)點(diǎn)寫入數(shù)據(jù)的最新共享內(nèi)存塊索引。訂閱該話題名稱的所有接收程序節(jié)點(diǎn)可以通過(guò)讀取該標(biāo)志位變量來(lái)決定下一個(gè)可被讀取的共享內(nèi)存塊。通用標(biāo)志位鎖變量為一個(gè)互斥型變量。由于同一話題名稱下的發(fā)送程序節(jié)點(diǎn)和接收程序節(jié)點(diǎn)可以為多個(gè),通用標(biāo)志位鎖變量用于確保同一時(shí)刻僅有一個(gè)發(fā)送程序節(jié)點(diǎn)或接收程序節(jié)點(diǎn)修改或讀取通用標(biāo)志位變量。

下面說(shuō)明發(fā)送程序節(jié)點(diǎn)向共享內(nèi)存段寫入數(shù)據(jù)的過(guò)程:

當(dāng)發(fā)送程序節(jié)點(diǎn)需要將消息寫入共享內(nèi)存段中時(shí),可以首先獲取通用標(biāo)志位鎖變量后讀取當(dāng)前通用標(biāo)志位變量數(shù)值,遍歷計(jì)算出共享內(nèi)存段中下一個(gè)可寫入數(shù)據(jù)的共享內(nèi)存塊,即當(dāng)前狀態(tài)下一個(gè)未被寫入數(shù)據(jù)或者讀取數(shù)據(jù)的共享內(nèi)存塊。發(fā)送程序節(jié)點(diǎn)可以獲取該共享內(nèi)存塊的排他鎖,同時(shí),記錄目前有一個(gè)發(fā)送程序節(jié)點(diǎn)準(zhǔn)備寫入數(shù)據(jù),將消息寫入到該共享內(nèi)存塊。發(fā)送程序節(jié)點(diǎn)如果寫入消息成功,可以再次拿到通用標(biāo)志位鎖變量后修改通用標(biāo)志位變量。發(fā)送程序節(jié)點(diǎn)如果數(shù)據(jù)寫入失敗,則可以丟棄該消息,返回繼續(xù)發(fā)送下一個(gè)消息。

下面說(shuō)明多個(gè)接收程序節(jié)點(diǎn)從共享內(nèi)存段讀取數(shù)據(jù)的過(guò)程:

接收程序節(jié)點(diǎn)獲取通用標(biāo)志位鎖變量后,可以讀取當(dāng)前通用標(biāo)志位變量數(shù)值,根據(jù)通用標(biāo)志位變量數(shù)值,查找出下一個(gè)可以讀取數(shù)據(jù)的共享內(nèi)存塊。然后,可以檢測(cè)該共享內(nèi)存塊的索引和上次讀取的共享內(nèi)存塊索引是否一致。如果該共享內(nèi)存塊的索引和上次讀取的共享內(nèi)存塊索引一致,說(shuō)明接收程序節(jié)點(diǎn)讀取數(shù)據(jù)的頻率大于發(fā)送程序節(jié)點(diǎn)寫入數(shù)據(jù)的頻率,則不再讀取該共享內(nèi)存塊對(duì)應(yīng)的消息,可以直接發(fā)送一個(gè)條件信號(hào)量等待下一次新消息寫入。如果該共享內(nèi)存塊的索引和上次讀取的共享內(nèi)存塊索引不一致,則說(shuō)明接收程序節(jié)點(diǎn)讀取數(shù)據(jù)的頻率不大于發(fā)送程序節(jié)點(diǎn)寫入數(shù)據(jù)的頻率,接收程序節(jié)點(diǎn)可以直接忽略從上次讀取到本次讀取之間的消息,直接讀取該共享內(nèi)存塊對(duì)應(yīng)的最新消息。接收程序節(jié)點(diǎn)此次讀取消息無(wú)論成功還是失敗,均可以返回開(kāi)始讀取下一個(gè)數(shù)據(jù)。

在本實(shí)施例中,發(fā)送程序節(jié)點(diǎn)可以不斷地將數(shù)據(jù)寫入共享內(nèi)存段中,當(dāng)接收程序節(jié)點(diǎn)處理數(shù)據(jù)的頻率低于發(fā)送程序節(jié)點(diǎn)發(fā)送數(shù)據(jù)的頻率的時(shí),接收程序節(jié)點(diǎn)直接讀取最新的數(shù)據(jù),丟棄未及時(shí)處理的舊數(shù)據(jù)。一方面,避免了發(fā)送程序節(jié)點(diǎn)因考慮處理數(shù)據(jù)頻率低的進(jìn)程而造成阻塞的問(wèn)題,提升數(shù)據(jù)傳輸系統(tǒng)的運(yùn)行效率。另一方面,使得最新的數(shù)據(jù)可以及時(shí)地寫入共享內(nèi)存段中,接收程序節(jié)點(diǎn)可以對(duì)最新的數(shù)據(jù)進(jìn)行處理,從而滿足諸如自動(dòng)駕駛汽車控制系統(tǒng)中對(duì)進(jìn)程處理數(shù)據(jù)的實(shí)時(shí)性的要求極高的需求。

請(qǐng)參考圖4,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)傳輸系統(tǒng)的一個(gè)實(shí)施例,該實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng)。

如圖4所示,本實(shí)施例的數(shù)據(jù)傳輸系統(tǒng)400包括:數(shù)據(jù)接收方401、數(shù)據(jù)發(fā)送方402。其中,數(shù)據(jù)接收方401用于獲取用于數(shù)據(jù)發(fā)送方402和數(shù)據(jù)接收方401傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引,最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址;判斷最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致;根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)發(fā)送方為數(shù)據(jù)發(fā)送進(jìn)程,數(shù)據(jù)接收方為數(shù)據(jù)接收進(jìn)程。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,共享內(nèi)存段包括:通用標(biāo)志位變量、通用標(biāo)志位鎖變量,通用標(biāo)志位變量用于存儲(chǔ)最新共享內(nèi)存塊索引。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)接收進(jìn)程用于:獲取通用標(biāo)志位鎖變量;讀取通用標(biāo)志位變量,以獲取共享內(nèi)存段的最新共享內(nèi)存塊索引。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)發(fā)送進(jìn)程用于:獲取通用標(biāo)志位鎖變量;確定共享內(nèi)存段中用于存儲(chǔ)待寫入的數(shù)據(jù)的共享內(nèi)存塊的索引;將待寫入的數(shù)據(jù)寫入索引對(duì)應(yīng)的共享內(nèi)存塊;當(dāng)將待寫入的數(shù)據(jù)寫入索引對(duì)應(yīng)的共享內(nèi)存塊成功時(shí),獲取通用標(biāo)志位鎖變量;將通用標(biāo)志位變量的數(shù)值更新為共享內(nèi)存塊的索引。

在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)接收進(jìn)程用于:當(dāng)判斷結(jié)果為最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引一致時(shí),不讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù);當(dāng)判斷結(jié)果為最新共享內(nèi)存塊索引與數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引不一致時(shí),讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

圖5示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的數(shù)據(jù)傳輸系統(tǒng)的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。

如圖5所示,計(jì)算機(jī)系統(tǒng)500包括中央處理單元(CPU)501,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)502中的程序或者從存儲(chǔ)部分508加載到隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)503中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在RAM503中,還存儲(chǔ)有系統(tǒng)500操作所需的各種程序和數(shù)據(jù)。CPU501、ROM 502以及RAM503通過(guò)總線504彼此相連。輸入/輸出(I/O)接口505也連接至總線504。

以下部件連接至I/O接口505:包括鍵盤、鼠標(biāo)等的輸入部分506;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分507;包括硬盤等的存儲(chǔ)部分508;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分509。通信部分509經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器510也根據(jù)需要連接至I/O接口505??刹鹦督橘|(zhì)511,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器510上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分508。

特別地,根據(jù)本公開(kāi)的實(shí)施例,上文參考流程圖描述的過(guò)程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開(kāi)的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過(guò)通信部分509從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)511被安裝。

附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。

作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述設(shè)備中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:數(shù)據(jù)接收方獲取用于在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方傳輸數(shù)據(jù)的共享內(nèi)存段的最新共享內(nèi)存塊索引,所述最新共享內(nèi)存塊索引用于指示由數(shù)據(jù)發(fā)送方最新寫入的數(shù)據(jù)所在的共享內(nèi)存段中的共享內(nèi)存塊的地址;判斷所述最新共享內(nèi)存塊索引與所述數(shù)據(jù)接收方上一次讀取的數(shù)據(jù)對(duì)應(yīng)的共享內(nèi)存塊索引是否一致;根據(jù)判斷結(jié)果,確定是否讀取最新共享內(nèi)存塊索引對(duì)應(yīng)的共享內(nèi)存塊中的數(shù)據(jù)。

以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說(shuō)明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開(kāi)的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沐川县| 松阳县| 郑州市| 都江堰市| 孝昌县| 宁夏| 英吉沙县| 若尔盖县| 福清市| 兴仁县| 二连浩特市| 惠州市| 监利县| 孟州市| 五河县| 剑阁县| 云霄县| 旬邑县| 临清市| 阿瓦提县| 鹰潭市| 仁寿县| 米林县| 丰县| 双城市| 靖宇县| 通化市| 锦屏县| 湘潭市| 芜湖县| 乳源| 嘉黎县| 永泰县| 康定县| 金山区| 洛宁县| 内黄县| 张掖市| 易门县| 宝兴县| 会泽县|