CN112818047A - 基于分布式数据库的数据存储方法、装置及电子设备 - Google Patents

基于分布式数据库的数据存储方法、装置及电子设备 Download PDF

Info

Publication number
CN112818047A
CN112818047A CN202110096014.8A CN202110096014A CN112818047A CN 112818047 A CN112818047 A CN 112818047A CN 202110096014 A CN202110096014 A CN 202110096014A CN 112818047 A CN112818047 A CN 112818047A
Authority
CN
China
Prior art keywords
data
stored
distributed database
target
value
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.)
Pending
Application number
CN202110096014.8A
Other languages
English (en)
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.)
China Tower Co Ltd
Original Assignee
China Tower 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 China Tower Co Ltd filed Critical China Tower Co Ltd
Priority to CN202110096014.8A priority Critical patent/CN112818047A/zh
Publication of CN112818047A publication Critical patent/CN112818047A/zh
Pending legal-status Critical Current

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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/2282Tablespace storage structures; Management thereof
    • 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

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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式数据库的数据存储方法、装置及电子设备,该方法包括:获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;将所述待存储数据存储至所述节点编号对应的物理存储节点中。本发明实施例可以提高节点访问效率。

Description

基于分布式数据库的数据存储方法、装置及电子设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于分布式数据库的数据存储方法、装置及电子设备。
背景技术
随着业务的拓展和管理精细化程度提升,数据量增长迅猛,在数据存储管理方面,分布式数据库如HBase得到了广泛的应用。
HBase在数据写入时通常是使用单调递增或者时序的键值将访问热度高的数据聚集在一个物理存储节点中,导致该物理存储节点的负载高,这样,数据分析统计和访问过程中会在并行访问某批数据如存储在该物理存储节点中的数据时出现问题,导致访问效率低。
发明内容
本发明实施例提供一种基于分布式数据库的数据存储方法、装置及电子设备,以解决现有技术中由于将访问热度高的数据聚集在一个物理存储节点中而导致的访问效率低的问题。
第一方面,本发明实施例提供了一种基于分布式数据库的数据存储方法,所述方法包括:
获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
将所述待存储数据存储至所述节点编号对应的物理存储节点中。
第二方面,本发明实施例还提供一种基于分布式数据库的数据存储装置,所述装置包括:
获取模块,用于获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
生成模块,用于基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
存储模块,包括将所述待存储数据存储至所述节点编号对应的物理存储节点中。
第三方面,本发明实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述基于分布式数据库的数据存储方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述基于分布式数据库的数据存储方法的步骤。
本发明实施例中,通过获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;并基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;将所述待存储数据存储至所述节点编号对应的物理存储节点中。如此,可以避免将目标数据文件中各待存储数据集中分配至一个物理存储节点上,从而可以均衡集群中各物理存储节点的访问压力,进而可以提高节点访问效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于分布式数据库的数据存储方法的流程图;
图2是本发明实施例提供的基于分布式数据库的数据存储方法一具体实施例的流程图;
图3是基于HBase将目标数据文件中多个待存储数据进行存储的示意图;
图4是本发明实施例提供的基于分布式数据库的数据存储装置的结构图;
图5是本发明实施例提供的基于分布式数据库的数据存储装置的功能框图;
图6是本发明实施提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例提供的基于分布式数据库的数据存储方法进行说明。
需要说明的是,本发明实施例提供的基于分布式数据库的数据存储方法可以应用于电子设备,用以解决现有技术中分布式数据库如HBase中访问热度高的数据集合在一个物理存储节点中,而导致物理存储节点的负载高以及访问效率低的问题,达到提高访问效率的目的。
参见图1,图1是本发明实施例提供的基于分布式数据库的数据存储方法的流程图,如图1所示,包括以下步骤:
步骤101,获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值。
该步骤中,所述分布式数据库可以为HBase,所述目标数据文件可以为需要进行处理的数据文件,其文件格式可以为任意格式,其文件内可以包括任意数据量的待存储数据,且待存储数据可以为任意数据,比如,待存储数据可以为手机上网日志数据,或者用户资料数据。
所述目标数据文件可以包括至少一个待存储数据和每个待存储数据对应的键值,其存储形式为键值和数据即KeyValue,相应的,其文件存储格式为HFILE格式。
在具体实施方式中,所述步骤101具体包括:
获取待存储至分布式数据库的数据文件;
对所述数据文件进行格式规范化处理,得到目标存储格式的所述目标数据文件,所述目标存储格式为所述分布式数据库对应的存储格式。
具体的,获取HBase的接口文件,该接口文件即为待存储至HBase的数据文件。将HBase的接口文件加载到HDFS中,该HDFS为Hadoop分布式文件存储系统;其中,所述接口文件就是需要进行处理的数据文件,以下数据文件以手机上网日志数据的文件为例进行详细说明。
将所述接口文件的格式转换成HFILE存储格式,得到规范化处理后的目标数据文件,该目标数据文件即为HFILE存储格式的文件。在进行格式转换时,HBase的数据是存储在HDFS上的,而在HDFS上文件是以HFILE格式存储的,因此,数据通常都是需要以文件形式存放的。一般来说,针对需要存储的源数据,通常都是先生成结构化的数据文件,再将文件转层HFILE格式加载入HBase。当然,也可以直接在获取到源数据的时候直接写成HFILE格式,再加载入HBase,具体通过哪种方式可以根据应用需求和使用场景。
步骤102,基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号。
该步骤中,可以根据待存储数据的每个键值分别生成随机种子,并以HBase的物理存储节点的总数量为除数对每个随机种子进行取模,获得节点编号,该节点编号即为对随机种子取模后的值,这样,节点编号即可落在物理存储节点的范围内。
随机种子可以理解为随机数,所述步骤102具体包括:
生成所述键值对应的随机数;
以所述分布式数据库的物理存储节点的数量为除数,对所述随机数进行取模,得到所述待存储数据对应的节点编号。
其中,可以根据现有的或者新的随机种子生成方法根据键值生成随机种子,比如,可以采用平方取中法,也可以采用线性取余法。以线性取余法为例,线性取余法为将随机种子设为X(0),用一个算法X(n+1)=(a*X(n)+b)mod c产生X(n+1)。
其中,a是系数,可以按照各自的业务确认;b是补充的随机的序列编号,如果X(n)的已经是随机的序列化的数据,那么b的值可以为0;而c是所取模的数据,这个一般是用物理存储节点数计算,通常将参数c取得很大,这样即可产生0到c-1之间的伪随机数。
在一可选实施方式中,所述键值可以为手机号码,所述生成所述键值对应的随机数,包括:
确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段关联的各个取值区间关联的所述待存储数据的数据量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值;
获取所述键值中与所述目标分布字段关联的目标值;
基于所述目标值生成所述键值对应的随机数。
具体的,可以首先确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段可以关联多个取值区间,以手机号码中的后两个数字的字段为目标分布字段为例,其可以关联00至10之间的区间和10至20之间的区间等。
所述目标数据文件中任一待存储数据均可以与一取值区间关联,比如,若某一待存储数据与目标取值区间关联表示,则所述待存储数据对应的键值中与所述目标分布字段关联的目标值位于所述目标取值区间内。
所述第一预设值和第二预设值的大小可以根据目标数据文件中待存储数据的数据量和取值区间的数量的比值确定的。比如,目标数据文件中待存储数据的数据量为100个,而取值区间的数量预先设置为10个,则比值为10,即平均分配至各个取值区间的待存储数据的数据量为10,而统计的均衡分布的数据量在10左右上下浮动,比如,所述第一预设值可以为6,而第二预设值可以为14。
在实际实施过程中,所述生成所述键值对应的随机数据可以包括:
确定可均衡分布所述待存储数据的目标分布字段;
获取所述键值中与所述目标分布字段关联的目标值;
基于所述目标值生成所述键值对应的随机数;
其中,基于所述目标分布字段对所述目标数据文件中的多个所述待存储数据对应的键值进行划分时,所述键值中与所述目标分布字段关联的目标值位于每一预设区间范围的数量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值。
举例来说,为了达到将目标数据文件中待存储数据均衡分布至各物理存储节点上,可以确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段可以为键值中的全部字段或部分字段。键值以手机号码为例,可以按照手机号码中后两个数字的字段进行待存储数据的数据量统计,确认各个取值区间内的数据量。
先大概估算出各个取值区间内的记录数,即00至10之间的取值区间有多少记录,10至20之间的取值区间有多少记录,如果各个取值区间内的数据量不均衡,则可以再调整预设的取值区间大小或者更换手机号码中其他字段的值进行统计,最终会从手机号码中确定一个使待存储数据的数据量分布均衡的目标分布字段,作为键值生成随机数的字段。得到取值区间的记录数之后,按照取值区间的记录数创建HBase表,并基于取值区间的记录数作为HBase表的物理存储节点的范围。
当获取到业务数据的时候,从手机号码中截取后两位字段的值,基于后两位字段的值可以生成随机种子,以物理存储节点的数量为除数,对该随机种子进行取模,得到能确保数据均衡分布的节点编号,通过将该节点编号作为表数据写入的行键Rowkey,以确保该记录的数据可以落在对应的物理存储节点中。而当所有数据都按照这种算法机制写入时,便可以确保所有的数据都会均匀的存储至各个物理存储节点上;如此,可以使目标数据文件中各数据均匀的分配至各节点进行存储,均衡了各节点的访问负载,均摊了各节点的访问压力,提高了节点访问效率。
可选的,所述基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号之前,所述方法还包括:
统计所述目标数据文件中所述目标分布字段对应的待存储数据的数据量;
基于所述数据量,确定所述分布式数据库的物理存储节点的数量。
在该实施方式中,得到取值区间的记录数之后,按照取值区间的记录数创建HBase表,并基于取值区间的记录数作为HBase表的物理存储节点的范围。如此,可以针对预估的数据大小和大数据通用处理平台Hadoop节点情况,来预先分配物理存储节点的个数用于每个数据的存放。之后,提取目标数据文件中键值如手机号码的字段用于数据分布的计算依据,通过手机号码计算唯一的随机种子,然后结合流式计算集群中的物理存储节点数量取模,取模的值作为物理节点编号,从而可以保证将目标数据文件中各数据均衡分配至预先分配的物理存储节点中。
步骤103,将所述待存储数据存储至所述节点编号对应的物理存储节点中。
该步骤中,可以按照生成的节点编号来存储各待存储数据,将所述待存储数据存储至节点编号对应的物理存储节点中,如此,可以分别将目标数据文件中每个键值对应的待存储数据加载至节点编号所对应的物理存储节点中。
以下以基于HBase存储手机上网日志数据为例,详细阐述本发明实施例中提供的基于分布式数据库的数据存储方法的全部过程。
参见图2,图2是本发明实施例提供的基于分布式数据库的数据存储方法一具体实施例的流程图,如图2所示,该具体实施例的基于分布式数据库的数据存储方法包括如下流程:
获取HBase的接口数据,所述接口数据可以为手机上网日志数据;
数据装载HDFS,具体可以通过JAVA程序将接口数据的文件加载到HDFS(Hadoop分布式文件存储系统)中;
HFILE规范化,应用程序将在HDFS上的接口数据的文件进行HFILE的格式化,便于后续将数据加载到HBase;其中,HFILE是HBase中KeyValue数据的存储格式,是属于HDFS中的文件;
获取接口数据中的手机号码作为数据分布的键值;
根据手机号码生成随机种子;其中,生成随机种子的算法可以有多种,如平方取中法和线性取余法;其中,一个键值通过随机数算法只会生成一个唯一的随机种子;
对随机种子取模;其中,在取模算法中,除数定义为物理存储节点的总数量;
对随机种子取模后的值可做为该条数据所属的物理存储节点的节点编号,该节点编号是指引数据流向的关键信息;
通过物理存储节点的节点编号指引数据加载到对应的物理存储节点中。
参见图3,图3是基于HBase将目标数据文件中多个待存储数据进行存储的示意图,如图3所示,包括如下步骤:
获取目标数据文件,所述目标数据文件包括多个待存储数据和每个待存储数据对应的键值,分别包括KEY1、KEY2和KEY3;
获取目标数据文件中的键值,分别包括KEY1、KEY2和KEY3;
分别对KEY1取随机种子,KEY2取随机种子,KEY3取随机种子;
分别对每个键值的随机种子取模,取模的除数为物理存储节点的总数量,可以为1024;
得到取模的值,该值为物理存储节点的节点编号,分别为2、132和N,N的取值范围为1至1024;
将待存储数据分别存储至节点编号对应的物理存储节点中。
下面对本发明实施例提供的基于分布式数据库的数据存储装置进行说明。
参见图4,图4是本发明实施例提供的基于分布式数据库的数据存储装置的结构图,能实现上述基于分布式数据库的数据存储方法的细节,并达到相同的效果。如图4所示,基于分布式数据库的数据存储装置400包括:
获取模块401,用于获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
生成模块402,用于基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
存储模块403,包括将所述待存储数据存储至所述节点编号对应的物理存储节点中。
可选的,所述生成模块402包括:
生成单元,用于生成所述键值对应的随机数;
取模单元,用于以所述分布式数据库的物理存储节点的数量为除数,对所述随机数进行取模,得到所述待存储数据对应的节点编号。
可选的,所述生成单元,具体用于确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段关联的各个取值区间关联的所述待存储数据的数据量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值;获取所述键值中与所述目标分布字段关联的目标值;基于所述目标值生成所述键值对应的随机数。
可选的,所述装置还包括:
统计模块,用于统计所述目标数据文件中所述目标分布字段对应的待存储数据的数据量;
确定模块,用于基于所述数据量,确定所述分布式数据库的物理存储节点的数量。
可选的,所述获取模块,具体用于获取待存储至分布式数据库的数据文件;对所述数据文件进行格式规范化处理,得到目标存储格式的所述目标数据文件,所述目标存储格式为所述分布式数据库对应的存储格式。
上述基于分布式数据库的数据存储装置400能实现上述基于分布式数据库的数据存储方法实施例中电子设备实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。
参见图5,图5是本发明实施例提供的基于分布式数据库的数据存储装置的功能框图,如图5所示,基于分布式数据库的数据存储装置包括获取层、处理层和功能层,各层的具体说明如下:
获取层:负责将接口数据装载到HDFS中,并进行HFILE规范化;
处理层:负责HBase表数据块的定义、接口数据的加载指引,即落到HBase哪个数据块中、以及接口加载HBase工作;
同时,针对预估的数据大小和Hadoop节点情况来预先分配物理存储节点的个数用于每个数据块的存放,提取键值如手机号码用于数据分布的计算依据,通过手机号码计算唯一的随机种子,结合流式计算集群中的物理存储节点数量对随机种子进行取模,取模的值作为物理存储节点的节点编号。
功能层:负责HBase数据的处理和查询等对外服务工作。
参见图6,图6是本发明实施提供的电子设备的结构图,如图6所示的电子设备包括:处理器601、存储器602及存储在所述存储器602上并可在所述处理器上运行的计算机程序,电子设备中的各个组件通过总线接口603耦合在一起,所述计算机程序被所述处理器601执行时实现如下步骤:
获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
将所述待存储数据存储至所述节点编号对应的物理存储节点中。
可选的,所述处理器601,具体用于:
生成所述键值对应的随机数;
以所述分布式数据库的物理存储节点的数量为除数,对所述随机数进行取模,得到所述待存储数据对应的节点编号。
可选的,所述处理器601,具体用于:
确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段关联的各个取值区间关联的所述待存储数据的数据量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值;
获取所述键值中与所述目标分布字段关联的目标值;
基于所述目标值生成所述键值对应的随机数。
可选的,所述处理器601,还用于:
统计所述目标数据文件中所述目标分布字段对应的待存储数据的数据量;
基于所述数据量,确定所述分布式数据库的物理存储节点的数量。
可选的,所述处理器601,具体用于:
获取待存储至分布式数据库的数据文件;
对所述数据文件进行格式规范化处理,得到目标存储格式的所述目标数据文件,所述目标存储格式为所述分布式数据库对应的存储格式。
优选的,本发明实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一方法实施例的基于分布式数据库的数据存储方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于分布式数据库的数据存储方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于分布式数据库的数据存储方法,其特征在于,所述方法包括:
获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
将所述待存储数据存储至所述节点编号对应的物理存储节点中。
2.根据权利要求1所述的方法,其特征在于,所述基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号,包括:
生成所述键值对应的随机数;
以所述分布式数据库的物理存储节点的数量为除数,对所述随机数进行取模,得到所述待存储数据对应的节点编号。
3.根据权利要求2所述的方法,其特征在于,所述生成所述键值对应的随机数,包括:
确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段关联的各个取值区间关联的所述待存储数据的数据量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值;
获取所述键值中与所述目标分布字段关联的目标值;
基于所述目标值生成所述键值对应的随机数。
4.根据权利要求3所述的方法,其特征在于,所述基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号之前,所述方法还包括:
统计所述目标数据文件中所述目标分布字段对应的待存储数据的数据量;
基于所述数据量,确定所述分布式数据库的物理存储节点的数量。
5.根据权利要求1所述的方法,其特征在于,所述获取待存储至分布式数据库的目标数据文件,包括:
获取待存储至分布式数据库的数据文件;
对所述数据文件进行格式规范化处理,得到目标存储格式的所述目标数据文件,所述目标存储格式为所述分布式数据库对应的存储格式。
6.一种基于分布式数据库的数据存储装置,其特征在于,所述装置包括:
获取模块,用于获取待存储至分布式数据库的目标数据文件,所述目标数据文件包括待存储数据和所述待存储数据对应的键值;
生成模块,用于基于所述键值和所述分布式数据库的物理存储节点的数量,生成所述待存储数据对应的节点编号;
存储模块,包括将所述待存储数据存储至所述节点编号对应的物理存储节点中。
7.根据权利要求6所述的装置,其特征在于,所述生成模块包括:
生成单元,用于生成所述键值对应的随机数;
取模单元,用于以所述分布式数据库的物理存储节点的数量为除数,对所述随机数进行取模,得到所述待存储数据对应的节点编号。
8.根据权利要求7所述的装置,其特征在于,所述生成单元,具体用于确定可均衡分布所述待存储数据的目标分布字段,所述目标分布字段关联的各个取值区间关联的所述待存储数据的数据量大于第一预设值,且小于第二预设值,所述第一预设值小于所述第二预设值;获取所述键值中与所述目标分布字段关联的目标值;基于所述目标值生成所述键值对应的随机数。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于分布式数据库的数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于分布式数据库的数据存储方法的步骤。
CN202110096014.8A 2021-01-25 2021-01-25 基于分布式数据库的数据存储方法、装置及电子设备 Pending CN112818047A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110096014.8A CN112818047A (zh) 2021-01-25 2021-01-25 基于分布式数据库的数据存储方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110096014.8A CN112818047A (zh) 2021-01-25 2021-01-25 基于分布式数据库的数据存储方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN112818047A true CN112818047A (zh) 2021-05-18

