CN115328670A - 一种异步任务处理方法、系统和服务器 - Google Patents
一种异步任务处理方法、系统和服务器 Download PDFInfo
- Publication number
- CN115328670A CN115328670A CN202210737759.2A CN202210737759A CN115328670A CN 115328670 A CN115328670 A CN 115328670A CN 202210737759 A CN202210737759 A CN 202210737759A CN 115328670 A CN115328670 A CN 115328670A
- Authority
- CN
- China
- Prior art keywords
- task
- processing
- type
- asynchronous
- tasks
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 151
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000007246 mechanism Effects 0.000 claims abstract description 19
- 230000001360 synchronised effect Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009977 dual effect Effects 0.000 claims description 3
- 238000012958 reprocessing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 11
- 238000013500 data storage Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种异步任务处理方法、系统和服务器。所述方法包括:接收企业业务系统发送的处理任务的请求;检测所述任务的类型;当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统;当所述任务是第二类型任务,则将所述第二类型任务存储至异步任务数据库,然后进行异步处理;当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。本申请可以实现对具有不同需求的任务进行定制化处理;本申请的任务数据存储使用关系型数据库,而非中间件的二进制文件,因此,任务处理过程可追溯性高。
Description
技术领域
本申请涉及数据库技术领域,更具体地涉及一种异步任务处理方法、系统和服务器。
背景技术
随着国家对环保要求的不断提高,安全与环境管理为当前的热门话题。在安全与环境信息管理系统中,有很多任务处理的需求场景,例如定时任务产生的瞬时大量通知类短信发送,登录时验证码的发送,向上级系统报送安环检查情况、预警信息等,新用户注册后生成安环培训档案,事故发生几分钟内向相关人员推送事故信息等。企业业务系统(即安全与环境信息管理系统)处理这些任务时,时常会引起请求瞬时过多高并发的问题等。在解决这些非业务的基础技术问题时,业务系统不能专注于业务逻辑的处理,最终导致业务系统变得庞大不易维护。同时由于企业业务系统设置了很多定时任务,例如安全与环境检查的上报在每天晚上定时上报,上报的及时性并不高。有的任务对可靠性要求比较高,但由于被设定为通过crontab在指定时间执行的定时任务。这种方式并不对任务的执行结果负责,无法保证任务的可靠性。
发明内容
为了解决上述问题而提出了本申请。根据本申请一方面,提供了一种异步任务处理方法,所述方法包括:
接收企业业务系统发送的处理任务的请求;
检测所述任务的类型;
当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统;
当所述任务是第二类型任务,则将所述第二类型任务存储至异步任务数据库,然后进行异步处理;
当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。
在本申请的一个实施例中,当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统之后,所述方法还包括:
将处理后的所述第一类型任务的状态设置为已处理;
将已处理的所述第一类型任务存储至所述异步任务数据库。
在本申请的一个实施例中,按同步处理机制处理所述第一类型任务,包括:
当对所述第一类型任务进行处理失败时,对所述第一类型任务进行重新处理;
其中所述重新处理的次数不超过预设次数。
在本申请的一个实施例中,所述方法还包括:
在预设时间间隔以轮询方式检测所述异步任务数据库,以检测是否存在未处理的任务;
当存在未处理的任务,则处理所述未处理的任务。
在本申请的一个实施例中,当存在未处理的任务,则处理所述未处理的任务,包括:
将所述未处理的任务放入消费用线程池,以进行异步处理。
在本申请的一个实施例中,将所述未处理的任务放入消费用线程池,以进行异步处理,包括:
对异步处理后的任务的状态进行标记;
将标记为失败的任务进行重新异步处理。
在本申请的一个实施例中,所述方法还包括:
接收所述企业业务系统发送的对所述任务的状态的查询请求;
根据所述异步任务数据库中存储的任务的状态,对所述查询请求做出响应。
在本申请的一个实施例中,所述第一类型任务为实时性任务;所述第二类型任务为可靠性任务。
根据本申请另一方面,提供一种用于实现上述方法的异步任务处理系统,所述系统包括:
任务请求定制化需求处理模块,用于接收企业业务系统发送的处理任务的请求,并检测所述任务的类型;
任务处理模块,用于当所述任务是第一类型任务时,按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统,当所述任务是第二类型任务时,将所述第二类型任务存储至异步任务数据库,然后进行异步处理,当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理;
任务状态和处理结果查询模块,用于向异步任务数据库查询任务的状态和处理结果;
其中,所述异步任务处理系统部署于单机异步任务系统服务器,或者采用keepalived的虚地址机制以双机主备部署方式部署于集群异步任务系统服务器。
根据本申请又一方面,提供一种服务器,所述服务器包括:存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时,使得所述处理器执行前述的异步任务处理方法。
根据本申请的异步任务处理方法,通过通过对实时性要求高的第一类型任务进行同步处理,对可靠性要求高的第二类型任务进行异步处理,本申请可以实现对具有不同需求的任务进行定制化处理;本申请的任务数据存储使用关系型数据库,而非中间件的二进制文件,因此,任务处理过程可追溯性高;另外,本申请的部署和接入方式灵活,不依赖于分布式集群环境。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本申请实施例的异步任务处理方法的示意性流程图;
图2示出根据本申请实施例的异步任务处理方法的具体实施例的示意图;
图3示出根据本申请实施例的异步任务处理系统的示意性框图;
图4示出根据本申请实施例的异步任务处理系统在单机上独立部署的示意图。
图5示出根据本申请实施例的异步任务处理系统以双机主备方式部署的示意图。
图6示出根据本申请实施例的服务器的示意性框图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
企业业务系统在处理这些任务时,需要投入很多人力和技术来应对任务失败重试、满足任务的实时性要求、高并发时的消峰处理。业务系统将业务逻辑的处理和这些非业务的技术问题混在一起,导致业务系统职责混乱,庞大难以维护。同时业务系统中,维护的定时任务仅在指定的时间执行任务,而不能在业务刚处理完就提交任务处理,业务的及时性并不高。有一部分定时任务可以通过业务及时提交至任务系统而删除,由此可以减少系统中定时任务的数量。再次,业务系统中的定时任务通常负责执行任务,而对任务的执行结果并不负责,可能造成任务没有被正确处理的情况。
传统的异步任务系统大多采用集群的redis或者zookeeper来实现,利用这些中间件之后,出现了系统变得庞大不易运维且不能定制化任务处理任务的情况,且基于redis的任务处理时,任务持久化为二进制文件,不易追溯任务的处理情况。
针对当前企业业务系统在任务处理时存在多种场景,例如,实时性要求不高的场景(如安环系统开票后通知相关人员、定期分析运营数据后入库的任务),以及实时性要求高的场景(如系统登陆验证码发送任务)。针对多样化的任务处理需求,需要有定制化的选项来满足任务的实时性、可靠性等要求。
本申请通过提供任务处理的实时性要求和可靠性要求的选项来满足业务需求,定时任务和非定时任务都可以接入本申请的异步任务系统;本申请不依赖于redis或者zookeeper,且任务数据存储使用关系型数据库,而非中间件的二进制文件,任务处理过程可追溯性高。同时,考虑到企业的运营和人力等成本,对于非海量PB级数据而言,任务系统的技术应考虑上手和实现的技术成本较低。在非必需使用多服务器集群的场景中,本申请的异步任务系统在完全满足业务需求的情况下,可以非集群的单机部署。可选的,必须集群的场景,使用keepalive配合本系统部署主备服务器,也可以实现更高可用的任务系统。
基于前述的技术问题,本申请提供了一种异步任务处理方法,所述方法包括:接收企业业务系统发送的处理任务的请求;检测所述任务的类型;当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统;当所述任务是第二类型任务,则将所述第二类型任务存储至异步任务数据库,然后进行异步处理;当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。根据本申请的异步任务处理方法,通过通过对实时性要求高的第一类型任务进行同步处理,对可靠性要求高的第二类型任务进行异步处理,本申请可以实现对具有不同需求的任务进行定制化处理;本申请的任务数据存储使用关系型数据库,而非中间件的二进制文件,因此,任务处理过程可追溯性高;另外,本申请的部署和接入方式灵活,不依赖于分布式集群环境。
下面结合附图来详细描述根据本申请实施例的异步任务处理方法的方案。在不冲突的前提下,本申请的各个实施例的特征可以相互结合。
图1示出根据本申请实施例的异步任务处理方法的示意性流程图;如图1所示,根据本申请实施例的异步任务处理方法100可以包括如下步骤S101、步骤S102、步骤S103、步骤S104和步骤S105:
在步骤S101,接收企业业务系统发送的处理任务的请求。
本申请的企业业务系统是指企业达成定位所需要的业务环节、各合作伙伴扮演的角色以及利益相关者合作与交易的方式和内容。在本申请的实施例中,以安全和环境管理信息系统为例进行介绍。
在步骤S102,检测所述任务的类型。
在一个示例中,可以通过接口来确定不同的任务类型,无需对任务编写任务代码来确定类型。例如,通过短消息的方式请求获取验证码的任务,通常具有实时性要求,需要及时处理,因此属于第一类型任务。再例如,定时向上级系统报送安环检查情况、预警信息的任务是通过非短消息接口获取的,这种类型的任务对于可靠性要求比较高,对于及时性要求较低,因此属于第二类型任务。第三类任务为其他需求的任务,可根据实际情况拆解为第一类和第二类任务,例如高并发需求的任务,一般对实时性要求会降低,可靠性需求根据具体情况进行设置,从而拆解为第一类和第二类任务。
具体地,实时性要求是指,当处理任务的请求发出后,是否需要即刻返回处理结果。实时性要求高的场景,一般响应需要在秒级别。异步处理的任务,实时性要求不高,可能是几分钟或者几个小时之后被处理。本申请中,第一类型任务对于实时性要求较高。
而可靠性要求是指当处理任务的请求发出后,是否一定会被处理。任务发出后,可靠的任务一定会被处理。在高并发场景中,可能有数据丢失的现象,可能导致任务的丢失,从而导致发出的任务不能被处理,这种场景为可靠性要求不高。本申请中,第二类型任务对于可靠性要求较高。
在步骤S103,当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统。
在一个示例中,结合图2,当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统之后,所述方法还包括:步骤A1,将处理后的所述第一类型任务的状态设置为已处理;步骤A2,将已处理的所述第一类型任务存储至所述异步任务数据库。
在一个示例中,结合图2,按同步处理机制处理所述第一类型任务,包括:步骤B1,当对所述第一类型任务进行处理失败时,对所述第一类型任务进行重新处理;步骤B2,其中所述重新处理的次数不超过预设次数。
例如,当对所述第一类型任务进行同步处理失败时,可以重新进行处理,当重新处理的次数超过三次时,将返回处理失败的结果。
在步骤S104,当所述任务是第二类型任务,则将所述第二类型任务存储至异步任务数据库,然后进行异步处理。
在一个示例中,结合图2,所述方法还包括:步骤C1,在预设时间间隔以轮询方式检测所述异步任务数据库,以检测是否存在未处理的任务;步骤C2,当存在未处理的任务,则处理所述未处理的任务。
在一个示例中,当存在未处理的任务,则处理所述未处理的任务,包括:将所述未处理的任务放入消费用线程池,以进行异步处理。
在一个示例中,将所述未处理的任务放入消费用线程池,以进行异步处理,包括:步骤D1,对异步处理后的任务的状态进行标记;步骤D2,将标记为失败的任务进行重新异步处理。
在步骤S105,当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。
在本申请的一个实施例中,结合图2,所述方法还包括:步骤E1,接收所述企业业务系统发送的对所述任务的状态的查询请求;步骤E2,根据所述异步任务数据库中存储的任务的状态,对所述查询请求做出响应。
为了更深入理解本申请,下面结合图2更详细地介绍本申请实施例。
在安全与环境管理信息系统200可以包括板块安环系统模块、项目公司安环系统、OA、其他业务系统。在其他实施例中,也可以包括其他模块,在此仅作为示例,不限制本申请。
安全与环境管理信息系统向异步任务处理系统300发送处理任务的请求,异步任务处理系统判断该任务是否为实时性要求高的任务(即第一类型任务),如果是,则处理任务,然后将任务处理结果返回安全与环境管理信息系统。该过程为同步处理过程,具有同步失败3次能力。然后将处理后的任务放入队列入库,此时任务的状态已被标记为“已处理”。如果该任务不是实时性要求高的任务,则判断该任务是否为可靠性要求高的任务,如果不是,则放入队列后即返回,队列将任务数据入库,如果是,则将任务数据存储至异步任务数据库后返回。在异步处理时,采用轮询方式获取没有被处理的任务,进行处理。对于已经标记了“已处理”的任务不进行处理。
这里异步任务系统将后续异步处理任务队列,将队列中的数据入库。系统不在入库之后返回,是防止数据库入库时成为瓶颈,将所有请求阻塞。
针对实时性要求不高,可靠性要求很高的场景,系统在接收到请求后,会将任务入库后,返回给业务系统,在系统出现宕机或者重启等意外情况时,仍能将任务取出进行处理。
本申请的异步任务处理系统还支持查询功能,安全与环境管理信息系统向异步任务处理系统300发送查询任务状态的请求,异步任务处理系统将返回查询结果。
根据本申请的异步任务处理方法,通过通过对实时性要求高的第一类型任务进行同步处理,对可靠性要求高的第二类型任务进行异步处理,本申请可以实现对具有不同需求的任务进行定制化处理;本申请的任务数据存储使用关系型数据库,而非中间件的二进制文件,因此,任务处理过程可追溯性高;另外,本申请的部署和接入方式灵活,不依赖于分布式集群环境。
下面结合图3对本申请的异步任务处理系统300进行描述,其中,图3示出根据本申请实施例的异步任务处理系统300的示意性框图。
本申请的异步任务处理系统300包括任务请求定制化需求处理模块、任务处理模块和任务状态和处理结果查询模块。
其中,任务请求定制化需求处理模块301,用于接收企业业务系统发送的处理任务的请求,并检测所述任务的类型。
任务处理模块302,用于当所述任务是第一类型任务时,按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统,当所述任务是第二类型任务时,将所述第二类型任务存储至异步任务数据库,然后进行异步处理,当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。
任务状态和处理结果查询模块303,用于向异步任务数据库查询任务的状态和处理结果。
其中,所述异步任务处理系统部署于单机异步任务系统服务器,或者采用keepalived的虚地址机制以双机主备部署方式部署于集群异步任务系统服务器。
在传统技术中,在任务处理方面,多采用消息队列或者redis、zookeeper等其它中间件进行设计,这些方法依赖中间件的分布式环境,存储的任务大多都是不可读,不可查询的二进制文件,对任务处理的定制化需求能力较差。本发明旨在解决任务处理定制化的实时性、可靠性、并发性需求以及处理过程中更方便的可追溯性,以满足不同场景任务处理的需求。
其中,中间件是介于应用系统和系统软件之间的一类软件,分布式应用软件借助中间件在不同的技术之间共享资源。例如内存中间件redis,在各种分布式应用系统间共享内存数据库;servlet容器中间件tomcat,使得各种应用系统在容器中提供对外服务。
消息队列是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
Zookeeper是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口。使用Zookeeper可以保证总服务器自动感知有多少活跃的的服务器并向这些服务器发出请求,当总服务器宕机时自动启用备用的总服务器。
如图4所示,本申请的异步任务处理系统不依赖于集群环境,可独立部署运行。但是系统在需要集群部署以提高可用性时,可采用keepalived的虚地址机制进行双机主备部署运行,如图5所示。
本申请可以实现任务处理的实时性要求和可靠性要求的选项来满足业务需求,定时任务和非定时任务都可以接入本系统;本发明不依赖于redis或者zookeeper,且任务数据存储使用关系型数据库,而非中间件的二进制文件,任务处理过程可追溯性高;同时,考虑到企业的运营和人力等成本,对于非海量PB级数据而言,任务系统的技术应考虑上手和实现的技术成本较低。在非必需使用多服务器集群的场景中,本系统在完全满足业务需求的情况下,可以非集群的单机部署。可选的,必须集群的场景,使用keepalive配合本系统部署主备服务器,也可以实现更高可用的任务系统。
下面结合图6对本申请的服务器进行描述,其中,图6示出根据本申请实施例的服务器的示意性框图。
如图6所示,服务器600包括:一个或多个存储器601和一个或多个处理器602,所述存储器601上存储有由所述处理器602运行的计算机程序,所述计算机程序在被所述处理器602运行时,使得所述处理器602执行前文所述的异步任务处理方法。
服务器600可以是可以通过软件、硬件或者软硬件结合的方式实现异步任务处理方法的计算机设备的部分或者全部。
如图6所示,服务器600包括一个或多个存储器601、一个或多个处理器602、显示器(未示出)和通信接口等,这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图6所示的服务器600的组件和结构只是示例性的,而非限制性的,根据需要,服务器600也可以具有其他组件和结构。
存储器601用于存储相关列车运行过程中产生的各种数据和可执行程序指令,例如用于存储各种应用程序或实现各种具体功能的算法。可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
处理器602可以是中央处理单元(CPU)、图像处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以服务器600中的其它组件以执行期望的功能。
在一个示例中,服务器600还包括输出装置可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示装置、扬声器等中的一个或多个。
通信接口是可以是目前已知的任意通信协议的接口,例如有线接口或无线接口,其中,通信接口可以包括一个或者多个串口、USB接口、以太网端口、WiFi、有线网络、DVI接口,设备集成互联模块或其他适合的各种端口、接口,或者连接。
此外,根据本申请实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本申请实施例的异步任务处理方法的相应步骤。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
本申请实施例的异步任务处理系统、服务器和存储介质,由于能够实现前述的方法,因此具有和前述的方法相同的优点。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种异步任务处理方法,其特征在于,所述方法包括:
接收企业业务系统发送的处理任务的请求;
检测所述任务的类型;
当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统;
当所述任务是第二类型任务,则将所述第二类型任务存储至异步任务数据库,然后进行异步处理;
当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理。
2.如权利要求1所述的方法,其特征在于,当所述任务是第一类型任务,则按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统之后,所述方法还包括:
将处理后的所述第一类型任务的状态设置为已处理;
将已处理的所述第一类型任务存储至所述异步任务数据库。
3.如权利要求1所述的方法,其特征在于,按同步处理机制处理所述第一类型任务,包括:
当对所述第一类型任务进行处理失败时,对所述第一类型任务进行重新处理;
其中所述重新处理的次数不超过预设次数。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在预设时间间隔以轮询方式检测所述异步任务数据库,以检测是否存在未处理的任务;
当存在未处理的任务,则处理所述未处理的任务。
5.如权利要求1所述的方法,其特征在于,当存在未处理的任务,则处理所述未处理的任务,包括:
将所述未处理的任务放入消费用线程池,以进行异步处理。
6.如权利要求5所述的方法,其特征在于,将所述未处理的任务放入消费用线程池,以进行异步处理,包括:
对异步处理后的任务的状态进行标记;
将标记为失败的任务进行重新异步处理。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述企业业务系统发送的对所述任务的状态的查询请求;
根据所述异步任务数据库中存储的任务的状态,对所述查询请求做出响应。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述第一类型任务为实时性任务;所述第二类型任务为可靠性任务。
9.用于实现权利要求1至8中任一项所述的异步任务处理方法的异步任务处理系统,其特征在于,所述异步任务处理系统包括:
任务请求定制化需求处理模块,用于接收企业业务系统发送的处理任务的请求,并检测所述任务的类型;
任务处理模块,用于当所述任务是第一类型任务时,按同步处理机制处理所述第一类型任务,然后返回所述企业业务系统,当所述任务是第二类型任务时,将所述第二类型任务存储至异步任务数据库,然后进行异步处理,当所述任务是第三类型任务,则将所述第三类型任务拆解为所述第一类型任务和所述第二类型任务,然后分别按所述第一类型任务和所述第二类型任务的处理方式进行处理;
任务状态和处理结果查询模块,用于向异步任务数据库查询任务的状态和处理结果;
其中,所述异步任务处理系统部署于单机异步任务系统服务器,或者采用keepalived的虚地址机制以双机主备部署方式部署于集群异步任务系统服务器。
10.一种服务器,其特征在于,所述服务器包括:
存储器和处理器,所述存储器上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的异步任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737759.2A CN115328670B (zh) | 2022-06-27 | 2022-06-27 | 一种异步任务处理方法、系统和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737759.2A CN115328670B (zh) | 2022-06-27 | 2022-06-27 | 一种异步任务处理方法、系统和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115328670A true CN115328670A (zh) | 2022-11-11 |
CN115328670B CN115328670B (zh) | 2023-11-17 |
Family
ID=83918161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210737759.2A Active CN115328670B (zh) | 2022-06-27 | 2022-06-27 | 一种异步任务处理方法、系统和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328670B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100083265A1 (en) * | 2008-10-01 | 2010-04-01 | Harris Corporation | Systems and methods for scheduling asynchronous tasks to residual channel space |
US8266103B1 (en) * | 2006-12-21 | 2012-09-11 | Emc Corporation | Synchronizing resource type and property structures |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
CN108337285A (zh) * | 2017-01-20 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 一种通信系统及通信方法 |
CN108958893A (zh) * | 2017-05-23 | 2018-12-07 | 中国移动通信集团重庆有限公司 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
CN109558255A (zh) * | 2018-12-13 | 2019-04-02 | 广东浪潮大数据研究有限公司 | 一种任务处理的方法及任务处理装置 |
CN110287468A (zh) * | 2019-06-27 | 2019-09-27 | 苏宁消费金融有限公司 | 适于在线协议的pdf文档生成方法和系统 |
CN110928746A (zh) * | 2019-11-14 | 2020-03-27 | 杭州天宽科技有限公司 | 可调配的业务处理系统、方法、装置及可存储介质 |
CN110990132A (zh) * | 2019-11-01 | 2020-04-10 | 浙江大搜车软件技术有限公司 | 异步任务处理方法、装置、计算机设备和存储介质 |
CN111290866A (zh) * | 2020-02-11 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 业务处理方法及装置 |
CN113221195A (zh) * | 2021-04-23 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 一种保存业务数据的方法、装置及存储介质 |
CN113495783A (zh) * | 2021-07-08 | 2021-10-12 | 上海哔哩哔哩科技有限公司 | 业务数据处理方法及装置 |
CN113778644A (zh) * | 2021-08-18 | 2021-12-10 | 煤炭科学研究总院 | 任务的处理方法、装置、设备及存储介质 |
-
2022
- 2022-06-27 CN CN202210737759.2A patent/CN115328670B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266103B1 (en) * | 2006-12-21 | 2012-09-11 | Emc Corporation | Synchronizing resource type and property structures |
US20100083265A1 (en) * | 2008-10-01 | 2010-04-01 | Harris Corporation | Systems and methods for scheduling asynchronous tasks to residual channel space |
CN106341280A (zh) * | 2016-11-04 | 2017-01-18 | 金蝶软件(中国)有限公司 | 业务处理方法和装置 |
CN108337285A (zh) * | 2017-01-20 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 一种通信系统及通信方法 |
CN108958893A (zh) * | 2017-05-23 | 2018-12-07 | 中国移动通信集团重庆有限公司 | 高并发业务的资源控制方法、装置和计算机可读存储介质 |
CN109558255A (zh) * | 2018-12-13 | 2019-04-02 | 广东浪潮大数据研究有限公司 | 一种任务处理的方法及任务处理装置 |
CN110287468A (zh) * | 2019-06-27 | 2019-09-27 | 苏宁消费金融有限公司 | 适于在线协议的pdf文档生成方法和系统 |
CN110990132A (zh) * | 2019-11-01 | 2020-04-10 | 浙江大搜车软件技术有限公司 | 异步任务处理方法、装置、计算机设备和存储介质 |
CN110928746A (zh) * | 2019-11-14 | 2020-03-27 | 杭州天宽科技有限公司 | 可调配的业务处理系统、方法、装置及可存储介质 |
CN111290866A (zh) * | 2020-02-11 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 业务处理方法及装置 |
CN113221195A (zh) * | 2021-04-23 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 一种保存业务数据的方法、装置及存储介质 |
CN113495783A (zh) * | 2021-07-08 | 2021-10-12 | 上海哔哩哔哩科技有限公司 | 业务数据处理方法及装置 |
CN113778644A (zh) * | 2021-08-18 | 2021-12-10 | 煤炭科学研究总院 | 任务的处理方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
NINA RIZUN 等: "Analyzing content of tasks in Business Process Management. Blending task execution and organization perspectives", 《COMPUTERS IN INDUSTRY》, pages 1 - 24 * |
李春芳 等: "基于业务规则的工作流任务分派设计与实现", 《计算机工程与设计》, pages 5572 - 5575 * |
Also Published As
Publication number | Publication date |
---|---|
CN115328670B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055343B (zh) | 用于机房的数据同步方法及装置 | |
US9753954B2 (en) | Data node fencing in a distributed file system | |
US9798639B2 (en) | Failover system and method replicating client message to backup server from primary server | |
CN107451147A (zh) | 一种kafka集群动态切换的方法和装置 | |
CN109361525B (zh) | 重启分布式部署多服务的方法、装置、控制终端及介质 | |
US20120036345A1 (en) | Embedded device and file change notification method of the embedded device | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN102955851A (zh) | 一种数据库的切换方法和装置 | |
CN110222535B (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN115757611A (zh) | 大数据集群切换方法、装置、电子设备及存储介质 | |
US9026839B2 (en) | Client based high availability method for message delivery | |
CN110162344A (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN110737504A (zh) | 一种深度学习模型训练容错方法、系统、终端及存储介质 | |
CN108121730B (zh) | 一种将数据更新快速同步到业务系统的装置及方法 | |
CN113364857A (zh) | 业务数据的处理方法、装置和服务器 | |
CN115328670B (zh) | 一种异步任务处理方法、系统和服务器 | |
CN115147031B (zh) | 清算工作流执行方法、装置、设备及介质 | |
CN115617768A (zh) | 日志管理方法、系统、电子设备及存储介质 | |
CN115499493A (zh) | 异步事务处理方法、装置、存储介质及计算机设备 | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
CN114170700A (zh) | 一种考勤方法及装置 | |
US7769800B2 (en) | Integration process and product for digital systems | |
CN111666132A (zh) | 分布式事务实现方法、装置、计算机系统及可读存储介质 | |
CN111222845A (zh) | 资源流转方法、装置、设备及可读存储介质 | |
CN102238094B (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 |