[发明专利]一种兼容协议的方法及装置有效
申请号: | 201310522100.6 | 申请日: | 2013-10-29 |
公开(公告)号: | CN103607376B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 朱超;陈飞;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京市中伦律师事务所11410 | 代理人: | 张思悦 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 兼容 协议 方法 装置 | ||
技术领域
本发明属于计算机技术领域,尤其涉及一种兼容协议的方法及装置。
背景技术
网络应用程序都需要制定一套完整的通讯协议,以供网络应用程序的客户端与服务器端之间的信息发送与接收使用。客户端与服务器端只有在严格遵守通讯协议的条件下,才能正确组织发送出的数据包,并正确解析接收到的数据包。
MySQL服务器端也有自己的通讯协议,用来实现认证、查询、返回结果等功能。中间件因为位于客户端与MySQL服务器端之间,相对于客户端,中间件扮演MySQL服务器端的角色;相对于MySQL服务器端,中间件扮演客户端的角色,所以中间件就要同时实现MySQL的客户端协议和服务器端协议。
当MySQL协议推出新版本,即MySQL协议发生改变时,旧的中间件就不能再适应新版本的MySQL协议。为了适应新版本的MySQL协议,最直接的解决方案就是修改中间件的相关代码,增加对新版本的MySQL协议的处理逻辑。同时添加一个对MySQL协议的版本号的判断流程,当判断出客户端和服务器端采用新版本MySQL的协议,就执行新的协议组包与解析代码,按照新协议的格式进行组包发包和收包解包,否则仍然使用旧协议的格式。
MySQL协议经常会在发布新版时增加一些新的特性,随之带来通讯协议的变化。由于在新版本发布之后,每次都需要修改中间件的程序,即在中间件中加入对新版通讯协议的组包与解析代码,这种频繁的修改会导致修改中间件代码的工作量太大,开发成本也会很高。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的兼容协议的方法及装置,解决中间件的通讯协议解析代码要经常随通讯协议变化而改变的问题,以极低的成本实现中间件与采用新版本的通讯协议的客户端和服务器端兼容。
依据本发明的一个方面,提供了一种兼容协议的方法,包括:中间件接收服务器向客户端发送的握手消息,握手消息包括:服务器所采用通讯协议的版本信息;根据握手消息中的版本信息,中间件判断服务器所采用的通讯协议的版本是否高于中间件所采用的通讯协议的版本;如果服务器采用的通讯协议的版本高于中间件采用的通讯协议的版本,则中间件对握手消息中服务器所采用通讯协议的版本信息进行调整,使得服务器所采用通讯协议的版本与中间件所采用的通讯协议的版本相同;以及在握手消息中的版本信息调整之后,中间件将握手消息发送给客户端,使得服务器可以采用版本调整后的通讯协议与客户端通讯。
可选地,中间件对握手消息中的服务器所采用的通讯协议的版本信息进行调整的步骤包括:中间件从服务器所采用通讯协议的版本信息中获取服务器的能力标志信息,服务器的能力标志信息用于表示采用当前版本的通讯协议的服务器所具有的工作特性;中间件对获取的服务器的能力标志信息进行调整,使得服务器所采用通讯协议的版本与中间件所采用的通讯协议的版本相同。
可选地,其中服务器的能力标志信息包括一个或多个字符位,其中每个字符位表示采用当前版本的通讯协议的服务器所具有的一种工作特性。
可选地,方法还包括:如果服务器采用的通讯协议的版本低于或等于中间件采用的通讯协议的版本,则中间件直接将握手消息发送给客户端。
可选地,在中间件将握手消息发送给客户端的步骤之后,方法还包括:中间件接收客户端向服务器发送的认证消息,认证消息包括:客户端所采用通讯协议的版本信息;中间件判断客户端所采用的通讯协议的版本是否高于中间件所采用的通讯协议的版本;如果客户端采用的通讯协议的版本高于中间件采用的通讯协议的版本,则中间件对认证消息中客户端所采用通讯协议的版本信息进行调整,使得客户端所采用通讯协议的版本与中间件所采用的通讯协议的版本相同;在认证消息中的版本信息调整之后,中间件将认证消息发送给服务器,使得客户端可以采用版本调整后的通讯协议与服务器通讯。
可选地,中间件对认证消息中的客户端所采用的通讯协议的版本信息进行调整的步骤包括:中间件从客户端所采用通讯协议的版本信息中获取客户端的能力标志信息,客户端的能力标志信息用于表示采用当前版本的通讯协议的客户端所具有的工作特性;中间件对获取的客户端的能力标志信息进行调整,使得客户端所采用通讯协议的版本与中间件所采用的通讯协议的版本相同。
可选地,客户端的能力标志信息包括一个或多个字符位,其中每个字符位表示采用当前版本的通讯协议的客户端所具有的一种工作特性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310522100.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:水性胶黏剂用自动投料装置
- 下一篇:一种带摄像头的叉车的使用方法