CN110750517B - 一种本地存储引擎系统的数据处理方法、装置以及设备 - Google Patents
一种本地存储引擎系统的数据处理方法、装置以及设备 Download PDFInfo
- Publication number
- CN110750517B CN110750517B CN201910968201.3A CN201910968201A CN110750517B CN 110750517 B CN110750517 B CN 110750517B CN 201910968201 A CN201910968201 A CN 201910968201A CN 110750517 B CN110750517 B CN 110750517B
- Authority
- CN
- China
- Prior art keywords
- database
- local
- transaction
- sub
- engine system
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- 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/21—Design, administration or maintenance of databases
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种本地存储引擎系统的数据处理方法、装置、设备及计算机可读存储介质,包括:在本地存储引擎系统初始化时,对数据库进行分库,创建多个子数据库,并创建与多个子数据库对应的多个元数据提交线程;当接收到待处理的上层事务时,将上层事务转换为本地事务;依据上层事务所属的放置组PID,确定本地事务所使用的目标子数据库ID;将本地事务添加到对应的数据库队列,通知对应的目标元数据提交线程从数据库队列中提取本地事务,一次处理本地事务中需要提交的元数据,调用对应的数据库接口,进行元数据的提交。本发明所提供的方法、装置、设备及计算机可读存储介质,实现了元数据的并行处理,提高了本地存储引擎的性能。
Description
技术领域
本发明涉及分布式共享存储系统领域,特别是涉及一种本地存储引擎系统的数据处理方法、装置、设备以及计算机可读存储介质。
背景技术
随着分布式共享存储系统的快速发展,其性能和安全性越来越受关注。主流的分布式存储系统采用自管理裸盘的方式提升本地存储引擎的性能,对分布式存储系统进行优化,剔除XFS系统中大部分通用的功能,弥补对SSD支持的不足。
基于自管理裸盘的本地存储引擎系统针对SSD的使用进行优化,充分发挥SSD的性能,提升本地存储引擎的存储效率。此外,在整体架构设计上,基于自管理裸盘设备的本地存储引擎系统剔除日志功能,改用追加和数据库保存wal的方式降低写放大,提升数据落盘的效率。但该本地存储系统在处理大量小块数据时出现严重的性能下降现象,其瓶颈体现在数据库的处理能力,由于数据库内部结构是串行落盘,当元数据提交增加时严重影响数据库的性能。
综上所述可以看出,如何在提高本地存储引擎系统元数据提交效率的同时,提高本地存储引擎的性能是目前有待解决的问题。
发明内容
本发明的目的是提供一种本地存储引擎系统的数据处理方法、装置、设备以及计算机可读存储介质,以解决现有技术中当元数据提交增加时会严重影响本地存储引擎的性能的问题。
为解决上述技术问题,本发明提供一种本地存储引擎系统的数据处理方法,包括:在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
优选地,所述在本地存储引擎系统初始化时,执行所述本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间包括:
在本地存储引擎系统初始化时,采用自管理裸盘设备,依据配置参数将本地存储引擎系统数据库划分为N个子数据库,并为每个子数据库分配编号ID及存储空间。
优选地,所述在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间包括:
S1:执行本地存储引擎系统的初始化操作,定义变量i=0;
S2:判断所述变量i是否小于配置参数num_db;
S3:若所述变量i小于所述配置参数num_db,则创建子数据库,并将所述子数据库的编号ID设为i,为所述子数据库分配可用存储空间;
S4:将所述变量i更新为i+1后,循环所述步骤S2至所述步骤S4,直至所述变量i等于所述配置参数num_db,完成所述本地存储引擎系统的初始化。
优选地,所述当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务包括:
当所述本地存储引擎系统从Host端接收到待处理的上层存储事务后,将所述上层存储事务转换为本地存储事务。
优选地,所述从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中后包括:
调用回调函数向上层返回元数据已提交数据库的响应信息。
本发明还提供了一种本地存储引擎系统的数据处理装置,包括:
分库模块,用于在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;
创建模块,用于创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
转换模块,用于当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
确定模块,用于依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
发送模块,用于将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
提交模块,用于从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
优选地,所述分库模块具体用于:
在本地存储引擎系统初始化时,采用自管理裸盘设备,依据配置参数将本地存储引擎系统数据库划分为N个子数据库,并为每个子数据库分配编号ID及存储空间。
优选地,所述分库模块包括:
初始化单元,用于执行本地存储引擎系统的初始化操作,定义变量i=0;
判断单元,用于判断所述变量i是否小于配置参数num_db;
创建单元,用于若所述变量i小于所述配置参数num_db,则创建子数据库,并将所述子数据库的编号ID设为i,为所述子数据库分配可用存储空间;
循环单元,用于将所述变量i更新为i+1后,循环所述判断单元、所述创建单元与所述循环单元的启动操作,直至所述变量i等于所述配置参数num_db,完成所述本地存储引擎系统的初始化。
本发明还提供了一种本地存储引擎系统的数据处理设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种本地存储引擎系统的数据处理方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种本地存储引擎系统的数据处理方法的步骤。
本发明所提供的本地存储引擎系统的数据处理方法,首先在本地存储引擎系统初始化时,对本地存储引擎系统数据库进行分库,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应。在数据写操作时,所述本地引擎存储系统接收到待处理的上层事务后,将所述上层事务转化成本地存储引擎的本地事务。然后获取上层事务所属的数据放置组PID,根据PID计算出目标子数据库的目标ID,用于保存该数据对象的元数据。将所述本地事务添加到所述目标ID对应的队列,通知与所述目标ID对应的目标元数据提交线程从对应的数据库队列中取本地事务,一次处理本地事务中需要提交的元数据,调用对应的数据库接口,进行元数据的提交。本发明所提供的方法,通过数据库分库,创建多个数据库,对所有的对象进行划分,指定对象的元数据保存到对应的数据库中,实现了元数据的并行处理,提高了元数据提交的效率的同时提升了本地存储引擎的性能。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的本地存储引擎系统的数据处理方法的第一种具体实施例的流程图;
图2为本发明所提供的本地存储引擎系统的数据处理方法的第二种具体实施例的流程图;
图3为本发明实施例提供的一种本地存储引擎系统的数据处理装置的结构框图。
具体实施方式
本发明的核心是提供一种本地存储引擎系统的数据处理方法、装置、设备以及计算机可读存储介质,实现了元数据的并行处理,提升了本地存储引擎的性能。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的本地存储引擎系统的数据处理方法的第一种具体实施例的流程图;具体操作步骤如下:
步骤S101:在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;
步骤S102:创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
步骤S103:当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
步骤S104:依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
在本实施例中,所述PID为进程控制符,英文全称为Process Identifier。PID为各进程的身份标识,程序一开始运行系统就会自动分配给进程一个独一无二的PID。进程中止后PID被系统回收,可能会被继续分配给新运行的程序。PID代表了各进程的进程ID,即PID为各进程的身份标识。
步骤S105:将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
步骤S106:从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
本实施例所提供的方法,通过添加多个数据库,对所有的对象进行划分,指定对象的元数据保存到对应的数据库中,实现数据库能够并行处理对象的元数据,提高本地存储引擎的性能。
基于上述实施例,在本实施例中,依据配置参数确定创建子数据库的数量。在元数据完成提交后,调用回调函数向上层返回元数据已提交数据库的响应信息。
请参考图2,图2为本发明所提供的本地存储引擎系统的数据处理方法的第二种具体实施例的流程图;具体操作步骤如下:
步骤S201:执行本地存储引擎系统的初始化操作,定义变量i=0;
步骤S202:判断所述变量i是否小于配置参数num_db;
步骤S203:若所述变量i小于所述配置参数num_db,则创建子数据库,并将所述子数据库的编号ID设为i,为所述子数据库分配可用存储空间;
步骤S204:将所述变量i更新为i+1后,循环所述步骤S202至所述步骤S204,直至所述变量i等于所述配置参数num_db,完成所述本地存储引擎系统的初始化;
步骤S205:创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
步骤S206:当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
当所述本地存储引擎系统从Host端接收到待处理的上层存储事务t后,将所述上层存储事务t转换为本地存储事务txc。
步骤S207:依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
获取上层事务的所在放置组的PID,根据所述PID计算所述本地事务txc使用的目标子数据库id。
步骤S208:将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
将所述本地事务txc添加到对应的数据库队列queue[txc->id]中.根据线程id获取对应的队列queue[id]中的本地事务,放入kv_queue队列中。
步骤S209:从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中;
依次提交kv_queue中所有的本地事务中的元数据到所述目标子数据库中。
步骤S210:调用回调函数向上层返回元数据已提交数据库的响应信息。
在本实施例中,基于优化本地存储数据库分库的方法,通过增加数据库的个数来增加数据库的并发性,提升数据库的存储性能和效率,从而提升系统的整体性能。同时,本实施例通过增加数据库的个数增强本地存储引擎的数据处理能力,缓解上层压力并对压力进行分流,降低本地存储引擎的整体耗时。
请参考图3,图3为本发明实施例提供的一种本地存储引擎系统的数据处理装置的结构框图;具体装置可以包括:
分库模块100,用于在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;
创建模块200,用于创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
转换模块300,用于当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
确定模块400,用于依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
发送模块500,用于将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
提交模块600,用于从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
本实施例的本地存储引擎系统的数据处理装置用于实现前述的本地存储引擎系统的数据处理方法,因此本地存储引擎系统的数据处理装置中的具体实施方式可见前文中的本地存储引擎系统的数据处理方法的实施例部分,例如,分库模块100,创建模块200,转换模块300,确定模块400,发送模块500,提交模块600,分别用于实现上述本地存储引擎系统的数据处理方法中步骤S101,S102,S103,S104,S105和S106,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明具体实施例还提供了一种本地存储引擎系统的数据处理设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种本地存储引擎系统的数据处理方法的步骤。
本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种本地存储引擎系统的数据处理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的本地存储引擎系统的数据处理方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种本地存储引擎系统的数据处理方法,其特征在于,包括:
在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;
创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
2.如权利要求1所述的方法,其特征在于,所述在本地存储引擎系统初始化时,执行所述本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间包括:
在本地存储引擎系统初始化时,采用自管理裸盘设备,依据配置参数将本地存储引擎系统数据库划分为N个子数据库,并为每个子数据库分配编号ID及存储空间。
3.如权利要求2所述的方法,其特征在于,所述在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间包括:
S1:执行本地存储引擎系统的初始化操作,定义变量i=0;
S2:判断所述变量i是否小于配置参数num_db;
S3:若所述变量i小于所述配置参数num_db,则创建子数据库,并将所述子数据库的编号ID设为i,为所述子数据库分配可用存储空间;
S4:将所述变量i更新为i+1后,循环所述步骤S2至所述步骤S4,直至所述变量i等于所述配置参数num_db,完成所述本地存储引擎系统的初始化。
4.如权利要求1所述的方法,其特征在于,所述当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务包括:
当所述本地存储引擎系统从Host端接收到待处理的上层存储事务后,将所述上层存储事务转换为本地存储事务。
5.如权利要求1所述的方法,其特征在于,所述从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中后包括:
调用回调函数向上层返回元数据已提交数据库的响应信息。
6.一种本地存储引擎系统的数据处理装置,其特征在于,包括:
分库模块,用于在本地存储引擎系统初始化时,执行本地存储引擎系统数据库的分库操作,得到N个子数据库,并为每个子数据库分配编号ID及存储空间;
创建模块,用于创建N个元数据提交线程,并为每个元数据提交线程分配编号ID,以便每个元数据提交线程分别与每个子数据库一一对应;
转换模块,用于当所述本地存储引擎系统接收到待处理的上层事务时,将所述上层事务转换为本地事务;
确定模块,用于依据所述上层事务所属的放置组PID,确定所述本地事务所使用的目标子数据库的目标ID;
发送模块,用于将所述本地事务添加至与所述目标ID对应的数据库队列后,向与所述目标ID对应的目标元数据提交线程发送获取本地事务的消息,以便所述目标元数据提交线程从所述数据库队列中获取所述本地事务后,将所述本地事务放置于元数据队列中;
提交模块,用于从所述元数据队列中获取所述本地事务,将所述本地事务需要提交的元数据提交至所述目标子数据库中。
7.如权利要求6所述的装置,其特征在于,所述分库模块具体用于:
在本地存储引擎系统初始化时,采用自管理裸盘设备,依据配置参数将本地存储引擎系统数据库划分为N个子数据库,并为每个子数据库分配编号ID及存储空间。
8.如权利要求7所述的装置,其特征在于,所述分库模块包括:
初始化单元,用于执行本地存储引擎系统的初始化操作,定义变量i=0;
判断单元,用于判断所述变量i是否小于配置参数num_db;
创建单元,用于若所述变量i小于所述配置参数num_db,则创建子数据库,并将所述子数据库的编号ID设为i,为所述子数据库分配可用存储空间;
循环单元,用于将所述变量i更新为i+1后,循环所述判断单元、所述创建单元与所述循环单元的启动操作,直至所述变量i等于所述配置参数num_db,完成所述本地存储引擎系统的初始化。
9.一种本地存储引擎系统的数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述一种本地存储引擎系统的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述一种本地存储引擎系统的数据处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968201.3A CN110750517B (zh) | 2019-10-12 | 2019-10-12 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
US17/754,800 US20230273939A1 (en) | 2019-10-12 | 2020-05-29 | Data processing method, apparatus and device for local storage engine system |
PCT/CN2020/093088 WO2021068521A1 (zh) | 2019-10-12 | 2020-05-29 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968201.3A CN110750517B (zh) | 2019-10-12 | 2019-10-12 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750517A CN110750517A (zh) | 2020-02-04 |
CN110750517B true CN110750517B (zh) | 2022-06-10 |
Family
ID=69278057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968201.3A Active CN110750517B (zh) | 2019-10-12 | 2019-10-12 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230273939A1 (zh) |
CN (1) | CN110750517B (zh) |
WO (1) | WO2021068521A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750517B (zh) * | 2019-10-12 | 2022-06-10 | 浪潮电子信息产业股份有限公司 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
CN113704277B (zh) * | 2021-07-14 | 2024-02-02 | 浪潮商用机器有限公司 | 一种基于数据库的断点续传方法及相关装置 |
CN115905114B (zh) * | 2023-03-09 | 2023-05-30 | 浪潮电子信息产业股份有限公司 | 元数据的批量更新方法、系统、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201418665D0 (en) * | 2014-10-21 | 2014-12-03 | Ibm | Database Management system and method of operation |
CN107391539A (zh) * | 2017-04-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 事务处理方法、服务器和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954401B2 (en) * | 2011-01-14 | 2015-02-10 | Symantec Corporation | Systems and methods for providing increased scalability in deduplication storage systems |
CN104866577A (zh) * | 2015-05-26 | 2015-08-26 | 深圳市六度人和科技有限公司 | 一种基于嵌入式数据库的数据处理方法及装置 |
CN107066463A (zh) * | 2016-10-28 | 2017-08-18 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和服务器 |
CN106991190A (zh) * | 2017-04-11 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种数据库自动创建子数据库系统 |
US11347774B2 (en) * | 2017-08-01 | 2022-05-31 | Salesforce.Com, Inc. | High availability database through distributed store |
CN110750517B (zh) * | 2019-10-12 | 2022-06-10 | 浪潮电子信息产业股份有限公司 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
-
2019
- 2019-10-12 CN CN201910968201.3A patent/CN110750517B/zh active Active
-
2020
- 2020-05-29 WO PCT/CN2020/093088 patent/WO2021068521A1/zh active Application Filing
- 2020-05-29 US US17/754,800 patent/US20230273939A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201418665D0 (en) * | 2014-10-21 | 2014-12-03 | Ibm | Database Management system and method of operation |
CN107391539A (zh) * | 2017-04-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 事务处理方法、服务器和存储介质 |
Non-Patent Citations (3)
Title |
---|
"One Phase Commit: A Low Overhead Atomic Commitment Protocol for Scalable Metadata Services";Giuseppe Congiu等;《 2012 IEEE International Conference on Cluster Computing Workshops》;20121120;第1-9页 * |
"网格环境下数据库系统的元数据服务";徐彬;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20050615;第四至五章 * |
多数据库事务并发调度算法优化技术研究;杜立佳等;《计算机仿真》;20110215(第02期);第401-404页 * |
Also Published As
Publication number | Publication date |
---|---|
US20230273939A1 (en) | 2023-08-31 |
WO2021068521A1 (zh) | 2021-04-15 |
CN110750517A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750517B (zh) | 一种本地存储引擎系统的数据处理方法、装置以及设备 | |
CN109684307B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN110147407B (zh) | 一种数据处理方法、装置及数据库管理服务器 | |
CN106445738B (zh) | 一种数据库备份方法及装置 | |
CN107608773B (zh) | 任务并发处理方法、装置及计算设备 | |
CN106682215B (zh) | 一种数据处理方法和管理节点 | |
CN107153643B (zh) | 数据表连接方法及装置 | |
CN108900626B (zh) | 一种云环境下数据存储方法、装置及系统 | |
US8898677B2 (en) | Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method | |
CN109379398B (zh) | 一种数据同步方法及装置 | |
CN109614390A (zh) | 数据库读写分离方法、装置、服务系统、设备及介质 | |
CN112750027A (zh) | 批量业务处理方法、装置、计算机设备和存储介质 | |
CN109213429B (zh) | 存储管理方法和设备 | |
CN113419672B (zh) | 一种存储容量管理方法、系统及存储介质 | |
CN111488323A (zh) | 一种数据处理方法、装置及电子设备 | |
CN113535087B (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
CN110806942A (zh) | 数据处理的方法和装置 | |
CN110162395B (zh) | 一种内存分配的方法及装置 | |
CN114281260A (zh) | 应用于分布式存储系统的存储方法、装置、设备及介质 | |
CN111124751B (zh) | 数据恢复方法及系统、数据存储节点、数据库管理节点 | |
CN105373451B (zh) | 一种虚拟机放置的方法及装置 | |
CN113905014B (zh) | 用于为终端设备分配id号的方法、服务器和存储介质 | |
CN115578180A (zh) | 银行网点的现金资源的管理方法及装置 | |
CN114936187A (zh) | 数据文件的处理方法、装置、设备及存储介质 | |
CN112000289B (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 |