一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通用数据管理软件架构的制作方法

2022-04-16 12:09:47 来源:中国专利 TAG:


1.本技术属于数据管理软件架构技术领域,尤其涉及一种通用数据管理软件架构。


背景技术:

2.在航电系统中,综合数据管理系统扮演着重要角色,对飞行任务执行和任务完成后的效果评估方面起着重要作用。综合数据管理软件作为综合数据管理系统的主控软件,主要负责任务数据加载、业务数据记录、业务命令处理等功能,是机载后端数据处理中心。随着机载任务数据和业务数据的种类和数量增加,综合数据管理软件集成度和复杂度也在增加,带来了以下几个问题:
3.一是飞机上的综合数据管理设备与各个子设备在交联关系上存在多种物理接口,在物理接口上传输的数据特性都不相同,如何设计标准统一的应用程序(application programming interface,api)接口,既要保证数据采集实时性,又要实现接口隔离;
4.二是用户以及子系统设备制造商都对记录的数据很关注,软件设计如何保证记录数据的可靠性,故障监控是否完备;
5.三是不同飞机上安装的设备都不相同,设备要求处理的数据都差异较大,如何提高软件通用性,避免重复开发。


技术实现要素:

6.为了解决上述技术问题,本技术提出了一种通用数据管理软件架构,所述架构包括:
7.数据管理软件运行平台,用于提供服务;
8.数据管理软件,运行在所述数据管理软件运行平台上,用于管理数据。
9.优选地,所述数据管理软件运行平台包括:
10.领域服务层,用于提供数据管理软件框架;其中,所述数据管理软件框架是基于isee平台的数管软件框架;
11.通用服务层,用于提取特定软件共性,通过可重用化设计方法,将数据管理领域应用进行组件化封装,得到目标组件;
12.基础服务层,用于实现应用软件与底层硬件以及操作系统本身属性的隔离,满足应用软件的跨平台使用。
13.优选地,所述特定软件包括:
14.cpm主处理软件,用于数据的解析和数据的转发;
15.iom接口软件,用于接收、处理和发送数据。
16.优选地,所述特定软件还包括:
17.vcm接口软件,用于进行音视频压缩和传输;
18.dlr记录加载软件,用于记录数据和加载数据。
19.优选地,所述目标组件包括:
20.通用日志服务组件,用于为目标机提供日志管理功能;其中,所述日志管理功能包括日志数据的记录、存储和读取;
21.通用加载服务组件,用于为数据管理软件提供数据加载服务。
22.优选地,所述通用日志服务组件,还用于为宿主机提供日志分析工具,并以图形化方式显示日志;
23.其中,所述日志分析工具用于分析所述日志数据。
24.优选地,所述基础服务层包括:
25.操作系统适配服务,用于适配不同的操作系统;
26.传输协议体系,用于提供了多种数据传输方式;
27.可靠文件系统,用于提供可靠的数据存储服务;
28.动态内存队列,用于提供数据的缓冲服务。
29.优选地,所述架构的不同接口封装成统一标准的io接口。
30.本技术具有以下技术效果:
31.本技术实现了数据采集、编码、传输、存储四个环节的积木式设计,为综合数据管理软件的研发提供了关键的基础技术,提高了数据管理软件的可靠性和通用性。
附图说明
32.图1是本技术实施例提供的数管软件架构图;
33.图2是本技术实施例提供的基于平台的通用数管软件框架图;
34.图3是本技术实施例提供的统一的数据模型图;
35.图4是本技术实施例提供的传统数据传输模型;
36.图5是本技术实施例提供的utp数据传输模型;
37.图6是本技术实施例提供的日志记录组件内部框图。
具体实施方式
38.请参阅图1-6,下面对本技术做进一步详细说明。本技术提供一种通用数据管理软件架构设计方法,实现在嵌入式平台下,可以实现异构综合数据管理系统下可靠、通用的数据管理能力。
39.在本技术实施例中,本技术提供了一种通用数据管理软件架构设计方法主要研究数据管理软件纵向分层架构、基于平台的通用数管软件框架、统一的数据传输模型、通用数据管理软件故障类别及监控等内容,通过综合数据管理设备的数据采集、处理、存储、加载等可重用软件设计技术,从面向过程转为面向对象设计,提高软件的可重用度,通过研究可靠传输和存储技术,提高数据管理软件可靠性和可移植性。
40.本技术提供的一种通用数据管理软件架构设计方法,设计了纵向分层、横向分对象的数管软件架构和通用数管软件框架,设计了统一数据传输模型、通用数据管理软件故障类别及监控方法,实现了框架 对象模板的应用软件构建模式,实现了不同的总线数据采集及处理的隔离需求,提供统一的处理接口;实现了记录和存储数据统一收发管理,集中监控;实现了数据采集、编码、传输、存储四个环节的积木式设计,为综合数据管理软件的研发提供了关键的基础技术,提高了数据管理软件的可靠性和通用性。
41.在一种可行的实施方式中,本技术的通用数据管理软件架构设计方法,包括:数据管理软件纵向分层架构、基于平台的通用数管软件框架、统一的数据传输模型、通用数据管理软件故障类别及监控方法。
42.1.数据管理软件纵向分层架构
43.根据数据管理软件的应用需求,通用数据管理软件架构需要具备开放性、互用性的特点。基于开放式分段架构思想,对软件进行分层和组件化设计,采用“平台 应用”的开放式跨平台软件架构,如图1所示。
44.通用数据管理软件架构分为数管软件运行平台和数据管理应用软件。数管软件运行平台分为领域服务层、通用服务层、基础服务层。领域服务层包含两部分功能,一是为数据管理软件的快速集成提供便利与手段,二是针对数据管理软件特点,提供数据管理软件框架,帮助开发者快速构建应用软件;通用服务层关注数据管理领域,通过抽象应用功能结合产品线架构设计思想,提取特定应用软件共性,通过可重用化设计方法,将数据管理领域应用进行组件化封装,通过数据管理软件框架调用,包含了通用日志服务、通用加载服务等模块;基础服务层分为操作系统适配组件、数据传输服务组件、可靠文件系统等,实现应用软件与底层硬件以及操作系统本身属性的隔离,满足应用软件的跨平台使用。
45.2.基于平台的通用数管软件框架
46.软件架构是软件产品线的核心,而软件框架是软件架构的代码实现。基于平台数管软件框架为机载数管领域的软件产品提供了可重用的领域框架设计,该框架主要从三个维度进行设计。
47.a)设计维度,从面向过程转为面向对象开发;
48.b)数据维度,从模块思维转为数据思维;
49.c)通信维度,对i/o(input/output)驱动接口标准化,统一软件的通信模式。
50.在设计维度上,基于平台数管软件框架分为服务层、设备层、传输层、io层四层,每一层都有自己独有的对象,软件框图如图2所示:
51.服务层:该层主要包括主对象模块、数管服务模块、数管自检模块、日志服务模块、时间服务模块五个对象模块。其中主对象模块为用户提供框架初始化服务、线程调度服务以及版本管理服务;数管服务模块为用户提供通用的数管命令及数据服务,包括大小端转换、时间校正、事件处理、数据加密等服务;数管自检模块为用户提供通用的数管软件自检服务,包括cpu自检、内存自检、nvram自检、存储卡自检以及数管对象自检服务等;日志服务模块为用户提供日志记录服务接口,可提供日志串口打印、日志nvram记录、日志存储卡记录以及相应的开关控制服务;时间服务模块为用户提供时间采集、校正与获取服务。
52.设备层:该层主要面向交联设备构建实体对象,提供实体对象模板,包括输入、处理、控制、自检、输出、icd注册、icd解析等几部分构成,并提供常用的视频采集、数据存储、数据加载等服务。
53.传输层:该层为综合数管框架提供了多种数据传输方式,包括消息队列、utp传输、环形缓冲、scp可靠传输等。主要包括iom对象、vcm对象、内部对象、虚拟对象四个对象,这四个对象像路由一样,负责相关的数据传输开关,可监控不同业务数据的数据量及数据采集、丢失情况。同时传输层也是数据记录和数据加载的传输通道,设计上采用了零copy的方式以及流水线设计方法。
54.io层:该层为综合数管框架提供了io注册服务、总线句柄封装服务、看门狗监控服务等。由于数据来自不同的物理通道,每种物理通道bsp都提供了各异的驱动,软件需要调用不同的驱动接口api来实现物理通道上数据的接收和数据的发送时会导致软件通用性丧失,为此我们设计相应的io对象组件,可进行注册,部分总线的功能丧失不会影响其他总线的收发,提高了数管软件的可靠性。
55.3.构建统一的数据模型
56.为了屏蔽不同物理通道对软件的影响,软件框架将所有io操作封装为输入输出类,通过utp输入输出传输到内核,针对utp路由配置将io数据分发到不同的处理模块,进行命令和数据转化和处理,其结构框图如图3所示。
57.io对象数据模型:封装总线句柄,实现总线初始化、发送和接收函数。对句柄进行注册,向上层提供完全一致的接口,业务逻辑调用io接口时,基于接口编程,运行时选择相应的驱动实体,实现了与硬件相关接口的解耦,并隔离了io故障对上层软件的影响;
58.设备对象数据模型:封装设备句柄,实现设备初始化、处理、控制、接收、发送功能,并注册外部icd。每个设备句柄可以像io接口一样构建,提供数据收发功能。
59.utp数据传输模型:在以往,数据从采集到存储需要处理器参与拷贝的过程,而内存拷贝操作会完全占用处理器运算能力,在这期间处理器无法处理其他事务,相应地降低了整个软件的数据吞吐率。基于平台的数管软件框架采用utp进行数据采集、传输、存储,将设备对象或者io对象注册到utp路由中后,由utp路由控制数据接收和发送。utp的使用缩短了数据采集到最终存储到电子盘的路径,提高了数据的传输效率。
60.4.通用数据管理软件故障类别及监控方法
61.通过监控数管软件数据传输的各个节点,实现数管软件日志打印与记录分级监控。
62.通用日志服务组件主要是为目标机提供日志管理功能,包括日志数据的记录、存储、读取和分析,同时为宿主机提供日志分析工具,图形化方式显示日志。该组件分别针对嵌入式操作系统和windows操作系统进行开发编译,形成日志记录组件和日志分析工具。
63.日志记录组件是一个基于c语言的日志记录库,为应用软件提供了稳定和灵活的日志记录功能。使用该组件,可以便利地将日志或者跟踪调试信息写入字符流、文件、回滚文件、本地syslog和远程syslog服务器中。
64.日志记录组件有三个重要的概念,category、appender、layout,此外还有priority(优先级)等。category(类型)用于区分不同的记录器。appender用于描述输出流,通过为category来指定一个appender,可以决定将日志信息输出到什么地方去,比如stdout、stderr、文件或者是socket等等。layout用于指定日志信息的布局格式,通过为appender来指定一个了layout,可以决定日志信息以何种格式输出,比如是否带有时间戳,是否包含文件位置信息等,以及它们在一条日志信息中的输出格式等,一般有basic和dated两种。priority被用来指定category的优先级。
65.该组件记录日志原理如下:每个category都有一个优先级,该优先级可以通过配置文件设置,或者从其父category中继承而来。每条日志也有一个优先级,当category记录该条日志时,若日志优先级高于category的优先级时,该日志被记录,否则被忽略。
66.图6是日志记录组件的内部框图,有三个记录器category,使用记录器记录日志
时,使用记录器的输出端appender将日志按照layout格式写到文件或者nvram中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献