CN110083438B - 事务分发方法、装置、设备和存储介质 - Google Patents
事务分发方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110083438B CN110083438B CN201910368203.9A CN201910368203A CN110083438B CN 110083438 B CN110083438 B CN 110083438B CN 201910368203 A CN201910368203 A CN 201910368203A CN 110083438 B CN110083438 B CN 110083438B
- Authority
- CN
- China
- Prior art keywords
- database
- transaction
- executed
- count
- backup
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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
-
- 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/466—Transaction processing
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种事务分发方法、装置、设备和存储介质,该方法包括:当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。本发明实施例通过使用当前事务计数确保事务均匀分发到各数据库中,提高了数据库的执行性能,可增强数据存储能力。
Description
技术领域
本发明实施例涉及数据存储技术领域,尤其涉及一种数据库集群事务分发方法、装置、设备和存储介质。
背景技术
在当今生活数据库起到了举足轻重的作用,数据库领域得到了快速发展,当数据并发访问量较高的情况下,多采用读写分离式数据库系统,数据库主要由主数据库和备份数据库组成,主数据库可执行读和写事务,备数据库只能执行读事务。
现有技术在读写分离式数据库中仅对数据库的访问请求类型进行判断,根据访问类型确定执行访问请求的操作对象,存在数据库事务不能均匀分布到主数据库或者备份数据库的问题,造成读写分离式数据库系统的性能浪费,导致执行性能较低。
发明内容
本发明提供一种数据库集群事务分发方法、装置、设备和存储介质,以实现读写分离式数据库系统的事务均匀分发,以提高数据库性能。
第一方面,本发明实施例提供了一种事务分发方法,包括:
当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;
根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;
将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
第二方面,本发明实施例还提供了一种事务分发装置,包括:
计数获取模块,用于当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;
目标确定模块,用于根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;
事务分发模块,用于将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的事务分发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的事务分发方法。
本发明实施例的技术方案,通过在获取到待执行事务时,获取数据库集群中各数据库的当前事务计数,基于各当前事务计数确定处理待执行事务的目标库,将待执行事务分发到目标库,并更新目标库对应的当前事务计数;根据当前事务计数将事务进行分发,确保了各数据库事务均匀执行,提高了数据库集群的执行性能,可增强数据库集群的数据存储能力。
附图说明
图1是本发明实施例一提供的一种事务分发方法的步骤流程图;
图2是本发明实施例二提供的一种事务分发方法的步骤流程图;
图3是本发明实施例三提供的一种事务分发装置的结构示意图;
图4是本发明实施例四提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1是本发明实施例一提供的一种事务分发方法的步骤流程图,本实施例可适用于读写分离数据库集群中读事务分发的情况,该方法可以由事务分发装置来执行,并一般可以集成在数据库控制服务器中,该装置可以采用硬件和/或软件的方式来实现,本发明实施例的方法具体包括如下步骤:
步骤101、当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数。
其中,待执行事务可以是数据库集群中需要执行的逻辑单元,可以包括读事务和写事务,可选的,在本发明实施例中待执行事务可以是主数据库和备份数据库均可执行的读事务,数据库集群可以是由多个数据库组成的数据库系统,数据库集群中可以包括一个主数据库和多个备份数据库,当前事务计数可以是用于表征数据库集群中各数据库已执行事务数量的标记,也可以是各数据库未执行事务的最大执行事务数量的标记。
在本发明实施例中,当数据库集群获取到待办的事务时,可以获取数据库集群中各数据库对应的当前事务计数,可以确定各数据库中已执行事务的数量,当前事务计数可以与各数据库的唯一标识号管理存储,可以根据数据库的唯一标识号获取到对应的当前事务计数,当前事务计数还可以直接存储在对应的数据库中,可以通过访问对应的数据库获取到各自对应的当前事务计数。
步骤102、根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库。
其中,目标库可以是执行待执行事务的数据库,可以是数据库集群中的主数据库或则备份数据库。
具体的,可以基于获取到的各当前事务计数进行判断,确定各数据库已执行事务的数量,可以根据已执行数量确定数据库集群中执行待执行事务的数据库,例如,若数据库A的当前事务计数均小于其他数据库的当前事务计数,那么可以将数据库A确定为目标库。
在本发明实施例中,当数据库集群为读写分离数据库集群时,可以内置两个连接,一个连接主数据库另一个连接备份数据库,其中,备份数据库连接的建立可以通过对数据库集群中备份数据库的轮询得到,在确定待执行事务的目标库时,可以对比建立连接的主数据库和备份数据库的事务计数,可以基于对比结果确定待执行事务的目标库为主数据库还是备份数据库。
步骤103、将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
其中,目标库对应的当前事务计数的更新可以是指更新目标库已执行待执行事务的数量,例如,当前事务计数为T,当待执行事务分发到目标库后,可以更新当前事务计数为T+1,可以理解的是,更新当前事务计数的方式不限于增加,能够表示目标库已执行事务数量变化即可,例如,事务计数可以是事务执行数量的最大值,当前事务计数的更新方式可以是减法,也就是当前事务计数为T,当待执行事务分发到目标库后,可以更新当前事务计数为T-1。
具体的,当待执行事务分发到执行的待执行事务的目标库后,可以获取与目标库关联存储的当前事务计数,在当前事务计数数值的基础上进行更新,可以将更新后的当前事务计数作为新的当前事务计数。
本发明实施例的技术方案,通过当获取到待执行事务时,获取各数据库的当前事务技术,根据当前事务计数确定待执行事务的目标库,将当前事务计数分发给目标库,并对目标库的当前事务计数进行更新;使得数据库集群根据当前事务计数保证各数据库执行事务的均衡,提高了数据库集群的执行性能,最大限度的利用数据库集群中的所有资源,可增强数据库集群的数据存储能力。
实施例二
图2是本发明实施例二提供的一种事务分发方法的步骤流程图,本发明实施例是在上述实施例的基础上进行的具体化,应用于数据库集群,数据库集群包括一个主数据库和至少一个备份数据库,当在应用创建数据库连接时,可以内置创建两个连接,一个连接主数据库,一个连接备份数据库,本发明实施例的具体方法包括:
步骤201、当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数。
其中,待执行事务可以是应用产生的读事务,在数据库集群中可以被主数据库执行也可以被备份数据库执行。
具体的,可以当数据库集群获取到待执行的读事务时,可以分别获取到对应主数据库和备份数据库的当前事务计数。
步骤202、将所述主数据库的第一事务计数与各备份数据库的第二事务计数进行比对。
其中,第一事务计数可以是用于表征当前主数据库执行事务数量的标记,可以与主数据库的唯一标识号关联存储,进一步的,第一事务计数可以是主数据库执行事务的最大数量,每当主数据库执行事务后,第一事务计数可以相应减小1,第二事务计数可以是用于表征当前各备份数据库当前已执行事务数量的标记,各备份数据库可以分别对应于第二事务计数,第二事务计数可以分别与各备份数据库的唯一标识号关联存储,进一步的,第二事务计数可以是备份数据库执行事务的最大数量,每当备份数据库执行事务后,第二事务计数可以相应减小1。
具体的,可以将对应于主数据库的第一事务计数与对应于各备份数据库的第二事务计数进行数值比对,比对的方式可以包括将第一事务计数于各备份数据库的第二事务计数进行减法运算或者除法运算。
步骤2031、如果所述第一事务计数大于或等于各所述第二事务计数之和,则将所述主数据库确定为所述待执行事务所属数据库的目标库。
在本发明实施例中,第一事务计数可以是主数据库可执行事务的最大数量,第二事务计数可以是备份数据库可执行事务的最大数量,如果第一事务计数大于各所述第二事务计数的总和,也就是说主数据库已执行事务的数量小于各备份数据库已执行事务的总数量,可以将主数据库确定为执行待执行事务目标库。
步骤2032、否则,确定所述待执行事务由备份数据库执行,并根据预设规则从所述至少一个备份数据库中选择目标库。
其中,预设规则可以是在备份数据库中选择目标库的规则,可以根据对应各备份数据库的第二事务计数的数值大小确定目标库,例如备份数据库A的第二事务计数大于其他备份数据库的第二事务计数,可以选择备份数据库A为目标库,还可以根据数据库集群的具体情况在备份数据库中确定目标库,例如在应用软件就数据库集群建立数据库连接时,已经内置创建了包括一个主数据库连接和一个备份数据库连接,备份数据库连接通过对各备份数据库轮询的方式确定,预设规则可以是直接将已建立连接的备份数据库确定为目标库。
具体的,第一事务计数可以是主数据库可执行事务的最大数量,第二事务计数可以是备份数据库可执行事务的最大数量,如果第一事务计数小于或等于各所述第二事务计数的总和,也就是说备份数据库执行事务的总数小于主数据库,可以确定待执行事务由备份数据库执行,在确定待执行事务由备份数据库执行后,可以基于预设规则在各备份数据库中选择目标库。
步骤204、将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
具体的,在本发明实施例中,可以将待执行事务分发到对应的目标库,由目标库执行待执行事务,可以通过减少的方式减少当前事务计数,例如,每当待执行事务分发到目标库,可以在目标库当前事务计数的基础上减去1,可以将减去1后的当前事务计数作为新的当前事务计数,通过将当前事务计数更新方式选择为减法的形式,使得各数据库避免因为增加超出数值记录范围,导致事务统计不准确,避免事务分发不均衡。
步骤205、如果各所述数据库的当前事务计数之和小于重置阈值,则根据各所述数据库的原始事务计数,更新各所述数据库的当前事务计数。
其中,重置阈值可以是重置各数据库当前事务计数的临界值,可以用于表征各数据库执行事务最大总数,当前事务计数的更新方式是增加时,重置阈值可以是各数据库执行事务的最大总数对应数值,当前事务计数的更新方式为减少时,重置阈值可以是0。
在本发明实施例中,当前事务计数是通过减法的方式进行更新,可以统计各当前事务计数的和,将统计得到的和与重置阈值进行对比,确定是否已经小于重置阈值,若小于重置阈值,可以获取各数据库原始事务计数对各数据库当前事务计数进行更新,更新的方式可以包括在各当前事务计数的基础上加上对应的原始事务计数,还可以包括将原始事务计数直接作为对应各数据库的新的当前事务计数。
在本发明实施例的技术方案,通过在获取到待执行事务时,获取数据库集群中各数据库的当前事务计数,将主数据库的第一事务计数与备份数据库的第二事务计数进行比对,若第一事务计数大于等于第二事务计数之和,则将主数据库确定为执行待执行事务所属数据库的目标库,否则,将待执行事务确定为备份数据库执行,并根据预设规则从至少一个备份数据库中选择目标库,将待执行事务分发到目标库,并更新目标库对应的当前事务计数,当各数据库的当前事务计数之和小于重置阈值时,根据数据库的原始事务计数更新各数据库的当前事务计数,使得各数据库执行已执行事务的总数统计准确,可提高事务均匀分发的准确性,进一步提高了数据库集群的执行性能。
在上述实施例的基础上,各所述数据库的原始事务计数通过下述方式确定:
获取预先设定的对应所述数据库集群中主数据库和备份数据库的事务分发占比;获取所述数据库集群中处于运行状态的备份数据库的运行总数;根据所述事务分发占比及所述运行总数,确定各所述数据库的原始事务计数。
其中,事务分发占比可以是数据库集群中主数据库与备份数据库处理事务的比例数,可以根据用户设定获得也可以根据算法计算得到,运行状态可以是数据库集群中数据库节点正常工作的状态,运行总数可以是数据库集群中正在运行的备份数据库的总数。
具体的,可以获取用户预先设定的主数据库与备份数据库事务分发占比,可以获取数据库集群中正常运行的备份数据库总数,通过运行总数及事务分发占比进行计算确定对应各数据库的原始事务计数,可以理解的是,各备份数据库的之间的事务分发占比可以相同也可以不同,例如可以根据各备份数据库的性能再确定各备份数据库之间的分发占比。
示例性的,若主数据库与备份数据库的事务分发占比为T%:(100-T)%,备份数据库的运行总数为N,主数据库与各备份数据库的分发比例可以表示为:T%:(100-T)/N%:(100-T)/N%:……:(100-T)/N%,可以先进行整值变化,也就是NT:(100-T):(100-T):……:(100-T),可以通过引进NT与(100-T)的最大公约数P计算得到对应各数据库的原始事务计数,例如主数据库的原始事务计数TP=NT/P,各备份数据库的原始事务计数TS=(100-T)/P。
在上述实施例的基础上,本发明实施例还包括:
当所述数据库集群中处于运行状态的备份数据库的运行总数改变时,基于设定调整规则调整各所述数据库的原始事务计数。
其中,调整规则可以是用于调整各数据库原始事务计数的规则,例如可以是重新计算原始事务计数,还可以是在原始事务计数的基础上根据补偿量进行调整,当有数据库发生故障、故障数据库恢复成功重新加入数据库集群或者为了支持更多业务而动态扩展备份数据库等情况下均可能发生备份数据库运行数量的变化。
可以理解的是,上述发明实施例提供的方法还可以与现有方法共同使用,在获取到待执行事务时,可以对待执行事务对应的结构化查询语言进行判断,若待执行事务为写事务,可以将该待执行事务的目标库确定为主数据库,并将主数据库的当前事务计数减一,若待执行事务为读事务,可以根据本发明任一实施例提供的事务分发方法将待执行事务分发至目标库,并更新目标库对应的当前事务计数。
在本发明实施例中,当数据库集群中的备份数据库发出故障导致运行总数发生变化时,可以重新计算对应数据库集群中各数据库的原始事务计数。通过在运行总数发生改变时,重新计算运行总数,保证主数据库与备份数据执行事务数量的均衡,可确保数据库集群事务的高效执行。
实施例三
图3是本发明实施例三提供的一种事务分发装置的结构示意图,可执行本发明任意实施例所提供的事务分发方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:计数获取模块301、目标确定模块302和事务分发模块303。
其中,计数获取模块301,用于当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数。
目标确定模块302,用于根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库。
事务分发模块303,用于将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
在本发明实施例的技术方案,通过计数获取模块当获取到待执行事务时,获取各数据库的当前事务技术,目标确定模块根据当前事务计数确定待执行事务的目标库,事务分发模块将当前事务计数分发给目标库,并对目标库的当前事务计数进行更新;使得数据库集群根据当前事务计数保证各数据库执行事务的均衡,提高了数据库集群的执行性能,最大限度的利用数据库集群中的所有资源,可增强数据库集群的数据存储能力。
在上述实施例的基础上,所述数据库集群包括:一个主数据库和至少一个备份数据库;
相应的,目标确定模块,包括:
对比单元,用于将所述主数据库的第一事务计数与各备份数据库的第二事务计数进行比对;
第一判断单元,用于如果所述第一事务计数大于或等于各所述第二事务计数之和,则将所述主数据库确定为所述待执行事务所属数据库的目标库;
第二判断单元,用于否则,确定所述待执行事务由备份数据库执行,并根据预设规则从所述至少一个备份数据库中选择目标库。
在上述实施例的基础上,所述装置还包括:
重置模块,用于如果各所述数据库的当前事务计数之和小于重置阈值,则根据各所述数据库的原始事务计数,更新各所述数据库的当前事务计数。
在上述实施例的基础上,重置模块包括:
占比获取单元,用于获取预先设定的对应所述数据库集群中主数据库和备份数据库的事务分发占比。
运行总数获取单元,用于获取所述数据库集群中处于运行状态的备份数据库的运行总数。
原始计数确定单元,用于根据所述事务分发占比及所述运行总数,确定各所述数据库的原始事务计数。
在上述实施例的基础上,装置还包括:
重置模块,用于当所述数据库集群中处于运行状态的备份数据库的运行总数改变时,基于设定调整规则调整各所述数据库的原始事务计数。
上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的方法。
实施例四
图4是本发明实施例四提供的一种设备的结构示意图,如图4所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的事务分发方法对应的程序模块(例如,事务分发装置中的计数获取模块301、目标确定模块302和事务分发模块303)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的事务分发方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种事务分发方法,该方法包括:
当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;
根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;
将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的事务分发方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述事务分发装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种事务分发方法,其特征在于,包括:
当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;
根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;
将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数;
其中,所述数据库集群包括一个主数据库和至少一个备份数据库,相应的,所述根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库,包括:将所述主数据库的第一事务计数与各备份数据库的第二事务计数进行比对;如果所述第一事务计数大于或等于各所述第二事务计数之和,则将所述主数据库确定为所述待执行事务所属数据库的目标库;否则,确定所述待执行事务由备份数据库执行,并根据预设规则从所述至少一个备份数据库中选择目标库。
2.根据权利要求1所述的方法,其特征在于,在更新所述目标库对应的当前事务计数之后,还包括:
如果各所述数据库的当前事务计数之和小于重置阈值,则根据各所述数据库的原始事务计数,更新各所述数据库的当前事务计数。
3.根据权利要求2所述的方法,其特征在于,各所述数据库的原始事务计数通过下述方式确定:
获取预先设定的对应所述数据库集群中主数据库和备份数据库的事务分发占比;
获取所述数据库集群中处于运行状态的备份数据库的运行总数;
根据所述事务分发占比及所述运行总数,确定各所述数据库的原始事务计数。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
当所述数据库集群中处于运行状态的备份数据库的运行总数改变时,基于设定调整规则调整各所述数据库的原始事务计数。
5.一种事务分发装置,其特征在于,包括:
计数获取模块,用于当获取到待执行事务时,分别获取数据库集群中各数据库的当前事务计数;
目标确定模块,用于根据各所述当前事务计数,从所述数据库集群中确定所述待执行事务的目标库;
事务分发模块,用于将所述待执行事务分发到所述目标库,并更新所述目标库对应的当前事务计数;
其中,所述数据库集群包括一个主数据库和至少一个备份数据库,相应的,所述目标确定模块,包括:对比单元,用于将所述主数据库的第一事务计数与各备份数据库的第二事务计数进行比对;第一判断单元,用于如果所述第一事务计数大于或等于各所述第二事务计数之和,则将所述主数据库确定为所述待执行事务所属数据库的目标库;第二判断单元,用于否则,确定所述待执行事务由备份数据库执行,并根据预设规则从所述至少一个备份数据库中选择目标库。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
重置模块,用于如果各所述数据库的当前事务计数之和小于重置阈值,则根据各所述数据库的原始事务计数,更新各所述数据库的当前事务计数。
7.一种数据库控制服务器,其特征在于,所述数据库控制服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的事务分发方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的事务分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368203.9A CN110083438B (zh) | 2019-05-05 | 2019-05-05 | 事务分发方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368203.9A CN110083438B (zh) | 2019-05-05 | 2019-05-05 | 事务分发方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083438A CN110083438A (zh) | 2019-08-02 |
CN110083438B true CN110083438B (zh) | 2021-06-22 |
Family
ID=67418615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910368203.9A Active CN110083438B (zh) | 2019-05-05 | 2019-05-05 | 事务分发方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083438B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003644B (zh) * | 2021-10-21 | 2022-11-15 | 河南星环众志信息科技有限公司 | 分布式事务处理方法、设备、介质和数据库系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569224B2 (en) * | 2014-05-06 | 2017-02-14 | Oracle International Corporation | System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine |
CN104391873A (zh) * | 2014-10-29 | 2015-03-04 | 上海达梦数据库有限公司 | 数据库操作分离方法和系统 |
CN106484824B (zh) * | 2016-09-28 | 2019-09-10 | 华东师范大学 | 基于多元数据库支持组件的知识图谱异构存储框架中间件 |
CN108595574B (zh) * | 2018-04-16 | 2021-11-02 | 上海达梦数据库有限公司 | 数据库集群的连接方法、装置、设备及存储介质 |
-
2019
- 2019-05-05 CN CN201910368203.9A patent/CN110083438B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110083438A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868315B2 (en) | Method for splitting region in distributed database, region node, and system | |
CN109344153B (zh) | 业务数据的处理方法及终端设备 | |
CN112395293B (zh) | 分库分表方法、分库分表装置、分库分表设备及存储介质 | |
EP3422211B1 (en) | Data processing method and device | |
CN110830234B (zh) | 一种用户流量分配方法及装置 | |
CN109408711B (zh) | 数据过滤方法、装置、电子设备及存储介质 | |
CN109918369B (zh) | 数据存储方法及装置 | |
CN110083438B (zh) | 事务分发方法、装置、设备和存储介质 | |
US9898518B2 (en) | Computer system, data allocation management method, and program | |
CN111767270A (zh) | 数据迁移方法、装置、服务器及存储介质 | |
CN112000848A (zh) | 一种图数据处理方法、装置、电子设备及存储介质 | |
US11881996B2 (en) | Input and output for target device communication | |
CN108961071B (zh) | 自动预测组合业务收益的方法及终端设备 | |
CN112241319A (zh) | 均衡负载的方法、电子设备和计算机程序产品 | |
CN113901046A (zh) | 虚拟维度表构建方法及装置 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN115080412A (zh) | 软件更新质量评估方法、装置、设备及计算机存储介质 | |
CN112183567B (zh) | Birch算法的优化方法、装置、设备及存储介质 | |
CN110223108B (zh) | 点击通过率的预测方法、装置及设备 | |
CN113760876A (zh) | 一种数据过滤方法和装置 | |
CN112861013A (zh) | 用户画像更新方法、装置、电子设备及存储介质 | |
CN115145893B (zh) | 集群在线扩容方法、系统、设备及存储介质 | |
CN114168275B (zh) | 任务调度方法、系统、终端设备及存储介质 | |
US20240176657A1 (en) | Task processing method and apparatus, electronic device, storage medium and program product | |
CN118051476A (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 |