一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、电子设备以及存储介质与流程

2022-03-26 14:18:25 来源:中国专利 TAG:


1.本技术应用于计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备以及存储介质。


背景技术:

2.随着计算机技术的高速发展,在开发一个项目时,如开发一个软件或网页等,通常需要检测项目的代码文件是否存在问题。目前,检测项目的代码文件是否存在问题,通常是通过扫描项目的全部文件,然后确定出项目的代码文件中存在的警告项,由于需要对全部文件进行扫描,需要分析的数据量较多,导致对代码文件的警告项的检测的效率较低。


技术实现要素:

3.本技术实施例提供了一种数据处理方法、装置、电子设备以及存储介质,有助于提升对目标项目的警告项的检测的效率。
4.一方面,本技术实施例公开了一种数据处理方法,所述方法包括:
5.获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
6.根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
7.获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
8.根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
9.按照每个目标代码文件对应于的功能模块对应的处理对象,将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
10.另一方面,本技术实施例公开了一种数据处理装置,所述装置包括:
11.获取单元,用于获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
12.处理单元,用于根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
13.所述获取单元,还用于获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
14.所述处理单元,还用于根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
15.发送单元,用于按照每个目标代码文件对应于的功能模块对应的处理对象,将所
述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
16.又一方面,本技术实施例提供了一种电子设备,电子设备包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于执行如下步骤:
17.获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
18.根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
19.获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
20.根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
21.按照每个目标代码文件对应于的功能模块对应的处理对象,将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
22.又一方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,用于执行如下步骤:
23.获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
24.根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
25.获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
26.根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
27.按照每个目标代码文件对应于的功能模块对应的处理对象,将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
28.又一方面,本技术实施例公开了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述数据处理方法。
29.本技术提供一种数据处理方案,能够获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,由此可以选择需要检测警告项的功能模块对应的目标代码文件,灵活地实现对目标项目的代码检测;进而根据目标代码文件解析出每个目标代码文件对应的目标警告项,并获取目标项目在历史版本下历史代码文件分别对应的历史警告项,然后根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表,由此能够检测出历史版本与目标版本的检测结果之间的差异;进而将目标统计列表中每个功能模块的统计信息发送至功能模块对应
的处理对象,使得每个功能模块对应的处理对象能够基于对应功能模块的检测结果进行后续处理,便于在多人协作项目中的任务分工。由此可以通过对目标项目的功能模块的划分实现对目标项目中的任意功能模块的代码文件的警告项检测,有助于提升对目标项目的警告项的检测的效率。
附图说明
30.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本技术实施例提供的一种数据处理系统的结构示意图;
32.图2是本技术实施例提供的一种数据处理方法的流程示意图;
33.图3是本技术实施例提供的一种数据处理方法的流程示意图;
34.图4是本技术实施例提供的一种目标统计列表的效果示意图;
35.图5是本技术实施例提供的一种目标统计列表的效果示意图;
36.图6是本技术实施例提供的一种目标统计列表的效果示意图;
37.图7是本技术实施例提供的一种数据处理装置的结构示意图;
38.图8是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.本技术提供一种数据处理方案,能够获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,由此可以选择需要检测警告项的功能模块对应的目标代码文件,灵活地实现对目标项目的代码检测;进而根据目标代码文件解析出每个目标代码文件对应的目标警告项,并获取目标项目在历史版本下历史代码文件分别对应的历史警告项,然后根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表,由此能够检测出历史版本与目标版本的检测结果之间的差异;进而将目标统计列表中每个功能模块的统计信息发送至功能模块对应的处理对象,使得每个功能模块对应的处理对象能够基于对应功能模块的检测结果进行后续处理,便于在多人协作项目中的任务分工。由此可以通过对目标项目的功能模块的划分实现对目标项目中的任意功能模块的代码文件的警告项检测,有助于提升对目标项目的警告项的检测的效率。
41.在一种可能的实施方式中,本技术的技术方案可以应用于数据处理系统中,请参见图1,图1是本技术实施例提供的一种数据处理系统的结构示意图,该数据处理系统可以包括数据处理设备以及处理客户端。其中,该数据处理设备即可用于执行上述的数据处理方案,以对目标项目的目标代码文件的警告项进行检测,并将每个功能模块对应的统计信息发送至对应的处理对象。该目标项目可以为任一应用软件、网页或产品对应的项目,如该
目标项目可以为社交应用、线上支付应用、资讯平台等等,此处不做限制。该目标项目可以包括m个功能模块,每个功能模块下可以包括至少一个代码文件,m为正整数。例如,针对一个社交应用的项目,该项目可以包括多个功能模块,如该功能模块可以为用于显示信息列表的功能模块、用于显示好友信息的功能模块、用于显示自身用户信息的功能模块等等,此处不做限制。该处理对象可以为用于对警告项进行处理(如修复代码文件中的警告项)的人员,也可以为用于对警告项进行处理的人员对应的客户端,此处不做限制。该处理客户端可以为上述的用于对警告项进行处理的人员对应的客户端,也就是上述的处理对象。在一种场景中,处理客户端在接收到对应功能模块的统计信息时,可以对该统计信息进行显示,以便于处理人员确定对应功能模块的代码文件中存在的警告项,进而可以对警告项进行修复。由此使得每个处理对象仅能接收对应功能模块的统计信息,有助于提升检测的结果数据的安全性。
42.需要特别说明的是,除特别说明外,在本技术的具体实施方式中,涉及到代码文件、警告项的警告关联信息、用户信息等相关的数据,当本技术的实施例运用到具体产品或技术中时,均需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
43.该本技术的技术方案可运用在电子设备中,该电子设备可以是终端,也可以是服务器,或者也可以是用于进行数据处理的其他设备,如上述的数据处理设备,本技术不做限定。可选的。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、网络服务、中间件服务、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
44.基于上述的描述,本技术实施例提出一种数据处理方法。请参见图2,图2是本技术实施例提供的一种数据处理方法的流程示意图。该方法可以由上述所提及的电子设备执行。该方法可以包括以下步骤。
45.s201、获取目标项目在目标版本下的目标代码文件。
46.其中,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象。可以理解的是,一个目标代码文件有对应的功能模块,一个功能模块下可以有一个或对个目标代码文件。该目标版本可以为当前需要进行检测警告项的目标项目的版本。可以理解的是,目标项目每个版本都关联有对应的版本号,以区分不同的版本,版本号数值越大则表示版本越新。
47.该目标代码文件可以为需要进行检测的代码文件。目标项目在目标版本下的目标代码文件可以有一个或多个,此处不做限制。可以理解的是,本技术实施例可以获取目标项目在目标版本下的全部或部分代码文件作为目标代码文件,此处不做限制。其中,目标代码文件所属的功能模块可以称为目标功能模块。例如,该项目可以包括功能模块1、功能模块2、功能模块3、功能模块4,若需要对功能模块1和功能模块2的代码文件检测警告项,则可以获取功能模块1和功能模块2下的代码文件作为目标代码文件。在一种可能的实施方式中,在对目标项目的各个代码文件进行存储时,可以对不同功能模块的代码文件进行分类存储。例如,在目标项目的项目目录下,构建针对每个功能模块的文件夹,每个功能模块对应的文件夹下存储了对应功能模块的代码文件,如在目标项目的目录下,存在用于存储功能
模块1对应的代码文件的文件夹1,用于存储功能模块2对应的代码文件的文件夹2,用于存储功能模块3对应的代码文件的文件夹3,以及用于存储功能模块4对应的代码文件的文件夹4,由此可以实现对目标项目下的各个功能模块的代码文件的分类存储。进一步可选的,对每个功能模块下,还可以对各个代码文件做更细致的划分,也就是在一个功能模块下还可以包括至少一个子文件夹,每个子文件夹对应一个子功能模块,每个子文件中可以存储用于实现对应子功能模块的功能的代码文件,同理,还可以以此类推,进而对子文件夹下还可以构建对应的至少一个子文件夹,以实现功能模块更细致的划分。
48.s202、根据目标代码文件解析出每个目标代码文件对应的目标警告项。
49.其中,该目标警告项可以为目标代码文件中存在的警告。该目标警告项可以为在对目标代码文件进行编译后所产生的警告。可以理解的是,每个目标代码文件对应的目标警告项数量可以为零,也可以为一个或多个,此处不做限制。
50.目标警告项对应有k个维度的警告关联信息,k为正整数。该k个维度的警告关联信息包括以下一项或多项:警告项的类型、警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息。其中,警告项的类型可以为警告项所属的类型,例如,该警告项的类型可以为:词法或预处理问题、语义问题、弃用问题、格式字符串问题、内存问题、核心基础问题等,该警告项的类型可以通过预设的警告项类型映射关系生成,每个警告项有对应的类型。警告项所在的目标代码文件的地址信息,可以为警告项所在的目标代码文件在目标项目中的存储路径,如该地址信息可以为:/xx1/xx2/模块名称/代码文件名称。警告项在目标代码文件中的位置信息,用于指示警告项出现在目标代码文件中的哪一行那一列。警告项的描述信息用于指示警告的具体内容,如该警告描述信息可以描述警告项是因为什么而产生的。可以理解的是,解析出的各个目标警告项以及每个警告项对应的警告关联信息可以称为检测结果。
51.在一种场景中,解析出每个目标代码文件对应的目标警告项,可以为根据每个目标代码文件分别生成对应的属性列表文件,根据属性列表文件确定出每个目标代码文件分别对应的警告项以及警告项对应的k个维度的警告关联信息。其中,该属性列表文件也可以称为plist文件,生成对应的属性列表文件可以通过静态扫描工具进行生成,如该静态扫描工具可以为:clang static analyzer、oclint、infer等等,此处不做限制。该属性列表文件可以记录对应的代码文件中存在的警告项的类型、警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息等等,此处不做限制,由此可以根据属性列表文件中记录的信息确定出对应目标代码文件中的目标警告项对应的k个维度的警告关联信息。
52.s203、获取目标项目在历史版本下的历史代码文件,并从历史代码文件中提取历史警告项。
53.其中,该历史版本可以为目标版本之前开发的目标项目的版本,也就是说,历史版本的版本号小于目标版本的版本号。该历史代码文件即为历史版本的目标项目下的代码文件。历史代码文件的数量可以为一个或多个,此处不做限制。该历史警告项即为历史代码文件中存在的警告。可以理解的是,每个历史代码文件对应的目标警告项数量可以为零,也可以为一个或多个,此处不做限制。
54.历史警告项对应有k个维度的警告关联信息。历史警告项对应的k个维度的警告关联信息可以参照步骤s202中的目标警告项对应的k个维度的警告关联信息,即也可以包括以下一项或多项:警告项的类型、警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息。
55.其中,获取历史版本目标项目的历史警告项可以为,根据每个历史代码文件分别生成对应的属性列表文件,根据属性列表文件确定出每个历史代码文件分别对应警告项以及每个警告项对应的k个维度的警告关联信息。在一种场景中,在对目标代码文件解析出每个目标代码文件对应的目标警告项之前,可以对目标项目的历史版本的代码文件进行解析,则可以将对应的历史版本的代码文件的检测结果(即每个代码文件对应的警告项,以及每个警告项对应的k个维度的警告关联信息)与项目的版本号关联存储至存储区域,当需要获取历史版本的历史警告项及警告关联信息时,确定历史版本的版本号,如确定过去进行过解析的至少一个版本中的最新版本的版本号作为上述历史版本的版本号,并根据版本号从存储区域中获取历史版本的检测结果。
56.s204、根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表。
57.其中,目标统计列表包括针对每个功能模块的统计信息。该统计信息可以根据上述的警告关联信息生成。例如,该统计信息可以包括每个模块对应的目标警告项的警告项的类型,警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息。该统计信息还可以包括目标版本的每个功能模块对应的目标警告项的数量(或需要检测的全部功能模块对应的目标警告项的数量),每个功能模块下每种类型的目标警告项的类型的数量等等,此处不做限制。
58.该目标统计列表可以为根据统计信息生成的统计列表。该目标统计列表中包括针对每个功能模块的统计信息,相同意义的统计信息可以对应显示为一列数据。例如,该统计列表中第一列可以用于指示每个功能模块,第二列可以用于指示对应功能模块下的目标警告项属于的代码文件的文件名,第三列可以用于指示每个警告项所在的目标代码文件的地址信息,第四列可以用于指示警告项类型,第五列用于指示每个模块对应的目标警告项的数量,等等,此处不做限制。
59.在一种可能的实施方式中,该统计信息中还可以包括警告对比信息,该警告对比信息用于指示历史版本与当前版本的警告项的区别。则确定目标统计列表的过程可以包括以下步骤:

