CN115438046B - 一种基于htap数据库的分布式储存方法 - Google Patents

一种基于htap数据库的分布式储存方法 Download PDF

Info

Publication number
CN115438046B
CN115438046B CN202211023175.5A CN202211023175A CN115438046B CN 115438046 B CN115438046 B CN 115438046B CN 202211023175 A CN202211023175 A CN 202211023175A CN 115438046 B CN115438046 B CN 115438046B
Authority
CN
China
Prior art keywords
data
processor
storage
distributed storage
distributed
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
CN202211023175.5A
Other languages
English (en)
Other versions
CN115438046A (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.)
Beijing Great Opensource Software Co ltd
Original Assignee
Beijing Great Opensource Software 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 Beijing Great Opensource Software Co ltd filed Critical Beijing Great Opensource Software Co ltd
Priority to CN202211023175.5A priority Critical patent/CN115438046B/zh
Publication of CN115438046A publication Critical patent/CN115438046A/zh
Application granted granted Critical
Publication of CN115438046B publication Critical patent/CN115438046B/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/2219Large Object storage; Management thereof
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • 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/2255Hash tables
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本发明提供了一种基于HTAP数据库的分布式储存方法,方法包括:通过数据导入系统获取数据源中的数据,并存储于HTAP数据库的存储引擎中;处理器将数据分散存储到各进程的服务器中,构建数据在一组进程的分布式存储;根据数据上已有分布式存储中源并行剖分,对数据进行重新分布,构建数据上与源并行剖分对应的目标并行剖分的分布式存储;根据数据在一组进程的分布式存储及目标并行剖分的分布式存储,构建分布式存储模型,采用自适应适量查找压缩算法进行数据压缩并加密实现HTAP数据库的分布式储存。本发明实现了实时业务决策,避免了繁琐且昂贵的数据仓库技术操作,更快地对最新数据分析;构建分布式存储,降低每个进程的工作负荷。

Description

