CN112015393B - 一种业务处理方法及装置 - Google Patents
一种业务处理方法及装置 Download PDFInfo
- Publication number
- CN112015393B CN112015393B CN202010861162.XA CN202010861162A CN112015393B CN 112015393 B CN112015393 B CN 112015393B CN 202010861162 A CN202010861162 A CN 202010861162A CN 112015393 B CN112015393 B CN 112015393B
- Authority
- CN
- China
- Prior art keywords
- function
- service
- execution
- state
- control number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 405
- 238000012545 processing Methods 0.000 claims abstract description 114
- 230000004044 response Effects 0.000 claims description 66
- 238000000034 method Methods 0.000 claims description 62
- 238000010586 diagram Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 20
- 230000007704 transition Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 description 7
- 101100194362 Schizosaccharomyces pombe (strain 972 / ATCC 24843) res1 gene Proteins 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种业务处理方法及装置,接收业务请求,业务请求包括业务标识;根据业务标识,确定用于处理业务请求的业务处理流程;业务处理流程具有预先配置的配置文件;基于配置文件指示的各函数的执行顺序和各函数的流转控制数,运行业务处理流程;根据业务处理流程的运行结果,对业务请求进行应答。本方案通过配置文件的方式、在配置文件中配置好用于处理业务请求的各函数,其中包括各函数的执行顺序和各函数的流转控制数,从而可以快速地响应业务请求,相较于背景技术,本方案避免了为每个业务请求编写一段对应于它的响应代码,一方面可以提高对相同函数的使用效率;另一方面,也可减轻编程人员编写代码的难度和工作量。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种业务处理方法及装置。
背景技术
在业务开发过程中,普遍通过以下三种方式对业务请求进行处理,包括:
1、通过代码实现函数的执行顺序以及业务流程状态机的跳转;
2、在配置文件中仅配置函数的执行顺序,仍需要通过代码对具体的业务流程状态机进行控制;
3、在配置文件中写入脚本代码,应用程序通过执行脚本控制函数执行顺序以及业务流程状态机。
以上对业务请求进行处理的方式,均需要通过代码进行实现。然而,通过代码实现的方式具有以下不足:
1、只适用于简单的业务场景,对于复杂的联机交易系统可能不适用;
2、重复开发,如每次新业务都需要重新开发组装函数流程;
3、在业务发生变更时,通常需要重新进行开发,开发和维护成本高;
4、需要一定的技术能力,学习成本较高。
综上,目前亟需一种便捷的业务处理方法,以对业务请求进行应答。
发明内容
本发明提供一种业务处理方法及装置,用以解决依赖于代码实现对业务请求进行处理的问题。
第一方面,本发明实施例提供一种业务处理方法,该方法包括:接收业务请求,所述业务请求包括业务标识;根据所述业务标识,确定用于处理所述业务请求的业务处理流程;所述业务处理流程具有预先配置的配置文件;基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程;其中,所述流转控制数用于指示函数的状态迁移;根据所述业务处理流程的运行结果,对所述业务请求进行应答。
基于该方案,对于待处理的业务请求,通过获取其业务标识,则可以根据该业务标识确定用于处理该业务请求的业务处理流程;由于本方案中的业务处理流程具有预先配置的配置文件,该配置文件中包括各函数的执行顺序和各函数的流转控制数,则通过对该业务处理流程的运行,可以根据运行结果对业务请求进行应答。本方案通过配置文件的方式、在配置文件中配置好用于处理业务请求的各函数,其中包括各函数的执行顺序和各函数的流转控制数,从而可以快速地响应业务请求,相较于背景技术,本方案避免了为每个业务请求编写一段对应于它的响应代码,一方面可以提高对相同函数的使用效率;另一方面,也可减轻编程人员编写代码的难度和工作量。
在一种可能的实现方法中,通过如下方式确定所述配置文件中的各信息,包括:确定处理所述业务请求的各函数及各函数的执行顺序;根据所述各函数的执行顺序确定所述各函数的执行状态图;根据所述执行状态图确定各函数的流转控制数。
基于该方案,在使用配置文件对业务处理流程进行配置的过程中,首先确定出在对一个待处理的业务请求进行响应时将涉及哪些函数以及这些函数的执行顺序,以及确定出这些函数在执行过程中可能出现的状态,得到各函数的执行状态图,最后可以从执行状态图中确定出各函数的流转控制数,如此,便可以在配置文件中配置出对应于该待处理的业务请求的各函数,包括各函数的执行顺序和各函数的流转控制数。
在一种可能的实现方法中,所述根据所述执行状态图确定各函数的流转控制数,包括:针对任一函数,根据所述执行状态图确定所述函数在执行过程中与各函数的执行关系及所述函数执行后的状态;所述状态包括函数返回值和业务应答码;根据所述函数与各函数的执行关系及所述函数的执行后的状态,按照预设定义规则,确定所述函数的流转控制数。
基于该方案,在使用函数对待处理的业务请求进行处理的过程中,就任一个函数而言,可以确定它被执行时与其他函数的执行关系以及它被执行后的执行状态,从而,结合预设的对流转控制数的定义,则可以确定该函数对应的流转控制数,如此,便可以在配置文件中配置出对应于该待处理的业务请求的各函数,包括各函数的执行顺序和各函数的流转控制数。
在一种可能的实现方法中,所述预设定义规则为流转控制数的数据格式,包括以下至少一项:流转控制数包括本函数的运行指示;流转控制数包括本函数的运行指示和本函数的应答码指示;流转控制数包括前序函数的运行指示、前序函数的应答码指示、本函数的运行指示和本函数的应答码指示。
在一种可能的实现方法中,所述业务处理流程为有限状态自动机;所述基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程,包括:针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
基于该方案,对于客户端发送的业务请求,系统在对它进行响应时,响应结果一定是有限的,因此,本方案中通过将业务处理流程使用有限状态自动机的方式进行配置,如此,对于业务请求在处理过程中使用的任一个函数,根据该函数的执行结果及有限状态自动机的当前状态,更新有限状态自动机的当前状态,直至有限状态自动机的当前状态到达它的终止状态,则表示对业务请求处理完毕。
在一种可能的实现方法中,所述根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态,包括:根据所述函数的执行结果及所述有限状态自动机当前的状态,通过状态转移函数更新所述有限状态自动机的当前状态。
基于该方案,在更新有限状态自动机的过程中,通过编写状态转移函数的代码并运行,则可以实现对有限状态自动机的当前状态的更新。
在一种可能实现的方法中,所述有限状态自动机通过五元组M=(Q,Σ,б,q0,F)来实现,其中:M为所述有限状态自动机的当前状态;Q为标识状态的非空有穷集合,所述状态是函数返回值与业务应答码的笛卡尔乘积;Σ为函数的集合;б为状态转移函数,б:Q×Σ→Q;q0为M的开始状态,q0∈Q;F为M的终止状态的集合,F被Q包含。
在一种可能实现的方法中,所述接收业务请求,包括:通过公共入口接收所述业务请求;所述对所述业务请求进行应答,包括:通过公共出口对所述业务请求进行应答。
基于该方案,通过设置公共入口以及公共入口的方式,其中公共入口用于接收业务请求,公共出口用于基于运行结果对业务请求进行应答,则可以使得业务处理流程致力于对业务请求的处理,将业务代码独立处理,做到可配置化。
第二方面,本发明实施例提供一种业务处理装置,该装置包括:接收单元、确定单元、处理单元和应答单元;所述接收单元,用于接收业务请求,所述业务请求包括业务标识;所述确定单元,用于根据所述业务标识,确定用于处理所述业务请求的业务处理流程;所述业务处理流程具有预先配置的配置文件;所述处理单元,用于基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程;其中,所述流转控制数用于指示函数的状态迁移;所述应答单元,用于根据所述业务处理流程的运行结果,对所述业务请求进行应答。
基于该方案,对于待处理的业务请求,通过获取其业务标识,则可以根据该业务标识确定用于处理该业务请求的业务处理流程;由于本方案中的业务处理流程具有预先配置的配置文件,该配置文件中包括各函数的执行顺序和各函数的流转控制数,则通过对该业务处理流程的运行,可以根据运行结果对业务请求进行应答。本方案通过配置文件的方式、在配置文件中配置好用于处理业务请求的各函数,其中包括各函数的执行顺序和各函数的流转控制数,从而可以快速地响应业务请求,相较于背景技术,本方案避免了为每个业务请求编写一段对应于它的响应代码,一方面可以提高对相同函数的使用效率;另一方面,也可减轻编程人员编写代码的难度和工作量。
在一种可能实现的方法中,所述确定单元,具体用于确定处理所述业务请求的各函数及各函数的执行顺序;根据所述各函数的执行顺序确定所述各函数的执行状态图;根据所述执行状态图确定各函数的流转控制数。
基于该方案,在使用配置文件对业务处理流程进行配置的过程中,首先确定出在对一个待处理的业务请求进行响应时将涉及哪些函数以及这些函数的执行顺序,以及确定出这些函数在执行过程中可能出现的状态,得到各函数的执行状态图,最后可以从执行状态图中确定出各函数的流转控制数,如此,便可以在配置文件中配置出对应于该待处理的业务请求的各函数,包括各函数的执行顺序和各函数的流转控制数。
在一种可能实现的方法中,所述确定单元,具体用于针对任一函数,根据所述执行状态图确定所述函数在执行过程中与各函数的执行关系及所述函数执行后的状态;所述状态包括函数返回值和业务应答码;根据所述函数与各函数的执行关系及所述函数的执行后的状态,按照预设定义规则,确定所述函数的流转控制数。
基于该方案,在使用函数对待处理的业务请求进行处理的过程中,就任一个函数而言,可以确定它被执行时与其他函数的执行关系以及它被执行后的执行状态,从而,结合预设的对流转控制数的定义,则可以确定该函数对应的流转控制数,如此,便可以在配置文件中配置出对应于该待处理的业务请求的各函数,包括各函数的执行顺序和各函数的流转控制数。
在一种可能实现的方法中,所述预设定义规则为流转控制数的数据格式,包括以下至少一项:流转控制数包括本函数的运行指示;流转控制数包括本函数的运行指示和本函数的应答码指示;流转控制数包括前序函数的运行指示、前序函数的应答码指示、本函数的运行指示和本函数的应答码指示。
在一种可能实现的方法中,所述业务处理流程为有限状态自动机;所述处理单元,具体用于针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
基于该方案,对于客户端发送的业务请求,系统在对它进行响应时,响应结果一定是有限的,因此,本方案中通过将业务处理流程使用有限状态自动机的方式进行配置,如此,对于业务请求在处理过程中使用的任一个函数,根据该函数的执行结果及有限状态自动机的当前状态,更新有限状态自动机的当前状态,直至有限状态自动机的当前状态到达它的终止状态,则表示对业务请求处理完毕。
在一种可能实现的方法中,所述处理单元,具体用于根据所述函数的执行结果及所述有限状态自动机当前的状态,通过状态转移函数更新所述有限状态自动机的当前状态。
基于该方案,在更新有限状态自动机的过程中,通过编写状态转移函数的代码并运行,则可以实现对有限状态自动机的当前状态的更新。
在一种可能实现的方法中,所述有限状态自动机通过五元组M=(Q,Σ,б,q0,F)来实现,其中:M为所述有限状态自动机的当前状态;Q为标识状态的非空有穷集合,所述状态是函数返回值与业务应答码的笛卡尔乘积;Σ为函数的集合;б为状态转移函数,б:Q×Σ→Q;q0为M的开始状态,q0∈Q;F为M的终止状态的集合,F被Q包含。
在一种可能实现的方法中,所述确定单元,具体用于通过公共入口接收所述业务请求;所述应答单元,具体用于通过公共出口对所述业务请求进行应答。
基于该方案,通过设置公共入口以及公共入口的方式,其中公共入口用于接收业务请求,公共出口用于基于运行结果对业务请求进行应答,则可以使得业务处理流程致力于对业务请求的处理,将业务代码独立处理,做到可配置化。
第三方面,本发明实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一实现方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一实现方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的一种业务处理方法;
图3为本发明实施例提供的一种执行状态图;
图4为本发明实施例提供的一种对函数的流转控制数的预设定义的示意图;
图5为本发明实施例提供的一种业务处理装置。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种可能的系统架构示意图,该系统包括服务器110和客户端120(图示120a、120b和120c),二者可基于网络实现相互通信。
其中,服务器110可以为一台独立的服务器,也可以是由多台服务器配置而成的服务器集群。
服务器110可以包括公共入口1101,业务处理流程1102以及公共出口1103。其中,公共入口1101用于接收客户端120发送的业务请求,并从业务请求中获取业务标识,业务标识用于指示本次的业务请求具体为何种业务。业务处理流程1102用于对业务请求进行处理并得到处理结果。公共出口1103用于将业务处理流程1102对业务请求的处理结果向发起请求的客户端120进行输出。
客户端120可以包括手机、电脑、Ipad等智能终端设备。
基于图1所示的系统架构,本发明实施例提供一种业务处理方法。如图2所示,该方法包括以下步骤:
步骤201,接收业务请求。
在本步骤中,所述业务请求包括业务标识。
步骤202,根据所述业务标识,确定用于处理所述业务请求的业务处理流程。
在本步骤中,所述业务处理流程具有预先配置的配置文件。
步骤203,基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程。
在本步骤中,所述流转控制数用于指示函数的状态迁移。
步骤204,根据所述业务处理流程的运行结果,对所述业务请求进行应答。
基于该方案,对于待处理的业务请求,通过获取其业务标识,则可以根据该业务标识确定用于处理该业务请求的业务处理流程;由于本方案中的业务处理流程具有预先配置的配置文件,该配置文件中包括各函数的执行顺序和各函数的流转控制数,则通过对该业务处理流程的运行,可以根据运行结果对业务请求进行应答。本方案通过配置文件的方式、在配置文件中配置好用于处理业务请求的各函数,其中包括各函数的执行顺序和各函数的流转控制数,从而可以快速地响应业务请求,相较于背景技术,本方案避免了为每个业务请求编写一段对应于它的响应代码,一方面可以提高对相同函数的使用效率;另一方面,也可减轻编程人员编写代码的难度和工作量。
以下将结合示例分别对上述各步骤进行详细说明。
在上述步骤201的一个实施中,可以通过公共入口接收业务请求。在公共入口对业务请求进行接收后,公共入口还可以用于从业务请求中获取业务标识,根据业务标识则可以确定客户本次通过客户端发送的业务请求具体为何种业务,比如可以包括转账交易、还款交易、提现交易等等。
在上述步骤202的一个实施中,对于任一个业务标识所标识的业务,在对它进行处理的过程中,存在一个对应于它的业务处理流程。
比如,对于一个业务1,在对它进行处理时,可以通过由函数1、函数2以及函数3所构成的业务处理流程对其进行处理,对于另外一个业务2,在对它进行处理时,可以通过由函数1、函数3、函数4以及函数5所构成的业务处理流程对其进行处理。以上可以看出尽管业务1与业务2属于两种不同性质的业务,然而,在对其进行处理的过程中,两者均有对函数1和函数3的使用。通过对业务在处理过程中涉及的函数的分析,可以确定一个/些函数为多个业务共同使用的函数,因此,本发明实施例可以通过预先配置业务在处理过程中的配置文件,从而运行配置文件,则可以得到对业务的处理结果。
可选的,通过如下方式确定所述配置文件中的各信息,包括:确定处理所述业务请求的各函数及各函数的执行顺序;根据所述各函数的执行顺序确定所述各函数的执行状态图;根据所述执行状态图确定各函数的流转控制数。
比如,对于一个生成收钱二维码的业务,设该生成收钱二维码的系统接收到客户发起的生成收钱二维码的请求,该请求中携带一些校验信息,比如客户的手机号等待校验数据;则接下来该生成收钱二维码的系统可能执行如下步骤来对客户请求进行响应,包括:第一步,校验客户信息,比如校验客户手机号位数是否为11位;第二步,生成发送给外部系统的报文;第三步,向外部系统发送报文;第四步,组装应答报文并应答。其中,当该生成收钱二维码的系统执行第一步时,一种可能的结果是执行成功,在此状态下,则继续执行以下的步骤;一种可能的结果是执行失败,在此状态下,则将跳过执行第二步和第三步,直接执行第四步。基于第一步执行结果为成功时,该生成收钱二维码的系统在执行第二步时,一种可能的结果是执行成功,一种可能的结果是执行失败,无论第二步的执行结果如何,此时该生成收钱二维码的系统将沿用第一步的执行结果;进一步的,第二步的执行结果将影响第三步的执行过程。结合图3,可以清楚地描述以上的对业务请求的响应过程。
如图3所示,为本发明实施例提供的一种执行状态图,其中,函数F1可以用于表示上述例子的第一步,函数F2可以用于表示上述例子的第二步,函数F3可以用于表示上述例子的第三步,函数F4可以用于表示上述例子的第四步。以下是对图3的解释:
对于301,表示函数F1执行成功时,它对应的函数返回值为0000,业务应答码为0(0用于表示函数执行成功);对于302,表示函数F1执行失败时,它对应的函数返回值为1000,业务应答码为res1(res1用于表示函数F1执行失败,业务应答码res1中可以包括函数F1执行失败的原因);对于303,表示基于函数F1执行失败的前提,不予执行函数F2,换句话说,跳过执行函数F2,它对应的函数返回值为1200,业务应答码同样为res1;对于304,表示基于函数F1执行失败、跳过执行函数F2的前提,再次跳过执行函数F3,它对应的函数返回值为1220,业务应答码同样为res1;对于304,还可以表示基于函数F1执行失败、跳过执行函数F2以及跳过执行函数F3的前提,必执行函数F4,它对应的函数返回值为1220,业务应答码同样为res1。
对于301,还可以表示基于函数F1执行成功的前提,继续执行函数F2时,对函数F2的执行结果为执行成功,它对应的函数返回值为0000,业务应答码为0;对于305,表示基于函数F1执行成功的前提,继续执行函数F2时,对函数F2的执行结果为执行失败,它对应的函数返回值为0100,业务应答码为0;对于305,还可以表示基于函数F1执行成功、函数F2执行失败的前提,继续执行函数F3时,对函数F3的执行结果为执行成功,它对应的函数返回值为0100,业务应答码为0;对于305,还可以用于表示基于函数F1执行成功、函数F2执行失败、函数F3执行成功的前提,必执行函数F4,它对应的函数返回值为0100,业务应答码为0;对于306,表示基于函数F1执行成功、函数F2执行失败的前提,继续执行函数F3时,对函数F3的执行结果为执行失败,它对应的函数返回值为0110,业务应答码为res3(res3用于表示函数F3执行失败,业务应答码res3中可以包括函数F3执行失败的原因);对于306,还可以用于表示基于函数F1执行成功、函数F2执行失败、函数F3执行失败的前提,必执行函数F4,它对应的函数返回值为0110,业务应答码为res3。
对于301,还可以用于表示基于函数F1执行成功、函数F2执行成功的前提,继续执行函数F3时,对函数F3的执行结果为执行成功,它对应的函数返回值为0000,业务应答码为0;对于307,表示基于函数F1执行成功、函数F2执行成功的前提,继续执行函数F3时,对函数F3的执行结果为执行失败,它对应的函数返回值为0010,业务应答码为res3;对于307,还可以用于表示基于函数F1执行成功、函数F2执行成功、函数F3执行失败的前提,必执行函数F4,它对应的函数返回值为0010,业务应答码为res3。
对于301,还可以用于表示基于函数F1执行成功、函数F2执行成功、函数F3执行成功的前提,必执行函数F4,它对应的函数返回值为0000,业务应答码为0。
图3中还示意出了函数返回值列表以及业务应答码。
从图3中可知,该执行状态图对应要解决的一个业务涉及到函数F1、函数F2、函数F3和函数F4,且执行顺序是自函数F1开始,依次经过函数F2和函数F3,最终由函数F4结束,其中,函数F1是函数F2的前序函数,以此类推。在得到该业务对应的执行状态图后,可以根据该执行状态图确定各函数的流转控制数。
可选的,针对任一函数,根据所述执行状态图确定所述函数在执行过程中与各函数的执行关系及所述函数执行后的状态;所述状态包括函数返回值和业务应答码;根据所述函数与各函数的执行关系及所述函数的执行后的状态,按照预设定义规则,确定所述函数的流转控制数。
比如针对图3,可以有如下几条结论:第一,函数F4必须执行;第二,函数F2执行结果不同得到不同状态会影响函数F3的执行,且函数F2执行后函数F3才会执行;第三,只要函数F1执行失败,则函数F2和函数F3都将跳过;第四,均不关心前序函数的业务应答码。
针对任一个执行状态图,通过对执行状态图的分析,并结合预设的对流转控制数的数据格式的定义,可以生成对应于该执行状态图中的每个函数的流转控制数。
可选的,所述预设定义规则为流转控制数的数据格式,包括以下至少一项:流转控制数包括本函数的运行指示;流转控制数包括本函数的运行指示和本函数的应答码指示;流转控制数包括前序函数的运行指示、前序函数的应答码指示、本函数的运行指示和本函数的应答码指示。
比如,可以根据需要选择不同的流转控制数的长度,长度越短表示状态变迁越简单。其中,在本发明实施例中,流转控制数的长度包括1位、2位和6位。如图4所示,为本发明实施例提供的一种对函数的流转控制数的预设定义的示意图。参考图4,其中:
在流转控制数的长度为1位时,该位数用于表示本函数的运行指示,用t表示该位数,包括:当t=0时,表示运行本函数,但不结束流程,当t=1,表示本函数必须运行,当t=2,表示运行本函数,且结束流程。
在流转控制数的长度为2位时,其中一位用于表示本函数的应答码指示,用w表示该位数,包括:当w=0时,表示将业务应答码插入应答列表,当w=1时,表示沿用前序函数的业务应答码;其中一位用于表示本函数的运行指示,用t表示该位数,包括:当t=0时,表示运行本函数,但不结束流程,当t=1,表示本函数必须运行,当t=2,表示运行本函数,且结束流程。
在流转控制数的长度为6位时,其中一位用于表示前序函数的运行指示,用x表示该位数,包括:当x=1时,表示在前序函数运行成功时,则运行本函数,当x=2时,表示在前序函数运行失败时,则运行本函数,当x=3时,表示前序函数运行,则本函数也运行,当x=4时,表示在前序函数运行成功时,运行本函数并且结束流程;其中一位用于表示前序函数的应答码指示,用y表示该位数,包括:当y=0时,表示不需要关心前序函数的业务应答码,当y=1时,表示需要关心前序函数的业务应答码;其中两位用于表示前序函数的索引号;其中一位用于表示本函数的应答码指示,用w表示该位数,包括:当w=0时,表示将业务应答码插入应答列表,当w=1时,表示沿用前序函数的业务应答码;其中一位用于表示本函数的运行指示,用t表示该位数,包括:当t=0时,表示运行本函数,但不结束流程,当t=1,表示本函数必须运行,当t=2,表示运行本函数,且结束流程。
对图3所示的执行状态图中各函数的执行特征的总结,将各个函数的执行特征与图4所示的流转控制数的数据格式的定义,可以得到函数F1对应的流转控制数为00,函数F2对应的流转控制数为10,函数F3对应的流转控制数的为300200,函数F4对应的流转控制数为11。
通过对业务对应的执行状态图中的函数的流转控制数的确定,则可以在配置文件中根据预设的配置格式,对业务涉及的各函数进行配置,包括对各函数的执行顺序以及各函数的流转控制数的配置。
在上述步骤203的一个实施中,所述业务处理流程为有限状态自动机;所述基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程,包括:针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
对于一个待处理的业务请求,当确定出用于处理它的有限状态自动机时,将该业务请求输入对应的有限状态自动机。在有限状态自动机为初始状态时,通过执行第一个函数,则可以根据对第一个函数的执行结果以及初始状态,更新该有限状态自动机的当前状态;进一步的,根据有限状态自动机当前所处的最新状态,以及通过读取配置文件中的第一个函数对应的流转控制数,确定是否执行下一函数,如果执行的话,则根据对第二个函数的执行结果以及第一个函数被执行后得到状态,更新有限状态自动机的当前状态,如此往复,直至到达有限状态自动机的当前状态为终止状态。
可选的,所述根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态,包括:根据所述函数的执行结果及所述有限状态自动机当前的状态,通过状态转移函数更新所述有限状态自动机的当前状态。
状态转移函数的实现,即是解析函数的流转控制数,并根据当前状态和当前函数的返回值决定下一个状态,换句话说,更新有限状态自动机的当前状态。可以包括以下三种状态迁移模式:模式1,不考虑当前状态,执行函数后强制迁移至下一个状态;模式2,考虑当前状态的函数返回值列表中某个函数的返回值,并依据当前函数的返回值决定下一个状态;模式3,不仅考虑模式2,进一步需根据流转控制数确定是否修改业务应答码,由此决定下一个状态。
可选的,所述有限状态自动机通过五元组M=(Q,Σ,б,q0,F)来实现,其中:M为所述有限状态自动机的当前状态;Q为标识状态的非空有穷集合,所述状态是函数返回值与业务应答码的笛卡尔乘积;Σ为函数的集合;б为状态转移函数,б:Q×Σ→Q;q0为M的开始状态,q0∈Q;F为M的终止状态的集合,F被Q包含。
在上述步骤204的一个实施中,可以通过公共出口对处理结果进行输出,将处理结果发至客户端。
基于同样的构思,本发明实施例提供一种业务处理装置,如图5所示,该装置包括接收单元501、确定单元502、处理单元503和应答单元504:
接收单元501,用于接收业务请求,所述业务请求包括业务标识;
确定单元502,用于根据所述业务标识,确定用于处理所述业务请求的业务处理流程;所述业务处理流程具有预先配置的配置文件;
处理单元503,用于基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程;其中,所述流转控制数用于指示函数的状态迁移;
应答单元504,用于根据所述业务处理流程的运行结果,对所述业务请求进行应答。
进一步地,对于该装置,确定单元502,具体用于确定处理所述业务请求的各函数及各函数的执行顺序;根据所述各函数的执行顺序确定所述各函数的执行状态图;根据所述执行状态图确定各函数的流转控制数。
进一步地,对于该装置,确定单元502,具体用于针对任一函数,根据所述执行状态图确定所述函数在执行过程中与各函数的执行关系及所述函数执行后的状态;所述状态包括函数返回值和业务应答码;根据所述函数与各函数的执行关系及所述函数的执行后的状态,按照预设定义规则,确定所述函数的流转控制数。
进一步的,对于该装置,所述预设定义规则为流转控制数的数据格式,包括以下至少一项:流转控制数包括本函数的运行指示;流转控制数包括本函数的运行指示和本函数的应答码指示;流转控制数包括前序函数的运行指示、前序函数的应答码指示、本函数的运行指示和本函数的应答码指示。
进一步的,对于该装置,所述业务处理流程为有限状态自动机;处理单元503,具体用于针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
进一步的,对于该装置,处理单元503,具体用于根据所述函数的执行结果及所述有限状态自动机当前的状态,通过状态转移函数更新所述有限状态自动机的当前状态。
进一步的,对于该装置,所述有限状态自动机通过五元组M=(Q,Σ,б,q0,F)来实现,其中:M为所述有限状态自动机的当前状态;Q为标识状态的非空有穷集合,所述状态是函数返回值与业务应答码的笛卡尔乘积;Σ为函数的集合;б为状态转移函数,б:Q×Σ→Q;q0为M的开始状态,q0∈Q;F为M的终止状态的集合,F被Q包含。
进一步的,对于该装置,确定单元502,具体用于通过公共入口接收所述业务请求;应答单元504,具体用于通过公共出口对所述业务请求进行应答。
本发明实施例还提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储业务处理方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行业务处理方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行业务处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种业务处理方法,其特征在于,包括:
接收业务请求,所述业务请求包括业务标识;
根据所述业务标识,确定用于处理所述业务请求的业务处理流程;所述业务处理流程具有预先配置的配置文件;
基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程;其中,所述流转控制数用于指示函数的状态迁移;
根据所述业务处理流程的运行结果,对所述业务请求进行应答;
其中,所述业务处理流程为有限状态自动机;
所述基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程,包括:
针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
2.如权利要求1所述的方法,其特征在于,
通过如下方式确定所述配置文件中的各信息,包括:
确定处理所述业务请求的各函数及各函数的执行顺序;
根据所述各函数的执行顺序确定所述各函数的执行状态图;
根据所述执行状态图确定各函数的流转控制数。
3.如权利要求2所述的方法,其特征在于,
所述根据所述执行状态图确定各函数的流转控制数,包括:
针对任一函数,根据所述执行状态图确定所述函数在执行过程中与各函数的执行关系及所述函数执行后的状态;所述状态包括函数返回值和业务应答码;
根据所述函数与各函数的执行关系及所述函数的执行后的状态,按照预设定义规则,确定所述函数的流转控制数。
4.如权利要求3所述的方法,其特征在于,所述预设定义规则为流转控制数的数据格式,包括以下至少一项:
流转控制数包括本函数的运行指示;
流转控制数包括本函数的运行指示和本函数的应答码指示;
流转控制数包括前序函数的运行指示、前序函数的应答码指示、本函数的运行指示和本函数的应答码指示。
5.如权利要求1所述的方法,其特征在于,
所述根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态,包括:
根据所述函数的执行结果及所述有限状态自动机当前的状态,通过状态转移函数更新所述有限状态自动机的当前状态。
6.如权利要求1所述的方法,其特征在于,
所述有限状态自动机通过五元组M=(Q,Σ,б,q0,F)来实现,其中:
M为所述有限状态自动机的当前状态;
Q为标识状态的非空有穷集合,所述状态是函数返回值与业务应答码的笛卡尔乘积;
Σ为函数的集合;
б为状态转移函数,б:Q×Σ→Q;
q0为M的开始状态,q0∈Q;
F为M的终止状态的集合,F被Q包含。
7.如权利要求1所述的方法,其特征在于,
所述接收业务请求,包括:
通过公共入口接收所述业务请求;
所述对所述业务请求进行应答,包括:
通过公共出口对所述业务请求进行应答。
8.一种业务处理装置,其特征在于,包括:
接收单元,用于接收业务请求,所述业务请求包括业务标识;
确定单元,用于根据所述业务标识,确定用于处理所述业务请求的业务处理流程;所述业务处理流程通过配置文件进行配置;
处理单元,用于基于所述配置文件指示的各函数的执行顺序和各函数的流转控制数,运行所述业务处理流程;其中,所述流转控制数用于指示函数的状态迁移;
应答单元,用于根据所述业务处理流程的运行结果,对所述业务请求进行应答;
所述业务处理流程为有限状态自动机;
所述处理单元,具体用于针对任一函数,根据所述函数的执行结果及所述有限状态自动机当前的状态,更新所述有限状态自动机的当前状态;根据所述流转控制数的指示和所述各函数的执行顺序,确定是否执行下一函数,直至所述有限状态自动机的当前状态为终止状态。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010861162.XA CN112015393B (zh) | 2020-08-25 | 2020-08-25 | 一种业务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010861162.XA CN112015393B (zh) | 2020-08-25 | 2020-08-25 | 一种业务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015393A CN112015393A (zh) | 2020-12-01 |
CN112015393B true CN112015393B (zh) | 2024-05-03 |
Family
ID=73505839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010861162.XA Active CN112015393B (zh) | 2020-08-25 | 2020-08-25 | 一种业务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015393B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734837A (en) * | 1994-01-14 | 1998-03-31 | Action Technologies, Inc. | Method and apparatus for building business process applications in terms of its workflows |
JP2012160101A (ja) * | 2011-02-02 | 2012-08-23 | Fujitsu Ltd | 情報処理装置、ソフトウェア検査方法およびソフトウェア検査プログラム |
CN106548261A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种业务流程控制方法、装置及电子设备 |
CN107656782A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及系统 |
CN108734454A (zh) * | 2018-05-21 | 2018-11-02 | 杭州有赞科技有限公司 | 退款处理方法和系统 |
CN110517011A (zh) * | 2019-08-07 | 2019-11-29 | 济南浪潮数据技术有限公司 | 业务流程的控制方法、装置、存储介质及电子设备 |
CN111008069A (zh) * | 2019-12-02 | 2020-04-14 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-08-25 CN CN202010861162.XA patent/CN112015393B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734837A (en) * | 1994-01-14 | 1998-03-31 | Action Technologies, Inc. | Method and apparatus for building business process applications in terms of its workflows |
JP2012160101A (ja) * | 2011-02-02 | 2012-08-23 | Fujitsu Ltd | 情報処理装置、ソフトウェア検査方法およびソフトウェア検査プログラム |
CN106548261A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 一种业务流程控制方法、装置及电子设备 |
CN107656782A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及系统 |
CN107656777A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及系统 |
CN108734454A (zh) * | 2018-05-21 | 2018-11-02 | 杭州有赞科技有限公司 | 退款处理方法和系统 |
CN110517011A (zh) * | 2019-08-07 | 2019-11-29 | 济南浪潮数据技术有限公司 | 业务流程的控制方法、装置、存储介质及电子设备 |
CN111008069A (zh) * | 2019-12-02 | 2020-04-14 | 浙江大搜车软件技术有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
解决变化问题的自底向上流程建模方法;严志民 等;计算机集成制造系统(第08期);全文 * |
铁路机车检修动态业务流程的建模与实现;王焕民 等;中国铁路(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112015393A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988429A (zh) | 算法调度方法以及系统 | |
CN109325744B (zh) | 支付处理方法、装置、介质及电子设备 | |
CN112711640A (zh) | 一种业务受理流程配置的方法及装置 | |
US20240005165A1 (en) | Machine learning model training method, prediction method therefor, apparatus, device, computer-readable storage medium, and computer program product | |
WO2023040612A1 (zh) | 用于处理订单的方法和装置 | |
CN110381150B (zh) | 区块链上的数据处理方法、装置、电子设备及存储介质 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN114253920A (zh) | 一种交易重新排序方法、装置、设备及可读存储介质 | |
CN112015393B (zh) | 一种业务处理方法及装置 | |
CN112269915A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN115328457A (zh) | 基于参数配置的表单页面实现方法和装置 | |
CN113055401B (zh) | 一种企业业务的授权处理方法及装置 | |
CN113835780A (zh) | 一种事件响应方法及装置 | |
CN112650763A (zh) | 产品额度的配置方法、相关设备和存储介质 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN111523927A (zh) | 资源的发送方法、装置、设备及存储介质 | |
CN112394962B (zh) | 一种业务执行方法、业务逻辑更新方法及装置 | |
CN109559225A (zh) | 一种交易方法及装置 | |
CN113590483B (zh) | 一种用例运行方法和装置 | |
CN113673890B (zh) | 云手机资源订单处理方法、相关装置及计算机程序产品 | |
KR102556999B1 (ko) | 단말기 원격조작에 기반한 테스트 자동화 방법 및 시스템 | |
CN111460269B (zh) | 信息推送方法和装置 | |
CN116450248A (zh) | 基于组件的数据处理方法、装置、计算机设备及存储介质 | |
CN114926269A (zh) | 一种银行账号开立风险控制方法和装置 | |
CN116302249A (zh) | 界面展示方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |