欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種訪問通用數(shù)據(jù)庫的系統(tǒng)的制作方法

文檔序號(hào):6463789閱讀:197來源:國知局
專利名稱:一種訪問通用數(shù)據(jù)庫的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)庫領(lǐng)域,更具體地說,涉及一種具備訪問通用數(shù) 據(jù)庫的系統(tǒng)。
背景技術(shù)
計(jì)算機(jī)數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),雖然從產(chǎn)生至今只有40多 年的歷史,但已經(jīng)得到了迅猛的發(fā)展,并日益成熟,數(shù)據(jù)庫系統(tǒng)已經(jīng)成為計(jì) 算機(jī)應(yīng)用中不可缺少的部分。
當(dāng)前數(shù)據(jù)庫技術(shù)基本上都采用了關(guān)系型數(shù)據(jù)庫技術(shù)。多個(gè)數(shù)據(jù)庫廠商分 別開發(fā)了基于關(guān)系型數(shù)據(jù)庫技術(shù)的商用數(shù)據(jù)庫,最常見的包括Sybase、 Oracle、 Informix、 SQL Server、 MySql等等。上述的多種數(shù)據(jù)庫都到了廣泛 的應(yīng)用。
雖然相關(guān)的國際標(biāo)準(zhǔn)化組織包括ANSI、 ISO等為數(shù)據(jù)庫建立統(tǒng)一的訪問 接口與標(biāo)準(zhǔn)做出了很大的努力,但是當(dāng)前的現(xiàn)狀是,各種數(shù)據(jù)庫之間并未實(shí) 現(xiàn)完全的互通,當(dāng)應(yīng)用需要支持不同的數(shù)據(jù)庫時(shí),當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)需要在 多種數(shù)據(jù)庫之間遷移時(shí),都需要應(yīng)用程序花費(fèi)額外的努力,而這努力對于實(shí) 現(xiàn)應(yīng)用程序的功能邏輯并不是必須的,而是同一個(gè)操作邏輯在不同數(shù)據(jù)庫中 的不同實(shí)現(xiàn)。例如
1 、不同的數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出的方法不一樣。在Oracle數(shù)據(jù)庫中, 使用exp/imp命令進(jìn)行數(shù)據(jù)的導(dǎo)入導(dǎo)出,而在informix和Sybase中則分別使 用了 load/unload和bcp命令進(jìn)行數(shù)據(jù)的導(dǎo)入導(dǎo)出。具體地,Sybase則使用bcp 命令實(shí)現(xiàn)了數(shù)據(jù)的導(dǎo)入導(dǎo)出。
2、不同的數(shù)據(jù)庫,支持的數(shù)據(jù)類型不一樣。對于同一個(gè)數(shù)據(jù)類型,在不 同的數(shù)據(jù)庫中也可能有不同的名稱。Sybase中使用datetime來表示時(shí)間類型,而Oracle中用date來表示時(shí)間類型。
上面只是列出了兩個(gè)例子,實(shí)際上各個(gè)數(shù)據(jù)庫之間的區(qū)別遠(yuǎn)遠(yuǎn)不止這些。 這種區(qū)別給架構(gòu)于數(shù)據(jù)庫之上的應(yīng)用帶來了巨大的影響。極大的增加了該類 應(yīng)用的開發(fā)和維護(hù)成本。
綜上所述,針對應(yīng)用程序訪問不同的數(shù)據(jù)庫時(shí),需要編寫不同的代碼, 從而導(dǎo)致在不同的數(shù)據(jù)庫間代碼移植困難、為不同的數(shù)據(jù)庫開發(fā)和維護(hù)同一 個(gè)應(yīng)用的多個(gè)版本的現(xiàn)狀。因此,為了使得架構(gòu)于數(shù)據(jù)庫之上的應(yīng)用程序能 夠?qū)W⒂谧陨淼臉I(yè)務(wù)邏輯,而不用花費(fèi)不必要的精力用于處理不同數(shù)據(jù)庫之 間的差異;如何實(shí)現(xiàn)上述這些問題,就成為亟待解決的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問題在于提供一種訪問通用數(shù)據(jù)庫的系統(tǒng),以解決 現(xiàn)有技術(shù)中沒有一種系統(tǒng)能夠屏蔽各種不同數(shù)據(jù)庫差異的、具備通用的數(shù)據(jù) 庫訪問功能的問題。
為了實(shí)現(xiàn)上述問題,本發(fā)明提供了一種訪問通用數(shù)據(jù)庫的系統(tǒng),其特征 在于,包括數(shù)據(jù)庫適配器、公共能力集才莫塊、作業(yè)步驟解釋器、作業(yè)步驟 描述語言模塊,其中,
所述數(shù)據(jù)庫適配器,用于對各種數(shù)據(jù)庫的訪問,并提供對所述各種數(shù)據(jù) 庫類型操作的適配與轉(zhuǎn)化;
所述公共能力集模塊,用于對要發(fā)送到所述數(shù)據(jù)庫適配器訪問所述各種 數(shù)據(jù)庫,提供基礎(chǔ)支持;
所述作業(yè)步驟解釋器,用于對要發(fā)送到所述公共能力集模塊執(zhí)行的操作 進(jìn)行解釋;
所述作業(yè)步驟描述語言模塊,用于對要發(fā)送到所述作業(yè)步驟解釋器執(zhí)行 的操作進(jìn)行描述。
本發(fā)明所述的系統(tǒng),其中,所述數(shù)據(jù)庫適配器位于所述系統(tǒng)的架構(gòu)中的 最底層。
其中,所述公共能力集模塊,至少包括模式管理功能模塊和數(shù)據(jù)管理功 能模塊,其中,
5所述模式管理功能模塊,用于對數(shù)據(jù)庫的創(chuàng)建、刪除、修改、查詢,數(shù)
據(jù)庫表的創(chuàng)建、刪除、修改、查詢;
所述數(shù)據(jù)管理功能模塊,用于對數(shù)據(jù)庫中數(shù)據(jù)的導(dǎo)入、導(dǎo)出,數(shù)據(jù)的插 入、刪除、修改、查詢。
其中,所述作業(yè)步驟解釋器,進(jìn)一步用于對要發(fā)送到所述公共能力集模 塊執(zhí)行的操作中的每一個(gè)作業(yè)步驟進(jìn)行解釋,按照應(yīng)用邏輯的要求對所述數(shù) 據(jù)庫進(jìn)行一系列的操作,并將所述作業(yè)步驟的相關(guān)信息發(fā)送給所述公共能力 集模塊。
其中,所述公共能力集模塊,進(jìn)一步用于接收所述作業(yè)步驟解釋器發(fā)送 過來的相關(guān)信息,判斷其是否能提供相應(yīng)的數(shù)據(jù)庫訪問能力基礎(chǔ)支持,如能 則將處理后的結(jié)果發(fā)送給所述數(shù)據(jù)庫適配器。
其中,所述數(shù)據(jù)庫適配器,進(jìn)一步用于接收所述公共能力集模塊發(fā)送過 來的數(shù)據(jù)訪問請求,根據(jù)操作對象所在的不同的數(shù)據(jù)庫,分別將這些訪問請 求解釋為適合目標(biāo)數(shù)據(jù)庫類型的訪問請求,并予以執(zhí)行。
其中,所述作業(yè)步驟描述語言模塊,進(jìn)一步用于對要發(fā)送到所述作業(yè)步 驟解釋器執(zhí)行的每一個(gè)作業(yè)步驟的操作進(jìn)行描述。
與現(xiàn)有技術(shù)相比較,本發(fā)明的系統(tǒng)的優(yōu)點(diǎn)就是面向上層應(yīng)用提供的數(shù)據(jù) 庫訪問的通用性。通過才莫塊化設(shè)計(jì),自動(dòng)的適用于不同的數(shù)據(jù)庫。從而避免 了在不同的數(shù)據(jù)庫之間開發(fā)和維護(hù)同一個(gè)應(yīng)用的多個(gè)版本的情況,從而提高 了開發(fā)效率,降低了開發(fā)和維護(hù)成本。


