一种软件源代码版本确定方法及装置制造方法及图纸

技术编号:18553272 阅读:34 留言:0更新日期:2018-07-28 10:33
本发明专利技术实施例提供的一种软件源代码版本确定方法及装置,属于计算机技术领域。该方法包括获取待检测源代码版本的软件所输出的检测文件;基于预设版本集合中的每个版本号所对应的软件对检测文件分别进行识别;获取版本集合中满足预设要求的一个或多个版本号,并将一个或多个版本号生成第一子集合;判断第一子集合是否符合预设规则;若是,获取预设版本集合中的每个版本号所对应的软件所输出的识别文件;记录待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,第二子集合包括至少一个版本号;基于第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。

【技术实现步骤摘要】
一种软件源代码版本确定方法及装置
本专利技术涉及计算机
,具体而言,涉及一种软件源代码版本确定方法及装置。
技术介绍
随着开源模式的大量普及,许多厂商通常会采用两种策略去发布其程序:A.开源+闭源模式:将程序的部分源代码使用一个特定的开源许可协议(如GNUGeneralPublicLicense,GPL)进行开源;并且同时发布一个完整的版本,这个版本的源代码并不对外提供;B.基于开源模式:程序的一部分代码直接使用开源的代码,最终对外提供的程序不提供源代码。然而不管使用上面的哪一种模式进行发布,上述程序的部分代码存在公开的源代码,另一方面,其他厂商在发布程序时,需要对这个未开发源代码的产品进行兼容,其需要明确所使用的开源代码的版本。然而现有的定位源代码版本的方法:要么是直接通过程序中包含的“版本号”等信息进行确认,要么是通过对源代码的版本进行持续的跟踪,了解每一个版本的变更,然而无论采用什么方式,都无法在节约人力的前提下快速准确确定源代码的版本。
技术实现思路
本专利技术提供的一种软件源代码版本确定方法及装置,旨在改善上述问题。本专利技术提供的一种软件源代码版本确定方法,包括:获取待检测源代码版本的软件所输出的检测文件;基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别;获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合;判断所述第一子集合是否符合预设规则;若是,获取所述预设版本集合中的每个版本号所对应的软件所输出的识别文件;记录所述待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,所述第二子集合包括至少一个版本号;基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。可选地,所述的判断所述第一子集合是否符合预设规则,之后还包括:若否,获取所述第一子集合中的每个版本号所对应的软件所输出的第二识别文件;记录所述待检测源代码版本的软件能够识别所述第二识别文件所对应的版本号;将所述版本号作为所述待检测源代码版本的软件所对应的目标版本号。可选地,所述的基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别,包括:获取预设版本集合中的每个版本号所对应的源代码;将每个所述版本号所对应的源代码编译为可执行文件;调用每个所述可执行文件对所述检测文件分别进行处理。可选地,所述的获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合,包括:获取每个所述可执行文件对所述检测文件分别进行处理后的M个处理结果,所述M为整数;获取所述M个处理结果中的N个目标匹配信息,所述N小于或等于所述M;获取N个所述目标匹配信息所对应的N个版本号;将N个所述版本号生成第一子集合。可选地,所述的基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本,包括:获取所述第一子集合与所述第二子集合的交集;将所述交集所对应的版本号作为所述待检测源代码版本的软件所对应的目标版本。本专利技术提供的一种软件源代码版本确定装置,包括:数据输入单元,用于获取待检测源代码版本的软件所输出的检测文件;第一处理单元,用于基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别;第一获取单元,用于获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合;第二处理单元,用于判断所述第一子集合是否符合预设规则;第三处理单元,用于若是,获取所述预设版本集合中的每个版本号所对应的软件所输出的识别文件;第二获取单元,用于记录所述待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,所述第二子集合包括至少一个版本号;第四数据处理单元,用于基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。可选地,所述第二处理单元,之后还包括:第五数据处理单元,用于若否,获取所述第一子集合中的每个版本号所对应的软件所输出的第二识别文件;数据识别单元,用于记录所述待检测源代码版本的软件能够识别所述第二识别文件所对应的版本号;数据标记单元,用于将所述版本号作为所述待检测源代码版本的软件所对应的目标版本号。可选地,所述第一处理单元具体用于:获取预设版本集合中的每个版本号所对应的源代码;将每个所述版本号所对应的源代码编译为可执行文件;调用每个所述可执行文件对所述检测文件分别进行处理。可选地,所述第一获取单元具体用于:获取每个所述可执行文件对所述检测文件分别进行处理后的M个处理结果,所述M为整数;获取所述M个处理结果中的N个目标匹配信息,所述N小于或等于所述M;获取N个所述目标匹配信息所对应的N个版本号;将N个所述版本号生成第一子集合。可选地,所述第四数据处理单元具体用于:获取所述第一子集合与所述第二子集合的交集;将所述交集所对应的版本号作为所述待检测源代码版本的软件所对应的目标版本。上述本专利技术提供的一种软件源代码版本确定方法及装置,通过获取待检测源代码版本的软件所输出的检测文件;再基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别;并获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合;再判断所述第一子集合是否符合预设规则;在第一子集合符合预设规则时,获取所述预设版本集合中的每个版本号所对应的软件所输出的识别文件;然后记录所述待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,所述第二子集合包括至少一个版本号;最后基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。从而实现自动对待检测软件的版本号进行确定的同时,提高了准确性以及效率,大大降低了人工处理的时间,进而实现了在节约人力的前提下,提高了对待检测软件的版本号的准确确定。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的一种电子设备的结构框图;图2为本专利技术第一实施例提供的软件源代码版本确定方法的流程图;图3为本专利技术第二实施例提供的软件源代码版本确定方法的流程图;图4为本专利技术第三实施例提供的软件源代码版本确定装置的功能模块示意图;图5为本专利技术第四实施例提供的软件源代码版本确定装置的功能模块示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本本文档来自技高网...

