业务系统的运行方法及装置与流程

文档序号:11198968阅读:676来源:国知局
业务系统的运行方法及装置与流程
本申请涉及计算机
技术领域
,尤其涉及一种业务系统的运行方法及装置。
背景技术
:随着互联网的飞速发展,业务系统(如,金融系统、电子商务系统以及电子支付系统等)的复杂度变得越来越高,如,其需要实例化多个不同的业务流程,且需要对实例化后的业务流程进行控制;而当其复杂度变高时,运行效率就会相应的降低,从而影响用户的体验。为了不降低业务系统运行的效率,现有技术提出了通过流程引擎来控制业务系统运行的方法。在流程引擎控制业务系统的运行的过程中,由流程引擎来负责业务系统的各个功能节点的调用以及各个功能节点执行完成后状态的设置,业务系统负责各个功能节点的具体实现,并负责记录各个功能节点之间的关系;由此可以看出,现有技术中的业务系统不仅要负责各个功能节点的实现,还需要对各个功能节点之间的关系进行记录,也即并没有真正对业务系统进行简化;此外,在通过流程引擎来控制业务系统运行时,是通过xml等配置文件对各个功能节点的组合来实例化不同的业务流程,因此,当需要实例化不同的业务流程时,就需要对xml等配置文件进行变更,而变更后xml等配置文件需要发布上线,其响应速度较慢,从而会影响业务系统运行的效率。技术实现要素:本申请实施例提供了一种业务系统的运行方法及装置,可以提高业务系统运行的效率。第一方面,提供了一种业务系统的运行方法,该方法包括:接收业务系统发送的询问请求,所述询问请求中包含所述业务系统当前执行完成的第一功能节点以及所述第一功能节点的执行结果;根据所述第一功能节点以及所述执行结果,从预设的存储单元中读取待执行的操作指令,所述预设的存储单元用于存储所述业务系统的各个功能节点、各个功能节点对应的操作指令以及部分功能节点的操作指令的执行条件;若所述操作指令为结束指令,则向所述业务系统返回所述结束指令,所述结束指令用于指示所述业务系统结束运行;若所述操作指令为执行指令,则读取待执行的第二功能节点,并向所述业务系统返回所述执行指令以及所述第二功能节点,所述执行指令用于指示所述业务系统执行所述第二功能节点对应的功能。第二方面,提供了一种业务系统的运行装置,该装置包括:接收单元,用于接收业务系统发送的询问请求,所述询问请求中包含所述业务系统当前执行完成的第一功能节点以及所述第一功能节点的执行结果;读取单元,用于根据所述接收单元接收的所述第一功能节点以及所述执行结果,从预设的存储单元中读取待执行的操作指令,所述预设的存储单元用于存储所述业务系统的各个功能节点、各个功能节点对应的操作指令以及部分功能节点的操作指令的执行条件;发送单元,用于若所述读取单元读取的所述操作指令为结束指令,则向所述业务系统返回所述结束指令,所述结束指令用于指示所述业务系统结束运行;若所述读取单元读取的所述操作指令为执行指令,则读取待执行的第二功能节点,并向所述业务系统返回所述执行指令以及所述第二功能节点,所述执行指令用于指示所述业务系统执行所述第二功能节点对应的功能。本申请提供的业务系统的运行方法及装置,在业务系统执行完成当前的 第一功能节点之后,通过发送询问请求的方式,来获取待执行的操作指令或者待执行的操作指令以及第二功能节点,直至业务系统运行结束。由此可以看出,本申请采用了将流程编排部分从业务系统的实现代码中抽离出来的思想,即将功能节点的实现功能与功能节点之间的流程编排功能解耦,也即业务系统只负责实现功能节点的实现,而各个功能节点的执行顺序由流程编码部分的代码实现,从而真正简化了业务系统的设计,提高了业务系统运行的效率。附图说明图1为本申请提供的业务系统与编排组件之间的交互示意图;图2为本申请提供的一种业务流程的示意图;图3为本申请一种实施例提供的业务系统的运行方法流程图;图4为本申请提供的编排组件的内部处理流程示意图;图5为本申请另一种实施例提供的业务系统的运行装置示意图。具体实施方式下面结合附图,对本发明的实施例进行描述。本申请实施例提供的业务系统的运行方法及装置,采用了将流程编排部分从业务系统的实现代码中抽离出来的思想,即将功能节点的实现功能与功能节点之间的流程编排功能解耦,其中,抽离出来的流程编码部分也可以称为编排组件,其在生产环境可以即时变更。图1为业务系统与编排组件之间的交互示意图,从图1中可以看出,业务系统与编排组件之间通过问询的方式进行交互。图1中,在功能节点的实现不变更的情况下,通过编排组件即时调整功能节点之间的流程编排关系,即可实现差异化的业务流程的重组工作。本申请实施例提供的业务系统的运行方法及装置适用于复杂的业务系统 的运行的场景,尤其适用于可以实例化多个不同的业务流程的业务系统的运行的场景。此处的业务系统包括但不限于金融系统、电子商务系统以及电子支付系统等,其可以包括至少一个功能节点,其中每个功能节点对应业务系统的一个功能。以业务系统为电子支付系统为例来说,功能节点可以包括两种类型:内部接口和外部接口,其中,内部接口可以为幂等模块或者存储模块等,外部接口可以为业务系统依赖的外部服务接口等。需要说明的是,对业务系统实例化的每个业务流程,可以在编排组件中进行一套业务系统的功能节点的编排配置,也即可以在编排组件中配置各个功能节点之间的流程编排关系,以便对各个功能节点执行的先后顺序进行控制,进而实现对业务流程的控制。以对业务系统实例化后的一个业务流程为例,说明在编排组件中配置的各个功能节点之间的流程编排关系。假设该业务流程为如图2所示的××支付流程,该支付流程中可以包括一个首功能节点以及一个或多个其它功能节点。在一个例子中,首功能节点和其它功能节点可以分开编排配置,其中,首功能节点的流程编排关系可以如表1所示。表1业务流程首功能节点××支付鉴权而除首功能节点外的其它功能节点的流程编排关系可以如表2所示。表2表2中,执行条件的个数与图2中执行分支的个数是相同的。对执行条件的解析,可以通过第三方表达式解析引擎来实现,如,groovy或者qlexpress,其中,qlexpress为淘宝网内部的表达式引擎,其语法与groovy类似。此外,从表1中可以看出,当同一功能节点对应的操作指令的个数为多个时,每个操作指令对应一个执行条件。如,“预授权”对应的操作指令的个数为两个,且该两个操作指令分别为:“continue”和“finish”,则两个操作指令中每个操作指令对应一个执行条件,其中,“continue”对应的执行条件为“if(预授权结果=="success")”,而“finish”对应的执行条件为“if(预授权结果=="fail")”。对业务系统实例化后的每个业务流程,都可以在编排组件中配置各个功能节点之间的流程编排关系,其流程编排关系可以如表1和表2所示。当然,在实际应用中,其流程编排关系也可以不同于表1所示的内容,如,执行条件和操作指令可以分开存储,本申请对此不作限定。需要说明的是,为了能直观的显示各个功能节点之间的流程编排关系, 此说明中才以表2的形式进行展示,在实际应用中,表2的内容可以链表的形式进行存储,从而可以适配个性化的业务流程驱动,并最终以图形化的方式输出,从而可以方便地查看当前处理的业务流程。对业务系统实例化后的每个业务流程,在编排组件中配置各个功能节点之间的流程编排关系之后,在业务系统运行的过程中,编排组件就可以对该业务流程进行控制,即就可以对业务系统中各个功能节点执行的先后顺序进行控制。其控制过程可参见图3中各步骤所述。图3为本申请一种实施例提供的业务系统的运行方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,上述编排组件,如图3所示,所述方法具体可以包括:步骤310,接收业务系统发送的询问请求,该询问请求中包含业务系统当前执行完成的第一功能节点以及第一功能节点的执行结果。可选地,在执行步骤310之前,所述方法还可以包括在编排组件中启动相应的业务流程的步骤,包括:步骤a:接收业务系统发送的启动指令。该启动指令中可以包含业务流程的名称。在业务系统实例化后的业务流程为“××支付流程”时,则该启动指令中可以包含“××支付流程”。步骤b:根据启动指令,向业务系统返回业务系统的首功能节点,以用于业务系统执行首功能节点对应的功能,并在执行完成首功能节点之后,向业务系统发送询问请求。由于业务系统可以实例化多个业务流程,所以编排组件可以根据启动指令中业务系统的名称,来启动相应的业务流程。具体地,编排组件在接收到业务系统发送的包含业务流程的名称的启动指令之后,读取该业务流程的首功能节点,并将该首功能节点返回给业务系统。如,前述例子中,可以从表1中读取“××支付流程”的首功能节点“鉴权”,并将该首功能节点“鉴权”返回给业务系统。业务系统在接收到该首功能节点之后,就可以执行该首功 能节点对应的功能,并在执行完成首功能节点之后,向业务系统发送询问请求,以获取待执行的操作指令或者待执行的操作指令以及第二功能节点。回到步骤310中,以当前执行完成的第一功能节点为图2中的“预授权”为例来说,且假设该第一功能节点的执行结果为表示失败的信息,如,“fail”。则步骤310中的询问请求中可以包含“预授权”和“fail”两部分内容。步骤320,根据第一功能节点以及执行结果,从预设的存储单元中读取待执行的操作指令。此处的操作指令是指执行完成当前功能节点对应的功能之后额外执行的动作,完全支持自定义配置。对于不同的操作指令,编排组件可以以枚举值的形式向业务系统返回,由业务系统识别并处理。此处,预设的存储单元可以用于存储业务系统的各个功能节点、各个功能节点对应的操作指令以及部分功能节点的操作指令的执行条件。在一个例子中,该预设的存储单元可以如表1和表2所示,当然,在实际应用中,表1和表2中的内容也可以存储在一起。表2中,“鉴权”、“代扣”、“预授权”以及“请款”即为业务系统的各个功能节点;“continue”和“finish”为上述操作指令,其中,“continue”为执行指令,“finish”为结束指令,也即上述操作指令包括两种类型:执行指令和结束指令。可选地,当预设的存储单元中存储的操作指令为执行指令时,则预设的存储单元中还可以包括执行指令执行的第二功能节点,如,表1中的“代扣”和“预授权”为“鉴权”的执行指令执行的第二功能节点,“请款”为“预授权”的执行指令执行的第二功能节点。表1中,“if(鉴权结果=="success")”和“if(鉴权结果=="fail")”为对应于“鉴权”的执行指令的执行条件,“if(预授权结果=="success")”为对应于“预授权”的执行指令的执行条件,“if(鉴权结果=="fail")”为对应于“预授权”的结束指令的执行条件。步骤320进一步还可以包括:步骤x:将第一功能节点与预设的存储单元中的各个功能节点进行比对。参见图4所示的编排组件的内部处理流程示意图,图4中,编排组件根据第一功能节点以及执行结果从预设的存储单元中筛选唯一记录。如前述例子,可以将第一功能节点“预授权”与表1中的各个功能节点进行比对。步骤y:若与任一功能节点相一致,则读取任一功能节点对应的操作指令。因为该第一功能节点与表1中的功能节点“预授权”比对一致,所以可以读取该功能节点对应的两个操作指令,该两个操作指令分别为“continue”和“finish”。需要说明的是,在实际应用中,此处读取的多个操作指令也可以相同,如,在第一功能节点为“鉴权”时,则从表1中读取的两个操作指令相同,如,均为“continue”。步骤z:当读取的操作指令的个数为多个时,则将执行结果与多个操作指令的执行条件进行匹配,若执行结果与第一操作指令的执行条件相匹配,则将第一操作指令选取为待执行的操作指令。此处的第一操作指令可以为上述任一功能节点的任一操作指令。前述例子中,读取的操作指令的个数为两个,因此可以将步骤310中的执行结果“fail”与上述读取的两个操作指令的执行条件进行匹配,因为执行结果满足功能节点“预授权”的第二个操作指令的执行条件,也即该执行结果与“预授权”第二个操作指令的执行条件相匹配,所以可以将“预授权”的第二个操作指令选取为待执行的操作指令,即将“finish”选取为待执行的操作指令。需要说明的是,在将执行结果与表1中的执行条件进行匹配的过程中,可以通过第三方表达式解析引擎来对执行条件进行解析,其中,第三方表达式解析引擎可以为groovy或者qlexpress等。步骤330,若操作指令为结束指令,则向业务系统返回结束指令,结束指令用于指示业务系统结束运行。图4中,在筛选出唯一记录之后,就可以读取对应的操作指令。如前述例子,读取的操作指令为“finish”,也即读取的操作指令为结束指令;编排组件可以将该结束指令返回给业务系统,业务系统在接收到该结束指令之后,不再向编排组件发送询问请求,也即“××支付流程”的一次执行过程结束,也即业务系统结束运行。步骤340,若操作指令为执行指令,则读取待执行的第二功能节点,并向业务系统返回执行指令以及第二功能节点,执行指令用于指示业务系统执行第二功能节点对应的功能。其中,步骤340中读取待执行的第二功能节点,具体为:根据第一功能节点、执行结果以及执行指令,从预设的存储单元中,读取执行指令执行的功能节点;将执行指令执行的功能节点选取为待执行的第二功能节点。图4中,当读取的操作指令为执行指令,则还可以读取该操作指令执行的功能节点。如前述例子,假设步骤310中的执行结果为“success”,即该执行结果为用于表示执行成功的信息,则因为执行结果满足功能节点“预授权”的第一个操作指令的执行条件,也即该执行结果与“预授权”的第一个操作指令的执行条件相匹配,所以可以将“预授权”的第一个操作指令选取为待执行的操作指令,即将“continue”选取为待执行的操作指令,也即操作指令为执行指令。则可以将“预授权”、“success”以及“continue”与表1中的各个功能节点、执行条件以及操作指令进行比对,因为与表1中第四行记录相匹配,因此可以将第四行记录中的“请款”读取为待执行的第二功能节点。编排组件读取执行指令以及待执行的第二功能节点之后,可以将执行指令以及待执行的第二功能节点返回给业务系统;从而由业务系统执行“请款”对应的功能。需要说明的是,因为业务系统此时并没有接收到结束指令,所以其在执行完成“请款”对应的功能之后,可以再次向编排组件发送询问请 求,该询问请求中可以包含“请款”以及“请款”的执行结果,因为表2中与该功能节点对应的操作指令没有相应的执行条件,所以,无论“请款”的执行结果为“success”或者“fail”,编排组件都会向业务系统返回结束指令,从而业务系统结束运行。可以理解的是,本申请中业务系统运行结束的条件是接收到结束指令。举例来说,表1中,业务系统会在执行“代扣”对应的功能之后、在执行“预授权”对应的功能失败之后以及在执行“请款”对应的功能之后接收到结束指令,所以业务系统在上述三种情况下会结束“××支付流程”的执行过程。综上,本申请提供的业务系统的运行方法,在业务系统执行完成当前的第一功能节点之后,通过发送询问请求的方式,来获取待执行的操作指令或者待执行的操作指令以及第二功能节点,直至业务系统运行结束。也即本申请采用了将流程编排部分从业务系统的实现代码中抽离出来的思想,即将功能节点的实现功能与功能节点之间的流程编排功能解耦,也即业务系统只负责实现功能节点的实现,而各个功能节点的执行顺序由流程编码部分的代码实现,从而真正简化了业务系统的设计,提高了业务系统运行的效率。此外,本申请提供的业务系统的运行方法,可以直接渲染成业务流程图,从而可以方便的统计一个功能节点被多少业务流程使用等;另外,当业务系统的任一功能节点发生变更,本申请的方法可以方便地统计出其所影响的业务流程,从而可以评估影响面。与上述业务系统的运行方法对应地,本申请实施例还提供的一种业务系统的运行装置,如图5所示,该装置包括:接收单元501,用于接收业务系统发送的询问请求,所述询问请求中包含所述业务系统当前执行完成的第一功能节点以及所述第一功能节点的执行结果。读取单元502,用于根据接收单元501接收的所述第一功能节点以及所述执行结果,从预设的存储单元中读取待执行的操作指令,所述预设的存储单 元用于存储所述业务系统的各个功能节点、各个功能节点对应的操作指令以及部分功能节点的操作指令的执行条件。其中,读取单元502具体用于:将所述第一功能节点与所述预设的存储单元中的各个功能节点进行比对;若与任一功能节点相一致,则读取所述任一功能节点对应的操作指令;当读取的操作指令的个数为多个时,则将所述执行结果与所述多个操作指令的执行条件进行匹配,若所述执行结果与所述第一操作指令的执行条件相匹配,则将所述第一操作指令选取为待执行的操作指令。发送单元503,用于若读取单元502读取的所述操作指令为结束指令,则向所述业务系统返回所述结束指令,所述结束指令用于指示所述业务系统结束运行。发送单元503,还用于若读取单元502读取的所述操作指令为执行指令,则读取待执行的第二功能节点,并向所述业务系统返回所述执行指令以及所述第二功能节点,所述执行指令用于指示所述业务系统执行所述第二功能节点对应的功能。可选地,当所述预设的存储单元中存储的操作指令为执行指令时,所述预设的存储单元还包括所述执行指令执行的功能节点。可选地,所述读取待执行的第二功能节点,具体为:根据所述第一功能节点、所述执行结果以及所述执行指令,从所述预设的存储单元中,读取所述执行指令执行的功能节点;将所述执行指令执行的功能节点选取为所述待执行的第二功能节点。可选地,接收单元501,还用于接收所述业务系统发送的启动指令。发送单元503,还用于根据接收单元501接收的所述启动指令,向所述业务系统返回所述业务系统的首功能节点,以用于所述业务系统执行所述首功能节点对应的功能,并在执行完成所述首功能节点之后,向所述业务系统发 送所述询问请求。本申请实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。本申请实施例提供的业务系统的运行装置,接收单元501接收业务系统发送的询问请求,所述询问请求中包含所述业务系统当前执行完成的第一功能节点以及所述第一功能节点的执行结果;读取单元502所述第一功能节点以及所述执行结果,从预设的存储单元中读取待执行的操作指令;若所述操作指令为结束指令,发送单元503向所述业务系统返回所述结束指令,所述结束指令用于指示所述业务系统结束运行;若所述操作指令为执行指令,发送单元503读取待执行的第二功能节点,并向所述业务系统返回所述执行指令以及所述第二功能节点,所述执行指令用于指示所述业务系统执行所述第二功能节点对应的功能。由此,可以提高业务系统运行的效率。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的对象及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而 已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1