CN112835896B - 一种实时数据库数据热点均衡方法、装置、设备及介质 - Google Patents

一种实时数据库数据热点均衡方法、装置、设备及介质 Download PDF

Info

Publication number
CN112835896B
CN112835896B CN202110113691.6A CN202110113691A CN112835896B CN 112835896 B CN112835896 B CN 112835896B CN 202110113691 A CN202110113691 A CN 202110113691A CN 112835896 B CN112835896 B CN 112835896B
Authority
CN
China
Prior art keywords
bit number
row key
query
real
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110113691.6A
Other languages
English (en)
Other versions
CN112835896A (zh
Inventor
张利平
叶建位
侯卫锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Zhongzhida Technology Co ltd
Original Assignee
Zhejiang Zhongzhida Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Zhongzhida Technology Co ltd filed Critical Zhejiang Zhongzhida Technology Co ltd
Priority to CN202110113691.6A priority Critical patent/CN112835896B/zh
Publication of CN112835896A publication Critical patent/CN112835896A/zh
Application granted granted Critical
Publication of CN112835896B publication Critical patent/CN112835896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种实时数据库数据热点均衡方法、装置、设备及介质。该方法包括:根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;将所述实时数据和所述行键标识写入HBase数据库。通过哈夫曼算法构建位号哈夫曼树,根据位号哈夫曼树确定目标位号名称的权重,并结合目标位号名称对应的哈夫曼编码,以及时间戳反转值优化行键,可以实现写操作将数据均衡分布到各个节点,同时提高读操作中数据筛选的速度,由此提高了实时数据库系统的性能。

Description

一种实时数据库数据热点均衡方法、装置、设备及介质
技术领域
本发明涉及计算机领域,特别涉及一种实时数据库数据热点均衡方法、装置、设备及介质。
背景技术
当前,在工业控制领域,实时数据库系统中需要存储大规模实时数据来作为生产控制、生产分析、生产优化等流程的重要依据,实时数据库接入整个工厂所有的采集器,这些采集器通常在现场不间断采集,所以整体需要的存储量以TB甚至PB为单位,通过HBase存储系统,可以有效的解决海量数据的存储问题,但也引入了一个如何将这些实时数据均衡的分布在各个存储节点,并且能够可靠且高效的进行读写的技术难题,数据存储不当会造成数据热点问题,即大量读写操作的目标数据被定向到同一个或几个节点,造成单个或多个节点负载过高,从而降低了整个实时数据库系统性能以及可靠性。
现有技术中,基于HBase的分布式系统为避免数据热点的解决方案为采用预分区以及优化行键(RowKey)相结合的方法,其中,行键为HBase中一行数据的唯一标识,针对行键的优化主要通过以下3种方式实现:
a.基于加盐生成行键,即通过给行键分配一个随机前缀以使该行键和之前的行键的开头不同。
b.基于哈希生成行键,使同一行永远用一个相同前缀加盐,同时使数据分散到整个集群,并使用确定的哈希让客户端重构完整的键值,以便准确获取某一个行的数据。
c.参数反转,通过反转固定长度或者数字格式的行键,使得行键中经常改变的部分,即无意义的部分放在前面,由此得到有效的随机行键。
以上三种方式中,基于加盐生成行键的方式,对于读取操作,客户端由于无法根据查询条件重构完整的行键以实现快速筛选,因此需要扫描全表进行匹配,降低了实时数据库的读取性能。基于哈希生成行键的方式,由于哈希算法存在一定的碰撞几率,从而导致不同位号名称存在相同哈希值,故而无法保证行键的唯一性。通过参数反转生成键值的方式,由于HBase中的行是按照键值的字典顺序排序的,即基于字母顺序排列的单词按字母顺序排列,参数反转牺牲了行键的有序性,降低了数据扫描的效率。
发明内容
有鉴于此,本发明的目的在于提供一种实时数据库数据热点均衡方法、装置、设备及介质,能够实现数据的均衡分布,便于数据的读取,提高了实时数据库系统的性能。其具体方案如下:
第一方面,本申请公开了一种实时数据库数据热点均衡方法,包括:
根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;
根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;
基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;
将所述实时数据和所述行键标识写入HBase数据库。
可选的,所述根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树,包括:
获取目标工厂的所有位号名称,以得到所述位号名称集合;
统计所述位号名称集合中每个字母的出现频率,并根据每个字母和对应的出现频率构建所述位号哈夫曼树。
可选的,所述基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识,包括:
对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算,将得到的余数作为第一行键参数;
计算所述目标位号名称对应的位号哈夫曼编码,得到第二行键参数;
计算时间戳最大值与当前时间点的差值,以得到所述时间戳反转值,并将所述时间戳反转值作为第三行键参数;
将所述第一行键参数、第二行键参数和第三行键参数依次连接,以得到所述目标实时数据的行键标识。
可选的,所述对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算之前,还包括:
根据集群资源数量设置预分区个数,并设置每个预分区的起始位置和结束位置。
可选的,所述将所述实时数据和所述行键标识写入HBase数据库之后,还包括:
获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点;
根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度;
基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键;
读取所述查询起始行键和所述查询终止行键之间的数据。
可选的,所述基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键,包括:
对所述查询位号名称的带权路径长度和所述HBase数据库的预分区个数进行求余计算,得到余数值;
计算所述查询位号名称对应的哈夫曼编码,得到查询位号编码;
计算时间戳最大值与所述起始时间点的差值得到起始时间点反转值,并计算所述时间戳最大值与所述终止时间点的差值得到终止时间点反转值;
将所述余数值、查询位号编码和起始时间点反转值依次连接,以得到所述查询起始行键;
将所述余数值、查询位号编码和终止时间点反转值依次连接,以得到所述查询终止行键。
第二方面,本申请公开了一种实时数据库数据热点均衡装置,包括:
位号哈夫曼树构建模块,用于根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;
第一权重计算模块,用于根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;
行键生成模块,用于基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;
写入模块,用于将所述实时数据和所述行键标识写入HBase数据库。
可选的,所述实时数据库数据热点均衡装置,还可以包括:
查询条件获取模块,用于获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点;
第二权重计算模块,用于根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度;
查询行键生成模块,用于基于所述带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键;
读取模块,用于读取所述查询起始行键和所述查询终止行键之间的数据。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的实时数据库数据热点均衡方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的实时数据库数据热点均衡方法。
本申请中,通过根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;然后根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;并基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;最后将所述实时数据和所述行键标识写入HBase数据库。可见,本申请通过哈夫曼算法构建位号哈夫曼树,根据位号哈夫曼树确定目标位号名称的权重,并结合目标位号名称对应的哈夫曼编码,以及时间戳反转值优化行键,相比于基于随机数生成的行键,本申请可以在读取操作时利用相同规则生成行键进行数据查找,并且规避了使用反转位号名称作为行键所引入的位号无序性问题,实现写操作均衡分布到各个节点,同时可以提高读操作中数据筛选的速度,提高了实时数据库系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种实时数据库数据热点均衡方法流程图;
图2为本申请提供的哈夫曼树构造示意图;
图3为本申请提供的一种写实时数据方法流程图;
图4为本申请提供的一种具体的实时数据库数据热点均衡方法流程图;
图5为本申请提供的一种读实时数据方法流程图;
图6为本申请提供的一种实时数据库数据热点均衡装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
现有技术中,基于加盐方式、哈计算法方式和参数反转方式生成行键,但上述三种方式可能会降低实时数据库的读取性能,或无法保证行键的唯一性,或牺牲行键的有序性。为克服上述技术问题,本申请提供了一种基于HBase 的实时数据库数据热点均衡方法,可以实现数据的均衡分布,便于数据的读取,提高实时数据库系统的性能。
本申请实施例公开了一种实时数据库数据热点均衡方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树。
本实施例中,首先根据位号名称集合中每个字母的出现频率构建相应的位号哈夫曼树;其中,位号是工业领域内的一个设备或仪表的数据采集点的统称,工业控制领域的位号名称通常存在一定规律,例如压力、流量、液位、质量等回路的位号分别以P、F、L、A开头。可以理解的是,通过位号名称集合中每个字母出现的概率构建位号哈夫曼树,可以表征每个位号名称对应的权重。
本实施例中,所述根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树,可以包括:获取目标工厂的所有位号名称,以得到所述位号名称集合;统计所述位号名称集合中每个字母的出现频率,并根据每个字母和对应的出现频率构建所述位号哈夫曼树。具体的,上述位号哈夫曼树的构建流程参考图2所示进行举例说明,首先,为每个字母建立一个叶子节点,并加上其相应的出现频率,当有一个以上的节点存在时,进行如下步骤循环:将上述节点作为带权值的二叉树的根节点,此时左右子树为空;选择两棵根结点权值最小的树作为左右子树构造一棵新的二叉树,并且新的二叉树的根结点的权值为其左右子树上根结点的权值之和,并且将权值最小的两个根节点移除;然后将新的二叉树加入队列中,最后剩下的节点暨为根节点,由此完成哈夫曼树的构建。
步骤S12:根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度。
本实施例中,需要写入数据时,根据构建的上述哈夫曼树,计算待写入的实时数据对应的目标位号名称的带权路径长度。在工业控制领域,实时数据库系统中需要存储大规模实时数据以作为生产控制、生产分析、生产优化等流程的重要依据,该类实时数据库系统存储的实时数据结构通常由固定字段组成,包含相应的位号名称或Id、时间戳及实时值质量码这些字段,并且通常由采集器定时采集产生,所以数据结构中的时间戳的值会有规律地进行递增。
步骤S13:基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识。
本实施例中,计算上述目标位号名称的带权路径长度的同时,计算上述目标位号名称对应的位号哈夫曼编码,以及上述实时数据中时间戳的反转值,并基于上述带权路径长度、目标位号名称对应的位号哈夫曼编码以及实时数据的时间戳反转值,生成上述实时数据的行键标识。
本实施例中,所述基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识,可以包括:对所述带权路径长度和HBase数据库的预分区个数进行求余计算,将得到的余数作为第一行键参数;计算所述目标位号名称对应的位号哈夫曼编码,得到第二行键参数;计算时间戳最大值与当前时间点的差值,以得到所述时间戳反转值,并将所述时间戳反转值作为第三行键参数;将所述第一行键参数、第二行键参数和第三行键参数依次连接,以得到所述目标实时数据的行键标识。例如图3所示,即将上述带权路径长度除以上述HBase 数据库的预分区个数,并将得到的余数作为行键前缀,并在此基础上,在该行键前缀后添加目标位号名称对应的位号哈夫曼编码,以及时间戳反转值,以得到上述目标实时数据的行键标识;其中,上述时间戳反转值是时间戳最大值(Long.MaxValue)与上述实时数据中含有的当前时间点T0的差值,可以理解的是,上述时间戳最大值为可以读取到的最早的时间,通常为1970.1.1,实时数据中时间戳的时间点也是从1970.1.1开始的毫秒数;通过反转时间戳,可以将获取的数据根据获取时间从近到远进行排序存储,由此能够有效支撑上层业务快速获取位号最新值的业务需求,便于后续数据的读取。
可以理解的是,因为工业控制领域的位号名称是有规律的,如压力、流量、液位、质量等回路的位号分别以P、F、L、A开头,因此基于位号名称的哈夫曼带权路径长度作为前缀构建的行键可以体现其有序性特点,相同的位号名称可以得到相同的权重值,用以支撑基于回路类型的上层业务需求。另外,实时数据库存储的实时数据是由采集器定时采样而生成的,所以序列中的时间戳体现了单调递增的特点,因此需要结合行键字典顺序的特性,将实时数据的值在实时数据库中按时间戳倒序排序,以便能够有效支撑上层业务快速获取位号最新值的业务需求。此外利用哈夫曼算法是由N个带权叶子结点构成的所有二叉树中带权路径长度最短的二叉树的特性,通过对位号名称进行哈夫曼编码可以提高数据存储空间的利用率。
本实施例中,所述对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算之前,还可以包括:根据集群资源数量设置预分区个数,并设置每个预分区的起始位置和结束位置。即根据集群资源数量设置数据存储的有效节点个数,并设置每个预分区的起始位置和结束位置。
步骤S14:将所述实时数据和所述行键标识写入HBase数据库。
本实施例中,在得到上述行键标识后,将上述实时数据和行键标识一同写入HBase数据库,即将上述行键标识作为实时数据存储到HBase数据库的某个数据行的标识。
由上可见,本实施例中,通过根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;然后根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;并基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;最后将所述实时数据和所述行键标识写入HBase数据库。可见,通过采用哈夫曼算法计算位号名称权重方式,即通过计算位号名称的带权路径长度与有效节点数进行求余的值作为行键前缀,结合位号名称的哈夫曼编码以及时间点反转值组成行键,从而解决写节点均衡分布并提高了数据存储空间的利益率,可以在读取操作时利用相同规则生成行键进行数据查找,并且规避了使用反转位号名称作为行键所引入的位号无序性问题,同时可以提高读操作中数据筛选的速度,提高了实时数据库系统的性能。
本申请实施例公开了一种具体的实时数据库数据热点均衡方法,参见图2 所示,该方法可以包括以下步骤:
步骤S21:根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树。
步骤S22:根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度,并基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识。
步骤S23:将所述实时数据和所述行键标识写入HBase数据库。
步骤S24:获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点。
本实施例中,用户当需要查询数据时输入数据查询条件,其中,上述数据查询条件包括查询位号名称、起始时间点和终止时间点。
步骤S25:根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度。
本实施例中,根据得已经构建的位号哈夫曼树,计算上述查询条件中查询位号名称的带权路径长度。
步骤S26:基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键。
本实施例中,计算上述查询位号名称的带权路径长度的同时,计算上述查询位号名称对应的位号哈夫曼编码,以及上述起始时间点的时间戳反转值和终止时间点的时间戳反转值,并基于查询位号名称的带权路径长度、查询位号名称对应的位号哈夫曼编码,以及起始时间点的时间戳反转值和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键。
本实施例中,所述基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键,可以包括:对所述查询位号名称的带权路径长度和所述HBase数据库的预分区个数进行求余计算,得到余数值;计算所述查询位号名称对应的哈夫曼编码,得到查询位号编码;计算时间戳最大值与所述起始时间点的差值得到起始时间点反转值,并计算所述时间戳最大值与所述终止时间点的差值得到终止时间点反转值;将所述余数值、查询位号编码和起始时间点反转值依次连接,以得到所述查询起始行键;将所述余数值、查询位号编码和终止时间点反转值依次连接,以得到所述查询终止行键。例如图5所示,即将上述查询位号名称的带权路径长度以上述HBase 数据库的预分区个数,并将得到的余数作为行键前缀,在此基础上,在该行键前缀后添加查询位号名称对应的位号哈夫曼编码,以及起始时间点反转值,得到上述查询起始行键;同理,在该行键前缀后添加查询位号名称对应的位号哈夫曼编码,以及终止时间点反转值,得到上述查询终止行键。起始时间点反转值为时间戳最大值减起始时间点T1,终止时间点反转值为时间戳最大值减终止时间点T2。
步骤S27:读取所述查询起始行键和所述查询终止行键之间的数据。
本实施例中,在得到上述查询起始行键和查询终止行键后,从上述HBase 数据库中筛选出查询起始行键和查询终止行键范围之间的数据。
其中,关于上述步骤S21到步骤S23的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,通过获取数据查询条件,所述数据查询条件包括查询位号名称、起始时间点和终止时间点,然后根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度,并基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键,最后读取所述查询起始行键和所述查询终止行键之间的数据,由此实现读数据操作,可见,本实施例中通过哈夫曼算法构建位号哈夫曼树,然后根据位号哈夫曼树确定位号名称的权重,并结合位号名称对应的哈夫曼编码,以及时间戳反转值优化行键,由此一来,不仅在写操作时可以将数据均衡分布到各个节点,并且根据该行键生成规则可以重构完整的行键进行数据的查询读取,且提高了数据读取的速度,提高了实时数据库系统的性能。
相应的,本申请实施例还公开了一种实时数据库数据热点均衡装置,参见图6所示,该装置包括:
位号哈夫曼树构建模块11,用于根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;
第一权重计算模块12,用于根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;
行键生成模块13,用于基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;
写入模块14,用于将所述实时数据和所述行键标识写入HBase数据库。
由上可见,本实施例中通过根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;然后根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;并基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;最后将所述实时数据和所述行键标识写入HBase数据库。可见,通过哈夫曼算法构建位号哈夫曼树,根据位号哈夫曼树确定目标位号名称的权重,并结合目标位号名称对应的哈夫曼编码,以及时间戳反转值优化行键,相比于基于随机数生成的行键,本实施例可以在读取操作时利用相同规则生成行键进行数据查找,并且规避了使用反转位号名称作为行键所引入的位号无序性问题,实现写操作均衡分布到各个节点,同时可以提高读操作中数据筛选的速度,提高了实时数据库系统的性能。
在一些具体实施例中,所述实时数据库数据热点均衡装置具体可以包括:
查询条件获取模块,用于获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点;
第二权重计算模块,用于根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度;
查询行键生成模块,用于基于所述带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键;
读取模块,用于读取所述查询起始行键和所述查询终止行键之间的数据。
在一些具体实施例中,所述位号哈夫曼树构建模块11具体可以包括:
名称集合获取单元,用于获取目标工厂的所有位号名称,以得到所述位号名称集合;
位号哈夫曼树生成单元,用于统计所述位号名称集合中每个字母的出现频率,并根据每个字母和对应的出现频率构建所述位号哈夫曼树。
在一些具体实施例中,所述行键生成模块13具体可以包括:
第一行键参数确定单元,用于对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算,将得到的余数作为第一行键参数;
第二行键参数确定单元,用于计算所述目标位号名称对应的位号哈夫曼编码,得到第二行键参数;
第三行键参数确定单元,用于计算时间戳最大值与当前时间点的差值,以得到所述时间戳反转值,并将所述时间戳反转值作为第三行键参数;
组合单元,用于将所述第一行键参数、第二行键参数和第三行键参数依次连接,以得到所述目标实时数据的行键标识。
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的实时数据库数据热点均衡方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括位号哈夫曼树在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的实时数据库数据热点均衡方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的实时数据库数据热点均衡方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种实时数据库数据热点均衡方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种实时数据库数据热点均衡方法,其特征在于,包括:
根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;
根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;
基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;
将所述实时数据和所述行键标识写入HBase数据库;
其中,所述基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识,包括:
对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算,将得到的余数作为第一行键参数;
计算所述目标位号名称对应的位号哈夫曼编码,得到第二行键参数;
计算时间戳最大值与当前时间点的差值,以得到所述时间戳反转值,并将所述时间戳反转值作为第三行键参数;
将所述第一行键参数、第二行键参数和第三行键参数依次连接,以得到所述实时数据的行键标识。
2.根据权利要求1所述的实时数据库数据热点均衡方法,其特征在于,所述根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树,包括:
获取目标工厂的所有位号名称,以得到所述位号名称集合;
统计所述位号名称集合中每个字母的出现频率,并根据每个字母和对应的出现频率构建所述位号哈夫曼树。
3.根据权利要求2所述的实时数据库数据热点均衡方法,其特征在于,所述对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算之前,还包括:
根据集群资源数量设置预分区个数,并设置每个预分区的起始位置和结束位置。
4.根据权利要求1所述的实时数据库数据热点均衡方法,其特征在于,所述将所述实时数据和所述行键标识写入HBase数据库之后,还包括:
获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点;
根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度;
基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键;
读取所述查询起始行键和所述查询终止行键之间的数据。
5.根据权利要求4所述的实时数据库数据热点均衡方法,其特征在于,所述基于所述查询位号名称的带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键,包括:
对所述查询位号名称的带权路径长度和所述HBase数据库的预分区个数进行求余计算,得到余数值;
计算所述查询位号名称对应的哈夫曼编码,得到查询位号编码;
计算时间戳最大值与所述起始时间点的差值得到起始时间点反转值,并计算所述时间戳最大值与所述终止时间点的差值得到终止时间点反转值;
将所述余数值、查询位号编码和起始时间点反转值依次连接,以得到所述查询起始行键;
将所述余数值、查询位号编码和终止时间点反转值依次连接,以得到所述查询终止行键。
6.一种实时数据库数据热点均衡装置,其特征在于,包括:
位号哈夫曼树构建模块,用于根据位号名称集合中每个字母的出现频率,构建位号哈夫曼树;
第一权重计算模块,用于根据所述位号哈夫曼树,计算实时数据对应的目标位号名称的带权路径长度;
行键生成模块,用于基于所述带权路径长度、所述目标位号名称对应的位号哈夫曼编码以及所述实时数据的时间戳反转值,生成所述实时数据的行键标识;
写入模块,用于将所述实时数据和所述行键标识写入HBase数据库;
其中,所述行键生成模块还用于对所述带权路径长度和所述HBase数据库的预分区个数进行求余计算,将得到的余数作为第一行键参数;计算所述目标位号名称对应的位号哈夫曼编码,得到第二行键参数;计算时间戳最大值与当前时间点的差值,以得到所述时间戳反转值,并将所述时间戳反转值作为第三行键参数;将所述第一行键参数、第二行键参数和第三行键参数依次连接,以得到所述实时数据的行键标识。
7.根据权利要求6所述的实时数据库数据热点均衡装置,其特征在于,还包括:
查询条件获取模块,用于获取数据查询条件;所述数据查询条件包括查询位号名称、起始时间点和终止时间点;
第二权重计算模块,用于根据所述位号哈夫曼树,计算所述查询位号名称的带权路径长度;
查询行键生成模块,用于基于所述带权路径长度、所述查询位号名称对应的位号哈夫曼编码、所述起始时间点和终止时间点的时间戳反转值,生成查询起始行键和查询终止行键;
读取模块,用于读取所述查询起始行键和所述查询终止行键之间的数据。
8.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的实时数据库数据热点均衡方法。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至5任一项所述的实时数据库数据热点均衡方法。
CN202110113691.6A 2021-01-27 2021-01-27 一种实时数据库数据热点均衡方法、装置、设备及介质 Active CN112835896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110113691.6A CN112835896B (zh) 2021-01-27 2021-01-27 一种实时数据库数据热点均衡方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110113691.6A CN112835896B (zh) 2021-01-27 2021-01-27 一种实时数据库数据热点均衡方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112835896A CN112835896A (zh) 2021-05-25
CN112835896B true CN112835896B (zh) 2022-07-05

Family

ID=75932188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110113691.6A Active CN112835896B (zh) 2021-01-27 2021-01-27 一种实时数据库数据热点均衡方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112835896B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435776B (zh) * 2023-12-20 2024-04-30 杭州拓数派科技发展有限公司 元数据存储和查询方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268146A (zh) * 2014-08-21 2015-01-07 南京邮电大学 一种适合分析型应用的静态b+树索引方法
CN105956205A (zh) * 2016-07-01 2016-09-21 百势软件(北京)有限公司 一种生成hbase行健的方法及装置
CN106797405A (zh) * 2016-12-14 2017-05-31 华为技术有限公司 分布式负载均衡系统、健康检查方法和服务节点
CN110032470A (zh) * 2019-03-18 2019-07-19 长安大学 一种基于哈夫曼树的异构部分重复码的构造方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298722B2 (en) * 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268146A (zh) * 2014-08-21 2015-01-07 南京邮电大学 一种适合分析型应用的静态b+树索引方法
CN105956205A (zh) * 2016-07-01 2016-09-21 百势软件(北京)有限公司 一种生成hbase行健的方法及装置
CN106797405A (zh) * 2016-12-14 2017-05-31 华为技术有限公司 分布式负载均衡系统、健康检查方法和服务节点
CN110032470A (zh) * 2019-03-18 2019-07-19 长安大学 一种基于哈夫曼树的异构部分重复码的构造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
设备大数据压缩存储查询平台建设及工况聚类算法;燕翔;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20191215;全文 *

Also Published As

Publication number Publication date
CN112835896A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN106294614B (zh) 用于访问业务的方法和装置
CN108959386A (zh) 分布式全局唯一id生成方法、装置、设备和存储介质
CN101266610B (zh) 一种Web活跃用户网站访问模式的在线挖掘方法
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN108205577B (zh) 一种数组构建、数组查询的方法、装置及电子设备
CN102054000B (zh) 数据查询方法、装置及系统
CN112347377B (zh) Ip地址段查找方法与业务调度方法、装置、电子设备
CN104933175B (zh) 一种性能数据相关性的分析方法及性能监控系统
CN109658120B (zh) 一种业务数据处理方法以及装置
CN112835896B (zh) 一种实时数据库数据热点均衡方法、装置、设备及介质
CN111694793A (zh) 一种日志存储方法、装置及日志查询方法、装置
CN114116827B (zh) 一种用户画像数据的查询系统及方法
CN112231481A (zh) 网址的分类方法、装置、计算机设备和存储介质
CN113407560B (zh) 更新消息处理方法、数据同步方法、配置信息配置方法
CN100477582C (zh) 一种即时通信中即时处理多媒体信息的方法和系统
CN112035413B (zh) 元数据信息查询方法、装置及存储介质
CN107807976B (zh) Ip归属地查询方法和装置
CN111400301A (zh) 一种数据查询方法、装置及设备
CN111026972B (zh) 物联网中的订阅数据推送方法、装置、设备及存储介质
CN110120918B (zh) 一种标识解析方法及装置
CN109474696B (zh) 一种网络服务方法、装置、电子设备及可读存储介质
CN108717438B (zh) 一种链式数据状态采集系统及方法
CN108241639A (zh) 一种数据去重方法
JP5822748B2 (ja) 情報処理システムおよび情報処理方法
Zhang et al. Case-Base Maintenance: A Streaming Approach.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant