国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARINC615A的控制軟件并行加載技術

2023-07-19 09:04:12劉宇汪坤繆國凱林江
化工自動化及儀表 2023年3期
關鍵詞:多線程

劉宇 汪坤 繆國凱 林江

摘 要 針對基于ARINC615A的軟件加載常見的點對點和串行加載方式傳輸效率低且耗時長的缺點,根據ARINC615A協(xié)議在應用過程中的實際經驗,按照ARINC615A協(xié)議的要求,提出一種IO多路復用結合多線程執(zhí)行方式的軟件并行加載技術架構。仿真結果表明:在相同的加載文件大小、網絡環(huán)境和網絡參數(shù)配置下,加載目標端設備數(shù)量每增加1,串行加載時的傳輸時間增長率在100%左右,并行加載的傳輸時間增長率小于1%,提高了控制軟件加載的效率。并且該技術具有較高的可靠性和穩(wěn)定性,滿足軟件適航的要求。

關鍵詞 并行加載 工控系統(tǒng) 多路復用 多線程 ARINC615A 加載效率

中圖分類號 TP206? ?文獻標識碼 A? ?文章編號 1000?3932(2023)03?0356?05

作者簡介:劉宇(1985-),高級工程師,從事嵌入式軟件架構設計、機載嵌入式適航軟件技術的設計與開發(fā)工作,miersoft@126.com。

引用本文:劉宇,汪坤,繆國凱,等.基于ARINC615A的控制軟件并行加載技術[J].化工自動化及儀表,2023,50(3):356-360.

工程實踐中,對工控系統(tǒng)和機載系統(tǒng)的軟硬件設計有較高的可靠性、正確性和安全性要求,需要遵循相關的研發(fā)流程和標準。對于可加載的控制軟件來說,保證軟件升級加載和記錄數(shù)據導出加載操作的可靠性、正確性和安全性就顯得尤為重要。

隨著基于ARINC664的全雙工交換式以太網(AFDX)的發(fā)展,控制設備中以太網的使用也越來越廣泛,越來越多的控制軟件采用基于以太網總線的ARINC615A協(xié)議進行軟件加載和數(shù)據下載。

目前,機載系統(tǒng)設備控制軟件加載和數(shù)據下載操作主要遵循ARINC615協(xié)議和ARINC615A協(xié)議。ARINC615協(xié)議基于ARINC429總線實現(xiàn),ARINC615A協(xié)議[1]主要基于以太網總線、CAN總線等實現(xiàn),相對于ARINC429總線,以太網總線速率大幅提高。ARINC615A協(xié)議能夠滿足控制軟件加載較高的可靠性、正確性和安全性要求。ARINC615A是一種基于以太網TFTP協(xié)議的控制軟件加載協(xié)議。ARINC615A協(xié)議定義了查找、信息獲取、上載和下載4種類型的操作,能夠支持控制軟件上載和數(shù)據下載功能?;贏RINC615A軟件加載的主要功能是將控制軟件的可加載部分通過以太網總線上載到控制設備,如控制軟件的配置數(shù)據、地圖數(shù)據、音視頻數(shù)據等;軟件加載的另一個功能是通過以太網從控制設備下載數(shù)據,如需要維護的控制軟件的日志記錄數(shù)據等。ARINC615A的軟件加載系統(tǒng)由加載端和目標端兩部分組成,目標端設備通常為連接到以太網的被加載設備;加載端設備為連接到以太網的發(fā)起軟件加載設備,通常分為便攜式加載端(PDL)和設備加載端(ADL)兩類,便攜式加載端可在維護時根據需要攜帶上機,設備加載端固定安裝在機上。

常見的點對點和串行加載方式具有傳輸效率低且耗時長的缺點。因此,按照ARINC615A協(xié)議的要求,筆者提出一種數(shù)據并行加載技術架構,并進行仿真驗證。

1 軟件加載架構

1.1 網絡結構

系統(tǒng)維護時,控制軟件的可加載部分在導入加載端設備后再通過以太網總線上載到目標端,同時目標端的日志記錄數(shù)據通過以太網總線下載到加載端并可導出分析處理。加載端和目標端常見系統(tǒng)網絡連接拓撲結構如圖1所示,加載端和目標端通常連接到以太網交換機,通過以太網交換機進行以太網通信和數(shù)據交換。

1.2 功能架構

ARINC615A軟件加載協(xié)議分層功能架構如圖2所示。ARINC615A協(xié)議主要由基于以太網傳輸層的UDP協(xié)議以及上層的TFTP簡單文件傳輸協(xié)議擴展實現(xiàn)。采用UDP協(xié)議和TFTP協(xié)議[2]具有較小的系統(tǒng)空間和時間開銷。加載端協(xié)議層和目標端協(xié)議層主要通過TFTP協(xié)議進行協(xié)議文件交互,通過ARINC615A和ARINC665協(xié)議定義的協(xié)議文件的名稱和格式化內容來實現(xiàn)ARINC615A協(xié)議的控制通信和數(shù)據傳輸通信,并實現(xiàn)加載端應用層和目標端應用層的軟件上載和數(shù)據下載操作。

ARINC615A協(xié)議主要定義了4種類型的操作:

a. 查找(Find)。主要用于加載端發(fā)現(xiàn)網絡內的目標端設備,并獲取目標端設備的MAC地址、IP地址、目標硬件ID、設備位置、設備名及制造商等信息。加載端查找操作的Request消息通過1001端口的UDP協(xié)議廣播發(fā)送,目標端在收到廣播的Request消息之后,通過1001端口應答包含有目標端設備相關信息的Answer消息至加載端,用于記錄和注冊。

b. 信息獲?。↖nformation)。主要用于加載端查詢目標端設備的軟硬件構型信息。加載端獲取到目標端設備的軟硬件構型信息之后,可將其用于軟件的可加載部分的匹配和識別。信息獲取操作通過ARINC615A協(xié)議所定義的協(xié)議文件進行交互實現(xiàn),協(xié)議文件通過擴展的TFTP協(xié)議進行傳輸。

c. 上載(Uploading)。主要用于加載端對目標端設備軟件的可加載部分進行上載。加載端發(fā)起上載請求,并將目標端設備軟件的可加載部分通過TFTP協(xié)議上載到目標端設備,目標端設備對上載軟件數(shù)據進行匹配和校驗之后,完成對軟件可加載部分的更新操作。

d. 下載(Downloading)。主要用于加載端從目標端設備對日志記錄數(shù)據進行下載。加載端發(fā)起下載請求,并將目標端設備的日志記錄數(shù)據通過TFTP協(xié)議下載到本地,維護人員可以對日志記錄數(shù)據進行導出、分析和處理。下載操作又分為介質定義下載模式(Media Defined Download Mode)和操作者定義下載模式(Operator Defined Download Mode)兩種。介質定義下載模式是自動模式,加載端自動生成下載文件列表文件并發(fā)送至目標端;操作者定義下載模式是手動模式,由操作者選擇所需下載文件,由加載端根據所選擇文件生成列表文件并發(fā)送至目標端。

ARINC615A協(xié)議需要結合ARINC665協(xié)議使用。ARINC665協(xié)議[3]定義了軟件可加載部分數(shù)據文件的組織以及內容格式,并定義了相關文件的校驗方式方法,通過CRC、MD5、SHA1等算法進行文件的校驗,保證了上載和下載數(shù)據文件的正確性。

2 并行加載架構設計

ARINC615A協(xié)議在實現(xiàn)時,為了簡便,通常對加載端采用串行處理方式。但串行方式存在加載效率低、時間成本高的缺點。由于軟硬件技術的發(fā)展,現(xiàn)代工控領域以及機載系統(tǒng)設備數(shù)量不斷增多,同時軟件的可加載數(shù)據量也不斷增大。特別是對于終端系統(tǒng)設備較多的情況下,加載效率低的缺點就顯得尤為突出。隨著控制設備硬件性能的不斷增強和CPU核心的增加,對于并行加載技術的應用需求就顯得更為迫切。

ARINC615A協(xié)議是在TFTP協(xié)議基礎上實現(xiàn)的,并對TFTP協(xié)議進行了擴展。ARINC615A協(xié)議將默認控制端口由69修改為59,并在TFTP協(xié)議選項協(xié)商功能[4]的基礎上進行了擴展,在原有的File Transfer Size、Timeout Interval[5]和Block Size[6]選項協(xié)商功能基礎上,增加了Part Number、Checksum和Port選項的協(xié)商功能。

TFTP協(xié)議的選項協(xié)商功能可以通過TFTP請求攜帶選項,實現(xiàn)TFTP Client和TFTP Server間各種控制參數(shù)的修改和協(xié)商。通過Port選項協(xié)商,ARINC615A協(xié)議即可實現(xiàn)對不同目標端設備使用不同控制端口,也為支持并行加載提供了基礎技術條件。

2.1 控制流設計

在進行軟件并行加載架構設計時,首先需考慮軟件加載的應用場景,分析相應的用例。

軟件的并行加載無需對目標端進行更改,主要是對加載端的串行操作進行并行化。具體的控制流設計如圖3所示,操作人員通過加載端應用HMI接口選擇加載目標設備以及需要上載的軟件或者需要下載的數(shù)據,并通過HMI接口啟動加載操作。加載端應用HMI將加載列表通過消息隊列發(fā)送到加載端主線程;加載端主線程則啟動相應的上載或下載操作,將帶有Port選項協(xié)商的加載請求發(fā)送到目標端,完成對已分配Port的協(xié)商;完成協(xié)商后將對應的加載任務放入加載任務隊列,并通過加載任務隊列推送到分配的狀態(tài)文件處理線程和數(shù)據文件處理線程。將加載任務分配到相應線程之后,主線程可以繼續(xù)對后續(xù)加載任務進行分配,由于線程之間的數(shù)據和控制沒有耦合,加載任務可以并發(fā)運行。如加載端設備采用多核CPU,則操作系統(tǒng)可將線程分配到不同核心并行運行,運行效率可以進一步提升。

狀態(tài)文件處理線程和數(shù)據文件處理線程可以采用線程池的方式,在初始化時分配足夠的狀態(tài)文件處理線程和數(shù)據文件處理線程,避免在加載過程中動態(tài)創(chuàng)建線程所帶來的系統(tǒng)穩(wěn)定性風險。

2.2 工作流程設計

并行加載的具體工作流程如圖4所示。加載端發(fā)起加載操作時,首先根據當前所需加載的目標端設備,構造加載請求文件,并將分配的Port參數(shù)作為協(xié)商選項放入加載請求文件內部,然后發(fā)送到目標端,目標端應答對應文件并在接受加載請求和Port協(xié)商之后,分配相應的并行加載線程,將任務通過消息隊列等方式發(fā)送到加載線程。如果Port選項協(xié)商未成功,則需要執(zhí)行串行加載操作,避免因為目標端無法支持Port選項協(xié)商導致加載失敗。

并行加載由于采用了多線程,因此在實現(xiàn)時函數(shù)代碼需要具有可重入性,同時需要對臨界資源數(shù)據進行互斥保護。由于控制軟件通常工作在資源極為有限的嵌入式系統(tǒng)中,在保證可靠性和安全性的基礎上,在實現(xiàn)過程中需要對線程池中的線程進行回收,并對內存空間進行回收和重用。

并行加載過程中按照ARINC615A和ARINC665標準的要求,設計了CRC32的校驗方式對整個軟件加載包進行校驗。對于每個加載的文件,設計了CRC16、MD5、SHA1等可選的校驗方式進行校驗,同時通過再傳輸層進行數(shù)據包的加密設計,保證了文件和數(shù)據傳輸過程中的可靠性、正確性和安全性。

整個并行加載過程采用了ARINC615A定義的簡單文件傳輸協(xié)議設計,該協(xié)議相較于FTP等文件傳輸協(xié)議實現(xiàn)流程較為簡單,通過少量的代碼便實現(xiàn)了文件和數(shù)據的上載和下載功能。

3 測試驗證

對軟件并行加載技術架構的測試驗證,采用仿真控制系統(tǒng)設備軟硬件環(huán)境。加載端設備和多臺目標端設備采用以太網交換機連接,模擬真實的控制系統(tǒng)結構。測試驗證過程中分別采用串行加載和并行加載兩種方式對目標端設備進行軟件上載,同時測試在不同的加載文件大小、不同的設備數(shù)量和不同的BlockSize參數(shù)配置條件下,串行加載和并行加載的傳輸時間。得到的測試驗證結果如圖5所示,可以看出,在相同的加載文件大小、網絡環(huán)境和網絡參數(shù)配置條件下,加載目標端設備數(shù)量每增加1,串行加載的傳輸時間增長率在100%左右,并行加載的傳輸時間增長率則小于1%。

