CN114896030A - 一种确定方法、装置、设备和存储介质 - Google Patents
一种确定方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114896030A CN114896030A CN202210600887.2A CN202210600887A CN114896030A CN 114896030 A CN114896030 A CN 114896030A CN 202210600887 A CN202210600887 A CN 202210600887A CN 114896030 A CN114896030 A CN 114896030A
- Authority
- CN
- China
- Prior art keywords
- transaction
- server node
- minimum
- virtual
- determining
- 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.)
- Pending
Links
Images
Classifications
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种确定方法、装置、设备和存储介质。该方法包括:接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。本发明实施例通过设置虚事务线程,能够保证各服务器节点收集自己的最小事务ID时能够把刚从元数据节点申请但尚未登记的事务ID也纳入统计,能够保证元数据节点收集到准确的全局最小事务ID。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种确定方法、装置、设备和存储介质。
背景技术
对于分布式数据库,需要有一个元数据节点来给所有服务器节点统一分配事务ID以保证事务ID的全局唯一性,并且根据事务ID的大小可以确定事务启动的先后顺序。因为事务可以跨多个服务器节点,也可以只涉及部分服务器节点,因此收集最小活动事务ID时需要先统计各服务器节点自己的最小活动事务ID,再进一步从中选出一个最小的作为全局活动事务ID,并且若某服务器节点没有活动事务则其不参与当次最小活动事务ID的收集。
元数据节点需要定时收集最小活动事务ID用于优化判断记录可见性,如事务T1启动时登记当前最小活动事务ID为Tm,则在T1判断可见性时,所有小于Tm的事务一定对T1可见,因为这些事务在T1启动前就已经结束了。
但该流程会在下述场景中会出现收集的全局最小活动事务ID偏大的问题:当服务器节点1和服务器节点2均没有活动事务且正在向元数据节点申请新的事务ID时,若元数据节点向服务器节点1和服务器节点2分别分配事务T1和事务T2且T1<T2,服务器节点2先收到了元数据节点的响应消息并启动事务T2,此时发起了一次全局最小活动事务ID收集动作并分别从服务器节点1取到最小活动事务ID为0(表示没有活动事务)和从服务器节点2取到最小活动事务ID为T2,综合统计出全局最小活动事务ID为T2,接着服务器节点3启动事务T3并登记当前最小活动事务ID等于T2,此时服务器节点1取回并启动事务T1,其修改的数据会被T3误判为可见,因为T1尚未提交,并不能被T3看到。
发明内容
本发明提供了一种确定方法、装置、设备和存储介质,以解决背景技术中各服务器节点收集自己的最小事务ID时不能把刚从元数据节点申请但尚未登记的事务ID也纳入统计,因此出现收集的全局最小活动事务ID偏大的问题,能够达到保证元数据节点收集到准确的全局最小事务ID的技术效果。
根据本发明的一方面,提供了一种确定方法,该方法包括:
接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
根据本发明的另一方面,提供了一种确定装置,该装置包括:
接收模块,用于接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
第一确定模块,用于根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
发送模块,用于将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
第二确定模块,用于根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的确定方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的确定方法。
本发明实施例的技术方案,通过接收至少一个服务器节点发送的事务申请请求和虚事务申请请求,根据事务申请请求确定事务ID,根据虚事务申请请求确定虚事务ID,将事务ID和虚事务ID发送至至少一个服务器节点,以使至少一个服务器节点根据事务ID或者虚事务ID确定最小事务ID,根据至少一个服务器节点发送的最小事务ID确定全局最小事务ID。本发明实施例通过设置虚事务线程,解决了背景技术中各服务器节点收集自己的最小事务ID时不能把刚从元数据节点申请但尚未登记的事务ID也纳入统计,因此出现收集的全局最小活动事务ID偏大的问题,能够达到保证元数据节点收集到准确的全局最小事务ID的技术效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种确定方法的流程图;
图2是根据本发明实施例二提供的一种确定装置的结构示意图;
图3是实现本发明实施例的确定方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种确定方法的流程图,本实施例可适用于确定情况,该方法可以由确定装置来执行,该确定装置可以采用硬件和/或软件的形式实现,该确定装置可集成在任何提供确定功能的电子设备中。如图1所示,该方法包括:
S101、接收至少一个服务器节点发送的事务申请请求和虚事务申请请求。
可以知道的是,对于分布式数据库,存在一个元数据节点和多个服务器节点,元数据节点和所有服务器节点之间分别通过网络进行连接,元数据节点给所有服务器节点统一分配事务ID以保证事务ID的全局唯一性,并且根据事务ID大小可以确定事务启动的先后顺序。
需要解释的是,事务申请请求可以是由服务器节点向元数据节点发送的,请求元数据节点向服务器节点分配事务ID的请求。具体的,当服务器节点接收到客户端发送的请求后会发起一个事务,此时服务器节点就会向元数据节点发送事务申请请求以得到一个事务ID。
需要说明的是,虚事务申请请求可以是由服务器节点向元数据节点发送的,请求元数据节点向服务器节点分配当前元数据节点已分配的最大事务ID的请求。具体的,在每个服务器节点都生成一个虚事务,定时向元数据节点发送虚事务申请请求以得到当前元数据节点已分配的最大事务ID。
具体的,元数据节点通过网络连接接收至少一个服务器节点发送的事务申请请求和虚事务申请请求。
S102、根据事务申请请求确定事务ID,根据虚事务申请请求确定虚事务ID。
在本实施例中,每个事务都对应一个事务ID,事务ID可用于判断记录可见性。其中,事务ID用于分配给服务器节点中的事务,虚事务ID用于分配给服务器节点中的虚事务。优选的,虚事务ID可以是当前元数据节点已分配的最大事务ID。
具体的,元数据节点根据服务器节点发来的事务申请请求确定事务ID,其中,事务ID可以是当前元数据节点已分配的最大事务ID加1。元数据节点根据虚事务申请请求确定虚事务ID,其中,虚事务ID可以是当前元数据节点已分配的最大事务ID。
S103、将事务ID和虚事务ID发送至至少一个服务器节点,以使至少一个服务器节点根据事务ID或者虚事务ID确定最小事务ID。
需要说明的是,最小事务ID是服务器节点活动事务中ID最小的事务的ID,即服务器中ID小于最小事务ID的事务均已结束,且这些事务对当前收集出最小事务ID之后启动的事务可见。
在实际操作过程中,各服务器节点均使用特定线程申请并登记事务ID和虚事务ID,这样可以保证已登记的事务ID一定小于未登记的事务ID,如此统计出来的最小事务ID就能保证其有效性。当服务器节点没有收集到活动事务时需要保持最小事务ID为上次的统计值不变,否则会遗漏尚未登记的事务ID,保持不变虽然保守,但可以保证该值一定小于尚未登记的事务ID。
这样虽然保证了最小事务ID统计的正确性,但当某个服务器节点长期没有活动事务时,势必会导致其自身最小事务ID和全局最小事务ID都无法推进,这样其他服务器节点的活动事务将会始终拿到一个偏小的最小事务ID,从而使通过最小事务ID来优化可见性判断的效果大打折扣。为解决此问题,设计服务器节点定时生成一个虚事务,该虚事务会向元数据节点申请当前已分配的最大事务ID(但不会推进事务ID的增长)作为自己的事务ID并参与此服务器节点最小事务ID的统计,这样当服务器节点长期没有活动事务时也会因虚事务不断申请最大事务ID而推进最小事务ID的增长。
具体的,元数据节点将事务ID和虚事务ID发送至至少一个服务器节点,以使至少一个服务器节点根据事务ID或者虚事务ID确定最小事务ID。
S104、根据至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
需要说明的是,全局最小事务ID可以是由元数据节点根据所有服务器节点发来的各自的最小事务ID中确定的最小事务ID。全局最小事务ID可以是元数据节点定时收集的,可用于判断记录可见性。
具体的,元数据节点根据至少一个服务器节点通过网络连接发送的各自的最小事务ID,从中确定出全局最小事务ID。
本发明实施例的技术方案,通过接收至少一个服务器节点发送的事务申请请求和虚事务申请请求,根据事务申请请求确定事务ID,根据虚事务申请请求确定虚事务ID,将事务ID和虚事务ID发送至至少一个服务器节点,以使至少一个服务器节点根据事务ID或者虚事务ID确定最小事务ID,根据至少一个服务器节点发送的最小事务ID确定全局最小事务ID。本发明实施例通过设置虚事务线程,解决了背景技术中各服务器节点收集自己的最小事务ID时不能把刚从元数据节点申请但尚未登记的事务ID也纳入统计,因此出现收集的全局最小活动事务ID偏大的问题,能够达到保证元数据节点收集到准确的全局最小事务ID的技术效果。
可选的,根据虚事务申请请求确定虚事务ID,包括:
获取当前已分配的最大事务ID。
其中,当前已分配的最大事务ID可以是元数据节点已向所有服务器节点分配的最大事务ID。
具体的,获取元数据节点已向所有服务器节点分配的事务ID中的最大事务ID。
将当前已分配的最大事务ID确定为虚事务ID。
具体的,将元数据节点已向所有服务器节点分配的事务ID中的最大事务ID确定为虚事务ID。因为当某个服务器节点长期没有活动事务时,势必会导致其自身最小事务ID和全局最小事务ID都无法推进,这样其他服务器节点的活动事务将会始终拿到一个偏小的最小事务ID,从而使通过最小事务ID来优化可见性判断的效果大打折扣。因此,将元数据节点已向所有服务器节点分配的事务ID中的最大事务ID确定为虚事务ID并参与此服务器节点最小事务ID的统计,这样当服务器节点处于不活动状态时也会因虚事务不断申请最大事务ID而推进最小事务ID的增长。
可选的,接收至少一个服务器节点发送的虚事务申请请求,包括:
若服务器节点在预设时间内未收集到事务,则接收服务器节点发送的虚事务申请请求。
其中,预设时间可以是根据实际情况预先设置的时间,例如可以是1秒,本实施例对此不进行限定。
在本实施例中,客户端发送的目标请求可以是客户端向服务器节点发送的使服务器节点发起事务的请求。
具体的,若服务器节点在预设时间内未收集到事务,则向元数据节点发送虚事务申请请求,元数据节点接收服务器节点发送的虚事务申请请求,根据虚事务申请请求确定虚事务ID。
可选的,最小事务ID为虚事务ID。
具体的,在服务器节点在预设时间内未收集到事务的情况下,此时该服务器节点最小事务ID为虚事务ID。
可选的,根据至少一个服务器节点发送的最小事务ID确定全局最小事务ID,包括:
获取至少一个服务器节点的状态信息。
需要说明的是,状态信息可以是正常状态或者是故障状态。其中,故障状态可以是服务器节点和元数据节点之间的网络连接断开,服务器节点和元数据节点之间无法进行通信的状态。
具体的,元数据节点检测与各服务器节点之间的网络连接是否断开,确定所有服务器节点的状态信息。
若第一目标服务器节点的状态信息为故障状态,则获取第一目标服务器节点已申请的最大事务ID。
其中,第一目标服务器节点可以是故障状态的服务器节点,即和元数据节点之间的网络连接断开的服务器节点。
需要解释的是,第一目标服务器节点已申请的最大事务ID可以是元数据节点在给第一目标服务器节点分配新的非虚事务ID时登记的事务ID。
在实际操作过程中,当某服务器节点故障时该服务器节点的最小事务ID会始终不变从而使得全局最小事务ID无法推进。针对这种情况需要先判断该故障服务器节点中是否还有未结束的事务,如果有则最小事务ID自然不能推进;但若没有未结束的事务,则该故障服务器节点则不应再参与全局最小事务ID的统计。
具体的,若第一目标服务器节点的状态信息为故障状态,则先获取第一目标服务器节点已申请的最大事务ID,即元数据节点在给第一目标服务器节点分配新的非虚事务ID时登记的事务ID。
若第一目标服务器节点已申请的最大事务ID小于第一目标服务器节点上报的最小事务ID,则根据至少一个服务器节点中除第一目标服务器节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
需要说明的是,第一目标服务器节点上报的最小事务ID可以是第一目标服务器节点上一次向元数据节点上报的最小事务ID。
具体的,将第一目标服务器节点已申请的最大事务ID与第一目标服务器节点上报的最小事务ID进行比较,若第一目标服务器节点已申请的最大事务ID小于第一目标服务器节点上报的最小事务ID,则说明第一目标服务器节点中的事务均已结束。在此轮全局最小事务ID的统计中可直接跳过第一目标服务器节点,直接根据至少一个服务器节点中除第一目标服务器节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
可选的,获取至少一个服务器节点的状态信息包括:
若检测到与第一目标服务器节点之间的网络连接断开,则确定第一目标服务器节点故障。
具体的,元数据节点和服务器节点之间通过网络连接进行通信,元数据节点和服务器节点均可检测两者之间的网络连接是否断开。在本实施例中,若元数据节点检测到与第一目标服务器节点之间的网络连接断开,则确定第一目标服务器节点故障。
可选的,根据至少一个服务器节点发送的最小事务ID确定全局最小事务ID,包括:
获取至少一个服务器节点的状态信息。
具体的,元数据节点检测与各服务器节点之间的网络连接是否断开,确定所有服务器节点的状态信息是正常状态或者是故障状态。
若第二目标服务器节点的状态信息为故障状态,则获取第二目标服务器节点已申请的最大事务ID。
其中,第二目标服务器节点可以是故障状态的服务器节点,即和元数据节点之间的网络连接断开的服务器节点。
需要解释的是,第二目标服务器节点已申请的最大事务ID可以是元数据节点在给第二目标服务器节点分配新的非虚事务ID时登记的事务ID。
在实际操作过程中,当某服务器节点故障时该服务器节点的最小事务ID会始终不变从而使得全局最小事务ID无法推进。针对这种情况需要先判断该故障服务器节点中是否还有未结束的事务,如果有则最小事务ID自然不能推进;但若没有未结束的事务,则该故障服务器节点则不应再参与全局最小事务ID的统计。
具体的,若元数据节点检测到与第二目标服务器节点之间的网络连接断开,则确定第二目标服务器节点故障。若第二目标服务器节点的状态信息为故障状态,则先获取第二目标服务器节点已申请的最大事务ID,即元数据节点在给第二目标服务器节点分配新的非虚事务ID时登记的事务ID。
若第二目标服务器节点已申请的最大事务ID大于或者等于第二目标服务器节点上报的最小事务ID,则将第二目标服务器节点上报的最小事务ID确定为第二目标服务器节点已申请的最小事务ID。
需要说明的是,第二目标服务器节点上报的最小事务ID可以是第二目标服务器节点上一次向元数据节点上报的最小事务ID。
具体的,将第二目标服务器节点已申请的最大事务ID与第二目标服务器节点上报的最小事务ID进行比较,若第二目标服务器节点已申请的最大事务ID大于或者等于第二目标服务器节点上报的最小事务ID,则说明第二目标服务器节点中还有未结束的事务或者是第二目标服务器节点中事务均已结束但元数据节点无法判断,因此不能确定第二目标服务器节点中的事务均已结束。在此轮全局最小事务ID的统计中可将第二目标服务器节点上报的最小事务ID确定为此轮第二目标服务器节点已申请的最小事务ID。
根据第二目标服务器节点已申请的最小事务ID和除第二目标服务节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
具体的,根据第二目标服务器节点已申请的最小事务ID和除第二目标服务节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。这样就可以保证不管故障的服务器节点中是否存在未结束的事务,都不会影响全局最小事务的确定。
本发明实施例能够解决服务器节点收集最小事务ID时遗漏已申请但尚未登记的事务ID的情况,解决了背景技术中各服务器节点收集自己的最小事务ID时不能把刚从元数据节点申请但尚未登记的事务ID也纳入统计,因此出现收集的全局最小活动事务ID偏大的问题,能够达到保证元数据节点收集到准确的全局最小事务ID的技术效果。
实施例二
图2是根据本发明实施例二提供的一种确定装置的结构示意图。如图2所示,该装置包括:接收模块201、第一确定模块202、发送模块203和第二确定模块204。
其中,接收模块201,用于接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
第一确定模块202,用于根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
发送模块203,用于将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
第二确定模块204,用于根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
可选的,所述第一确定模块202包括:
第一获取单元,用于获取当前已分配的最大事务ID;
第一确定单元,用于将所述当前已分配的最大事务ID确定为虚事务ID。
可选的,所述接收模块201具体用于:
若所述服务器节点在预设时间内未收集到事务,则接收服务器节点发送的虚事务申请请求。
可选的,所述最小事务ID为所述虚事务ID。
可选的,所述第二确定模块204包括:
第二获取单元,用于获取所述至少一个服务器节点的状态信息;
第三获取单元,用于若第一目标服务器节点的状态信息为故障状态,则获取所述第一目标服务器节点已申请的最大事务ID;
第二确定单元,用于若所述第一目标服务器节点已申请的最大事务ID小于所述第一目标服务器节点上报的最小事务ID,则根据所述至少一个服务器节点中除所述第一目标服务器节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
可选的,所述第二获取单元具体用于:
若检测到与所述第一目标服务器节点之间的网络连接断开,则确定所述第一目标服务器节点故障。
可选的,所述第二确定模块204包括:
第四获取单元,用于获取所述至少一个服务器节点的状态信息;
第五获取单元,用于若第二目标服务器节点的状态信息为故障状态,则获取所述第二目标服务器节点已申请的最大事务ID;
第三确定单元,用于若所述第二目标服务器节点已申请的最大事务ID大于或者等于所述第二目标服务器节点上报的最小事务ID,则将所述第二目标服务器节点上报的最小事务ID确定为所述第二目标服务器节点已申请的最小事务ID;
第四确定单元,用于根据所述第二目标服务器节点已申请的最小事务ID和除所述第二目标服务节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
本发明实施例所提供的确定装置可执行本发明任意实施例所提供的确定方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3示出了可以用来实施本发明的实施例的电子设备30的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图3所示,电子设备30包括至少一个处理器31,以及与至少一个处理器31通信连接的存储器,如只读存储器(ROM)32、随机访问存储器(RAM)33等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器31可以根据存储在只读存储器(ROM)32中的计算机程序或者从存储单元38加载到随机访问存储器(RAM)33中的计算机程序,来执行各种适当的动作和处理。在RAM 33中,还可存储电子设备30操作所需的各种程序和数据。处理器31、ROM 32以及RAM 33通过总线34彼此相连。输入/输出(I/O)接口35也连接至总线34。
电子设备30中的多个部件连接至I/O接口35,包括:输入单元36,例如键盘、鼠标等;输出单元37,例如各种类型的显示器、扬声器等;存储单元38,例如磁盘、光盘等;以及通信单元39,例如网卡、调制解调器、无线通信收发机等。通信单元39允许电子设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器31可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器31的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器31执行上文所描述的各个方法和处理,例如确定方法:
接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
在一些实施例中,确定方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元38。在一些实施例中,计算机程序的部分或者全部可以经由ROM32和/或通信单元39而被载入和/或安装到电子设备30上。当计算机程序加载到RAM 33并由处理器31执行时,可以执行上文描述的确定方法的一个或多个步骤。备选地,在其他实施例中,处理器31可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行确定方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种确定方法,其特征在于,包括:
接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
2.根据权利要求1所述的方法,其特征在于,根据所述虚事务申请请求确定虚事务ID,包括:
获取当前已分配的最大事务ID;
将所述当前已分配的最大事务ID确定为虚事务ID。
3.根据权利要求2所述的方法,其特征在于,接收至少一个服务器节点发送的虚事务申请请求,包括:
若所述服务器节点在预设时间内未收集到事务,则接收服务器节点发送的虚事务申请请求。
4.根据权利要求3所述的方法,其特征在于,所述最小事务ID为所述虚事务ID。
5.根据权利要求1所述的方法,其特征在于,根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID,包括:
获取所述至少一个服务器节点的状态信息;
若第一目标服务器节点的状态信息为故障状态,则获取所述第一目标服务器节点已申请的最大事务ID;
若所述第一目标服务器节点已申请的最大事务ID小于所述第一目标服务器节点上报的最小事务ID,则根据所述至少一个服务器节点中除所述第一目标服务器节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
6.根据权利要求5所述的方法,其特征在于,获取所述至少一个服务器节点的状态信息包括:
若检测到与所述第一目标服务器节点之间的网络连接断开,则确定所述第一目标服务器节点故障。
7.根据权利要求1所述的方法,其特征在于,根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID,包括:
获取所述至少一个服务器节点的状态信息;
若第二目标服务器节点的状态信息为故障状态,则获取所述第二目标服务器节点已申请的最大事务ID;
若所述第二目标服务器节点已申请的最大事务ID大于或者等于所述第二目标服务器节点上报的最小事务ID,则将所述第二目标服务器节点上报的最小事务ID确定为所述第二目标服务器节点已申请的最小事务ID;
根据所述第二目标服务器节点已申请的最小事务ID和除所述第二目标服务节点外的其他服务器节点发送的最小事务ID确定全局最小事务ID。
8.一种确定装置,其特征在于,包括:
接收模块,用于接收至少一个服务器节点发送的事务申请请求和虚事务申请请求;
第一确定模块,用于根据所述事务申请请求确定事务ID,根据所述虚事务申请请求确定虚事务ID;
发送模块,用于将所述事务ID和所述虚事务ID发送至所述至少一个服务器节点,以使所述至少一个服务器节点根据所述事务ID或者虚事务ID确定最小事务ID;
第二确定模块,用于根据所述至少一个服务器节点发送的最小事务ID确定全局最小事务ID。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600887.2A CN114896030A (zh) | 2022-05-30 | 2022-05-30 | 一种确定方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600887.2A CN114896030A (zh) | 2022-05-30 | 2022-05-30 | 一种确定方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114896030A true CN114896030A (zh) | 2022-08-12 |
Family
ID=82725168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210600887.2A Pending CN114896030A (zh) | 2022-05-30 | 2022-05-30 | 一种确定方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114896030A (zh) |
-
2022
- 2022-05-30 CN CN202210600887.2A patent/CN114896030A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115718620A (zh) | 一种代码程序迁移方法、装置、设备和存储介质 | |
CN112615795A (zh) | 流量控制方法、装置、电子设备、存储介质及产品 | |
CN116545905A (zh) | 一种服务健康检测方法、装置、电子设备及存储介质 | |
CN114896030A (zh) | 一种确定方法、装置、设备和存储介质 | |
CN113961641A (zh) | 数据库同步方法、装置、设备和存储介质 | |
CN108572871B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112395081A (zh) | 一种资源在线自动回收方法、系统、服务器以及存储介质 | |
CN115174447B (zh) | 一种网络通信方法、装置、系统、设备及存储介质 | |
CN114598705B (zh) | 消息负载均衡方法、装置、设备和介质 | |
CN116719621B (zh) | 一种针对海量任务的数据回写方法、装置、设备及介质 | |
CN115391046A (zh) | 一种配额管理方法、装置、设备及介质 | |
CN115442432B (zh) | 一种控制方法、装置、设备及存储介质 | |
CN117725115A (zh) | 一种数据库序列处理方法、装置、设备以及存储介质 | |
CN115577958A (zh) | 一种风险处理方法、装置、设备以及存储介质 | |
CN114218325A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN116069474A (zh) | 一种任务调度方法、装置、设备及介质 | |
CN117609319A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN115934246A (zh) | 一种虚拟机创建方法、装置、设备和介质 | |
CN116801001A (zh) | 视频流的处理方法、装置、电子设备及存储介质 | |
CN116450915A (zh) | 应用降级方法、装置、电子设备和存储介质 | |
CN115665245A (zh) | 一种本地缓存刷新方法、装置、电子设备及存储介质 | |
CN114168593A (zh) | 生成时序主键的方法、装置、设备、存储介质及程序产品 | |
CN117608877A (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN115757635A (zh) | 数据库集群的流量分配方法、装置、设备及存储介质 | |
CN116361008A (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 |