CN115220891A - 一种处理高并发批量任务的方法及相关产品 - Google Patents

一种处理高并发批量任务的方法及相关产品 Download PDF

Info

Publication number
CN115220891A
CN115220891A CN202210832413.0A CN202210832413A CN115220891A CN 115220891 A CN115220891 A CN 115220891A CN 202210832413 A CN202210832413 A CN 202210832413A CN 115220891 A CN115220891 A CN 115220891A
Authority
CN
China
Prior art keywords
thread
threads
lock
redis
batch
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
Application number
CN202210832413.0A
Other languages
English (en)
Inventor
应翔飞
罗子骞
易磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN202210832413.0A priority Critical patent/CN115220891A/zh
Publication of CN115220891A publication Critical patent/CN115220891A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

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

本发明公开了一种处理高并发批量任务的方法及相关产品,涉及计算机技术领域,包括以下步骤:S1确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;S2在所述所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;S3将所加锁线程与所述未加锁线程放入线程缓冲池,进行缓冲处理同时所述加锁线程执行相关业务;S4当所述加锁线程的业务执行完成后,释放redis锁,返回步骤S2。本发明能提高批量任务的单一执行性,同时还能有效解决redis在高并发下分布锁容易失效的问题。

Description

一种处理高并发批量任务的方法及相关产品
技术领域
本发明涉及计算机技术领域,具体涉及一种处理高并发批量任务的方法及相关产品。
背景技术
财务系统、银行系统、电商平台等日常运营时存在批量的任务调度,现的有分布式批量任务调度方法中,较为常见的方案主要包括:利用三大分布式锁(ZooKeeper、数据库创表以及redis)实现任务调度;或者利用第三方任务调度平台(如Elastic-job、Xxl-job和Saturn)实现任务的全域统一配置,统一监控。然而,上述两种方案在实际使用场景下面临诸多问题,例如,Zookeeper实现的分布式锁在性能上没有缓存服务高,因为每次在创建锁和释放锁的过程中,都要动态创建、销毁瞬时节点来实现锁功能,任务的单一执行性不高;数据库实现的分布式锁没有失效时间,一旦解锁操作失败,就会导致锁记录一直在数据库中,其他线程无法再获得到锁,在执行批量任务中易产生脏数据;redis实现的分布式锁在高并发批量任务时,由于A线程结束后对B线程造成误杀,从而容易导致锁失效,影响业务正常执行;若使用第三方调度平台,对接第三方任务调度平台所需要投入的资源耗时较大,依赖第三方平台日常维护,受局限性和可扩展性比较差。
有鉴于此,特此提出本申请。
发明内容
本发明所要解决的技术问题是现有常见的分布式批量任务调度方法在高并发批量任务处理时下,批量任务中单一执行性不高且分布锁容易失效的问题,目的在于提供一种处理高并发批量任务的方法及相关产品,解决上述问题。
本发明通过下述技术方案实现:
第一方面,本发明的实施例提供了一种处理高并发批量任务的方法,包括以下步骤:
S1:确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
S2:在所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
S3:将所加锁线程与未加锁线程放入线程缓冲池,进行缓冲处理同时加锁线程执行相关业务;
S4:当加锁线程的业务执行完成后,释放redis锁,返回步骤S2。
在本申请的一种可选地实施例中,在确定同一集群的服务器中是否有同时执行的批量定时任务前,还包括:
A1:获取多线程并发处理请求;
A2:根据多线程并发处理请求创建待处理并发线程,并将处理并发线程发送至分服务器。
在本申请的一种可选地实施例中,在所有线程中创建redis锁中,包括:
S21:生成redis锁,获取redis锁的key值,将key值设为value,调用SETNX函数获得value的返回值;
S22:若返回值为false,得到加锁线程及剩余被堵塞的未加锁线程,进入步骤S3;
若返回值为true,执行轮询操作直到返回值为false。
在本申请的一种可选地实施例中,在轮询操作中,
若该redis锁为非堵塞调用式,则返回步骤S21;
若该redis锁为堵塞调用式,则在规定时间内对redis锁进行轮询,直至成功获得redis锁。
在本申请的一种可选地实施例中,在规定时间内对redis锁进行轮询中,使用expire方法设置规定时间,当轮询时长超过设置的规定时间,则redis锁被自动销毁。
在本申请的一种可选地实施例中,在步骤S3的进行缓冲处理中,基于系统中redis的每秒请求量,结合加锁线程的持锁时间,调用sleep函数对未加锁线程进行休眠。
在本申请的一种可选地实施例中,sleep函数中时间精度为毫秒级。
第二方面,本发明实施例提供了一种处理高并发批量任务的系统,包括:
线程获取模块,用于确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
加锁模块,用于在所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
执行模块,用于将所加锁线程与未加锁线程放入线程缓冲池,进行缓冲处理同时加锁线程执行相关业务;
返回调用模块,用于当加锁线程的业务执行完成后,释放redis锁,重复返回至加锁模块。
第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,存储器上存储有计算机程序,其特征在于,处理器执行计算机程序时实现如上的一种处理高并发批量任务的方法。
第四方面,本发明的实施例一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的一种处理高并发批量任务方法。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明利用redis的分布式任务调度方法作为基础,解决了任务会被重复注册的问题,同时将任务分配给若干处理器进行具体的业务处理,保证在同一个时间内,一个任务只会被一个处理器进行处理,从而提高了批量任务的单一执行性;在此基础上,增加线程缓冲等待机制,从而有效解决redis在高并发下分布锁容易失效的问题;此外,通过redis分布锁与线程缓冲的结合,形成应用中轻量级的架构设计,有利于强化分布式任务调度的唯一原则,以减少多业务服务器同时执行批量任务产生的脏数据,最终保证了应用统一部署与管控。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明实施例提供的一种处理高并发批量任务的方法的流程框图;
图2为本发明实施例提供的实际高并发批量任务通过分布式锁加线程缓冲控制的流程图;
图3为本发明实施例提供的一种处理高并发批量任务的系统架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着金融行业新系统建设以及旧系统的更新、扩展,运维部门接手运维的应用系统越来越多,每天凌晨有数十个系统需要执行日切任务,近百万的批量作业需要执行,工作量非常繁重,如果有任务出错,很难及时排除故障,导致工作效率很低。随着分布式任务调度的出现,就是为了协调多节点处理相同任务的避免业务被重复处理,提高批量任务的处理效率。然而,在目前主流的分布式任务调度方法中,批量任务的单一执行性太低,一个任务可能会被重复注册,无法保证在同一个时间内,一个任务只会被一个处理器进行处理;此外在高并发下,分布锁极可能发生容易失效的问题;若使用第三方调度系统,往往又会面临没有免费的技术支持、维护费用高、安全性低等困境。
为解决上述问题,本发明的实施例提供了一种处理高并发批量任务的方法,如图1与图2所示,包括以下步骤:
S1:确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
其中,采用服务器集群目的在于将多个系统连接到一起,使多台服务器能够像一台机器工作,从而提高系统的稳定性和网络中心的数据处理能力及服务能力,回到本实施例中,判断下节点有Task服务器A,Task服务器B,Task服务器C三个,每台服务器是处于同一集群,具备相同发起批量定时任务的功能,当此时有一个任务开始执行,那都进入下一节点redis锁管理,值得说明的是,同一集群中服务器的数量不作具体限定,服务器群集类型既可以为手动集群也可以为自动集群,其部署方案所使用的手段为本领域技术人员所知晓的常规手段,这里不再赘述。
S2:在所述所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
其中,redis(Remote Dictionary Server)即远程字典服务,是一种跨平台的非关系型数据库,性能优越,可以支持每秒十几万此的读/写操作,支持集群、分布式、主从同步等配置,在金融行业场景中,常常遇到多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的,本实施例提出基于Redis实现的分布式锁,其实现简单,相比数据库和分布式系统的,该方案的架构量级更轻最轻,同时性能更好。
S3:将所加锁线程与所述未加锁线程放入线程缓冲池,进行缓冲处理同时所述加锁线程执行相关业务;
S4:当所述加锁线程的业务执行完成后,释放redis锁,返回步骤S2。
本发明利用redis的分布式任务调度方法作为基础,解决了任务会被重复注册的问题,同时将任务分配给若干处理器进行具体的业务处理,保证在同一个时间内,一个任务只会被一个处理器进行处理,从而提高了批量任务的单一执行性;在此基础上,增加线程缓冲等待机制,从而有效解决redis在高并发下分布锁容易失效的问题。
在本申请的一种可选地实施例中,在确定同一集群的服务器中是否有同时执行的批量定时任务前,还包括:
A1:获取多线程并发处理请求;
A2:根据所述多线程并发处理请求创建待处理并发线程,并将所述处理并发线程发送至分服务器;
其中,所述分服务器可以是提供各种服务的服务器,例如对终端设备上显示的数据处理的后台服务器。后台服务器可以对接收到的并发进行分析等处理,并可以将处理结果反馈给终端设备。需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
在本申请的一种可选地实施例中,在所述所有线程中创建redis锁中,包括:
S21:生成redis锁,获取redis锁的key值,将所述key值设为value,调用SETNX函数获得value的返回值;
S22:若返回值为false,得到加锁线程及剩余被堵塞的未加锁线程,进入步骤S3。
若返回值为true,执行轮询操作直到返回值为false。
其中,上锁的方法为setIfAbsent方法。
在本申请的一种可选地实施例中,在所述轮询操作中,
若该redis锁为非堵塞调用式,则返回步骤S21;
若该redis锁为堵塞调用式,则在规定时间内对redis锁进行轮询,直至成功获得redis锁;其中,如果获取锁的客户端端执行时间过长,进程被kill掉,或者因为其他异常崩溃,导致无法释放锁,就会造成死锁。死锁对业务的影响是致命的,程序一直无法正确获取锁,业务也就一直得不到执行。
基于上述原因,在本申请的一种可选地实施例中,在规定时间内对redis锁进行轮询中,使用expire方法设置规定时间,当轮询时长超过设置的规定时间,则redis锁被自动销毁,具体到本实施例中,加锁时,需要使用expire方法设置key的超时时间,当轮询时间超过设置的超时时间,key会自动被销毁,那就认为锁已经时效,防止锁无限期的锁下去,其中,轮询操作以及key的销毁操作所使用的手段为本领域技术人员所知晓的常规手段,这里不再赘述。
进一步的,在大并发情况发生时,如果同时检测锁失效,并简单粗暴的删除死锁,再通过setIfAbsent上锁,可能会导致竞争条件的产生,即多个服务器同时获取锁。同时获取多个锁对业务同样是严重问题,本身定时任务是只执行一次,但由于锁问题就会执行多次,造成业务重复执行。所以不能在超时的情况下,直接进行delete锁的操作。
为解决上述问题,在本申请的一种可选地实施例中,在步骤S3的进行缓冲处理中,基于系统中redis的每秒请求量,结合所述加锁线程的持锁时间,调用sleep函数对所述未加锁线程进行休眠,其目的在于在多服务器情况下保证分布式锁的唯一性,具体到本实施例中,sleep函数的休眠时间具体参数需要根据实际业务场景,同时结合系统的redis的QPS(每秒请求量),加上持锁处理时间等进行合理计算。具体公式如下:
QPS=并发量/平均耗时;
Sleep时间=(QPS*K)*N/业务耗时;
其中:K为0-1之间的系数,N为1-1000之间的随机整数。
在实际场景中,各服务器间的时间有差异,差异可能导致在判断锁是否超时的时候出现偏差,从而产生竞争条件。此外,锁的超时与否,严格依赖时间戳,然而时间戳本身具有精度限制,假如时间精度为秒,即从加锁到执行操作再到解锁能保证在一秒内完成,为防止产生线程竞争条件,在本申请的一种可选地实施例中,所述sleep函数中时间精度为毫秒级,从而保证毫秒级别的锁是安全的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
第二方面,本发明实施例提供了一种处理高并发批量任务的系统,如图3所示,包括:
线程获取模块,用于确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
加锁模块,用于在所述所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
执行模块,用于将所加锁线程与所述未加锁线程放入线程缓冲池,进行缓冲处理同时所述加锁线程执行相关业务;
返回调用模块,用于当所述加锁线程的业务执行完成后,释放redis锁,重复返回至加锁模块。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如前所述的一种处理高并发批量任务的方法。
其中,该设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM 603通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
回到本发明中,本发明实施例提供的一种处理高并发批量任务的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的一种处理高并发批量任务的方法的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法。
第四方面,本发明的实施例一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的一种处理高并发批量任务方法。
该计算机可读存储介质可以包括:随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种处理高并发批量任务的方法,其特征在于,包括以下步骤:
S1:确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
S2:在所述所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
S3:将所加锁线程与所述未加锁线程放入线程缓冲池,进行缓冲处理同时所述加锁线程执行相关业务;
S4:当所述加锁线程的业务执行完成后,释放redis锁,返回步骤S2。
2.根据权利要求1所述的一种处理高并发批量任务的方法,其特征在于,在确定同一集群的服务器中是否有同时执行的批量定时任务前,还包括:
A1:获取多线程并发处理请求;
A2:根据所述多线程并发处理请求创建待处理并发线程,并将所述处理并发线程发送至分服务器。
3.根据权利要求1所述的一种处理高并发批量任务的方法,其特征在于,在所述所有线程中创建redis锁中,包括:
S21:生成redis锁,获取redis锁的key值,将所述key值设为value,调用SETNX函数获得value的返回值;
S22:若返回值为false,得到加锁线程及剩余被堵塞的未加锁线程,进入步骤S3;
若返回值为true,执行轮询操作直到返回值为false。
4.根据权利要求3所述的一种处理高并发批量任务的方法,其特征在于,在所述轮询操作中,
若该redis锁为非堵塞调用式,则返回步骤S21;
若该redis锁为堵塞调用式,则在规定时间内对redis锁进行轮询,直至成功获得redis锁。
5.根据权利要求4所述的一种处理高并发批量任务的方法,其特征在于,在规定时间内对redis锁进行轮询中,使用expire方法设置规定时间,当轮询时长超过设置的规定时间,则redis锁被自动销毁。
6.根据权利要求1所述的一种处理高并发批量任务的方法,其特征在于,在步骤S3的进行缓冲处理中,基于系统中redis的每秒请求量,结合所述加锁线程的持锁时间,调用sleep函数对所述未加锁线程进行休眠。
7.根据权利要求6所述的一种处理高并发批量任务的方法,其特征在于,所述sleep函数中时间精度为毫秒级。
8.一种处理高并发批量任务的系统,其特征在于,包括:
线程获取模块,用于确定同一集群的服务器中是否有同时执行的批量定时任务,获得所有线程;
加锁模块,用于在所述所有线程中创建redis锁,得到加锁线程以及剩余被堵塞的未加锁线程;
执行模块,用于将所加锁线程与所述未加锁线程放入线程缓冲池,进行缓冲处理同时所述加锁线程执行相关业务;
返回调用模块,用于当所述加锁线程的业务执行完成后,释放redis锁,重复返回至加锁模块。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~7中任一项所述的一种处理高并发批量任务的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~7中任一项所述的一种处理高并发批量任务方法。
CN202210832413.0A 2022-07-15 2022-07-15 一种处理高并发批量任务的方法及相关产品 Pending CN115220891A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210832413.0A CN115220891A (zh) 2022-07-15 2022-07-15 一种处理高并发批量任务的方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210832413.0A CN115220891A (zh) 2022-07-15 2022-07-15 一种处理高并发批量任务的方法及相关产品

