[發(fā)明專利]用于CAN總線的數(shù)據(jù)分發(fā)方法在審
| 申請?zhí)枺?/td> | 201811461303.8 | 申請日: | 2018-12-02 |
| 公開(公告)號: | CN109542651A | 公開(公告)日: | 2019-03-29 |
| 發(fā)明(設(shè)計)人: | 陸遠(yuǎn)林 | 申請(專利權(quán))人: | 儀征市嘉中電子元件有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;H04L12/40 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 211400 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 共享數(shù)據(jù) 數(shù)據(jù)分發(fā) 應(yīng)用程序 分發(fā) 分類存儲 進(jìn)程共享 通知事件 異步發(fā)送 讀請求 發(fā)送 分類 | ||
本發(fā)明涉及一種用于CAN總線的數(shù)據(jù)分發(fā)方法,包括以下步驟:接收CAN總線發(fā)送的共享數(shù)據(jù);將共享數(shù)據(jù)分類存儲至至少一個共享數(shù)據(jù)段中;至少一個共享數(shù)據(jù)段分別異步發(fā)送通知事件至至少一個應(yīng)用程序;以及至少一個共享數(shù)據(jù)段分別根據(jù)至少一個應(yīng)用程序的讀請求將對應(yīng)的分類的共享數(shù)據(jù)異步分發(fā)至對應(yīng)的至少一個應(yīng)用程序。根據(jù)本發(fā)明實施例的方法,實現(xiàn)了數(shù)據(jù)的跨進(jìn)程共享和異步分發(fā),并且提高了數(shù)據(jù)分發(fā)的效率。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機通信領(lǐng)域,特別涉及一種用于CAN總線的數(shù)據(jù)分發(fā)方法。
背景技術(shù)
CAN(Controller Area Network,控制器局域網(wǎng)絡(luò))總線以其穩(wěn)定、高速的特點已經(jīng)廣泛應(yīng)用于汽車車身的數(shù)據(jù)通信,使用CAN總線來進(jìn)行數(shù)據(jù)通信已成為車載應(yīng)用的最好選擇。但是,主要面臨以下問題,在某個操作系統(tǒng)上數(shù)據(jù)的獲取往往是獨占的,只能由單個應(yīng)用程序來獲取,這樣其他需要相同數(shù)據(jù)的應(yīng)用程序就無法正常工作,因此對CAN數(shù)據(jù)的分發(fā)需求就產(chǎn)生了。
其中,CAN總線的數(shù)據(jù)分發(fā)技術(shù)的核心是實現(xiàn)進(jìn)程間通信,以Windows CE(一個開放的、可升級的32位嵌入式操作系統(tǒng))嵌入式系統(tǒng)為例,能夠?qū)崿F(xiàn)進(jìn)程間通信的有WM_COPYDATA(一種實現(xiàn)進(jìn)程間通信的方法)消息、共享內(nèi)存段、內(nèi)存映射文件、點對點消息隊列等方式。但是,這些方式存在以下缺陷:(1)WM_COPYDATA消息的訪問方式是同步的,即發(fā)送消息時必須等到數(shù)據(jù)被接收處理后才能繼續(xù)其他的操作,影響了CAN數(shù)據(jù)的正常分發(fā);(2)共享內(nèi)存段方式和內(nèi)存映射文件方式都不能實現(xiàn)數(shù)據(jù)的主動分類和發(fā)送;(3)點對點消息隊列方式只能實現(xiàn)一對一的數(shù)據(jù)傳輸,不能實現(xiàn)多進(jìn)程間數(shù)據(jù)的共享。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種可避免出現(xiàn)上述技術(shù)缺陷的用于CAN總線的數(shù)據(jù)分發(fā)方法。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案如下:
一種用于CAN總線的數(shù)據(jù)分發(fā)方法,包括以下步驟:
接收CAN總線發(fā)送的共享數(shù)據(jù);
將所述共享數(shù)據(jù)分類存儲至至少一個共享數(shù)據(jù)段中,其中,每個所述共享數(shù)據(jù)段以環(huán)形緩沖區(qū)的形式存儲分類的所述共享數(shù)據(jù),所述環(huán)形緩沖區(qū)中包括一個寫指針和至少一個讀指針,所述寫指針指向下一個寫入位置,所述至少一個讀指針和所述至少一個應(yīng)用程序相對應(yīng),且每個所述讀指針為對應(yīng)的所述應(yīng)用程序所私有,并指向所述應(yīng)用程序?qū)?yīng)的下一個讀取位置。
所述至少一個共享數(shù)據(jù)段分別異步發(fā)送通知事件至至少一個應(yīng)用程序;以及所述至少一個共享數(shù)據(jù)段分別根據(jù)所述至少一個應(yīng)用程序的讀請求將對應(yīng)的分類的所述共享數(shù)據(jù)異步分發(fā)至對應(yīng)的所述至少一個應(yīng)用程序,其中,如果分類的所述共享數(shù)據(jù)無重復(fù),則獲取所述寫指針和所述讀指針之間的數(shù)據(jù),并移動所述讀指針指向所述寫指針的位置,如果分類的所述共享數(shù)據(jù)有重復(fù),則獲取所述環(huán)形緩沖區(qū)中的所有數(shù)據(jù),并移動所述讀指針指向所述寫指針的位置。
當(dāng)所述環(huán)形緩沖區(qū)處于初始狀態(tài)時,所述寫指針和所述讀指針指向同一位置,且所述寫指針在所述讀指針之前。
如果分類的所述共享數(shù)據(jù)無重復(fù),則移動所述寫指針以寫入分類的所述共享數(shù)據(jù),且所述寫指針指向下一個寫入位置,所述寫指針在所述讀指針之前。
如果分類的所述共享數(shù)據(jù)有重復(fù),則移動所述寫指針以寫入分類的所述共享數(shù)據(jù),且所述寫指針指向下一個寫入位置,并移動所述讀指針指向所述寫指針的位置,所述讀指針在所述寫指針之前。
本發(fā)明為每個獲取數(shù)據(jù)的應(yīng)用程序維護(hù)相應(yīng)的附加信息,保證每個應(yīng)用程序獲取正確內(nèi)容和正確時序的數(shù)據(jù);可以保證一個或多個應(yīng)用同時獲取同一類數(shù)據(jù),實現(xiàn)了數(shù)據(jù)的共享;可以異步地分發(fā)CAN數(shù)據(jù),不會因為每個應(yīng)用程序獲取和處理數(shù)據(jù)的差異而影響數(shù)據(jù)分發(fā)的效率和流程;可以實現(xiàn)高速率的CAN數(shù)據(jù)分發(fā)及大數(shù)據(jù)量時的CAN數(shù)據(jù)的高速率分發(fā),可以很好地滿足實際應(yīng)用的需要。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于儀征市嘉中電子元件有限公司,未經(jīng)儀征市嘉中電子元件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811461303.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種移動終端的數(shù)據(jù)無線共享方法及該移動終端
- 終端之間的媒體數(shù)據(jù)共享方法及裝置
- 一種數(shù)據(jù)共享方法及裝置
- 基于區(qū)塊鏈的數(shù)據(jù)安全共享方法及其系統(tǒng)
- 一種基于數(shù)據(jù)共享網(wǎng)關(guān)的數(shù)據(jù)共享方法及系統(tǒng)
- 基于云平臺的數(shù)據(jù)共享方法、裝置、共享平臺及存儲介質(zhì)
- 一種政務(wù)鏈的數(shù)據(jù)共享方法
- 一種基于區(qū)塊鏈的云數(shù)據(jù)共享隱私保護(hù)方法
- 一種基于IBE/IBBE數(shù)據(jù)共享方法
- 數(shù)據(jù)共享方法、共享設(shè)備和系統(tǒng)
- 電子數(shù)據(jù)分發(fā)系統(tǒng)
- 數(shù)據(jù)分發(fā)設(shè)備、數(shù)據(jù)分發(fā)方法和程序
- 數(shù)據(jù)分發(fā)方法和裝置
- 數(shù)據(jù)分發(fā)方法及裝置
- 一種數(shù)據(jù)分發(fā)方法、裝置及系統(tǒng)
- 站級數(shù)據(jù)分發(fā)方法、業(yè)務(wù)數(shù)據(jù)分發(fā)方法及數(shù)據(jù)分發(fā)系統(tǒng)
- 一種數(shù)據(jù)分發(fā)方法、裝置、設(shè)備及存儲介質(zhì)
- 一種基于網(wǎng)絡(luò)路由的數(shù)據(jù)分發(fā)方法及系統(tǒng)
- 數(shù)據(jù)分發(fā)方法和數(shù)據(jù)分發(fā)裝置
- 數(shù)據(jù)分發(fā)系統(tǒng)及數(shù)據(jù)分發(fā)方法
- 對虛擬化應(yīng)用程序的基于策略的訪問
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對虛擬化應(yīng)用程序的基于策略的訪問的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端
- 電子數(shù)據(jù)分發(fā)系統(tǒng)
- 分發(fā)系統(tǒng)、分發(fā)控制設(shè)備和分發(fā)控制方法
- 分發(fā)方法和分發(fā)系統(tǒng)
- 廣播TS分發(fā)系統(tǒng)、分發(fā)裝置及分發(fā)方法
- 分發(fā)裝置、分發(fā)系統(tǒng)以及分發(fā)方法
- 分發(fā)系統(tǒng)以及分發(fā)方法
- 影像分發(fā)裝置、影像分發(fā)系統(tǒng)、影像分發(fā)方法及存儲介質(zhì)
- 分發(fā)梳齒以及分發(fā)梳
- 向用戶分發(fā)問題的方法及裝置
- 數(shù)據(jù)分發(fā)系統(tǒng)及數(shù)據(jù)分發(fā)方法