一种基于HTAP数据库的分布式储存方法
技术领域
本发明涉及数据存储技术领域,特别涉及一种基于HTAP(Hybridtransac-tionandanalysisprocessing,Hybridtransac-tionandanalysisprocessing)数据库的分布式储存方法。
背景技术
数据库是存放数据的仓库,存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据,即这个互联网世界就是数据世界,数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等,除了文本类型的数据,图像、音乐、声音都是数据。例如:联机事务处理过程(On-LineTransactionProcessing,OLTP),也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,在很短的时间内给出处理结果,是对用户操作快速响应的方式之一,支持事务,它主要应用于传统的关系型数据库当中。联机分析处理过程(OnlineTransactionProcessing,OLAP)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。因此面向决策分析的人员比较多。它主要应用于数据仓库系统,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。
现有技术一,CN202110796219.7一种数据存储方法及系统,方法包括:构建数据仓库,数据仓库包括:一个或多个OLTP数据库;建立不同的业务场景与OLTP数据库之间的映射关系;获取待存储数据;根据待存储数据的关联信息和映射关系,确定对应的OLTP数据库,关联信息至少包括以下之一:业务场景信息、数据存储量和数据类型;将待存储数据存储至对应的OLTP数据库,完成数据存储;数据存储方法,通过建立业务场景与OLTP数据库之间的映射关系,根据待存储数据的关联信息和映射关系,将待存储数据存储至对应的OLTP数据库,实现了对不同业务场景的数据的针对性存储,且通过将待存储数据存储至OLTP数据库,能够较好地支持即席查询,实现数据的定制化存储与查询。
现有技术二,CN201210544711.6用于基于列的数据库的列智能机制,所述方法可以包括接收对访问基于列的存储部上的数据的OLTP事务的请求。可以确定与数据库相关联的高速缓存是否包括用于OLTP事务的列信息。如果高速缓存包括用于OLTP事务的列信息,则所述方法可以包括利用高速缓存中的列信息处理OLTP事务。如果高速缓存不包括用于OLTP事务的列信息,则所述方法可以包括从数据库的基于列的存储部选择列。
现有技术三,CN201810723676.1一种OLAP架构,它包括RestAPI层、OLAP引擎层、支撑层和存储层,所述的RestAPI层内包含了查询对象构建内容,所述的OLAP引擎层内包含了查询队列、上下文资源、过滤器解析、字段解析、表关联解析、SQL组装器、衍生度量解析、排序、格式化、表格处理和结果集处理内容,所述的支撑层内包含了数据源管理、元数据管理、缓存管理和表达式内容,所述的存储层内包含了外部数据源、元数据存储和缓存存储内容。有益效果是:在一个主题内可以自由的设置维度、度量,快速的生成各种类型的分析报表,每个地方都不需要自己去开发,大大降低了工作量,提高了工作效率。
目前传统面向OLAP或OLTP的数据库采用单一“列存”或“行存”的存储方案,无法兼顾列存能高效地实现复杂查询和行存有利于实现高效的事务处理两种数据存储格式的优势,导致数据存储的效率低。
发明内容
为了解决上述技术问题,本发明提供了一种基于HTAP数据库的分布式储存方法,包括以下步骤:
通过数据导入系统获取数据源中的数据,并存储于HTAP数据库的存储引擎中;处理器将数据分散存储到各进程的服务器中,构建数据在一组进程的分布式存储;
构建数据上与源并行剖分对应的目标并行剖分的分布式存储,构建分布式存储模型实现HTAP数据库的分布式储存。
可选的,存储引擎包括:
存储引擎模块,当查询及数据导入服务模块需要查询数据的时候都要向HTAP数据库发出请求;
存储引擎助手模块;主要负责为存储引擎模块提供可靠性保障,将存储引擎模块序列化到磁盘的数据通过多副本机制存放,同时维护了副本之间的一致性;
数据导入服务模块,根据存储引擎模块的负载情况实现负载均衡;
查询模块,是一个分布式的查询引擎,当处理器指派一个存储引擎模块成为主存储引擎以后,接收并解析结构化查询语言语句,然后生成分布式逻辑执行计划优化后转为分布式的物理执行计划,并生成物理算子分散到存储引擎模块集群中进行调度和执行。
可选的,构建数据在一组进程的分布式存储包括:
接收要存储在具有多个各进程的服务器中的数据;
处理器计算负载平衡状态,各处理器按照计算时间相等的原则,以其速度为权值划分计算量,再根据计算量划分确定数据剖分;
确定数据剖分后,接收与数据的至少一个特性相关联的信息,基于与数据相关联的特性来分区数据以存储在服务器中,将所分区的数据存储在与多个数据服务器相关联的存储单元中。
可选的,处理器计算负载平衡状态通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对,当平衡诊断量不大于预定义的处理器的负载平衡阈值时,则处理器正常根据计算量划分确定数据剖分;当平衡诊断量大于预定义的处理器的负载平衡阈值时,则按照最小的平衡诊断量的数值进行计算量划分确定数据剖分;通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对确保处理器不会超载。
可选的,处理器的负载平衡状态的浮动控制在6%以内。
可选的,根据数据上已有分布式存储中源并行剖分,对数据进行重新分布,构建数据上与源并行剖分对应的目标并行剖分的分布式存储。
可选的,根据数据在一组进程的分布式存储及目标并行剖分的分布式存储,构建分布式存储模型,采用自适应适量查找压缩算法进行数据压缩并加密实现HTAP数据库的分布式储存。
可选的,分布式存储模型的构建方法包括:
对在一组进程的分布式存储及目标并行剖分的数据按照类型分类;
抽取数据特征,作为分配到各服务器存储的分散因子;
结合一致性哈希算法以分布式环境虚拟化服务器作为数据存储核心,应用动态分配策略将虚拟化服务器动态地分配到一致性哈希环形空间,依据抽取的特征信息将数据均匀地分配到各虚拟存储服务器;
虚拟服务器存储节点内部使用面向对象数据库收集和管理;同时与处理器交换数据属性信息及元数据信息,虚拟磁盘空间以支持直接寻址法的文件目录结构存储数据,通过面向对象数据库建立索引支持对数据的并发模糊检索。
可选的,自适应适量查找压缩算法进行数据压缩具体包括:
编码器第一次读取重新分布后数据,编码器初始化码书,码书中的每一个码字均由序列标识和内容标识组成,第一次接收数据码书中是没有内容的,码书将数据编码写入第一个序列标识,将重新分布后数据写入第一个内容标识,并将码字写入存储数据流;
再次读取重新分布后数据时进行查找操作,如果在码书中找到内容标识,使内容标识与再次读取重新分布后数据相同,那么取出内容标识对应的序列标识,将序列标识写入存储数据流;如果在码书中没有找到内容标识,使内容标识与再次读取重新分布后数据相同,那么将码字写入码书尾部,并将码字写入存储数据流中;
译码端要对码书中有序列标识或没有序列标识进行判断,根据判断结果来确定直接在码书中读取内容标识还是在接收端接收数据。
可选的,自适应适量查找压缩算法进行数据压缩并加密利用伪随机数生成方法构造一个随机序列,数据采用平方剩余算法生成新的随机序列,基于新的随机序列生成密钥流序列,分组加密过程中明文和密钥流按字节长度分别加密。
本发明的HTAP数据库打破了OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景;实现了实时业务决策,不但避免了繁琐且昂贵的数据仓库技术操作,可以更快地对最新数据进行分析;本发明对数据进行分布式存储,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷;通过分布式存储模型执行存储操作,可以有效降低数据在一个进程上的运行内存,提升处理器的计算处理能力;本发明对数据进行重分节约了存储资源,提升了处理器的执行效率。本发明自适应适量查找压缩算法进行数据压缩节省了HTAP数据库的内存空间,在数据压缩和数据解压缩的过程中,码书才会自动生成并且短暂的驻留内存,压缩和解压缩结束后,码书即可销毁,下次需要压缩数据或解压时,新的码书会再次自动生成,减小了码书的规模,减小了HTAP数据库的负载,提升了数据存储的效率;本发明现进行数据的压缩再进行加密,数据压缩后容量变小,有利于节省HTAP数据库的存储空间。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中基于HTAP数据库的分布式储存方法流程图;
图2为本发明实施例中构建数据在一组进程的分布式存流程图;
图3为本发明实施例中分布式存储模型的构建方法流程图;
图4为本发明实施例中自适应适量查找压缩算法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例中所使用的单数形式的“一种”旨在包括多数形式,除非上下文清楚地表示其他含义。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如本申请的一些方面相一致的装置和方法的例子。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
实施例1
如图1所示,本发明实施例提供了一种基于HTAP数据库的分布式储存方法,包括以下步骤:
S100:通过数据导入系统获取数据源中的数据,并存储于HTAP数据库的存储引擎中;
S200:处理器将数据分散存储到各进程的服务器中,构建数据在一组进程的分布式存储;
S300:根据数据上已有分布式存储中源并行剖分,对数据进行重新分布,构建数据上与源并行剖分对应的目标并行剖分的分布式存储;
S400:根据数据在一组进程的分布式存储及目标并行剖分的分布式存储,构建分布式存储模型,采用自适应适量查找压缩算法进行数据压缩并加密实现HTAP数据库的分布式储存。
上述技术方案的工作原理和有益效果为:本发明的HTAP数据库打破了OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景;实现了实时业务决策,不但避免了繁琐且昂贵的数据仓库技术操作,可以更快地对最新数据进行分析;本发明对数据进行分布式存储,分散存储到各个进程中,构建分布式存储,以降低每个进程的工作负荷;通过分布式存储模型执行存储操作,可以有效降低数据在一个进程上的运行内存,提升处理器的计算处理能力;本发明对数据进行重分节约了存储资源,提升了处理器的执行效率。本发明自适应适量查找压缩算法进行数据压缩节省了HTAP数据库的内存空间,在数据压缩和数据解压缩的过程中,码书才会自动生成并且短暂的驻留内存,压缩和解压缩结束后,码书即可销毁,下次需要压缩数据或解压时,新的码书会再次自动生成,减小了码书的规模,减小了HTAP数据库的负载,提升了数据存储的效率;本发明现进行数据的压缩再进行加密,数据压缩后容量变小,有利于节省HTAP数据库的存储空间。
实施例2
在实施例1的基础上,本发明实施例提供步骤S100的存储引擎包括:
存储引擎模块,当查询及数据导入服务模块需要查询数据的时候都要向HTAP数据库发出请求;
存储引擎助手模块;主要负责为存储引擎模块提供可靠性保障,将存储引擎模块序列化到磁盘的数据通过多副本机制存放,同时维护了副本之间的一致性;
数据导入服务模块,根据存储引擎模块的负载情况实现负载均衡;
查询模块,是一个分布式的查询引擎,当处理器指派一个存储引擎模块成为主存储引擎以后,接收并解析结构化查询语言语句,然后生成分布式逻辑执行计划优化后转为分布式的物理执行计划,并生成物理算子分散到存储引擎模块集群中进行调度和执行。
上述技术方案的工作原理和有益效果为:本发明设置存储引擎模块向HTAP数据库发出请求;存储引擎助手模块为存储引擎模块提供可靠性保障,将存储引擎模块序列化到磁盘的数据通过多副本机制存放;数据导入服务模块根据存储引擎模块的负载情况实现负载均衡;查询模块接收并解析结构化查询语言语句,然后生成分布式逻辑执行计划优化后转为分布式的物理执行计划,并生成物理算子分散到存储引擎模块集群中进行调度和执行;实现了HTAP数据库稳定可靠的工作,当HTAP数据库通过数据导入系统获取数据源中的数据时,提供了稳定且可靠的存储环境,有利于提高存储效率。
实施例3
如图2所示,在实施例1的基础上,本发明实施例提供的步骤S200,具体包括:
S201:接收要存储在具有多个各进程的服务器中的数据;
S202:处理器计算负载平衡状态,各处理器按照计算时间相等的原则,以其速度为权值划分计算量,再根据计算量划分确定数据剖分;
S203:确定数据剖分后,接收与数据的至少一个特性相关联的信息,基于与数据相关联的特性来分区数据以存储在服务器中,将所分区的数据存储在与多个数据服务器相关联的存储单元中。
上述技术方案的工作原理和有益效果为:本发明通过处理器计算负载平衡状态,各处理器按照计算时间相等的原则,以其速度为权值划分计算量,再根据计算量划分确定数据剖分,使得处理器的处理效率增加,提升了数据分散存储的效率,减轻了处理器的负担,有利于节约资源;本发明基于与数据相关联的特性来分区数据以存储在服务器中,将所分区的数据存储在与多个数据服务器相关联的存储单元中,在处理器高效处理数据的前提下,通过将数据分别存在出与之对应的存储单元中,实现了数据的分布式存储,提高了数据的存储效率,减轻了处理器的负担。
实施例4
在实施例3的基础上,本发明实施例提供的处理器计算负载平衡状态的公式为:
Figure SMS_1
其中,h表示平衡诊断量,M表示处理器数量,处理器与进程一一对应,z表示为处理器的序号,
Figure SMS_2
表示处理器运行一次的计算时间,
Figure SMS_3
表示预定义的处理器的负载平衡阈值。
上述技术方案的工作原理和有益效果为:本发明通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对,当平衡诊断量不大于预定义的处理器的负载平衡阈值时,则处理器正常根据计算量划分确定数据剖分;当平衡诊断量大于预定义的处理器的负载平衡阈值时,则按照最小的平衡诊断量的数值进行计算量划分确定数据剖分;通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对确保处理器不会超载,一定程度上保持了处理器的高效工作,保证了分布式存储的效率。
实施例5
在实施例4的基础上,本发明实施例提供的负载平衡状态的浮动控制方程为:
Figure SMS_4
Figure SMS_5
Figure SMS_6
其中,
Figure SMS_7
表示序号为i处理器上的j个进程的负载度,
Figure SMS_8
表示j个进程的总负载度,M表示处理器的数量,n表示各个数据的数量,
Figure SMS_9
表示在序号为i处理器上的第j个进程访问的次数,
Figure SMS_10
表示序号为i处理器上的j个进程的独立性,
Figure SMS_11
表示在序号为i的处理器上的j个进程执行的时间,
Figure SMS_12
表示序号为i的处理器上的j个进程花费的执行的时间比重。
上述技术方案的工作原理和有益效果为:本发明的处理器的负载平衡状态的浮动控制在6%,提升了处理器对进程的处理效率,避免了其他任务对处理效率的影响,同时提高了处理器的利用率,避免了能耗的损失,提高数据发呢不是存储的效率,减轻了处理器的负载。
实施例6
如图3所示,在实施例1的基础上,本发明实施例提供的分布式存储模型的构建方法包括:
S401:对在一组进程的分布式存储及目标并行剖分的数据按照类型分类;
S402:抽取数据特征,作为分配到各服务器存储的分散因子;
S403:结合一致性哈希算法以分布式环境虚拟化服务器作为数据存储核心,应用动态分配策略将虚拟化服务器动态地分配到一致性哈希环形空间,依据抽取的特征信息将数据均匀地分配到各虚拟存储服务器;
S404:虚拟服务器存储节点内部使用面向对象数据库收集和管理;同时与处理器交换数据属性信息及元数据信息,虚拟磁盘空间以支持直接寻址法的文件目录结构存储数据,通过面向对象数据库建立索引支持对数据的并发模糊检索。
上述技术方案的工作原理和有益效果为:本发明结合一致性哈希算法将数据均匀的分配在分布式环境下的各虚拟存储节点,最后应用虚拟服务器动态分配策略,优化了分布式环境物理硬件资源,实现了数据的均衡分配,提升了检索效率,在数据分发服务系统中的应用也验证模型的实用性及可靠性。
实施例7
如图4所示,在实施例1的基础上,本发明实施例提供的自适应适量查找压缩算法进行数据压缩具体包括:
S501:编码器第一次读取重新分布后数据,编码器初始化码书,码书中的每一个码字均由序列标识和内容标识组成,第一次接收数据码书中是没有内容的,码书将数据编码写入第一个序列标识,将重新分布后数据写入第一个内容标识,并将码字写入存储数据流;
S502:再次读取重新分布后数据时进行查找操作,如果在码书中找到内容标识,使内容标识与再次读取重新分布后数据相同,那么取出内容标识对应的序列标识,将序列标识写入存储数据流;如果在码书中没有找到内容标识,使内容标识与再次读取重新分布后数据相同,那么将码字写入码书尾部,并将码字写入存储数据流中;
S503:译码端要对码书中有序列标识或没有序列标识进行判断,根据判断结果来确定直接在码书中读取内容标识还是在接收端接收数据。
上述技术方案的工作原理和有益效果为:本发明自适应适量查找压缩算法进行数据压缩节省了HTAP数据库的内存空间,在数据压缩和数据解压缩的过程中,码书才会自动生成并且短暂的驻留内存,压缩和解压缩结束后,码书即可销毁,下次需要压缩数据或解压时,新的码书会再次自动生成,减小了码书的规模,减小了HTAP数据库的负载,提升了数据存储的效率。
实施例8
在实施例1的基础上,本发明实施例提供的自适应适量查找压缩算法进行数据压缩并加密利用伪随机数生成方法构造一个随机序列,数据采用平方剩余算法生成新的随机序列,基于新的随机序列生成密钥流序列,分组加密过程中明文和密钥流按字节长度分别加密;
设随机序列
Figure SMS_13
为密钥流,明文分组和密文分组分别表示为:
Figure SMS_14
Figure SMS_15
加密过程中
Figure SMS_16
Figure SMS_17
表示数据的加密函数。
上述技术方案的工作原理和有益效果为:本发明采用自适应适量查找压缩算法进行数据压缩并加密利用伪随机数生成方法构造一个随机序列,数据采用平方剩余算法生成新的随机序列,基于新的随机序列生成密钥流序列,分组加密过程中明文和密钥流按字节长度分别加密,消除密钥之间的相关性是提升数据安全性和准确性的关键,采用伪随机数实现密钥扩展,提升密钥扩展性能,保证了HTAP数据库存储数据的安全性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种基于HTAP数据库的分布式储存方法,其特征在于,包括以下步骤:
通过数据导入系统获取数据源中的数据,并存储于HTAP数据库的存储引擎中;处理器将数据分散存储到各进程的服务器中,构建数据在一组进程的分布式存储;
构建数据上与源并行剖分对应的目标并行剖分的分布式存储,构建分布式存储模型实现HTAP数据库的分布式储存;
构建数据在一组进程的分布式存储包括:
接收要存储在具有多个各进程的服务器中的数据;
处理器计算负载平衡状态,各处理器按照计算时间相等的原则,以其速度为权值划分计算量,再根据计算量划分确定数据剖分;
确定数据剖分后,接收与数据的至少一个特性相关联的信息,基于与数据相关联的特性来分区数据以存储在服务器中,将所分区的数据存储在与多个数据服务器相关联的存储单元中;
处理器计算负载平衡状态的公式为:
Figure QLYQS_1
其中,h表示平衡诊断量,M表示处理器数量,处理器与进程一一对应,z表示为处理器的序号,
Figure QLYQS_2
表示处理器运行一次的计算时间,
Figure QLYQS_3
表示序号为1的处理器运行一次的计算时间,
Figure QLYQS_4
表示预定义的处理器的负载平衡阈值;
负载平衡状态的浮动控制方程为:
Figure QLYQS_5
Figure QLYQS_6
Figure QLYQS_7
其中,
Figure QLYQS_8
表示序号为i处理器上的j个进程的负载度,
Figure QLYQS_9
表示j个进程的总负载度,M表示处理器的数量,n表示各个数据的数量,
Figure QLYQS_10
表示在序号为i处理器上的第j个进程访问的次数,
Figure QLYQS_11
表示序号为i处理器上的j个进程的独立性,
Figure QLYQS_12
表示在序号为i的处理器上的j个进程执行的时间,
Figure QLYQS_13
表示序号为i的处理器上的j个进程花费的执行的时间比重。
2.如权利要求1所述的基于HTAP数据库的分布式储存方法,其特征在于,存储引擎包括:
存储引擎模块,当查询及数据导入服务模块需要查询数据的时候都要向HTAP数据库发出请求;
存储引擎助手模块;主要负责为存储引擎模块提供可靠性保障,将存储引擎模块序列化到磁盘的数据通过多副本机制存放,同时维护了副本之间的一致性;
数据导入服务模块,根据存储引擎模块的负载情况实现负载均衡;
查询模块,是一个分布式的查询引擎,当处理器指派一个存储引擎模块成为主存储引擎以后,接收并解析结构化查询语言语句,然后生成分布式逻辑执行计划优化后转为分布式的物理执行计划,并生成物理算子分散到存储引擎模块集群中进行调度和执行。
3.如权利要求1所述的基于HTAP数据库的分布式储存方法,其特征在于,处理器计算负载平衡状态通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对,当平衡诊断量不大于预定义的处理器的负载平衡阈值时,则处理器正常根据计算量划分确定数据剖分;当平衡诊断量大于预定义的处理器的负载平衡阈值时,则按照最小的平衡诊断量的数值进行计算量划分确定数据剖分;通过平衡诊断量与预定义的处理器的负载平衡阈值进行比对确保处理器不会超载。
4.如权利要求3所述的基于HTAP数据库的分布式储存方法,其特征在于,处理器的负载平衡状态的浮动控制在6%以内。
5.如权利要求1所述的基于HTAP数据库的分布式储存方法,其特征在于,根据数据上已有分布式存储中源并行剖分,对数据进行重新分布,构建数据上与源并行剖分对应的目标并行剖分的分布式存储。
6.如权利要求1所述的基于HTAP数据库的分布式储存方法,其特征在于,根据数据在一组进程的分布式存储及目标并行剖分的分布式存储,构建分布式存储模型,采用自适应适量查找压缩算法进行数据压缩并加密实现HTAP数据库的分布式储存。
7.如权利要求6所述的基于HTAP数据库的分布式储存方法,其特征在于,分布式存储模型的构建方法包括:
对在一组进程的分布式存储及目标并行剖分的数据按照类型分类;
抽取数据特征,作为分配到各服务器存储的分散因子;
结合一致性哈希算法以分布式环境虚拟化服务器作为数据存储核心,应用动态分配策略将虚拟化服务器动态地分配到一致性哈希环形空间,依据抽取的特征信息将数据均匀地分配到各虚拟存储服务器;
虚拟服务器存储节点内部使用面向对象数据库收集和管理;同时与处理器交换数据属性信息及元数据信息,虚拟磁盘空间以支持直接寻址法的文件目录结构存储数据,通过面向对象数据库建立索引支持对数据的并发模糊检索。
8.如权利要求6所述的基于HTAP数据库的分布式储存方法,其特征在于,自适应适量查找压缩算法进行数据压缩具体包括:
编码器第一次读取重新分布后数据,编码器初始化码书,码书中的每一个码字均由序列标识和内容标识组成,第一次接收数据码书中是没有内容的,码书将数据编码写入第一个序列标识,将重新分布后数据写入第一个内容标识,并将码字写入存储数据流;
再次读取重新分布后数据时进行查找操作,如果在码书中找到内容标识,使内容标识与再次读取重新分布后数据相同,那么取出内容标识对应的序列标识,将序列标识写入存储数据流;如果在码书中没有找到内容标识,使内容标识与再次读取重新分布后数据相同,那么将码字写入码书尾部,并将码字写入存储数据流中;
译码端要对码书中有序列标识或没有序列标识进行判断,根据判断结果来确定直接在码书中读取内容标识还是在接收端接收数据。
9.如权利要求6所述的基于HTAP数据库的分布式储存方法,其特征在于,自适应适量查找压缩算法进行数据压缩并加密利用伪随机数生成方法构造一个随机序列,数据采用平方剩余算法生成新的随机序列,基于新的随机序列生成密钥流序列,分组加密过程中明文和密钥流按字节长度分别加密。
CN202211023175.5A 2022-08-25 2022-08-25 一种基于htap数据库的分布式储存方法 Active CN115438046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211023175.5A CN115438046B (zh) 2022-08-25 2022-08-25 一种基于htap数据库的分布式储存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211023175.5A CN115438046B (zh) 2022-08-25 2022-08-25 一种基于htap数据库的分布式储存方法

