异常定位方法和装置、存储介质和电子装置
技术领域
本申请涉及计算机领域,尤其涉及一种异常定位方法和装置、存储介质和电子装置。
背景技术
目前,在进行项目的研发和推进时,会涉及到多方内部以及多方之间的交互,例如,产品、研发、测试之间的内部沟通以及外部交互。由于存在某些原因导致交互过程中信息丢失或失真,容易造成产品项目未满足需求。
同时,在项目交付时,交付的产品与最初的需求之间可能会存在差异,基于产品无法确定差异的产生是在哪个环节由于什么原因产生的。需要消耗较大的人力物力去查找差异出现的原因。
并且,在项目交付之后,如果产品在使用过程中出了问题,无法确定该问题是在产品研发过程中就存在该问题,还是在使用过程中由于其他原因(例如,终端设备的设备参数等)导致出现该问题。
可见,相关技术中的异常处理方式,存在由于无法准确定位异常原因所导致的异常处理资源(例如,人力资源,时间资源等)消耗过大的问题。
发明内容
本申请提供了一种异常定位方法和装置、存储介质和电子装置,以至少解决相关技术中的异常处理方式存在由于无法准确定位异常原因所导致的异常处理资源消耗过大的问题。
根据本申请实施例的一个方面,提供了一种异常定位方法,包括:获取与目标产品的产品功能对应的目标过程数据,其中,所述目标过程数据为多个对象在所述产品功能的实现过程中所产生的数据;保存所述目标过程数据与所述多个对象之间的数据对应关系,其中,所述数据对应关系用于表示所述多个对象中的每个对象与所述每个对象所产生的过程数据之间的对应关系;在所述产品功能发生异常的情况下,根据所述数据对应关系,从所述多个对象中定位出所述异常的关联对象。
可选地,获取与所述目标产品的产品功能对应的所述目标过程数据包括:获取与所述产品功能所对应的多个子过程数据,其中,所述多个子过程数据为在所述实现过程的多个子过程中所述多个对象所产生的过程数据,所述多个对象中的每个对象用于处理所述多个子过程中的至少一个子过程,所述目标过程数据包括所述多个子过程数据。
可选地,获取与所述产品功能所对应的所述多个子过程数据包括:获取与所述产品功能所对应的第一子过程数据,其中,所述第一子过程数据为所述多个对象中的第一对象在所述实现过程的第一子过程中所产生的过程数据,所述第一子过程数据包括以下至少之一:所述产品功能的功能描述数据,与所述产品功能的研发过程对应的研发过程数据,与所述产品功能的测试过程对应的测试过程数据。
可选地,获取与所述产品功能所对应的所述多个子过程数据包括:获取与所述产品功能所对应的第二子过程数据,其中,所述第二子过程数据为所述多个对象中的至少一个第二对象在所述实现过程的第二子过程中所产生的过程数据,所述第二子过程数据包括以下至少之一:与所述产品功能的功能变更对应的第一交互数据,用于确定所述第二子过程的实现流程的第二交互数据。
可选地,获取与所述产品功能所对应的所述多个子过程数据包括:获取与所述产品功能所对应的第三子过程数据,其中,所述第三子过程数据为所述多个对象中的至少一个第三对象在所述实现过程的第三子过程和第四子过程之间所产生的过程数据,所述第三子过程数据包括以下至少之一:所述第三子过程完成后跳转至所述第四子过程的里程碑数据,所述第四子过程回退到所述第三子过程的子过程回退数据。
可选地,在获取与所述目标产品的产品功能对应的所述目标过程数据之前,所述方法还包括:接收所述多个对象中的第四对象发送的第一处理请求,其中,所述第一处理请求用于请求所述多个对象中的第五对象处理与所述实现过程对应的目标任务;获取所述第五对象的任务处理结果,其中,所述任务处理结果为所述第五对象处理所述目标任务的处理结果;将所述任务处理结果传输给所述第四对象。
可选地,获取所述第五对象的任务处理结果包括:向所述第五对象发送第二处理请求,其中,所述第二处理请求用于请求所述第五对象在目标时间内处理所述目标任务;在所述目标时间内接收到所述第五对象返回的所述目标任务的处理结果的情况下,获取所述任务处理结果,其中,所述任务处理结果为所述第五对象返回的所述目标任务的处理结果;在所述目标时间内未接收到所述第五对象返回的所述目标任务的处理结果的情况下,生成所述任务处理结果,其中,所述任务处理结果用于表示未接收到所述第五对象返回的所述目标任务。
可选地,根据所述数据对应关系,从所述多个对象中定位出所述异常的所述关联对象包括:确定所述目标过程数据中与所述异常对应的对象定位数据,其中,所述对象定位数据用于定位与所述异常所对应的对象;根据所述数据对应关系,从所述多个对象中定位出所述对象定位数据对应的所述关联对象。
根据本申请实施例的另一个方面,提供了一种异常定位装置,包括:第一获取单元,用于获取与目标产品的产品功能对应的目标过程数据,其中,所述目标过程数据为多个对象在所述产品功能的实现过程中所产生的数据;保存单元,用于保存所述目标过程数据与所述多个对象之间的数据对应关系,其中,所述数据对应关系用于表示所述多个对象中的每个对象与所述每个对象所产生的过程数据之间的对应关系;定位单元,用于在所述产品功能发生异常的情况下,根据所述数据对应关系,从所述多个对象中定位出所述异常的关联对象。
可选地,所述第一获取单元包括:第一获取模块,用于获取与所述产品功能所对应的多个子过程数据,其中,所述多个子过程数据为在所述实现过程的多个子过程中所述多个对象所产生的过程数据,所述多个对象中的每个对象用于处理所述多个子过程中的至少一个子过程,所述目标过程数据包括所述多个子过程数据。
可选地,所述第一获取模块包括:第一获取子模块,用于获取与所述产品功能所对应的第一子过程数据,其中,所述第一子过程数据为所述多个对象中的第一对象在所述实现过程的第一子过程中所产生的过程数据,所述第一子过程数据包括以下至少之一:所述产品功能的功能描述数据,与所述产品功能的研发过程对应的研发过程数据,与所述产品功能的测试过程对应的测试过程数据。
可选地,所述第一获取模块包括:第二获取子模块,用于获取与所述产品功能所对应的第二子过程数据,其中,所述第二子过程数据为所述多个对象中的至少一个第二对象在所述实现过程的第二子过程中所产生的过程数据,所述第二子过程数据包括以下至少之一:与所述产品功能的功能变更对应的第一交互数据,用于确定所述第二子过程的实现流程的第二交互数据。
可选地,所述第一获取模块包括:第三获取子模块,用于获取与所述产品功能所对应的第三子过程数据,其中,所述第三子过程数据为所述多个对象中的至少一个第三对象在所述实现过程的第三子过程和第四子过程之间所产生的过程数据,所述第三子过程数据包括以下至少之一:所述第三子过程完成后跳转至所述第四子过程的里程碑数据,所述第四子过程回退到所述第三子过程的子过程回退数据。
可选地,所述装置还包括:接收单元,用于在获取与所述目标产品的产品功能对应的所述目标过程数据之前,接收所述多个对象中的第四对象发送的第一处理请求,其中,所述第一处理请求用于请求所述多个对象中的第五对象处理与所述实现过程对应的目标任务;第二获取单元,用于获取所述第五对象的任务处理结果,其中,所述任务处理结果为所述第五对象处理所述目标任务的处理结果;传输单元,用于将所述任务处理结果传输给所述第四对象。
可选地,所述第二获取单元包括:发送模块,用于向所述第五对象发送第二处理请求,其中,所述第二处理请求用于请求所述第五对象在目标时间内处理所述目标任务;第二获取模块,用于在所述目标时间内接收到所述第五对象返回的所述目标任务的处理结果的情况下,获取所述任务处理结果,其中,所述任务处理结果为所述第五对象返回的所述目标任务的处理结果;生成模块,用于在所述目标时间内未接收到所述第五对象返回的所述目标任务的处理结果的情况下,生成所述任务处理结果,其中,所述任务处理结果用于表示未接收到所述第五对象返回的所述目标任务。
可选地,定位单元包括:确定模块,用于确定所述目标过程数据中与所述异常对应的对象定位数据,其中,所述对象定位数据用于定位与所述异常所对应的对象;定位模块,用于根据所述数据对应关系,从所述多个对象中定位出所述对象定位数据对应的所述关联对象。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在本申请实施例中,采用保存产品功能的实现对象与产品功能的实现过程之间的对应关系的方式,通过获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;在该产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象,由于保存产品功能(需求)的实现对象(对应于相关人员)与产品功能的实现过程(需求开启到交付的整个周期)之间的对应关系,可以实现快速定位异常所对应的责任对象的目的,从而达到了减少异常处理的资源消耗、提高异常处理效率的技术效果,进而解决了相关技术中的异常处理方式存在由于无法准确定位异常原因所导致的异常处理资源消耗过大的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的异常定位方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的异常定位方法的流程图;
图3是根据本申请实施例的另一种可选的异常定位方法的流程图;
图4是根据本申请实施例的一种可选的异常定位装置的示意图;
图5是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种异常定位方法。可选地,在本实施例中,上述异常定位方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的异常定位方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的异常定位方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的异常定位方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;
步骤S204,保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;
步骤S206,在产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象。
通过上述步骤S202至步骤S206,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;在该产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象,解决了相关技术中的异常处理方式存在由于无法准确定位异常原因所导致的异常处理资源消耗过大的问题,减少了异常处理的资源消耗,提高异常处理效率。
在步骤S202提供的技术方案中,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据。
本实施例中的异常定位方法可以应用于对目标产品(目标应用)进行功能更新(基于需求进行功能更新)的场景。上述目标产品可以包括但不限于:游戏应用,购物应用,视频应用,或者综合应用等。
产品版本的一次升级可能涉及到多个功能更新,例如,新增功能,已有功能的升级,每个功能的更新可以对应于一个产品需求,每个需求可以形成一个独立完整的链路。不同需求的实现过程是类似的,虽然本实施例中以一个需求的实现过程为例进行说明,但所提供的异常定位方法可以应用于多个需求的实现过程。
一个需求的实现过程可以对应于在一个项目中,为了实现需求,可以首先进行项目创建。例如,管理人员(如,项目负责人,项目经理等)可以通过其客户端上的项目配置界面配置项目信息进行项目创建。同时,还可以在项目创建时添加分组人员,即,拉取本项目的项目成员,不同的项目有不同的分组。在项目的进行过程中也可以根据项目需求进行分组人员的删减。此外,还可以为各个成员设置不同的角色,例如,产品人员,开发人员,测试人员。
对于产品的某个需求,管理人员可以按照需求处理流程配置各个关键节点的处理人员(例如,产品人员、开发人员、测试人员等),以便进行需求数据的收集。不同节点的处理人员的系统界面可以根据处理任务的不同有所区别。
对于创建的一个项目(对应于一个产品功能),该项目中的处理人员可以是上述多个对象,或者,通过上述多个对象进行表示。在产品功能的实现过程中、或者产品功能实现之后,终端设备或者服务器可以获取多个对象在产品功能的实现过程中所产生的数据,即,目标过程数据。
上述数据获取过程可以是由包含终端设备、服务器和数据库的控制平台(系统平台)执行的,上述控制平台可以收集需求开启到交付的整个周期内所产生的信息,形成链路轨迹线,简单便捷。
需要说明的是,本实施例中以服务器执行过程数据的获取、对应关系的保存以及异常定位等操作,但本实施例中的异常定位方法同样适用于由终端设备(终端设备上的客户端)、或者、服务器和终端设备共同执行的场景。
在步骤S204提供的技术方案中,保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系。
目标过程数据是由多个对象产生的,过程数据的产生过程可以是各个对象主动上传的,也可以是由控制平台对产品功能的实现过程进行监控得到的。不同的对象,其所产生的过程数据可以是不同的,每个对象所产生的过程数据可以是多个。
在获取到目标过程数据,服务器可以保存目标过程数据与多个对象之间的数据对应关系,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系。
为保证每个需求以一个独立完整的链路进行过程数据保存,保存上述数据对应关系的方式可以是:保存需求自开启到交付的整个周期的关键节点的处理对象、以及关键节点的过程数据,以便于确定每个关键节点的过程数据及过程数据的产生对象。
在步骤S206提供的技术方案中,在产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象。
在产品功能的实现过程中,或者,产品功能的使用过程中,产品功能可能会发生异常。上述产品功能发生异常可以包括但不限于以下至少之一:产品功能的实现过程异常(例如,超过一定时间未进入到下个节点,子过程),产品功能的使用过程未达到预期。
如果产品功能发生异常,则可以根据数据对应关系进行异常定位,也就是,定位产生该异常的对象。由于产品功能从开启到交付的整个周期的链路轨迹线已经预先保存,产品功能的实现过程是透明的,可被追溯,从而可以定位出异常的关联对象。
在定位出异常的关联对象之后,可以继续执行之后的操作,例如,生成异常指示信息,该异常指示信息用于指示异常的关联对象,异常的关联过程数据等等,在此不做赘述。
作为一种可选的实施例,获取与目标产品的产品功能对应的目标过程数据包括:
S11,获取与产品功能所对应的多个子过程数据,其中,多个子过程数据为在实现过程的多个子过程中多个对象所产生的过程数据,多个对象中的每个对象用于处理多个子过程中的至少一个子过程,目标过程数据包括多个子过程数据。
产品功能的实现过程可以包括多个子过程,多个对象中的每个对象用于处理多个子过程中的至少一个子过程,处理的方式可以是:完成该子过程,监督该子过程,协调该子过程等等。
在一子过程中,多个对象的全部或者部分可以负责完成该子过程。在该子过程的处理过程中,或者,在处理到该子过程的关键节点时,可以采集该子过程的处理对象所产生的操作数据(过程数据),得到该子过程的子过程数据。多个子过程分别完成之后,可以得到多个子过程的多个子过程数据,从而得到目标过程数据。
通过本实施例,分别获取需求的实现过程的各个子过程中所产生的过程数据,可以保证数据对应关系确定的准确性。
多个子过程可以涉及到多种场景,可以包括但不限于以下至少之一:同一子过程中的对象操作不涉及交互,同一子过程中的对象操作涉及交互,不同子过程中的对象操作涉及交互。在一个子过程中可以涉及多个对象,每个对象的操作场景可以是上述场景的一个或多个,同一子过程可以涉及上述场景的一个或多个。
作为一种可选的实施方式,获取与产品功能所对应的多个子过程数据包括:
S21,获取与产品功能所对应的第一子过程数据,其中,第一子过程数据为多个对象中的第一对象在实现过程的第一子过程中所产生的过程数据,第一子过程数据包括以下至少之一:产品功能的功能描述数据,与产品功能的研发过程对应的研发过程数据,与产品功能的测试过程对应的测试过程数据。
产品功能的实现过程可以包括第一子过程,第一对象参与实现了该第一子过程。第一对象在第一子过程中所产生的过程数据为第一子过程数据。对于不同的第一子过程,其对应的第一子过程数据可以是不同的。
对于第一类第一对象(产品人员),其在需求开始时可以进行需求描述,需求描述可以通过需求文档的方式进行表示。第一对象的终端设备可以上传第一子过程数据,或者,服务器主动监控第一对象的终端设备获取第一子过程数据,该第一子过程数据可以是产品功能的功能描述数据,例如,对于产品人员,其上传的可以包括:需求的描述信息。
对于第二类第一对象(开发人员),其可以根据需求描述进行用于实现该产品功能的程序代码的撰写。第一对象的终端设备可以上传第二子过程数据,或者,服务器主动监控第一对象的终端设备获取第二子过程数据,该第二子过程数据可以是与产品功能的研发过程对应的研发过程数据,例如,对于开发人员,其上传的可以包括:需求的实现代码,还可以包括:代码撰写的过程文件。
对于第三类第一对象(测试人员),其可以根据需求描述对开发人员撰写的程序进行测试,确定其是否满足需求。第一对象的终端设备可以上传第三子过程数据,或者,服务器主动监控第一对象的终端设备获取第三子过程数据,该第二子过程数据可以是与产品功能的测试过程对应的测试过程数据,例如,对于测试人员,其上传的可以包括:测试的环境信息(客观环境信息),测试细节(例如,测试用例),测试结果。
此外,对于其他的处理人员,其对应的子过程数据可以是录制其屏幕或者他人屏幕(在拿到许可的情况下)生成的数据。
通过本实施例,通过记录各个对象在完成一个子过程时所产生的数据,可以保证产品功能实现的完整性,从而保证过程数据保存的完整性。
作为一种可选的实施方式,获取与产品功能所对应的多个子过程数据包括:
S31,获取与产品功能所对应的第二子过程数据,其中,第二子过程数据为多个对象中的至少一个第二对象在实现过程的第二子过程中所产生的过程数据,第二子过程数据包括以下至少之一:与产品功能的功能变更对应的第一交互数据,用于确定第二子过程的实现流程的第二交互数据。
产品功能的实现过程可以包括第二子过程,多个第二对象参与实现该第二子过程,产生第二子过程数据。对于不同的第二子过程,其对应的第二子过程数据可以是不同的。
对于第二对象(产品人员),其可以共同完成需求描述,并通过多方交互确定需求描述,上述交互过程所产生的过程数据为与产品功能的功能变更对应的第一交互数据。
对于多个第二对象,其可以共同确定第二子过程的实现流程,得到第二交互数据。实现流程可以包括但不限于:用例评审(即,多方共同对测试用例、开发用例进行评审),疑问解答(不涉及跨过多个子过程的交互)。
多个第二对象的终端设备可以上传第三子过程数据,或者,服务器主动监控第二对象的终端设备获取第三子过程数据,第三子过程数据为至少一个第二对象在实现过程的第二子过程中所产生的过程数据,可以包括但不限于第一交互数据和第二交互数据中的至少之一。
此外,在实现一个子过程时,实现本子过程的对象可以与实现其他子过程的对象进行交互,以提高子过程的实现效率,保证产品功能的完成速度。
通过本实施例,通过记录多个对象在完成同一子过程时所产生的交互数据,可以保证过程数据保存的完整性。
作为一种可选的实施方式,获取与产品功能所对应的多个子过程数据包括:
S41,获取与产品功能所对应的第三子过程数据,其中,第三子过程数据为多个对象中的至少一个第三对象在实现过程的第三子过程和第四子过程之间所产生的过程数据,第三子过程数据包括以下至少之一:第三子过程完成后跳转至第四子过程的里程碑数据,第四子过程回退到第三子过程的子过程回退数据。
产品功能的实现过程可以包括第三子过程和第四子过程,多个对象中的至少一个第三对象参与了第三子过程和第四子过程之间跳转,产生第三子过程数据。对于不同的第三子过程和第四子过程,其对应的第三子过程数据可以是不同的。
第三子过程和第四子过程在实现过程中可以具有先后顺序:先完成第三交互过程,再完成第四交互过程,例如,先完成研发过程,再完成测试过程。
在完成第三子过程之后,可以跳转到完成第四子过程,此时,第三对象可以产生里程碑数据,该里程碑数据可以是由完成第三子过程的第三对象产生的。或者,如果在实现第四子过程时,确定产品功能无法实现,例如,需求无法满足,需求无法实现等,可以回退到第三子过程,此时,第三对象可以产生子过程回退数据。
多个第三对象的终端设备可以上传第三子过程数据,或者,服务器主动监控第三对象的终端设备获取第三子过程数据,第三子过程数据为至少一个第三对象在实现过程的第三子过程和第四子过程之间所产生的过程数据,可以包括但不限于里程碑数据和子过程回退数据中的至少之一。
通过本实施例,通过记录多个对象在完成不同子过程跳转时所产生的数据,可以保证过程数据保存的完整性。
作为一种可选的实施例,在获取与目标产品的产品功能对应的目标过程数据之前,上述方法还包括:
S51,接收多个对象中的第四对象发送的第一处理请求,其中,第一处理请求用于请求多个对象中的第五对象处理与实现过程对应的目标任务;
S52,获取第五对象的任务处理结果,其中,任务处理结果为第五对象处理目标任务的处理结果;
S53,将任务处理结果传输给第四对象。
除了处理的过程数据和结果数据外,为保证项目的顺利推进,还可以记录多方的沟通信息,例如,多方信息确认(如,用例评审)和疑问解答(如,信息变更)。疑问解答可以是由于处理人员对于产品存在疑问引起的。
如果处理人员对于产品存在疑虑,需求实现不匹配,实现和设计存在偏差等,不解决的话会影响项目进展。有质疑的地方必须有据可依,例如,产品人员描述产品需求是这样做的,但是实现时,研发人员认为实现有困难,此时研发需要提供困难的理由作为证据。为确定最后的记录,需要通过监控的手段,受限产品发起了需求变更,相关的处理人员进行确认。
多个对象中的第四对象可以发送第一处理请求,该第一处理请求用于请求多个对象中的第五对象处理与实现过程对应的目标任务(用例评审,信息变更,疑问解答等),服务器可以接收该第一处理请求,获取第五对象的任务处理结果,该任务处理结果为第五对象处理目标任务的处理结果,并将任务处理结果传输给第四对象。
第四对象在获取到任务处理结果之后,可以继续执行后续的步骤,例如,子过程跳转等等,子过程处理人移交等等。
通过本实施例,通过请求-响应的方式进行目标任务的处理,可以保证产品功能实现过程中的数据获取的全面性,提高过程数据保存的完整性。
作为一种可选的实施例,获取第五对象的任务处理结果包括:
S61,向第五对象发送第二处理请求,其中,第二处理请求用于请求第五对象在目标时间内处理目标任务;
S62,在目标时间内接收到第五对象返回的目标任务的处理结果的情况下,获取任务处理结果,其中,任务处理结果为第五对象返回的目标任务的处理结果;
S63,在目标时间内未接收到第五对象返回的目标任务的处理结果的情况下,生成任务处理结果,其中,任务处理结果用于表示未接收到第五对象返回的目标任务的处理结果。
项目管理人员可以设置各处理人员的处理时限,以保证需求可以按时交付。服务器可以向第五对象发送第二处理请求,该第二处理请求用于请求第五对象在目标时间内处理目标任务,第二处理请求可以是转发的第一处理请求,也可以是在第一处理请求的基础上添加处理时限后得到的处理请求。
如果在目标时间内接收到第五对象返回的目标任务的处理结果,服务器可以获取到上述任务处理结果,也就是,第五对象返回的目标任务的处理结果。
若在目标时间内未接收到第五对象返回的目标任务的处理结果,服务器可以生成任务处理结果,该任务处理结果用于表示未接收到第五对象返回的目标任务的处理结果。
在实现的过程中,相关人员弹簧球式抛出问题,受理人必须在规定时间内接收问题,作答并抛回责任,避免问题丢失。责任到人,保证问题解决的时效性。
问题(或者任务)的处理流程(发起人-受理人-发起人)可以有抛出问题的相关人员进行编辑,受理人可以根据需要进行修改。同一问题的处理人可以有多个。
作为一种示例,在需求实现过程中,如研发人员不能实现需求,可以向产品人员抛出一个“球”,产品人员确认修改需求,其必须要在规定时间内答复,这样系统平台上面会有记录,保持对项目人员是透明的,最后实现的结果保证测试、项目、需求方等各方均能知晓。
例如,研发人员提出问题A,某个需求无法实现,并将该问题抛给产品人员,产品人员可以给出需求的一个或多个替代方案,并在规定时间内抛回研发人员,研发人员可以评估各个替代方案的可实现性,确定最终可实现的方案,并在规定时间内抛给产品人员,产品人员在规定时间内对方案进行确认,最终完成需求的确定。
又例如,测试人员确认研发的产品不能满足需求,将问题抛给产品人员,产品人员可以对代码进行修改完善,并在规定时间内抛回测试人员,研发人员重新进行测试。
上述弹簧球式的问题处理方式,可以实现在规定时间内,问题处理的最终节点落在问题发起人(需求当前处理人员),保证问题能够被解决,项目可以继续向后进展。
通过本实施例,通过设置产品功能的实现过程中的任务处理时限,可以避免任务丢失,保证产品功能的实现过程的完成效率。
作为一种可选的实施例,根据数据对应关系,从多个对象中定位出异常的关联对象包括:
S71,确定目标过程数据中与异常对应的对象定位数据,其中,对象定位数据用于定位与异常所对应的对象;
S72,根据数据对应关系,从多个对象中定位出对象定位数据对应的关联对象。
在得到数据对应关系,可以根据数据对应关系从多个对象中定位出异常的关联对象:可以首先确定目标过程数据中与该异常对应的过程数据,即,对象定位数据。对象定位数据是指用于定位异常关联对象的过程数据。
根据数据对应关系,可以确定出该对象定位数据的责任人,从而定位出异常的关联对象。
对于一个项目,每个需求从开启到交付的过程(多方意见和记录版本)都是可追溯的,充分透明,有据可依的版本控制。在进行信息追溯时,可以通过时间查询、关键词查询、模糊查询等方式进行信息的过滤,提高信息追溯的效率。
比如,一个点击动作,测试时是可以点击的,然后上线很久之后出现问题跳转不过来。通过系统平台,可以监听到当时的操作结果,或者,测试人员已经上传了测试结果,系统平台上有测试结果的记录,这就有证据可依。
通过本实施例,通过首先定位异常的过程数据,然后根据过程数据定位异常的关联对象,可以保证关联对象定位的准确性。
此外,在研发人员撰写代码时,可以通过AI(Artificial Intelligence,人工智能)结合大数据,智能统计易出现问题的代码进行提示,并提供他人撰写的优质代码进行参考。对于测试人员,也可以通过AI结合大数据,为其提供参考测试用例,保证项目可以高效、高质量的向后推进。
对于整个项目的所有人员,或者,某个需求的关联人员,可以通过消息窗口的方式进行沟通,了解项目或者需求当前的进展,还可以查看项目或者需求从开启到交付的完整过程。从各个人员处收集到的数据均可以在平台上进行展示,所有人对于信息都是透明的,新加入人员也可以了解平台上的素有信息。
下面结合可选示例对本申请实施例中的异常定位方法进行解释说明。针对相关技术中存在的以下问题:
(1)由于信息处理不及时导致的项目进展缓慢的问题;
(2)项目生命周期中,项目的需求与最终实现和测试结果产生差异,或出现不透明的问题;
(3)迭代结束的项目或产品在使用过程中出现问题,定位出现问题的原因的效率低的问题。
(4)各方干系人各持己见,责任不清,相互甩锅。
本示例中提供的异常定位方法可以应用于一种基于产品需求的多方人员监控系统(系统平台),通过收集需求开启到交付周期的产品变更、需求回退、研发问题修改、测试结果、覆盖点等信息,形成链路轨迹线,在同一平台控制,简单便捷;通过多方信息确认(如用例评审),疑问解答(如信息变更),相关人员弹簧球式抛出问题,受理人需要在规定时间内接收问题,作答并抛回责任,责任到人,有时效性;通过多方意见和记录版本可追溯,充分透明,有据可依。
如图3所示,本示例中的异常定位方法可以包括以下流程步骤:
步骤S302,项目创建。
管理人员可以通过项目配置界面配置项目信息进行项目创建。同时,还可以在项目创建时添加分组人员,即,拉取本项目的项目成员,不同的项目有不同的分组。在项目的进行过程中也可以根据项目需求进行分组人员的删减。此外,还可以为各个成员设置不同的角色,例如,产品人员,开发人员,测试人员。
步骤S304,信息收集。
对于产品的某个需求,管理人员可以按照需求处理流程配置各个关键节点的处理人员(作用同上述多个对象),以便进行需求数据的收集。此外,还可以设置各处理人员的处理时限,以保证需求可以按时交付。不同节点的处理人员的系统界面可以根据处理任务的不同有所区别。
在项目进行过程中,可以进行信息收集。信息收集主要是收集需求开启到交付周期的各类信息,以形成链路轨迹线,实现需求从开启到交付的整个生命周期的全覆盖,保证每个需求是一个独立完整的链路。收集的信息可以包括:需求信息,里程碑信息,产品变更,需求回退,研发问题修改,测试结果,测试覆盖点等。
项目的多个需求之间的处理可以是并行的。对于某个需求的当前处理人员,其需要上传的数据可以是:处理的过程数据,处理的结果数据,从而可以通过平台记录关键节点的解决方案、测试工具、测试方法、测试结果、必须的数据等。
除了处理的过程数据和结果数据外,为保证项目进展的顺利推进,还可以记录多方的沟通信息,例如,多方信息确认(如,用例评审)和疑问解答(如,信息变更)。疑问解答可以是由于处理人员对于产品存在疑问引起的。
如果处理人员对于产品存在疑虑,需求实现不匹配,实现和设计存在偏差等,不解决的话会影响项目进展。有质疑的地方必须有据可依,例如,产品人员描述产品需求是这样做的,但是实现时,研发人员认为实现有困难,此时研发需要提供困难的理由作为证据。为确定最后的记录,需要通过监控的手段,受限产品发起了需求变更,相关的处理人员进行确认。
在实现的过程中,相关人员可以弹簧球式抛出问题,受理人需要在规定时间内接收问题,作答并抛回责任,避免问题丢失。责任到人,保证问题解决的时效性。
步骤S306,信息追溯。
对于一个项目,每个需求从开启到交付的过程(多方意见和记录版本)都是可追溯的,充分透明,有据可依的版本控制。
通过本示例,通过上述系统平台,项目的推进、需求问题的结果均具有时效性,可以保证项目完成的高效性;需求实现过程中的数据均记录在系统中,系统平台上的信息对各方是透明的,提高信息获取的效率;系统平台针对的不是特定的项目,对于多数项目均可使用,可以提高项目实现的可复制性;系统平台记录了需求实现的所有关键节点的数据,可以保证项目实现过程的可追溯性,避免不必要的纠纷。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述异常定位方法的异常定位装置。图4是根据本申请实施例的一种可选的异常定位装置的示意图,如图4所示,该装置可以包括:
(1)第一获取单元42,用于获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;
(2)保存单元44,与第一获取单元42相连,用于保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;
(3)定位单元46,与保存单元44相连,用于在该产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象。
需要说明的是,该实施例中的第一获取单元42可以用于执行上述步骤S202,该实施例中的保存单元44可以用于执行上述步骤S204,该实施例中的定位单元46可以用于执行上述步骤S206。
通过上述模块,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;在该产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象,解决了相关技术中的产品更新方式存在由于更新过程人工消耗大所导致的更新周期长的问题,减少了人工成本,缩短了产品更新时长。
作为一种可选的实施例,第一获取单元42包括:
第一获取模块,用于获取与产品功能所对应的多个子过程数据,其中,多个子过程数据为在实现过程的多个子过程中多个对象所产生的过程数据,多个对象中的每个对象用于处理多个子过程中的至少一个子过程,目标过程数据包括多个子过程数据。
作为一种可选的实施方式,第一获取模块包括:
第一获取子模块,用于获取与产品功能所对应的第一子过程数据,其中,第一子过程数据为多个对象中的第一对象在实现过程的第一子过程中所产生的过程数据,第一子过程数据包括以下至少之一:产品功能的功能描述数据,与产品功能的研发过程对应的研发过程数据,与产品功能的测试过程对应的测试过程数据。
作为一种可选的实施方式,第一获取模块包括:
第二获取子模块,用于获取与产品功能所对应的第二子过程数据,其中,第二子过程数据为多个对象中的至少一个第二对象在实现过程的第二子过程中所产生的过程数据,第二子过程数据包括以下至少之一:与产品功能的功能变更对应的第一交互数据,用于确定第二子过程的实现流程的第二交互数据。
作为一种可选的实施方式,第一获取模块包括:
第三获取子模块,用于获取与产品功能所对应的第三子过程数据,其中,第三子过程数据为多个对象中的至少一个第三对象在实现过程的第三子过程和第四子过程之间所产生的过程数据,第三子过程数据包括以下至少之一:第三子过程完成后跳转至第四子过程的里程碑数据,第四子过程回退到第三子过程的子过程回退数据。
作为一种可选的实施例,上述装置还包括:
接收单元,用于在获取与目标产品的产品功能对应的目标过程数据之前,接收多个对象中的第四对象发送的第一处理请求,其中,第一处理请求用于请求多个对象中的第五对象处理与实现过程对应的目标任务;
第二获取单元,用于获取第五对象的任务处理结果,其中,任务处理结果为第五对象处理目标任务的处理结果;
传输单元,用于将任务处理结果传输给第四对象。
作为一种可选的实施例,第二获取单元包括:
发送模块,用于向第五对象发送第二处理请求,其中,第二处理请求用于请求第五对象在目标时间内处理目标任务;
第二获取模块,用于在目标时间内接收到第五对象返回的目标任务的处理结果的情况下,获取任务处理结果,其中,任务处理结果为第五对象返回的目标任务的处理结果;
生成模块,用于在目标时间内未接收到第五对象返回的目标任务的处理结果的情况下,生成任务处理结果,其中,任务处理结果用于表示未接收到第五对象返回的目标任务的处理结果。
作为一种可选的实施例,定位单元46包括:
确定模块,用于确定目标过程数据中与异常对应的对象定位数据,其中,对象定位数据用于定位与异常所对应的对象;
定位模块,用于根据数据对应关系,从多个对象中定位出对象定位数据对应的关联对象。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述异常定位方法的电子装置,该电子装置可以是服务器、终端、或其组合。
图5是根据本申请实施例的一种电子装置的结构框图,如图5所示,该电子装置包括存储器502和处理器504,该存储器502中存储有计算机程序,该处理器504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;
S2,保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;
S3,在产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象。
可选地,本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置也可以是智能设备(如Android手机、iOS手机等)、平板电脑、掌上电脑以及MID(MobileInternet Devices,移动互联网设备)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口等),或者具有与图5中不同的配置。
其中,存储器502可用于存储软件程序以及模块,如本申请实施例中的异常定位方法和装置对应的程序指令/模块,处理器504通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及异常定位,即实现上述的异常定位方法。存储器502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器502可进一步包括相对于处理器504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
其中,存储器502具体可以但不限于用于存储一个或多个对象的数据变更记录信息。
作为一种示例,如图5所示,上述存储器502中可以但不限于包括上述异常定位装置中的第一获取单元42、第二获取单元44和传输单元46。此外,还可以包括但不限于上述异常定位装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置506包括一个NIC(NetworkInterface Controller,网络适配器),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置506为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还可以包括:连接总线508,用于连接上述电子装置中的各个模块部件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取器)、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行异常定位方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取与目标产品的产品功能对应的目标过程数据,其中,目标过程数据为多个对象在产品功能的实现过程中所产生的数据;
S2,保存目标过程数据与多个对象之间的数据对应关系,其中,数据对应关系用于表示多个对象中的每个对象与每个对象所产生的过程数据之间的对应关系;
S3,在产品功能发生异常的情况下,根据数据对应关系,从多个对象中定位出异常的关联对象。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。