基于分布式网络的1553B数据处理软件设计与实现
2014-03-22刘威李杨
刘威 李杨
摘 要: 为了解决当前1553B数据处理单机软件制约海量数据情况下多课题并行处理效率的现状,在此采用基于Web的分布式中间件技术,将1553B数据处理软件开发成基于分布式网络的标准数据处理中间件。为保持参数名的惟一性,以ICD文件中的消息规范名为数据库中的参数名称,并且编写了该软件与飞行试验数据网络处理系统(FTDPS)的标准数据接口文件,根据分布式中间件的调用流程设计了相应的算法,最终实现100% 1553B数据的网络化并行处理,极大地提高了总线数据处理效率。
关键词: 1553B数据; 接口文件; 分布式网络; 数据处理软件
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)06?0075?03
0 引 言
目前,中航工业试飞中心开发的基于C/S,B/S架构体系的飞行试验数据网络处理系统(FTDPS)已经解决了海量试飞数据的分布式存储及计算问题[1],并在重点型号任务的试飞过程中发挥着重要作用。该系统可以处理PCM数据和FCS数据[2],1553B数据仍然采用单机版处理。随着飞行试验中参试飞机飞行时间、测试参数的不断增加,总线数据量剧增,同时试飞工程师的参数处理需求更加多样,采用现行1553B数据处理方法给每位试飞工程师拷贝数据、处理数据、发送结果等过程耗时达到数小时,已经严重影响数据处理效率和型号试飞进度。针对这一问题,本文开发了基于分布式网络的1553B数据处理软件,使得课题人员在FTDPS的平台上可以根据任务所需个性化定制处理参数、处理时间段及飞行架次等课目。工程实践表明,本软件极大地提高飞行试验数据的处理效率,满足了多用户并行处理需求,保证了型号试飞任务进度。
1 ORACLE数据库设计
单机版的1553B数据处理系统由ICD信息数据库[3]和处理软件2部分组成。将1553B数据处理系统以分布式中间件的形式嵌入到FTDPS系统中,首要的工作就是在FTDPS的数据库中设计并增加新的ICD信息的ORACLE数据库,完成1553B数据处理系统数据库的网络化升级,文献[4]已经将ORACLE数据库设计完成,数据库总体设计如图1所示,为本文实现与FTDPS的输入输出接口工作,开发1553B数据处理中间件做好了准备工作。
2 1553B数据处理中间件设计
2.1 软件接口设计
开发FTDPS的数据处理中间件,本软件首先应保证总线参数名称的一致性,其次要满足系统标准的输入输出接口要求[5]。
2.1.1 参数名一致性
参数名称必须能够写入FTDPS数据库的TESTINSIDEPARAINFO表中,测试系统名称为Mini700,测试数据属性为1553B。参数名称是数据库表的主键,要求具有惟一性的特点;为了方便用户在浏览器端选择要处理的参数,参数命名也要符合总线参数特点,易于用户识别。因此在ICD文件中,选择总线信号名的规范名称作为数据库中的参数名,例如A/M1IR/00?00?00,可以满足参数名称惟一性和易于专业人员识别的需求,如图2所示。
2.1.2 软件接口统一
作为FTDPS的中间件,标准接口有2个要求:
(1) 软件必须为可执行文件.exe,带有一个命令行参数,命令行参数为一个接口文件的名称;
(2) 命令行参数所指的接口文件必须是文本文件格式。所以软件接口统一的工作实质是把原处理程序改写为CONSOLE APPLICATION控制台应用程序,完成读取图3所示的接口文件,然后按照FTDPS的输出格式输出。本文以Delphi7.0为软件开发工具[6],控制台程序关键代码如下:
2.2 系统调用软件流程
1553B数据处理软件以分布式中间件的形式嵌入到FTDPS系统中,按照已约定好的内部接口和整个数据处理系统之间协调通信,有效快速地进行数据处理,并准确地将结果信息返回给数据处理系统。客户端计算机需要安装分布式计算Active控件,主要完成的功能为向系统发出计算请求、与1553B数据处理中间件之间进行信息通信、监控计算过程的状态、接收系统返回的数据。FTDPS系统调用1553B数据处理中间件流程如下:
(1) 客户端计算机(B端)首先向调度服务器发出数据处理申请,同时生成B端接口文件,调度服务器指定某台分布式计算服务器进行计算;
(2) 计算服务器调用1553B数据处理中间件,访问存储在磁盘阵列上的原始总线数据文件进行解析计算,同时将状态信息输出到控制台,客户端ActiveX控件通过接口协议捕获并以界面的形式显示给用户。并输出标准格式的文件;
(3) 计算结束后,结果文件通过Socket方式回传到用户客户端的Active X控件安装目录下。
图4展示了1553B数据处理中间件在FTDPS中的调用流程。图5是客户端ActiveX控件显示的软件运行状态示意图。其中*.eng文件为LST工程量文件;*.cod为文本文件,用户可以直接打开2种文件类型进行分析。*.inf文件是FTDPS的接口文件,*.sta文件为本次计算过程的状态文件。
2.3 软件设计
根据FTDPS系统调用1553B数据处理中间件的流程,设计软件的算法如下:
(1) 获取接口文件名称后,解析接口文件协议,获取软件要处理的参数、时间段信息,以及结果文件存放位置等信息;
(2) 访问ORACLE数据库中的ICD数据库,把所有参数相关的信息读取到结构体数组中;
(3) 读取总线数据文件的时间信息;
(4) 读取处理时间段内总线数据文件中的消息块信息,与数据库中读取的关键字逐一进行判断,若相等则表示找到数据中此参数的信息。然后根据MIL?STD?1553B(GJB289A)数据总线标准[7]中的总线消息收发标准进行计算、解析;同时将数据的时间等计算状态信息输出至控制台;
(5) 根据接口文件协议,将结果文件传送到服务器指定的存放位置。
算法流程图如图6所示。
3 结 论
飞行试验数据网络处理系统(FTDPS)在型号试飞中发挥着重要作用,1553B数据处理中间件又是该系统中极为关键的子软件。1553B数据处理软件采用基于Web的分布式中间件技术,将数据处理软件做成标准化的分布式中间件,通过标准的接口协议成功地嵌入到FTDPS系统中。本文开发的软件作为FTDPS的1553B数据处理软件,已经用于某型号4架飞机的飞行试验总线数据处理,运行情况良好,数据处理效率满足了海量试飞数据处理的需求,保障了试飞数据及时高效的处理。
参考文献
[1] 王建军,党怀义.基于Web的分布式试飞数据处理系统结构设计[J].计算机测量与控制,2010,18(6):1452?1454.
[2] 张阿莉,许应康,郭永林.飞行控制总线数据网络化处理软件设计[J].现代电子技术,2013,36(10):37?39,44.
[3] 夏庆梅,徐亚军,熊华刚.航空电子接口控制文件的数据库管理[J].航空计算技术,2001,31(3):39?40.
[4] 刘威,周嫦娥.1553B网络数据处理系统数据库优化设计[C]//航空试验测试技术交流会议论文集.北京:《测控技术》杂志社,2011:97?99.
[5] 党怀义.ARJ21飞机试飞数据处理系统软件详细设计说明[M].西安:飞行试验研究院,2006.
[6] 周果宏,罗述谦,罗起.Delphi 程序设计题解、编程技巧与疑难解答[M].2版.北京:清华大学出版社,2007.
[7] 国防科学技术工业委员会.数字式时分制指令/响应型多路传输数据总线[M].北京:国防科学技术工业委员会,1998.
[8] 赵彦.数据库原理与应用技术:SQL Server[M].北京:清华大学出版社,2009.
摘 要: 为了解决当前1553B数据处理单机软件制约海量数据情况下多课题并行处理效率的现状,在此采用基于Web的分布式中间件技术,将1553B数据处理软件开发成基于分布式网络的标准数据处理中间件。为保持参数名的惟一性,以ICD文件中的消息规范名为数据库中的参数名称,并且编写了该软件与飞行试验数据网络处理系统(FTDPS)的标准数据接口文件,根据分布式中间件的调用流程设计了相应的算法,最终实现100% 1553B数据的网络化并行处理,极大地提高了总线数据处理效率。
关键词: 1553B数据; 接口文件; 分布式网络; 数据处理软件
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)06?0075?03
0 引 言
目前,中航工业试飞中心开发的基于C/S,B/S架构体系的飞行试验数据网络处理系统(FTDPS)已经解决了海量试飞数据的分布式存储及计算问题[1],并在重点型号任务的试飞过程中发挥着重要作用。该系统可以处理PCM数据和FCS数据[2],1553B数据仍然采用单机版处理。随着飞行试验中参试飞机飞行时间、测试参数的不断增加,总线数据量剧增,同时试飞工程师的参数处理需求更加多样,采用现行1553B数据处理方法给每位试飞工程师拷贝数据、处理数据、发送结果等过程耗时达到数小时,已经严重影响数据处理效率和型号试飞进度。针对这一问题,本文开发了基于分布式网络的1553B数据处理软件,使得课题人员在FTDPS的平台上可以根据任务所需个性化定制处理参数、处理时间段及飞行架次等课目。工程实践表明,本软件极大地提高飞行试验数据的处理效率,满足了多用户并行处理需求,保证了型号试飞任务进度。
1 ORACLE数据库设计
单机版的1553B数据处理系统由ICD信息数据库[3]和处理软件2部分组成。将1553B数据处理系统以分布式中间件的形式嵌入到FTDPS系统中,首要的工作就是在FTDPS的数据库中设计并增加新的ICD信息的ORACLE数据库,完成1553B数据处理系统数据库的网络化升级,文献[4]已经将ORACLE数据库设计完成,数据库总体设计如图1所示,为本文实现与FTDPS的输入输出接口工作,开发1553B数据处理中间件做好了准备工作。
2 1553B数据处理中间件设计
2.1 软件接口设计
开发FTDPS的数据处理中间件,本软件首先应保证总线参数名称的一致性,其次要满足系统标准的输入输出接口要求[5]。
2.1.1 参数名一致性
参数名称必须能够写入FTDPS数据库的TESTINSIDEPARAINFO表中,测试系统名称为Mini700,测试数据属性为1553B。参数名称是数据库表的主键,要求具有惟一性的特点;为了方便用户在浏览器端选择要处理的参数,参数命名也要符合总线参数特点,易于用户识别。因此在ICD文件中,选择总线信号名的规范名称作为数据库中的参数名,例如A/M1IR/00?00?00,可以满足参数名称惟一性和易于专业人员识别的需求,如图2所示。
2.1.2 软件接口统一
作为FTDPS的中间件,标准接口有2个要求:
(1) 软件必须为可执行文件.exe,带有一个命令行参数,命令行参数为一个接口文件的名称;
(2) 命令行参数所指的接口文件必须是文本文件格式。所以软件接口统一的工作实质是把原处理程序改写为CONSOLE APPLICATION控制台应用程序,完成读取图3所示的接口文件,然后按照FTDPS的输出格式输出。本文以Delphi7.0为软件开发工具[6],控制台程序关键代码如下:
2.2 系统调用软件流程
1553B数据处理软件以分布式中间件的形式嵌入到FTDPS系统中,按照已约定好的内部接口和整个数据处理系统之间协调通信,有效快速地进行数据处理,并准确地将结果信息返回给数据处理系统。客户端计算机需要安装分布式计算Active控件,主要完成的功能为向系统发出计算请求、与1553B数据处理中间件之间进行信息通信、监控计算过程的状态、接收系统返回的数据。FTDPS系统调用1553B数据处理中间件流程如下:
(1) 客户端计算机(B端)首先向调度服务器发出数据处理申请,同时生成B端接口文件,调度服务器指定某台分布式计算服务器进行计算;
(2) 计算服务器调用1553B数据处理中间件,访问存储在磁盘阵列上的原始总线数据文件进行解析计算,同时将状态信息输出到控制台,客户端ActiveX控件通过接口协议捕获并以界面的形式显示给用户。并输出标准格式的文件;
(3) 计算结束后,结果文件通过Socket方式回传到用户客户端的Active X控件安装目录下。
图4展示了1553B数据处理中间件在FTDPS中的调用流程。图5是客户端ActiveX控件显示的软件运行状态示意图。其中*.eng文件为LST工程量文件;*.cod为文本文件,用户可以直接打开2种文件类型进行分析。*.inf文件是FTDPS的接口文件,*.sta文件为本次计算过程的状态文件。
2.3 软件设计
根据FTDPS系统调用1553B数据处理中间件的流程,设计软件的算法如下:
(1) 获取接口文件名称后,解析接口文件协议,获取软件要处理的参数、时间段信息,以及结果文件存放位置等信息;
(2) 访问ORACLE数据库中的ICD数据库,把所有参数相关的信息读取到结构体数组中;
(3) 读取总线数据文件的时间信息;
(4) 读取处理时间段内总线数据文件中的消息块信息,与数据库中读取的关键字逐一进行判断,若相等则表示找到数据中此参数的信息。然后根据MIL?STD?1553B(GJB289A)数据总线标准[7]中的总线消息收发标准进行计算、解析;同时将数据的时间等计算状态信息输出至控制台;
(5) 根据接口文件协议,将结果文件传送到服务器指定的存放位置。
算法流程图如图6所示。
3 结 论
飞行试验数据网络处理系统(FTDPS)在型号试飞中发挥着重要作用,1553B数据处理中间件又是该系统中极为关键的子软件。1553B数据处理软件采用基于Web的分布式中间件技术,将数据处理软件做成标准化的分布式中间件,通过标准的接口协议成功地嵌入到FTDPS系统中。本文开发的软件作为FTDPS的1553B数据处理软件,已经用于某型号4架飞机的飞行试验总线数据处理,运行情况良好,数据处理效率满足了海量试飞数据处理的需求,保障了试飞数据及时高效的处理。
参考文献
[1] 王建军,党怀义.基于Web的分布式试飞数据处理系统结构设计[J].计算机测量与控制,2010,18(6):1452?1454.
[2] 张阿莉,许应康,郭永林.飞行控制总线数据网络化处理软件设计[J].现代电子技术,2013,36(10):37?39,44.
[3] 夏庆梅,徐亚军,熊华刚.航空电子接口控制文件的数据库管理[J].航空计算技术,2001,31(3):39?40.
[4] 刘威,周嫦娥.1553B网络数据处理系统数据库优化设计[C]//航空试验测试技术交流会议论文集.北京:《测控技术》杂志社,2011:97?99.
[5] 党怀义.ARJ21飞机试飞数据处理系统软件详细设计说明[M].西安:飞行试验研究院,2006.
[6] 周果宏,罗述谦,罗起.Delphi 程序设计题解、编程技巧与疑难解答[M].2版.北京:清华大学出版社,2007.
[7] 国防科学技术工业委员会.数字式时分制指令/响应型多路传输数据总线[M].北京:国防科学技术工业委员会,1998.
[8] 赵彦.数据库原理与应用技术:SQL Server[M].北京:清华大学出版社,2009.
摘 要: 为了解决当前1553B数据处理单机软件制约海量数据情况下多课题并行处理效率的现状,在此采用基于Web的分布式中间件技术,将1553B数据处理软件开发成基于分布式网络的标准数据处理中间件。为保持参数名的惟一性,以ICD文件中的消息规范名为数据库中的参数名称,并且编写了该软件与飞行试验数据网络处理系统(FTDPS)的标准数据接口文件,根据分布式中间件的调用流程设计了相应的算法,最终实现100% 1553B数据的网络化并行处理,极大地提高了总线数据处理效率。
关键词: 1553B数据; 接口文件; 分布式网络; 数据处理软件
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)06?0075?03
0 引 言
目前,中航工业试飞中心开发的基于C/S,B/S架构体系的飞行试验数据网络处理系统(FTDPS)已经解决了海量试飞数据的分布式存储及计算问题[1],并在重点型号任务的试飞过程中发挥着重要作用。该系统可以处理PCM数据和FCS数据[2],1553B数据仍然采用单机版处理。随着飞行试验中参试飞机飞行时间、测试参数的不断增加,总线数据量剧增,同时试飞工程师的参数处理需求更加多样,采用现行1553B数据处理方法给每位试飞工程师拷贝数据、处理数据、发送结果等过程耗时达到数小时,已经严重影响数据处理效率和型号试飞进度。针对这一问题,本文开发了基于分布式网络的1553B数据处理软件,使得课题人员在FTDPS的平台上可以根据任务所需个性化定制处理参数、处理时间段及飞行架次等课目。工程实践表明,本软件极大地提高飞行试验数据的处理效率,满足了多用户并行处理需求,保证了型号试飞任务进度。
1 ORACLE数据库设计
单机版的1553B数据处理系统由ICD信息数据库[3]和处理软件2部分组成。将1553B数据处理系统以分布式中间件的形式嵌入到FTDPS系统中,首要的工作就是在FTDPS的数据库中设计并增加新的ICD信息的ORACLE数据库,完成1553B数据处理系统数据库的网络化升级,文献[4]已经将ORACLE数据库设计完成,数据库总体设计如图1所示,为本文实现与FTDPS的输入输出接口工作,开发1553B数据处理中间件做好了准备工作。
2 1553B数据处理中间件设计
2.1 软件接口设计
开发FTDPS的数据处理中间件,本软件首先应保证总线参数名称的一致性,其次要满足系统标准的输入输出接口要求[5]。
2.1.1 参数名一致性
参数名称必须能够写入FTDPS数据库的TESTINSIDEPARAINFO表中,测试系统名称为Mini700,测试数据属性为1553B。参数名称是数据库表的主键,要求具有惟一性的特点;为了方便用户在浏览器端选择要处理的参数,参数命名也要符合总线参数特点,易于用户识别。因此在ICD文件中,选择总线信号名的规范名称作为数据库中的参数名,例如A/M1IR/00?00?00,可以满足参数名称惟一性和易于专业人员识别的需求,如图2所示。
2.1.2 软件接口统一
作为FTDPS的中间件,标准接口有2个要求:
(1) 软件必须为可执行文件.exe,带有一个命令行参数,命令行参数为一个接口文件的名称;
(2) 命令行参数所指的接口文件必须是文本文件格式。所以软件接口统一的工作实质是把原处理程序改写为CONSOLE APPLICATION控制台应用程序,完成读取图3所示的接口文件,然后按照FTDPS的输出格式输出。本文以Delphi7.0为软件开发工具[6],控制台程序关键代码如下:
2.2 系统调用软件流程
1553B数据处理软件以分布式中间件的形式嵌入到FTDPS系统中,按照已约定好的内部接口和整个数据处理系统之间协调通信,有效快速地进行数据处理,并准确地将结果信息返回给数据处理系统。客户端计算机需要安装分布式计算Active控件,主要完成的功能为向系统发出计算请求、与1553B数据处理中间件之间进行信息通信、监控计算过程的状态、接收系统返回的数据。FTDPS系统调用1553B数据处理中间件流程如下:
(1) 客户端计算机(B端)首先向调度服务器发出数据处理申请,同时生成B端接口文件,调度服务器指定某台分布式计算服务器进行计算;
(2) 计算服务器调用1553B数据处理中间件,访问存储在磁盘阵列上的原始总线数据文件进行解析计算,同时将状态信息输出到控制台,客户端ActiveX控件通过接口协议捕获并以界面的形式显示给用户。并输出标准格式的文件;
(3) 计算结束后,结果文件通过Socket方式回传到用户客户端的Active X控件安装目录下。
图4展示了1553B数据处理中间件在FTDPS中的调用流程。图5是客户端ActiveX控件显示的软件运行状态示意图。其中*.eng文件为LST工程量文件;*.cod为文本文件,用户可以直接打开2种文件类型进行分析。*.inf文件是FTDPS的接口文件,*.sta文件为本次计算过程的状态文件。
2.3 软件设计
根据FTDPS系统调用1553B数据处理中间件的流程,设计软件的算法如下:
(1) 获取接口文件名称后,解析接口文件协议,获取软件要处理的参数、时间段信息,以及结果文件存放位置等信息;
(2) 访问ORACLE数据库中的ICD数据库,把所有参数相关的信息读取到结构体数组中;
(3) 读取总线数据文件的时间信息;
(4) 读取处理时间段内总线数据文件中的消息块信息,与数据库中读取的关键字逐一进行判断,若相等则表示找到数据中此参数的信息。然后根据MIL?STD?1553B(GJB289A)数据总线标准[7]中的总线消息收发标准进行计算、解析;同时将数据的时间等计算状态信息输出至控制台;
(5) 根据接口文件协议,将结果文件传送到服务器指定的存放位置。
算法流程图如图6所示。
3 结 论
飞行试验数据网络处理系统(FTDPS)在型号试飞中发挥着重要作用,1553B数据处理中间件又是该系统中极为关键的子软件。1553B数据处理软件采用基于Web的分布式中间件技术,将数据处理软件做成标准化的分布式中间件,通过标准的接口协议成功地嵌入到FTDPS系统中。本文开发的软件作为FTDPS的1553B数据处理软件,已经用于某型号4架飞机的飞行试验总线数据处理,运行情况良好,数据处理效率满足了海量试飞数据处理的需求,保障了试飞数据及时高效的处理。
参考文献
[1] 王建军,党怀义.基于Web的分布式试飞数据处理系统结构设计[J].计算机测量与控制,2010,18(6):1452?1454.
[2] 张阿莉,许应康,郭永林.飞行控制总线数据网络化处理软件设计[J].现代电子技术,2013,36(10):37?39,44.
[3] 夏庆梅,徐亚军,熊华刚.航空电子接口控制文件的数据库管理[J].航空计算技术,2001,31(3):39?40.
[4] 刘威,周嫦娥.1553B网络数据处理系统数据库优化设计[C]//航空试验测试技术交流会议论文集.北京:《测控技术》杂志社,2011:97?99.
[5] 党怀义.ARJ21飞机试飞数据处理系统软件详细设计说明[M].西安:飞行试验研究院,2006.
[6] 周果宏,罗述谦,罗起.Delphi 程序设计题解、编程技巧与疑难解答[M].2版.北京:清华大学出版社,2007.
[7] 国防科学技术工业委员会.数字式时分制指令/响应型多路传输数据总线[M].北京:国防科学技术工业委员会,1998.
[8] 赵彦.数据库原理与应用技术:SQL Server[M].北京:清华大学出版社,2009.