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

一種查詢事務(wù)分配方法及裝置制造方法

文檔序號:6552215閱讀:218來源:國知局
一種查詢事務(wù)分配方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種查詢事務(wù)分配方法及裝置。其中,所述方法包括:接收查詢請求;從查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;將源表信息與設(shè)定的分配策略進行匹配,生成分配信息;根據(jù)分配信息選擇將查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。本發(fā)明實施例的查詢事務(wù)分配方法及裝置,可以極大降低事務(wù)處理系統(tǒng)的負載,使其能夠更高效地執(zhí)行其事務(wù)處理的工作;自動將事務(wù)處理系統(tǒng)的查詢語句轉(zhuǎn)換為數(shù)據(jù)倉庫的查詢語句可以使查詢請求的請求方專注于查詢請求的邏輯,而不需要為不同的查詢系統(tǒng)編寫不同的查詢請求;由于數(shù)據(jù)倉庫的參與使查詢請求能夠更加復(fù)雜,時間跨度更廣,從而滿足各種各樣的查詢需求。
【專利說明】一種查詢事務(wù)分配方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫技術(shù)及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及數(shù)據(jù)查詢【技術(shù)領(lǐng)域】,具體的講是一種數(shù)據(jù)查詢領(lǐng)域中的查詢事務(wù)分配方法及裝置。

【背景技術(shù)】
[0002]隨著企業(yè)業(yè)務(wù)的快速發(fā)展,系統(tǒng)間的查詢請求以及對于系統(tǒng)數(shù)據(jù)的查詢要求變得越來越復(fù)雜,頻度也越來越高,一般這類請求會直接提交到數(shù)據(jù)的產(chǎn)生方,即事務(wù)處理系統(tǒng)中執(zhí)行。這種執(zhí)行方式的優(yōu)點在于能夠獲取到最新最及時的數(shù)據(jù),缺點則在于會占用事務(wù)處理系統(tǒng)的資源。并且,這種執(zhí)行方式通常不支持跨系統(tǒng)數(shù)據(jù)的查詢,不能執(zhí)行較為復(fù)雜的查詢以減少對于正常事務(wù)處理的影響,且數(shù)據(jù)保留時間較短,無法滿足趨勢分析類的查詢請求。
[0003]為了能夠既滿足數(shù)據(jù)查詢的請求又不干擾事務(wù)處理系統(tǒng)的正常運轉(zhuǎn),目前一般采用數(shù)據(jù)倉庫等技術(shù)手段以期在保障事務(wù)處理的同時滿足對于數(shù)據(jù)的查詢請求。采用這種方式的優(yōu)點在于不占用事務(wù)處理系統(tǒng)資源,支持跨系統(tǒng)間的數(shù)據(jù)查詢,能夠滿足較為復(fù)雜的查詢要求,能保留較長時間跨度的數(shù)據(jù)且支持各種追溯類的查詢請求。但是,它的缺點也是同樣明顯的,就是時效性不足,從事務(wù)處理系統(tǒng)將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)倉庫,再由數(shù)據(jù)倉庫加載完畢這一過程通常會導(dǎo)致數(shù)據(jù)倉庫中的數(shù)據(jù)會比當(dāng)前時間晚1-2天左右,這樣就無法滿足非常急迫的數(shù)據(jù)查詢要求。


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

