动态集成化

2024-09-29

动态集成化(精选7篇)

动态集成化 篇1

0 引言

目前国内大部分油田的动态分析工作还处于人工查找借阅资料、人工分析阶段。分析单井动态,要查看井位图、沉积相带图、油水井连通栅状图、小层数据、射孔数据、完井数据、施工总结、油水井生产数据、各项监测资料等十余种相关资料。分析一个区块或油田,要统计大量的油水井历史生产数据,不但工作效率低,而且使动态分析人员精力和时间浪费在资料收集过程中,因此急需开发一种软件将在动态分析过程中所需要的信息集中显示出来,不但可以提高工作效率,而且因为信息集中、全面、准确、及时,方案设计质量也将大大提高。

在油田动态分析过程中,需要参照大量的相关资料进行综合分析,油田动态管理工作量大,在查找和借阅资料过程中,浪费了大量的时间和精力,而且容易出差错。虽然目前大量资料已经录入数据库,但是油田开发数据库是建立在Oracle数据库管理模式基础之上的,普通的技术人员和岗位员工对Oracle关系数据库比较陌生,在应用层面上出现了难于应用的问题,致使数据库资源出现了闲置与浪费。利用信息集成化动态分析管理软件在用户和油田开发数据库之间建立一个有效联系的通道,使用户不必掌握复杂的数据库操纵语言,就能根据实际工作需要自定义查询、录入、统计动态分析所需要的各种数据。

1 信息集成化动态分析软件具体构想

1.1 总体思路

信息集成化动态分析软件具体设计,以井位图为切入点,将井点嵌入到所属区块、断块、岩层以及井组内进行分析的信息集成化立体井位图中,用户选取一个区块或油田,软件连接静态坐标库,自动生成该区块或油田的井位图。用户选取该井位图上的一口井或一个井组,系统通过链接静态、动态、监测、作业施工等各方面信息库。面向井位图进行一系列的查询、录入、统计、分析工作,摆脱了以往动态分析的数据收集和统计工作。

1.2 软件开发系统设计

采用C#.Net+Oracle9i+ASP.Net为系统开发平台,利用Windows操作系统和C#.Net、Oracle、ASP.Net、ArcGis提供的底层支持及类库和函数库,同时自主开发ActiveX控件来实现动态信息集成化管理软件的设计与开发。

1.3 软件开发体系结构

系统针对不同的功能采用B/S和C/S两种实现方式。采用B/S结构,可为用户提供一个Web环境下的分布式数据录入、查询、统计、分析、报表等功能。采用C/S结构设计信息集成化立体井位图,利用ArcGis强大的GIS处理功能,在ArcGis基本类库的基础上进行二次开发,结合ActiveX、COM技术,自主开发一套适合油田动态数据分析的信息集成化立体井位图动态生成系统,完成常用开发图件的动态生成、CAD地质图件的管理与发布、油田动态分析各种相关资料的自动搜集和整理、井位图GIS空间数据库的建立、井位图的动态生成和Web发布。另外通过C/S结构为系统管理人员提供对动态分析结果的优化管理和对油田开发数据库的远程维护功能。

1.4 系统总体功能模块

系统总体功能模块如图1所示。

2 信息集成化软件构成模块及功能

2.1 井位图绘制及相关信息查询模块

2.1.1 井位图绘制

分区块范围选择:主要包括区块、断块、井网、矿队;系统开发充分考虑系统的可维护性,通过数据库来维护区块、矿、队、井网、特殊井的多变性。

绘图选项设置:对于绘图的附加信息如字体、边框等,用户可以通过操作界面完成这些信息设置。

井别符号设置:为用户提供对于井别表示的符号、大小、颜色的维护功能;图形的放大、缩小、漫游,图形可以进行无级放大、缩小和漫游而不失真。

2.1.2 相关信息查询

查询方式为用户在界面中用鼠标右键点击要查询信息的井,将出现弹出菜单(菜单中列出了要查询的信息项),然后用户可选择要查看的内容,根据需要查询井位图、沉积相带图、油水井连通栅状图、小层数据、射孔数据、完井数据、施工总结、油水井生产数据、各项监测资料相关数据,并以报表和图形方式显示。

2.2 报表查询模块

通过Web页面灵活、方便地对已经存在的报表制订查询条件,生成自己的查询报表,并对报表进行打印输出。

2.3 动态数据统计分析模块

(1)按用户自定义统计条件(区块、井网、矿队)进行生产数据统计及各种曲线绘制。

(2)统计计算功能包括求最大值、最小值、求和、平均值和计数等,能对分类字段进行汇总统计,统计的结果以图形包括直方图、饼图、点状图或柱状图等显示风格表现出来。

(3)以井位图为基础,按用户自定义范围(区块、矿队)绘制静压及流压等值图,欠注、低效、高关、套损等各种类型井分布图。

2.4 措施方案生成模块

根据需要自定义条件进行措施井筛选,并自动生成包括油井压裂、堵水、水井酸化、调剖等措施方案。

2.5 Web分布式数据查询与录入模块

建立和完成注水井方案模块,油井地层压力对比统计分析模块,油水井措施效果统计模块,地质月报表模块,监测资料应用模块,低效井、欠注井、间抽井及各类关井统计分析模块的录入、查询、统计与报表输出。

3 可行性论证

经过深入细致的调研认为,该软件存在的技术难点很多,开发难度较大,可以通过借助互联网搜集到相关的信息和各种相关计算机方面工具书,寻求解决办法,并借鉴本单位以往软件开发经验和技术手段,逐步解决技术难题,可以实现软件预期开发目标。

通过详细论证分析,该软件可采用C#.Net、Oracle、ASP.Net、ArcGis编程技术,解决Oracle数据库应用瓶颈问题,使广大科技人员可以方便快捷地查询、录入、统计所需的油田开发数据。

4 结束语

(1)信息集成化软件从生产的实际需要出发,具有很强的实用性,将有效提高油田动态分析工作的效率和精度,为动态员工进行动态分析提供了方便灵活的对比统计及趋势分析工具。

(2)应用信息集成化软件,可以随时检索到油田的开发数据,方便技术人员了解油田的生产动态,及时掌握油田开发生产现状。

(3)信息集成化软件根据采油井的生产井史,结合钻井、固井、射孔、试油、井下作业及油井各个开采时期生产指标变化,注水井各个时期吸水能力变化,使动态分析人员能方便快捷地了解油田开发历史的连续情况,进行综合分析,预测油田区块开发指标。分析哪些是一贯规律,哪些是突然变化,得出系统认识。

(4)信息集成化动态软件在企业网上实现了数据、信息共享,可避免由于分析不及时造成的失误和遗漏,提高方案符合率,极大地提高了工作效率,具有良好的应用前景。

浅谈多分类器动态集成技术 篇2

关键词:分类,分类器,动态集成

0 引言

分类技术是数据挖掘、机器学习及模式识别中一个重要的研究领域, 已在生物认证、手写体识别和文字识别、医疗诊断、图像识别、网络安全入侵检测等众多领域得到广泛应用。分类的准确性是衡量分类器性能的最重要指标之一, 集成分类器的目的在于获得高性能的分类结果。分类器集成主要是通过对多个单分类器进行组合来提高分类性能。尽管传统的集成分类技术已经应用到很多领域, 但随着科技的发展, 人们对应用结果有了更高的要求。这就意味着人们希望通过对传统的静态集成分类技术的改进, 得到满足应用领域深层次要求的高性能的集成算法。于是, 多分类器动态集成技术应运而生, 研究分类器集成技术以提高集成分类的性能指标, 已成为众多领域的研究热点。

1 多分类器集成

1.1 背景

分类器集成利用单分类器的互补功能, 获得比单个分类器更好的分类性能。按照是否针对待分类样本的具体特征来自适应地选取分类器, 得到静态集成 (Static Ensemble) 和动态集成 (Dynamic Ensemble) 两种多分类器集成方法。多分类器静态集成方法在训练过程中就将最终识别模型的分类器权重和数目都确定下来, 就这意味着在分类预测的过程中所有待分类样本均使用相同的识别模型。和静态集成方法相比较, 分类器动态集成方法在预测过程中会根据待分类样本的具体特征来自适应地选取适合的分类器进行集成, 这种特性说明动态集成具有更好的针对性和灵活性。另外, 分类器动态集成受抽取样本的影响小于静态集成, 可以显著提高分类系统的泛化能力, 进而有效地保证了分类的精度。

1.2 多分类器集成的框架

多分类器集成系统虽然可以有效提高分类的精度, 但是构造多分类器系统确是一个复杂的事情。由于目前对于多分类器集成技术的理论分析还不尽完善, 在应用的过程中主要依赖于学者们的实践经验。通常来说, 多分类器集成问题包含分类器集合的构造和组合方法两大部分。分类器集合构造部分用于生成多个分类器, 组合方法部分则是通过某种方法根据单个分类器的预测情况形成最终的判决, 其框架如图所示[1]。

