CN111078753B - 基于HBase数据库的时序数据的存储方法及装置 - Google Patents
基于HBase数据库的时序数据的存储方法及装置 Download PDFInfo
- Publication number
- CN111078753B CN111078753B CN201911302237.4A CN201911302237A CN111078753B CN 111078753 B CN111078753 B CN 111078753B CN 201911302237 A CN201911302237 A CN 201911302237A CN 111078753 B CN111078753 B CN 111078753B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- length
- information
- time sequence
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013500 data storage Methods 0.000 title description 4
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000003672 processing method Methods 0.000 claims abstract description 24
- 238000007906 compression Methods 0.000 claims description 17
- 230000006835 compression Effects 0.000 claims description 14
- 230000006837 decompression Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种基于HBase数据库的时序数据的处理方法及装置,方法包括:获取时序数据,时序数据包括时间信息、数据类型和数据信息;将时间信息和数据类型存储为具有第一长度的key;对数据信息进行编码操作,得到编码数据;确定编码数据的长度值;将长度值和编码数据存储为value;依据key和value确定时序数据的存储数据。该基于HBase数据库的时序数据的处理方法及装置,将所有的key值存储为包括时间信息和数据类型的固定长度的值,将大小可能不相同的数据长度存储在value值中,由于value值的存储空间没有固定限制,因此能够支持数据长度不确定的、变长类型的数据的存储,从而能够满足多样的时序数据的存储需求,提升用户的使用体验。
Description
技术领域
本申请涉及数据存储技术,更具体的说,是涉及一种基于HBase数据库的时序数据的存储方法及装置。
背景技术
随着信息化社会的不断发展建设,在一些需要长期或不间断监控状态的工作中,会产生大量的时间序列数据,而如何对这些时间序列数据进行更好的存储和管理,也成为领域内相关技术人员研究的主要课题之一。
现有的一些时间序列数据库,往往仅支持存储一些数值长度固定的简单类型的数据,例如Integer、Long、Float、Double,而对于其他数值长度不确定的、复杂的数据类型的存储则不支持,或者支持效果不佳。而且,在实际工业现场,获取的数据类型通常包括多种,现有技术中尚不存在能够对多种类型的数据进行统一化存储及管理的相关技术。
发明内容
有鉴于此,本申请提供如下技术方案:
一种基于HBase数据库的时序数据的处理方法,包括:
获取时序数据,所述时序数据包括时间信息、数据类型和数据信息;
将所述时间信息和所述数据类型存储为具有第一长度的key;
对所述数据信息进行编码操作,得到编码数据;
确定所述编码数据的长度值;
将所述长度值和所述编码数据存储为value;
依据所述key和所述value确定所述时序数据的存储数据。
可选的,所述对所述数据信息进行编码操作,得到编码数据,包括:
对所述数据信息进行二进制编码,得到数据编码。
可选的,所述将所述长度值和所述数据编码存储为value前,还包括:
将所述长度值进行Varint编码,得到长度编码;
则所述将所述长度值和所述数据编码存储为value,包括:
将所述长度编码和所述数据编码拼接到一起存储为value。
可选的,所述将所述时间信息和所述数据类型存储为具有第一长度的key,包括:
将所述时间信息和所述数据类型的枚举值存储为具有固定长度的key。
可选的,还包括:
将预设时间周期中的存储数据存储在一行,并为该行中的每一个存储数据设置相同的Rowkey。
可选的,还包括:
对同一行的所有存储数据进行压缩处理;
所述压缩处理包括:
将同一行的所有存储数据的key合并为压缩key,并将同一行的所有存储数据的value合并为压缩value,得到压缩处理数据。
可选的,还包括:
对所述压缩处理数据进行解压缩操作;
所述解压缩操作包括:将所述压缩key分为多个具有第一长度的key;依据所述多个具有第一长度的key的位置顺序,逐个将value值解压出来;
value值解压过程包括:确定key中的数据类型;若数据类型表示为定长数据,则根据所述定长数据对应的数据长度从所述压缩处理数据中解压出包括长度值和具有所述数据长度的数据信息的value;若数据类型表示为变长数据,则先解析长度值,确定数据长度,再依据所述数据长度确定数据信息,得到包括长度值和数据信息的value。
本申请实施例还公开了一种基于HBase数据库的时序数据的处理装置,包括:
数据获取模块,用于获取时序数据,所述时序数据包括时间信息、数据类型和数据信息;
key值确定模块,用于将所述时间信息和所述数据类型存储为具有第一长度的key;
数据编码模块,用于对所述数据信息进行编码操作,得到编码数据;
长度确定模块,用于确定所述编码数据的长度值;
value值确定模块,用于将所述长度值和所述编码数据存储为value;
存储确定模块,用于依据所述key和所述value确定所述时序数据的存储数据。
本申请实施例还公开了一种存储介质,其上存储有程序,该程序被处理器执行时实现如下操作:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息;将所述时间信息和所述数据类型存储为具有第一长度的key;对所述数据信息进行编码操作,得到编码数据;确定所述编码数据的长度值;将所述长度值和所述编码数据存储为value;依据所述key和所述value确定所述时序数据的存储数据。
本申请实施例还公开了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述可执行指令包括:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息;将所述时间信息和所述数据类型存储为具有第一长度的key;对所述数据信息进行编码操作,得到编码数据;确定所述编码数据的长度值;将所述长度值和所述编码数据存储为value;依据所述key和所述value确定所述时序数据的存储数据。
经由上述的技术方案可知,与现有技术相比,本申请实施例公开了一种基于HBase数据库的时序数据的处理方法、装置、存储介质及电子设备,方法包括:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息;将所述时间信息和所述数据类型存储为具有第一长度的key;对所述数据信息进行编码操作,得到编码数据;确定所述编码数据的长度值;将所述长度值和所述编码数据存储为value;依据所述key和所述value确定所述时序数据的存储数据。所述基于HBase数据库的时序数据的处理方法及装置将所有的key值存储为包括时间信息和数据类型枚举值的固定长度的值,将大小可能不相同的数据长度存储在value值中,由于value值的存储空间没有固定限制,因此能够支持数据长度不确定的、变长类型的数据的存储,实现将多种类型数据进行统一格式的存储和管理,从而满足多样的时序数据归一化的的存储和管理需求,提升用户的使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种基于HBase数据库的时序数据的处理方法流程图;
图2为本申请实施例公开的另一种基于HBase数据库的时序数据的处理方法流程图;
图3为本申请实施例提供的又一种基于HBase数据库的时序数据的处理方法流程图;
图4为本申请实施例公开的value值解压过程流程图;
图5为本申请实施例公开的基于HBase数据库的时序数据的处理方法的整体实现结构示意图;
图6为本申请实施例公开的一种基于HBase数据库的时序数据的处理装置的结构示意图;
图7为本申请实施例公开的另一种基于HBase数据库的时序数据的处理装置的结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
HBase数据库:HBase是BigTable的开源java版本。是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写NoSQL的数据库系统。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例公开的一种基于HBase数据库的时序数据的处理方法流程图,参见图1所示,基于HBase数据库的时序数据的处理方法可以包括:
步骤101:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息。
其中,时序数据是指时间序列数据。时间序列数据是依据统一指标按时间顺序记录的数据列。所述时序数据包括时间信息、数据类型和数据信息。其中的时间信息具体可以是时间戳,但本申请中对其具体实现形式不做固定限制,只要是能够区分表示不同时间的数据即可。所述数据类型可以为已知的或未来可能出现的数据类型,如现有的数据类型可以包括Integer、Long、Float、Double、String、Binary Array、Image等类型。其中的数据信息即为数据本身,即不包含时间信息和数据类型等描述内容的原始数据。
步骤102:将所述时间信息和所述数据类型存储为具有第一长度的key。
本申请实施例中,将时间信息和数据类型存储为key值,由于时间信息的表示可以有固定格式,如“××年××月××日”,数据类型也都为已知的,因此,可以将key值确定为具有固定长度(即第一长度)的key值,这样,也便于后续对存储的数据进行进一步的统一管理操作。其中,由于不同的数据类型对应的名称大小不相同,为了便于识别和统一管理,可以对所有的数据类型进行编号,一个数据类型对应唯一的一个编号,以编号代表特定的数据类型,编号可以配置为具有固定长度的数值,从而实现将时间信息和数据类型存储为具有固定长度的key。
步骤103:对所述数据信息进行编码操作,得到编码数据。
由于所有的数据在HBase数据库中都以编码的形式存储,因此,所述数据信息在存储进HBase数据库前,需要对其编码。
步骤104:确定所述编码数据的长度值。
本申请实施例中,在对数据信息进行编码,得到编码数据后,首先确定该编码数据的长度值,该长度值作为上述编码数据的描述数据,需要和编码数据一起存储,以便于系统能够根据该长度值了解编码数据的长度大小,便于对齐进行后续的相关管理。
步骤105:将所述长度值和所述编码数据存储为value。
在确定了编码数据和长度值后,将这两个数据组合在一起存储为与前述key值对应的value值,具体实现中,可以根据系统读取数据的特点,例如从左到右读取,将上述长度值存储在前面(即左边),编码数据存储在后面(即右边)。
步骤106:依据所述key和所述value确定所述时序数据的存储数据。
确定了key值和value值后,将对应的key值和value值存储进入HBase数据库的存储空间中,完成前述时序数据在HBase数据库的存储。
需要说明的是,上述处理方法的过程为针对一个时序数据的处理过程,针对所有的时序数据,都需要采用上述处理方法,按照统一的标准、统一的处理操作实现数据存储,以便于数据的统一管理。
本实施例中,所述基于HBase数据库的时序数据的处理方法将所有的key值存储为包括时间信息和数据类型枚举值的固定长度的值,将大小可能不相同的数据长度存储在value值中,由于value值的存储空间没有固定限制,因此能够支持数据长度不确定的、变长类型的数据的存储,且该特定的存储方式能够支持对存储数据进行统一的管理操作,如压缩操作和解压缩操作,从而能够满足多样的时序数据的存储和管理需求,提升用户的使用体验。
上述实施例中,所述对所述数据信息进行编码操作,得到编码数据的一种具体实现包括:对所述数据信息进行二进制编码,得到数据编码。
二进制编码为当前许多数据库采用的编码方式,具有普遍的通用性,但本申请中并不对数据信息的编码方式做固定限制,实现中也可以采用其它进制的编码方式对数据信息进行编码,只需要保证数据能够准确编码、准确识别即可。
图2为本申请实施例公开的另一种基于HBase数据库的时序数据的处理方法流程图,结合图2,方法可以包括,
步骤201:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息。
步骤202:将所述时间信息和所述数据类型存储为具有第一长度的key。
步骤203:对所述数据信息进行二进制编码,得到数据编码。
步骤204:确定所述编码数据的长度值,并对其进行Varint编码,得到长度编码。
Varint是一种紧凑的表示数字的方法,它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。采用Varint编码能够减少用来表示数字的字节数,节省存储空间。
步骤205:将所述长度编码和所述数据编码拼接到一起存储为value。
步骤206:依据所述key和所述value确定所述时序数据的存储数据。
本实施例中,对长度值进行Varint编码,能够减少长度值所占字节数,减小长度值所占用的存储空间。
在一个具体实现中,所述将所述时间信息和所述数据类型存储为具有第一长度的key,可以包括:将所述时间信息和所述数据类型的枚举值存储为具有固定长度的key。
枚举值即通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序是一致的。
在其他实施例中,基于HBase数据库的时序数据的处理方法除了上述实施例提到的步骤外,还可以包括:将预设时间周期中的存储数据存储在一行,并为该行中的每一个存储数据设置相同的Rowkey的步骤。
在HBase数据库中,一行中可以存储多个数据点,即多个上述存储数据。一般判断是否存储在一行的标准是时间,例如一个小时中产生的数据存储在一行,因此本实施例中,限定了预设时间周期的特征。行的特征在本申请中用Rowkey来表示,一个Rowkey对应唯一的一行,存储在一行的存储数据具有相同的Rowkey。
图3为本申请实施例提供的又一种基于HBase数据库的时序数据的处理方法流程图,参见图3所示,基于HBase数据库的时序数据的处理方法可以包括:
步骤301:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息。
步骤302:将所述时间信息和所述数据类型存储为具有第一长度的key。
步骤303:对所述数据信息进行编码操作,得到编码数据。
步骤304:确定所述编码数据的长度值。
步骤305:将所述长度值和所述编码数据存储为value,并依据所述key和所述value确定所述时序数据的存储数据。
步骤306:将预设时间周期中的存储数据存储在一行,并为该行中的每一个存储数据设置相同的Rowkey。
步骤307:对同一行的所有存储数据进行压缩处理。
其中,所述压缩处理可以包括:将同一行的所有存储数据的key合并为压缩key,并将同一行的所有存储数据的value合并为压缩value,得到压缩处理数据。
步骤308:对所述压缩处理数据进行解压缩操作。
其中,所述解压缩操作可以包括:将所述压缩key分为多个具有第一长度的key;依据所述多个具有第一长度的key的位置顺序,逐个将value值解压出来。
图4为本申请实施例公开的value值解压过程流程图,如图4所示,value值解压过程可以包括:
步骤401:确定key中的数据类型,进入步骤402或步骤403。
步骤402:若数据类型表示为定长数据,则根据所述定长数据对应的数据长度从所述压缩处理数据中解压出包括长度值和具有所述数据长度的数据信息的value。
步骤403:若数据类型表示为变长数据,则先解析长度值,确定数据长度,再依据所述数据长度确定数据信息,得到包括长度值和数据信息的value。
对同一行的多个数据点进行存储压缩时,只需将所有数据点的HBase Key合并成一个Key,同时将所有数据点的HBase Value合并成一个Value;这样多个数据点合并成一个数据点。
在查询数据点时如果需要解压缩,由于每个Key的长度是相同且固定的,很容易拆分还原成压缩之前的多个Key;Value在拆分时,解析当前Key中的数据类型,如果类型是定长的,可立即得到Key对应的Value;如果类型是变长的,先解析Varint编码得到数据长度,再读取该长度的二进制数据,即可得到Key对应的Value。
图5为本申请实施例公开的基于HBase数据库的时序数据的处理方法的整体实现结构示意图,可结合图5理解上述实施例的内容。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了一种装置,下面给出具体的实施例进行详细说明。
图6为本申请实施例公开的一种基于HBase数据库的时序数据的处理装置的结构示意图,参见图6所示,基于HBase数据库的时序数据的处理装置60可以包括:
数据获取模块601,用于获取时序数据,所述时序数据包括时间信息、数据类型和数据信息。
key值确定模块602,用于将所述时间信息和所述数据类型存储为具有第一长度的key。
数据编码模块603,用于对所述数据信息进行编码操作,得到编码数据。
长度确定模块604,用于确定所述编码数据的长度值。
value值确定模块605,用于将所述长度值和所述编码数据存储为value。
存储确定模块606,用于依据所述key和所述value确定所述时序数据的存储数据。
所述基于HBase数据库的时序数据的处理装置将所有的key值存储为包括时间信息和数据类型枚举值的固定长度的值,将大小可能不相同的数据长度存储在value值中,由于value值的存储空间没有固定限制,因此能够支持数据长度不确定的、变长类型的数据的存储,且该特定的存储方式能够支持对存储数据进行统一的管理操作,如压缩操作和解压缩操作,从而能够满足多样的时序数据的存储和管理需求,提升用户的使用体验。
图7为本申请实施例公开的另一种基于HBase数据库的时序数据的处理装置的结构示意图,结合图7所示,除图6所示的各模块外,基于HBase数据库的时序数据的处理装置70还包括Varint编码模块701,用于将所述长度值进行Varint编码,得到长度编码。
基于HBase数据库的时序数据的处理装置的各模块的具体实现可参见方法实施例中相应部分的介绍,在此不再重复赘述。
进一步地,本申请还公开了一种电子设备,所述电子设备包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述可执行指令包括:获得第一文件;在所述第一文件包含有待处理对象的情况下,确定所述待处理对象的类别信息,其中,所述待处理对象至少包括有第一内容信息;至少根据所述类别信息及所述第一内容信息确定第二内容信息的输入区域;其中,所述第二内容信息与所述第一内容信息具有第一关联关系。
上述实施例中的所述的任意一种信息处理装置包括处理器和存储器,上述实施例中的文件获取模块、类别确定模块、区域确定模块、信息获取模块、显示确定返回模块等均可以作为程序模块存储在存储器中,由处理器执行存储在所述存储器中的上述程序模块来实现相应的功能。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述可执行指令被处理器执行时,使得所述处理器执行本申请上述实施例所述的处理方法的步骤。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或多个,通过调整内核参数来实现回访数据的处理。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例中所述的处理方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于HBase数据库的时序数据的处理方法,包括:
获取时序数据,所述时序数据包括时间信息、数据类型和数据信息,所述数据信息为所述时序数据中不包含时间信息和数据类型的原始数据;
将所述时间信息和所述数据类型存储为具有第一长度的key;
对所述数据信息进行编码操作,得到编码数据;
确定所述编码数据的长度值;
将所述长度值和所述编码数据存储为value;
依据所述key和所述value确定所述时序数据的存储数据。
2.根据权利要求1所述的处理方法,所述对所述数据信息进行编码操作,得到编码数据,包括:
对所述数据信息进行二进制编码,得到数据编码。
3.根据权利要求2所述的处理方法,所述将所述长度值和所述数据编码存储为value前,还包括:
将所述长度值进行Varint编码,得到长度编码;
则所述将所述长度值和所述数据编码存储为value,包括:
将所述长度编码和所述数据编码拼接到一起存储为value。
4.根据权利要求1所述的处理方法,所述将所述时间信息和所述数据类型存储为具有第一长度的key,包括:
将所述时间信息和所述数据类型的枚举值存储为具有固定长度的key。
5.根据权利要求1所述的处理方法,还包括:
将预设时间周期中的存储数据存储在一行,并为该行中的每一个存储数据设置相同的Rowkey。
6.根据权利要求5所述的处理方法,还包括:
对同一行的所有存储数据进行压缩处理;
所述压缩处理包括:
将同一行的所有存储数据的key合并为压缩key,并将同一行的所有存储数据的value合并为压缩value,得到压缩处理数据。
7.根据权利要求6所述的处理方法,还包括:
对所述压缩处理数据进行解压缩操作;
所述解压缩操作包括:将所述压缩key分为多个具有第一长度的key;依据所述多个具有第一长度的key的位置顺序,逐个将value值解压出来;
value值解压过程包括:确定key中的数据类型;若数据类型表示为定长数据,则根据所述定长数据对应的数据长度从所述压缩处理数据中解压出包括长度值和具有所述数据长度的数据信息的value;若数据类型表示为变长数据,则先解析长度值,确定数据长度,再依据所述数据长度确定数据信息,得到包括长度值和数据信息的value。
8.一种基于HBase数据库的时序数据的处理装置,包括:
数据获取模块,用于获取时序数据,所述时序数据包括时间信息、数据类型和数据信息,所述数据信息为所述时序数据中不包含时间信息和数据类型的原始数据;
key值确定模块,用于将所述时间信息和所述数据类型存储为具有第一长度的key;
数据编码模块,用于对所述数据信息进行编码操作,得到编码数据;
长度确定模块,用于确定所述编码数据的长度值;
value值确定模块,用于将所述长度值和所述编码数据存储为value;
存储确定模块,用于依据所述key和所述value确定所述时序数据的存储数据。
9.一种存储介质,其上存储有程序,该程序被处理器执行时实现如下操作:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息,所述数据信息为所述时序数据中不包含时间信息和数据类型的原始数据;将所述时间信息和所述数据类型存储为具有第一长度的key;对所述数据信息进行编码操作,得到编码数据;确定所述编码数据的长度值;将所述长度值和所述编码数据存储为value;依据所述key和所述value确定所述时序数据的存储数据。
10.一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述可执行指令包括:获取时序数据,所述时序数据包括时间信息、数据类型和数据信息,所述数据信息为所述时序数据中不包含时间信息和数据类型的原始数据;将所述时间信息和所述数据类型存储为具有第一长度的key;对所述数据信息进行编码操作,得到编码数据;确定所述编码数据的长度值;将所述长度值和所述编码数据存储为value;依据所述key和所述value确定所述时序数据的存储数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302237.4A CN111078753B (zh) | 2019-12-17 | 2019-12-17 | 基于HBase数据库的时序数据的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302237.4A CN111078753B (zh) | 2019-12-17 | 2019-12-17 | 基于HBase数据库的时序数据的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078753A CN111078753A (zh) | 2020-04-28 |
CN111078753B true CN111078753B (zh) | 2024-02-27 |
Family
ID=70315092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911302237.4A Active CN111078753B (zh) | 2019-12-17 | 2019-12-17 | 基于HBase数据库的时序数据的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078753B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472915B (zh) * | 2023-12-27 | 2024-03-15 | 中国西安卫星测控中心 | 一种面向多Key值的时序数据的层级存储方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
CN104008134A (zh) * | 2014-05-06 | 2014-08-27 | 武汉邮电科学研究院 | 基于HBase的高效存储方法及系统 |
CN110109923A (zh) * | 2019-04-04 | 2019-08-09 | 北京市天元网络技术股份有限公司 | 时序数据的存储方法、分析方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436353B2 (en) * | 2017-09-13 | 2022-09-06 | Vmware, Inc. | Merge updates for key value stores |
-
2019
- 2019-12-17 CN CN201911302237.4A patent/CN111078753B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
CN104008134A (zh) * | 2014-05-06 | 2014-08-27 | 武汉邮电科学研究院 | 基于HBase的高效存储方法及系统 |
CN110109923A (zh) * | 2019-04-04 | 2019-08-09 | 北京市天元网络技术股份有限公司 | 时序数据的存储方法、分析方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111078753A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170371551A1 (en) | Capturing snapshots of variable-length data sequentially stored and indexed to facilitate reverse reading | |
US11494339B2 (en) | Multi-level compression for storing data in a data store | |
US10970281B2 (en) | Searching for data using superset tree data structures | |
CN105027071B (zh) | 管理对存储数据单元的操作 | |
US20200081993A1 (en) | File format for accessing data quickly and efficiently | |
CN111078701B (zh) | 基于关系型数据库的数据抽取方法及装置 | |
CN110995273B (zh) | 电力数据库的数据压缩方法、装置、设备及介质 | |
CN113157655A (zh) | 一种数据压缩、解压方法、装置、电子设备和存储介质 | |
CN111078753B (zh) | 基于HBase数据库的时序数据的存储方法及装置 | |
CN110874346B (zh) | 浮点值的压缩方案 | |
TWI619033B (zh) | 執行以時間序列資料與分析資料當中的至少一部分作為輸入資料之分析處理的分析系統及分析方法 | |
CN113837584B (zh) | 业务处理系统和基于业务处理系统的异常数据处理方法 | |
CN110716739A (zh) | 一种代码变更信息统计方法、系统和可读存储介质 | |
KR20150126667A (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN116707532A (zh) | 一种压缩文本的解压方法、装置、存储介质及电子设备 | |
CN104103028A (zh) | 诊疗记录管理系统和诊疗记录管理方法 | |
CN110647577A (zh) | 数据立方体的分区方法、装置、计算机设备及存储介质 | |
Batory | Index coding: a compression technique for large statistical databases | |
CN114817176A (zh) | 一种基于Nginx+MinIO+Redis的分布式文件存储系统及方法 | |
US20180039663A1 (en) | Performing set operations on variable-length data sequentially stored and indexed to facilitate reverse reading | |
US10037148B2 (en) | Facilitating reverse reading of sequentially stored, variable-length data | |
CN109857991B (zh) | 数据存储方法、装置及电子设备 | |
US20170308561A1 (en) | Indexing and sequentially storing variable-length data to facilitate reverse reading | |
JP2021052263A (ja) | データ圧縮装置およびデータ圧縮方法 | |
CN109871463B (zh) | 音频处理方法、装置、电子设备及存储介质 |
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 |