Publications (2)

Publication Number Publication Date
CN115438046A CN115438046A (zh) 2022-12-06
CN115438046B true CN115438046B (zh) 2023-03-28

Family

ID=84244781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211023175.5A Active CN115438046B (zh) 2022-08-25 2022-08-25 一种基于htap数据库的分布式储存方法

Country Status (1)

Country Link
CN (1) CN115438046B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610735B (zh) * 2023-05-17 2024-02-20 江苏华存电子科技有限公司 一种数据存储的智能管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188346A (zh) * 2013-03-05 2013-07-03 北京航空航天大学 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN112487093A (zh) * 2020-12-07 2021-03-12 浪潮云信息技术股份公司 一种分布式数据库的去中心化副本控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652287B2 (en) * 2015-01-05 2017-05-16 Miosoft Corporation Using databases for both transactions and analysis
WO2018089987A1 (en) * 2016-11-14 2018-05-17 Temple University-Of The Commonwealth System Of Higher Education System and method for network-scale reliable parallel computing
CN110147372B (zh) * 2019-05-21 2022-12-23 电子科技大学 一种面向htap的分布式数据库智能混合存储方法
CN113392144A (zh) * 2021-08-18 2021-09-14 北京邮电大学 基于区块链的博物馆业务数据存储、查询方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188346A (zh) * 2013-03-05 2013-07-03 北京航空航天大学 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN112487093A (zh) * 2020-12-07 2021-03-12 浪潮云信息技术股份公司 一种分布式数据库的去中心化副本控制方法

