著录项信息
专利名称 | IP网络应用加速系统 |
申请号 | CN201010248043.3 | 申请日期 | 2010-08-09 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-01-12 | 公开/公告号 | CN101945103A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;/;0;0查看分类表>
|
申请人 | 中国电子科技集团公司第五十四研究所 | 申请人地址 | 河北省石家庄市中山西路589号第五十四研究所重点实验室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国电子科技集团公司第五十四研究所 | 当前权利人 | 中国电子科技集团公司第五十四研究所 |
发明人 | 吴巍;吴渭 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
一种实现广域网中数据高效传输的IP网络应用加速系统,通过对HTTP、FTP、SMTP和POP3四种主流应用协议在对象缓存、目录预取以及数据认证等方面上的优化,减少广域网之间的交互次数,提高了应用服务器对用户的响应时间;通过冗余数据判定、数据组合和数据恢复,避免了相同数据在网络中的重复传输,从而提高了可用带宽的有效利用率,同时,通过对数据冗余缓存区的存储管理保证冗余数据处理的稳定性和准确性;通过动态测量网络带宽和调整发送速率,来提高数据在广域网中的实际传输速率。
1.IP网络应用加速系统,其特征在于:该系统由应用协议加速子系统、冗余数据处理子系统和传输优化子系统组成;
所述的应用协议加速子系统负责对应用协议的优化,其包括以下模块:
(1)协议管理模块,负责对接收到的数据包进行分类,并提交至相应的应用协议加速模块;
(2)HTTP应用加速模块,负责对象缓冲区的维护和更新,对于在对象缓冲区中的数据,该模块检查服务器相应更新对象的时间属性,对于可用数据,用户直接读取,对于不可用或者不在对象缓冲区中的数据,该模块通过转发请求到服务器以获取该对象,并在发送给用户的同时,更新对象缓冲区;
(3)FTP应用加速模块,从目录缓存和目录预取两个方面实现对FTP的应用优化,目录缓存是指缓存每次控制连接访问的所有目录,对同样目录进行多次访问只需一次跨越广域网的数据连接即可,目录预取是指收到一个目录的内容后,对该目录的下一级子目录进行预取操作,提前存储到目录缓存区中;
(4)SMTP和POP3应用加速模块,通过对认证数据的存储,实现对EMAIL在数据传输方面的优化,针对包含用户登录信息的数据包获取相应服务器的域名,通过域名服务器的域名解析之后,建立数据通信管道,同时对认证数据进行存储;
所述的冗余数据处理子系统负责对冗余数据的判定、标识和恢复,同时还具有一个数据冗余缓存区,将判定为冗余的数据及其对应的标识按照一一对应的方式存储到该缓存区中,冗余数据按固定大小的块存储,并且冗余数据标识的长度固定,具体包括以下模块:
(1)冗余数据判定模块,将数据分块,分别计算相应的标识,与数据冗余缓存区中的标识进行比较以判定当前数据是否在缓存区中;
(2)数据组合模块,将要发送的原始数据转换成实际要发送的数据,用冗余数据标识和在数据冗余缓存区中的偏移量表示冗余数据,用非冗余数据标识和数据长度以及内容表示非冗余数据;
(3)数据恢复模块,将接收到的组合数据恢复成原始数据;
(4)数据存储模块,维护数据冗余缓存区,保持发送和接收两端的缓存区的一致性;
所述的传输优化子系统负责对传输协议进行优化,具体有以下模块:
(1)动态带宽测量模块,负责每隔一定时间向对端发送两个连续的数据包,对端接收到之后,根据数据包大小和数据包之间的时间间隔计算可用带宽;
(2)发送速率调整模块,负责在保证数据发送成功率的前提下,动态调整发送速率,实现数据的高效传输;
(3)数据传输模块,负责数据的发送和接收,并对丢失的数据包实现有选择的重传。
2.如权利要求1所述的IP网络应用加速系统,其特征在于:该加速系统分别部署在服务器端和客户端。
3.如权利要求1所述的IP网络应用加速系统,其特征在于:协议管理模块中的数据包分类将数据包分为:
(1)连接建立数据包,对于该类型数据包,利用传输优化子系统中的数据传输模块,建立数据连接;
(2)连接拆除数据包,对于该类型数据包,利用传输优化子系统中的数据传输模块,拆除数据连接;
(3)应用层数据包,对于该类数据包,直接提交相应应用协议加速模块进行处理。
4.如权利要求2所述的IP网络应用加速系统,其特征在于:所述的数据冗余缓存区为本地的一块磁盘空间,服务器端和客户端加速系统两端必须保持数据冗余缓存区的同步更新,在每次连接之前,两端的数据冗余缓存区中的数据完全一致,数据冗余缓存区的更新在每次连接结束之后。
5.如权利要求1或2所述的IP网络应用加速系统,其特征在于:所述的冗余数据处理子系统对于控制信息,不需要冗余数据处理,只有在建立数据连接以后时,冗余数据处理子系统才会调用相应模块进行处理。
6.如权利要求1或2所述的IP网络应用加速系统,其特征在于:所述的冗余数据处理子系统的冗余数据处理过程与数据接收和发送保持同步,在数据不断接收的同时,将已经接收到的数据进行数据组合后立即发送出去。
7.如权利要求2所述的IP网络应用加速系统,其特征在于:客户端加速系统可与多台用户计算机在局域网内相连。
8.如权利要求2所述的IP网络应用加速系统,其特征在于:服务器端加速系统和客户端加速系统之间相连接的网络为广域网。
IP网络应用加速系统\n技术领域\n[0001] 本发明涉及计算机科学中的网络技术,特别是涉及通过IP网络应用加速来实现广域网中数据的快速准确传输。\n背景技术\n[0002] IP网络应用加速是指在现有广域网带宽的基础上,通过一定技术手段为通过广域网连接企业核心网络的远程客户提供更高的信息资源访问效率和应用性能。\n[0003] 随着互联网技术的快速发展和应用的普及,由于大公司和机构的网络应用系统和数据中心的集中化部署,以及网络应用系统的实时性的要求,对网络应用性能优化技术和产品出现了强烈需求。例如,为了节省成本,越来越多的公司和机构将应用系统集中部署、集中管理,异地的分支机构和办公人员,则通过VPN和Web方式,实现信息系统的远程操作和使用。但是这种应用模式却常常由于网络延迟等问题,导致应用系统使用速度较慢,甚至无法使用。目前已有的加速方法主要有:\n[0004] (1)数据流量压缩。采用特定的压缩方法,通过对要发送的数据进行先压缩后发送的方式,在接收方对其进行先解压缩再提交,从而减少网络中实际传输量,达到减少传输时间、减少带宽的目的。然而,这种方法增加了发送和接收两端的数据处理时间,并且对于少量的或者已经压缩过的数据,该方法不能有效提高整体传输效率。\n[0005] (2)增加服务器的专用性。以提高web应用的响应速度为目标,将CPU密集型的重复任务从服务器中卸载下来,使其执行既定任务,包括内容服务和请求服务,从而提高服务器整体效率。这种方法将服务器分为前端和后端服务器,在增加硬件成本的同时,其任务调度策略本身也影响服务器性能。\n[0006] (3)针对特定应用的加速技术。该类技术旨在提高基于TCP的应用软件性能,通过快速建立连接来消除TCP建立连接的往返时间,从而加快诸如HTTP应用的那些只需要短暂通信的连接建立过程。因此,该方法通用性较差,不能满足广域网中的各种应用需求。\n[0007] 这些加速方法均以硬件为基础,较高的成本不适合小型分支机构和家庭办公人员,通用性不强使其无法在广域网中广泛使用。本申请基于以上考虑,发明了一种新型的IP网络加速系统。\n发明内容\n[0008] 本发明以提高广域网中数据传输速度为目标,设计并实现一种从应用协议加速、冗余数据处理和传输优化三个层次对HTTP、FTP、SMTP、POP3等IP网络应用进行加速的系统。\n[0009] 本发明的实现方案为,IP网络应用加速系统分为应用协议加速子系统、冗余数据处理子系统和传输优化子系统,其中:\n[0010] 1.应用协议加速子系统的主要功能是对应用协议进行优化。该子系统所具备的功能模块有:\n[0011] (1)协议管理模块。该模块主要负责对接收到的数据包进行分类。对于建立连接的数据包,采用优化的传输协议建立数据连接。对于拆除连接的数据包,则拆除相应数据连接。对于应用层数据,则交由相应协议应用加速模块。\n[0012] (2)HTTP应用加速模块。该模块在对象缓存方面对HTTP应用进行优化。主要负责对象缓冲区的维护和更新。对于在对象缓冲区中的数据,该模块检查服务器相应更新对象的时间属性,如果可用,用户可直接读取,无需服务器的重复发送。如果不可用,或者数据不在对象缓冲区中,该模块通过转发请求到服务器以获取该对象,在发送给用户的同时,更新对象缓冲区。\n[0013] (3)FTP应用加速模块。该模块主要从目录缓存和目录预取两个方面对FTP在应用层进行加速。目录缓存是指缓存每次控制连接访问的所有目录,这样对同样目录进行多次访问只需一次跨越广域网的数据连接即可。目录预取是指收到一个目录的内容后,对该目录的下一级子目录进行预取,进而加快访问速度。\n[0014] (4)SMTP和POP3应用加速模块。该模块主要根据SMTP和POP3协议中的包含用户登录信息的数据包获得相应服务器的域名,通过域名服务器的域名解析之后,建立数据通信管道,并且对认证数据进行存储,以减少协议跨越广域网的交换次数。\n[0015] 2.冗余数据处理子系统主要负责对冗余数据的判定、标识和恢复。为此,该系统维护一个冗余数据缓存区,该缓存区中存放冗余数据和其对应的标识,冗余数据按照固定大小的块存放,与其对应的标识由32位的弱校验和和128位的强校验和组成。此外,该系统所具备的功能模块有:\n[0016] (1)冗余数据判定模块。该模块将数据按照固定大小分块,首先计算数据块的弱校验和,并与冗余数据缓存区中的标识进行匹配,如果该弱校验和不存在于标识中,则判定该数据为冗余数据。如果该弱校验和存在于标识中,则继续计算该数据块的强校验和,如果该校验和不存在于标识中,则判定该数据为冗余数据,反之判定为非冗余数据。对于判定为非冗余的数据,下次匹配将从当前数据块的第二个字节,即向前滚动一个字节,开始重复上述过程。\n[0017] (2)数据组合模块。该模块利用冗余数据判定模块的判定结果,将原始数据转换成实际要发送的数据。对于判定为冗余数据的数据块,用冗余数据标志和在冗余数据缓存区中的偏移位置表示该数据。对于判定为非冗余数据的数据块,用非冗余数据标志和该数据的长度和内容表示该数据。其中,冗余数据和非冗余数据的标志只需1位表示即可。\n[0018] (3)数据恢复模块。该模块负责将接收到的数据恢复成原始数据。首先检验第一位,如果为冗余数据的标识,则根据后面的位置字段,从冗余数据缓存区中获得相应的冗余数据。如果为非冗余数据的标识,则根据后面的新数据长度字段,从后面获取相应长度的数据。重复上述过程,直到处理完所有数据。\n[0019] (4)数据存储模块。该模块负责维护冗余数据缓存区存储的同步操作。对于要发送的数据,通过冗余数据的判定,将判定为非冗余数据的数据块及其强弱校验和存储到冗余数据缓存区中。对于接收到的数据,通过数据的恢复,将以非冗余数据形式发送过来的数据及其对应的强弱校验和存储到冗余数据缓存区中。\n[0020] 3.传输优化子系统主要对传输协议进行优化。该子系统所具备的功能模块有:\n[0021] (1)动态带宽测量模块。该模块负责动态测量IP网络应用加速系统之间的可用带宽。每隔一定时间向对端发送两个连续的数据包,对端接收到之后,根据数据包大小和数据包之间的时间间隔计算可用带宽。\n[0022] (2)发送速率调整模块。该模块根据动态带宽测量模块提供的可用带宽数据,对发送速率进行调整。如果一定时间间隔内没有数据包丢失,则根据可用带宽,相应增加发送速率。如果有数据包丢失,则按照一定比例减少发送速率。\n[0023] (3)数据传输模块。该模块主要负责数据包的发送和接收。此模块对于待发送的数据按包进行编号,并根据发送速率调整模块的结果进行数据发送。如果接收数据包时,检测到数据包的丢失,则将相应丢失数据包信息反馈给发送端,从而实现有选择性的数据包重传。\n[0024] 与现有技术相比,本发明的创新之处在于:根据广域网中的各种应用,设计全面的IP网络应用加速方案,更好的适用于用户的各种需求。另外,通过对应用层和传输层的优化以及冗余数据的特殊处理,充分考虑IP网络应用加速系统的功耗,达到数据的高效快速传输的目的。具体体现在:\n[0025] 1.本发明广泛适用于各种主流应用协议。根据各种协议的特点,采用对象缓存、目录缓存、目录预取和认证数据存储等优化方式,在确保数据准确性的前提下,加快数据传输速度,减少响应时间。\n[0026] 2.本发明实现了新的冗余数据处理方法。对于冗余数据的发送,只需用少量的标识表示即可,从而减少了广域网中实际传输量,并且本发明中的冗余处理与数据接收和发送同时进行,从而极大的降低了冗余数据处理本身对系统性能的影响,从整体上减少了传输时间,增加了对可用带宽的有效利用率。\n[0027] 3.本发明在数据传输时,可动态的调整发送速率,使得在减少数据包丢失的前提下,调整发送速率,从而实现数据的快速可靠传输。\n附图说明\n[0028] 图1IP网络应用加速系统场景图\n[0029] 图2IP网络应用加速系统模块图\n[0030] 图3局域网控制信息解析流程图\n[0031] 图4广域网控制信息解析流程图\n[0032] 图5数据发送流程图\n[0033] 图6数据接收流程图\n具体实施方式\n[0034] 如图1所示,IP网络应用加速系统分别部署在应用服务器端和客户端,分别称为服务器端加速系统和客户端加速系统。应用服务器与服务器端加速系统处于同一局域网中,采用TCP连接;用户计算机与客户端加速系统处于同一个局域网中,采用TCP连接;服务器端加速系统与客户端加速系统之间跨越广域网,采用优化后的传输连接。当用户向应用服务器上传数据时,首先发送到客户端加速系统,客户端加速系统对数据进行处理后发送至服务器端加速系统,服务器端加速系统将接收并处理后的数据转发给应用服务器。当用户从应用服务器下载数据时,在应用服务器获得请求之后,将数据发送至服务器端加速系统,服务器端加速系统经过数据处理之后发送至客户端加速系统,客户端加速系统在接收数据并处理完毕之后,将数据发送给用户应用程序。因此,服务器端加速系统与客户端加速系统均需要IP网络应用加速系统的全部子系统及其模块,以保证满足用户的数据上传和下载需求。\n[0035] IP网络应用加速系统模块划分如图2所示,对于接收到的数据,首先由应用协议加速子系统处理,之后将数据提交给冗余数据处理子系统,最后由传输优化子系统实现数据发送。其中,应用协议加速子系统包括协议管理模块、HTTP应用加速模块、FTP应用加速模块以及SMTP和POP3应用加速模块。协议管理模块负责数据包分类,将数据包分为控制包和应用层数据包。对于控制包,通过分析包内字段含义,进行数据连接或拆除;对于应用层数据包,通过对包头字段的分析,识别具体应用层协议,从而提交给相应协议加速模块。\n对于提交给HTTP应用加速模块的数据包,首先判定要获取的数据是否在缓存中有效,只有在无效情况下,数据才转发给远端服务器,否则直接返回相应缓存数据。对于提交给FTP应用加速模块的数据包,对于包含目录信息的数据,更新目录缓存区;对于获取目录信息的数据,直接从目录缓存中提取,对于缓存无效或不在缓存区中的数据,将数据包进行转发,否则如果缓存数据有效直接返回目录缓存子模块中的目录信息。对于提交给SMTP和POP3应用加速模块的数据包,首先判断是否为包含用户登录信息的数据包,如果是,获得相应服务器的域名,通过域名服务器的域名解析之后,建立数据通信管道,然后进行转发,否则,直接转发。冗余数据处理子系统分为冗余数据判定模块、数据组合模块、数据存储模块和数据恢复模块,并且该子系统还维护一个冗余数据缓存区。冗余数据缓存区中存储了冗余数据和冗余数据对应的唯一标识。冗余数据判定模块负责将应用协议加速子系统提交的数据,通过计算其标识,并与冗余数据缓存区中的标识进行匹配,将匹配成功的数据判定为冗余数据,否则为非冗余数据。冗余数据组合模块负责将原始数据按照冗余数据和非冗余数据的分类重新组合,对于冗余数据,只需要用对应的标识表示即可。冗余数据存储模块根据冗余数据判定结果,将判定为非冗余数据的数据及其对应的标识按照一一对应的顺序存储到冗余数据缓存区中。数据恢复模块负责将经过组合的数据进行拆分,对于组合数据中的冗余数据标识,从冗余数据缓存区中读取对应的数据,同时删除组合数据内的标识,从而实现原始数据的恢复。传输优化子系统包括动态带宽测量模块、发送速率模块和数据传输模块。动态测量模块负责定期的发送连续数据包,通过对该对数据包的时间间隔和数据包大小来计算可用带宽。发送速率调整模块根据带宽测量结果,不断调整发送速率,在未发生丢包的情况下增加发送速率,一旦发生丢包,则按照丢包比例降低发送速率。数据传输模块负责按照发送速率调整模块提供的速率进行数据传输,并检测数据包是否丢失,对于丢失的数据包直接选择该包进行重传。\n[0036] 下面,结合图2中的相应模块,分别从控制连接和数据连接介绍IP网络应用加速系统的实施方式。首先介绍图3的加速系统对来自局域网的控制信息的解析,然后介绍图\n4的加速系统对来自广域网的控制信息的解析,接着再介绍图5的数据发送流程,最后介绍图6的数据接收流程。\n[0037] 局域网控制信息解析流程如图3所示,由于连接的发起方总是用户,因此该控制信息的解析存在于客户端加速系统中。首先,当有控制信息的到来时,客户端加速系统首先判断信息类型,如果是拆除连接,则拆除与服务器端加速系统的相应连接。如果是建立连接,则利用图2的应用协议子系统中的协议管理模块,对协议进行分析。如果是HTTP协议,首先判断该连接所需获取对象是否在本地缓存中,如果在,直接将相应数据发送至用户端。\n如果不在,则利用如图2所示的传输优化子系统,与远端加速系统建立数据连接。如果是SMTP或POP3协议,则存储并且发送认证信息。如果是FTP协议,则通过向远端发送控制信息来判断本地缓存目录是否有效,如果无效,则利用如图2所示的传输优化子系统,与远端建立数据连接,如果有效,直接从缓存中读取目录数据发送至用户端,并且对于不在缓存目录中的所读取目录的子目录进行预取操作。\n[0038] 广域网控制信息解析流程如图4所示,由于连接的拆除可以是用户应用程序也可以是应用服务器,因此该控制信息的解析均存在于服务器端和客户端加速系统中。接收到控制信息后,如果是拆除连接,则拆除与远端加速系统的相应连接。如果是建立连接,则利用图2的协议管理模块对协议进行分析。如果是HTTP协议,则将远端缓存对象的判定结果返回,如果是SMTP或POP3协议,则进行认证信息验证,如果验证不通过,则发送拆除连接信息并与远端加速系统断开连接。如果验证通过,则利用如图5所示的传输优化子系统,主动与远端加速系统建立数据连接。如果是FTP协议,则将目录缓存是否有效的结果返回。\n[0039] IP网络应用加速系统数据发送流程如图5所示,客户端或服务器端加速系统启动之后,为保证数据的及时发送,将处于侦听连接局域网数据端口状态,当侦听到有数据发送请求时,开始接收数据,对于每次接收的数据,首先利用图2中应用协议加速子系统中的协议管理模块,对其数据包进行分析,根据包头信息以及所侦听的端口号,判断所采用的应用协议(HTTP、FTP、SMTP或者POP3),从而提交给相应应用协议加速模块进行分析和处理,然后将数据提交给图2中的冗余数据处理子系统,利用其中的冗余数据判定模块,通过读取冗余数据缓存区,完成对冗余数据的判定,随后根据判定结果,利用图2的数据组合模块,完成数据组合,然后提交给传输优化子系统。数据的传输通过图2的数据传输模块来完成,在传输过程中,通过发送速率调整模块的动态速率调整,实现数据包的低丢包率和快速传输。在接收数据完毕之后,通过数据存储模块,将判定为非冗余数据的相应数据及其标识存储到冗余数据缓存区中,以保证下次相同数据发送时的数据冗余判定成功。\n[0040] IP网络应用加速系统数据接收流程如图6所示,客户端或服务器端加速系统启动之后,处于侦听广域网数据端口状态,当侦听到有数据发送请求时,开始接收数据,对于每次接收的数据,首先利用图2中的应用协议加速子系统中的协议管理模块,对数据包进行分析,从而提交给相应协议加速模块,然后将数据提交给图2中的冗余数据处理子系统,利用数据恢复模块,通过读取冗余数据缓存区,完成对接收数据的恢复,然后提交给图2的传输优化子系统,该子系统的传输模块负责将数据发送方式转换成TCP方式,发送给数据接收方。在一次连接结束之后,将数据恢复过程中标记为非冗余数据的相应数据及其标识存储到冗余数据缓存区,从而保证了两端加速系统的冗余数据缓存区的一致性。
法律信息
- 2013-04-24
- 2011-03-09
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201010248043.3
申请日: 2010.08.09
- 2011-01-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-02-27
|
2006-08-21
| | |
2
| |
2007-02-28
|
2006-09-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |