基于云计算平台的业务流程调度方法及系统的制作方法

文档序号:7777209阅读:201来源:国知局
基于云计算平台的业务流程调度方法及系统的制作方法
【专利摘要】本发明公开了一种基于云计算平台的业务流程调度方法及系统,包括定时对日志数据进行分析,得到业务流程实例类型;根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;根据预先设置的业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到对应的业务流程服务器。本发明基于实例密集型业务流程的特点,首先为这些业务流程实例动态分配专用的BPS,且在BPS执行完这些业务流程实例后,再回收分配的BPS,从而达到了提高业务流程执行效率,同时提升了系统处理实例的整体性能,从而提高了系统的可靠性。
【专利说明】基于云计算平台的业务流程调度方法及系统【技术领域】
[0001]本发明涉及云计算技术,尤指一种基于云计算平台的业务流程调度方法及系统。【背景技术】
[0002]业务流程可以被定义为一个具有不同功能的活动相连的一组有相互关系的任务。在很多领域,如企业办公系统的签报流程、财务系统中的报销流程、电子商务中商品购买流程、银行的核心业务等等都有应用。在业务流程系统中,对资源和任务的业务流程调度扮演着至关重要的角色。业务流程调度是指一个映射并调度相互依赖的业务流程在分布资源中执行的过程,该过程能够提供合适的资源,保证业务流程顺利完成以满足用户的特定需求,并达到执行时间和执行成本的最优。
[0003]在业务流程系统中,有一种类型被称作实例密集型业务系统。比如,在电子商务环境中,通常有数以百万计的实例同时在运行,如何在尽可能短的时间内完成尽可能多的业务流程实例已成为重要的问题。因此,有必要研究新的调度策略,以适用于云计算环境中实例密集型业务流程的调度。
[0004]目前,大多数业务流程调度方法通常是用来管理单个复杂的业务流程实例,而且调度的实现实际上就是,将业务流程分配到按照预先设定的业务流程服务器(BPS)中执行即可。现有业务流程调度方法也不是针对多个密集型业务流程实例的。
[0005]在实例密集型业务流程系统中,往往会同时共存成千上万个未完成的实例,因此,业务流程调度应该在保证单个实例完成的同时,也应该提升系统处理实例的整体性能才行。比如:整体的负载均衡,由于一个整体负载均衡的系统能够将资源竞争和任务等待的时间减少到最小,为用户提供更好的服务质量,因此整体的负载均衡应该得到提升;在有大量流程实例共同竞争资源的情况下,应该提高资源利用率,以使竞争到的资源得到有效的利用;针对实例密集型业务流程调度的最终目标`就是提高整体的吞吐量等等。
[0006]云计算作为一种新型的计算方式,以其高可扩展性和高可用性等优点迅速成为学术界和产业界的研究热点。
[0007]针对云计算平台业务流程的执行问题,国内外提出了很多业务流程调度方法,但这些方法往往只考虑上述整体性能的某一个方面,而缺乏对上述整体性能的整体考虑。
[0008]对于云计算平台的业务流程执行,某些业务流程类型存在实例密集型特点,即会产生大量流程实例的应用。这一类型的应用普遍存在于目前的网络应用如电子商务、电子政务系统中。不同于计算密集型以及数据密集型的业务系统,实例密集型业务系统的最大特点是同时存在大量的流程实例,这些实例所包含数据量一般不大,业务流程本身也往往不复杂。比如:某一个售票系统用户注册流程,每个实例可能只有填表、校验、确认等几个简单的任务,但在高峰售票期的短短几天内,系统中的应用实例数量将会在短时间内暴增,对系统的顺畅运行产生巨大压力。
[0009]根据实践应用发现,对于实例密集型业务流程,在短时间内往往有大量类型相同的业务实例,且这些业务实例具有简单、执行时间短、重复度高等特点。也就是说,现有业务流程调度方法只能调度单个复杂的业务流程实例,也就只能保证单个实例的完成,而不能很好地保证系统处理实例的整体性能。

【发明内容】

[0010]为了解决上述技术问题,本发明提供了一种基于云计算平台的业务流程调度方法及系统,针对实例密集型业务流程,能够提高业务流程执行效率,同时提升系统处理实例的整体性能,从而提高系统的可靠性。
[0011]为了达到本发明目的,本发明提供了一种基于云计算平台的业务流程调度方法,包括:定时对日志数据进行分析,得到业务流程实例类型;
[0012]根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;根据预先设置的业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到对应的业务流程服务器BPS;
[0013]其中,业务流程服务器映射表,用于保存业务流程实例和业务流程服务器之间的映射关系。
[0014]所述业务流程实例类型至少包括:业务流程的执行频度,及服务器的忙闲程度。
[0015]预先设置处理时长,所述定时对日志数据进行分析包括:
[0016]按照预先设置的处理时长,定时根据日志的基本信息,分析业务流程的执行频度,及服务器的忙闲程度。
[0017]预先设置处理时长、次数上限阈值,及次数下限阈值;
[0018]所述将来自外部的业务流程请求转发到对应的业务程服务器包括:
[0019]判断所述处理时长内,所述业务流程实例中是否有执行次数超过预先设置的次数上限阈值,如果有,从云平台上的BPS资源池中为该业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;接着处理新的业务请求。
[0020]所述判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值,还包括:
[0021]判断所述处理时长内,是否有两个以上业务流程实例的执行次数未达到预先设置的次数下限阈值,如果有,则将其合并到一台BPS上,并回收空闲的BPS到云平台上的BPS资源池中,之后更新业务流程服务器映射表;接着处理新的业务请求;如果没有,接着处理新的业务请求。
[0022]本发明还提供一种基于云计算平台的业务流程调度系统,至少包括:日志适配器、日志数据生成器、日志分析器、业务流程控制器,以及用于提供支持多个业务流程运行环境的BPS资源库;其中,
[0023]日志适配器,存储有日志数据与推送目标之间的对应关系,该对应关系表明了将日志数据输出到哪个输出介质即日志数据推送目标;
[0024]日志数据生成器,用于根据日志适配器的对应关系,将应用系统产生的日志数据推送到日志分析器;
[0025]日志分析器,用于按照预先设置的处理时长,定时对日志数据生成器中的日志数据进行分析,并将结果发送到业务流程控制器;[0026]业务流程控制器,用于根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;并根据业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到BPS资源库中对应的业务流程服务器;其中,业务流程服务器映射表,用于保存业务流程实例和业务流程服务器之间的映射关系。
[0027]所述业务流程控制器,具体用于判断预先设置的处理时长内,是否有业务流程实例的执行次数超过预先设置的次数上限阈值,在判断出有时,从云平台上的BPS资源池中为该业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;处理新的业务请求。
[0028]所述判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值时,
[0029]所述业务流程控制器,还用于判断所述处理时长内,是否有两个以上业务流程实例的执行次数未达到预先设置的次数下限阈值,如果有,则将其合并到一台BPS上,并回收空闲的BPS到BPS资源库;更新业务流程服务器映射表;处理新的业务请求;如果没有,处理新的业务请求。
[0030]与现有技术相比,本发明包括定时对日志数据进行分析,得到业务流程实例类型;根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;根据预先设置的业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到对应的业务流程服务器。本发明基于实例密集型业务流程的特点,首先为这些业务流程实例动态分配专用的BPS,且在BPS执行完这些业务流程实例后,再回收分配的BPS,从而达到了提高业务流程执行效率,同时提升了系统处理实例的整体性能,从而提高了系统的可靠性。
[0031]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】

【附图说明】
[0032]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0033]图1为本发明基于云计算平台的业务流程调度系统的组成结构示意图;
[0034]图2为本发明基于云计算平台的业务流程调度方法的流程图。
【具体实施方式】
[0035]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0036]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0037]图1为本发明基于云计算平台的业务流程调度系统的组成结构示意图,如图1所示,至少包括:日志适配器、日志数据生成器、日志分析器、业务流程控制器,以及用于提供支持多个业务流程运行环境的业务流程服务器(BPS)资源库(图1中未示出),BPS资源库中的BPS是从云平台上的BPS资源池中申请到的;其中,
[0038]日志适配器,存储有日志数据与推送目标之间的对应关系,该对应关系表明了将日志数据输出到哪个输出介质即日志数据推送目标。
[0039]日志数据生成器,用于根据日志适配器的对应关系,将应用系统产生的日志数据推送到日志分析器。
[0040]日志分析器,用于按照预先设置的处理时长T,定时对日志数据生成器中的日志数据进行分析。根据日志的基本信息如产生时间、数量、日志级别、产生的业务来源等,分析业务流程的执行频度,及服务器的忙闲程度,并将结果发送到业务流程控制器。
[0041]业务流程控制器,用于根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;并根据业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到BPS资源库中对应的业务流程服务器。其中,业务流程服务器映射表存储于业务流程控制器,用于保存业务流程实例和业务流程服务器之间的映射关系。
[0042]业务流程控制器,具体用于判断处理时长T内,是否有业务流程实例的执行次数超过预先设置的次数上限阈值M,在判断出有业务流程实例的执行次数超过预先设置的次数上限阈值M时,从云平台上的BPS资源池中为这些业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;接着处理新的业务请求;其中,如何申请BPS属于本领域技术人员的惯用技术手段,这里不再赘述。
[0043]在判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值M时,进一步判断处理时长内,是否有超过2个业务流程实例的执行次数未达到预先设置的次数下限阈值m,如果有,则将这些业务流程实例合并到一台资源足够的BPS上,并回收空闲的BPS到BPS资源池,之后更新业务流程服务器映射表;如果没有,接着处理新的业务请求。
[0044]本发明基于实例密集型业务流程的特点,首先为这些业务流程实例动态分配专用的BPS,且在BPS执行完这些业务流程实例后,再回收分配的BPS,从而达到了提高业务流程执行效率,同时提升了系统处理实例的整体性能,从而提高了系统的可靠性。
[0045]图2为本发明基于云计算平台的业务流程调度方法的流程图,包括:预先设置用于保存业务流程实例和业务流程服务器之间的映射关系的业务流程服务器映射表;还包括:
[0046]步骤200:定时对日志数据进行分析,得到业务流程实例类型。
[0047]本步骤中,根据日志的产生时间、数量、日志级别、产生的业务来源等,分析业务流程的执行频度,及服务器的忙闲程度,以便确定业务流程实例类型。具体实现属于本领域技术人员的惯用技术手段,这里不再赘述。
[0048]步骤201:根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;根据预先设置的业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到对应的业务流程服务器。
[0049]本步骤具体包括:判断处理时长T内,是否有业务流程实例的执行次数超过预先设置的次数上限阈值M,在判断出有业务流程实例的执行次数超过预先设置的次数上限阈值M时,从云平台上的BPS资源池中为这些业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;接着处理新的业务请求;
[0050]在判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值M时,进一步判断处理时长内,是否有超过2个业务流程实例的执行次数未达到预先设置的次数下限阈值m,如果有,则将这些业务流程实例合并到一台资源足够的BPS上,并回收空闲的BPS到BPS资源库,之后更新业务流程服务器映射表,接着处理新的业务请求;如果没有,接着处理新的业务请求。
[0051]本发明基于实例密集型业务流程的特点,首先为这些业务流程实例动态分配专用的BPS,且在BPS执行完这些业务流程实例后,再回收分配的BPS,从而达到了提高业务流程执行效率,同时提升了系统处理实例的整体性能,从而提高了系统的可靠性。
[0052]下面结合具体实施例对本发明方法进行详细描述。
[0053]首先,系统进行初始化工作,预先设置次数上限阈值M,次数下限阈值m ;预先设置处理时长T ;并初始化业务流程服务器映射表。
[0054]本步骤中,初始化业务流程服务器映射表是根据应用场景预先设置的。
[0055]在系统有新的业务流程请求时,业务流程控制器根据业务流程服务器映射表,从BPS资源库中选择一 BPS,将该业务流程请求转发给选出的BPS ;选出的BPS处理业务流程请求;
[0056]同时,日志数据生成器根据日志适配器中的日志数据与推送目标之间的对应关系,以及日志配置文件,生成日志数据,并推送到日志分析器;日志分析器按照预先设置的处理时长T,定时对日志数据进行分析,并将数据分析结果反馈给业务流程控制器。比如:根据日志的产生时间、数量、日志级别、产生的业务来源等,统计业务流程的执行频度,及服务器的忙闲程度等分析结果。
[0057]而业务流程控制器,判断处理时长T内,是否有业务流程实例的执行次数超过预先设置的次数上限阈值M,在判断出有业务流程实例的执行次数超过预先设置的次数上限阈值M时,从云平台上的BPS资源池中为这些业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;;接着处理新的业务请求;
[0058]在判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值M时,再判断处理时长内,是否有超过2个业务流程实例的执行次数未达到预先设置的次数下限阈值m,如果有,则将这些业务流程实例合并到一台资源足够的BPS上,并回收空闲的BPS到BPS资源库,之后更新业务流程服务器映射表;如果没有,接着处理新的业务请求。
[0059]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种基于云计算平台的业务流程调度方法,其特征在于,包括:定时对日志数据进行分析,得到业务流程实例类型; 根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;根据预先设置的业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到对应的业务流程服务器BPS ; 其中,业务流程服务器映射表,用于保存业务流程实例和业务流程服务器之间的映射关系。
2.根据权利要求1所述的业务流程调度方法,其特征在于,所述业务流程实例类型至少包括:业务流程的执行频度,及服务器的忙闲程度。
3.根据权利要求2所述的业务流程调度方法,其特征在于,预先设置处理时长,所述定时对日志数据进行分析包括: 按照预先设置的处理时长,定时根据日志的基本信息,分析业务流程的执行频度,及服务器的忙闲程度。
4.根据权利要求1所述的业务流程调度方法,其特征在于,预先设置处理时长、次数上限阈值,及次数下限阈值; 所述将来自外部的业务流程请求转发到对应的业务程服务器包括: 判断所述处理时长内,所述业务流程实例中是否有执行次数超过预先设置的次数上限阈值,如果有,从云平台上的BPS资源池中为该业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;接着处理新的业务请求。
5.根据权利要求4所述的业务流程调度方法,其特征在于,所述判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值,还包括: 判断所述处理时长内,是否有两个以上业务流程实例的执行次数未达到预先设置的次数下限阈值,如果有,则将其合并到一台BPS上,并回收空闲的BPS到云平台上的BPS资源池中,之后更新业务流程服务器映射表;接着处理新的业务请求;如果没有,接着处理新的业务请求。
6.一种基于云计算平台的业务流程调度系统,其特征在于,至少包括:日志适配器、日志数据生成器、日志分析器、业务流程控制器,以及用于提供支持多个业务流程运行环境的BPS资源库;其中, 日志适配器,存储有日志数据与推送目标之间的对应关系,该对应关系表明了将日志数据输出到哪个输出介质即日志数据推送目标; 日志数据生成器,用于根据日志适配器的对应关系,将应用系统产生的日志数据推送到日志分析器; 日志分析器,用于按照预先设置的处理时长,定时对日志数据生成器中的日志数据进行分析,并将结果发送到业务流程控制器; 业务流程控制器,用于根据来自日志分析器的结果,更新预先设置的业务流程服务器映射表;并根据业务流程服务器映射表中的对应关系,将来自外部的业务流程请求转发到BPS资源库中对应的业务流程服务器;其中,业务流程服务器映射表,用于保存业务流程实例和业务流程服务器之间的映射关系。
7.根据权利要求6所述的业务流程调度系统,其特征在于,所述业务流程控制器,具体用于判断预先设置的处理时长内,是否有业务流程实例的执行次数超过预先设置的次数上限阈值,在判断出有时,从云平台上的BPS资源池中为该业务流程实例申请新的BPS,并将申请到的BPS添加至BPS资源库中;之后,更新业务流程服务器映射表;处理新的业务请求。
8.根据权利要求7所述的业务流程调度系统,其特征在于,所述判断出没有业务流程实例的执行次数超过预先设置的次数上限阈值时, 所述业务流程控制器,还用于判断所述处理时长内,是否有两个以上业务流程实例的执行次数未达到预先设置的次数下限阈值,如果有,则将其合并到一台BPS上,并回收空闲的BPS到BPS资源库;更新业务流程服务器映射表;处理新的业务请求;如果没有,处理新的业务请求。
【文档编号】H04L29/08GK103581336SQ201310589679
【公开日】2014年2月12日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】王少锋, 张云勇, 李正, 张尼 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1