Family

ID=75859625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110096014.8A Pending CN112818047A (zh) 2021-01-25 2021-01-25 基于分布式数据库的数据存储方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112818047A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116774A (zh) * 2022-01-28 2022-03-01 北京安帝科技有限公司 日志数据的查询方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252535A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的数据散列处理方法及装置
CN106227799A (zh) * 2016-07-21 2016-12-14 江和慧 一种基于分布式数据库的sql语句处理方法
CN106528717A (zh) * 2016-10-26 2017-03-22 中国电子产品可靠性与环境试验研究所 数据处理方法和系统
US20180203874A1 (en) * 2017-01-18 2018-07-19 International Business Machines Corporation Space-efficient secondary indexing on distributed data stores

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252535A (zh) * 2014-09-16 2014-12-31 福建新大陆软件工程有限公司 一种基于hbase的数据散列处理方法及装置
CN106227799A (zh) * 2016-07-21 2016-12-14 江和慧 一种基于分布式数据库的sql语句处理方法
CN106528717A (zh) * 2016-10-26 2017-03-22 中国电子产品可靠性与环境试验研究所 数据处理方法和系统
US20180203874A1 (en) * 2017-01-18 2018-07-19 International Business Machines Corporation Space-efficient secondary indexing on distributed data stores

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116774A (zh) * 2022-01-28 2022-03-01 北京安帝科技有限公司 日志数据的查询方法及装置
CN114116774B (zh) * 2022-01-28 2022-06-28 北京安帝科技有限公司 日志数据的查询方法及装置

