CN108108119B - 一种可扩展的存储集群事物的配置方法及装置 - Google Patents
一种可扩展的存储集群事物的配置方法及装置 Download PDFInfo
- Publication number
- CN108108119B CN108108119B CN201611055401.2A CN201611055401A CN108108119B CN 108108119 B CN108108119 B CN 108108119B CN 201611055401 A CN201611055401 A CN 201611055401A CN 108108119 B CN108108119 B CN 108108119B
- Authority
- CN
- China
- Prior art keywords
- transaction
- callback function
- master node
- request
- configuration
- 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
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 110
- 230000004044 response Effects 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种可扩展的存储集群事物的配置方法及装置,涉及数据处理领域,所述方法包括:接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列;通过轮询所述事物请求队列,获取相应的事物请求,并执行相应事物;在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物。本发明实施例解决现有存储集群事务配置耗时长、批量并发部署效率低的弊端,能够支持数据库、共享内存、元数据等多个配置类型对象的集群事务,满足一个事务涉及多个业务系统协作处理,适配业务配置操作多样性和灵活性。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种可扩展的存储集群事物的配置方法及装置。
背景技术
存储集群广泛用于企业管理平台,集群节点间配置操作直接关系到企业日常运营。集群事务本质上是一种分布式事务,因此需要满足集群节点间配置事务的特性,存储集群事务就是在存储集群设备上执行的分布式事务,是以集群节点为单位,包括事务处理的协调节点和参与节点,通过选举出的协调节点,协作各参与节点执行相应的操作,协调节点本身也可以是一个参与节点。一个集群事务的正确执行要包含ACID(Atomicity、Consistency、Isolation、Durability,原子性、一致性、隔离性、持久性)基本要素。
在存储集群分布式事务处理过程中,某些节点可能发生故障,或者由于网络发生故障而无法通讯。为了解决集群系统节点部分失败时产生数据的不一致性。通常采用了2PC(Two-Phase Commit Protocol,两阶段提交协议)。为了支持两阶段提交,一个分布式事务中涉及到的多个节点必须能够相互通信。一般来说一个协调节点会被指定具有"控制"或"提交"管理操作并监控来自其它节点的信息的功能。
存储集群中,用户的配置操作涉及的不仅仅是数据库,还有元数据和共享内存区等其他对象,需要实现一个事务中多个对象操作;同时,存储集群在上电配置恢复、批量配置特定场景下,可能存在多个事务配置高并发执行的情况,事务框架要很好支持多个相互无关的事务并发执行,提升系统事务执行效率;进一步地,存储集群配置要求不重启系统前提下进行事务逻辑的版本升级,并需要解决配置业务涉及多个子系统事务相互关联、高并发事务耗时长的问题。
发明内容
根据本发明实施例提供的技术方案解决的技术问题是,至少解决了目前存储集群事务耗时长的问题。
根据本发明实施例提供的一种可扩展的存储集群事物的配置方法,包括:
接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列;
通过轮询所述事物请求队列,获取相应的事物请求,并执行相应事物;
在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物。
优选地,在将所收到的事物请求依次放入事物请求队列之前,还包括:
从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数。
优选地,所述回调函数包括事物校验回调函数、事物处理回调函数和事物提交回调函数,所述的执行相应事物包括:
主节点利用相应的工作线程,执行所述事物校验回调函数;
所述主节点在执行所述事物校验回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物校验回调函数;
若所述主节点收到某个从节点的执行所述事物校验回调函数失败的应答,则中止执行所述事物。
优选地,所述的执行相应事物还包括:
所述主节点在收到所有从节点的执行所述事物校验回调函数成功的应答后,所述主节点利用相应的工作线程,执行所述事物处理回调函数;
所述主节点在执行所述事物处理回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物处理回调函数;
若所述主节点收到某个从节点的执行所述事物处理回调函数失败的应答,则通知执行所述事物的所有从节点执行对应的回退函数。
优选地,所述的执行相应事物还包括:
所述主节点在收到所有从节点的执行所述事物处理回调函数成功的应答后,所述主节点利用相应的工作线程,执行所述事物提交回调函数;
所述主节点在执行所述事物提交回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物提交回调函数;
若所述主节点收到所有从节点的执行所述事物提交回调函数成功的应答,则将执行所述事物成功的结果发送至所述客户端;
若所述主节点收到某一从节点的执行所述事物提交回调函数失败的应答,则重启所述从节点,并将所述事物的数据同步至所述从节点。
优选地,还包括:
通过卸载指定事物动态库,加载升级的事物动态库,实现事物动态库升级。
优选地,当所述事物请求中请求配置多个配置类型对象时,依次执行每个配置类型对象的相应回调函数,其中,所述配置类型对象包括数据库、共享内存、元数据中的至少一个。
根据本发明实施例提供的存储介质,其存储用于实现上述可扩展的存储集群事物的配置方法的程序。
根据本发明实施例提供的一种可扩展的存储集群事物的配置装置,包括:
消息处理模块,用于接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列;
请求轮询模块,用于通过轮询所述事物请求队列,获取相应的事物请求;
事物执行模块,用于执行所获取的事物请求对应的事物,并在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物。
优选地,所述消息处理模块还用于从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数。
优选地,所述消息处理模块还用于通过卸载指定事物动态库,加载升级的事物动态库,实现事物动态库升级。
本发明实施例提供的技术方案具有如下有益效果:
本发明实施例解决现有存储集群事务配置耗时长、批量并发部署效率低的弊端,能够支持数据库、共享内存、元数据等多个配置类型对象的集群事务,满足一个事务涉及多个业务系统协作处理,适配业务配置操作多样性和灵活性。
附图说明
图1是本发明实施例提供的可扩展的存储集群事物的配置方法框图;
图2是本发明实施例提供的可扩展的存储集群事物的配置装置框图;
图3是本发明实施例提供的事务管理框架模型图;
图4是本发明实施例提供的集群事务框架协作图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的可扩展的存储集群事物的配置方法框图,如图1所示,步骤包括:
步骤S101:接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列。
在执行步骤S101之前,从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数。其中,所述回调函数包括事物校验回调函数、事物处理回调函数和事物提交回调函数。
步骤S102:通过轮询所述事物请求队列,获取相应的事物请求,并执行相应事物。
主节点执行某一事物时,主节点利用相应的工作线程,执行所述事物校验回调函数,并在执行所述事物校验回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物校验回调函数,若主节点收到某个从节点的执行所述事物校验回调函数失败的应答,则中止执行所述事物,若主节点在收到所有从节点的执行所述事物校验回调函数成功的应答,则主节点利用相应的工作线程,执行所述事物处理回调函数。主节点在执行所述事物处理回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物处理回调函数,若主节点收到某个从节点的执行所述事物处理回调函数失败的应答,则通知执行所述事物的所有从节点执行对应的回退函数,若主节点收到所有从节点的执行所述事物处理回调函数成功的应答,则主节点利用相应的工作线程,执行所述事物提交回调函数。主节点在执行所述事物提交回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物提交回调函数,若主节点收到所有从节点的执行所述事物提交回调函数成功的应答,则将执行所述事物成功的结果发送至所述客户端,若所述主节点收到某一从节点的执行所述事物提交回调函数失败的应答,则重启所述从节点,并将所述事物的数据同步至所述从节点。
步骤S103:在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物。
当步骤S101中的事物请求中请求配置多个配置类型对象时,依次执行每个配置类型对象的相应回调函数,其中,所述配置类型对象包括数据库、共享内存、元数据中的至少一个。
进一步地,本发明实施例还可以在不重启系统的情况下实现事物动态库升级,具体地说,首先卸载指定事物动态库,然后加载升级的事物动态库。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,该程序在执行时,包括步骤S101至步骤S103。其中,所述的存储介质可以为ROM/RAM、磁碟、光盘等。
图2是本发明实施例提供的可扩展的存储集群事物的配置装置框图,如图2所示,包括:消息处理模块、请求轮询模块、事物执行模块。
消息处理模块用于接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列。进一步地,在将所收到的事物请求依次放入事物请求队列之前,消息处理模块还用于从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数。所述消息处理模块还用于通过卸载指定事物动态库,加载升级的事物动态库,实现在不重启系统的情况下升级事物动态库。所述消息处理模块可以设置在执行事物的主节点。
请求轮询模块,用于通过轮询所述事物请求队列,获取相应的事物请求。所述请求轮询模块可以设置在执行事物的主节点。
事物执行模块,用于执行所获取的事物请求对应的事物,并在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物。事物执行模块设置在用于执行事物的主节点和从节点上,执行所述事物的回调函数,具体包括事物校验回调函数、事物处理回调函数和事物提交回调函数。
本发明实施例通过定义事务消息配置模型和设计事务管理框架,支持在不重启时事务动态库的加载与卸载,协调集群上各节点多实例的事务工作线程执行多个对象的校验、处理、提交操作,以此完成存储集群业务配置的事务流程。
当一个事务正在执行过程中,其它与该事务的数据操作无关的其它事务可以并发执行。
当执行事务的校验操作失败时,中止当前进行的事务操作,返回失败原因到事务发起端(即发起事物请求的客户端)。
当前执行事务的处理操作失败时,需要在执行事务对应的回退操作后,返回失败原因到事务发起端。
如果所有参与此次事务的节点的处理操作执行成功,主节点发起所有节点的提交操作,进入该阶段后,事务执行出现提交失败时,失败节点立即执行重启,协调节点(即主节点)将当前集群的事务数据同步到重启节点(即提交失败的节点),保证集群事务数据的一致性。
事务操作的处理回调完成后,将事务输出数据记录到事务日志文件,在仅有一个节点的集群场景,重启后通过事务日志重放恢复事务数据。
上述事务消息配置模型的描述如下:
事务消息编号:集群事务执行的全局唯一标识,本存储集群事务中,对应业务子系统配置操作条目编号的集合。
事务配置结构:包含事务消息编号和数据操作类型(一种或多种,最大支持7种对象)。其中,在数据操作类型中,如果包含数据库操作,则指定数据库相关参数,包含操作数据库名称和表名称,以及区分事务的读写类型,写事务还需要指定存盘类型;如果包含元数据或内存数据操作,则需要指定数据位置及长度;同时还需要配置事务校验、处理、提交、回退操作的回调函数,支持存储集群业务配置数据库、内存、元数据等多个事务对象操作,是一个完整的事务执行上下文所必须具备的配置参数集合。
根据事务配置结构,各业务子系统实现集群事务要执行的校验、处理、提交、回退函数,配置数据库、内存、元数据类型中一种或多种配置回调函数,组合成事务配置条目。
事务操作区分读写类型,通过读写锁实现并发的多事务读操作和串行的写事务操作。事务数据的存盘支持立即存盘和定时存盘操作,为提升事务性能,默认使用周期性定时存盘。
图3是本发明实施例提供的事务管理框架模型图,如图3所示。事务管理框架包含事务业务库管理模块、事务调度模块、事务执行模块,其中,事务业务库管理模块和事务调度模块实现图2的消息处理模块的功能,事物执行模块实现图2的主节点的请求轮询模块和事物执行模块的功能以及从节点的事物执行模块的功能。描述如下:
主节点:事务管理框架入驻的协调节点,维护执行集群事务操作的节点列表,接收并处理集群客户端的事务请求。该节点出现单点故障时,集群节点通过重新选举,产生新的主节点来接收处理事务请求。
从节点:除主节点外的其它集群节点,接收并处理集群上主节点的事务通知。新的从节点加入到集群中时,需要在上电初始化时经过数据库、内存、元数据的同步后才允许加入集群事务节点列表。
业务库管理模块(即事物业务库管理模块)负责业务事务配置检验、业务库(即事物动态库或业务动态库或事物库或动态库)加载和升级操作。系统上电时,该模块扫描所有事务动态库并加载到框架数据区;在库逻辑变换,业务库升级时,重新加载更新业务动态库。
事务的注册按业务子系统粒度,统一使用lib_trans_前缀编译出各自独立的动态库。在系统上电时由事务管理框架动态扫描所有该前缀的动态库进行加载,解析以lib_trans前缀的动态库符号表,找到事务配置结构后,导入事务管理数据区。
在业务子系统需要升级事务操作时,事务管理模块将指定动态库卸载,重新加载待更换的动态库。
事务调度模块负责维护事务消息队列,接收客户端同步和异步消息请求(即事物请求),调用业务库管理模块对请求消息进行检验和提取对应的回调函数,将事务内容写入消息队列(即事物请求队列)供工作线程执行事务;同时接收事务的执行结果并反馈到发起客户端。
事务执行模块负责管理事务工作线程池,创建多个工作实例线程,轮询消息队列获取事务请求执行事务操作,协调从节点执行事务的回调函数,并将事务执行的结果反馈到事务调度模块。
具体事务执行流程包括如下步骤:
步骤1:集群节点上电选举出主节点,主节点业务库管理模块扫描到所有业务子系统的事务动态库,加载到事务管理数据区,事务调度模块创建事务接收消息队列(即事物请求队列)和事务处理工作线程组,完成事务执行模块初始化。
步骤2:用户配置触发客户端发起集群事务(即用户的配置操作触发客户端向主节点发起事物请求),主节点上事务调度模块接收到该事务请求,调用业务库管理模块接口,找到匹配的请求消息编号(即事物消息编号)和回调函数,将请求内容(包括事物消息编号、相应输入数据或输入参数)写入事务处理消息队列(即事物请求队列)。
步骤3:主节点事务工作模块线程(即事物执行模块的工作线程)从消息队列(即事物请求队列)中获取到请求,根据消息体传入参数(即输入数据或输入参数),执行注册时配置的事务校验回调函数成功,通知所有从节点上相同编号的工作线程执行同一校验操作,如果配置了多个对象,则依次执行每个对象的校验操作。
步骤4:所有从节点工作线程校验操作完成并应答主节点后,若主节点执行注册时配置的事务处理回调函数成功,则通知所有从节点上相同编号的工作线程执行同一处理操作,如果配置了多个对象,则依次执行每个对象的事务处理操作。
步骤5:所有从节点工作线程处理操作完成并应答主节点后,若主节点执行注册时配置的提交函数成功,则通知所有从节点上相同编号的工作线程执行同一提交操作,如果配置了多个对象,则依次执行每个对象的事务提交操作,向事务调度模块返回执行成功的应答。
步骤6:当有节点在事务处理操作过程中出现失败时,主节点通知集群内各节点执行注册时配置的回退函数,返回事务调度模块执行失败;
步骤7:事务调度模块获取执行结果并返回客户端。
如是同步请求,在约定时间内未收到工作线程应答,则超时返回。
图3中描述了事务管理框架模型结构,事务调度模块作为事务管理的核心模块,接收业务事务请求(即事物请求)后,调用事务业务库管理模块接口,获取到对应的事务配置条目,并放入事务处理消息队列(即事物请求队列);事务执行模块创建多个工作线程,轮询请求队列,并获取请求条目(即事物配置条目)后,执行业务的事务回调函数,将结果返回到事务调度模块。
基于图3的配置,在图4中有一个客户端,该客户端可以存在于主节点或者从节点上,支持向事务管理模块(即事物业务库管理模块和事物调度模块)进行通讯。集群事务开始执行,触发的整个协作过程:
步骤201:客户端携带预先注册的事务消息编号、事务处理所需要的输入数据(或输入参数),调用事务管理模块提供的接口,发起集群事务操作。
如果在规定时间T内没有应答则超时返回客户端。
步骤202:主节点接收事务请求消息,对事务请求消息携带的事务编号和输入参数进行检验后,将请求消息条目插入事务消息队列(即事物请求队列)中。
步骤203:主节点上事务线程池多个实例线程(即工作线程实例)处理完成上一个事务后,轮询消息队列(即事物请求队列),获取到当前插入的消息条目(即请求消息条目)。
步骤204:主节点执行该事务编号(即事物消息编号)的预先配置好的校验回调函数完成后,携带消息条目内容通知从节点上相同下标的事务线程(即具有相同编号的工作线程)执行相同的校验回调。
步骤205:从节点执行校验回调完成后,应答主节点相同下标的事务线程。
步骤206:主节点执行该事务编号的预先配置好的处理回调函数完成后,携带消息条目内容通知从节点上相同下标的事务线程执行相同的处理回调。
步骤207:从节点执行处理回调完成后,应答主节点相同下标的事务线程。
步骤208:主节点执行该消息编号的预先配置好的处理提交回调函数完成后,携带消息条目内容通知从节点上相同下标的事务线程执行相同的提交回调。
步骤209:从节点执行提交回调完成后,应答主节点相同下标的事务线程。
步骤210:事务执行完成,主节点应答发起事务操作的客户端,流程结束。
综上所述,本发明实施例通过存储集群事务的多实例和多对象扩展,提升业务配置操作的并发性和多样性,其具有以下技术效果:
1.本发明实施例通过事务消息配置模型,将业务逻辑的事务操作和集群事务处理框架分离,做到框架独立维护,降低业务逻辑复杂度;
2.本发明实施例使用动态扫描加载和卸载业务库的方式,实现在不重启存储系统的前提下进行事务逻辑的版本升级;
3.本发明实施例满足部分存储业务配置操作的执行耗时长,且存在多个配置同时操作的并发性要求的业务场景,例如存储池配置、集群文件系统创建、后台任务处理等业务场景;
4.本发明实施例除支持数据库事务外,还支持存储集群中内存、元数据等多种对象类型的事务操作,满足多个业务子系统协作的复杂事务操作流程。
5.本发明实施例通过对分布式数据库操作二阶段提交算法进行改进,在事务处理前增加独立的校验流程,检验操作失败时立即返回,从而提升分布式事务执行性能。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (8)
1.一种可扩展的存储集群事物的配置方法,包括:
接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列;
通过轮询所述事物请求队列,获取相应的事物请求,并执行相应事物;
在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物;
在将所收到的事物请求依次放入事物请求队列之前,还包括:
从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数;
所述回调函数包括事物校验回调函数和事物处理回调函数;
所述的执行相应事物包括:
主节点利用相应的工作线程,执行所述事物校验回调函数;
所述主节点在执行所述事物校验回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物校验回调函数;
所述主节点在收到所有从节点的执行所述事物校验回调函数成功的应答后,所述主节点利用相应的工作线程,执行所述事物处理回调函数。
2.根据权利要求1所述的方法,所述的执行相应事物还包括:
若所述主节点收到某个从节点的执行所述事物校验回调函数失败的应答,则中止执行所述事物。
3.根据权利要求2所述的方法,所述的执行相应事物还包括:
所述主节点在执行所述事物处理回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物处理回调函数;
若所述主节点收到某个从节点的执行所述事物处理回调函数失败的应答,则通知执行所述事物的所有从节点执行对应的回退函数。
4.根据权利要求3所述的方法,所述回调函数还包括:事物提交回调函数,所述的执行相应事物还包括:
所述主节点在收到所有从节点的执行所述事物处理回调函数成功的应答后,所述主节点利用相应的工作线程,执行所述事物提交回调函数;
所述主节点在执行所述事物提交回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物提交回调函数;
若所述主节点收到所有从节点的执行所述事物提交回调函数成功的应答,则将执行所述事物成功的结果发送至所述客户端;
若所述主节点收到某一从节点的执行所述事物提交回调函数失败的应答,则重启所述从节点,并将所述事物的数据同步至所述从节点。
5.根据权利要求2-4任意一项所述的方法,还包括:
通过卸载指定事物动态库,加载升级的事物动态库,实现事物动态库升级。
6.根据权利要求2-4任意一项所述的方法,当所述事物请求中请求配置多个配置类型对象时,依次执行每个配置类型对象的相应回调函数,其中,所述配置类型对象包括数据库、共享内存、元数据中的至少一个。
7.一种可扩展的存储集群事物的配置装置,包括:
消息处理模块,用于接收客户端发起的用于业务配置的事物请求,并将所收到的事物请求依次放入事物请求队列;
请求轮询模块,用于通过轮询所述事物请求队列,获取相应的事物请求;
事物执行模块,用于执行所获取的事物请求对应的事物,并在所述事物执行期间,并发执行与所述事物的业务配置无关的其它事物;
所述消息处理模块还用于从所述事物请求中提取事物消息编号,并根据所述事物消息编号,查找事物动态库,找到相应的回调函数和回退函数;
所述回调函数包括事物校验回调函数和事物处理回调函数;
所述请求轮询模块,具体用于:
主节点利用相应的工作线程,执行所述事物校验回调函数;
所述主节点在执行所述事物校验回调函数成功后,通知与所述事物相关的从节点的相应工作线程,执行相同的事物校验回调函数;
所述主节点在收到所有从节点的执行所述事物校验回调函数成功的应答后,所述主节点利用相应的工作线程,执行所述事物处理回调函数。
8.根据权利要求7所述的装置,所述消息处理模块还用于通过卸载指定事物动态库,加载升级的事物动态库,实现事物动态库升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611055401.2A CN108108119B (zh) | 2016-11-25 | 2016-11-25 | 一种可扩展的存储集群事物的配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611055401.2A CN108108119B (zh) | 2016-11-25 | 2016-11-25 | 一种可扩展的存储集群事物的配置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108108119A CN108108119A (zh) | 2018-06-01 |
CN108108119B true CN108108119B (zh) | 2023-03-24 |
Family
ID=62204332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611055401.2A Active CN108108119B (zh) | 2016-11-25 | 2016-11-25 | 一种可扩展的存储集群事物的配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108119B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559065A (zh) * | 2019-09-26 | 2021-03-26 | 北京沃东天骏信息技术有限公司 | 分集群加载模型的方法和装置 |
CN111176746A (zh) * | 2019-12-10 | 2020-05-19 | 贝壳技术有限公司 | 一种数据配置方法、装置、系统、电子设备及其存储介质 |
CN113760519B (zh) * | 2020-06-07 | 2024-07-26 | 北京金山云网络技术有限公司 | 分布式事务处理方法、装置、系统和电子设备 |
CN112114778B (zh) * | 2020-07-03 | 2024-04-02 | 上海金融期货信息技术有限公司 | 一种支持水平扩展的跨平台动态库算法管理系统 |
CN113515499B (zh) * | 2021-03-25 | 2023-04-28 | 中国雄安集团数字城市科技有限公司 | 一种数据库服务方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853186A (zh) * | 2008-12-31 | 2010-10-06 | Sap股份公司 | 分布式事务恢复系统和方法 |
CN102521007A (zh) * | 2011-11-30 | 2012-06-27 | 烽火通信科技股份有限公司 | 一种基于事务调度的网管系统对象并发编辑的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8887163B2 (en) * | 2010-06-25 | 2014-11-11 | Ebay Inc. | Task scheduling based on dependencies and resources |
US8880486B2 (en) * | 2010-07-27 | 2014-11-04 | Sap Ag | Distributed database system utilizing an extended two-phase-commit process |
-
2016
- 2016-11-25 CN CN201611055401.2A patent/CN108108119B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853186A (zh) * | 2008-12-31 | 2010-10-06 | Sap股份公司 | 分布式事务恢复系统和方法 |
CN102521007A (zh) * | 2011-11-30 | 2012-06-27 | 烽火通信科技股份有限公司 | 一种基于事务调度的网管系统对象并发编辑的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108108119A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11994959B2 (en) | System and method for transaction recovery in a multitenant application server environment | |
CN108108119B (zh) | 一种可扩展的存储集群事物的配置方法及装置 | |
JP6223569B2 (ja) | ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置 | |
US8332443B2 (en) | Masterless distributed batch scheduling engine | |
US9286368B2 (en) | Linking framework for information technology management | |
US9195455B2 (en) | Reducing downtime when patching multiple inter-dependent software components | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
US7330860B2 (en) | Fault tolerant mechanism to handle initial load of replicated object in live system | |
KR101993432B1 (ko) | 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들 | |
CN110971700B (zh) | 分布式锁的实现方法及装置 | |
CN105512266A (zh) | 一种实现分布式数据库操作一致性的方法及装置 | |
CN107870982B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN104657158A (zh) | 一种业务系统中业务处理的方法和装置 | |
CN104899274A (zh) | 一种内存数据库高效远程访问方法 | |
WO2009089746A1 (fr) | Procédé, dispositif et système de réalisation d'une tâche dans un environnement de grappes | |
CN117076096B (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
CN114443295B (zh) | 一种异构云资源管理调度方法、装置及系统 | |
CN109753245B (zh) | 一种多磁盘负载均衡异步读写调度方法及装置 | |
CN107463390B (zh) | 一种软件升级方法及升级服务器 | |
CN110417882A (zh) | 主节点的确定方法、装置和存储介质 | |
CN115934251A (zh) | 一种实现云原生nfs高可用的方法及系统 | |
CN114254039A (zh) | 分布式同步系统 | |
CN113342511A (zh) | 一种分布式任务管理系统及方法 | |
CN111782373A (zh) | 作业调度方法及装置 | |
CN116804941A (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 |