數(shù)據(jù)傳輸接口及方法
【技術領域】
[0001 ] 本發(fā)明涉及傳輸技術領域,具體而言,涉及數(shù)據(jù)傳輸接口及方法。
【背景技術】
[0002]數(shù)據(jù)傳輸(datatransmission),指的是依照適當?shù)囊?guī)程,經(jīng)過一條或多條鏈路, 在數(shù)據(jù)源和數(shù)據(jù)宿之間傳送數(shù)據(jù)的過程。也表示借助信道上的信號將數(shù)據(jù)從一處送往另一 處的操作。發(fā)明人經(jīng)研究發(fā)現(xiàn),現(xiàn)有技術中,實現(xiàn)不同通信協(xié)議間的數(shù)據(jù)傳輸需要編程人員 調用不同的過程接口類,處理較為復雜的通信協(xié)議,難度較大。
【發(fā)明內容】
[0003] 有鑒于此,本發(fā)明實施例的目的在于提供一種數(shù)據(jù)傳輸接口及方法,以改善現(xiàn)有 技術中實現(xiàn)不同通信協(xié)議間的數(shù)據(jù)傳輸難度較大的問題。
[0004] 為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
[0005] 第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)傳輸接口,應用于上位機,所述數(shù)據(jù)傳輸 接口包括監(jiān)聽單元、通訊單元和幀管理單元,所述幀管理單元包括控制子單元和分別對應 各通訊協(xié)議的多個封裝解封裝子單元;
[0006] 所述監(jiān)聽單元用于監(jiān)聽下位機的連接請求,根據(jù)所述連接請求建立所述下位機與 所述上位機的通信連接,接收所述下位機向所述上位機發(fā)送的封裝數(shù)據(jù),所述封裝數(shù)據(jù)包 括多個數(shù)據(jù)幀,所述數(shù)據(jù)幀為根據(jù)所述封裝數(shù)據(jù)的通信協(xié)議采用的幀結構對數(shù)據(jù)內容進行 封裝得到;
[0007] 所述通訊單元用于識別所述封裝數(shù)據(jù)采用的通信協(xié)議,將所述封裝數(shù)據(jù)傳遞至所 述幀管理單元中的所述控制子單元;
[0008] 所述控制子單元用于調用與所述封裝數(shù)據(jù)采用的所述通信協(xié)議對應的封裝解封 裝子單元,調用的所述封裝解封裝子單元用于將所述封裝數(shù)據(jù)解封裝。
[0009] 結合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,所 述調用的所述封裝解封裝子單元用于將所述封裝數(shù)據(jù)解封裝,包括:
[0010] 調用的所述封裝解封裝子單元用于根據(jù)所述封裝數(shù)據(jù)的通信協(xié)議采用的幀結構, 將所述封裝數(shù)據(jù)解封裝,提取出所述封裝數(shù)據(jù)中的數(shù)據(jù)內容。
[0011] 結合第一方面,或第一方面的第一種可能的實施方式,本發(fā)明實施例提供了第一 方面的第二種可能的實施方式,其中,所述控制子單元還用于獲得所述上位機傳遞的反饋 數(shù)據(jù),再次調用所述封裝解封裝子單元;
[0012] 再次調用的所述封裝解封裝子單元用于根據(jù)所述下位機識別的通信協(xié)議采用的 幀結構對所述反饋數(shù)據(jù)進行封裝,得到回應封裝數(shù)據(jù),將所述回應封裝數(shù)據(jù)傳遞至所述通 訊單元;
[0013] 所述通訊單元用于將所述回應封裝數(shù)據(jù)傳遞至所述下位機。
[0014] 結合第一方面的第二種可能的實施方式,本發(fā)明實施例提供了第一方面的第三種 可能的實施方式,其中,所述上位機中包括分發(fā)單元和多個處理單元,各類別的數(shù)據(jù)與所述 多個處理單元分別對應;
[0015] 所述分發(fā)單元用于獲得所述上位機接收到的數(shù)據(jù)內容,判斷所述數(shù)據(jù)內容的類 另IJ,將所述數(shù)據(jù)內容傳遞至與所述數(shù)據(jù)內容的類別對應的處理單元進行處理,得到所述處 理單元處理后的反饋數(shù)據(jù),將所述反饋數(shù)據(jù)傳遞至所述控制子單元。
[0016] 結合第一方面的第三種可能的實施方式,本發(fā)明實施例提供了第一方面的第四種 可能的實施方式,其中,所述封裝數(shù)據(jù)的數(shù)據(jù)內容中包括標記數(shù)據(jù)類別的標志;
[0017] 所述分發(fā)單元用于獲得所述上位機接收到的數(shù)據(jù)內容,根據(jù)所述標志判斷所述數(shù) 據(jù)內容的類別。
[0018] 第二方面,本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法,應用于數(shù)據(jù)傳輸接口,所述數(shù) 據(jù)傳輸接口設于上位機中,所述數(shù)據(jù)傳輸接口包括監(jiān)聽單元、通訊單元和幀管理單元,所述 幀管理單元包括控制子單元和分別對應各通訊協(xié)議的多個封裝解封裝子單元,所述方法包 括:
[0019] 所述監(jiān)聽單元監(jiān)聽下位機的連接請求,根據(jù)所述連接請求建立所述下位機與所述 上位機的通信連接,接收所述下位機向所述上位機發(fā)送的封裝數(shù)據(jù),所述封裝數(shù)據(jù)包括多 個數(shù)據(jù)幀,所述數(shù)據(jù)幀為根據(jù)所述封裝數(shù)據(jù)的通信協(xié)議采用的幀結構對數(shù)據(jù)內容進行封裝 得到;
[0020] 所述通訊單元識別所述封裝數(shù)據(jù)采用的通信協(xié)議,將所述封裝數(shù)據(jù)傳遞至所述幀 管理單元中的所述控制子單元;
[0021] 所述控制子單元調用與所述封裝數(shù)據(jù)采用的所述通信協(xié)議對應的封裝解封裝子 單元將所述封裝數(shù)據(jù)解封裝。
[0022] 結合第二方面,本發(fā)明實施例提供了第二方面的第一種可能的實施方式,其中,所 述控制子單元調用與所述封裝數(shù)據(jù)采用的所述通信協(xié)議對應的封裝解封裝子單元將所述 封裝數(shù)據(jù)解封裝,包括:
[0023] 所述控制子單元調用與所述封裝數(shù)據(jù)采用的所述通信協(xié)議對應的封裝解封裝子 單元;
[0024] 調用的所述封裝解封裝子單元根據(jù)所述封裝數(shù)據(jù)的通信協(xié)議采用的幀結構,將所 述封裝數(shù)據(jù)解封裝,提取出所述封裝數(shù)據(jù)中的數(shù)據(jù)內容。
[0025] 結合第二方面,或第二方面的第一種可能的實施方式,本發(fā)明實施例提供了第二 方面的第二種可能的實施方式,其中,所述方法還包括:
[0026] 所述控制子單元獲得所述上位機傳遞的反饋數(shù)據(jù),再次調用所述封裝解封裝子單 元;
[0027] 再次調用的所述封裝解封裝子單元根據(jù)所述下位機識別的通信協(xié)議采用的幀結 構對所述反饋數(shù)據(jù)進行封裝,得到回應封裝數(shù)據(jù),將所述回應封裝數(shù)據(jù)傳遞至所述通訊單 元;
[0028] 所述通訊單元將所述回應封裝數(shù)據(jù)傳遞至所述下位機。
[0029] 結合第二方面的第二種可能的實施方式,本發(fā)明實施例提供了第二方面的第三種 可能的實施方式,其中,所述上位機中包括分發(fā)單元和多個處理單元,各類別的數(shù)據(jù)與所述 多個處理單元分別對應,所述方法還包括:
[0030] 所述分發(fā)單元獲得所述上位機接收到的數(shù)據(jù)內容,判斷所述數(shù)據(jù)內容的類別,將 所述數(shù)據(jù)內容傳遞至與所述數(shù)據(jù)內容的類別對應的處理單元進行處理,得到所述處理單元 處理后的反饋數(shù)據(jù),將所述反饋數(shù)據(jù)傳遞至所述控制子單元。
[0031] 結合第二方面的第三種可能的實施方式,本發(fā)明實施例提供了第二方面的第四種 可能的實施方式,其中,所述封裝數(shù)據(jù)的數(shù)據(jù)內容中包括標記數(shù)據(jù)類別的標志,所述分發(fā)單 元獲得所述上位機接收到的數(shù)據(jù)內容,判斷所述數(shù)據(jù)內容的類別,包括:
[0032] 所述分發(fā)單元獲得所述上位機接收到的數(shù)據(jù)內容,根據(jù)所述標志判斷所述數(shù)據(jù)內 容的類別。
[0033] 本發(fā)明實施例提供的數(shù)據(jù)傳輸接口及方法,對數(shù)據(jù)傳輸接口進行了巧妙設計,數(shù) 據(jù)傳輸接口包括監(jiān)聽單元、通訊單元和幀管理單元,將該數(shù)據(jù)傳輸接口應用于上位機中,在 實施時,可提供應用程序編程接口(ApplicationProgrammingInterface,API)或軟件開 發(fā)工具包(SoftwareDevelopmentKit,SDK)供上位機開發(fā)調用,使得上位機在與支持不同 通信協(xié)議的下位機進行數(shù)據(jù)傳輸時,能夠直接通過數(shù)據(jù)傳輸接口完成數(shù)據(jù)交互,避免了底 層的、繁瑣的數(shù)據(jù)通信與處理機制,降低了上位機與下位機的數(shù)據(jù)傳輸難度,提升了數(shù)據(jù)傳 輸效率。
[0034] 進一步地,本發(fā)明實施例提供的數(shù)據(jù)傳輸接口及方法,預先定義有不同通信協(xié)議 分別對應的封裝解封裝子單元,在進行數(shù)據(jù)接收時,各封裝解封裝子單元會對不同通信協(xié) 議的數(shù)據(jù)幀進行"解封",得到數(shù)據(jù)內容,供上位機識別、處理;在進行數(shù)據(jù)發(fā)送時,會將上位 機傳遞的反饋數(shù)據(jù)推送至目標下位機支持的通信協(xié)議對應的封裝解封裝子單元中進行"封 裝",再傳遞回目標下位機。如此設計,使得上位機與支持不同通信協(xié)議的下位機之間均可 通過該數(shù)據(jù)傳輸接口完成數(shù)據(jù)傳輸,這種數(shù)據(jù)傳輸方式,適用性較強,顯著降低了編程人員 的編程難度,提升了代碼的可維護性和可讀性,提高了編程開發(fā)效率。
[0035] 進一步地,本發(fā)明實施例提供的數(shù)據(jù)傳輸方法及裝置