一种集群数据库测点的访问方法及装置制造方法及图纸

技术编号:10385612 阅读:109 留言:0更新日期:2014-09-05 12:11
本申请公开了一种集群数据库测点访问方法及装置,应用于在内存中建立的Treap树,Treap树节点存储索引块包含的测点标识范围及访问次数,节点访问次数依据预设节点查找顺序依次降低,且内存中还存储依据访问次数的高低排序从磁盘读取的预设数量索引块,方法包括:在预设周期内,接收测点访问请求,依据请求中的目标测点标识及所述预设节点查找顺序,在树中查找到目标节点,增加目标节点的访问次数,在内存中查找是否存在目标节点对应的索引块,若是,在该索引块中确定目标测点标识对应的测点地址,进而依据测点地址访问测点,当预设周期结束时,调整目标节点在Treap树中的位置,以使各个节点的访问次数依据节点查找顺序依次降低。

【技术实现步骤摘要】
一种集群数据库测点的访问方法及装置
本申请涉及数据库
,尤其是一种集群数据库测点的访问方法及装置。
技术介绍
集群数据库,已经成为在工业信息化进程中的基础核心软件系统,是由大量单机数据库组成的、在逻辑意义上具有统一性的数据库系统。其中,单机数据库中包含多个测点,用户通过访问测点实现对集群数据库的访问。集群数据库向用户提供统一的访问接口,实现测点存储位置对访问接口的透明。也就是说,用户并不需关心测点的存储位置,只是向访问接口发送测点访问请求,由该接口查找测点的具体存储位置。目前,访问接口中建立有测点索引,索引结构为B+树形。该树每个结点均存储一个有序表,该表中包含多个测点标识。当访问接口接收到用户对某个测点的访问请求后,将该B+树的第一个结点(根节点)从硬盘读取至内存,并查找该结点的有序表中是否包含有用户访问的测点标识,若是,查找成功,进而可依据该测点标识获知测点存储位置,否则,从硬盘读取该结点指向的下一结点并进行查找,重复上述步骤,直至该树的叶子节点。当到达该树的叶子结点但仍未查找到测点标识时,查找失败。但是,利用上述B+树结构的索引查找测点时,访问硬盘次数较多,导致测点查找效率较低。
技术实现思路
有鉴于此,本专利技术提供集群数据库测点的访问方法及装置,以解决现有技术中利用上述B+树结构的索引查找测点时,访问硬盘次数较多,导致测点查找效率较低的技术问题。本专利技术提供的技术方案如下:一种集群数据库测点的访问方法,应用于在内存中建立的Treap树,所述Treap树的每个节点存储预设索引块的块信息,每个所述索引块包含多个测点的标识及每个测点标识对应的测点地址,每个所述块信息包括各自索引块的测点标识范围及访问次数,各个节点的访问次数依据预设节点查找顺序依次降低,且所述内存中还存储有依据访问次数的高低排序读取的预设数量的索引块,该方法包括:在预设周期内,接收测点访问请求;其中,所述测点访问请求中包含目标测点标识;依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点,并增加所述目标节点在所述预设周期内的访问次数;其中,所述目标节点为测点标识范围内包含所述目标测点标识的节点;查找所述内存中是否存在所述目标节点对应的目标索引块;若是,在所述目标索引块中确定所述目标测点标识对应的测点地址,并依据该测点地址对测点进行访问;当所述预设周期结束时,利用所述增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,以使所述Treap树中各个节点的访问次数依据所述预设节点查找顺序依次降低。上述方法,优选地,每个所述块信息包括的各自索引块的测点标识为各自索引块的最大测点标识及最小测点标识,其中,所述依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点,包括:依据所述节点查找顺序,在所述Treap树中,查找到所述目标测点标识在最大测点标识及最小测点标识范围内的目标节点。上述方法,优选地,所述依据所述增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,包括:获得所述预设周期内目标节点增加后的访问次数,并获得该预设周期内所有节点的访问总次数;将所述增加后的访问次数与所述访问总次数的比值,确定为所述目标节点的访问优先级;当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为左子树时,对所述Treap树进行右旋;当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为右子树时,对所述Treap树进行左旋。上述方法,优选地,还包括:当所述内存中不存在所述目标节点对应的目标索引块时,将访问次数最低的索引块置换出内存,并将所述目标索引块读取至内存。上述方法,优选地,每个所述索引块的容量相同且均未超过磁盘块容量,其中,所述索引块存储所述多个测点标识,包括:所述索引块具有预设个数的分块,且非空分块中的测点标识依次排序;或,所述索引块具有预设个数的分块,首个空块中存储新增的测点标识。本专利技术还提供了一种集群数据库测点的访问装置,应用于在内存中建立的Treap树,所述Treap树的每个节点存储预设索引块的块信息,每个所述索引块包含多个测点的标识及每个测点标识对应的测点地址,每个所述块信息包括各自索引块的测点标识范围及访问次数,各个节点的访问次数依据预设节点查找顺序依次降低,且所述内存中还存储有依据访问次数的高低排序读取的预设数量的索引块,该装置包括:访问请求接收单元,用于在预设周期内,接收测点访问请求;其中,所述测点访问请求中包含目标测点标识;目标节点查找单元,用于依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点;访问次数增加单元,用于增加所述目标节点在所述预设周期内的访问次数;其中,所述目标节点为测点标识范围内包含所述目标测点标识的节点;目标索引块查找单元,用于查找所述内存中是否存在所述目标节点对应的目标索引块;若是,触发测点访问单元;测点访问单元,用于在所述目标索引块中确定所述目标测点标识对应的测点地址,并依据该测点地址对测点进行访问;节点位置调整单元,用于当所述预设周期结束时,利用所述增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,以使所述Treap树中各个节点的访问次数依据所述预设节点查找顺序依次降低。上述装置,优选地,每个所述块信息包括的各自索引块的测点标识为各自索引块的最大测点标识及最小测点标识,其中,所述目标节点查找单元包括:查找子单元,用于依据所述节点查找顺序,在所述Treap树中,查找到所述目标测点标识在最大测点标识及最小测点标识范围内的目标节点。上述装置,优选地,所述节点位置调整单元包括:访问次数获取子单元,用于获得所述预设周期内目标节点增加后的访问次数,并获得该预设周期内所有节点的访问总次数;访问优先级确定子单元,用于将所述增加后的访问次数与所述访问总次数的比值,确定为所述目标节点的访问优先级;右旋子单元,用于当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为左子树时,对所述Treap树进行右旋;左旋子单元,用于当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为右子树时,对所述Treap树进行左旋。上述装置,优选地,还包括:索引块置换单元,用于当所述内存中不存在所述目标节点对应的目标索引块时,将访问次数最低的索引块置换出内存,并将所述目标索引块读取至内存。上述装置,优选地,每个所述索引块的容量相同且均未超过磁盘块容量,其中,所述索引块存储所述多个测点标识,包括:所述索引块具有预设个数的分块,且非空分块中的测点标识依次排序;或,所述索引块具有预设个数的分块,首个空块中存储新增的测点标识。与现有技术相比,本专利技术具有如下有益效果:本专利技术实施例提供的集群数据库测点访问方法及装置,应用于在内存中预先建立的Treap树,Treap树节点存储访问次数,各个节点的访问次数依据预设节点查找顺序依次降低。该方法依据预设节点查找顺序,在Treap树中查找到目标节点,增加目标节点的访问次数,且当预设周期结束时,调整所述目标节点在Treap树中的节点位置,以使该Treap树中的各个节点的访问次数依据节点查找顺序依次降低。由此可见,本专利技术实施例能够实现本文档来自技高网...
一种集群数据库测点的访问方法及装置

【技术保护点】
一种集群数据库测点的访问方法,其特征在于,应用于在内存中建立的Treap树,所述Treap树的每个节点存储预设索引块的块信息,每个所述索引块包含多个测点的标识及每个测点标识对应的测点地址,每个所述块信息包括各自索引块的测点标识范围及访问次数,各个节点的访问次数依据预设节点查找顺序依次降低,且所述内存中还存储有依据访问次数的高低排序读取的预设数量的索引块,该方法包括:在预设周期内,接收测点访问请求;其中,所述测点访问请求中包含目标测点标识;依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点,并增加所述目标节点在所述预设周期内的访问次数;其中,所述目标节点为测点标识范围内包含所述目标测点标识的节点;查找所述内存中是否存在所述目标节点对应的目标索引块;若是,在所述目标索引块中确定所述目标测点标识对应的测点地址,并依据该测点地址对测点进行访问;当所述预设周期结束时,利用所述增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,以使所述Treap树中各个节点的访问次数依据所述预设节点查找顺序依次降低。

【技术特征摘要】
1.一种集群数据库测点的访问方法,其特征在于,应用于在内存中建立的Treap树,所述Treap树的每个节点存储预设索引块的块信息,每个所述索引块包含多个测点的标识及每个测点标识对应的测点地址,每个所述块信息包括各自索引块的测点标识范围及访问次数,各个节点的访问次数依据预设节点查找顺序依次降低,且所述内存中还存储有依据访问次数的高低排序读取的预设数量的索引块,该方法包括:在预设周期内,接收测点访问请求;其中,所述测点访问请求中包含目标测点标识;依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点,并增加所述目标节点在所述预设周期内的访问次数;其中,所述目标节点为测点标识范围内包含所述目标测点标识的节点;查找所述内存中是否存在所述目标节点对应的目标索引块;若是,在所述目标索引块中确定所述目标测点标识对应的测点地址,并依据该测点地址对测点进行访问;当所述预设周期结束时,利用增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,以使所述Treap树中各个节点的访问次数依据所述预设节点查找顺序依次降低。2.根据权利要求1所述的方法,其特征在于,每个所述块信息包括的各自索引块的测点标识为各自索引块的最大测点标识及最小测点标识,其中,所述依据所述目标测点标识及所述节点查找顺序,在所述Treap树中,查找到目标节点,包括:依据所述节点查找顺序,在所述Treap树中,查找到所述目标测点标识在最大测点标识及最小测点标识范围内的目标节点。3.根据权利要求1所述的方法,其特征在于,所述利用增加后的访问次数,调整所述目标节点在所述Treap树中的节点位置,包括:获得所述预设周期内目标节点增加后的访问次数,并获得该预设周期内所有节点的访问总次数;确定所述目标节点的访问优先级;其中所述访问优先级为所述增加后的访问次数与所述访问总次数的比值;当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为左子树时,对所述Treap树进行右旋;当所述目标节点的访问优先级高于该目标节点父节点的访问优先级且所述目标节点为右子树时,对所述Treap树进行左旋。4.根据权利要求1所述的方法,其特征在于,还包括:当所述内存中不存在所述目标节点对应的目标索引块时,将访问次数最低的索引块置换出内存,并将所述目标索引块读取至内存。5.根据权利要求1或4所述的方法,其特征在于,每个所述索引块的容量相同且均未超过磁盘块容量,其中,所述索引块存储多个测点标识,包括:所述索引块具有预设个数的分块,且非空分块中的测点标识依次排序;或,所述索引块具有预设个数的分块,首个空块中存储新增的测点标识。6.一种集群数据库测点的访问装置,其特征在于,应用于在内存中建立的Trea...

【专利技术属性】
技术研发人员:李玉凯欧阳红戎修凯董艺
申请(专利权)人:国家电网公司北京中电普华信息技术有限公司
类型:发明
国别省市:北京;11

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

1