• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種電磁頻譜監(jiān)測系統(tǒng)數(shù)據(jù)通信協(xié)議設(shè)計(jì)方法

      2020-12-16 08:52:32趙明芳
      電聲技術(shù) 2020年7期
      關(guān)鍵詞:鍵值數(shù)據(jù)通信正文

      趙明芳,劉 軍,楊 青

      (中國電子科技集團(tuán)公司第四十一研究所,山東 青島 266500)

      1 電磁監(jiān)測系統(tǒng)中常用的數(shù)據(jù)通信協(xié)議

      隨著用戶需求的日益復(fù)雜,電磁監(jiān)測系統(tǒng)業(yè)務(wù)種類增多,組網(wǎng)內(nèi)不同監(jiān)測角色間協(xié)同監(jiān)測任務(wù)數(shù)量及復(fù)雜度同步加大。不同業(yè)務(wù)場景對數(shù)據(jù)及其傳輸實(shí)時性、數(shù)據(jù)鏈路特性均有不同的需求,因此需要統(tǒng)一并簡化電磁頻譜監(jiān)測系統(tǒng)中各角色功能間的數(shù)據(jù)通信格式,以統(tǒng)一的數(shù)據(jù)通信協(xié)議簡化數(shù)據(jù)接口,提高數(shù)據(jù)交互效率。電磁監(jiān)測系統(tǒng)中常用的數(shù)據(jù)通信協(xié)議有HTTP 超文本傳輸協(xié)議和XML語法格式接口協(xié)議兩種方式。

      1.1 HTTP 超文本傳輸協(xié)議

      超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,主要用于從WWW 服務(wù)器傳輸超文本到本地瀏覽器。數(shù)據(jù)傳輸時,客戶端與服務(wù)器建立連接。傳輸過程中,客戶端向服務(wù)器發(fā)送請求消息,服務(wù)器收到請求消息后返回響應(yīng)消息。請求與響應(yīng)結(jié)束后,客戶端主動釋放連接。該接口協(xié)議包含請求消息和響應(yīng)消息兩種消息格式,實(shí)現(xiàn)簡潔的表達(dá)請求和正確的解析與展示。

      1.2 XML 語法格式接口協(xié)議

      可擴(kuò)展標(biāo)記語言(eXtensible Markup Language,XML)是一種實(shí)用的結(jié)構(gòu)化通用標(biāo)記語言。XML 獨(dú)立于平臺和語言,基于統(tǒng)一的語法規(guī)范,以純文本方式實(shí)現(xiàn)數(shù)據(jù)的傳輸與存儲。以某監(jiān)測管理一體化平臺為例,采用自定義的XML 同步請求/應(yīng)答消息格式即服務(wù)名稱(服務(wù)終結(jié)點(diǎn),請求命令/響應(yīng)消息),實(shí)現(xiàn)客戶端、服務(wù)端、數(shù)據(jù)庫以及設(shè)備間的數(shù)據(jù)通信。例如:對某監(jiān)測中心(IP:172.16.51.41)的某監(jiān)測站(ID:21131)的某臺監(jiān)測接收機(jī)(ID:89AE12)發(fā)起對定頻信號121.9 MHz 以500 kHz 中頻帶寬連續(xù)測量IQ 結(jié)果的測量服務(wù)請求。

      請求命令XML 文本如下:

      2 電磁頻譜監(jiān)測系統(tǒng)數(shù)據(jù)通信協(xié)議設(shè)計(jì)

      設(shè)計(jì)實(shí)現(xiàn)頻譜監(jiān)測系統(tǒng)的通信接口協(xié)議時需考慮兩個方面。一方面,數(shù)據(jù)傳輸實(shí)時性要求。依據(jù)業(yè)務(wù)場景對響應(yīng)數(shù)據(jù)的實(shí)時性要求,接口協(xié)議包含同步與異步兩部分。另一方面,消息格式。在此采用JSON(JavaScript Object Notation)輕量級的數(shù)據(jù)交換格式。相比XML,JSON 更加符合電磁監(jiān)測系統(tǒng)在跨平臺、表達(dá)能力、編碼與解析難度、數(shù)據(jù)體積與提升網(wǎng)絡(luò)傳輸效率等方面的需求[1]。下面分別說明電磁頻譜監(jiān)測系統(tǒng)通信接口協(xié)議的同步請求/應(yīng)答接口協(xié)議和異步數(shù)據(jù)傳輸接口協(xié)議。

      2.1 同步請求/應(yīng)答接口協(xié)議

      該協(xié)議適用于同步請求與應(yīng)答機(jī)制的服務(wù),如設(shè)備狀態(tài)查詢等。它包含Request 請求消息和Response 響應(yīng)消息兩種消息格式。

      2.1.1 Request 請求消息

      請求消息由Request Line(請求行)、Request Header(請求頭)和Body(請求正文)3 部分組成。消息結(jié)構(gòu)與JSON 文本格式,如圖1 所示。

      請求消息JSON 文本格式如下:

      服務(wù)消費(fèi)方發(fā)送JSON 文本請求消息到服務(wù)方,消息結(jié)構(gòu)中的3 部分對應(yīng)JSON 文本格式中的3 個鍵/值對,鍵名為字符串,分別以“RequestLine”“Header”“Body”代表請求行、請求頭與請求正文,鍵值為JSON 對象,即嵌套的鍵/值對。

      (1)請求行。該部分包含服務(wù)名稱和服務(wù)地址兩個信息,對應(yīng)具體服務(wù)名稱與服務(wù)執(zhí)行的地址。該行對應(yīng)請求消息的第一個鍵/值對,鍵名“RequestLine”,鍵值是JSON 對象,包含請求行的兩個分量信息:一是服務(wù)名稱,鍵名“ServiceName”,鍵值是格式為“服務(wù)類別代碼_功能代碼”的字符串;二是服務(wù)地址,鍵名“URL”,鍵值是格式為http://host[:port]的字符串。host 是服務(wù)端主機(jī)IP 地址,port 是服務(wù)端主機(jī)端口號。以某監(jiān)測中心使用某設(shè)備進(jìn)行定頻測量服務(wù)為例,請求行為:

      (2)請求頭。該部分包含與請求正文相關(guān)的信息。因不同服務(wù)類型(如設(shè)備服務(wù)或數(shù)據(jù)服務(wù))的請求正文內(nèi)容與語法格式存在差別,該部分用于幫助解析請求消息。請求頭對應(yīng)請求消息的第二個鍵/值對,鍵名“Header”,鍵值是JSON 對象,鍵值包含格式為:

      “鍵名”:值的分量信息

      各分量信息的鍵名為代表一定意義的字符串。為實(shí)現(xiàn)消息結(jié)構(gòu)簡單、通俗易懂、便于后續(xù)解析,值盡量采用string、double 及bool 類型,不再嵌套復(fù)雜的數(shù)值結(jié)構(gòu),如JSON 對象或數(shù)組。

      請求頭示例:

      (3)請求正文。該部分包含具體的請求數(shù)據(jù),數(shù)據(jù)內(nèi)容由服務(wù)類別決定。例如:設(shè)備服務(wù)的請求正文包含與設(shè)備測量相關(guān)的參數(shù),數(shù)據(jù)庫服務(wù)包含查詢數(shù)據(jù)庫等信息。請求正文對應(yīng)請求消息的第三個鍵/值對,鍵名“Body”,鍵值是JSON 對象,鍵值包含請求服務(wù)的參數(shù)信息,是同步請求/應(yīng)答通信接口協(xié)議設(shè)計(jì)的重點(diǎn)。各分量信息的格式為:

      “鍵名”:值

      用于分組管理不同類別參數(shù)及其包含的具體參數(shù)。鍵名指定參數(shù)類別,值的數(shù)據(jù)類型有bool、double、string、null、JSON 對象以及JSON 數(shù)組共6 種。為便于區(qū)分管理復(fù)雜、大數(shù)據(jù)量的請求消息,一般采用對象或數(shù)組類型。

      設(shè)備服務(wù)請求正文示例:對102.9 MHz 的定頻信號以200 kHz 中頻帶寬連續(xù)測量spectrum 結(jié)果。

      2.1.2 Response 響應(yīng)消息

      響應(yīng)消息由Response Line(響應(yīng)行)、Response Header(響應(yīng)頭)以及Body(響應(yīng)正文)3 部分組成。消息結(jié)構(gòu)與JSON 文本格式,如圖2 所示。

      響應(yīng)消息JSON 文本格式如下:

      服務(wù)方發(fā)送JSON 文本響應(yīng)信息到服務(wù)消費(fèi)方,消息結(jié)構(gòu)中的3 個部分對應(yīng)JSON 文本格式中的3 個鍵/值對,鍵名為字符串,分別以“ResponseLine”“Header”、“Body”代表響應(yīng)行、響應(yīng)頭與響應(yīng)正文,鍵值為JSON 對象,即嵌套的鍵/值對。

      (1)響應(yīng)行。該部分包含狀態(tài)碼和狀態(tài)描述兩個信息,用于返回服務(wù)請求處理的狀態(tài)。該行對應(yīng)響應(yīng)消息的第一個鍵/值對,鍵名“ResponseLine”,鍵值是JSON 對象,包含響應(yīng)行的兩個分量信息。一是狀態(tài)碼,鍵名“Code”,鍵值是3 位數(shù)字組成的字符串,首位數(shù)字定義了狀態(tài)碼所屬類型(如成功、等待、重試以及取消等),后兩位數(shù)字代表當(dāng)前狀態(tài)類型中包含的具體返回狀態(tài)。二是狀態(tài)描述,鍵名“Message”,鍵值是狀態(tài)碼的具體描述字符串,說明服務(wù)請求處理的情況。

      響應(yīng)行示例:成功接收請求消息,并成功處理。

      (2)響應(yīng)頭。該部分包含與響應(yīng)正文的相關(guān)信息。與請求頭類似,該部分用于幫助解析響應(yīng)消息。響應(yīng)頭對應(yīng)響應(yīng)消息的第二個鍵/值對,鍵名“Header”,鍵值是JSON 對象,其中包含格式為:

      “鍵名”:值的分量信息

      鍵名稱為代表一定意義的字符串,分量值的設(shè)計(jì)原則與請求頭的設(shè)計(jì)原則一致。

      響應(yīng)頭示例:

      (3)響應(yīng)正文。該部分包含請求服務(wù)處理后返回的響應(yīng)數(shù)據(jù),如返回的儀器設(shè)備狀態(tài)、數(shù)據(jù)庫查詢信息以及測量結(jié)果數(shù)據(jù)等。該部分對應(yīng)響應(yīng)消息的第3 個鍵/值對,鍵名“Body”,鍵值是JSON對象,包含對應(yīng)的請求服務(wù)的響應(yīng)數(shù)據(jù)信息。因涉及的響應(yīng)信息種類多、數(shù)據(jù)量大,該部分也是同步請求/應(yīng)答通信接口協(xié)議設(shè)計(jì)的重點(diǎn)。各分量信息的格式為:

      “鍵名”:值

      用于分組管理不同類別響應(yīng)數(shù)據(jù)。鍵名指定響應(yīng)數(shù)據(jù)類別,鍵值包含具體的響應(yīng)數(shù)值。響應(yīng)正文的設(shè)計(jì)原則與請求正文的設(shè)計(jì)原則一致。

      某個設(shè)備服務(wù)響應(yīng)正文示例:對105.9 MHz 的定頻信號以200 kHz 中頻帶寬連續(xù)測量IQ 結(jié)果。

      2.2 異步數(shù)據(jù)傳輸接口協(xié)議

      該接口協(xié)議適用需要大數(shù)據(jù)量或者持續(xù)的數(shù)據(jù)傳輸?shù)臉I(yè)務(wù)場景,但對數(shù)據(jù)傳輸?shù)膶?shí)時性要求相對較弱,如自動化監(jiān)測功能。異步傳輸方式包括字節(jié)流、文件或者數(shù)據(jù)庫等。其中,文件與數(shù)據(jù)庫操作均具備配套的工具與操作方法。監(jiān)測系統(tǒng)多涉及監(jiān)測設(shè)備的連續(xù)測量任務(wù),常采用字節(jié)流(stream)方式實(shí)現(xiàn)異步數(shù)據(jù)傳輸,如IQ 數(shù)據(jù)、頻譜數(shù)據(jù)等。圖3 是字節(jié)流傳輸方式的異步數(shù)據(jù)傳輸幀格式。

      字節(jié)流包含1~n個數(shù)據(jù)幀,每個數(shù)據(jù)幀由幀頭、數(shù)據(jù)頭以及數(shù)據(jù)體組成。幀結(jié)構(gòu)可靈活組合、剪裁,數(shù)據(jù)頭部分可選。幀頭包含當(dāng)前幀的公共信息,如幀版本、幀類型等。幀體是數(shù)據(jù)實(shí)體,由數(shù)據(jù)頭與數(shù)據(jù)體組成。數(shù)據(jù)體由若干子數(shù)據(jù)塊組成,每個子數(shù)據(jù)塊由數(shù)據(jù)塊頭與數(shù)據(jù)組成。數(shù)據(jù)頭描述數(shù)據(jù)體組成及幀數(shù)據(jù)的公共數(shù)據(jù)(公共工作參數(shù)/測量結(jié)果等),長度不固定,與幀類型、數(shù)據(jù)體關(guān)聯(lián)的任務(wù)模式相關(guān)。數(shù)據(jù)塊位于數(shù)據(jù)頭后,將工作參數(shù)或結(jié)果數(shù)據(jù)劃分為多個部分,使一幀可攜帶多種、大量的數(shù)據(jù)。數(shù)據(jù)塊由數(shù)據(jù)塊頭與數(shù)據(jù)組成,其中數(shù)據(jù)塊頭描述當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)部分的屬性、字節(jié)長度信息,而數(shù)據(jù)是數(shù)據(jù)塊的數(shù)據(jù)實(shí)體[2]。

      3 結(jié)語

      該數(shù)據(jù)通信協(xié)議設(shè)計(jì)方法已應(yīng)用于某電磁頻譜監(jiān)測系統(tǒng)軟件開發(fā),經(jīng)測試驗(yàn)證其平臺適應(yīng)性好,能夠覆蓋監(jiān)測業(yè)務(wù)的復(fù)雜數(shù)據(jù)類型,編程適應(yīng)性及可擴(kuò)展性強(qiáng),易于編碼解碼,且傳輸?shù)臄?shù)據(jù)體積小,能夠有效提升網(wǎng)絡(luò)傳輸效率等,很好地解決了監(jiān)測系統(tǒng)數(shù)據(jù)通信協(xié)議不統(tǒng)一、重復(fù)以及管理維護(hù)困難的問題。

      猜你喜歡
      鍵值數(shù)據(jù)通信正文
      更正聲明
      傳媒論壇(2022年9期)2022-02-17 19:47:54
      更正啟事
      非請勿進(jìn) 為注冊表的重要鍵值上把“鎖”
      基于快牙平臺實(shí)現(xiàn)全站儀與計(jì)算機(jī)的數(shù)據(jù)通信
      監(jiān)測系統(tǒng)接口數(shù)據(jù)通信方式
      一鍵直達(dá) Windows 10注冊表編輯高招
      電腦愛好者(2017年9期)2017-06-01 21:38:08
      一種高效可靠的串行數(shù)據(jù)通信協(xié)議及處理算法
      TCN實(shí)時協(xié)議棧過程數(shù)據(jù)通信研究
      大鼠腦缺血/再灌注后bFGF和GAP-43的表達(dá)與神經(jīng)再生
      注冊表值被刪除導(dǎo)致文件夾選項(xiàng)成空白
      海阳市| 阳春市| 洛宁县| 甘洛县| 桐柏县| 西贡区| 洪泽县| 文山县| 桐庐县| 类乌齐县| 丹寨县| 公安县| 威海市| 霸州市| 重庆市| 盘锦市| 四子王旗| 滦平县| 汽车| 防城港市| 甘南县| 新和县| 台安县| 汤原县| 漠河县| 隆安县| 贵南县| 涞源县| 拉萨市| 宝兴县| 云和县| 深州市| 满洲里市| 达拉特旗| 南部县| 建瓯市| 方城县| 乐昌市| 恭城| 泸溪县| 凤冈县|