软件清理方法及装置与流程

文档序号:15760548发布日期:2018-10-26 19:14阅读:210来源:国知局
软件清理方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种软件清理方法及装置。



背景技术:

随着计算机和互联网技术的发展,人们可以从网络下载到各种各样的软件,这些软件的使用使得工作和生活更加便利。然而,用户在安装软件时,一部分软件会默认或者强制捆绑安装一些非用户所需的软件,这样会给用户带来一定的困扰,久而久之,还会影响计算机的性能。

本发明的发明人在实现本发明的过程中发现:虽然市面上也有一些计算机垃圾文件清理软件,可以清除这些捆绑软件,但是常见的垃圾文件清理软件一般均需要用户手动触发或者手动设置才能实现垃圾文件清理,操作较为繁琐或者不能及时清除捆绑软件,同时现有垃圾文件清理软件在工作时一般需要扫描整个磁盘,清理效率较低。



技术实现要素:

本发明实施方式的目的在于提供一种软件清理方法及装置,可以在软件安装完成时,自动、及时、高效地清理捆绑安装的软件。

为解决上述技术问题,本发明的实施方式提供了一种软件清理方法,包括:预先创建用于记录软件信息的软件清理列表;其中,所述软件信息包括:软件的n级安装目录以及各级安装目录下的文件信息,所述n为正整数;实时检测是否存在软件安装事件,若检测到所述软件安装事件,则监控所述软件安装事件,并获取所述软件安装事件所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息;将获取的所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息逐级与所述软件清理列表中的软件的各级安装目录以及各级安装目录下的文件信息进行比对;根据比对结果得到所述软件安装事件所安装的软件的软件信息与所述软件清理列表中的软件信息相匹配的待清理软件;自动清理所述待清理软件。

本发明的实施方式还提供了一种软件清理装置,包括:创建模块,用于预先创建用于记录软件信息的软件清理列表;其中,所述软件信息包括:软件的n级安装目录以及各级安装目录下的文件信息,所述n为正整数;安装事件检测模块,用于实时检测是否存在软件安装事件;监控模块,用于在所述安装事件检测模块检测到所述软件安装事件时,监控所述软件安装事件,获取模块,用于在所述安装事件检测模块检测到所述软件安装事件时,获取所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息;比对模块,用于将获取的所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息逐级与所述软件清理列表中的软件的各级安装目录以及各级安装目录下的文件信息进行比对;确定模块,用于根据比对结果得到所述软件安装事件所安装的软件的软件信息与所述软件清理列表中的软件信息相匹配的待清理软件;清理模块,用于自动清理所述待清理软件。

本发明实施方式相对于现有技术而言,实时检测是否存在软件安装事件,并在检测到软件安装事件时,通过监控软件安装事件以得到软件安装事件所安装的软件,并通过获取软件安装事件所安装的软件的各级安装目录以及安装目录下的文件信息,将获取的安装的软件的文件信息与预先创建的软件清理列表中的文件信息逐级进行比对,从而比对得到与软件清理列表中的软件信息相匹配的软件,并对其进行自动清理。因此,本发明实施方式可以在用户安装软件时自动触发实现软件清理,并通过监控实现仅对检测到的软件安装事件所安装的软件进行清理,有利于提高软件清理效率。

另外,所述自动清理所述待清理软件,具体包括:清除所述待清理软件所创建的软件文件、注册表信息。从而有利于彻底、干净地将清除掉软件。

另外,所述监控所述软件安装事件,具体包括:在检测到所述软件安装事件且所述软件安装事件结束时,检测新增的桌面图标;根据新增的桌面软件图标查找得到所述软件安装事件所安装的软件。通过检测桌面图标的变化可以快速检测出软件安装事件所安装的软件。

另外,所述监控所述软件安装事件,具体包括:在检测到所述软件安装事件时,自动检测所述软件安装事件对应的软件安装界面,若检测到所述软件安装界面上包含用户选取对象且用户选取对象的默认值为被选取时,自动取消被选取的用户选取对象。从而可以避免一些默认安装的捆绑软件被安装。

另外,所述获取所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息之前还包括:判定检测到的所述软件安装事件所安装的软件数目大于1个。从而可以在判断出有捆绑软件被安装时,及时执行清理动作。

另外,所述预先创建软件清理列表,具体包括:当检测到软件卸载事件时,将卸载的软件的软件信息加入所述软件清理列表。从而可以丰富软件清理列表的实现方式。