【技术保护点】
1.一种软件源代码版本确定方法,其特征在于,包括:获取待检测源代码版本的软件所输出的检测文件;基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别;获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合;判断所述第一子集合是否符合预设规则;若是,获取所述预设版本集合中的每个版本号所对应的软件所输出的识别文件;记录所述待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,所述第二子集合包括至少一个版本号;基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。

【技术特征摘要】
1.一种软件源代码版本确定方法,其特征在于,包括:获取待检测源代码版本的软件所输出的检测文件;基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别;获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合;判断所述第一子集合是否符合预设规则;若是,获取所述预设版本集合中的每个版本号所对应的软件所输出的识别文件;记录所述待检测源代码版本的软件能够识别所述识别文件所对应的第二子集合,所述第二子集合包括至少一个版本号;基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本。2.根据权利要求1所述的方法,其特征在于,所述的判断所述第一子集合是否符合预设规则,之后还包括:若否,获取所述第一子集合中的每个版本号所对应的软件所输出的第二识别文件;记录所述待检测源代码版本的软件能够识别所述第二识别文件所对应的版本号;将所述版本号作为所述待检测源代码版本的软件所对应的目标版本号。3.根据权利要求1所述的方法,其特征在于,所述的基于预设版本集合中的每个版本号所对应的软件对所述检测文件分别进行识别,包括:获取预设版本集合中的每个版本号所对应的源代码;将每个所述版本号所对应的源代码编译为可执行文件;调用每个所述可执行文件对所述检测文件分别进行处理。4.根据权利要求3所述的方法,其特征在于,所述的获取所述版本集合中满足预设要求的一个或多个版本号,并将所述一个或多个版本号生成第一子集合,包括:获取每个所述可执行文件对所述检测文件分别进行处理后的M个处理结果,所述M为整数;获取所述M个处理结果中的N个目标匹配信息,所述N小于或等于所述M;获取N个所述目标匹配信息所对应的N个版本号;将N个所述版本号生成第一子集合。5.根据权利要求1所述的方法,其特征在于,所述的基于所述第一子集合与所述第二子集合生成目标版本号,并将所述目标版本号作为所述待检测源代码版本的软件的目标版本,包括:获取所述第一子集合与所述第二子集合的交集;将所述交集所对应的版本号作为所述待检测源代...

【专利技术属性】
技术研发人员:泮晓波
申请(专利权)人:北京顶象技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1