4 結束語

采用筆者提出的ARINC615A軟件并行加載技術實現(xiàn)了工控設備的并行軟件加載和數(shù)據下載,仿真和測試驗證結果表明,在保證可靠性、正確性和安全性的基礎上,該方法提高了加載效率,降低了軟件加載的時間成本,并且無需對加載端設備軟件進行修改和變更,適用于工控系統(tǒng)和機載系統(tǒng)需要進行軟件加載的機載設備數(shù)量較大的場景。

筆者提出的并行加載技術,由于采用了通用的多線程技術和較少的代碼實現(xiàn),可以滿足工控領域以及航空領域等各種高安全性操作系統(tǒng)的移植需要。并且考慮了對目標端的兼容性,在軟件研發(fā)流程方面的成本增加較低,可以滿足各種工控領域DO?178等相關標準的要求。

參 考 文 獻

[1] Airlines Electronic Engineering Committee.Software Da? ta Loader Using Ethernet Interface:ARINC615A?3[S].USA:Aeronautical Radio,Inc,2007.

[2] IETF.The Tftp Protocol(Revision 2):RFC1350[S].USA:Sollins K,1992.

[3] Airlines Electronic Engineering Committee.Loadable So? ftware Standards:ARINC 665?3[S].USA:Aeronautical Radio,Inc,2005.

[4] IETF.Tftp Option Extension:RFC2347[S].USA:G.Ma? lkin,1998.

[5] IETF.Tftp Timeout Interval and Transfer Size Option:RFC2349[S].USA:G.Malkin,1998.

[6] IETF.Tftp Blocksize Option:RFC2348[S].USA:G.Ma? lkin,1998.

(收稿日期:2022-08-19,修回日期:2022-11-01)

Control? Software? Parallel Loading Technology? Based on? ARINC615A

LIU Yu, WANG Kun, MIAO Guo?kai, LIN Jiang

(Airbone Software Division,Comac Software Company Limited)

Abstract? ?Considering the poor transmission efficiency and longer time consumption in commonly?used point?to?point and serial loading methods based on ARINC615A protocol, having the practical experience from the ARINC615A protocol application based to propose a software parallel loading technology architecture based on IO multiplexing and multithreading architecture was proposed. Simulation results show that, regarding the same loading file size, network environment and network parameter configuration, the transmission time growth rate of serial loading is about 100% and that of parallel loading is less than 1% when the number of loading target devices increases by 1, which improves the efficiency of control software loading and the technology has high reliability and stability, and it meets the requirements of software seaworthiness.

Key words? parallel loading, industrial control system, multiplexing, multithreading, ARINC615A, loading efficiency

猜你喜歡
多線程
Java多線程同步機制在網絡售票系統(tǒng)中的應用
科技資訊(2016年29期)2017-02-28 09:30:34
Java并發(fā)工具包對并發(fā)編程的優(yōu)化
基于多線程文件傳輸關鍵技術研究與實現(xiàn)
網頁爬蟲技術的關鍵技術研究探索
一種基于多線程的高速磁盤鏡像算法
iOS并發(fā)程序設計中幾種方法的特點及使用技巧研究
HTM L5 Web WOrker技術及應用研究
電站鍋爐煤粉參數(shù)遠程監(jiān)控系統(tǒng)的軟件設計與實現(xiàn)
一種高并發(fā)認證服務器的實現(xiàn)
一種低開銷的并行重復數(shù)據刪除算法
軟件導刊(2015年8期)2015-09-18 12:59:11
清水县| 三亚市| 石家庄市| 新民市| 治县。| 蒲江县| 全椒县| 浮山县| 确山县| 都兰县| 睢宁县| 安阳市| 精河县| 浮山县| 岱山县| 大足县| 富蕴县| 呼和浩特市| 新竹县| 张家口市| 通河县| 金湖县| 乾安县| 石楼县| 行唐县| 昌江| 天等县| 枣庄市| 朝阳区| 崇左市| 安徽省| 定日县| 宁阳县| 高雄县| 长沙市| 静宁县| 忻州市| 双辽市| 遂昌县| 霍邱县| 南阳市|