在分类器集成系统中, 组成识别模型的单个分类器的输出形式要受到所使用的集成方法的影响。一般来说, 单个分类器有决策级输出、排序级输出和度量级输出三种主要的输出形式。通常而言, 集成的信息量和单分类器的输出等级有关。单分类器的输出级别越高, 所集成的信息就越丰富, 理论上可以获得的分类结果就越好。单分类器的三种输出形式如下:

(1) 决策级输出:没有其他附加的信息, 输出结果仅用于单纯的分类决策, 如身份识别后输出接受和拒绝两种结果;

(2) 排序级输出:通常用于目标类别数目众多的情况, 且输出的类别按可能性由大到小进行排序;

(3) 度量级输出:输出的结果为概率、信度、距离等度量值。

1.3 单分类器的设计

在单分类器的设计中, 一些方法考虑显示地实现分类器的多样性, 另一些方法则是隐含地实现了分类器的多样性。将已知的单分类器设计方法归纳如下:

(1) 在同一个训练集中生成一组不同类型的单分类器[2]。比如使用决策树、神经网络、贝叶斯分类算法训练单分类器, 将这些类型不同的单分类器作为集成所用的成员分类器。这组分类器在分类的侧重点和效果上存在差别, 并且所得分类结果的输出表示方法也不相同, 因此在使用这些单分类器集成分类结果的时候需要进行调整。

(2) 从初始的训练样本中抽取得到不同的训练集, 训练多个类型相同的单分类器[3,4]。这种方法通过可重复的随机抽样, 根据样本分类的难易程度分别赋予不同的权重得到多个训练集, 从而训练出一组具有多样性的单分类器。

(3) 根据样本的属性特征划分不同的训练样本子集生成多个单分类器, 实现分类器的多样性[5]。将一个大的特征向量空间划分为若干较小的特征空间, 分别构建一个单分类器, 再将这些单分类器集成到一起。这种方法比在整个特征空间中训练一个分类器获得更高的时间、空间效率。

(4) 通过调整训练样本的标记属性得到不同的训练集, 分别训练得到单分类器[6]。这种方法不仅改变了训练样本的标记属性, 同时也增加了训练样本标记属性的噪声, 从而实现分类器之间的多样性。

(5) 合并类别标号。对于类别数目较大的训练集, 随机将多个类别的样本划为两个子集, 并将同一子集中的训练样本归为一类。对于合并后的两类训练集用拟合算法训练单分类器。这种方法通过多次重复的随机类别合并得到成员分类器。

1.4 单分类器的集成方式

在训练得到一组单分类器之后, 即可进行单分类器的输出集成, 以获得待分类样本的目标类别。单分类器的集成分为全部集成和部分集成两种类别:

(1) 直接进行集成, 即是集成全部单分类器。如果通过训练集生成的单分类器分类精度和相互之间的多样性较高, 则可以直接采取某种集成方法来融合各个单分类器的输出结果。

(2) 进行选择性集成。许多集成方法都选择使用大量单分类以得到较高的分类性能, 但是这种做法会带来一些问题, 例如增加计算和存储的开销;随着单分类器规模的增加, 难以保证分类器之间的差异度等等。有研究证明只选择一部分适合的单分类器同样可以取得集成所有分类器的分类性能, 甚至得到更好的分类效果。这类研究方法的主要思想是首先生成一组初始单分类器序列, 然后根据一定的准则从中选择合适的单分类器进行集成。

2 多分类器动态集成技术

2.1 动态集成技术的原理

动态集成的原理是利用不同的分类模型的错误分布信息来指导分类器的集成过程, 即是对于给定的一个待分类样本, 尽可能地选择那些能够将其正确分类的分类器进行分类。其原理为不同类型的分类器具有不同的错误分布, 而对于同种类型的分类器来说, 错误分布往往集中于某一特定的区域中。唐春生和金以慧[7]在研究中给出了动态集成技术的4个基本出发点:

(1) 在样本空间中, 不同的样本处于不同的区域, 并且具有不同的特征;

(2) 针对不同的样本, 各个分类器的分类效果是有差别的;

(3) 在样本空间的不同区域, 同一个分类器的分类性能会有所变化;

(4) 分类器对最终判决具有一定的支持作用, 且分类器输出的不同待测类别与实际类别之间存在一定的相似性。

根据以上内容总结得出分类器动态集成的思想:分析对于不同待分类样本所在区域上的各个单分类器的性能, 使其自适应地选择一组分类器, 最后利用某些特定的组合方法集成判决分类结果。分类器动态集成方法考虑了各个单分类器的特性和待分类样本的自身特征, 具有比静态集成方法更好的针对性和灵活性。通常来说, 动态集成方法能够获得比静态集成方法更好的分类效果。

2.2 多分类器动态集成的框架和方法

如图2所示为多分类器集成的框架的三个主要部分:

(1) 在训练集TS中训练生成一组单分类C;

(2) 使用训练集TS或测试集VS来生成能力区域Ro C (Region ofCompetence) ;

(3) 得到各个单分类器在能力区域内的性能, 这一过程需要根据待分类样本Xt的自身特征来确定。随后自适应地选择部分分类器或者指定分类器权重用于最终的动态集成分类。

要实现分类器动态集成, 关键在于如何构建能力区域和选择何种集成方法[8]。能力区域的构建需要选择出一组能够反映单分类器预测性能的样本集, 单分类器在样本中训练得到的分类器必须具备良好的分类效果。

总结一下目前流行的能力区域构建方法:

(1) 基于KNN的方法。该方法的核心思想是假如一个样本在特征空间里的k个最相邻的大多数样本都属于某一个类别, 则该样本也被判为这个类别, 并具有这个类别上样本的特性。KNN方法经常使用欧几里德距离、曼哈顿距离等来求解, 在确定分类决策上只依据最邻近的一个或者几个样本的类别来判决待分样本所属的类别, 如DCS-LA (Hard Selection) 方法, DCS-LA (Soft Selection) 方法, KNORA-E方法等。

(2) 基于不同数据集的方法。该方法是通过利用一定的技术得到不同的能力区域, 用于构建单分类器, 如AO-DCS算法等。

(3) 基于聚类的方法。该方法采用聚类算法产生规定数目的训练样本集, 在分类阶段通过计算待分类样本和样本集聚类中心的距离得到距离最近的一组训练样本进行分类。如CS (Clustering and Selection) 方法, M3CS方法等。

集成方法的选择也是分类器动态集成中的重要环节之一。流行的集成方式有:

(1) 动态选择方法。该方法的思想是通过对待分类样本的特征分析从单分类器序列中选择部分性能优良的单分类器实现集成分类。

(2) 动态投票方法。该方法的思想是在分类迭代过程中根据待分类样本的特征为各个单分类器动态分配权重, 然后执行加权集成分类。

(3) 结合动态选择和动态投票的混合集成方法。该方法集合了前两种方法的优势, 先根据待分类样本特征选择单分类器序列, 再为其动态分配权重, 最后执行集成判决。

3 多分类器动态集成技术的不足

和静态集成分类方法相比, 分类器动态集成方法在预测时可以动态地、实时地组合单分类器或者为其分配权重, 获得更好地分类性能。但是动态集成本身存在一些缺点, 在应用过程中需要注意。比如, 动态集成过程中需要调用其他方法, 如特征选择、聚类分析、KNN方法等;由于待分类样本和训练集分布的差异引起分类性能显著下降;对于不同的待分类样本进行分类器序列的优选, 造成算法时间复杂度的增加;还有部分动态集成方法, 为了追求优良的局部性能, 需要一些特定的训练集, 当训练集规模不足的情况下就会影响分类性能。

4 结束语

为了在各个应用领域中更好地满足人们对分类性能的需求, 由于分类器动态集成技术更加灵活、更具针对性, 并且能够取得更好的分类效果, 因此成为了机器学习和数据挖掘等领域的一个研究热点, 分析和研究分类器动态集成技术具有较高的理论价值和应用价值。本文介绍了分类器动态集成技术的原理、框架和方法, 总结了该技术在应用中存在的一些不足之处, 为后继的应用研究提供了理论参考。

参考文献

[1]Jiawei Han, Micheline Kamber.数据挖掘概念与技术[M].北京:机械工业出版社, 2004.

[2]W.B.Langdon, S.J.Barrett, B.F.Buxton.Combining decision trees and neural networks for drug discovery[C].Genetic Programming Proceedings of the 5th European Conference, Euro GP 2002, Kinsale, Ircland, 2002, 60-70.

[3]Y.Freund, R.E.Schapire.Experiments with a new boosting algorithm[C].Proceedings of the 13th International Conference on Machine Learning, Morgan Kaufmann, 1996, 148-156.

