[發明專利]一種兼容協議的方法及裝置有效
| 申請號: | 201310522100.6 | 申請日: | 2013-10-29 |
| 公開(公告)號: | CN103607376B | 公開(公告)日: | 2017-01-11 |
| 發明(設計)人: | 朱超;陳飛;王超 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 北京市中倫律師事務所11410 | 代理人: | 張思悅 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 兼容 協議 方法 裝置 | ||
技術領域
本發明屬于計算機技術領域,尤其涉及一種兼容協議的方法及裝置。
背景技術
網絡應用程序都需要制定一套完整的通訊協議,以供網絡應用程序的客戶端與服務器端之間的信息發送與接收使用??蛻舳伺c服務器端只有在嚴格遵守通訊協議的條件下,才能正確組織發送出的數據包,并正確解析接收到的數據包。
MySQL服務器端也有自己的通訊協議,用來實現認證、查詢、返回結果等功能。中間件因為位于客戶端與MySQL服務器端之間,相對于客戶端,中間件扮演MySQL服務器端的角色;相對于MySQL服務器端,中間件扮演客戶端的角色,所以中間件就要同時實現MySQL的客戶端協議和服務器端協議。
當MySQL協議推出新版本,即MySQL協議發生改變時,舊的中間件就不能再適應新版本的MySQL協議。為了適應新版本的MySQL協議,最直接的解決方案就是修改中間件的相關代碼,增加對新版本的MySQL協議的處理邏輯。同時添加一個對MySQL協議的版本號的判斷流程,當判斷出客戶端和服務器端采用新版本MySQL的協議,就執行新的協議組包與解析代碼,按照新協議的格式進行組包發包和收包解包,否則仍然使用舊協議的格式。
MySQL協議經常會在發布新版時增加一些新的特性,隨之帶來通訊協議的變化。由于在新版本發布之后,每次都需要修改中間件的程序,即在中間件中加入對新版通訊協議的組包與解析代碼,這種頻繁的修改會導致修改中間件代碼的工作量太大,開發成本也會很高。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的兼容協議的方法及裝置,解決中間件的通訊協議解析代碼要經常隨通訊協議變化而改變的問題,以極低的成本實現中間件與采用新版本的通訊協議的客戶端和服務器端兼容。
依據本發明的一個方面,提供了一種兼容協議的方法,包括:中間件接收服務器向客戶端發送的握手消息,握手消息包括:服務器所采用通訊協議的版本信息;根據握手消息中的版本信息,中間件判斷服務器所采用的通訊協議的版本是否高于中間件所采用的通訊協議的版本;如果服務器采用的通訊協議的版本高于中間件采用的通訊協議的版本,則中間件對握手消息中服務器所采用通訊協議的版本信息進行調整,使得服務器所采用通訊協議的版本與中間件所采用的通訊協議的版本相同;以及在握手消息中的版本信息調整之后,中間件將握手消息發送給客戶端,使得服務器可以采用版本調整后的通訊協議與客戶端通訊。
可選地,中間件對握手消息中的服務器所采用的通訊協議的版本信息進行調整的步驟包括:中間件從服務器所采用通訊協議的版本信息中獲取服務器的能力標志信息,服務器的能力標志信息用于表示采用當前版本的通訊協議的服務器所具有的工作特性;中間件對獲取的服務器的能力標志信息進行調整,使得服務器所采用通訊協議的版本與中間件所采用的通訊協議的版本相同。
可選地,其中服務器的能力標志信息包括一個或多個字符位,其中每個字符位表示采用當前版本的通訊協議的服務器所具有的一種工作特性。
可選地,方法還包括:如果服務器采用的通訊協議的版本低于或等于中間件采用的通訊協議的版本,則中間件直接將握手消息發送給客戶端。
可選地,在中間件將握手消息發送給客戶端的步驟之后,方法還包括:中間件接收客戶端向服務器發送的認證消息,認證消息包括:客戶端所采用通訊協議的版本信息;中間件判斷客戶端所采用的通訊協議的版本是否高于中間件所采用的通訊協議的版本;如果客戶端采用的通訊協議的版本高于中間件采用的通訊協議的版本,則中間件對認證消息中客戶端所采用通訊協議的版本信息進行調整,使得客戶端所采用通訊協議的版本與中間件所采用的通訊協議的版本相同;在認證消息中的版本信息調整之后,中間件將認證消息發送給服務器,使得客戶端可以采用版本調整后的通訊協議與服務器通訊。
可選地,中間件對認證消息中的客戶端所采用的通訊協議的版本信息進行調整的步驟包括:中間件從客戶端所采用通訊協議的版本信息中獲取客戶端的能力標志信息,客戶端的能力標志信息用于表示采用當前版本的通訊協議的客戶端所具有的工作特性;中間件對獲取的客戶端的能力標志信息進行調整,使得客戶端所采用通訊協議的版本與中間件所采用的通訊協議的版本相同。
可選地,客戶端的能力標志信息包括一個或多個字符位,其中每個字符位表示采用當前版本的通訊協議的客戶端所具有的一種工作特性。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310522100.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:水性膠黏劑用自動投料裝置
- 下一篇:一種帶攝像頭的叉車的使用方法





