业务场景获取方法、装置、电子设备及介质
技术领域
本说明书实施例涉及计算机技术领域,尤其涉及一种业务场景获取方法、装置、电子设备及介质。
背景技术
随着业务需求的不断变化,平台类***接入的业务呈现***式的增长,而每一次***业务变更都可能会导致***出现错误。例如,在对***中的A业务进行变更后,A业务变更并未成功,或者是A业务的变更对***中其他业务带来了影响,导致其他业务无法正常运行,都会严重影响***的质量保障。因此,检验***业务变更是否出现错误,是业务变更时需要重点考虑的问题。
发明内容
本说明书实施例提供了一种业务场景获取方法、装置、电子设备及介质。
第一方面,本说明书实施例提供了一种业务场景获取方法,包括:对接收到的业务请求的业务流程进行监控;当所述业务流程执行到预先配置的M个采集节点中的任意一个采集节点时,将执行到的采集节点作为目标采集节点,基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据,待所述业务流程执行完毕后,得到N个目标采集节点中的特征数据,其中,M为大于或等于1的整数,N为小于或等于M的正整数;判断所述N个目标采集节点中的特征数据是否满足预设用例条件;若满足所述预设用例条件,基于所述N个目标采集节点中的特征数据,生成业务场景用例,并将所述业务场景用例添加到预设的业务场景集合中,其中,所述业务场景集合用于检验***业务变更是否出现错误。
第二方面,本说明书实施例提供了一种业务场景获取装置,包括:监控模块,用于对接收到的业务请求的业务流程进行监控;获取模块,用于当所述业务流程执行到预先配置的M个采集节点中的任意一个采集节点时,将执行到的采集节点作为目标采集节点,基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据,待所述业务流程执行完毕后,得到N个目标采集节点中的特征数据,其中,M为大于或等于1的整数,N为小于或等于M的正整数;判断模块,用于判断所述N个目标采集节点中的特征数据是否满足预设用例条件;用例生成模块,用于若满足所述预设用例条件,基于所述N个目标采集节点中的特征数据,生成业务场景用例,并将所述业务场景用例添加到预设的业务场景集合中,其中,所述业务场景集合用于检验***业务变更是否出现错误。
第三方面,本说明书实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面提供的业务场景获取方法的步骤。
第四方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面提供的业务场景获取方法的步骤。
本说明书实施例有益效果如下:
本说明书实施例提供的业务场景获取方法,通过对接收到的业务请求的业务流程进行监控,从业务流程中采集目标采集节点中的特征数据,并在采集到的特征数据满足预设用例条件时,基于业务流程经过的所有目标采集节点中的特征数据生成相应的业务场景用例,添加到预设的业务场景集合中,能够方便且高效地构建***的业务场景集合。并且,深入到业务流程中采集特征数据,有利于对***内部的业务分支进行全面覆盖,保证获取的业务场景用例的全面性。在***业务发生变更后,就可以基于业务场景集合中的业务场景用例,对***中的相应业务场景进行回放,根据回放结果检验集合中的这些业务场景是否出现错误,以便于在***业务变更出现错误时及时修正错误,保障***质量。
附图说明
图1为一种示例性业务流程的示意图;
图2为本说明书实施例第一方面提供的一种业务场景获取方法的流程图;
图3为本说明书实施例第二方面提供的一种业务场景获取装置的模块框图;
图4为本说明书实施例第三方面提供的一种电子设备的结构示意图。
具体实施方式
为了便于检验***业务变更是否出现错误,从而保障平台类***的质量,本说明书实施例提出了一种业务场景获取方法,通过对接收到的业务请求的业务流程进行监控;当业务流程执行到预先配置的M个采集节点中的任意一个采集节点时,将执行到的采集节点作为目标采集节点,基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据,待所述业务流程执行完毕后,得到N个目标采集节点中的特征数据,其中,M为大于或等于1的整数,N为小于或等于M的正整数;然后,判断N个目标采集节点中的特征数据是否满足预设用例条件;若满足该预设用例条件,则基于N个目标采集节点中的特征数据,生成业务场景用例,并将生成的业务场景用例添加到预设的业务场景集合中,以便于基于业务场景集合中的用例检验***业务变更是否出现错误。
在***业务发生变更时,可以基于该业务场景集合中的业务场景用例,对***中的相应业务场景进行回放,从而根据回放结果检验这些业务场景是否出现错误,以在出现错误时及时修正错误,保障***质量。
可以理解的是,上述业务场景获取过程,是对单个业务请求执行的业务场景获取过程,在实际应用场景中,可以在线对接收到的每个业务请求均执行上述业务场景获取过程,将***中存在的业务场景的用例均添加到业务场景集合中,当接收到的业务请求足够多时,就能够得到***的全量业务场景集合。这样就可以在对***中某一个或多个业务进行变更后,基于全量业务场景集合包含的业务场景用例,对***中所有的业务场景进行回放,根据每个业务场景用例的回放结果,检验业务变更是否成功,以及业务变更是否对其他未变更业务带来影响,方便确定业务变更是否出现错误。
为了更好的理解本说明书实施例提供的业务场景获取方法,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例中,术语“多个”表示“两个以上”,即包括两个或大于两个的情况。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
业务流程是指为了满足某个业务功能需要的一系列逻辑的串联,例如,图1示出了一种示例性的业务流程,***接收到业务请求后,对业务请求进行解析,依次经过节点K1、节点K2及判断节点K3,当判断结果为否时,进入节点K4,当判断结果为是时,经过节点K5,得到返回结果,从解析业务请求到得到返回结果的过程即为该业务请求对应的业务流程。其中,节点K1、节点K2、判断节点K3、节点K4以及节点K5分别可以为***框架中的接口、方法或类。业务场景是指某个业务下的细分情况或子集,例如,交易业务下可以细分为拍卖业务、担保交易业务和预售业务,每一种细分均为该业务下的一种业务场景。
第一方面,本说明书实施例提供了一种业务场景获取方法,该方法可以由平台***的服务器侧执行。如图2所示,所述方法至少可以包括以下步骤S200-步骤S206。
步骤S200,对接收到的业务请求的业务流程进行监控。
当***接收到业务请求时,则触发上述步骤S200,对该业务请求的业务流程进行监控,即对整个业务流程中的各节点进行监控。需要说明的是,本实施例所述的业务流程中的节点,除了业务请求和返回结果以外,还包括业务流程涉及的内部节点如类、方法或接口等。举例来讲,某业务流程从业务请求开始,需要经过A1类的方法a1,再经过B1类的方法b1、方法b2以及方法b4,再经过C2类的方法c2以及方法c3,经过接口d1以及接口d3,得到返回结果,则该业务流程的节点包括业务请求、方法a1、方法b1、方法b2、方法b4、方法c2、方法c3、接口d1、接口d3以及返回结果。
步骤S202,当业务流程执行到预先配置的M个采集节点中的任意一个采集节点时,将执行到的采集节点作为目标采集节点,基于目标采集节点中预先配置的特征字段,从目标采集节点中获取特征字段对应的特征数据,待业务流程执行完毕后,得到N个目标采集节点中的特征数据。
本实施例中,需要预先根据实际应用的***确定用于标识***中业务场景需要特征字段,再将特征字段所在的节点确定为采集节点。例如,对于网络支付平台来讲,可以将用于表示交易类型字段、支付方式字段等均作为特征字段,再相应地将这些字段所在的节点作为采集节点。特征字段可以有一个或多个,相应地,采集节点也可以有一个或多个,也就是说,步骤S202中的M为大于或等于1的整数。例如,若所有特征字段均位于同一节点中,则配置该节点为采集节点,此时采集节点有一个,若特征字段有多个,且位于不同的节点中,则将这些节点均配置为采集节点,此时,采集节点有多个。
举例来讲,对于只需要采集位于业务请求中特征字段的特征数据即可标识业务场景的***,采集节点可以只包含业务请求。对于只需要采集位于返回结果中特征字段的特征数据即可标识业务场景的***,采集节点可以只包含返回结果。对于需要组合分别位于业务请求、节点K1、节点K2以及返回结果等多个节点中特征字段的特征数据,来标识业务场景的***,可以相应配置多个采集节点。
因此,在执行步骤S202之前,需要先执行配置步骤,基于预先确定的特征字段,在***框架中对采集节点进行配置,并配置每个采集节点中的特征字段,以通过这些特征字段对***中包含的业务场景进行细分,通过采集这些特征字段对应的特征数据来标识***中不同的业务场景。需要说明的是,采集节点以及相应的特征字段具体可以根据实际应用的***进行配置。
于本说明书一可选的实施例中,采集节点的配置以及每个采集节点中特征字段的配置可以采用动态嵌入的方式,使得配置过程与业务流程脱耦,这样只需要向服务器推送相关配置信息即可完成配置步骤,不需要代码变更或发布,提升了灵活性。具体来讲,上述配置步骤可以包括:接收配置信息,所述配置信息包括采集节点配置信息以及特征字段配置信息;基于所述采集节点配置信息,配置所述M个采集节点;基于所述特征字段配置信息,配置所述M个采集节点中每个采集节点的特征字段。
在一种可选的实施方式中,可以采用在***框架中设置埋点的方式配置M个采集节点。例如,可以在***框架的接口层或方法层等进行埋点,将相应接口或方法等配置为采集节点,如在***中方法层级***埋点拦截代码,基于埋点拦截代码得到的相应特征字段的特征数据。当然,在具体实施过程中,除了设置埋点的方式以外,也可以采用其他实施方式在***框架中配置采集节点。
需要说明的是,采集节点以及特征字段的配置过程为动态配置过程,在执行完上述节点配置步骤后,若后续需要对采集节点和/或特征字段进行变更,例如删除或添加采集节点和/或特征字段,则可以根据实际需要重新向服务器发送新的配置信息,对***框架中采集节点以及特征字段的配置进行更新。
配置完成后,在步骤S202中,假设业务流程先执行到预先配置的M个采集节点中的节点Q1,则将节点Q1作为目标采集节点,基于节点Q1中预先配置的特征字段,从节点Q1中获取相应特征字段对应的特征数据,接着,继续执行后续节点,在执行到上述M个采集节点中的节点Q2时,又将节点Q2作为目标采集节点,基于节点Q2中预先配置的特征字段,从节点Q2中获取相应特征字段对应的特征数据,以此类推。假设在整个业务流程中,先后经过了上述预先配置的M个采集节点中的节点Q1、节点Q2和节点Q3,则会先后将节点Q1、节点Q2和节点Q3分别作为目标采集节点。
也就是说,在上述业务流程中,目标采集节点一共有3个,分别为节点Q1、节点Q2和节点Q3,N=3,M为大于或等于3的整数。在业务流程执行完毕后,就可以得到3个目标采集节点,即节点Q1、节点Q2和节点Q3中的特征字段对应的特征数据。通过深入到业务流程中采集特征数据,有利于对***内部的业务分支进行全面覆盖,保证获取的业务场景用例的全面性,从而有利于更全面地检验***业务变更是否出现错误。
需要说明的是,在上述步骤S202中,N为小于或等于M的正整数,即业务流程中,目标采集节点的数量小于或等于预先配置的采集节点的数据。
具体来讲,在本说明书一实施例中,***中每个业务场景均包含预先确定的特征字段,即预先配置的M个采集节点为***中所有业务场景对应的业务流程均包含的节点。此时,在上述S202中,预先配置的M个采集节点中每个采集节点均会先后作为目标采集节点,即N=M。可以理解的是,在针对某平台***预先配置了一个采集节点如配置业务请求或返回结果为采集节点的情况下,目标采集节点也只能为一个,即N=M=1。
举例来讲,预先确定了***中用于标识业务场景的四个特征字段,分别为X1字段、X2字段、Y1字段以及Z1字段,其中,X1字段和X2字段位于节点1中,Y1字段位于节点2中,Z1字段位于节点3中,则将节点1、节点2和节点3均被配置为采集节点。***中每个业务场景均包含上述四个特征字段,相应的业务流程也均包含节点1、节点2和节点3。此时,针对每个接收到的业务请求,在相应业务流程中,会先后将节点1、节点2和节点3分别作为目标采集节点,从节点1中分别获取X1字段和X2字段的特征数据,从节点2中获取Y1字段的特征数据,从节点3中获取Z1字段的特征数据。
在本说明书另一实施例中,平台***中为不同业务下的业务场景配置的特征字段存在不同,相应地,不同业务下的业务场景经过的目标采集节点也存在不同。当预先配置有多个采集节点,即M大于或等于2时,针对某些业务请求,上述S202中业务流程涉及的目标采集节点的数量可以小于预先配置的采集节点的数量,即N可以为小于M的整数。
举例来讲,预先确定了***中用于标识R1业务下的业务场景的三个特征字段F1~F3,用于标识R2业务下的业务场景的四个特征字段F1′~F4′,F1~F3和F1′~F4′之间可以存在相同的字段,也可以均为不同的字段。假设特征字段F1和F2位于采集节点H1,F3位于采集节点H2,F1′和F2′位于采集节点H1′,F3′位于采集节点H2′,F4′位于采集节点H3′,此时,需要预先在***框架中配置的采集节点包括H1、H2、H1′、H2′和H3′。其中,H1和H1′可以为同一节点,也可以为不同节点,H2和H2′可以为同一节点,也可以为不同节点。假设H1和H1′为同一节点,H2和H2′为不同节点,则配置的采集节点为4个,分别为H1、H2、H2′和H3′。此时,对于R1业务下的业务请求,对应的业务流程经过的目标采集节点为2个,分别为H1和H2,在节点H1中获取F1和F2的特征数据,在节点H2中获取F3的特征数据;对于R2业务下的业务请求,对应的业务流程经过的目标采集节点为3个,分别为H1、H2′和H3′,在节点H1中获取F1′和F2′的特征数据,在节点H2′中获取F3′的特征数据,在节点H3′中获取F4′的特征数据。
步骤S204,判断所述N个目标采集节点中的特征数据是否满足预设用例条件。
本实施例中,在执行步骤S204之前,需要预先构建业务场景集合。可以理解的是,在初始状态下即还没有业务场景用例生成的情况下,业务场景集合为空。随着接收到的业务请求的增长,且对接收到的每个业务请求执行本说明书实施例提供的步骤S200至步骤S206,业务场景集合中加入的业务场景用例数量也会逐渐增加。
可以理解的是,上述采集到的N个目标采集节点中的特征数据能够作为业务场景的唯一标识数据,即不同业务场景对应的采集数据不同。在上述步骤S204中,预设用例条件即为生成业务场景用例并添加到上述业务场景集合的条件,具体可以根据实际需要设置。具体来讲,上述判断所述N个目标采集节点中的特征数据是否满足预设用例条件的过程可以包括:检测预设的业务场景集合中是否存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同;基于检测结果确定上述N个目标采集节点中的特征数据是否满足预设用例条件。
在本说明书一实施例中,***中每个业务场景对应的特征字段均相同。此时,检测预设的业务场景集合中是否存在业务场景用例对应的特征数据与上述采集数据即N个目标采集节点中的特征数据相同的实施过程可以包括:将上述采集数据与业务场景集合中已有的业务场景用例进行对比,检测业务场景集合中是否存在业务场景用例与上述采集数据在同一特征字段下的特征数据均相同,若不存在,则表示上述采集数据还没有被采集到,满足预设用例条件,继续执行以下步骤S206。
例如,在上述示例中,将业务场景集合中的业务场景用例中,X1、X2、Y1以及Z1字段的特征数据分别与上述采集数据中X1、X2、Y1以及Z1字段的特征数据进行对比,若X1、X2、Y1以及Z1字段中任意一个字段的特征数据不同,则表示不存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同,若X1、Y1、Y2以及Z1字段中同一字段的特征数据均相同,则表示存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同。
在本说明书另一实施例中,***中的业务场景对应的特征字段存在不同。此时,上述检测预设的业务场景集合中是否存在业务场景用例对应的特征数据与上述采集数据即N个目标采集节点中的特征数据相同的实施过程可以包括:将上述采集数据与业务场景集合中已有的业务场景用例进行对比,判断业务场景集合中是否存在业务场景用例对应的特征字段与上述采集数据的特征字段相同,且在同一特征字段的特征数据均相同,若不存在,则表示上述采集数据还没有被采集到,满足预设用例条件,继续执行以下步骤S206。
例如,在上述示例中,R1业务下的业务场景和R2业务下的业务场景的特征字段存在不同,则需要先查找业务场景集合中与上述采集数据对应的特征字段相同的业务场景用例,再判断查找到的业务场景用例与上述采集数据在同一特征字段的特征数据是否均相同,如特征字段均为F1~F3,则需要分别判断F1对应的特征数据是否相同,F2对应的特征数据是否相同,F3对应的特征数据是否相同,若均相同,则表示存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同,若任意一个特征字段的特征数据不同,则表示不存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同。当然,若在业务场景集合中没有查找到与上述采集数据对应的特征字段相同的业务场景用例,也表示不存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同。
在一种可选的实施方式,得到检测结果后,基于检测结果确定上述N个目标采集节点中的特征数据是否满足预设用例条件的实施过程可以包括:当业务场景集合中不存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同时,判定上述N个目标采集节点中的特征数据满足预设用例条件,当业务场景集合中存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同时,确定业务场景集合中与上述N个目标采集节点中的特征数据相同的业务场景用例数量,当数量小于预设冗余阈值时,判定上述N个目标采集节点中的特征数据满足预设用例条件,当数量等于预设冗余阈值时,判定上述N个目标采集节点中的特征数据不满足所述预设用例条件。其中,预设冗余阈值可以根据实际需要设置,例如,可以设置为3个或5个等。在业务场景集合中设置冗余的业务场景用例,有利于基于业务场景集合回放业务场景时,针对每种业务场景,采用不同的用例进行回放,有利于提高检验结果的准确性,避免由于检验结果不准确导致的资源浪费。
在另一种可选的实施方式中,得到检测结果后,基于检测结果确定上述N个目标采集节点中的特征数据是否满足预设用例条件的实施过程也可以包括:当业务场景集合中不存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同时,判定上述N个目标采集节点中的特征数据满足预设用例条件,当业务场景集合中存在业务场景用例对应的特征数据与上述N个目标采集节点中的特征数据相同时,判定上述N个目标采集节点中的特征数据不满足预设用例条件。
于本说明书一可选的实施例中,为了减少对***性能的损耗,在判定上述采集数据是否满足预设用例条件之前,可以对上述采集数据进行上下文存储,即将获取的特征数据按照所在目标采集节点的执行顺序依次在内存中进行暂存。当判定上述采集数据满足预设用例条件时,再基于暂存的采集数据,生成业务场景用例,存储到本地,添加业务场景集合中,当判定上述采集数据不满足预设用例条件时,则丢弃暂存的采集数据,释放内存。
步骤S206,若满足预设用例条件,基于N个目标采集节点中的特征数据,生成业务场景用例,并将业务场景用例添加到预设的业务场景集合中。
本实施例中,具体业务场景用例的生成方式根据业务场景集合的实际应用场景需求决定。下面主要列举两种场景下,业务场景用例的生成进行说明。当然,除了这两种场景需求以外,在具体实施过程中,还可以根据其他场景需求进行相应的用例生成,此处不作限制。
第一种,业务场景集合用于回放业务场景以检验***业务变更是否出现错误。例如,检验变更业务是否变更成功,以及检验***中的某一个或多个业务变更是否对其他未变更业务带来影响。此时,步骤S206中所生成的业务场景用例至少包含用于回放步骤S200中的业务请求对应的业务场景的必要数据。因此,所生成的业务场景用例中,除了包含上述采集数据以外,还包括业务流程中的其他需要用于回放相应业务场景的数据,例如,还包括整个业务流程的入参数据和出参数据。
相应地,上述基于N个目标采集节点中的特征数据,生成业务场景用例的过程可以包括:获取业务流程中的场景用例数据,将上述N个目标采集节点中的特征数据以及场景用例数据,通过结构化的数据结构保存下来,作为业务场景用例。其中,场景用例数据即为除上述采集数据以外的其他回放相应业务场景所需要的数据。这样通过回放该业务场景用例,就可以检验***业务变更是否出错。例如,若该业务场景用例对应于变更业务,则该业务场景用例的回放结果应该出现相应的变更,否则,说明***业务变更出现错误;而若该业务场景用例对应于未变更业务,则该业务场景用例的回放结果应该不发生变更,否则,说明***业务变更出现错误。这样就可以方便且高效地检验***业务变更是否出现错误,以在检验到***业务变更出现错误时及时修正错误,保障***质量。
第二种,业务场景集合用于存放***中的全量业务场景种类索引,为相关人员提供***中已有的业务场景概况,集合中每一个业务场景用例即为一个业务场景的唯一索引,通过该索引可以查找到相应业务场景的业务调用日志,进行相关业务分析。例如,当需要检验***业务变更是否出错时,通过业务场景集合中的业务场景用例即可查找到相应业务场景的业务调用日志,从中筛选出一条或多条业务请求对应的业务调用日志,进行数据清洗,得到场景回放数据,通过场景回放数据即可对相应的业务场景进行回放,从而根据回放结果确定该业务场景是否正常。
此时,上述基于N个目标采集节点中的特征数据,生成业务场景用例的过程可以包括:将上述N个目标采集节点中的特征数据,通过结构化的数据结构保存下来,作为业务场景用例。
另外,若上述步骤S204判定上述N个目标采集节点中的特征数据不满足预设用例条件,则结束本次业务场景获取过程,不再继续执行上述步骤S206生成业务场景用例,当接收到下一个业务请求时,再继续针对下一个业务请求,执行上述对接收到的业务请求的业务流程进行监控的步骤,即针对接收到的下一个业务请求执行上述步骤S200至步骤S206。
需要说明的是,在一种具体应用场景中,可以在线对***接收到的每个业务请求执行上述步骤S200至步骤S206,当接收到的业务请求足够多时,就可以得到全量业务场景集合。也就是说,业务场景集合中包含***中的全量业务场景用例,即***中已有的全部业务场景对应的业务场景用例。并且,随着***中业务的变更,业务场景集合也会不断更新,保证全场景的实时更新。
当然,为了节约***资源,在其他应用场景中,也可以预先设置一时间段,对该时间段内接收到的每个业务请求执行上述步骤S200至步骤S206,得到***的业务场景集合。
另外,在一些应用场景中,***中某些业务场景对应的业务流程中部分节点决策时是具有时效性的,比如某个信息过了某个时间段就会失效了,如果不对这些信息进行保存,那么等到回放业务场景时业务流程将走不到那个节点了。例如,在支付场景中,电子红包以及线上折扣等虚拟资源的使用,均是具有时效条件的,电子红包在实际使用后就没有了,而线上折扣在超出特定时间段后也没有了。这样对于***中涉及使用电子红包或折扣的业务场景,在对业务场景进行回放时已无法在***中使用这些资源,就会导致场景回归时失真。
因此,为了保证基于业务场景集合中的业务场景用例,回放的业务场景的真实性,防止在场景回归时失真,在图2示出的实施例的基础上,在本说明书一可选的实施例中,上述对接收到的业务请求的业务流程进行监控,还包括:当业务流程执行到预先配置的P个缓存节点中的任意一个目标缓存节点时,对目标缓存节点的出入参信息进行缓存,其中,P为大于或等于1的整数,所述缓存节点为***框架中具有时效条件的节点。
举例来讲,在某支付场景中,用户需要支付55元,用户分别通过电子红包抵扣5元,通过账户余额支付50元,在这个业务流程中,由于电子红包只能使用一次,且账户余额会随着每次扣款发生变动,因此,使用电子红包扣款的节点以及使用账户余额扣款的节点均为具有时效条件的节点,需要对这两个节点的出入参数据进行缓存。可以理解的是,出入参数据包括相应节点的入参数据和出参数据。例如,在上述示例中,使用电子红包扣款的节点的入参数据为:总金额55元,电子红包扣款5元,出参数据为:扣款成功,使用账户余额扣款的节点的入参数据为:总金额55元,账户余额扣款50元,出参数据为:扣款成功,账户余额为150元。
此时,在生成业务场景用例时,除了需要用到特征数据以外,还需要用到缓存的出入参数据。也就是说,上述基于N个目标采集节点中的特征数据,生成业务场景用例可以包括:基于N个目标采集节点中的特征数据以及缓存的每个目标缓存节点的出入参数据,生成业务场景用例。具体来讲,可以将上述N个目标采集节点中的特征数据、缓存的每个目标缓存节点的出入参数据以及场景用例数据,通过结构化的数据结构保存下来,作为业务场景用例。这样在基于生成的业务场景用例,回放相应业务场景时,执行到目标缓存节点时,就可以使用缓存的出入参数据,以得到真实的回放结果。
需要说明的是,上述P个缓存节点可以根据实际应用的***进行配置。在执行上述步骤S200之前,预先将***框架中具有时效条件的节点配置为缓存节点。与配置采集节点的方式类似,可以通过向服务器发送缓存节点配置信息,使得服务器基于接收到缓存节点配置信息,配置P个缓存节点。
另外,考虑到在一些应用场景中,只需要对特定业务的业务场景进行校验,此时,为了节约***资源,可以只针对性地构建上述特定业务下的业务场景集合。于本说明书一可选的实施例中,在图2示出的实施例的基础上,在上述步骤S202中,每执行到一个目标采集节点,在基于目标采集节点中预先配置的特征字段,从目标采集节点中获取所述特征字段对应的特征数据之后,还可以包括:检测所述特征字段是否对应有预设的目标场景条件;当所述特征字段对应有所述目标场景条件时,判断所述特征字段对应的特征数据是否满足所述目标场景条件;若满足,则继续在所述业务流程执行到下一个目标采集节点时,执行所述基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据的步骤;若不满足,则结束本次业务场景获取过程。当接收到下一个业务请求时,继续针对所述下一个业务请求,执行本说明书实施例提供的业务场景获取方法。这样就可以通过所设置的目标场景条件生成特定业务下的业务场景用例,构建特定业务的业务场景集合。
其中,目标场景条件可以根据实际需要构建业务场景集合的特定业务设置。具体来讲,可以从预先根据***中的业务场景确定的特征字段中,针对能够用于区分所关注的业务与其他业务的特征字段,配置相应的目标场景条件。对于配置有目标场景条件的特征字段,则需要执行上述是否满足目标场景条件的判断步骤。对于没有配置有目标场景条件的特征字段,则不需要执行上述是否满足目标场景条件的判断步骤,继续对下一个目标采集节点进行特征数据采集。
举例来讲,对于通信业务管理***,若需要对其中的充值业务构建业务场景集合,则可以针对用于表示业务类型的特征字段,预先设置对应的目标场景条件,当该特征字段的特征数据为“充值”时,满足该特征字段对应的目标场景条件,继续采集下一目标采集节点的特征数据;当该特征字段的特征数据不为“充值”时,则不满足该特征字段对应的目标场景条件,表示当前业务请求不属于需要构建业务场景集合的业务类型,则不再继续采集下一个目标采集节点的特征数据,抛弃当前业务请求,停止本次业务场景采集过程。这样就可以针对性地生成充值业务下的业务场景用例,构建充值业务对应的业务场景集合。
本说明书实施例提供的业务场景获取方法,通过对接收到的业务请求的业务流程进行监控,采集目标采集节点中的特征数据,并在采集到的特征数据满足预设用例条件时,生成相应的业务场景用例,添加到预设的业务场景集合中,能够方便且高效地构建***的业务场景集合。并且,深入到业务流程中采集特征数据,有利于对***内部的业务分支进行全面覆盖,保证获取的业务场景用例的全面性。在***业务发生变更后,基于业务场景集合中的业务场景用例,能够对***中的相应业务场景进行回放,从而根据回放结果检验这些业务场景是否出现错误,以便于在***业务变更出现错误时及时修正错误,保障***质量。
此外,本说明书实施例提供的业务场景获取方法还可以用于根据实际需要获取特定业务下的业务场景,得到特定业务的业务场景集合。
第二方面,基于与前述第一方面实施例提供的业务场景获取方法同样的发明构思,本说明书实施例还提供了一种业务场景获取装置。如图3所示,该业务场景获取装置30包括:
监控模块31,用于对接收到的业务请求的业务流程进行监控;
获取模块32,用于当所述业务流程执行到预先配置的M个采集节点中的任意一个采集节点时,将执行到的采集节点作为目标采集节点,基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据,待所述业务流程执行完毕后,得到N个目标采集节点中的特征数据,其中,M为大于或等于1的整数,N为小于或等于M的正整数;
判断模块33,用于判断所述N个目标采集节点中的特征数据是否满足预设用例条件;
用例生成模块34,用于若满足所述预设用例条件,基于所述N个目标采集节点中的特征数据,生成业务场景用例,并将所述业务场景用例添加到预设的业务场景集合中,其中,所述业务场景集合用于检验***业务变更是否出现错误。
作为一种可选的实施例,上述判断模块33包括:
检测子模块331,用于检测预设的业务场景集合中是否存在业务场景用例对应的特征数据与所述N个目标采集节点中的特征数据相同;当不存在时,判定所述N个目标采集节点中的特征数据满足所述预设用例条件;
冗余子模块332,用于当存在时,确定所述业务场景集合中与所述N个目标采集节点中的特征数据相同的业务场景用例数量,当所述数量小于预设冗余阈值时,判定所述N个目标采集节点中的特征数据满足所述预设用例条件,当所述数量等于所述预设冗余阈值时,判定所述N个目标采集节点中的特征数据不满足所述预设用例条件。
作为一种可选的实施例,上述业务场景获取装置30还包括配置模块,用于:接收配置信息,所述配置信息包括采集节点配置信息以及特征字段配置信息;基于所述采集节点配置信息,配置所述M个采集节点;基于所述特征字段配置信息,配置所述M个采集节点中每个采集节点的特征字段。
作为一种可选的实施例,上述业务场景获取装置30还包括:
缓存模块,用于当所述业务流程执行到预先配置的P个缓存节点中的任意一个目标缓存节点时,对所述目标缓存节点的出入参数据进行缓存,其中,P为大于或等于1的整数,所述缓存节点为***框架中具有时效条件的节点;
所述用例生成模块34用于:基于所述N个目标采集节点中的特征数据以及缓存的每个目标缓存节点的出入参数据,生成业务场景用例。
作为一种可选的实施例,上述获取模块32还用于:
检测所述特征字段是否对应有预设的目标场景条件;
当所述特征字段对应有所述目标场景条件时,判断所述特征字段对应的特征数据是否满足所述目标场景条件;
若满足,则继续在所述业务流程执行到下一个目标采集节点时,执行所述基于所述目标采集节点中预先配置的特征字段,从所述目标采集节点中获取所述特征字段对应的特征数据的步骤;
若不满足,则结束本次业务场景获取过程。
作为一种可选的实施例,上述业务场景用例至少包含用于回放所述业务请求对应的业务场景的必要数据。
需要说明的是,本说明书实施例所提供的业务场景获取装置30,其中各个模块执行操作的具体方式已经在上述第一方面提供的方法实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,基于与前述实施例提供的业务场景获取方法同样的发明构思,本说明书实施例还提供了一种电子设备,如图4所示,包括存储器404、一个或多个处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文第一方面提供的业务场景获取方法的步骤。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
可以理解的是,图4所示的结构仅为示意,本说明书实施例提供的电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
第四方面,基于与前述实施例中提供的业务场景获取方法同样的发明构思,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文第一方面提供的业务场景获取方法的步骤。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。