数据集中工程前端系统设计及实现

(整期优先)网络出版时间:2009-05-15
/ 2

数据集中工程前端系统设计及实现

康健伟

康健伟(吉林省建行分行信息技术部)

摘要:本论文详细系统地阐述了数据集中工程(简称DCC)前端系统的设计思想和实现方法、交易驱动器的功能原理和软件整体结构。本文让读者能够从总体上了解DCC前端系统的结构和功能实现,为DCC前端系统的开发推广维护提供一定的参考。

关键词:数据集中工程前端系统设计

1数据集中工程前端系统的设计

数据集中工程的总体目标是将原来各省分行独自处理保存的业务数据上收到总行数据中心,从而实现帐务数据、核心业务的集中处理,以满足未来业务发展的需要。

按照数据集中工程的总体规划,建立总行数据中心(在北京、上海两地分别建立两个数据中心,并互联以满足业务的需要),各分行原有的帐务数据和核心业务系统功能全部上收至总行数据中心的DCC主机;为了将各省分行的交易包括总行统一的业务和各分行特色性业务接入到总行DCC主机,总行统一开发大前置系统部署于各个分行,前端系统通过大前置系统将各分行的交易发送到总行数据中心DCC主机。

前端软件系统按结构设计分为前端平台系统、前端核心系统和前端特色业务系统三部分。

1.1前端平台系统:包括操作系统、数据库、中间件等平台软件。其配置标准为:

1.2前端核心系统指在支行网点运行的,应用于柜员工作站的全行统一的业务系统。它通过网络系统与前置机进行数据交互,完成交易的处理功能。包括柜员工作站软件、授权/消息服务程序、通讯服务程序、前端数据库四大部分。

1.3前端特色业务系统是指由前台实现的核心业务系统以外的业务功能。

2数据集中工程前端系统的实现

数据集中工程前端系统的核心是前端核心系统,主要业务是由柜员工作站软件和授权/消息服务程序完成的。由于决大多数业务根据其特点可以分类,具有统一的模式,因此每一类业务可以采用统一的模板来分类处理,在不同的模板存储不同的参数,形成各种交易。前端应用系统的设计是通过使用两种类型的源代码文件(过程文件和资源文件),存储每个交易的具体交易参数为交易模板,构造交易驱动器来描述同一类的交易流程,突现流程概念,从交易模板获取具体交易参数,实现具体交易功能。

交易驱动器是一个前端交易流程控制程序,完成从交易初始化到交易结束之间各个功能模块的动态调用,大部分的交易可以由一个通用的交易驱动器实现,特殊交易可以编写特殊的交易驱动器前端应用系统需要实现的功能由交易驱动器、资源和过程以及其它手工编制的程序部件和功能函数配合完成。交易驱动器的主要功能是根据交易的信息,调度交易所需资源和过程实现一般交易的处理流程。

3前端系统的安全模块和安全规范

数据集中工程(简称DCC)是一个三层结构(前端/渠道、前置系统、DCC主机)的分布式系统,在跨物理系统进行数据传输时,毫无疑问会涉及到数据保密的问题。如何合理、可靠、高效地实现数据传输的保密,是前端系统在和前置系统连接时必须考虑的重要问题。

前置系统在考虑和前端的安全问题时,是以三级密钥体系和动态交换工作密钥的安全机制为基础,并在其上进行了扩展增强,最终形成了数据集中下的前置系统和前端系统的安全规范。

3.1三级密钥体系密钥如何管理、分发等问题历来是分布式系统的安全体系下的重点和难点。DCC的安全体系在充分考虑加密的强度的同时,还需要考虑管理维护的简便性,以及和DCC主机的安全机制兼容等问题。经过充分对比论证,制定了目前的以masterkey作为基础密钥加密保护basekey和workkey,basekey用于身份认证和动态交换workkey,workkey用于加/解密和MAC校验保护交易数据的三级密钥体系结构。

