1.本发明涉及金融科技领域,具体而言,涉及一种关联场景的提取方法及其装置、电子设备及存储介质。
背景技术:2.随着企业的数字化转型,软件系统也日趋复杂,性能测试在软件测试中的重要性显著提升。性能测试主要围绕软件系统中的核心交易、高频交易开展,首要测试目标往往与当期版本修改内容相关。但是,由于需求场景的变化不仅对当期修改的系统功能产生了压力,很可能还会对此前并无压力的功能产生连带压力,因此,仅针对单点的性能测试存在明显的场景遗漏。通常,性能测试中往往需要结合多个测试点,也就是需要将性能测试场景进行串联,目前对于多个测试点的串联验证,主要依靠测试人员的经验,进行人工验证,尚无有效的工具支撑。
3.相关技术中,虽然通过测试方案、测试案例的积累作为串联验证的参考,但测试方案的整理大多需要通过人工梳理,容易导致需要性能测试的关联场景的缺失,且存在一定的滞后性。因此,亟需一种快速反应、自动整理的性能测试关联场景的提取方法,以减少人工梳理,为性能测试的串联验证提供测试方案。
4.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:5.本发明实施例提供了一种关联场景的提取方法及其装置、电子设备及存储介质,以至少解决相关技术中需要人工梳理关联的测试场景,容易导致需测试的关联场景缺失的技术问题。
6.根据本发明实施例的一个方面,提供了一种关联场景的提取方法,包括:基于预设埋点日志,获取节点的节点信息,其中,每个所述节点对应一个测试场景,所述节点信息至少包括:节点执行信息、节点性能信息;基于所述节点执行信息,构建有向连通图;基于所述节点性能信息以及所述有向连通图,生成压力传导图;以当前测试场景为初始节点,从所述压力传导图中提取目标链路,其中,所述目标链路中的每个节点表征的测试场景构成关联场景集合。
7.可选地,基于所述节点执行信息,构建有向连通图的步骤,包括:将所述节点执行信息记录的节点标识作为所述有向连通图的节点标识,并在所述有向连通图的节点标识指示的节点中保存节点的执行次数;基于所述节点执行信息记录的节点关系,构建所述有向连通图的关系边,并将节点之间的流转次数作为所述关系边的权重值。
8.可选地,在基于所述节点执行信息,构建有向连通图之后,还包括:基于所述有向连通图中每个所述关系边的所述权重值以及每个所述节点的所述执行次数,确定每个所述关系边的入度值和出度值;基于所述入度值与所述出度值,生成节点指标信息。
9.可选地,在基于所述节点性能信息以及所述有向连通图,生成压力传导图之前,还
包括:基于所述节点性能信息,获取每个所述节点在预设时间段内的每个采样时间点上的交易数量以及交易执行时长;基于所述交易数量以及所述交易执行时长,确定每个所述节点的波动比值;删除小于第一预设阈值的所述波动比值指示的节点的入度边,得到调整后的有向连通图。
10.可选地,基于所述交易数量以及所述交易执行时长,确定每个所述节点的波动比值的步骤,包括:基于所述交易数量,确定每个所述节点的采样并发数,并基于所述交易执行时长,确定每个所述节点的采样开销参数;将所述采样并发数转换为标准采样并发数,并将所述采样开销参数转换为标准采样开销参数;确定所述标准采样并发数的并发数波动率,并确定所述标准采样开销参数的开销波动率;基于所述并发数波动率以及所述开销波动率,确定每个所述节点的波动比值。
11.可选地,基于所述节点性能信息以及所述有向连通图,生成压力传导图的步骤,包括:基于所述交易数量以及所述交易执行时长,确定每个所述节点的相关系数,得到相关系数集合;确定所述相关系数集合中系数值为负值的目标相关系数;基于所述调整后的有向连通图,删除所述目标相关系数指示的节点的入度边,得到所述压力传导图。
12.可选地,在以当前测试场景为初始节点,从所述压力传导图中提取目标链路之前,还包括:基于所述压力传导图,更新所述节点指标信息,得到目标节点指标信息;基于所述目标节点指标信息,确定每个所述节点的前序节点对当前节点的影响权重值。
13.可选地,以当前测试场景为初始节点,从所述压力传导图中提取目标链路的步骤,包括:将所述当前测试场景表征为初始节点,并将所述初始节点加入目标节点集合;确定所述初始节点的上升阈值;执行确定所述目标节点集合的步骤,其中,确定所述目标节点集合的步骤包括:在所述压力传导图查询与所述初始节点的出度边直接相连的节点集合;基于所述上升阈值以及所述影响权重值,确定所述节点集合中的每个所述节点的上升率;将大于第二预设阈值的上升率指示的节点加入所述目标节点集合中;选取所述目标节点集合中在所述初始节点之后的下一节点作为初始节点,并重复执行确定所述目标节点集合的步骤,直至所述目标节点集合中所有节点都执行完毕,得到最终节点集合;基于所述最终节点集合,提取所述目标链路。
14.可选地,在以当前测试场景为初始节点,从所述压力传导图中提取目标链路之后,还包括:基于所述目标链路,提取与所述当前测试场景关联的其他测试场景,得到所述关联场景集合,其中,所述当前测试场景为目标系统进行版本修改的场景;对所述关联场景集合中的所有所述测试场景进行测试,完成对所述目标系统的性能测试。
15.根据本发明实施例的另一方面,还提供了一种关联场景的提取装置,包括:获取单元,用于基于预设埋点日志,获取节点的节点信息,其中,每个所述节点对应一个测试场景,所述节点信息至少包括:节点执行信息、节点性能信息;构建单元,用于基于所述节点执行信息,构建有向连通图;生成单元,用于基于所述节点性能信息以及所述有向连通图,生成压力传导图;提取单元,用于以当前测试场景为初始节点,从所述压力传导图中提取目标链路,其中,所述目标链路中的每个节点表征的测试场景构成关联场景集合。
16.可选地,所述构建单元包括:第一保存模块,用于将所述节点执行信息记录的节点标识作为所述有向连通图的节点标识,并在所述有向连通图的节点标识指示的节点中保存节点的执行次数;第一构建模块,用于基于所述节点执行信息记录的节点关系,构建所述有
向连通图的关系边,并将节点之间的流转次数作为所述关系边的权重值。
17.可选地,所述提取装置还包括:第一确定模块,用于在基于所述节点执行信息,构建有向连通图之后,基于所述有向连通图中每个所述关系边的所述权重值以及每个所述节点的所述执行次数,确定每个所述关系边的入度值和出度值;第一生成模块,用于基于所述入度值与所述出度值,生成节点指标信息。
18.可选地,所述提取装置还包括:第一获取模块,用于基于所述节点性能信息,获取每个所述节点在预设时间段内的每个采样时间点上的交易数量以及交易执行时长;第二确定模块,用于基于所述交易数量以及所述交易执行时长,确定每个所述节点的波动比值;第一删除模块,用于删除小于第一预设阈值的所述波动比值指示的节点的入度边,得到调整后的有向连通图。
19.可选地,所述第二确定模块包括:第一确定子模块,用于基于所述交易数量,确定每个所述节点的采样并发数,并基于所述交易执行时长,确定每个所述节点的采样开销参数;第一转换子模块,用于将所述采样并发数转换为标准采样并发数,并将所述采样开销参数转换为标准采样开销参数;第二确定子模块,用于确定所述标准采样并发数的并发数波动率,并确定所述标准采样开销参数的开销波动率;第三确定子模块,用于基于所述并发数波动率以及所述开销波动率,确定每个所述节点的波动比值。
20.可选地,所述生成单元包括:第三确定模块,用于基于所述交易数量以及所述交易执行时长,确定每个所述节点的相关系数,得到相关系数集合;第四确定模块,用于确定所述相关系数集合中系数值为负值的目标相关系数;第二删除模块,用于基于所述调整后的有向连通图,删除所述目标相关系数指示的节点的入度边,得到所述压力传导图。
21.可选地,所述提取装置还包括:第一更新模块,用于在以当前测试场景为初始节点,从所述压力传导图中提取目标链路之前,基于所述压力传导图,更新所述节点指标信息,得到目标节点指标信息;第五确定模块,用于基于所述目标节点指标信息,确定每个所述节点的前序节点对当前节点的影响权重值。
22.可选地,所述提取单元包括:第一表征模块,用于将所述当前测试场景表征为初始节点,并将所述初始节点加入目标节点集合;第六确定模块,用于确定所述初始节点的上升阈值;第一执行模块,用于执行确定所述目标节点集合的步骤,其中,确定所述目标节点集合的步骤包括:在所述压力传导图查询与所述初始节点的出度边直接相连的节点集合;基于所述上升阈值以及所述影响权重值,确定所述节点集合中的每个所述节点的上升率;将大于第二预设阈值的上升率指示的节点加入所述目标节点集合中;第一选取模块,用于选取所述目标节点集合中在所述初始节点之后的下一节点作为初始节点,并重复执行确定所述目标节点集合的步骤,直至所述目标节点集合中所有节点都执行完毕,得到最终节点集合;第一提取模块,用于基于所述最终节点集合,提取所述目标链路。
23.可选地,所述提取装置还包括:第二提取模块,用于在以当前测试场景为初始节点,从所述压力传导图中提取目标链路之后,基于所述目标链路,提取与所述当前测试场景关联的其他测试场景,得到所述关联场景集合,其中,所述当前测试场景为目标系统进行版本修改的场景;第一测试模块,用于对所述关联场景集合中的所有所述测试场景进行测试,完成对所述目标系统的性能测试。
24.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机
可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述所述的关联场景的提取方法。
25.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述所述的关联场景的提取方法。
26.在本公开中,基于预设埋点日志,获取节点的节点信息,基于节点执行信息,构建有向连通图,基于节点性能信息以及有向连通图,生成压力传导图,以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。在本技术中,可通过预设埋点日志获取节点的节点信息,然后构建有向连通图,通过分析节点性能信息,生成压力传导图,之后基于压力传导图,完成性能测试的关联场景的提取,能够随行为数据自动调整压力传导图,避免人工梳理的滞后性及片面性,进而解决了相关技术中需要人工梳理关联的测试场景,容易导致需测试的关联场景缺失的技术问题。
附图说明
27.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
28.图1是根据本发明实施例的一种可选的关联场景的提取方法的流程图;
29.图2是根据本发明实施例的一种可选的表示某系统各交易执行情况的有向连通图g的示意图;
30.图3是根据本发明实施例的一种可选的调整后的有向连通图有g的示意图;
31.图4是根据本发明实施例的一种可选的基于相关系数调整后的有向连通图有g的示意图;
32.图5是根据本发明实施例的一种可选的性能测试关联场景的挖掘过程的示意图;
33.图6是根据本发明实施例的一种可选的性能测试关联场景的挖掘系统的示意图;
34.图7是根据本发明实施例的一种可选的连通图生成及节点指标计算的示意图;
35.图8是根据本发明实施例的一种可选的压力传导图构造的示意图;
36.图9是根据本发明实施例的一种可选的性能测试关联场景建立的示意图;
37.图10是根据本发明实施例的一种可选的关联场景的提取装置的示意图;
38.图11是根据本发明实施例的一种用于关联场景的提取方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
39.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
40.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
42.压力传导图:通过埋点构建系统的访问流场景图,并可以以有向连通图进行表示,可以通过计算有向连通图中各交易节点的性能指标以及计算指标正相关性,生成压力传导图,该压力传导图能够表示系统某个节点并发量上升后,将压力传导到其它节点的过程。
43.需要说明的是,本公开中的关联场景的提取方法及其装置可用于金融科技领域在提取关联场景的情况下,也可用于除金融科技领域之外的任意领域在提取关联场景的情况下,本公开中对关联场景的提取方法及其装置的应用领域不做限定。
44.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
45.本发明下述各实施例可应用于各种对关联场景进行提取的系统/应用/设备中。本发明提出了一种自动提取性能测试关联场景的方法,可以形成性能测试串联场景。性能测试通常是针对交易或者功能进行开展,本发明解决的是关联测试场景的识别,不管交易还是功能均适用,为了表述方便,本发明将交易或者功能简称为“节点”。
46.本发明可以通过日志埋点获取节点之间的关联性,形成有向连通图,再结合日志中的交易响应时间,形成带权重的有向连通图,之后通过分析不同时间点各节点的交易量、交易响应时间的变化趋势,获取趋势相同的节点,这些节点及连线形成的图形即可作为系统的压力传导图(即当某些节点压力上升后,会继续将压力传导到哪些其它节点)。当压力传导图中的某一个节点发生压力变化后,后续节点的压力也会相应变化,即这些节点同样需要进行性能测试,从而完成了性能测试串联验证场景的提取,不仅可以随系统用户的行为数据自动调整系统的压力传导图,有效避免人工梳理的滞后性及片面性,还可以真实反映系统的实际运行情况,达到较为准确、实时的分析结果。
47.需要说明的是,本发明中的压力传导图可以计算当前节点并发量升高对后续节点的影响,因为图形方式比较直观易于理解,所以可以以连通图表示。除此以外,还可以通过数据结构、函数方式、三元组等形式记录节点之间的压力转移情况,本发明并不对压力传导图的具体表示形式进行限制。
48.下面结合各个实施例来详细说明本发明。
49.实施例一
50.根据本发明实施例,提供了一种关联场景的提取方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽
然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
51.图1是根据本发明实施例的一种可选的关联场景的提取方法的流程图,如图1所示,该方法包括如下步骤:
52.步骤s101,基于预设埋点日志,获取节点的节点信息,其中,每个节点对应一个测试场景,节点信息至少包括:节点执行信息、节点性能信息。
53.步骤s102,基于节点执行信息,构建有向连通图。
54.步骤s103,基于节点性能信息以及有向连通图,生成压力传导图。
55.步骤s104,以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。
56.通过上述步骤,可以基于预设埋点日志,获取节点的节点信息,基于节点执行信息,构建有向连通图,基于节点性能信息以及有向连通图,生成压力传导图,以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。在本发明实施例中,可通过预设埋点日志获取节点的节点信息,然后构建有向连通图,通过分析节点性能信息,生成压力传导图,之后基于压力传导图,完成性能测试的关联场景的提取,能够随行为数据自动调整压力传导图,避免人工梳理的滞后性及片面性,进而解决了相关技术中需要人工梳理关联的测试场景,容易导致需测试的关联场景缺失的技术问题。
57.下面结合上述各步骤对本发明实施例进行详细说明。
58.步骤s101,基于预设埋点日志,获取节点的节点信息,其中,每个节点对应一个测试场景,节点信息至少包括:节点执行信息、节点性能信息。
59.在本发明实施例中,可以先读取业务系统日常运行的埋点日志(即预设埋点日志),埋点日志可以收集用户访问节点的顺序及该节点的性能开销(本实施例中,每个节点对应一个测试场景,测试场景可以是测试交易场景,也可以是测试功能场景等)。
60.本实施例中,埋点日志获取节点的节点信息至少包括:节点执行信息、节点性能信息,其中,节点执行信息是指节点执行时的状态信息,至少包括以下元素:用户会话、节点名、前序节点、执行时间等,其中前序节点可通过url(uniform resource locator,统一资源定位器)请求中的referer(用于表明来源)信息获取,也可通过交易跳转时的参数传递实现,在此不做限制。节点性能信息是指节点执行时的性能开销,考虑到影响服务器硬件性能开销的因素较多,可以选取节点的执行时间作为节点消耗的性能指标,因此,节点性能信息至少包括以下元素:请求到达时间、请求响应时间、执行时间等,其中执行时间可以通过请求的响应时间获取,也可通过服务器端收集保存,在此不做限制。
61.步骤s102,基于节点执行信息,构建有向连通图。
62.可选的,基于节点执行信息,构建有向连通图的步骤,包括:将节点执行信息记录的节点标识作为有向连通图的节点标识,并在有向连通图的节点标识指示的节点中保存节点的执行次数;基于节点执行信息记录的节点关系,构建有向连通图的关系边,并将节点之间的流转次数作为关系边的权重值。
63.在本发明实施例中,可以根据埋点日志收集的节点执行信息生成有向连通图,其中,节点执行信息记录的节点即为有向连通图的点,用户的访问顺序即构成了有向连通图
的边,具体为,可以将节点执行信息中记录的节点标识作为有向连通图的节点标志保存,同时统计执行的次数保存至该节点(即在有向连通图的节点标识指示的节点中保存节点的执行次数),之后根据杰斯安执行信息中记录的节点关系(即“当前节点”与“前序节点”构成的关系)完成有向边的构建,并将流转次数作为权重保存(即基于节点执行信息记录的节点关系,构建有向连通图的关系边,并将节点之间的流转次数作为关系边的权重值),从而完成了有向连通图的构造。本实施例中,孤立无任何边的节点不保存,并且,为了尽可能准确地建立节点触发流,可以对单一用户的识别采用“用户会话”的机制。
64.可选的,在基于节点执行信息,构建有向连通图之后,还包括:基于有向连通图中每个关系边的权重值以及每个节点的执行次数,确定每个关系边的入度值和出度值;基于入度值与出度值,生成节点指标信息。
65.在本发明实施例中,在构建有向连通图之后,可以基于有向连通图中每个关系边的权重值以及每个节点的执行次数,计算有向连通图中的出度、入度数量及占比(即计算每个关系边的入度值和出度值),然后基于入度值与出度值,生成节点指标信息保存,其中,计算出度、入度的具体过程如下:
66.(1)对于任意一条有向边(即关系边),获取其相邻的两个节点(即有向边连接的入度节点与出度节点);
67.(2)对于出度节点,计算该有向边出度权重占该出度节点所有出度边的占比(即该关系边的出度值);
68.(3)对于入度节点,计算该有向边入度权重占该入度节点所有入度边的占比(即即该关系边的入度值);
69.(4)若某个节点既是出度节点又是入度节点,则分别计算。
70.例如,图2是根据本发明实施例的一种可选的表示某系统各交易执行情况的有向连通图g的示意图,如图2所示,有向连通图g表示某系统的各交易的执行情况,节点表示交易,总共有7个交易节点(分别为m、a、b、c、d、e、f),边表示交易之间的流转,边的权重表示流转次数,其中,m总共执行了300次,有100次执行结束后继续执行了a,有100次执行结束后继续执行了b,有20次执行结束后继续执行了c;a总共执行了120次,有50次执行结束后继续执行了d;b总共执行了150次,有30次执行结束后继续执行了m,有15次执行结束后继续执行了e,有20次执行结束后继续执行了a,有20次执行结束后继续执行了d;c总共执行了80次,有30次执行结束后继续执行了b,有15次执行结束后继续执行了f;d总共执行了100次,有40次执行结束后继续执行了f;e总共执行了20次,有20次执行结束后继续执行了b;f总共执行了65次,有10次执行结束后继续执行了c。
71.从图2可以看出,对于交易m,总共执行了300次,其中,有100次执行结束后继续执行了交易a,占比33%;后续执行交易b的占比为33%;后续执行交易c的占比为7%;由交易b触发的占比为10%;交易m单独执行且无任何前、后续交易的占比为17%。
72.可选的,在基于节点性能信息以及有向连通图,生成压力传导图之前,还包括:基于节点性能信息,获取每个节点在预设时间段内的每个采样时间点上的交易数量以及交易执行时长;基于交易数量以及交易执行时长,确定每个节点的波动比值;删除小于第一预设阈值的波动比值指示的节点的入度边,得到调整后的有向连通图。
73.本实施例中,另一种可选的,基于交易数量以及交易执行时长,确定每个节点的波
动比值的步骤,包括:基于交易数量,确定每个节点的采样并发数,并基于交易执行时长,确定每个节点的采样开销参数;将采样并发数转换为标准采样并发数,并将采样开销参数转换为标准采样开销参数;确定标准采样并发数的并发数波动率,并确定标准采样开销参数的开销波动率;基于并发数波动率以及开销波动率,确定每个节点的波动比值。
74.在本发明实施例中,可以先获取每个节点在预设时间段内(如,某一分钟内)的每个采样时间点上的交易数量以及交易执行时长,然后可以根据每个采样时间点的交易数量,采用公式(1)计算“采样并发数”,具体计算如下:按照节点在预设时间段内的并发数加总后计算平均数,并按上取整(即只要计算的结果后面有小数,则前面的整数加1),公式(1)为:
[0075][0076]
其中,t表示采样并发数,ti表示预设时间段内的每个采样时间点上的交易数量,n表示采样时间点的个数。
[0077]
例如,取系统上午9时至9时1分时间段内,a交易埋点数据,如表1所示,交易请求时间精确到“秒”,一共5条数据:
[0078]
表1
[0079][0080][0081]
则a交易的采样并发数t=(295/5)=59。
[0082]
之后,可以根据每个采样时间点的交易执行时长,采用公式(2)计算“采样开销参数”,具体计算如下:按照节点在预设时间段内的总执行时间除次数作为节点性能开销,公式(2)为:
[0083][0084]
其中,r表示采样开销参数,ri表示预设时间段内的每个采样时间点上的交易执行时长,n表示采样时间点的个数。
[0085]
以表1为例,a交易的采样开销参数r=(1350/5)=270。
[0086]
之后,可以计算节点在全天运行过程中的并发量、性能开销的“波动性”,本实施例中的“波动性”是指节点在各时间点的并发量、性能开销的差异变化,波动性越强,则变化幅度越大,考虑到采集的数据量为有限数值,因此,波动性可以通过数值的离散程度表示,可
以采用“样本标准差”计算数值的离散程度(即可以将采样并发数转换为标准采样并发数,并将采样开销参数转换为标准采样开销参数)。本实施例中,“样本标准差”越大,表示数值的离散程度越大,也就是节点的性能指标变化的幅度越大,反之,则节点的性能指标变化幅度越小。
[0087]
样本标准差s的计算公式(3):
[0088][0089]
其中,xi为样本数值,为样本平均值,n为样本数量。
[0090]
例如:交易a、交易b、交易c在7个时间点的采样数据如表2所示:
[0091]
表2
[0092][0093]
计算结果如下:
[0094]
交易a:s
t
=59.9;sr=218.7;
[0095]
交易b:s
t
=59.9;sr=11.1;
[0096]
交易c:s
t
=22.3;sr=111.0。
[0097]
其中,s
t
表示标准采样并发数,sr表示标准采样开销参数。
[0098]
在本实施例中,由于s
t
和sr的数值差异比较大,不便于比较,因此,可以进一步对“样本标准差”进行归一化同比例处理,对于标准采样并发数的处理公式为公式(4),对于标准采样开销参数的处理公式为公式(5),即本实施例可以通过公式(4)计算标准采样并发数的并发数波动率s
t
′
,通过公式(5)计算标准采样开销参数的开销波动率sr′
。
[0099][0100][0101]
以表2为例的处理结果为:
[0102]
交易a:s
t
′
=0.82;sr′
=0.56;
[0103]
交易b:s
t
′
=0.82;sr′
=0.05;
[0104]
交易c:s
t
′
=0.56;sr′
=0.41。
[0105]
从结果可以看出,交易a和交易b在并发数“波动”相同的情况下,交易b的性能“波动”非常小。
[0106]
进一步地,可以引入“性能并发数波动比”rt来表示性能开销波动与并发数波动的比例关系(即基于并发数波动率以及开销波动率,确定每个节点的波动比值),数值越大表示性能的离散程度受并发量的离散程度影响较大,反之则表示性能的离散程度不受并发量的离散程度所影响。因此,可以将节点rt值(即波动比值)小于第一预设阈值的节点的入度边从有向连通图上删除(即删除小于第一预设阈值的波动比值指示的节点的入度边,得到调整后的有向连通图),表示这些被入度边的节点其性能开销并不受其前序节点并发量增减所影响。
[0107]
波动比的计算公式为:
[0108]
以表2为例的计算结果为:
[0109]
交易a:rt=0.68;
[0110]
交易b:rt=0.06;
[0111]
交易c:rt=0.73。
[0112]
从上述计算结果可以看出,交易a的性能开销离散程度与并发量离散程度相近,影响程度较大(接近1);交易b的性能开销离散程度受并发量离散程度很小(接近0)。如果rt的预设阀值设为0.2,即性能开销的波动率为并发量波动率的20%,则交易b的节点为入度的边将被删除。
[0113]
图3是根据本发明实施例的一种可选的调整后的有向连通图有g的示意图,如图3所示,在图2的基础上,删除了交易b的入度边(即关系边的箭头指向b的边,即删除了图2中关系边的箭头指向b的权重值100的边)。
[0114]
步骤s103,基于节点性能信息以及有向连通图,生成压力传导图。
[0115]
可选的,基于节点性能信息以及有向连通图,生成压力传导图的步骤,包括:基于交易数量以及交易执行时长,确定每个节点的相关系数,得到相关系数集合;确定相关系数集合中系数值为负值的目标相关系数;基于调整后的有向连通图,删除目标相关系数指示的节点的入度边,得到压力传导图。
[0116]
在本发明实施例中,只计算性能并发数波动比还不足以得出并发量与性能开销的相关性结论,还需要分析并发量与性能开销是否正相关。本实施例中,如果节点的并发量与执行时间正相关,则表示节点的性能开销受并发量的影响较大,此类节点需作为分析对象,反之,则表示节点的性能开销并非受并发量的影响,即节点的并发量上升并不会产生额外的性能开销,此类节点无需作为分析对象,可将其入度边删除。
[0117]
在本发明实施例中,考虑并发量、性能开销在采样时间内的数据并非是正态分布的,可以采用spearman相关系数(即斯皮尔曼等级相关系数)来计算并发量与性能开销的相关性(即基于交易数量以及交易执行时长,确定每个节点的相关系数ρs,得到相关系数集
合),其中,spearman相关系数的公式(6)如下:
[0118][0119]
其中,x、y代表两组数据(即交易数量组成的数据以及交易执行时长组成的数组),r
x
表示变量x转换后的秩次,ry表示变量y转换后的秩次(本实施例中,针对非线性分布的两组数据,可以使用spearman算法,以得到一个比较好的相似度计算结果,其中,秩次就是把非线性的部分切割开,分段成为很多的线性部分分开计算,对于spearman算法来说,就是对取值(x或y)相同的区间进行排序,然后分段计算),cov(r
x
,ry)表示两组数据的协方差,表示数据x的样本标准差,表示数据y的样本标准差。
[0120]
以表2为例。相关性计算结果如下:
[0121]
交易a:x={25,76,54,32,108,189,23},y={200,380,500,230,420,800,180},则ρs=0.92;
[0122]
交易c:x={25,38,24,32,89,43,34},y={340,210,500,210,200,220,230},则ρs=-0.50。
[0123]
从计算结果可以看出,交易a的并发量、性能消耗呈现正相关;交易c的并发量、性能消耗呈现负相关,则删除交易c所在的节点的入度边(即在确定相关系数集合中系数值为负值的目标相关系数后,可以基于调整后的有向连通图,删除目标相关系数指示的节点的入度边,得到压力传导图)。
[0124]
图4是根据本发明实施例的一种可选的基于相关系数调整后的有向连通图有g的示意图,如图4所示,在图3的基础上,删除了交易c的入度边(即关系边的箭头指向c的边,即删除了图3中关系边的箭头指向c的权重值为20和权重值为10的边)。
[0125]
可选的,本实施例中的spearman相关系数实际上是对数据做了秩次变换后的pearson相关系数(即皮尔逊相关系数),因此,可以在将数据秩次变换或者分段后,使用pearson相关性算法,也可以使用kendall(肯德尔)秩相关系数,在此不做限制。
[0126]
可选的,在以当前测试场景为初始节点,从压力传导图中提取目标链路之前,还包括:基于压力传导图,更新节点指标信息,得到目标节点指标信息;基于目标节点指标信息,确定每个节点的前序节点对当前节点的影响权重值。
[0127]
在本发明实施例中,可以根据压力传导图,更新节点指标信息,得到目标节点指标信息(即可以生成的压力传导图,重新计算各关系边的入度值和出度值,更新节点指标信息,得到目标节点指标信息),之后,可以基于目标节点指标信息,确定每个节点的前序节点对当前节点的影响权重值,例如,对于图4来说,交易a因交易m带来的影响为83%=(100/120*100%)。
[0128]
步骤s104,以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。
[0129]
可选的,在以当前测试场景为初始节点,从压力传导图中提取目标链路之后,还包括:基于目标链路,提取与当前测试场景关联的其他测试场景,得到关联场景集合,其中,当前测试场景为目标系统进行版本修改的场景;对关联场景集合中的所有测试场景进行测
试,完成对目标系统的性能测试。
[0130]
在本发明实施例中,可以基于从压力传导图中提取的目标链路,提取与当前测试场景(即当前测试场景所在的目标系统进行版本修改的场景,例如,某一系统对支付功能进行修改,则该支付功能表示的场景为当前主要的测试场景)关联的其他测试场景(例如,与主要测试的支付功能相关联的其他功能场景),得到关联场景集合,然后对关联场景集合中的所有测试场景进行测试,以完成对目标系统的性能测试,如此,能够有效避免人工进行测试场景串联导致的场景遗漏及效率低下问题。
[0131]
可选的,以当前测试场景为初始节点,从压力传导图中提取目标链路的步骤,包括:将当前测试场景表征为初始节点,并将初始节点加入目标节点集合;确定初始节点的上升阈值;执行确定目标节点集合的步骤,其中,确定目标节点集合的步骤包括:在压力传导图查询与初始节点的出度边直接相连的节点集合;基于上升阈值以及影响权重值,确定节点集合中的每个节点的上升率;将大于第二预设阈值的上升率指示的节点加入目标节点集合中;选取目标节点集合中在初始节点之后的下一节点作为初始节点,并重复执行确定目标节点集合的步骤,直至目标节点集合中所有节点都执行完毕,得到最终节点集合;基于最终节点集合,提取目标链路。
[0132]
在本发明实施例中,将压力传导图作为性能测试关联场景的分析基础,可以在压力传导图上找到当期需要性能测试的目标节点,该节点作为分析的初始节点,相关压力节点的计算步骤如下:
[0133]
步骤1:从初始节点出发,沿邻接的有向边找到所有直接关联的节点,作为第一层相关节点,将相关节点信息保存至节点集合(即将当前测试场景表征为初始节点,并将初始节点加入目标节点集合,之后在压力传导图查询与初始节点的出度边直接相连的节点集合)。
[0134]
步骤2:针对节点集合中的任意节点,结合节点指标信息计算节点的上升率(即先确定初始节点的上升阈值,然后基于上升阈值以及影响权重值,确定节点集合中的每个节点的上升率),若初始节点的并发量上升导致该节点并发量上升超过预设阀值,则保留该节点,否则将该节点从节点集合中移除(即将大于第二预设阈值的上升率指示的节点加入目标节点集合中)。
[0135]
步骤3:以节点集合中的剩余节点作为新的初始节点,重复上述步骤1、步骤2直至所有的节点均完成计算(即选取目标节点集合中在初始节点之后的下一节点作为初始节点,并重复执行确定目标节点集合的步骤,直至目标节点集合中所有节点都执行完毕,得到最终节点集合)。
[0136]
之后,可以基于最终节点集合,提取目标链路,将目标链路中的每个节点表征的测试场景构成关联场景集合。
[0137]
图5是根据本发明实施例的一种可选的性能测试关联场景的挖掘过程的示意图,如图5所示,以图4表示的连通图(即最终得到的压力传导图)为性能测试关联场景的分析基础,以m为初始节点,第二预设阈值设置为20%。假如某期版本交易m的上升阈值为50%,计算需要关联性能测试的节点过程为:
[0138]
(1)从初始节点m开始,沿其出度边找到节点a,加入节点集合后,集合中存在{m,a}。
[0139]
(2)计算节点的上升率,节点m为50%、节点a为41.5%,两个节点均保留。
[0140]
交易a:因交易m带来的影响权重值为83%=(100/120*100%),故本期并发量上升率为41.5%=(50%*0.83%),超过第二预设阀值20%。
[0141]
(3)以节点a为初始节点,沿其出度边找到节点d,加入节点集合后,集合中存在{m,a,d}。
[0142]
(4)计算节点d的上升率为20.75%,节点d保留。
[0143]
交易d:因交易a带来的影响权重值为50%=(50/100*100%),故本期并发量上升率为20.75%=(41.5%*50%),超过第二预设阀值20%。
[0144]
(5)以节点d为初始节点,延其出度边找到节点f,加入节点集合后,集合中存在{m,a,d,f}。
[0145]
(6)计算节点f的上升率为12.66%,节点f删除。
[0146]
交易f:因交易d带来的影响权重值为61%=(40/65*100%),故本期并发量上升率为12.66%=(20.75%*61%),未超过第二预设阀值20%。
[0147]
(7)最终节点集合中的所有节点均完成计算,结果为{m,a,d},即图5中加粗的节点与关系边。
[0148]
本实施例中,本期版本除对交易m做性能测试外,还需要对交易a、交易d进行关联测试,且得出性能测试参数为:交易m并发量上升50%,交易a并发量上升41%,交易d并发量上升21%。,至此,完成性能测试关联场景的挖掘。
[0149]
下面结合另一种可选的具体实施方式进行详细说明。
[0150]
本发明实施例基于带权重的有向连通图实现系统功能之间的关联性获取,结合各节点之间随交易压力上升产生的性能开销趋同变化,自动完成整个系统的压力传导情况分析,完成性能测试关联场景的提取,同时,由于整个过程基于系统埋点日志自动生成,能够减少人工梳理存在的经验不足、反映滞后性等问题。
[0151]
图6是根据本发明实施例的一种可选的性能测试关联场景的挖掘系统的示意图,如图6所示,包括:埋点日志输入装置1、连通图生成装置2、压力传导图生成装置3、串联压测方案生成装置4,各装置具体功能如下:
[0152]
埋点日志输入装置1可以读取业务系统日常运行的埋点日志,埋点日志将收集用户访问节点的顺序及该节点的性能开销,埋点日志至少需要包括两类信息:节点的执行信息、节点的性能信息,其中,节点的执行信息是指节点执行时的状态信息,至少包括以下元素:用户会话、节点名、前序节点、执行时间等,其中前序节点可通过url请求中的referer信息获取,也可通过交易跳转时的参数传递实现。节点的性能信息是指节点执行时的性能开销,考虑到影响服务器硬件性能开销的因素较多,可以选取节点的执行时间作为节点消耗的性能指标,节点的性能信息至少包括以下元素:请求到达时间、请求响应时间、执行时间等,其中执行时间可以通过请求的响应时间获取,也可通过服务器端收集保存。
[0153]
连通图生成装置2将根据埋点日志的执行信息生成有向连通图,其中,埋点记录的节点即为有向连通图的点,用户的访问顺序即构成了有向连通图的边,即完成节点触发流构造。
[0154]
压力传导图生成装置3将根据埋点日志记录的单次性能开销、并发量、发生时间构造节点性能曲线,表示该节点在全天各时段的性能压力情况。根据前序构造完成的节点触
发流、节点性能曲线完成相关性分析,即分析当前节点与前序节点在各时段的并发量、性能开销方面的趋同性。如果当前节点与前序节点存在趋同性,即前序节点对当前节点存在影响,前序节点的并发量升高可能会引起该节点的性发量升高,并且该节点并发量升高后会引起性能开销增高。根据上述分析结果,将节点触发流中存在相关性的节点进行保留,去除非相关性节点,即完成系统的性能压力传导图构造。
[0155]
串联压测方案生成装置4通过系统的性能压力传导图,即可根据单节点的性能压力变化推测出后续可能存在性能压力变化的其它节点,完成性能测试场景相关节点的挖掘,实现性能测试场景串联。
[0156]
图7是根据本发明实施例的一种可选的连通图生成及节点指标计算的示意图,如图7所示,包括:执行信息提取701、节点构建702、关系构建703、节点流传信息计算704、连通图存储装置705、节点指标存储装置706,具体功能如下:
[0157]
执行信息提取701可以提取埋点日志的执行信息,用于构建有向连通图。
[0158]
节点构建702将执行信息中记录的节点名作为有向连通图的节点保存,同时统计执行的次数保存至该节点。
[0159]
关系构建703根据执行信息中记录的节点关系(即“当前节点”与“前序节点”构成的关系)完成有向边的构建,并将流转次数作为权重保存,之后将完成构造的有向连通图保存在连通图存储装置705中,本实施例中,孤立无任何边的节点不保存,并且为了尽可能准确地建立节点触发流,对单一用户的识别采用“用户会话”的机制。
[0160]
节点流传信息计算704将计算有向连通图中的出度、入度数量及占比,并将数据保存在节点指标存储装置706中。
[0161]
图8是根据本发明实施例的一种可选的压力传导图构造的示意图,如图8所示,包括:性能信息提取801、并发量计算802、执行时间计算803、波动率计算804、波动比计算805、相关性计算806、压力传导图存储装置807、连通图存储装置808、节点变化指标存储装置809,具体功能如下:
[0162]
性能信息提取801按照连通图中的节点提取埋点日志的性能信息,用于构建节点的性能曲线。
[0163]
并发量计算802根据每个时间段节点的交易数量计算“采样并发数”。
[0164]
执行时间计算803根据每个时间段节点的执行时间计算“采样开销”。
[0165]
波动率计算804计算节点在全天运行过程中的并发量、性能开销的“波动性”。本发明实施例中的“波动性”是指节点在各时间点的并发量、性能开销的差异变化,波动性越强,则变化幅度越大。考虑到采集的数据量为有限数值,因此,波动性可以通过数值的离散程度表示,采用“样本标准差”可以很容易计算数值的离散程度。“样本标准差”越大,表示数值的离散程度越大,也就是节点的性能指标变化的幅度越大。反之,则节点的性能指标变化幅度越小。
[0166]
波动比计算805可以进一步引入“性能并发数波动比”rt来表示性能开销波动与并发数波动的比例关系,数值越大表示性能的离散程度受并发量的离散程度影响较大,反之则表示性能的离散程度不受并发量的离散程度所影响。因此,需将节点rt值小于预设阀值的节点的入度边从连通图上删除,表示这些被入度边的节点其性能开销并不受其前序节点并发量增减所影响。
[0167]
相关性计算806将完成并发量与性能开销的效果相关性计算。只计算性能并发数波动比还不足以得出并发量与性能开销的相关性结论,还需要分析并发量与性能开销是否正相关。通常认为,如果节点的并发量与执行时间正相关,则表示节点的性能开销受并发量的影响较大,此类节点需作为分析对象,反之,则表示节点的性能开销并非受并发量的影响,即节点的并发量上升并不会产生额外的性能开销,此类节点无需作为分析对象,可将其入度边删除,之后将最终的计算结果保存在压力传导图存储装置807中。
[0168]
连通图存储装置808可以为波动比计算805和相关性计算806提供连通图。
[0169]
本实施例中,可以基于通过相关性计算806调整后的连通图,重新计算节点指标信息,并保存至节点变化指标存储装置809中。
[0170]
图9是根据本发明实施例的一种可选的性能测试关联场景建立的示意图,如图9所示,包括:压力传导图输入901、查询目标节点902、查询关联节点903、生成串联压测方案904、节点指标存储装置905,具体功能如下:
[0171]
压力传导图输入901加载已经完成的系统压力传导图,作为性能测试关联场景的分析基础。
[0172]
查询目标节点902在压力传导图上找到当期需要性能测试的目标节点,该节点作为分析的初始节点。
[0173]
查询关联节点903基于节点指标存储装置905中的节点指标信息,完成相关压力节点的计算。
[0174]
节点指标存储装置905结合查询关联节点903得到的最终节点集合,完成性能测试串联场景的挖掘。
[0175]
本发明实施例中,通过埋点信息获取系统各节点的运行指标,以有向连通图构建系统的访问流,利用相关性算法计算有向连通图中各交易节点性能指标的正相关性,以此为基础生成压力传导图,并利用压力传导图自动完成性能测试关联场景的提取,可以有效解决性能测试环节因人工经验不足、对生产系统运行情况不了解导致需性能测试的关联场景缺失的问题。能够达到如下有益效果:
[0176]
(1)利用埋点信息自动生成系统各交易节点的压力传导图,了解各交易节点承压后的传导情况,自动计算关联场景并预估性能要素,能够减少人工干预。
[0177]
(2)通过压力传导图准确地描绘出系统各交易节点的真实运行情况,确保压力传导图生成的真实、及时、客观,便于用户理解。
[0178]
(3)通过算法计算系统并发量及性能开销的相关性,可以减少人工计算的复杂度,便于推广使用。
[0179]
实施例二
[0180]
本实施例中提供的一种关联场景的提取装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
[0181]
图10是根据本发明实施例的一种可选的关联场景的提取装置的示意图,如图10所示,该提取装置可以包括:获取单元1000,构建单元1001,生成单元1002,提取单元1003,其中,
[0182]
获取单元1000,用于基于预设埋点日志,获取节点的节点信息,其中,每个节点对应一个测试场景,节点信息至少包括:节点执行信息、节点性能信息;
[0183]
构建单元1001,用于基于节点执行信息,构建有向连通图;
[0184]
生成单元1002,用于基于节点性能信息以及有向连通图,生成压力传导图;
[0185]
提取单元1003,用于以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。
[0186]
上述提取装置,可以通过获取单元1000基于预设埋点日志,获取节点的节点信息,通过构建单元1001基于节点执行信息,构建有向连通图,通过生成单元1002基于节点性能信息以及有向连通图,生成压力传导图,通过提取单元1003以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。在本发明实施例中,可通过预设埋点日志获取节点的节点信息,然后构建有向连通图,通过分析节点性能信息,生成压力传导图,之后基于压力传导图,完成性能测试的关联场景的提取,能够随行为数据自动调整压力传导图,避免人工梳理的滞后性及片面性,进而解决了相关技术中需要人工梳理关联的测试场景,容易导致需测试的关联场景缺失的技术问题。
[0187]
可选的,构建单元包括:第一保存模块,用于将节点执行信息记录的节点标识作为有向连通图的节点标识,并在有向连通图的节点标识指示的节点中保存节点的执行次数;第一构建模块,用于基于节点执行信息记录的节点关系,构建有向连通图的关系边,并将节点之间的流转次数作为关系边的权重值。
[0188]
可选的,提取装置还包括:第一确定模块,用于在基于节点执行信息,构建有向连通图之后,基于有向连通图中每个关系边的权重值以及每个节点的执行次数,确定每个关系边的入度值和出度值;第一生成模块,用于基于入度值与出度值,生成节点指标信息。
[0189]
可选的,提取装置还包括:第一获取模块,用于基于节点性能信息,获取每个节点在预设时间段内的每个采样时间点上的交易数量以及交易执行时长;第二确定模块,用于基于交易数量以及交易执行时长,确定每个节点的波动比值;第一删除模块,用于删除小于第一预设阈值的波动比值指示的节点的入度边,得到调整后的有向连通图。
[0190]
可选的,第二确定模块包括:第一确定子模块,用于基于交易数量,确定每个节点的采样并发数,并基于交易执行时长,确定每个节点的采样开销参数;第一转换子模块,用于将采样并发数转换为标准采样并发数,并将采样开销参数转换为标准采样开销参数;第二确定子模块,用于确定标准采样并发数的并发数波动率,并确定标准采样开销参数的开销波动率;第三确定子模块,用于基于并发数波动率以及开销波动率,确定每个节点的波动比值。
[0191]
可选的,生成单元包括:第三确定模块,用于基于交易数量以及交易执行时长,确定每个节点的相关系数,得到相关系数集合;第四确定模块,用于确定相关系数集合中系数值为负值的目标相关系数;第二删除模块,用于基于调整后的有向连通图,删除目标相关系数指示的节点的入度边,得到压力传导图。
[0192]
可选的,提取装置还包括:第一更新模块,用于在以当前测试场景为初始节点,从压力传导图中提取目标链路之前,基于压力传导图,更新节点指标信息,得到目标节点指标信息;第五确定模块,用于基于目标节点指标信息,确定每个节点的前序节点对当前节点的影响权重值。
[0193]
可选的,提取单元包括:第一表征模块,用于将当前测试场景表征为初始节点,并
将初始节点加入目标节点集合;第六确定模块,用于确定初始节点的上升阈值;第一执行模块,用于执行确定目标节点集合的步骤,其中,确定目标节点集合的步骤包括:在压力传导图查询与初始节点的出度边直接相连的节点集合;基于上升阈值以及影响权重值,确定节点集合中的每个节点的上升率;将大于第二预设阈值的上升率指示的节点加入目标节点集合中;第一选取模块,用于选取目标节点集合中在初始节点之后的下一节点作为初始节点,并重复执行确定目标节点集合的步骤,直至目标节点集合中所有节点都执行完毕,得到最终节点集合;第一提取模块,用于基于最终节点集合,提取目标链路。
[0194]
可选的,提取装置还包括:第二提取模块,用于在以当前测试场景为初始节点,从压力传导图中提取目标链路之后,基于目标链路,提取与当前测试场景关联的其他测试场景,得到关联场景集合,其中,当前测试场景为目标系统进行版本修改的场景;第一测试模块,用于对关联场景集合中的所有测试场景进行测试,完成对目标系统的性能测试。
[0195]
上述的提取装置还可以包括处理器和存储器,上述获取单元1000,构建单元1001,生成单元1002,提取单元1003等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0196]
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来以当前测试场景为初始节点,从压力传导图中提取目标链路。
[0197]
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0198]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于预设埋点日志,获取节点的节点信息,基于节点执行信息,构建有向连通图,基于节点性能信息以及有向连通图,生成压力传导图,以当前测试场景为初始节点,从压力传导图中提取目标链路,其中,目标链路中的每个节点表征的测试场景构成关联场景集合。
[0199]
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的关联场景的提取方法。
[0200]
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的关联场景的提取方法。
[0201]
图11是根据本发明实施例的一种用于关联场景的提取方法的电子设备(或移动设备)的硬件结构框图。如图11所示,电子设备可以包括一个或多个(图中采用1102a、1102b,
……
,1102n来示出)处理器1102(处理器1102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1104。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
[0202]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0203]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0204]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0205]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0206]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0207]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0208]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。