本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0133]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”或“包括”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0134]本申請可以應用于計算機系統(tǒng)/服務器,其可與眾多其它通用或專用計算系統(tǒng)環(huán)境或配置一起操作。適于與計算機系統(tǒng)/服務器一起使用的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個人計算機系統(tǒng)、服務器計算機系統(tǒng)、瘦客戶機、厚客戶機、手持或膝上設備、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡個人電腦、小型計算機系統(tǒng)、大型計算機系統(tǒng)和包括上述任何系統(tǒng)的分布式云計算技術環(huán)境,等等。
[0135]計算機系統(tǒng)/服務器可以在由計算機系統(tǒng)執(zhí)行的計算機系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標程序、組件、邏輯、數(shù)據(jù)結構等等,它們執(zhí)行特定的任務或者實現(xiàn)特定的抽象數(shù)據(jù)類型。計算機系統(tǒng)/服務器可以在分布式云計算環(huán)境中實施,分布式云計算環(huán)境中,任務是由通過通信網(wǎng)絡鏈接的遠程處理設備執(zhí)行的。在分布式云計算環(huán)境中,程序模塊可以位于包括存儲設備的本地或遠程計算系統(tǒng)存儲介質上。
[0136]本發(fā)明包括A7、一種特殊指令的執(zhí)行裝置,耦接于數(shù)據(jù)庫與客戶端之間,所述裝置包括:
[0137]第一發(fā)送模塊,用于發(fā)送特殊指令,并記錄與所述特殊指令對應的相關信息,其中,所述相關信息包括:發(fā)送所述特殊指令所使用連接的標識,和/或所述特殊指令包含的豐吳板指令;
[0138]接收模塊,用于接收所述特殊指令的匹配指令;
[0139]第二發(fā)送模塊,用于根據(jù)所述第一發(fā)送模塊記錄的所述相關信息,采用預設的與所述相關信息對應的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
[0140]AS、如權利要求A7所述的裝置,其特征在于,當所述相關信息為發(fā)送所述特殊指令所使用連接的標識時,所述第二發(fā)送模塊具體用于,將所述匹配指令通過與發(fā)送所述特殊指令所使用連接的標識對應的連接發(fā)送給數(shù)據(jù)庫執(zhí)行。
[0141]A9、如權利要求AS所述的裝置,其特征在于,所述裝置還包括:
[0142]保持模塊,用于在所述第一發(fā)送模塊發(fā)送特殊指令之后,為所述數(shù)據(jù)庫和所述客戶端保持所述第一發(fā)送模塊發(fā)送所述特殊指令所使用的連接。
[0143]A10、如權利要求A7所述的裝置,其特征在于,當所述相關信息為所述特殊指令包含的模板指令時,所述第二發(fā)送模塊具體用于,根據(jù)所述模板指令,以及所述匹配指令生成一般指令,將生成的一般指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
[0144]All、如權利要求AlO所述的裝置,其特征在于,所述第二發(fā)送模塊具體用于,判斷所述模板指令中是否包含待定參數(shù),若是,則根據(jù)所述匹配指令中包含的參數(shù)值為所述待定參數(shù)賦值,將賦值后的模板指令作為生成的一般指令,否則,將所述模板指令作為生成的一般指令。
[0145]A12、如權利要求A7?All任一所述的裝置,其特征在于,所述指令包括:結構化查詢語言SQL語句形式的指令;
[0146]當所述相關信息為發(fā)送所述特殊指令所使用連接的標識時,所述特殊指令包括BEGIN語句或PREPARE語句,當所述特殊指令為BEGIN語句時,所述匹配指令為與所述BEGIN語句屬于同一個數(shù)據(jù)庫事務的語句,當所述特殊指令為PREPARE語句時,所述匹配指令為EXECUTE語句或DEALLOCATE語句;
[0147]當所述相關信息為所述特殊指令包含的模板指令時,所述特殊指令包括PREPARE語句,所述匹配指令包括EXE⑶TE語句。
【主權項】
1.一種特殊指令的執(zhí)行方法,應用于耦接在數(shù)據(jù)庫與客戶端之間的中間件,所述方法包括: 發(fā)送特殊指令,并記錄與所述特殊指令對應的相關信息,其中,所述相關信息包括:發(fā)送所述特殊指令所使用連接的標識,和/或所述特殊指令包含的模板指令; 接收所述特殊指令的匹配指令;以及 根據(jù)記錄的所述相關信息,采用預設的與所述相關信息對應的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
2.如權利要求1所述的方法,其特征在于,當所述相關信息為發(fā)送所述特殊指令所使用連接的標識時,采用預設的與所述相關信息對應的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行,具體包括: 將所述匹配指令通過與發(fā)送所述特殊指令所使用連接的標識對應的連接發(fā)送給數(shù)據(jù)庫執(zhí)行。
3.如權利要求2所述的方法,其特征在于,發(fā)送特殊指令之后,所述方法還包括: 為所述數(shù)據(jù)庫和所述客戶端保持發(fā)送所述特殊指令所使用的連接。
4.如權利要求1所述的方法,其特征在于,當所述相關信息為所述特殊指令包含的模板指令時,采用預設的與所述相關信息對應的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行,具體包括: 根據(jù)所述模板指令,以及所述匹配指令生成一般指令; 將生成的一般指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
5.如權利要求4所述的方法,其特征在于,根據(jù)所述模板指令,以及所述匹配指令生成一般指令,具體包括: 判斷所述模板指令中是否包含待定參數(shù); 若是,則根據(jù)所述匹配指令中包含的參數(shù)值為所述待定參數(shù)賦值,將賦值后的模板指令作為生成的一般指令; 否則,將所述模板指令作為生成的一般指令。
6.如權利要求1?5任一所述的方法,其特征在于,所述指令包括:結構化查詢語言SQL語句形式的指令; 當所述相關信息為發(fā)送所述特殊指令所使用連接的標識時,所述特殊指令包括BEGIN語句或PREPARE語句,當所述特殊指令為BEGIN語句時,所述匹配指令為與所述BEGIN語句屬于同一個數(shù)據(jù)庫事務的語句,當所述特殊指令為PREPARE語句時,所述匹配指令為EXECUTE 語句或 DEALLOCATE 語句; 當所述相關信息為所述特殊指令包含的模板指令時,所述特殊指令包括PREPARE語句,所述匹配指令包括EXE⑶TE語句。
7.一種特殊指令的執(zhí)行裝置,耦接于數(shù)據(jù)庫與客戶端之間,所述裝置包括: 第一發(fā)送模塊,用于發(fā)送特殊指令,并記錄與所述特殊指令對應的相關信息,其中,所述相關信息包括:發(fā)送所述特殊指令所使用連接的標識,和/或所述特殊指令包含的模板指令; 接收模塊,用于接收所述特殊指令的匹配指令; 第二發(fā)送模塊,用于根據(jù)所述第一發(fā)送模塊記錄的所述相關信息,采用預設的與所述相關信息對應的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
8.如權利要求7所述的裝置,其特征在于,當所述相關信息為發(fā)送所述特殊指令所使用連接的標識時,所述第二發(fā)送模塊具體用于,將所述匹配指令通過與發(fā)送所述特殊指令所使用連接的標識對應的連接發(fā)送給數(shù)據(jù)庫執(zhí)行。
9.如權利要求8所述的裝置,其特征在于,所述裝置還包括: 保持模塊,用于在所述第一發(fā)送模塊發(fā)送特殊指令之后,為所述數(shù)據(jù)庫和所述客戶端保持所述第一發(fā)送模塊發(fā)送所述特殊指令所使用的連接。
10.如權利要求7所述的裝置,其特征在于,當所述相關信息為所述特殊指令包含的模板指令時,所述第二發(fā)送模塊具體用于,根據(jù)所述模板指令,以及所述匹配指令生成一般指令,將生成的一般指令發(fā)送給數(shù)據(jù)庫執(zhí)行。
【專利摘要】本申請公開了一種特殊指令的執(zhí)行方法及裝置,該方法中間件連接數(shù)據(jù)庫與客戶端,中間件發(fā)送特殊指令,并記錄與該特殊指令對應的相關信息,當接收到該特殊指令的匹配指令時,采用預設的與該相關信息對應的發(fā)送方式,將該匹配指令發(fā)送給數(shù)據(jù)庫執(zhí)行,由于數(shù)據(jù)庫可以正確識別采用預設的與該相關信息對應的發(fā)送方式發(fā)送的該匹配指令,因此,數(shù)據(jù)庫也可以正確執(zhí)行該匹配指令。
【IPC分類】G06F9-44
【公開號】CN104636131
【申請?zhí)枴緾N201410768908
【發(fā)明人】朱超, 陳非, 王超
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2015年5月20日
【申請日】2014年12月12日