事务请求的处理方法、装置和电子设备制造方法及图纸

技术编号:29702803 阅读:15 留言:0更新日期:2021-08-17 14:31
本发明专利技术提供了一种事务请求的处理方法、装置和电子设备,从多个可并发执行的工作线程中,为事务请求组合分配第一工作线程;该事务请求组合包括第一指定时间周期内接收到的至少一个事务请求;通过第一工作线程,向事务处理节点发送事务处理请求,以使事务处理节点处理事务请求组合中的事务请求。该方式中,事务请求组合中包括一定时间周期内接收到的所有事务请求,通过批量处理事务请求的方式,可以降低事务处理节点的数据交互量,降低网络和节点的流量和计算压力;另外,多个工作线程并发执行,可以降低事务请求处理的延迟,从而提高请求事务处理的效率。

【技术实现步骤摘要】
事务请求的处理方法、装置和电子设备
本专利技术涉及分布式系统
,尤其是涉及一种事务请求的处理方法、装置和电子设备。
技术介绍
在分布式数据库系统中,通常需要对待处理的事务赋予全局事务ID,以实现全局一致性读;对于两阶段的分布式数据库系统,获取全局事务ID的方式通常是即需即取。在每个阶段,针对客户端发出的每个事务请求,均需要该客户端与元数据节点进行网络交互,以获取该事务请求的全局事务ID;针对多个客户端的事务请求,需要经过多次网络交互才可以获得每个事务请求的全局事务ID;当多个客户端向服务端发送大量的事务请求时,会对网络和服务端的元数据节点造成较大的流量和计算压力,导致服务端响应客户端请求的速度较慢,分布式事务的性能较低。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种事务请求的处理方法、装置和电子设备,以提高服务端响应客户端请求的速度,进而提高分布式事务的性能。本专利技术实施例提供了一种事务请求的处理方法,方法应用于服务器;服务器中预设有可并发执行的多个工作线程;方法包括:获取事务请求组合,从多个工作线程中,为事务请求组合分配第一工作线程;其中,事务请求组合包括第一指定时间周期内接收到的至少一个事务请求;通过第一工作线程,向事务处理节点发送事务处理请求,所述事务处理请求用于处理事务请求组合中的事务请求。进一步的,服务器中还预设有监听线程;获取事务请求组合,从多个工作线程中,为事务请求组合分配第一工作线程的步骤,包括:通过监听线程,每经过第一指定时间周期的时长,循环执行下述操作:获取第一指定时间周期内接收到的事务请求,将获取到的事务请求确定为事务请求组合;将多个工作线程中,处于空闲状态的一个工作线程确定为第一工作线程,将事务请求组合发送至第一工作线程。进一步的,获取事务请求组合,从多个工作线程中,为事务请求组合分配第一工作线程的步骤之前,方法还包括:根据第一指定时间周期和初始网络延时时间,确定多个工作线程的初始线程数量。进一步的,根据第一指定时间周期和初始网络延时时间,确定多个工作线程的初始线程数量的步骤,包括:计算初始网络延时时间与第一指定时间周期的比值,根据比值确定初始线程数;其中,第一指定时间周期小于初始网络延时时间;将初始线程数确定为多个工作线程的初始线程数量。进一步的,根据比值确定初始线程数的步骤,包括:如果比值为整数,将比值确定为初始线程数;如果比值包括不为零的小数,将比值的整数加一,得到初始线程数。进一步的,通过第一工作线程,向事务处理节点发送事务处理请求,该事务处理请求用于处理事务请求组合中的事务请求的步骤之后,方法还包括:基于当前网络延时时间和正处于处理状态的事务请求的数量,更新多个工作线程的初始线程数量。进一步的,基于当前网络延时时间和正处于处理状态的事务请求的数量,更新多个工作线程的初始线程数量的步骤,包括:在预设的定时时长内,每经过第二指定时间周期的时长,循环执行下述操作:获取当前网络延时时间和当前正处于处理状态的事务请求的数量;计算当前网络延时时间与第一指定时间周期的比值,根据比值确定目标线程数;比较目标线程数与多个工作线程的初始线程数量大小,得到比较结果;当达到定时时长时,根据比较结果,更新多个工作线程的初始线程数量。进一步的,根据比较结果,更新多个工作线程的初始线程数量的步骤,包括:如果比较结果均指示目标线程数大于多个工作线程的初始线程数量,且当前正在处理的事务请求的数量满足预设数量,将多个工作线程的初始线程数量增加至目标线程数;如果比较结果均指示目标线程数小于多个工作线程的初始线程数量,将多个工作线程的初始线程数量减少至目标线程数。进一步的,将多个工作线程的初始线程数量减少至目标线程数的步骤,包括:将多个工作线程中当前工作状态为空闲的工作线程删除,以使更新后的多个工作线程的初始线程数量与目标线程数一致。进一步的,通过第一工作线程,向事务处理节点发送事务处理请求,事务处理请求用于处理事务请求组合中的事务请求的步骤,包括:通过第一工作线程,采用异步处理的方式将事务请求组合中的至少一个事务请求,发送至事务处理节点,生成每个事务请求对应的响应消息;将每个响应消息返回至响应消息对应的客户端。进一步的,方法还包括:基于第三指定时间周期,定时获取当前工作线程的线程数量;如果当前工作线程的线程数量大于指定线程数量,将当前工作线程的线程数量减少至指定线程数量;其中,指定线程数量根据服务器的性能预先设置。本专利技术实施例还提供了一种事务请求的处理装置,装置设置于服务器;服务器中预设有可并发执行的多个工作线程;装置包括:获取模块,用于获取事务请求组合,从多个工作线程中,为事务请求组合分配第一工作线程;其中,事务请求组合包括指定时间周期内接收到的至少一个事务请求;处理模块,用于通过第一工作线程,向事务处理节点发送事务处理请求,所述事务处理请求用于处理事务请求组合中的事务请求。本专利技术实施例还提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的事务请求的处理方法。本专利技术实施例还提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的事务请求的处理方法。本专利技术实施例带来了以下有益效果:本专利技术提供了一种事务请求的处理方法、装置和电子设备,首先获取事务请求组合,从多个工作线程中,为事务请求组合分配第一工作线程;其中的事务请求组合包括第一指定时间周期内接收到的至少一个事务请求;然后通过第一工作线程,向事务处理节点发送事务处理请求,该事务处理请求用于处理事务请求组合中的事务请求。该方式中,事务请求组合可以包括一定时间周期内接收到的所有事务请求,从多个可并发执行的工作线程中为该事务请求组合分配工作线程,进而请求事务处理节点处理事务请求组合中的事务请求。这种批量处理事务请求的方式,可以降低事务处理节点的数据交互量,进而降低网络和节点的流量和计算压力;另外,多个工作线程并发执行,可以降低事务请求处理的延迟,从而提高请求事务处理的效率。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种事务请求的处理方法的应用场景示意图;图2为本专利技术实施例提供的一种事务请求的处理方法的流程图本文档来自技高网...

【技术保护点】
1.一种事务请求的处理方法,其特征在于,所述方法应用于服务器;所述服务器中预设有可并发执行的多个工作线程;所述方法包括:/n获取事务请求组合,从所述多个工作线程中,为所述事务请求组合分配第一工作线程;其中,所述事务请求组合包括第一指定时间周期内接收到的至少一个事务请求;/n通过所述第一工作线程,向事务处理节点发送事务处理请求,所述事务处理请求用于处理所述事务请求组合中的事务请求。/n

【技术特征摘要】
1.一种事务请求的处理方法,其特征在于,所述方法应用于服务器;所述服务器中预设有可并发执行的多个工作线程;所述方法包括:
获取事务请求组合,从所述多个工作线程中,为所述事务请求组合分配第一工作线程;其中,所述事务请求组合包括第一指定时间周期内接收到的至少一个事务请求;
通过所述第一工作线程,向事务处理节点发送事务处理请求,所述事务处理请求用于处理所述事务请求组合中的事务请求。


2.根据权利要求1所述的方法,其特征在于,所述服务器中还预设有监听线程;所述获取事务请求组合,从所述多个工作线程中,为所述事务请求组合分配第一工作线程的步骤,包括:
通过所述监听线程,每经过所述第一指定时间周期的时长,循环执行下述操作:
获取所述第一指定时间周期内接收到的事务请求,将获取到的所述事务请求确定为所述事务请求组合;
将所述多个工作线程中,处于空闲状态的一个工作线程确定为第一工作线程,将所述事务请求组合发送至所述第一工作线程。


3.根据权利要求1所述的方法,其特征在于,获取事务请求组合,从所述多个工作线程中,为所述事务请求组合分配第一工作线程的步骤之前,所述方法还包括:
根据所述第一指定时间周期和初始网络延时时间,确定所述多个工作线程的初始线程数量。


4.根据权利要求3所述的方法,其特征在于,根据所述第一指定时间周期和初始网络延时时间,确定所述多个工作线程的初始线程数量的步骤,包括:
计算所述初始网络延时时间与所述第一指定时间周期的比值,根据所述比值确定所述初始线程数;其中,所述第一指定时间周期小于所述初始网络延时时间;
将所述初始线程数确定为所述多个工作线程的初始线程数量。


5.根据权利要求4所述的方法,其特征在于,根据所述比值确定所述初始线程数的步骤,包括:
如果所述比值为整数,将所述比值确定为所述初始线程数;
如果所述比值包括不为零的小数,将所述比值的整数加一,得到所述初始线程数。


6.根据权利要求3或4所述的方法,其特征在于,通过所述第一工作线程,向事务处理节点发送事务处理请求,所述事务处理请求用于处理所述事务请求组合中的事务请求的步骤之后,所述方法还包括:
基于当前网络延时时间和正处于处理状态的事务请求的数量,更新所述多个工作线程的初始线程数量。


7.根据权利要求6所述的方法,其特征在于,基于当前网络延时时间和正处于处理状态的事务请求的数量,更新所述多个工作线程的初始线程数量的步骤,包括:
在预设的定时时长内,每经过第二指定时间周期的时长,循环执行下述操作:
获取当前网络延时时间和当前正处于处理状态的事务请求的数量;
计算所述当前网络延时时间与所述第一指定时间周期的比值,根据所述比值确定目标线程数;

【专利技术属性】
技术研发人员:干荣亮
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1