圖1是本發(fā)明所述的訪問通用數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明在這里提供了 一種訪問通用數(shù)據(jù)庫的系統(tǒng),以解決現(xiàn)有技術(shù)中沒 有一種系統(tǒng)能夠屏蔽各種不同數(shù)據(jù)庫差異的、具備通用的數(shù)據(jù)庫訪問功能的 問題。以下對具體實(shí)施方式
進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。
本發(fā)明設(shè)計(jì)了 一個(gè)能夠屏蔽各種不同數(shù)據(jù)庫差異的、具備通用的數(shù)據(jù)庫訪問功能的系統(tǒng)。在這個(gè)系統(tǒng)中包含了如下的功能模塊,如圖l所示
DBA (數(shù)據(jù)庫適配器,Database Adapter) 101,該模塊的作用為通用數(shù) 據(jù)庫訪問屏蔽各種數(shù)據(jù)庫的差異,從而使得上層的其它模塊不用關(guān)心不同數(shù) 據(jù)庫之間的差異。本模塊提供了不同數(shù)據(jù)庫類型操作功能的適配與轉(zhuǎn)化,并
提供對這些數(shù)據(jù)庫的訪問能力。該模塊位于整個(gè)系統(tǒng)的架構(gòu)中的最底層。
CCS (公共能力集模塊,Common Capability Set) 102,該模塊的作用為 通用數(shù)據(jù)庫訪問提供所有必須的基礎(chǔ)功能,該基礎(chǔ)功能為所有基于本系統(tǒng)的 數(shù)據(jù)庫訪問功能提供能力支撐。該模塊在架構(gòu)中位于DBAIOI的上層,位于 JSI (作業(yè)步驟解釋器,Job Step Interpreter) 103的下層。這些功能可以但不 限于此,具體可以包括功能
1) 模式管理功能該功能包括數(shù)據(jù)庫的創(chuàng)建、刪除、修改、查詢,數(shù)據(jù) 庫表的創(chuàng)建、刪除、修改、查詢等,該功能對數(shù)據(jù)庫的結(jié)構(gòu)產(chǎn)生影響。
2) 數(shù)據(jù)管理功能該功能包括^t據(jù)的導(dǎo)入、導(dǎo)出,數(shù)據(jù)的插入、刪除、 修改、查詢等,該功能對數(shù)據(jù)庫中的數(shù)據(jù)產(chǎn)生影響。
3) 其它的數(shù)據(jù)庫相關(guān)管理功能,上面只是列舉了系統(tǒng)應(yīng)該擁有的部分基 礎(chǔ)功能,該公共能力集模塊是可以擴(kuò)展的,其它基礎(chǔ)功能也可以根據(jù)需要加 入到該公共能力集模塊中。上述這些功能可作為才莫塊結(jié)構(gòu)設(shè)置于公共能力集 模塊中。
JSI(作業(yè)步驟解釋器,Job Step Interpreter) 103,該模塊的作用為解釋每 一個(gè)作業(yè)步驟并執(zhí)行,將一個(gè)完整的數(shù)據(jù)訪問操作看成一個(gè)作業(yè),該作業(yè)由 多個(gè)作業(yè)步驟組成,多個(gè)作業(yè)步驟描述了一個(gè)完整的數(shù)據(jù)訪問操作。每一個(gè) 作業(yè)步驟的執(zhí)行都需要CCS (公共能力集模塊,Common Capability Set) 102 所提供的基礎(chǔ)功能的支持才能完成。
JSDL (作業(yè)步驟描述語言才莫塊,Job Step Description Language ) 104,該 模塊的作用為描述每一個(gè)作業(yè)步驟,而這些步驟的解釋執(zhí)行,將由JSI來完 成。
下面結(jié)合附圖1,以一個(gè)具體的數(shù)據(jù)訪問操作為例,詳細(xì)介紹本發(fā)明中 所述的架構(gòu)的工作過程。
步驟1,對于一個(gè)新的數(shù)據(jù)訪問操作,使用JSDL模塊104編寫對應(yīng)的操 作步驟,這些步驟所包含的內(nèi)容由具體的應(yīng)用邏輯來決定,JSDL模塊104只是提供了描述這些應(yīng)用邏輯的手段,比如可以包含這樣的操作步驟首先刪 除數(shù)據(jù)庫中原有數(shù)據(jù),再往數(shù)據(jù)庫中插入一些數(shù)據(jù)等等;
使用JSDL模塊104 ,編寫作業(yè)步驟如下
數(shù)據(jù)庫類型=SYBASE
作業(yè)步驟總數(shù)=2
作業(yè)步驟1 =刪除表A數(shù)據(jù)
作業(yè)步驟2 =插入表B數(shù)據(jù)
步驟2, JSI模塊103讀取數(shù)據(jù)構(gòu)造任務(wù)對應(yīng)的操作步驟,并解釋執(zhí)行, 最終按照應(yīng)用邏輯的要求正確的對數(shù)據(jù)庫進(jìn)行一系列的操作;JSI模塊103讀 入JSDL文件,并依次對數(shù)據(jù)刪除和數(shù)據(jù)插入操作進(jìn)行解釋,并將這些作業(yè) 步驟的相關(guān)信息發(fā)送到CCS才莫塊102;
步驟3, CCS模塊102接收到JSI模塊103發(fā)送過來的數(shù)據(jù)訪問請求,判 斷CCS模塊102自身是否能提供相應(yīng)的數(shù)據(jù)庫訪問能力,如果CCS模塊102 具備該訪問請求要求的能力,那么CCS模塊102就接收該數(shù)據(jù)訪問請求,處 理后發(fā)送到DBA模塊101,請求DBA模塊101完成該訪問操作;
步驟4, DBA模塊101接收到CCS模塊102發(fā)送過來的數(shù)據(jù)訪問請求, 根據(jù)操作對象所在的不同的數(shù)據(jù)庫,分別將這些訪問請求解釋為適合目標(biāo)數(shù) 據(jù)庫類型的訪問請求,并予以執(zhí)行。例如,最終完成整個(gè)數(shù)據(jù)訪問操作刪 除表A數(shù)據(jù),并插入表B數(shù)據(jù)。
以上對本發(fā)明進(jìn)行了一個(gè)總體的描述,與傳統(tǒng)的數(shù)據(jù)訪問方法相比,本 發(fā)明的系統(tǒng)的優(yōu)點(diǎn)就是面向上層應(yīng)用提供的數(shù)據(jù)庫訪問的通用性。通過^t塊 化設(shè)計(jì),將整個(gè)系統(tǒng)分成了 DBA等多個(gè)模塊,向下屏蔽了不同的數(shù)據(jù)庫的差
使用JSDL模塊104進(jìn)行描述的數(shù)據(jù)訪問任務(wù)可以通過DBA模塊101的適配 作用,自動(dòng)的適用于不同的數(shù)據(jù)庫。從而避免了在不同的數(shù)據(jù)庫之間開發(fā)和 維護(hù)同一個(gè)應(yīng)用的多個(gè)版本的情況,從而提高了開發(fā)效率,降低了開發(fā)和維 護(hù)成本。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的 情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形, 但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種訪問通用數(shù)據(jù)庫的系統(tǒng),其特征在于,包括數(shù)據(jù)庫適配器、公共能力集模塊、作業(yè)步驟解釋器、作業(yè)步驟描述語言模塊,其中,所述數(shù)據(jù)庫適配器,用于對各種數(shù)據(jù)庫的訪問,并提供對所述各種數(shù)據(jù)庫類型操作的適配與轉(zhuǎn)化;所述公共能力集模塊,用于對要發(fā)送到所述數(shù)據(jù)庫適配器訪問所述各種數(shù)據(jù)庫,提供基礎(chǔ)支持;所述作業(yè)步驟解釋器,用于對要發(fā)送到所述公共能力集模塊執(zhí)行的操作進(jìn)行解釋;所述作業(yè)步驟描述語言模塊,用于對要發(fā)送到所述作業(yè)步驟解釋器執(zhí)行的操作進(jìn)行描述。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫適配器位于所述 系統(tǒng)的架構(gòu)中的最底層。
3、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述公共能力集模塊,至少 包括模式管理功能模塊和數(shù)據(jù)管理功能模塊,其中,所述模式管理功能模塊,用于對數(shù)據(jù)庫的創(chuàng)建、刪除、修改、查詢,數(shù) 據(jù)庫表的創(chuàng)建、刪除、修改、查詢;所述數(shù)據(jù)管理功能模塊,用于對數(shù)據(jù)庫中數(shù)據(jù)的導(dǎo)入、導(dǎo)出,數(shù)據(jù)的插 入、刪除、修改、查詢。
4、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述作業(yè)步驟解釋器,進(jìn)一 步用于對要發(fā)送到所述公共能力集模塊執(zhí)行的操作中的每一個(gè)作業(yè)步驟進(jìn)行 解釋,按照應(yīng)用邏輯的要求對所述數(shù)據(jù)庫進(jìn)行一系列的操作,并將所述作業(yè) 步驟的相關(guān)信息發(fā)送給所述公共能力集模塊。
5、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述公共能力集才莫塊,進(jìn)一 步用于接收所述作業(yè)步驟解釋器發(fā)送過來的相關(guān)信息,判斷其是否能提供相 應(yīng)的數(shù)據(jù)庫訪問能力基礎(chǔ)支持,如能則將處理后的結(jié)果發(fā)送給所述數(shù)據(jù)庫適配器。
6、 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫適配器,進(jìn)一步 用于接收所述公共能力集模塊發(fā)送過來的數(shù)據(jù)訪問請求,根據(jù)操作對象所在 的不同的數(shù)據(jù)庫,分別將這些訪問請求解釋為適合目標(biāo)數(shù)據(jù)庫類型的訪問請 求,并予以扭j亍。
7、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述作業(yè)步驟描述語言模塊, 進(jìn)一步用于對要發(fā)送到所述作業(yè)步驟解釋器執(zhí)行的每一個(gè)作業(yè)步驟的操作進(jìn) 行描述。
全文摘要
本發(fā)明公開了一種訪問通用數(shù)據(jù)庫的系統(tǒng),包括數(shù)據(jù)庫適配器、公共能力集模塊、作業(yè)步驟解釋器、作業(yè)步驟描述語言模塊,其中,數(shù)據(jù)庫適配器,用于對各種數(shù)據(jù)庫的訪問,并提供對各種數(shù)據(jù)庫類型操作的適配與轉(zhuǎn)化;公共能力集模塊,用于對要發(fā)送到所述數(shù)據(jù)庫適配器訪問所述各種數(shù)據(jù)庫,提供基礎(chǔ)支持;作業(yè)步驟解釋器,用于對要發(fā)送到公共能力集模塊執(zhí)行的操作進(jìn)行解釋;作業(yè)步驟描述語言模塊,用于對要發(fā)送到作業(yè)步驟解釋器執(zhí)行的操作進(jìn)行描述。本發(fā)明的優(yōu)點(diǎn)就是面向上層應(yīng)用提供的數(shù)據(jù)庫訪問的通用性。通過模塊化設(shè)計(jì),自動(dòng)的適用于不同的數(shù)據(jù)庫。
文檔編號(hào)G06F17/30GK101604237SQ200810110808
公開日2009年12月16日 申請日期2008年6月10日 優(yōu)先權(quán)日2008年6月10日
發(fā)明者磊 周, 梁昌宇 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
舞钢市| 营口市| 平罗县| 元阳县| 遵化市| 宝坻区| 海南省| 高平市| 曲靖市| 西丰县| 长丰县| 滕州市| 名山县| 五华县| 华安县| 依兰县| 共和县| 当涂县| 曲水县| 盐山县| 兴义市| 桦川县| 河曲县| 聊城市| 始兴县| 海南省| 金秀| 汤原县| 南开区| 绥德县| 龙川县| 昌江| 福清市| 包头市| 广德县| 荥经县| 克东县| 濉溪县| 大理市| 信宜市| 望都县|