另外,所述将卸载的软件的软件信息加入所述软件清理列表,具体包括:统计所述卸载的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则连续地获取统计得到的各级安装目录下的文件的总数目的二分之一或者间隔地获取所安装的软件的各级安装目录下的文件的文件信息,并将获取的文件信息加入所述软件清理列表;其中,所述软件清理列表还包括用于指示所述文件信息是连续地获取或者间隔地获取的软件信息获取标记;所述获取所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息,具体包括:统计所安装的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则根据所述软件信息获取标记获取所安装的软件的各级安装目录下的文件的文件信息。从而可以在获取安装的软件的文件信息时,根据文件信息的多少采取不同的获取,有利于提高清理效率。

附图说明

图1是根据本发明第一实施方式软件清理方法的流程图;

图2是根据本发明第二实施方式软件清理方法的流程图;

图3是根据本发明第三实施方式软件清理装置的结构示意图;

图4是根据本发明第三实施方式监控模块的结构示意图;

图5是根据本发明第四实施方式创建模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种软件清理方法。具体流程如图1所示。其中,图1的实施例可以应用于用户终端中,该用户终端例如可以是智能手机、平板电脑、可穿戴式设备、个人数字助理(personaldigitalassistant,个人数字助理)、车载影音等。并且该用户终端具有访问网络的能力,例如可借助于3g、4g、wifi(无线保真)等方式接入互联网。并且,在用户终端中可以具有web(网页)浏览器,该用户终端通过该web浏览器可以对服务器中的资源进行访问,例如从浏览器中获取安装程序。

具体的,如图1所示,其涉及的软件清理方法包括步骤101~步骤108。

步骤101:预先创建用于记录软件信息的软件清理列表。其中,软件信息包括:软件的n级安装目录以及各级安装目录下的文件信息,n为正整数;例如一些软件的安装文件会创建2级安装目录,此时n就等于2,本实施方式对于n的具体取值不作限制。

具体而言,创建软件清理列表的方式可以通过大数据统计常见的捆绑安装软件,并将统计得到的常见的捆绑安装软件的软件信息更新至软件清理列表。同时,还可以在当检测到软件卸载事件时,将卸载的软件的软件信息加入软件清理列表,这样使得软件清理列表中存储有尽可能多的软件信息,从而使得可以清理掉大部分的捆绑软件。然而,本实施方式对于软件清理列表的创建方式不作具体限制,可以根据实际需要创建得到软件清理列表。

步骤102:检测是否存在软件安装事件,若检测到软件安装事件,则执行步骤103,若未检测到软件安装事件,则返回步骤102。

举例而言,用户可以通过用户终端从一些站点下载到所需软件的安装程序,并通过点击、触摸安装程序的方式安装该软件,因此,步骤102中,可以对用户下载的文件进行检测,当检测到下载的文件为安装程序时,继续检测是否存在针对该安装程序的触发事件,并在检测到该触发事件时,判定检测到软件安装事件。其中,步骤102可以是实时执行的。虽然用户仅触发了一个安装程序,但是常常该安装程序还绑定了其他软件的安装程序,并且绑定的安装程序会自动运行,由此造成安装了用户并不需要的安装程序。本实施方式对于软件安装事件的检测方式不作具体限制。如果在步骤102中,未检测到软件安装事件,则继续执行步骤102。

步骤103:监控软件安装事件。

本实施方式通过监控软件安装事件,可以自动取消一些绑定软件的安装,避免安装用户不需要的软件,同时,还可以通过软件安装事件前后桌面图标的变化判断得出该软件安装事件所安装的软件。具体而言,步骤103包括子步骤1031~子步骤1034。

子步骤1031:在检测到软件安装事件时,自动检测软件安装事件对应的软件安装界面。

子步骤1032:若检测到软件安装界面上包含用户选取对象且用户选取对象的默认值为被选取时,自动取消被选取的用户选取对象。

其中,用户选取对象可以是软件安装界面上的选择控件,用户可以选中该选择控件,或者取消选中选择控件。一些绑定软件在安装时,会在软件安装界面设置选择控件,供用户手动选择,但是这些选择控件有时会设置得较为隐蔽,用户难以察觉,因此也容易造成安装多余软件。本实施方式会自动检测软件安装界面是否嵌入有选择控件,并自动将所有选择控件设置为未选中,从而避免安装多余软件。

子步骤1033:在检测到软件安装事件结束时,检测新增的桌面图标。

例如可以通过创建一个图标文件,用于记录桌面图标信息以及桌面图标最近更新的时间以及前次更新的时间,当软件安装事件结束的时间在桌面图标最近更新的时间和前次更新的时间之间时,则查找得到最近更新的桌面图标与前次更新的桌面图标相比增加的桌面图标,并将增加的桌面图标作为新增的桌面图标。

