交易中间平台(精选7篇)
交易中间平台 篇1
0 引言
目前,任何一家银行面临着国内和国外同业的巨大的竞争压力,这要求银行能够不断地根据客户的需求,以最快的速度推出新的银行产品和银行服务。这种需求将对银行IT基础架构提出非常高的要求,首先,银行的IT架构必须能够支持迅速的产品和服务开发能力,这种开发能够在不破坏原来的IT架构的情形下进行,并能够方便地使用各种原来系统中提供的功能;其次,新开发出来的产品和服务能够通过各种渠道,如柜面、网银、手机银行、电话银行等,让客户能够直接购买和享受这些服务。为达到这个目标,设计一个具有统一交易接口的中间交易平台将是非常重要的。通过这个中间交易平台能够逐步规范各个系统之间、各个渠道之间以及各种系统和渠道之间的交互访问方式,并在这个基础上,进一步规范新系统的开发模式。
1 设计原则
1.1 标准化原则
标准化原则要求在系统设计过程中尽可能遵循各种标准或者使用标准,包括IT方面的行业标准。如提供标准TCP、HTTP、Tuxedo的通信适配器,采用SOA的架构、AOP的架构等。标准化原则使得系统能够不断地扩展,而不是很快地老化。
1.2 开放性原则
开放性原则要求在系统设计过程中提供开放的能力,而不是封闭的功能。开放的设计使得系统有强大的扩展能力,在各个层次上都可以进行系统功能的扩展。
1.3 组件化原则
组件化原则要求系统设计能够正确地处理耦合性,使得各个组件之间的耦合关系能够和正常需求的耦合性一致,并能够将各种公共的功能抽象成公共的组件,从而保证系统的可重用性。
2 功能模块的设计
银行中间交易平台模型分为:通讯层、数据交换层和服务层。
通讯层需要解决的问题是如何屏蔽底层的通讯细节,向上层提供一个完整的数据报文;数据交换层需要解决的问题是如何屏蔽各种系统的数据物理表示和组织,向上层提供一个统一的数据接口;服务整合层需要解决的问题是如何屏蔽服务的具体实现,向使用者提供一个功能、接口明确的业务组件。
其层次架构图如图一所示:
2.1 通讯层
通讯接口层负责和外部系统进行通讯,进行原始报文数据的传输。通讯接口层需要实现以下的功能:
(1)利用系统层通讯协议和外部系统进行通讯,包括TCP/IP、SNA/LU0、TUXEDO等通讯协议。
(2)实现外部系统约定的通讯方式,包括如何进行通讯连接,如何进行通讯应答,如何进行数据传输,如何约定通讯报文的大小,如何确定数据传输是否完毕,如何处理通讯错误,如何关闭通讯连接,如何处理通讯层数据完整性校验等。
(3)识别外部系统类型,确定接收到的数据是从什么外部系统来的,以便为确定数据的具体组织方式提供依据。
(4)实现通讯连接的并发处理。
另外,以下功能由于涉及额外的信息,因而不需要由通讯接口层完成:非通讯层面的数据报文的加解密和非通讯层面的数据报文的压缩、解压缩处理。
对数据交换层来说,通讯接口层屏蔽了所有的通讯细节。数据交换层只知道从某个外部系统获得了或者发送了一个数据报文,至于该数据报文是如何获得或者发送的,和数据交换层本身无关。
2.2 数据交换层
数据交换层完成原始通讯数据和系统标准数据之间的相互转换。具体来说,数据交换层需要实现以下功能:
(1)应用层面的数据报文的加、解密。
(2)应用层面的数据报文的压缩、解压缩。
(3)数据报文类型的识别,如XML、ISO8583、主机报文、Front报文。
(4)数据报文的打包、拆包,根据报文类型将原始的数据报文拆分成基本的标准业务数据或者相反。
对服务整合层来说,数据交换层屏蔽了数据的具体物理表示和组织。服务整合层只知道收到了一个服务请求需要处理,至于该服务请求是从哪个系统发起的,原始的请求数据是什么,和服务整合层没有关系,只和数据交换层有关。
2.3 服务整合层
服务整合层完成一个服务的具体实现,该服务的具体实现和服务请求无关。服务整合层需要实现以下功能:
(1)完成对原子服务的调用。
(2)完成对服务调用流程的控制。
(3)完成对服务日志的记录。
(4)实现对服务执行过程数据一致性的保证。
(5)实现对不同类型服务的服务总量控制。
(6)完成在服务执行过程中关键信息的记录和输出,用于系统监控。
3 中间平台的集群
中间平台集群是基于Linux服务器集群系统———LVS(Linux Virtual Server)。使用多个平台服务器构成提供服务的真实平台服务器,对外使用一个虚拟IP。LVS调度器部署在两台机器上,一主一备。LVS将虚拟IP的请求分发给真实的服务器进行处理,分发采用VS/NAT的方式,算法采用轮叫(Round Robin)方式。对于前面的渠道层是透明的,跟访问一台服务器是一样的。
其架构如图二所示:
LVS采用的是IP负载均衡技术。在调度器的实现技术中,IP负载均衡技术是效率最高的。
用户通过虚拟IP地址(Virtual IP Address)访问服务时,访问请求的报文会到达负载调度器,由它进行负载均衡调度,从一组真实服务器选出一个,将报文的目标地址Virtual IP Address改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将报文发送给选定的服务器。真实服务器的回应报文经过负载调度器时,将报文的源地址和源端口改为Virtual IP Address和相应的端口,再把报文发给用户。Berkeley的MagicRouter[8]、Cisco的LocalDirector、Alteon的ACEDirector和F5的Big/IP等都是使用网络地址转换方法。
采用VS/NAT方式不需要对真实服务器做任何配置,其他的方式都对真实服务器有所要求。
调度算法有很多种,鉴于VRouter的真实服务器配置和资源已经支撑的应用都完全相同,采用轮叫(Round Robin)方式是最合适的。
4 结束语
通过银行中间交易平台架构以及平台的集群设计,可以实现现有银行核心系统实现快速的与新业务系统的对接,也实现银行外围系统开发规范化、标准化。同时核心业务系统符合小后台大外围的发展趋势。
参考文献
[1]Judith M.Myerson.The Complete Bank of Middleware[M].USA:CRC Press,2004.
[2]周园春,李森,张建,等.中间件技术综述[J].计算机工程与应用,2002,(15).
[3]徐春金.Tuxedo中间件开发与配置[M].北京中国电力出版社,2003.
[4]宋宇宁.基于SOA的事件驱动企业应用集成技术研究[D].杭州:浙江大学,2005.
[5]贺志强.基于SOA的教育资源共享框架及支撑系统的开发研究[J].中国远程教育,2010(,02).
交易中间件CICS的研究 篇2
中间件具有平台功能,能够屏蔽底层操作系统及网络传输的复杂性,使开发人员面对简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在业务逻辑上,大大减少了应用开发的技术难度,缩短了应用开发周期。
在中间件技术产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机技术中最底层的东西,越底层越复杂,开发者不得不面对很多棘手问题,如操作系统多样性,繁杂的网络程序设计、管理复杂的网络环境,数据分散处理带来的不一致性问题等等。于是有人提出能不能将应用软件所要面临的共性问题进行提炼,抽象,在操作系统之上形成一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境。
中间件的产生和发展与客户机/服务器结构的发展是紧密结合的。近几年来,随着数据库应用的发展,传统客户机/服务器结构的缺点日益明显,比如可扩展性差、对于分布式交易的处理能力差等。因此,正是由于客户机/服务器环境一直存在着操作系统、文件格式、网络协议、服务等相互异构的多元化问题,才使得中间件作为不同结点间协同工作的桥梁得以不断发展。
目前,利用中间件平台来解决企业级应用异构环境下分布式系统开发问题在国内、国外应用很广泛。
2 中间件的基本概念
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件是一种软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作,也就是互操作,这允许各应用成分之下所涉及的系统结构、操作系统、通信协议、数据库和其他应用服务各不相同。分布式应用借助它在不同的技术之间共享资源、协同工作。
中间件位于客户机/服务器的操作系统之上,分布式应用之下,管理计算资源和网络通信,其核心思想是分层,通过在应用层与底层基础软件间增加一层,屏蔽底层复杂的技术细节,实现对底层的透明访问,为应用的开发、部署与管理提供支持。中间件是一类基于分布式技术的系统软件或软件平台,而非一种应用软件,涉及多种资源,包括各种操作系统、数据库、网络协议甚至语言,其核心是网络通信,其目标是在分布式计算环境中实现应用互联、资源共享、协同工作和互操作。
中间件提供了一个基础的框架来帮助开发人员建立、运行和管理一个三层客户机/服务器模式的应用,使开发人员不需要从零做起,缩短了应用开发的时间,提高了成功率。三层客户机/服务器模式的核心概念就是利用中间件将应用的业务逻辑、表示逻辑和数据氛围三个不同的处理层。如图1所示。
3 中间件的分类
中间件产品种类很多,可以大致分为以下五类:划分为以下五种:数据库中间件、面向消息中间件、远程调用中间件、基于对象请求代理的中间件、事务处理中间件。
3.1 数据库中间件(DM,Database Middleware)
数据库中间件是产生最早的一种中间件技术,发展到现在已经非常成熟。它位于数据库管理系统和应用程序之间,实现了应用程序和异构数据库之间的统一接口,有效地解决了应用系统在不同后台数据之间的移植问题。
数据库中间件只提供数据库连接,与ODBC的某些功能相近,其应用比较固定。大多数的客户机/服务器系统都有一个客户程序存取服务器上的数据库,如果这个客户程序设计为只存取一种数据库类型,那么采用数据库中间件十分理想。典型的数据库中间件产品是Oracle的SQL*net。
3.2 面向消息中间件(MOM,Message Oriented Middleware)
通过消息中间件,一些原本互相孤立的业务可以组合成一个可靠的、灵活的系统。借助消息机制,可以方便地实现客户方和服务方的通信,通知服务方进行相应的处理。其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发。
典型的消息中间件产品有:IBM的MQ Series,BEA的Message Q,东方通科技公司的TongLink/Q。
3.3 远程过程调用中间件(RPC,Remote Procedure Cal1)
RPC机制是早期开发应用时经常采用的一种同步式的请求应答协议。RPC一般采用CALL/RETURN模式,多用于应用程序之间的通信,而且采用同步机制。代表产品有DCE-RPC,Inprise Entera。
3.4 基于对象请求代理的中间件(ORB,Object Request Broker)
基于对象请求代理的中间件技术的基本思想是在对象与对象之间提供一种统一的接口,对象之间的调用和数据共享无需再关心对象的位置、实现语言及所驻留的操作系统。
代表产品有Iona Orbix,Inprise Visibroker。
3.5 事务处理中间件(TPM,Transaction Processing Monitor)
事务处理中间件也称交易中间件。交易中间件可以向用户提供一系列的服务,如应用管理,管理控制,应用程序间的消息传递等常见的功能包括全局事务协调、事务的分布式两阶段提交、资源管理器支持、故障恢复、高可靠性、网络负载均衡等。交易中间件管理那些由应用程序声明和提交的交易,同时控制并发,实现交易路由和均衡负载,并通过两阶段提交协议等方式保证分布式交易的完整性。比较典型的产品包括Bea公司的Tuxedo,IBM公司的CICS等。
4 交易中间件CICS(Customer Information Control System)
4.1 综述
CICS是为IBM和非IBM平台上的应用提供联机事务处理和事务管理的产品,其功能是为商业应用提供一个事务处理环境,适用于银行这样有大量突发联机事件的系统。CICS建立在操作系统、ISO的分布式计算环境(DCE,Distributed Computing Environment)和Encina服务上,CICS可以与DCE紧密结合,以满足分布式环境对于安全性,名字服务等的特殊需求。
CICS的结构设计也是面向事务处理的,CICS构建的是一个三层次结构的应用系统,CICS有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层,从而使应用系统结构清晰,效率高,速度快,维护简单易行。它帮助客户建立三层次结构的联机事务处理应用,为应用程序的开发、通信、恢复、显示、数据管理、安全性和内部通信等提供很多项服务。CICS环境最大的好处是它所提供的数据完整性知识不需要在应用程序中具有明显的处理逻辑。CICS系统明确地记录了应用程序对数据的修改,并当交易或应用程序失败后,自动的把对数据的修改回滚。CICS允许一个交易程序被很多用户同时请求执行,而交易之间互不妨碍。
4.2 CICS基本架构
作为三层C/S结构的中间层,CICS服务器通过客户系统和网关连接其前端,即CICS
客户机(如果某个CICS客户机是Web服务器,那么,它还有自己的前端,即浏览器),CICS服务器通过资源管理器连接后端,即关系型数据库,如DB2,ORACLE,SYBASE,INFORMIX和MS SQL Server等。
这相当于一个嵌套的两层C/S结构:界面逻辑层是CICS Client,业务逻辑层是CICS Server+Database Client,数据访问逻辑层是关系型数据库。
按照这样的结构分布,我们可以把CICS应用开发工作分为三个部分(见图2):界面逻辑层的开发人员来设计用户界面,比如:录入、显示和打印等;业务逻辑层的开发人员来设计应用逻辑,比如账务数据处理等;数据访问逻辑层的开发人员来配置和优化数据库系统。
4.3 CICS提供的功能模块
CICS的编程语句可以和SQL的编程语句共同存在于应用程序中。CICS在其客户机端支持C和COBOL语言,也采用统一的编程接口(API)。客户可以采用两种方式来编制CICS的客户端程序。一种是外部调用接口External Call Interface(ECI),它使得一个在客户机上运行的非CICS应用程序能同步或异步调用CICS程序,就像一个子程序。基于客户的应用程序使用简单的ECI调用,将需要调用的服务器程序名和一些数据通过通讯存储区传递到CICS区域,无需任何特殊的通信代码。另一种是外部显示接口External Presentation Interface(EPI),它使一个在客户机上运行的应用程序能调用服务器上的CICS事务,执行该事务就如同将它从3270终端启动,该事务向客户机返回一个3270数据流,而客户机可在图形用户界面中将它呈现出来,使得诸如图形或多媒体接口之类的现代技术可与传统的3270 CICS应用程序一起使用,而无须更改CICS应用程序。甚至,用户还可以在客户端使用己经比较习惯的PowerBuilder,Delphi等工具进行开发。但在实际应用中,主要采用的是ECI调用。
CICS提供了事务处理中共同需要的几乎所有功能模块,客户仅仅需要将他们的注意力集中在他们的业务逻辑上,从而快速的开发适合他们业务需要的应用程序。五大功能模块构成CICS核心功能模块,通过这些核心功能模块的作用使得CICS的基本功能得以体现。
4.3.1 TRANSACTION驱动功能:
CICS中的交易是由4位的TRANSACTION ID标识启动的。在CICS中各种应用处理功能是通过如下的方法调用而实现其工作机制的:
TRANSACTION ID→TRANSACTION→TASK→应用程序
4.3.2 多重任务功能:
按照TRANSCATION驱动机制,终端每启动一次TRANSCATION,也就建立了一个TASK。CICS对在同一区域中同时运行的许多TASK实施控制,所采用的技术是:TASK-SWITCHING,即终止一个TASK,将其置于等待的TASK队列中。让下一个有最高优先级的TASK获得控制权;如此循环执行。
4.3.3 多线处理功能:
在多重任务功能的支持下,调用同一个程序的多个TRANSCATION均可以使用该程序的同一个COPY,使得TRANSACTION对内存的开销能够保持较低水平。
4.3.4 准重入功能:
为了保证多线处理功能的实现,就必须保证程序模块具有准重入性。因此,CICS在终止一个TASK之前,将该TASK对程序模块中的数或指令所做的修改于以恢复,使后续TASK仍然使用程序模块的原始版本。
4.3.5 优先级处理功能:
这种功能使用户可将优先级分别指定给应用系统的操作人员、终端、以及TRANSACTION ID,而CICS则根据优先级的高低提供相应的响应时间。
5 结束语
CICS是对主操作系统的扩充,它帮助主操作系统把一类特殊的应用程序(既ONLINE应用程序)同其它应用程序分离开来,对ONLINE应用程序进行控制,为执行ONLINE应用程序提供相应的环境,并作为ONLINE程序同各种文件和数据库产品的接口。以CICS为中间件的交易设计,避免了直接对通信编程,既简化了工作量,又能保证交易执行的一致性,还能利用CICS对交易的调度管理功能实现对系统资源的合理运用。
参考文献
[1]焦尧森,刘相军.中间件及其主要评测内容[J].中国金融电脑,2003(5):87-88.
[2]宋晓梁,刘东生,许满武.中间件及其在三层客户机/服务器模型中的应用[J].计算机应用,2005,19(7).
[3]张育平.中间件技术研究[M].计算机应用研究,2001(10):44-46.
[4]IBM.CICS Plex SM V1R3 Managing Business Applications SC33-1809-00[S].
交易中间平台 篇3
当前,世界已进入信息时代,信息技术的发展正逐渐改变着人们的生产和生活方式。这种情况下,对医疗卫生信息的要求不断提高。中央也将医疗卫生信息化列为医药卫生体制改革“四梁八柱”中的重要一柱。
近年来,云计算已经发展为一种能为用户提供大量多样化的资源的运算模型。同时,云计算已经展现出了其在广泛的领域中的适用性。云计算的不断发展,为医疗信息化的发展提供了新的契机。而中间件作为云计算中核心的一环,无疑起着至关重要的作用。在医疗云信息共享关键的则是存在于各医院中的异构数据的交换共享。本文提出了一种基于云平台的通用 医疗数据交换中间件,以充分利用计算资源,降低交换共享程序开发成本。
2 相关技术
2.1 云计算技术
云计算同时包含两层含义 :一方面是通过网络以服务形式送达的应用程序,另一方面是在数据中心提供这些服务的硬件及系统软件。云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS), 平台即服务(PaaS)和软件即服务(SaaS)。
2.2MapReduce
MapReduce是一种用于加工处理大数据的分布式编程模型及相关实现。用户通过指定Map和Reduce函数,底层的运行系统会自动在大规模集群计算机上运行并行计算。同时,系统将自动处理机器错误,安排机器间的交互,以提高网络和磁盘的运行效率。
2.3 中间件技术
中间件是云计算的基础技术之一。云计算中的核心服务PaaS又被称为共享中间件。当前已经有很多中间件在云计算之中的应用。IBM针对云计算的不确定性, 提出了一种用于控制跨越不同云平台的应用的中间件Altocumulus。里约热内卢联邦大学的学者提出了一种用于扫面科学工作流中的参数的云中间件SciCumulus。首尔大学的学者则提出了一种用于控制远程设备的云中间件。
3 医疗数据共享中间件
3.1 前置机方式进行数据共享
医院机构的本地业务系统通常是在其内部局域网中运行的。因此,医院通常会设立一台同时连接两个网络的前置机来进行数据的转换及转发,来实现本地业务系统与云平台之间的数据共享,其网络结构如图2所示。
使用前置机进行数据共享时,需要将不同业务系统的产生的数据转换成统一标准的数据后再上传至云平台数据中心。前置机在处理如XML这种通用性更强但结构松散的数据时的效率非常低下,导致大量数据的传输在时间上不可行。因此, 需要针对不同业务系统,在前置机上开发不同的软件系统。同时,在实际操作中,软件不能自动完成所有数据的处理,需要人工去除部分错误数据。因此,管理人员需要登录至不同的前置机对转换后的数据进行筛选。
另一方面,云计算提供了强大计算能力、改进了对操作格式之间的兼容性。使用云计算技术可以解决对于大量XML文件处理时效率低下的问题,减少开发成本。同时,将数据转换功能转移至云平台后可以减少信息交换对前置机的依赖,而使用路由和防火墙代替前置机的位置。
3.2 基于云平台的共享中间件架构
如图3所示,中间件主要由三层结构构成。应用层为用户提供了医疗机构所需的服务,主要为数据交换服务和适配器的开发服务。控制层负责控制中间件的运行和进行资源调配。执行层直接与云平台交互,实现数据交换。
其业务流程如下 :
数据上传 :首先由用户提出数据上传申请 ;云平台受理申请后执行数据传输模块和数据转置模块 ;数据传输模块将读取用户的传输协议配置,根据协议接受数据,并将数据传输至缓存中 ;数据转置模块会向云平台申请资源,并根据接口定义将数据进行转置后存入云平台中的数据中心。
数据调阅 :数据调阅过程与数据上传过程恰好相反,中间件会根据接口定义将数据中心的数据转置为用户所需数据后, 再根据协议定义将数据传输给用户。
适配器开发配置 :适配器的开发主要包括两部分,接口的开发和协议的配置。接口用于对数据进行转置,实现来自不同医院的异构数据的统一存储和调阅。协议用于医院与云平台间的数据传输,以实现对不同医院信息系统的传输协议支持。
3.3 基于 MapReduce 的数据转换
数据转换的特点为高并发,且相互基本独立,这很适合云计算的特点。数据转换的主要内容就将异构的数据表中的数据的转置为统一格式的数据,其MapReduce描述如下 :
3.4 泛用性实现
中间件提供了数据接口的配置界面, 通过设定本地数据库与云平台数据的映射关系,从而实现云平台与异构的医疗信息系统的交互。如图4所示,数据项和值域定义了平台本身的数据存储结构,接口和接口值域定义了各医疗系统与平台的数据映射关系。
用户接口配置过程如下 :
上传本地数据库包含的数据项说明及值域和说明。
中间件对上传数据说明与本地的数据定义比对,自动匹配生成映射关系 .
用户只对映射关系进行核实,手动配置未匹配数据项。
4 总结
对于来自不同医院系统的异构数据是构建医疗云的关键性难题之一。对于前置机上的数据转换系统的重复开发,极大的耗费了人力物力。
通过医疗数据交换中间件,将原本在医院端的数据转置运算移到云端,利用云平台的强大计算能力,实现对异构的信息系统的泛用的数据转换,避免重复开发的成本。
摘要:信息技术的不断发展对医疗信息化不断提出新的要求,云计算的发展与成熟为医疗信息化的发展提供了新的契机。中间件作为云计算中核心的一环,在医疗云平台的实现中起着至关重要的作用。本文提出了一种基于云计算技术医疗数据共享中间件,可以充分利用云平台的计算资源,降低重复开发交换共享程序的成本。
交易中间平台 篇4
中间业务是提高商业银行金融服务水平和综合竞争能力的重要手段。作为商业银行三大业务之一, 中间业务以其风险低、收益多的特性在银行经营战略中的地位日益提高。为了加快拓展中间业务, 广东发展银行于2001年设计了中间业务平台系统, 至今已有22家分行运行使用。该中间业务平台采用分布式架构, 各分行都设置独立的平台服务器及相应的网络通信, 由分行科技部负责日常的运维工作。
近几年, 随着中间业务的快速发展, 平台层次不清晰、运行不稳定、性能低下、且基于该平台的应用系统开发周期过长等问题, 已经严重影响到科技部门对业务发展的支持力度;同时, 分布式平台架构也不利于数据集中、管理集中、节省软硬件及人力资源等。因此, 如何解决现有平台的弊病已经成为中间业务项目建设的关键问题。
在深入分析现有平台缺陷、考虑改进方案的同时, 广东发展银行总行科技部对赞同科技、新晨电子、先进数通、恒生电子等多家公司的产品进行了调研, 结合本行的实际情况, 最后与赞同公司共同合作设计开发了集中式中间业务平台。
二、设计目标与原则
(一) 系统的设计目标
建立“层次清晰、接口规范、组织合理、标准统一、易于二次开发”的集中式中间业务平台, 能解决现有平台存在的缺陷, 成为广东发展银行特色的主流技术架构。
(二) 系统的设计原则
1. 高效性
由于联机事务处理占中间业务平台交易的绝大部分, 要求平台必须有极高的交易响应时间, 优秀的系统吞吐性能, 且支持大并发量的交易处理和大数据量的批量处理。作为集中式平台, 上述要求尤为突出。交易高峰时, 平台应支持每小时100万笔以上的实时交易处理。
2. 灵活性
新平台应具有清晰的层次结构, 各层间低耦合度, 支持灵活的分离部署。灵活部署包含两层含义, 一是平台系统各层间可以分离部署;二是基于平台的各个应用项目之间低耦合度, 支持独立部署, 平台程序与应用项目相对独立。
3. 开放性
平台模型设计、软件结构以及软硬件平台应采用当前主流的技术。整个系统建成后, 要在国内同业具有技术领先优势。中间业务平台需具有良好的开放性、可扩展性、平台无关性等特征, 支持外联系统所采用的各种通信方式, 能灵活应对复杂多变的业务处理流程, 适应日新月异的操作系统、数据库系统发展。
4. 稳定性
平台的稳定性是一个重要的指标。平台运行的故障不会影响同一主机中其他应用软件的运行;平台的应用项目间相互独立, 互不影响;单个交易的异常不会影响到其他交易的正常运行;支持连续7×24小时不间断运行等。
5. 易维护性
完善的监控手段、分应用的日志记录和支持单独的应用项目管理功能, 都是平台易维护性的基本要求。
6. 易开发性
“快速开发、快速投产、快速见效”是中间业务的发展要求, 强大的平台应该支持在其上进行简单而快速的应用开发。
三、总体设计
(一) 系统整体架构
在集中式网络架构下, 中间业务平台集中部署在总行, 统一采用TCP/IP协议, 平台与关联系统的相关关系如图1所示。
平台物理上主要分为第三方通信前置服务器和中间业务平台核心服务器。第三方通信前置服务器在防火墙保护下与第三方系统相连, 负责完成与第三方服务系统的通信及报文格式转换;中间业务平台核心服务器运行平台的核心部分, 负责各应用项目的逻辑处理。
中间业务平台核心服务器通过网关服务器与主机账务系统相连, 网关与中间业务平台间采用多链路的交互方式, 保证大业务量的支持。在业务处理过程中如需与主机 (含综合业务系统、一户通及信用卡系统等) 交互, 平台按约定格式将处理请求发送至网关服务器, 由网关进行统一的格式转换, 发送到主机处理;处理结果经网关转换, 以约定的统一格式返回中间业务平台。同时, 中间业务平台核心服务器通过网关服务器直接连接同样位于总行的终端服务器。终端上发送的中间业务交易报文经终端服务器转发至网关服务器, 由网关服务器进行格式转换及相关检查、控制等处理后, 将数据送至中间业务平台服务器;中间业务平台负责对接收的交易报文进行逻辑处理, 处理结束后, 将处理结果按照与网关系统的报文交互标准返回到网关服务器, 由网关服务器经终端服务器转发至原发起终端。
其他的交易渠道 (如ATM、POS、电话银行、网银等) 统一在总行通过网关服务器接入中间业务平台核心服务器, 中间业务平台对各渠道的支持方式与终端交易类似。总行级别的合作商户, 商户系统通过第三方通信前置直接与中间业务平台相连;位于各城市的分行合作商户, 商户系统就近接入当地的分支机构, 通过路由转发至位于总行的第三方通信前置, 实现与中间业务平台的对接。
借助网关服务器与第三方通信服务器的报文格式转换功能, 所有发送到中间业务平台核心处理的报文都使用统一的标准格式, 以保持应用业务处理的逻辑独立性。
(二) 平台内部结构
平台内部结构主要由中间业务平台核心、第三方通信前置、集成化开发工具组成, 而总行统一监控管理平台、应用网关两部分将在其他项目 (如终端改造项目) 中另外建设实施。各部分相辅相成, 组成一个统一的有机整体 (如图2所示) 。
其中, 借助应用网关、第三方通信前置2个独立部分, 将通信功能从中间业务的逻辑处理中分离出来, 与中间业务平台核心分开部署, 从而保证后台或其他渠道通信方式、第三方通信方式、报文格式的变动对业务逻辑不造成影响。
下面以柜面终端发起查询缴费交易为例来介绍处理流程 (如图3所示) 。
图注: (1) 接收终端请求; (2) 格式转换, 发送至平台核心; (3) 平台核心处理, 因需与第三方交互, 发送至第三方通信前置; (4) 格式转换, 发送第三方系统; (5) 接收第三方系统返回信息; (6) 格式转换, 发送至平台核心; (7) 平台核心处理, 因需上主机进行账务处理, 发送至应用网关; (8) 格式转换, 发送主机进行账务处理; (9) 接收主机返回信息; (10) 格式转换, 发送至平台核心; (11) 平台核心处理, 处理结果发送至应用网关; (12) 格式转换, 发送回应信息至发起终端。
从第三方发起的交易流程与之相似, 只是出入口为第三方通信前置。
四、与原中间业务平台比较
新平台与原中间业务平台比较见表1所列。
五、结束语
“证券公司客户交易结算资金第三方存管系统”是在集中式中间业务平台上新开发的一个项目, 该项目及平台于2007年5月1日正式投入运行, 后来又采用在新平台上重新开发、对原有数据迁移的方法完成银基通、惠州电信代缴费、沈阳支行代理公积金贷款还款、沈阳支行社保代扣代缴和佛山缴费一户通等旧平台项目的迁移。
交易中间平台 篇5
1 中间件技术发展现状
中间件是处于应用软件和系统软件之间的一类软件,是独立于硬件或数据库厂商的一类软件,是用户与服务方之间的连接件,是需要进行二次开发的中间产品,见图1。
中间件技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了Client/Server的计算服务模式,多个客户端可以共享数据库服务器和打印服务器等。随着网络的更进一步发展,许多软件需要在不同厂家制作,需要在不同的硬件平台、网络协议环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,Client/Server模式的局限性也就暴露出来了,于是中间件应运而生。它的主要作用是用来屏蔽网络硬件平台的差异性及操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。
2 中间件的功能与特点
中间件的主要功能包括:①负责用户机和服务器间的联接和通讯;提供用户机与应用层的高效率通讯机制;提供应用层不同服务间的相互操作机制;提供应用层与数据库之间的联接和控制机制。②提供一个3层结构应用开发和运行平台;提供一个应用开发框架,支持模块化的应用开发;屏蔽硬件、操作系统、网络和数据库;提供交易管理机制,保证交易的一致性;提供应用的负载均衡和高可用性;提供应用的安全机制;通常意义下,中间件提供应用的管理功能,具有以下的一些特点:满足大量用户的需要;运行于多种硬件和OS平台;支持分布式运算;提供跨网络、硬件和OS平台透明性的应用或服务的交互功能;支持标准的协议;支持标准的接口。
中间件特点:①中间件产品对各种硬件平台、操作系统、网络数据库产品以及CLIENT 端实现了兼容和开放。②中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。③中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性。④中间件产品可以缩短50%~75%的开发周期,从而大大降低开发成本,提高工作效率。
3 典型中间件技术
由于新型空管自动化系统是一个非常重要的系统,该系统的性能将直接影响到我国民航的发展,具有重要的社会、经济和国防意义。能够找到一个适合开发新型空管自动化系统的中间件具有十分重要的作用,当前社会中主流的中间件主要有J2EE、CORBA、API,它们都是支持服务器端中间件技术开发的平台,但都有其各自的特点,本文将在下面分别阐述。
3.1 J2EE
J2EE的相关规范是Sun在1999年底推出的,J2EE的目标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。
在J2EE中,Sun给出了完整的基于Java语言开发并面向企业分布的应用规范,其中,在分布式互操作协议上,J2EE同时支持RMI和 IIOP,而在服务器端分布式应用的构造形式,则包括Java Servlet、JSP(Java Server Page)、EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有“write once,run anywhere”的特性,使得J2EE技术在发布计算领域得到了快速发展。
J2EE简化了构件可伸缩的复杂度,J2EE是一个规范,不同的厂家可以实现自己的符合J2EE规范的产品,J2EE规范是众多厂家参与制定的,它不为Sun所独有, 而且支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与J2EE兼容技术。
3.2 CORBA
公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)是由OMG组织制订的一种标准的面向对象应用程序体系的规范。OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
OMG组织成立后不久就制订了对象管理体系结构(Object Management Architecture,OMA)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)。对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG标准的内容。ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的对象可以利用ORB构造实现互操作的应用,极大地提高了类的可扩充性和可再用能力。对象类较之于传统软件的功能模块而另具有的优点是:①易于理解,具有完整的语义特征;②易于扩充和修改,具有较高的通用性和适应性;③易于构造组装,具有规范的外部接口。
3.3 API
应用程序编程接口(Application Programming Interface,API)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力、无需访问源码或理解内部工作机制的细节。API除了有“应用程序接口”的意思外,还特指 API的说明文档。API为底层的通讯模块提供了一定层次的抽象,同时也将更高层次的地址标识和数据转换等功能留给高一层的服务模块,作为共同的基础。
4 3种中间件性能比较
CORBA作为80年代兴起的中间件代表,其特点是大而全,互操作性和开放性非常好,在早期的欧美市场有着较为广泛的应用,但是CORBA有明显的不足,不同的CORBA实现之间会出现缺乏互操作性的现象,而且CORBA过于复杂,要达到专家水平需要好多年的时间,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上版本的发布就十分缓慢,在具体的应用中使用不是很多。
J2EE 作为第二代中间件的代表,有着非常明显的优点,它具有良好的伸缩性、灵活性和易维护性等特点。J2EE体系结构提供中间层集成框架,用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导,支持打包和部署应用,添加目录支持,增强安全机制,提高性能,在目前的电子商务中得到了广泛应用。
API之所以在中间件中也具有很高的影响力,是因为其开放性非常好。以前开放API甚至源代码,主要是在桌面上,现在越来越多的网站通过开放API获得了很多有趣、有用的想法,并且借助外部的力量让用户得到了更好的体验,但是API也存在很多的特点,其开发难度大,可移植性差,开发出来的应用程序只能在相应的Web服务器中运行,缺乏通用性。
5 结束语
新型空管自动化系统作为未来中国民航的支柱系统,对内部数据传输、数据一致性拷贝、进程管理、节点管理、系统监控、时间、人机界面、监视数据处理和飞行数据处理等方面都有很高的要求,由于新型空管自动化系统非常庞大,其研究的内容和领域非常多,如飞行冲突实时探测和预警新技术,中期飞行冲突实时解脱与空地协同航迹调整技术,空地协同管制仿真平台等,这些都要求中间件有很高的性能。显然,J2EE的特点相对来说可以较好的满足新型空管自动化系统的要求。
摘要:为寻求适合新型空管自动化系统的软件中间件,对中间件技术进行简单介绍,重点对现在非常流行的J2EE、CORBA、API3种中间件技术进行分析和比较,目的在于找到真正适合新型空管自动化系统的中间件。
关键词:新型空管自动化系统,中间件,J2EE,CORBA,API
参考文献
[1]陆嫣红,马捷中,杜承烈,等.基于VSM中间件的分布式试验与测试系统的通讯技术[J].计算机应用研究,2003,20(7):26-28.
[2]黄姝娟,杜承烈,尤涛.中间件技术实时性能的比较[J].软件技术与数据库,2009,35(11):22-26.
[3]杨绍方.深入掌握J2EE编程技术[M].北京:科学出版社,2002.
[4]王振宇,上野义人.CORBA:全面的分布式对象计算[J].计算机工程与应用,1999,36(2):27-30.
交易中间平台 篇6
工业设计领域主要使用CAD、CAE软件来进行模拟仿真,以缩短产品研发周期,提升产品质量。CAD软件用于设计建模,CAE软件用于对设计进行验证、优化、性能分析等。然而机械设备的设计越来越复杂,CAE软件又以有限元求解计算最为通用,模型越复杂、网格划分越细(求解结果越精确),对计算机性能的要求就越高,普通PC机应对大型CAE软件的大规模并行计算需求显得力不从心,这就需要用超级计算机来支持大规模并行计算。
超级计算机拥有大量的计算资源,比如上万个核的CPU(中央处理单元)、PB(Peta Byte,拍字节)级的内存、高速的局域网络。可通过大型CAE软件的并行模块与超级计算机的调度软件配合来对有限元模型进行大规模并行计算求解,合并计算结果后返回给用户。
大型CAE软件十分昂贵,在超级计算机上适配各种大型CAE软件后,在超级计算机上搭建服务于工业设计仿真需求的云计算服务平台(以下简称“超算集成平台”)成为继超级计算机硬件研发的后续软件研发的热点[1]。本文的研究焦点就是超级计算机(“天河一号”)环境下的工业设计仿真云平台中的中间件软件。
1 国内外研究现状与趋势
综合国内外情况来看,工业设计仿真云平台中间件软件的研究现状与趋势如下:
(1)Web服务和代理技术已渗透进入云计算中间件领域。王海伟等[2]提出了基于面向服务的体系架构(service-oriented architecture,SOA)的协同仿真环境框架,并最终建了一个简单的原型CAE平台,但只是构建了一个简单的框架及原型系统。于加晴等[3]提出了一种在分布式环境下使用Web方式进行协同设计的方法,对CAE集成的协同设计系统的体系结构和实现技术进行了介绍,服务资源通过Jini TM和SOA框架来实现。
(2)工业设计仿真云平台都需要利用中间件软件的支撑使用户可以通过Web方式来使用HPC(High Performance Computing,高性能计算)的计算资源。Rius等[4]提出在超级计算机中构建一个名为“T-Coffee”的门户系统来进行基因组学的研究,该系统提供了低成本和高效的专门工具和接口来开发用户的交互功能,并支持对远程计算资源的访问。高潭等[5]提出在“银河”超级计算机上构建一个高性能计算门户系统,系统中的中间件应用访问资源的适配器技术,直接采用网格中间件GT4(Globus Toolkit 4),利用GT4的内置适配器对PBS、LSF、SLURM等任务调度器进行适配。
(3)已搭建的工业设计仿真云平台结构复杂,均以层次结构分块实现。Kim等[6]提出了一个具有大自由度的线性结构分析系统,系统具有三层结构,并以“tachyon”超级计算机作为有限元计算的并行求解平台。迟学斌等[7]描述实现了一种网格中间件SCE(super computing environment,超级计算环境),该软件的体系架构分为前端服务、系统服务和HPC资源三层。张仙伟等[8]根据网格高性能计算环境下并行计算的需求,设计了一个可运行在网格上的GPCS(grid HPC-based parallel computing system,高性能计算平台上的并行计算系统)。
(4)国内正努力基于超级计算机自主研发工业设计仿真云平台中间件。张洪武等[9]已经研发自主的面向CAE工程与科学计算集成化软件平台Si PESC。国家超算济南中心基于“神威蓝光”超级计算机正在研发基于超级计算的工业设计资源中心技术开发与集成技术平台,其中就包括该平台的中间件软件。
为充分利用超级计算机的计算资源、降低用户使用的难度、促进在各种行业的应用,国内外都在研究构建基于Web的面向CAE或其他行业应用的门户系统,并且都使用中间件软件来屏蔽超级计算机任务调度器、操作系统的差异,采用的中间件技术各有差异,有的是采用开源软件组合,有的是采用网格中间件,有的提出了模型并进行了少量的试验。但普遍由于CAE软件品种繁多、接口复杂,集成的CAE软件品种不多,并且在国内还未见基于“天河一号”超级计算机的工业设计仿真云平台中间件出现。
现阶段,需要先行研发出具有自主知识产权、能适配“天河一号”甚至更多超级计算机的工业设计仿真云平台中间件软件,再考虑如何以网格形式进行资源整合。
2 中间件架构设计
2.1 仿真云平台总体设计
超算集成平台的总体架构设计如图1所示,该平台分为前端系统、中间件系统、集群端系统三个部分。前端系统负责与用户交互。中间件系统进行CAE软件集成,屏蔽异种集群、CAE软件的差异,为云计算环境下的“超算集成平台”前端系统提供统一的接口,支持各种工业设计仿真的大规模并行计算需求,进行作业的提交和监控,并将计算结果返回给前端系统显示,支持对计算资源(包括CAE软件License)的管控,支持协同仿真的业务流程组合。
2.2 中间件系统设计思想
中间件系统采用SOA架构设计,将各种功能组件封装为Web Service供前端系统使用,形成系统集成与通信的接口;采用XML作为通信报文,使用XML Schema进行数据校验;在报文内部标签中约定某个标签来描述目标功能模块及安全认证要求,从而进行路由配置,在代码中实现报文加解密及路由分发功能;使用Spring作为Web Service组件对应用的JavaBean管理容器,借助AOP(aspect-oriented programming,面向方面的程序设计)编程思想,形成简单易配的业务流程处理机制。
我们面对的计算机集群主要是Windows集群和Linux集群(“天河一号”超级计算机)2种,针对不同的目标集群需要由中间件系统来生成不同的作业与资源管理指令批处理脚本,再由中间件向目标集群提交执行,在执行过程中监控并取得中间和最终计算结果。为及时调度干预计算作业,可通过中间件获取集群中各种资源的状态及使用情况,资源主要包括计算节点、CPU/GPU、CAE软件License等。
2.3 中间件体系架构
超算集成平台的中间件就像一条ESB(enterprise service bus,企业服务总线)总线,其他的系统以可插拔的方式挂接在上面,通过Web Service进行交互式处理,有同步和异步两种数据交换方式。在ESB总线上,以开源的Tuscany作为SOA架构基础支撑软件。Tuscany的SCA(service component architecture,服务组件架构)容器与Spring的Io C容器相互配合,进行构件的装配,如图2所示。
SCA容器可进行组合构件(composite)和构件(component)的装配,但构件的最终实现由Spring Bean来实现,因此Spring是实际上的构件工厂,并以单例的方式提供多线程的构件服务,从而扩展Tuscany的构件装配能力和构件功能范围。
ESB总线的架构如图3所示。中间件通过Spring集成的Quartz作为任务调度器,以很小的时间片(不大于5 s)触发启动一个进程的线程,分别有作业监控、作业提交、资源监控、License管理4个进程,Spring作为组件的容器成熟稳定,使进程之间相对独立,线程之间互不影响,以提高中间件系统的并发处理能力。
Spring可使用@AspectJ、Schema等方式来配置AOP的情况,在配置中明确目标对象是以切面形成的连接点,以及针对这些连接点的增强,中间件各连接点配置的增强为前置增强和后置增强,以作出一些可供共享的通用处理功能,如日志记录、权限检查、报文加密、报文解密等。
3 关键技术
在超级计算云环境下,研制工业设计仿真云平台中间件的主要目的是让用户在互联网环境下可以简便地使用海量的计算资源来进行工业设计工程应用,而需要大规模并行计算的情形主要就是针对CAE软件的求解器计算应用,在“天河一号”超级计算机上是以一个作业来对应一个求解器计算任务的,因此首先需要考虑集群环境下的作业状态是如何转换的,在引入本文所研制出的中间件后又是如何转换的;其次就是要考虑如何来提交作业,以及如何监控作业执行的情况并指出在什么情况下作出什么样的处理。下面以工业设计仿真云平台中间件软件中的作业状态转换功能为例进行分析。
3.1 SLURM作业状态控制
作业是超级计算机进行调度的基本单位,常用的调度器软件主要有LSF、SLURM等。“天河一号”超级计算机主要使用SLURM。作业在提交给SLURM后,将经历一系列的状态,如图4所示。
作业提交给SLURM后,即进入Pending状态,Pending表示作业在队列中排队,等待分配资源;作业被SLURM分配资源后进入Running状态;用户将Running状态下的作业挂起,则释放资源,让出CPU,进入Suspended状态,但内存并不释放;作业运行结束转为Completed状态;作业运行失败转入Failed状态;作业在Pending、Suspended或Running状态时被取消则进入Canncelled状态;如果作业在运行超出了请求的运行时间则进入Timeout状态;如果分配给作业的节点出现故障,且作业提交时没有指定节点故障容忍参数,则转入Nodefail状态。
3.2 中间件作业状态控制
“天河一号”超级计算机通过SLURM调度器调度求解作业,提交作业之后的状态由SLURM调度器控制,在此基础之上需要对状态进行重新封装和控制,要考虑解决以下问题:
(1)用户以Web方式提交工业设计仿真计算作业,中间件要根据用户Web方式提交的作业需求来自动向“天河一号”超级计算机提交作业。
(2)作业提交后作业状态交由SLURM调度器控制,中间件要以较小的时间片(不大于5 s)不间断地轮询SLURM以获取作业提交后的状态,并作出相应的处理。
(3)考虑计费功能、网络与软件故障处理,需要适当增加作业的控制状态。
(4)由于SLURM调度器内的作业状态有可能跳转很快而在中间件的时间片中监控不到,在中间件的作业状态上允许非人为干预下的跨状态跳转。
根据以上情况,中间件软件设计的作业状态转换情况如图5所示。
中间件并不修改SLURM的源代码来控制作业的状态,而是集成SLURM后在SLURM原有状态控制功能的基础上进行状态转换的改进。根据SLURM调度器中的作业状态模型和中间件调整后的作业状态模型的对比情况,对状态转换作了以下调整:
(1)为让用户通过前端系统可将新建作业删除而增加了Deleted(被删除)状态,但作业一旦通过前端系统提交则不允许再行删除。
(2)增加了Waitcommitted(等待提交)状态。在前端系统中提交作业后就进入Waitcommitted状态;如果通过中间件的作业提交线程提交作业成功,则转为Pending状态;如果作业提交失败,则重试,重试3次仍提交不成功置为Failed状态,在失败原因中注明原因是作业提交失败。
(3)作业提交后交由SLURM管控作业状态,但中间件的监控进程通过Linux命令在每个时间片的线程中得到作业的状态并更新,因此会引入非人为干预情况下的跨状态跳转情况,增加了从Pending跳转到Failed、Completed状态的转换关系,以及从Suspended跳转到Failed、Completed状态的转换关系。
(4)取消了原来的Timeout和Nodefail状态,合并到Failed状态,但在Failed状态的失败原因中注明是什么原因。
3.3 作业提交功能设计
作业提交功能的设计思想如图6所示,提交的过程如下:
(1)以Spring集成的Quartz作为时钟触发器,时间片到时触发作业监控提线程查询作业队列中状态为“Waitcommitted”的作业。
(2)根据作业所需要的求解器类型与版本、模型文件和指令文件的情况、所需计算资源的情况等来综合生成脚本文件。
(3)调用脚本文件生成器的接口来通过SFTP程序将模型文件和指令文件、脚本文件传到“天河一号”超级计算机上。
(4)、(5)生成执行脚本文件的指令通过指令执行通道执行提交批处理作业指令。如果提交成功得到作业的ID号,将作业状态变更为“Pending”;如果提交失败,将作业状态变更为“Failed”。
以上过程中的状态转换工作均由作业状态转换器来完成,如果发生异常则置作业状态为“F”,并记录失败原因。
以作业提交进程时间片到时线程执行的程序设计思想为例,算法思想描述如下:
4 工业设计仿真实例
下面以火星着陆多室连通气囊ANSYS/LS-DYNA有限元分析计算的前处理、求解计算、后处理[10]为例进一步说明中间件的应用。
4.1 火星着陆多室连通气囊几何模型及有限元模型的建立
火星着陆多室连通气囊缓冲装置示意图见图7a。在该气囊缓冲装置中,总共有A、B、C、D 4个完全对称的气囊子系统,四面体探测器的每个面通过法兰与4个气囊子系统相连,这样探测器就被包裹在这4个气囊子系统中。气囊子系统A示意图见图7b,由A1~A6总共6个直径相同的球囊组合而成,其中3个角上的球囊A1、A3和A5被称为角囊,中间位置球囊A2、A4、A6被称为中间囊,角囊和中间囊之间的隔膜上有通气孔进行连接,可以使得气体在气囊子系统内部自由流通。在该多室连通气囊系统中,气囊子系统C的中间囊上有3个通气孔分别与相邻的气囊子系统A、B、D的中间囊相连。在探测器着陆冲击过程中,气囊子系统C在减速伞相对的下端,所以其最先受到冲击,其内部气体受到探测器压力作用经过通气孔被挤压到气囊子系统A、B、D中[10]。
根据上述几何结构及图8所示结构尺寸,建立了火星着陆多室连通气囊缓冲系统的有限元模型,如图9所示(Dbag=1058 mm)。其中,采用LS-DYNA的*AIRBAG_INTERACTION定义气囊之间的连通,气囊子系统与火星探测器之间的连接法兰一侧与气囊节点重合,另一侧与刚性探测器节点从属。每个球囊均采用控制体积法来计算其内部气体的热力学参数。球囊的单元为Belytschko-Tsay膜单元,单元在厚度方向的积分点个数为3,在面内采用单点积分。火星探测器和地面的单元均为Belytschko-Tsay壳单元,单元在厚度方向的积分点个数为2,在面内采用单点积分。球囊的材料本构模型为LS-DYNA的MAT_FABRIC,火星探测器和刚性地面的材料本构模型均采用LS-DYNA的MAT_RIGID。在接触计算中,采用自动面面接触算法来计算球囊与火星探测器以及球囊与刚性地面之间的接触。
在缓冲着陆过程中,探测器与多室气囊一起以20 m/s的初速度冲击到火星表面上,着陆初速度与竖直方向的夹角为α,在有限元模型中采用LS-DYNA的INITIAL_VELOCITY来实现。为模拟火星重力环境,在有限元分析中设置环境重力场g=3.76 m/s2,火星的表面大气压力为650 Pa。
4.2 求解计算
用户使用工业设计仿真云平台进行火星着陆气囊的有限元碰撞分析计算,从提交作业到取回计算结果的完整流程如下。
(1)用户通过超算集成平台门户新建一个LS-DYNA作业,设置好相应的参数和输入文件,如请求的CPU数量、内存数量等,保存并提交作业。
(2)中间件的作业提交线程获取到状态为“Waitcommitted”状态的作业列表,其中就包括名为“火星着陆气囊”的作业,生成作业提交脚本文件shield.sh,这个文件实际上是一个脚本文件,其核心的算法思想如下:
接下来通过文件传输通道把脚本文件、待求解的火星着陆气囊模型文件上传到“天河一号”的计算指定目录下,再通过指令通道执行批处理指令,如下所示:
sbatch shield.sh
执行后如果成功则将作业交由SLURM进行调度,待所有资源需求满足后,SLURM调度器会调度相应LS-DYNA软件进行加载求解。
(3)在作业运行过程中,用户可以通过门户系统的作业监控模块随时了解作业当时的运行状态,监控的状态来源于中间件的作业监控线程采集的作业数据。在作业状态发生改变时,用户可通过门户查看和下载本次求解计算生成的中间或结果文件,这些文件由中间件的作业监控进程下载得到。
(4)下载得到火星着陆气囊的有限元碰撞分析结果后,将下载得到的文件导入到Windows下的LS-PREPOST软件中即可得到所需的计算结果。
5 下一步研究工作
(1)集成更多的主流CAE软件,如Fluent、ADINA、Nastran等;集成其他调度器软件,如LSF。
(2)解决在线后处理问题。虽然现有平台可以Web方式在线下载计算结果文件,但由于计算结果文件尺寸较大,常达GB数量级,用户下载时间较长,可考虑采用VNC(virtual network computer,虚拟网络计算机)方式使用户可直接以Web方式在线查看和分析计算结果,从而免去下载计算结果的步骤。
(3)基于工作流模型进行多学科联合仿真及其在工业设计仿真云平台上的实现,可先从单学科CAD、CAE软件的集成,单CAE软件多学科联合仿真与优化分析开始,再进一步研究多学科多软件集成联合仿真。
(4)多超算中心工业设计仿真云平台的网格化处理及中间件的网格化研究。现有研发的平台体现了用户以简单的方式使用云资源的优点,但尚不能利用网格资源,可考虑多超算中心联合研发、构建计算资源网格中间件,从而通过平台可以使用异种超级计算机的计算资源。
参考文献
[1]Perumalla K S.Tutorial:Parallel Simulation on Supercomputers[C]//2012 Winter Simulation Conference,WSC 2012.Berlin,2012:00919620785775.
[2]Wang Haiwei,Liu Geng,Han Bing,et al.Collaborative Simulation Environment Framework Based on SOA[C]//2008 12th International Conference on Computer Supported Cooperative Work in Design,CSCWD2008.Xi’an,2008:416-419.
[3]Yu Jiaqing,Cha Jianzhong,Lu Yiping,et al.A CAE-integrated Distributed Collaborative Design System for Finite Element Analysis of Complex Product Based on SOOA[J].Advances in Engineering Software,2010,41(4):590-603.
[4]Rius J,Cores F,Solsona F,et al.A User-friendly Web Portal for T-Coffee on Supercomputers[J].BMCBioinformatics England,2011,12(5):150-154.
[5]高潭.高性能计算门户的研究与实现[D].长沙:国防科学技术大学,2009.
[6]Kim J,Lee S,Jung H,et al.Development of Largescale Structural Analysis System on a Supercomputer[C]//2011 International Conference on High Performance Computing and Simulation,HPCS 2011.United States,2011:825-829.
[7]迟学斌,肖海力,王小宁,等.面向科学计算的网格环境[J].集成技术,2012,1(1):68-76.Chi Xuebin,Xiao Haili,Wang Xiaoning,et al.Scientific Computing Grid and SCE Middleware[J].Journal of Integration Technology,2012,1(1):68-76.
[8]张仙伟张璟.基于网格计算平台的并行计算系统研究与实现[J].计算机工程与应用,2012,48(7):5-8,11.Zhang Xianwei,Zhang Jing.Research and Implementation of Grid Computing-based Parallel Computing System[J].Computer Engineering and Applications,2012,48(7):5-8.
[9]张洪武,陈飙松,李云鹏,等.面向集成化CAE软件开发的Si PESC研发工作进展[J].计算机辅助工程,2011,20(2):39-49.Zhang Hongwu,Chen Biaosong,Li Yunpeng,et al.Advancement of Design and Implementation of Si PESC for Development of Integrated CAE Software Systems[J].Computer Aided Engineering,2011,20(2):39-49.
交易中间平台 篇7
随着计算机、通信、控制和多媒体技术的高速发展,安防软件平台作为安防的关键组成部分,必然成为行业内的一个重要研究发展领域。
目前,国内各企业在安防信息化方面已经取得了一定成就,许多企业都成功实施了视频监控系统、身份识别系统、报警系统等安防子系统。但这些应用系统之间彼此独立,缺乏信息的沟通与共享,严重影响着企业安防工作的效率和水平。在安防系统数字化、网络化、智能化发展的大趋势下,企业迫切要求实现各个安防子系统的整合,实现数据交换与共享。通过整合资源,对各个相对独立的安防子系统的数据对象,功能结构及其互动关系进行融合和重组,形成一个效率更高的整体[1]。
为满足企业级安防系统的新需求,本文研究并设计了一种基于SOA架构体系和中间件技术的企业级综合安防平台。
1 相关研究
1.1 SOA架构
SOA(Service Oriented Architecture)是一种面向服务的体系架构[2],包含运行环境、编程模式、架构风格和相关方法论在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模-开发-整合-部署-运行-管理。体现在安防平台,是搭积木式的高度模块化结构,任务功能、服务的增减和新设备的加入只在相应的模块上进行,不影响总系统的正常运行。
SOA体系结构的组件中共有3种角色[3]:服务提供者(Service provider)、服务中介(Service broker)、服务请求者(Service requestor),如图1所示。
服务请求者(Service requestor)指查找和调用服务的客户端程序,利用SOAP消息向Web服务提供者发送请求以获得服务。
服务提供者(Service Provider)指提供服务的平台,耐心等待为其它服务和用户提供自己已有的功能。
服务中介者(Service Registry)是指用来存储服务描述信息的信息库。服务提供方在这里发布他们的服务,服务请求方在这里查找服务,获取服务的绑定信息,充当管理者的角色。
1.2 中间件技术
随着IT业的发展,中间件技术在综合安防集成软件平台中的应用显得十分重要。中间件屏蔽了底层设备的多样性、复杂性,使程序员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在业务上,不必再为程序对不同设备,模块而重复工作,从而大大减少技术上的负担[4]。对于安防平台,中间件体现了不同的分工,是大安防必由之路,但目前安防平台中间件还缺乏标准,涌现的产品还不多。
2 综合安防平台系统结构
2.1 系统结构
根据综合安防系统特点,本文采用了如图2所示的系统结构示意图。
该系统平台主要由外围设备、应用管理服务、中心管理服务和客户端等四部分组成。其中外围设备负责实时采集各类目标区域信息与执行相关操作指令,采集信息主要包括视频流、周界传感信息、刷卡信息等,操作指令主要包括报警指令、云台控制指令等。应用管理服务主要包括视频监控服务、周界传感服务、报警服务、出入口管理服务(门禁和身份识别)等,主要负责接收及处理各类外围设备上传的数据信息,向外围设备发送相关指令,并响应中心管理服务的设置。中心管理服务负责各应用管理服务的配置,统一指挥各应用服务之间的联动与数据共享,并进行相应的系统管理。客户端负责为用户提供易操作的监控操作界面,对目标区域进行实时监控。
2.2 系统总体框架
本文设计的基于SOA和中间件技术的综合安防平台系统总体框架如图3所示。
该系统以公共业务组合中间件和公共数据交换中间件为核心。公共业务中间件接入行业网络视频监控子系统服务,以及周界、报警、巡更、门禁、对讲、公共广播等其子系统服务,统一编排业务服务,实现综合安防平台内部各子系统之间业务流程的集成。公共数据交换中间件在安防子系统之间建立一个松耦合的公共数据交换系统,实现了各子系统异构数据的交换与数据共享。通过综合安防平台实现所有子系统的整合与集成,统一协调各子系统间的资源共享与信息互通,并实现监控图像与其它安防业务的实时联动与直观对应。
3 基于SOA的中间件设计
SOA架构和中间件技术可以满足综合安防软件平台的以下特点:第一是广泛的设备兼容性,第二是高度的可靠性设计,第三是卓越的系统扩展能力,一次投资长期保障,第四是强大的资源管理能力,降低系统运维成本,第五是强大的系统集成能力,拓展应用价值,第六是独特的人性化设计,应用灵活操作简便。
和其他行业平台软件不同,综合安防软件平台非纯软件系统,它的信源来自于传感,不仅包括了视频、音频、报警、门禁,还包括各厂家千差万别的设备,这就需要通过SOA和中间件技术实现设备兼容,达到设备整合的效果。将中间技术应用于本系统,设计了公共业务组合中间件和公共数据交换中间件。
3.1 公共业务组合中间件
公共业务组合中间件主要采用分布式对象技术和消息向导技术[5],信息以消息的形式从一个程序模块传送到另一个程序模块,依据各个业务要求,以XML文件格式定义各个传输内容。将各应用系统通过业务建模分解业务流程,识别出相关的业务服务,定义消息类型,派生并实现服务,然后将服务注册到服务库中。实现服务间的串联以构成企业的关键业务流程。业务组合以面向公共业务应用的组合服务模型形式存在,通过服务间灵活的组合,实现跨系统的业务流程,且能适应业务变化的需求[6]。
公共业务组合中间件是安防业务和服务的具体实现,包括:网络通信、消息队列、适配器服务、服务总线、任务引擎、业务服务等模块。其组成结构如图4所示。
网络通信为安防平台提供信息传输的快速通道,所有设备的信息交换有赖于通信网络的数据可靠传输;消息队列采用基于TCP/IP协议的持久性分布式消息队列,是一种异步通讯模型,保证消息的可靠交付;适配器实现了不同类型、不同厂家、不同接口设备的信息获取与交换;服务总线提供了报警与事件管理服务、录像存储与检索服务、视频交换与转发服务等;任务引擎是任务执行的驱动器,完成安防平台内部各种业务流程的控制,支持工作流组态;业务服务是对安防业务的具体实现。
3.2 公共数据交换中间件
公共数据交换中间件可满足系统内各种数据交换与共享,并能解决应用系统间的数据共享和集成问题,消除信息孤岛。在企业级安防体系中,主要是为了实现企业各个独立应用系统之间的资源整合。依据一定的要求,对各个相对独立的资源系统中的数据对象、功能结构及其互动关系进行融合、类聚和重组,重新结合为一个新的有机整体,形成一个效能更好、效率更高的资源体系[7]。
公共数据交换中间件基于SOA思想,利用组件技术分别实现了统一的消息服务和数据传输服务。消息服务控制数据交换过程中复杂的控制信息交互,数据传输服务实现数据交互过程中各种数据高效、准确地传输,消息协议和数据交换协议统一标准,实现数据交换的通用性。
公共数据交换中间件的主要功能包括信息标准管理和数据交换管理,如图5所示。
信息标准管理设置数据标准、代码标准,构建与维护企业安防平台系统信息标准,为公共数据交换提供依据;维护元数据,构建与维护企业安防平台系统中心数据库,为公共数据交换提供安全、可靠的中枢。
数据交换管理首先需要设置数据提供者,确定每一项需要交换的数据由哪个应用系统提供。其次设置数据使用者,确定每一项需要交换的数据由哪些应用系统使用。另外还提供自动交换数据和辅助交换数据的功能、数据跟踪组件、数据同步组件、数据交换日志恢复功能等。
4 企业级综合安防平台系统设计
4.1 功能设计
本文设计的企业级综合安防平台以视频监控系统为主,集成了报警系统(含入侵报警、周界报警等)、出入口控制系统(含门禁系统、身份识别系统等)、保安电子巡更系统等;支持模拟量和数字量的采集与监测;方便与视频会议系统、指挥调度系统、信息管理系统融合。平台功能如图6所示。
通过自顶向下的方式对综合安防功能进行分解,从而获得其对应的服务。实现应用管理员对综合安防平台内的各个子系统进行统一资源配置,统一管理、分布应用。(如图6)
4.2 系统层次设计
本文对企业级综合安防平台采用分层设计模式,分层设计模式有以下设计原则:(1)“高内聚、低耦合”原则,此原则可以使开发人员只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;有利于各层逻辑的复用。(2)逐层调用原则及单向调用原则,第M(1
采用面向对象技术(SOA),对系统进行分层设计,包括应用层,业务接口层、服务层、协议层,如图7所示。
◇协议层
该层主要设计了通用设备访问中间件、分布式数据库访问中间件、数据通信接口。通用设备访问中间件主要包括串口访问模块、网络访问模块、串口转网口访问模块、SDK调用模块等,提供对各种设备的访问,对不同厂家的设备统一封装后提供统一接口,方便以后对不同类型设备的动态增加,即随时可以增加不同厂商设备。分布式数据库访问中间件主要负责各种异构数据库的操作,实现各子系统的数据共享,包括直接执行SQL语句和存储过程完成数据的增加、删除、修改,以及以只读方式和更改方式获取数据。数据通信接口采用系列标准协议,负责设备间通信及各模块间通讯消息描述,按照规定的消息格式提供对消息的生成,并提供对消息的解析以得到消息的各个组成部分。
协议层封装设备和数据库操作,屏蔽不同硬件设备的差异性和不同数据库的异构性,向服务层提供统一接口,相对于服务层是透明的。(如图7)
◇服务层
根据综合安防平台功能模块,建立面向设备服务和非面向设备服务。面向设备服务主要包括存储服务、流媒体服务、各子系统服务、系统备份等,非面向设备服务主要包括级联服务、网关服务、消息管理等。各服务通过SOAP进行服务注册、认证,实现各服务之间松耦合集成。
在协议层的基础上完成业务接口层需要的所有操作和服务功能。接收业务接口层的请求,在协议层的基础上完成相应操作或者直接独立完成请求,并将执行结果返回给业务接口层。
◇业务接口层
本层将用户的业务需求组织起来,并向服务层发出请求,服务层响应请求并进行处理,业务接口层将业务处理结果提交给应用层。
◇应用层
负责将各个业务应用整合在一起,以图形界面的方式统一呈现给用户。
5 结束语
本文采用SOA架构和中间件技术,研究和设计了一种企业级综合安防平台。该设计大大提高了系统平台的扩展能力、集成能力,采用标准的接口协议,方便集成新的子系统,并实现各子系统的联动,不断扩展应用空间。为开辟安防业务和新市场领域提供了全面的技术支撑,使安防系统达到“分级布控,集中管理,事件闭环”的总体目标。满足企业信息化建设对安防新技术发展的需求,有效降低用户的管理成本,提高管理服务效率。
参考文献
[1]柳慧敏.SOA架构在光电监测信息系统中的应用[J].安全播出与监测,2012,(1):120-123.
[2]王涛.基于SOA架构的中间件应用集成技术[J].通信系统与网络技术,2009,35(4):14-16.
[3]刘翔,刘家红.吴泉源.基于SOA架构的公安应用集成平台的研究与实现[J].计算机工程与设计,2007,28(18):4519-4525.
[4]邓新莉,张四平,刘珊.基于中间件平台的异构数据交换与集成[J].四川兵工学报,2011,32(3):61-63.
[5]刘红义,赵方,李朝晖.一种基于中间件的温室远程监测系统设计与实现[J].微电子学与计算机,2010.8,27(8):361-365.
[6]王兴武,章权兵,徐颜.基于SOA机场防入侵系统的研究[J].计算机技术与发展,2009,19(10):152-155.