CN112437126A - 基于原子接口的任务流程处理方法和设备 - Google Patents
基于原子接口的任务流程处理方法和设备 Download PDFInfo
- Publication number
- CN112437126A CN112437126A CN202011245414.2A CN202011245414A CN112437126A CN 112437126 A CN112437126 A CN 112437126A CN 202011245414 A CN202011245414 A CN 202011245414A CN 112437126 A CN112437126 A CN 112437126A
- Authority
- CN
- China
- Prior art keywords
- interface
- node
- combined
- interface node
- current
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于原子接口的任务流程处理方法和设备。该方法包括:获取报文请求,其中,所述报文请求中包括初始参数;根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一接口节点为原子接口,每一接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行;向其他组合接口或者设备,发送所述任务流程处理报文。本申请能够以串行和并行相结合的方式处理树结构的接口节点,从而提高业务流程的处理效率。
Description
技术领域
本申请涉及业务处理领域,尤其涉及一种基于原子接口的任务流程处理方法和设备。
背景技术
在Web服务中,Web服务编排可以起到对Web服务进行组合和协调的作用,通过Web服务组合和编排,可以实现多个系统的相互协作与集成。
现有技术中,Web服务中的每一个业务流程在执行的时候,需要调用多个原子接口,进而得到最后的响应结果,即得到最后的响应报文。
然而现有技术中,由于在执行业务流程时候,必须串行调用每个接口,从而会造成调用过程耗时非常高,业务流程的处理效率低。
发明内容
本申请实施例提供一种基于原子接口的任务流程处理方法和设备,以解决业务流程的处理效率低的问题。
第一方面,本申请实施例提供一种基于原子接口的任务流程处理方法,包括:
获取报文请求,其中,所述报文请求中包括初始参数;
根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行;
向其他组合接口或者设备,发送所述任务流程处理报文。
在一种可能的实施方式中,所述配置信息中还包括接口节点的父节点的个数;根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,包括:
根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中;
重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中;
其中,所述响应队列中的最后位置上的响应报文为所述任务流程处理报文。
在一种可能的实施方式中,在将当前接口节点的响应报文缓存至响应队列中之后,还包括:
在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
在一种可能的实施方式中,所述执行当前接口节点,包括:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
在一种可能的实施方式中,所述方法,还包括:
在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行所述组合接口。
在一种可能的实施方式中,所述方法,还包括:
在执行所述当前接口节点时,在确定执行异常时,生成所述异常标志位。
在一种可能的实施方式中,所述配置信息还包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
第二方面,本申请实施例提供一种基于原子接口的任务流程处理装置,包括:
获取模块,用于获取报文请求,其中,所述报文请求中包括初始参数;
处理模块,用于根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行;
发送模块,用于向其他组合接口或者设备,发送所述任务流程处理报文。
在一种可能的实施方式中,所述配置信息中还包括接口节点的父节点的个数;
所述处理模块,具体用于:
根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中;
重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中;
其中,所述响应队列中的最后位置上的响应报文为所述任务流程处理报文。
在一种可能的实施方式中,所述处理模块,还用于:
在将当前接口节点的响应报文缓存至响应队列中之后,在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
在一种可能的实施方式中,所述处理模块,具体用于:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
在一种可能的实施方式中,所述处理模块,还用于:
在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行所述组合接口。
在一种可能的实施方式中,所述处理模块,还用于:
在执行所述当前接口节点时,在确定执行异常时,生成所述异常标志位。
在一种可能的实施方式中,所述配置信息还包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
第三方面,本申请实施例提供一种任务流程处理设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的基于原子接口的任务流程处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的基于原子接口的任务流程处理方法。
本申请实施例提供的基于原子接口的任务流程处理方法和设备,通过获取包括初始参数的报文请求,然后根据初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,组合接口包括具有执行次序关系的接口节点,执行次序关系的接口节点构成树结构,每一接口节点为原子接口,每一接口节点具有配置信息,配置信息包括异常标志位和私有标志位,异常标志位表征组合接口的处理正常或异常,私有标志位表征当前接口节点和当前接口节点的子节点是否执行;向其他组合接口或者设备,发送任务流程处理报文,通过将多个接口节点构成树结构,每个接口节点设置配置信息,形成组合接口,能够以串行和并行相结合的方式处理树结构的接口节点,从而提高业务流程的处理效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的基于原子接口的任务流程处理系统的架构示意图;
图2为本申请一实施例提供的基于原子接口的任务流程处理方法的流程示意图;
图3为本申请实施例提供的一个组合接口的示意图;
图4为本申请又一实施例提供的基于原子接口的任务流程处理方法的流程示意图;
图5为本申请实施例提供的单个任务流程的示意图;
图6为本申请一实施例提供的基于原子接口的任务流程处理装置的结构示意图;
图7为本申请一实施例提供的任务流程处理设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的基于原子接口的任务流程处理系统的架构示意图。如图1所示,本实施例提供的基于原子接口的任务流程处理系统包括终端设备11和任务流程处理设备12。其中,终端设备11可以为台式计算机、笔记本电脑、平板、手机等设备,任务流程处理设备12可以为台式计算机、服务器等设备,在此不作限定。终端设备11可以接收用户输入的指令向任务流程处理设备12发送报文请求,以请求Web服务。任务流程处理设备12接收到报文请求后,根据请求报文执行相应的组合接口中的各接口节点,得到任务流程处理报文,将任务流程处理报文发送给终端设备12。本实施例中,组合接口包括具有执行次序关系的接口节点,执行次序关系的接口节点构成树结构,每一接口节点为原子接口。通过将多个接口节点构成树结构,每个接口节点设置配置信息,形成组合接口,能够以串行和并行相结合的方式处理树结构的接口节点,从而提高业务流程的处理效率。
图2为本申请一实施例提供的基于原子接口的任务流程处理方法的流程示意图。如图2所示,该方法包括:
S201、获取报文请求,其中,所述报文请求中包括初始参数。
本实施例中,执行主体为任务流程处理设备。任务流程处理设备可以获取终端设备发送的报文请求。报文请求用于请求Web服务。报文请求中包括初始参数,例如初始参数可以包括但不限于报文请求所请求的业务的业务标识、业务类型、参数等中的至少一个,在此不做限定。
S202、根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行。
本实施例中,多个原子接口组合成一个组合接口。组合接口中每个原子接口为一个接口节点,一个组合接口所包括的多个接口节点的执行次序关系成树结构。任务流程处理设备根据初始参数执行组合接口中的各接口节点,得到任务流程处理报文。
组合接口中采用串并行并列的方案,输入参数齐全的接口节点的可并行执行;需要上一级父节点返回的响应作为输入参数,在上一级父节点执行完毕后执行。如图3所示为本申请实施例提供的一个组合接口的示意图。该组合接口包括A、B、C、D、E五个接口节点,箭头表示五个接口节点间的执行次序关系。响应A、响应B、响应C、响应D、响应E分别表示接口节点A、B、C、D、E的响应报文。在该示例中,执行组合接口时,任务流程处理设备首先从请求报文中提取参数,拼装成原子请求报文,然后执行接口节点A、B,并将接口节点A、B的响应报文保存至响应队列。接口节点A执行完毕后通知接口节点C、D,任务流程处理设备从请求报文和接口节点A的响应中提取参数拼装成原子请求报文,开始执行接口节点C、D,执行完毕后将接口节点C、D的响应报文放入响应队列。接口节点D、B接口执行完毕后通知接口节点E,任务流程处理设备从请求报文、D的响应报文和B的响应报文中提取参数,拼装成原子请求报文开始执行接口节点E,完毕后将接口节点E的响应报文放入响应队列。
本实施例中,组合接口中每一个接口节点具有配置信息,配置信息包括异常标志位和私有标志位,异常标志位表征组合接口的处理正常或异常,私有标志位表征当前接口节点和当前接口节点的子节点是否执行。任务流程处理设备可以根据各接口节点的配置信息确定执行接口节点的次序。可选地,在一个接口节点的异常标志位表征组合接口的处理正常,且私有标志位表征该接口节点及其子节点能被执行时,任务流程处理设备执行该接口节点。
例如,异常标志位为false,表征组合接口的处理正常;异常标志位为true,表征组合接口的处理异常。私有标志位为true,表征当前接口节点和当前接口节点的子节点允许执行;私有标志位为false,表征当前接口节点和当前接口节点的子节点不执行。
S203、向其他组合接口或者设备,发送所述任务流程处理报文。
本实施例中,任务流程处理设备在得到任务流程处理报文后,可以将任务流程处理报文发送给其他组合接口,以便其他组合接口进行后续处理;或者将任务流程处理报文发送给终端设备,以便终端设备根据任务流程处理报文生成请求报文对应的处理结果,将处理结果显示给用户查看。
本实施例通过获取包括初始参数的报文请求,然后根据初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,组合接口包括具有执行次序关系的接口节点,执行次序关系的接口节点构成树结构,每一接口节点为原子接口,每一接口节点具有配置信息,配置信息包括异常标志位和私有标志位,异常标志位表征组合接口的处理正常或异常,私有标志位表征当前接口节点和当前接口节点的子节点是否执行;向其他组合接口或者设备,发送任务流程处理报文,通过将多个接口节点构成树结构,每个接口节点设置配置信息,形成组合接口,能够以串行和并行相结合的方式处理树结构的接口节点,从而提高业务流程的处理效率。
图4为本申请又一实施例提供的基于原子接口的任务流程处理方法的流程示意图。本实施例对执行组合接口中的各接口节点的具体实现过程进行了详细说明。本实施例中,配置信息中还包括接口节点的父节点的个数。如图4所示,该方法包括:
S401、获取报文请求,其中,所述报文请求中包括初始参数。
本实施例中,S401与图2实施例中的S201类似,此处不再赘述。
S402、根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中。其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行。
本实施例中,每个接口节点的配置信息中包括该接口节点的父节点的个数。任务流程处理设备接收请求报文后,首先根据初始参数,执行组合接口中的父节点个数为零的接口节点,得到响应报文,并将响应报文缓存至响应队列中。
可选地,配置信息还可以包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
本实施例中,对于一个接口节点,判断字段用于任务流程处理设备提取响应队列中的对应字段值,若提取到的字段值与配置信息的判断值相等则满足条件,执行该接口节点,若不满足条件,则将该接口节点的私有标志位置为false,并通知该接口节点的子节点。
可选地,将接口节点的配置信息放到缓存中,任务流程处理设备在执行组合接口时从缓存中读取相应的接口节点进行处理。现有技术中,使用流程引擎每个流程调用中需要数次访问数据库,容易造成连接数过多,对数据库访问的压力较高。本实施例任务流程处理设备只从数据库中读取一次组合接口中所有接口节点的配置信息,之后将配置信息放入缓存,再次调用无需查询数据库。通过将接口节点的配置信息放到缓存中,能够减少数据库的读取次数和压力。
S403、重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中。其中,所述响应队列中的最后位置上的响应报文为任务流程处理报文。
本实施例中,对于当前接口节点,任务流程处理设备在确定当前接口节点的父节点均被执行完毕时,开始执行当前接口节点。具体是首先从响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数,根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文,然后将当前接口节点的响应报文缓存至响应队列中。
参照图2,在该示例中,任务流程处理设备接收请求报文时,一开始组合接口中接口节点A、B、C、D、E均未被执行,此时,接口节点A、B没有父节点,因此任务流程处理设备首先执行接口节点A、B。接口节点C、D、E均有父节点,且父节点未执行完毕,所以任务流程处理设备不会处理接口节点C、D、E。在接口节点A执行完毕后,接口节点C、D有父节点,但其父节点A已执行完毕,任务流程处理设备能够执行接口节点C和/或D。
可选地,在将当前接口节点的响应报文缓存至响应队列中之后,S403还可以包括:
在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
本实施例中,该配置信息中父节点的个数表征该接口节点上一级父节点中未被执行的节点个数。任务流程处理设备在将当前接口节点的响应报文缓存至响应队列中之后,则当前接口节点执行完毕,将当前接口节点的所有子节点的配置信息中的父节点个数减一。这样,通过一个接口节点的配置信息中的父节点个数可以准确判断其所有父节点是否全部执行完毕。
可选地,执行当前接口节点,可以包括:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
本实施例中,如果当前接口节点的异常标志位表征组合接口的处理异常,则表征组合节点处理发生异常,此时任务流程处理设备停止执行组合节点中的接口节点。如果当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点不能被执行,则表征当前接口节点存在未执行的父节点,此时任务流程处理设备需要等待当前接口节点的父节点执行。任务流程处理设备在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
可选地,上述方法,还可以包括:
任务流程处理设备在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行组合接口。
S404、向其他组合接口或者设备,发送所述任务流程处理报文。
本实施例中,S404与图2实施例中的S203类似,此处不再赘述。
下面通过一个具体的实施示例进行说明,如图5所示,为便于描述,将执行单个接口节点的流程称为单个任务流程。在单个任务流程中,任务流程处理设备首先校验当前接口节点的配置信息中的异常标志位和当前接口节点的父节点传过来的私有标志位。校验通过后查询配置的判断条件是否满足,其中判断条件可以为从响应队列中提取到的判断字段对应的字段值,与配置信息中的判断值相等。若满足判断条件则从请求报文或上级相应参数中提取请求参数并拼装报文后发送请求,执行当前接口节点的主体任务;若不满足则终止执行当前接口节点并将私有标志位置为false并传给当前接口节点的各子节点,即通知当前接口节点的所有子节点都不再执行。
在执行当前接口节点的主体任务时,若执行发生异常,则将异常标志位置为ture,并将异常信息写入响应队列并结束该任务流程;若执行正常,则将响应报文放入响应队列,并查看当前接口节点是否有子节点,有则将子节点的父节点计数减1,在判断当前接口节点的某子节点配置信息中父节点个数为0时,则启动新的任务流程执行该某子节点。
在组合接口执行完毕后,从响应队列中提取各个接口节点的响应报文中的信息,拼装成组合接口最终的返回报文,该报文即为组合接口的任务流程处理报文。
可选地,数据库中存储组合接口ID(Identity document,身份标识)、接口节点ID、父节点个数、子节点的ID列表、判断字段、判断值。以图2中的组合接口为例,其在数据库中的存储的数据结构可以如下表所示:
可选地,本实施例支持可视化配置,不需要对每次组合接口进行开发。需要对接口进行组合时,只需要运维人员在页面操作即可,大大减少了时间成本和人力成本。首先可以在页面上拖动节点,以单向图的形式搭建组合接口拓扑图。并为每个节点分配指向的原子能力,并配置该组合能力下的原子能力别名。配置完毕后任务流程处理设备将自动生成每个节点的父节点个数和子节点列表。然后运维人员可以在子能力列表里面可以配置该节点的请求报文模型、参数值提取路径、配置判断字段和判断值。配置完毕后可以配置组合接口最终返回模型及参数提取路径,作为拼装返回报文的依据。可视化配置大幅减少了开发人力成本和时间成本。
相对于现有技术中使用流程引擎进行任务流程处理的方式,本实施例具有以下优点:1.现有技术中使用流程引擎对接口的串行调用耗时较高,严重降低了用户体验和服务承载能力。本实施例通过树结构的接口节点组成组合接口,采用串并行结合的方案,并行执行配置的原子能力,最大限度的压缩了调用时间。2.现有技术中使用流程引擎对数据库访问的压力较高,每个流程调用中需要数次访问数据库,容易造成连接数过多。本实施例中只需要读取一次配置信息,之后便可将配置信息放入缓存,再次调用无需查询数据库,进而减少数据库的读取次数和压力。3.现有技术中对一些需要先调用某接口进行字段判断之后再决定后续调用的接口中,使用流程引擎无法实现。本实施例可以在调用原子能力前配置判断字段,如果不相等则不执行,便可实现该功能。例如:需要调用会员等级查询接口查询出用户的会员等级后,再依据会员等级发放对应的权益卡券的需求场景中,可以在调用白金会员权益发放接口和黄金会员权益发放接口前分别校验会员级别查询接口的返回字段,如果会员级别与权益卡券匹配才执行对应发放操作,不匹配的不执行。
本实施例可以在下游服务现有的能力基础上,聚合若干下游服务的能力,为调用者定制更全面的能力;也可以定制固定流程,方便调用者调用,减少开发工作。在需要先调用A接口并根据返回决定继续调用B还是C接口的需求场景中,也可以将3个接口都封装入组合接口,流程中可自行判断并调用,减少开发量和网络传输时间。相比activiti等流程引擎的串行调用来讲,有效的减少了总的调用耗时。
图6为本申请一实施例提供的基于原子接口的任务流程处理装置的结构示意图。如图6所示,该基于原子接口的任务流程处理装置60包括:获取模块601、处理模块602、发送模块603。
获取模块601,用于获取报文请求,其中,所述报文请求中包括初始参数。
处理模块602,用于根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行。
发送模块603,用于向其他组合接口或者设备,发送所述任务流程处理报文。
本申请实施例通过获取模块获取包括初始参数的报文请求,然后处理模块根据初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,组合接口包括具有执行次序关系的接口节点,执行次序关系的接口节点构成树结构,每一接口节点为原子接口,每一接口节点具有配置信息,配置信息包括异常标志位和私有标志位,异常标志位表征组合接口的处理正常或异常,私有标志位表征当前接口节点和当前接口节点的子节点是否执行;发送模块向其他组合接口或者设备,发送任务流程处理报文,通过将多个接口节点构成树结构,每个接口节点设置配置信息,形成组合接口,能够以串行和并行相结合的方式处理树结构的接口节点,从而提高业务流程的处理效率。
可选地,所述配置信息中还包括接口节点的父节点的个数;
所述处理模块602,具体用于:
根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中;
重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中;
其中,所述响应队列中的最后位置上的响应报文为所述任务流程处理报文。
可选地,所述处理模块602,还用于:
在将当前接口节点的响应报文缓存至响应队列中之后,在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
可选地,所述处理模块602,具体用于:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
可选地,所述处理模块602,还用于:
在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行所述组合接口。
可选地,所述处理模块602,还用于:
在执行所述当前接口节点时,在确定执行异常时,生成所述异常标志位。
可选地,所述配置信息还包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
本申请实施例提供的基于原子接口的任务流程处理装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图7为本申请一实施例提供的任务流程处理设备的硬件结构示意图。如图7所示,本实施例提供的任务流程处理设备70包括:至少一个处理器701和存储器702。该任务流程处理设备70还包括通信部件703。其中,处理器701、存储器702以及通信部件703通过总线704连接。
在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行如上的基于原子接口的任务流程处理方法。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的基于原子接口的任务流程处理方法。
上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种基于原子接口的任务流程处理方法,其特征在于,所述方法包括:
获取报文请求,其中,所述报文请求中包括初始参数;
根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行;
向其他组合接口或者设备,发送所述任务流程处理报文。
2.根据权利要求1所述的方法,其特征在于,所述配置信息中还包括接口节点的父节点的个数;根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,包括:
根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中;
重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中;
其中,所述响应队列中的最后位置上的响应报文为所述任务流程处理报文。
3.根据权利要求2所述的方法,其特征在于,在将当前接口节点的响应报文缓存至响应队列中之后,还包括:
在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
4.根据权利要求2所述的方法,其特征在于,所述执行当前接口节点,包括:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行所述组合接口。
6.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
在执行所述当前接口节点时,在确定执行异常时,生成所述异常标志位。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述配置信息还包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
8.一种基于原子接口的任务流程处理装置,其特征在于,包括:
获取模块,用于获取报文请求,其中,所述报文请求中包括初始参数;
处理模块,用于根据所述初始参数,执行组合接口中的各接口节点,得到任务流程处理报文,其中,所述组合接口包括具有执行次序关系的接口节点,所述执行次序关系的接口节点构成树结构,每一所述接口节点为原子接口,每一所述接口节点具有配置信息,所述配置信息包括异常标志位和私有标志位,所述异常标志位表征组合接口的处理正常或异常,所述私有标志位表征当前接口节点和当前接口节点的子节点是否执行;
发送模块,用于向其他组合接口或者设备,发送所述任务流程处理报文。
9.根据权利要求8所述的装置,其特征在于,所述配置信息中还包括接口节点的父节点的个数;
所述处理模块,具体用于:
根据所述初始参数,执行所述组合接口中的父节点个数为零的接口节点,得到响应报文,并将所述响应报文缓存至响应队列中;
重复执行以下过程,直至执行完所述组合接口中的各接口节点,或者直至确定停止执行所述组合接口:在确定当前接口节点的父节点均被执行完毕时,从所述响应队列中,获取与当前接口节点对应的父节点的响应报文中的参数;根据所获取的参数,执行当前接口节点,得到当前接口节点的响应报文;并将当前接口节点的响应报文缓存至响应队列中;
其中,所述响应队列中的最后位置上的响应报文为所述任务流程处理报文。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,还用于:
在将当前接口节点的响应报文缓存至响应队列中之后,在确定当前接口节点具有子节点时,将该子节点的父节点个数减一。
11.根据权利要求9所述的装置,其特征在于,所述处理模块,具体用于:
在确定当前接口节点的异常标志位表征组合接口的处理正常,并且当前接口节点的私有标志位表征当前接口节点和当前接口节点的子节点需要被执行时,确定执行当前接口节点。
12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于:
在确定当前接口节点的异常标志位表征组合接口的处理异常时,确定停止执行所述组合接口。
13.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于:
在执行所述当前接口节点时,在确定执行异常时,生成所述异常标志位。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述配置信息还包括以下的一种或多种:组合接口的标识、当前接口节点的标识、当前节点的子节点的标识、判断字段、判断值。
15.一种任务流程处理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-7任一项所述的基于原子接口的任务流程处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-7任一项所述的基于原子接口的任务流程处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011245414.2A CN112437126B (zh) | 2020-11-10 | 2020-11-10 | 基于原子接口的任务流程处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011245414.2A CN112437126B (zh) | 2020-11-10 | 2020-11-10 | 基于原子接口的任务流程处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437126A true CN112437126A (zh) | 2021-03-02 |
CN112437126B CN112437126B (zh) | 2022-06-03 |
Family
ID=74700830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011245414.2A Active CN112437126B (zh) | 2020-11-10 | 2020-11-10 | 基于原子接口的任务流程处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437126B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401199A (zh) * | 2022-01-06 | 2022-04-26 | 中国科学院计算机网络信息中心 | 一种层次化的网络能力模型 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205612A1 (en) * | 2009-02-10 | 2010-08-12 | Jagjeet Bhatia | Method and apparatus for processing protocol messages for multiple protocol instances |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN107908488A (zh) * | 2017-11-14 | 2018-04-13 | 中国银行股份有限公司 | 消息请求接口交互方法、装置、计算机设备及存储介质 |
CN108228369A (zh) * | 2018-01-19 | 2018-06-29 | 北京邮电大学 | 基于json树的可视化api组合系统及方法 |
CN109391516A (zh) * | 2017-12-29 | 2019-02-26 | 中国联合网络通信有限公司广东省分公司 | 实现多厂家utn设备集中维护管理的云化第三方网管系统 |
CN110390493A (zh) * | 2019-07-31 | 2019-10-29 | 北京字节跳动网络技术有限公司 | 任务管理方法、装置、存储介质及电子设备 |
CN111224814A (zh) * | 2019-11-19 | 2020-06-02 | 中国联合网络通信集团有限公司 | 报文处理方法及设备 |
CN111367690A (zh) * | 2020-03-03 | 2020-07-03 | 中国工商银行股份有限公司 | 一种支持组合api服务调用方法及装置 |
CN111737697A (zh) * | 2020-08-06 | 2020-10-02 | 中国人民解放军国防科技大学 | 一种基于原子化功能的安全扫描系统及扫描方法 |
-
2020
- 2020-11-10 CN CN202011245414.2A patent/CN112437126B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205612A1 (en) * | 2009-02-10 | 2010-08-12 | Jagjeet Bhatia | Method and apparatus for processing protocol messages for multiple protocol instances |
CN107809332A (zh) * | 2017-11-10 | 2018-03-16 | 中国民生银行股份有限公司 | 复合接口配置及复合接口调用方法、装置 |
CN107908488A (zh) * | 2017-11-14 | 2018-04-13 | 中国银行股份有限公司 | 消息请求接口交互方法、装置、计算机设备及存储介质 |
CN109391516A (zh) * | 2017-12-29 | 2019-02-26 | 中国联合网络通信有限公司广东省分公司 | 实现多厂家utn设备集中维护管理的云化第三方网管系统 |
CN108228369A (zh) * | 2018-01-19 | 2018-06-29 | 北京邮电大学 | 基于json树的可视化api组合系统及方法 |
CN110390493A (zh) * | 2019-07-31 | 2019-10-29 | 北京字节跳动网络技术有限公司 | 任务管理方法、装置、存储介质及电子设备 |
CN111224814A (zh) * | 2019-11-19 | 2020-06-02 | 中国联合网络通信集团有限公司 | 报文处理方法及设备 |
CN111367690A (zh) * | 2020-03-03 | 2020-07-03 | 中国工商银行股份有限公司 | 一种支持组合api服务调用方法及装置 |
CN111737697A (zh) * | 2020-08-06 | 2020-10-02 | 中国人民解放军国防科技大学 | 一种基于原子化功能的安全扫描系统及扫描方法 |
Non-Patent Citations (4)
Title |
---|
TITUS WINTERS: ""Non-Atomic Refactoring and Software Sustainability"", 《2018 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON API USAGE AND EVOLUTION (WAPI)》 * |
TITUS WINTERS: ""Non-Atomic Refactoring and Software Sustainability"", 《2018 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON API USAGE AND EVOLUTION (WAPI)》, 23 August 2018 (2018-08-23) * |
殷琦、杜明、刘晓强、常姗、蔡立志: ""基于云环境的分布式软件接口自动化测试"", 《计算机测量与控制》 * |
殷琦、杜明、刘晓强、常姗、蔡立志: ""基于云环境的分布式软件接口自动化测试"", 《计算机测量与控制》, vol. 23, no. 07, 25 July 2015 (2015-07-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401199A (zh) * | 2022-01-06 | 2022-04-26 | 中国科学院计算机网络信息中心 | 一种层次化的网络能力模型 |
CN114401199B (zh) * | 2022-01-06 | 2024-03-01 | 中国科学院计算机网络信息中心 | 一种层次化的网络能力模型管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112437126B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
WO2018184535A1 (zh) | 保险业务处理方法、装置、服务器和存储介质 | |
CN109327353B (zh) | 业务流量确定方法、装置及电子设备 | |
CN109145051A (zh) | 分布式数据库的数据汇总方法及装置和电子设备 | |
CN113938522B (zh) | 事件消息传输方法、系统、设备和计算机存储介质 | |
CN111367873A (zh) | 日志数据的存储方法、装置、终端及计算机存储介质 | |
CN112433863A (zh) | 微服务调用方法、装置、终端设备以及存储介质 | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN112437126B (zh) | 基于原子接口的任务流程处理方法和设备 | |
CN111224814B (zh) | 报文处理方法及设备 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
CN114244905B (zh) | 数据转发方法、装置、计算机设备和存储介质 | |
CN112860720B (zh) | 一种存储容量的更新方法以及装置 | |
CN111651522B (zh) | 一种数据同步方法及装置 | |
CN113127327B (zh) | 一种用于性能测试的测试方法及装置 | |
CN112732547B (zh) | 业务测试方法、装置、存储介质及电子设备 | |
CN115811481B (zh) | 一种交互服务测试方法、装置、计算机设备及存储介质 | |
CN114218303B (zh) | 一种交易数据的处理系统、处理方法、介质和设备 | |
CN113779021B (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN115994156A (zh) | 用于实时分析数据流的方法和系统 | |
CN115328734A (zh) | 跨服务的日志处理方法、装置及服务器 | |
CN113590352A (zh) | 一种数据调用方法、装置、设备及可读存储介质 | |
CN111652580B (zh) | 一种对节点的数据处理方法及装置 | |
CN109905446B (zh) | 一种业务处理方法、服务器和计算机存储介质 | |
CN114064429A (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 |