基于pci或pcie板卡的数据库系统、主机及使用方法

文档序号:6621463阅读:827来源:国知局
基于pci或pcie板卡的数据库系统、主机及使用方法
【专利摘要】本发明公开了一种基于PCI或PCIE板卡的数据库系统、主机及使用方法。该数据库系统,包括:板卡,所述板卡具有与主机的PCI/PCIE总线连接的PCI或PCIE接口;存储设备,设置于所述板卡上,所述存储设备上存储有数据库信息;数据库接口单元,设置于所述板卡上,用于管理所述板卡中的数据。本发明的基于PCI或PCIE板卡的数据库系统,以数据库产品为核心,通过一系列的移植、修改、优化等工作,将硬件与软件结合,在不损失原有数据库产品功能的前提下,极大的提高了产品的安全性、健壮性、使用的灵活性与方便性,并具备良好的扩展性,提升了系统性能。
【专利说明】 基于PCI或PCIE板卡的数据库系统、主机及使用方法

【技术领域】
[0001]本发明涉及一种数据库系统,具体地说,是一处基于PCI (Peripheral ComponentInterconnect,周边元件扩展接口)或PCIE (PCI Express)板卡的数据库系统、主机及使用方法。

【背景技术】
[0002]数据库是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。目前主流的数据库软件有Oracle、MySQL、SQL server、DB2等,但是几乎所有的数据库都是以软件形态存在的。
[0003]传统的软件形态的数据库存在安全性低、不方便移植等缺点。尤其是对于安全性要求比较高的应用,在使用过程中,数据库内核与数据信息存储在同一设备上,容易受到病毒或远程恶意攻击的影响,而且,当设备故障或遭到意外破坏时,也会影响到数据库中数据的安全。


【发明内容】

[0004]本发明要解决的技术问题是提供一种安全性好,方便移植的基于PCI或PCIE板卡的数据库系统、主机及使用方法。
[0005]为了解决上述技术问题,本发明提供了一种基于PCI或PCIE板卡的数据库系统,包括:
板卡,所述板卡具有与主机的PCI/PCIE总线连接的PCI或PCIE接口 ;
存储设备,设置于所述板卡上,所述存储设备上存储有数据库信息;
数据库接口单元,设置于所述板卡上,用于管理所述板卡中的数据。
[0006]进一步地,所述存储设备包括SD存储器和SATA存储器,所述SD存储器用于存储数据库版本信息、权限信息和数据库结构信息;所述SATA存储器用于存储数据库的数据文件。
[0007]进一步地,所述数据库接口单元包括:
板卡信息模块,保存有所述板卡的设备号、ID号和使用模式,用于对板卡进行身份识别;
数据库程序包模块,用于存储数据库系统运行的核心代码和二进制代码;
数据库信息存储模块,用于保存数据库信息;
数据库真实数据存储模块,用于存储数据库系统中的真实数据,所述真实数据包括数据文件映射关系;
其中,所述数据库信息存储模块和数据库真实数据存储模块位于所述SATA存储器中。
[0008]进一步地,所述板卡上还设置有网络模块,用于独立设置板卡的IP地址,使板卡数据库对外提供服务、以及数据通信传输。
[0009]进一步地,所述网络模块为RJ45网口。
[0010]本发明还提供了一种用于上述数据库系统的主机,包括主板、CPU、内存、存储器,所述主板上设有PCI或PCTE插槽,所述主机运行有操作系统,所述操作系统中具有板卡驱动单元,所述板卡驱动单元包括:
存储设备驱动模块,用于驱动所述板卡上的所述存储设备;
数据库载入及初始化模块,用于通过所述板卡上的数据库程序包模块读取数据库系统运行的核心代码和二进制代码,载入到主机内存中;
数据库卸载模块,用于停止数据库系统服务;
数据库读写模块,用于读写所述板卡上存储的数据库数据。
[0011]进一步地,所述操作系统中还具有数据库服务单元,所述数据库服务单元包括: 板卡设置模块,用于对板卡的使用模式进行设置;
数据库内核,用于提供数据库的功能;
数据库安全监测模块,用于对数据库的运行环境进行监测,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能;
其中,所述数据库内核和数据库安全监测模块是由数据库载入及初始化模块载入到所述计算机计机的内存中的。
[0012]进一步地,所述板卡驱动单元还包括网络驱动模块,用于驱动所述板卡上的网络模块。
[0013]本发明还提供了一种基于PCI或PCIE板卡的数据库系统的使用方法,包括: 将板卡插入主机上的PCI或PCIE卡槽;
启动主机,加载操作系统;
操作系统加载存储设备驱动,建立与所述板卡上的驱动设备的连接;
数据库载入及初始化模块,读取板卡上的数据库程序包模块中的数据库系统运行的核心代码和二进制代码,载入到主机内存中,在内存中形成数据库内核和数据安全监测模块;
数据库内核通过数据库读写模块执行数据库操作;
数据库制裁模块停止数据库系统服务。
[0014]进一步地,在数据库系统服务运行过程中,所述数据安全监测模块实时监测数据库的运行环境,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能。
[0015]本发明的基于PCI或PCIE板卡的数据库系统,以数据库产品为核心,通过一系列的移植、修改、优化等工作,将硬件与软件结合,在不损失原有数据库产品功能的前提下,极大的提高了产品的安全性、健壮性、使用的灵活性与方便性,并具备良好的扩展性,提升了系统性能。