子步骤1034:根据新增的桌面软件图标查找得到软件安装事件所安装的软件。例如可以通过查找新增的桌面软件图标对应的程序路径查找得到所安装的软件。

步骤104:判断检测到的软件安装事件所安装的软件数目是否大于1个,如果大于1个,则表示此次软件安装事件安装了捆绑软件,则继续执行步骤105,对本次软件安装事件执行软件清理操作,如果小于等于1个,则表示此次软件安装事件未安装捆绑软件,则返回步骤102,对本次软件安装事件不执行软件清理操作。

步骤105:获取所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息。例如获取所安装的软件的各级安装目录以及各级安装目录下的全部文件信息。

步骤106:将获取的所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息逐级与软件清理列表中的软件的各级安装目录以及各级安装目录下的文件信息进行比对。

步骤107:根据比对结果得到软件安装事件所安装的软件的软件信息与软件清理列表中的软件信息相匹配的待清理软件。

步骤108:自动清理待清理软件。

举例而言,可以清除待清理软件所创建的软件文件、注册表信息。本实施方式对于待清理软件的清除方式不作具体限制,可以采用现有技术彻底地、干净地将待清理软件清除掉。

本实施方式与现有技术相比,能够实时检测软件安装事件,并在检测到软件安装事件时,对软件安装事件进行监控,同时针对监控得到的软件安装事件所安装的软件,与预先创建的软件清理列表进行比对以得到软件安装事件安装的多余软件,并对多余软件自动执行软件清理,因此,本实施方式的软件清理方法具有清理效率高、清理及时等的有益效果。

本发明的第二实施方式涉及一种软件清理方法。第二实施方式在第一实施方式的基础上做出改进,主要改进之处在于:第二实施方式中,提供了另一种软件清理列表的创建方式,以丰富软件清理列表的创建方式。

如图2所示,本发明实施方式软件清理方法包括步骤201~208。其中步骤202~步骤208分别与第一实施方式的步骤102~108对应相同,此处不再赘述。

本实施方式中,步骤201:预先创建用于记录软件信息的软件清理列表,其中,软件信息包括:软件的n级安装目录以及各级安装目录下的文件信息,n为正整数。

本实施方式中,可以采用第一实施方式的软件清理列表创建方式创建软件清理列表。同时还可以采用如子步骤2011~子步骤2012所述的方式创建软件清理列表。

子步骤2011:判断是否检测到软件卸载事件,若检测到软件卸载事件,则执行子步骤2012,否则返回子步骤2011。

子步骤2012:将卸载的软件的软件信息加入软件清理列表。

具体而言,子步骤2012包括:统计卸载的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则连续地获取统计得到的各级安装目录下的文件的总数目的二分之一或者间隔地获取所安装的软件的各级安装目录下的文件的文件信息,并将获取的文件信息加入软件清理列表。若各级安装目录下的文件的数目小于等于10个,则获取统计得到的各级安装目录下的全部文件。其中,软件清理列表还包括用于指示文件信息是连续地获取或者间隔地获取的软件信息获取标记。例如,在软件清理列表中设置标记列,其中,“0”表示连续地获取,“1”表示间隔地获取,空值表示全部获取。

与步骤201相对应,步骤205具体包括:统计所安装的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则根据软件信息获取标记获取所安装的软件的各级安装目录下的文件的文件信息。

对本实施方式的软件清理方法举例说明如下:比如用户安装了即时通讯软件qq。此时系统检测并备份了qq各级别安装目录及各级别安装目录下的文件的名称。当用户选择卸载qq时,将qq的软件信息添加入软件清理列表。其中,qq软件的第一级别文件目录名称是tencent(腾讯),第二级别文件目录是qq,但qq软件还包括qq音乐、qq拼音(pinyin)等,例如qq音乐的第二级别的文件目录是qqmusic,例如qq拼音的第二级别的文件目录是qqpinyin,所以qq每个产品的文件目录名称是不同的。这样,通过逐级对比安装目录,可以快速完成软件相似度比对。对于qq软件而言,在第二级别软件安装目录,即可比对出qq通讯软件和qq音乐软件等,保险起见,还可以再进入qq第三级别的安装目录,例如qq通讯软件第三级别安装目录下包括以下文件名:aui18n、bin、i18n、misc、plugin、resource.8.9.20026、shellext,此时可以选择对比其中几个文件,或者全部对比,如果在第三级别下不能判断出是否与软件清理列表中的软件相同,还可以再进入第四级别安装目录进行比对。因此,通过各级安装目录以及各级安装目录下的文件信息的对比,可以快速、准确地判断是否需要自动清理安装的软件。因此,当用户第二次下载并安装qq时,安装完成后,系统可以自动检测出新安装的软件是否为软件清理列表中的软件,并自动执行软件清理操作。当然,在自动卸载软件时,还可以提醒用户“删除了软件,如需取消对此软件的清理,请将此软件从软件清理列表中移除。

