基于因特网内容适配协议的通信方法、客户端和服务器技术

技术编号:14402775 阅读:90 留言:0更新日期:2017-01-11 14:59
一种基于因特网内容适配协议的通信方法、客户端和服务器,其中的通信方法包括:ICAP客户端生成请求消息时,在请求消息中写入消息序列号;所述ICAP客户端向ICAP服务器发送生成的请求消息。其中的ICAP客户端,包括:生成装置,用于生成请求消息时,在请求消息中写入消息序列号;发送装置,用于向ICAP服务器发送生成的请求消息。其中的ICAP服务器收到ICAP客户端发送的一请求消息后,读取该请求消息中的消息序列号,生成对应该请求消息的一响应消息时在该响应消息中写入所述消息序列号。本申请能够解决TCP链路上的请求消息与响应消息对的乱序问题。

【技术实现步骤摘要】

本专利技术涉及基于网络通信,更具体地,涉及基于因特网内容适配协议(ICAP:InternetContentAdaptationProtocol)的通信方法及相应的客户端和服务器。
技术介绍
ICAP协议设计的目的是使Web内容设备能够互操作、共享数据和控制信息。这样就使得用户能够在分离的设备上实施某种服务,优化所执行的功能。ICAP是轻量级的基于HTTP的远程过程调用(RPC)协议,设备可以传送基于HTTP的内容(HTML)到ICAP服务器进行内容操作。ICAPClient是支持ICAP协议的客户端,既可以是安装支持ICAP协议软件的PC机/终端,也可以是实现ICAP协议的电信级网络节点设备。其通过向ICAPServer发送相关请求消息,以获取相关资源用于业务处理。ICAPServer是支持ICAP协议的服务器,即可以是安装支持ICAP协议软件的PC机/终端/商用服务器,也可以是实现ICAP协议的电信级网络节点设备。其对ICAPClient发送过来的ICAP协议消息进行相关业务处理后,返回给ICAPClient应答消息,携带ICAPClient所需要的相关资源。目前的ICAP协议采用串行的方式发送请求消息,要求在一条TCP链路上,只有收到上一条请求消息对应的响应消息后,才允许发送下一条请求消息,如图1所示:步骤1:ICAP客户端向ICAP服务器发送请求消息。步骤2:ICAP服务器收到请求消息(Request)后,向ICAP客户端发送应答消息(Response)。。。。步骤N:ICAP客户端收到应答消息后,再次向ICAP服务器发送请求消息。步骤N+1:ICAP服务器收到请求消息后,再次向ICAP客户端发送应答消息。本专利技术的专利技术人在实现本专利技术的过程中,发现上面描述的ICAP协议消息流程,有两个问题:如图2所示,假设ICAP客户端发出一请求消息A给ICAP服务器,等待ICAP服务器针对请求消息A的响应消息超时后,TCP链路又被ICAP客户端标记成可用,于是ICAP客户端会发送下一个请求消息B给ICAP服务器,发完以后并且等待ICAP服务器针对请求消息B的响应消息还没有超时的时候,在这条TCP链路上收到了请求消息A对应的响应消息(由于网络延时或者ICAP服务器响应慢等原因造成),在这种情况下,ICAP客户端会把请求消息A的响应消息当成请求消息B的响应消息去处理,造成系统异常。因此,需要解决ICAP协议请求消息和响应消息对乱序的问题。此外,由于ICAP协议要求在一条TCP链路上的一对请求消息和响应消息,与下一对请求消息和响应消息是串行关系,无法在一条TCP链路上并行处理消息,造成了TCP链路的使用浪费。
技术实现思路
有鉴于此,本专利技术提供了以下技术方案。一种基于因特网内容适配协议ICAP的通信方法,包括:ICAP客户端生成请求消息时,在请求消息中写入消息序列号;所述ICAP客户端向ICAP服务器发送生成的请求消息。可选地,所述在请求消息中写入消息序列号,包括:在请求消息的扩展字段中写入消息序列号。可选地,所述ICAP客户端向ICAP服务器发送生成的一请求消息后,还包括:为该请求消息启动一个等待定时器,并保存该请求消息;如该等待定时器超时时,所述ICAP客户端还没有收到所述ICAP服务器返回的消息序列号与该请求消息中消息序列号相同的响应消息,将保存的该请求消息丢弃。可选地,所述方法还包括:所述ICAP客户端收到所述ICAP服务器返回的一响应消息后,从保存的请求消息中查找消息序列号与该响应消息中消息序列号相同的请求消息:如查找到,对该响应消息进行处理;如查找不到,将该响应消息丢弃。可选地,所述ICAP客户端在到ICAP服务器的同一条TCP链路上,采用串行或并行的方式进行消息收发。可选地,所述消息序列号包括数字序号,或者包括时间戳和数字序号;所述消息序列号在系统运行时间内或在设定运行时段内不重复。一种因特网内容适配协议ICAP客户端,包括:生成装置,用于生成请求消息时,在请求消息中写入消息序列号;发送装置,用于向ICAP服务器发送生成的请求消息。可选地,所述发送装置向ICAP服务器发送生成的一请求消息后,还用于:为该请求消息启动一个等待定时器,并保存该请求消息;如该等待定时器超时时,还没有收到所述ICAP服务器返回的消息序列号与该请求消息中消息序列号相同的响应消息,将保存的该请求消息丢弃。可选地,所述客户端还包括:接收装置,用于在收到所述ICAP服务器返回的一响应消息后,从保存的请求消息中查找消息序列号与该响应消息中消息序列号相同的请求消息:如查找到,对该响应消息进行处理;如查找不到,将该响应消息丢弃。可选地,所述发送装置和接收装置在到ICAP服务器的同一条TCP链路上,采用串行或并行的方式进行消息收发。一种基于因特网内容适配协议ICAP的通信方法,包括:ICAP服务器收到ICAP客户端发送的一请求消息后,读取该请求消息中的消息序列号;所述ICAP服务器生成对应该请求消息的一响应消息,在该响应消息中写入所述消息序列号;所述ICAP服务器向所述ICAP客户端发送生成的该响应消息。可选地,在该响应消息中写入所述消息序列号,包括:在该响应消息的扩展字段中写入所述消息序列号。一种因特网内容适配协议ICAP服务器,其特征在于,包括:接收装置,用于在收到ICAP客户端发送的一请求消息后,读取该请求消息中的消息序列号;生成装置,用于生成对应该请求消息的一响应消息,在该响应消息中写入所述消息序列号;发送装置,用于向所述ICAP客户端发送生成的该响应消息。上述方案能够解决TCP链路上的请求消息与响应消息对的乱序问题,还可以采用并行的方式进行消息收发,显著提升TCP链路的使用率。附图说明图1为当前ICAP协议的标准信令交互的流程图。图2为当前ICAP协议出现消息对乱序的流程图。图3为本专利技术实施例一ICAP客户端一侧的通信方法的流程图。图4为本专利技术实施例一ICAP客户端的模块图。图5为本专利技术实施例二ICAP服务器一侧的通信方法的流程图。图6为本专利技术实施例二ICAP服务器的模块图。图7为本专利技术一应用示例信令交互的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例一本实施例提供一种基于ICAP的通信方法,应用于ICAP客户端,如图3所示,包括:步骤110,ICAP客户端生成请求消息时,在请求消息中写入消息序列号;消息序列号可以写入在请求消息的扩展字段中。消息序列号可以包括数字序号,或者包括时间戳和数字序号,以保证在系统运行时间内或在设定运行时段(如1个小时、1天等等)内不重复。在一个示例中,消息序列号包括16位时间戳(精确到秒)和6位数字序号共20位字符串,例如,消息序列号为20150621162401000001,确保在系统运行时间内不会出现循环的问题。步骤120,所述ICAP客户端向ICAP服务器发送生成的请求消息。本实施例中,ICAP客户端向ICAP服务器发送一请求消息后,可以按以下方式进行消息的保存和丢弃:为该请求消息启动一个等待定时器,并保存该请求消息;如本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201510371520.html" title="基于因特网内容适配协议的通信方法、客户端和服务器原文来自X技术">基于因特网内容适配协议的通信方法、客户端和服务器</a>

