一种软件分类的方法及装置制造方法

文档序号:6487241阅读:137来源:国知局
一种软件分类的方法及装置制造方法
【专利摘要】本发明公开一种软件分类的方法及装置,涉及软件分类【技术领域】,可以准确识别软件的类型并进行分类,降低人工运营工作量。本发明实施例提供的方案,通过获取注册表下的各个软件的软件信息;根据所述软件信息采用搜索匹配方式对所述各个软件进行分类;根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。本发明实施例提供的方案适于进行软件分类时采用。
【专利说明】一种软件分类的方法及装置
【技术领域】
[0001]本发明涉及软件分类【技术领域】,尤其涉及一种软件分类的方法及装置。
【背景技术】
[0002]目前软件在卸载、安装、运行的管理中,希望区分软件的分类以便于管理和应用,例如软件可以分为浏览器类、播放器类、驱动类等。另外可以对于不同分类的软件给予用户不同的建议,例如在卸载某一类型的软件后,可以向用户推荐同类软件,对于驱动软件可以建议用户谨慎卸载。现有技术方案通常采用人工运营的方式对软件进行分类。
[0003]发明人发现现有技术中至少存在如下问题:有很多小众软件、驱动等未能及时识别;人工运营工作量较大。

【发明内容】

[0004]本发明的实施例提供一种软件分类的方法及装置,可以准确识别软件的类型并进行分类,降低人工运营工作量。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]一种软件分类的方法,包括:
[0007]获取注册表下的各个软件的软件信息;
[0008]以任意顺序根据所述软件信息对所述各个软件进行分类:
[0009]根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类;
[0010]根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
[0011]其中,所述软件信息包括软件名称、软件安装路径、特殊标记。
[0012]在本发明另一实施例中,所述根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类包括:对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类。
[0013]在本发明另一实施例中,当对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类时,所述方法还包括:
[0014]对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,并得到第一匹配分值;
[0015]对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类,并得到第二匹配分值;
[0016]当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对应的软件的分类为第一分类;
[0017]当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路径对应的软件的分类为第二分类。[0018]在本发明另一实施例中,在所述方法之后还包括:
[0019]判断是否存在未分类的软件;
[0020]当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行分类;
[0021]当不存在未分类的软件时,则结束处理流程。
[0022]一种软件分类的装置,包括:
[0023]获取单元,用于获取注册表下的各个软件的软件信息;
[0024]第一处理单元,用于根据所述软件信息采用搜索匹配方式对所述各个软件进行分类;
[0025]第二处理单元,用于根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
[0026]其中,所述软件信息包括软件名称、软件安装路径、特殊标记。
[0027]在本发明另一实施例中,所述第一处理单元用于:对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类。
[0028]在本发明另一实施例中,所述第一处理单元包括:
[0029]第一分类模块,用于对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,并得到第一匹配分值;
[0030]第二分类模块,用于对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类,并得到第二匹配分值;
[0031]处理模块,用于当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对应的软件的分类为第一分类;以及当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路径对应的软件的分类为第二分类。
[0032]在本发明另一实施例中,所述装置还包括:
[0033]判断单元,用于判断是否存在未分类的软件;
[0034]第三处理单元,用于当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行分类;
[0035]结束单元,用于当不存在未分类的软件时,则结束处理流程。
[0036]本发明实施例提供一种软件分类的方法,通过获取注册表下的各个软件的软件信息;根据所述软件信息采用搜索匹配方式对所述各个软件进行分类;根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。与现有技术中进行软件分类时,有很多小众软件、驱动等未能及时识别;人工运营工作量较大相比,本实施例提供的方案可以准确识别软件的类型并进行分类,降低人工运营工作量。
【专利附图】