本实施方式与第一实施方式相比,丰富了软件清理列表的创建方式,并且,在需要比对的软件信息较多时,采取部分比对的方式,即当各级安装目录下的文件的数目大于10个时,仅获取一半的文件信息,从而有利于提高比对效率。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种软件清理装置。如图3所示,该软件清理装置30包括:

创建模块301,用于预先创建用于记录软件信息的软件清理列表。其中,软件信息包括:软件的n级安装目录以及各级安装目录下的文件信息,n为正整数,例如一些软件的安装文件会创建2级安装目录,此时n就等于2,本实施方式对于n的具体取值不作限制。

安装事件检测模块302,用于实时检测是否存在软件安装事件,并在检测到软件安装事件时,触发监控模块303,未检测到软件安装事件时,继续检测。

监控模块303,用于在安装事件检测模块检测到软件安装事件时,监控软件安装事件。

获取模块304,用于在安装事件检测模块302检测到软件安装事件时,获取所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息。

比对模块305,用于将获取的所安装的软件的各级安装目录以及所安装的软件的各级安装目录下的文件信息逐级与软件清理列表中的软件的各级安装目录以及各级安装目录下的文件信息进行比对。

确定模块306,用于根据比对结果得到软件安装事件所安装的软件的软件信息与软件清理列表中的软件信息相匹配的待清理软件。

清理模块307,用于自动清理所述待清理软件。

如图4所示,本实施方式中,监控模块303具体包括:

第一检测子模块3031,用于检测软件安装事件以及软件安装事件是否结束。

界面检测子模块3032,用于在第一检测子模块3031检测到软件安装事件时自动检测软件安装事件对应的软件安装界面是否包含用户选取对象且用户选取对象的默认值为被选取。

取消子模块3033,用于在界面检测子模块3032检测到软件安装界面上包含用户选取对象且用户选取对象的默认值为被选取时,自动取消被选取的用户选取对象。

图标检测子模块3034,用于在第一检测子模块3031检测到软件安装事件且软件安装事件结束时,检测新增的桌面图标。

查找子模块3035,用于根据新增的桌面软件图标查找得到软件安装事件所安装的软件。

本实施方式与现有技术相比,能够实时检测软件安装事件,并在检测到软件安装事件时,对软件安装事件进行监控,同时针对监控得到的软件安装事件所安装的软件,与预先创建的软件清理列表进行比对以得到软件安装事件安装的多余软件,并对多余软件自动执行软件清理,因此,本实施方式的软件清理方法具有清理效率高、清理及时等的有益效果。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种软件自动清理装置。第四实施方式在第三实施方式的基础上做出改进,主要改进之处在于:在第四实施方式中,提供了另一种软件清理列表的创建方式,以丰富软件清理列表的创建方式。

本实施方式对第三实施方式的软件清理装置中的创建模块301做出进一步限定,具体而言,如图5所示,

本实施方式的创建模块301包括:

第二检测子模块3011,用于判断是否检测到软件卸载事件,若检测到软件卸载事件,则触发添加子模块3012,否则继续检测软件卸载事件。

添加子模块3012,用于将卸载的软件的软件信息加入软件清理列表。

其中,添加子模块3012具体用于统计卸载的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则连续地获取统计得到的各级安装目录下的文件的总数目的二分之一或者间隔地获取所安装的软件的各级安装目录下的文件的文件信息,并将获取的文件信息加入软件清理列表。若各级安装目录下的文件的数目小于等于10个,则获取统计得到的各级安装目录下的全部文件。其中,软件清理列表还包括用于指示文件信息是连续地获取或者间隔地获取的软件信息获取标记。例如,在软件清理列表中设置标记列,其中,“0”表示连续地获取,“1”表示间隔地获取,空值表示全部获取。

与本实施方式的创建模块301相对应,本实施方式的获取模块304具体用于:统计所安装的软件的各级安装目录下的文件的总数目,若各级安装目录下的文件的数目大于10个,则根据软件信息获取标记获取所安装的软件的各级安装目录下的文件的文件信息。

本实施方式与第三实施方式相比,丰富了软件清理列表的创建方式,并且,在需要比对的软件信息较多时,采取部分比对的方式,即当各级安装目录下的文件的数目大于10个时,仅获取半的文件信息,从而有利于提高比对效率。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1