Publications (1)

Publication Number Publication Date
CN115220891A true CN115220891A (zh) 2022-10-21

Family

ID=83611531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210832413.0A Pending CN115220891A (zh) 2022-07-15 2022-07-15 一种处理高并发批量任务的方法及相关产品

Country Status (1)

Country Link
CN (1) CN115220891A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941485A (zh) * 2022-11-03 2023-04-07 中盈优创资讯科技有限公司 一种基于网元设备配置下发队列管控的方法及装置
CN115934287A (zh) * 2022-12-27 2023-04-07 无锡锡银金科信息技术有限责任公司 应用系统多服务集群下定时任务调度方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115941485A (zh) * 2022-11-03 2023-04-07 中盈优创资讯科技有限公司 一种基于网元设备配置下发队列管控的方法及装置
CN115934287A (zh) * 2022-12-27 2023-04-07 无锡锡银金科信息技术有限责任公司 应用系统多服务集群下定时任务调度方法
CN115934287B (zh) * 2022-12-27 2023-09-12 无锡锡银金科信息技术有限责任公司 应用系统多服务集群下定时任务调度方法

Similar Documents

Publication Publication Date Title
US8578218B2 (en) Method and system for implementing a scalable, high-performance, fault-tolerant locking mechanism in a multi-process environment
CN115220891A (zh) 一种处理高并发批量任务的方法及相关产品
US7805482B2 (en) Method of correlating events in data packet streams
EP1654645B1 (en) Fast application notification in a clustered computing system
Thomson et al. The case for determinism in database systems
US7653828B2 (en) Timeout manager
US5956714A (en) Queuing system using a relational database
US20180173745A1 (en) Systems and methods to achieve sequential consistency in replicated states without compromising performance in geo-distributed, replicated services
US20150142967A1 (en) Method and apparatus for monitoring network servers
WO2019182671A1 (en) System and method for process state processing
CN108563502B (zh) 一种任务调度方法和装置
CN110032424B (zh) 分布式锁的实现方法和装置
CN110232093A (zh) 数据库同步中基于闪回查询的初始化装载方法及设备
CN113448712A (zh) 任务调度执行方法及装置
CN112241400A (zh) 一种基于数据库实现分布式锁的方法
EP3146430A1 (en) System and method for supporting a distributed data structure in a distributed data grid
CN111708793A (zh) 一种分布式应用锁实现方法及装置
CN109495528A (zh) 分布式锁所有权调度方法和装置
US6990608B2 (en) Method for handling node failures and reloads in a fault tolerant clustered database supporting transaction registration and fault-in logic
CN107621975B (zh) 基于java timer高可用性的定时器逻辑实现方法
CN115718741A (zh) 健康数据的自动清洗方法、装置、电子设备以及存储介质
Alom et al. Deadlock detection views of distributed database
WO2017135978A1 (en) Two-phase commit protocol mixing for distributed transactions
Waudby et al. A performance study of epoch-based commit protocols in distributed OLTP databases
CA2381739A1 (en) Adaptive spin latches

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