[發(fā)明專利]一種報文處理方法、裝置、電子設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202110482383.0 | 申請日: | 2021-04-30 |
| 公開(公告)號: | CN113259265B | 公開(公告)日: | 2023-07-25 |
| 發(fā)明(設(shè)計)人: | 吳翔;許偉棟;吳旭冬 | 申請(專利權(quán))人: | 阿里云計算有限公司 |
| 主分類號: | H04L47/125 | 分類號: | H04L47/125;H04L47/50;G06F16/28 |
| 代理公司: | 北京博思佳知識產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 李威 |
| 地址: | 310030 浙江省杭州市西湖區(qū)*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 報文 處理 方法 裝置 電子設(shè)備 存儲 介質(zhì) | ||
1.一種報文處理方法,其特征在于,應(yīng)用于與PostgreSQL數(shù)據(jù)庫節(jié)點對應(yīng)的中轉(zhuǎn)節(jié)點;所述中轉(zhuǎn)節(jié)點用于將接收到的基于Extended?Query協(xié)議的報文序列轉(zhuǎn)發(fā)給所述數(shù)據(jù)庫節(jié)點;所述方法包括:
將客戶端發(fā)送的基于Extended?Query協(xié)議的報文序列確定為目標報文序列,并迭代執(zhí)行以下步驟A、B、C,直至客戶端發(fā)送的所述報文序列中的報文均被轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點;
步驟A:將所述目標報文序列中的首個Bind報文之前的若干報文,拆分為第一報文子序列,并將所述第一報文子序列轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點;
步驟B:確定所述目標報文序列中剩余的報文所構(gòu)成的第二報文子序列中的Bind報文的數(shù)量是否大于1;
步驟C:如果否,則將所述第二報文子序列轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點;如果是,則將所述第二報文子序列中的與所述首個Bind報文對應(yīng)的Execute報文的之前的若干報文和所述Execute報文,拆分為第三報文子序列,并將所述第三報文子序列轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點;以及將所述第二報文子序列中剩余的報文所構(gòu)成的報文子序列,重新確定為所述目標報文序列。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫節(jié)點包括多個數(shù)據(jù)庫子節(jié)點;
所述將所述第一報文子序列轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點,包括:
將所述第一報文子序列廣播發(fā)送至所述數(shù)據(jù)庫節(jié)點中的所有子節(jié)點;
所述將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至對應(yīng)的數(shù)據(jù)庫節(jié)點,包括:
將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至所述數(shù)據(jù)庫節(jié)點中的任一子節(jié)點。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述多個數(shù)據(jù)庫子節(jié)點包括主節(jié)點和至少一個從節(jié)點;其中,所述主節(jié)點用于執(zhí)行與寫操作對應(yīng)的SQL語句,所述從節(jié)點用于執(zhí)行與讀操作對應(yīng)的SQL語句;
所述將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至所述數(shù)據(jù)庫節(jié)點中的任一子節(jié)點,包括:
如果與所述首個Bind報文對應(yīng)的Parse報文中包括與寫操作對應(yīng)的SQL語句,則將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至所述主節(jié)點;
如果與所述首個Bind報文對應(yīng)的Parse報文中包括與讀操作對應(yīng)的SQL語句,則將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至任一所述從節(jié)點。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至任一所述從節(jié)點,包括:
基于預(yù)設(shè)的負載均衡策略,確定用于處理所述第二報文子序列或者所述第三報文子序列的目標從節(jié)點;
將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至確定出的所述目標從節(jié)點。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述第一報文子序列廣播發(fā)送至所述數(shù)據(jù)庫節(jié)點中的所有子節(jié)點之后,還包括:
接收所述主節(jié)點以及所述從節(jié)點返回的針對所述第一報文子序列的處理結(jié)果;
丟棄所述從節(jié)點返回的所述處理結(jié)果,并將所述主節(jié)點返回的所述處理結(jié)果進一步返回給所述客戶端。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至所述數(shù)據(jù)庫節(jié)點中的任一子節(jié)點之后,還包括:
如果將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至所述主節(jié)點,則接收所述主節(jié)點返回的針對所述第二報文子序列或者所述第三報文子序列的處理結(jié)果,并將所述主節(jié)點返回的所述處理結(jié)果進一步返回給所述客戶端;
如果將所述第二報文子序列或者所述第三報文子序列轉(zhuǎn)發(fā)至任一所述從節(jié)點,則接收任一所述從節(jié)點返回的針對所述第二報文子序列或者所述第三報文子序列的處理結(jié)果,并將任一所述從節(jié)點返回的所述處理結(jié)果進一步返回給所述客戶端。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里云計算有限公司,未經(jīng)阿里云計算有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110482383.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