[4]Loris Nanni, Alessandra Lumini.Fuzzy Bagging:A novel ensemble of classifiers[J].Pattern Recognition, 2006 (39) :488-490.

[5]Yong Seog Kima, W.Nick Streetb, Filippo Mencaer.Optimal ensemble construction viameta-evolutionary ensembles[J].Expert Systems with Applications, 2006 (30) :705-714.

[6]Gonzalo Martinez-Munoz, Alberto Suarez.Switching class labels to generate classification ensembles[J].Pattern Recognition, 2005, (38) :1482-1494.

[7]唐春生, 金以慧.基于全信息矩阵的多分类器集成方法[J].软件学报, 2003 (6) :1103-1109.

动态集成化 篇3

1 SOA体系架构

1.1 SOA的核心思想

SOA (面向服务的架构) 是一种应用程序体系结构, 具有易于部署、高效灵活、易于复用等特点[2], 全面支持系统整合和业务灵活配置。

在SOA的体系结构中, 系统的功能都被定义为独立于平台的可调用服务, 通过调用这些服务形成不同的业务流程。同时, SOA也是一种思考集成的方法, 支持将多个系统对接起来, SOA提供改进或者创新业务的可能性。采用SOA构建的分布式系统, 既可以以服务的形式将功能直接提供给用户, 也可以支持用户在此基础上构建更高层的服务。

SOA的使用是基于可重用的服务 (即功能单元) 。SOA服务的执行必须通过外部接口来描述, 这些接口可以通过网络方问, 并独立于平台。基于服务的接口和协议来执行业务流程, 使得业务流程的编排和重组变得灵活, 充满弹性。SOA的关键在于, 通过标准化接口实现功能的松耦合, 封装功能实现的细节, 屏蔽技术复杂性和易变性, 不仅提高了功能单元的互操作性, 也促进功能单元的重复使用。当前, SOA是建立在已经成为业界标准的Web服务之上的系统架构, 支撑了不同技术体制的软件系统之间的相互调用。

1.2 SOA体系架构的优势

目前军事信息系统已经全面呈现网络化趋势, 各个功能单元往往分布在广阔的网络空间里, 而不是从同一个计算机或者局域网中互相调用, 这就要求系统之间具有远程互操作能力。信息化战场信息多维交叉流动, 功能单元之间的对接关系也变得更加灵活、动态, 对信息系统的可动态重组能力提出了更高要求。现役系统的开发语言和运行平台也各不相同, 如何将这些异构、分布的军事信息系统集成为互联互通互操作的动态应用, SOA体现了独特的优势: (1) 提升互操作性。系统的互操作性对功能单元提出更高要求, 要么采取一致的编程语言和运行平台, 要么采取独立于语言和平台的实现方式。SOA服务采取独立于任何编程语言的中间格式 (WSDL) , 并提供网络访问方式, 便于提供互操作性。WSDL文档定义了服务接口及其描述, 可通过任何平台调用服务接口。 (2) 提升集成能力。SOA提供了发现服务、组合服务的所有机制。一个系统需要某种服务时, 可以通过服务代理查找服务提供者, 当查找到可用的服务时, 提供者的WSDL文档成为服务提供者和服务请求者绑定的依据, 实现二者的动态集成。这样, 通过服务代理的松耦合机制实现了信息系统之间按需对接、动态重组的新应用。 (3) 降低系统复杂性。系统的复杂性往往来自于系统要素之间的耦合性, 而系统要素之间的耦合性是因为过多地依赖于对方的实现细节, 因此封装是减少系统复杂性的关键。SOA服务只向外提供定义的接口, 屏蔽了自身实现的所有细节, 服务请求者对提供者的实现方式一无所知, 服务提供者也不知道服务请求者将如何使用它提供的服务。SOA服务实现细节的透明性大大降低了整个系统的复杂性。

2 基于SOA的军事信息服务动态集成方法

2.1 基于SOA的框架结构设计

基于SOA的军事信息服务动态集成, 需要将各类信息系统的不同功能转化为服务, 这些服务再以统一的方式进行交互, 因此, 需要采用面向服务的架构进行顶层设计[3], 如图1所示。

2.1.1 基础设施层

为了实现军事信息系统的信息共享与互操作, 基础设施层需提供信息处理、存储、分发和管理的基础性支撑。其中, 通信基础设施由光纤、卫星和数据链等通信手段构成, 形成栅格化的通信网络, 实现按需接入、自动路由、综合管控等能力, 提供端到端的信息传输服务;硬件基础环境由信息处理和信息存储设施组成, 支持分布式计算与分布式存储;通用服务支撑由核心服务及通用支撑服务组成, 提供各类系统的互操作信息服务, 比如登录控制、权限管理、信息发现、信息目录、信息管理等, 并为流媒体、图形环境、消息队列提供通用的支撑服务。

2.1.2 功能转化层

为了封装各类服务, 需要将各类信息系统转化为强内聚、松耦合的服务单元。功能转化层通过基础设施层的服务支撑工具, 将不同信息系统的功能进行封装, 转换为独立的基础服务单元, 然后按照各类具体任务, 组合成不同的业务相关构件集, 实现灵活、动态的信息服务。功能转化层是实现信息服务动态集成的核心组成。

2.1.3 业务逻辑层

根据不同业务的需求, 需要将各项基础服务单元动态配置成体现业务特色的工作流程。业务逻辑层实现各个业务内部逻辑的动态重构, 按需优化部件之间的组合关系, 满足动态军事需求对信息服务系统的柔性化要求。

2.2 基于SOA框架提供的系统能力

2.2.1 系统框架支持功能随需接入

基于SOA的系统框架通过分层的方式, 支持系统功能封装成为服务。这种方式既有利于新技术体制信息系统, 又可以对现役信息系统增加动态集成能力, 兼顾现役技术体制信息系统的集成与发展的平衡。按照SOA架构设计的信息系统, 通过一致的SOA技术体制实现动态集成、按需对接。

2.2.2 系统框架支持功能柔性重组

基于SOA的系统框架支持基于任务的动态重组, 也能够在很短的时间内实现快速重组, 适应基于信息系统体系作战要求的依托栅格化网络的高度集成、整体联动、同步运行的有机整体的运行模式。这种能力得益于基于SOA系统架构对软件功能的封装性和互操作性, 使得系统功能可以按需裁剪和动态重组[4]。

2.2.3 系统框架支持信息远程共享

基于SOA的系统框架把信息基础设施作为底层支撑, 支持信息服务资源的网络共享, 通过订阅分发等同步机制, 增强各类信息系统之间的互操作能力, 通过Web Services技术, 让各类信息系统的信息共享复杂性大为降低。

3 基于SOA的军事信息系统集成策略

军事信息系统在升级完善建设中, 应该在全军一致的信息技术体系内, 按照未来基于信息系统体系作战能力建设要求, 加强一体化顶层设计, 建设一体化体系结构, 逐步改进完善各类信息系统的能力体系, 逐步向栅格化、服务化发展, 加速提升军事信息系统的动态集成能力[5]。

3.1 全军一体化顶层设计

各类军事信息系统的体系架构、技术体制应遵循一致的标准规范, 尤其是与军事电子信息系统的总体技术体制, 结合各个业务军事需求, 建立各自领域的需求模型、技术参考模型。通过一体化顶层设计, 将战略、战役、战术的军事信息系统进行统一规范, 形成上下贯通、横向兼容的技术体制, 加强军事信息系统的标准体系研究, 用标准化促进军事信息系统集成。

3.2 逐步推进信息系统的服务化

基于SOA的服务化策略, 本身能够在现役系统的构件化基础上进行, 大部分现有的军事信息系统功能都可以通过适应化改造转换为服务, 较为顺畅地解决现役系统的继承与发展的矛盾[6]。因此, 基于SOA的军事信息系统服务策略, 不仅适合于未来信息系统的动态集成, 也同样适用于现役系统的升级改造。对现有的军事信息系统, 首先按照统一的技术规范改造为标准化的构件, 再转换为基于SOA的服务化功能, 逐步将全军的各类信息系统都建立在栅格化的、可以灵活对接的技术体制之上, 实现动态集成。

3.3 建设战术末端服务化信息系统

未来的军事信息系统将通过栅格化网络、数据链延伸到战术末端, 通过基于SOA的集成策略, 能够将各类规模的信息系统按照一致的方式进行对接, 形成一体化的信息服务模式。这就要求对战术末端的信息系统也要按照栅格化、服务化的技术体制进行一体化设计, 使得作战部队能够直接通过动态集成的方式接受各类信息指令, 基于SOA的战术末端信息系统将是未来的研究发展方向。

4 结语

