两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種特殊指令的執(zhí)行方法及裝置的制造方法

文檔序號(hào):8318945閱讀:296來(lái)源:國(guó)知局
一種特殊指令的執(zhí)行方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種特殊指令的執(zhí)行方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的迅速發(fā)展,數(shù)據(jù)庫(kù)的中間件技術(shù)在面向網(wǎng)絡(luò)的分布式數(shù)據(jù)庫(kù)系統(tǒng)中得到了廣泛的應(yīng)用。
[0003]中間件可以是位于客戶端與數(shù)據(jù)庫(kù)之間的中轉(zhuǎn)設(shè)備,并可以連接兩者,中間件提供了數(shù)據(jù)庫(kù)連接池的功能。當(dāng)客戶端通過(guò)中間件向數(shù)據(jù)庫(kù)發(fā)送指令時(shí),中間件從數(shù)據(jù)庫(kù)連接池中選擇一個(gè)空閑的連接分配給該客戶端,中間件通過(guò)該連接為客戶端向數(shù)據(jù)庫(kù)發(fā)送指令,并向客戶端發(fā)送數(shù)據(jù)庫(kù)返回的該指令的執(zhí)行結(jié)果,然后,中間件將該連接回收,當(dāng)該客戶端后續(xù)再向數(shù)據(jù)庫(kù)發(fā)送指令時(shí),則中間件可能會(huì)分配另一個(gè)空閑的連接給該客戶端使用。
[0004]在現(xiàn)有技術(shù)中,對(duì)于一些特殊指令而言,當(dāng)數(shù)據(jù)庫(kù)執(zhí)行該特殊指令后,則會(huì)針對(duì)發(fā)送該特殊指令所使用的連接,識(shí)別后續(xù)從該連接發(fā)送來(lái)的該特殊指令的匹配指令,并執(zhí)行。但是,在使用數(shù)據(jù)庫(kù)連接池的情況下,中間件通過(guò)某個(gè)連接為客戶端發(fā)送該特殊指令,而后續(xù)可能會(huì)通過(guò)另一個(gè)連接為客戶端發(fā)送該特殊指令的匹配指令,從而導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法正確識(shí)別該匹配指令,因此,數(shù)據(jù)庫(kù)也無(wú)法正確執(zhí)行該匹配指令,其中所述的指令是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language, SQL)語(yǔ)句形式的指令。
[0005]例如,特殊指令可以是PREPARE語(yǔ)句,則該P(yáng)REPARE語(yǔ)句的匹配指令包括:攜帶該P(yáng)REPARE語(yǔ)句所包含的特殊標(biāo)識(shí)(PREPARE語(yǔ)句所包含的特殊標(biāo)識(shí),也即,PREPARE語(yǔ)句所包含的模板語(yǔ)句的聲明名稱)的EXE⑶TE語(yǔ)句或DEALLOCATE語(yǔ)句。假定中間件通過(guò)連接I發(fā)送PREPARE語(yǔ)句,后續(xù)又通過(guò)連接2發(fā)送對(duì)應(yīng)的EXE⑶TE語(yǔ)句,則數(shù)據(jù)庫(kù)無(wú)法正確執(zhí)行該EXECUTE 語(yǔ)句。
[0006]又例如,特殊指令可以是數(shù)據(jù)庫(kù)事務(wù)中的BEGIN語(yǔ)句,則該BEGIN語(yǔ)句的匹配指令包括:與該BEGIN語(yǔ)句在同一個(gè)數(shù)據(jù)庫(kù)事務(wù)中的其它的SQL語(yǔ)句,如COMMIT語(yǔ)句、ROLLBACK語(yǔ)句等。假定中間件通過(guò)連接I發(fā)送BEGIN語(yǔ)句,后續(xù)又通過(guò)連接2發(fā)送對(duì)應(yīng)的COMMIT語(yǔ)句,則數(shù)據(jù)庫(kù)無(wú)法正確執(zhí)行該COMMIT語(yǔ)句。

【發(fā)明內(nèi)容】

