专利名称:基于Web服务的数据交换方法
技术领域:
本发明涉及一种应用于电子政务信息交换平台中的基于Web服务的数据交换方法。
背景技术:
电子政务是一种通过电子信息网络公开处理或发布政务的一种政务处理方式,它为政府与公众之间建立起了一个快速、公开的信息/事务沟通渠道。为了实现电子政务,需要建立一个电子政务信息交换平台,使公众可以与不同级别的政府部门之间进行信息的传递和交换。
目前,我国主要的电子政务信息交换平台有东方通科技公司提供的TongLINK/Q电子政务信息交换平台、万达信息股份有限公司提供的CuteEAI电子政务信息交换平台、北京航空航天大学计算机新技术研究所提供的ACTIIP平台等,它们都能够实现信息的传递、数据的交换,但是,它们实现数据交换的方法、数据传输过程中采用的协议各不相同,而且,它们适用的网络环境也各不相同。
TongLINK/Q电子政务信息交换平台是东方通科技公司推出的面向分布式应用系统的消息中间件,是为网络环境下客户端/服务器结构的应用系统的开发和运行提供支撑的平台。TongLINK/Q电子政务信息交换平台在信息交换方面采用消息队列的实现方式,这种方式要求不同安全域下的应用系统都要为其开放特殊端口,且组网能力会受到制约,并且很难做到端到端的安全传输,易受到中间人攻击方式的安全入侵。它更适用于部门内部的局域网,不适宜互联网。
CuteEAI信息交换平台是万达信息股份有限公司推出的电子政务信息交换平台,它是在分布式的网络环境下,完成对于各种异构的数据资源进行基于策略的数据集成和交换的平台,集成了对信息的采集、处理、发布、检索、迁移等一系列功能,应用系统可以在该平台上容易的进行二次开发。CuteEAI在信息交换方面采用基于TCP/IP网络协议的实现方式,这种方式也要求不同安全域下的应用系统为其开放特殊端口。
ACTIIP平台是北京航空航天大学计算机新技术研究所开发研制的一个基于Web服务的电子政务信息交换平台,它作为电子政务信息化平台的重要组成部分,为上层应用系统提供了端到端之间的安全可靠的数据交换通道,不需要不同安全域下的应用系统为其开放特殊的端口。ACTIIP平台通过适配器机制提供多种应用系统接入方式,支持传输多种存储方式的应用数据。
发明内容
为了解决电子政务信息交换平台中数据交换的复杂性问题,本发明的主要目的是提供一种应用于ACTIIP平台中的可实现应用系统端到端之间安全传输的数据交换方法。
本发明的另一目的是提供一种通过切片机制支持超大数据传输的数据交换方法。
本发明的又一目的是提供一种具有容错处理和故障恢复机制的数据传输方法。
为实现上述目的,本发明采用以下技术方案一种基于Web服务的数据交换方法,它采用http协议通过Web服务调用的方式完成不同安全域下的应用系统之间端到端的数据交换;在数据交换的过程中采用三次握手机制,具体方法是A、第一次握手发送方向接收方发送连接请求,请求内容包括发送方的安全证书和防止重放攻击的随机数,请求内容用接收方的公钥加密;B、第二次握手接收方接收到发送方的连接请求后,向发送方发送连接响应,响应内容包括接收方的证书、发送方生成的随机数、接收方自己生成的随机数、以及接收方生成的对称传输密钥,响应内容用发送方的公钥加密;C、发送方收到接收方的连接响应后,再将接收方生成的随机数和对称传输密钥返还给接收方,验证双方的身份;D、当收发双方通过三次握手建立起端到端的安全数据传输通道后,双方开始利用该通道传输数据。
当收发双方通过三次握手建立起端到端的安全数据传输通道后,双方开始利用该通道传输数据;所述数据采用推数据方式或拉数据方式进行传输;推数据方式是指数据发送方主动向数据接收方发出传输请求,并在获得接收方确认后,数据发送方再将数据传输给数据接收方;拉数据方式是指由数据接收方向数据发送方发出请求索要数据的请求,并在获得数据发送方确认后,等待数据发送方将数据传输给数据接收方。
所述传输数据按照交换双方协商好的分片大小被分割成一片、一片的数据进行传输。
本发明还采用了故障恢复技术,即,将数据传输过程中传输状态描述信息备份在硬盘上,当故障消除后,可以从断点处恢复工作,从而实现断点续传;具体方法是A、在数据交换系统的处理流程中,定义一系列的故障恢复点;B、当流程执行到这些故障恢复点时,将当前事务信息保存到文件中;C、系统发生故障则流程回滚到最近的故障恢复点,一旦系统重新启动之后,便从事务信息文件中读取出相应的恢复点信息,继续故障前的执行流程完成数据交换。
与其它产品在数据交换过程的设计实现方面相比,本发明提供的数据交换方法具有以下一些特点1、由于本发明是建立在Web服务的基础上,因此可以利用http协议穿透防火墙,使得跨不同安全域的子网可以方便的进行信息交换;2、通过三次握手机制实现端到端的安全传输,对传输过程中经过的中间节点透明,从而很大程度的降低了中间人方式攻击的可能性;3、具有容错处理和故障恢复机制,支持断点续传,使得很大程度的减弱了网络状况的不稳定对传输过程的影响,并提高了传输效率;4、通过切片机制支持超大数据的传输,可以交换图片、影像、音乐、软件等超大尺寸的多媒体信息。
图1为本发明三次握手过程示意2为本发明推数据过程示意3为本发明拉数据过程示意4为本发明容错处理过程示意图具体实施方式
本发明提供的数据交换方法是在ACTIIP这样一个电子政务信息交换平台中得以实现的,ACTIIP是一个基于Web服务的电子政务基础平台,它作为电子政务信息化平台的重要组成部分,为上层应用系统提供了端到端之间的数据交换通道。本发明提供的数据交换方法就是基于ACTIIP电子政务平台,采用http协议通过Web服务调用的方式完成不同安全域下的应用系统之间端到端的数据交换,使不同安全域下的应用系统不必为其开放特殊端口,且其可以穿透不同安全域下的防火墙,实现了端到端的数据传输。
为了实现端到端的安全数据传输,本发明在数据交换的过程中采用三次握手机制,具体过程如图1所示1、第一次握手发送方A向接收方B发送连接请求,请求内容包括A的安全证书和防止重放攻击的随机数,请求内容用接收方B的公钥加密。考虑非对称加密算法效率低下,加密时先利用一个临时的对称密钥加密请求内容,然后用B的公钥加密临时密钥,从而达到用B的公钥间接加密请求内容的目的。
2、第二次握手接收方B接收到发送方A的连接请求后,向A发送连接响应,响应内容包括B的证书、A生成的随机数、B自己生成的随机数、以及B生成的对称传输密钥,响应内容用A的公钥加密。也是出于效率的考虑,响应内容中的前三项用对称传输密钥加密,然后用A的公钥加密对称密钥,从而达到用A的公钥间接加密响应内容的目的。
3、第三次握手发送方A收到接收方B的连接响应后,在将B生成的随机数和对称传输密钥返还给B,从而达到验证身份的目的。返还过程中,考虑到效率,B生成的随机数只需用B生成的对称密钥加密即可,而不必再将返还内容用B的公钥加密。
4、当收发双方通过三次握手建立起端到端的安全数据传输通道后,双方开始利用该通道传输数据。
在数据交换过程中,本发明采用推数据方式或拉数据方式进行数据传输。
推数据方式是指数据发送方主动向数据接收方发出传输请求,并在获得数据接收方确认后,数据发送方再将数据传输给数据接收方。假设A为传输的发起者即数据发送方,B为传输的响应者即数据接收方,则推数据具体过程如图2所示1、数据发送方A向数据接收方B发送推数据请求,请求内容主要是数据描述,除此之外还包括需要收发双方协商的传输配置,如是否传输安全、是否需要数据摘要、数据切片大小等信息;2、数据接收方B收到数据发送方A的请求后,在本节点建立连接信息,并返回推数据响应,如果数据接收方B接受推数据请求,则等待数据发送方A传输数据分片,否则终止传输;3、数据发送方A收到数据接收方B的推数据响应后,根据数据接收方B的应答决定下一步骤,如果数据接收方B接受推数据请求,则数据发送方A开始向数据接收方B发送数据分片,否则终止传输;4、数据接收方B接收到数据发送方A发送的数据分片后,向数据发送方A返回收到传输数据响应;5、数据发送方A收到数据接收方B返回的传输数据响应后,继续发送下一片数据分片;6、重复执行第4~5步,直到整个数据发送完毕。
拉数据方式是指由数据接收方向数据发送方发出索要数据的请求,并在获得数据发送方确认后,等待数据发送方将数据传输给数据接收方的过程。假设A为传输的发起者即数据接收方,B为传输的响应者即数据发送方,则拉数据具体过程如图3所示,1、数据接收方A向数据发送方B发送拉数据请求,请求内容主要是数据描述,除此之外还包括需要收发双方协商的传输配置,如是否传输安全、是否需要数据摘要、数据切片大小等信息;2、数据发送方B收到数据接收方A的请求后,在本节点建立连接信息,并返回拉数据响应,如果数据发送方B接受拉数据请求,则在发送完响应后直接发送数据分片,否则终止传输;3、数据接收方A收到数据发送方B的拉数据响应后,根据数据发送方B的应答修改本地连接信息,如果数据发送方B接受请求,则数据接收方A等待数据发送方B发送数据分片,否则终止传输;4、数据发送方B向数据接收方A发送数据分片;5、数据接收方A接收数据发送方B发送的数据分片,并向数据发送方B返回数据响应信息;6、数据发送方B收到响应信息后,向数据接收方A发送下一数据分片;7、重复执行第4~6步,直到整个数据发送完毕。
无论拉数据方式或推数据方式,为确保数据交换的安全性,发送方和接收方都是通过三次握手的方式建立连接,保证端到端数据传输的安全性,最大程度的避免了安全入侵的可能。
另外,本发明还通过切片机制,实现超大数据的传输,即将图片、音乐、影像等超大尺寸的多媒体信息分割成一片、一片的数据进行传输,具体分片的大小和数量由发送方和接收方在三次握手时协商完成。传输过程中,对传输的数据按照交换双方协商好的分片大小进行分片,这样处理的原因是系统进行大尺度数据交换时不至于将所有数据载入内存,保证了系统可以进行大尺度数据的交换。
由于网络固有的不稳定因素,为了防止在数据交换过程中出现断网、延时、丢包、重复收包等现象出现,在数据传输过程中,对传输的数据进行容错处理,保证数据的完整性。
如图4所示,正常情况下1、发送方按顺序给每一数据分片分配一个序号,并按照顺序依次发送数据分片,发送数据分片的过程中携带序号;2、接收方收到数据分片后,向发送方发送确认,确认信息携带序号,确认发送后将本地序号加1;3、发送方收到确认后,将分片序号加1,发送下一个数据分片;4、重复执行第2~3步,直到整个数据发送完毕。
在发送数据的过程中,可能会出现数据丢失、确认丢失、数据延迟和确认延迟情况,为了保证数据的完整性,本发明采取了以下措施发送方每发送一个数据分片后开始计时,一旦超时则重发数据分片;接收方收到重发的数据分片,则回滚分片序号,重发分片确认,再将分片序号加1;发送方收到重复的分片确认,丢弃后一个分片确认。
每个IIP节点系统会配置响应等待超时间隔,每次发送完一个数据分片后,发送方记录发送时间,并通过轮询方式不断检测超时,超时依据是发送时间+响应等待超时间隔>系统当前时间。
发送超时有四种情况数据丢失、确认丢失、数据延迟和确认延迟。
如果是数据丢失,即接收方没有按时收到发送方发送的数据分片,则1、发送方重传数据分片;2、接收方收到数据分片后确认,确认信息携带序号,确认后将本地序号加1;3、发送方收到确认后,将分片序号加1,发送下一个数据分片;4、重复执行第2~3步,直到整个数据发送完毕。
如果是确认丢失,即发送方没有及时收到接收方发送回的确认,则1、发送方重传数据分片;2、接收方收到数据分片后,分片序号小于本地序号则将本地序号回滚到分片序号,重发确认,确认信息携带序号,确认后将本地序号加1;3、发送方收到确认后,将分片序号加1,发送下一个数据分片;4、接收方收到数据分片后确认,并将本地序号加1;5、重复执行第3~4步,直到整个数据发送完毕。
如果是数据发送延迟,即数据并没有丢失,而是发送过程被延迟,则
1、发送方重传数据分片;2、当接收方接收到被延迟的数据分片后,确认,并将本地序号加1;当接收方接收到重传的数据分片后,由于接收方已经将本地序号加1,所以,分片序号小于本地序号则接收方将本地序号又回滚到分片序号,重发确认,确认后再将本地序号加1;3、发送方收到第一个确认后,将分片序号加1,发送下一个数据分片;当发送方收到第二个确认后,由于发送方已经将分片序号加1,所以当发送方收到的确认序号小于本地分片序号,则丢弃该确认;4、接收方收到数据分片后确认,并将本地序号加1;5、发送方收到确认后,将分片序号加1,发送下一个数据分片;6、重复执行第4~5步,直到整个数据发送完毕。
如果是确认延迟,即数据发送方迟迟没有收到接收方发送的确认时,则1、发送方重传数据分片;2、当接收方接收数据分片后,确认,并将本地序号加1;当接收方接收到重传的数据分片后,由于接收方已经将本地序号加1,所以,分片序号小于本地序号则接收方将本地序号又回滚到分片序号,重发确认,确认后再将本地序号加1;3、发送方收到第一个确认后,将分片序号加1,发送下一个数据分片;当发送方收到第二个确认后,由于发送方已经将分片序号加1,所以当发送方收到的确认序号小于本地分片序号,则丢弃该确认;4、接收方收到数据分片后确认,并将本地序号加1;5、发送方收到确认后,将分片序号加1,发送下一个数据分片;6、重复执行第4~5步,直到整个数据发送完毕。
为降低系统故障对数据交换的影响,保证数据交换的可靠传输,本发明还采用了故障恢复技术,即,将数据传输过程中传输状态描述信息备份在硬盘上,当故障消除后,可以从断点处恢复工作,从而实现断点续传。具体方法是1、在数据交换系统的处理流程中,定义一系列的故障恢复点;2、当流程执行到这些故障恢复点时,将当前事务信息保存到文件中;3、系统发生故障则流程回滚到最近的故障恢复点,一旦系统重新启动之后,便从事务信息文件中读取出相应的恢复点信息,继续故障前的执行流程完成数据交换。
与其它产品在数据交换过程的设计实现方面相比,本发明提供的数据交换方法具有以下一些特点1、由于本发明是建立在Web服务的基础上,因此可以利用http协议穿透防火墙,使得跨不同安全域的子网可以方便的进行信息交换;2、通过三次握手机制实现端到端的安全传输,对传输过程中经过的中间节点透明,从而很大程度的降低了中间人方式攻击的可能性;3、具有容错处理和故障恢复机制,支持断点续传,使得很大程度的减弱了网络状况的不稳定对传输过程的影响,并提高了传输效率;4、通过切片机制支持超大数据的传输,可以交换图片、影像、音乐、软件等超大尺寸的多媒体信息。
权利要求
1.一种基于Web服务的数据交换方法,它采用http协议通过Web服务调用的方式完成不同安全域下的应用系统之间端到端的数据交换;在数据交换的过程中采用三次握手机制,具体方法是A、第一次握手发送方向接收方发送连接请求,请求内容包括发送方的安全证书和防止重放攻击的随机数,请求内容用接收方的公钥加密;B、第二次握手接收方接收到发送方的连接请求后,向发送方发送连接响应,响应内容包括接收方的证书、发送方生成的随机数、接收方自己生成的随机数、以及接收方生成的对称传输密钥,响应内容用发送方的公钥加密;C、发送方收到接收方的连接响应后,再将接收方生成的随机数和对称传输密钥返还给接收方,验证双方的身份;D、当收发双方通过三次握手建立起端到端的安全数据传输通道后,双方开始利用该通道传输数据。
2.根据权利要求1所述的基于Web服务的数据交换方法,其特征在于所述步骤A加密时先利用一个临时的对称密钥加密请求内容,然后用接收方的公钥加密临时密钥,从而达到用接收方的公钥间接加密请求内容的目的。
3.根据权利要求2所述的基于Web服务的数据交换方法,其特征在于所述步骤B中的加密过程为先用对称传输密钥加密响应内容中的前三项,然后用发送方的公钥加密对称密钥,达到用发送方的公钥间接加密响应内容的目的。
4.根据权利要求3所述的基于Web服务的数据交换方法,其特征在于所述步骤C中的加密过程为用接收方生成的对称密钥只加密接收方生成的随机数。
5.根据权利要求1所述的基于Web服务的数据交换方法,其特征在于当收发双方通过三次握手建立起端到端的安全数据传输通道后,双方开始利用该通道传输数据;所述数据采用推数据方式或拉数据方式进行传输;推数据方式是指数据发送方主动向数据接收方发出传输请求,并在获得接收方确认后,数据发送方再将数据传输给数据接收方;拉数据方式是指由数据接收方向数据发送方发出请求索要数据的请求,并在获得数据发送方确认后,等待数据发送方将数据传输给数据接收方。
6.根据权利要求5所述的基于Web服务的数据交换方法,其特征在于所述通过推数据方式进行数据传输的方法包括以下步骤A、数据发送方向数据接收方发送推数据请求,请求内容主要是数据描述,除此之外还包括需要收发双方协商的传输配置,如是否传输安全、是否需要数据摘要、数据切片大小等信息;B、数据接收方收到数据发送方的请求后,在本节点建立连接信息,并返回推数据响应,如果数据接收方接受推数据请求,则等待数据发送方传输数据分片,否则终止传输;C、数据发送方收到数据接收方的推数据响应后,根据数据接收方的应答决定下一步骤,如果数据接收方接受推数据请求,则数据发送方开始向数据接收方发送数据分片,否则终止传输;D、数据接收方接收数据发送方发送的数据分片后,向数据发送方返回收到传输数据响应;E、数据发送方收到数据接收方返回的传输数据响应后,继续发送下一片数据分片;F、重复执行第D~E步,直到整个数据发送完毕。
7.根据权利要求5所述的基于Web服务的数据交换方法,其特征在于所述通过拉数据方式进行数据传输的方法包括以下步骤A、数据接收方向数据发送方发送拉数据请求,请求内容主要是数据描述,除此之外还包括需要收发双方协商的传输配置,如是否传输安全、是否需要数据摘要、数据切片大小等信息;B、数据发送方收到数据接收方的请求后,在本节点建立连接信息,并返回拉数据响应,如果数据发送方接受拉数据请求,则再发送完响应后直接发送数据分片,否则终止传输;C、数据接收方收到数据发送方的拉数据响应后,根据数据发送方的应答修改本地连接信息,如果数据发送方接受请求,则数据接收方等待数据发送方发送数据分片,否则终止传输;D、数据发送方向数据接收方发送数据分片;E、数据接收方接收数据发送方发送的数据分片,并向数据发送方返回数据响应信息;F、数据发送方收到响应信息后,向数据接收方发送下一数据分片;G、重复执行第D~F步,直到整个数据发送完毕。
8.根据权利要求5~7之一所述的基于Web服务的数据交换方法,其特征在于所述传输数据按照交换双方协商好的分片大小被分割成一片、一片的数据进行传输。
9.根据权利要求8所述的基于Web服务的数据交换方法,其特征在于所述传输数据分片后传输过程如下A、发送方按顺序给每一数据分片分配一个序号,并按照顺序依次发送数据分片,发送数据分片的过程中携带序号;B、接收方收到数据分片后,向发送方发送确认,确认信息携带序号,确认发送后将本地序号加1;C、发送方收到确认后,将分片序号加1,发送下一个数据分片;D、重复执行第B~C步,直到整个数据发送完毕。
10.根据权利要求9所述的基于Web服务的数据交换方法,其特征在于发送方每发送一个数据分片后开始计时,一旦超时则重发数据分片;接收方收到重复的数据分片,则回滚分片序号,重发分片确认,再将分片序号加1;发送方收到重复的分片确认,丢弃后一个分片确认。
11.根据权利要求9或10所述的基于Web服务的数据交换方法,其特征在于本发明还采用了故障恢复技术,即,将数据传输过程中传输状态描述信息备份在硬盘上,当故障消除后,可以从断点处恢复工作,从而实现断点续传;具体方法是A、在数据交换系统的处理流程中,定义一系列的故障恢复点;B、当流程执行到这些故障恢复点时,将当前事务信息保存到文件中;C、系统发生故障则流程回滚到最近的故障恢复点,一旦系统重新启动之后,便从事务信息文件中读取出相应的恢复点信息,继续故障前的执行流程完成数据交换。
全文摘要
本发明公开了一种基于Web服务的数据交换方法,它采用http协议通过Web服务调用的方式完成不同安全域下的应用系统之间端到端的数据交换;在数据交换的过程中采用三次握手机制实现端到端的安全传输,对传输过程中经过的中间节点透明,从而很大程度的降低了中间人方式攻击的可能性。通过切片机制支持超大数据的传输,可以交换图片、影像、音乐、软件等超大尺寸的多媒体信息。通过容错处理和故障恢复机制,支持断点续传,很大程度的减弱了网络状况的不稳定对传输过程的影响,并提高了传输效率。
文档编号H04L12/00GK1909551SQ20051008894
公开日2007年2月7日 申请日期2005年8月3日 优先权日2005年8月3日
发明者刘旭东, 李翔, 林学练, 唐鹏, 王斌, 刘力 申请人:北京航空航天大学