Also Published As

Publication number Publication date
CN115438046A (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
Shi et al. Large-scale and scalable latent factor analysis via distributed alternative stochastic gradient descent for recommender systems
EP3602351B1 (en) Apparatus and method for distributed query processing utilizing dynamically generated in-memory term maps
JP6559892B2 (ja) データキューブのデータの記憶及び検索
Zhou et al. Adaptive processing for distributed skyline queries over uncertain data
CN112269792B (zh) 数据查询方法、装置、设备及计算机可读存储介质
US10853368B2 (en) Distinct value estimation for query planning
US20120011144A1 (en) Aggregation in parallel computation environments with shared memory
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
JP2017512338A (ja) 第一クラスデータベース要素としての半構造データの実装
US10089317B2 (en) System and method for supporting elastic data metadata compression in a distributed data grid
EP2469423B1 (en) Aggregation in parallel computation environments with shared memory
CN116955361A (zh) 存储器内密钥范围搜索方法和系统
CN111722806A (zh) 云盘分配方法、装置、电子设备及存储介质
Labouseur et al. Scalable and Robust Management of Dynamic Graph Data.
CN115438046B (zh) 一种基于htap数据库的分布式储存方法
US20180060341A1 (en) Querying Data Records Stored On A Distributed File System
CN114443680A (zh) 数据库管理系统、相关装置、方法和介质
CN113687964A (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN114281989A (zh) 基于文本相似度的数据去重方法、装置及存储介质和服务器
Elmeiligy et al. An efficient parallel indexing structure for multi-dimensional big data using spark
CN116860798A (zh) 数据查询方法、电子设备及计算机可读存储介质
CN110659292A (zh) 一种基于Spark和Ignite的分布式实时图构建和查询的方法及系统
US11966401B2 (en) Query tree labeling and processing
CN114297260A (zh) 分布式rdf数据查询方法、装置和计算机设备
CN113742346A (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