【专利附图】

【附图说明】
[0016]图1是本发明的基于PCI或PCIE板卡的数据库系统及主机的系统结构原理图。
[0017]图2是本发明的基于PCI或PCIE板卡的数据库系统的使用方法流程图。

【具体实施方式】
[0018]下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0019]PCIE (PCI Express)总线作为计算机和通讯平台的一种高性能、通用1\0互连总线,采用了目前业内流行的点对点串行连接,具有总线结构简单、成本低、设计简单等优点,同时PCIE在软件层面上兼容PCI技术和设备,支持PCI设备和内存模组的初始化。PCIE/PCI接口模式,通常用于显卡网卡等主板类接口卡,几乎所有的主板产品上都带有这种PCI插槽,是目前个人电脑中使用最为广泛的接口之一。
[0020]本发明针对目前纯软件数据库产品存在的问题,提出将硬件“PCI/PCIE接口的板卡”技术与软件数据库技术相结合,设计实现了基于PCI/PCIE板卡的数据库系统,本发明以硬件为载体,软件为核心,实现软硬件结合的一体化,二者共同完成并对外提供数据库系统服务功能。
[0021]具体地,如图1所示,本发明的基于PCI或PCIE板卡的数据库系统,包括:
板卡,所述板卡具有与主机的PCI/PCIE总线连接的PCI或PCIE接口 ;
存储设备,设置于所述板卡上,所述存储设备上存储有数据库信息;
数据库接口单元,设置于所述板卡上,用于管理所述板卡中的数据。
[0022]其中,所述存储设备包括SD存储器和SATA存储器,所述SD存储器作为基本信息存储(容量较小),如数据库版本信息、权限信息和数据库结构信息等;所述SATA存储器作为数据信息存储(容量较大),如数据库的数据文件等。本发明将数据库数据与主机在物理层面进行隔离,所有数据均保存在板卡上,保证了数据的安全性,基本信息与数据信息分别存储,也进一步保证了数据的安全性,如敏感信息的单独加密等。
[0023]板卡是本发明的硬件载体,为一具备PCI/PCIE接口标准的板卡,PCI/PCIE总线用于主机与板卡的数据通信。
[0024]而所述数据库接口单元包括:
板卡信息模块,保存有所述板卡的设备号、ID号和使用模式,用于对板卡进行身份识别;
数据库程序包模块,用于存储数据库系统运行的核心代码和二进制代码;
数据库信息存储模块,用于保存数据库信息,其中,对于关系数据库来说,所述数据库信息包括数据库名、表名和字段名等;对于实时数据库来说,包括源设备站名、源结点组名、源结点名、标签点名等;
数据库真实数据存储模块,用于存储数据库系统中的真实数据,所述真实数据包括数据文件映射关系;
其中,所述数据库信息存储模块和数据库真实数据存储模块位于所述SATA存储器中。
[0025]作为本发明的进一步改进,所述板卡上还设置有网络模块,用于独立设置板卡的IP地址,使板卡数据库对外提供服务、以及数据通信传输。网络模块优选为RJ45网口。当然,网络模块也可以采用无线网络模块。本发明通过网络模块可以独立设置板卡的IP地址,便于板卡数据库对外提供服务、以及数据通信传输等。另外,在硬件板卡中集成网络模块,有以下几个优点:(1)与通常数据库的访问方式保持一致(通常的数据库系统均以“网络IP+端口”的形式对外提供服务,即利用主机的网络地址和端口进行通信),不影响数据库的通信架构与用户的使用体验。(2)节省主机网口,在主机本身不具备网口或无多余网口的情况下也可使用。(3)保证在同一主机内安装多块板卡的情况下,每个板卡数据库系统均可以正常使用。
[0026]本发明的数据库系统的正常使用离不开主机,主机可以为PC机、工控机、服务器等。为了使用上述基于PCI或PCIE板卡的数据库系统,本发明的主机包括主板、CPU、内存、存储器等,所述主板上设有PCI或PCTE插槽,所述主机运行有操作系统,所述操作系统中具有板卡驱动单元,所述板卡驱动单元包括:
存储设备驱动模块,用于驱动所述板卡上的所述存储设备;
数据库载入及初始化模块,用于通过所述板卡上的数据库程序包模块读取数据库系统运行的核心代码和二进制代码,载入到主机内存中;
数据库卸载模块,用于停止数据库系统服务,卸载模块成功执行后,主机中数据库服务将被清除;
数据库读写模块,用于读写所述板卡上存储的数据库数据,该数据库数据即上述数据库信息存储模块和数据库真实数据存储模块中存储的数据。与普通数据库不同,本发明中的所有数据文件均保存在板卡中,为保证安全性,不能使用常用的读写操作进行访问,数据文件也不能直接暴露给用户,必须通过数据库读写模块进行访问。本发明将数据库载入及初始化模块、数据库卸载模块、数据库读写模块置于驱动层次,更贴近操作系统底层,可在一定程度上避免病毒及恶意操作的影响,提升数据库系统的安全与可靠性。
[0027]另外,所述操作系统中还具有数据库服务单元,数据库服务单元以进程方式常驻于主机的内存之中,因此依赖于主机,需要CPU进行数据运算、逻辑处理、资源调度等。所述数据库服务单元包括:
板卡设置模块,用于对板卡的使用模式进行设置,根据不同的使用模式,对数据库系统的使用有不同的影响;
数据库内核,用于提供数据库的功能,其中,对于关系数据库,包括数据库的创建、记录的增加、修改、查询和删除等功能;对于实时数据库,包括数据库的创建、标签点的管理、实时数据订阅、历史数据查询等功能;
数据库安全监测模块,用于对数据库的运行环境进行监测,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能;
其中,所述数据库内核和数据库安全监测模块是由数据库载入及初始化模块载入到所述计算机计机的内存中的。在数据库内核和数据库安全监测模块载入完成后,主机即刻启动数据库及安全监测服务。数据库载入及初始化模块、数据库卸载模块、数据库读写模块为数据库软件所需部分,是从通常的数据库软件系统中分离出来的,与数据库服务单元共同构建成完整的数据库软件系统。
[0028]其中,所述板卡驱动单元还包括网络驱动模块,用于驱动所述板卡上的网络模块。
[0029]如图2所示,本发明的基于PCI或PCIE板卡的数据库系统的使用方法包括: 将板卡插入主机上的PCI或PCIE卡槽;
启动主机,加载操作系统;
操作系统加载存储设备驱动,建立与所述板卡上的驱动设备的连接;
数据库载入及初始化模块,读取板卡上的数据库程序包模块中的数据库系统运行的核心代码和二进制代码,载入到主机内存中,在内存中形成数据库内核和数据安全监测模块; 数据库内核通过数据库读写模块执行数据库操作;
数据库制裁模块停止数据库系统服务。
[0030]其中,在数据库系统服务运行过程中,所述数据安全监测模块实时监测数据库的运行环境,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能。
[0031]本发明中的基于PCI或PCIE板卡的数据库系统可以为用户提供两种不同的使用模式:一种称为独立服务模式,另一种称为扩展服务模式。独立服务模式表不此板卡作为一个独立的数据库系统提供服务;扩展服务模式表示此板卡不单独提供数据库服务,而是作为其它独立服务模式板卡的扩展,如存储容量、处理规模的扩展。用户可以利用安装在主机上的板卡设置模块进行板卡模式的设置,此方式保证了整个系统的灵活性与高扩展性。比如随着用户使用规模的不断扩大,原有数据库(存储容量)已不能满足使用需要,常用的数据库一般采取更换更大磁盘的方式解决,需要对原有数据进行导出备份、重新导入等操作,费时效率低,而采用本发明则只需再安装一块板卡,即可实现系统的扩展,简单高效。
[0032]独立服务模式又分为单卡模式和多卡模式。
[0033](I)单卡模式:一个主机内只安装一块板卡,板卡设置为独立服务模式,即一块板卡作为一个数据库系统为用户提供服务。
[0034](2)多卡模式:一个主机内安装多块板卡,各板卡均设置为独立服务模式,即每个板卡均提供独立的数据库系统服务,此时,每个板卡通过RJ45设置独立的IP地址及端口号,不同的数据库系统通过IP地址进行区分。
[0035]扩展服务模式:即一个主机内安装多块板卡,其中一块板卡设置为独立服务模式,其余设置为扩展服务模式。对外只提供一个数据库系统服务,但数据库容量、系统规模为各个板卡的总和。
[0036]在安装多块板卡的情况下,由于网络驱动模块及存储驱动模块可识别、记忆各自对应的板卡特征,结合板卡信息模块,即可区分出真正要访问的是哪块板卡,保证了数据操作的正确性。
[0037]本发明中,板卡作为该数据库系统的硬件部分,接口符合PCI/PCIE标准,板卡的正常使用需要驱动程序的支持,因此,将RJ45网口驱动、存储驱动、数据库载入及初始化模块、数据库卸载模块、数据读写模块集成到板卡的驱动层。通过RJ45网口驱动的安装,保证了客户端可以通过板卡网口与板卡进行通信;通过成功安装存储驱动,保证了板卡上的SATA存储的正常使用;数据库载入及初始化模块,通过执行板卡中的数据库程序包,会在主机上生成板卡数据库服务,包括数据库内核及安全监测模块。数据库内核负责根据用户的指令对数据库进行必要的操作,安全监测模块负责监视对板卡数据库的一切操作。数据库载入及初始化模块执行成功后,板卡数据库服务及安全监测服务同时被启动。板卡数据库服务启动起来后,用户可以在主机的数据库服务里设置板卡的使用模式,使用模式设置成功后,至此,板卡数据库系统就可以正常使用了。
[0038]板卡的使用模式可以根据用户的使用需要再次进行模式的更改,更改成功后,会按照新的使用模式提供相应的服务。
[0039]数据库安全监测模块,一个作用是监测板卡是否被移除。如果板卡移除,通知用于人机交互的客户端,板卡已经移除,由于数据库服务及数据库文件分别存储在不同的物理介质上(一个在主机上,一个在板卡上),此时,板卡数据库系统失效。当板卡再次插入主机,安全监测模块通知客户端,并重新启动数据库内核,此时,板卡数据库系统可以再次发挥作用。当然,由于数据库信息及数据库文件信息都存储在板卡上,不会因为移除板卡导致数据的丢失,而且板卡在任意主机上安装驱动即可使用,因此,当板卡从一个主机移除后,如果插入其他的主机上,通过重新安装驱动,板卡数据库及数据库中的数据就可以正常使用了。
[0040]数据库安全监测模块的另一作用是监测对板卡数据库的操作是否是正常及安全,如监测到非法篡改板卡信息、非法对数据库进行访问操作等时,则拒绝数据库访问或立即停止数据库内核的进程,直到系统环境恢复安全。
[0041]板卡可以配置成独立使用模式,也可以配置成扩展服务模式,在使用中,如果一块板卡的容量不足以支撑应用的需要,可以在本机上再插入一块板卡,驱动安装成功后,设置板卡的使用模式为扩展服务模式,此时,该扩展服务模式卡(简称副卡)与独立使用模式卡(简称主卡)共用主卡的数据库内核及服务,对外提供一套数据库服务进程。
[0042]为了更好的理解本发明,下面介绍板卡数据库系统中数据的读写流程及方法。
[0043]第一步,在客户端进行板卡数据库的连接操作;
第二步,连接成功后,在客户端输入数据的读写指令;
第三步,数据读写指令下达给数据库管理系统中的数据库内核,数据库内核对指令进行解析,进行任务的调度等操作;
第四步,调度后的任务被下发给数据库读写模块,数据库读写模块负责从板卡的存储介质中进行数据的读写。
[0044]本发明是以数据库产品为核心,通过一系列的移植、修改、优化等工作,在不损失原有数据库产品功能的前提下,极大的提高了产品的安全性、健壮性、使用的灵活性与方便性,提升了系统性能,与原有的纯数据库软件相比,本发明主要有以下特点:
(O系统健壮性强:板卡数据库系统将数据库服务安装成功后以服务的方式常驻主机的内存中,将数据的读写模块独立出来,放在系统驱动层,更贴近操作系统的核心,不会被普通的恶意进程或人为误操作所破坏干扰,在一定程度上可避免病毒或远程恶意攻击的影响,保证了数据库系统的健壮性。
[0045](2)数据安全性高:板卡与主机通过PCIE总线进行通信,通过底层驱动进行数据的读写,所有的数据信息均被有效的屏蔽保护起来,而不是直接暴露在用户的使用之下,对用户的使用来说是透明的,因此避免了普通的读写操作对数据造成破坏。同时板卡自带独立的存储装置及保护设计,与主机的存储介质在物理层面隔离开来,主机存储设备的故障或遭到意外破坏时,不会影响到数据库中数据的安全。
[0046](3)使用方便:数据库的配置信息、数据信息均保存在板卡中,只需安装驱动即可实现板卡在不同主机上的任意使用,在数据库迁移时避免了纯软件产品通常所需的导入导出等操作,省时省力效率极高,方便了数据库服务与数据的整体迁移与快速部署。
[0047](4)使用灵活:在同一主机内可安装一块或多块板卡,多块板卡可分别独立工作,即每块板卡均作为一个独立的数据库服务;也可协同工作,即多块板卡实现一个数据库服务。也可根据用户的需要,自行初始化板卡将其设置成新的工作模式。
[0048](5)扩展性强:当用户的系统规模不断扩大时,原有的存储容量、标签点数可能无法继续满足使用的需要,通常情况下可能需要通过更换更大的存储介质并导入原有的数据来解决,板卡数据库则无需对旧有的板卡进行更换,只需通过追加板卡的方式即可实现存储容量、标签点数的扩充。
[0049](6)接口标准:板卡数据库采用标准PCIE接口及驱动,可安装使用在常用的服务器、工控机甚至普通PC机上而无其它特殊要求,具有良好的通用性,用户可根据需要自行选择合适的标准主机,对用户已有的硬件产品或系统不产生影响或影响较小。
[0050]以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本【技术领域】的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
【权利要求】
1.一种基于PCI或PCIE板卡的数据库系统,其特征在于,包括: 板卡,所述板卡具有与主机的PCI/PCIE总线连接的PCI或PCIE接口 ; 存储设备,设置于所述板卡上,所述存储设备上存储有数据库信息; 数据库接口单元,设置于所述板卡上,用于管理所述板卡中的数据。
2.根据权利要求1所述的基于PCI或PCIE板卡的数据库系统,其特征在于,所述存储设备包括SD存储器和SATA存储器,所述SD存储器用于存储数据库版本信息、权限信息和数据库结构信息;所述SATA存储器用于存储数据库的数据文件。
3.根据权利要求2所述的基于PCI或PCIE板卡的数据库系统,其特征在于,所述数据库接口单兀包括: 板卡信息模块,保存有所述板卡的设备号、ID号和使用模式,用于对板卡进行身份识别; 数据库程序包模块,用于存储数据库系统运行的核心代码和二进制代码; 数据库信息存储模块,用于保存数据库信息; 数据库真实数据存储模块,用于存储数据库系统中的真实数据,所述真实数据包括数据文件映射关系; 其中,所述数据库信息存储模块和数据库真实数据存储模块位于所述SATA存储器中。
4.根据权利要求3所述的基于PCI或PCIE板卡的数据库系统,其特征在于,所述板卡上还设置有网络模块,用于独立设置板卡的IP地址,使板卡数据库对外提供服务、以及数据通信传输。
5.根据权利要求4所述的基于PCI或PCIE板卡的数据库系统,其特征在于,所述网络模块为RJ45网口。
6.一种用于权利要求4所述数据库系统的主机,包括主板、CPU、内存、存储器,所述主板上设有PCI或PCTE插槽,所述主机运行有操作系统,其特征在于,所述操作系统中具有板卡驱动单元,所述板卡驱动单元包括: 存储设备驱动模块,用于驱动所述板卡上的所述存储设备; 数据库载入及初始化模块,用于通过所述板卡上的数据库程序包模块读取数据库系统运行的核心代码和二进制代码,载入到主机内存中; 数据库卸载模块,用于停止数据库系统服务; 数据库读写模块,用于读写所述板卡上存储的数据库数据。
7.根据权利要求6所述的主机,其特征在于,所述操作系统中还具有数据库服务单元,所述数据库服务单元包括: 板卡设置模块,用于对板卡的使用模式进行设置; 数据库内核,用于提供数据库的功能; 数据库安全监测模块,用于对数据库的运行环境进行监测,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能; 其中,所述数据库内核和数据库安全监测模块是由数据库载入及初始化模块载入到所述计算机计机的内存中的。
8.根据权利要求7所述的主机,其特征在于,所述板卡驱动单元还包括网络驱动模块,用于驱动所述板卡上的网络模块。
9.一种基于PCI或PCIE板卡的数据库系统的使用方法,其特征在于,包括: 将板卡插入主机上的PCI或PCIE卡槽; 启动主机,加载操作系统; 操作系统加载存储设备驱动,建立与所述板卡上的驱动设备的连接; 数据库载入及初始化模块,读取板卡上的数据库程序包模块中的数据库系统运行的核心代码和二进制代码,载入到主机内存中,在内存中形成数据库内核和数据安全监测模块; 数据库内核通过数据库读写模块执行数据库操作; 数据库制裁模块停止数据库系统服务。
10.根据权利要求9所述的使用方法,其特征在于,在数据库系统服务运行过程中,所述数据安全监测模块实时监测数据库的运行环境,当数据库的运行环境发生异常时,停止所述数据库内核提供的数据库功能。
【文档编号】G06F17/30GK104166686SQ201410361794
【公开日】2014年11月26日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】尹天锦, 刘勇, 韩亚荣, 张宝民, 莫增文 申请人:北京中科启信软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1