基于pci或pcie板卡的數(shù)據(jù)庫(kù)系統(tǒng)、主機(jī)及使用方法
【專利摘要】本發(fā)明公開了一種基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)、主機(jī)及使用方法。該數(shù)據(jù)庫(kù)系統(tǒng),包括:板卡,所述板卡具有與主機(jī)的PCI/PCIE總線連接的PCI或PCIE接口;存儲(chǔ)設(shè)備,設(shè)置于所述板卡上,所述存儲(chǔ)設(shè)備上存儲(chǔ)有數(shù)據(jù)庫(kù)信息;數(shù)據(jù)庫(kù)接口單元,設(shè)置于所述板卡上,用于管理所述板卡中的數(shù)據(jù)。本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),以數(shù)據(jù)庫(kù)產(chǎn)品為核心,通過(guò)一系列的移植、修改、優(yōu)化等工作,將硬件與軟件結(jié)合,在不損失原有數(shù)據(jù)庫(kù)產(chǎn)品功能的前提下,極大的提高了產(chǎn)品的安全性、健壯性、使用的靈活性與方便性,并具備良好的擴(kuò)展性,提升了系統(tǒng)性能。
【專利說(shuō)明】 基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)、主機(jī)及使用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫(kù)系統(tǒng),具體地說(shuō),是一處基于PCI (Peripheral ComponentInterconnect,周邊元件擴(kuò)展接口)或PCIE (PCI Express)板卡的數(shù)據(jù)庫(kù)系統(tǒng)、主機(jī)及使用方法。
【背景技術(shù)】
[0002]數(shù)據(jù)庫(kù)是以一定方式儲(chǔ)存在一起、能為多個(gè)用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合。目前主流的數(shù)據(jù)庫(kù)軟件有Oracle、MySQL、SQL server、DB2等,但是幾乎所有的數(shù)據(jù)庫(kù)都是以軟件形態(tài)存在的。
[0003]傳統(tǒng)的軟件形態(tài)的數(shù)據(jù)庫(kù)存在安全性低、不方便移植等缺點(diǎn)。尤其是對(duì)于安全性要求比較高的應(yīng)用,在使用過(guò)程中,數(shù)據(jù)庫(kù)內(nèi)核與數(shù)據(jù)信息存儲(chǔ)在同一設(shè)備上,容易受到病毒或遠(yuǎn)程惡意攻擊的影響,而且,當(dāng)設(shè)備故障或遭到意外破壞時(shí),也會(huì)影響到數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種安全性好,方便移植的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)、主機(jī)及使用方法。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),包括:
板卡,所述板卡具有與主機(jī)的PCI/PCIE總線連接的PCI或PCIE接口 ;
存儲(chǔ)設(shè)備,設(shè)置于所述板卡上,所述存儲(chǔ)設(shè)備上存儲(chǔ)有數(shù)據(jù)庫(kù)信息;
數(shù)據(jù)庫(kù)接口單元,設(shè)置于所述板卡上,用于管理所述板卡中的數(shù)據(jù)。
[0006]進(jìn)一步地,所述存儲(chǔ)設(shè)備包括SD存儲(chǔ)器和SATA存儲(chǔ)器,所述SD存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù)庫(kù)版本信息、權(quán)限信息和數(shù)據(jù)庫(kù)結(jié)構(gòu)信息;所述SATA存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件。
[0007]進(jìn)一步地,所述數(shù)據(jù)庫(kù)接口單元包括:
板卡信息模塊,保存有所述板卡的設(shè)備號(hào)、ID號(hào)和使用模式,用于對(duì)板卡進(jìn)行身份識(shí)別;
數(shù)據(jù)庫(kù)程序包模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼;
數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊,用于保存數(shù)據(jù)庫(kù)信息;
數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)中的真實(shí)數(shù)據(jù),所述真實(shí)數(shù)據(jù)包括數(shù)據(jù)文件映射關(guān)系;
其中,所述數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊和數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊位于所述SATA存儲(chǔ)器中。
[0008]進(jìn)一步地,所述板卡上還設(shè)置有網(wǎng)絡(luò)模塊,用于獨(dú)立設(shè)置板卡的IP地址,使板卡數(shù)據(jù)庫(kù)對(duì)外提供服務(wù)、以及數(shù)據(jù)通信傳輸。
[0009]進(jìn)一步地,所述網(wǎng)絡(luò)模塊為RJ45網(wǎng)口。
[0010]本發(fā)明還提供了一種用于上述數(shù)據(jù)庫(kù)系統(tǒng)的主機(jī),包括主板、CPU、內(nèi)存、存儲(chǔ)器,所述主板上設(shè)有PCI或PCTE插槽,所述主機(jī)運(yùn)行有操作系統(tǒng),所述操作系統(tǒng)中具有板卡驅(qū)動(dòng)單元,所述板卡驅(qū)動(dòng)單元包括:
存儲(chǔ)設(shè)備驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的所述存儲(chǔ)設(shè)備;
數(shù)據(jù)庫(kù)載入及初始化模塊,用于通過(guò)所述板卡上的數(shù)據(jù)庫(kù)程序包模塊讀取數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中;
數(shù)據(jù)庫(kù)卸載模塊,用于停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù);
數(shù)據(jù)庫(kù)讀寫模塊,用于讀寫所述板卡上存儲(chǔ)的數(shù)據(jù)庫(kù)數(shù)據(jù)。
[0011]進(jìn)一步地,所述操作系統(tǒng)中還具有數(shù)據(jù)庫(kù)服務(wù)單元,所述數(shù)據(jù)庫(kù)服務(wù)單元包括: 板卡設(shè)置模塊,用于對(duì)板卡的使用模式進(jìn)行設(shè)置;
數(shù)據(jù)庫(kù)內(nèi)核,用于提供數(shù)據(jù)庫(kù)的功能;
數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊,用于對(duì)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境進(jìn)行監(jiān)測(cè),當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能;
其中,所述數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊是由數(shù)據(jù)庫(kù)載入及初始化模塊載入到所述計(jì)算機(jī)計(jì)機(jī)的內(nèi)存中的。
[0012]進(jìn)一步地,所述板卡驅(qū)動(dòng)單元還包括網(wǎng)絡(luò)驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的網(wǎng)絡(luò)模塊。
[0013]本發(fā)明還提供了一種基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)的使用方法,包括: 將板卡插入主機(jī)上的PCI或PCIE卡槽;
啟動(dòng)主機(jī),加載操作系統(tǒng);
操作系統(tǒng)加載存儲(chǔ)設(shè)備驅(qū)動(dòng),建立與所述板卡上的驅(qū)動(dòng)設(shè)備的連接;
數(shù)據(jù)庫(kù)載入及初始化模塊,讀取板卡上的數(shù)據(jù)庫(kù)程序包模塊中的數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中,在內(nèi)存中形成數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)安全監(jiān)測(cè)模塊;
數(shù)據(jù)庫(kù)內(nèi)核通過(guò)數(shù)據(jù)庫(kù)讀寫模塊執(zhí)行數(shù)據(jù)庫(kù)操作;
數(shù)據(jù)庫(kù)制裁模塊停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)。
[0014]進(jìn)一步地,在數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)運(yùn)行過(guò)程中,所述數(shù)據(jù)安全監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境,當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能。
[0015]本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),以數(shù)據(jù)庫(kù)產(chǎn)品為核心,通過(guò)一系列的移植、修改、優(yōu)化等工作,將硬件與軟件結(jié)合,在不損失原有數(shù)據(jù)庫(kù)產(chǎn)品功能的前提下,極大的提高了產(chǎn)品的安全性、健壯性、使用的靈活性與方便性,并具備良好的擴(kuò)展性,提升了系統(tǒng)性能。
【專利附圖】
【附圖說(shuō)明】
[0016]圖1是本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)及主機(jī)的系統(tǒng)結(jié)構(gòu)原理圖。
[0017]圖2是本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)的使用方法流程圖。
【具體實(shí)施方式】
[0018]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,以使本領(lǐng)域的技術(shù)人員可以更好地理解本發(fā)明并能予以實(shí)施,但所舉實(shí)施例不作為對(duì)本發(fā)明的限定。
[0019]PCIE (PCI Express)總線作為計(jì)算機(jī)和通訊平臺(tái)的一種高性能、通用1\0互連總線,采用了目前業(yè)內(nèi)流行的點(diǎn)對(duì)點(diǎn)串行連接,具有總線結(jié)構(gòu)簡(jiǎn)單、成本低、設(shè)計(jì)簡(jiǎn)單等優(yōu)點(diǎn),同時(shí)PCIE在軟件層面上兼容PCI技術(shù)和設(shè)備,支持PCI設(shè)備和內(nèi)存模組的初始化。PCIE/PCI接口模式,通常用于顯卡網(wǎng)卡等主板類接口卡,幾乎所有的主板產(chǎn)品上都帶有這種PCI插槽,是目前個(gè)人電腦中使用最為廣泛的接口之一。
[0020]本發(fā)明針對(duì)目前純軟件數(shù)據(jù)庫(kù)產(chǎn)品存在的問(wèn)題,提出將硬件“PCI/PCIE接口的板卡”技術(shù)與軟件數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,設(shè)計(jì)實(shí)現(xiàn)了基于PCI/PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),本發(fā)明以硬件為載體,軟件為核心,實(shí)現(xiàn)軟硬件結(jié)合的一體化,二者共同完成并對(duì)外提供數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)功能。
[0021]具體地,如圖1所示,本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),包括:
板卡,所述板卡具有與主機(jī)的PCI/PCIE總線連接的PCI或PCIE接口 ;
存儲(chǔ)設(shè)備,設(shè)置于所述板卡上,所述存儲(chǔ)設(shè)備上存儲(chǔ)有數(shù)據(jù)庫(kù)信息;
數(shù)據(jù)庫(kù)接口單元,設(shè)置于所述板卡上,用于管理所述板卡中的數(shù)據(jù)。
[0022]其中,所述存儲(chǔ)設(shè)備包括SD存儲(chǔ)器和SATA存儲(chǔ)器,所述SD存儲(chǔ)器作為基本信息存儲(chǔ)(容量較小),如數(shù)據(jù)庫(kù)版本信息、權(quán)限信息和數(shù)據(jù)庫(kù)結(jié)構(gòu)信息等;所述SATA存儲(chǔ)器作為數(shù)據(jù)信息存儲(chǔ)(容量較大),如數(shù)據(jù)庫(kù)的數(shù)據(jù)文件等。本發(fā)明將數(shù)據(jù)庫(kù)數(shù)據(jù)與主機(jī)在物理層面進(jìn)行隔離,所有數(shù)據(jù)均保存在板卡上,保證了數(shù)據(jù)的安全性,基本信息與數(shù)據(jù)信息分別存儲(chǔ),也進(jìn)一步保證了數(shù)據(jù)的安全性,如敏感信息的單獨(dú)加密等。
[0023]板卡是本發(fā)明的硬件載體,為一具備PCI/PCIE接口標(biāo)準(zhǔn)的板卡,PCI/PCIE總線用于主機(jī)與板卡的數(shù)據(jù)通信。
[0024]而所述數(shù)據(jù)庫(kù)接口單元包括:
板卡信息模塊,保存有所述板卡的設(shè)備號(hào)、ID號(hào)和使用模式,用于對(duì)板卡進(jìn)行身份識(shí)別;
數(shù)據(jù)庫(kù)程序包模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼;
數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊,用于保存數(shù)據(jù)庫(kù)信息,其中,對(duì)于關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),所述數(shù)據(jù)庫(kù)信息包括數(shù)據(jù)庫(kù)名、表名和字段名等;對(duì)于實(shí)時(shí)數(shù)據(jù)庫(kù)來(lái)說(shuō),包括源設(shè)備站名、源結(jié)點(diǎn)組名、源結(jié)點(diǎn)名、標(biāo)簽點(diǎn)名等;
數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)中的真實(shí)數(shù)據(jù),所述真實(shí)數(shù)據(jù)包括數(shù)據(jù)文件映射關(guān)系;
其中,所述數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊和數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊位于所述SATA存儲(chǔ)器中。
[0025]作為本發(fā)明的進(jìn)一步改進(jìn),所述板卡上還設(shè)置有網(wǎng)絡(luò)模塊,用于獨(dú)立設(shè)置板卡的IP地址,使板卡數(shù)據(jù)庫(kù)對(duì)外提供服務(wù)、以及數(shù)據(jù)通信傳輸。網(wǎng)絡(luò)模塊優(yōu)選為RJ45網(wǎng)口。當(dāng)然,網(wǎng)絡(luò)模塊也可以采用無(wú)線網(wǎng)絡(luò)模塊。本發(fā)明通過(guò)網(wǎng)絡(luò)模塊可以獨(dú)立設(shè)置板卡的IP地址,便于板卡數(shù)據(jù)庫(kù)對(duì)外提供服務(wù)、以及數(shù)據(jù)通信傳輸?shù)?。另外,在硬件板卡中集成網(wǎng)絡(luò)模塊,有以下幾個(gè)優(yōu)點(diǎn):(1)與通常數(shù)據(jù)庫(kù)的訪問(wèn)方式保持一致(通常的數(shù)據(jù)庫(kù)系統(tǒng)均以“網(wǎng)絡(luò)IP+端口”的形式對(duì)外提供服務(wù),即利用主機(jī)的網(wǎng)絡(luò)地址和端口進(jìn)行通信),不影響數(shù)據(jù)庫(kù)的通信架構(gòu)與用戶的使用體驗(yàn)。(2)節(jié)省主機(jī)網(wǎng)口,在主機(jī)本身不具備網(wǎng)口或無(wú)多余網(wǎng)口的情況下也可使用。(3)保證在同一主機(jī)內(nèi)安裝多塊板卡的情況下,每個(gè)板卡數(shù)據(jù)庫(kù)系統(tǒng)均可以正常使用。
[0026]本發(fā)明的數(shù)據(jù)庫(kù)系統(tǒng)的正常使用離不開主機(jī),主機(jī)可以為PC機(jī)、工控機(jī)、服務(wù)器等。為了使用上述基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),本發(fā)明的主機(jī)包括主板、CPU、內(nèi)存、存儲(chǔ)器等,所述主板上設(shè)有PCI或PCTE插槽,所述主機(jī)運(yùn)行有操作系統(tǒng),所述操作系統(tǒng)中具有板卡驅(qū)動(dòng)單元,所述板卡驅(qū)動(dòng)單元包括:
存儲(chǔ)設(shè)備驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的所述存儲(chǔ)設(shè)備;
數(shù)據(jù)庫(kù)載入及初始化模塊,用于通過(guò)所述板卡上的數(shù)據(jù)庫(kù)程序包模塊讀取數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中;
數(shù)據(jù)庫(kù)卸載模塊,用于停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù),卸載模塊成功執(zhí)行后,主機(jī)中數(shù)據(jù)庫(kù)服務(wù)將被清除;
數(shù)據(jù)庫(kù)讀寫模塊,用于讀寫所述板卡上存儲(chǔ)的數(shù)據(jù)庫(kù)數(shù)據(jù),該數(shù)據(jù)庫(kù)數(shù)據(jù)即上述數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊和數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊中存儲(chǔ)的數(shù)據(jù)。與普通數(shù)據(jù)庫(kù)不同,本發(fā)明中的所有數(shù)據(jù)文件均保存在板卡中,為保證安全性,不能使用常用的讀寫操作進(jìn)行訪問(wèn),數(shù)據(jù)文件也不能直接暴露給用戶,必須通過(guò)數(shù)據(jù)庫(kù)讀寫模塊進(jìn)行訪問(wèn)。本發(fā)明將數(shù)據(jù)庫(kù)載入及初始化模塊、數(shù)據(jù)庫(kù)卸載模塊、數(shù)據(jù)庫(kù)讀寫模塊置于驅(qū)動(dòng)層次,更貼近操作系統(tǒng)底層,可在一定程度上避免病毒及惡意操作的影響,提升數(shù)據(jù)庫(kù)系統(tǒng)的安全與可靠性。
[0027]另外,所述操作系統(tǒng)中還具有數(shù)據(jù)庫(kù)服務(wù)單元,數(shù)據(jù)庫(kù)服務(wù)單元以進(jìn)程方式常駐于主機(jī)的內(nèi)存之中,因此依賴于主機(jī),需要CPU進(jìn)行數(shù)據(jù)運(yùn)算、邏輯處理、資源調(diào)度等。所述數(shù)據(jù)庫(kù)服務(wù)單元包括:
板卡設(shè)置模塊,用于對(duì)板卡的使用模式進(jìn)行設(shè)置,根據(jù)不同的使用模式,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的使用有不同的影響;
數(shù)據(jù)庫(kù)內(nèi)核,用于提供數(shù)據(jù)庫(kù)的功能,其中,對(duì)于關(guān)系數(shù)據(jù)庫(kù),包括數(shù)據(jù)庫(kù)的創(chuàng)建、記錄的增加、修改、查詢和刪除等功能;對(duì)于實(shí)時(shí)數(shù)據(jù)庫(kù),包括數(shù)據(jù)庫(kù)的創(chuàng)建、標(biāo)簽點(diǎn)的管理、實(shí)時(shí)數(shù)據(jù)訂閱、歷史數(shù)據(jù)查詢等功能;
數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊,用于對(duì)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境進(jìn)行監(jiān)測(cè),當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能;
其中,所述數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊是由數(shù)據(jù)庫(kù)載入及初始化模塊載入到所述計(jì)算機(jī)計(jì)機(jī)的內(nèi)存中的。在數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊載入完成后,主機(jī)即刻啟動(dòng)數(shù)據(jù)庫(kù)及安全監(jiān)測(cè)服務(wù)。數(shù)據(jù)庫(kù)載入及初始化模塊、數(shù)據(jù)庫(kù)卸載模塊、數(shù)據(jù)庫(kù)讀寫模塊為數(shù)據(jù)庫(kù)軟件所需部分,是從通常的數(shù)據(jù)庫(kù)軟件系統(tǒng)中分離出來(lái)的,與數(shù)據(jù)庫(kù)服務(wù)單元共同構(gòu)建成完整的數(shù)據(jù)庫(kù)軟件系統(tǒng)。
[0028]其中,所述板卡驅(qū)動(dòng)單元還包括網(wǎng)絡(luò)驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的網(wǎng)絡(luò)模塊。
[0029]如圖2所示,本發(fā)明的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)的使用方法包括: 將板卡插入主機(jī)上的PCI或PCIE卡槽;
啟動(dòng)主機(jī),加載操作系統(tǒng);
操作系統(tǒng)加載存儲(chǔ)設(shè)備驅(qū)動(dòng),建立與所述板卡上的驅(qū)動(dòng)設(shè)備的連接;
數(shù)據(jù)庫(kù)載入及初始化模塊,讀取板卡上的數(shù)據(jù)庫(kù)程序包模塊中的數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中,在內(nèi)存中形成數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)安全監(jiān)測(cè)模塊; 數(shù)據(jù)庫(kù)內(nèi)核通過(guò)數(shù)據(jù)庫(kù)讀寫模塊執(zhí)行數(shù)據(jù)庫(kù)操作;
數(shù)據(jù)庫(kù)制裁模塊停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)。
[0030]其中,在數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)運(yùn)行過(guò)程中,所述數(shù)據(jù)安全監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境,當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能。
[0031]本發(fā)明中的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)可以為用戶提供兩種不同的使用模式:一種稱為獨(dú)立服務(wù)模式,另一種稱為擴(kuò)展服務(wù)模式。獨(dú)立服務(wù)模式表不此板卡作為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng)提供服務(wù);擴(kuò)展服務(wù)模式表示此板卡不單獨(dú)提供數(shù)據(jù)庫(kù)服務(wù),而是作為其它獨(dú)立服務(wù)模式板卡的擴(kuò)展,如存儲(chǔ)容量、處理規(guī)模的擴(kuò)展。用戶可以利用安裝在主機(jī)上的板卡設(shè)置模塊進(jìn)行板卡模式的設(shè)置,此方式保證了整個(gè)系統(tǒng)的靈活性與高擴(kuò)展性。比如隨著用戶使用規(guī)模的不斷擴(kuò)大,原有數(shù)據(jù)庫(kù)(存儲(chǔ)容量)已不能滿足使用需要,常用的數(shù)據(jù)庫(kù)一般采取更換更大磁盤的方式解決,需要對(duì)原有數(shù)據(jù)進(jìn)行導(dǎo)出備份、重新導(dǎo)入等操作,費(fèi)時(shí)效率低,而采用本發(fā)明則只需再安裝一塊板卡,即可實(shí)現(xiàn)系統(tǒng)的擴(kuò)展,簡(jiǎn)單高效。
[0032]獨(dú)立服務(wù)模式又分為單卡模式和多卡模式。
[0033](I)單卡模式:一個(gè)主機(jī)內(nèi)只安裝一塊板卡,板卡設(shè)置為獨(dú)立服務(wù)模式,即一塊板卡作為一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供服務(wù)。
[0034](2)多卡模式:一個(gè)主機(jī)內(nèi)安裝多塊板卡,各板卡均設(shè)置為獨(dú)立服務(wù)模式,即每個(gè)板卡均提供獨(dú)立的數(shù)據(jù)庫(kù)系統(tǒng)服務(wù),此時(shí),每個(gè)板卡通過(guò)RJ45設(shè)置獨(dú)立的IP地址及端口號(hào),不同的數(shù)據(jù)庫(kù)系統(tǒng)通過(guò)IP地址進(jìn)行區(qū)分。
[0035]擴(kuò)展服務(wù)模式:即一個(gè)主機(jī)內(nèi)安裝多塊板卡,其中一塊板卡設(shè)置為獨(dú)立服務(wù)模式,其余設(shè)置為擴(kuò)展服務(wù)模式。對(duì)外只提供一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)服務(wù),但數(shù)據(jù)庫(kù)容量、系統(tǒng)規(guī)模為各個(gè)板卡的總和。
[0036]在安裝多塊板卡的情況下,由于網(wǎng)絡(luò)驅(qū)動(dòng)模塊及存儲(chǔ)驅(qū)動(dòng)模塊可識(shí)別、記憶各自對(duì)應(yīng)的板卡特征,結(jié)合板卡信息模塊,即可區(qū)分出真正要訪問(wèn)的是哪塊板卡,保證了數(shù)據(jù)操作的正確性。
[0037]本發(fā)明中,板卡作為該數(shù)據(jù)庫(kù)系統(tǒng)的硬件部分,接口符合PCI/PCIE標(biāo)準(zhǔn),板卡的正常使用需要驅(qū)動(dòng)程序的支持,因此,將RJ45網(wǎng)口驅(qū)動(dòng)、存儲(chǔ)驅(qū)動(dòng)、數(shù)據(jù)庫(kù)載入及初始化模塊、數(shù)據(jù)庫(kù)卸載模塊、數(shù)據(jù)讀寫模塊集成到板卡的驅(qū)動(dòng)層。通過(guò)RJ45網(wǎng)口驅(qū)動(dòng)的安裝,保證了客戶端可以通過(guò)板卡網(wǎng)口與板卡進(jìn)行通信;通過(guò)成功安裝存儲(chǔ)驅(qū)動(dòng),保證了板卡上的SATA存儲(chǔ)的正常使用;數(shù)據(jù)庫(kù)載入及初始化模塊,通過(guò)執(zhí)行板卡中的數(shù)據(jù)庫(kù)程序包,會(huì)在主機(jī)上生成板卡數(shù)據(jù)庫(kù)服務(wù),包括數(shù)據(jù)庫(kù)內(nèi)核及安全監(jiān)測(cè)模塊。數(shù)據(jù)庫(kù)內(nèi)核負(fù)責(zé)根據(jù)用戶的指令對(duì)數(shù)據(jù)庫(kù)進(jìn)行必要的操作,安全監(jiān)測(cè)模塊負(fù)責(zé)監(jiān)視對(duì)板卡數(shù)據(jù)庫(kù)的一切操作。數(shù)據(jù)庫(kù)載入及初始化模塊執(zhí)行成功后,板卡數(shù)據(jù)庫(kù)服務(wù)及安全監(jiān)測(cè)服務(wù)同時(shí)被啟動(dòng)。板卡數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)起來(lái)后,用戶可以在主機(jī)的數(shù)據(jù)庫(kù)服務(wù)里設(shè)置板卡的使用模式,使用模式設(shè)置成功后,至此,板卡數(shù)據(jù)庫(kù)系統(tǒng)就可以正常使用了。
[0038]板卡的使用模式可以根據(jù)用戶的使用需要再次進(jìn)行模式的更改,更改成功后,會(huì)按照新的使用模式提供相應(yīng)的服務(wù)。
[0039]數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊,一個(gè)作用是監(jiān)測(cè)板卡是否被移除。如果板卡移除,通知用于人機(jī)交互的客戶端,板卡已經(jīng)移除,由于數(shù)據(jù)庫(kù)服務(wù)及數(shù)據(jù)庫(kù)文件分別存儲(chǔ)在不同的物理介質(zhì)上(一個(gè)在主機(jī)上,一個(gè)在板卡上),此時(shí),板卡數(shù)據(jù)庫(kù)系統(tǒng)失效。當(dāng)板卡再次插入主機(jī),安全監(jiān)測(cè)模塊通知客戶端,并重新啟動(dòng)數(shù)據(jù)庫(kù)內(nèi)核,此時(shí),板卡數(shù)據(jù)庫(kù)系統(tǒng)可以再次發(fā)揮作用。當(dāng)然,由于數(shù)據(jù)庫(kù)信息及數(shù)據(jù)庫(kù)文件信息都存儲(chǔ)在板卡上,不會(huì)因?yàn)橐瞥蹇▽?dǎo)致數(shù)據(jù)的丟失,而且板卡在任意主機(jī)上安裝驅(qū)動(dòng)即可使用,因此,當(dāng)板卡從一個(gè)主機(jī)移除后,如果插入其他的主機(jī)上,通過(guò)重新安裝驅(qū)動(dòng),板卡數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)中的數(shù)據(jù)就可以正常使用了。
[0040]數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊的另一作用是監(jiān)測(cè)對(duì)板卡數(shù)據(jù)庫(kù)的操作是否是正常及安全,如監(jiān)測(cè)到非法篡改板卡信息、非法對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)操作等時(shí),則拒絕數(shù)據(jù)庫(kù)訪問(wèn)或立即停止數(shù)據(jù)庫(kù)內(nèi)核的進(jìn)程,直到系統(tǒng)環(huán)境恢復(fù)安全。
[0041]板卡可以配置成獨(dú)立使用模式,也可以配置成擴(kuò)展服務(wù)模式,在使用中,如果一塊板卡的容量不足以支撐應(yīng)用的需要,可以在本機(jī)上再插入一塊板卡,驅(qū)動(dòng)安裝成功后,設(shè)置板卡的使用模式為擴(kuò)展服務(wù)模式,此時(shí),該擴(kuò)展服務(wù)模式卡(簡(jiǎn)稱副卡)與獨(dú)立使用模式卡(簡(jiǎn)稱主卡)共用主卡的數(shù)據(jù)庫(kù)內(nèi)核及服務(wù),對(duì)外提供一套數(shù)據(jù)庫(kù)服務(wù)進(jìn)程。
[0042]為了更好的理解本發(fā)明,下面介紹板卡數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的讀寫流程及方法。
[0043]第一步,在客戶端進(jìn)行板卡數(shù)據(jù)庫(kù)的連接操作;
第二步,連接成功后,在客戶端輸入數(shù)據(jù)的讀寫指令;
第三步,數(shù)據(jù)讀寫指令下達(dá)給數(shù)據(jù)庫(kù)管理系統(tǒng)中的數(shù)據(jù)庫(kù)內(nèi)核,數(shù)據(jù)庫(kù)內(nèi)核對(duì)指令進(jìn)行解析,進(jìn)行任務(wù)的調(diào)度等操作;
第四步,調(diào)度后的任務(wù)被下發(fā)給數(shù)據(jù)庫(kù)讀寫模塊,數(shù)據(jù)庫(kù)讀寫模塊負(fù)責(zé)從板卡的存儲(chǔ)介質(zhì)中進(jìn)行數(shù)據(jù)的讀寫。
[0044]本發(fā)明是以數(shù)據(jù)庫(kù)產(chǎn)品為核心,通過(guò)一系列的移植、修改、優(yōu)化等工作,在不損失原有數(shù)據(jù)庫(kù)產(chǎn)品功能的前提下,極大的提高了產(chǎn)品的安全性、健壯性、使用的靈活性與方便性,提升了系統(tǒng)性能,與原有的純數(shù)據(jù)庫(kù)軟件相比,本發(fā)明主要有以下特點(diǎn):
(O系統(tǒng)健壯性強(qiáng):板卡數(shù)據(jù)庫(kù)系統(tǒng)將數(shù)據(jù)庫(kù)服務(wù)安裝成功后以服務(wù)的方式常駐主機(jī)的內(nèi)存中,將數(shù)據(jù)的讀寫模塊獨(dú)立出來(lái),放在系統(tǒng)驅(qū)動(dòng)層,更貼近操作系統(tǒng)的核心,不會(huì)被普通的惡意進(jìn)程或人為誤操作所破壞干擾,在一定程度上可避免病毒或遠(yuǎn)程惡意攻擊的影響,保證了數(shù)據(jù)庫(kù)系統(tǒng)的健壯性。
[0045](2)數(shù)據(jù)安全性高:板卡與主機(jī)通過(guò)PCIE總線進(jìn)行通信,通過(guò)底層驅(qū)動(dòng)進(jìn)行數(shù)據(jù)的讀寫,所有的數(shù)據(jù)信息均被有效的屏蔽保護(hù)起來(lái),而不是直接暴露在用戶的使用之下,對(duì)用戶的使用來(lái)說(shuō)是透明的,因此避免了普通的讀寫操作對(duì)數(shù)據(jù)造成破壞。同時(shí)板卡自帶獨(dú)立的存儲(chǔ)裝置及保護(hù)設(shè)計(jì),與主機(jī)的存儲(chǔ)介質(zhì)在物理層面隔離開來(lái),主機(jī)存儲(chǔ)設(shè)備的故障或遭到意外破壞時(shí),不會(huì)影響到數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。
[0046](3)使用方便:數(shù)據(jù)庫(kù)的配置信息、數(shù)據(jù)信息均保存在板卡中,只需安裝驅(qū)動(dòng)即可實(shí)現(xiàn)板卡在不同主機(jī)上的任意使用,在數(shù)據(jù)庫(kù)遷移時(shí)避免了純軟件產(chǎn)品通常所需的導(dǎo)入導(dǎo)出等操作,省時(shí)省力效率極高,方便了數(shù)據(jù)庫(kù)服務(wù)與數(shù)據(jù)的整體遷移與快速部署。
[0047](4)使用靈活:在同一主機(jī)內(nèi)可安裝一塊或多塊板卡,多塊板卡可分別獨(dú)立工作,即每塊板卡均作為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)服務(wù);也可協(xié)同工作,即多塊板卡實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)服務(wù)。也可根據(jù)用戶的需要,自行初始化板卡將其設(shè)置成新的工作模式。
[0048](5)擴(kuò)展性強(qiáng):當(dāng)用戶的系統(tǒng)規(guī)模不斷擴(kuò)大時(shí),原有的存儲(chǔ)容量、標(biāo)簽點(diǎn)數(shù)可能無(wú)法繼續(xù)滿足使用的需要,通常情況下可能需要通過(guò)更換更大的存儲(chǔ)介質(zhì)并導(dǎo)入原有的數(shù)據(jù)來(lái)解決,板卡數(shù)據(jù)庫(kù)則無(wú)需對(duì)舊有的板卡進(jìn)行更換,只需通過(guò)追加板卡的方式即可實(shí)現(xiàn)存儲(chǔ)容量、標(biāo)簽點(diǎn)數(shù)的擴(kuò)充。
[0049](6)接口標(biāo)準(zhǔn):板卡數(shù)據(jù)庫(kù)采用標(biāo)準(zhǔn)PCIE接口及驅(qū)動(dòng),可安裝使用在常用的服務(wù)器、工控機(jī)甚至普通PC機(jī)上而無(wú)其它特殊要求,具有良好的通用性,用戶可根據(jù)需要自行選擇合適的標(biāo)準(zhǔn)主機(jī),對(duì)用戶已有的硬件產(chǎn)品或系統(tǒng)不產(chǎn)生影響或影響較小。
[0050]以上所述實(shí)施例僅是為充分說(shuō)明本發(fā)明而所舉的較佳的實(shí)施例,本發(fā)明的保護(hù)范圍不限于此。本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明基礎(chǔ)上所作的等同替代或變換,均在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍以權(quán)利要求書為準(zhǔn)。
【權(quán)利要求】
1.一種基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,包括: 板卡,所述板卡具有與主機(jī)的PCI/PCIE總線連接的PCI或PCIE接口 ; 存儲(chǔ)設(shè)備,設(shè)置于所述板卡上,所述存儲(chǔ)設(shè)備上存儲(chǔ)有數(shù)據(jù)庫(kù)信息; 數(shù)據(jù)庫(kù)接口單元,設(shè)置于所述板卡上,用于管理所述板卡中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,所述存儲(chǔ)設(shè)備包括SD存儲(chǔ)器和SATA存儲(chǔ)器,所述SD存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù)庫(kù)版本信息、權(quán)限信息和數(shù)據(jù)庫(kù)結(jié)構(gòu)信息;所述SATA存儲(chǔ)器用于存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件。
3.根據(jù)權(quán)利要求2所述的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)接口單兀包括: 板卡信息模塊,保存有所述板卡的設(shè)備號(hào)、ID號(hào)和使用模式,用于對(duì)板卡進(jìn)行身份識(shí)別; 數(shù)據(jù)庫(kù)程序包模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼; 數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊,用于保存數(shù)據(jù)庫(kù)信息; 數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)中的真實(shí)數(shù)據(jù),所述真實(shí)數(shù)據(jù)包括數(shù)據(jù)文件映射關(guān)系; 其中,所述數(shù)據(jù)庫(kù)信息存儲(chǔ)模塊和數(shù)據(jù)庫(kù)真實(shí)數(shù)據(jù)存儲(chǔ)模塊位于所述SATA存儲(chǔ)器中。
4.根據(jù)權(quán)利要求3所述的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,所述板卡上還設(shè)置有網(wǎng)絡(luò)模塊,用于獨(dú)立設(shè)置板卡的IP地址,使板卡數(shù)據(jù)庫(kù)對(duì)外提供服務(wù)、以及數(shù)據(jù)通信傳輸。
5.根據(jù)權(quán)利要求4所述的基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,所述網(wǎng)絡(luò)模塊為RJ45網(wǎng)口。
6.一種用于權(quán)利要求4所述數(shù)據(jù)庫(kù)系統(tǒng)的主機(jī),包括主板、CPU、內(nèi)存、存儲(chǔ)器,所述主板上設(shè)有PCI或PCTE插槽,所述主機(jī)運(yùn)行有操作系統(tǒng),其特征在于,所述操作系統(tǒng)中具有板卡驅(qū)動(dòng)單元,所述板卡驅(qū)動(dòng)單元包括: 存儲(chǔ)設(shè)備驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的所述存儲(chǔ)設(shè)備; 數(shù)據(jù)庫(kù)載入及初始化模塊,用于通過(guò)所述板卡上的數(shù)據(jù)庫(kù)程序包模塊讀取數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中; 數(shù)據(jù)庫(kù)卸載模塊,用于停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù); 數(shù)據(jù)庫(kù)讀寫模塊,用于讀寫所述板卡上存儲(chǔ)的數(shù)據(jù)庫(kù)數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的主機(jī),其特征在于,所述操作系統(tǒng)中還具有數(shù)據(jù)庫(kù)服務(wù)單元,所述數(shù)據(jù)庫(kù)服務(wù)單元包括: 板卡設(shè)置模塊,用于對(duì)板卡的使用模式進(jìn)行設(shè)置; 數(shù)據(jù)庫(kù)內(nèi)核,用于提供數(shù)據(jù)庫(kù)的功能; 數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊,用于對(duì)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境進(jìn)行監(jiān)測(cè),當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能; 其中,所述數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)庫(kù)安全監(jiān)測(cè)模塊是由數(shù)據(jù)庫(kù)載入及初始化模塊載入到所述計(jì)算機(jī)計(jì)機(jī)的內(nèi)存中的。
8.根據(jù)權(quán)利要求7所述的主機(jī),其特征在于,所述板卡驅(qū)動(dòng)單元還包括網(wǎng)絡(luò)驅(qū)動(dòng)模塊,用于驅(qū)動(dòng)所述板卡上的網(wǎng)絡(luò)模塊。
9.一種基于PCI或PCIE板卡的數(shù)據(jù)庫(kù)系統(tǒng)的使用方法,其特征在于,包括: 將板卡插入主機(jī)上的PCI或PCIE卡槽; 啟動(dòng)主機(jī),加載操作系統(tǒng); 操作系統(tǒng)加載存儲(chǔ)設(shè)備驅(qū)動(dòng),建立與所述板卡上的驅(qū)動(dòng)設(shè)備的連接; 數(shù)據(jù)庫(kù)載入及初始化模塊,讀取板卡上的數(shù)據(jù)庫(kù)程序包模塊中的數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的核心代碼和二進(jìn)制代碼,載入到主機(jī)內(nèi)存中,在內(nèi)存中形成數(shù)據(jù)庫(kù)內(nèi)核和數(shù)據(jù)安全監(jiān)測(cè)模塊; 數(shù)據(jù)庫(kù)內(nèi)核通過(guò)數(shù)據(jù)庫(kù)讀寫模塊執(zhí)行數(shù)據(jù)庫(kù)操作; 數(shù)據(jù)庫(kù)制裁模塊停止數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)。
10.根據(jù)權(quán)利要求9所述的使用方法,其特征在于,在數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)運(yùn)行過(guò)程中,所述數(shù)據(jù)安全監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境,當(dāng)數(shù)據(jù)庫(kù)的運(yùn)行環(huán)境發(fā)生異常時(shí),停止所述數(shù)據(jù)庫(kù)內(nèi)核提供的數(shù)據(jù)庫(kù)功能。
【文檔編號(hào)】G06F17/30GK104166686SQ201410361794
【公開日】2014年11月26日 申請(qǐng)日期:2014年7月28日 優(yōu)先權(quán)日:2014年7月28日
【發(fā)明者】尹天錦, 劉勇, 韓亞榮, 張寶民, 莫增文 申請(qǐng)人:北京中科啟信軟件技術(shù)有限公司