会话保活方法和设备的制造方法

文档序号:8415483阅读:437来源:国知局
会话保活方法和设备的制造方法
【技术领域】
[0001] 本发明涉及计算机及通信技术领域,尤其涉及一种会话保活方法及一种代理服务 器。
【背景技术】
[0002] 通过具备代理服务器功能的网络设备可以实现特定目的,如提高网络互连协议 (InternetProtocol,简称IP)地址资源利用率、确保交互数据的安全性等等。代理服务器 的工作原理是在客户端和真实服务器(是指能够独立为客户端提供服务的服务器,为了与 代理服务器相区分,在本申请中称为"真实服务器")之间设置一个代理服务器,代理服务器 分别与客户端和真实服务器建立会话,对来自于客户端的报文进行处理,并将处理后的报 文发送给真实服务器,以及对来自于真实服务器的报文进行处理,并将处理后的报文发送 给客户端。上述网络设备可以是部署在互联网和局域网连接处的防火墙、网关设备等等。
[0003] 以常见的代理邮件服务器为例,代理邮件服务器接收客户端发送的邮件获取请 求,并将该邮件获取请求转发给真实邮件服务器后,接收真实邮件服务器发送的邮件的数 据,并对接收的数据进行缓存、解析和检测,在通过检测确定所述邮件为正常邮件后,通过 代理邮件服务器与客户端之间的会话将邮件的数据发送给客户端,客户端在接收完代理服 务器转发的邮件的数据后会正常关闭与代理服务器之间的会话。然而在实际应用中,往往 会出现客户端与代理服务器之间的会话异常关闭的现象:例如由于邮件较大,如超过5兆 (M),或者代理邮件服务器由于负荷过大检测速度较低等因素,代理服务器在对邮件的数据 进行处理时消耗了较长时间,从而导致客户端在与代理服务器之间的会话上超过预先设定 的会话老化时间未接收到代理邮件服务器发送的任何数据,从而断开与代理邮件服务器之 间的会话。
[0004] 为了避免出现真实客户端与代理邮件服务器之间的会话异常关闭的现象,现有技 术提出了一种会话保活方案:代理邮件服务器在对邮件的数据进行缓存、解码、检测等处 理的过程中,定期向客户端发送携带有"X-Ke印Alive\r\n"的保活报文。在检测完毕后,如 果邮件为正常邮件,则将所缓存的邮件的数据发送给客户端;如果邮件为异常邮件,例如携 带有恶意程序或钓鱼客户端,则删除缓存的异常数据,例如邮件的附件后,基于原有邮件的 结构重新构造一封通知邮件告知客户端上述检测结果。
[0005] 但是,上述方案会导致即使在邮件为正常邮件的情况下,客户端接收的邮件与真 实邮件服务器发送给代理邮件服务器的邮件相比,邮件内容发生了篡改,给用户阅读造成 困难。并且,上述方案不适用于提供其他应用的代理服务器进行会话保活。

【发明内容】

