一种基于柔性重构技术的情报系统构建模式

2019-05-24 14:12王平
电脑知识与技术 2019年7期
关键词:情报系统大数据

王平

摘要:当前情报信息处理领域存在系统部署形态复杂、用户需求变化频繁、系统应用流程多变等特点,引发了对系统架构模式的探讨和研究,提出了一种柔性重构技术来满足系统的按需定制和动态组装需求,最后,结合大数据和云计算,提出了基于这种柔性重组技术的新型情报系统的技术体系架构模型。

关键词:情报系统;柔性架构;动态组装;大数据

中图分类号:TN971 文献标识码:A

文章编号:1009-3044(2019)07-0025-04

1 引言

近年来,随着我国经济水平和国防实力的增强,情报信息处理领域的信息化水平得到了非常大的提升,当前在信息接入、信息处理、情报处理、情报分析、侦察指挥等方面都积累了丰富的信息化经验,并且开发了大量的应用系统,这些应用系统在国防应用中发挥了巨大的作用。然而随着技术的不断发展、情报业务需求的不断演变、迫切地需要在继承原有情报应用系统的能力的基础之上构建全新一代的情报信息处理系统。在此背景下,针对原有情报信息处理系统的架构模式进行了分析,发现这些应用系统存在耦合度高,专用化程度很强、异构环境的适应性差、维护和升级成本高等特点。要构建全新一代的情报信息处理系统,必须要解决原有系统架构中存在的弊端,寻找一种全新的技术架构模式,构建出灵活度高、伸缩性强、具备动态组装特性的应用系统。

本文主要针对基于一种柔性重构技术的软件架构进行分析,结合情报信息处理领域的实际应用需求,提出一种全新的系统架构模式,并基于大数据技术之上,研究了情报领域应用系统的按需定制、快速构建、动态组装的系统构建方式。

2 柔性重构技术框架

柔性重构技术框架是一套提供构件集成、构件管理、构件运行等功能的管理框架。其主要目的是将按照特定规则设计开发的构件以预定的编排场景进行加载组装,实现软件的动态编排和运行呈现。该框架主要涉及三大核心技术实现:构件动态加载、构件动态集成、构件间通信。其中构件动态加载主要实现构件的运行时按需加载,系统运行过程中,只有客户使用到的功能构件才会被加载激活,确保系统始终保持高效的运行状态;构件动态集成主要实现将独立的构件按照实际的业务应用场景进行编排和组装,采用二次重构的模式构造出满足实际业务场景的应用软件系统,这个过程将传统的软件定制研发模式转变为按需的场景编排组装模式,有效地提高了软件系统的业务场景调整适配能力;构件间通信主要实现独立构件之间的通信链路,满足构件间业务数据和控制指令的传递,将独立的构件集合打造成一个有机整体。

2.1 构件动态加载

构件的动态加载技术是基于面向对象的多态特性来实现,首先在底层框架中定义全局的基础构件抽象类作为所有构件的基类,上层用户开发的构件都继承该基类,构件实例化时通过反射机制动态获取构件的具体类型并创建实例。下文是基于C#语言的构件动态加载伪代码:

定义构件基础抽象类

public interface IPlugin

{

基类方法

}

定义用户业务构件类

public partial class UserPlugin : IPlugin

{

构件方法

}

加载程序集

Assembly _assembly

= Assembly.LoadFrom(dllPath)

Type _type

= _assembly.GetType(typeName)

實例化构件

IPlugin plugin = Activator.CreateInstance

(_type, paramList) as IPlugin

2.2 构件动态集成

构件动态集成是负责将加载成功的构件按照实际的业务应用场景进行编排和集成,组装出满足用户应用诉求的应用软件系统。其中主要涉及场景编排、场景加载渲染、场景布局恢复等关键技术。

场景编排主要是按照实际的业务应用需求,生成一套配置数据集,这些配置数据集能够描述每个构件在最终的软件集成界面上的位置和功能状态,为最终渲染出实际的应用软件做准备。场景编排的核心要点在于整个配置数据集结构的定义,在这个数据结构中需要明确应用软件的按钮、菜单、工具条、状态栏、停靠窗口等参数。场景配置数据集可以采用树形结构定义,下图为场景配置数据集的概要示例:

场景加载渲染主要负责按照场景编排的配置,加载相应的构件并渲染到相应的软件界面上,实现从零散的独立构件到应用软件的集成转换。场景加载渲染的主要过程包括以下几个步骤:一、加载并解析场景编排配置文件。二、按照配置文件解析出需要加载的构件。三、实例化构件并在主框架上生成系统界面。