本文从军事信息系统集成方面存在的不足, 提出了基于SOA军事信息系统是适应未来基于信息系统体系作战对系统动态集成要求的必然趋势, 介绍了SOA体系架构的核心思想与优势, 提出了基于SOA的军事信息服务系统架构设计及系统能力, 最后对如何实现全军基于SOA的军事信息系统集成提出策略建议。未来将结合典型信息服务系统建设, 进一步深入总结军事信息系统动态集成实现方法与技术。

摘要:基于SOA军事信息系统是适应未来基于信息系统体系作战的必然趋势, 文章提出了基于SOA的军事信息服务系统架构设计及系统能力, 对如何实现基于SOA的军事信息系统集成提出策略建议。

关键词:军事信息系统,SOA,动态集成,服务化

参考文献

[1]HAFFERGR.Composingand Orchestrating Mission Capability Packages through Business Process Execution Language[A]//Command and Control Research an Technology Symposium, 2004.

[2]Mike P Papazoglou, Willem-Jan Van Den Heuvel.Service-oriented Architecture:Approaches[J]:Technology and Research Issues.The VLDB Journal, 2007 (16) :389-415.

[3]于晓浩, 罗雪山, 陈洪辉.等.面向服务的军事信息系统集成框架与应用研究[J].中国电子科学研究院学报, 2008 (3) :252-255.

[4]郭定荣, 谈鹏程.指挥信息系统平台服务化及其影响[J].指挥信息系统与技术, 2012 (1) :25-26.

[5]童志鹏, 刘兴.综合电子信息系统[M].北京:国防工业出版社, 2008.

动态集成化 篇4

Web服务是部署在网络上的应用程序,能够通过基于XML的协议规范进行描述、查找和调用[1],可被应用于B2B电子商务、门户网站与内容提供商之间的合成等领域。随着电子商务的迅速发展,B2B应用模式的不断普及,如何将Web服务高效合成起来,从而实现大范围的跨企业实体的商务应用系统对接成为一个亟待解决的问题。

另一方面,随着计算机技术的发展和互联网的普及,面向单一企业和特定业务逻辑的软件系统,以及传统的集中控制的软件开发方法已经无法适应当前分布式的、异构的应用环境。应用环境的这些特性要求新的软件模式能够适应环境的不确定性,自主、有效地实现其功能。解决Web服务研究中某些不足的方法之一就是使用Agent技术[2]。Agent是一种处于特定软、硬件环境中封装的计算单元。它能独立、自主地感知环境,代表设计者或使用者自治地完成一系列目标。作为人工智能和分布对象计算技术的结合,Agent技术为分布式、智能化系统的分析、设计和实现提供了一种全新的解决方案。本文提出了一种基于多Agent系统的Web服务合成架构。

1 Web服务模型

常规的对Web服务的描述是WSDL[3],提供包括Web服务可识别的数据类型、消息模式、交互方式等信息的说明。为了更加完整地描述服务,方便运行时刻实现服务的动态选择,我们扩展了Web服务的描述,在原有定义之外增加对服务质量的说明。Web服务的性能是服务量度的一个重要方面,服务s的定义可直接提供某些属性值,有些属性值可从执行日志集信息中提取。

●价格qprice(s):服务请求者在调用运行服务时需付的货币量。服务提供者或直接发布其价格或提供对价格查询的方式。

●执行时间qdu(s):请求者发送请求到接收到结果的预期时延。qdu(s)=Tprocess(s)+Ttrans(s)。服务提供者发布其处理时间Ttrans(s)或提供查询方法。传输时间,取过去n次执行结果的平均值。

●可靠性qrel(s):服务在最大预期时间段内(在服务描述时发布)对请求者作出正确回应的概率。是对服务以及服务提供者和请求者间网络连接的硬件和/或软件配置的技术度量。qrel(s)=K(s)/N,K(s)为在所考察的N次调用中成功提供的次数。0≤qrel(s)≤1。

●有效性qav(s):指服务可被访问的概率。qav(s)=T(s)/θ,其中T(s)表示在最近θ秒内服务可被调用的时间数(以秒计)。θ为常量,依赖于特定的应用程序。0≤qav(s)≤1。

●网络带宽qbw(s):访问服务s时所需的网络带宽,由服务发布提供。

基于上述考察的服务属性,则一个服务s的质量可表示为一个5维向量:Q(s)={qprice(s),qdu(s),qrel(s),qav(s),qbw(s)}。

2 服务合成框架体系结构

2.1 主要成分

基于多Agent系统的Web服务架构采用一个分层的结构为Web服务的发现、合成和配置提供支持。图1给出了此体系结构中的三个主要组成部分。

(1)服务合成流程形成目前Web服务合成中用户用自然语言说明其需求,而后实现服务的自动查找、合成不太现实。客户应用程序包括一个服务合成语言编译环境。用户必须根据合成语言及对应的语言编辑环境说明服务合成的需求、所要调用的功能及其功能间的结构和调用过程,从而形成服务的合成流程。

(2)服务选择发现Agent,根据服务合成流程,到UDDI中参考服务QoS,根据一定的算法选取服务。服务优选器在服务调用时刻通过一选择策略选择一个服务执行某一操作。选择策略设置服务的优先值,包括多属性效用选择函数等。用户或程序设计者可提供多个对应于不同选择策略的效用函数。用户根据其偏好选择策略。文献[4]从单个服务角度和全局角度分别提出了一种发现服务的优化算法。

(3) Agent间交互及调用执行服务协同Agent根据服务合成语言生成,负责整个合成过程的执行控制。Agent交互平台实现Agent间交互。包括两种交互方式:消息传递MP和移动Agent方式MA。服务Agent对应每个服务,与协同Agent通过A-gent交互平台进行SOAP消息交互。

2.2 动态执行

上述三层从静态角度进行划分,实际上,从系统运行,即动态角度来看,包括3个阶段,如图2所示。

(1)需求描述阶段用户根据合成语言语法描述合成需求。经编译,无错误后则通过另一个语言解析器生成协同Agent的规划体,Agent也有对应的语言规范。

(2)合成规划阶段协同Agent生成后,根据规划及信念库中关于环境的知识,向中介服务器发送查找信息。UDDI中存有服务的扩展WSDL描述[5]。除UDDI和服务注册模块外,中介服务器有三个主要的成分:服务查询模块,服务受限模块和服务优选模块。服务发现模块方便服务及其操作的查找;服务受限模块确定满足用户服务质量的服务;服务优选模块在上述服务中选择符合用户偏好的服务。

首先通过UDDI进行粗略查询,即功能查询②,得到符合功能描述的服务,如所查服务可并行执行时,可并行查找。(此时已有服务注册于UDDI中①),如图3所示。查询的结果可能是一种功能的服务有多个提供者,再根据用户的服务质量的需求及服务本身的特性,对每种功能的服务进行筛选③,得到满足用户需求的服务,最后,再根据服务选择策略进行优选④。

(3)调用执行阶段运行时刻经过优选得到的服务为合成真正所要调用的服务,调用每个服务时,生成对应的Agent称为服务Agent,执行相应服务,通过Agent交互平台返回操作结果至协同Agent,所有交互完成后,最终返回结果至用户。为了自适应环境,如网络带宽的变化,可选择不同的交互形式:消息传递MP(Message Passing)和移动Agent方式MA(Mobile Agent),MP是指Agent间通过SOAP消息通信,MA是指协同Agent端派出一Agent移动至服务Agent端进行交互,取得结果后再返回协同Agent端。当带宽较大时采用前者交互。具体带宽大小分界值可由用户设定,或由程序员事先设置好。

3 基于Web服务的Agent模型

Agent概念如今已广泛应用于具有一定特征的计算机程序设计单元模型,抽象、普遍地作为复杂软件系统分析、描述和实现的新隐喻[5]。基于上述系统体系结构,设计了如图4所示的Agent结构。由五大模块组成:信念库、规划库、解释器、监控库和行动集。

(1)信念库包含Agent对环境知识。协同Agent的信念还包括用户请求的合成服务的需求方面的信息,服务Agent则包括所代理的服务的质量。

(2)规划库为Agent根据各自的目标而预备采取的实现方法、步骤等。包括一些行为。行为取自于行为集。行动集中有三种类型的行为。

内在行为:如信念的加载、更新查询和删除操作;基本的逻辑运算等;通信行为:与Agent交互平台的交互,包括发送、接收和编译消息;服务调用行为:与Web服务的交互,包括发送调用请求,接收调用结果等。

规划未被解释器解释执行前独立于服务,一旦被执行后,就转变为依赖于服务的规划,规划中活动就对应服务的调用。

(3)监控库用以实现对外部环境变化的监控,如对网络带宽的监控,影响信念库中信息的取值。

(4)解释器是整个Agent结构的核心所在,相当于Agent的“大脑”,控制整个Agent动态地运行。

Agent的心智状态,如信念和能力基于ECA规则加以定义。

