CN110705890A - 业务流程的驱动方法、装置、服务器和存储介质 - Google Patents

业务流程的驱动方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN110705890A
CN110705890A CN201910959329.3A CN201910959329A CN110705890A CN 110705890 A CN110705890 A CN 110705890A CN 201910959329 A CN201910959329 A CN 201910959329A CN 110705890 A CN110705890 A CN 110705890A
Authority
CN
China
Prior art keywords
task
nodes
tasks
service
execution system
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
CN201910959329.3A
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.)
Da Fei Yun Loan Technology (beijing) Co Ltd
Original Assignee
Da Fei Yun Loan Technology (beijing) 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 Da Fei Yun Loan Technology (beijing) Co Ltd filed Critical Da Fei Yun Loan Technology (beijing) Co Ltd
Priority to CN201910959329.3A priority Critical patent/CN110705890A/zh
Publication of CN110705890A publication Critical patent/CN110705890A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供的业务流程的驱动方法、装置、服务器和存储介质,生成待处理业务的业务流程后,依据所述业务流程包括的节点间的连接关系,将所述节点对应的任务提供于任务执行系统,使所述任务执行系统执行接收的任务,其中所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序。本发明提供的业务流程的驱动方法及装置,可以自动将待处理业务中的任务提供于任务执行系统,使任务执行系统不需要人为干预即可完成整个待处理业务,从而实现业务处理过程的自动化,有效提高业务的处理效率。

Description

