服务处理方法、服务处理器及服务处理系统技术方案

技术编号:7936853 阅读:176 留言:0更新日期:2012-11-01 07:27
本申请提供一种服务处理方法、服务处理器及服务处理系统。其中所述服务处理方法包括:向接收端发出第一请求,并注册所述第一请求的第一句柄及第一回调函数;接收所述接收端发出的第一应答信息,并通过所述第一回调函数调用与所述第一句柄关联的被动对象,根据所述被动对象处理所述第一应答信息。本申请实施例通过在服务处理器发送外部服务请求时注册请求的句柄及回调函数,并通过句柄调用关联的被动对象,通过回调函数释放当前处理资源来等待外部服务的应答,有效地减少服务处理器处理资源的占用时间,使得有限的处理资源得到充分利用,并能够显著地提供提高服务处理的效率。

【技术实现步骤摘要】

本申请涉及通信技术,尤其涉及一种服务处理方法、服务处理器及服务处理系统
技术介绍
在大型计算机系统中,各系统间常常需要进行信息的交互。各系统间进行信息交互时就涉及到各种通讯协议的接入和处理。目前,实现各系统间信息交互通常通过网络服务(Web service)来实现。网络服务是一种常见的系统间集成方式,其通常是许多应用程序接口(API)所组成的,用以支持网络间不同机器或系统之间的互动操作或访问。现有技术中,服务端在客户端发出请求时采用注册应答回调机制,以使客户端在等待服务器端返回应答信息时释放客户端当前的处理资源(线程或进程),待客户端接收到服务器返回的应答信息后通过回调机制再次为请求的事件分配资源,以减少处理资源的占用时间,便于客户端将被释放的处理资源分配给其他事件,进而提高客户端的处理效率。而 当服务器端需要作为客户端请求外部服务时还是采用传统的阻塞模式,即服务器端发送请求一直到接收到相应地应答信息的整个过程,服务器端的处理资源一直被占用。若服务器端接收到应答信息的延时较短,采用现有技术的服务器端的服务处理效率不会受到太大影响,但当服务器端接收到应答信息的延时较长时,处理资源就会被长时间占用,这样会严重影响服务器端的服务处理效率。申请内容本申请的多个方面提供一种服务处理方法、服务处理器及服务处理系统,用以提高网络服务处理效率。本申请的一方面,提供一种服务处理方法,包括向接收端发出第一请求,并注册所述第一请求的第一句柄及第一回调函数;接收所述接收端发出的第一应答信息,并通过所述第一回调函数调用与所述第一句柄关联的被动对象,根据所述被动对象处理所述第一应答信息。如上所述的服务处理方法,还包括接收所述发送端发出的第二请求,并注册所述第二请求的第二句柄及第二回调函数;调用与所述第二句柄关联的被动对象,根据所述被动对象处理所述第二请求,并通过所述第二回调函数向所述发送端返回第二应答信息。所述的服务处理方法,所述被动对象包括协议处理逻辑及所述协议处理逻辑相应的上下文。如上所述的服务处理方法,还包括创建至少一个协议编解码动态插件,所述协议编解码动态插件包括至少一个所述被动对象;相应地,调用与所述第一句柄关联的被动对象,包括对所述第一请求进行第一层协议解析,得出第一解析结果;判断所述至少一个协议编解码动态插件中是否有与所述第一解析结果对应的所述协议编解码动态插件;若有,则调用该协议编解码动态插件中与所述第一句柄关联的被动对象;若无,对所述第一请求进行第二层协议解析,得出第二解析结果,并判断所述至少一个协议编解码动态插件中是否有与所述第二解析结果对应的所述协议编解码动态插件,若有,则调用所述该协议编解码动态插件中与所述第一句柄关联的被动对象,若无,继续对所述第一请求进行第三层协议解析直至所述至少一个协议编解码动态插件中有与解析结果对应的所述协议编解码动态插件为止。其中,所述第二层协议承载在所述第一层协议之上,所述第三层协议承载在所述第二层协议之上。如上所述的服务处理方法, 若所述第一层协议为TCP或UDP协议,则所述对所述第一请求进行第一层协议解析,得出第一解析结果,具体为解析所述第一请求的TCP或UDP协议的包头特征,若解析出所述包头特征中有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为协议编解码动态插件信息的注册信息;若解析出所述包头特征中没有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为预设信息,该预设信息与任意一个所述协议编解码动态插件都不对应;若所述第二层协议为HTTP协议,则所述对所述第一请求进行第二层协议解析,得出第二解析结果,具体为对所述第一请求进行HTTP协议解析,得出所述第二解析结果为所述第一请求的统一资源标识符。如上所述的服务处理方法,还包括创建至少一个协议编解码动态插件,所述协议编解码动态插件包括至少一个所述被动对象;相应地,调用与所述第二句柄关联的被动对象,包括对所述第二请求进行第一层协议解析,得出第一解析结果;判断所述至少一个协议编解码动态插件中是否有与所述第一解析结果对应的所述协议编解码动态插件;若有,则调用该协议编解码动态插件中与所述第二句柄关联的被动对象;若无,对所述第二请求进行第二层协议解析,得出第二解析结果,并判断所述至少一个协议编解码动态插件中是否有与所述第二解析结果对应的所述协议编解码动态插件,若有,则调用所述该协议编解码动态插件中与所述第二句柄关联的被动对象,若无,继续对所述第二请求进行第三层协议解析直至所述至少一个协议编解码动态插件中有与解析结果对应的所述协议编解码动态插件为止。其中,所述第二层协议承载在所述第一层协议之上,所述第三层协议承载在所述第二层协议之上。如上所述的服务处理方法,若所述第一层协议为TCP或UDP协议,则所述对所述第二请求进行第一层协议解析,得出第一解析结果,具体为解析所述第二请求的TCP或UDP协议的包头特征,若解析出所述包头特征中有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为协议编解码动态插件信息的注册信息;若解析出所述包头特征中没有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为预设信息,该预设信息与任意一个所述协议编解码动态插件都不对应;若所述第二层协议为HTTP协议,则所述对所述第二请求进行第二层协议解析,得出第二解析结果,具体为对所述第二请求进行HTTP协议解析,得出所述第二解析结果为所述第二请求的统一资源标识符。如上所述的服务处理方法,其中,所述创建至少一个协议编解码动态插件,所述协议编解码动态插件包括所述被动对象,包括 根据协议处理功能,创建至少一个协议编解码动态插件;将与协议编解码动态插件的协议处理功能相同的所述被动对象与所述协议编解码动态插件进行从属关联设置。本申请的另一方面,提供一种服务处理器,包括发送单元,用于向接收端发出第一请求,并注册所述第一请求的第一句柄及第一回调函数;第一接收单元,用于接收所述接收端发出的第一应答信息;存储单元,用于存储被动对象;处理单元,用于在接收到所述接收端发出的第一应答信息后,通过所述第一回调函数调用与所述第一句柄关联的所述被动对象,根据所述被动对象处理第二请求,所述第二请求为发送端发出的。如上所述的服务处理器,还包括第二接收单元,用于接收所述发送端发出的第二请求,并注册所述第二请求的第二句柄;所述处理单元,还用于调用与所述第二句柄关联的被动对象,根据所述被动对象处理所述第二请求,并向所述发送端返回携带有处理结果的第二应答信息。如上所述的服务处理器,还包括第三接收单元,用于接收所述发送端发出的第二请求,并注册所述第二请求的第二句柄和第二回调函数;所述处理单元,还用于通过所述第二回调函数调用与所述第二句柄关联的被动对象,根据所述被动对象处理所述第二请求,并向所述发送端返回携带有处理结果的第二应答信息。如上所述的服务处理器,还包括插件创建单元,用于创建至少一个协议编解码动态插件,所述协议编解码动态插件包括至少一个所述被动对象;所述处理单元,还用于对所述第一请求进行第一层协议解析,得出第一解析结果;判断所述至少一个协议编解码动态插件中是否有与所述第一解析结果对应的所述协议编解码动态插件,若有,则调用该协议编解码动态插件中与所述第一句柄本文档来自技高网...

