一种基于虚拟化技术的工作流引擎集群系统的制作方法

文档序号:7855212阅读:367来源:国知局
专利名称:一种基于虚拟化技术的工作流引擎集群系统的制作方法
技术领域
本发明涉及工作流技术领域,具体来说,特别是涉及属于管理多个工作流引擎的工作流引擎集群领域。
背景技术
目前在工作流技术领域,工作流系统的可靠性的方案主要是将工作流实例的数据保存在可靠的存储系统中。而当工作流系统所在的服务器故障时如何及时地恢复流程的运行、使得对用户造成的影响降至最低的研究较少。本发明提出了ー种使用了虚拟化技术的工作流引擎集群方案,该方案能提高工作流系统的可靠性,当服务器故障时,各种工作流实例、应用程序仍能迁移到可用的服务器上继续运行,实现了全天候的容错保障,并且用户基本感觉不到停机维护造成的时间停顿。并且本发明适用于处理大規模的工作流服务,在架构上能和企业现有的各种应用系统共存,提高了企业的服务器的使用率。

发明内容
本发明设计了ー种工作流引擎集群系统,本发明采用的技术方案包括以下模块服务器;工作流虚拟机镜像;工作流虚拟机;服务虚拟机镜像;服务虚拟机;调度模块;服务器管理模块;虚拟机管理模块;服务器监控模块;web服务模块。所述的服务器,是指安装了虚拟机监视器(Virtual machine monitor),可以同时运行多个虚拟操作系统的计算机,虚拟机监视器可以是不同的虚拟化产品,例如VMWare或者Xen等。所述的工作流虚拟机镜像,是封装了工作流引擎及其他相关软件的虚拟操作系统镜像。根据企业的实际需要,将工作流引擎及其他所需的相关软件(如数据库等)封装在一个操作系统镜像文件中。所述的工作流虚拟机,是工作流虚拟机镜像在运行时的实体。工作流虚拟机镜像复制到服务器上启动后,就是ー个正在运行的工作流虚拟机,每个工作流虚拟机都有唯一的标识。工作流虚拟机承担工作流引擎的功能,负责接收各种工作流服务请求,推动业务流程的运行。所述的服务虚拟机镜像,是ー个虚拟操作系统镜像,工作流服务在运行过程中会调用到的各种服务的源程序,都安装在这个虚拟操作系统上。所述的服务虚拟机,是服务虚拟机镜像在运行时的实体。服务虚拟机镜像复制到服务器上启动后,就是ー个正在运行的服务虚拟机,每个服务虚拟机都有唯一的标识。服务虚拟机负责接收工作流虚拟机发送的服务请求,运行相应的程序以提供服务。所述的调度模块,是ー个安装在工作流虚拟机上的软件模块。当ー个运行中的エ作流实例需要执行ー个任务吋,调度模块根据该任务所包含的服务的标识,在所有提供该服务的服务虚拟机中选择ー个服务虚拟机并发送服务请求,服务虚拟机接收到服务请求后运行相应的程序以执行任务。当工作流实例需要执行ー个子流程类型的任务时,从虚拟机管理模块获取可用的工作流虚拟机列表,选择ー个工作流虚拟机并发送启动工作流服务的请求,工作流虚拟机接收到启动工作流服务的请求后便运行该工作流服务的实例。所述的服务器管理模块是一个软件模块,其功能包括I.服务器信息管理功能 系统管理人员可以将新增的服务器的信息注册到资源池管理模块的数据库中,例如服务器的硬件信息和ip地址等;可以将不再使用的服务器的信息从数据库中删除;若有服务器需要停机进行升级维护,则将数据库中对应的服务器的状态信息修改为维护状态。2.服务器信息查询功能资源池管理模块对外提供了服务器信息的查询接ロ,通过网络可以获取所有服务器信息的列表。所述的虚拟机管理模块是一个软件模块,其功能包括I.虚拟机镜像管理功能虚拟机镜像管理功能包括工作流虚拟机镜像管理功能和服务虚拟机镜像管理功倉^:。工作流虚拟机镜像管理功能管理人员通过该功能启动ー个纯净的虚拟操作系统,根据业务部门实际的需求,在该操作系统上安装工作流引擎、配置数据库及其他应用程序等,创建ー个定制的工作流虚拟机镜像,创建出的虚拟机镜像文件可以选择保存在虚拟机镜像管理模块所属的服务器上、或者企业的共享存储系统上,每个虚拟机镜像文件都有唯一的标识,根据该标识能从网络获取虚拟机镜像文件。服务虚拟机镜像管理功能管理人员通过该功能启动ー个纯净的虚拟操作系统,根据业务部门实际的需求,将各种为工作流提供服务的程序、软件部署在该操作系统上,创建一个定制的服务虚拟机镜像,创建出的虚拟机镜像文件可以选择保存在虚拟机镜像管理模块所属的服务器上、或者企业的共享存储系统上,每个虚拟机镜像文件都有唯一的标识,根据该标识能从网络获取虚拟机镜像文件。2.工作流虚拟机集群部署功能管理人员可以通过该功能创建工作流虚拟机集群。通过资源池管理模块提供的服务器资源查询功能,虚拟机管理模块获取可用的服务器列表,工作流系统管理人员在服务器列表中选择若干个服务器,并且选择需要部署的虚拟机镜像,便可将虚拟机安装在服务器上,形成工作流虚拟机集群。3.服务虚拟机集群部署功能管理人员通过该功能将服务器虚拟机镜像部署在服务器上。通过资源池管理模块提供的服务器资源查询功能,虚拟机管理模块获取可用的服务器列表,工作流系统管理人员在服务器列表中选择若干个服务器,并且选择需要部署的虚拟机镜像,便可将虚拟机安装在服务器上,形成服务虚拟机集群。4.可靠性配置功能可靠性配置功能包括工作流虚拟机集群可靠性配置和服务虚拟机集群可靠性配置。工作流虚拟机集群可靠性配置在创建工作流虚拟机镜像时,将工作流引擎的数据库连接配置为指向企业共享的数据库的连接,每个工作流虚拟机上运行的工作流实例的状态数据将会保存在一个可靠的数据库集群上。
服务虚拟机集群可靠性配置在创建服务虚拟机镜像时,对于那些数据敏感的服务,配置ー个指向企业共享的数据库的连接,则这些服务的数据将会保持在一个可靠的数据库集群上。同时在共享存储设备上,为每个工作流虚拟机和服务虚拟机指定一个虚拟机状态目录,虚拟机实时的运行状态数据将会实时同步到该目录中,数据的同步方法由该虚拟机所在的服务器的虚拟机监视器产品提供。5.虚拟机信息管理功能记录所有正在运行的虚拟机的标识,以及虚拟机所在的服务器的标识,并对外提供查询借ロ。所述的服务器监控模块是ー个软件模块,包括服务器检测功能和虚拟机迁移功倉^:。I.服务器检测功能该模块定期向每个服务器发送检测信息,服务器接收到检测信息后返回一个应答信息。如果服务器没有返回应答信息,则表明该服务器发生故障。2.虚拟机迁移功能服务器监控模块保存着每台服务器上所有虚拟机的标识。当某台服务器发生故障、或需要停机进行升级维护时,服务器监控模块对该服务器上的所有虚拟机启动虚拟机迁移功能。服务器监控模块配置了的虚拟机动态迁移软件。当服务器发生故障后,服务器监控模块对该服务器上的虚拟机进行迁移。根据服务器管理模块提供的服务器信息查询功能,获取可用的服务器列表,记大小为n,假设故障服务器上有m个服务虚拟机,根据虚拟机管理模块可靠性配置功能中指定的虚拟机状态目录上保存的虚拟机状态数据,服务器监控模块上的虚拟机动态迁移软件将m个虚拟机迁移到n个可用的服务器上并启动,每个服务器启动m/n个虚拟机。由于在虚拟机管理模块的可靠性配置功能中将工作流虚拟机的工作流实例的数据、服务虚拟机的数据都保存在企业的共享数据库上,被迁移的虚拟机都能继续进行迁移前的工作。所述的web服务模块是ー个软件模块,部署在企业中ー个能被外网访问到的服务器上。web服务模块将企业的各种工作流服务封装为web服务,接收用户的工作流服务请求,并根据的负载均衡策略,将请求转发给某个工作流虚拟机进行工作流服务的处理。
本发明体现的技术特点如下I.将不同工作流产品和配套的软件封装为虚拟操作系统,部署在安装了虚拟机监视器产品的服务器上运行,称为工作流虚拟机,多个工作流虚拟机组成的集合称为工作流虚拟机集群。工作流虚拟机发挥工作流引擎的功能,推动工作流流程、进行任务的调度,并且虚拟机技术使得工作流应用能和其他应用在同一台服务器上运行,互相独立。工作流虚拟机集群起到了分担工作流服务请求的作用,使得企业能承担较大規模的工作流服务。2.将工作流服务会调用到的软件程序等部署、安装在一个虚拟操作系统上,部署在安装了虚拟机监视器产品的服务器上运行,称为服务虚拟机,多个服务虚拟机组成的集合称为服务虚拟机集群。服务虚拟机为工作流流程提供具体的软件服务,如启动ー个程序进行数据处理、将文件转发给工作人员的计算机上等。服务虚拟机集群使得企业能承担较大規模的任务处理工作。3.通过服务器管理模块,对企业中的服务器进行管理,管理人员可以添加、删除服务器信息,或者修改服务器状态信息以进行维护升级;通过虚拟机管理模块可以创建不同的定制的工作流虚拟机和服务虚拟机,并且可以将虚拟机部署在服务器管理模块中标记为 可用的服务器上并启动。服务器管理模块和虚拟机管理模块实现了企业的物理资源、虚拟机资源的有效管理。4.通过虚拟机管理模块的可靠性配置功能,将工作流虚拟机的流程状态数据保存在企业的数据库集群中;将服务虚拟机的虚拟机状态数据保存在企业的共享存储设备中,应用的数据保存在企业的数据库集群中。可靠性配置功能将重要的数据保存在已有的成熟的数据存储产品中,为数据恢复提供了保障。5.服务器监控模块对服务器进行监測。当发现服务器故障或者需要停机进行升级维护时,便启动虚拟机的迁移功能。虚拟机迁移包括了工作流虚拟机的迁移和服务虚拟机的迁移。工作流虚拟机的迁移是将故障服务器上的工作流虚拟机的工作流实例转移到新的工作流虚拟机上,由新的工作流虚拟机进行运行调度;服务虚拟机的迁移则是通过服务器监控模块上的虚拟机迁移软件,将整个虚拟机重新部署到其他服务器上继续运行。工作流虚拟机迁移所需的工作流实例数据、服务虚拟机迁移所需的虚拟机状态数据已经有虚拟机管理模块的可靠性配置功能储存到企业的数据库集群和共享存储资源上。虚拟机的迁移功能提高了企业工作流服务的可靠性,使得工作流服务可以不间断地进行。


图I为系统架构2为虚拟机迁移时序图实施方式I.系统的部署方式系统的架构如图I所示。将服务器管理模块、虚拟机管理模块、服务器监控模块、web服务模块安装在计算机上。登陆服务器管理模块,将企业的服务器信息注册到服务器管理模块中。登陆虚拟机管理模块,进行工作流虚拟机镜像和服务虚拟机镜像的创建。通过虚拟机管理模块的虚拟机部署功能,选择服务器,将工作流虚拟机镜像和服务虚拟机镜像复制到服务器上并启动虚拟机。启动服务器监控模块,开始对服务器状态进行监测。2.系统的运行方式在系统运行过程中,web服务模块将接收工作流服务请求。当接收到ー个工作流服务请求后,解析工作流服务请求中的工作流服务标识,查找所有能够提供该工作流服务的工作流虚拟机,根据负载均衡策略,选择其中ー个工作流虚拟机启动该工作流服务的实例。工作流实例在运行过程中,如果需要执行ー个任务,则工作流虚拟机的调度模块从虚拟机管理模块获取服务虚拟机列表,选择ー个服务虚拟机执行任务;如果需要启动ー个子流程,工作流虚拟机的调度模块从虚拟机管理模块获取工作流虚拟机列表选择,ー个工作流虚拟机启动子流程的实例。在系统运行过程中如果发生服务器故障,服务器监控模块将会检测到,并启动虚 拟机迁移功能。当某台服务器需要停机进行升级维护,则登陆服务器管理模块将该服务器的状态修改为停机状态,此时服务器管理模块将通知服务器监控模块,启动虚拟机迁移功能。虚拟机迁移功能时序图如图2所示。以上内容是结合具体的优选实施方式对本发明所作的进ー步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种基于虚拟化技术的工作流引擎集群系统,其特征在于包括服务器、工作流虚拟机镜像、工作流虚拟机、工作流虚拟机集群、服务虚拟机镜像、服务虚拟机、服务虚拟机集群、调度模块、服务器管理模块、虚拟机管理模块、服务器监控模块、web服务模块; 服务器是安装了虚拟机监视器产品、可以运行多个虚拟操作系统的计算机; 工作流虚拟机镜像,是将工作流引擎及ー些配套的软件安装在一个虚拟操作系统上,然后通过相应的虚拟机产品导出的虚拟机镜像文件; 工作流虚拟机是将工作流虚拟机镜像复制到服务器上并启动的虚拟操作系统; 工作流虚拟机集群是工作流虚拟机组成的集合; 服务虚拟机镜像是将企业在工作流服务中需要调用到的程序、软件等安装在一个虚拟操作系统上,然后通过相依的虚拟机产品导出的虚拟机镜像文件; 服务虚拟机是将服务虚拟机镜像复制到服务器上并启动的虚拟操作系统; 服务虚拟机集群是由服务虚拟机组成的集合; 调度模块是对工作流虚拟机镜像中封装的工作流引擎产品的调度模块进行修改的软件模块,该模块在工作流引擎运行ー个工作流实例的过程中产生的调用服务的请求或启动子流程的请求根据负载均衡算法转发给某个运行之中的工作流虚拟机或服务虚拟机;服务器管理模块提供了服务器信息的注册、修改、查询功能; 虚拟机管理模块提供了虚拟机镜像管理功能、工作流虚拟机集群部署功能、服务虚拟机集群部署功能、可靠性配置功能、虚拟机信息管理功能; 服务器监控模块对服务器进行运行时的状态检测,并提供虚拟机迁移功能;web服务模块将企业的工作流服务封装为可供外界访问的web服务,接收服务调用请求,并将请求转发给工作流虚拟机集群中的某个工作流虚拟机执行。
2.一种基于虚拟化技术的工作流引擎集群系统,其特征在于系统运行时,工作流实例的执行由工作流虚拟机集群负责;工作流实例在运行过程中,具体的任务的执行由服务虚拟机集群负责。
3.根据权利要求2所述的ー种基于虚拟化技术的工作流引擎集群系统,其特征在于系统中某个服务器故障吋,由所述的服务器监控模块检测到故障,并通过虚拟机迁移功能将故障服务器上的虚拟机故障前正在运行的各种任务迁移到剰余的可用的服务器上继续运行,当某个服务器需要停机进行升级维护时,也可以启动服务器监控模块的虚拟机迁移功能转移服务器上虚拟机正在运行的任务。
全文摘要
本发明提出了一种使用了虚拟化技术的工作流引擎集群方案,该方案能提高工作流系统的可靠性,当服务器故障时,各种工作流实例、应用程序仍能迁移到可用的服务器上继续运行,实现了全天候的容错保障,并且用户基本感觉不到停机维护造成的时间停顿。并且本发明适用于处理大规模的工作流服务,在架构上能和企业现有的各种应用系统共存,提高了企业的服务器的使用率。
文档编号H04L29/08GK102833310SQ20121022880
公开日2012年12月19日 申请日期2012年7月3日 优先权日2012年7月3日
发明者余阳 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1