[0006] 本发明实施例提供一种会话保活方法,用以解决现有会话保活技术客户端接收的 邮件内容被篡改的问题。
[0007] 对应地,本发明实施例还提供了一种代理服务器和网络系统。
[0008] 本发明实施例提供的技术方案如下:
[0009] 第一方面,提供了一种会话保活方法,包括:
[0010] 代理服务器接收客户端通过所述代理服务器与所述客户端之间的会话发送的业 务数据获取请求,并将所述业务数据获取请求转发给真实服务器;
[0011] 所述代理服务器接收所述真实服务器发送的第一报文,所述第一报文用于响应所 述业务数据获取请求,所述第一报文携带用以表示所述真实服务器开始传输业务数据的信 息;
[0012] 所述代理服务器通过依次向所述客户端发送至少两个第二报文,向所述客户端发 送所述信息,所述至少两个第二报文中的每个报文携带所述信息的片段,所述至少两个第 二报文中发送次序相邻的两个报文的发送时间间隔小于所述会话的老化时间;
[0013] 当所述代理服务器发送完所述信息时,在所述会话的老化时间内,所述代理服务 器通过所述会话向所述客户端发送第一业务数据。
[0014] 在第一方面的第一种可能的实现方式中,所述至少两个第二报文中发送次序相邻 的两个报文分别携带的所述片段在所述信息中的位置相邻。
[0015] 在第一方面、或第一方面的第一种可能的实现方式中,还提供了第一方面的第二 种可能的实现方式,所述代理服务器通过所述会话向所述客户端发送第一业务数据之前, 还包括:
[0016] 所述代理服务器接收所述真实服务器发送的第二业务数据;
[0017] 处理所述真实服务器发送的第二业务数据,获得所述第一业务数据;
[0018] 所述代理服务器通过依次向所述客户端发送至少两个第二报文,向所述客户端发 送所述信息,包括:
[0019] 如果所述代理服务器处理完所述真实服务器发送的第二业务数据时
[0020] 尚未发送完所述信息,生成一个携带有所述信息中所有未发送的片
[0021] 段的报文,
[0022] 并将生成的所述报文发送给所述客户端。
[0023] 在第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式中,还提供了第一方面的第三种可能的实现方式,所述代理服务器通过依次向所述客 户端发送至少两个第二报文,向所述客户端发送所述信息,包括 :
[0024] 向所述客户端发送所述至少两个第二报文中的至少一个报文;
[0025] 向所述客户端发送所述至少两个第二报文中待发送的报文,发送所述待发送的报 文与发送前一个被发送的报文的时间间隔根据预定参数以及所述至少两个第二报文中待 发送的报文的数量确定,所述预定参数包括下述至少一种:所述代理服务器与所述真实服 务器之间的会话的传输带宽、所述代理服务器处理所述第二业务数据的进度。
[0026] 在第一方面的第二种可能的实现方式中,还提供了第一方面的第四种可能的实现 方式,确定所述第二业务数据是否包含异常数据;
[0027] 若确定所述第二业务数据未包含异常数据,则将所述第二业务数据作为所述第一 业务数据;
[0028] 若确定所述业务数据包含异常数据,则通过从所述第二业务数据中去除所述异常 数据获得所述第一业务数据。
[0029] 在第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式中,还提供了第一方面的第五种可能的实现方式,向所述客户端发送至少两个第二报 文,具体为:
[0030] 以预先设定的发送时间间隔,逐个发送所述至少两个第二报文中的每个第二报 文,所述预先设定的发送时间间隔小于所述客户端的会话老化时间。
[0031] 在第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式中,还提供了第一方面的第六种可能的实现方式,所述代理服务器包括基于邮局协议 第3版(PostOfficePr〇t〇C〇13,简称POP3)的邮件代理服务器、基于交互式消息访问协议 第4版(InternetMessageAccessProtocol^:,简称IMAP4)的邮件代理服务器、和超文本 传输协议(HyperTextTransferProtocol,简称HTTP)的网页代理服务器。
[0032] 在第一方面的第六种可能的实现方式中,还提供了第一方面的第七种可能的实现 方式,若所述代理服务器为基于POP3协议的邮件代理服务器,则所述业务数据获取请求为 携带有邮件标识的邮件获取请求;
[0033] 所述代理服务器接收所述业务数据获取请求之前,所述方法还包括:
[0034] 所述代理服务器将所述客户端发送的邮件列表获取请求转发给所述真实服务 器;
[0035] 获得所述真实服务器响应所述邮件列表获取请求返回的邮件列表;
[0036] 从所述邮件列表中筛选得到超大邮件列表并保存,所述超大邮件列表包含邮件标 识以及对应的邮件大小,所述超大邮件列表包含的邮件大小超过预定大小;
[0037] 所述代理服务器向所述客户端发送所述信息,包括:
[0038] 所述代理服务器判断所述超大邮件列表中是否包含所述业务数据获取请求携带 的邮件标识;
[0039] 若确定所述超大邮件列表中包含所述业务数据获取请求携带的邮件标识,则根据 所述超大邮件列表中所述业务数据获取请求携带的邮件标识对应的邮件大小,计算第二发 送时间间隔,所述第二发送时间间隔与邮件大小成正比;
[0040] 根据所述第二发送时间间隔,逐个发送所述至少两个第二报文中的每个报文,所 述第二发送时间间隔小于所述客户端的会话老化时间。
[0041] 在第一方面、或上述第一方面的任意一种可能的实现方式中,还提供了第一方面 的第八种可能的实现方式,所述信息的每个片段的大小为1字节。
[0042] 第二方面,提供了一种代理服务器,包括:
[0043] 接收模块,用于接收客户端通过所述代理服务器与所述客户端之间的会话发送的 业务数据获取请求;
[0044] 发送模块,用于将所述接收模块接收的所述业务数据获取请求转发给真实服务 器;
[0045] 所述接收模块,还用于接收所述真实服务器发送的第一报文,所述第一报文用于 响应所述发送模块发送的所述业务数据获取请求,所述第一报文携带用以表示所述真实服 务器开始传输业务数据的信息;
[0046] 所述发送模块,还用于通过依次向所述客户端发送至少两个第二报文,向所述客 户端发送所述信息,所述至少两个第二报文中的每个报文携带所述信息的片段,所述至少 两个第二报文中发送次序相邻的两个报文的发送时间间隔小于所述会话的老
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1