CN113360178B - 软件唯一识别码生成方法、装置、设备及可读存储介质 - Google Patents
软件唯一识别码生成方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113360178B CN113360178B CN202110603531.XA CN202110603531A CN113360178B CN 113360178 B CN113360178 B CN 113360178B CN 202110603531 A CN202110603531 A CN 202110603531A CN 113360178 B CN113360178 B CN 113360178B
- Authority
- CN
- China
- Prior art keywords
- code
- editing distance
- software
- distance
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims description 26
- 230000003247 decreasing effect Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明提供一种软件唯一识别码生成方法、装置、设备及可读存储介质。该方法包括:计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。通过本发明,包含了编辑距离的唯一识别码能够为升级操作者提供有意义的、可读的差异信息,从而减少弄混版本的风险。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种软件唯一识别码生成方法、装置、设备及可读存储介质。
背景技术
根据国家汽车信息安全标准的要求,车辆相关软件的每一版本都要有唯一的软件识别码。目前,一般是通过软件序列号或软件签名作为软件的唯一识别信息,但这种唯一识别信息不能体现软件与之前版本软件的差异程度,容易导致通过人工操作的方式对车辆软件版本进行升级时,选错软件版本的情况发生。
发明内容
为解决上述技术问题,本发明提供一种软件唯一识别码生成方法、装置、设备及可读存储介质。
第一方面,本发明提供一种软件唯一识别码生成方法,所述软件唯一识别码生成方法包括:
计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。
可选的,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
可选的,在所述分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离的步骤之后,还包括:
对所述第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
可选的,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离;
取所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
可选的,在所述以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离的步骤之后,还包括:
对所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
可选的,所述计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
删除目标软件的第一代码以及基准软件的第二代码中的空格和空行,得到新的第一代码以及新的第二代码;
计算所述新的第一代码以及新的第二代码之间的编辑距离。
可选的,所述根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码的步骤包括:
计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,将所述取整结果以及所述目标软件的标识信息进行组合,得到所述目标软件的唯一识别码,其中,标识信息包括软件名称以及发布时间。
第二方面,本发明还提供一种软件唯一识别码生成装置,所述软件唯一识别码生成装置包括:
计算模块,用于计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
生成模块,用于根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。
第三方面,本发明还提供一种软件唯一识别码生成设备,所述软件唯一识别码生成设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的软件唯一识别码生成程序,其中所述软件唯一识别码生成程序被所述处理器执行时,实现如上所述的软件唯一识别码生成方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有软件唯一识别码生成程序,其中所述软件唯一识别码生成程序被处理器执行时,实现如上所述的软件唯一识别码生成方法的步骤。
本发明中,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。通过本发明,包含了编辑距离的唯一识别码能够为升级操作者提供有意义的、可读的差异信息,从而减少弄混版本的风险。
附图说明
图1为本发明实施例方案中涉及的软件唯一识别码生成设备的硬件结构示意图;
图2为本发明软件唯一识别码生成方法一实施例的流程示意图;
图3为本发明软件唯一识别码生成装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种软件唯一识别码生成设备,该软件唯一识别码生成设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的软件唯一识别码生成设备的硬件结构示意图。本发明实施例中,软件唯一识别码生成设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件唯一识别码生成程序。
一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,并执行如下步骤:
计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
对所述第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离;
取所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
对所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
删除目标软件的第一代码以及基准软件的第二代码中的空格和空行,得到新的第一代码以及新的第二代码;
计算所述新的第一代码以及新的第二代码之间的编辑距离。
进一步地,一实施例中,处理器1001可以调用存储器1005中存储的软件唯一识别码生成程序,还执行如下步骤:
计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,将所述取整结果以及所述目标软件的标识信息进行组合,得到所述目标软件的唯一识别码,其中,标识信息包括软件名称以及发布时间。
其中,软件唯一识别码生成程序被执行时所实现的方法可参照下述本发明软件唯一识别码生成方法的各个实施例,此处不做赘述。
第二方面,本发明实施例提供了一种软件唯一识别码生成方法。
一实施例中,参照图2,图2为本发明软件唯一识别码生成方法一实施例的流程示意图。如图2所示,软件唯一识别码生成方法包括:
步骤S10,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
本实施例中,目标软件为当前需要为其生成唯一识别码的软件。基准软件为与目标软件属于同一系列且初代发布的软件。通过编辑距离算法计算软件第一代码与基准软件的第二代码之间的编辑距离。其中,第一代码为目标软件的源代码,第二代码为基准软件的源代码;或,第一代码为目标软件的二进制代码,第二代码为基准软件的二进制代码。
进一步地,一实施例中,步骤S10包括:
步骤S101,分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
本实施例中,分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离,需要说的是,三次计算的顺序可根据实际情况灵活设置。其中,第一编辑距离代表了从第一代码转成第二代码需要进行的增加字符操作的次数,第二编辑距离代表了从第一代码转成第二代码需要进行的删减字符操作的次数,第三编辑距离代表了从第一代码转成第二代码需要进行的替换字符操作的次数。
步骤S102,取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
本实施例中,计算得到第一编辑距离、第二编辑距离以及第三编辑距离后,在三个编辑距离中取最小值,作为第一代码与第二代码之间的编辑距离。
进一步地,一实施例中,在步骤S101之后,还包括:
步骤S103,对所述第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
本实施例中,按照预设的顺序对第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到第一代码与第二代码之间的编辑距离。例如,预设的顺序为第一编辑距离、第二编辑距离以及第三编辑距离,其中,第一编辑距离、第二编辑距离以及第三编辑距离分别为1205、2598、3365,则最终得到的第一代码与第二代码之间的编辑距离为1205-2598-3365。
进一步地,一实施例中,步骤S10包括:
步骤S104,分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
本实施例中,与上述步骤S101的实施例基本相同,在此不做赘述。
步骤S105,以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离;
本实施例中,可根据实际需要为字符增加方向、字符减少方向以及字符替换方向分别设置对应的权重值。在得到第一编辑距离、第二编辑距离以及第三编辑距离后,以字符增加方向对应的第一权重对第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对第三编辑距离进行加权计算,得到第三加权编辑距离。
步骤S106,取所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
本实施例中,计算得到第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离后,从中选取最小值,作为第一代码与第二代码之间的编辑距离。
进一步地,一实施例中,在步骤S105之后,还包括:
步骤S107,对所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
本实施例中,按照预设的顺序对第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到第一代码与第二代码之间的编辑距离。例如,预设的顺序为第一加权编辑距离、第三加权编辑距离以及第二加权编辑距离,其中,第一编辑距离、第二编辑距离以及第三编辑距离分别为1205、5196、3365,则最终得到的第一代码与第二代码之间的编辑距离为1205-3365-5196。
步骤S20,根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。
本实施例中,将目标软件的标识信息以及编辑距离进行组合,即可生成目标软件的唯一标识码。
容易理解的是,以初始发布的软件为基准软件,后续推出的各个版本的软件均为目标软件,通过上述实施例提出的方案即可为后续推出的每个版本的软件生成的唯一识别码。由于后续推出的版本的唯一识别码中包含了其代码与初始发布的软件的代码的编辑距离,通过该编辑距离,用户可以清楚知晓其与初始发布的软件的差异大小,即为升级操作者提供有意义的、可读的差异信息,从而减少弄混版本的风险。
例如,在一软件升级场景中,当需要将软件升级到最新版本时,待选的软件有多个,升级操作者可以根据每个待选软件的唯一标识码包含的编辑距离,从中选取编辑距离最大的待选软件,然后通过编辑距离最大的待选软件的其他标识信息核实该软件是否为最新版本的软件,若是,则以该软件对需要升级的软件进行替换;若不是,则选取编辑距离第二大的待选软件,然后通过编辑距离第二大的待选软件的其他标识信息核实该软件是否为最新版本的软件,若是,则以该软件对需要升级的软件进行替换;若不是,则继续选取编辑距离第三大的待选软件,并重复上述步骤。容易理解的是,软件的版本越新,其与基准软件的差异就越大,则该软件的唯一标识码包含的编辑距离也越大,因此,通过本实施例的方案生成的软件的唯一识别码,可以帮助用户更快更准确地找到最新版本的软件,减少了用户弄混版本的风险。
本实施例中,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。通过本实施例,包含了编辑距离的唯一识别码能够为升级操作者提供有意义的、可读的差异信息,从而减少弄混版本的风险。
进一步地,一实施例中,步骤S20包括:
计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,将所述取整结果以及所述目标软件的标识信息进行组合,得到所述目标软件的唯一识别码,其中,标识信息包括软件名称以及发布时间。
本实施例中,当目标软件的第一代码与基准软件的第二代码差别比较大是,最终计算得到的编辑距离会比较大,这样会导致唯一识别码的字符长度会很长。为了避免这种情况出现,可以预设一预设值,在得到编辑距离后,计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,从而将取整结果以及目标软件的标识信息进行组合,得到目标软件的唯一识别码。例如,根据计算得到的编辑距离为215651,预设值为1000,则取整结果为215,若目标软件的名称为ECU,发布时间为2021.5.1,则最终得到的该目标软件的唯一识别码为ECU-20210501-215。又例如,根据计算得到的编辑距离为215651-125461-845618,预设值为1000,则取整结果为215-125-845,若目标软件的名称为T-BOX,发布时间为2021.3.1,则最终得到的该目标软件的唯一识别码为T-BOX-20210301-215-125-845。
进一步地,一实施例中,步骤S10包括:
删除目标软件的第一代码以及基准软件的第二代码中的空格和空行,得到新的第一代码以及新的第二代码;计算所述新的第一代码以及新的第二代码之间的编辑距离。
本实施例中,在计算第一代码与第二代码之间的编辑距离之前,先将目标软件的第一代码以及基准软件的第二代码中的空格和空行删除,得到新的第一代码以及新的第二代码。然后按照与上述计算第一代码与第二代码之间的编辑距离的实施例类似的方式,计算新的第一代码以及新的第二代码之间的编辑距离。其中,在计算编辑距离前删除空格和空行,可优化编辑距离的计算过程,提高效率。
第三方面,本发明实施例还提供一种软件唯一识别码生成装置。
一实施例中,参照图3,图3为本发明软件唯一识别码生成装置一实施例的功能模块示意图。如图3所示,软件唯一识别码生成装置包括:
计算模块10,用于计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
生成模块20,用于根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码。
进一步地,一实施例中,计算模块10,用于:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,计算模块10,用于:
对所述第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,计算模块10,用于:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离;
取所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,计算模块10,用于:
对所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
进一步地,一实施例中,计算模块10,用于:
删除目标软件的第一代码以及基准软件的第二代码中的空格和空行,得到新的第一代码以及新的第二代码;
计算所述新的第一代码以及新的第二代码之间的编辑距离。
进一步地,一实施例中,生成模块20用于:
计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,将所述取整结果以及所述目标软件的标识信息进行组合,得到所述目标软件的唯一识别码,其中,标识信息包括软件名称以及发布时间。
其中,上述软件唯一识别码生成装置中各个模块的功能实现与上述软件唯一识别码生成方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有软件唯一识别码生成程序,其中所述软件唯一识别码生成程序被处理器执行时,实现如上述的软件唯一识别码生成方法的步骤。
其中,软件唯一识别码生成程序被执行时所实现的方法可参照本发明软件唯一识别码生成方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种软件唯一识别码生成方法,其特征在于,所述软件唯一识别码生成方法包括:
计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码;
计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
2.如权利要求1所述的软件唯一识别码生成方法,其特征在于,在所述分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离的步骤之后,还包括:
对所述第一编辑距离、第二编辑距离以及第三编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
3.如权利要求1所述的软件唯一识别码生成方法,其特征在于,计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离;
取所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
4.如权利要求3所述的软件唯一识别码生成方法,其特征在于,在所述以字符增加方向对应的第一权重对所述第一编辑距离进行加权计算,得到第一加权编辑距离,以字符减少方向对应的第二权重对所述第二编辑距离进行加权计算,得到第二加权编辑距离,以字符替换方向对应的第三权重对所述第三编辑距离进行加权计算,得到第三加权编辑距离的步骤之后,还包括:
对所述第一加权编辑距离、第二加权编辑距离以及第三加权编辑距离进行组合,得到所述第一代码与所述第二代码之间的编辑距离。
5.如权利要求1所述的软件唯一识别码生成方法,其特征在于,所述计算目标软件的第一代码与基准软件的第二代码之间的编辑距离的步骤包括:
删除目标软件的第一代码以及基准软件的第二代码中的空格和空行,得到新的第一代码以及新的第二代码;
计算所述新的第一代码以及新的第二代码之间的编辑距离。
6.如权利要求1至5中任一项所述的软件唯一识别码生成方法,其特征在于,所述根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码的步骤包括:
计算所述编辑距离与预设值的比值,并对所述比值向下取整,得到取整结果,将所述取整结果以及所述目标软件的标识信息进行组合,得到所述目标软件的唯一识别码,其中,标识信息包括软件名称以及发布时间。
7.一种软件唯一识别码生成装置,其特征在于,所述软件唯一识别码生成装置包括:
计算模块,用于计算目标软件的第一代码与基准软件的第二代码之间的编辑距离;
生成模块,用于根据所述目标软件的标识信息以及所述编辑距离,生成所述目标软件的唯一识别码;
计算模块,具体用于:
分别计算目标软件的第一代码与基准软件的第二代码之间,在字符增加方向上的第一编辑距离、在字符减少方向上的第二编辑距离以及在字符替换方向上的第三编辑距离;
取所述第一编辑距离、第二编辑距离以及第三编辑距离中的最小值,作为所述第一代码与所述第二代码之间的编辑距离。
8.一种软件唯一识别码生成设备,其特征在于,所述软件唯一识别码生成设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的软件唯一识别码生成程序,其中所述软件唯一识别码生成程序被所述处理器执行时,实现如权利要求1至6中任一项所述的软件唯一识别码生成方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有软件唯一识别码生成程序,其中所述软件唯一识别码生成程序被处理器执行时,实现如权利要求1至6中任一项所述的软件唯一识别码生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603531.XA CN113360178B (zh) | 2021-05-31 | 2021-05-31 | 软件唯一识别码生成方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110603531.XA CN113360178B (zh) | 2021-05-31 | 2021-05-31 | 软件唯一识别码生成方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360178A CN113360178A (zh) | 2021-09-07 |
CN113360178B true CN113360178B (zh) | 2023-05-05 |
Family
ID=77530646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110603531.XA Active CN113360178B (zh) | 2021-05-31 | 2021-05-31 | 软件唯一识别码生成方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360178B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202523A (zh) * | 2016-07-22 | 2016-12-07 | 乐视控股(北京)有限公司 | 网页编辑方法及装置 |
CN109977675A (zh) * | 2017-12-28 | 2019-07-05 | 华为技术有限公司 | 一种开源软件识别方法及装置 |
CN112579098A (zh) * | 2020-12-25 | 2021-03-30 | 平安银行股份有限公司 | 软件发布方法、装置、电子设备及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010870A1 (en) * | 2003-07-09 | 2005-01-13 | Jinsheng Gu | Post-processing algorithm for byte-level file differencing |
US8812493B2 (en) * | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US8966457B2 (en) * | 2011-11-15 | 2015-02-24 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
CN104954394A (zh) * | 2014-03-24 | 2015-09-30 | 中兴通讯股份有限公司 | 软件差分包制作、升级方法及服务器、终端、升级系统 |
CN107797819A (zh) * | 2017-06-12 | 2018-03-13 | 平安普惠企业管理有限公司 | 增量包生成方法、计算机可读存储介质及服务器 |
US10871977B2 (en) * | 2018-08-29 | 2020-12-22 | Ernst & Young U.S. Llp | Automated software script remediation methods and systems |
US11301569B2 (en) * | 2019-03-07 | 2022-04-12 | Lookout, Inc. | Quarantine of software based on analysis of updated device data |
CN112784318A (zh) * | 2019-11-07 | 2021-05-11 | 北京京东尚科信息技术有限公司 | 一种生成设备唯一识别码的方法、装置和存储介质 |
CN111596935A (zh) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | 一种脚本打包方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-31 CN CN202110603531.XA patent/CN113360178B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202523A (zh) * | 2016-07-22 | 2016-12-07 | 乐视控股(北京)有限公司 | 网页编辑方法及装置 |
CN109977675A (zh) * | 2017-12-28 | 2019-07-05 | 华为技术有限公司 | 一种开源软件识别方法及装置 |
CN112579098A (zh) * | 2020-12-25 | 2021-03-30 | 平安银行股份有限公司 | 软件发布方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113360178A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797823B (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN113360178B (zh) | 软件唯一识别码生成方法、装置、设备及可读存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN115934129A (zh) | 软件项目更新方法、装置、计算机设备及存储介质 | |
CN114756183A (zh) | 数据打印方法、装置、设备及存储介质 | |
CN115454472A (zh) | 远程升级问题解决方法、装置、设备及可读存储介质 | |
CN113703753A (zh) | 用于产品开发的方法、装置和产品开发系统 | |
CN112596816A (zh) | 一种表单处理方法、装置和电子设备 | |
CN113158177A (zh) | 一种动态度量方法、装置、设备及存储介质 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
CN111414151B (zh) | 流程类应用的页面生成方法、装置、电子设备和存储介质 | |
CN111209324B (zh) | 存储数据的方法、装置、存储介质以及电子设备 | |
CN112416409B (zh) | 车载电脑软件升级方法、装置、设备及存储介质 | |
CN116302076B (zh) | 一种基于解析配置项表结构进行配置项配置的方法及装置 | |
CN114866530B (zh) | 升级数据包的下载方法、设备以及计算机存储介质 | |
CN116700727B (zh) | 一种跨平台的数据处理方法及系统 | |
CN115622687A (zh) | 动态密码生成方法、装置、计算机设备与介质 | |
CN115454492A (zh) | 应用程序的配置参数更新的方法及相关产品 | |
CN116400946A (zh) | 基于区块差异的交换机升级方法、装置、设备及存储介质 | |
CN115114665A (zh) | 一种数据打码方法、装置、存储介质以及电子设备 | |
CN115129604A (zh) | 一种数据测试方法、装置、电子设备及计算机可读介质 | |
CN114116748A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN116303270A (zh) | 调用关系分析方法、装置、设备及存储介质 | |
CN116804931A (zh) | 汽车软件版本管理方法、装置、设备及可读存储介质 | |
CN114722161A (zh) | 在ide界面快速查询添加pm单任务状态的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |