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

一種報文路由處理方法及裝置與流程

文檔序號:12492487閱讀:549來源:國知局
一種報文路由處理方法及裝置與流程

本發(fā)明涉及汽車ECU(電子控制單元,Electronic Control Unit)軟件和硬件設(shè)計領(lǐng)域,特別涉及一種報文路由處理方法及裝置。



背景技術(shù):

對于汽車中具備網(wǎng)關(guān)功能的ECU(電子控制單元,Electronic Control Unit),路由功能(包括報文路由(從源網(wǎng)絡(luò)接收源報文,根據(jù)源報文的標(biāo)識獲取目標(biāo)報文的標(biāo)識,并根據(jù)目標(biāo)報文的標(biāo)識將目標(biāo)報文路由至目標(biāo)網(wǎng)絡(luò))和信號路由)是其主要的功能之一。

其中,目前有兩種方式實(shí)現(xiàn)報文路由,具體為:第一種:一個路由函數(shù)實(shí)現(xiàn)一對報文路由關(guān)系,路由表最終體現(xiàn)為一系列的路由函數(shù),其中路由表存儲在上層應(yīng)用中。在某個(底層通信驅(qū)動軟件的)報文接收回調(diào)函數(shù)中調(diào)用相應(yīng)的路由函數(shù)實(shí)現(xiàn)該報文路由功能;

第二種:一個源報文-目標(biāo)報文的配置項體現(xiàn)一對報文路由關(guān)系,路由表最終體現(xiàn)為一張體現(xiàn)報文路由關(guān)系的配置項列表,其中配置項列表存儲在上層應(yīng)用中。配置項列表中的每個源報文-目標(biāo)報文的配置項有兩個關(guān)鍵的變量:一個是源報文的ID(身份標(biāo)識);另一個是目標(biāo)報文的ID。源報文的ID和目標(biāo)報文的ID均由底層通信驅(qū)動軟件模塊提供。在底層通信驅(qū)動軟件提供的統(tǒng)一的接收回調(diào)函數(shù)中調(diào)用處理源報文-目標(biāo)報文配置項列表的函數(shù)實(shí)現(xiàn)報文路由功能。

由于第一種方式中某個具體的路由函數(shù)由一個相應(yīng)的報文接收回調(diào)函數(shù)調(diào)用,因此底層通信驅(qū)動軟件發(fā)生變更時,上層應(yīng)用的路由函數(shù)也需要發(fā)生相應(yīng)的變動;由于第二種方式中,配置項列表中的源報文的ID和目標(biāo)報文的ID均來至底層通信驅(qū)動軟件模塊,因此一旦底層驅(qū)動模塊發(fā)生變更,配置項列表也隨之變更。

由上可見,兩種實(shí)現(xiàn)報文路由的方式存在的缺陷為:上層應(yīng)用和底層通信驅(qū)動軟件的耦合性較強(qiáng),兩者獨(dú)立性差,增加了軟件風(fēng)險控制難度,并且在路由表發(fā)生變化時,整個軟件工程需要重新編譯,延長了路由功能的開發(fā)周期。



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

為解決上述技術(shù)問題,本申請實(shí)施例提供一種報文路由處理方法及裝置,以達(dá)到降低軟件風(fēng)險控制難度,并且縮短路由功能的開發(fā)周期的目的,技術(shù)方案如下:

一種報文路由處理方法,包括:

接收通信驅(qū)動軟件模塊發(fā)送的報文接收指示以及接收報文信息;

從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表,并在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系;

若在所述路由配置數(shù)據(jù)列表中查找到所述接收報文信息對應(yīng)的路由關(guān)系,則從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息;

發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊;

所述通信驅(qū)動軟件模塊根據(jù)所述目標(biāo)報文的信息,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

優(yōu)選的,所述路由配置數(shù)據(jù)列表的生成過程包括:

提取路由表中各個源報文的源報文信息,所述源報文信息包括接收的通道,源報文ID,源報文最小長度;

