《工作流系统中任务并发处理方法.pdf》由会员分享,可在线阅读,更多相关《工作流系统中任务并发处理方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102004665A43申请公布日20110406CN102004665ACN102004665A21申请号201010539998422申请日20101109G06F9/46200601G06Q10/0020060171申请人北京神州泰岳软件股份有限公司地址100107北京市朝阳区北苑路甲13号院1号楼22层72发明人李昊原74专利代理机构北京路浩知识产权代理有限公司11002代理人王莹54发明名称工作流系统中任务并发处理方法57摘要本发明公开了一种工作流系统中任务并发处理方法,包括以下步骤S1输入通道接收任务的输入;S2对接收到的任务输入进行筛选,使并发输入的多个相同任务。
2、中的一个任务执行完成。本发明通过在任务处理时加入筛选步骤,保证每个任务只由一个输入通道完成,其它相同的输入则抛出异常,减少了输入通道的抛出异常等待时间,提高了任务处理效率。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页CN102004678A1/1页21一种工作流系统中任务并发处理方法,其特征在于,包括以下步骤S1输入通道接收任务的输入;S2对接收到的任务的输入进行筛选,使并发输入的多个相同任务中的一个任务执行完成。2如权利要求1所述的工作流系统中任务并发处理方法,其特征在于,所述步骤S2中筛选方式如下检查该任务的状态是否为完成状态,若是,则抛出。
3、异常,否则,若该任务的输入是使任务完成类型的输入,则记录并保存该任务的状态为完成状态,并处理所述使任务完成类型的输入,处理完成后删除该任务的完成状态;若该任务的输入是阶段性处理类型的输入,则对该阶段性处理类型的输入进行阶段性处理,并添加阶段性处理的记录。3如权利要求2所述的工作流系统中任务并发处理方法,其特征在于,若同一任务有多个阶段性处理类型的输入时,记录任务阶段性处理的实时状态,此时若接收到使任务完成类型的输入,则记录并保存该任务的状态为完成状态,并处理所述使任务完成类型的输入,处理完成后删除该任务的完成状态。4如权利要求13中任一项所述的工作流系统中任务并发处理方法,其特征在于,所述输入。
4、通道为多线程并发通道。5如权利要求13中任一项所述的工作流系统中任务并发处理方法,其特征在于,采用单线程通道筛选。权利要求书CN102004665ACN102004678A1/3页3工作流系统中任务并发处理方法技术领域0001本发明涉及工作流处理技术领域,特别涉及一种工作流系统中任务并发处理方法。背景技术0002随着工作流系统应用范围的逐渐扩大,很多工作流系统开始部署在一些高负荷、高并发的应用系统当中,这就使得工作流系统对于高负荷、高并发的要求逐渐升高。现在市场上大多数商业工作流系统对于这种高负荷、高并发场景中任务处理的效率都很低或用户体验差。由于任务的处理是由一个输入完成的,一个任务可以有多。
5、个输入通道,但是只能被一个输入通道完成。目前有以下两种处理任务的方式00031、如图1所示,当多个输入并发进行处理时,某个输入若先完成了任务,其他的输入就会因为任务已经被完成而抛出异常,但是由于有时任务的处理过程很漫长,所以输入会等待很长时间才会获取到异常,造成系统的异常响应时间过长;00042、如图2所示,如果工作流系统采用单线程处理任务来避免这个问题的发生,就会让所有输入都会进行排队,一个一个的进行处理,导致任务处理效率降低。发明内容0005一要解决的技术问题0006本发明要解决的技术问题是在要求高并发、高负荷的工作流系统中如何减少输入通道的抛出异常等待时间,同时提高任务处理效率。0007。
6、二技术方案0008一种工作流系统中任务并发处理方法,包括以下步骤0009S1输入通道接收任务的输入;0010S2对接收到的任务的输入进行筛选,使并发输入的多个相同任务中的一个任务执行完成。0011其中,所述步骤S2中筛选方式如下0012检查该任务的状态是否为完成状态,若是,则抛出异常,0013否则,若该任务的输入是使任务完成类型的输入,则记录并保存该任务的状态为完成状态,并处理所述使任务完成类型的输入,处理完成后删除该任务的完成状态;若该任务的输入是阶段性处理类型的输入,则对该阶段性处理类型的输入进行阶段性处理,并添加阶段性处理的记录。0014其中,若同一任务有多个阶段性处理类型的输入时,记录。
7、任务阶段性处理的实时状态,此时若接收到使任务完成类型的输入,则记录并保存该任务的状态为完成状态,并处理所述使任务完成类型的输入,处理完成后删除该任务的完成状态。0015其中,所述输入通道为多线程并发通道。0016其中,采用单线程通道筛选。说明书CN102004665ACN102004678A2/3页40017三有益效果0018本发明通过在任务处理时加入筛选步骤,保证每个任务只由一个输入通道完成,其它相同的输入则抛出异常,减少了输入通道的抛出异常等待时间,提高了任务处理效率。附图说明0019图1是工作流系统中传统的并发处理任务的方法示意图;0020图2是工作流系统中传统的采用单线程处理任务的方法。
8、示意图;0021图3是本发明的实施例的一种工作流系统中任务并发处理方法示意图。具体实施方式0022下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。0023如图3所示,为本发明的实施例的一种工作流系统中任务并发处理方法示意图。对输入通道接收到的任务的输入,在执行前进行筛选,使并发输入的多个相同任务中的一个任务执行完成。其中输入有两种类型的输入,一种是使任务完成类型的输入,即执行了任务的每一个阶段或步骤;另一种是对任务进行阶段性处理类型的输入,只执行了或执行到其中的某个阶段或步骤。上述两种输入都为多线程并发通道所接收。图3中,有两个。
9、任务1被输入,上面的任务1为使任务完成类型的输入,下面的任务1为阶段性处理类型的输入或是使任务完成类型的输入,在筛选时通过单线程通道实现,以区分两个相隔很短时间内到达的任务,由于上面的任务1通过筛选先执行,所以下面的任务1被及时抛出异常,节省了异常抛出时间。0024具体筛选过程如下0025检查该任务的状态是否为完成状态,若是,则抛出异常,0026否则,若该任务是使任务完成类型的输入,则记录并保存该任务的状态为完成状态,并处理该使任务完成类型的输入,处理完成后将先前保存的该任务的完成状态删除;若该任务是阶段性处理类型的输入,则对该阶段性处理类型的输入进行阶段性处理,并添加阶段性处理的记录,即记录。
10、任务阶段性处理的实时状态。0027同一任务可以同时有多个阶段性处理输入同时,但只能有一个使任务完成的输入,而且必须在最后进行处理。若同一任务有多个阶段性处理类型的输入时,记录任务阶段性处理的实时状态,此时若接收到使任务完成类型的输入该任务,则记录并保存该任务的状态为完成状态,并处理该使任务完成类型的输入,在处理过程中时若再有相同的任务的输入,则抛出异常,完成后将先前保存的该任务的完成状态删除。0028下面以一个具体举个例子来说明本发明0029如一个投诉电话打到移动的10086客服,说电话无法呼出,客服程序创建一个处理问题的任务。0030若后台人员一共有A、B、C、D四个处理人员,同时看到了这个。
11、任务,其中0031A进行阶段处理,“正在查询该用户话费是否已经用完”0032B进行了完成处理,“该用户话费已经用完,请提示用户充值”0033C进行了完成处理,“该用户话费已经用完,请提示用户充值”说明书CN102004665ACN102004678A3/3页50034D进行阶段处理,“正在查询该用户话费是否已经用完”0035由于A、B、C和D都在处理这个任务,因此上述B和C已经处理完了“正在查询该用户话费是否已经用完”的步骤。0036四个人同时提交,输入通道同时接收到四个输入,即并发输入,在筛选时的顺序是ABCD。这时,A会被筛选放过,B也会被筛选放过并记录任务标识,表示已接收到使任务完成类的。
12、输入,C会因为任务标识存在而抛出异常任务已经被处理,D也会因为任务标识存在而抛出异常任务已经被处理,最终这个任务被B完成。筛选后对B的输入进行处理,如将查询信息发送给客户,对B的输入处理完成后,该任务也就处理完成了。任务处理完成后删除先前记录的任务标识。0037本发明尤其适合于高并发、抢占式任务处理的工作流系统中。0038以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。说明书CN102004665ACN102004678A1/1页6图1图2图3说明书附图CN102004665A。