场景布局恢复主要负责保存软件运行结束时的一个状态,并确保下一次启动时能够恢复到上一轮的运行状态,通常情况下布局信息存储在本地,系统启动时首先加载布局信息,并解析出每个构件在上一轮运行的状态,在构件实例化成功后设定其显示状态。

2.3 构件间通信

构件间通信主要定位为构件间的消息传输,传输方式采用订阅发布模式,底层通道依托TCP+UDP协议。应用层面,为了简化构件间的通讯调用,需要通讯组件能够自动探测发现网络上的所有构件,并自动建立通讯链路,构件开发者只需按照主题订阅和发布消息;跨平台层面,构件间通信需要同时支持Windows、Linux操作系统;开发层面,构件通信需要同时提供C#,JAVA,C++接口,以供不同开发语言调用;系统维护层面,构件通信需要提供完善的通道探测和监控工具,便于在运行实时监控通信状态。下图为构件间通信的架构图:

构件间通信最终会输出一个核心的二次开发包和一系列的辅助工具,核心开发包主要供构件开发者开发调用,辅助工具主要提供给开发者和运维人员进行系统监控检测。

3 基于柔性重构技术的系统体系架构

3.1 基于柔性重构技术的系统研发模式

基于柔性重构技术,系统的研制和使用涉及三个不同的角色:业务构件开发者、应用场景编排者、终端业务操作者。其中业务构件开发者主要负责独立构件的研发,其基于柔性重构技术提供的底层开发包进行业务功能研制,输出业务构件。应用场景编排者主要负责将业务构件按照用户实际的应用场景进行业务重组和编排,输出适合特定应用场景的场景配置,并发布系统。终端业务操作者作为系统的使用者,主要是进行业务操作和使用,其将直接面对最终输出的业务系统。

3.2 基于柔性重构技术的系统体系架构

基于柔性重构技术的系统体系架构有别于传统的系统体系架构,其以构件的规划设计为核心。在工程规范的牵引下,结合具体的业务需求和技术实现方案,规劃并设计出相对独立的构件集,这些构件具备相对独立的业务功能,各构件之间可以按照编排规则进行组装和重构,进而实现更加复杂的业务应用场景。

基于柔性重构技术的系统体系架构将传统的定制化软件研制过程转换为工厂化的构件生产和场景装配过程,其具备以下几方面的优点:

l 便于代码复用

以构件规划和研发为核心的架构模式,能够不断的积累业务功能相对固化的构件,这些构件模块相对独立,并且具备相互组装重构的特性,是一种高效的代码复用模式。

l 能快速响应需求变更

以构件为核心的研发模式,缩小了模块的功能范围,降低了需求误差的可能性,此外应用系统的输出是基于场景编排,这种模式具备动态适配新需求的能力,能够快速的响应需求变更。

l 便于提高系统质量

每个独立构件的开发都经过完整的功能和性能测试,在场景装配前就已经具备较高的可靠性,这就确保了最终输出系统的稳定可靠, 提高了系统的整体质量。

4 情报系统构建模式

经过近20年的业务发展,情报系统已经由传统的业务流程操作型信息系统转换为集业务流程操作型和数据分析型于一体的信息系统,数据分析在情报系统中的地位从某种程度上看已经逐渐超越了流程操作,未来情报系统的构建必须以数据为核心,整个系统的架构需要建立在数据的处理和数据的分析上面。

另一方面,随着大数据技术的日趋成熟,其在医疗、教育、经济、工业、科技、军事等各领域已经具备了大量的应用案例。当前情报系统又正面临着海量数据处理和分析的应用诉求和技术瓶颈,以数据为核心,基于大数据云计算技术进行情报系统构建已经成为大势所趋。在此宏观指导思想之上,给出情报系统以数据为中心的宏观逻辑视图如下:

