2级别大数据交换解决方案设计.docx
- 文档编号:12918407
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:29
- 大小:892.73KB
2级别大数据交换解决方案设计.docx
《2级别大数据交换解决方案设计.docx》由会员分享,可在线阅读,更多相关《2级别大数据交换解决方案设计.docx(29页珍藏版)》请在冰豆网上搜索。
2级别大数据交换解决方案设计
金和OA公文数据交换解决方案
北京金和软件股份有限公司
2011年9月20日
1公文数据交换解决方案
1.1数据交换方式
金和公文数据交换平台需要提供多种交换方式,以满足不同应用场景的交换需要。
按照交换的数据量和及时性要求,需要提供同步和异步的交换方式;从交换的发起方区分,需要提供发送和抽取方式;从交换的触发源区分,需要提供应用触发和自动方式.
1.1.1同步/异步交换方式
公文交换的整个过程一般包括发送方处理、数据传输、接收方处理三个过程,同步是这三个过程按顺序全部执行完成后,发送方才收到反馈,在此过程中,发送方一直处于阻塞状态;异步是发送方处理完成后就返回,而数据传输、接收方处理都在后台进行。
同步适合于数据量较小,及时性要求较高的交换需求;异步适合于数据量较大的交换需求。
下面以发送过程为例说明同步/异步的处理需求。
(1)同步方式典型用例
以发送方式进行说明,如图1-1所示:
图1-1同步发送用例
同步发送按以下步骤进行:
1)交换发起方(即调用者,如业务应用或定时器)启动交换操作;
2)发送方收到请求后,进行数据准备并向接收方发送数据;
3)接收方处理完成后,向发送方返回处理结果;
4)发送方将处理结果返回给调用者。
(2)异步方式典型用例
以发送方式进行说明,如图2-2所示:
图1-2异步发送用例
异步发送按以下步骤进行:
1)交换发起方启动交换操作;
2)发送方收到请求后,进行数据准备并向接收消息队列发送数据;
3)发送到接收消息队列/邮箱后,返回发送结果;
4)发送方将发送结果返回给调用者;
5)接收方监听接收消息队列,当数据到达时,读取数据并进行处理;
6)接收方处理完成后,将处理结果发送到回复消息队列;
7)发送方监听回复消息队列,当发送处理结果到达回复消息队列/时,读取回复结果并记录日志。
1.1.2发送/抽取交换方式
1)发送与抽取的差别在于发送是由数据提供方发起,抽取是由数据接收方(需求方)发起,对于发送操作,可参见“同步/异步”中的说明。
以下是抽取用例,如图1-3所示:
图1-3抽取用例
2)抽取按以下步骤进行:
3)交换发起方(即数据需求方)启动交换操作;
4)接收方收到请求后,向发送方发送抽取请求;
5)发送方收到请求后,向接收方返回数据;
6)接收方收到数据后进行处理,并返回抽取结果给交换发起方。
1.1.3即时出发/自动交换方式
即时触发与自动交换的不同在于即时触发是当调用者发送交换请求时,交换立即开始执行;自动是按周期在无人值守的前提下,自动启动交换操作。
自动方式用例,如图1-4所示:
图1-4自动发送方式用例
即时触发用例,如图1-5所示:
图1-5即时触发发送用例
数据交换平台在实际应用场景中,一般是同步/异步、发送/抽取、应用触发/自动3种方式或类别的组合,以下描述最典型的两种应用场景的交换方式。
(1)两级数据中心自动交换
金和公文数据交换平台是实现纵向数据贯通的统一通道,两级公文数据中心级联需要通过数据交换平台实现。
由于数据中心不同于业务应用,数据中心没有业务人员负责数据的传输,因此采用自动交换方式,实现在无人值守的情况下,自动完成两级数据中心之间数据的交换。
两级数据中心级联用例如图1-6所示:
图1-6两级数据中心级联
实现两级数据中心级联,需满足如下要求:
自动发送:
分公司公文数据交换平台根据系统时钟按预定设置自动发起交换操作,从分公司数据中心获取数据,按交换标准封装后发送到公司总部公文数据交换平台,总部公文数据交换平台解析处理后,将数据存入公司总部OA系统之中;
自动抽取:
公司总部数据交换平台根据系统时钟按预定设置自动发起交换操作,通过调用分公司公文数据交换平台,从分公司数据中心获取数据,完成抽取操作;
调度管理机制:
需提供灵活的、可定义的调度机制,实现自动交换;
交换可以是双向的。
(2)业务应用触发交换
传输业务应用数据是数据交换平台的一个重要应用场景,数据交换平台需要实现应用即时触发交换,同时支持日志查询、数据到达通知功能,用例如图1-7所示:
图2-7应用即时触发交换
应用即时发送:
发送数据时,数据的封装可以由业务应用完成,也可以通过数据交换平台完成。
业务应用封装数据:
分公司业务应用对需要交换的数据按交换标准进行封装,封装后调用分公司数据交换平台;分公司、公司总部数据交换平台按照交换设置完成交换后,将交换结果返回给业务应用;
数据交换平台封装数据:
分公司业务应用在交换前将数据存入数据中心后调用数据交换平台;分公司、公司总部数据交换平台按照交换设置完成交换后,将交换结果返回给业务应用。
应用即时抽取:
公司总部业务应用调用公司总部数据交换平台,传入抽取数据的说明信息;分公司、公司总部数据交换平台按照交换设置完成抽取后,将交换结果返回给业务应用。
数据到达通知:
数据到达通知既可以发送到数据交换平台中的队列,也可以发送到业务应用中的队列。
发送通知到数据交换平台的队列:
公司总部收到数据后,公司总部数据交换平台发送通知到数据交换平台中的消息队列,公司总部业务应用监听该队列,当通知到达后,业务应用根据通知内容启动相应操作;
发送通知到业务应用的队列:
公司总部收到数据后,公司总部数据交换平台发送通知到业务应用中的消息队列,公司总部业务应用监听该队列,当通知到达后,业务应用根据通知内容启动相应操作。
日志查询:
公司总部或分公司业务应用调用数据交换平台接入服务,查询交换的发送日志或接收日志。
1.2数据的格式
数据可分为两大类:
结构化数据和非结构化数据。
结构化数据是指诸如企业财务账目、客户信息、业务操作数据等具有明显结构化特性的数据。
非结构化数据包括扫描文档图像、传真、照片、动画、文字处理文档、电子表格、演示文稿、语音和视频片段等。
金和公文数据交换平台不但要实现结构化数据的交换,同时要交换非结构化数据,非结构化数据相对于结构化数据而言,数据量巨大。
无业务应用:
对于无业务系统部门,需要通过数据交换平台向公司总部报送数据,数据通常是由手工录入的,要求数据交换平台提供Excel格式的交换标准,以便业务人员可以手工填写,完成报送;
业务应用:
对于已建的业务应用,通过调用数据交换平台接入服务方式完成交换。
由于XML作为当前主流的数据存储语言,具有遵循严格的语法要求、便于不同系统之间信息传输、具有较好的保值性等特点,所以要求数据交换平台提供基于XML格式的交换标准,当然对于数据量在Excel行/列容量范围内,也可以利用Excel格式作为交换标准;
调度自动化系统:
生产数据是公司重要数据,公司大多生产数据来源于调度自动化系统,而调度自动化系统数据格式全部采用结构简单、封装后容量小的E语言,因此交换标准需要支持E语言的数据格式;
以上3种情况针对结构化数据而言,对于非结构化数据,以二进制文件方式进行;
平台间数据交换格式:
分公司与公司总部之间交换的数据也必须采用统一的数据交换标准;支持格式转换:
数据提供方与数据接收方可以不使用同一种数据格式。
2金和OA公文数据交换平台
2.1交换传输层管理
2.1.1WebServices
WebServices是一种部署在Web上的对象/组件,利用标准的、规范的描述语言WSDL进行描述,该描述文件中包括了与服务交互需要的全部细节,包括消息格式、传输协议和位置,隐藏了实现服务的细节,服务消费者可以独立于实现服务所基于的硬件平台、软件平台与编写服务所用的编程语言。
基于WebServices的应用程序具有松散耦合、面向组件和跨平台互操作的技术特性,具有高度可集成能力。
基于WebServices的这些特点,数据交换平台使用WebServices作为两个数据交换平台间远程数据交换传输通道之一,可以满足小数据量、及时性要求高的传输需求。
2.1.2消息队列
消息队列能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行安全、可靠的传送、存储、转发。
数据交换平台在构建传输层时,将消息队列传输作为一个重要的底层传输手段,充分利用消息队列可靠传输的优点,实现大批量数据传输及断点续传功能,以满足总部和各分公司的大数据量交换的需要。
队列设计:
根据传输的需要,在公司总部与分公司设计相应的队列,完成数据的发送、接收、处理结果的回复发送、处理结果的接收;队列组织图如图2-1所示:
图2-1队列组织图
对公文数据交换平台交换的数据按大小可分为小数据量和大数据量两类,当交换大数据量数据时,为了减少系统资源占用,避免出现大量消息排队阻塞的情况,将数据首先保存为文件,然后作为文件消息发送,并为其规划单独的文件消息传输队列,当文件消息到达接收端时,向接收端的接收队列发送通知消息;小数据量直接发送到接收队列中;接收方在收到数据后,通过发送数据的队列,向发送方发送回复信息。
在发送方,包含四个队列:
发送数据队列、发送文件队列、数据接收队列(包括接收回复信息的队列)、接收文件队列。
在接收方,包括针对各发送方的发送队列、发送数据队列、接收数据队列、接收文件队列。
队列容量设计:
消息队列基于广域网进行数据传输,受网络限制,传输速度比较慢,因此消息队列深度必须较大,这样在数据交换频率较高时,不至于出现消息队列满,导致发送失败的问题。
数据压缩设计:
因为网络带宽限制,在交换大数据量数据时,传输时间与数据量成正比,因此,增加对大数据量数据压缩功能,从而有效减小网络传输数据量,提高传输效率。
2.1.3其他
电子邮件:
电子邮件作为最常用的数据传输方式已被广为使用,对网络条件要求低,数据交换平台采用电子邮件的方式作为传输通道,可以满足网络条件较差的传输需求。
HTTP/HTTPS传输:
HTTP是超文本传输协议的缩写,它用于传送WWW方式的数据。
HTTP协议采用了请求/响应模型,客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。
服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容;对HTTP采用SSL加密,可以采用HTTPS协议,保证传输的安全性。
数据交换平台采用HTTP方式实现手工准备的数据的网站提交,实现数据交换。
2.2平台安全管理
金和OA公文数据交换平台的安全包括以下三个方面:
传输层安全:
采用安全的数据传输通道,对传输通道进行加密,防止数据在传输过程中被篡改、被窃听,实现数据传输的安全;
管理控制层安全:
在数据交换管理控制中,只允许经授权的用户访问资源或使用传输通道进行数据交换;对数据交换过程记录交换日志,对关键操作记录审计日志,实现数据管理控制层的安全;
访问安全:
在业务应用接入到数据交换平台中,通过与目录服务集成,提供应用接入安全,保证数据交换的访问安全。
3.4.1数据传输安全
数据交换平台提供了基于消息、SOAP、邮件、HTTP的传输通道,为了保证数据交换传输的安全性,对各类通道进行安全考虑,实现了传输的安全。
1)消息传输通道安全性:
数据交换平台实现了基于消息的传输通道,发送方通过消息队列将数据传输到接收方的消息队列中。
通过以下方式保证消息传输通道的安全性:
安全连接(SSL):
通过配置使用安全套接字层(SSL)保证通信的私密性,实现传输信道的安全。
传输身份认证:
用作安全性检查,在两个数据交换平台之间,传输通道启动时,进行双方的安全身份认证,防止非法接入。
消息重试:
处理消息不能到达目的地的问题。
传输重试:
当通讯失败时,暂停数据发送,并将消息进行存储,在通讯恢复后,进行重新发送。
2)WebServices传输安全性:
基于SOAP协议的数据传输采用WS-Security(Web服务安全)标准规范,通过对SOAP消息应用消息完整性、消息机密性和单消息认证提供了保护级别。
通过与CA认证系统集成,保证了传输的安全性。
3)HTTP/HTTPS传输安全性:
由于HTTP协议本身不具备完善的安全传输机制,所以通过HTTPS协议进行传输。
3.4.2管理控制层安全
金和OA公文数据交换管理控制层是实现数据交换的核心层,负责对交换全过程的管理控制,提供了以下两个方面的安全:
安全审计日志:
系统记录合法用户的关健操作、对敏感信息的访问事件。
审计信息以日志的模式记录到审计日志中。
审计人员可以查询、检查审计日志。
交换日志:
数据交换平台对交换的全过程进行记录,包括:
交换时间、发送方/接收方信息、数据大小、交换结果(成功/失败),保证每次的交换事件可跟踪。
设置日志策略,设定合理的日志文件大小和覆盖策略。
3.4.3访问安全
对数据交换平台资源进行访问控制,防止非法用户进入系统。
包括了两个方面的安全:
用户登录平台时,需提供认证功能;对数据交换平台提供的WebServices服务进行安全认证,防止非法用户调用WebServices。
金和OA公文数据交换平台可以与企业目录服务进行集成,实现了统一身份认证、单点登录;公文数据交换平台可获取目录服务中的用户,通过对目录服务中的用户授权,实现权限管理,在与目录服务的集成过程中,可以实现对目录服务中的用户、用户组进行过滤,缩小用户范围,简化授权管理;当用户通过企业门户进入数据交换平台后,公文数据交换平台获取企业门户提供的上下文,通过上下文确定是否是合法用户,如果是合法用户,根据权限列表显示相应的功能,如果是非法用户,不允许访问,如图2-2所示:
图2-2交换平台与企业门户交互过程
数据交换平台以WebService方式对外提供交换服务,公司其它业务应用可以直接调用,也可以通过ESB进行调用,在调用过程中,数据交换平台提供了身份认证功能,防止非法调用。
数据交换平台提供了发送/抽取、同步/异步、自动/应用触发等交换方式,满足了两级数据中心级联、众多业务应用的传输需求。
2.3典型交换过程
金和OA公文数据交换平台提供了灵活的交换管理控制和调度管理功能,支持发送/抽取、同步/异步、自动/手动、应用触发的数据交换方式,满足不同应用场景、不同的数据类型和不同的交换频度的交换需要。
根据数据中心、业务应用利用数据交换平台实现纵向数据交换的典型应用场景,总结概括典型交换过程,详细说明数据交换平台内部的实现机制与交换流程。
2.3.1自动同步发送
自动同步发送是由数据提供方自动发起交换操作,并采用同步的方式进行发送,其执行过程如图2-3所示:
图2-3自动同步发送
发送过程如下:
1)交换调度器自动发起发送操作;
2)发送服务记录发送日志;
3)发送服务调用发布服务;
4)发布服务读取交换标准;
5)发布服务从数据中心或业务数据库读取数据;
6)发布服务按交换标准封装数据;
7)发布服务返回按交换标准封装完的数据;
8)发送服务调用发送执行模块;
9)发送执行模块调用公司总部接收服务;
10)接收服务收到调用请求后,记录接收日志;
11)接收服务读取交换标准;
12)接收服务按交换标准解析数据;
13)接收服务将解析后的数据写入数据中心或业务数据库;
14)接收服务记录处理结果;
15)接收服务发送数据到达通知到数据到达通知队列;
16)接收服务向发送服务返回处理结果;
17)发送服务根据接收服务处理结果,记录回执信息。
2.3.2应用触发异步发送
应用触发异步发送的发送操作的发起者是业务系统,与自动发送不同的是发送的发起者不同。
异步发送可以采用消息,也可以采用邮件方式,下面以消息为例,说明应用触发异步发送的过程,其执行过程如图2-4所示:
图2-4应用触发异步发送
发送过程如下:
1)金和协同办公系统发起发送操作并调用交换平台接入服务;
2)接入服务调用发送服务;
3)发送服务记录发送日志;
4)发送服务调用发布服务;
5)发布服务读取交换标准;
6)发布服务从数据中心读取数据;
7)发布服务按交换标准封装数据;
8)发布服务返回按交换标准封装完的数据;
9)发送服务调用发送执行模块;
10)发送执行模块将数据发送到发送方的发送队列;
11)发送队列自动将数据发送到接收方的接收队列;
12)接收方队列监听器监听到数据到达时,从消息队列中读取数据;
13)队列监听器调用接收服务;
14)接收服务收到调用请求后,记录接收日志;
15)接收服务读取交换标准;
16)接收服务按交换标准解析数据;
17)接收服务将解析后的数据写入数据中心;
18)接收服务记录处理结果;
19)接收服务发送数据到达通知到通知队列;
20)接收服务向队列监听器返回接收处理结果;
21)队列监听器向回复发送队列发送接收方处理结果;
22)回复发送队列向回复接收队列发送处理结果;
23)发送方队列监听器监听到回复接收队列数据到达时,从消息队列中读取处理结果;
24)队列监听器根据接收方处理结果,记录回执信息。
2.3.3发送非结构化数据
数据交换平台不但可以实现结构化数据的交换,同时也可以实现非结构化的数据交换,如媒体文件、各类文档等,其执行过程如图2-5所示:
图2-5发送非结构化数据
发送过程如下:
1)业务系统发起发送操作并调用交换平台的接入服务,将文件及相关信息传入接入服务;
2)接入服务通过分析后,调用发送服务;
3)发送服务记录发送日志;
4)发送服务调用发送执行模块;
5)发送执行模块将文件及相关信息发送到发送方的发送队列;
6)发送队列自动将文件及相关信息发送到接收方的接收队列;
7)接收方队列监听器监听到文件及相关信息到达时,从消息队列中读取文件及相关信息;
8)队列监听器调用接收服务;
9)接收服务收到调用请求后,记录接收日志;
10)接收服务将文件写入共享磁盘;
11)接收服务记录处理结果;
12)接收服务发送数据到达通知到通知队列;
13)接收服务向队列监听器返回接收处理结果;
14)队列监听器向回复发送队列发送接收方处理结果;
15)回复发送队列向回复接收队列发送处理结果;
16)发送方队列监听器监听到回复接收队列数据到达时,从消息队列中读取处理结果;
17)队列监听器根据接收方处理结果,记录回执信息。
2.3.4自动抽取
自动抽取是在无人干预的情况下,由数据需求方发起交换操作。
关于自动调度的处理过程可以参考“交换调度器”,当交换调度器启动抽取操作后,其执行过程如图3-16所示:
图3-14自动抽取
抽取过程如下:
1)交换调度器启动抽取操作;
2)抽取服务通过公司网络,调用数据提供方的发布服务;
3)发布服务读取交换标准;
4)发布服务从数据中心读取数据;
5)发布服务按交换标准封装数据;
6)发布服务将封装后的数据返回给抽取服务;
7)抽取服务调用公司总部接收服务;
8)接收服务收到调用请求后,记录接收日志;
9)接收服务读取交换标准;
10)接收服务按交换标准解析数据;
11)接收服务将解析后的数据写入数据中心;
12)接收服务记录处理结果;
13)接收服务发送数据到达通知到通知队列。
2.4公文交换平台设置
平台中心不参与实际业务流转,只是业务数据流转的一个交互平台,各个C6系统之间的业务数据都发送到中心平台后平台在分析数据,再根据数据分析结果把各类信息送到各个C6系统中,实现信息互通。
平台中心系统主要有几个功能:
1、平台中心管理员设置功能2、信息交互模块内容查看及管理功能3、交互系统地址等参数设置
1、平台中心管理员设置功能是建立用户账号和密码,对建立的用户能够访问平台中心系统,能够维护平台。
如图:
2、信息交互模块内容查看及管理功能是对平台中进行交互信息时留下的备份文件及正在交互的文件进行销毁和转存等操作。
页面如图:
3、交互系统地址等参数设置是对要进行交互系统的地址、账号、密码、加方式等信息设置。
如新建或删除和修改等操作功能。
页面如图:
其次是业务系统平台设置及维护功能,具体功能主要有三个方面:
1、基础信息设置
2、寻呼互通
3、流程审批功能
基础信息设置有三个方面:
A、C6系统加入平台中心系统
B、用户设置
C、单点登陆设置
A、C6系统加入平台中心系统。
是c6系统能否与总部C6系统或其他地区的C6系统进行信息交互。
主要是设置连接参数,设置的参数都是平台中心管理员给的,自己不能随便修改。
如图:
B、用户设置是要把本系统内的用户公开给总部C6系统或其他的C6系统,这样就能进行直接的信息交流(寻呼互通)。
设置页面如图:
C、单点登陆设置是在某些特殊情况下,总部的人还要查看下级单位的信息而不增加C6系统与平台中心的交互压力,这样就能管理或查看所有业务信息,实现精确管理。
例如某位员工的日记、计划、任务等等。
实现方式是在要的登陆的C6系统里添加领导账户,用户名和密码等相应信息后,再在本系统中设置能访问的系统地址等信息。
寻呼互通是在系统寻呼发布页面中能直接把人员选上进行信息发送功能,在发送时判断发送的人员地址如果有跨系统的人员就调用webservice服务,把信息发送给平台中心,平台中心在解析内容后,把相应的内容分发给各自的系统人员,达到及时通信交流功能。
2.5集团审批流程案例
在审批中过程中大致有12个地方需要修改程序。
主要处理在3、4、5、8、9、10等几个步骤做特殊处理。
如图:
1、流程使用中的webservice处理
在实际业务流审批中,有些文件需要总部审批的,这样按照现在的系统(安装多套)处理方式就需要流程跨系统处理审批,跨系统处理的话就需要把流程的信息传递给平台中心。
平台中心在按照业务逻辑的方式送给实际业务系统审批(总部审批、或多系统会签)。
能把数据有效的传递到跨系统的方式就是webservice方式,需要写个服务方法来传递这些审批内容。
2、发起流程后到集团总部审批是当前流程暂停处理及办理意见处
流程发起后流转到跨系统步骤审批时,需要调用
(1)的webservice方法,这样在调用方法之前要做数据处理,需要把当前的流程做暂停处理,同时需要把流程的审批意见、流程步骤、审批内容、当前系统标识信息等内容组织到一起形成一个XML文件给webservice方法传递给平台中心处理。
3、Webservice流程数据接收处理
流程接收处理方法有两个,一个是平台中心的接收处理、另一个是业务系统的接收处理。
平台接收处理:
是在
(2)调用webservice方法后,平台中心接收内容,处理接收下来的内容作哪些操作,如单系统审批(总部审批)、多系统审批(会签),同时要把一些信息内容解析保存在平台中心、以备后续处理(总部审批后在把内容回传给发起者)。
业务系统接收处理:
平台中心把流程信息通过webservice的方式传递给业务系统,业务系统处理走哪个流程审批,审批内容数据怎么保存(office文件保存、数据库字段保存、发起流程系统信息(华北区系统发起请示给北京总部审批,总部要记住流程是华北区发起的,审批结束后要通知华北区审批结果)、发起流程的基本信息(请示流程、请示流程在数据库中的唯一ID及office文档在数据库中的唯一ID等信息))
4、流程添加按钮(把流程提交给中心平台的操作按钮)
在流程中添加按钮,按钮事件是把内容发布到平台中心(类似转下一步或会签按钮),在流程设置中有按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 级别 数据 交换 解决方案 设计