定义1 ECA规则定义为一个三元组Reca=:其中e表示出发规则的事件;C表示反映系统和环境状态的条件集;A表示行为集。整个规则表示:若e发生且C满足,则A中所有行为将被执行。

事件可由AND、OR等基本算子合成已有事件得到,以反映复杂的状态。Agent执行一系列行为以实现特定的目标,行为的执行可组织成多个活动,一个活动对应一个服务的调用。因此,一个规划可看成是一个部分有序的活动网。

定义2规划P=,其中Ac表示规划的活动集,RAc⊆Ac×Ac,表示活动间的关系,包括活动间的数据流集合和活动间的逻辑关系,两者均用ECA规则表示。一ac∈Ac,有ac=,其中I表示ac的输入数据集,0表示ac的输出数据集,而Q(ac)表示ac对应服务的质量,为一个多维向量,根据考察的服务属性数决定其维数。

4 相关工作

服务合成是一个活跃的研究和开发领域。本小节就与我们的工作紧密相关的其它工作作一介绍,包括eFlow[6]、CMI[7]、CrossFlow[8]、SELF-SERV[9]等。

CMI和eFlow是描述、制定和监控服务合成的平台。在这两个平台中,底层执行模型基于一集中式进程引擎,负责调度、分派和控制所有合成服务实例的执行,不同于SELF-SERV的P2P执行方式。尽管在SELF-SERV中出现的容器概念并未在CMI和eFlow中明确得到支持,但两者均支持动态的服务提供者选择。但在SELF-SERV中只给出了容器的功能和工作流程,并未给出其内部结构。CrossFlow考虑B2B应用中一些较重要的需求,如可依赖性和外部可管理性。然而不明确支持动态的、P2P的服务提供方式。

本文基于Agent技术提出的Web服务合成方法,在自主性、开放性、智能性这些方面较上述工作有着众多的优点:

●可扩放性:将工作流描述语言映射成协同Agent的规划表示,有助于系统的扩放;

●可复用:由于每个服务合成的流程通过生成不同的Agent来实现,若下次再需合成统一服务时,只需调用已有的Agent再次执行便可返回结果;

●动态服务选择:扩展了原有的服务描述,从而更好地支持动态的服务选择;

●服务自主性/安全:提出服务信任度的概念,体现服务自主性;另一方面,也是安全方面的保证。

5 总结与进一步工作

本文以智能Agent和Web服务作为系统基本组件,在此基础上提出了一种Web服务合成框架。为了实现服务合成的动态性和自主性,扩展了Web服务的描述,给出了合成体系结构及主要成分,给出了相应的Agent结构及其运作机制。

下一步工作包括:语义Web服务,如DAML-S,以实现服务的自动查找;在原有服务合成语言的基础上作进一步研究,扩展其功能,建立其语义;系统的异常处理,引入事务的概念,研究其处理机制;信任度的计算,算法改进等。

摘要:Web服务集成是常见的Web服务应用,基于Agent技术和已有的Web服务集成技术,提出一种自主的、动态的合成框架。扩展了Web服务的描述,详细说明了框架中的主要成分和运作机制,最后给出基于此合成框架的Agent结构。

关键词:Web服务,服务集成,Agent,ECA规则,WSDL,UDDI,SOAP

参考文献

[1]Web Services Architecture Requirements[EB/OL].http://www.w3. org/TR/wsa-reqs/.2004.

[2]Mercedes Amor,Lidia Fuentes,JoséMaria Troya.Putting Together Web Services and Compositional Software Agents[J].ICWE,2003:44-53.

[3]Web Services Description Language(WSDL 2.0)[EB/OL].http:// www.w3.org/TR/.2007.

[4]唐小燕,李斌.Web服务合成中基于QoS的服务选择[J].计算机应用.2006,10:242-243.

[5]Oliveira Eugénio,Fischer Klans,Stepankova Olga.Multi-agent systems: which research for which applications[J].Robotics and Autonomous Systems,1999,27:91-106.

[6]Casati F,Ilnicki S,Jin L J,et al.Adaptive and dynamic service compo- sition in eFlow[J].In Proc.of the Int.Conference on Advanced Infor- mation Systems Engineering,Stockholm,Sweden,2000:1-20.

[7]Schuster H,Georgakopoulos D,Cichocki A,Baker D.Modeling and composing service-based and reference process-based multi-enterprise processes[J].In Proc.of the Int.Conference on Advanced Information Systems Engineering,Stockholm,Sweden,2000.

[8]CrossFlow Project web page[EB/OL].http://www.crossflow.org2005.

动态集成化 篇5

本文提出的基于SOA的动态数据集成框架正是很好的应对了高校数字化信息系统的数据集成要求, 为异构异型的数据进行集成和共享提供了一种面向服务体系结构的解决办法, 实现了跨平台的数据共享、实时数据交换和数据随需应变等功能。

1. 研究背景

高校数字化信息系统通常拥有许多业务系统, 由于每个业务系统都是按照自身的业务流程需要编制应用程序或者购买成熟的软件产品, 因此均对应了独立的数据库系统结构和标准, 这使得各业务系统之间存在异构数据源。当系统中实现数据资源共享、各业务系统协同工作、业务流程出现变更时, 系统会存在数据转换复杂, 不易共享, 冗余数据无法同步更新等问题。

而基于SOA的面向服务的松耦合构架, 能够方便的将Web服务整合集成, 以提供系统级的数据集成和转换, 具有良好的延展性和灵活性, 能很好的实现系统中各业务系统的异构数据共享, 灵活应对业务流程变更。因此, 文本以此作为高校数字化信息系统的数据集成框架。

2. 构建基于SOA的数据集成框架

基于SOA的动态数据集成服务框架的技术体系结构主要包含5个层次, 分别是数据源适配器、服务包装器、SOA运行引擎、XML视图引擎、XML视图。

其中, 数据源适配器是同各业务系统提供的异构数据源进行交互的桥梁。它负责把存储在各个数据源的原生数据转换成标准的XML文档, 动态加载到系统中。服务包装器是将数据源适配器包装成标准的Web服务。SOA运行引擎是框架的核心, 通过它调度服务的执行, 驱动数据集成的处理。XML视图引擎则主要将多个异构的数据源表示为单一的即时虚拟数据库, 解析并传达用户请求, 返还结果。XML视图是对数据集成的元信息描述, 由它表达集成后的效果, 用户查看XML视图就能了解其表达的数据集成模式。

在基于SOA的数据集成框架结构中, 用户可以通过服务存取信道访问包装了XML视图引擎的服务, 而用户的请求在这里被解析成为一系列能直接访问数据底层服务的查询计划, 并通过缓存实现查询计划的可重用。存取信道管理模块则提供对服务存取信道的运行管理, 例如访问请求合并、优先级排队、信道复用等。

框架中的存取控制模块为用户使用服务和访问数据的安全提供基础。一个高校数字化信息系统的用户通过单一登陆就可以访问如办公自动化系统、教务管理系统、图书管理系统等异构数据源, 极大简化了用户访问模式。存取控制模块还将处理用户访问会话的生命期, 使得用户在一段特定时间内访问系统, 提高系统安全性。

用户在通过登陆认证后, 通过服务接口对服务进行存取, 由服务管理器查找到用户请求访问的服务, 管理服务的生命周期, 检查服务的运行情况, 调度服务的运行、注册服务等。服务工厂会根据服务注册信息启动服务, 如果服务包装的底层数据源不可得, 则该服务将企图装载在本地的缓存数据。

用户通过服务接口可以访问自己需要的服务, 而在数据集成框架中主要的服务包括:1) 内置服务, 包含框架运行必须具备的服务功能。2) 插件服务, 将提供数据的各种数据源包装成服务, 并以可插拔的方式植入框架中。3) 代理服务, 是一种扩展的插件服务, 由它提供诸如第三方应用如ERP、CRM等数据源的包装以及对XML视图引擎的包装。

用户在对服务进行访问过程中, 系统以Web服务作为统一的数据接入接口, 即通过一个数据源封装注册管理工具, 将高校数字化信息系统中各种异构、分散的数据源封装成标准得Web服务, 用以屏蔽数据源之间的差异, 提供统一的数据访问方法。

由于数据源是包装成服务以可插拔方式植入框架的, 业务系统的流程作为标准的Web服务可从框架中移出或移入, 便于应对业务扩展或流程变更。另外, 服务发布/订阅接口提供了同框架异步通讯的机制, 各种服务可以在这里订阅需要的消息。

框架中作为统一数据接口的标准Web服务可以定义为, 通过SOAP协议, 在网络上提供服务, 使用WSDL来描述这种服务, 并通过UDDI注册服务使得使用者能够找到服务。

3. 数据集成框架的优势

在高校信息系统中采用基于SOA动态数据集成框架的优势在于:1) 充分利用已有数据资产和业务系统;2) 降低开发和维护成本;3) 统一的数据, 更好的支持共享和决策;4) 随需应变, 快速响应变更。

