從單個(gè)表到多個(gè)表的引用數(shù)據(jù)分割的制作方法【專利說明】從單個(gè)表到多個(gè)表的引用數(shù)據(jù)分割【
背景技術(shù):
】[0001]本發(fā)明的實(shí)施例一般地涉及用于提供從單個(gè)表到多個(gè)表的引用數(shù)據(jù)分割的方法和系統(tǒng),并且更具體地講,涉及通過自動(dòng)地將交叉引用數(shù)據(jù)從一個(gè)表迀移到多個(gè)表中來提高交叉引用查找性能。[0002]目前,公司使用許多不同軟件應(yīng)用以滿足不同業(yè)務(wù)需要。例如,公司可使用用于顧客交互、賬戶管理、產(chǎn)品配送等的不同應(yīng)用。每個(gè)應(yīng)用可能使用它自己的特定數(shù)據(jù)模型,意味著一個(gè)應(yīng)用的數(shù)據(jù)可被以不同于另一應(yīng)用的數(shù)據(jù)的方式來格式化或組織。即使當(dāng)應(yīng)用數(shù)據(jù)在兩個(gè)應(yīng)用中代表相同實(shí)體時(shí),這也能夠使得難以或無法實(shí)現(xiàn)應(yīng)用之間的應(yīng)用數(shù)據(jù)的直接共享。[0003]應(yīng)用集成是能夠使應(yīng)用能夠共享數(shù)據(jù)的處理,減少通過針對每個(gè)應(yīng)用重復(fù)地手工重新輸入數(shù)據(jù)而引入的負(fù)擔(dān)和錯(cuò)誤的可能性。實(shí)現(xiàn)應(yīng)用集成的一個(gè)方式是使用交叉引用(XREF)數(shù)據(jù)庫,XREF數(shù)據(jù)庫鏈接每個(gè)應(yīng)用的標(biāo)識(shí)符(ID)并且具有公共格式。當(dāng)在應(yīng)用之間傳遞數(shù)據(jù)時(shí),能夠使用存儲(chǔ)在XREF數(shù)據(jù)庫中的信息來變換數(shù)據(jù)。例如,當(dāng)?shù)谝粦?yīng)用將數(shù)據(jù)發(fā)送給第二應(yīng)用時(shí),數(shù)據(jù)能夠被從與第一應(yīng)用關(guān)聯(lián)的第一格式變換為公共格式,然后從公共格式變換為與第二應(yīng)用關(guān)聯(lián)的第二格式。[0004]XREF數(shù)據(jù)通常被存儲(chǔ)在單個(gè)數(shù)據(jù)庫表中。這個(gè)表能夠變得非常大,包括數(shù)億行。隨著表的大小增加,在該表中查找XREF數(shù)據(jù)所需的時(shí)間增加,并且能夠?qū)е滦阅艿钠款i。【
發(fā)明內(nèi)容】[0005]本發(fā)明的實(shí)施例涉及通過自動(dòng)地將交叉引用數(shù)據(jù)從一個(gè)表迀移到多個(gè)表來提高交叉引用查找性能的方法和系統(tǒng)。根據(jù)實(shí)施例,一種多表數(shù)據(jù)分割的方法能夠包括:利用多表(multi-table)數(shù)據(jù)加強(qiáng)與數(shù)據(jù)庫表關(guān)聯(lián)的多個(gè)定義文件中的每個(gè)定義文件。該方法還能夠包括創(chuàng)建多個(gè)多表。每個(gè)多表與所述多個(gè)定義文件中的不同定義文件關(guān)聯(lián)。該方法還能夠包括:基于所述多個(gè)定義文件轉(zhuǎn)換存儲(chǔ)在數(shù)據(jù)庫表中的數(shù)據(jù);以及將轉(zhuǎn)換的數(shù)據(jù)從數(shù)據(jù)庫表迀移到所述多個(gè)多表。在一些實(shí)施例中,多表數(shù)據(jù)能夠包括與多表之一關(guān)聯(lián)的標(biāo)識(shí)符和多表標(biāo)記。[0006]在一些實(shí)施例中,能夠通過下述步驟來創(chuàng)建所述多個(gè)多表:解析每個(gè)定義文件以確定該定義文件的表信息;自動(dòng)地產(chǎn)生多個(gè)腳本,其中每個(gè)腳本定義多表之一,并且其中使用從定義文件中的一個(gè)不同定義文件解析的表信息產(chǎn)生每個(gè)腳本;以及執(zhí)行所述多個(gè)腳本中的每個(gè)腳本以創(chuàng)建所述多個(gè)多表。另外,能夠創(chuàng)建將每個(gè)定義文件映射到它的關(guān)聯(lián)的多表的映射定義表。[0007]在一些實(shí)施例中,轉(zhuǎn)換存儲(chǔ)在數(shù)據(jù)庫表中的數(shù)據(jù)能夠包括:產(chǎn)生用于每個(gè)定義文件的轉(zhuǎn)換腳本。每個(gè)轉(zhuǎn)換腳本能夠定義與該定義文件關(guān)聯(lián)的數(shù)據(jù)如何被分割和變換以與該定義文件的關(guān)聯(lián)的多表兼容。另外,將轉(zhuǎn)換的數(shù)據(jù)從數(shù)據(jù)庫表迀移到所述多個(gè)多表能夠包括:執(zhí)行每個(gè)轉(zhuǎn)換腳本以分割和變換與每個(gè)定義文件關(guān)聯(lián)的數(shù)據(jù)。一旦被分割和變換,數(shù)據(jù)能夠被從數(shù)據(jù)庫表復(fù)制到所述多個(gè)多表。另外,在迀移完成之后,迀移的數(shù)據(jù)能夠被驗(yàn)證?!靖綀D說明】[0008]圖1示出了根據(jù)本發(fā)明的實(shí)施例的示例性交叉引用表的摘錄;[0009]圖2示出了根據(jù)本發(fā)明的實(shí)施例的用于執(zhí)行多數(shù)據(jù)分割的系統(tǒng);[0010]圖3示出了根據(jù)本發(fā)明的實(shí)施例的執(zhí)行多數(shù)據(jù)分割的方法;[0011]圖4A、4B和4C示出了根據(jù)本發(fā)明的實(shí)施例的示例性迀移的多表;[0012]圖5示出了根據(jù)本發(fā)明的實(shí)施例的示例性監(jiān)測表;[0013]圖6是表示根據(jù)本發(fā)明的某些實(shí)施例的可使用的系統(tǒng)環(huán)境的部件的簡化方框圖;和[0014]圖7是根據(jù)本發(fā)明的實(shí)施例的可使用的計(jì)算系統(tǒng)的簡化方框圖?!揪唧w實(shí)施方式】[0015]在下面的描述中,為了解釋的目的,闡述特定細(xì)節(jié)以便提供對本發(fā)明的實(shí)施例的徹底的理解。然而,將會(huì)清楚的是,可在沒有這些特定細(xì)節(jié)的情況下實(shí)施本發(fā)明實(shí)施例。[0016]本發(fā)明的實(shí)施例能夠被用于通過執(zhí)行多表數(shù)據(jù)分割來提高交叉引用查找性能。根據(jù)實(shí)施例,一種多表數(shù)據(jù)分割的方法能夠包括:利用多表數(shù)據(jù)加強(qiáng)與數(shù)據(jù)庫表關(guān)聯(lián)的多個(gè)定義文件中的每個(gè)定義文件。該方法還能夠包括創(chuàng)建多個(gè)多表。每個(gè)多表與所述多個(gè)定義文件中的一個(gè)不同定義文件關(guān)聯(lián)。該方法還能夠包括:基于所述多個(gè)定義文件轉(zhuǎn)換存儲(chǔ)在數(shù)據(jù)庫表中的數(shù)據(jù);以及將轉(zhuǎn)換的數(shù)據(jù)從數(shù)據(jù)庫表迀移到所述多個(gè)多表。[0017]圖1示出了本發(fā)明的示例性交叉引用表100的摘錄。如圖1中所示,交叉引用表能夠包括用于在不同應(yīng)用中創(chuàng)建的多個(gè)不同實(shí)體的交叉引用(XREF)數(shù)據(jù)。交叉引用表能夠被用于使這些實(shí)體的標(biāo)識(shí)相關(guān),并且可能隨著由業(yè)務(wù)使用的應(yīng)用和實(shí)體的數(shù)量增加而變得非常大。能夠通過XREF表名(XREFTABLENAME)102和行號(hào)(ROWNUMBER)104來組織交叉引用表。XREF表名102與構(gòu)成交叉引用表的多個(gè)組成假想表對應(yīng)。例如,在圖1中,示出的交叉引用表的部分對應(yīng)于Business_Unit_IDXREF實(shí)體,并且因此在XREF表名102列下列出Business_Unit_IDXREF產(chǎn)物(artifact)106的路徑。如以下進(jìn)一步所述,每個(gè)XREF產(chǎn)物可以是定義與該XREF產(chǎn)物關(guān)聯(lián)的XREF實(shí)體和交叉引用表中的其它實(shí)體的映射的XML文件。如在108所示,未示出的另外的行可與不同XREF實(shí)體的不同假想表對應(yīng)。[0018]每個(gè)行號(hào)104代表與該行的XREF_Table_Name對應(yīng)的XREF實(shí)體的不同實(shí)例。因此,行號(hào)3、4和5中的每一個(gè)與Business_Unit_ID的不同實(shí)例對應(yīng)。例如,如圖1中所示,映射存在于兩個(gè)應(yīng)用標(biāo)識(shí)符(ID)和BusineSS_Unit_IDXREF實(shí)體中的每個(gè)實(shí)例的公共值(EBIZ_01110;JDEE1_01112;和COMMON114)之間。因此,例如針對與行號(hào)3對應(yīng)的實(shí)例,EBIZ_01_03、JDEE1_01_03和Common_03中的每一個(gè)彼此映射。[0019]圖2示出了根據(jù)本發(fā)明的實(shí)施例的用于執(zhí)行多數(shù)據(jù)分割的系統(tǒng)。如圖2中所示,這種系統(tǒng)能夠包括服務(wù)器200和服務(wù)器可訪問的交叉引用數(shù)據(jù)庫202。根據(jù)實(shí)施例,服務(wù)器能夠直接地、經(jīng)局域網(wǎng)或經(jīng)互聯(lián)網(wǎng)與數(shù)據(jù)庫通信。服務(wù)器能夠是包括計(jì)算機(jī)可讀介質(zhì)和處理器的計(jì)算機(jī)或一群計(jì)算機(jī)。服務(wù)器能夠包括在它上面執(zhí)行的多表數(shù)據(jù)分割工具204。交叉引用數(shù)據(jù)庫202能夠包括XREF_DATA表206,XREF_DATA表206包括如以上參照圖1所述的交叉引用數(shù)據(jù)。使用多表數(shù)據(jù)分割工具204,存儲(chǔ)在XREF_DATA表206中的交叉引用數(shù)據(jù)能夠被分割并且迀移到多個(gè)多表208。以下更詳細(xì)地描述這個(gè)處理。[0020]圖3示出了根據(jù)本發(fā)明的實(shí)施例的執(zhí)行多數(shù)據(jù)分割的方法。根據(jù)實(shí)施例,以下描述的方法能夠由以上參照圖2描述的多表數(shù)據(jù)分割工具執(zhí)行。隨著單個(gè)交叉引用表變大,查找引用所花費(fèi)的增加的時(shí)間會(huì)導(dǎo)致性能瓶頸。在這種情況下,將所述單個(gè)交叉引用表劃分為多個(gè)較小的表會(huì)是有益的,每個(gè)較小的表對應(yīng)于不同XREF產(chǎn)物。這些較小的表中的每一個(gè)在這里被稱為多表,并且將交叉引用表劃分為多個(gè)多表的處理在這里被稱為多數(shù)據(jù)分割。[0021]如圖3中所示,多數(shù)據(jù)分割能夠包括多個(gè)步驟以確保交叉引用數(shù)據(jù)被準(zhǔn)確地迀移并且仍然能夠根據(jù)需要被快速地識(shí)別和使用。根據(jù)本發(fā)明的實(shí)施例,提供多數(shù)據(jù)分割處理以產(chǎn)生、整理(Regiment)、轉(zhuǎn)換、迀移和驗(yàn)證從一個(gè)單個(gè)交叉引用表到多個(gè)交叉引用多表的數(shù)據(jù)。[0022]在步驟300,為多表產(chǎn)生新的交叉引用定義。這些定義能夠被用于定義將要?jiǎng)?chuàng)建的多表數(shù)據(jù)庫表的結(jié)構(gòu)。在步驟302,產(chǎn)生新的交叉引用定義能夠包括:掃描數(shù)據(jù)庫以識(shí)別原始交叉引用定義文件(當(dāng)前第1頁1 2