【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为本发明实施例1提供的一种软件分类的方法的流程图;[0039]图2为本发明实施例1提供的另一种软件分类的方法的流程图;
[0040]图3为本发明实施例1提供的采用最大前缀搜索匹配方式进行软件分类的示意 图;
[0041]图4A为本发明实施例1提供的采用最大后缀搜索匹配方式进行软件分类的一种 示意图;
[0042]图4B为本发明实施例1提供的采用最大后缀搜索匹配方式进行软件分类的另一 种不意图;
[0043]图5为本发明实施例2提供的一种软件分类的装置的框图;
[0044]图6为本发明实施例2提供的另一种软件分类的装置的框图。
【具体实施方式】
[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0046]实施例1
[0047]本发明实施例提供一种软件分类的方法,如图1所示,该方法包括:
[0048]步骤101,获取注册表下的各个软件的软件信息;
[0049]其中,所述软件信息包括软件名称、软件安装路径、特殊标记。特殊标记可以为是 否为补丁程序的标记,例如父密钥ParentKeyName。
[0050]步骤102,根据所述软件信息采用搜索匹配方式对所述各个软件进行分类;
[0051]进一步的,对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一 分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分 类。最大前缀搜索匹配指按照每一个匹配关键词从前至后的字符进行一一匹配,并确定最 大匹配分值;最大后缀搜索匹配指按照每一个匹配关键词从后至前的字符进行一一匹配, 并确定最大匹配分值。
[0052]本步骤可以包括以下三种实施方式:
[0053]方式一:采用最大前缀搜索匹配方式,根据所述软件信息对所述各个软件进行分 类;
[0054]方式二:采用最大后缀搜索匹配方式,根据所述软件信息对所述各个软件进行分 类;
[0055]方式三:对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分 类,并得到第一匹配分值;
[0056]对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类, 并得到第二匹配分值;
[0057]当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对应的软件 的分类为第一分类;
[0058]当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路径对应的 软件的分类为第二分类。[0059]步骤103,根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
[0060]进一步的,本发明还包括:判断是否存在未分类的软件;
[0061]当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行分类;
[0062]当不存在未分类的软件时,则结束处理流程。
[0063]若还有未分类的软件,则将此软件显示为未知类型软件。
[0064]需要说明的是,本实施例中步骤102和步骤103的顺序是不固定的,即可以先执行 步骤102,再执行步骤103,也可以先执行步骤103,再执行步骤102。采用上述两种顺序方 式进行软件分类时,对软件分类的准确度不影响。图1中为根据先执行步骤102,再执行步 骤103的执行顺序的流程图。
[0065]本发明实施例提供一种软件分类的方法,通过获取注册表下的各个软件的软件信 息;根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类;根据所述软件信息 中含有特殊标记的软件,对所述各个软件进行分类,使得可以准确识别软件的类型并进行 分类,降低人工运营工作量。
[0066]本发明实施例提供另一种软件分类的方法,如图2所示,该方法包括:
[0067]步骤201,获取注册表下的各个软件的软件信息;
[0068]首先打开注册表,并遍历各个子项,在每个子项中,用注册表查表值 RegQueryValueEx 取出系统组件 SystemComponent、父密钥 ParentKeyName、软件名称 DisplayName、软件安装路径Instal ILocat ion、软件显不图标Di splay I con、卸载参数 UninstallString等注册表值。其中,ParentKeyName即为本实施例中的特殊标记。
[0069]由于注册表中不一定存在软件安装路径,需要通过卸载参数、软件显示图标等信 息,从中提取软件安装路径。这样就可以得到每个子项的完成的软件名称、软件安装路径、 特殊标记等信息,便于后续进行软件分类。本实施例中的软件信息至少包括软件名称、软件 安装路径、特殊标记。
[0070]步骤202,对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一 分类,并得到第一匹配分值;
[0071]例如,对“QQ输入法2012”进行分类,则具体匹配过程如下:
[0072]软件名称:QQ输入法2012 ;
[0073]匹配关键词列表:QQ-聊天类,QQ游戏-游戏类,QQ音乐-音乐类;需要说明的是, 匹配关键词列表可以采用现有技术中已经设置好的列表。
[0074]为了表述清楚,采用表格的形式进行说明,如图3所示:第一行为软件名称,第二 行为匹配关键词,从前至后依次匹配,并进行计数。例如,首先将计数器置零;QQ输入法 2012与QQ匹配时,从前至后第一个字符“Q”,完全匹配,则计数器加1,继续进行第二个字符 “Q”,完全匹配,则计数器再加1,后面没有可匹配的字符了,则匹配字符长度为2。
[0075]根据上述方法匹配关键词,并以此记录匹配字符长度。当匹配关键词列表中所有 的匹配关键词都匹配完成后,比较记录的匹配字符长度,并将最大的匹配字符长度对应的 分类作为对“QQ输入法2012”的分类,例如,如果匹配字符长度2为最大的匹配字符长度, 则确定聊天类为对“QQ输入法2012”的分类,然后保存第一匹配分值2。
[0076]需要说明的是,当匹配字符长度相同时,则可以按照匹配关键词列表中匹配关键 词的先后顺序确定最前面的匹配关键词对应的类型为软件的分类类型,也可以任取匹配关键词中的一个匹配关键词对应的类型为软件的分类类型。
[0077]步骤203,对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行 第二分类,并得到第二匹配分值;
[0078]例如,对“QQ输入法2012”进行分类,则具体匹配过程如下:
[0079]软件安装路径:C:\程序文件Program Files\腾讯Tencent\ QQPinyin\4.4.1108.400 ;
[0080]匹配关键词列表:Tencent\QQPinyin\_输入法、Tencent\QQMusic\-音乐类、 Tencent\QQ\-聊天类;需要说明的是,匹配关键词列表可以采用现有技术中已经设置好的 列表。
[0081]为了表述清楚,采用表格的形式进行说明,如图4A所示:第一行为QQ输入法2012 的安装路径,其中每个格为一个字符,第二行为匹配关键词,按照从后至前的顺序每个格放 置一个字符,并对匹配的字符进行计数。例如,首先将计数器置零;\Tencent\QQPinyin\与 Tencent\QQ\匹配时,从后至前第一个字符“\”,完全匹配,则计数器加1,继续匹配第二个 字符“n”,完全匹配,则计数器加再1,依次向左进行匹配,直到匹配不成功或者完全匹配时 结束。则图4A所示匹配字符长度为17,图4B进行匹配时,第二个字符则没有匹配成功(以 黑体显示),则匹配字符长度为I。
[0082]按照上述方法对匹配关键词列表中的所有匹配关键词进行匹配,并以此记录匹配 字符长度。当匹配关键词列表中所有的匹配关键词都匹配完成后,比较记录的匹配字符长 度,并将最大的匹配字符长度对应的分类作为对“QQ输入法2012”的分类,例如,如果匹配 字符长度17为最大的匹配字符长度,则确定输入法类为对“QQ输入法2012”的分类,然后 保存第二匹配分值17。
[0083]步骤204,比较所述第一匹配分值和所述第二匹配分值的大小;
[0084]步骤205,当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对 应的软件的分类为第一分类;
[0085]步骤206,当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路 径对应的软件的分类为第二分类;
[0086]例如,上述例子中第一匹配分值为2,第二匹配分值为17,则2 < 17,则确定输入法 类为对“QQ输入法2012”的分类。
[0087]需要说明的是,此时可以在此软件上标注分类,另外,也可以在步骤203中保存第 一匹配分值后,将聊天类标注为“QQ输入法2012”的分类,当步骤206确定输入法类为对 “QQ输入法2012”的分类后,再自动将标注分类替换为输入法类。当然还可以采用其他的方 式对软件的分类进行标记,本发明不对此进行限制。
[0088]需要说明的是,步骤202和步骤203为可选步骤,即可以不执行步骤202,仅执行步 骤203,也可以仅执行步骤202,不执行步骤203。当然,当仅执行步骤202或者步骤203时, 则不需要执行步骤204,步骤205和步骤206。当既执行步骤202,又执行步骤203时,才需 要执行步骤204,步骤205和步骤206。
[0089]需要说明的是,图2为根据步骤202-步骤206的执行顺序的流程图。
[0090]步骤207,根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类;
[0091]例如,存在有ParentKeyName这一项软件信息时,可以直接将此软件信息对应的软件判断为程序补丁类。
[0092]需要说明的是,步骤202-步骤206与步骤207的执行顺序不固定,即可以先执行 步骤202-步骤206,再执行步骤207,也可以先执行步骤207,再执行步骤202-步骤206。
[0093]步骤208,判断是否存在未分类的软件;
[0094]判断经过步骤202-步骤207软件分类后是否仍然有未分类的软件,当仍存在未分 类的软件时,执行步骤210,当不存在未分类的软件时,执行步骤209。
[0095]步骤209,当不存在未分类的软件时,则结束处理流程。
[0096]步骤210,当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行 分类;
[0097]例如,对于安装路径为系统路径如System32的,可以直接判断为驱动类软件;对 应文件路径中存在音乐Music关键词的,可以直接判断为音乐类等。
[0098]步骤211,如果经过以上步骤的分类还存在未分类的软件时,则直接将此类软件显 示为未知。
[0099]本发明实施例提供一种软件分类的方法,通过根据所述软件信息采用最大前缀搜 索匹配方式,和/或采用最大后缀搜索匹配方式,对所述各个软件进行分类;以及根据所述 软件信息中含有特殊标记的软件,对所述各个软件进行分类,可以在一定程度上降低人工 运营工作量,并且准确地对软件进行分类,为后续软件管理的各项功能提供支持。
[0100]实施例2
[0101]本发明实施例提供一种软件分类的装置,如图5所示,该装置包括:获取单元501, 第一处理单元502,第二处理单元503 ;
[0102]获取单元501,用于获取注册表下的各个软件的软件信息;
[0103]其中,软件信息包括软件名称、软件安装路径、特殊标记。特殊标记可以为是否为 补丁程序的标记,例如父密钥ParentKeyName。
[0104]第一处理单元502,用于根据所述软件信息采用搜索匹配方式,对所述各个软件进 行分类;
[0105]进一步的,对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一 分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类。
[0106]进一步的,如图6所不,所述第一处理单兀502包括:第一分类模块5021,第二分 类模块5022,处理模块5023 ;
[0107]其中,第一分类模块5021,用于对所述软件名称采用最大前缀搜索匹配方式对所 述各个软件进行第一分类,并得到第一匹配分值;
[0108]第二分类模块5022,用于对所述软件安装路径采用最大后缀搜索匹配方式对所述 各个软件进行第二分类,并得到第二匹配分值;
[0109]将所述第一匹配分值和所述第二匹配分值进行比较,当所述第一匹配分值大于所 述第二匹配分值时,处理模块5023则确定所述软件名称对应的软件的分类为第一分类;当 所述第二匹配分值大于所述第一匹配分值时,所述处理模块5023则确定所述软件安装路 径对应的软件的分类为第二分类。
[0110]第二处理单元503,用于根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
[0111]需要说明的是,第一处理单元502与第二处理单元503的执行顺序不固定,可以先 第一处理单元502处理完成后,第二处理单元503再进行处理,也可以先第二处理单元503 处理完成后,第一处理单元502再进行处理。图5为以先第一处理单元502处理完成后,第 二处理单元503再进行处理的顺序示意的框图。
[0112]进一步的,参见图6,根据上述装置进行软件分类后,判断单元504判断是否存在 未分类的软件;当仍存在未分类的软件时,第三处理单元505,用于采用模糊匹配方式对所 述未分类的软件进行分类;当不存在未分类的软件时,结束单元506,用于则结束处理流程。
[0113]需要说明的是,当仍然存在未分类的软件时,则直接将此类软件显示为未知软件。
[0114]本发明实施例提供一种软件分类的装置,通过获取单元,用于获取注册表下的各 个软件的软件信息;第一处理单元,用于根据所述软件信息采用搜索匹配方式,对所述各个 软件进行分类;第二处理单元,用于根据所述软件信息中含有特殊标记的软件,对所述各个 软件进行分类。与现有技术中进行软件分类时,有很多小众软件、驱动等未能及时识别;人 工运营工作量较大相比,本实施例提供的方案可以准确识别软件的类型并进行分类,降低 人工运营工作量。
[0115]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种软件分类的方法,其特征在于,包括: 获取注册表下的各个软件的软件信息; 以任意顺序根据所述软件信息对所述各个软件进行分类: 根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类; 根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
2.根据权利要求1所述的方法,其特征在于,所述软件信息包括软件名称、软件安装路径、特殊标记。
3.根据权利要求2所述的方法,其特征在于,所述根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类包括: 对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类。
4.根据权利要求3所述的方法,其特征在于,当对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类时,所述方法还包括: 对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,并得到第一匹配分值; 对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类,并得到第二匹配分值;· 当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对应的软件的分类为第一分类; 当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路径对应的软件的分类为第二分类。
5.根据权利要求1-4所述的方法,其特征在于,在所述方法之后还包括: 判断是否存在未分类的软件; 当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行分类; 当不存在未分类的软件时,则结束处理流程。
6.一种软件分类的装置,其特征在于,包括: 获取单元,用于获取注册表下的各个软件的软件信息; 第一处理单元,用于根据所述软件信息采用搜索匹配方式,对所述各个软件进行分类; 第二处理单元,用于根据所述软件信息中含有特殊标记的软件,对所述各个软件进行分类。
7.根据权利要求6所述的装置,其特征在于,所述软件信息包括软件名称、软件安装路径、特殊标记。
8.根据权利要求7所述的装置,其特征在于,所述第一处理单元用于: 对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,和/或对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类。
9.根据权利要求8所述的装置,其特征在于,所述第一处理单元包括: 第一分类模块,用于对所述软件名称采用最大前缀搜索匹配方式对所述各个软件进行第一分类,并得到第一匹配分值; 第二分类模块,用于对所述软件安装路径采用最大后缀搜索匹配方式对所述各个软件进行第二分类,并得到第二匹配分值; 处理模块,用于当所述第一匹配分值大于所述第二匹配分值时,则确定所述软件名称对应的软件的分类为第一分类;以及当所述第二匹配分值大于所述第一匹配分值时,则确定所述软件安装路径对应的软件的分类为第二分类。
10.根据权利要求6-9所述的装置,其特征在于,所述装置还包括: 判断单元,用于判断是否存在未分类的软件; 第三处理单元,用于当仍存在未分类的软件时,采用模糊匹配方式对所述未分类的软件进行分类; 结束单元,用于当不存 在未分类的软件时,则结束处理流程。
【文档编号】G06F9/46GK103577252SQ201210261361
【公开日】2014年2月12日 申请日期:2012年7月26日 优先权日:2012年7月26日
【发明者】胡中兴 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1