[0004]本發(fā)明的目的是克服當(dāng)前事務(wù)處理系統(tǒng)數(shù)據(jù)時間跨度短、數(shù)據(jù)范圍局限于單一事務(wù)且不適合執(zhí)行復(fù)雜和大數(shù)據(jù)量的查詢請求,以及數(shù)據(jù)倉庫數(shù)據(jù)時效性較低的缺點,提出了一種查詢事務(wù)分配方法及裝置,通過自動解析準備提交到事務(wù)處理系統(tǒng)的查詢請求,選擇將不同的查詢請求分配給事務(wù)處理系統(tǒng)或者數(shù)據(jù)倉庫執(zhí)行,以提高查詢效率。
[0005]為了達到上述目的,本發(fā)明實施例提供一種查詢事務(wù)分配方法,包括:接收查詢請求;從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息;根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
[0006]進一步地,接收查詢請求包括接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。
[0007]進一步地,從所述查詢請求中提取出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息,包括:通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段、數(shù)據(jù)時間以及關(guān)聯(lián)表的數(shù)量。
[0008]進一步地,將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息,包括:查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
[0009]進一步地,所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括:所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);或者數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi);或者數(shù)據(jù)查詢語句中對于數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。
[0010]進一步地,所述事務(wù)處理系統(tǒng)接收到查詢請求后,從事務(wù)處理系統(tǒng)數(shù)據(jù)庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。
[0011]進一步地,所述數(shù)據(jù)倉庫接收到所述查詢請求后,從所述數(shù)據(jù)倉庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。
[0012]為了達到上述目的,本發(fā)明實施例還提供一種查詢事務(wù)分配裝置,包括:查詢請求接收模塊,用于接收查詢請求;源表信息解析模塊,用于從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;分配信息生成模塊,用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息;分配模塊,用于根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
[0013]進一步地,所述查詢請求接收模塊用于接收查詢請求,包括:接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。
[0014]進一步地,所述源表信息解析模塊用于從所述查詢請求中提取出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息,包括:通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段、數(shù)據(jù)時間以及關(guān)聯(lián)表的數(shù)量。
[0015]進一步地,所述分配信息生成模塊用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息,包括:所述分配信息生成模塊查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
[0016]進一步地,所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括:所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);或者數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi);或者數(shù)據(jù)查詢語句中對于數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。
[0017]本發(fā)明實施例的查詢事務(wù)分配方法及裝置,通過自動解析準備提交到事務(wù)處理系統(tǒng)的查詢請求,將查詢較為簡單且對數(shù)據(jù)時效性較高的查詢請求分配給事務(wù)處理系統(tǒng)執(zhí)行;數(shù)據(jù)時間跨度長、查詢復(fù)雜的查詢請求則通過數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)字段間的映射關(guān)系將該事務(wù)處理查詢請求轉(zhuǎn)換為數(shù)據(jù)倉庫可以執(zhí)行的請求,轉(zhuǎn)到數(shù)據(jù)倉庫執(zhí)行,這種方式既減輕了事務(wù)處理系統(tǒng)的負擔(dān),又滿足了數(shù)據(jù)查詢的請求。

【專利附圖】

【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明實施例的查詢事務(wù)分配方法的方法流程圖;
[0020]圖2為本發(fā)明實施例的查詢事務(wù)分配裝置的結(jié)構(gòu)示意圖;
[0021]圖3為本發(fā)明一具體實施例的查詢事務(wù)分配處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0022]圖4為事務(wù)處理系統(tǒng)查詢請求處理裝置2的結(jié)構(gòu)示意圖;
[0023]圖5為數(shù)據(jù)倉庫查詢請求處理裝置4的結(jié)構(gòu)示意圖;
[0024]圖6為利用圖3-圖5所示實施例的查詢事務(wù)分配處理系統(tǒng)對查詢事務(wù)進行分配并處理的方法流程圖。

