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

基于simhash的源代码中开源成分筛选识别方法及系统与流程

2022-07-31 02:03:21 来源:中国专利 TAG:


1.本发明软件源代码开源成分检测技术领域,尤其涉及一种基于simhash的源代码中开源成分筛选识别方法及系统。


背景技术:

2.针对软件项目中开源成分的分析,其目的是分析项目中的引用的开源成分,以有针对性的进行漏洞检测,软件中的开源成分包括使用的开源组件或者拷贝的部分开源代码。目前已经有很多sca工具已经可以支持开源成分的分析,但是这些工具一般是基于项目的特征文件来分析项目的开源成分,也就是分析项目中使用到的开源组件。而基于代码的开源成分分析则很少。主要是因为基于海量的开源代码进行开源成分的分析的难度很大,检测效率不够理想。


技术实现要素:

3.本发明的目的是为解决上述技术问题而提供一种基于海量的开源代码进行软件开源成分检测并且有效确保检测效率的基于simhash的源代码中开源成分筛选识别方法及系统。
4.为了实现上述目的,本发明公开了一种基于simhash的源代码中开源成分筛选识别方法,其包括:
5.获取若干开源组件,以构建基础源码库,每一所述开源组件中包括若干开源文件;
6.采用simhash算法,分别对所述基础源码库中的每一所述开源文件中的源代码进行解析处理,以获得若干分别与相应所述开源文件相关的第一数码串,并按序将所述第一数码串均分为四段,以获得若干分别与相应所述开源文件相关的包括有四个字符串的第一数码组,并将若干所述第一数码组存储在数据库中,以得到数据匹配表;
7.采用与所述开源文件相同的解析处理方式对待测源码组件中的每一源码文件进行解析处理,以获得若干分别与相应所述源码文件相关的包括有四个字符串的第二数码组;
8.分别将所述第二数码组中的字符串与所述数据匹配表中每一所述第一数码组中的字符串整体匹配;
9.判断任一所述第一数码组中是否存在与当前所述第二数码组中相同的字符串,如果是,则将该第一数码组定义为待选数码组;
10.根据所述待选数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
11.较佳地,还包括对所述待选数码组进行进一步筛选的方法:
12.分别判断任一所述待选数码组中其他三个字符串是否存在于当前所述第二数码组中,并根据判断结果计算所述待选数码组与所述第二数码组的汉明距离;
13.判断所述待选数码组与第二数码组的汉明距离是否小于或等于3,如果是,则将该
待选数码组定义为目标数码组;
14.根据所述目标数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
15.较佳地,根据所述目标数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件的方法包括:
16.在所述基础源码库中生成一关联表,所述关联表记录有与每一所述第一数码组相关联的开源文件名、与该开源文件所对应的开源组件名、该开源组件的版本号、以及该开源组件存储位置;
17.根据所述关联表,查找所有与所述目标数码组对应的开源文件、开源组件以及存储位置;
18.统计查找出的每一所述开源组件所对应的源码文件的数量,并根据统计数量计算每一所述开源组件与待测源码组件的相似度;
19.根据相似度由高到低的顺序,取前n个所述开源组件作为进一步比对分析的对象。
20.较佳地,还包括在所述基础源码库中对所述开源文件的存储方法:
21.采用minhash算法,对任一所述开源文件整体执行哈希计算,以得到与该开源文件相对应的特征哈希码,并以该特征哈希码命名该开源文件;
22.将所述特征哈希码进行分段,以得到哈希数码段,根据该哈希数码段建立多级存储目录,具有相同哈希数码段的开源文件存储在同一级的存储目录下。
23.本发明还公开一种基于simhash的源代码中开源成分筛选识别系统,其包括源码库构建模块、文件解析模块、数据表建立模块、匹配模块、第一判断模块、第一筛选模块以及查找模块;
24.所述源码库构建模块,用于通过获取到的若干开源组件,以构建基础源码库,每一所述开源组件中包括若干开源文件;
25.所述文件解析模块,用于采用simhash算法,对包括开源文件和待测源码组件中的源码文件的代码文件进行解析处理,以获得若干分别与相应代码相关的哈希数码串,并按序将所述哈希数码串均分为四段,以获得若干分别与相应所述代码文件相关的包括有四个字符串的数码组,所述数码组包括与所述开源文件相对应的第一数码组和与所述源码文件相对应的第二数码组;
26.所述数据表建立模块,用于将若干所述第一数码组存储在数据库中,以得到数据匹配表;
27.所述匹配模块,用于分别将与当前待测源码组件中任一所述源码文件相对应的所述第二数码组中的字符串与所述数据匹配表中每一所述第一数码组中的字符串整体匹配;
28.所述第一判断模块,用于根据所述匹配模块的匹配结果,判断任一所述第一数码组中是否存在与当前所述第二数码组中相同的字符串;
29.所述第一筛选模块,用于将所述判断模块判断结果为是的所述第一数码组定义为待选数码组;
30.所述查找模块,用于根据所述待选数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
31.较佳地,还包括第二判断模块、计算模块、以及第二筛选模块;
32.所述第二判断模块,用于分别判断任一所述待选数码组中其他三个字符串是否存在于当前所述第二数码组中;
33.所述计算模块,及用于根据所述第二判断模块的判断结果计算所述待选数码组与所述第二数码组的汉明距离;
34.所述第二筛选模块,用于将所述第二数码组的汉明距离小于或等于3的待选数码组定义为目标数码组;
35.所述查找模块根据所述目标数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
36.较佳地,还包括关联表生成模块,所述查找模块包括查表模块、统计计算模块以及提取模块;
37.所述关联表生成模块,用于在所述基础源码库中生成一关联表,所述关联表记录有与每一所述第一数码组相关联的开源文件名、与该开源文件所对应的开源组件名、该开源组件的版本号、以及该开源组件存储位置;
38.所述查表模块,用于根据所述关联表查找所有与所述目标数码组对应的开源文件、开源组件以及存储位置;
39.所述统计计算模块,用于统计查找出的每一所述开源组件所对应的源码文件的数量,并根据统计数量计算每一所述开源组件与待测源码组件的相似度;
40.所述提取模块,用于根据所述统计计算模块得出的相似度由高到低的顺序,提取前n个所述开源组件作为进一步比对分析的对象。
41.较佳地,还包括文件名处理模块和目录建立及存储模块;
42.所述文件名处理模块,用于采用minhash算法对任一所述开源文件整体执行哈希计算,以得到与该开源文件相对应的特征哈希码,并以该特征哈希码命名该开源文件;
43.所述目录建立及存储模块,用于将所述特征哈希码进行分段,以得到哈希数码段,并根据该哈希数码段建立多级存储目录,并将具有相同哈希数码段的开源文件存储在同一级的存储目录下。
44.本发明还公开一种基于simhash的源代码中开源成分筛选识别系统,其包括:
45.一个或多个处理器;
46.存储器;
47.以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的基于simhash的源代码中开源成分筛选识别方法的指令。
48.本发明还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的基于simhash的源代码中开源成分筛选识别方法。
49.与现有技术相比,本发明源代码中开源成分筛选识别方法,构建有包括海量开源文件的基础源码库,并采用simhash算法对基础数据库中的开源文件进行处理,根据开源文件中的源代码内容将每一开源文件解析成包括四个字符串的第一数码组,从而得到包括若干第一数码组的数据匹配表,然后,只需采用与开源文件相同的解析处理方式对每一待测源码组件中的每一源码文件进行解析处理,以得到第二数码组,接着,采用第二数码组在数据匹配表中与各个第一数码组进行匹配,任一第一数码组中只要有一个字符串存在于当前
第二数码组中,即可将该第一数码组定义为待选数码组,从而,从海量的开源文件中选出与待测开源文件相似几率较大者,摈除掉没有相似可能性的开源文件;由此可知,根据上述方法,由于用于比对的第一数码组和第二数码组均是根据代码内容采用simhash算法解析而来,因此,可从源代码层面对软件中的开源成分进行检测,检测覆盖面广,而且通过上述解析处理方式,在匹配过程中只需对每一对字符串进行整体匹配,无需逐位匹配,从而使得匹配速度有效提高,确保开源成分的检测效率。
附图说明
50.图1为本发明其中一实施例中源代码中开源成分筛选识别方法流程图。
51.图2为本发明另一实施例中源代码中开源成分筛选识别方法流程图。
52.图3为本发明再一实施例中源代码中开源成分筛选识别方法流程图。
具体实施方式
53.为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
54.本实施例公开了一种源代码中开源成分筛选识别方法,以从代码层面对软件项目中的开源成分进行快速检测,具体地,如图1,该筛选识别方法包括如下步骤:
55.s10:获取若干开源组件,以构建基础源码库,每一开源组件中包括若干开源文件。在该步骤中,可从开源代码托管平台下载开源文件,当然也可以其他方式采集获取。
56.s11:采用simhash算法,分别对基础源码库中的每一开源文件中的源代码进行解析处理,以获得若干分别与相应开源文件相关的第一数码串,并按序将第一数码串均分为四段,以获得若干分别与相应开源文件相关的包括有四个字符串的第一数码组。
57.s12:将若干第一数码组存储在数据库中,以得到数据匹配表。
58.s20:采用与开源文件相同的解析处理方式对待测源码组件中的每一源码文件进行解析处理,也即,采用simhash算法,分别对待测源码组件中的每一开源文件中的源代码进行解析处理,以获得若干分别与相应源码文件相关的第二数码串,并按序将第二数码串均分为四段,以获得若干分别与相应源码文件相关的包括有四个字符串的第二数码组。
59.s21:分别将第二数码组中的字符串与数据匹配表中每一第一数码组中的字符串整体匹配。
60.s22:判断任一第一数码组中是否存在与当前第二数码组中相同的字符串,如果是,则进入s23,如果否,则跳过。
61.s23:将该第一数码组定义为待选数码组。
62.s30:根据待选数码组在基础源码库中找出与该待测源码组件相关的若干开源组件。
63.根据上述筛选识别方法,在形成基础源码库后,采用simhash算法,分别对基础源码库中的每一开源文件中的源代码进行解析处理,首先获得与相应源码文件相关的第一数码串,该第一数码串包括64位字节,根据哈希判重规则,对于64位字节长度的哈希数码串来说,如果有三个以内字节长度不同,即表示两个哈希数码串高度相似,因此,在本实施例中,将哈希数码串(如第一数码串和第二数码串)均分为4段,每一段为16为字节的字符串,那么
对于两个哈希数码串来说,如有存在相同或高度相似的几率,那么至少要有一段字符串相同,从另一方面来说,如果两个哈希数码串的四个字符串均不同,那么这两个哈希数码串不存在相似的可能性。所以,本实施例中,根据第二数码组在数据匹配表中匹配过程中,只需找出具有一个相同字符串的第一数码组,即可将该第一数码组定义为待选数码组,以作为进一步详细分析,从而从海量源代码库中,将大量与当前源码文件不存在相似可能性的开源文件过滤掉,以大幅缩减详细比对时间。另外,在根据第二数码组在数据匹配表中匹配过程中,只需匹配两段16位字符串整体是否相同,而无需一个个字符逐位比对,从而大幅提高匹配速度。
64.上述实施例中,对开源文件和源码文件等代码文件进行simhash处理时,首先将每个代码文件取出,然后按照一定的规则分词,比如空格、字符等,这样一个代码文件的内容会生成多个token(分的每个词都是一个token),接着,根据业务需求为每个token加上权重,然后计算每个token的hash整数值,然后乘以这个token的权重,即是这个token的最终hash值。最后,对于整个代码文件算出的64位字节值,大于0的取1,小于等于0的取0,转化为0和1组成的64位字节。本实施例中,通过分词和权重处理,使得得出的simhash的值会更加的精确。
65.为进一步提高详细比对的准度度以及提高效率,如图2,上述筛选识别方法还包括对待选数码组进行进一步筛选的方法:
66.s24:分别判断任一待选数码组中其他三个字符串是否存在于当前第二数码组中;在步骤s22中,如果第一数码组中存在与第二数码组中相同的字符串,可将该字符串定义为初选字符串,然后,在步骤s24中,再分别判断任一待选数码组中与初选字符串相异的其他三个字符串是否存在于第二数码组中;
67.s25:根据判断结果计算待选数码组与第二数码组的汉明距离;
68.s26:判断待选数码组与第二数码组的汉明距离是否小于或等于3,如果是,则进入s27,如果否,则放弃该待选数码组;
69.s27:将该待选数码组定义为目标数码组。
70.那么,在步骤s30中,根据目标数码组在基础源码库中找出与该待测源码组件相关的若干开源组件。
71.在本实施例中,对于任一源码文件所对应的第二数码组,将其表示为p2[a1,a2,a3,a4],a1、2、a3、a4为数码组p2中的四个16字节的字符串,对于数据匹配表中的其中一第一数码组,将其表示为p1[b1,b2,b3,b4],b1、b2、b3、b4为数码组p1中四个16字节的字符串。在匹配过程中,如果a1与b1,b2,b3,b4中的其中一个相同,例如a1与b1相同,则将数码组p1定义为待选数码组。然后,将数码组p1中的其他三个字符串a2,a3,a4继续与数码组p1匹配,如果a2与b2,b3,b4中的其中一个(如b3)相同,则跳过,如果a2与b2,b3,b4中的任何一个均不同,则基于a2计算p1与p2的汉明距离,同理,对字符串a3进行处理,将得到的各个汉明距离相加,如果总的汉明距离不大于3,例如基于a2计算的汉明距离为1,基于a3计算的汉明距离为1,总的汉明距离为2,则将该数码组p1定义为目标数码组。如果数码组p1中的其他三个字符串a2,a3,a4均存在于数码组p1中,则数码组p1与数码组p2的汉明距离为零。
[0072]
相比于待选数码组,目标数码组所对应的开源文件与待测源码文件的相似度更高,更有利于进一步的详细比对。
[0073]
进一步地,如图3,根据目标数码组在基础源码库中找出与该待测源码组件相关的若干开源组件的方法包括如下步骤:
[0074]
s300:在基础源码库中生成一关联表,关联表记录有与每一第一数码组相关联的开源文件名、与该开源文件所对应的开源组件名、该开源组件的版本号以及该开源组件存储位置。
[0075]
s301:根据关联表,查找所有与目标数码组对应的开源文件、开源组件以及存储位置。
[0076]
s302:统计查找出的每一开源组件所对应的源码文件的数量,并根据统计数量计算每一开源组件与待测源码组件的相似度。例如,通过统计可知,查找出的开源组件有五个,分别是开源组件a、开源组件b、开源组件c、开源组件d、开源组件e,当前待测源码组件包括有100个源码文件,如果,与开源组件a相对应的源码文件有80个,与开源组件b相对应的源码文件有50个,与开源组件c相对应的源码文件有40个,与开源组件d相对应的源码文件有40个,与开源组件e相对应的源码文件有30个,那么,开源组件a与当前待测源码组件的相似度为80%,开源组件a与当前待测源码组件的相似度为80%,开源组件b与当前待测源码组件的相似度为50%,开源组件c与当前待测源码组件的相似度为40%,开源组件d与当前待测源码组件的相似度为40%,开源组件e与当前待测源码组件的相似度为30%。
[0077]
s303:根据相似度由高到低的顺序,取前n个开源组件作为进一步比对分析的对象。根据步骤302的实例,如果取前三个开源组件作为进一步比对分析的对象,则取开源组件a、开源组件b以及开源组件c和开源组件d,由于开源组件c和开源组件d的排名相同,因此,同时将开源组件c和开源组件d选中。
[0078]
当将前n个开源组件选出后,即可采用本领域技术人员所熟知的方法对这些开源组件中的开源文件逐个、逐行代码进行比较,以进行深度检测。在进行深度检测时,可采用直接文本比较法,就是两个代码文件直接进行文本对比,直接对比有多少行是相同的。第二种是hash对比,将代码文件的每一行算出一个唯一的hash值,这样每个代码文件就有若干hash,只要比较两个代码文件有多少个hash相同的就可以了。
[0079]
本发明源代码中开源成分筛选识别方法另一较佳实施例中,还包括在基础源码库中对开源文件的存储方法:
[0080]
采用minhash算法,对任一开源文件整体执行哈希计算,以得到与该开源文件相对应的16位特征哈希码,并以该特征哈希码命名该开源文件;
[0081]
将特征哈希码进行分段,以得到哈希数码段,根据该哈希数码段建立多级存储目录,具有相同哈希数码段的开源文件存储在同一级的存储目录下。
[0082]
本实施例中,通过16位的特征哈希码来命名每一开源文件,这样,既可避免同一开源组件下不同版本间相同源码文件的重复存储,又可使得名称相同但是内容不同的原有开源文件分别存储,并便于区分。另外,通过将特征哈希码进行分段,根据该哈希数码段建立多级存储目录,这样,可避免单个目标的文件数量过多,而且方便快速查找到某一开源文件。例如,建立一个名称是0101的目录,然后把特征哈希码为“0101”开头的开源文件都放到这个目录中。这样在做遍历寻找的时候,可以根据查找出来的开源文件名称的前4位,找到存储目录然后继续遍历到具体的文件。
[0083]
综上,本发明实施例公开了一种基于simhash的源代码中开源成分筛选识别方法,
首先,通过收集获取开源文件来构建基础源码库。
[0084]
然后,采用采用simhash算法对基础源码库中的开源文件进行解析处理,并将解析出来的与每一开源文件相对应的64位哈希数码串均分为四段,从而得到与每一开源文件相对应的包括有四段字符串的第一数码组,将若干第一数码组存储在数据库中,以得到数据匹配表。
[0085]
接着,采用上述相同的解析处理方式,对待测源码组件中的源码文件进行解析处理,以得到若干分别与每一源码文件相对应的包括有四段字符串的第二数码组。
[0086]
然后,将任一第二数码组中的每一字符串分别与数据匹配表中每一第一数码组中的字符串匹配,判断任一第一数码组中是否存在有与当前第二数码组中相同的字符串,如果存在,将该第二数码组定义为待选数码组,并将该相同的字符串定义为初选字符串。
[0087]
然后,对待选数码组进行进一步筛选,即,将待选数码组中除去初选字符串外的其他三个字符串分别与当前第二数码组中的字符串进行匹配,并根据匹配结果计算待选数码组与当前第二数码组的汉明距离。
[0088]
然后,判断任一待选数码组与当前第二数码组的汉明距离是否小于或等于3,如果是,则将该待选数码组定义为目标数码组。
[0089]
接着,根据关联表,查找与任一目标数码组(也即任一源码文件)相对应的开源文件、开源组件以及存储位置。
[0090]
然后,统计所查找出的每一开源组件所对应的源码文件的数量,并根据统计结果计算每个开源组件与当前待测源码组件的相似度。
[0091]
然后,根据相似度由高到低的顺序,取前n个开源组件进行进一步的比对分析。
[0092]
最后,取出前n个开源组件中的每一开源文件,并将每一开源文件与待测源码组件中每一源码文件进行代码的逐行比对,从而最终得出所取出的n个开源组件中每一开源组件与待测源码组件的精确相似度,从而对当前待测源码组件的开源成分进行量化分析。
[0093]
再者,源代码中开源成分筛选识别方法还包括对检测结果进行结果展示的方法,即,将得出的结果通过一个显示装置显示,显示装置上设置有上传页面、检测结果页面以及参数设置页面,比如设置上述实施例中的n值,还可以设置敏感度,敏感度就是满足有多少行相同的文件。对于检测结果页面,首先展示此次检测总共返回的n个开源组件,然后点开每个开源组件,会展示有多少个满足敏感度这个检测需求的开源文件,接着点开每个开源文件,会显示具体的待检测源码文件和源码库这个开源文件的文本内容,并将两个文件相同的行高亮标记出来。
[0094]
本发明还公开一种源代码中开源成分筛选识别系统,其包括源码库构建模块、文件解析模块、数据表建立模块、匹配模块、第一判断模块、第一筛选模块以及查找模块。
[0095]
源码库构建模块,用于通过获取到的若干开源组件,以构建基础源码库,每一开源组件中包括若干开源文件。
[0096]
文件解析模块,用于采用simhash算法,对包括开源文件和待测源码组件中的源码文件的代码文件进行解析处理,以获得若干分别与相应代码相关的哈希数码串,并按序将哈希数码串均分为四段,以获得若干分别与相应代码文件相关的包括有四个字符串的数码组,数码组包括与开源文件相对应的第一数码组和与源码文件相对应的第二数码组。
[0097]
数据表建立模块,用于将若干第一数码组存储在数据库中,以得到数据匹配表。
[0098]
匹配模块,用于分别将与当前待测源码组件中任一源码文件相对应的第二数码组中的字符串与数据匹配表中每一第一数码组中的字符串整体匹配。
[0099]
第一判断模块,用于根据匹配模块的匹配结果,判断任一第一数码组中是否存在与当前第二数码组中相同的字符串。
[0100]
第一筛选模块,用于将判断模块判断结果为是的第一数码组定义为待选数码组。
[0101]
查找模块,用于根据待选数码组在基础源码库中找出与该待测源码组件相关的若干开源组件。
[0102]
进一步地,本实施例中的源代码中开源成分筛选识别系统还包括第二判断模块、计算模块、以及第二筛选模块。
[0103]
第二判断模块,用于分别判断任一待选数码组中其他三个字符串是否存在于当前第二数码组中。
[0104]
计算模块,及用于根据第二判断模块的判断结果计算待选数码组与第二数码组的汉明距离。
[0105]
第二筛选模块,用于将第二数码组的汉明距离小于或等于3的待选数码组定义为目标数码组。
[0106]
查找模块根据目标数码组在基础源码库中找出与该待测源码组件相关的若干开源组件。
[0107]
进一步地,本实施例中的源代码中开源成分筛选识别系统还包括关联表生成模块,查找模块包括查表模块、统计计算模块以及提取模块。
[0108]
关联表生成模块,用于在基础源码库中生成一关联表,关联表记录有与每一第一数码组相关联的开源文件名、与该开源文件所对应的开源组件名、该开源组件的版本号、以及该开源组件存储位置。
[0109]
查表模块,用于根据关联表查找所有与目标数码组对应的开源文件、开源组件以及存储位置。
[0110]
统计计算模块,用于统计查找出的每一开源组件所对应的源码文件的数量,并根据统计数量计算每一开源组件与待测源码组件的相似度。
[0111]
提取模块,用于根据统计计算模块得出的相似度由高到低的顺序,提取前n个开源组件作为进一步比对分析的对象。
[0112]
进一步地,源代码中开源成分筛选识别系统还包括文件名处理模块和目录建立及存储模块。
[0113]
文件名处理模块,用于采用minhash算法对任一开源文件整体执行哈希计算,以得到与该开源文件相对应的特征哈希码,并以该特征哈希码命名该开源文件。
[0114]
目录建立及存储模块,用于将特征哈希码进行分段,以得到哈希数码段,并根据该哈希数码段建立多级存储目录,并将具有相同哈希数码段的开源文件存储在同一级的存储目录下。
[0115]
本发明还公开另一种源代码中开源成分筛选识别系统,其包括一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的源代码中开源成分筛选识别方法的指令。处理器可以采用通用的中央处理器(central processing unit,cpu),
微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本技术实施例的源代码中开源成分筛选识别系统中的模块所需执行的功能,或者执行本技术方法实施例的源代码中开源成分筛选识别方法。
[0116]
本发明还公开一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的源代码中开源成分筛选识别方法。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,rom),或随机存取存储器(random access memory,ram),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,dvd)、或者半导体介质,例如,固态硬盘(solid state disk,ssd)等。
[0117]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述源代码中开源成分筛选识别方法。
[0118]
以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

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

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

相关文献