由上图可以看出,将整个系统分为数据平面、业务平面和第三方应用平面。数据平面为系统的核心平面,为系统提供数据应用支撑,可分为第一数据平面和第二数据平面。第一数据平面主要是提供前端数据的OLTP支撑,满足操作型业务诉求,第二数据平面主要是作为后端的数据分析仓库,提供特诊提取、复杂模型构建、数据挖掘、关联预测、统计分析、联邦查询等功能,一般是基于大数据和云计算技术进行构建。业务平面是系统的业务应用构建平面,包括前端的强事务型业务应用和后端的分析挖掘型应用。前端的强事务型应用主要架构在第一数据平面上,负责数据生成型业务和数据操作型业务处理,后端的分析挖掘型业务主要架构在第二数据平面上,负责后端基于大数据的分析挖掘应用。第三方应用平面主要是负责为第三方应用提供数据接口、数据标准、应用交互接口等支撑,满足第三方应用的数据和接口交互要求。

根据上文对情报系统宏观逻辑视图的分析以及情报业务的特点可以得出,数据平面的数据经过规格化处理后可以保持相对的稳定和固化,基于这些数据的分析挖掘算法和服务可以按照通用产品化的模式进行构建,并向上层应用提供一整套基础算法和服务支撑。整个逻辑视图中存在部署形态复杂、用户需求多变的环节在于业务应用平面。业务应用平面直接同终端用户交互,各单位用户对具体的业务操作流程和业务功能诉求存在一定程度的差异,基于柔性重构技术来构建业务应用平面,能够确保在一套完备的数据平面之上构建出灵活多变、适应性强、具备动态重组特性的业务应用。

由以上系统架构图可以看出,整个系统架构由基础资源、存储计算域、支撑域、柔性重构框架、构件集、业务应用域组成,其同传统系统架构模式最大的区别在于系统构建时将柔性重构框架作为系统架构中的一个过渡层,业务应用不直接在数据和服务上构建,而是通过柔性重组框架的构件装配功能动态编配重组出来,进而实现系统的按需定制,动态适配的能力。通过对情报系统架构的分析以及对整个情报系统数据流向的研究,从数据的视角给出情报系统的构建模式如下图:

由上图分析可以看出,情报系统的构建主要包括三大部分,前端情报收集系统、情报处理分析服务中心、情报处理分析用户端。前端情报收集系统主要负责情报数据的收集和预处理,经过预处理的情报信息进入后端的情报处理分析服务中心,情报处理分析服务中心作为情报数据的集中处理和分析服务池,其提供了多样化的数据存储和计算方式,根据具体的数据业务需求进行相应的数据存储和计算,在整个服务中心内部建立了一层横向的数据集成和调度系统,负责数据在各个存储计算系统之间的调度和协同。情报处理分析用户端构建在情报处理分析服务中心之上,其基于柔性重构框架的构件管理和编排能力实现动态编配和重组,输出具体的业务应用程序。

5 结论

本文主要针对情报信息处理领域当前面临的部署形态复杂、客户需求易变等问题,提出了一种柔性重构软件设计技术,该技术充分利用了软件设计中面向对象的多态特性,基于构件的动态加载技术,将传统的定制化设计和开发流程转变为以业务构件开发为中心的工厂化流水线模式,并通过场景装配动态输出满足实际应用需求的业务系统。基于这种柔性重构技术,结合大数据处理的特点,提出了一套全新的情报系统构建模式,这种构建模式能够在大数据环境中实现情报业务系统的按需定制和动态重组,满足复杂多变的部署形态,提高需求应变能力。由于本文所涉及的柔性重构技术是C/S架构的一种技术机理,其只适合于胖客户端的应用系统,对于B/S架构的页面系统不适用。

参考文献:

[1] 吴朱华.云计算核心技术剖析[M].北京:人民邮电出版社,2011.

[2] 甘翼,王良刚,黄金元,等.大数据和人工智能时代的情报分析和技术探索[J].电讯技术,2018,58(5) :506-513.

[3] 贾明权.基于分布式战术云的下一代通用信号处理平台架构[J].电讯技术,2017,57(7):789-794.

[4] 姚淑珍.UML和模式应用:面向对象分析与设计导论[M]. 北京:机械工业出版社,2002.

[5] 李铭.C#高级编程[M]. 北京:清华大学出版社,2017.

[6] 王海,华东,吕粤海.Hadoop权威指南:大数据的存储与分析[M]. 北京:清华大学出版社,2017.

[7] 邓钢.软件架构[M]. 北京:人民邮电出版社,2014.

[8] 爱飞翔.系统架构[M]. 北京:机械工业出版社,2017.

【通联编辑:代影】

猜你喜欢
情报系统大数据
高校图书情报系统规章制度研究
图书馆情报系统中信息融合技术的应用研究
大数据技术在电子对抗情报系统中的应用
大数据环境下基于移动客户端的传统媒体转型思路