文件里面的內(nèi)容主要包括數(shù)據(jù)源相關(guān)屬性和具體執(zhí)行操作兩部分信息,需要將其劃分出來;將數(shù)據(jù)源相關(guān)屬性的信息提取出來,經(jīng)過篩選、排序,生成信息表后為所述數(shù)據(jù)源信息表;將具體執(zhí)行操作的信息提取出來,經(jīng)過篩選、排序,生成信息表后為所述操作源信息表。
[0055]所述劃分包括但不限于將數(shù)據(jù)訪問任務(wù)文件里面的內(nèi)容劃分為數(shù)據(jù)源相關(guān)屬性和具體執(zhí)行操作兩部分;所述篩選包括但不限于刪除或合并重復(fù)的數(shù)據(jù)源相關(guān)屬性信息或具體執(zhí)行操作信息,使其只保留一個(gè);所述排序包括但不限于按照既定規(guī)則對(duì)數(shù)據(jù)源相關(guān)屬性信息或具體執(zhí)行操作信息進(jìn)行排列。
[0056]步驟b,對(duì)所述數(shù)據(jù)源信息表進(jìn)行分析,判斷數(shù)據(jù)源同構(gòu)或異構(gòu);若同構(gòu),執(zhí)行步驟c ;若異構(gòu),執(zhí)行步驟d ;
[0057]對(duì)數(shù)據(jù)源信息表進(jìn)行分析,判斷數(shù)據(jù)源是否異構(gòu),這里的數(shù)據(jù)源異構(gòu)主要是指數(shù)據(jù)管理系統(tǒng)之間的模式異構(gòu)。不同的數(shù)據(jù)管理系統(tǒng)輸入或輸出的數(shù)據(jù)源格式存在不同之處,對(duì)于不同格式的數(shù)據(jù)源,如果與數(shù)據(jù)管理系統(tǒng)的標(biāo)準(zhǔn)格式不同,則數(shù)據(jù)管理系統(tǒng)對(duì)此數(shù)據(jù)源無法進(jìn)行識(shí)別、讀取或識(shí)別、讀取到的信息出現(xiàn)殘缺和錯(cuò)誤。因此需要在對(duì)數(shù)據(jù)源進(jìn)行識(shí)別、讀取之前判斷數(shù)據(jù)源的格式與數(shù)據(jù)管理系統(tǒng)要求的標(biāo)準(zhǔn)格式之間是否相同,即數(shù)據(jù)源和數(shù)據(jù)管理系統(tǒng)是否模式異構(gòu)。
[0058]此步驟是為了分情況執(zhí)行操作,這樣可以避免數(shù)據(jù)源同構(gòu)情況下還將目標(biāo)數(shù)據(jù)輸入整合裝置中,造成操作冗余,浪費(fèi)時(shí)間。
[0059]步驟C,對(duì)所述數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,并將結(jié)果反饋回報(bào)表工具;
[0060]若數(shù)據(jù)源同構(gòu),則按照操作執(zhí)行序號(hào)對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,并將提取的目標(biāo)數(shù)據(jù)反饋給報(bào)表工具;即根據(jù)數(shù)據(jù)源信息表讀取表中的相關(guān)操作編號(hào)和數(shù)據(jù)源屬性,打開數(shù)據(jù)源連接,在操作信息表找到對(duì)該數(shù)據(jù)源的所有具體執(zhí)行操作,按照操作執(zhí)行序號(hào)對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,并將提取的目標(biāo)數(shù)據(jù)反饋給報(bào)表工具。
[0061]步驟d,對(duì)所述數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問后再進(jìn)行數(shù)據(jù)同構(gòu)化,并將結(jié)果反饋回所述報(bào)表工具。
[0062]若數(shù)據(jù)源異構(gòu),則按照操作執(zhí)行序號(hào)對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,再進(jìn)行數(shù)據(jù)同構(gòu)化,并將提取的目標(biāo)數(shù)據(jù)反饋給報(bào)表工具;即根據(jù)數(shù)據(jù)源信息表讀取表中的相關(guān)操作編號(hào)和數(shù)據(jù)源屬性,打開數(shù)據(jù)源連接,在操作信息表找到對(duì)該數(shù)據(jù)源的所有具體執(zhí)行操作,按照操作執(zhí)行序號(hào)對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,對(duì)提取的異構(gòu)目標(biāo)數(shù)據(jù)進(jìn)行同構(gòu)化,并將同構(gòu)化的目標(biāo)數(shù)據(jù)反饋給報(bào)表工具。
[0063]本發(fā)明的步驟c和步驟d可以分別單獨(dú)執(zhí)行,即設(shè)置不同的執(zhí)行單元或者執(zhí)行模塊來分別執(zhí)行步驟c和步驟d,這是考慮到了異構(gòu)數(shù)據(jù)之間的信息交流問題。設(shè)置不同執(zhí)行單元以方便處理不同情況的數(shù)據(jù)訪問任務(wù),可以提高數(shù)據(jù)訪問的效率。
[0064]本發(fā)明的步驟c和步驟d也可以綜合執(zhí)行,即設(shè)置訪問單元與同構(gòu)單元來分別執(zhí)行對(duì)數(shù)據(jù)源的數(shù)據(jù)訪問與對(duì)訪問的數(shù)據(jù)同構(gòu)化,這樣可以提高數(shù)據(jù)訪問時(shí)執(zhí)行的靈活度。
[0065]本發(fā)明中,通過四個(gè)步驟可以提高對(duì)多個(gè)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問的效率。通過對(duì)提取的異構(gòu)數(shù)據(jù)進(jìn)行同構(gòu)化,反饋給報(bào)表工具后,有利于這些異構(gòu)數(shù)據(jù)之間進(jìn)行信息交流與共享,避免了因結(jié)構(gòu)不同而導(dǎo)致圖表數(shù)據(jù)信息顯示不全或發(fā)生沖突。
[0066]實(shí)施例一
[0067]如上述所述的數(shù)據(jù)訪問任務(wù)管理方法,本實(shí)施例與其不同之處在于,如圖2本發(fā)明基于多個(gè)數(shù)據(jù)源的數(shù)據(jù)訪問任務(wù)管理方法中步驟a的流程圖所示,所述步驟a包括:
[0068]步驟al,將所述數(shù)據(jù)訪問任務(wù)文件中的任務(wù)劃分為數(shù)據(jù)源相關(guān)屬性和具體執(zhí)行操作,并進(jìn)一步劃分所述具體執(zhí)行操作,將劃分后的所述具體執(zhí)行操作按順序編號(hào);
[0069]數(shù)據(jù)訪問任務(wù)文件里面的內(nèi)容主要包括數(shù)據(jù)源相關(guān)屬性和具體執(zhí)行操作兩部分信息,需要將將輸入到操作過濾裝置的數(shù)據(jù)訪問任務(wù)文件里面的內(nèi)容劃分成數(shù)據(jù)源相關(guān)屬性和具體執(zhí)行操作兩部分。
[0070]本步驟中,一個(gè)具體執(zhí)行操作是指對(duì)一個(gè)字段的存取或修改,一個(gè)具體執(zhí)行操作不僅對(duì)應(yīng)著一個(gè)字段,而且對(duì)應(yīng)著對(duì)該字段的存取或修改;對(duì)具體執(zhí)行操作按順序編號(hào)的編號(hào),為操作編號(hào),對(duì)字段的存取或修改為具體操作內(nèi)容;將具體執(zhí)行操作按順序編號(hào),則該操作編號(hào)對(duì)應(yīng)著該具體執(zhí)行操作存取或修改的字段以及對(duì)該字段的存取或修改。若需要對(duì)同一個(gè)字段進(jìn)行提取、修改和儲(chǔ)存,則需要三個(gè)具體執(zhí)行操作,每個(gè)具體執(zhí)行操作分別對(duì)應(yīng)該字段以及對(duì)該字段的提取、該字段以及對(duì)該字段的修改、該字段以及對(duì)該字段的儲(chǔ)存;同時(shí)需要三個(gè)操作編號(hào),每個(gè)操作編號(hào)分別對(duì)應(yīng)該字段以及對(duì)該字段的提取、該字段以及對(duì)該字段的修改、該字段以及對(duì)該字段的儲(chǔ)存。
[0071]本步驟中,字段為數(shù)據(jù)源信息中的數(shù)據(jù)源,對(duì)字段的存取或修改屬于操作信息中的操作內(nèi)容。
[0072]步驟a2,將所述數(shù)據(jù)源相關(guān)屬性和操作編號(hào)記錄為所述數(shù)據(jù)源信息并對(duì)所述數(shù)據(jù)源信息進(jìn)行篩選,生成所述數(shù)據(jù)源信息表;
[0073]將數(shù)據(jù)源相關(guān)屬性和操作編號(hào)記錄下來,作為數(shù)據(jù)源信息,則數(shù)據(jù)源信息包括數(shù)據(jù)源、相關(guān)屬性和操作編號(hào);對(duì)數(shù)據(jù)源信息進(jìn)行篩選,為刪除充數(shù)的數(shù)據(jù)源信息,本操作中相同數(shù)據(jù)源且相同數(shù)據(jù)源相關(guān)屬性的為重復(fù)的數(shù)據(jù)源信息。
[0074]若出現(xiàn)重復(fù)則將重復(fù)的數(shù)據(jù)源信息,則通過合并或者刪除使其只保持一個(gè)數(shù)據(jù)源信息,然后生成數(shù)據(jù)源信息表,生成的數(shù)據(jù)源信息表表結(jié)構(gòu)如圖3所示。
[0075]通過篩選,刪除重復(fù)的數(shù)據(jù)源信息,可以在不影響具體操作的情況下,大大減少需要處理的數(shù)據(jù)源數(shù)量,提高對(duì)數(shù)據(jù)源的訪問效率。
[0076]步驟a3,對(duì)所述具體執(zhí)行操作進(jìn)行篩選,將對(duì)同一個(gè)所述數(shù)據(jù)源的所述具體執(zhí)行操作按所述操作編號(hào)順序放在一起;
[0077]將具體執(zhí)行操作信息提取出來,若兩個(gè)具體執(zhí)行操作為向同一個(gè)數(shù)據(jù)源進(jìn)行同一個(gè)操作,則為重復(fù)的操作;若兩個(gè)具體執(zhí)行操作為向同一個(gè)數(shù)據(jù)源進(jìn)行同一種但并非同一個(gè)操作(如對(duì)同一個(gè)數(shù)據(jù)源進(jìn)行修改,但修改后的內(nèi)容不同),為覆蓋的操作。
[0078]對(duì)具體操作進(jìn)行篩選,就是將重復(fù)的操作通過合并或刪除(可以將其操作編號(hào)刪除或者不給予步驟a5中的操作執(zhí)行序號(hào)),只保留一個(gè)具體執(zhí)行操作;對(duì)覆蓋的操作,通過后一個(gè)具體執(zhí)行操作覆蓋前一個(gè)具體執(zhí)行操作(可以將后一個(gè)操作編號(hào)刪除或者不分配步驟a5中的操作執(zhí)行序號(hào))。
[0079]將對(duì)同一個(gè)數(shù)據(jù)源的操作按操作編號(hào)順序放在一起,這樣執(zhí)行起來可以對(duì)同一個(gè)數(shù)據(jù)源的操作連續(xù)執(zhí)行,避免不停更換數(shù)據(jù)源,提高對(duì)多個(gè)數(shù)據(jù)源的數(shù)據(jù)的訪問效率。
[0080]步驟a4,將同一個(gè)所述數(shù)據(jù)源的所述具體執(zhí)行操作劃分為查詢操作和更新操作,所述查詢操作優(yōu)先于所述更新操作;
[0081]本步驟中,查詢操作是對(duì)具體執(zhí)行操作的讀取,更新操作包括對(duì)具體執(zhí)行操作的插入操作、刪除操作和修改操作等。
[0082]查詢是最主要的操作,將查詢操作優(yōu)先于更新操作,可以優(yōu)先執(zhí)行主要的操作,進(jìn)一步提高對(duì)多個(gè)數(shù)據(jù)源的數(shù)據(jù)的訪問效率。
[0083]步驟a5,按規(guī)則對(duì)操作進(jìn)行排序,生成所述操作信息表。
[0084]本步驟中的規(guī)則是指步驟a2、a3與a4中的規(guī)則,即對(duì)數(shù)據(jù)源排序后,對(duì)同一個(gè)數(shù)據(jù)源的具體執(zhí)行操作按操作編號(hào)順序放在一起,且查詢操作優(yōu)先于更新操作。
[0085]排序后給予操作執(zhí)行序號(hào)(該序號(hào)作為操作執(zhí)行的順序),生成操作信息表,操作信息表的表結(jié)構(gòu)如圖4所示。
[0086]該方法通過將任務(wù)篩選調(diào)序,在不影響結(jié)果的前提下將任務(wù)最簡(jiǎn)化,避免了重復(fù)操作而浪費(fèi)時(shí)間,進(jìn)而提高了對(duì)多個(gè)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問的效率。
[0087]另外,本實(shí)施例通過對(duì)操作過濾篩選,對(duì)重復(fù)操作不予執(zhí)行,也即對(duì)請(qǐng)求訪問同一數(shù)據(jù)的操作只執(zhí)行一遍,因此并不需要使用中間暫存設(shè)備來方便以后相同請(qǐng)求的訪問,進(jìn)一步提高了訪問速度。
[0088]實(shí)施例二
[0089]如上述所述的數(shù)據(jù)訪問任務(wù)管理方法,本實(shí)施例與其不同之處在于,如圖5本發(fā)明基于多個(gè)數(shù)據(jù)源的數(shù)據(jù)訪問任務(wù)管理方法步驟d的流程圖所示,所述步驟d包括:
[0090]步驟dl,按照操作執(zhí)行序號(hào)對(duì)所述數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,將提取的數(shù)據(jù)存儲(chǔ)到緩存中;
[0091]根據(jù)數(shù)據(jù)源信息表讀取表中的相關(guān)操作編號(hào)和數(shù)據(jù)源屬性,分別打開各個(gè)異構(gòu)數(shù)據(jù)源連接,在操作信息表找到對(duì)該數(shù)據(jù)源的所有具體執(zhí)行操作,按照操作執(zhí)行序號(hào)對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)訪問,將提取的數(shù)據(jù)存儲(chǔ)到緩存中。
[0092]步驟d2,對(duì)緩存的來自異構(gòu)數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)換為同構(gòu)的數(shù)據(jù),再將轉(zhuǎn)換后的數(shù)據(jù)作為目標(biāo)數(shù)據(jù)反饋給所述報(bào)表工具。
[0093]將存儲(chǔ)在緩存中的異構(gòu)數(shù)據(jù)進(jìn)行同構(gòu)化,就是以某一種結(jié)構(gòu)作為標(biāo)準(zhǔn),將其他結(jié)構(gòu)的數(shù)據(jù)全部轉(zhuǎn)換為標(biāo)準(zhǔn)結(jié)構(gòu)(本步驟中的標(biāo)準(zhǔn)結(jié)構(gòu)按照本系統(tǒng)中的要求確定)再將轉(zhuǎn)換后的數(shù)據(jù)反饋給報(bào)表工具。
[0094]本實(shí)施例中,步驟dl可以與步驟c為同一執(zhí)行單元或同一執(zhí)行模塊,也可以為獨(dú)立的兩個(gè)執(zhí)行單元或執(zhí)行模塊;