根據(jù)各個所述源報文ID生成源報文標(biāo)識列表,并根據(jù)所述源報文標(biāo)識列表生成哈希查找表;

根據(jù)所述源報文標(biāo)識列表和所述哈希查找表,生成各個源報文的接收標(biāo)識;

提取所述路由表中各個目標(biāo)報文的目標(biāo)報文信息,所述目標(biāo)報文信息包括:目標(biāo)報文的數(shù)量、發(fā)送的通道、目標(biāo)報文ID和目標(biāo)報文長度,其中各個所述目標(biāo)報文的目標(biāo)報文ID,組成目標(biāo)報文ID列表;

按照預(yù)設(shè)原則為各個所述目標(biāo)報文分配目標(biāo)報文發(fā)送標(biāo)識,并從各個目標(biāo)報文的目標(biāo)報文信息中獲取各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和每個源報文對應(yīng)的目標(biāo)報文的數(shù)量;

提取所述路由表中的源報文-目標(biāo)報文路由關(guān)系;

根據(jù)所述源報文-目標(biāo)報文路由關(guān)系、各個所述源報文的源報文最小長度、各個所述源報文的接收標(biāo)識、所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識,生成所述路由配置數(shù)據(jù)列表。

優(yōu)選的,所述路由配置數(shù)據(jù)列表的刷寫過程,包括:

將所述路由配置數(shù)據(jù)列表單獨(dú)刷寫到所述獨(dú)立內(nèi)存塊中;

所述路由配置數(shù)據(jù)列表的更新過程,包括:

根據(jù)所述路由表更新所述路由配置數(shù)據(jù)列表,并將更新后的路由配置數(shù)據(jù)列表刷寫到所述獨(dú)立內(nèi)存塊中。

優(yōu)選的,在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系包括:

采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄;

若在所述哈希查找表中查找到所述接收報文信息對應(yīng)的接收報文的位置記錄,則從所述哈希查找表中獲取所述接收報文信息對應(yīng)的接收報文的位置記錄;

根據(jù)所述接收報文信息對應(yīng)的接收報文的位置記錄,在所述源報文標(biāo)識列表中查找出接收標(biāo)識;

在所述路由配置數(shù)據(jù)列表中查找是否存在查找出的接收標(biāo)識對應(yīng)的路由關(guān)系。

優(yōu)選的,從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息,包括:

從所述查找出的接收標(biāo)識對應(yīng)的路由關(guān)系中,獲取所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識。

一種報文路由處理裝置,包括:

接收模塊,用于接收通信驅(qū)動軟件模塊發(fā)送的報文接收指示以及接收報文信息;

讀取模塊,用于從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表;

查找模塊,用于在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系,若在所述路由配置數(shù)據(jù)列表中查找到所述接收報文信息對應(yīng)的路由關(guān)系,則執(zhí)行獲取模塊從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息;

發(fā)送模塊,用于發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊;

所述通信驅(qū)動軟件模塊,用于發(fā)送所述報文接收指示以及所述接收報文信息,并根據(jù)所述目標(biāo)報文的信息,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

優(yōu)選的,還包括:生成模塊,所述生成模塊包括:

第一提取單元,用于提取路由表中各個源報文的源報文信息,所述源報文信息包括接收的通道,源報文ID,源報文最小長度;

第一生成單元,用于根據(jù)各個所述源報文ID生成源報文標(biāo)識列表,并根據(jù)所述源報文標(biāo)識列表生成哈希查找表;

第二生成單元,用于根據(jù)所述源報文標(biāo)識列表和所述哈希查找表,生成各個源報文的接收標(biāo)識;

第二提取單元,用于提取所述路由表中各個目標(biāo)報文的目標(biāo)報文信息,所述目標(biāo)報文信息包括:目標(biāo)報文的數(shù)量、發(fā)送的通道、目標(biāo)報文ID和目標(biāo)報文長度,其中各個所述目標(biāo)報文的目標(biāo)報文ID,組成目標(biāo)報文ID列表;

分配單元,用于按照預(yù)設(shè)原則為各個所述目標(biāo)報文分配目標(biāo)報文發(fā)送標(biāo)識;

第一獲取單元,用于從各個目標(biāo)報文的目標(biāo)報文信息中獲取各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和每個源報文對應(yīng)的目標(biāo)報文的數(shù)量;

第三提取單元,用于提取所述路由表中的源報文-目標(biāo)報文路由關(guān)系;

第三生成單元,用于根據(jù)所述源報文-目標(biāo)報文路由關(guān)系、各個所述源報文的源報文最小長度、各個所述源報文的接收標(biāo)識、所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識,生成所述路由配置數(shù)據(jù)列表。

優(yōu)選的,還包括:

刷寫模塊,用于將所述路由配置數(shù)據(jù)列表單獨(dú)刷寫到所述獨(dú)立內(nèi)存塊中;

更新模塊,用于根據(jù)所述路由表更新所述路由配置數(shù)據(jù)列表,并將更新后的路由配置數(shù)據(jù)列表刷寫到所述獨(dú)立內(nèi)存塊中。

優(yōu)選的,所述查找模塊包括:

第一查找單元,用于采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄,若在所述哈希查找表中查找到所述接收報文信息對應(yīng)的接收報文的位置記錄,則執(zhí)行第二獲取單元從所述哈希查找表中獲取所述接收報文信息對應(yīng)的接收報文的位置記錄;

第二查找單元,用于根據(jù)所述接收報文信息對應(yīng)的接收報文的位置記錄,在所述源報文標(biāo)識列表中查找出接收標(biāo)識;

第三查找單元,用于在所述路由配置數(shù)據(jù)列表中查找是否存在查找出的接收標(biāo)識對應(yīng)的路由關(guān)系。

優(yōu)選的,所述獲取模塊包括:

第三獲取單元,用于從所述查找出的接收標(biāo)識對應(yīng)的路由關(guān)系中,獲取所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識。

與現(xiàn)有技術(shù)相比,本申請的有益效果為:

在本申請中,接收通信驅(qū)動軟件模塊發(fā)送的報文接收指示以及接收報文信息;及,從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表,并在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系;及,若在所述路由配置數(shù)據(jù)列表中查找到所述接收報文信息對應(yīng)的路由關(guān)系,從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息;及,發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊由上層應(yīng)用模塊執(zhí)行,由于路由配置數(shù)據(jù)列表由上層應(yīng)用模塊單獨(dú)管理,且路由關(guān)系由上層應(yīng)用模塊確定,通信驅(qū)動軟件模塊的變更不再影響上層應(yīng)用模塊的執(zhí)行,因此降低了通信驅(qū)動軟件模塊和上層應(yīng)用模塊的耦合性,提高了兩者的獨(dú)立性,從而降低了軟件風(fēng)險控制難度。

并且,由于路由配置數(shù)據(jù)列表存儲在單獨(dú)內(nèi)存塊中,與其他應(yīng)用程序和數(shù)據(jù)分離,因此在路由配置數(shù)據(jù)列表發(fā)生變化時,只需要更新路由配置數(shù)據(jù)列表,整個軟件工程不需要重新編譯,縮短了路由功能的開發(fā)周期。

附圖說明

為了更清楚地說明本申請實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本申請?zhí)峁┑膱笪穆酚商幚矸椒ǖ囊环N流程圖;

圖2是本申請?zhí)峁┑穆酚膳渲脭?shù)據(jù)列表的生成過程的流程示意圖;

圖3是本申請?zhí)峁┑膱笪穆酚商幚矸椒ǖ囊环N子流程圖;

圖4是本申請?zhí)峁┑膱笪穆酚商幚硌b置的一種邏輯結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。

實(shí)施例一

請參見圖1,其示出了本申請?zhí)峁┑膱笪穆酚商幚矸椒ǖ囊环N流程圖,可以包括以下步驟:

步驟S11:接收通信驅(qū)動軟件模塊發(fā)送的報文接收指示以及接收報文信息。

在本實(shí)施例中,由通信驅(qū)動軟件模塊完成報文接收。其中,通信驅(qū)動軟件模塊在接收到報文時,通過接收指示回調(diào)函數(shù)通知上層應(yīng)用模塊,在本實(shí)施例中記為Router模塊,并將接收到的報文的接收報文信息發(fā)送至Router模塊。

其中,接收報文信息包括:接收物理通道,報文ID、報文數(shù)據(jù)長度和報文數(shù)據(jù)。

需要說明的是,通信驅(qū)動軟件模塊需要保證:能夠接受全部ID的報文:通信驅(qū)動軟件模塊必須被配置成能接收全部的ID,且向Router模塊提供統(tǒng)一的接收指示函數(shù)并將接收報文信息(ID和數(shù)據(jù))傳遞給Router模塊;能夠發(fā)送全部ID的報文:通信驅(qū)動軟件模塊必須向Router模塊提供能夠發(fā)送任意ID和任意長度報文的接口。

步驟S12:從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表,并在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系。

若是,則執(zhí)行步驟S13。

在本實(shí)施例中,路由配置數(shù)據(jù)列表單獨(dú)存儲在獨(dú)立內(nèi)存塊中,即獨(dú)立內(nèi)存塊僅用于存儲路由配置數(shù)據(jù)列表。其中,獨(dú)立內(nèi)存塊包括一個或多個連續(xù)的內(nèi)存塊。

路由配置數(shù)據(jù)列表存放在ECU中單獨(dú)的內(nèi)存塊中。路由配置數(shù)據(jù)列表存放在ECU中單獨(dú)的內(nèi)存塊中,可以實(shí)現(xiàn)路由配置數(shù)據(jù)列表的單獨(dú)刷寫。

ECU中除路由配置數(shù)據(jù)列表之外的其他程序及數(shù)據(jù)存儲在與路由配置數(shù)據(jù)列表的存儲內(nèi)存塊不同的內(nèi)存塊中。

其中,核心代碼和路由配置數(shù)據(jù)列表共同組成上述上層應(yīng)用模塊,共同用于實(shí)現(xiàn)報文路由功能。其中,需要說明的是,核心代碼并未與路由配置數(shù)據(jù)列表存儲在同一個內(nèi)存塊中,而是存儲在其他內(nèi)存塊中。

步驟S13:從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息。

從所述接收報文信息對應(yīng)的路由關(guān)系中獲取到的目標(biāo)報文的信息至少包括:目標(biāo)報文的發(fā)送通道標(biāo)識、各個所述目標(biāo)報文發(fā)送標(biāo)識和報文長度。

步驟S14:發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊。

步驟S15:所述通信驅(qū)動軟件模塊根據(jù)所述目標(biāo)報文的信息,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

具體的,通信驅(qū)動軟件模塊可以根據(jù)目標(biāo)報文發(fā)送標(biāo)識從目標(biāo)報文ID列表中獲取到目標(biāo)報文的ID。在獲取到目標(biāo)報文的ID后,根據(jù)目標(biāo)報文的發(fā)送通道標(biāo)識、目標(biāo)報文的ID和報文長度,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

在本申請中,接收通信驅(qū)動軟件模塊發(fā)送的報文接收指示以及接收報文信息;及,從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表,并在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系;及,若在所述路由配置數(shù)據(jù)列表中查找到所述接收報文信息對應(yīng)的路由關(guān)系,從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息;及,發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊由上層應(yīng)用模塊執(zhí)行,由于路由配置數(shù)據(jù)列表由上層應(yīng)用模塊單獨(dú)管理,且路由關(guān)系由上層應(yīng)用模塊確定,通信驅(qū)動軟件模塊的變更不再影響上層應(yīng)用模塊的執(zhí)行,因此降低了通信驅(qū)動軟件模塊和上層應(yīng)用模塊的耦合性,提高了兩者的獨(dú)立性,從而降低了軟件風(fēng)險控制難度。

并且,由于路由配置數(shù)據(jù)列表存儲在單獨(dú)內(nèi)存塊中,與其他應(yīng)用程序和數(shù)據(jù)分離,因此在路由配置數(shù)據(jù)列表發(fā)生變化時,只需要更新路由配置數(shù)據(jù)列表,整個軟件工程不需要重新編譯,縮短了路由功能的開發(fā)周期。

在本實(shí)施例中,路由配置數(shù)據(jù)列表的生成過程可以參見圖2,可以包括以下步驟:

步驟S21:提取路由表中各個源報文的源報文信息。

所述源報文信息包括接收的通道,源報文ID,源報文最小長度。

步驟S22:根據(jù)各個所述源報文ID生成源報文標(biāo)識列表,并根據(jù)所述源報文標(biāo)識列表生成哈希查找表。

其中,根據(jù)各個所述源報文ID生成源報文標(biāo)識列表的具體過程為:將各個所述源報文ID按照從小到大的順序排列,生成源報文標(biāo)識列表。

根據(jù)所述源報文標(biāo)識列表生成哈希查找表的具體過程為:

首先:將哈希查找表中所有元素的值設(shè)置為0xFFFFFFFFu;

其次:將根據(jù)如下算法逐個地將源報文標(biāo)識列表中的源報文的ID賦值給哈希查找表的元素:

HashTable[SourceIDTable[i]%x]=SourceIDTable[i];

其中i的取值范圍[0,SourceIDNum-1](從0到源報文ID數(shù)量減1);x為任意兩個源報文對x求余均不相同的最小整數(shù),%為取余運(yùn)算符號。

其中,HashTable為哈希查找表,SourceIDTable為源報文標(biāo)識列表,SourceIDNum為源報文標(biāo)識列表中的源報文ID數(shù)量。

步驟S23:根據(jù)所述源報文標(biāo)識列表和所述哈希查找表,生成各個源報文的接收標(biāo)識。

根據(jù)所述源報文標(biāo)識列表和所述哈希查找表,生成各個源報文的接收標(biāo)識的過程為:獲取各個源報文在哈希查找表(HashTable)的位置記錄為RxPosition;利用關(guān)系式RxHandle=SourceIDTable[RxPosition]確定各個源報文的接收標(biāo)識。其中,RxHandle為源報文的接收標(biāo)識。

步驟S24:提取所述路由表中各個目標(biāo)報文的目標(biāo)報文信息,所述目標(biāo)報文信息包括:目標(biāo)報文的數(shù)量、發(fā)送的通道、目標(biāo)報文ID和目標(biāo)報文長度。

其中,各個所述目標(biāo)報文的目標(biāo)報文ID,組成目標(biāo)報文ID列表。

各個所述目標(biāo)報文的目標(biāo)報文ID,組成目標(biāo)報文ID列表的具體過程為:按照一定的順序(如從小到大排序)對各個所述目標(biāo)報文的目標(biāo)報文ID進(jìn)行排列,得到目標(biāo)報文ID列表。

需要說明的是,目標(biāo)報文ID列表并不包含在將要生成的路由配置數(shù)據(jù)列表中,目標(biāo)報文ID列表為單獨(dú)的一個列表。將目標(biāo)報文ID列表設(shè)置為單獨(dú)的列表的原因在于:因為目標(biāo)報文的ID有兩種格式的:標(biāo)準(zhǔn)幀格式和擴(kuò)展幀格式;如果將目標(biāo)報文ID放在將要生成的路由配置數(shù)據(jù)列表中,會導(dǎo)致將要生成的路由配置數(shù)據(jù)列表的數(shù)據(jù)結(jié)構(gòu)變得復(fù)雜,因此為了避免將要生成的路由配置數(shù)據(jù)列表的數(shù)據(jù)結(jié)構(gòu)變得復(fù)雜,將目標(biāo)報文ID列表設(shè)置為單獨(dú)的列表。

步驟S25:按照預(yù)設(shè)原則為各個所述目標(biāo)報文分配目標(biāo)報文發(fā)送標(biāo)識,并從各個目標(biāo)報文的目標(biāo)報文信息中獲取各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和每個源報文對應(yīng)的目標(biāo)報文的數(shù)量。

各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和每個源報文對應(yīng)的目標(biāo)報文的數(shù)量從步驟S24中的目標(biāo)報文信息中獲取即可。

目標(biāo)報文發(fā)送標(biāo)識與目標(biāo)報文的ID存在映射關(guān)系,根據(jù)目標(biāo)報文發(fā)送標(biāo)識可以從目標(biāo)報文ID列表中獲取到相應(yīng)的目標(biāo)報文的ID。

發(fā)送通道標(biāo)識是為物理通道的邏輯編號(從0開始,依次遞增);如網(wǎng)關(guān)有8個物理通道,分別為Phy0,Phy1,Phy2…Phy7;實(shí)際使用了5個物理通道Phy1,Phy2,Phy4,Phy6,Phy7,為這5個通道編號為L0,L1,L2,L3,L4。L0,L1,L2,L3,L4為邏輯通道編號即發(fā)送通道標(biāo)識。如發(fā)送到目標(biāo)通道L1,即發(fā)送到物理通道Phy2。

步驟S26:提取所述路由表中的源報文-目標(biāo)報文路由關(guān)系。

步驟S27:根據(jù)所述源報文-目標(biāo)報文路由關(guān)系、各個所述源報文的源報文最小長度、各個所述源報文的接收標(biāo)識、所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識,生成所述路由配置數(shù)據(jù)列表。

根據(jù)所述源報文-目標(biāo)報文路由關(guān)系、各個所述源報文的源報文最小長度、各個所述源報文的接收標(biāo)識、所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識,生成所述路由配置數(shù)據(jù)列表的具體過程為:首先,根據(jù)各個所述源報文的源報文最小長度判斷各個源報文是否合法,在源報文合法的情況下,根據(jù)所述源報文-目標(biāo)報文路由關(guān)系,建立所述源報文的接收標(biāo)識與所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識的路由映射關(guān)系,生成所述路由配置數(shù)據(jù)列表。

需要說明的是,路由配置數(shù)據(jù)列表是路由表的代碼表示,路由配置數(shù)據(jù)列表可以被存儲和識別。

路由表和路由配置數(shù)據(jù)列表是數(shù)據(jù)上的1:1關(guān)系,路由配置數(shù)據(jù)列表是標(biāo)準(zhǔn)的文件格式,可通過標(biāo)準(zhǔn)化路由表的文件格式,促成路由表到路由配置數(shù)據(jù)列表的自動化生成工具的開發(fā),從而提高路由功能的開發(fā)效率,減少開發(fā)時間,提高路由表功能實(shí)現(xiàn)的準(zhǔn)確性,減少驗證時間和成本,從而降低開發(fā)成本和時間。

在上述報文路由處理方法中,路由配置數(shù)據(jù)列表的刷寫過程,具體可以為:將所述路由配置數(shù)據(jù)列表單獨(dú)刷寫到所述獨(dú)立內(nèi)存塊中。

在上述報文路由處理方法中,路由配置數(shù)據(jù)列表的更新過程,具體可以為:根據(jù)所述路由表更新所述路由配置數(shù)據(jù)列表,并將更新后的路由配置數(shù)據(jù)列表刷寫到所述獨(dú)立內(nèi)存塊中。

在上述報文路由處理方法中,在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系的具體過程請參見圖3,可以包括以下步驟:

步驟S31:采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄。

若存在,則執(zhí)行步驟S32。

其中,采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄,最多兩步即可在哈希查找表中查找到是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄,從而提高了報文路由的效率,減少了報文路由的延遲時間。

