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

组件匹配的方法、装置、电子设备及计算机可读存储介质与流程

2022-07-02 13:24:53 来源:中国专利 TAG:


1.本技术涉及组件匹配技术领域,具体涉及一种组件匹配的方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着开源组件的兴起,越来越多的企业基于开源组件进行代码篡改而形成新组件进行使用,而市面上为了能对当前的篡改的开源组件进行溯源,常规采用的文件级匹配算法和代码级的匹配算法,通过文件hash匹配,以及代码片段的行级匹配算法,在对开源组件进行匹配度计算和溯源。但是这个方式,在面临海量的代码和文件时,匹配的整体耗时较长。
3.因此,有必要提供一种有利于缩短匹配时间的组件匹配的方法来解决上述技术问题。


技术实现要素:

4.本技术的目的在于提供一种组件匹配的方法、装置、电子设备及计算机可读存储介质,有利于缩短组件匹配的时间。
5.为实现上述目的,本技术提供了一种组件匹配的方法,包括:
6.将待匹配组件的至少部分级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构;
7.将所述待匹配结构与匹配库中的各组件结构进行编码结构匹配,其中组件库中的各组件的至少部分级别目录下的所有文件夹和所有文件分别以第三码和第四码进行编码以得到各所述组件结构,所述第一码与所述第三码相同或对应,所述第二码与所述第四码相同或对应;
8.根据匹配结果确定所述组件结构是否被匹配成功。
9.可选地,将所述待匹配组件的各级别目录下的所有文件夹和所有文件分别以所述第一码和所述第二码进行编码以形成所述待匹配结构。
10.可选地,所述组件库中的各组件的各级别目录下的所有文件夹和所有文件分别以所述第三码和所述第四码进行编码以得到各所述组件结构。
11.可选地,所述“将所述待匹配结构与匹配库中的各组件结构进行编码结构匹配”包括:
12.按照同位置对应匹配的原则,将所述待匹配结构与各组件结构进行匹配。
13.可选地,所述“匹配成功”包括:
14.所述组件结构具有与所述待匹配结构相同或相似的编码结构。
15.可选地,所述第一码和所述第三码相同,所述第二码和所述第四码相同;
16.所述第一码和所述第二码分别以二进制符号“1”和“0”进行编码。
17.可选地,所述“根据匹配结果确定所述组件结构是否被匹配成功”之后,还包括:将
所述待匹配组件与被匹配成功的所述组件结构对应的所述组件进行匹配。
18.为实现上述目的,本技术还提供了一种组件匹配的装置,包括:
19.编码模块,用于将待匹配组件的至少部分级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构;
20.匹配模块,用于将所述待匹配结构与匹配库中的各组件结构进行编码结构匹配,其中组件库中的各组件的至少部分级别目录下的所有文件夹和所有文件分别以第三码和第四码进行编码以得到各所述组件结构,所述第一码与所述第三码相同或对应,所述第二码与所述第四码相同或对应。
21.确定模块,用于根据匹配结果确定所述组件结构是否被匹配成功。
22.为实现上述目的,本技术还提供了一种电子设备,包括:
23.处理器;
24.存储器,其中存储有所述处理器的可执行指令;
25.其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的组件匹配的方法。
26.为实现上述目的,本技术还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的的组件匹配的方法。
27.本技术将待匹配组件的至少部分级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构,并将待匹配结构与匹配库中的各组件结构进行编码结构匹配,而各组件结构都是由组件库中的各组件进行了与待匹配组件同样方式的编码后形成。由于本技术只是将待匹配结构与各组件结构进行编码结构的匹配,所以能够快速完成匹配,如果存在匹配成功的组件结构,则只需再将待匹配组件与匹配成功的组件结构对应的组件进行详细匹配,即可得到最终匹配结果。本技术无需直接将待匹配组件与组件库中的各组件一一进行匹配,缩短了组件匹配的时间,提升了组件匹配的效率。
附图说明
28.图1是本技术实施例组件匹配的方法的流程图。
29.图2是本技术实施例中一待匹配组件的目录结构的示意图。
30.图3是本技术实施例中一待匹配结构的示意二维图谱。
31.图4是本技术实施例中一组件结构的示意二维图谱。
32.图5是本技术实施例组件匹配的装置的示意框图。
33.图6是本技术实施例电子设备的示意框图。
具体实施方式
34.为了详细说明本技术的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
35.请参阅图1至图4,本技术实施例公开了一种组件匹配的方法,包括:
36.101、将待匹配组件的至少部分级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构。即:所有文件夹均以同样的第一码进行编码,所有文件均以同样的第二码进行编码,待匹配组件编码后得到的待匹配结构与该待匹配组件具
有对应的结构。
37.示例性的,第一码和第二码可以分别以二进制符号“1”和“0”进行编码,即所有文件夹被编码为“0”和“1”中的一个,文件被编码为“0”和“1”中的另一个。
38.在一些实施例中,将待匹配组件的各级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构。由于待匹配组件的各级别目录下的所有文件夹和所有文件均分别进行了编码,便于后续进行更加全面的初步匹配。
39.请结合图2和图3,其分别显示了一待匹配组件的目录结构的示意图和将该待匹配组件进行编码后得到的待匹配结构的示意二维图谱。在该示例中,待匹配组件包括五个级别目录,各级别目录下分别设置有文件夹和/或文件。根据该待匹配组件编码得到的待匹配结构与该待匹配组件具有对应的结构:图3中的各行分别对应图2中的各级别目录,各行中的第一码和/或第二码在该行中所处的位置分别与对应级别目录下的文件夹和/或文件在该级别目录下所处的位置存在对应关系。需要注意的是,在对待匹配组件进行编码时,不排除只是对部分级别目录下的文件夹和/或文件进行编码,此时待匹配结构与待匹配组件具有对应的结构指的是与该待匹配组件的部分级别目录具有对应的结构。
40.102、将待匹配结构与匹配库中的各组件结构进行编码结构匹配,其中组件库中的各组件的至少部分级别目录下的所有文件夹和所有文件分别以第三码和第四码进行编码以得到各组件结构,第一码与第三码相同或对应,第二码与第四码相同或对应。其中,组件库为开源组件库,但不限于此。匹配库和组件库可以为同一个库,也可以为不同的库。
41.示例性的,第三码和第四码可以分别以二进制符号“1”和“0”进行编码,即组件库中各组件的所有文件夹被编码为“0”和“1”中的一个,文件被编码为“0”和“1”中的另一个。
42.为了便于匹配,表示文件夹的第一码和第三码可以设置为相同,比如都为符号“1”,表示文件的第二码和第四码可以设置为相同,比如都为“0”,但并不局限于此,只要第一码和第三码之间,第二码和第四码之间存在对应关系,能够进行匹配即可。
43.在一些实施例中,组件库中的各组件的各级别目录下的所有文件夹和所有文件分别以第三码和第四码进行编码以得到各组件结构。由于组件库中的各组件的各级别目录下的所有文件夹和所有文件均分别进行了编码,便于与待匹配结构进行匹配。当然,这里并不局限于对组件的各级别目录均进行编码,也可以只是部分级别目录进行编码形成组件结构,只要是能够实现待匹配结构与组件结构的匹配即可。
44.具体地,“将待匹配结构与匹配库中的各组件结构进行编码结构匹配”包括:
45.按照同位置对应匹配的原则,将待匹配结构与各组件结构进行匹配。
46.这里“按照同位置对应匹配的原则”指的是将待匹配结构和组件结构对应行的对应位置进行匹配,如果待匹配结构和组件结构的对应行的各位置均匹配成功(第一码匹配到对应位置的第三码,第二码匹配到对应位置的第四码),则认为待匹配结构和和组件结构的对应行具有相同的编码结构。
47.以图3所示的待匹配结构与图4所示的组件结构进行编码结构匹配举例,按照同位置对应匹配的原则进行匹配时,图3中第三行排在第一位置的第一码“1”与图4中第三行排在第一位置的第一码“1”进行匹配,图3中第三行排在第二位置的第一码与图4中第三行排在第二位置的第一码进行匹配,图3中第三行排在第三位置的第二码与图4中第三行排在第三位置的第一码进行匹配,图3中第三行排在第四位置的第二码与图4中第三行排在第四位
置的第二码进行匹配,图3中第三行排在第五位置的第二码与图4中第三行排在第五位置的第二码进行匹配。由于图3中第三行排在第三位置的第二码与图4中第三行排在第三位置的第一码不匹配,因此该待匹配结构的第三行与该组件结构的第三行的编码结构不同。该待匹配结构和该组件结构的其他对应行之间的匹配同样按照上述匹配原则进行匹配。
48.103、根据匹配结果确定组件结构是否被匹配成功。
49.在一些实施例中,“匹配成功”包括:待匹配结构与组件结构的编码结构相同或者编码结构的相似度大于预设值。
50.组件结构具有与待匹配结构相同的编码结构指的是待匹配结构各位置的编码均能够与组件结构对应位置的编码匹配成功(相同或对应)。
51.组件结构具有与待匹配结构相似的编码结构,可以是组件结构与待匹配结构编码结构完全相同的连续行的数量达到或超过预设值。但不限于此。
52.继续以图3所示的待匹配结构与图4所示的组件结构的匹配进行举例说明:
53.在该示例中,自根目录起,组件结构与待匹配结构编码结构完全相同的连续行的数量为2,小于预设值4,则认为组件结构具有与待匹配结构不相似的编码结构,该组件结构没有被匹配成功。
54.在一些实施例中,“根据匹配结果确定组件结构是否被匹配成功”之后,方法还包括:
55.将待匹配组件与被匹配成功的组件结构对应的组件进行匹配。
56.由于经过待匹配结构与各组件结构的编码结构匹配,已经排除掉了大量需要被匹配的组件,此时只需要再将待匹配组件与少量被匹配成功的组件结构对应的组件进行具体匹配即可,能够大大降低匹配的时间,提升匹配的效率。
57.在具体匹配时,可以将待匹配结构与被匹配成功的组件结构对应的组件按照常规的文件级和代码级方式进行完整匹配以得到准确的最终匹配结果。
58.请参阅图5,本技术实施例还公开了一种组件匹配的装置,包括:
59.编码模块201,用于将待匹配组件的至少部分级别目录下的所有文件夹和所有文件分别以第一码和第二码进行编码以形成待匹配结构;
60.匹配模块202,用于将待匹配结构与匹配库中的各组件结构进行编码结构匹配,其中组件库中的各组件的至少部分级别目录下的所有文件夹和所有文件分别以第三码和第四码进行编码以得到各组件结构,第一码与第三码相同或对应,第二码与第四码相同或对应。
61.确定模块203,用于根据匹配结果确定组件结构是否被匹配成功。
62.请参阅图6,本技术还提供了一种电子设备,包括:
63.处理器40;
64.存储器50,其中存储有处理器40的可执行指令;
65.其中,处理器40配置为经由执行可执行指令来执行上述的组件匹配的方法。
66.本技术还提供一种计算机可读存储介质,其上存储有程序,程序被处理器执行时实现上述的组件匹配的方法。
67.本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处
理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述上述的组件匹配的方法。
68.应当理解,在本技术实施例中,所称处理器可以是中央处理模块(centralprocessing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
69.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(random accessmemory,ram)等。
70.以上所揭露的仅为本技术的较佳实例而已,不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,均属于本技术所涵盖的范围。
再多了解一些

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

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

相关文献