B+树操作装置及其方法制造方法及图纸

技术编号:25396461 阅读:12 留言:0更新日期:2020-08-25 23:01
本申请涉及信息处理技术,特别地,涉及B+树的操作装置及其方法,其中,B+树操作装置,包括:节点加载单元、节点搜索单元和通过多个端口耦合至节点搜索单元的节点存储器;其中,节点加载单元根据节点索引获取节点的一个或多个关键字的地址字;节点存储器根据节点加载单元指示的地址将一个或多个关键字作为比较关键字提供给节点搜索单元;节点搜索单元将比较关键字与搜索关键字进行比较,并输出搜索结果。本申请用硬件电路来实现B+树操作,发挥了硬件电路特点的操作B+树,更快的实现了B+树操作。

【技术实现步骤摘要】
B+树操作装置及其方法
本申请涉及信息处理技术,特别地,涉及利用集成电路硬件提供B+树操作装置以及使用该装置操作B+树的方法。
技术介绍
B+树是一种数据结构,在文件系统、数据库等常使用B+树存储索引。图1展示了B+树。B+树包括一个根节点、多个中间节点以及多个叶节点。节点120是根节点。节点130、节点132与节点134是中间节点,中间节点是既非根节点也非叶节点的节点。节点(140、142、144……150、152、154)是叶节点。B+树的中间节点包括不超过m个元素,将m称为B+树的阶。B+树的根节点与中间节点的每个元素,记录了关键字(Key)与指向下级节点的指针。例如,节点130包括3个元素,第一个元素的关键字为5,其指针指向节点140,第二个元素的关键字为10,其指针指向节点142,第三个元素的关键字为20,其指针指向节点144。节点的各个元素按关键字排序。在一些实施方式中,根节点与中间节点的每个元素记录了指向下级节点的指针,但并非每个元素都包括关键字,而是根节点与中间节点包括的关键字数量比其包括的元素少一个。例如,在节点120中,可以不包括关键字“K:5”,以及在搜索节点120时,对于小于关键字“K:28”的关键字,在搜索结果中指示下级节点130,而对于不小于关键字“K:28”且小于关键字“K:65”的关键字,在搜索结果中指示下级节点134。B+树的叶节点包括不超过m个元素。叶节点的每个元素记录了关键字(Key)与同关键字对应的值(Value)。叶节点的各个元素按关键字排序。从而B+树的所有关键字都在叶节点中有记录,并且只有从叶节点中才能获得同关键字对应的值。现有技术中,由软件在内存中构建并操作B+树,采用例如二分法在B+树中查找关键字。二分法是软件所能获得的性能几乎最好的查找算法,但在大数据时代,数据项数量的增长,使得软件操作B+树的查找算法的性能以不能满足要求。
技术实现思路
需要更快的实现B+树操作。需要用硬件电路来实现B+树操作。需要能发挥硬件电路特点的操作B+树的方法。根据本申请的第一方面,提供了根据本申请第一方面的第一B+树操作装置,包括:节点加载单元、节点搜索单元和通过多个端口耦合至节点搜索单元的节点存储器;其中,节点加载单元根据节点索引获取节点的一个或多个关键字的地址;节点存储器根据节点加载单元指示的地址将一个或多个关键字作为比较关键字提供给节点搜索单元;节点搜索单元将比较关键字与搜索关键字进行比较,并输出搜索结果。根据本申请的第一方面的第一B+树操作装置,提供了根据本申请第一方面的第二B+树操作装置,其中,节点搜索单元将接收的搜索关键字同节点存储器提供的每一个比较关键字进行比较。根据本申请的第一方面的第一或第二B+树操作装置,提供了根据本申请第一方面的第三B+树操作装置,其中,若提供与搜索关键字比较命中的比较关键字的节点是非叶节点,则节点搜索单元输出的搜索结果指示下级节点索引,并且节点搜索单元将下级节点索引提供给节点加载单元。根据本申请的第一方面的第一至第三B+树操作装置之一,提供了根据本申请第一方面的第四B+树操作装置,其中,若提供与搜索关键字比较命中的比较关键字的节点是叶节点,则节点搜索单元输出的搜索结果指示被命中的比较关键字的值对应的索引。根据本申请的第一方面的第一至第三B+树操作装置之一,提供了根据本申请第一方面的第五B+树操作装置,其中,若提供与搜索关键字比较命中的比较关键字的节点是叶节点,则节点搜索单元输出的搜索结果指示同搜索关键字对应的值。根据本申请的第一方面的第一至第三B+树操作装置之一,提供了根据本申请第一方面的第六B+树操作装置,其中,若提供与搜索关键字比较命中的比较关键字的节点是叶节点,则节点搜索单元输出的搜索结果指示叶节点索引,以使CPU根据所述叶节点索引从外部存储器中的叶节点获取被命中的比较关键字对应的值。根据本申请的第一方面的第三或第六B+树操作装置,提供了根据本申请第一方面的第七B+树操作装置,其中,节点存储器向节点存储单元提供被搜索关键字命中的比较关键字的端口的序号或位置指示了下级节点索引。根据本申请的第一方面的第四B+树操作装置,提供了根据本申请第一方面的第八B+树操作装置,其中,节点存储器向节点存储单元提供被搜索关键字命中的比较关键字的端口的序号或位置指示了同所述比较关键字对应的值的索引。根据本申请的第一方面的第四至第八B+树操作装置之一,提供了根据本申请第一方面的第九B+树操作装置,其中,获取同搜索关键字对应的值,并指示搜索完成。根据本申请的第一方面的第三至第九B+树操作装置之一,提供了根据本申请第一方面的第十B+树操作装置,其中,若搜索关键字同比较关键字之一相同,则节点搜索单元识别出命中与搜索关键字相同的比较关键字。根据本申请的第一方面的第三至第九B+树操作装置之一,提供了根据本申请第一方面的第十一B+树操作装置,其中,若搜索关键字排序位于相邻的第一比较关键字与第二比较关键字之间,则节点搜索单元识别出命中第一比较关键字或第二比较关键字。根据本申请的第一方面的第一或第二B+树操作装置,提供了根据本申请第一方面的第十二B+树操作装置,其中,比较关键字与搜索关键字比较,若搜索关键字排序位于多个比较关键字所形成的区间之外,节点搜索单元输出指示未命中或查找失败的信息,作为搜索结果。根据本申请的第一方面的第一至第十二B+树操作装置之一,提供了根据本申请第一方面的第十三B+树操作装置,其中,节点存储器中存储的每个节点占据相同大小的存储空间,所述存储空间能容纳B+树的阶数或B+树的阶数-1个关键字。根据本申请的第一方面的第十三B+树操作装置,提供了根据本申请第一方面的第十四B+树操作装置,其中,节点存储器容纳B+树的阶数个关键字的存储空间提供B+树的阶数个或B+树的阶数+1个节点单元,每个节点单元存储节点的一个关键字。根据本申请的第一方面的第十三B+树操作装置,提供了根据本申请第一方面的第十五B+树操作装置,其中,节点存储器容纳B+树的阶数-1个关键字的存储空间提供B+树的阶数-1个或B+树的阶数个节点单元,每个节点单元存储节点的一个关键字。根据本申请的第一方面的第十四或第十五B+树操作装置,提供了根据本申请第一方面的第十六B+树操作装置,其中,节点存储器的存储各节点的存储空间中从起始位置的节点单元开始依次存储关键字。根据本申请的第一方面的第十三至第十六B+树操作装置之一,提供了根据本申请第一方面的第十七B+树操作装置,其中,节点存储器中的各节点无需顺序排列。根据本申请的第一方面的第十至第十三B+树操作装置之一,提供了根据本申请第一方面的第十八B+树操作装置,其中,节点存储器包括一个或多个可被分配以容纳节点的空闲存储空间。根据本申请的第一方面的第一至第十八B+树操作装置之一,提供了根据本申请第一方面的第十九B+树操作装置,其中,节点存储器的端口数量等于B+树的阶数或小于B+树的阶数。...

