分布式业务流程定制方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种分布式业务流程定制方法及系统。
【背景技术】
[0002]目前,互联网公司一般都需要部署大量的服务器,服务器上会部署各类业务、月艮务、配置等。业务的运行一般采用分布式系统,在多个服务器上运行业务。在业务的运行中,需要对硬件资源、软件、开发人员、配置和安全等进行管理,高效管理这些资源以及服务是提升工作效率的关键。
[0003]目前已有对业务进行管理的系统,但在现有的业务管理系统中,资源管理平台只针对硬件资源及配置进行管理,比如,检测配置对应的资源存活情况等,使得目前的资源管理作用过于局限。系统中还有很多资源需要管理,比如,在实际的业务运营中,业务的流程往往随着实际情况的变化需要进行调整,但是目前的业务流程都是生成特定的代码写在程序中的,当业务流程变更时,需要更新各个服务器上的软件,不利于业务流程进行快速调整。目前也没有对运行业务的进程进行管理的机制,不能有效地对业务的运行性能进行管理,容易造成当访问量增大时发生拥塞等异常现象的发生。
【发明内容】
[0004]有鉴于此,本发明要解决的一个技术问题是提供分布式业务流程定制方法,能够实现对业务流程的管理。
[0005]一种分布式业务流程定制方法,包括:将业务完成的操作分解为多个子业务流程;根据业务需求组合所述多个子业务流程并设置操作的运行顺序,生成业务流程;将所述业务流程分发到运行服务器;所述运行服务器基于所述业务流程执行相应的业务操作。
[0006]根据本发明的一个实施例,进一步的,在运行服务器上启动业务启动进程;当所述业务启动进程获取所述业务流程时,为所述业务流程中的各个子业务流程启动相应的业务执行子进程,完成相应的子业务流程。
[0007]根据本发明的一个实施例,进一步的,所述根据业务需求组合所述多个子业务流程并设置操作的运行顺序,生成业务流程包括:根据业务需求从所述多个子业务流程中选取一个或多个子业务流程形成子操作组合,并设置所述子操作组合中子业务流程的运行顺序;基于所述子操作组合及所述运行顺序生成业务操作表,并存储在业务数据库中。
[0008]根据本发明的一个实施例,进一步的,所述将所述业务流程分发到运行服务器包括:在生成所述业务操作表后,实时地将所述业务操作表发送到所述运行服务器;所述运行服务器上运行的业务服务进程将接收到的所述业务操作表传给所述业务启动进程。
[0009]根据本发明的一个实施例,进一步的,所述将所述业务流程分发到运行服务器包括:所述运行服务器上运行的业务客户端进程以设定的时间间隔周期性地查询所述业务数据库;当获取所述业务操作表时,所述业务客户端进程将所述业务操作表传给所述业务启动进程。
[0010]根据本发明的一个实施例,进一步的,根据接收到的配置指令中的进程数量和操作指令,控制所述业务执行子进程的数量并对所述业务执行子进程进行相应的操作;其中,所述操作指令包括:重启、挂起。
[0011]根据本发明的一个实施例,进一步的,在所述运行服务器上布置SDK包,所述SDK包中包含配置文件;在所述配置文件中设置资源名与资源对象的关联关系;当接收到配置命令时,从所述配置命令中解析出资源名,基于所述资源名从所述配置配置文件中查询出对应的资源对象并调用;所述资源对象包括:数据库、消息队列、存储介质系统。
[0012]根据本发明的一个实施例,进一步的,在多个所述运行服务器上运行监控进程,所述监控进程监控所述业务执行子进程的运行状况或资源对象的状态;当判断所述业务执行子进程或资源对象出现异常时,所述监控进程根据预设的策略进行操作,包括:发短信报警、启用备用资源、重启进程、自动切换。
[0013]本发明要解决的一个技术问题是提供分布式业务流程定制系统,能够实现对业务流程的管理。
[0014]一种分布式业务流程定制系统,包括:中心管理服务器,包括:子操作创建单元,用于将业务完成的操作分解为多个子业务流程;业务流程生成单元,用于根据业务需求组合所述多个子业务流程并设置操作的运行顺序,生成业务流程;业务流程发送单元,用于将所述业务流程分发到运行服务器;运行服务器,包括:业务执行单元,用于基于所述业务流程执行相应的业务操作。
[0015]根据本发明的一个实施例,进一步的,所述业务执行单元,包括:业务启动子模块,用于在运行服务器上启动业务启动进程;当所述业务启动进程获取所述业务流程时,为所述业务流程中的各个子业务流程启动相应的业务执行子进程,完成相应的子业务流程。
[0016]根据本发明的一个实施例,进一步的,所述业务流程生成单元,用于根据业务需求从所述多个子业务流程中选取一个或多个子业务流程形成子操作组合,并设置所述子操作组合中子业务流程的运行顺序;基于所述子操作组合及所述运行顺序生成业务操作表,并存储在业务数据库中。
[0017]根据本发明的一个实施例,进一步的,所述业务流程发送单元,用于在生成所述业务操作表后,实时地将所述业务操作表发送到所述运行服务器;所述业务执行单元,包括:推送接收子模块,用于启动业务服务进程,所述业务服务进程将接收到的所述业务操作表传给所述业务启动进程。
[0018]根据本发明的一个实施例,进一步的,所述业务执行单元,包括:同步接收子模块,用于启动业务客户端进程,所述业务客户端进程以设定的时间间隔周期性地查询所述业务数据库;当获取所述业务操作表时,所述业务客户端进程将所述业务操作表传给所述业务启动进程。
[0019]根据本发明的一个实施例,进一步的,所述业务启动子模块,用于根据接收到的配置指令中的进程数量和操作指令,控制所述业务执行子进程的数量并对所述业务执行子进程进行相应的操作;其中,所述操作指令包括:重启、挂起。
[0020]根据本发明的一个实施例,进一步的,在所述运行服务器上布置SDK包,所述SDK包中包含配置文件;在所述配置文件中设置资源名与资源对象的关联关系;所述业务执行单元,包括:配置控制子模块,用于当接收到配置命令时,从所述配置命令中解析出资源名,基于所述资源名从所述配置配置文件中查询出对应的资源对象并调用;其中,所述资源对象包括:数据库、消息队列、存储系统。
[0021]根据本发明的一个实施例,进一步的,所述业务执行单元,包括:监控单元,在多个所述运行服务器上运行监控进程,所述监控进程监控所述业务执行子进程的运行状况或资源对象的状态;当判断所述业务执行子进程或资源对象出现异常时,所述监控进程根据预设的策略进行操作,包括:发短信报警、启用备用资源、重启进程、自动切换。
[0022]本发明的分布式业务流程定制方法及系统,实现了业务流程管理,能够实现子业务流程的自由组合,并且可以方便的改变顺序,插入新流程;并能够对执行业务的进程进行管理,以及对系统资源进行监控。
【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为根据本发明的分布式业务流程定制方法的一个实施例的流程图;
[0025]图2为根据本发明的分布式业务流程定制系统的一个实施例的结构框图。
【具体实施方式】
[0026]下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]图1为根据本发明的分布式业务流程定制方法的一个实施例的流程图,如图1所示:
[0028]步骤101,将业务完成的操作分解为多个子业务流程。
[0029]步骤102,根据业务需求组合多个子业务流程并设置操作的运行顺序,生成业务流程。
[0030]步骤103,将业务流程分发到运行服务器。
[0031]步骤104,运行服务器基于业务流程执行相应的业务操作。
[0032]本发明的分布式业务流程定制方法,实现了流程管理,业务由多个子业务流程组成,能够实现子业务流程的自由组合,并且可以方便的改变顺序,插入新流程。
[0033]目前,互联网公司提供了多种业务,如比较熟悉的Web蜘蛛(爬虫)业务,Web蜘蛛通常是通过网络请求,访问互联网上的各个站点,来获取一些有价值的信息。当需要访问的站点或网页数量较多时,单个机器或单个机房中蜘蛛的获取信息的能力将非常有限,需要使用到多个机器或多个机房的蜘蛛业务,来对大量的站点及网页进行抓取。
[0034]例如,在白名单的业务(例如安全网址白名单、安全文件白名单等等)中,蜘蛛进程由于IP问题,需要部署在多个IP环境下,蜘蛛进程基本就分布于各个机房。而对这些蜘蛛的任务分配程序却只部署在一个指定的机房中,任务分配程序需要非常频繁的将任务分配至各个机房的蜘蛛抓取进程。蜘蛛任务