[0007]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的特殊語(yǔ)句的執(zhí)行方法及裝置,在使用中間件的情況下,數(shù)據(jù)庫(kù)能夠正確執(zhí)行特殊指令的匹配指令。
[0008]根據(jù)本發(fā)明的第一個(gè)方面,提出一種特殊指令的執(zhí)行方法,應(yīng)用于耦接在數(shù)據(jù)庫(kù)與客戶端之間的中間件,所述方法包括:
[0009]發(fā)送特殊指令,并記錄與所述特殊指令對(duì)應(yīng)的相關(guān)信息,其中,所述相關(guān)信息包括:發(fā)送所述特殊指令所使用連接的標(biāo)識(shí),和/或所述特殊指令包含的模板指令;
[0010]接收所述特殊指令的匹配指令;
[0011]根據(jù)記錄的所述相關(guān)信息,采用預(yù)設(shè)的與所述相關(guān)信息對(duì)應(yīng)的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0012]可選地,當(dāng)所述相關(guān)信息為發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)時(shí),采用預(yù)設(shè)的與所述相關(guān)信息對(duì)應(yīng)的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行,具體包括:
[0013]將所述匹配指令通過(guò)與發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)對(duì)應(yīng)的連接發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0014]可選地,發(fā)送特殊指令之后,所述方法還包括:
[0015]為所述數(shù)據(jù)庫(kù)和所述客戶端保持發(fā)送所述特殊指令所使用的連接。
[0016]可選地,當(dāng)所述相關(guān)信息為所述特殊指令包含的模板指令時(shí),采用預(yù)設(shè)的與所述相關(guān)信息對(duì)應(yīng)的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行,具體包括:
[0017]根據(jù)所述模板指令,以及所述匹配指令生成一般指令;
[0018]將生成的一般指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0019]可選地,根據(jù)所述模板指令以及所述匹配指令生成一般指令,具體包括:
[0020]判斷所述模板指令中是否包含待定參數(shù);
[0021]若是,則根據(jù)所述匹配指令中包含的參數(shù)值為所述待定參數(shù)賦值,將賦值后的模板指令作為生成的一般指令;
[0022]否則,將所述模板指令作為生成的一般指令。
[0023]可選地,所述指令包括:結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句形式的指令;
[0024]當(dāng)所述相關(guān)信息為發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)時(shí),所述特殊指令包括BEGIN語(yǔ)句或PREPARE語(yǔ)句,當(dāng)所述特殊指令為BEGIN語(yǔ)句時(shí),所述匹配指令為與所述BEGIN語(yǔ)句屬于同一個(gè)數(shù)據(jù)庫(kù)事務(wù)的語(yǔ)句,當(dāng)所述特殊指令為PREPARE語(yǔ)句時(shí),所述匹配指令為EXECUTE語(yǔ)句或DEALLOCATE語(yǔ)句;
[0025]當(dāng)所述相關(guān)信息為所述特殊指令包含的模板指令時(shí),所述特殊指令包括PREPARE語(yǔ)句,所述匹配指令包括EXE⑶TE語(yǔ)句。
[0026]根據(jù)本發(fā)明的第二個(gè)方面,提出一種特殊指令的執(zhí)行裝置,耦接于數(shù)據(jù)庫(kù)與客戶端之間,包括:
[0027]第一發(fā)送模塊,用于發(fā)送特殊指令,并記錄與所述特殊指令對(duì)應(yīng)的相關(guān)信息,其中,所述相關(guān)信息包括:發(fā)送所述特殊指令所使用連接的標(biāo)識(shí),和/或所述特殊指令包含的豐吳板指令;
[0028]接收模塊,用于接收所述特殊指令的匹配指令;
[0029]第二發(fā)送模塊,用于根據(jù)所述第一發(fā)送模塊記錄的所述相關(guān)信息,采用預(yù)設(shè)的與所述相關(guān)信息對(duì)應(yīng)的發(fā)送方式,將所述匹配指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0030]當(dāng)所述相關(guān)信息為發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)時(shí),所述第二發(fā)送模塊具體用于,將所述匹配指令通過(guò)與發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)對(duì)應(yīng)的連接發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0031]可選地,所述裝置還包括:
[0032]保持模塊,用于在所述第一發(fā)送模塊發(fā)送特殊指令之后,為所述數(shù)據(jù)庫(kù)和所述客戶端保持所述第一發(fā)送模塊發(fā)送所述特殊指令所使用的連接。
[0033]當(dāng)所述相關(guān)信息為所述特殊指令包含的模板指令時(shí),所述第二發(fā)送模塊具體用于,根據(jù)所述模板指令,以及所述匹配指令生成一般指令,將生成的一般指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行。
[0034]所述第二發(fā)送模塊具體用于,判斷所述模板指令中是否包含待定參數(shù),若是,則根據(jù)所述匹配指令中包含的參數(shù)值為所述待定參數(shù)賦值,將賦值后的模板指令作為生成的一般指令,否則,將所述模板指令作為生成的一般指令。
[0035]可選地,所述指令包括:結(jié)構(gòu)化查詢語(yǔ)言SQL語(yǔ)句形式的指令;
[0036]當(dāng)所述相關(guān)信息為發(fā)送所述特殊指令所使用連接的標(biāo)識(shí)時(shí),所述特殊指令包括BEGIN語(yǔ)句或PREPARE語(yǔ)句,當(dāng)所述特殊指令為BEGIN語(yǔ)句時(shí),所述匹配指令為與所述BEGIN語(yǔ)句屬于同一個(gè)數(shù)據(jù)庫(kù)事務(wù)的語(yǔ)句,當(dāng)所述特殊指令為PREPARE語(yǔ)句時(shí),所述匹配指令為EXECUTE語(yǔ)句或DEALLOCATE語(yǔ)句;
[0037]當(dāng)所述相關(guān)信息為所述特殊指令包含的模板指令時(shí),所述特殊指令包括PREPARE語(yǔ)句,所述匹配指令包括EXE⑶TE語(yǔ)句。
[0038]根據(jù)本發(fā)明提供的特殊指令的執(zhí)行方法,中間件發(fā)送特殊指令,并記錄與該特殊指令對(duì)應(yīng)的相關(guān)信息,當(dāng)接收到該特殊指令的匹配指令時(shí),采用預(yù)設(shè)的與該相關(guān)信息對(duì)應(yīng)的發(fā)送方式,將該匹配指令發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行,由于數(shù)據(jù)庫(kù)可以正確識(shí)別采用預(yù)設(shè)的與該相關(guān)信息對(duì)應(yīng)的發(fā)送方式發(fā)送的該匹配指令,因此,數(shù)據(jù)庫(kù)也可以正確執(zhí)行該匹配指令,解決了數(shù)據(jù)庫(kù)無(wú)法正確執(zhí)行該匹配指令的問(wèn)題。
【附圖說(shuō)明】
[0039]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0040]圖1為依據(jù)本發(fā)明實(shí)施例的特殊指令的執(zhí)行方法的流程示意圖;
[0041]圖2為依據(jù)本發(fā)明實(shí)施例,在實(shí)際應(yīng)用場(chǎng)景下,數(shù)據(jù)庫(kù)、中間件、客戶端之間的連接架構(gòu)的示意圖;
[0042]圖3為依據(jù)本發(fā)明實(shí)施例,在實(shí)際應(yīng)用場(chǎng)景下,客戶端通過(guò)向中間件向數(shù)據(jù)庫(kù)發(fā)送的特殊指令,以及該特殊指令的匹配指令的執(zhí)行過(guò)程的示意圖;
[0043]圖4為依據(jù)本發(fā)明實(shí)施例,在實(shí)際應(yīng)用場(chǎng)景下,客戶端發(fā)送特殊指令之前,數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)表Student的結(jié)構(gòu)的示意圖;
[0044]圖5為依據(jù)本發(fā)明實(shí)施例,在實(shí)際應(yīng)用場(chǎng)景下,數(shù)據(jù)庫(kù)執(zhí)行SQL語(yǔ)句S4后查詢到的對(duì)應(yīng)數(shù)據(jù)的示意圖;
[0045]圖6為依據(jù)本發(fā)明實(shí)
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
徐闻县| 新源县| 乳源| 永定县| 哈尔滨市| 鸡泽县| 名山县| 应城市| 仙游县| 彭阳县| 韩城市| 阳山县| 图们市| 嘉善县| 博客| 偃师市| 尼玛县| 广河县| 巴南区| 台湾省| 田东县| 丰城市| 晋城| 焉耆| 嘉义县| 千阳县| 沂水县| 丹棱县| 漳浦县| 汶川县| 天全县| 子洲县| 楚雄市| 托里县| 甘德县| 叙永县| 张家口市| 车险| 资中县| 望江县| 绥中县|