根据目标警告项对应的k个维度的警告关联信息与历史警告项对应的k个维度的警告关联信息,确定警告对比信息。其中,警告对比信息包括以下一项或多项:已修复的历史警告项信息、新增的警告项信息。该已修复的历史警告项信息用于指示相较于历史版本,目标版本对应的功能模块下的减少的警告项的警告关联信息,该新增的警告项信息用于指示相较于历史版本,目标版本对应的功能模块下增加的警告项的警告关联信息。可以理解的是,该已修复的历史警告项信息还可以包括统计出的已修复的历史警告项的数量,新增的警告项信息还可以包括统计出的新增的警告项的数量,此处不做限制。

根据目标警告项对应的k个维度的警告关联信息与警告对比信息生成目标统计列表。也就是,根据目标警告项对应的k个维度的警告关联信息与警告对比信息确定需要进行统计的统计信息,
进而根据每个统计信息生成目标统计列表,此处不做赘述。
60.s205、按照每个目标代码文件对应于的功能模块对应的处理对象,将目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
61.其中,目标统计列表中的统计信息均按照功能模块进行了分类,则可以快速从第一列表中的确定出每个功能模块对应的统计信息,进而将每个功能模块的统计信息分别发送至对应功能模块的处理对象。由此可以使得每个处理对象能够仅能看到对应功能模块的检测结果,若每个功能模块对应的处理对象不同,则可以保护对应功能模块的检测结果不被其他处理对象知道,减少数据泄露的可能性,提升每个功能模块的检测结果的安全性。
62.在一种可能的实施方式中,可以通过获取对象映射表来确定功能模块对应的处理对象。该对象映射表用于指示目标项目中的每个功能模块与处理对象的对应关系,如功能模块1,对功能模块1进行相关处理的人员为张三,则该对象映射表中可以记录功能模块1的处理对象为张三对应的对象标识或张三所对应的客户端的设备标识,此处不做限制。那么,步骤s205具体可以包括以下步骤:

