Hans Journal of Data Mining 数据挖掘, 2013, 3, 18-22 http://dx.doi.org/10.12677/hjdm.2013.31004 Published Online January 2013 (http://www.hanspub.org/journal/hjdm.html) Data Uploading Method for Central Maintenance Based on 615A Protocol Chun xia Yin, Tao Chu The First Aircraft Institute, Aviation Industry Corporation of China, Xi’an Email: dingdong1104@163.com Received: Dec. 11th, 2012; revised: Dec. 23rd, 2012; accepted: Dec. 30th, 2012 Abstract: This article discusses how to efficiently upload data based on 615A protocol by Avionics Full Duplex Switched Ethernet. The experiment proves that the proposed meth od has quick response and good stability. Keywords: 615A Protocol; Central Maintenance; Data Uploading 基于 615A 协议的中央维护数据加载方法 殷春霞,楚 涛 中航工业第一飞机设计研究院,西安 Email: dingdong1104@163.com 收稿日期:2012 年12月11 日;修回日期:2012年12月23日;录用日期:2012 年12 月30日 摘 要:探讨了如何基于 615A 协议在航空电子全双工交换以太网上实施高效的数据加载。实验证明提出的方 法具有快速的响应和良好的稳定性。 关键词:615A 协议;中央维护;数据加载 1. 引言 数据加载作为机载中央维护系统(CMS, Central Maintenance System)[1]的一个 子功能 模块, 负责将 将 数据和可操作软件从 CMS 的大容量存储器(MMM, Mass Memory Module)加载到各成员系统(MS, Mem- ber System)的指定空间。数据和可操作软件可以被看 做是两种不同类型的文件。本文仅考虑通过航空电子 全双工交换以太网(AFDX, Avionics Full Duplex Switched Ethernet)直接连接到 CMS 的成员系统。在 AFDX 上,CMS 和MS 之间的通信通过 615A 协议[2] 实现。本文将实施数据加载功能的软件称为数据加载 器(DL, Data Loader)。进行数据加载时,DL 充当Server 角色,MS 充当 Client 角色。 2. 数据加载方法 2.1. 数据加载过程 数据加载过程主要由 3个阶段组成,即初始化阶 段、文件名列表传输阶段和文件传输阶段。 初始化阶段:DL 请求加载操作,目的通知 MS 要向它加载数据,MS接到消息后检查并决定该操作 当前是否可以进行;若MS 接受了加载请求,则进行 第二阶段,否则DL 通知操作者并终止加载操作。 文件名列表传输阶段:若 MS接受了 DL 加载请 求,DL 发送操作员选择的数据文件名列表,MS 收到 后分析该列表中的文件在当前是否能被加载;在加载 列表传输过程中,MS 应向 DL 周期性地发送包含着 加载进度和状态的状态文件;将MS 分析列表后的结 Copyright © 2013 Hanspub 18 基于 615A 协议的中央维护数据加载方法 果(即哪些文件可以被加载)反馈给 DL;DL将MS反 馈结果通知操作者,由操作者决定是否选择 MS 接受 的文件列表中的文件进行新一轮的文件名列表传输 阶段,若操作者选择进行新一轮的文件名列表传输, 则重复上述过程直到 DL收到MS全部接受列表中的 文件后进行第三个阶段,否则加载操作终止。 文件传输阶段:MS 向DL 发送指定文件传输请 求,若 DL接受请求,则向MS 传输指定文件;在文 件传输过程中,MS 周期性地向 DL 发送包含着加载 进度和状态的状态文件;MS 发送状态文件的过程与 数据加载的其它过程同步,且这个过程一直持续到数 据加载结束。 数据加载的流程概括起来如图 1所示。 2.2. 数据加载原理 2.2.1. DL与MS 的交互原理 为了有效地实现数据加载,DL与MS 的良好交 互是非常关键的。根据 2.1 节的数据加载流程,图 2 规划了在数据加载过程中,DL 与MS 的详细交互过程。 DL 和MS 通过 TFTP 协议(Trivial File Transfer Protocol)来完成所有的数据交换,被交换的数据包括 被加载的数据文件和交换的协议文件。 2.2.2. 协议文件 在DL 与MS交互过程中用到3种协议文件,分 别是 SNSMS_ULI、SNSMS_ULR 以及 SNSMS_US。 1) SNSMS_ULI 由MS 创建仅被用来初始化加载操作的消息协议 文件。SNSMS 为唯一标示一个成员系统的标示编码, UI 是加载初始化的英文缩写。 SNSMS_ULI 由4个区域(部分)组成,其组成结构 如表 1所示。 文件长度表示在 SNSMS_ULI 中包含数据的字 (一个字数据由 8位数据组成)数量。 协议版本号决定了协议文件的结构,该参数使得 DL 和MS 使用正确的结构来访问数据。 后面提到的文件长度和协议版本号的含义与这 里解释的相同。 加载请求操作接受状态码的形式为 XXXX16,它 包含着加载请求的响应信息。该区域可能的状态码有 两个,它们分别是加载请求被接受的 000116状态码 和加载请求被拒绝的 100016。其中请求被拒绝的原因 会在状态描述领域给出。 状态描述长度表示状态描述领域中包含的字符 数量。 状态描述给出了状态码100016的原因,状态描 述后面紧跟着 0016以表明状态描述的结束。状态描 述最多有255 个字符。 2) SNSMS_ULR 由DL 创建的被用于文件名列表传输阶段的协议 文件,该文件包含着请求加载的文件名列表信息。 ULR是加载文件名列表请求的英文缩写。 SNSMS_ULR 由5个区域(部分)组成,其组成结 构如表 2所示。 “+”代表每一个头文件对应一个这样的领域。 这为一个MS 加载多个文件提供了解决方案。 头文件的数量表示加载的文件的数量,每一个将 要加载的文件在SNSMS_ULR 中对应一个头文件。任 何一个 SNSMS_ULR 至少包含一个头文件。 头文件名称长度表示头文件名称中包含的字符 数量。 头文件名称至多包含 255个字符,后面紧跟着 0016 以表明头文件名称的结束。 后面出现的头文件的数量、头文件名称长度以及 头文件名称与这里的含义相同。 3) SNSMS_US 由MS 创建的包含着加载进度和状态的消息协议 文件,该文件被用于数据文件列表传输阶段和文件传 输阶段。US 是加载状态的英文缩写。 SNSMS_US 由16 个区域(部分)组成,其组成结 构如表 3所示。 加载操作初始化 阶段 文件名列表 传输阶段 文件传输阶段 加载操作结束 Figure 1. The basic procedure of data uploading 图1. 数据加载的基本流程 Copyright © 2013 Hanspub 19 基于 615A 协议的中央维护数据加载方法 开始加载请求 DL MS 读SNSMS_ULI的请求 请求 接受 是 建立连接 发送SNSMS_ULI 加载操 作异常 结束 否 收到SNSMS_ULI 是 加载操 作结束 否 初 始 化 阶 段 发送文件名列表 写SNSMS_ULR的请求 请求接受 是 否 超时 否 是 超时 是 加载操 作异常 结束 否 建立连接 发送SNSMS_ULR 发送SNSMS_ULR 加载操 作结束 否 超时 是 否 文 件 名 列 表 传 输 阶 段 写SNSMS_US请求 建立连接 发送SNSMS_US 将 SNSMS_ULR写入内 存,并将进度和状 态记入SNSMS_US 是 Copyright © 2013 Hanspub 20 基于 615A 协议的中央维护数据加载方法 Copyright © 2013 Hanspub 21 等待MS的数据传输 请求 DL MS 读fi的请求 等待fi 否 是 文 件 传 输 阶 段 选择将要传输的 文件fi 建立连接 fi当前 存在 等待fi 否 是 发送fi 超时 否 加载操 作异常 结束 是 超时 加载操 作异常 结束 是 否 将 fi写入内存,并将进度和状态 记入SNSMS_US 还有别的 要接收的 文件吗 是 否 加载 操作 结束 加载完成 了吗 否 加载 操作 结束 是 写SNSMS_US请求 建立连接 发送SNSMS_US Figure 2. The principle that DL interacts with MS 图2. DL与MS的交互原理 Table 2. Structure of SNSMS_ULR Table 1. Structure of SNSMS_ULI 表2. SNSMS_ULR的结构 表1. SNSMS_ULI的结构 区域名称 区域大小(位,bits) 文件长度 32 协议版本号 16 加载请求操作接受状态码 16 状态描述长度 8 状态描述 0~2040 区域名称 区域大小(位,bits) 文件长度 32 协议版本号 16 头文件的数量 16 +头文件名称长度 8 +头文件名称 8~2040 基于 615A 协议的中央维护数据加载方法 Table 3. Structure of SNSMS_US 表3. SNSMS_US的结构 区域名称 区域大小(位,bits) 文件长度 32 协议版本号 16 加载操作状态码 16 加载状态描述长度 8 加载状态描述 0~2040 计数器 16 例外计时器 16 估计时间 16 加载总比例 24 头文件数量 16 +头文件名称长度 8 +头文件名称 8~2040 +装载比例 24 +装载状态 16 +装载状态描述长度 8 +装载状态描述 0~2040 在列表传输阶段,头文件数量区域必须被设置为0。 加载操作状态码向 DL表明了所有数据的总加载 状态。该区域使用的状态码有: 000116——MS 接受了加载操作,但加载仍没有 开始; 000216——加载操作在进行中; 000316——加载操作成功完成; 100316——加载操作被 MS中断,中断的原因在 加载状态描述中给出; 100416——加载操作由于 DLP向MS发送了一个 中断错误消息而在MS 中断; 100516——加载操作由于操作者发起了一个中 断错误消息而在MS 中断。 加载状态描述长度表示加载状态描述区域中包 含的字符数量。 加载状态描述给出了加载操作状态码100316 的 原因描述,对于其它的状态码,该区域中的内容被忽 视。加载状态描述以 0016 收尾来表明该描述的结束。 计数器初始值为000016;在发送 SNSMS_US 前, 它的值由MS 负责增长。当计数器的值增长至 FFFF16 后重新被置为 000016。通过这种方式,DL能够探测 到文件的重复。 例外计时器表示MS 被期望保持沉默的时间。在 这个时间内,MS 不发送状态文件且对来自 DL 的任 何请求不做响应。当加载操作状态码为 000216 时, 例外计时器才能被使用。 估计时间表示完成加载操作被MS 估计所需要的 剩余时间。这个区域被设置为–1 时表示MS 没有给定 估计时间。在加载过程中,一旦有可能 MS 就应该提 供估计时间。估计时间只有当加载操作状态码为 000216 时才被 MS 使用。对于别的状态码,该区域被 设置为 000016。 加载总比例是已加载的数量与需要加载的总数 量之比。 装载比例是针对一个具体数据文件来说的,它表 示对该文件已加载的信息量与该文件信息总量之比。 装载状态是是针对一个具体数据文件fi 来说的, 它是 XXXX16 形式的状态码,表示当前该文件的加载 状态。该区域使用的状态码有: 000116——MS 接受了加载fi 的操作,但仍没有 开始加载fi; 000216——加载 fi 的操作在进行中; 000316——加载 fi 的操作成功完成; 100316——加载 fi 的操作被MS 中断,中断的原 因在对应的装载状态描述中给出; 100416——加载操作由于 DLP向MS发送了一个 中断错误消息而在MS 中断; 100516——加载操作由于操作者发起了一个中 断错误消息而在MS 中断。 装载状态描述长度表示装载状态描述区域中包 含的字符数量。 装载状态描述给出了装载操作状态码100316 的 原因描述,对于其它的状态码,该区域中的内容被忽 视。装载状态描述以 0016 收尾来表明该描述的结束。 3. 实验结论 将各类软件和配置表从 MMM加载到相应 MS的 实验表明:本文提出的中央维护数据加载方法具有快 速的响应和良好的稳定性。 参考文献 (References) [1] 机载维护系统设计指南[S]. ARINC624 -1-93, 1993. [2] Software data loader using Ethernet interfaces. ARINC Report 615A-2, 2002. Copyright © 2013 Hanspub 22 |