CN107545338B - 业务数据处理方法及业务数据处理系统 - Google Patents
业务数据处理方法及业务数据处理系统 Download PDFInfo
- Publication number
- CN107545338B CN107545338B CN201610479085.5A CN201610479085A CN107545338B CN 107545338 B CN107545338 B CN 107545338B CN 201610479085 A CN201610479085 A CN 201610479085A CN 107545338 B CN107545338 B CN 107545338B
- Authority
- CN
- China
- Prior art keywords
- flow
- routing
- service
- business
- engine instance
- 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.)
- Active
Links
Images
Abstract
本申请公开了业务数据处理方法及业务数据处理系统。所述方法的一具体实施方式包括:将所接收的业务数据的处理流程,转换为一个或多个业务消息,业务消息包括流程定义;基于路由数据库,确定与一个或多个业务消息对应的流程引擎实例和路由策略,路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;基于所确定的路由策略,将一个或多个业务消息路由到对应的流程引擎实例;通过所述流程引擎实例来执行所述业务消息。该实现方式能够保证业务消息的有序进行,保证了业务数据的一致性。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及工作流程信息处理技术领域,尤其涉及业务数据处理方法及业务数据处理系统。
背景技术
流程管理系统集成了多个工作平台,用于为用户创建需要的业务流程功能,例如,页面可视化、业务流程编辑、接口服务和权限。流程管理系统能够从产品规划、子项目开发、分环境测试地址和上线等方面为业务提供一整套的流程管理框架。
然而,现有的流程管理系统还存在一些不足。例如,流程管理系统通常会接入多个业务,不同的业务可能进行相同的数据处理,这就导致业务数据在处理过程中容易相互影响;当业务需要协同处理时,业务数据需要在多个数据处理单元之间按一定的顺序或规则进行,而数据处理单元之间通常无法按照某一业务的数据要求进行设置,这就导致数据处理相对混乱,数据一致性不易保证。
发明内容
本申请提供了业务数据处理方法及业务数据处理系统,以解决背景技术中提到的技术问题。
第一方面,本申请提供了一种业务数据处理方法,所述方法包括:将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义,所述流程定义是指业务系统所要实现的业务目的;基于路由数据库,确定与所述一个或多个业务消息对应的流程引擎实例和路由策略,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;通过所述流程引擎实例来执行所述业务消息。
第二方面,本申请提供了一种业务数据处理系统,所述系统包括:接口单元,用于将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义,所述流程定义是指业务系统所要实现的业务目的;确定单元,用于基于路由数据库,确定与所述一个或多个业务消息对应的流程引擎实例和路由策略,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;路由单元,用于基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;流程引擎实例,用于执行所述业务消息。
本申请提供的业务数据处理方法及业务数据处理系统,将业务数据的处理流程转换成业务消息,然后将业务消息路由给对应的流程引擎实例,能够保证业务消息的有序进行;最后通过流程引擎实例来执行所述业务消息,保证了业务数据的一致性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的业务数据处理方法一个实施例的流程图;
图3是根据本实施例的业务数据处理方法的应用场景的一个示意图;
图4是根据本申请的业务数据处理系统的一个实施例的结构示意图;
图5是根据本申请的服务器的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的业务数据处理方法或业务数据处理系统的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括业务系统101、102、103、网络104和服务器105。网络104用以在业务系统101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
业务系统101、102、103通过网络104与服务器105交互,将需要执行的业务数据和业务流程图发送给服务器105。业务系统101、102、103上可以安装有各种通信单元,例如,数据发送单元、数据接收单元等。
业务系统101、102、103可以是具有显示屏,运行各种数据处理业务的设备,例如,物流管理设备、交通监控设备等。
服务器105可以是提供各种服务的业务数据处理服务器,例如,对业务系统101、102、103发来的业务数据和业务流程图进行处理,调用各种数据处理程序完成业务流程,并将业务流程结果反馈给业务系统101、102、103。
需要说明的是,本申请实施例所提供的业务数据处理方法一般由服务器105执行,相应地,业务数据处理系统一般设置于服务器105中。
应该理解,图1中的业务系统和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的业务系统和服务器。
继续参考图2,示出了根据本申请的业务数据处理方法的一个实施例的流程200。所述的业务数据处理方法,包括以下步骤:
步骤201,将所接收的业务数据的处理流程,转换为一个或多个业务消息。
其中,所述业务消息包括流程定义,流程定义是指业务系统所要实现的业务目的,通常通过流程图的形式表现。
本实施例中,业务数据处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与业务系统进行数据传递,完成业务系统所要实现的业务目的。业务目的通常是完成某一任务或实现某一指标等。
在本实施例的一些可选的实现方式中,所述业务数据的处理流程包括下述流程中的至少一项:业务流程创建、任务申领、任务完成、业务流程挂起、业务流程终止、任务转移、待办任务查询、历史任务查询操作。其中,业务流程创建用于创建实现某一功能的流程;任务申领用于接受其他业务系统发布的流程任务;任务完成用于将完成的流程任务提交给发布流程任务的业务系统;业务流程挂起用于暂停当前正在执行的业务流程;业务流程终止用于结束当前正在执行的业务流程;任务转移用于将当前正在执行的流程任务转交给其他流程引擎实例执行;待办任务查询用于查询未执行的流程任务;历史任务查询操作用于查询已经处理过的流程任务。
在本实施例的一些可选的实现方式中,本实施例方法还包括:将所述一个或多个业务消息保存在消息队列中。消息队列用于对业务消息进行排序保存,并按接收到的业务消息的先后顺序向流程引擎实例提供业务消息。
步骤202,基于路由数据库,确定与所述一个或多个业务消息对应的流程引擎实例和路由策略。
所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系。
业务消息需要由对应的流程引擎实例来实现,服务器105中包含很多的流程引擎实例,流程引擎实例所能实现的业务目的可以相同,也可以不同;并且,流程引擎实例在服务器105上的分布位置不同。当存在多个分布式的服务器105时,完成业务消息的流程引擎实例可能不在当前的服务器105上,这时就需要从其他的服务器105上调用流程引擎实例。因此,需要路由策略来对流程引擎实例进行定位。
在本实施例的一些可选的实现方式中,映射关系基于用户输入的配置信息确定。配置信息用于说明完成业务流程需要用到的流程引擎实例,因此,根据配置信息就能够确定需要的流程引擎实例,确定路由策略,最终建立流程定义、流程引擎实例和路由策略的映射关系。
在本实施例的一些可选的实现方式中,所述路由策略包括流程创建策略、非查询操作路由策略和/或查询操作路由策略。其中,流程创建策略用于根据流程引擎实例的工作状态,选择能够最快完成处理流程的流程引擎实例;非查询操作路由策略用于设定非查询操作的数据路由;查询操作路由策略用于设定查询操作的数据路由。
步骤203,基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例。
确定了业务消息对应的流程引擎实例后,就可以将所述一个或多个业务操作消息路由到对应的流程引擎实例,通过流程引擎实例来完成业务消息对应的业务目的。
在本实施例的一些可选的实现方式中,在所述路由策略包括所述流程创建策略时,基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例可以包括以下步骤:
第一步,计算各流程引擎实例的权重值的最大公约数。
流程引擎实例的权重值用于表明流程引擎实例当前正在处理的业务消息有多少,处理的越多,权重值越小,即权重值对应流程引擎实例的剩余处理业务消息的能力。计算各流程引擎实例的权重值的最大公约数,根据最大公约数可以确定流程引擎实例至少能够增加处理多少业务消息,即,每个流程引擎实例最少还能多处理多少业务消息。
第二步,基于所计算出的最大公约数,得到所述各流程引擎实例中的流程创建数量。
得到各流程引擎实例的权重值的最大公约数后,说明各流程引擎实例至少还能处理与最大公约数等量的业务消息,即,还可以创建的流程数量。
第三步,基于所得到的各流程引擎实例中的流程创建数量,向对应的流程引擎实例中路由对应数量的流程。
确定了流程创建数量后,根据业务消息向各流程引擎实例路由对应数量的流程。
在本实施例的一些可选的实现方式中,所述流程引擎实例的权重值是预先设置或动态调整的。
流程引擎实例能够同时处理的业务消息跟流程引擎实例自身的数据处理能力相关,通常,流程引擎实例的权重跟流程引擎实例当前正在处理的业务消息相关,即,流程引擎实例的权重是动态调整的。实际中,在业务消息急于处理等情况下,可以对流程引擎实例的权重预先设置,以尽量满足实际需要。
在本实施例的一些可选的实现方式中,本实施例方法还包括:在所述流程引擎实例完成处理后,将所述流程的状态信息保存到数据查询集群中。
流程引擎实例执行完对应的流程后,为了便于对流程状态的查询,要将流程的状态信息保存到数据查询集群中。
步骤204,通过所述流程引擎实例来执行所述业务消息。
流程引擎实例接收到业务消息后,根据业务消息的要求执行相应的操作,完成业务目的。
进一步参考图3,图3是根据本实施例的业务数据处理方法的应用场景的一个示意图。在图3的应用场景中,业务数据处理系统主要包括接口层(相当于接口单元)、消息队列层(相当于消息队列)、路由层(相当于路由单元)、路由数据库、引擎实例(相当于流程引擎实例)、数据同步队列(相当于数据同步队列)和数据查询集群(相当于数据查询集群),图3中:Mysql是关系型数据库管理系统。
业务数据处理系统的各部分具体为:
接口层:为各业务处理设备或产品线提供统一的工作流运行时接口,包括创建流程、任务申领、任务完结、待办任务查询、历史任务查询、工作流实例挂起、工作流实例终结、任务转移等。
消息队列层:接口层将业务调用转换成相应的消息放入到操作消息队列,由路由层从该队列中抓取消息并转发给相应的引擎实例进行处理。
路由层:对外提供集群管理接口,通过接口可以设置产品线、流程定义、引擎实例的映射关系。根据定义的相关映射关系和路由策略,路由层将接口层或操作消息队列中的操作转发给相应的引擎实例处理。将数据同步队列中的数据批量同步到查询数据库集群。
路由层包括以下三个方面:
(1)流程创建策略:
假设在流程定义时为其关联了一组引擎实例S:S={S1,S2,S3……Sn},并且该流程对应的各引擎实例的权重值W:W={W1,W2,W3……Wn},路由算法是:
A,从W集合中查找非1的最大公约数a,如果没有找到,那么最大公约数a为1。
B,生成运行时列表,并将Wi/a个Si放入到该运行时列表:{S1,S1,S1,S1,S1,S2,S2,S2,S2,S2,…,Sn},其中,i表示S或W中的第i个元素。
C,路由生效时,从引擎实例列表按顺序或随机选择一个返回。
每一个流程引擎的权重值可以是大于0的任意整数,每个流程的实例将会按权重比例创建到各个引擎实例上,比如一个流程与三个引擎相关联,权重分别是5,10,15,那么在权重和引擎实例关联结构不变的情况下,流程实例数将以1:2:3的比例在三个引擎实例中被创建。
权重的分配是由工作流平台管理员设置的,平台管理员可以按照每一个引擎的已有负载和流程未来可能流量来为每一个引擎设置权重,也可根据运维时的情况动态变更。引起权重变化的操作还包括增加和删除流程的引擎关联关系,当关联关系发生变化时,路由层算法将即时相应调整。
权重的设置并不能解决流量过载的问题,如果多个流程共享一个引擎,当一个流程的流量突然增长较大的话,其它流程的性能可能受到影响。解决的办法之一是在各引擎实例上配置好监控,当流量增长时能即时采取行动。
(2)非查询操作策略:
流程实例创建后会将其与其所在的引擎实例关联并将关联关系存储在流程实例与引擎关联关系表中,当进行其它非查询操作时,路由层从该表中取出流程实例所在引擎,并将操作转发至该引擎实例。
(3)查询操作策略:
查询操作是发生在查询库中,主要是定位查询库的位置。如果多个流程需要联合查询的话,注意要将流程的查询指定到同一个库中。路由库中流程定义与查询库映射关系表中存储着流程与查询库的关系,该关系是在流程定义时指定,在查询时通过流程定义key找到查询库后将查询请求转发到该库。
每一个流程定义只能指定唯一的查询库,路由层也是根据流程定义与查询库的关系将数据同步到目标数据库的相应表中的。
路由数据库:存储集群中各种实体以及它们之间的映射关系,集群中相关的实体主要包括,产品线、流程定义、引擎实例、路由策略。路由层在运行时会根据路由数据库中存储的配置信息和运行时信息来转发接口请求。
引擎实例:引擎实例是工作流的完整运行单元,包括流程引擎和引擎数据库,主要处理创建流程、任务完结、流程挂起、流程终止等流程流转操作。另外,引擎数据库中流程定义在当前阶段采取全集群同构的方式,即新的引擎数据库将完全复制其它引擎数据库中流程定义表中的数据。在新部署流程定义时,将先在任意一流程引擎中部署,然后通过消息通知集群中其它引擎将新定义的流程数据进行复制。
当路由层将操作转发到引擎实例后,引擎实例的相关处理工作流程包括以下步骤:
1.业务系统调用接口层对应的工作流服务接口,接口包括流程创建、任务完结、流程挂起、流程终止、流程解挂、任务转移、待办任务查询和历史任务查询。
2.路由服务按定义将查询请求转发查询数据库。
3.接口调用返回。
4.路由服务从消息队列中抓取消息,按路由策略转发到引擎实例。
5.引擎实例处理结束后发送处理结束消息到消息回调队列。
6.接口服务抓取回调消息,按配置回调业务系统。
7.对于创建流程或任务完结(非流程中最后一个任务)的最后阶段要回调找人服务生成待办任务实例,并发送任务创建回调消息。
8.引擎实例将处理完的操作数据同步的数据同步队列。
9.路由器抓取同步数据队列将数据同步到查询数据库。
数据同步队列:引擎实例每处理完一个操作,如流程创建、任务完成等,都会将该流程的状态通过数据同步队列同步到数据查询集群。
数据查询集群:数据查询集群包括多个数据库实例,业务可按需求将数据同步到一个共享库或同步到一个独享库,路由层会根据定义将查询请求如待办任务、任务处理历史等发送到相应的数据库实例上。
本申请的上述实施例提供的方法将业务数据的处理流程转换成业务消息,然后将业务消息路由给对应的流程引擎实例,能够保证业务消息的有序进行;最后通过流程引擎实例来执行所述业务消息,保证了业务数据的一致性。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种业务数据处理系统的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的业务数据处理系统400包括:接口单元401、确定单元402、路由单元403和流程引擎实例404。其中,接口单元401用于将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义;确定单元402用于基于路由数据库,确定与所述一个或多个业务消息对应的流程引擎实例和路由策略,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;路由单元403用于基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;流程引擎实例404用于执行所述业务消息。
在本实施例中,所述业务数据的处理流程包括下述流程中的至少一项:业务流程创建、任务申领、任务完成、业务流程挂起、业务流程终止、任务转移、待办任务查询、历史任务查询操作。
在本实施例的一个可选实施方式中,业务数据处理系统400还可以包括:消息队列,用于保存所述一个或多个业务消息。
在本实施例的一个可选实施方式中,业务数据处理系统400还包括:映射关系确定单元,用于基于用户输入的配置信息确定所述映射关系。
在本实施例中,所述路由策略包括流程创建策略、非查询操作路由策略和/或查询操作路由策略。
在本实施例的一个可选实施方式中,在所述路由策略包括所述流程创建策略时,所述路由单元包括:计算子单元(图中未示出)、流程数据确定子单元(图中未示出)和路由子单元(图中未示出)。其中,计算子单元用于计算各流程引擎实例的权重值的最大公约数;流程数据确定子单元用于基于所计算出的最大公约数,得到所述各流程引擎实例中的流程创建数量;路由子单元用于基于所得到的各流程引擎实例中的流程创建数量,向对应的流程引擎实例中路由对应数量的流程。
在本实施例的一个可选实施方式中,所述流程引擎实例的权重值是预先设置或动态调整的。
在本实施例中,业务数据处理系统400还包括:数据查询集群,用于保存流程处理的状态信息。
在本实施例中,业务数据处理系统400还包括:数据同步队列,用于在所述流程引擎实例完成处理后,同步保存所述流程的状态信息。
下面参考图5,其示出了适于用来实现本申请实施例的服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接口单元、确定单元、路由单元和流程引擎实例单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。例如,路由单元还可以被描述为“用于确定路由路径的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义;基于路由数据库,确定与所述一个或多个业务消息对应的流程引擎实例和路由策略,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;通过所述流程引擎实例来执行所述业务消息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种业务数据处理方法,应用于多个分布式的服务器中的目标服务器,其特征在于,所述方法包括:
将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义,所述流程定义是指业务系统所要实现的业务目的;
基于路由数据库,确定与所述一个或多个业务消息对应的路由策略;响应于所述目标服务器中不存在完成所述一个或多个业务消息的流程引擎实例,根据所述路由策略,从所述多个分布式的服务器中除所述目标服务器之外的服务器中确定与所述一个或多个业务消息对应的流程引擎实例,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;
基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;
通过所述流程引擎实例来执行所述业务消息。
2.根据权利要求1所述的方法,其特征在于,所述业务数据的处理流程包括下述流程中的至少一项:
业务流程创建;
任务申领;
任务完成;
业务流程挂起;
业务流程终止;
任务转移;
待办任务查询;
历史任务查询操作。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将所述一个或多个业务消息保存在消息队列中。
4.根据权利要求1所述的方法,其特征在于,所述映射关系基于用户输入的配置信息确定。
5.根据权利要求2所述的方法,其特征在于,所述路由策略包括流程创建策略、非查询操作路由策略和/或查询操作路由策略。
6.根据权利要求5所述的方法,其特征在于,在所述路由策略包括所述流程创建策略时,基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例包括:
计算各流程引擎实例的权重值的最大公约数;
基于所计算出的最大公约数,得到所述各流程引擎实例中的流程创建数量;
基于所得到的各流程引擎实例中的流程创建数量,向对应的流程引擎实例中路由对应数量的流程。
7.根据权利要求6所述的方法,其特征在于,所述流程引擎实例的权重值是预先设置或动态调整的。
8.根据权利要求1、2、4到7中任一所述的方法,其特征在于,所述方法还包括:
在所述流程引擎实例完成处理后,将所述流程的状态信息保存到数据查询集群中。
9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述流程引擎实例完成处理后,将所述流程的状态信息保存到数据查询集群中。
10.一种业务数据处理系统,应用于多个分布式的服务器中的目标服务器,其特征在于,所述系统包括:
接口单元,用于将所接收的业务数据的处理流程,转换为一个或多个业务消息,所述业务消息包括流程定义,所述流程定义是指业务系统所要实现的业务目的;
确定单元,用于基于路由数据库,确定与所述一个或多个业务消息对应的路由策略;响应于所述目标服务器中不存在完成所述一个或多个业务消息的流程引擎实例,根据所述路由策略,从所述多个分布式的服务器中除所述目标服务器之外的服务器中确定与所述一个或多个业务消息对应的流程引擎实例,所述路由数据库存储流程定义、流程引擎实例和路由策略的映射关系;
路由单元,用于基于所确定的路由策略,将所述一个或多个业务消息路由到对应的流程引擎实例;
流程引擎实例,用于执行所述业务消息。
11.根据权利要求10所述的系统,其特征在于,所述业务数据的处理流程包括下述流程中的至少一项:
业务流程创建;
任务申领;
任务完成;
业务流程挂起;
业务流程终止;
任务转移;
待办任务查询;
历史任务查询操作。
12.根据权利要求10或11所述的系统,其特征在于,所述系统还包括:
消息队列,用于保存所述一个或多个业务消息。
13.根据权利要求10所述的系统,其特征在于,所述系统还包括:
映射关系确定单元,用于基于用户输入的配置信息确定所述映射关系。
14.根据权利要求11所述的系统,其特征在于,所述路由策略包括流程创建策略、非查询操作路由策略和/或查询操作路由策略。
15.根据权利要求14所述的系统,其特征在于,在所述路由策略包括所述流程创建策略时,所述路由单元包括:
计算子单元,用于计算各流程引擎实例的权重值的最大公约数;
流程数据确定子单元,用于基于所计算出的最大公约数,得到所述各流程引擎实例中的流程创建数量;
路由子单元,用于基于所得到的各流程引擎实例中的流程创建数量,向对应的流程引擎实例中路由对应数量的流程。
16.根据权利要求15所述的系统,其特征在于,所述流程引擎实例的权重值是预先设置或动态调整的。
17.根据权利要求10所述的系统,其特征在于,所述系统还包括:
数据查询集群,用于保存流程处理的状态信息。
18.根据权利要求17所述的系统,其特征在于,所述系统还包括:
数据同步队列,用于在所述流程引擎实例完成处理后,同步保存所述流程的状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610479085.5A CN107545338B (zh) | 2016-06-27 | 2016-06-27 | 业务数据处理方法及业务数据处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610479085.5A CN107545338B (zh) | 2016-06-27 | 2016-06-27 | 业务数据处理方法及业务数据处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107545338A CN107545338A (zh) | 2018-01-05 |
CN107545338B true CN107545338B (zh) | 2021-06-04 |
Family
ID=60961737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610479085.5A Active CN107545338B (zh) | 2016-06-27 | 2016-06-27 | 业务数据处理方法及业务数据处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107545338B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108961033B (zh) * | 2018-05-17 | 2023-09-01 | 平安科技(深圳)有限公司 | 多业务系统交互方法及装置、存储介质、电子终端 |
CN108984155B (zh) * | 2018-05-17 | 2021-09-07 | 创新先进技术有限公司 | 数据处理流程设定方法和装置 |
CN109919563B (zh) * | 2018-11-21 | 2023-07-11 | 创新先进技术有限公司 | 一种业务流水批量处理方法、装置、及计算机设备 |
CN111435330B (zh) * | 2019-01-15 | 2023-06-27 | 阿里巴巴集团控股有限公司 | 业务处理流程模拟方法、装置及系统 |
CN110780937B (zh) * | 2019-09-16 | 2023-12-08 | 腾讯大地通途(北京)科技有限公司 | 任务发布方法、装置、计算机可读存储介质及设备 |
CN112581069A (zh) * | 2019-09-27 | 2021-03-30 | 汇海汽车科技(天津)有限公司 | 处理任务的系统、方法、装置以及存储介质 |
CN111062682B (zh) * | 2019-11-19 | 2023-11-07 | 泰康保险集团股份有限公司 | 一种工单处理方法和装置 |
CN111124636A (zh) * | 2019-12-07 | 2020-05-08 | 杭州安恒信息技术股份有限公司 | 一种流程编排引擎及其控制方法 |
CN111767043B (zh) * | 2020-06-24 | 2024-01-30 | 北京思特奇信息技术股份有限公司 | 基于业务调度引擎的跨系统业务调度方法和系统 |
CN111861384A (zh) * | 2020-06-30 | 2020-10-30 | 深圳市中农易讯信息技术有限公司 | 多种工作流引擎设计方法、装置及介质 |
CN112184198A (zh) * | 2020-09-22 | 2021-01-05 | 浙江网商银行股份有限公司 | 批量业务处理系统、方法及装置 |
CN113630319B (zh) * | 2021-06-28 | 2022-08-19 | 济南浪潮数据技术有限公司 | 一种数据分流方法、装置及相关设备 |
CN113806182B (zh) * | 2021-09-30 | 2024-04-05 | 北京蓝海医信科技有限公司 | 基于信息集成平台的交互流程监控方法及计算机设备 |
CN113988801B (zh) * | 2021-10-27 | 2023-11-10 | 北京百度网讯科技有限公司 | 一种办公系统、工作任务管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232626A (zh) * | 2008-02-01 | 2008-07-30 | 中兴通讯股份有限公司 | 一种基于企业业务开发平台的业务支撑系统和方法 |
CN102467411A (zh) * | 2010-11-19 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种工作流处理及工作流代理方法、装置和系统 |
CN102592198A (zh) * | 2011-12-30 | 2012-07-18 | 福建富士通信息软件有限公司 | 一种支持组合业务的工作流引擎 |
CN105704064A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种用于选取服务节点的方法及装置、应用引擎 |
-
2016
- 2016-06-27 CN CN201610479085.5A patent/CN107545338B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232626A (zh) * | 2008-02-01 | 2008-07-30 | 中兴通讯股份有限公司 | 一种基于企业业务开发平台的业务支撑系统和方法 |
CN102467411A (zh) * | 2010-11-19 | 2012-05-23 | 金蝶软件(中国)有限公司 | 一种工作流处理及工作流代理方法、装置和系统 |
CN102592198A (zh) * | 2011-12-30 | 2012-07-18 | 福建富士通信息软件有限公司 | 一种支持组合业务的工作流引擎 |
CN105704064A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种用于选取服务节点的方法及装置、应用引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN107545338A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107545338B (zh) | 业务数据处理方法及业务数据处理系统 | |
US11144566B2 (en) | Distributed balanced optimization for an Extract, Transform, and Load (ETL) job | |
CN108737270B (zh) | 一种服务器集群的资源管理方法和装置 | |
US6799314B2 (en) | Work flow management method and work flow management system of controlling a work flow | |
EP1408407A2 (en) | Method and apparatus for task allocation in a distributed computing environment | |
CN103324487B (zh) | 一种流程引擎应用服务化的实现方法 | |
JPH10503306A (ja) | 顧客−サーバアーキテクチャを有するコンピュータシステム | |
CN104601680B (zh) | 一种资源管理方法及装置 | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN110830604B (zh) | Dns调度方法、装置 | |
US20200159565A1 (en) | Predicting transaction outcome based on artifacts in a transaction processing environment | |
CN112181612A (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN106293933A (zh) | 一种支持多大数据计算框架的集群资源配置与调度方法 | |
US20110153826A1 (en) | Fault tolerant and scalable load distribution of resources | |
CN103270520A (zh) | 基于重要性类的数据管理 | |
CN114610719B (zh) | 跨集群数据处理方法、装置、电子设备以及存储介质 | |
CN115237597A (zh) | 一种数据处理方法、装置、系统、设备及存储介质 | |
CN114237902A (zh) | 一种服务部署方法、装置、电子设备及计算机可读介质 | |
CN110033145B (zh) | 财务共享作业分单方法及装置、设备和存储介质 | |
CN112433850A (zh) | 一种任务全局调度的方法、装置、设备及可读介质 | |
CN113312359A (zh) | 一种分布式作业进度计算方法、装置和存储介质 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 | |
CN117149445B (zh) | 一种跨集群负载均衡方法及装置、设备及存储介质 | |
CN116436978B (zh) | 面向云计算的内存分配方法、内存获取方法、装置和设备 | |
CN113360689B (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 |