【技术保护点】
一种服务处理方法,其特征在于,包括:向接收端发出第一请求,并注册所述第一请求的第一句柄及第一回调函数;接收所述接收端发出的第一应答信息,并通过所述第一回调函数调用与所述第一句柄关联的被动对象,根据所述被动对象处理所述第一应答信息。

【技术特征摘要】
1.一种服务处理方法,其特征在于,包括 向接收端发出第一请求,并注册所述第一请求的第一句柄及第一回调函数; 接收所述接收端发出的第一应答信息,并通过所述第一回调函数调用与所述第一句柄关联的被动对象,根据所述被动对象处理所述第一应答信息。2.根据权利要求I所述的服务处理方法,其特征在于,还包括 接收发送端发出的第二请求,并注册所述第二请求的第二句柄; 调用与所述第二句柄关联的被动对象,根据所述被动对象处理所述第二请求,并向所述发送端返回携带有处理结果的第二应答信息。3.根据权利要求I所述的服务处理方法,其特征在于,还包括 接收发送端发出的第二请求,并注册所述第二请求的第二句柄和第二回调函数; 通过所述第二回调函数调用与所述第二句柄关联的被动对象,根据所述被动对象处理所述第二请求,并向所述发送端返回携带有处理结果的第二应答信息。4.根据权利要求I至3中任一所述的服务处理方法,其特征在于,所述被动对象包括协议处理逻辑及所述协议处理逻辑相应的上下文。5.根据权利要求I或4所述的服务处理方法,其特征在于,还包括 创建至少一个协议编解码动态插件,所述协议编解码动态插件包括至少一个所述被动对象;相应地, 调用与所述第一句柄关联的被动对象,包括 对所述第一请求进行第一层协议解析,得出第一解析结果; 判断所述至少一个协议编解码动态插件中是否有与所述第一解析结果对应的所述协议编解码动态插件; 若有,则调用该协议编解码动态插件中与所述第一句柄关联的被动对象; 若无,对所述第一请求进行第二层协议解析,得出第二解析结果,并判断所述至少一个协议编解码动态插件中是否有与所述第二解析结果对应的所述协议编解码动态插件,若有,则调用所述该协议编解码动态插件中与所述第一句柄关联的被动对象,若无,继续对所述第一请求进行第三层协议解析直至所述至少一个协议编解码动态插件中有与解析结果对应的所述协议编解码动态插件为止。其中,所述第二层协议承载在所述第一层协议之上,所述第三层协议承载在所述第二层协议之上。6.根据权利要求5所述的服务处理方法,其特征在于, 若所述第一层协议为TCP或UDP协议,则所述对所述第一请求进行第一层协议解析,得出第一解析结果,具体为 解析所述第一请求的TCP或UDP协议的包头特征,若解析出所述包头特征中有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为协议编解码动态插件信息的注册信息;若解析出所述包头特征中没有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为预设信息,该预设信息与任意一个所述协议编解码动态插件都不对应;若所述第二层协议为HTTP协议,则所述对所述第一请求进行第二层协议解析,得出第二解析结果,具体为 对所述第一请求进行HTTP协议解析,得出所述第二解析结果为所述第一请求的统一资源标识符。7.根据权利要求2、3或4所述的服务处理方法,其特征在于,还包括 创建至少一个协议编解码动态插件,所述协议编解码动态插件包括至少一个所述被动对象;相应地, 调用与所述第二句柄关联的被动对象,包括 对所述第二请求进行第一层协议解析,得出第一解析结果; 判断所述至少一个协议编解码动态插件中是否有与所述第一解析结果对应的所述协议编解码动态插件; 若有,则调用该协议编解码动态插件中与所述第二句柄关联的被动对象; 若无,对所述第二请求进行第二层协议解析,得出第二解析结果,并判断所述至少一个协议编解码动态插件中是否有与所述第二解析结果对应的所述协议编解码动态插件,若有,则调用所述该协议编解码动态插件中与所述第二句柄关联的被动对象,若无,继续对所述第二请求进行第三层协议解析直至所述至少一个协议编解码动态插件中有与解析结果对应的所述协议编解码动态插件为止; 其中,所述第二层协议承载在所述第一层协议之上,所述第三层协议承载在所述第二层协议之上。8.根据权利要求7所述的服务处理方法,其特征在于, 若所述第一层协议为TCP或UDP协议,则所述对所述第二请求进行第一层协议解析,得出第一解析结果,具体为 解析所述第二请求的TCP或UDP协议的包头特征,若解析出所述包头特征中有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为协议编解码动态插件信息的注册信息;若解析出所述包头特征中没有协议编解码动态插件信息的注册信息,则得出所述第一解析结果为预设信息,该预设信息与任意一个所述协议编解码动态插件都不对应;若所述第二层协议为HTTP协议,则所述对所述第二请求进行第二层协议解析,得出第二解析结果,具体...

【专利技术属性】
技术研发人员:方文王慷
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1