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