获取对象映射表。其中,该对象映射表可以存放在对应的存储区域,可以根据对象映射表的存储地址进行获取。可以理解的是,该对象映射表可以定期维护,以保证对象映射表为最新的映射表。

根据对象映射表确定每个目标代码文件对应于的功能模块对应的处理对象,并将目标统计列表中每个功能模块的统计信息发送至功能模块对应的处理对象。其中,据对象映射表确定每个目标代码文件所属的功能模块对应的处理对象,可以为在对象映射表中的各个对应关系确定出功能模块与其对应的处理对象。
63.本技术提供一种数据处理方案,能够获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,由此可以选择需要检测警告项的功能模块对应的目标代码文件,灵活地实现对目标项目的代码检测;进而根据目标代码文件解析出每个目标代码文件对应的目标警告项,并获取目标项目在历史版本下历史代码文件分别对应的历史警告项,然后根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表,由此能够检测出历史版本与目标版本的检测结果之间的差异;进而将目标统计列表中每个功能模块的统计信息发送至功能模块对应的处理对象,使得每个功能模块对应的处理对象能够基于对应功能模块的检测结果进行后续处理,便于在多人协作项目中的任务分工。由此可以通过对目标项目的功能模块的划分实现对目标项目中的任意功能模块的代码文件的警告项检测,有助于提升对目标项目的警告项的检测的效率。
64.请参见图3,图3是本技术实施例提供的一种数据处理方法的流程示意图,应用于上述的电子设备中。该数据处理方法可以包括以下步骤。
65.s301、获取目标项目在目标版本下的目标代码文件。
66.在一种可能的实施方式中,如上述,获取目标项目在目标版本下的全部或部分代码文件作为目标代码文件,则可以通过代码获取指令来确定需要获取的哪些功能模块的指令。若目标项目包括m各功能模块,m为正整数,则步骤s301具体可以包括以下步骤:

