• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    北斗數(shù)據(jù)接入中間件的設(shè)計(jì)與實(shí)現(xiàn)

    2013-12-06 08:35:16譚美景王萬歷張曉楠
    測(cè)繪工程 2013年3期
    關(guān)鍵詞:中間件北斗定位

    丁 昊,譚美景,王萬歷,張曉楠

    (1.信息工程大學(xué) 測(cè)繪學(xué)院,河南 鄭州 450052;2.65015部隊(duì),遼寧 大連 116000;3.68011部隊(duì),甘肅 蘭州 730020)

    作為軟件行業(yè)新興的一個(gè)分支,中間件技術(shù)越來越受到廣泛的關(guān)注。中間件的核心思想在于分層,即通過在應(yīng)用層和底層基礎(chǔ)軟件之間增加一層,來屏蔽底層軟件復(fù)雜的細(xì)節(jié),減少程序設(shè)計(jì)的復(fù)雜性。

    鑒于以往的北斗應(yīng)用系統(tǒng)的設(shè)計(jì),在數(shù)據(jù)的獲取和訪問上通常與特定的北斗硬件設(shè)備綁定在一起。對(duì)于軟件的開發(fā)人員來說,需要根據(jù)特定的北斗硬件設(shè)備開發(fā)北斗定位數(shù)據(jù)的訪問模塊,當(dāng)系統(tǒng)移植到新的硬件平臺(tái)上時(shí),就必須重新編寫大量的北斗數(shù)據(jù)的訪問代碼。因?yàn)椴煌瑥S商的北斗設(shè)備具有不同的調(diào)用方式,更換不同的廠家的設(shè)備意味著要重新編寫大量的代碼,增加了應(yīng)用系統(tǒng)開發(fā)的復(fù)雜度和工作量。而對(duì)于軟件的最終用戶來說,已投入使用的軟件系統(tǒng)無法與新的硬件一起工作,從而無法得到硬件升級(jí)和降價(jià)帶來的好處。

    基于以上分析,本文提出和設(shè)計(jì)了北斗數(shù)據(jù)接入中間件,通過對(duì)不同廠商北斗硬件設(shè)備的描述和分析,設(shè)計(jì)了一個(gè)通用的北斗數(shù)據(jù)接入具體實(shí)現(xiàn)層,從而屏蔽了北斗數(shù)據(jù)的接入、通信和傳輸細(xì)節(jié),以及北斗數(shù)據(jù)接收終端硬件的差異。對(duì)于開發(fā)人員來說減少了開發(fā)難度和工作量,對(duì)于終端用戶來說,也方便了系統(tǒng)的升級(jí),節(jié)約了用戶的成本。

    1 北斗數(shù)據(jù)中間件整體架構(gòu)的分析

    1.1 傳統(tǒng)基于北斗開發(fā)應(yīng)用系統(tǒng)的方式

    對(duì)于通常的基于北斗用戶機(jī)開發(fā)應(yīng)用系統(tǒng)的用戶來說,典型的研發(fā)環(huán)境如圖1所示。

    圖1 北斗應(yīng)用系統(tǒng)典型研發(fā)環(huán)境

    在該典型研發(fā)環(huán)境下,北斗用戶機(jī)工作的基本原理是:應(yīng)用系統(tǒng)根據(jù)功能發(fā)送相應(yīng)操作指令,北斗用戶機(jī)接收指令并處理,如果處理結(jié)果不需要返回給應(yīng)用系統(tǒng),則本次北斗應(yīng)用結(jié)束,否則北斗用戶機(jī)返回處理結(jié)果,應(yīng)用系統(tǒng)接收結(jié)果進(jìn)行業(yè)務(wù)處理完成功能,本次北斗應(yīng)用結(jié)束。

    因此,這種開發(fā)方式存在的問題是,針對(duì)不同廠商的北斗用戶機(jī),開發(fā)人員都要針對(duì)性的開發(fā)一套應(yīng)用系統(tǒng),一旦用戶機(jī)設(shè)備發(fā)生變化,那么系統(tǒng)也將跟著改變,這種開發(fā)方式存在著很大的弊端。

    1.2 北斗數(shù)據(jù)接入中間件的設(shè)計(jì)原則

    北斗數(shù)據(jù)接入中間件是要在不同的北斗用戶機(jī)硬件平臺(tái)上運(yùn)行的統(tǒng)一的北斗數(shù)據(jù)訪問接口,其設(shè)計(jì)上不僅要考慮到怎樣向外界的應(yīng)用系統(tǒng)提供統(tǒng)一的功能接口,還要考慮到不同指揮機(jī)硬件設(shè)備數(shù)據(jù)接口的差異,所以,北斗數(shù)據(jù)接入中間件要堅(jiān)持以下幾個(gè)設(shè)計(jì)原則:

    1)符合需求。北斗數(shù)據(jù)接入中間件是提供給指揮監(jiān)控系統(tǒng)開發(fā)應(yīng)用的,所以最基本的原則是要滿足客戶的需求。

    2)可移植性。北斗數(shù)據(jù)接入中間件必須提供統(tǒng)一的編程接口,屏蔽北斗指揮機(jī)硬件平臺(tái)的差異,這樣,指揮監(jiān)控系統(tǒng)的應(yīng)用才具有極強(qiáng)的可移植性,容易與不同的指揮機(jī)硬件配合使用。

    3)穩(wěn)定性。北斗數(shù)據(jù)接入中間件的使用不能影響指揮監(jiān)控系統(tǒng)的運(yùn)行效率,且必須能保證系統(tǒng)正確穩(wěn)定的運(yùn)行。

    4)可擴(kuò)充性。北斗數(shù)據(jù)接入中間件建成后會(huì)有一段較長(zhǎng)的使用周期,在周期范圍內(nèi),應(yīng)用系統(tǒng)的功能不斷增加,應(yīng)用的層次不斷升級(jí),因此在設(shè)計(jì)上應(yīng)充分考慮升級(jí)、擴(kuò)充的可行性和便利性。

    1.3 整體結(jié)構(gòu)設(shè)計(jì)

    北斗數(shù)據(jù)接入中間件在北斗應(yīng)用系統(tǒng)中所處的位置如圖2所示。

    圖2 北斗數(shù)據(jù)接入中間件整體結(jié)構(gòu)設(shè)計(jì)

    目前,應(yīng)用最廣泛的北斗指揮機(jī)硬件平臺(tái)主要為國(guó)星北斗指揮機(jī)和星地恒通北斗指揮機(jī),而不同的設(shè)備廠商所提供的二次開發(fā)平臺(tái)SDK是不一致的,因此,將這些不同的功能函數(shù)封裝為統(tǒng)一的北斗數(shù)據(jù)訪問接口,從而為上層的應(yīng)用系統(tǒng)提供服務(wù)。

    北斗數(shù)據(jù)接入中間件向下屏蔽了不同廠商的北斗指揮機(jī)硬件平臺(tái)的差異,向上為應(yīng)用系統(tǒng)提供統(tǒng)一的北斗數(shù)據(jù)訪問服務(wù),使開發(fā)人員將注意力集中在系統(tǒng)的業(yè)務(wù)功能上,不必再為系統(tǒng)在不同硬件上的移植而重復(fù)工作,大大降低了開發(fā)成本和復(fù)雜度,也減少了系統(tǒng)維護(hù)的工作量。

    2 北斗數(shù)據(jù)接入中間件詳細(xì)設(shè)計(jì)

    2.1 廠商接口分析

    不同廠商提供的北斗功能接口主要區(qū)別在于接口的命名和參數(shù)的傳遞上,完成的主要功能大體相同,主要有以下5個(gè)功能:

    1)設(shè)備初始化。該接口一般在系統(tǒng)初始化的時(shí)候調(diào)用,現(xiàn)有的北斗指揮機(jī)硬件都是基于串口通信,通過該接口完成串口的打開,以及一些相關(guān)參數(shù)的設(shè)置,如:設(shè)置注冊(cè)數(shù)據(jù)收發(fā)的窗口,或者設(shè)置數(shù)據(jù)接收的回調(diào)函數(shù)接口。

    2)定位申請(qǐng)。北斗系統(tǒng)其中一項(xiàng)最大的功能就是申請(qǐng)定位數(shù)據(jù),傳遞包括入站波束號(hào)、定位類別、入站頻度等參數(shù)。系統(tǒng)通過調(diào)用定位申請(qǐng)接口向北斗硬件設(shè)備請(qǐng)求定位數(shù)據(jù),硬件設(shè)備通過系統(tǒng)回調(diào)函數(shù)或者消息的方式把用戶當(dāng)前位置發(fā)送給用戶系統(tǒng)。

    3)通信申請(qǐng)。通信申請(qǐng)是完成北斗用戶機(jī)向其他用戶機(jī)通信的功能,通過向北斗硬件設(shè)備發(fā)送通信申請(qǐng)命令完成通信,主要包括入站波束號(hào)、通信類別、通信信息類型、編碼方式、接收方用戶地址以及通信內(nèi)容等參數(shù)。

    4)授時(shí)申請(qǐng)。主要完成標(biāo)準(zhǔn)時(shí)間的獲取。

    5)設(shè)備自毀。該接口用于收發(fā)管理模塊的銷毀,釋放資源,通常在程序退出時(shí)調(diào)用。

    2.2 北斗數(shù)據(jù)接入中間件接口設(shè)計(jì)

    北斗數(shù)據(jù)接入中間件是專為指揮監(jiān)控系統(tǒng)開發(fā)的數(shù)據(jù)訪問接口,其作用主要是提供指揮監(jiān)控業(yè)務(wù)過程中的功能函數(shù)。為了滿足實(shí)際的應(yīng)用需求,根據(jù)前一節(jié)的分析,北斗數(shù)據(jù)接入中間件應(yīng)具備以下幾個(gè)方面的功能:北斗設(shè)備打開、用戶信息請(qǐng)求、定位請(qǐng)求、通信請(qǐng)求、查詢請(qǐng)求、北斗設(shè)備關(guān)閉、設(shè)備自銷毀。

    兩家北斗系統(tǒng)硬件供應(yīng)廠商雖然在提供的二次開發(fā)接口上有很大差別,例如:國(guó)星公司的定位申請(qǐng)、通信申請(qǐng)以及授時(shí)服務(wù)都是調(diào)用同一接口,通過傳遞參數(shù)的類型來判斷不同的申請(qǐng)命令,完成相應(yīng)的功能。而星地恒通公司提供的接口則是按照具體的業(yè)務(wù)功能來劃分。而且兩家公司的回調(diào)方式也是有很大區(qū)別的,因此,如何設(shè)計(jì)一套統(tǒng)一的接口針向上為系統(tǒng)應(yīng)用層屏蔽底層的實(shí)現(xiàn)細(xì)節(jié),向下對(duì)各家平臺(tái)都能提供支持和擴(kuò)展是中間件設(shè)計(jì)的關(guān)鍵。

    類的設(shè)計(jì)結(jié)構(gòu)圖如圖3所示。

    圖3 北斗數(shù)據(jù)接入中間件接口設(shè)計(jì)

    中間件的接口定義主要包括兩部分,即命令發(fā)送接口(IC_BDRequest)與業(yè)務(wù)邏輯功能回調(diào)接口(IC_BDRespond)。其中命令發(fā)送接口由中間件層實(shí)現(xiàn),而業(yè)務(wù)邏輯功能回調(diào)接口具體實(shí)現(xiàn)是在業(yè)務(wù)系統(tǒng)中,因?yàn)椴煌臉I(yè)務(wù)系統(tǒng)針對(duì)不同業(yè)務(wù)完成的功能不一樣,因此,業(yè)務(wù)邏輯回調(diào)接口由業(yè)務(wù)系統(tǒng)實(shí)現(xiàn),中間件通過業(yè)務(wù)邏輯功能回調(diào)接口通知系統(tǒng)完成相應(yīng)功能。

    2.2.1 IC_BDRequst接口

    IC_BDRequest接口中定義了8個(gè)函數(shù),圖3中上方的4個(gè)結(jié)構(gòu)體是請(qǐng)求接口用到的4個(gè)打包參數(shù),接口定義函數(shù)描述如下:

    openDevice函數(shù)是設(shè)備打開函數(shù),完成北斗硬件系統(tǒng)的打開以及初始化工作,傳遞的參數(shù)結(jié)構(gòu)設(shè)備信息tagDevinfo,其中,port表示連接串口號(hào);baud表示傳輸波特率;config表示設(shè)備配置信息(也可用于擴(kuò)展傳遞其他類型的信息,比如接入其他種類的設(shè)備或者模擬器之類)。

    respondCall函數(shù)是注冊(cè)回調(diào)對(duì)象,前面已經(jīng)講過回調(diào)對(duì)象接口是由業(yè)務(wù)系統(tǒng)實(shí)現(xiàn),在系統(tǒng)初始化的時(shí)候,調(diào)用該函數(shù)注冊(cè)對(duì)象。

    requestICinfo函數(shù)是查詢當(dāng)前用戶機(jī)的IC卡信息。

    requestPosinfo函數(shù)是申請(qǐng)定位函數(shù),申請(qǐng)當(dāng)前用戶的位置,其中定位申請(qǐng)數(shù)據(jù)結(jié)構(gòu)為tagDwsq。結(jié)構(gòu)中urgency表示是否緊急定位;infoType表示信息類別,0表示有高程,1表示無測(cè)高;hbH表示海拔高度;antennaH表示天線高度;freq表示入站頻度,單位為s,0時(shí)為單次入站,否則為連續(xù)定位。

    requestCommunication函數(shù)是申請(qǐng)通信函數(shù),向其他用戶機(jī)發(fā)送通信內(nèi)容,如果當(dāng)前是用戶指揮機(jī)也可以向下轄機(jī)廣播通信內(nèi)容。通信申請(qǐng)參數(shù)數(shù)據(jù)結(jié)構(gòu)為tagTxsq。其中,posthaste表示是否為特快通信;bcd表示是否為BCD編碼方式;bResponse表示是否應(yīng)答,0為否,1為是;srcID表示發(fā)送信息源的卡號(hào);destID表示目標(biāo)機(jī)的卡號(hào),如果使用的是指揮卡,且該地址為通播地址,則為廣播,下轄用戶均可收到;content表示電文內(nèi)容。

    requstQuery函數(shù)是申請(qǐng)查詢函數(shù),查詢目標(biāo)機(jī)的位置或者通信信息等內(nèi)容。查詢申請(qǐng)數(shù)據(jù)結(jié)構(gòu)為tagQuery。其中,destID表示被查詢的目標(biāo)機(jī)的卡號(hào);type表示查詢類別,0為定位,1為通信;para定位查詢時(shí)表示“定位次數(shù)”,00為1次,01為2次,02為3次,通信查詢時(shí)表示“查詢方式”,00為最新查詢,01為按發(fā)送方地址查詢,02為回執(zhí)。

    2.2.2 IC_BDRespond接口

    IC_BDRespond的接口定義主要針對(duì)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)需求來定制,比如本實(shí)驗(yàn)系統(tǒng)主要針對(duì)北斗用戶機(jī)的信息獲取,北斗定位申請(qǐng)以及北斗通信3個(gè)業(yè)務(wù)功能有需求,因此設(shè)計(jì)3個(gè)函數(shù)完成相應(yīng)的功能。

    respondICinfo函數(shù)響應(yīng)查詢IC卡信息請(qǐng)求,返回參數(shù)中用戶IC卡信息數(shù)據(jù)結(jié)構(gòu)為tagICinfo。其中,localID表示本機(jī)IC卡卡號(hào);broadcastID表示通播地址;freq表示入站頻度;userNum表示下轄機(jī)個(gè)數(shù);userIDs表示下轄機(jī)卡號(hào)。

    respondPosinfo函數(shù)響應(yīng)查詢用戶的位置信息,返回參數(shù)中定位信息數(shù)據(jù)結(jié)構(gòu)為tagPosinfo。其中,bQuery表示是否被查詢;id表示定位信息的卡號(hào);lTime表示定位時(shí)間;dL表示經(jīng)度;dB表示緯度;iH表示高程。

    respondCommuinfo函數(shù)響應(yīng)用戶通信的信息,當(dāng)有用戶向本機(jī)通信時(shí)會(huì)被調(diào)用,返回參數(shù)中通信信息數(shù)據(jù)結(jié)構(gòu)為tagCommuinfo。其中,bQuery表示是否被查詢;sendID表示發(fā)送方卡號(hào);inceptID表示接收方卡號(hào);lTime表示通信時(shí)間;bBCD表示是否為BCD編碼方式;len表示通信內(nèi)容長(zhǎng)度;szContent表示通信內(nèi)容。

    3 北斗數(shù)據(jù)接入中間件交互流程

    北斗數(shù)據(jù)接入中間件的工作流程如圖4所示。

    圖4 北斗數(shù)據(jù)接入中間件工作流程

    在確定北斗指揮機(jī)硬件類型的基礎(chǔ)上,將相關(guān)參數(shù)傳入北斗數(shù)據(jù)接入中間件對(duì)其進(jìn)行初始化,同時(shí)系統(tǒng)調(diào)用中間件接口IC_BDRequest中的respondCall函數(shù)設(shè)置系統(tǒng)實(shí)現(xiàn)的業(yè)務(wù)邏輯回調(diào)對(duì)象,該對(duì)象實(shí)現(xiàn)了IC_BDRespond接口。當(dāng)需要完成某一業(yè)務(wù)功能時(shí),系統(tǒng)調(diào)用中間件的IC_BDRequest的接口,并發(fā)送相應(yīng)的命令請(qǐng)求數(shù)據(jù),經(jīng)過北斗系統(tǒng)處理后,中間件調(diào)用IC_BDRespond接口,接收響應(yīng)的信息數(shù)據(jù),并完成IC_BDRespond的功能。

    4 結(jié)束語

    綜上所述,本文主要綜合分析了幾家北斗指揮機(jī)的數(shù)據(jù)接口的描述,提出并設(shè)計(jì)了北斗數(shù)據(jù)接入中間件的接口結(jié)構(gòu)以及存儲(chǔ)傳遞的數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)基本包容了北斗指揮機(jī)數(shù)據(jù)接口的描述,功能全面且易于使用。

    [1]華一新,吳升,趙軍喜.地理信息系統(tǒng)原理與計(jì)數(shù)[M].北京:解放軍出版社,2001.

    [2]Erich Gamma,Richard Helm,Ralph Johnson,等.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].李英軍,馬曉星,蔡敏,等譯.北京:機(jī)械工業(yè)出版社,2000.

    [3]袁力.基于北斗衛(wèi)星技術(shù)的軍交運(yùn)輸指揮系統(tǒng)關(guān)鍵技術(shù)研究[D].吉林:吉林大學(xué),2009.

    [4]武麗麗,華一新,陳艷麗,等.基于“北斗一號(hào)”虛擬機(jī)管理型用戶機(jī)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2011,36(6):227-229.

    [5]武麗麗,華一新,張亞軍,等.“北斗一號(hào)”監(jiān)控管理網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪科學(xué),2008,33(5):7-9.

    [6]張習(xí)國(guó),劉建.基于北斗導(dǎo)航系統(tǒng)的移動(dòng)監(jiān)控管理系統(tǒng)研究[J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2005,27(5):63-65.

    猜你喜歡
    中間件北斗定位
    北斗和它的N種變身
    軍事文摘(2023年20期)2023-10-31 08:42:08
    北斗時(shí)鐘盤
    《導(dǎo)航定位與授時(shí)》征稿簡(jiǎn)則
    Smartrail4.0定位和控制
    “北斗”離我們有多遠(yuǎn)
    RFID中間件技術(shù)及其應(yīng)用研究
    電子制作(2018年14期)2018-08-21 01:38:10
    基于VanConnect中間件的設(shè)計(jì)與開發(fā)
    找準(zhǔn)定位 砥礪前行
    中國(guó)的北斗 世界的北斗
    太空探索(2016年3期)2016-07-12 09:58:47
    青年擇業(yè)要有準(zhǔn)確定位
    海林市| 武穴市| 绥滨县| 宁化县| 潮州市| 韶山市| 新河县| 肥城市| 洪雅县| 会东县| 河津市| 高雄县| 和顺县| 高安市| 高要市| 洪雅县| 抚顺市| 安宁市| 忻州市| 嘉鱼县| 扬州市| 云阳县| 丰都县| 景德镇市| 万年县| 铁岭市| 都安| 壶关县| 台山市| 大荔县| 镶黄旗| 福泉市| 金阳县| 丰城市| 利辛县| 满洲里市| 汕尾市| 上栗县| 许昌市| 兴山县| 友谊县|