业务流程的驱动方法、装置、服务器和存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种业务流程的驱动方法、装置、服务器和存储介质。
背景技术
在现代企业中,每个业务通常都由多个具体的可执行的任务组成,通过逐个执行业务中的任务来完成该业务。现有的业务管理方法是,一个业务开始后,管理人员将该业务的第一个任务激活作为待处理任务,当前的待处理任务完成后,再由管理人员根据预设的业务逻辑触发下一个任务作为待处理任务,直至整个业务结束。
现有技术的问题在于,业务的进展过程需要管理人员的人为干预,导致业务的执行效率低下。
发明内容
基于上述现有技术的不足,本发明提出一种业务流程驱动方法、装置、服务器和存储介质,以实现业务处理过程的自动化。
为解决上述问题,现提出的方案如下:
本发明第一方面公开了一种业务流程的驱动方法,包括:
生成待处理业务的业务流程;其中,所述业务流程包括节点和节点间的连接关系,所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序;
依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统;其中,所述任务执行系统用于执行接收的任务。
可选的,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统之后,还包括:
若所述任务执行失败,则将所述执行失败的任务再次提供于所述任务执行系统。
可选的,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统,包括:
确定所述节点间的连接关系对应的任务的执行顺序;
利用所述确定出的任务的执行顺序,依次提供所述业务流程包括的节点对应的任务于所述任务执行系统;其中,所述任务执行系统包括主服务器和备用服务器;所述主服务器用于执行接收的任务,所述备用服务器在所述主服务器故障时,替换所述主服务器执行接收的任务。
可选的,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统,包括:
利用所述节点间的连接关系,组合所述业务流程包括的节点对应的任务,得到任务队列;
将所述任务队列提供于所述任务执行系统;其中,所述任务执行系统包括组成分布式架构的多台服务器,所述每台服务器用于调取所述任务队列中的任务并执行。
可选的,所述业务流程包括的每一个节点,包括节点属性信息;其中,所述节点属性信息用于说明所述节点对应的任务的执行要求。
可选的,所述节点属性信息,包括:失败重试次数、延迟执行时间、优先级、以及执行接口信息中的至少一种或任意组合。
本发明第二方面提供一种业务流程驱动装置,包括:
业务生成单元,用于生成待处理业务的业务流程;其中,所述业务流程包括节点和节点间的连接关系,所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序;
任务提供单元,用于依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统;其中,所述任务执行系统用于执行接收的任务。
可选的,所述任务提供单元还用于,若任务执行失败,则将所述执行失败的任务再次提供于所述任务执行系统。
本发明第三方面提供一种服务器,包括存储器和处理器,其中:
所述存储器用于存储计算机指令;
所述处理器用于执行所述存储器存储的计算机指令,具体执行如本发明第一方面任意一项所述的业务流程的驱动方法。
本发明第四方面提供一种存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如本发明第一方面任意一项所述的业务流程的驱动方法。
本发明提供的业务流程的驱动方法、装置、服务器和存储介质,生成待处理业务的业务流程后,依据所述业务流程包括的节点间的连接关系,将所述节点对应的任务提供于任务执行系统,使所述任务执行系统执行接收的任务,其中所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序。本发明提供的业务流程的驱动方法及装置,可以自动将待处理业务中的任务提供于任务执行系统,使任务执行系统不需要人为干预即可完成整个待处理业务,从而实现业务处理过程的自动化,有效提高业务的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例公开的业务流程的驱动方法的示意图;
图2是本发明实施例公开的另一种业务流程的驱动方法的示意图;
图3是本发明实施例公开的另一种业务流程的驱动方法的示意图;
图4是本发明实施例公开的一种业务流程的示意图;
图5是本发明实施例公开的一种业务流程的驱动装置的结构示意图;
图6是本发明实施例公开的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种业务流程的驱动方法,请参考图1,所述方法包括以下步骤:
S101、生成待处理业务的业务流程。
其中,待处理业务由多个任务和任务间的执行顺序组成,每个任务可以认为是待处理业务的一个具体的步骤。生成的业务流程,可以认为是一个数据结构,其中包括节点和节点间的连接关系,节点与待处理业务包括的任务一一对应,节点间的连接关系用于说明待处理业务包括的任务间的执行顺序,与节点对应的待处理业务包括的任务也可以称为该节点的节点任务。
S102、依据节点间的连接关系,将业务流程包括的节点对应的任务提供于任务执行系统。
其中,任务执行系统用于执行接收的任务。任务执行系统可以由服务器或服务器集群构成,常见的任务执行系统包括主备式的任务执行系统和分布式的任务执行系统两种。
步骤S102中提出的将节点对应的任务提供于任务执行系统,可以认为是将任务发送给任务执行系统。
可选的,上述业务流程中的节点,可以包括节点属性信息,节点属性信息是用于说明节点任务的执行要求的信息。本实施例中,节点属性信息可以包括:失败重试次数、延迟执行时间、优先级、以及执行接口信息中的至少一种或任意组合。
其中,失败重试次数,用于规定该节点对应的任务失败后,自动重试的次数限制。若一个节点对应的任务执行失败,本实施例提供的方法可以自动再次执行对应的任务,也就是对这个任务进行重试,直到这个任务执行成功,或者这个任务的执行次数达到对应的失败重试次数的限制为止,若一个任务的执行次数达到其对应的失败重试次数的限制后,仍然没有执行成功,则需要输出报警信息。
延迟执行时间,用于规定,任务执行系统获取任务后,在执行该任务前需要等待的时间。通常,延迟执行时间可以设置为0s,对于某些特殊任务,可以根据需要设置一段延迟执行时间。例如,若一个业务中连续多个任务需要与同一个第三方系统进行数据交互,此时,为了使每次数据交互后第三方系统有充分的时间整理数据,可以给需要与上述第三方系统进行交互的任务设置一段延迟执行时间。
优先级,用于表明一个任务相对于其他任务的优先度。例如,若任务执行系统当前只能执行一个任务,而有多个需要处理的任务,则可以从这些任务中选取对应的优先级最高的任务首先予以执行。
执行接口信息,可以认为是一个任务需要调用的第三方接口的地址,若任务执行系统执行一个任务时,需要调用第三方接口,可以根据该任务对应的执行接口信息查找需要调用的接口。
本发明提供的业务流程的驱动方法,生成待处理业务的业务流程后,依据所述业务流程包括的节点间的连接关系,将所述节点对应的任务提供于任务执行系统,使所述任务执行系统执行接收的任务,其中所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序。因此,本申请实施例提供的业务流程的驱动方法,可以自动将待处理业务中的任务提供于任务执行系统,使任务执行系统不需要人为干预即可完成整个待处理业务,从而实现业务处理过程的自动化,有效提高业务的处理效率。
下面基于分布式的任务执行系统,介绍本申请实施例提供的另一种业务流程的驱动方法,请参考图2,所述方法包括以下步骤:
可选的,本申请实施例提供的业务流程驱动方法,可以由业务驱动系统,或者说工作流引擎执行。
S201、生成待处理业务的业务流程。
其中,待处理业务的业务流程由节点和节点间的连接关系组成。生成待处理业务对应的业务流程,可以采用以下两种方式进行:
第一种方式是,根据待处理业务中的每个任务,从新生成一个与该任务对应的节点,然后将生成的每个节点根据待处理业务中任务间的执行顺序连接,待处理业务中的每个任务和任务间的执行顺序可以预先输入。
第二种方式是,根据待处理业务的任务和任务间的执行顺序,对现有的业务流程模板进行适应性修改,从而得到与待处理业务对应的业务流程。其中。业务流程模板可以预先输入,也可以通过整合以往生成的业务流程得到。
可选的,待处理业务中的任务一般包括以下三种类型,即自定义类型的任务、判断性的任务和等待性的任务,对应的节点可以记为自定义节点、判断节点和等待节点。
其中,自定义类型的任务,是指,使用本实施例提供的方法之前,根据工作环境和使用需要定义的任务,这类任务的具体执行过程一般没有一个固定的模板,需要在设置任务时输入具体执行过程。
例如,若将本实施例用于小额贷款领域的还款业务时,根据使用需要,可能会在还款业务中设置一个自定义的“还款申请”任务,此时,需要进一步输入这个任务的具体执行过程,包括怎样生成申请,申请的格式有什么要求,生成的申请向何处发送等,基于以上定义,该任务才能被顺利执行。
上述实例仅仅是对自定义类型的任务的举例说明,不同的自定义任务,设置任务时需要输入的具体执行过程也不尽相同。
判断性的任务和等待性的任务,其具体执行过程则相对统一。判断性的任务,就是指,在该任务被执行时,将输入的条件与任务中预置的多个判断条件进行匹配,得到匹配结果。匹配结果用于具体执行这个判断性的任务后续的不同分支。也就是说,设置判断性的任务时,只要输入判断条件以及不同判断条件与不同分支的对应关系即可。
等待性的任务,是指,在该任务被执行时,将输入的条件与任务中预置的一个判断条件进行比较,若输入的条件与预置的判断条件一致,则认为该任务执行成功,将输入的条件作为该任务的执行结果向下一个任务输出,若输入的条件与预置的判断条件不一致,则继续执行该任务,知道输入条件与预置的判断条件一致为止。因此,设置等待性的任务时,只需要输入一个判断条件即可。
S202、利用节点间的连接关系,组合业务流程包括的节点对应的任务,得到任务队列。
任务队列是由待处理业务的任务组成的队列,其中的任务按执行顺序从任务队列的头部开始线性排列,初始任务首先被填入任务队列的头部,后续的任务依据执行顺序依次填入任务队列中。
任务队列中的任务只能从任务队列的头部调取,且一次只能调取一个任务,当任务队列的头部的任务被调取后,后续的任务依次前移,从而在任务队列的头部填入新的任务,以此类推,直至任务队列中所有任务都被执行成功,或者说直至待处理业务结束。
需要说明的是,由于一个具体的业务中通常会存在判断性任务,并且,根据判断性任务的不同输出,后续往往会具体执行业务的不同分支,因此,并非业务中的每一个任务都会被执行。在本实施例中,若任务队列中存在判断性任务,则任务队列中排列在这个判断性任务之后的其他任务,会附带一个判断条件。当执行到上述判断性任务的某个后续任务时,首先检测附带的判断条件,以确定上述判断性任务的输出是否对应于这个任务所在的分支,若确定出上述判断性任务的输出对应于这个任务所在的分支,则执行这个任务,若确定出上述判断性任务的输出不对应于这个任务所在的分支,则跳过这个任务,顺序执行任务队列中的下一个任务。
S203、将任务队列提供于分布式的任务执行系统。
其中,分布式的任务执行系统由多个服务器构成,每台服务器用于调取任务队列中的任务并执行。
具体的,分布式系统中的每台服务器都包括一个任务逻辑处理组件。一台服务器从任务队列中调取任务后,为这个任务分配一个工作进程,然后通过工作进程调用本服务器的任务逻辑处理组件处理该任务。
可选的,一台服务器可以同时从多个任务队列中调取多个任务,也可以一次只调取一个任务,处理完这个任务后再调取下一个任务。
服务器从任务队列中调取任务,具体是指服务器从可读取任务队列中调取任务。可读取任务队列,用于指代,目前没有正在执行的任务的,且读取标识为可读的任务队列。若没有可读取任务队列,则服务器保持待机状态,直到有可读取任务队列为止。
可选的,当任务队列的数量少于分布式的任务执行系统中的服务器数量时,各服务器可以轮流从任务队列中调取任务。具体的,若目前有三个待处理业务,对应三个任务队列,但分布式的任务执行系统中有九个服务器,在调取任务并执行时,可以由第一批的三个服务器调取任务并执行,这一批的三个都任务执行完毕后,由另外三个服务器,称为第二批服务器,分别从三个任务队列中调取下一个任务执行,任务队列可读取后,再由最后三个服务器,称为第三批服务器,调取任务并执行,任务执行完毕,再由第一批的三个服务器调取任务,以此类推,直至任务队列中的任务全部执行完毕。
S204、根据任务执行结果判断是否有执行失败的任务,若判断出没有执行失败的任务,则继续执行本步骤,若判断出有执行失败的任务,则执行步骤S205。
其中,任务执行结果由任务执行系统实时反馈。在待处理业务的执行过程中,任务执行系统每执行,或者说每处理一个任务,就将执行结果反馈给业务驱动系统,当某一个任务执行失败时,这个任务对应的待处理业务就会中断,直到任务被成功执行。
可选的,在本实施例提出的分布式任务执行系统中,若一个业务对应的任务队列中,某一个任务执行失败,则执行该任务的服务器会将这个任务队列的读取标识设置为不可读,以避免其他服务器从这个任务队列中调取任务。
步骤S204,也可以认为是本实施例提供的业务驱动系统根据任务执行借故偶实时监控任务执行系统的任务执行情况。
S205、判断执行失败的任务的执行次数是否大于或等于阈值,若执行失败的任务的执行次数小于阈值,则执行步骤S206,若执行失败的任务的执行次数大于或等于阈值,则执行步骤S207。
需要说明的是,本实施例提供的方法中,在建立待处理业务对应的任务队列时,会将其中的每个任务的执行次数初始化为0,此后任务执行系统每执行任务队列中的一个任务,不论是否执行成功,都会将这个任务的执行次数在原有基础上加1。因此,任务的执行次数,可以用于表示任务的执行失败次数,若一个任务只执行一次就成功,未发生执行失败的情况,则其执行次数为1,若一个任务执行失败N次后,才执行成功,则其执行次数为N+1。
可选的,步骤S205提及的阈值,可以是这个任务对应的节点的失败重试次数,也就是这个节点的一种属性信息,节点的属性信息可以预先设置。
S206、将执行失败的任务再次组合到任务队列中,并提供于任务执行系统,然后返回步骤S204。
其中,将执行失败的任务组合到任务队列中,具体是指,将任务队列中现有的任务依次后移,使任务队列的头部腾空,然后将执行失败的任务填入任务队列的头部,使任务执行系统先调取上述执行失败的任务并执行该任务。
可选的,基于本实施例提供的分布式任务执行系统,业务驱动系统将执行失败的任务组合进任务队列后,需要将这个任务队列的读取标识设置为可读,使分布式任务执行系统中的服务器可以从这个任务队列中调取上述执行失败的任务。
上述执行失败的任务由任务执行系统执行后,其执行次数相应的在原有基础上加1。
上述步骤S204至S206,可以认为是业务驱动系统识别出有执行失败的任务后,根据这个任务在业务流程中对应的节点的节点属性信息进行重试的过程。
任务执行失败可能存在多种原因,这里简要介绍一种可能的情况。若一个任务执行时,任务执行系统需要调用第三方接口(第三方用于指代上述任务执行系统和业务驱动系统之外的其他系统)以获取信息,或者通过第三方接口发送消息,但任务执行系统请求调用上述接口时,这个第三方接口可能正在被占用,无法响应任务执行系统的调用请求,这时就会导致对应的任务执行失败。在这种情况下,考虑到第三方接口通常不会长时间的持续被占用,因此可以通过对上述执行失败的任务进行多次重试,从而即时的在上述第三方接口空闲时调用该接口,使对应的任务能够顺利执行。
S207、输出报警信息。
可选的,报警信息可以采用多种形式输出,例如,出发蜂鸣器发出提示音,在显示设备上输出对话框,以及出发警示灯闪烁灯。
当一个任务执行次数达到上述阈值而仍不能成功执行时,可以认为发生了业务驱动系统无法自动处理的错误,此时需要通过输出报警信息使错误能够及时被解决。
本申请实施例提供的业务流程的驱动方法,在实现业务处理过程的自动化的基础上,通过为业务流程的节点设置包括失败重试次数在内的节点属性信息,并对任务执行过程进行实时监控,实现在处理业务的过程中,自动处理执行失败的任务,达到在处理业务的过程中自动纠错的效果,有效提高业务处理效率。
进一步的,本实施例提供的基于分布式任务执行系统的业务流程驱动方法,利用多台构成分布式架构的服务器分别处理多个任务队列中的任务,从而能够在待处理业务数量较多时提高业务处理效率。
下面基于主备式的任务执行系统,介绍本申请实施例提供的另一种业务流程的驱动方法,请参考图3。
本实施例将结合图4所示的业务流程介绍本实施例提供的业务流程的驱动方法,首先对图4所示的业务流程进行简要说明。
如图4所示的业务流程,对应的是小额贷款领域的一种还款业务,业务流程中的每个节点都对应还款业务中的一个任务,图4中每个节点的名称,同时也可以认为是该节点对应的任务的名称。其中,“通道选择”和“还款方式”属于判断性任务,“等待短信回调”和“等待账户中心回调”属于等待性任务,图中其他节点对应的任务,可以认为是自定义任务。其中的节点之间的连接关系,用于说明各个任务之间的执行顺序。
需要说明的是,图4中的“开始”和“结束”应当认为是业务流程的两个固有的标识,而不属于业务流程的的节点,也没有对应的任务。
可选的,每个节点可以包括至少一种节点属性信息,用于说明该节点的节点任务的执行要求。如表1所示,就是图4的业务流程中的“还款申请”节点的节点属性信息。其中的网关接口就是这个节点的网关接口信息。
节点名称 还款申请
业务类型 还款
优先级 0
网关接口 0
延迟执行时间(单位:秒) 1
失败重试次数 8
表1“还款申请”节点属性信息表
进一步的,本实施例提供的方法中,判断性任务对应的节点,可以称为判断性节点,其节点属性信息还可以包括节点输出条件以及结果配置,用于根据该节点的节点任务的执行结果从判断性任务后续的分支任务中决定要执行的任务。如表2所示,就是图4的业务流程中“还款方式”节点的节点属性信息示意,其中“配置的SQL”一项,用于表示该节点的输出条件和结果配置,若还款方式为1,则执行第一分支(即图4中标记为1的连线之后的节点),若还款方式为2,则执行第二分支(即图4中标记为2的连线之后的节点).
节点名称 还款方式
业务类型 还款
配置的SQL SELECTcasenRepayChannelwhen1then1when2then2end
表2“还款方式”节点属性信息表
本实施例提供的业务流程的驱动方法,如图3所示,包括以下步骤:
S301、生成待处理业务的业务流程。
待处理业务可以包括多种类型的业务,对应的可以生成多种业务流程。具体的,针对还款业务,可以生成如图4所示的业务流程。
S302、利用节点间的连接关系确定对应的任务的执行顺序。
如图4所示,节点之间带箭头的连线即表示节点间的连接关系。在图4所示的业务流程中,根据“通道选择”节点和“还款申请”节点之间的连接关系,可以确定需要先执行“通道选择”任务,然后再执行“还款申请”任务,以此类推,最终根据节点间的连接关系确定每个节点对应的任务的执行顺序。
S303、利用确定出的任务的执行顺序,确定待处理的任务并提供于任务执行系统。
上述待处理的任务根据任务的执行顺序确定,每个待处理任务由任务执行系统执行成功后,业务驱动系统再执行步骤S303,确定下一个待处理任务。
具体的,在图4所示的业务流程中,业务驱动系统确定的第一个待处理任务是“通道选择”,然后将这个任务提交于任务执行系统,若“通道选择”任务执行成功,则业务驱动系统根据其执行结果,确定“还款方式”和“还款申请”中的一个为待处理任务,然后再次将待处理任务提供于任务执行系统,使任务执行系统执行对应的任务。以此类推,最终完成图4所示的业务流程中所有节点对应的任务。
本实施例中,上述任务执行系统是指主备式任务执行系统,该任务执行系统中包括主服务器和备用服务器,上述提供任务于任务执行系统,也可以认为是提供任务于任务执行系统中的主服务器或备用服务器。任务执行系统正常工作时,任务被提供于主服务器,主服务器用于执行接收的任务,备用服务器在任务执行系统中的主服务器故障时,替换主服务器接收业务驱动系统提供的任务并执行接收的任务。
本实施例中,主服务器中可以设置一个任务线程池,业务驱动系统向主服务器提供任务时,任务首先被发送至任务线程池,任务线程池为该任务分配一个线程,然后主服务器通过该任务的线程调用主服务器的任务逻辑处理组件执行该任务。其中,主服务器可以有至少一个任务逻辑处理组件。当主服务器发生故障时,备用服务器替换主服务器,同样按照上述方法接收并执行业务驱动系统提供的任务。
S304、根据任务执行结果判断是否有执行失败的任务,若判断出没有执行失败的任务,则返回执行步骤S303,若判断出有执行失败的任务,则执行步骤S305。
业务驱动系统确定并提供了一个待处理任务后,只有在判断出提供的任务被成功执行后,才能继续确定并提供下一个待处理任务,否则需要对执行失败的任务进行重试。
S305、判断执行失败的任务的执行次数是否大于或等于阈值,若执行失败的任务的执行次数小于阈值,则执行步骤S306,若执行失败的任务的执行次数大于或等于阈值,则执行步骤S307。
S306、将执行失败的任务再次提供于任务执行系统,然后返回步骤S304。
具体的,在图4所示的业务流程中,若“还款申请”任务执行失败,则业务驱动系统需要在判断出该任务执行失败后,将该任务再次提供于任务执行系统,使任务执行系统再次执行该任务,直到该任务的执行次数大于或等于该任务的失败后重试次数或者该任务执行成功。
从步骤S304可以看出,若该任务经过多次重试后执行成功,则返回步骤S303,由业务驱动系统确定下一个待处理任务并提供于任务执行系统。
在如图1所示节点属性信息中,“还款申请”任务的失败后重试次数是8,若该任务的执行次数大于或等于上述失败后重试次数,则执行步骤S307。
S307、输出报警信息。
需要说明的是,上述步骤S303至S307,可以认为是业务驱动系统利用确定出的任务执行顺序,依次将业务流程中的节点对应的任务提供于任务执行系统,在此过程中,若出现执行失败的任务,则业务驱动系统根据该任务的执行要求对该任务进行重试或输出报警信息。
本申请实施例提供的基于主备式任务执行系统的业务流程的驱动方法,在待处理的业务的数量较少时,相对于前一实施例中基于分布式任务执行系统的方法,可以有效提高服务器的利用率。此外,由于只使用一个服务器。因此可以避免分布式任务执行系统中多个服务器之间的协调工作,在待处理的业务较少时,效率相对较高。
基于上述业务流程的驱动方法,本申请实施例还提供了一种业务流程的驱动装置,如图5所示,上述装置包括:
业务生成单元501,用于生成待处理业务的业务流程;其中,所述业务流程包括节点和节点间的连接关系,所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序;
任务提供单元502,用于依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统;其中,所述任务执行系统用于执行接收的任务。
可选的,任务提供单元502还用于,若任务执行失败,则将所述执行失败的任务再次提供于所述任务执行系统。
可选的,任务提供单元502具体用于:
确定所述节点间的连接关系对应的任务的执行顺序;
利用所述确定出的任务的执行顺序,依次提供所述业务流程包括的节点对应的任务于所述任务执行系统;其中,所述任务执行系统包括主服务器和备用服务器;所述主服务器用于执行接收的任务,所述备用服务器在所述主服务器故障时,替换所述主服务器执行接收的任务。
可选的,任务提供单元502具体用于:
利用所述节点间的连接关系,组合所述业务流程包括的节点对应的任务,得到任务队列;
将所述任务队列提供于所述任务执行系统;其中,所述任务执行系统包括组成分布式架构的多台服务器,所述每台服务器用于调取所述任务队列中的任务并执行。
可选的,业务流程包括的每一个节点,包括节点属性信息,其中,节点属性信息用于说明所述节点对应的任务的执行要求。
可选的,节点属性信息,包括:节点对应的任务执行失败后的重试次数、节点对应的任务的延迟执行时间、节点对应的任务的优先级信息、以及节点对应的任务的执行接口信息中的至少一种或任意组合。
本申请实施例还提供了一种服务器,请参考图6,包括存储器601和处理器602,其中:
存储器601用于存储计算机指令;
处理器602用于执行存储器存储的计算机指令,具体执行本申请任一实施例提供的业务流程的驱动方法。
本申请实施例还提供一种存储介质,用于存储程序,存储的程序被执行时,用于实现本申请任一实施例提供的业务流程的驱动方法。
本申请实施例提供的业务流程的驱动装置,利用业务流程生成单元501生成待处理业务的业务流程后,由任务提供单元502依据业务流程包括的节点间的连接关系,将节点对应的任务提供于任务执行系统,使任务执行系统执行接收的任务,其中节点与待处理业务包括的任务一一对应,节点间的连接关系用于说明待处理业务包括的任务间的执行顺序。基于上述本申请实施例提供的业务流程的驱动装置,可以自动将待处理业务中的任务提供于任务执行系统,使任务执行系统不需要人为干预即可完成整个待处理业务,从而实现业务处理过程的自动化,有效提高业务的处理效率。
专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种业务流程的驱动方法,其特征在于,包括:
生成待处理业务的业务流程;其中,所述业务流程包括节点和节点间的连接关系,所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序;
依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统;其中,所述任务执行系统用于执行接收的任务。
2.根据权利要求1所述的方法,其特征在于,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统之后,还包括:
若所述任务执行失败,则将所述执行失败的任务再次提供于所述任务执行系统。
3.根据权利要求1所述的方法,其特征在于,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统,包括:
确定所述节点间的连接关系对应的任务的执行顺序;
利用所述确定出的任务的执行顺序,依次提供所述业务流程包括的节点对应的任务于所述任务执行系统;其中,所述任务执行系统包括主服务器和备用服务器;所述主服务器用于执行接收的任务,所述备用服务器在所述主服务器故障时,替换所述主服务器执行接收的任务。
4.根据权利要求1所述的方法,其特征在于,所述依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统,包括:
利用所述节点间的连接关系,组合所述业务流程包括的节点对应的任务,得到任务队列;
将所述任务队列提供于所述任务执行系统;其中,所述任务执行系统包括组成分布式架构的多台服务器,所述每台服务器用于调取所述任务队列中的任务并执行。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述业务流程包括的每一个节点,包括节点属性信息;其中,所述节点属性信息用于说明所述节点对应的任务的执行要求。
6.根据权利要求5所述的方法,其特征在于,所述节点属性信息,包括:失败重试次数、延迟执行时间、优先级、以及执行接口信息中的至少一种或任意组合。
7.一种业务流程驱动装置,其特征在于,包括:
业务生成单元,用于生成待处理业务的业务流程;其中,所述业务流程包括节点和节点间的连接关系,所述节点与所述待处理业务包括的任务一一对应,所述节点间的连接关系用于说明所述待处理业务包括的任务间的执行顺序;
任务提供单元,用于依据所述节点间的连接关系,将所述业务流程包括的节点对应的任务提供于任务执行系统;其中,所述任务执行系统用于执行接收的任务。
8.根据权利要求7所述的装置,其特征在于,所述任务提供单元还用于,若任务执行失败,则将所述执行失败的任务再次提供于所述任务执行系统。
9.一种服务器,包括存储器和处理器,其中:
所述存储器用于存储计算机指令;
所述处理器用于执行所述存储器存储的计算机指令,具体执行如权利要求1至6中任意一项所述的业务流程的驱动方法。
10.一种存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如权利要求1至6任意一项所述的业务流程的驱动方法。
CN201910959329.3A 2019-10-10 2019-10-10 业务流程的驱动方法、装置、服务器和存储介质 Pending CN110705890A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959329.3A CN110705890A (zh) 2019-10-10 2019-10-10 业务流程的驱动方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959329.3A CN110705890A (zh) 2019-10-10 2019-10-10 业务流程的驱动方法、装置、服务器和存储介质

