本發明屬于無人機系統控制領域,為無人機地面站和其他用戶接入通信衛星系統提供一種通用的接入方法,以方便多用戶同時利用通信衛星通信數據鏈實現無人機超視距范圍的監視和控制,擴大無人機遂行任務的區域范圍。
背景技術:
無人機數據鏈是連接無人機和地面指揮控制站系統的唯一紐帶,決定了無人機系統遂行任務的效能,是全系統“無人”價值的最重要體現。無人機系統空地數據鏈系統分為視距鏈路和超視距鏈路,視距鏈路作用距離一般較短,一般采用l波段、c波段和uhf波段。超視距鏈路采用衛通鏈路,可以采用ku、s和ka波段。其中ku衛通鏈路的地面數據終端一般采用機動式,而ka衛通鏈路則采用固定地面數據終端,即在地面由通信衛星系統的控管中心接收和發送數據。
在通信衛星通信鏈路的實際使用中,為了接入通信衛星通信鏈路,無人機地面控制站首先需要向控管中心發送衛星資源使用申請,由控管中心統一調度資源后回復衛星資源申請結果和使用計劃。根據使用計劃,地面控制站需要將遙控傳輸幀轉換為通信衛星控管中心統一的前向數據傳輸幀,并接收通信衛星控管中心回傳的返向用戶數據,轉換為無人機地面站的用戶既定協議格式。不同類型的無人機地面站都需要知悉通信衛星的傳輸格式,并專門針對該傳輸協議開發各自的接口轉換模塊,造成相關裝備的重復性開發,且由于擴大了衛星通信傳輸協議的知悉范圍,不利于相關保密工作。此外,未來戰場將是一個各作戰節點相互交織的作戰網絡,分立的通信衛星接入方法造成各作戰節點相互獨立,不利于連接戰場體系的各類要素。隨著無人機地面控制站的發展,亟需一種通用的接口轉換方法和通信衛星數據鏈接入手段,提高通信衛星通信鏈路的接入效率和資源利用率。
技術實現要素:
本發明的發明目的在于提供一種面向通信衛星的多功能綜合業務通用接入方法,建立基于通信衛星的無人機數據鏈通用接口轉換平臺,通過融合各型號無人機的測控標準,解決了傳統的用戶中心配備專用設備的通信衛星接入方式而導致的資源利用率低、靈活性差、接入機制單一等問題,實現了不同用戶中心通用化接入通信衛星系統的使用需求,有利于提高通信衛星通信鏈路接入效率,提升無人機互操作水平,增強無人機衛星通信通信傳輸的保密安全性。
本發明的發明目的通過以下技術方案實現:
一種面向通信衛星的多功能綜合業務通用接入方法,用于將多個不同用戶同時接入到通用接口轉換平臺中,由通用接口轉換平臺對多路不同格式的數據進行格式處理,轉換成控管中心所需格式,其特征在于:在對多路不同格式的數據進行格式處理中根據事件到達方式將事件進行分類并相應采取不同調度算法,采用線程作為調度的基本單位,在通用接口轉換平臺中安排多個調度時鐘并以此為參考,并以線程創建時指定的優先級作為調度依據,以實現面向多用戶的多業務類型的事件信息處理的實時性。
依據上述特征,所述事件分為周期事件、非周期事件、同步處理事件;
對周期性事件的調度需滿足(1)式:
c1/t1+c2/tc++cn/tn≤u(n)=(21/n-1)(1)
ti表示事件i的周期,ci表示該事件的最壞執行時間;
對同步處理事件的調度需滿足(2)式:
∑ci/ti+bi/ti≤u(n)=(21/n-1)(2)
其中,bi為低優先級事件阻塞高優先級事件的時間;
對非周期性事件的調度過程如下:
先用(7)式模擬非周期性事件的周期:
tr=(cr-w)+sqrt((w-cr)(w-cr+2i))(7)
其中,tr代表非周期事件;cr為非周期事件tr的最壞執行時間;w代表非周期事件平均響應時間;i代表非周期事件的平均間隔時間;
再將(7)式周期化后的項帶入式(2),按周期事件調度
進一步,在對多路不同格式的數據進行格式處理中采用內存動態映射機制對數據進行本地記錄備份,所述內存動態映射機制為在用戶層和核心層設置一個共享的通信區,與硬盤上的特定文件相對應,然后使進程將這塊通信區映射到自己的地址空間中,以存放用戶數據和網絡數據,該通信區包含消息發送與接收的緩沖區,并維護發送、接收和空閑三個循環隊列,通信協議在應用層實現,
本發明的有益效果在于:
1.設計了面向服務的開放式軟件架構,將軟件單元內各功能服務模塊作為可通過通用方式訪問的獨立服務資源,與其他功能服務模塊進行交互,實現了功能服務資源間更為靈活的松散耦合關系,提升了通用接口轉換單元軟件的可擴展性。
2.采用基于unix系統的并發多線程處理方式,設計了用消息進行通訊的多線程,通過并發增加線程的形式來增加一個數據處理業務,避免了進程空間的切換,減少了系統資源開銷,降低了數據處理的響應時間,提高了系統的吞吐能力。利用并發多線程處理的通用接口轉換單元具備了如下優點:(a)切換速度快,(b)系統開銷少,(c)通信易實現,(d)并行程度高,(e)節省內存空間。
3.設計了可配置的網絡通信模式,根據數據源的特點,利用基于socket的udp/tcp網絡通信方式實現了多源接入網絡通信的可配置性和通用性,實現了跨平臺通信的同時增加了網絡通信的靈活性,提高了系統吞吐量,并且增強了通用接口轉換單元的可擴展性。
4.設計了基于多業務的實時調度策略,縮短了對外界請求的響應時間,減小了多用戶通過通用一體化平臺接入通信衛星系統的響應時間,提高系統響應的靈敏度;縮短了多類發送數據和接收數據以及轉發數據的處理時間,提高了網絡數據實時處理性能。
5.利用內存動態映射機制,在應用層設計了通信協議,設計了緩存通信區,采用由用戶空間與系統核心空間共享內存的方法,避免了在不同的系統空間之間的數據拷貝,減少了系統軟件的協議處理開銷和網絡通信的延遲;通過數據統計管理和預計策略,設計了針對不同源宿數據量進行動態化映射內存分配的算法,并采用被映射文件的直接式訪問,省去了不必要的文件i/o操作,增加了數據存儲速率,提升了系統資源利用率。
6.設計建立了基于通信衛星的無人機數據鏈通用接口轉換平臺,解決了傳統的用戶中心配備專用設備的通信衛星接入方式而導致的資源利用率低、靈活性差、接入機制單一等問題,實現了不同用戶中心通用化接入通信衛星系統的使用需求,提高了通信衛星通信鏈路接入效率、資源利用率,提升了無人機互操作水平,增強了無人機衛星通信傳輸的保密安全性。
附圖說明
圖1為通用接口轉換平臺與外部交聯關系;
圖2為通用接口轉換平臺軟件總體架構;
圖3為多線程處理流程;
圖4為內存動態映射機制原理圖;
圖5為通信區劃分。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。
本實施例主要有以下五個技術特點:
1.面向服務的開放式軟件架構。通用接口轉換平臺是一個組件模型,將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。其接口采用中立的方式進行定義,獨立于實現服務的硬件平臺、操作系統和編程語言,使得以這種架構設計的服務可以以一種統一和通用的方式進行交互。本發明實現的通用接口轉換單元軟件,以面向服務的開放式軟件架構為設計基礎,將軟件單元內各功能服務模塊作為可通過通用方式訪問的獨立服務資源,與其他功能服務模塊進行交互,實現了功能服務資源間更為靈活的松散耦合關系,提升了通用接口轉換單元軟件的可擴展性。
2.基于unix系統的并發多線程處理。傳統操作系統中,進程是系統資源分配和處理機制的基本單位,一個進程讓另一個實體做某個事務需要通過fork派生子進程進行處理,需要將父進程的內存對象拷貝給子進程,代價比較“昂貴”。在具體實現中,無人機系統包含的數據種類繁雜、數據量大,通信衛星控管中心需要同時處理每個無人機的業務數據、遙測、遙控數據、語音、圖像、視頻等。接入控管中心前需要對無人機的所有數據進行接收、處理、封裝和轉發等一系列操作,對于這類大批量數據的處理,以進程為單位來完成多個事務的并發執行將導致系統的性能明顯下降,無法保證系統高效、持續地對多個事務的大批量數據處理。基于進程的多線程結構能較好解決多業務并發執行的問題。線程間不需要復雜的ipc通信方式維護進程之間的數據交換,同時多個線程也可以獨立、并行的執行。在unix系統中,多線程是操作系統進行處理調度的基本單位,同一個進程中的線程共享進程獲得的主存空間和資源,它們駐留在相同的地址空間,存取相同的數據,并且能夠運行在不同的cpu上。在單進程多線程結構的數據處理系統中,unix系統只創建一個主控進程,該進程可由多個線程組成,將基本執行單位由進程轉變為線程,只通過消息來實現線程間的通訊。每增加一個數據處理業務只需再增加一個線程,并且線程的轉換只是簡單的運行狀態的改變,不會引起進程空間的切換,以此減少了系統開銷,使得數據處理的響應時間和系統的吞吐能力有明顯改進。
如圖3所示,本實施例在傳統三層結構(客戶端,應用程序服務器層,數據庫)基礎上,在客戶層與數據庫服務層之間增加應用程序服務層,將業務邏輯分布到應用服務器上,數據庫只作為負責基礎業務數據的管理,并由應用服務器完成主要的計算任務,充分利用應用服務器在并發處理和邏輯計算方面的優勢。
3.可配置的網絡通信模式。在物理連接形式上,無人機地面站及其他用戶主要以太網連接的方式通過通用接口轉換單元接入通用一體化平臺和通信衛星系統。在通用接口轉換單元中采用socket作為tcp/ip協議的應用開發接口進行網絡傳輸通信設計。作為網絡應用編程界面,socket隱藏了網絡底層復雜的結構和協議,提供了一種較為方便簡潔的網絡操作方式。socket主要有兩種通信方式,第一種叫流式socket,也稱面向連接方式,在這種方式下,通信進程之間要先建立一種虛擬的連接,這種方式對應的是tcp協議,其傳輸特點是通信可靠性,按發送的順序接收數據,其中數據被看作是字節流,無長度限制。第二種叫做數據報式socket,又稱無連接方式,它提供無連接服務,對應的是udp協議,這種方式不提供數據無錯保證,數據可能丟失或重復,并且接受順序混亂,且報文的長度是有限的。無人機地面站及其他用戶在接入通信衛星系統后,將互相交換大量遙測、遙控數據、語音、圖像、視頻及業務數據等,各類數據的實時性要求、可靠性要求存在一定差異,通過結合基于socket的兩種udp/tcp通信方式,根據數據傳輸要求和用戶服務要求,采用tcp方式保證大容量高速數據的傳輸,同時采用udp方式保證數據量較小、實時性高的數據傳輸,以此支持多源通道的數據接入,降低系統處理時間的同時,提升了系統的吞吐量。基于socket的網絡通信具有與平臺、語言無關的特點,實現了多源接入網絡通信的可配置性和通用性,結合ini配置文件對通信網絡進行離線端口以及ip地址配置,實現了跨平臺通信的同時增加了網絡通信的靈活性。
4.基于多業務的實時調度策略。unix本身雖然提供兩種實時調度策略fifo(先來先調度)和rr(輪換制調度),雖然這兩種實現都比較簡單,但并沒有從實際上提高實時處理機制,所以需要對調度策略進行一定的修改來提高實時處理的能力。要提高網絡數據實時處理性能,主要是縮短發送數據和接收數據以及轉發數據的處理時間,unix是一種基于優先級調度策略的操作系統。unix將進程分成兩種類型,實時進程和非實時進程。對于實時進程采用優先級的輪轉法調度和基于優先級的先入先出服務調度。對于非實時進程采用了基于優先級的輪轉法調度實時進程的優先級比非實時進程的優先級的基數要高1000。unix通過優先級基數設定實現了分級,實時進程和非實時進程同在一個調度隊列,但實際已被分成了兩級,即實時進程優先級絕對高于非實時進程而會優先得到調度。unix中,實時進程無論何時進入進程等待隊列,都被將排在非實時進程之前。unix又是一種非搶占式的操作系統,當系統正在執行一個低優先級的任務時,高優先級的任務不能搶占低優先級的任務,而是處于等待狀態。高優先級的任務等待時間由低優先級的任務的執行情況決定。所以說,unix的實時性不僅由實時進程執行時間決定,也由非實時進程的執行時間決定。unix中斷處理機制有其自身的特點,在unix里,中斷處理程序可以分為低級處理部分和高級處理部分。低級處理部分的作用是用來及時響應中斷信號,而具體的中斷處理工作則交給中斷的高級處理部分完成;高級處理工作并不是立即完成,而是將處理程序放在一個特殊的隊列中以后再執行。通過這種機制,unix縮短了對外界請求的響應時間,這可以很大程度減小地面站綜合處理系統的響應時間,提高系統響應的靈敏度。
通用接口轉換平臺根據事件到達方式將事件歸類后,系統進行有針對性的調度,以針對到達時間進行實時處理。
a)周期性事件
周期性事件之間相互獨立,若用ti表示事件i的周期,ci表示該事件的最壞執行時間。則若對達到事件的處理能夠滿足(1)式,則對該類事件的調度能夠滿足實時性要求。
c1/t1+c2/tc++cn/tn≤u(n)=(21/n-1)(1)
b)同步處理事件
∑ci/ti+bi/ti≤u(n)=(21/n-1)(2)
其中,bi為低優先級事件阻塞高優先級事件的時間。實際實時系統應用中,事件之間總會有數據的共享和交互及同步要求,有可能會出現高優先級事件在獲取共享數據時必須等待低優先級事件,也使高優先級事件不能保證總比低優先級事件先得到處理,增加了阻塞情況;若同步處理事件滿足(2)式,則能夠滿足實時要求。
c)非周期性事件
設有兩個非周期性事件,用te代表突發性緊急事件,tr代表非周期事件;te時間限制為de,而cr為非周期事件tr的最壞執行時間。非周期事件平均響應時間w,由事件在隊列中的平均等待時間wq和事件的平均處理時間ws組成,有
w=wq+ws(3)
用ρ代表事件密度,表示在純隊列系統中衡量cpu的平均占用率;i代表事件的平均間隔時間,則有
ρ=dq/i(4)
用tr代替dq,則wq可以
以此模擬非周期性事件的周期為
tr=(cr-w)+sqrt((w-cr)(w-cr+2i))(7)
其中,te有最高優先級,以強占方式處理時會增加tr的平均處理時間,但這較少發生,不會對tr事件的平均響應時間構成沖擊。將式(7)周期化后的項帶入式(2),能夠成立即滿足實時要求。
通過對到來事件的不同性質進行分類并相應采取不同調度算法,采用線程作為調度的基本單位,在系統中安排多個調度時鐘并以此為參考,并以線程創建時指定的優先級作為調度依據,以實現面向多用戶的多業務類型的事件信息處理的實時性。
5.內存動態映射機制。內存動態映射機制,使用戶層可以擁有一定的網絡界面,以此減少操作系統的干預過程,用戶層可以有更大的靈活性,并且在消息的發送與接收處理的過程中有效地減少了數據拷貝。本發明在底層網絡通信協議中使用內存映射機制為用戶層應用提供一個虛擬網絡界面,使用戶層能夠方便地訪問快速通信設備;設計的通信協議在應用層實現,減少了系統軟件的協議處理開銷和網絡通信的延遲。實現內存映射機制的核心是設計合適的緩存通信區。緩存通信區是一塊由用戶層和核心層共享的物理內存,采用由用戶空間與系統核心空間共享內存的方法,避免了在不同的系統空間之間的數據拷貝。與傳統的通信協議在核心層上實現相比,在應用層實現通信協議能夠減少操作系統核心的干預,降低系統占用的開銷,提高通信效率。本發明利用內存映射機制動態地在內存中開辟出一塊存放數據的通信區,并且與硬盤上的特定文件相對應,然后使進程將這塊內存區域映射到自己的地址空間中,以存放用戶數據和網絡數據,實現快速、正確、可靠的數據記錄。通過文件映射這種使磁盤文件的全部或部分內容與進程虛擬地址空間的某個區域建立映射關聯的能力,通過對被映射文件的直接式訪問,省去了不必要的文件i/o操作執行,也無需對文件內容進行緩沖處理,增加了數據存儲速率,提升了系統資源利用率。本專利提出的方法能夠使用戶層靈活方便地訪問底層網絡,同時實現高效的通信區域動態管理機制。
如圖4所示,在開辟一塊由用戶層和核心層共享的物理內存作為通信區,采用由用戶空間與系統核心空間共享內存的方法,避免了不同的系統空間之間的數據拷貝。通信區連接網絡界面與用戶層,存放用戶數據和緩存數據,其中包含消息發送與接收的緩沖區,并維護發送、接收和空閑三個循環隊列,區域分配如圖5所示。以此達到了兩個目的:靈活方便地訪問底層通信網絡;高效地管理通信區。
可以理解的是,對本領域普通技術人員來說,可以根據本發明的技術方案及其發明構思加以等同替換或改變,而所有這些改變或替換都應屬于本發明所附的權利要求的保護范圍。