【技术保护点】
1.一种B+树操作装置,包括:节点加载单元、节点搜索单元和通过多个端口耦合至节点搜索单元的节点存储器;其中,节点加载单元根据节点索引获取节点的一个或多个关键字的地址;节点存储器根据节点加载单元指示的地址将一个或多个关键字作为比较关键字提供给节点搜索单元;节点搜索单元将比较关键字与搜索关键字进行比较,并输出搜索结果。/n

【技术特征摘要】
1.一种B+树操作装置,包括:节点加载单元、节点搜索单元和通过多个端口耦合至节点搜索单元的节点存储器;其中,节点加载单元根据节点索引获取节点的一个或多个关键字的地址;节点存储器根据节点加载单元指示的地址将一个或多个关键字作为比较关键字提供给节点搜索单元;节点搜索单元将比较关键字与搜索关键字进行比较,并输出搜索结果。


2.根据权利要求1所述的B+树操作装置,其中,节点搜索单元将接收的搜索关键字同节点存储器提供的每一个比较关键字进行比较。


3.根据权利要求1或2所述的B+树操作装置,其中,若提供与搜索关键字比较命中的比较关键字的节点是非叶节点,则节点搜索单元输出的搜索结果指示下级节点索引,并且节点搜索单元将下级节点索引提供给节点加载单元。


4.根据权利要求1或2所述的B+树操作装置,其中,节点存储器中存储的每个节点占据相同大小的存储空间,所述存储空间能容纳B+树的阶数或B+树的阶数-1个关键字。


5.根据权利要求1或2所述的B+树操作装置,其中,节点加载单元生成选出的比较关键字在节点存储器中的地址,用所述地址访问节点存储器,以使得节点存储器向节点搜索单元提供比较关键字。


6.根据权利要求1或2所述的B+树操作装置,其中,若节点的关键字数量大于节...

【专利技术属性】
技术研发人员:周鹏飞介百瑞万义才孙唐
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1