Publications (1)

Publication Number Publication Date
CN110705890A true CN110705890A (zh) 2020-01-17

Family

ID=69199064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959329.3A Pending CN110705890A (zh) 2019-10-10 2019-10-10 业务流程的驱动方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN110705890A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138807A (zh) * 2021-04-25 2021-07-20 上海淇玥信息技术有限公司 一种多节点业务任务的执行方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567068A (zh) * 2009-05-18 2009-10-28 北京方正春元科技发展有限公司 一种用于财政信息管理的数据处理系统
JP2011150504A (ja) * 2010-01-21 2011-08-04 Hitachi Ltd 計算機システム、ワークフロー制御方法及びワークフロー制御プログラム
CN103294533A (zh) * 2012-10-30 2013-09-11 北京安天电子设备有限公司 任务流控制方法及系统
CN109343941A (zh) * 2018-08-14 2019-02-15 阿里巴巴集团控股有限公司 任务处理方法、装置、电子设备及计算机可读存储介质
CN109933414A (zh) * 2017-12-18 2019-06-25 飞狐信息技术(天津)有限公司 一种任务调度方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567068A (zh) * 2009-05-18 2009-10-28 北京方正春元科技发展有限公司 一种用于财政信息管理的数据处理系统
JP2011150504A (ja) * 2010-01-21 2011-08-04 Hitachi Ltd 計算機システム、ワークフロー制御方法及びワークフロー制御プログラム
CN103294533A (zh) * 2012-10-30 2013-09-11 北京安天电子设备有限公司 任务流控制方法及系统
CN109933414A (zh) * 2017-12-18 2019-06-25 飞狐信息技术(天津)有限公司 一种任务调度方法、装置及系统
CN109343941A (zh) * 2018-08-14 2019-02-15 阿里巴巴集团控股有限公司 任务处理方法、装置、电子设备及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138807A (zh) * 2021-04-25 2021-07-20 上海淇玥信息技术有限公司 一种多节点业务任务的执行方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US10838777B2 (en) Distributed resource allocation method, allocation node, and access node
JP6223569B2 (ja) ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置
CN110888893A (zh) 一种基于微服务电商系统的订单处理方法
CN111061432B (zh) 一种业务迁移方法、装置、设备及可读存储介质
CN113220540B (zh) 业务管理方法、装置、计算机设备和存储介质
CN110705890A (zh) 业务流程的驱动方法、装置、服务器和存储介质
CN109829678B (zh) 一种回滚处理方法、装置以及电子设备
WO2021190088A1 (zh) 任务派发方法、装置、任务执行系统和服务器
US11120513B2 (en) Capital chain information traceability method, system, server and readable storage medium
CN113658351A (zh) 一种产品生产的方法、装置、电子设备及存储介质
CN113760566A (zh) 一种分布式事务处理的方法、装置、系统和存储介质
CN111159298B (zh) 业务请求处理方法、装置、电子设备及存储介质
CN113535439B (zh) 业务请求处理方法、装置、设备及存储介质
CN111835809A (zh) 工单消息分配方法、装置、服务器及存储介质
US11243979B1 (en) Asynchronous propagation of database events
CN111324668B (zh) 数据库数据同步处理方法、装置及存储介质
CN114443325A (zh) 一种接口调用异常的异步重试方法及系统
CN117112121A (zh) 分布式任务处理系统、方法、装置及计算机程序产品
CN107632893A (zh) 消息队列处理方法及装置
CN110716972A (zh) 高频率调用外部接口出错的处理方法和装置
CN110764882A (zh) 分布式管理方法、分布式管理系统及装置
CN111049938A (zh) 消息通知方法、装置、电子设备及可读存储介质
CN111930475B (zh) 启动ett运行的方法及装置
CN115866017B (zh) 消息处理方法、装置、通信设备及存储介质
US11272060B2 (en) Telecommunication traffic allocation method and apparatus, and electronic device

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200117