获取代码处理指令,代码处理指令用于指示获取n个目标功能模块所对应的代码文件,n为正整数,n小于或等于m。其中,n小于或等于m,则说明该代码处理指令可以用于获取目标项目的部分或全部功能模块对应的代码文件。该目标功能模块也就是代码处理指令所指示需要进
行分析处理的功能模块。

根据代码处理指令,分别确定每个目标功能模块对应的目标文件夹。其中,目标文件夹用于存储目标功能模块对应的代码文件。确定该目标文件夹也可以为确定目标文件夹的地址信息,例如,目标功能模块的文件夹的文件夹名称为:文件夹1,则在目标项目下,该目标功能模块对应的文件夹的地址信息为:/xx1/文件夹1,则在“/xx1/文件夹1”的路径下存储有该功能模块对应的代码文件。

将目标文件夹下的代码文件作为目标代码文件。例如,n个目标功能模块中包括功能模块1,功能模块1对应的文件夹的地址信息为:/xx1/文件夹1,/xx1/文件夹1的路径下包括代码文件file1、file2、file3,则可以将file1、file2、file3作为目标代码文件。
67.在一种可能的实施方式中,该代码处理指令可以通过多种方式生成。
68.例如,检测功能模块输入操作,根据功能模块输入操作所指示的n个目标功能模块生成代码处理指令。其中,功能模块输入操作用于输入n个目标功能模块的模块信息,如该模块信息可以为目标功能模块对应的文件夹的文件夹名称,或者该目标功能模块对应的文件夹的地址信息。在一种可能的场景中,该模块输入操作可以基于目标页面执行,该目标页面用于输入需要处理的数据的相关信息,如可以基于该目标页面输入需要进行处理的目标功能模块(或需要进行处理的功能模块的文件夹地址),还可以基于该目标页面输入上述的对象映射表,此处不做限制。进而,当检测到基于对输入的信息的确认操作(如点击用于指示确认输入的控件)时,根据输入的目标功能模块的生成代码处理指令,以指示检测目标功能模块中的代码文件存在的问题。
69.又如,确定每个功能模块的重要程度,根据每个功能模块的重要程度确定n个目标功能模块,根据n个目标功能模块生成代码处理指令。其中,该模块的重要程度用于指示模块的功能在项目中重要性,该模块的重要程度可以分为多个等级,如中等、高等、低等不同等级。如一些功能为项目的核心功能,或者维持项目运营的关键功能,则将这些功能的功能模块的重要程度确定为高等,反之则确定为中等或低等。根据每个功能模块的重要程度确定n个目标功能模块,可以将重要程度为预设重要程度的功能模块确定为目标功能模块,该预设重要程度可以为用户预设的重要程度,如可以通过上述的目标页面由用户确定需要对哪些重要程度的功能模块进行处理,或者可以根据项目的大小确定出对应的预设重要程度,项目的大小可以根据项目所包括的代码文件的数量进行确定。例如,项目比较大(项目所包括的代码文件的数量大于数量阈值),则可以对重要程度最高的功能模块确定为目标功能模块以进行检测,由此可以减少检测的数据量。
70.s302、根据目标代码文件解析出每个目标代码文件对应的目标警告项。
71.在一种可能的实施方式中,本技术还可以预设需要检出的警告项的类型,进而根据至少一个目标代码文件解析出每个目标代码文件对应的目标警告项时,可以仅解析出预设的类型对应的至少一个警告项,由此可以更有针对性的检测代码文件中的警告项。
72.s303、获取目标项目在历史版本下的历史代码文件,并从历史代码文件中提取历史警告项。
73.其中,步骤s303的相关描述可以参见步骤s203,此处不做赘述。
74.s304、根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表。
75.在一种可能的实施方式中,该目标统计列表可以的体现方式可以包括至少一种。
76.例如,请参见图4,图4是本技术实施例提供的一种目标统计列表的效果示意图。该目标统计列表可以用于简单展示每个功能模块的目标警告项的位置情况,便于处理对象快速定位警告项的位置进行修复。该目标统计列表可以包括功能模块的模块名(如图4中的401所示),相较历史版本是否为新增的警告项(如图4中的402所示),警告项所属的代码文件的文件名(如图4中的403所示),警告项的位置信息(如图4中的404所示),警告项所在的目标代码文件的地址信息(如图4中的405所示)、警告项的描述信息(如图4中的406所示)。可选的,在目标统计列表中,相较于历史版本新增的警告项的信息可以通过特殊标记用于显示,如可以通过不同颜色、不同字体、下划线等方式进行标记,由此可以突出显示新增的警告项,有利于处理对象对新增的警告项提高警惕。
77.又如,请参见图5,图5是本技术实施例提供的一种目标统计列表的效果示意图。该目标统计列表可以用于简单展示每个功能模块的目标警告项的整体情况,可以使得处理对象可以快速明确当前每个代码文件的警告分布情况。该目标统计列表包括每个功能模块的名称(如图5中的501所示),功能模块所包括的代码文件的文件名(如图5中的502所示),每个代码文件中包括的警告项数量(如图5中的503所示)、新增警告项数量(如图5中的504所示)、已修复警告项数量(如图5中的505所示),对应的处理对象(如图5中的506所示)等等。可选的,在目标统计列表中,新增的警告项的数量与已修复的警告项的数量可以通过不同标记用于显示,如新增的警告项的数量用一种颜色,已修复的警告项的数量用另一种颜色进行标记。
78.又如,请参见图6,图6是本技术实施例提供的一种目标统计列表的效果示意图。该目标统计列表可以用于指示每个功能模块下,按照警告类型分类的警告项的整体情况。该目标统计列表可以包括每个功能模块的模块名称(如图6中的601所示),每个功能模块下每种警告类型(如图6中的602所示为一个警告项类型)的警告项数量(如图6中的603所示),新增警告项数量(如图6中的604所示)以及已修复警告项数量(如图6中的605所示),对应的处理对象(如图6中的606所示)等等。可选的,在目标统计列表中,新增的警告项的数量与已修复的警告项的数量可以通过不同标记用于显示。
79.s305、按照每个目标代码文件对应于的功能模块对应的处理对象,将目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
80.在一种可能的实施方式中,可以将上述每种显示方式的目标统计列表中每个功能模块的统计信息均发送至对应的处理对象。由此可以使得处理对象能够从多方面查看各个警告项的信息,以便于对警告项的修复。
81.s306、将每个功能模块对应的目标警告项按照风险等级从高到低进行排序,得到每个功能模块的警告项风险序列。
82.其中,如上述,目标警告项关联有对应的风险等级。该风险等级可以根据警告项所指示的问题在后续应用中对应用造成影响的概率、以及根据警告项所指示的问题能够在项目后续应用过程造成的影响的大小进行确定,该风险等级即为根据对各种警告项进行风险评估后所生成的等级。该风险等级可以表现为大、中、小等多个等级,也可以表现为对应的风险系数,此处不做限制,该风险系数可以根据上述的警告项对应用造成影响的概率以及警告项在后续应用中对应用造成的影响大小分别确定对应的风险值,然后根据各风险值确定出对应警告项的风险系数。该警告项风险序列中可以包括目标警告项且各目标警告项按
照风险等级从大到小进行排列,若风险等级相同,则可以对风险等级相同的目标警告项随机排列,此处不做限制。
83.s307、根据每个功能模块的警告项风险序列生成警告修复策略。
84.其中,警告修复策略指示了对目标警告项的修复顺序,对各个警告项的修复顺序可以根据上述的警告项风险序列,警告项风险序列越靠前,则修复顺序就越靠前。例如,警告项目风险序列为:警告项1、警告项2、警告项3、警告项4、警告项5,则生成的警告修复策略可以用于指示对对各个目标警告项的修复顺序为:警告项1、警告项2、警告项3、警告项4、警告项5。在一种可能的实施方式中,该警告修复策略还可以包括目标警告项的位置信息,由此可以让处理对象快速定位警告项的位置,有助于快速对警告项进行修复。
85.s308、将每个功能模块对应的警告修复策略发送至对应的处理对象。
86.其中,将每个功能模块对应的警告修复策略发送至功能模块对应的处理对象,可以获取对象映射表,然后根据对象映射表确定每个功能模块对应的处理对象,并将警告修复策略发送至功能模块对应的处理对象。可以理解的是,将警告修复策略发送至对应的处理对象的时机可以为,与步骤s305同时发送至对应的处理对象,也可以为在步骤s305之前或之后发送至对应的处理对象,此处不做限制。
87.本技术提供一种数据处理方案,能够获取目标项目的目标版本对应的至少一个目标代码文件,每个目标代码文件属于对应的功能模块,由此可以选择需要检测警告项的功能模块对应的至少一个目标代码文件,提升对目标项目的代码检测的效率;进而根据至少一个目标代码文件解析出每个目标代码文件对应的目标警告项,并获取目标项目的历史版本的至少一个历史代码文件分别对应的历史警告项,然后根据目标警告项对应的k个维度的警告关联信息以及历史警告项对应的k个维度的警告关联信息,生成目标统计列表,由此能够检测出历史版本与目标版本的检测结果之间的差异;进而将目标统计列表中每个功能模块的统计信息发送至功能模块对应的处理对象,使得每个功能模块对应的处理对象能够基于对应功能模块的检测结果进行后续处理,便于在多人协作项目中的任务分工。由此可以通过对目标项目的功能模块的划分实现对目标项目中的任意功能模块的代码文件的警告项检测,有助于提升对目标项目的警告项的检测的效率。
88.请参见图7,图7是本技术实施例提供的一种数据处理装置的结构示意图。可选的,该数据处理装置可以设置于上述电子设备中。如图7所示,本实施例中所描述的数据处理装置可以包括:
89.获取单元701,用于获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
90.处理单元702,用于根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
91.所述获取单元701,还用于获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
92.所述处理单元702,还用于根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
93.发送单元703,用于按照每个目标代码文件对应于的功能模块对应的处理对象,将
所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
94.在一种实现方式中,所述统计信息中包括警告对比信息;所述处理单元702,具体用于:
95.根据所述目标警告项对应的k个维度的警告关联信息与所述历史警告项对应的k个维度的警告关联信息,确定警告对比信息,所述警告对比信息包括以下一项或多项:已修复的历史警告项信息、新增的警告项信息;
96.根据所述目标警告项对应的k个维度的警告关联信息与所述警告对比信息生成目标统计列表。
97.在一种实现方式中,所述目标项目包括m个功能模块,m为正整数;所述获取单元701,具体用于:
98.获取代码处理指令,所述代码处理指令用于指示获取n个目标功能模块所对应的代码文件,n为正整数,n小于或等于m;
99.根据所述代码处理指令,分别确定每个目标功能模块对应的目标文件夹;所述目标文件夹用于存储目标功能模块对应的代码文件;
100.将所述目标文件夹下的代码文件作为至少一个目标代码文件。
101.在一种实现方式中,所述获取单元701,具体用于:
102.检测到功能模块输入操作,根据所述功能模块输入操作所指示的n个目标功能模块生成代码处理指令;所述功能模块输入操作用于输入n个目标功能模块的模块信息;
103.或者,确定每个功能模块的重要程度,根据所述每个功能模块的重要程度确定n个目标功能模块,根据所述n个目标功能模块生成代码处理指令。
104.在一种实现方式中,所述处理单元702,具体用于:
105.获取对象映射表;所述对象映射表用于指示所述目标项目中的每个功能模块与处理对象的对应关系;
106.根据所述对象映射表确定每个目标代码文件对应于的功能模块对应的处理对象,并将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
107.在一种实现方式中,所述目标警告项关联有对应的风险等级;所述处理单元702,还用于:
108.将所述每个功能模块对应的目标警告项按照风险等级从高到低进行排序,得到每个功能模块的警告项风险序列;
109.根据所述每个功能模块的所述警告项风险序列生成警告修复策略,所述警告修复策略指示了对所述目标警告项的修复顺序;
110.将每个功能模块对应的警告修复策略发送至对应的处理对象。
111.在一种实现方式中,所述k个维度的警告关联信息包括以下一项或多项:警告项的类型、警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息。
112.请参见图8,图8是本技术实施例提供的一种电子设备的结构示意图。本实施例中所描述的电子设备,包括:处理器801、存储器802。可选的,该电子设备还可包括网络接口803或供电功能模块等结构。上述处理器801、存储器802以及网络接口803之间可以交互数据。
113.上述处理器801可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
114.上述网络接口803可以包括输入设备和/或输出设备,例如该输入设备是可以是控制面板、麦克风、接收器等,输出设备可以是显示屏、发送器等,此处不一一列举。例如,在申请实施例中,该网络接口可包括接收器和发送器。
115.上述存储器802可以包括只读存储器和随机存取存储器,并向处理器801提供程序指令和数据。存储器802的一部分还可以包括非易失性随机存取存储器。其中,所述处理器801调用所述程序指令时用于执行:
116.获取目标项目在目标版本下的目标代码文件,每个目标代码文件对应于每个功能模块,每个功能模块关联有对应的处理对象;
117.根据所述目标代码文件解析出每个目标代码文件对应的目标警告项,所述目标警告项对应有k个维度的警告关联信息;k为正整数;
118.获取所述目标项目在历史版本下的历史代码文件,并从所述历史代码文件中提取历史警告项,所述历史警告项对应有k个维度的警告关联信息;
119.根据所述目标警告项对应的k个维度的警告关联信息以及所述历史警告项对应的k个维度的警告关联信息,生成目标统计列表;所述目标统计列表包括针对每个功能模块的统计信息;
120.按照每个目标代码文件对应于的功能模块对应的处理对象,将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
121.在一种实现方式中,所述统计信息中包括警告对比信息;所述处理器801,具体用于:
122.根据所述目标警告项对应的k个维度的警告关联信息与所述历史警告项对应的k个维度的警告关联信息,确定警告对比信息,所述警告对比信息包括以下一项或多项:已修复的历史警告项信息、新增的警告项信息;
123.根据所述目标警告项对应的k个维度的警告关联信息与所述警告对比信息生成目标统计列表。
124.在一种实现方式中,所述目标项目包括m个功能模块,m为正整数;所述处理器801,具体用于:
125.获取代码处理指令,所述代码处理指令用于指示获取n个目标功能模块所对应的代码文件,n为正整数,n小于或等于m;
126.根据所述代码处理指令,分别确定每个目标功能模块对应的目标文件夹;所述目标文件夹用于存储目标功能模块对应的代码文件;
127.将所述目标文件夹下的代码文件作为至少一个目标代码文件。
128.在一种实现方式中,所述处理器801,具体用于:
129.检测到功能模块输入操作,根据所述功能模块输入操作所指示的n个目标功能模
块生成代码处理指令;所述功能模块输入操作用于输入n个目标功能模块的模块信息;
130.或者,确定每个功能模块的重要程度,根据所述每个功能模块的重要程度确定n个目标功能模块,根据所述n个目标功能模块生成代码处理指令。
131.在一种实现方式中,所述处理器801,具体用于:
132.获取对象映射表;所述对象映射表用于指示所述目标项目中的每个功能模块与处理对象的对应关系;
133.根据所述对象映射表确定每个目标代码文件对应于的功能模块对应的处理对象,并将所述目标统计列表中每个功能模块的统计信息发送至对应的处理对象。
134.在一种实现方式中,所述目标警告项关联有对应的风险等级;所述处理器801,还用于:
135.将所述每个功能模块对应的目标警告项按照风险等级从高到低进行排序,得到每个功能模块的警告项风险序列;
136.根据所述每个功能模块的所述警告项风险序列生成警告修复策略,所述警告修复策略指示了对所述目标警告项的修复顺序;
137.将每个功能模块对应的警告修复策略发送至对应的处理对象。
138.在一种实现方式中,所述k个维度的警告关联信息包括以下一项或多项:警告项的类型、警告项所在的目标代码文件的地址信息、警告项所在的目标代码文件所属的功能模块、警告项在目标代码文件中的位置信息、警告项的描述信息。
139.可选的,该程序指令被处理器执行时还可实现上述实施例中方法的其他步骤,这里不再赘述。
140.本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法,比如执行上述电子设备执行的方法,此处不赘述。
141.可选的,本技术涉及的存储介质如计算机可读存储介质可以是非易失性的,也可以是易失性的。
142.可选的,该计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。其中,本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
143.需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和功能模块并不一定是本技术所必须的。
144.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储
介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
145.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法的实施例中所执行的步骤。例如,该计算机设备可以为终端,或者可以为服务器。
146.以上对本技术实施例所提供的一种数据处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献