论文部分内容阅读
摘要:本文针对当前存在的信用缺失问题,就如何设计和实现一个基于.Net架构的信用信息交换支撑平台进行了深入研究和分析。从系统结构、数据交换拓扑结构、主要组件、数据交换过程等方面进行了论述,给出了一个基于.NET架构的信用信息交换支撑平台的设计与实现方案。
关键词:信用信息,数据交换,.NET
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)17-31185-02
One Credit Information Exchanging and Supporting Platform Based on .NET Framework
TAN Xian-feng
(National University of Defense Technology,Software Institute,Changsha 410073,China)
Abstract:This dissertaion,aiming at the shortage of credit for the time being,carries out detailed researches and deep analysises on how to design and realize an exchanging and supporting platform of credit information based on the NET framework.This thesis focuses on the studying of systematic structure,topology structure of data exchanging,main components,process of data exchanging,accordingly comes up to a designing and realizing proposal about the exchanging and supporting platform of credit information based on the NET framework.
Key words:Credit Information; Data Exchange; .Net
0 引言
现代市场经济是信用经济,信用是现代市场经济的基础。然而,在计划经济向市场经济转轨的过程中,发生了部分单位和社会成员信用观念趋于淡化、社会信用失范、失信违约行为急剧增加、市场经济秩序紊乱的现象,影响了经济社会的健康发展和对外开放,损害了国家声誉和形象。造成信用缺失的一个重要技术原因就是社会信用体系建设滞后,“信息孤岛”问题依然严重存在,缺乏统一的企业和个人信用信息查询平台,信用信息分散在各个部门难以实现共享,缺乏对企业和个人信用状况的有效监督。
为营建诚实守信的良好市场环境,加快信用信息系统建设,以企业和个人征信为主要内容,整合各部门、各行业、各方面的信用信息资源,建立综合性的信用信息数据库,形成信用信息资源共享机制已是当务之急[1]。
针对上述问题,有关部门提出了构建 “三库一网一平台”的社会信用信息系统建设思路。“三库”即以信贷服务为重点的人民银行系统的企业和个人信用信息数据库;以市场监管为重点的工商系统的企业信息基础数据库;以身份证系统为依托的公民信息数据库。“一网”是指社会信用网,通过互联网实现政府部门政务信息公开。“一平台”是指电子政务外网数据交换平台,即本文要研究的信用信息交换支撑平台。
1 系统结构
整个信用信息交换支撑平台分为三个层次:应用接入、数据交换、数据存储与应用,其总体框架如图1所示。
图1 系统总体框架
(1)应用接入层
信用采集终端放置在各个委办局。同部门单位、垂直业务系统进行数据交换的时候,从业务完整性和安全性等考虑,很难允许数据交换平台直接操作原有业务系统的业务流程或数据库,因此采用前置机方式进行企业信用数据采集、审核,把数据暂时存放在终端上的前置数据库,然后调用数据交换平台前置机相应功能进行数据上传,并可以接收中心发过来的数据和消息。对于没有条件直接进行数据交换的单位,交换平台提供单独的虚拟接入终端,作为该单位数据采集点。
(2)数据交换层
数据交换层是整个支撑平台的核心,主要实现对要交换的业务数据的接收、转换、备份以及转发。采集上来的信用数据,缓存在数据中心,然后就通过一定业务分析,送到信用数据库,同时在信用信息发布系统上备份交换的数据。信用信息系统依托外网基础服务中的SQL Server数据库集群,提供包括信用数据库,部门业务数据库,公共数据库等数据库的备份服务。
(3)数据存储层
信用数据库是把各个委办局采集终端上传的数据进行接收,进行新旧数据的比对,数据汇总、整理,这时数据暂时存放在前置数据库,数据经审核后进入正式的信用数据库存储,委办局用户及领导可以对企业信用数据进行查询和统计,还可以利用BI工具进行数据的深层挖掘。
2 数据交换拓扑结构
针对数据交换层的任务要求,数据交换常见的拓扑结构有星形结构和网状结构两种。
在星形结构中,数据的交换发生在中心节点上。该节点接收来自各个业务子系统的数据,解析接收到的数据并按数据交换目的地的格式进行转换,然后发送到目的地。通过数据交换中心节点,可以实现在数据源和目的地之间建立一个透明的安全的数据传输通道。在星形拓扑结构下,数据交换集中且便于控制,数据交换参与者的一方发生改变时,该变化可及时反映给中心节点,中心节点可根据情况改变它的交换逻辑,这样的改变不会对其它业务子系统造成任何影响,改变对它们是透明的。但中心节点负荷将非常大,在设计中必须考虑负载均衡;同时,在星形结构中,如果中心节点发生故障,那么全部业务之间都不能互相通信,所以,应当设计一种错误处理及容错的机制。
在网状拓扑结构中,将数据交换节点分散到各企业内部,数据交换逻辑由各企业自己实现。在这种方式下,单个结点的失败不会对整个系统造成决定性影响,较好的实现了容错机制。系统的负荷也由各子节点分担,实现了负载均衡。但同时也带来了管理和实现上的难度。随着数据交换节点的增加,给系统部署带来了难度。并且,从数据交换业务上来说,如果其中一方的数据模式发生改变,除了要修改其自己数据交换逻辑外,它还需要通告所有的数据交换参与者,让它们同步修改对应的实现逻辑,这种同步机制的实现也有一定的难度。
从以上的分析可以看出,星形拓扑结构与网状拓扑结构各有自己的优越性与不足之处。信用信息交换支撑平台包含工商、税务、公安、银行等多个部门,在建设实施中协调、管理的难度比较大,为此应从易部署、易管理的原则出发选择拓扑结构。为此,本系统采用星形拓扑结构实现数据交换。拓扑结构如图2所示。
图2 数据交换拓扑结构
3 主要组件
根据系统功能设计,各部分的主要组件包括:
3.1 客户端交换器
1)数据抽取组件
将要发送的数据从数据库中查询出来。
2)数据转换组件
它用来实现两方面的功能:将抽取出来的数据转换成XML格式;或者将接收到的XML形式的数据保存到本地或者将其直接插入到数据库中。数据格式转换需要用到XML的两个关键技术:XML Schema 和 XSLT[2]。XML Schema可以识别和定义某种XML数据的格式。使用XSLT技术,我们可以将源数据格式转换成目的接收方所需要的数据格式[3]。
3)消息组包/解包组件
消息组包的作用是将要发送的XML格式的数据,加上一些辅助信息,如用户认证信息,数据的描述信息及发送数据的源地址和目的地址信息以SOAP[4]的格式封装,交给消息发送组件。消息解包是解析接收到SOAP格式的消息后,通过对封装在其中的辅助消息进行分析后将其交给数据转换组件进行相应的处理。
4)消息发送组件
通过该组件调用数据交换中心的消息接收WEB服务,实现数据的发送。
5)消息接收组件
该组件是客户端接收数据的WEB服务,由数据交换中心节点调用。交换中心节点将数据发送方发送来的消息交给该组件后,消息就进入客户端节点的处理流程中。
6)日志及认证服务
日志服务对数据交换过程中客户端的处理过程进行监控,及时将处理的结果信息记录下来便于系统管理人员的随时分析。认证服务则是给数据交换的过程提供认证信息,如用户的权限,调用相应的WEB服务所需要的证书信息等。这两组服务是数据交换在客户端运行的基础服务,它们为客户端的数据交换提供保障。
3.2 数据交换中心
1)消息接收组件
数据交换中心节点的WEB服务,数据交换客户端通过调用该WEB服务将要交换的数据传给交换中心,使数据进行交换中心节点处理流程。
2)消息验证组件
该组件验证数据交换客户端传递来的消息,在确保该消息是具有相应权限的用户所发送的,并且消息在从客户端传递到交换中心的过程中没有被恶意篡改后,将消息放入本地的一个消息队列中,等待被进一步地处理。
3)数据转换组件
该组件实现在交换的双方之间进行数据格式的转换。在进行这一步的处理前,首先判断交换的双方对该类数据所使用的XML的Schema是否相同,如相同,则不做转换;如是不同,则根据相应的规则将数据转换成数据的接收方能够处理的格式。
4)数据分发组件
一组监听组件,通过定期轮询本地消息队列,将未被处理的消息发送到相应的数据交换客户端节点,实现把数据传递到目的地。
5)日志和认证服务
数据交换中心节点的日志和认证服务与客户端的日志和认证服务有相似的功能。日志服务记录中心节点接收的待交换的数据情况,同时记录将待交换的数据发送到相应的交换客户端节点的处理情况。认证服务确保只能由具有相应权限的客户端才能调用交换中心节点的WEB服务,同时,它也为交换中心节点调用各客户端节点的数据接收服务提供服务器端证书[5],确保自己也有权限调用各个客户端的数据接收WEB服务。
4 数据交换过程
1)通过调用数据抽取和转换组件,按照一定的业务规则将数据从数据库中抽取出来,并转换成XML形式;
2)已经XML化的数据在消息组包/解包组件中,被加上一些和数据交换所必须的信息,如数据的内容,用户认证信息,发送的源地址和目的地址信息等一起打包形成SOAP格式的消息,准备发送;
3)在消息发送组件中调用交换中心节点的WEB服务,将消息发送到中心节点,等待其处理。在调用该WEB服务前,可对调用者的权限进行检查,确保数据交换操作只能有具有相应权限的用户来执行;
4)交换中心节点接收到所传来的消息,并将其交给消息验证组件进行处理。此时待交换的数据就进入了交换中心节点的处理流程中。
5)消息验证组件对传来的消息进行验证,确保消息是具有相应权限的用户发送而来,并且消息在发送来的过程中没有被篡改后,将其交给数据转换组件,否则就将该数据丢弃。
6)在数据转换组件中首先判断传递来的数据的Schema是否和接收方处理该类型的Schema一致,如果一致,则直接转到第8步。
7)如果发送方与接收方对同一类型的数据的Schema不一致,则调用相应的XSLT文档,将发送方发送的XML格式的数据转换成接收方所能识别的XML格式的数据。实现源数据格式到目的数据格式的之间的转换。
8)将已经转换成所需格式的XML数据送入发送中心节点的消息队列中,等待被进一步处理。
9)在数据分发组件中采用一个服务程序不断对该消息队列进行轮询,将其中的消息根据消息中的的描述信息(如第2步封装的源地址和目的地址信息)再打包成SOAP消息,并通过调用客户端节点接收收数据的WEB服务,将数据发送到交换客户端节点中。
10)在接收节点接收到交换中心节点发送来的消息之后,先传递给消息解包组件进行分析,确保该消息是由合法的发送方(此处即为交换中心节点)发送而来后,将消息还原成XML格式的数据后,交给数据转换组件进行处理。
11)数据转换组件接收到XML格式形式的数据后,通过对其数据类型信息进行解析,将其写入数据库中,至此,一个完整的数据交换过程就完成了。
5 系统实现
本文的研究以湖南省信用信息交换支撑平台为原型,系统基于微软的.NET架构设计开发。目前,该平台除19.7万户企业和1200万名个人的信贷相关信息,还采集了155万户工商企业和个体工商户的登记监管信息,以及6000万个人身份识别信息,为加快湖南省社会信用体系建设发挥了重要作用,实现了预期的建设目标,具有良好的安全性、稳定性和扩展性。
6 结束语
本文重点从总体设计和数据交换系统的详细设计两个方面着手,设计并实现了一个基于.Net架构的信用信息交换支撑平台。该平台提供多种数据接入方式,支持跨部门跨平台的信用数据交换,提供了丰富、灵活的管理功能,设计了安全的权限管理机制。但随着社会对信用信息的需求和要求越来越高,在现有系统的基础上进一步扩充功能,丰富应用,简化操作仍有大量工作和课题有待我们继续研究和探索。
参考文献:
[1]湖南省社会信用体系建设规划.2005.
[2]XSL Transformations (XSLT) Version 1.0http://wwww.w3.org/TR/xslt
[3]吴晓丹.利用XSLT转换XML文档的应用.现代计算机2004,(12).
[4]林文才.SOAP的分析研究.现代电子技术.2005,(16).
[5]梅云红数字证书与网络安全计算机与网络.2005,(5).
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:信用信息,数据交换,.NET
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)17-31185-02
One Credit Information Exchanging and Supporting Platform Based on .NET Framework
TAN Xian-feng
(National University of Defense Technology,Software Institute,Changsha 410073,China)
Abstract:This dissertaion,aiming at the shortage of credit for the time being,carries out detailed researches and deep analysises on how to design and realize an exchanging and supporting platform of credit information based on the NET framework.This thesis focuses on the studying of systematic structure,topology structure of data exchanging,main components,process of data exchanging,accordingly comes up to a designing and realizing proposal about the exchanging and supporting platform of credit information based on the NET framework.
Key words:Credit Information; Data Exchange; .Net
0 引言
现代市场经济是信用经济,信用是现代市场经济的基础。然而,在计划经济向市场经济转轨的过程中,发生了部分单位和社会成员信用观念趋于淡化、社会信用失范、失信违约行为急剧增加、市场经济秩序紊乱的现象,影响了经济社会的健康发展和对外开放,损害了国家声誉和形象。造成信用缺失的一个重要技术原因就是社会信用体系建设滞后,“信息孤岛”问题依然严重存在,缺乏统一的企业和个人信用信息查询平台,信用信息分散在各个部门难以实现共享,缺乏对企业和个人信用状况的有效监督。
为营建诚实守信的良好市场环境,加快信用信息系统建设,以企业和个人征信为主要内容,整合各部门、各行业、各方面的信用信息资源,建立综合性的信用信息数据库,形成信用信息资源共享机制已是当务之急[1]。
针对上述问题,有关部门提出了构建 “三库一网一平台”的社会信用信息系统建设思路。“三库”即以信贷服务为重点的人民银行系统的企业和个人信用信息数据库;以市场监管为重点的工商系统的企业信息基础数据库;以身份证系统为依托的公民信息数据库。“一网”是指社会信用网,通过互联网实现政府部门政务信息公开。“一平台”是指电子政务外网数据交换平台,即本文要研究的信用信息交换支撑平台。
1 系统结构
整个信用信息交换支撑平台分为三个层次:应用接入、数据交换、数据存储与应用,其总体框架如图1所示。
图1 系统总体框架
(1)应用接入层
信用采集终端放置在各个委办局。同部门单位、垂直业务系统进行数据交换的时候,从业务完整性和安全性等考虑,很难允许数据交换平台直接操作原有业务系统的业务流程或数据库,因此采用前置机方式进行企业信用数据采集、审核,把数据暂时存放在终端上的前置数据库,然后调用数据交换平台前置机相应功能进行数据上传,并可以接收中心发过来的数据和消息。对于没有条件直接进行数据交换的单位,交换平台提供单独的虚拟接入终端,作为该单位数据采集点。
(2)数据交换层
数据交换层是整个支撑平台的核心,主要实现对要交换的业务数据的接收、转换、备份以及转发。采集上来的信用数据,缓存在数据中心,然后就通过一定业务分析,送到信用数据库,同时在信用信息发布系统上备份交换的数据。信用信息系统依托外网基础服务中的SQL Server数据库集群,提供包括信用数据库,部门业务数据库,公共数据库等数据库的备份服务。
(3)数据存储层
信用数据库是把各个委办局采集终端上传的数据进行接收,进行新旧数据的比对,数据汇总、整理,这时数据暂时存放在前置数据库,数据经审核后进入正式的信用数据库存储,委办局用户及领导可以对企业信用数据进行查询和统计,还可以利用BI工具进行数据的深层挖掘。
2 数据交换拓扑结构
针对数据交换层的任务要求,数据交换常见的拓扑结构有星形结构和网状结构两种。
在星形结构中,数据的交换发生在中心节点上。该节点接收来自各个业务子系统的数据,解析接收到的数据并按数据交换目的地的格式进行转换,然后发送到目的地。通过数据交换中心节点,可以实现在数据源和目的地之间建立一个透明的安全的数据传输通道。在星形拓扑结构下,数据交换集中且便于控制,数据交换参与者的一方发生改变时,该变化可及时反映给中心节点,中心节点可根据情况改变它的交换逻辑,这样的改变不会对其它业务子系统造成任何影响,改变对它们是透明的。但中心节点负荷将非常大,在设计中必须考虑负载均衡;同时,在星形结构中,如果中心节点发生故障,那么全部业务之间都不能互相通信,所以,应当设计一种错误处理及容错的机制。
在网状拓扑结构中,将数据交换节点分散到各企业内部,数据交换逻辑由各企业自己实现。在这种方式下,单个结点的失败不会对整个系统造成决定性影响,较好的实现了容错机制。系统的负荷也由各子节点分担,实现了负载均衡。但同时也带来了管理和实现上的难度。随着数据交换节点的增加,给系统部署带来了难度。并且,从数据交换业务上来说,如果其中一方的数据模式发生改变,除了要修改其自己数据交换逻辑外,它还需要通告所有的数据交换参与者,让它们同步修改对应的实现逻辑,这种同步机制的实现也有一定的难度。
从以上的分析可以看出,星形拓扑结构与网状拓扑结构各有自己的优越性与不足之处。信用信息交换支撑平台包含工商、税务、公安、银行等多个部门,在建设实施中协调、管理的难度比较大,为此应从易部署、易管理的原则出发选择拓扑结构。为此,本系统采用星形拓扑结构实现数据交换。拓扑结构如图2所示。
图2 数据交换拓扑结构
3 主要组件
根据系统功能设计,各部分的主要组件包括:
3.1 客户端交换器
1)数据抽取组件
将要发送的数据从数据库中查询出来。
2)数据转换组件
它用来实现两方面的功能:将抽取出来的数据转换成XML格式;或者将接收到的XML形式的数据保存到本地或者将其直接插入到数据库中。数据格式转换需要用到XML的两个关键技术:XML Schema 和 XSLT[2]。XML Schema可以识别和定义某种XML数据的格式。使用XSLT技术,我们可以将源数据格式转换成目的接收方所需要的数据格式[3]。
3)消息组包/解包组件
消息组包的作用是将要发送的XML格式的数据,加上一些辅助信息,如用户认证信息,数据的描述信息及发送数据的源地址和目的地址信息以SOAP[4]的格式封装,交给消息发送组件。消息解包是解析接收到SOAP格式的消息后,通过对封装在其中的辅助消息进行分析后将其交给数据转换组件进行相应的处理。
4)消息发送组件
通过该组件调用数据交换中心的消息接收WEB服务,实现数据的发送。
5)消息接收组件
该组件是客户端接收数据的WEB服务,由数据交换中心节点调用。交换中心节点将数据发送方发送来的消息交给该组件后,消息就进入客户端节点的处理流程中。
6)日志及认证服务
日志服务对数据交换过程中客户端的处理过程进行监控,及时将处理的结果信息记录下来便于系统管理人员的随时分析。认证服务则是给数据交换的过程提供认证信息,如用户的权限,调用相应的WEB服务所需要的证书信息等。这两组服务是数据交换在客户端运行的基础服务,它们为客户端的数据交换提供保障。
3.2 数据交换中心
1)消息接收组件
数据交换中心节点的WEB服务,数据交换客户端通过调用该WEB服务将要交换的数据传给交换中心,使数据进行交换中心节点处理流程。
2)消息验证组件
该组件验证数据交换客户端传递来的消息,在确保该消息是具有相应权限的用户所发送的,并且消息在从客户端传递到交换中心的过程中没有被恶意篡改后,将消息放入本地的一个消息队列中,等待被进一步地处理。
3)数据转换组件
该组件实现在交换的双方之间进行数据格式的转换。在进行这一步的处理前,首先判断交换的双方对该类数据所使用的XML的Schema是否相同,如相同,则不做转换;如是不同,则根据相应的规则将数据转换成数据的接收方能够处理的格式。
4)数据分发组件
一组监听组件,通过定期轮询本地消息队列,将未被处理的消息发送到相应的数据交换客户端节点,实现把数据传递到目的地。
5)日志和认证服务
数据交换中心节点的日志和认证服务与客户端的日志和认证服务有相似的功能。日志服务记录中心节点接收的待交换的数据情况,同时记录将待交换的数据发送到相应的交换客户端节点的处理情况。认证服务确保只能由具有相应权限的客户端才能调用交换中心节点的WEB服务,同时,它也为交换中心节点调用各客户端节点的数据接收服务提供服务器端证书[5],确保自己也有权限调用各个客户端的数据接收WEB服务。
4 数据交换过程
1)通过调用数据抽取和转换组件,按照一定的业务规则将数据从数据库中抽取出来,并转换成XML形式;
2)已经XML化的数据在消息组包/解包组件中,被加上一些和数据交换所必须的信息,如数据的内容,用户认证信息,发送的源地址和目的地址信息等一起打包形成SOAP格式的消息,准备发送;
3)在消息发送组件中调用交换中心节点的WEB服务,将消息发送到中心节点,等待其处理。在调用该WEB服务前,可对调用者的权限进行检查,确保数据交换操作只能有具有相应权限的用户来执行;
4)交换中心节点接收到所传来的消息,并将其交给消息验证组件进行处理。此时待交换的数据就进入了交换中心节点的处理流程中。
5)消息验证组件对传来的消息进行验证,确保消息是具有相应权限的用户发送而来,并且消息在发送来的过程中没有被篡改后,将其交给数据转换组件,否则就将该数据丢弃。
6)在数据转换组件中首先判断传递来的数据的Schema是否和接收方处理该类型的Schema一致,如果一致,则直接转到第8步。
7)如果发送方与接收方对同一类型的数据的Schema不一致,则调用相应的XSLT文档,将发送方发送的XML格式的数据转换成接收方所能识别的XML格式的数据。实现源数据格式到目的数据格式的之间的转换。
8)将已经转换成所需格式的XML数据送入发送中心节点的消息队列中,等待被进一步处理。
9)在数据分发组件中采用一个服务程序不断对该消息队列进行轮询,将其中的消息根据消息中的的描述信息(如第2步封装的源地址和目的地址信息)再打包成SOAP消息,并通过调用客户端节点接收收数据的WEB服务,将数据发送到交换客户端节点中。
10)在接收节点接收到交换中心节点发送来的消息之后,先传递给消息解包组件进行分析,确保该消息是由合法的发送方(此处即为交换中心节点)发送而来后,将消息还原成XML格式的数据后,交给数据转换组件进行处理。
11)数据转换组件接收到XML格式形式的数据后,通过对其数据类型信息进行解析,将其写入数据库中,至此,一个完整的数据交换过程就完成了。
5 系统实现
本文的研究以湖南省信用信息交换支撑平台为原型,系统基于微软的.NET架构设计开发。目前,该平台除19.7万户企业和1200万名个人的信贷相关信息,还采集了155万户工商企业和个体工商户的登记监管信息,以及6000万个人身份识别信息,为加快湖南省社会信用体系建设发挥了重要作用,实现了预期的建设目标,具有良好的安全性、稳定性和扩展性。
6 结束语
本文重点从总体设计和数据交换系统的详细设计两个方面着手,设计并实现了一个基于.Net架构的信用信息交换支撑平台。该平台提供多种数据接入方式,支持跨部门跨平台的信用数据交换,提供了丰富、灵活的管理功能,设计了安全的权限管理机制。但随着社会对信用信息的需求和要求越来越高,在现有系统的基础上进一步扩充功能,丰富应用,简化操作仍有大量工作和课题有待我们继续研究和探索。
参考文献:
[1]湖南省社会信用体系建设规划.2005.
[2]XSL Transformations (XSLT) Version 1.0http://wwww.w3.org/TR/xslt
[3]吴晓丹.利用XSLT转换XML文档的应用.现代计算机2004,(12).
[4]林文才.SOAP的分析研究.现代电子技术.2005,(16).
[5]梅云红数字证书与网络安全计算机与网络.2005,(5).
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。