4. 结束语

基于SOA的动态数据集成为高校数字化信息系统中异构数据的共享和变更提供了一个面向服务体系结构的框架, 它利用了SOA构架所具有的平台、软件无关性和松耦合特性, 以XML技术为基础, 动态集成为手段, 实现高校信息系统中众多业务系统之间的数据集成, 实现跨平台的数据共享, 达到数据资源整合的目的, 实现了信息的相互联通, 极大地推动了高校数字化校园建设进程, 成为未来高校信息系统发展的重要趋势。

摘要:由于各业务系统提供异构数据源和存在需求变更, 高校数字化信息系统需要一个有效的数据集成框架来支持数据共享和业务流程变化。采用基于SOA的动态数据集成框架能够更好的实现高校数字化信息系统中各业务系统之间的数据整合, 为系统提供灵活、强大的数据支撑服务。

关键词:SOA,数据集成,Web服务

参考文献

[1]易峥荣, 卜炜, 葛序风, 刘颖娜.基于SOA的数据协同模型[J].计算机工程, 2009, (2) .

[2]余小华.基于SOAP网关的Web Services安全模型[J].研究与设计, 2009, (3) .

[3]Dink Krafzig等著, 韩宏志译.Enterpirse SOA中文版[Z].清华大学出版社, 2006.7.

动态集成化 篇6

一、程序设计中常见的错误

程序设计是一项展示个性和才华的活动, 它既反映出程序员的思维特征, 同时也要求其能手脑并用地完成程序整个的开发过程。但是我们经过分析之后不难发现, 在程序设计过程中出现的错误有很大的共同点, 一般来讲, 常见的错误类型可以归纳为以下几点:

1. 设计思路错误:

这既可能是算法错误, 也有可能是功能上的缺陷。

2. 语法错误:

这是初学者特别容易犯的错误。

3. 书写错误:

这种错误所造成的危害可大可小, 要想在程序设计中避免这种错误的出现, 恐怕我们能做的就只有细心、细心、再细心。

4. 输出格式错误:

任何一个符号的错误都将导致最终输出结果的错误, 这也是最致命的。

5. 其它编程时易犯的错误:

(1) 忘记定义变量; (2) 中间运算越界; (3) 变量未赋初值; (4) If-Then-Else语句混乱; (5) 局部变量与全局变量同名造成概念混乱; (6) 未注意int型数据的数值范围; (7) 误把“=”作为“等于”运算符; (8) 混淆字符和字符串的表示形式; (9) 在定义数组时, 将定义的“元素个数”误认为是“可使用的最大下标值”等等。

二、解决的办法

既然错误的出现不可避免, 那么在程序设计时对程序进行调试也就是很自然的事情了。程序调试的方法主要有静态查错和动态调试。

静态查错是指在不执行程序的情况下, 仅根据程序和框图对求解过程的描述来发现错误。对于前面提到的一些错误比如语法错误、书写错误等在静态查错时一般比较容易被发现。而动态调试则是通过跟踪程序的执行过程, 核对输出结果是否正确来发现错误。在程序设计时, 有很多潜在的错误在静态查错时可能不容易被发现, 但如果采取动态调试的方法对程序进行测试分析就能够很快地发现问题所在并及时纠正。我们重点讨论的是在TC++3.0集成环境下程序动态调试的常用方法。

在TC++3.0集成环境下程序动态调试常用的方法有Trace into和Add Breakpoint。其中Trace into是Run菜单的子项, Add Breakpoin是Debug菜单的子项。Trace into (F7) , 也称作单步执行。Trace into可以进入到过程 (函数) 内部一步步执行, 跟踪程序的每一步执行的过程。对于一些相对较短的程序, 程序员可以通过设置变量 (Ctrl+F7) , 每按一次F7, 程序执行一行就停下来, 然后就通过Watch窗口一一检查变量, 直接定位错误。而Add Breakpoint, 即设置断点, 则可以在一个较长的程序中通过设置若干断点 (Ctrl+F8) , 让程序执行 (Ctrl+f9) 到断点时即暂停, 程序员可以检查此时有关变量和表达式的值, 以找到错误所在。下面我们以实例来对这几种方法进行讨论。

1、要求从键盘上输入N, 计算并输出N!

这是一个很简单的C语言程序。但是在实际的作业练习时, 有很多初学者会给出以下程序设计:

咋眼一看, 这个程序似乎没有任何语法和书写错误, 也不存在格式输出错误, 算法设计也是正确的, 甚至即使在程序测试时, 只要从键盘上输入的整数n值不大于7, 程序的结果都是正确的。但是一旦输入的整数n值超过7, 结果就会出错, 有很多同学始终弄不明白其中的原因。这时, 最好的办法就是采用Trace into的方法按以下步骤对程序进行调试。

(1) 按F7键, 可以看到在编辑窗口的源程序中主函数void main () 外用高亮度显示, 表示准备进入main函数。同时可以选择Window菜单的Watch选项, 显示Watch窗口, 作为观察数据时用的, 见下图。

(2) 连续按F7, 只到切换到用户屏, 按照提示输入一个整数 (为了便于发现错误, 我们输入8) 后回车, 回到编辑窗口。

(3) 再按一次F7, 程序执行函数调用, 进入ff函数体, 这时我们可以按下Ctrl+F7组合键, 进入Add watch窗口设置观察变量, 输入完成后, 点击OK按钮即可。

重复三次, 分别设置观察变量n, y, f。

(4) 然后连续按F7, 仔细观察变量n, y, f的变化。直到n的值为7, f的值为5040。

我们注意到:此时函数ff递归调用计算n=7时的阶乘, f的值为5040, 即7!, 是正确的。然而, 当我们再连续按两次F7, 就会出现n的值为8, f的值为-25216。

显然, 此时程序出现了问题。因为当n=8时, n!应该为40320, 而不是屏幕上显示的-24216。分析原因, 我们不难发现, 错误出现在对int类型数据的值域认识上, 我们知道在16位字长的机器上, 基本整型的长度也为16位, 因此表示的数的范围也是有限定的。十进制无符号整常数的范围为0~65535, 有符号数为-32768~+32767。很明显, 40320超出了-32768~+32767的范围, 只需重新将相关的位置进行修改即可。

2、求解一元二次方程的根。程序如下:

在TC下编辑完成之后, 对以上程序进行编译, 连接都没有问题, 然后按Ctrl+F9运行程序, 按照提示输入a、b、c的值1、5、4, 在结束运行后, 用Alt+F5观察用户屏, 发现输出为:The equation has distinct real roots:0 and 0。结果显然是错误的。这是让很多人头疼的事情, 编译、连接都通过了, 而在程序运行时结果却显然是错误的。为了找出问题出现在哪里, 我们可以采取以下措施:

(1) 在程序中第14行、第20行、第29行和第32行设置断点:把光标先后移动到这四行, 并按下Ctrl+F8键, 这四行就被红色条覆盖, 同时采用例1中的方法设置观察变量a、b、c、disc、x1、x2、realpart、imagpart, 如下图:

(2) 按Ctrl+F9运行程序, 执行到scanf函数语句时, 切换到用户屏, 按照提示输入a、b、c的值1、5、4↙, 程序执行到第二个断点行暂停。 (注意: (1) 第一个断点行只有在disc等于0的情况下才会被执行; (2) 此时第二个断点行并未被执行) 通过watch窗口查看变量的值, 在watch窗口可以看到a、b、c、disc、x1、x2的值分别为1、5、4、9、-1.0、-4.0。显然这是正确的, 也就是说程序在disc>0的情况下, 计算结果是正确的, 到此为止, 并没有发现错误。再按Ctrl+F9使程序继续运行, 到第四个断点暂停, 即程序最后的一个大括号--程序的末尾。此时再观察变量的值, 仍然没有错误, 但是为什么用户屏上的结果会出错呢, 仔细分析之后, 我们发现问题出现在输出格式上, disc、x1、x2、realpart和imagpart都是实数, 而在输出时使用的是%d格式符, 所以出现了错误。将程序中的printf函数中的%d全部改为%f, 再运行程序, 即可得到正确的输出结果:The equation has distinct real roots:-1.000000 and-4.000000。

三、小结

在此, 我们只讨论了两种在TC++3.0集成环境下程序的动态调试的方法。事实上, TC++3.0还提供了许多的调试工具, 例如Run菜单中的Step over和Trace into, 以及Debug菜单中的Evaluate/modify等等, 这些都是在程序调试时很有用的工具, 值得大家一起研究。

摘要:调试程序对程序员而言是一项基本功。然而调试方法的选择和运用, 却反映出一名程序员的能力和水平。本文以作者的实际教学经验为基础, 对C语言程序设计中常见的错误进行了归纳, 并根据实例介绍了在TC++3.0集成环境下C程序的动态调试方法。