Similar Documents

Publication Publication Date Title
CN114175568B (zh) 安全的多方到达率和频率估算
CN112035404B (zh) 医疗数据监控与预警方法、装置、设备及存储介质
US20190332806A1 (en) Methods and systems for obfuscating sensitive information in computer systems
CN107070847A (zh) 频率隐藏保序加密
CN110209874B (zh) 信息处理方法、装置、电子设备及存储介质
US20160378629A1 (en) Systems and methods for performance monitoring
RU2292074C2 (ru) Способ и устройство формирования стартового значения для генератора псевдослучайных чисел
CN110727727A (zh) 一种数据库的统计方法及装置
CN110457396A (zh) 一种基于区块链科研数据处理方法、装置、设备和存储介质
CN110019205B (zh) 一种数据存储、还原方法、装置及计算机设备
CN112818047A (zh) 基于分布式数据库的数据存储方法、装置及电子设备
CN111078413B (zh) 一种定时任务的执行方法、装置、计算机设备及存储介质
CN110580307B (zh) 一种快速统计的处理方法及装置
CN115580484B (zh) 适用能耗数据的安全联合计算方法、系统及存储介质
CN107391541A (zh) 一种实时数据合并方法和装置
CN109246731B (zh) Prb干扰指标的优化方法、装置、计算机存储介质及设备
JP2018049437A (ja) 評価装置、評価方法及び評価プログラム
CN110489460B (zh) 一种快速统计的优化方法及系统
CN115455463A (zh) 一种基于同态加密的隐匿sql查询方法
CN112749197B (zh) 数据分片刷新方法、装置、设备及存储介质
CN114610803A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN113377813A (zh) 全局唯一标识码生成方法、设备、系统和计算机可读介质
CN113568967A (zh) 时序指标数据动态提取方法、电子设备及存储介质
CN113779075A (zh) 基于差分隐私的数据查询方法、装置、设备及存储介质
CN112182593A (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
CB02 Change of applicant information

Address after: Room 101, floors 1-3, building 14, North District, yard 9, dongran North Street, Haidian District, Beijing 100029

Applicant after: CHINA TOWER Co.,Ltd.

Address before: 100142 19th floor, 73 Fucheng Road, Haidian District, Beijing

Applicant before: CHINA TOWER Co.,Ltd.

CB02 Change of applicant information