在本實(shí)施例中,采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄的具體過程為:判斷RxID和HashTable[RxID%x]是否相等,若相等,則說明哈希查找表中存在所述接收報文信息對應(yīng)的接收報文的位置記錄。

其中,RxID為接收報文的ID,x為任意兩個源報文對x求余均不相同的最小整數(shù)。

步驟S32:從所述哈希查找表中獲取所述接收報文信息對應(yīng)的接收報文的位置記錄。

從所述哈希查找表中獲取到的所述接收報文信息對應(yīng)的接收報文的位置記錄為:RxPosition=RxID%x。

步驟S33:根據(jù)所述接收報文信息對應(yīng)的接收報文的位置記錄,在所述源報文標(biāo)識列表中查找出接收標(biāo)識。

根據(jù)所述接收報文信息對應(yīng)的接收報文的位置記錄,在所述源報文標(biāo)識列表中查找出接收標(biāo)識的具體過程為:將所述接收報文信息對應(yīng)的接收報文的位置記錄賦值給關(guān)系式RxHandle=SourceIDTable[RxPosition]中的RxPosition,在所述源報文標(biāo)識列表中查找出接收標(biāo)識。

步驟S34:在所述路由配置數(shù)據(jù)列表中查找是否存在查找出的接收標(biāo)識對應(yīng)的路由關(guān)系。

若存在,則執(zhí)行步驟S13。

其中,在所述路由配置數(shù)據(jù)列表中查找到存在查找出的接收標(biāo)識對應(yīng)的路由關(guān)系,則從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息具體為:從所述查找出的接收標(biāo)識對應(yīng)的路由關(guān)系中,獲取所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識。

在從所述查找出的接收標(biāo)識對應(yīng)的路由關(guān)系中,獲取到所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識之后,發(fā)送每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識至通信驅(qū)動軟件模塊,通信驅(qū)動軟件模塊會在目標(biāo)報文ID列表中查找到各個所述目標(biāo)報文發(fā)送標(biāo)識對應(yīng)的目標(biāo)報文的ID,并根據(jù)所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文的ID,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

實(shí)施例二

與上述方法實(shí)施例相對應(yīng),本實(shí)施例提供了一種報文路由處理裝置,請參見圖4,報文路由處理裝置包括:接收模塊41、讀取模塊42、查找模塊43、獲取模塊44、發(fā)送模塊45和通信驅(qū)動軟件模塊46。

接收模塊41,用于接收通信驅(qū)動軟件模塊46發(fā)送的報文接收指示以及接收報文信息。

讀取模塊42,用于從獨(dú)立內(nèi)存塊中讀取路由配置數(shù)據(jù)列表。

查找模塊43,用于在所述路由配置數(shù)據(jù)列表中查找是否存在所述接收報文信息對應(yīng)的路由關(guān)系,若在所述路由配置數(shù)據(jù)列表中查找到所述接收報文信息對應(yīng)的路由關(guān)系,則執(zhí)行獲取模塊44從所述接收報文信息對應(yīng)的路由關(guān)系中獲取目標(biāo)報文的信息。

發(fā)送模塊45,用于發(fā)送所述目標(biāo)報文的信息至所述通信驅(qū)動軟件模塊46。

通信驅(qū)動軟件模塊46,用于發(fā)送所述報文接收指示以及所述接收報文信息,并根據(jù)所述目標(biāo)報文的信息,發(fā)送目標(biāo)報文至目標(biāo)網(wǎng)絡(luò)。

在本實(shí)施例中,上述報文路由處理裝置還包括:生成模塊。

生成模塊具體包括:第一提取單元、第一生成單元、第二生成單元、第二提取單元、第三生成單元、分配單元、第一獲取單元、第三提取單元和第四生成單元。

第一提取單元,用于提取路由表中各個源報文的源報文信息,所述源報文信息包括接收的通道,源報文ID,源報文最小長度。

第一生成單元,用于根據(jù)各個所述源報文ID生成源報文標(biāo)識列表,并根據(jù)所述源報文標(biāo)識列表生成哈希查找表。

第二生成單元,用于根據(jù)所述源報文標(biāo)識列表和所述哈希查找表,生成各個源報文的接收標(biāo)識。

第二提取單元,用于提取所述路由表中各個目標(biāo)報文的目標(biāo)報文信息,所述目標(biāo)報文信息包括:目標(biāo)報文的數(shù)量、發(fā)送的通道、目標(biāo)報文ID和目標(biāo)報文長度,其中各個所述目標(biāo)報文的目標(biāo)報文ID,組成目標(biāo)報文ID列表。

分配單元,用于按照預(yù)設(shè)原則為各個所述目標(biāo)報文分配目標(biāo)報文發(fā)送標(biāo)識。

第一獲取單元,用于從各個目標(biāo)報文的目標(biāo)報文信息中獲取各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和每個源報文對應(yīng)的目標(biāo)報文的數(shù)量。

第三提取單元,用于提取所述路由表中的源報文-目標(biāo)報文路由關(guān)系。

第三生成單元,用于根據(jù)所述源報文-目標(biāo)報文路由關(guān)系、各個所述源報文的源報文最小長度、各個所述源報文的接收標(biāo)識、所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識,生成所述路由配置數(shù)據(jù)列表。

在本實(shí)施例中,上述報文路由處理裝置還包括:刷寫模塊,用于將所述路由配置數(shù)據(jù)列表單獨(dú)刷寫到所述獨(dú)立內(nèi)存塊中。

在本實(shí)施例中,上述報文路由處理裝置還包括:更新模塊,用于根據(jù)所述路由表更新所述路由配置數(shù)據(jù)列表,并將更新后的路由配置數(shù)據(jù)列表刷寫到所述獨(dú)立內(nèi)存塊中。

在本實(shí)施例中,上述報文路由處理裝置中的查找模塊43具體包括:第一查找單元、第二獲取單元、第二查找單元和第三查找單元。

第一查找單元,用于采用哈希算法在所述哈希查找表中查找是否存在所述接收報文信息對應(yīng)的接收報文的位置記錄,若在所述哈希查找表中查找到所述接收報文信息對應(yīng)的接收報文的位置記錄,則執(zhí)行第二獲取單元從所述哈希查找表中獲取所述接收報文信息對應(yīng)的接收報文的位置記錄。

第二查找單元,用于根據(jù)所述接收報文信息對應(yīng)的接收報文的位置記錄,在所述源報文標(biāo)識列表中查找出接收標(biāo)識。

第三查找單元,用于在所述路由配置數(shù)據(jù)列表中查找是否存在查找出的接收標(biāo)識對應(yīng)的路由關(guān)系。

在本實(shí)施例中,上述報文路由處理裝置中的獲取模塊44具體包括:

第三獲取單元,用于從所述查找出的接收標(biāo)識對應(yīng)的路由關(guān)系中,獲取所述每個源報文對應(yīng)的目標(biāo)報文的數(shù)量、各個所述目標(biāo)報文的發(fā)送通道標(biāo)識和各個所述目標(biāo)報文發(fā)送標(biāo)識。

需要說明的是,本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。對于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上對本申請所提供的一種報文路由處理方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
扬中市| 台南市| 玉门市| 垦利县| 本溪市| 祁连县| 黎川县| 武强县| 苏尼特右旗| 淮南市| 嘉禾县| 德兴市| 延边| 宾川县| 白水县| 时尚| 龙陵县| 黄浦区| 驻马店市| 门头沟区| 定安县| 武宣县| 伊宁市| 红桥区| 浪卡子县| 万山特区| 油尖旺区| 自贡市| 依安县| 大同县| 普定县| 伊春市| 鹤壁市| 密云县| 清苑县| 伊金霍洛旗| 怀宁县| 卓资县| 青铜峡市| 青川县| 渭南市|