关键词:调试程序,程序员,动态调试

参考文献

[1]谭浩强.C程序设计 (第三版) .清华大学出版社

[2]孟庆昌牛欣源.C语言程序设计上机指导习题解答.人民邮电出版社

动态集成化 篇7

水资源是基础性的自然资源和战略性的经济资源,是生态与环境的控制性要素[1]。我国严峻的水资源问题已成为国民经济高速发展的突出瓶颈,成为可持续发展的制约因素。在2009年全国水利工作会议上,提出要实施最严格的水资源管理制度,在“十二五”期间,要全面落实最严格水资源管理制度,强化水资源管理,促进经济社会发展与水资源水环境相协调。要实现水资源可持续利用和严格水资源管理制度,就必须有1套针对性强、便于实施管理的水资源合理配置规划模型。

在以往国内外关于水资源配置研究的60多年中,水资源合理配置规划模型在理论和方法上都取得了重大进展,水资源配置类型经历了仅以水量为主的配置、考虑水质因素的配置、以水利工程为控制单元的水资源配置、区域和流域等水资源配置,直到跨流域水资源配置的发展[2]。研究方法从常规规划方法发展到模拟、优化与模拟相结合、随机规划、模糊优化、神经网络、复杂系统理论、智能规划等技术[3,4,5,6]。然而,无论是基于数学模型还是基于模拟模型的水资源配置都存在很大的问题,即实际应用的局限性很大,缺乏水资源系统网络求解技术,水资源配置模型缺乏通用性,可操作性差,且不易推广。为此提出基于综合集成服务平台的动态水资源配置规划。

1 动态水资源配置规划的理论

1.1 配置规划模型的分析

1.1.1 配置规划模型分类

水资源配置规划模型供水主体主要包括地表、地下和其他3类水源工程。地表水源工程分为蓄水、引水、提水和调水工程,地下水源工程主要是机电井工程,其他水源工程包括集雨利用、再生水、苦咸水、海水、矿井疏干水等工程。模型用水主体包括生活、生产和生态用水。生活用水分为城镇和农村生活用水,生产用水分为第一、第二和第三产业用水,生态用水分为河道内、外生态环境用水。

1.1.2 配置规划基础单元

主要决策信息是动态水资源合理配置规划的基础单元,为供需现状、用水水平、水生态环境等各种情况的分析提供依据,也可为最佳方案的推荐提供指导。主要内容包括:1)社会经济,主要是社会经济发展和和谐程度2方面;2)水资源及其开发利用状况;3)生态状况;4)水环境状况;5)其它决策信息,具体指土地开发利用、节能减排、交通、供电、安全、自然应对能力等方面的指标。

1.1.3 配置规划框架

水资源配置规划是以水资源及其开发利用情况调查评价为基础,结合需水预测、节约用水、供水预测、水资源保护等有关部分进行。水资源配置规划的各个环节及各部分工作是一个有机组合的整体,相互之间动态反馈,需综合协调。模型根据区流域(区域)人口、资源、环境与经济发展的基本关系,统筹考虑流域(区域)水量和水质的供需分析,将流域水循环和水资源利用的供水、用水、耗水、排水过程紧密联系,在按照水源配置和运行规则、用户配置准则、公平高效和可持续利用的基础上,经过手动或自动调整进行供需分析,通过经济、技术和生态环境分析论证与比选确定合理配置方案。基本框架如图1所示。

1.2 配置规划模型系统的概化

系统网络图是对系统的抽象概化反映,主要由水资源利用转化相关处理的概念化元素构成。系统网络图主要由节点(点)、计算单元水传输系统(线)、流域单元水传输系统(面)3类元素组成。其中,节点主要为以下3类节点:

1)水源节点。水库、引水枢纽、提水泵站、地下水管井、污水处理厂、集雨工程、矿井疏干水利用工程均为供水水源节点。

2)需(用)水节点。城镇和农村生活、工业及三产、农业、城镇生态、农村生态6个用水户,以及水电站、湖泊、湿地等均为需(用)水节点。

3)输水节点。河流、隧洞、渠道及长距离输水管线的交汇点或分水点,行政区间断面、水资源分区间断面、水汇等均为输水节点。

1.3 配置规划模型的运行策略

1.3.1 供水水源配置规则

各种水源利用的优先顺序依次为:雨水资源,污水经处理后的再生水,矿井疏干水,苦咸水,海水淡化或海水利用,满足用户要求的上级用户的退水,地表径流水或水库蓄水,地下水。

1.3.2 供水水源运用规则

运行策略包括以下几部分:1)供水水源应遵循地域优先规则;2)河流上游无调节水库的提水和引水工程优先利用,若有调节水库则应优先利用水库水量,地表水供水工程应遵循其本身的调度规则和供水计划,首先按照规定的分配供水,若无规定则依照配置准则分配;3)各行业的回用量利用要优于地表水和地下水利用;4)地下水供水量在小于可以供水量时可以供水。

1.3.3 用水户配置准则

1)用户配水次序依次为城镇与农村生活,生态环境,二、三产业,农业,供水保证率分别为:城镇与农村生活为100%,二、三产业为95%,农业灌区为75%;2)分质用水准则;3)均衡用水准则;4)高效用水行业优先准则;5)低耗水行业(节能行业)优先准则;6)低碳经济行业优先准则;7)循环经济行业优先准则。

2 面向用户的综合集成服务平台

2.1 系统网络知识图构建

知识图不仅可以有效地描述规范化、系统化的显性知识,对于描述隐性知识也具备优势[7]。知识图中可以体现以下内容:1)区域基础信息情况,水资源条件、社会经济情况、节水型社会建设规划、节能减排指标措施及用水定额等;2)各类用水单元用水要求,现状、定额管理、节约用水要求等;3)各类用水单元的基本信息、发展趋势、用水、对应用水要求、社会经济和生态环境指标等;4)水资源供需不同展现模式,现状和规划、定额、节水等平衡,可以实施平衡配置的自动和手动调整,变化用水单元情况。

神木锦界工业园区位于陕西省神木县锦界,是陕北能源化工基地的核心组成部分,园区是陕北能源重化工基地的重要部分,将成为拉动神木乃至陕西经济的重要增长极。现以该区域为例简要说明模型开发的主要部分。这一主题的知识图如图2~5所示,图中用矩形表示用水户,圆形表示水源,各用户和水源利用图元进行连接,通过知识图可以直观显示水源、用户的信息,管道节点处可以显示节点前各用户的已用水量、节点处的可供水量、节点后用户的需供水量及供需平衡情况,通过知识图完全能够为区域水资源合理配置提供指导,并为该区域的工农业生产规划提供有力的支撑。

2.2 模型的分解与分层

随着社会经济发展,区域水资源配置规划问题规模越来越大,结构越来越复杂,涉及决策者越来越多,规划时段也不断变化,从而形成了具备高维和非线性特征的复杂大系统,需要对其研究方法进行创新。问题本身以可持续发展为指导,考虑社会、经济、生态环境效益等的多目标;决策者各自处于不同层次,上层可对下层行使某种控制引导,下层决策以上层决策变量为前提形成主从递阶决策;规划时段变化、前后相互关联、配置方案多等。

整体抽象模型应用中要分解和分层,按照从数据到信息、从信息到知识、从知识到智慧的方向,在水资源配置规划中,把数据、信息及知识可视化,通过知识图,实现人与计算机的和谐结合,在综合集成环境下提供信息、知识、决策等服务;基础数据信息、资源集成共享;与水资源配置规划具体业务适应,开发信息处理组件库;应用模型按照应用,分主题;把应用主题知识图化;在人机结合的综合集成平台上快速集成和组建水资源配置规划的不同应用。主题可以按照应用要求分层(相当于多个应用功能子主题),具体如下:1)按照不同流域、行政区域或行业分主题;2)按照配置主题内的农业、化工厂、生活用水户配置主题。针对具体应用主题,采用平台支持的模式,开展个性化的应用。

2.3 综合集成服务平台

综合集成服务平台的主要功能可以分为以下4大部分[8]:

1)知识图编辑。知识图是核心,系统通过知识图支持专家与专家,专家与计算机之间的知识、信息的感知和交流。为了满足决策的需要,一般情况下决策者需要对信息资源进行加工、运用。知识图编辑界面如图6所示。

2)知识图应用。知识图是专家与群体专家智慧的体现,其正确性需要通过实践加以验证,才能逐步接近实际,发现规律,通过知识图的验证管理,对知识图所代表的决策结果进行评估,反映其与实际接近程度,实现逐步迭代;对群体研讨结果,通过一定的综合方法,对协作知识图进行处理,得到体现群体专家意愿的对配置决策问题的解决方案。