【技术保护点】
一种基于因特网内容适配协议ICAP的通信方法,包括:ICAP客户端生成请求消息时,在请求消息中写入消息序列号;所述ICAP客户端向ICAP服务器发送生成的请求消息。

【技术特征摘要】
1.一种基于因特网内容适配协议ICAP的通信方法,包括:ICAP客户端生成请求消息时,在请求消息中写入消息序列号;所述ICAP客户端向ICAP服务器发送生成的请求消息。2.如权利要求1所述的通信方法,其特征在于:所述在请求消息中写入消息序列号,包括:在请求消息的扩展字段中写入消息序列号。3.如权利要求1所述的通信方法,其特征在于:所述ICAP客户端向ICAP服务器发送生成的一请求消息后,还包括:为该请求消息启动一个等待定时器,并保存该请求消息;如该等待定时器超时时,所述ICAP客户端还没有收到所述ICAP服务器返回的消息序列号与该请求消息中消息序列号相同的响应消息,将保存的该请求消息丢弃。4.如权利要求1-3任一所述的通信方法,其特征在于:所述方法还包括:所述ICAP客户端收到所述ICAP服务器返回的一响应消息后,从保存的请求消息中查找消息序列号与该响应消息中消息序列号相同的请求消息:如查找到,对该响应消息进行处理;如查找不到,将该响应消息丢弃。5.如权利要求4所述的通信方法,其特征在于:所述ICAP客户端在到ICAP服务器的同一条TCP链路上,采用串行或并行的方式进行消息收发。6.如权利要求1-3、5任一所述的通信方法,其特征在于:所述消息序列号包括数字序号,或者包括时间戳和数字序号;所述消息
\t序列号在系统运行时间内或在设定运行时段内不重复。7.一种因特网内容适配协议ICAP客户端,其特征在于,包括:生成装置,用于生成请求消息时,在请求消息中写入消息序列号;发送装置,用于向ICAP服务器发送生成的请求消息。8.如权利要求7所...

【专利技术属性】
技术研发人员:赵洋
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1