一種基于應(yīng)用層的數(shù)據(jù)庫分布方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)的數(shù)據(jù)采集技術(shù)領(lǐng)域,具體地說是一種實(shí)用性強(qiáng)、基于應(yīng)用層的數(shù)據(jù)庫分布方法。
【背景技術(shù)】
[0002]隨著社會(huì)的進(jìn)步和信息化的不斷發(fā)展,人們對(duì)數(shù)據(jù)的要求越來越高,企業(yè)信息化程度越來越精細(xì),隨之而來的是日益增加的龐大的業(yè)務(wù)交易數(shù)據(jù)量,給ERP系統(tǒng)建設(shè)帶來了不小的挑戰(zhàn)。為了減輕巨大的數(shù)據(jù)處理對(duì)數(shù)據(jù)庫造成的壓力,業(yè)界產(chǎn)生了分布式數(shù)據(jù)庫的概念。然而,對(duì)于傳統(tǒng)的SqlServer、Oracle數(shù)據(jù)庫來說,對(duì)這種分布式集群的支持很有限,性能提升不明顯。
[0003]減輕數(shù)據(jù)庫壓力的方式大致分為三種,數(shù)據(jù)庫負(fù)載均衡、基于文件系統(tǒng)的分布式數(shù)據(jù)庫及關(guān)系型數(shù)據(jù)庫的分布。
[0004]1、數(shù)據(jù)庫負(fù)載均衡。此技術(shù)主要針對(duì)關(guān)系型Oracle數(shù)據(jù)庫,利用Rack的方式,增加數(shù)據(jù)庫服務(wù)器節(jié)點(diǎn),將數(shù)據(jù)計(jì)算分擔(dān)到多個(gè)數(shù)據(jù)庫服務(wù)器。這種技術(shù),最多增加的4臺(tái)數(shù)據(jù)庫服務(wù)器節(jié)點(diǎn),而性能提升僅為1.5倍,如果繼續(xù)增加節(jié)點(diǎn),對(duì)數(shù)據(jù)庫性能已無提升空間。
[0005]2、基于文件系統(tǒng)的分布式數(shù)據(jù)庫。如Hadoop分布式數(shù)據(jù)庫架構(gòu),可將數(shù)據(jù)分布式存儲(chǔ)在不同的數(shù)據(jù)庫上面,各個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫數(shù)據(jù)量維持在一個(gè)較低的水平,然而,這種技術(shù)限于各數(shù)據(jù)庫之間關(guān)系不密切,數(shù)據(jù)可以獨(dú)立存在的情況,且數(shù)據(jù)庫類型為非關(guān)系型的文件系統(tǒng)數(shù)據(jù)庫。
[0006]3、關(guān)系型數(shù)據(jù)庫的分布。關(guān)系型數(shù)據(jù)庫,能夠支撐復(fù)雜的數(shù)據(jù)應(yīng)用,然而,對(duì)于關(guān)系型數(shù)據(jù)庫,減少單個(gè)數(shù)據(jù)庫數(shù)據(jù)處理壓力的方式,在數(shù)據(jù)庫層面沒有很好的解決思路。通過應(yīng)用層,可以很好的處理這種矛盾。通過應(yīng)用層的劃分及數(shù)據(jù)庫節(jié)點(diǎn)映射,在執(zhí)行數(shù)據(jù)操作時(shí),自動(dòng)連接不同的數(shù)據(jù)庫節(jié)點(diǎn),實(shí)現(xiàn)數(shù)據(jù)庫的分布,降低單數(shù)據(jù)庫節(jié)點(diǎn)的數(shù)據(jù)處理壓力。
[0007]基于此,現(xiàn)提供一種可解決上述問題、性能提升明顯、基于應(yīng)用層的數(shù)據(jù)庫分布方法。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、基于應(yīng)用層的數(shù)據(jù)庫分布方法。
[0009]—種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其具體實(shí)現(xiàn)過程為:
根據(jù)各業(yè)務(wù)系統(tǒng)的特點(diǎn),提取業(yè)務(wù)維度,按照業(yè)務(wù)維度進(jìn)行數(shù)據(jù)庫劃分,并創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn);
在主庫中,配置各分布數(shù)據(jù)庫的連接dblink,同時(shí),配置業(yè)務(wù)維度同數(shù)據(jù)庫的映射表; 應(yīng)用層根據(jù)業(yè)務(wù)維度信息,在對(duì)照表中查找對(duì)應(yīng)的數(shù)據(jù)庫; 根據(jù)已創(chuàng)建好的此數(shù)據(jù)庫的連接dblink,執(zhí)行業(yè)務(wù)操作。
[0010]所述數(shù)據(jù)庫的連接具體配置過程為:首先定義主數(shù)據(jù)庫連接各個(gè)分布數(shù)據(jù)庫節(jié)點(diǎn)的dblink的名稱及說明,供數(shù)據(jù)庫連接映射定義用;在應(yīng)用程序拼寫數(shù)據(jù)庫執(zhí)行SQL時(shí),根據(jù)此連接,將創(chuàng)建的dblink名稱加入,從而定位SQL執(zhí)行的對(duì)象所在數(shù)據(jù)庫。
[0011]所述映射表的配置過程為:使用系統(tǒng)管理配置工具,配置服務(wù)器端的參數(shù),該參數(shù)包括各個(gè)分布數(shù)據(jù)庫連接配置表、業(yè)務(wù)維度同數(shù)據(jù)庫連接的映射表。
[0012]業(yè)務(wù)維度同數(shù)據(jù)庫連接映射表的具體配置過程為:在按照維度信息確定數(shù)據(jù)庫的劃分后,查找要用到的dblink時(shí),根據(jù)維度信息,在此映射表中查找當(dāng)前業(yè)務(wù)數(shù)據(jù)單位編號(hào)對(duì)應(yīng)的數(shù)據(jù)庫連接,然后再根據(jù)數(shù)據(jù)庫連接,建立該單位業(yè)務(wù)數(shù)據(jù)所在的數(shù)據(jù)庫的連接,進(jìn)行相關(guān)數(shù)據(jù)操作。
[0013]應(yīng)用層數(shù)據(jù)分布處理的具體過程為:應(yīng)用層根據(jù)當(dāng)前業(yè)務(wù)場(chǎng)景,確定業(yè)務(wù)維度數(shù)據(jù)值,并根據(jù)這些值,查找到所要連接的數(shù)據(jù)庫,執(zhí)行相應(yīng)數(shù)據(jù)操作。
[0014]本發(fā)明的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,具有以下優(yōu)點(diǎn):
該發(fā)明的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法根據(jù)獲取業(yè)務(wù)維度同數(shù)據(jù)庫映射信息,從應(yīng)用層面使關(guān)系型數(shù)據(jù)庫分布式部署成為可能,解決了由于數(shù)據(jù)處理壓力而造成的系統(tǒng)應(yīng)用的性能瓶頸;根據(jù)數(shù)據(jù)庫分布配置表,來確定業(yè)務(wù)操作執(zhí)行的數(shù)據(jù)庫位置,從而使數(shù)據(jù)庫做到了可無限制增加節(jié)點(diǎn),使數(shù)據(jù)處理的壓力得到分布,提升系統(tǒng)應(yīng)用性能,實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【具體實(shí)施方式】
[0015]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0016]本發(fā)明的提供一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,通過數(shù)據(jù)采集客戶端進(jìn)行海量數(shù)據(jù)采集的方式進(jìn)行數(shù)據(jù)采集。
[0017]其實(shí)現(xiàn)過程為:
根據(jù)各業(yè)務(wù)系統(tǒng)的特點(diǎn),提取業(yè)務(wù)維度,按照業(yè)務(wù)維度進(jìn)行數(shù)據(jù)庫劃分,并創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn);
在主庫中,配置各分布數(shù)據(jù)庫的連接dblink,同時(shí),配置業(yè)務(wù)維度同數(shù)據(jù)庫的映射表; 應(yīng)用層根據(jù)業(yè)務(wù)維度信息,在對(duì)照表中查找對(duì)應(yīng)的數(shù)據(jù)庫;
根據(jù)已創(chuàng)建好的此數(shù)據(jù)庫的連接dblink,執(zhí)行業(yè)務(wù)操作。
[0018]在上述發(fā)明中,根據(jù)業(yè)務(wù)系統(tǒng)特點(diǎn),提取可作為數(shù)據(jù)庫劃分依據(jù)的業(yè)務(wù)維度。
[0019]根據(jù)劃分的數(shù)據(jù)庫節(jié)點(diǎn)創(chuàng)建各個(gè)分布的業(yè)務(wù)數(shù)據(jù)庫,并在主庫建立各分布庫的連接 dblinkο
[0020]使用系統(tǒng)管理配置工具,配置服務(wù)器端的參數(shù),包括各個(gè)分布數(shù)據(jù)庫連接配置表,業(yè)務(wù)維度同數(shù)據(jù)庫連接的映射表。
[0021]應(yīng)用程序在進(jìn)行業(yè)務(wù)處理時(shí),依據(jù)業(yè)務(wù)維度數(shù)據(jù)庫連接配置表,找到操作需要執(zhí)行的數(shù)據(jù)庫,并通過數(shù)據(jù)庫連接配置進(jìn)行實(shí)際的業(yè)務(wù)執(zhí)行操作。
[0022]所述數(shù)據(jù)庫的連接具體配置過程為:首先定義主數(shù)據(jù)庫連接各個(gè)分布數(shù)據(jù)庫節(jié)點(diǎn)的dblink的名稱及說明,供數(shù)據(jù)庫連接映射定義用;在應(yīng)用程序拼寫數(shù)據(jù)庫執(zhí)行SQL時(shí),根據(jù)此連接,將創(chuàng)建的dblink名稱加入,從而定位SQL執(zhí)行的對(duì)象所在數(shù)據(jù)庫。
[0023]業(yè)務(wù)維度同數(shù)據(jù)庫連接映射表的具體配置過程為:在按照維度信息確定數(shù)據(jù)庫的劃分后,查找要用到的dblink時(shí),根據(jù)維度信息,在此映射表中查找當(dāng)前業(yè)務(wù)數(shù)據(jù)單位編號(hào)對(duì)應(yīng)的數(shù)據(jù)庫連接,然后再根據(jù)數(shù)據(jù)庫連接,建立該單位業(yè)務(wù)數(shù)據(jù)所在的數(shù)據(jù)庫的連接,進(jìn)行相關(guān)數(shù)據(jù)操作。
[0024]應(yīng)用層數(shù)據(jù)分布處理的具體過程為:應(yīng)用層根據(jù)當(dāng)前業(yè)務(wù)場(chǎng)景,確定業(yè)務(wù)維度數(shù)據(jù)值,并根據(jù)這些值,查找到所要連接的數(shù)據(jù)庫,執(zhí)行相應(yīng)數(shù)據(jù)操作。
[0025]本發(fā)明適用于財(cái)務(wù)系統(tǒng)同異構(gòu)系統(tǒng)集成時(shí),異構(gòu)系統(tǒng)日常業(yè)務(wù)數(shù)據(jù)量較大,從而造成對(duì)財(cái)務(wù)系統(tǒng)數(shù)據(jù)庫產(chǎn)生巨大壓力的情形;同時(shí),也適用于ERP系統(tǒng)業(yè)務(wù)數(shù)據(jù)量大,且需要進(jìn)行頻繁而復(fù)雜的計(jì)算時(shí),對(duì)數(shù)據(jù)庫的數(shù)據(jù)處理性能要求很高的情形。
[0026]以上情形,在應(yīng)用Oracle數(shù)據(jù)庫時(shí),受數(shù)據(jù)庫技術(shù)限制,無法進(jìn)行數(shù)據(jù)庫集群部署,即使通過Rack技術(shù),增加服務(wù)器負(fù)載均衡,性能提升也僅限于1.5倍。本發(fā)明,在應(yīng)用層對(duì)數(shù)據(jù)庫進(jìn)行了拆分,實(shí)現(xiàn)了真正意義的數(shù)據(jù)庫集群部署,集群中數(shù)據(jù)庫節(jié)點(diǎn)可根據(jù)需要無限制增加,以增強(qiáng)單個(gè)數(shù)據(jù)庫服務(wù)器處理數(shù)據(jù)的能力,提供ERP系統(tǒng)應(yīng)用性能。本發(fā)明適用范圍廣泛,不僅限于Oracle數(shù)據(jù)庫。
[0027]上述【具體實(shí)施方式】僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述【具體實(shí)施方式】,任何符合本發(fā)明的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其特征在于,具體實(shí)現(xiàn)過程為: 根據(jù)各業(yè)務(wù)系統(tǒng)的特點(diǎn),提取業(yè)務(wù)維度,按照業(yè)務(wù)維度進(jìn)行數(shù)據(jù)庫劃分,并創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn); 在主庫中,配置各分布數(shù)據(jù)庫的連接dblink,同時(shí),配置業(yè)務(wù)維度同數(shù)據(jù)庫的映射表; 應(yīng)用層根據(jù)業(yè)務(wù)維度信息,在對(duì)照表中查找對(duì)應(yīng)的數(shù)據(jù)庫; 根據(jù)已創(chuàng)建好的此數(shù)據(jù)庫的連接dblink,執(zhí)行業(yè)務(wù)操作。2.根據(jù)權(quán)利要求1所述的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其特征在于,所述數(shù)據(jù)庫的連接具體配置過程為:首先定義主數(shù)據(jù)庫連接各個(gè)分布數(shù)據(jù)庫節(jié)點(diǎn)的dblink的名稱及說明,供數(shù)據(jù)庫連接映射定義用;在應(yīng)用程序拼寫數(shù)據(jù)庫執(zhí)行SQL時(shí),根據(jù)此連接,將創(chuàng)建的dblink名稱加入,從而定位SQL執(zhí)行的對(duì)象所在數(shù)據(jù)庫。3.根據(jù)權(quán)利要求1所述的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其特征在于,所述映射表的配置過程為:使用系統(tǒng)管理配置工具,配置服務(wù)器端的參數(shù),該參數(shù)包括各個(gè)分布數(shù)據(jù)庫連接配置表、業(yè)務(wù)維度同數(shù)據(jù)庫連接的映射表。4.根據(jù)權(quán)利要求3所述的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其特征在于,業(yè)務(wù)維度同數(shù)據(jù)庫連接映射表的具體配置過程為:在按照維度信息確定數(shù)據(jù)庫的劃分后,查找要用到的dblink時(shí),根據(jù)維度信息,在此映射表中查找當(dāng)前業(yè)務(wù)數(shù)據(jù)單位編號(hào)對(duì)應(yīng)的數(shù)據(jù)庫連接,然后再根據(jù)數(shù)據(jù)庫連接,建立該單位業(yè)務(wù)數(shù)據(jù)所在的數(shù)據(jù)庫的連接,進(jìn)行相關(guān)數(shù)據(jù)操作。5.根據(jù)權(quán)利要求1所述的一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,其特征在于,應(yīng)用層數(shù)據(jù)分布處理的具體過程為:應(yīng)用層根據(jù)當(dāng)前業(yè)務(wù)場(chǎng)景,確定業(yè)務(wù)維度數(shù)據(jù)值,并根據(jù)這些值,查找到所要連接的數(shù)據(jù)庫,執(zhí)行相應(yīng)數(shù)據(jù)操作。
【專利摘要】本發(fā)明公開了一種基于應(yīng)用層的數(shù)據(jù)庫分布方法,具體實(shí)現(xiàn)過程為:根據(jù)各業(yè)務(wù)系統(tǒng)的特點(diǎn),提取業(yè)務(wù)維度,按照業(yè)務(wù)維度進(jìn)行數(shù)據(jù)庫劃分,并創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn);在主庫中,配置各分布數(shù)據(jù)庫的連接dblink,同時(shí),配置業(yè)務(wù)維度同數(shù)據(jù)庫的映射表;應(yīng)用層根據(jù)業(yè)務(wù)維度信息,在對(duì)照表中查找對(duì)應(yīng)的數(shù)據(jù)庫;根據(jù)已創(chuàng)建好的此數(shù)據(jù)庫的連接dblink,執(zhí)行業(yè)務(wù)操作。該一種基于應(yīng)用層的數(shù)據(jù)庫分布方法與現(xiàn)有技術(shù)相比,根據(jù)數(shù)據(jù)庫分布配置表,來確定業(yè)務(wù)操作執(zhí)行的數(shù)據(jù)庫位置,從而使數(shù)據(jù)庫做到了可無限制增加節(jié)點(diǎn),使數(shù)據(jù)處理的壓力得到分布,提升系統(tǒng)應(yīng)用性能,實(shí)用性強(qiáng)。
【IPC分類】G06F17/30
【公開號(hào)】CN105138638
【申請(qǐng)?zhí)枴緾N201510521173
【發(fā)明人】黃金港, 隋志超, 楊晴然
【申請(qǐng)人】浪潮通用軟件有限公司
【公開日】2015年12月9日
【申請(qǐng)日】2015年8月24日