CN116108057B - 一种分布式数据库访问方法、装置、设备及存储介质 - Google Patents
一种分布式数据库访问方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116108057B CN116108057B CN202310379245.9A CN202310379245A CN116108057B CN 116108057 B CN116108057 B CN 116108057B CN 202310379245 A CN202310379245 A CN 202310379245A CN 116108057 B CN116108057 B CN 116108057B
- Authority
- CN
- China
- Prior art keywords
- data
- rdma
- sql statement
- database
- storage node
- 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
Images
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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/2453—Query optimisation
-
- 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/2455—Query execution
-
- 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
本申请公开了一种分布式数据库访问方法、装置、设备及存储介质,涉及分布式数据库领域,包括:利用计算节点集群获取SQL语句请求并分配给对应的计算节点;利用计算节点对SQL语句进行解析得到目标语句,并通过RDMA访问总协调控制器中的元数据信息生成逻辑执行计划;根据逻辑执行计划执行目标语句逻辑,以将SQL语句请求的数据库访问指令发送至存储节点;根据访问指令通过RDMA利用计算节点和存储节点执行数据访问操作。利用RDMA技术加速分布式数据库节点间的数据交换,将数据库访问直接在节点间的内存中处理,避免分布式数据库由于网络影响和数据库支持导致的操作难度提高,减少中央处理器计算周期占用,提升处理效率。
Description
技术领域
本发明涉及分布式数据库领域,特别涉及一种分布式数据库访问方法、装置、设备及存储介质。
背景技术
RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。
随着互联网和云计算时代的到来,传统的关系型数据库无法满足互联网的应用,海量数据和高效计算的需求使得出现了NoSQL数据库(即非关系型数据库),通过牺牲一部分的一致性以及削弱对于事务的支持,提供了良好的扩展性和灵活性,NoSQL数据库一定程度上满足了部分需求。然而,在金融、电商等业务型场景中,要求数据库不仅具有NoSQL对海量数据的存储管理能力,还要保持关系型数据库对于ACID(atomicity、consistency、isolation、durability,原子性、一致性、隔离性、持久性)和SQL(Structured QueryLanguage,结构化查询语言)等特性的支持。为应对新需求的挑战,提出了分布式数据库,即NewSQL数据库。作为新一代的数据库,NewSQL数据库采用全新的数据库架构,支持SQL引擎,实现透明分片,将数据库自动分散在多个节点中运行,同时满足OLTP(On-LineTransaction Processing,联机事务处理)和OLAP(Online Analytical Processing,联机分析处理)业务需求。由于NewSQL数据库采用了分布式架构,需要考虑网络的影响,同时又要支持关系数据库,这对于读写操作将有更高的要求。在这种情况下,如何有效地基于RDMA技术设计适应NewSQL数据库的读写内存处理机制,提升数据库处理效率成为亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种分布式数据库访问方法、装置、设备及存储介质,可以通过为数据库节点配置RDMA设备,利用RDMA技术加速数据库节点间的数据交换,将数据库的访问直接在节点间的内存中进行处理,减少中央处理器的计算周期占用,提升处理效率,优化数据库性能。其具体方案如下:
第一方面,本申请提供了一种分布式数据库访问方法,包括:
利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;
利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;
根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;
根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。
可选的,所述SQL语句请求为数据插入更新请求,相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,包括:
通过所述RDMA拉取所述计算节点中的目标数据;
响应与所述数据插入更新请求对应的数据库写指令,以将所述目标数据写入至所述计算节点对应的预设内存中,并将对应的数据写入信息发送至所述计算节点,以及基于所述数据写入信息更新所述总协调控制器的存储信息。
可选的,所述分布式数据库访问方法还包括:
利用所述存储节点根据所述预设内存的当前内存使用情况和执行存取操作情况,同时将多组尚未写入预设外存磁盘的所述目标数据进行异步合并,并将合并后数据写入至所述外存磁盘;
当所述外存磁盘存储完所述合并后数据,则生成相应的数据写入通知发送至所述总协调控制器。
可选的,所述SQL语句请求为数据查询请求,相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,包括:
利用所述存储节点检查本地缓存;若所述本地缓存发生读写冲突,则响应与所述数据查询请求对应的数据库读指令,以对与所述数据库读指令对应的外存磁盘进行读取,并将读取后数据保存至所述存储节点的本地内存中;
当所述读取后数据在所述存储节点中完成保存后通知所述计算节点,以利用所述计算节点通过RDMA访问所述存储节点,并将多个所述存储节点完成保存的所述读取后数据合并至所述计算节点的本地存储进行保存。
可选的,所述分布式数据库访问方法还包括:
当所述存储节点进行数据迁移时,利用所述总协调控制器创建所述存储节点对应的数据迁移计划;
基于所述数据迁移计划利用待接收迁移数据的目标存储节点通过RDMA拉取待执行数据迁移的源存储节点中的目标内存数据,并将所述目标内存数据复制到所述目标存储节点的本地内存,并将表征数据迁移操作成功的通知发送至所述总协调控制器;
在预设数据迁移冷却时间后,释放所述源存储节点的所述目标内存数据,利用所述目标存储节点异步执行将所述目标内存数据写入外存磁盘的操作,并在所述外存磁盘存储完成后,通知所述总协调控制器释放所述目标存储节点的本地内存对应的本地资源。
可选的,所述分布式数据库访问方法还包括:
若所述SQL语句请求为数据查询请求,并当需要获取所述存储节点内容,则检索尚未写入所述存储节点的第一数据和待读取的所述存储节点的第二数据,并将所述第一数据和第二数据进行合并;
相应的,所述SQL语句请求为数据插入更新请求,则检索尚未写入所述存储节点对应的外存磁盘的第三数据,如果存在相同Key的操作记录,则基于检索结果响应与所述数据插入更新请求对应的数据库写指令。
可选的,所述通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息之前,还包括:
根据所述NewSQL数据库的运行历史数据调节RDMA参数,以便更新RDMA使用条件,并在所述NewSQL数据库满足所述RDMA使用条件时运行所述RDMA;所述RDMA使用条件包括数据块最低容量、存储节点磁盘最大比例限度超参数、数据迁移触发条件以及数据迁移冷却时间;
相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作之后,还包括:
持续收集执行所述SQL语句请求的过程中产生的日志数据,并根据所述日志数据中的SQL执行频率及时间,分析所述RDMA参数并进行调整。
第二方面,本申请提供了一种分布式数据库访问装置,包括:
请求分配模块,用于利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;
计划生成模块,用于利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;
指令发送模块,用于根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;
请求执行模块,用于根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。
第三方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的分布式数据库访问方法。
第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的分布式数据库访问方法。
本申请中,利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。通过上述技术方案,本申请利用RDMA技术加速NewSQL数据库节点间的数据交换,通过为NewSQL数据库节点配置RDMA设备,将NewSQL分布式数据库的访问操作直接在计算节点和存储节点间的内存中进行处理,减少占用中央处理器大量的计算周期,提升处理效率,优化了数据库性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种NewSQL数据库系统组成示意图;
图2为本申请提供的一种分布式数据库访问方法流程图;
图3为本申请提供的一种NewSQL数据库数据迁移方法流程图;
图4为本申请提供的一种读写冲突解决方法流程图;
图5为本申请提供的一种NewSQL数据库访问装置结构示意图;
图6为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。
由于分布式数据库,即NewSQL数据库采用了分布式架构,需要考虑网络的影响,同时又要支持关系数据库,这对于读写操作将有更高的要求,因此本申请利用RDMA技术加速NewSQL数据库节点间的数据交换,通过为NewSQL数据库节点配置RDMA设备,将NewSQL分布式数据库的访问等操作直接在计算节点和存储节点间的内存中进行处理,提升处理效率。
本申请中,如图1所示,本申请所述的NewSQL数据库是分布式云原生数据库,主要包含计算节点集群、存储节点集群以及总协调控制器、SQL客户端等组成单元,采用计算节点和存储节点分离的架构。其中,所述计算节点是无状态的,构成集群并通过负载均衡装置分发请求,主要负责解析优化SQL语句以及处理执行SQL语义逻辑;所述NewSQL数据库中的存储节点采用多副本方式,负责在磁盘中存取数据;所述总协调控制器负责计算节点和存储节点的管理和协调,保证分布式数据库的操作处理能够准确执行;所述SQL客户端用于提供调用接口,负责将SQL执行请求发送给NewSQL数据库计算节点。
所述RDMA技术通过RDMA设备实现,RDMA设备是支持RDMA协议的装置,部署在NewSQL数据库的各个组成单元上,用于数据库操作的高效数据交换。在原有数据库操作处理策略基础上,大块数据读写操作的过程采用RDMA技术完成数据交换,对于多副本写操作,只要写入内存中,就表示操作成功,不需要写入外存磁盘,可以直接进行读写,通过异步执行外存磁盘存储的数据写入;当出现外存写入异常时,通过Paxos或者Raft等共识协议利用其他副本完成数据同步。
基于上述公开的NewSQL数据库和RDMA设备,本申请公开以下实施例。
参见图2所示,本发明实施例公开了一种分布式数据库访问方法,包括:
步骤S11、利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点。
本实施例中,首先通过利用NewSQL数据库的计算节点集群获取SQL客户端发送的执行数据插入更新请求和数据查询请求的SQL语句请求,然后计算节点集群接收SQL语句请求后,通过负载均衡将接收到的SQL语句请求分配给集群中的计算节点。
步骤S12、利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划。
本实施例中,利用所述计算节点对SQL语句进行解析和优化,得到目标SQL语句后与总协调控制器进行数据交互。所述数据交互具体为:通过RDMA直接访问总协调控制器中内存中保存的元数据信息,并利用获取的信息,生成SQL语句逻辑执行计划,可以理解的是,所述SQL语句逻辑执行计划包括具体执行的一个或多个计算节点以及需要用到的一个或多个存储节点。这样一来,便于采用RDMA技术,将NewSQL分布式数据库的插入、更新、查询等操作直接在节点间的内存中进行处理,减少占用CPU计算周期,有利于提升处理效率。
步骤S13、根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点。
本实施例中,需要根据SQL语句逻辑执行计划利用计算节点执行SQL语句逻辑,并将数据插入更新请求或数据查询请求对应的数据库写指令或数据库读指令发送到对应的存储节点。
步骤S14、根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。
本实施例中,在一种具体的实施方式中,若SQL语句请求为数据插入更新请求,则相应的,需要根据数据库访问指令通过RDMA利用计算节点和存储节点执行SQL语句请求对应的数据访问操作。所述数据访问操作具体流程为,存储节点根据数据库写指令,通过RDMA直接拉取计算节点中的目标数据,然后响应与数据插入更新请求对应的数据库写指令,以将目标数据写入至计算节点对应的预设内存中,并将对应的数据写入信息发送至计算节点,通知所述的计算节点操作成功,以及需要基于数据写入信息更新总协调控制器的存储信息。并且在上述过程中存储节点利用数据库写指令将目标数据写入计算节点对应的预设内存,即对应的外部存储磁盘后,利用存储节点根据预设内存的当前内存使用情况和执行存取操作情况,同时将多组尚未写入预设外存磁盘的所述目标数据进行异步合并,并将合并后数据写入至所述外存磁盘;并在所述外存磁盘存储完所述合并后数据,则生成相应的数据写入通知发送至所述总协调控制器。这样一来,通过将多组尚未写入外存磁盘的目标数据进行异步合并,并写入至外存磁盘,可以针对多副本写操作设计优化策略,缩短处理时间,提升并发能力。
在另一种具体的实施方式中,若SQL语句请求为数据查询请求,相应的,需要根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,则具体操作为利用存储节点根据数据库访问指令检查本地缓存,若本地缓存发生读写冲突,处理读写冲突则响应与数据查询请求对应的数据库读指令,以对与数据库读指令对应的外存磁盘进行读取,并将读取后数据保存至所述存储节点的本地内存中。并在当读取后数据在存储节点中完成保存后通知计算节点,以利用计算节点通过RDMA访问存储节点,并将多个存储节点完成保存的读取后数据合并至计算节点的本地存储进行保存。通过上述的两个具体的实施方式,在基于RDMA的NewSQL数据库读写过程中,设计了数据库多副本读写优化策略,写入内存指定区域完成操作,并通过异步方式执行外部磁盘的数据保存,减少SQL语句的执行时间,提升整体的处理吞吐量;采用多组数据合并写外存的方式,进一步提升外部磁盘I/O操作效率。并且可以理解的是,计算节点完成SQL语句执行后,需要返回给对应的客户端操作结果,以便用户及时了解数据库访问状态。
需要指出的是,本实施例中考虑到业务个性化的需求,在通过RDMA访问NewSQL数据库的总协调控制器中保存的元数据信息之前,需要根据NewSQL数据库的运行历史数据调节RDMA参数,以便更新RDMA使用条件,并在NewSQL数据库满足RDMA使用条件时运行RDMA;所述RDMA使用条件包括数据块最低容量、存储节点磁盘最大比例限度超参数、数据迁移触发条件以及数据迁移冷却时间。可以理解的是,设置RDMA使用条件,规定超过设定条件中的数据块最低容量要求才使用RDMA方式,否则采用常规协议进行数据库访问,通过设置RDMA参数,有利于最大限度发挥RDMA以及异步写入外存的能力。
相应的,根据数据库访问指令通过RDMA利用计算节点和存储节点执行SQL语句请求对应的数据访问操作之后,需要持续收集执行SQL语句请求的过程中产生的日志数据,并根据日志数据中的SQL执行频率及时间,分析RDMA参数并进行调整,以达到持续优化数据库性能的目的。
通过上述实施例,本申请利用计算节点集群获取SQL语句请求并分配给对应的计算节点;利用计算节点对SQL语句进行解析得到目标语句,并通过RDMA访问总协调控制器中的元数据信息生成逻辑执行计划;根据逻辑执行计划执行目标语句逻辑,以将SQL语句请求的数据库访问指令发送至存储节点;根据数据库访问指令通过RDMA利用计算节点和存储节点执行对应的数据访问操作,并在执行完成后结果发送至客户端。这样一来,利用RDMA技术加速NewSQL数据库节点间的数据交换,通过为NewSQL数据库节点配置RDMA设备,将NewSQL分布式数据库的访问操作直接在节点间的内存中进行处理,减少占用CPU大量计算周期,提升处理效率。并且在数据写入时,同时将多组尚未写入预设外存磁盘的所述目标数据进行异步合并,并将合并后数据写入至所述外存磁盘,通过将多组尚未写入外存磁盘的目标数据进行异步合并,并写入至外存磁盘,可以针对多副本写操作设计优化策略,缩短处理时间,提升并发能力;以及将多个存储节点完成保存的读取后数据合并至计算节点的本地存储进行保存,设计了数据库多副本读写优化策略,写入内存指定区域完成操作,并通过异步方式执行外部磁盘的数据保存,减少SQL语句的执行时间,提升整体的处理吞吐量,这样一来采用多组数据合并写外存的方式,进一步提升外部磁盘I/O操作效率。同时设置RDMA设备的超参数,更加有针对性的优化基于RDMA的数据库操作,减少系统的复杂性,防止产生抖动,冷却时间的设置,也更加有效地利用缓存,减少外部磁盘读写次数。在数据库访问过程中通过历史日志数据,及时调整RDMA及所设计的策略的相关设定参数,也满足适应了业务个性化的需求,持续优化数据库性能。
基于上一实施例可知,本申请可以基于RDMA设备完成NewSQL数据库的读写操作,接下来,本实施例中将对NewSQL数据库的节点数据迁移进行详细地阐述。参见图3所示,本申请实施例公开了一种NewSQL数据库数据迁移方法,包括:
步骤S21、当NewSQL数据库的存储节点进行数据迁移时,利用总协调控制器创建所述存储节点对应的数据迁移计划。
本实施例中,若NewSQL数据库的存储节点对应的保存数据的外存磁盘存储超过设定的比例限度或者存储节点出现宕机或者需要优化存储节点时,需要总协调控制器确定存储节点进行数据迁移操作,在迁移操作进行之前,首先需要总协调控制器为计算节点、存储节点创建数据迁移计划。
步骤S22、基于所述数据迁移计划利用待接收迁移数据的目标存储节点通过RDMA拉取待执行数据迁移的源存储节点中的目标内存数据,并将所述目标内存数据复制到所述目标存储节点的本地内存,并将表征数据迁移操作成功的通知发送至所述总协调控制器。
本实施例中,首先根据数据迁移计划确定数据迁移的目标存储节点,然后目标存储节点通过RDMA直接拉取迁出数据的源存储节点的内存数据,复制到目标存储节点的本地内存,并在数据复制完成后,通知总协调控制器数据迁移操作成功。这样一来,采用RDMA技术,将NewSQL分布式数据库的数据迁移操作直接在节点间的内存中进行处理,提升了处理效率。
步骤S23、在预设数据迁移冷却时间后,释放所述源存储节点的所述目标内存数据,利用所述目标存储节点异步执行将所述目标内存数据写入外存磁盘的操作,并在所述外存磁盘存储完成后,通知所述总协调控制器释放所述目标存储节点的本地内存对应的本地资源。
本实施例中,等待预先设置好的数据迁移冷却时间结束后,释放上述步骤中数据迁移的源存储节点的资源和存储数据,以便其他操作使用。然后通过目标存储节点异步执行外部存储磁盘的数据写入,并在数据迁移目标存储节点完成外存写入后,通知总协调控制器写入磁盘成功,并释放存储节点的本地资源。
通过上述技术方案,本实施例在NewSQL数据库的存储节点进行数据迁移时,利用总协调控制器创建所述存储节点对应的数据迁移计划。基于所述数据迁移计划利用待接收迁移数据的目标存储节点通过RDMA拉取待执行数据迁移的源存储节点中的目标内存数据,并将所述目标内存数据复制到所述目标存储节点的本地内存,并将表征数据迁移操作成功的通知发送至所述总协调控制器。在预设数据迁移冷却时间后,释放所述源存储节点的所述目标内存数据,利用所述目标存储节点异步执行将所述目标内存数据写入外存磁盘的操作,并在所述外存磁盘存储完成后,通知所述总协调控制器释放所述目标存储节点的本地内存对应的本地资源。这样一来,采用RDMA技术,将NewSQL分布式数据库的数据迁移操作直接在节点间的内存中进行处理,提升了处理效率,并且通过异步方式执行外部磁盘的数据保存,减少SQL语句的执行时间,提升整体的处理吞吐量。
基于前述实施例可知,本申请可以基于RDMA设备完成NewSQL数据库的相关操作,接下来,本实施例中将对数据库访问流程中消除RDMA内存数据写入磁盘的读写冲突处理过程进行详细地阐述。参见图4所示,本申请实施例公开了一种读写冲突解决方法,包括:
步骤S31、若SQL语句请求为数据查询请求,并当需要获取存储节点内容时,则检索尚未写入所述存储节点的第一数据和待读取的所述存储节点的第二数据,并将所述第一数据和第二数据进行合并。
本实施例中,为了消除RDMA内存数据写入外存磁盘的读写冲突,当出现存储节点内存数据尚未写入外存磁盘中的状况,存储节点需要保证本节点的读写一致性,并且如果执行查询操作需要获取节点中的内容时,可以同时检索尚未写入外存的数据以及正常状况下读取存储节点的数据,并将两者数据进行合并。
步骤S32、若所述SQL语句请求为数据插入更新请求,则检索尚未写入所述存储节点对应的外存磁盘的第三数据,如果存在相同Key的操作记录,则基于检索结果响应与所述数据插入更新请求对应的数据库写指令。
本实施例中,如果执行数据插入操作,则检索尚未写入外存磁盘的数据,以保证数据校验完整性,避免重复插入;如果执行数据更新操作,则检索尚未写入外存的数据,如果存在操作相同Key的记录,并且基于检索结果进行更新操作。
需要指出的是,除数据查询和插入更新操作外,如果执行数据删除操作,则检索尚未写入外存的数据,若存在操作相同Key的记录,则基于检索结果进行删除操作,删除对应的存储数据。并且如果在执行内存数据写入外存磁盘过程中出现异常,则通过总协调控制器发送命令从其他存储节点副本中恢复数据。这样一来通过上述实施例公开的处理操作可以有效地处理RDMA内存数据写入外存磁盘的读写冲突。
参见图5所示,本申请实施例还公开了一种分布式数据库访问装置,包括:
请求分配模块11,用于利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;
计划生成模块12,用于利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;
指令发送模块13,用于根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;
请求执行模块14,用于根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。
本实施例中,利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端。这样一来,本实施例利用RDMA技术加速NewSQL数据库节点间的数据交换,通过为NewSQL数据库节点配置RDMA设备,将NewSQL分布式数据库的访问等操作直接在计算节点和存储节点间的内存中进行处理,减少占用中央处理器大量的计算周期,提升处理效率,优化了数据库性能。
在一些具体实施例中,所述请求执行模块14,具体包括:
数据拉取单元,用于通过所述RDMA拉取所述计算节点中的目标数据;
第一数据写入单元,用于响应与所述数据插入更新请求对应的数据库写指令,以将所述目标数据写入至所述计算节点对应的预设内存中;
信息更新单元,用于将对应的数据写入信息发送至所述计算节点,以及基于所述数据写入信息更新所述总协调控制器的存储信息。
在一些具体实施例中,所述请求执行模块14,还包括:
第二数据写入单元,用于利用所述存储节点根据所述预设内存的当前内存使用情况和执行存取操作情况,同时将多组尚未写入预设外存磁盘的所述目标数据进行异步合并,并将合并后数据写入至所述外存磁盘;
通知发送单元,用于当所述外存磁盘存储完所述合并后数据,则生成相应的数据写入通知发送至所述总协调控制器。
在一些具体实施例中,所述请求执行模块14,具体包括:
数据保存单元,用于利用所述存储节点检查本地缓存;若所述本地缓存发生读写冲突,则响应与所述数据查询请求对应的数据库读指令,以对与所述数据库读指令对应的外存磁盘进行读取,并将读取后数据保存至所述存储节点的本地内存中;
数据合并单元,用于当所述读取后数据在所述存储节点中完成保存后通知所述计算节点,以利用所述计算节点通过RDMA访问所述存储节点,并将多个所述存储节点完成保存的所述读取后数据合并至所述计算节点的本地存储进行保存。
在一些具体实施例中,所述分布式数据库访问装置,还包括:
计划创建单元,用于当所述存储节点进行数据迁移时,利用所述总协调控制器创建所述存储节点对应的数据迁移计划;
数据复制单元,用于基于所述数据迁移计划利用待接收迁移数据的目标存储节点通过RDMA拉取待执行数据迁移的源存储节点中的目标内存数据,并将所述目标内存数据复制到所述目标存储节点的本地内存,并将表征数据迁移操作成功的通知发送至所述总协调控制器;
第三数据写入单元,用于在预设数据迁移冷却时间后,释放所述源存储节点的所述目标内存数据,利用所述目标存储节点异步执行将所述目标内存数据写入外存磁盘的操作,并在所述外存磁盘存储完成后,通知所述总协调控制器释放所述目标存储节点的本地内存对应的本地资源。
在一些具体实施例中,所述分布式数据库访问装置,还包括:
数据检索单元,用于若所述SQL语句请求为数据查询请求,并当需要获取所述存储节点内容,则检索尚未写入所述存储节点的第一数据和待读取的所述存储节点的第二数据,并将所述第一数据和第二数据进行合并;
指令响应单元,用于若所述SQL语句请求为数据插入更新请求,则检索尚未写入所述存储节点对应的外存磁盘的第三数据,如果存在相同Key的操作记录,则基于检索结果响应与所述数据插入更新请求对应的数据库写指令。
在一些具体实施例中,所述计划生成模块12,还包括:
参数调节单元,用于根据所述NewSQL数据库的运行历史数据调节RDMA参数,以便更新RDMA使用条件,并在所述NewSQL数据库满足所述RDMA使用条件时运行所述RDMA;所述RDMA使用条件包括数据块最低容量、存储节点磁盘最大比例限度超参数、数据迁移触发条件以及数据迁移冷却时间;
相应的,所述请求执行模块14,还包括:
参数调整单元,用于持续收集执行所述SQL语句请求的过程中产生的日志数据,并根据所述日志数据中的SQL执行频率及时间,分析所述RDMA参数并进行调整。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的分布式数据库访问方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的分布式数据库访问方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的分布式数据库访问方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种分布式数据库访问方法,其特征在于,包括:
利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;
利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;
根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;
根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端;
其中,所述通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息之前,还包括:
根据所述NewSQL数据库的运行历史数据调节RDMA参数,以便更新RDMA使用条件,并在所述NewSQL数据库满足所述RDMA使用条件时运行所述RDMA;所述RDMA使用条件包括数据块最低容量、存储节点磁盘最大比例限度超参数、数据迁移触发条件以及数据迁移冷却时间;
相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作之后,还包括:
持续收集执行所述SQL语句请求的过程中产生的日志数据,并根据所述日志数据中的SQL执行频率及时间,分析所述RDMA参数并进行调整。
2.根据权利要求1所述的分布式数据库访问方法,其特征在于,所述SQL语句请求为数据插入更新请求,相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,包括:
通过所述RDMA拉取所述计算节点中的目标数据;
响应与所述数据插入更新请求对应的数据库写指令,以将所述目标数据写入至所述计算节点对应的预设内存中,并将对应的数据写入信息发送至所述计算节点,以及基于所述数据写入信息更新所述总协调控制器的存储信息。
3.根据权利要求2所述的分布式数据库访问方法,其特征在于,还包括:
利用所述存储节点根据所述预设内存的当前内存使用情况和执行存取操作情况,同时将多组尚未写入预设外存磁盘的所述目标数据进行异步合并,并将合并后数据写入至所述外存磁盘;
当所述外存磁盘存储完所述合并后数据,则生成相应的数据写入通知发送至所述总协调控制器。
4.根据权利要求1所述的分布式数据库访问方法,其特征在于,所述SQL语句请求为数据查询请求,相应的,所述根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,包括:
利用所述存储节点检查本地缓存;若所述本地缓存发生读写冲突,则响应与所述数据查询请求对应的数据库读指令,以对与所述数据库读指令对应的外存磁盘进行读取,并将读取后数据保存至所述存储节点的本地内存中;
当所述读取后数据在所述存储节点中完成保存后通知所述计算节点,以利用所述计算节点通过RDMA访问所述存储节点,并将多个所述存储节点完成保存的所述读取后数据合并至所述计算节点的本地存储进行保存。
5.根据权利要求1所述的分布式数据库访问方法,其特征在于,还包括:
当所述存储节点进行数据迁移时,利用所述总协调控制器创建所述存储节点对应的数据迁移计划;
基于所述数据迁移计划利用待接收迁移数据的目标存储节点通过RDMA拉取待执行数据迁移的源存储节点中的目标内存数据,并将所述目标内存数据复制到所述目标存储节点的本地内存,并将表征数据迁移操作成功的通知发送至所述总协调控制器;
在预设数据迁移冷却时间后,释放所述源存储节点的所述目标内存数据,利用所述目标存储节点异步执行将所述目标内存数据写入外存磁盘的操作,并在所述外存磁盘存储完成后,通知所述总协调控制器释放所述目标存储节点的本地内存对应的本地资源。
6.根据权利要求1所述的分布式数据库访问方法,其特征在于,还包括:
若所述SQL语句请求为数据查询请求,并当需要获取所述存储节点内容,则检索尚未写入所述存储节点的第一数据和待读取的所述存储节点的第二数据,并将所述第一数据和第二数据进行合并;
相应的,所述SQL语句请求为数据插入更新请求,则检索尚未写入所述存储节点对应的外存磁盘的第三数据,如果存在相同Key的操作记录,则基于检索结果响应与所述数据插入更新请求对应的数据库写指令。
7.一种分布式数据库访问装置,其特征在于,包括:
请求分配模块,用于利用NewSQL数据库的计算节点集群获取SQL客户端发送的SQL语句请求,并将所述SQL语句请求分配给所述计算节点集群中的计算节点;
计划生成模块,用于利用所述计算节点对所述SQL语句进行解析和优化得到目标SQL语句,并通过RDMA访问所述NewSQL数据库的总协调控制器中保存的元数据信息,以根据所述目标SQL语句和所述元数据信息生成SQL语句逻辑执行计划;
指令发送模块,用于根据所述SQL语句逻辑执行计划利用所述计算节点执行所述目标SQL语句对应的逻辑,以将所述SQL语句请求对应的数据库访问指令发送至所述计算节点对应的存储节点;
请求执行模块,用于根据所述数据库访问指令通过所述RDMA利用所述计算节点和所述存储节点执行所述SQL语句请求对应的数据访问操作,并在执行完成所述SQL请求后,将对应的执行结果发送至所述NewSQL数据库中的客户端;
其中,所述计划生成模块,还包括:
参数调节单元,用于根据所述NewSQL数据库的运行历史数据调节RDMA参数,以便更新RDMA使用条件,并在所述NewSQL数据库满足所述RDMA使用条件时运行所述RDMA;所述RDMA使用条件包括数据块最低容量、存储节点磁盘最大比例限度超参数、数据迁移触发条件以及数据迁移冷却时间;
相应的,所述请求执行模块,还包括:
参数调整单元,用于持续收集执行所述SQL语句请求的过程中产生的日志数据,并根据所述日志数据中的SQL执行频率及时间,分析所述RDMA参数并进行调整。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至6任一项所述的分布式数据库访问方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的分布式数据库访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310379245.9A CN116108057B (zh) | 2023-04-11 | 2023-04-11 | 一种分布式数据库访问方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310379245.9A CN116108057B (zh) | 2023-04-11 | 2023-04-11 | 一种分布式数据库访问方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116108057A CN116108057A (zh) | 2023-05-12 |
CN116108057B true CN116108057B (zh) | 2023-07-04 |
Family
ID=86265861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310379245.9A Active CN116108057B (zh) | 2023-04-11 | 2023-04-11 | 一种分布式数据库访问方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108057B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056379B (zh) * | 2023-10-11 | 2024-01-26 | 宁波银行股份有限公司 | 一种元数据缓存方法、装置、电子设备及可读存储介质 |
CN117312326A (zh) * | 2023-11-28 | 2023-12-29 | 深圳市移卡科技有限公司 | 基于云原生数据库的数据存储方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379483B1 (en) * | 2021-03-30 | 2022-07-05 | Sap Se | Routing SQL statements to elastic compute nodes using workload class |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329814B (zh) * | 2017-06-16 | 2020-05-26 | 电子科技大学 | 一种基于rdma的分布式内存数据库查询引擎系统 |
US11354726B2 (en) * | 2019-12-20 | 2022-06-07 | Salesforce.Com, Inc. | Change order application programming interfaces |
CN115114311A (zh) * | 2022-06-15 | 2022-09-27 | 深圳市腾讯计算机系统有限公司 | 一种事务执行方法以及相关装置 |
-
2023
- 2023-04-11 CN CN202310379245.9A patent/CN116108057B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379483B1 (en) * | 2021-03-30 | 2022-07-05 | Sap Se | Routing SQL statements to elastic compute nodes using workload class |
Non-Patent Citations (1)
Title |
---|
High-performance design of apache spark with RDMA and its benefits on various workloads;Xiaoyi Lu等;《2016 IEEE International Conference on Big Data (Big Data)》;253-262 * |
Also Published As
Publication number | Publication date |
---|---|
CN116108057A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754874B2 (en) | Query dispatching system and method | |
CN110209734B (zh) | 数据复制方法、装置、计算机设备及存储介质 | |
CN110502507B (zh) | 一种分布式数据库的管理系统、方法、设备和存储介质 | |
EP3811230B1 (en) | Automatic query offloading to a standby database | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
US20190220467A1 (en) | Database management system and method of operation | |
US10031935B1 (en) | Customer-requested partitioning of journal-based storage systems | |
US10691722B2 (en) | Consistent query execution for big data analytics in a hybrid database | |
JP5387757B2 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
US20200012734A1 (en) | Automatic determination of table distribution for multinode, distributed database systems | |
CN104679898A (zh) | 一种大数据访问方法 | |
CN104778270A (zh) | 一种用于多文件的存储方法 | |
US9971820B2 (en) | Distributed system with accelerator-created containers | |
CN111581234B (zh) | Rac多节点数据库查询方法、装置及系统 | |
EP4216061A1 (en) | Transaction processing method, system, apparatus, device, storage medium, and program product | |
CN112084206A (zh) | 数据库的事务请求处理方法、相关设备及存储介质 | |
US10235407B1 (en) | Distributed storage system journal forking | |
US9390131B1 (en) | Executing queries subject to different consistency requirements | |
US11256695B1 (en) | Hybrid query execution engine using transaction and analytical engines | |
US11886439B1 (en) | Asynchronous change data capture for direct external transmission | |
CN114328466A (zh) | 一种数据冷热存储的方法、装置及电子设备 | |
CN113626463A (zh) | 高并发访问下的Web性能优化方法 | |
Koschel et al. | Evaluating time series database management systems for insurance company | |
JP4137366B2 (ja) | データベース管理方法及びデータベース管理装置 | |
CN116719821B (zh) | 一种并发数据插入Elasticsearch的排重方法、装置及存储介质 |
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 |