在此密钥体系下,针对通讯节点而设置的masterkey和basekey都是通过非计算机网络的其它渠道(如密码信封)分发的,不存在因网络传输泄密的问题。masterkey在存储时是通过安全模块采用固定的密钥加密保护的,basekey则是通过明文的masterkey加密保护存储的;针对通讯节点而动态交换的workkey是由masterkey加密保护存放的。

3.2身份认证和密钥同步对于前置系统来说,如何鉴别某个和它连接的外部系统通讯节点是否合法呢?由于我们在前置系统上登记了所有合法的和它连接的通讯节点号(即前置系统的所有对等通讯节点号),以及和这些通讯节点中的每一个约定的basekey,而这些信息是通过非网络的方式约定的,可被我们认为是保密的,可靠的。因此,我们可以是此为依据来鉴别某个通讯节点的合法性。

一个通讯节点在和前置系统进行所有的交易前,必须首先向前置系统申请密钥同步(对workkey进行同步,后续的交易数据将以此密钥进行加密,MAC保护传输),在进行密钥同步的同时,前置系统可以对发起密钥同步的通讯节点的身份进行:双方按照约定的算法,申请密钥同步的通讯节点用basekey加密其通讯节点号,而前置系统则使用basekey解密,如果解得的通讯节点号与所用的basekey组合后得到的(通讯节点号、basekey)对在前置系统的安全数据库中能够找到匹配项,则说明该通讯节点合法,身份认证通过,前置系统通讯节点的密钥服务器为该通讯节点动态产生workkey,刷新安全环境(数据库和共享内存中的缓存)中的workkey,并将其用basekey加密后返回给该通讯节点。

申请密钥同步的通讯节点在接收到前置系统通讯节点的密钥服务器返回的workkey后,先使用basekey解密,得到workkey明文后,再用本通讯节点的masterkey加密并存放到安全环境(数据库和共享内存中的缓存)中。

身份认证和密钥同步可通过随安全模块发布的工具程序来进行,无需再做什么开发工作,仅需要对安全模块进行正确的配置即可。

3.3安全API安全API是安全模块把安全加/解密,MAC校验功能开放给其它需要安全通讯功能的应用程序使用的接口。它定义了应用程序的开发模型和编程接口。

3.4安全模块的运转机制安全模块主要由安全工具和安全API两部分构成,这两部分在建立安全通讯环境的过程中起到了不同作用。运行在不同的通讯节点上的安全工具程序密钥申请客户端applykey和密钥分发服务器keyserver互配合,来完成workkey密钥的同步功能;在此之前,还需要通过inst_node、setmkey工具来添加一个本地通讯节点和设置它的masterkey,通过addpeernode工具来设置该通讯节点的对等通讯节点的basekey,通过sec_init启动并初始化安全环境。

在sec_init初始化安全环境成功之后,使用安全API的应用程序就可以运行进行数据的加/解密了。但是只有在本地通讯节点和它的对等通讯节点的workkey正确同步之后,数据的加/解密才能正确进行,否则,将会导致数据加/解密错误。

安全工具程序和安全API是相辅相成,不可分割的。安全工具程序是构建安全子系统的基础,它创建和维护安全API得以运行的安全环境;安全API则为应用程序使用安全子系统的数据保护功能提供了标准编程接口。

4结束语

DCC项目的完成对我行的业务发展意义重大。它最重要的价值在于:一是在业务发展方面,统一了会计核算和柜面业务应用版本;统一了业务和数据标准,支持业务的规范管理,共享客户基本信息;形成了总行对实时交易风险的监控能力;支持对新产品的快速开发和统一产品与服务的推出;提高跨区域交易和清算的服务质量,加速全行的头寸管理和资金调度;支持后台集中运行的业务模式。二是在技术发展方面,将改善全行柜面业务应用系统分散、低水平重复开发的状况;降低数据分散处理的运行成本和维护成本;基本形成全行统一的技术体系。前端系统是我行其他业务的基石,因此前端系统的正常高效的运转是我行业务发展的必要保证。