3)模型集成。定量化的知识可以通过模型组件方式进行描述,并通过链接与知识图联系在一起。通过加载知识图,实现自动化、半自动化决策结果输出。其核心包括2个方面:一方面,是模型组件的创建、发布等管理,基于可视化的人机接口,专家可以采用直观的方式对定量模型组件进行描述;另一方面,由模型组件构成定量模型,组件要进行有效集成,并需要建立与知识图相适应的公共概念管理模块。

4)协作管理。基于XMPP协议,对研讨的主题,参与的专家进行统一的协调、管理,如注册、主题设置等,为专家基于知识图进行的协作研讨、合作提供支持。

3 动态水资源配置规划系统的应用

3.1 合理配置规划的基本应用模式

基本配置模式是利用水资源配置规划模型,结合特定的水源供水量数据和用水量资料能够进行供水、用水、耗水、排水的平衡,按照水资源和行政分区及不同用水行业的分类,以视图和表格2种平衡方式展现。基本动态配置规划模型能够建立区域基础信息、各类供用水单元的信息数据库,可实现不同分类系统和方案情况下的平衡结果展现,能够实现区域或行业的潜力分析,并能够建立水资源配置的基础数据库,进行初级的手动配置动态调整。

3.1.1 方案表现形式

水资源合理规划配置方案表现是在不同的水工程开发和区域经济发展模式下的水资源供需平衡分析,描述不同规划情景下的水资源合理规划配置结果,确定水工程的供水范围和可供水量,以及各用水单位的供水量、供水保证率、供水水源构成、缺水量、缺水过程及缺水破坏深度分布等情况。其主要表现形式包括以下几个方面:

1)现状平衡。以现状年供水水源、用户之间的联系所得到的平衡结果。

2)不同规划年平衡。反映规划年供水水源、用户之间的平衡结果。

3)随机动态平衡。在现状水源、用户等固定分布的基础上,在不同空间区域上添加供水水源或用水户的平衡结果,或者在任意时间添加供水水源或用水户的平衡结果。

4)节水平衡。以现状用水或规划需水为基础,在考虑节水水平的发展、节水工艺的提高及不同用水行业特点等的基础上,分析节水后的现状用水和规划需水,进行节水平衡方案表现。

5)定额平衡。以不同行业规定的用水定额为基础进行需水量计算,所反映的供水水源、用水户需水之间的平衡结果。

6)生态经济平衡模式。以现状生态和经济状况为基础,考虑经济和生态用水需求,按照多目标群决策总体模型和水资源开发利用策略,对经济和生态用水进行配置,以反映经济社会发展、生态保障情况下的水平衡结果。

7)水土优化平衡模式。在不同时间、空间水土资源规划的基础上,以提高水土资源利用率,保持和恢复生态系统平衡,实现生态、经济和社会效益的相对最优为目标的水平衡结果。

8)碳平衡发展模式。在节能减排和水土资源规划的基础上,以自然碳通量及捕获能力和不同行业人工碳通量为主导因素,分析现状及规划2种碳平衡发展模式。

3.1.2 区域潜力分析

区域潜力分析是在水资源配置规划方案的基础上,分析整个区域或区域内各地区的水资源供需、土地资源、新增用水户、水生态环境承载及碳减排等方面的潜力。

3.2 合理配置规划的扩展应用模式

动态合理配置规划扩展模式是在基本动态规划模式的基础上对系统进一步完善和发展,实现配置规划模型的自动配置调整,实现供水工程和用水户规划建设的自动分析功能,实现供水工程来水量的实时动态监测,实现用水户用水和排水的实时动态监测控制,并与用水户之间的动态水权交易平台的研究相结合。

3.2.1 配置规划模型的自动调整

通过优化算法的选择计算,对区域或子区域水资源不同配置平衡方案进行优化自动调整,从而得到最优化的水资源合理配置方案。主要分析内容包括:各用水单位的供水量、供水保证率和水源构成、缺水量、缺水过程及破坏深度分布、用水户产值效益等。

3.2.2 供水工程和用水户配置规划的自动分析

主要包括以下2部分内容:1)新建供水工程和用水户的子区域的规划合理性,分析其建设对子区域的影响;2)新建供水工程和用水户的全流域的规划合理性,分析其建设对全流域的影响。合理性分析内容如下:水资源状况、供水量、用水量、缺水率、用户产值效益、用户耗水类型、对其他用户的影响、区域产业配置、土地资源及其他资源状况等。

3.2.3 来水、需用水和排水实时动态监测

实现动态水资源合理配置规划模型的首要问题是算好水帐,准确弄清水资源,包括地表水、地下水和非常规水资源的水量及水质。因此,动态水资源合理配置规划模型要与现代水文监测手段相结合,建立不同供水水源的来水量和水质、不同用水户的用水和排水量及水质的实时动态控制,通过实时监测数据分析供水工程可供水量,可以与用户实时需用水量进行实时动态合理配置,使水资源合理配置结果能够在较短时段内进行平衡分析,计算各个用户的余缺水、水质达标情况。

3.2.4 与动态水权交易相结合

在对区域来水、需用水和排水及水质实时动态监测的基础上,为进一步提高水资源的利用效率,发挥社会市场机制,按照在较短时段内进行平衡分析计算的各用户余缺水情况,建立以政府为监督指导,第三方水务公司运营管理,用水户自身协商交易,并且具有不同宏观调整机制的动态水权市场交易模型,将动态水资源配置规划与水权水市场交易相结合。

3.2.5 与实行最严格水资源管理相衔接

以实行最严格水资源管理“三条红线”为基础,明确考核指标体系、管理考核方法和制度设计,在对来水、需用水和排水实时动态监测的基础上,建立实行最严格水资源管理系统。主要包括:水源监测与取水许可管理、用水管理及动态水资源配置规划、排污口管理与水功能区水质污染模拟,以及水资源综合管理、水权分配及交易、节水改造与水资源高效利用、水资源保护与生态修复、水资源评价和各项指标管理等。

3.2.6 极端事件下的水资源配置规划

充分考虑极端干旱和洪涝、水质污染等极端事件,从应急管理层面纳入到区域水资源配置规划,结合区域气候模式和变化及人类活动情况下,进行水资源供需极端模式下的演变和识别,分析区域极端事件情境下的水资源承载能力,优化区域产业和工程布局,进行未来可能极端干旱和洪涝、水质污染等极端事件情境下水资源的供给与需求分析。

4 结语

基于综合集成服务平台的动态水资源配置规划模型,是以综合集成服务平台为支撑,从理论的创新和完善、系统模型的开发构建、配置规划模型的表现模式等方面研究动态水资源配置规划模型。该模型能够建立区域基础信息、各类供用水单元的信息数据库,按照水资源和行政分区及不同用水行业等分类,以视图和表格2种方式进行不同方案下的平衡展现,能够实现区域或行业的潜力分析。同时,动态水资源配置规划模型能够实现配置规划模型的自动调整,供水工程和用水户配置规划的自动分析,来水、需用水和排水实时动态监测,与动态水权交易相结合,与实行最严格水资源管理相衔接和极端事件下的水资源配置规划等功能,建立的动态水资源配置规划模型具有可操作性和通用性,并易于推广利用。

摘要:为解决传统水资源合理配置模型在实际应用缺乏通用性、可操作性差且不易推广的问题,采用综合集成服务平台进行动态水资源配置规划的研究。以模型主题分类、主要决策信息、水资源评价和开发利用等为基础,建立动态水资源配置规划的框架,把水资源系统概化为系统网络图,结合供水水源配置和运用规则及用水户配置准则进行水资源合理配置。以面向用户的综合集成服务平台为基础,构建系统网络知识图,建立可以进行多种平衡模式展现和潜力分析的合理配置规划模型。结果表明,以综合集成服务平台为基础的动态水资源配置规划模型具有可操作性和通用性的优点,可为水资源高效利用和合理配置规划奠定基础。

关键词:水资源,合理配置,配置规划,综合集成,知识图,服务平台

参考文献

[1]钱正英,张光斗.中国可持续发展水资源战略研究综合报告及各专题报告[M].北京:中国水利水电出版社,2001:24-35.

[2]王顺久,张欣莉,倪长健,等.水资源优化配置原理及方法[M].北京:中国水利水电出版社,2007:15-38.

[3]卢华友,彭佳学.义乌市水资源系统分解协调决策模型研究[J].水利学报,1997(6):40-47.

[4]柳长顺.流域水资源合理配置与管理研究[D].北京:北京师范大学,2004:6-10.

[5]游进军,甘泓,王浩.基于规则的水资源系统模拟[J].水利学报,2005,36(9):1043-1056.

[6]游进军,王浩,甘泓.水资源系统模拟模型研究进展[J].水科学进展,2006,17(3):425-429.

[7]汪妮.基于中间件及智能Agent技术的防汛决策模式研究[D].西安:西安理工大学,2004:36-38.

上一篇:英汉句子结构差异下一篇:历史的肖像