【具體實施方式】
[0025]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0026]本發(fā)明提供了一種數(shù)據(jù)查詢領(lǐng)域中的查詢事務(wù)分配方法及裝置。首先,從查詢請求中提取出數(shù)據(jù)時間、數(shù)據(jù)來源、查詢復(fù)雜度信息;其次,將提取到的結(jié)果與分配策略進行匹配,將查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。對于分配到數(shù)據(jù)倉庫的查詢請求,該裝置會將此請求轉(zhuǎn)換為數(shù)據(jù)倉庫可執(zhí)行的查詢請求并執(zhí)行。最后,將從事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫返回的查詢結(jié)果反饋給查詢請求方。
[0027]圖1為本發(fā)明實施例的查詢事務(wù)分配方法的方法流程圖。如圖1所示,本實施例的查詢事務(wù)分配方法包括:步驟S101,接收查詢請求;步驟S102,從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;步驟S103,將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息;步驟S104,根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
[0028]在本實施例的步驟SlOl中,接收查詢請求包括接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。
[0029]在本實施例的步驟S102中,從所述查詢請求中提取出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息,包括:通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段以及所查詢數(shù)據(jù)的數(shù)據(jù)時間、關(guān)聯(lián)表數(shù)量等信息。所述數(shù)據(jù)時間為SQL查詢語句中所要查詢的信息所在時間點,數(shù)據(jù)來源指SQL查詢語句中所涉及的表和字段,查詢復(fù)雜度為SQL查詢語句中關(guān)聯(lián)表的數(shù)量。例如SQL查詢語句為:SELECT X.a, Y.b FROM XLEFT JOIN Y ON X.z = Y.z WHERE X.c = ’ 20140101’,則表明數(shù)據(jù)來源為 X.a、Y.b、X.ζ、Υ.z、X.c ;查詢復(fù)雜度為X、Y兩表關(guān)聯(lián);數(shù)據(jù)時間為’ 20140101,。
[0030]在本實施例的步驟S103中,將所述源表信息與設(shè)定的分配策略進行匹配,即:查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
[0031]其中,所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括以下三種情況:
[0032]1、所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);
[0033]2、所述數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi),會影響事務(wù)處理系統(tǒng)的正常運行;
[0034]3、所述數(shù)據(jù)查詢語句中對于數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。
[0035]當(dāng)所述數(shù)據(jù)查詢語句滿足以上三種情況中的任一種時,則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。不同事務(wù)處理系統(tǒng)的查詢語句分配策略可以根據(jù)該系統(tǒng)實際情況分別配置,不局限于上述三種情況。
[0036]還有一種情況是,該查詢請求不可被執(zhí)行,此時也要生成不可執(zhí)行的分配結(jié)果,返回給相應(yīng)的客戶端和其他數(shù)據(jù)查詢請求方。
[0037]在本實施例的步驟S104中,根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫后,事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行相應(yīng)的數(shù)據(jù)查詢,其中:
[0038]所述事務(wù)處理系統(tǒng)接收到查詢請求后,從事務(wù)處理系統(tǒng)數(shù)據(jù)庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。其中,事務(wù)處理系統(tǒng)數(shù)據(jù)庫負責(zé)存儲事務(wù)處理系統(tǒng)的所有數(shù)據(jù)以供事務(wù)處理系統(tǒng)查詢。
[0039]所述數(shù)據(jù)倉庫接收到所述查詢請求后,從所述數(shù)據(jù)倉庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。其中,數(shù)據(jù)倉庫接收到所述查詢請求后,解析該查詢請求中所使用到的表和字段,查找這些表和字段與數(shù)據(jù)倉庫中表和字段的映射關(guān)系,根據(jù)這些映射關(guān)系將原始查詢語句轉(zhuǎn)換為可在數(shù)據(jù)倉庫中執(zhí)行的查詢語句。對于存在多種映射關(guān)系的查詢語句,還需從轉(zhuǎn)換后的多個查詢語句中按照所關(guān)聯(lián)的數(shù)據(jù)倉庫的表最少的原則找到最優(yōu)化的查詢語句,根據(jù)該最優(yōu)化的查詢語句,從所述數(shù)據(jù)倉庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。
[0040]對應(yīng)于上述的查詢事務(wù)分配方法,本發(fā)明實施例還提供一種查詢事務(wù)分配裝置。
[0041]圖2為本發(fā)明實施例的查詢事務(wù)分配裝置的結(jié)構(gòu)示意圖。如圖2所示,本實施例的查詢事務(wù)分配裝置包括:查詢請求接收模塊101,用于接收查詢請求;源表信息解析模塊102,用于從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;分配信息生成模塊103,用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息;分配模塊104,用于根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
[0042]其中,所述查詢請求接收模塊101用于接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。所述源表信息解析模塊102用于通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段以及數(shù)據(jù)時間。
[0043]所述分配信息生成模塊103用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息,包括:所述分配信息生成模塊查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
[0044]所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括:所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);或者數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi);或者數(shù)據(jù)查詢語句中對于數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。不同事務(wù)處理系統(tǒng)的查詢語句分配策略可以根據(jù)該系統(tǒng)實際情況分別配置,不局限于上述三種情況。還有一種情況是,該查詢請求不可被執(zhí)行,此時也要生成不可執(zhí)行的分配結(jié)果,返回給相應(yīng)的客戶端和其他數(shù)據(jù)查詢請求方。
[0045]以下給出一種利用本發(fā)明實施例的查詢事務(wù)分配方法及裝置,對查詢事務(wù)進行分配并處理的具體實施例。
[0046]如圖3所示,為本發(fā)明一具體實施例的查詢事務(wù)分配處理系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,該查詢事務(wù)分配處理系統(tǒng)包括:查詢事務(wù)分配裝置1、事務(wù)處理系統(tǒng)查詢請求處理裝置2、事務(wù)處理系統(tǒng)數(shù)據(jù)庫3、數(shù)據(jù)倉庫查詢請求處理裝置4、數(shù)據(jù)倉庫5以及事務(wù)處理請求結(jié)果反饋裝置6。
[0047]查詢事務(wù)分配裝置I負責(zé)接收來自客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句,從查詢語句中解析出查詢請求所要求的數(shù)據(jù)時間、數(shù)據(jù)來源、查詢復(fù)雜度,并根據(jù)這些信息和分配策略將該查詢請求發(fā)送給事務(wù)處理系統(tǒng)查詢請求處理裝置2或數(shù)據(jù)倉庫查詢請求處理裝置4執(zhí)行,同時將不滿足分配策略的查詢請求發(fā)送給事務(wù)處理請求結(jié)果反饋裝置6。
[0048]事務(wù)處理系統(tǒng)查詢請求處理裝置2負責(zé)接收查詢事務(wù)分配裝置I發(fā)送的查詢請求,從事務(wù)處理系統(tǒng)數(shù)據(jù)庫4中查詢數(shù)據(jù),查詢完成后將結(jié)果轉(zhuǎn)換為XML文件發(fā)送給事務(wù)處理請求結(jié)果反饋裝置6。
[0049]事務(wù)處理系統(tǒng)數(shù)據(jù)庫3負責(zé)存儲事務(wù)處理系統(tǒng)的所有數(shù)據(jù)以供事務(wù)處理系統(tǒng)查詢請求處理裝置2查詢。
[0050]數(shù)據(jù)倉庫查詢請求處理裝置4負責(zé)接收查詢事務(wù)分配裝置I提供的查詢請求,解析該請求語句中使用到的源表、源字段信息并根據(jù)數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)字段間的映射關(guān)系將該查詢語句轉(zhuǎn)化為可由數(shù)據(jù)倉庫執(zhí)行的查詢語句,從數(shù)據(jù)倉庫5中查詢數(shù)據(jù),查詢完成后將結(jié)果轉(zhuǎn)換為XML文件提供給事務(wù)處理請求結(jié)果反饋裝置6。
[0051]數(shù)據(jù)倉庫5負責(zé)存儲數(shù)據(jù)倉庫的所有數(shù)據(jù),以供數(shù)據(jù)倉庫查詢請求處理裝置5查詢。
[0052]事務(wù)處理請求結(jié)果反饋裝置6負責(zé)接收查詢事務(wù)分配裝置1、事務(wù)處理系統(tǒng)查詢請求處理裝置2和數(shù)據(jù)倉庫查詢請求處理裝置4發(fā)送的查詢結(jié)果數(shù)據(jù)以及對于查詢事務(wù)分配裝置I發(fā)送的數(shù)據(jù)展現(xiàn)查詢請求無法執(zhí)行的原因。其中,對于事務(wù)處理系統(tǒng)查詢請求處理裝置2和數(shù)據(jù)倉庫查詢請求處理裝置4發(fā)送的XML文件,將其轉(zhuǎn)換為可被數(shù)據(jù)查詢請求方識別的數(shù)據(jù)格式展現(xiàn)或保存。
[0053]在本實施例中,查詢事務(wù)分配裝置I即為圖2所示的本發(fā)明實施例的查詢事務(wù)分配裝置,其包括:查詢請求接收模塊101,用于接收查詢請求;源表信息解析模塊102,用于從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息;分配信息生成模塊103,用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息;分配模塊104,用于根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
[0054]圖4是事務(wù)處理系統(tǒng)查詢請求處理裝置2的結(jié)構(gòu)示意圖,該裝置包括:事務(wù)處理系統(tǒng)查詢請求執(zhí)行單元201、事務(wù)處理系統(tǒng)查詢結(jié)果XML轉(zhuǎn)換單元202。
[0055]事務(wù)處理系統(tǒng)查詢請求執(zhí)行單元201負責(zé)接收查詢事務(wù)分配裝置I發(fā)送的查詢請求,從事務(wù)處理系統(tǒng)數(shù)據(jù)庫3中查詢數(shù)據(jù),并將查詢結(jié)果發(fā)送給事務(wù)處理系統(tǒng)查詢結(jié)果XML轉(zhuǎn)換單元202。
[0056]事務(wù)處理系統(tǒng)查詢結(jié)果XML轉(zhuǎn)換單元202負責(zé)接收事務(wù)處理系統(tǒng)查詢請求執(zhí)行單元201發(fā)送的查詢結(jié)果,將其轉(zhuǎn)換為XML文件并發(fā)送給事務(wù)處理請求結(jié)果反饋裝置6。
[0057]圖5是數(shù)據(jù)倉庫查詢請求處理裝置4的結(jié)構(gòu)示意圖,該裝置包括:數(shù)據(jù)倉庫查詢請求預(yù)處理單元401、數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402、數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)映射查詢單元403、數(shù)據(jù)倉庫查詢請求執(zhí)行單元404、數(shù)據(jù)倉庫查詢結(jié)果XML轉(zhuǎn)換單元405。
[0058]數(shù)據(jù)倉庫查詢請求預(yù)處理單元401負責(zé)接收查詢事務(wù)分配裝置I發(fā)送的查詢請求,并解析該查詢請求中所使用到的表和字段,將原始查詢語句以及解析得到的表和字段信息發(fā)送給數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402。
[0059]數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402負責(zé)接收數(shù)據(jù)倉庫查詢請求預(yù)處理單元401發(fā)送的原始查詢語句以及表和字段信息,通過數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)映射查詢單元403查找這些表和字段與數(shù)據(jù)倉庫中表和字段的映射關(guān)系,根據(jù)這些映射關(guān)系將原始查詢語句轉(zhuǎn)換為可在數(shù)據(jù)倉庫中執(zhí)行的查詢語句。對于存在多種映射關(guān)系的查詢語句,數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402還需從轉(zhuǎn)換后的多個查詢語句中按照所關(guān)聯(lián)的數(shù)據(jù)倉庫的表最少的原則找到最優(yōu)化的查詢語句,并將其發(fā)送給數(shù)據(jù)倉庫查詢請求執(zhí)行單元404。
[0060]數(shù)據(jù)倉庫查詢請求執(zhí)行單元404負責(zé)接收數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402發(fā)送的查詢語句,從數(shù)據(jù)倉庫5中查詢數(shù)據(jù),并將查詢結(jié)果發(fā)送給數(shù)據(jù)倉庫查詢結(jié)果XML轉(zhuǎn)換單元405。
[0061]數(shù)據(jù)倉庫查詢結(jié)果XML轉(zhuǎn)換單元405負責(zé)接收數(shù)據(jù)倉庫查詢請求執(zhí)行單元404發(fā)送的查詢結(jié)果,將其轉(zhuǎn)換為XML文件并發(fā)送給事務(wù)處理請求結(jié)果反饋裝置6。
[0062]圖6為利用圖3-圖5所示實施例的查詢事務(wù)分配處理系統(tǒng)對查詢事務(wù)進行分配并處理的方法流程圖。如圖6所示,其包括步驟:
[0063]步驟600,查詢請求接收模塊101和源表信息解析模塊102分別接收查詢請求并解析源表信息。
[0064]步驟601,分配信息生成模塊103和分配模塊104結(jié)合源表信息以及分配策略確定查詢請求分配對象。
[0065]步驟602,分配信息生成模塊103還判斷該查詢請求是否可以執(zhí)行,若“是”則轉(zhuǎn)步驟603,若“否”則轉(zhuǎn)步驟610。
[0066]步驟603,分配模塊104判斷該查詢請求是否可以分配給數(shù)據(jù)倉庫查詢請求處理裝置4處理,若“是”則轉(zhuǎn)步驟606,若“否”則轉(zhuǎn)步驟604。
[0067]步驟604,事務(wù)處理系統(tǒng)查詢請求執(zhí)行單元201從事務(wù)處理系統(tǒng)數(shù)據(jù)庫3中查詢數(shù)據(jù)。
[0068]步驟605,事務(wù)處理系統(tǒng)查詢結(jié)果XML轉(zhuǎn)換單元202將事務(wù)處理系統(tǒng)查詢請求執(zhí)行單元201得到的查詢結(jié)果轉(zhuǎn)換為XML文件。
[0069]步驟606,數(shù)據(jù)倉庫查詢請求預(yù)處理單元401解析查詢請求的源表源字段。
[0070]步驟607,數(shù)據(jù)倉庫查詢請求轉(zhuǎn)換單元402根據(jù)解析結(jié)果通過數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)映射查詢單元403轉(zhuǎn)換為數(shù)據(jù)倉庫查詢語句并從中選出最優(yōu)語句。
[0071]步驟608,數(shù)據(jù)倉庫查詢請求執(zhí)行單元404從數(shù)據(jù)倉庫5中查詢數(shù)據(jù)。
[0072]步驟609,數(shù)據(jù)倉庫查詢結(jié)果XML轉(zhuǎn)換單元405將查詢結(jié)果轉(zhuǎn)換為XML文件。
[0073]步驟610,事務(wù)處理請求結(jié)果反饋裝置6接收事務(wù)查詢請求分配單元102、事務(wù)處理系統(tǒng)查詢結(jié)果XML轉(zhuǎn)換單元202、數(shù)據(jù)倉庫查詢結(jié)果XML轉(zhuǎn)換單元405的發(fā)送的查詢結(jié)果并展現(xiàn)。
[0074]步驟611,流程結(jié)束。
[0075]本發(fā)明通過上述技術(shù)方案,實現(xiàn)了自動根據(jù)查詢請求中的要素將查詢請求分配到最適合的系統(tǒng)中執(zhí)行,其優(yōu)點在于:大部分查詢請求被分配到數(shù)據(jù)倉庫可以極大降低事務(wù)處理系統(tǒng)的負載,使其能夠更高效地執(zhí)行其事務(wù)處理的工作;自動將事務(wù)處理系統(tǒng)的查詢語句轉(zhuǎn)換為數(shù)據(jù)倉庫的查詢語句可以使查詢請求的請求方專注于查詢請求的邏輯,而不需要為不同的查詢系統(tǒng)編寫不同的查詢請求;由于數(shù)據(jù)倉庫的參與使查詢請求能夠更加復(fù)雜,時間跨度更廣,從而滿足各種各樣的查詢需求。
[0076]本發(fā)明通過結(jié)合數(shù)據(jù)倉庫中時間跨度長、覆蓋范圍廣的數(shù)據(jù)以及事務(wù)處理系統(tǒng)數(shù)據(jù)時效性高的優(yōu)點,克服了當(dāng)前事務(wù)處理系統(tǒng)數(shù)據(jù)時間跨度短、數(shù)據(jù)范圍局限于單一事務(wù)且不適合執(zhí)行復(fù)雜和大數(shù)據(jù)量的查詢請求,以及數(shù)據(jù)倉庫數(shù)據(jù)時效性較低的缺點,提供了一種查詢事務(wù)分配方法及裝置,通過自動解析準備提交到事務(wù)處理系統(tǒng)的查詢請求,將查詢較為簡單且對數(shù)據(jù)時效性較高的查詢請求分配給事務(wù)處理系統(tǒng)執(zhí)行;數(shù)據(jù)時間跨度長、查詢復(fù)雜的查詢請求則通過數(shù)據(jù)倉庫與事務(wù)處理系統(tǒng)字段間的映射關(guān)系將該事務(wù)處理查詢請求轉(zhuǎn)換為數(shù)據(jù)倉庫可以執(zhí)行的請求,轉(zhuǎn)到數(shù)據(jù)倉庫執(zhí)行,這種方式既減輕了事務(wù)處理系統(tǒng)的負擔(dān),又滿足了數(shù)據(jù)查詢的請求。
[0077]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0078]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0079]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0080]本發(fā)明中應(yīng)用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種查詢事務(wù)分配方法,其特征在于,所述方法包括: 接收查詢請求; 從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息; 將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息; 根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
2.根據(jù)權(quán)利要求1所述的查詢事務(wù)分配方法,其特征在于,接收查詢請求包括接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。
3.根據(jù)權(quán)利要求2所述的查詢事務(wù)分配方法,其特征在于,從所述查詢請求中提取出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息,包括: 通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段、數(shù)據(jù)時間以及關(guān)聯(lián)表的數(shù)量。
4.根據(jù)權(quán)利要求3所述的查詢事務(wù)分配方法,其特征在于,將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息,包括: 查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
5.根據(jù)權(quán)利要求4所述的查詢事務(wù)分配方法,其特征在于,所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括: 所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);或者 數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi);或者 數(shù)據(jù)查詢語句中對于數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。
6.根據(jù)權(quán)利要求1~5中任一項所述的查詢事務(wù)分配方法,其特征在于,所述事務(wù)處理系統(tǒng)接收到查詢請求后,從事務(wù)處理系統(tǒng)數(shù)據(jù)庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。
7.根據(jù)權(quán)利要求1~5中任一項所述的查詢事務(wù)分配方法,其特征在于,所述數(shù)據(jù)倉庫接收到所述查詢請求后,從所述數(shù)據(jù)倉庫中查詢數(shù)據(jù),生成查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為XML文件后,反饋給查詢客戶端或其他數(shù)據(jù)查詢請求方。
8.—種查詢事務(wù)分配裝置,其特征在于,所述裝置包括: 查詢請求接收模塊,用于接收查詢請求; 源表信息解析模塊,用于從所述查詢請求中解析出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息; 分配信息生成模塊,用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息; 分配模塊,用于根據(jù)所述分配信息選擇將所述查詢請求發(fā)送給相應(yīng)的事務(wù)處理系統(tǒng)或數(shù)據(jù)倉庫執(zhí)行。
9.根據(jù)權(quán)利要求8所述的查詢事務(wù)分配裝置,其特征在于,所述查詢請求接收模塊用于接收查詢請求,包括: 接收來自查詢客戶端或其他數(shù)據(jù)查詢請求方發(fā)送的數(shù)據(jù)查詢語句。
10.根據(jù)權(quán)利要求9所述的查詢事務(wù)分配裝置,其特征在于,所述源表信息解析模塊用于從所述查詢請求中提取出包括數(shù)據(jù)時間、數(shù)據(jù)來源以及查詢復(fù)雜度在內(nèi)的源表信息,包括: 通過SQL語法解析提取出所述數(shù)據(jù)查詢語句中所使用到的表、字段、數(shù)據(jù)時間以及關(guān)聯(lián)表的數(shù)量。
11.根據(jù)權(quán)利要求10所述的查詢事務(wù)分配裝置,其特征在于,所述分配信息生成模塊用于將所述源表信息與設(shè)定的分配策略進行匹配,生成分配信息,包括: 所述分配信息生成模塊查找所述源表信息中的表所屬的事務(wù)處理系統(tǒng)以及該事務(wù)處理系統(tǒng)的分配策略,若所述數(shù)據(jù)查詢語句滿足其分配策略,則將所述查詢請求發(fā)送給該事務(wù)處理系統(tǒng)執(zhí)行,否則將所述查詢請求發(fā)送給數(shù)據(jù)倉庫執(zhí)行。
12.根據(jù)權(quán)利要求11所述的查詢事務(wù)分配裝置,其特征在于,所述數(shù)據(jù)查詢語句不滿足事務(wù)處理系統(tǒng)的分配策略,包括: 所述數(shù)據(jù)查詢語句中的表來自多個事務(wù)處理系統(tǒng);或者 數(shù)據(jù)查詢語句中關(guān)聯(lián)的表不在事務(wù)處理系統(tǒng)所允許的表間關(guān)聯(lián)關(guān)系內(nèi);或者 數(shù)據(jù)查詢語句中對于 數(shù)據(jù)時間的要求超出了事務(wù)處理系統(tǒng)中對應(yīng)的表的數(shù)據(jù)時間范圍。
【文檔編號】G06F17/30GK104050297SQ201410315701
【公開日】2014年9月17日 申請日期:2014年7月3日 優(yōu)先權(quán)日:2014年7月3日
【發(fā)明者】王耀俊, 徐民, 樂洋, 費伽羅 申請人:中國工商銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绥德县| 高邮市| 湖北省| 龙胜| 开封市| 合作市| 宿松县| 宁城县| 寻甸| 依兰县| 大余县| 剑川县| 体育| 出国| 广宗县| 睢宁县| 新蔡县| 广汉市| 新营市| 福清市| 内乡县| 新田县| 绵阳市| 福鼎市| 宜都市| 高要市| 荆州市| 河间市| 葵青区| 蒙自县| 赤水市| 平江县| 缙云县| 阿坝| 策勒县| 油尖旺区| 夏邑县| 南和县| 呼伦贝尔市| 榕江县| 富平县|