对存储在主计算机并与之有关的数据库进行管理的装置,所述数据库具有多个记录,每个记录由一记录地址值和至少一个逻辑关键字值标识,主计算机具有一中央处理器,该装置包括: 一个关健字存储器,用于存储所述数据库记录的关键字值到所述记录的记录地址值的映象; 一个搜索处理器,用于响应来自中央处理器的请求对于一给定的关键字值,搜索所述关键字存储器,并向中央处理器提供相关的记录的地址值; 一个总线接口,用于将所述搜索处理器和所述关键字存储器连接到中央处理器;和 数据库管理软件,它在所述中央处理器上执行,所述软件配置成通过向所述搜索处理器发送请求而请求从所述给定关键字值到所述记录地址值的映象,所述请求通过所述总线接口传送。(*该技术在2014年保护过期,可自由使用*)
【技术实现步骤摘要】
技术介绍
本专利技术与加速计算机数据库的事务处理的装置和方法有关。计算机数据库是数据记录的一个集合,每一数据记录具有一个或多个逻辑关键字,这些逻辑关键字起到记录的“名字”的作用。一般来讲,当一个应用程序请求访问数据库中的一个记录时,它就向一数据库管理程序提供一逻辑关键字值,接着,数据库管理程序从保存在磁盘或存储器的索引中获得信息,以将该逻辑关键字值映射到一记录的地址值。这一记录地址值指定与该逻辑关键字值有关的数据记录在磁盘上的位置。因此,数据库索引的作用与一本书的索引非常相似读者提供一逻辑关键字值(感兴趣的主题),接着由索引提供要寻找的信息的一记录地址值(页号)。一数据库可以具有多个关键字。一般来讲,选择某一关键字作为“主关键字”,它提供对该记录的明确的和迅速的访问,而“从关键字”提供对一记录的较慢的或较不明确的访问。比如,一个雇员数据库可以使用雇员的编号作为它的主关键字,而将雇员的名字和部门编号作为从关键字。关键字索引作为数据库的固定部分驻留在磁盘上。它可以与数据记录本身存储在同一个文件中(就象与一本书粘连在一起的目录一样),也可以驻留在单独的文件中(就象一本多卷百科全书的索引/总览卷)。已知的数据库管理系统分成两个逻辑层称为数据库管理程序的高层--它提供用户接口(比如数据库查询语言),和称为数据库引擎(database engine)的底层--它维护数据库的结构,即逻辑关键字值和存储在数据库文件中的物理数据之间的关系。专利技术概述第一,本专利技术提供了管理计算机数据库的硬件加速设备。该加速设备包括存储一映象(该映象将记录的关键字值与记录的地址值相关连)的一关键字存储器;一搜索处理器(对于一给定的关键字值,用它搜索关键字存储器,并将相关的记录关键字值提供给中央处理器);一总线接口(用于将搜索处理器和关键字存储器连接到中央处理器);和一数据库管理软件(它在中央处理器上执行,通过在总线接口上向搜索处理器发送请求而要求从关键字值到记录地址值的映象)。本专利技术的较佳实施例可以包括下列特征。关键字存储器可以存储从一个关键字到多个记录地址的映象,比如对于非唯一的从关键字。搜索处理器可以包括使用二分搜索结构搜索关键字存储器的结构,该结构能提供关键字存储器中与一给定的关键字值相匹配的第一项。数据库管理软件具有一结构,在将一关键字值提供给搜索处理器以映象到一记录地址之前,它执行从一逻辑关键字值到一编码的关键字值的映象。中央处理器包括分配关键字存储器的结构。存储在主计算机的磁盘存储器中的索引文件可以存储关键字存储器内容的映象。可以有一个存储器端口,通过它中央处理器可以读和写关键字存储器。搜索处理器可以向中央处理器提供对应于给定关键字值的关键字存储器的一个项的索引,然后数据库管理软件从对应于该索引的关键字存储器中读出各项。数据库加速设备可以包括向/自关键字存储器中增加和/或删除项的结构。第二,本专利技术具有一种改进的二分搜索,该方法在所搜索的项的值不唯一的情况下对搜索存储器特别有用。改进的二分搜索在存储器中找到第一个匹配给定值的项。如同在一个通常的二分搜索中,各项以排序了的顺序存储在存储器中。产生一试探地址,即开始和末尾地址的平均值,并且试探对应的项。根据试探的项与给定值的比较结果,将开始或末尾地址设为试探地址。该改进利用了由试探项与给定值的比较所产生的进位(CARRY),以改变在搜索的下一次重复中计算的试探地址。在找到给定的值时,该搜索并不终止,而是继续进行,直到其开始和末尾地址收敛在匹配给定值的第一项上。本专利技术的优点如下,使用数据库加速设备的数据库管理程序比没有加速设备的要快得多,这是因为不需要访问索引信息的磁盘备份就能完成逻辑关键字值到记录地址值的映射。对于数据库软件销售商,本专利技术提供了防止复制的特点没有数据库加速设备板数据库管理软件的非法拷贝是没有用的。以前的软件数据库引擎不得不在搜索的快速访问与对记录的增加或删除的慢速访问(一般是分层组织),以及对记录的增加或删除的快速访问与慢速搜索(一般是关系数据库)之间作一折衷。相反,本专利技术以比任一软件数据库引擎高得多的速度进行搜索和更新功能,而且设计上更为简单。从下面一较佳实施例的描述以及附图中可更清楚地了解本专利技术的其它优点和特点,其中附图的简要描述附图说明图1是具有数据库加速设备的计算机的框图。图2显示了一数据库的磁盘记录和具有一关键字存储器的一数据库加速设备。图3是数据库加速设备的框图。图4是数据库加速设备的操作流程图。较佳实施例的描述参见图1,个人计算机100具有一中央处理单元(CPU)102、一随机访问存储器(RAM)104和一磁盘或其它大容量存储单元106,所有这些单元通过一系统总线108进行通讯。磁盘106保存数据文件110和索引文件112,这些文件构成一数据库,CPU102运行存储在RAM104中的数据库管理软件114和应用软件116。数据库加速设备120也通过总线108通讯,该加速设备120具有一控制逻辑122和一关键字存储器124。在下述的启动阶段,将逻辑关键字值映射到记录地址值的索引信息被从索引文件112装入关键字存储器124以用于快速访问。在通常操作中,应用软件116向数据库管理软件114请求某一操作。如果该请求是SEARCH(搜索)、ADDITION(增加)或DELETION(删除)之一,数据库管理软件114就接着在系统总线108上通过一总线接口130将该请求传送到数据库加速设备120,而跳过访问数据库索引文件的步骤。考虑一SEARCH操作,作为由数据库加速设备120执行的典型操作(下面将结合图4,进一步详细讨论SEARCH,ADDITION和DELETION),数据库管理软件114将一逻辑关键字值和搜索该逻辑关键字的命令(SEARCH)提供给数据库加速设备120。在数据库加速设备120中,控制逻辑122(它可以是一状态机)将该请求的操作引导到该加速设备的关键字存储器124中。如果在关键字存储器124中找到该逻辑值,控制逻辑122将与该逻辑关键字值有关的一记录地址值提供给数据库管理程序114,接着,数据库管理程序即可以此访问数据库文件110中的适当的数据库记录。参见图2,数据库加速设备的关键字存储器124被组织成好象有两列,左边一列202用于编码的逻辑关键字值,右边一列用于相关的记录地址值。在图2中,示意带有索引112的数据库110具有5个数据记录,每一个都具有主和从关键字。在启动阶段,按照关键字值的排序顺序,将这些主和从编码逻辑关键字以及与其相关的记录地址装进关键字存储器124中。在通常操作中,控制逻辑122指引在左列202中对一编码的逻辑关键字值211-215或221-225的搜索。当找到该码的逻辑关键字值时,在右列的对应项就是记录251-255的记录地址值231-235或241-245。因此,关键字存储器124对于索引文件112中的信息起到一高速缓存的作用。参见图3,数据库加速设备120具有一总线接口130,其设计方案主要由主计算机的总线协议决定,比如现在在各种个人计算机上常见的AT、ISA、EISA、Microchannel(微通道)或MacIntosh总线结构。图3的逻辑可以用任一常见的技术实现,比如定制VLSI、门阵列、现场可编程门阵列、可本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:LM惠,
申请(专利权)人:帕拉科姆有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。