整合多個數(shù)據(jù)庫的方法及裝置制造方法
【專利摘要】本申請?zhí)峁┮环N整合多個數(shù)據(jù)庫的方法及裝置。該方法包括:基于多個數(shù)據(jù)庫的多個實體表頭生成多層虛擬表頭;其中,每一層表頭的每一個屬性對應(yīng)于下一層表頭的至少一個屬性。本申請中,通過虛擬表頭將多個數(shù)據(jù)庫關(guān)聯(lián)起來,從而可以利用虛擬表頭統(tǒng)一實現(xiàn)對多個數(shù)據(jù)庫的訪問。而且,由于虛擬表頭為多層的虛擬表頭,通過表頭分層對應(yīng)方式對于特定關(guān)鍵詞可以僅搜索部分?jǐn)?shù)據(jù)庫而不是全部數(shù)據(jù)庫,減少搜索量。
【專利說明】整合多個數(shù)據(jù)庫的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本申請涉及整合多個數(shù)據(jù)庫的方法及裝置。
【背景技術(shù)】
[0002] 目前,大部分應(yīng)用程序涉及多個不同數(shù)據(jù)源的數(shù)據(jù)。當(dāng)應(yīng)用程序底層有多個數(shù)據(jù) 庫時,如果用戶想要獲得滿足某種條件的數(shù)據(jù),則需要根據(jù)該條件編寫不同的查詢語句在 底層所有數(shù)據(jù)庫中一一查詢。這種情況給用戶增加了許多麻煩。
【發(fā)明內(nèi)容】
[0003] 本申請的實施方式提供了整合多個數(shù)據(jù)庫的方法及裝置,能夠使用戶根據(jù)將統(tǒng)一 的虛擬表頭編寫查詢語句,使用方便。
[0004] 本申請的一個實施方式提供一種整合多個數(shù)據(jù)庫的方法,包括:基于多個數(shù)據(jù)庫 的多個實體表頭生成多層虛擬表頭;其中,每一層表頭的每一個屬性對應(yīng)于下一層表頭的 至少一個屬性。
[0005] 本申請的另一實施方式提供一種整合多個數(shù)據(jù)庫的裝置,包括:虛擬表頭生成單 元,被配置為基于所述多個數(shù)據(jù)庫的多個實體表頭生成多層虛擬表頭;其中,每一層表頭的 每一個屬性對應(yīng)于下一層表頭的至少一個屬性。
[0006] 本申請中,通過虛擬表頭將多個數(shù)據(jù)庫關(guān)聯(lián)起來,從而可以利用虛擬表頭統(tǒng)一實 現(xiàn)對多個數(shù)據(jù)庫的訪問。而且,虛擬表頭為多層的虛擬表頭,通過表頭分層對應(yīng)方式對于特 定關(guān)鍵詞可以僅搜索部分?jǐn)?shù)據(jù)庫而不是全部數(shù)據(jù)庫,減少搜索量。
【專利附圖】
【附圖說明】
[0007] 參照下面結(jié)合附圖對本申請實施方式的說明,會更加容易地理解本申請的以上 和其它目的、特點和優(yōu)點。附圖以示例而非限制性的方式來說明本申請。在附圖中,相同的 或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。
[0008] 圖1示意性示出本申請?zhí)峁┑膶Ρ眍^進(jìn)行聚類的示例的流程圖;
[0009] 圖2示意性示出對表頭進(jìn)行一次聚類的過程;
[0010] 圖3示意性示出本申請?zhí)峁┑恼隙鄠€數(shù)據(jù)庫的裝置的結(jié)構(gòu)的框圖;
[0011] 圖4示意性示出本申請?zhí)峁┑亩鄠€數(shù)據(jù)庫的查詢裝置的結(jié)構(gòu)的框圖;
[0012] 圖5示意性示出本申請?zhí)峁┑挠靡詫嵤┍旧暾埖难b置和方法的計算設(shè)備的結(jié)構(gòu) 圖。
【具體實施方式】
[0013] 現(xiàn)在參考附圖來更加詳細(xì)地描述本申請的實施方式。示例實施方式的提供是為了 使本申請更加詳盡,并且向本領(lǐng)域技術(shù)人員充分地傳達(dá)保護(hù)范圍。闡述了眾多的特定細(xì)節(jié) 如特定部件、裝置的例子,以提供對本申請的實施方式的詳盡理解。對于本領(lǐng)域技術(shù)人員而 言將會明顯的是,示例實施方式可以用許多不同的形式來實施而不一定使用這些特定的細(xì) 節(jié),因此它們都不應(yīng)當(dāng)被解釋為限制本申請的范圍。另外,在本發(fā)明的一個附圖或一種實施 方式中描述的元素和特征可以與一個或更多個其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣?相結(jié)合。在某些示例實施方式中,為了清楚的目的,沒有在附圖和說明中詳細(xì)地描述眾所周 知的過程、結(jié)構(gòu)和技術(shù)。
[0014] 下面參考附圖結(jié)合【具體實施方式】按照本申請?zhí)峁┑亩鄠€數(shù)據(jù)庫的整合方法、查詢 方法的順序進(jìn)行介紹。
[0015] 整合多個數(shù)據(jù)庫的方法
[0016] 本申請?zhí)峁┮环N整合多個數(shù)據(jù)庫的方法,下面進(jìn)行詳細(xì)介紹。
[0017] 出于數(shù)據(jù)查詢的需要,每個數(shù)據(jù)庫都會設(shè)置表頭,本文中將該表頭稱作實體表頭。 例如用于存儲職員信息的人力資源數(shù)據(jù)庫可能會有一個包括人名、性別、職位等屬性的實 體表頭,用于存儲電影的數(shù)據(jù)庫可能會有一個包括名稱、導(dǎo)演、主演、國家等屬性的實體表 頭。
[0018] 在本文中,表頭(包括上述實體表頭和下文將描述的虛擬表頭)不僅包括一系列 屬性,例如上述人名、性別、職位或主演、國家等,還可以包括名稱。本文中,表頭名稱可以是 但不限于對應(yīng)數(shù)據(jù)庫的名稱或者對應(yīng)表格的名稱。例如,假定上述人力資源數(shù)據(jù)庫的實體 表頭屬于名稱為"職員表"的表格,則該實體表頭的名稱可以設(shè)置為"職員表"。
[0019] 本實施方式中,基于多個數(shù)據(jù)庫各自的實體表頭對多個數(shù)據(jù)庫進(jìn)行整合,得到將 多個數(shù)據(jù)庫關(guān)聯(lián)起來的虛擬表頭。該虛擬表頭是基于上述實體表頭產(chǎn)生的表頭,并且如上 所述,虛擬表頭也具有屬性和名稱,后文將介紹虛擬表頭的屬性和名稱的產(chǎn)生。
[0020] 本實施方式中,為了得到虛擬表頭,首先需要計算各個實體表頭之間的相似度。
[0021] 實體表頭的相似度可以利用各個實體表頭的屬性之間的相似性進(jìn)行計算,也可以 利用各個實體表頭的名稱之間的相似性進(jìn)行計算,還可以結(jié)合各個實體表頭的名稱和屬性 之間的相似性進(jìn)行計算。
[0022] 對于表頭的名稱或?qū)傩缘南嗨贫鹊木唧w計算方式包括但不限于現(xiàn)有技術(shù)中的夾 角余弦法等方式,本文對于具體計算方式不做限定。
[0023] 當(dāng)同時考慮表頭的名稱和屬性的相似度時,還可以設(shè)置名稱相似度和屬性相似度 之間的權(quán)重關(guān)系。例如,當(dāng)易于根據(jù)表頭名稱區(qū)分不同領(lǐng)域的表頭時,可以為表頭名稱的相 似度設(shè)置較大的權(quán)重,反之可以為表頭屬性的相似度設(shè)置較大的權(quán)重。
[0024] 例如,各個實體表頭之間的相似度可以表示為下式(1):
[0025]
【權(quán)利要求】
1. 一種整合多個數(shù)據(jù)庫的方法,包括: 基于多個數(shù)據(jù)庫的多個實體表頭生成多層虛擬表頭; 其中,每一層表頭的每一個屬性對應(yīng)于下一層表頭的至少一個屬性。
2. 根據(jù)權(quán)利要求1所述的方法,其中,基于多個數(shù)據(jù)庫的實體表頭生成多層虛擬表頭 包括: 對所述多個數(shù)據(jù)庫的多個實體表頭聚類,對每一類實體表頭生成一個中間層虛擬表 頭; 對中間層虛擬表頭進(jìn)一步聚類,生成更上層的中間層虛擬表頭,直到得到的最上層虛 擬表頭的個數(shù)為1或者達(dá)到預(yù)定層數(shù)。
3. 根據(jù)權(quán)利要求2所述的方法,其中,對表頭進(jìn)行聚類包括: 計算所述多個表頭的兩兩之間的相似度; 基于所述相似度對表頭聚類。
4. 根據(jù)權(quán)利要求3所述的方法,其中,計算所述多個表頭的兩兩之間的相似度包括: 基于兩個表頭的表頭名稱和屬性計算兩個表頭之間的相似度, 其中,所述表頭名稱基于其對應(yīng)的下一層虛擬表頭或者實體表頭的名稱生成。
5. 根據(jù)權(quán)利要求3所述的方法,其中,基于所述相似度對表頭聚類包括: 將與一個表頭的相似度大于閾值的另一個表頭與該一個表頭聚為一類;和/或 將滿足下述條件的另一個表頭與該一個表頭聚為一類:在該一個表頭與其他所有表頭 的相似度中,與該另一個表頭的相似度最大;或者,在該另一個表頭與其他所有表頭的相似 度中,與該一個表頭的相似度最大。
6. 根據(jù)權(quán)利要求5所述的方法,其中,所述聚類進(jìn)一步包括: 從一個聚類中去除滿足下述條件的表頭: 其與該聚類中其他任何表頭的相似度均低于閾值,和/或其與該聚類中其他任何表頭 的相似度與其他表頭兩兩之間的相似度的差異達(dá)到預(yù)定程度。
7. -種整合多個數(shù)據(jù)庫的裝置,包括: 虛擬表頭生成單元,被配置為基于所述多個數(shù)據(jù)庫的多個實體表頭生成多層虛擬表 頭; 其中,每一層表頭的每一個屬性對應(yīng)于下一層表頭的至少一個屬性。
8. 根據(jù)權(quán)利要求7所述的裝置,其中所述虛擬表頭生成單元包括: 聚類子單元,被配置為對所述多個數(shù)據(jù)庫的多個實體表頭聚類,對每一類實體表頭生 成一個中間層虛擬表頭;對中間層虛擬表頭進(jìn)一步聚類,生成更上層的中間層虛擬表頭,直 到得到的最上層虛擬表頭的個數(shù)為1或者達(dá)到預(yù)定層數(shù)。
9. 根據(jù)權(quán)利要求8所述的裝置,所述虛擬表頭生成單元還包括:相似度計算子單元,被 配置為計算所述多個表頭的兩兩之間的相似度,其中,基于兩個表頭的表頭名稱和屬性計 算兩個表頭之間的相似度; 所述聚類子單元進(jìn)一步被配置為:基于所述相似度對表頭聚類。
10. 根據(jù)權(quán)利要求9所述的裝置,所述聚類子單元進(jìn)一步被配置為: 將與一個表頭的相似度大于閾值的另一個表頭與該一個表頭聚為一類;和/或 將滿足下述條件的另一個表頭與該一個表頭聚為一類:在該一個表頭與其他所有表頭 的相似度中,與該另一個表頭的相似度最大;或者,在該另一個表頭與其他所有表頭的相似 度中,與該一個表頭的相似度最大。
【文檔編號】G06F17/30GK104424190SQ201310364263
【公開日】2015年3月18日 申請日期:2013年8月20日 優(yōu)先權(quán)日:2013年8月20日
【發(fā)明者】黃琦珍, 鐘朝亮, 張軍, 上原忠弘 申請人:富士通株式會社