《软件查找方法和装置.pdf》由会员分享,可在线阅读,更多相关《软件查找方法和装置.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103823871 A (43)申请公布日 2014.05.28 CN 103823871 A (21)申请号 201410067410.8 (22)申请日 2014.02.26 G06F 17/30(2006.01) G06F 21/56(2013.01) H04L 29/08(2006.01) (71)申请人 可牛网络技术 (北京) 有限公司 地址 100041 北京市石景山区八大处高科技 园区西井路 3 号 1 号楼 150 房间 (72)发明人 徐鸣 胡月鹏 (74)专利代理机构 北京清亦华知识产权代理事 务所 ( 普通合伙 ) 11201 代理人 张大威 (。
2、54) 发明名称 软件查找方法和装置 (57) 摘要 本发明提出一种软件查找方法和装置, 为降 低本地存储负担, 可以及时发现新软件, 并且会降 低网络流量和开销。该软件查找方法包括获取要 查找的软件的信息 ; 根据所述要查找的软件的信 息, 以及预先设定的本地样本库, 判断在所述本地 样本库中是否存在所述要查找的软件 ; 在所述本 地样本库中不存在所述要查找的软件时, 将所述 要查找的软件的信息发送到云端, 以使所述云端 根据所述要查找的软件的信息确定所述要查找的 软件的类型。 该方法能够降低本地存储负担, 可以 及时发现新软件, 并且会降低网络流量和开销。 (51)Int.Cl. 权利要求。
3、书 2 页 说明书 10 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图3页 (10)申请公布号 CN 103823871 A CN 103823871 A 1/2 页 2 1. 一种软件查找方法, 其特征在于, 包括 : 获取要查找的软件的信息 ; 根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判断在所述本地样本库 中是否存在所述要查找的软件 ; 在所述本地样本库中不存在所述要查找的软件时, 将所述要查找的软件的信息发送到 云端, 以使所述云端根据所述要查找的软件的信息确定所述要查找的软件的类型。 2. 根据权利要。
4、求 1 所述的方法, 其特征在于, 所述判断在所述本地样本库中是否存在 所述要查找的软件之后, 所述方法还包括 : 在所述本地样本库中存在所述要查找的软件时, 根据所述本地样本库中记录的软件信 息及对应的类型, 确定所述要查找软件的类型。 3. 根据权利要求 1 所述的方法, 其特征在于, 还包括 : 接收所述云端发送的所述要查找的软件的类型 ; 将所述要查找的软件的信息以及所述要查找的软件的类型, 对应记录在所述本地样本 库中。 4.根据权利要求1至3任一项所述的方法, 其特征在于, 所述本地样本库中记录第一类 型的样本和第二类型的样本, 以便在所述要查找的软件属于第三类型的样本时, 将所述。
5、要 查找的软件的信息发送给云端, 所述第一类型的样本是存在问题的样本, 所述第二类型的 样本是正常的样本, 所述第三类型的样本是不属于所述第一类型的样本且不属于所述第二 类型的样本。 5. 根据权利要求 4 所述的方法, 其特征在于, 初始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 6.根据权利要求5所述的方法, 其特征在于, 初始时, 所述第一类型的样本的个数为0, 和 / 或, 所述第二类型的样本的个数为 0。 7. 一种软件查找装置, 其特征在于, 包括 : 获取模块, 用于获取要查找的软件的信息 ; 判断模块, 用于根据所述要查找的软件的信息, 以。
6、及预先设定的本地样本库, 判断在所 述本地样本库中是否存在所述要查找的软件 ; 发送模块, 用于在所述判断模块得出所述本地样本库中不存在所述要查找的软件时, 将所述要查找的软件的信息发送到云端, 以使所述云端根据所述要查找的软件的信息确定 所述要查找的软件的类型。 8. 根据权利要求 7 所述的装置, 其特征在于, 还包括 : 确定模块, 用于在所述判断模块得到所述本地样本库中存在所述要查找的软件时, 根 据所述本地样本库中记录的软件信息及对应的类型, 确定所述要查找软件的类型。 9. 根据权利要求 7 所述的装置, 其特征在于, 还包括 : 接收模块, 用于接收所述云端发送的所述要查找的软件。
7、的类型 ; 记录模块, 用于将所述要查找的软件的信息以及所述要查找的软件的类型, 对应记录 在所述本地样本库中。 10. 根据权利要求 7 至 9 任一项所述的装置, 其特征在于, 所述判断模块采用的所述本 地样本库中记录第一类型的样本和第二类型的样本, 以便在所述要查找的软件属于第三类 权 利 要 求 书 CN 103823871 A 2 2/2 页 3 型的样本时, 将所述要查找的软件的信息发送给云端, 所述第一类型的样本是存在问题的 样本, 所述第二类型的样本是正常的样本, 所述第三类型的样本是不属于所述第一类型的 样本且不属于所述第二类型的样本。 11. 根据权利要求 10 所述的装置。
8、, 其特征在于, 初始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 12. 根据权利要求 11 所述的装置, 其特征在于, 初始时, 所述第一类型的样本的个数为 0, 和 / 或, 所述第二类型的样本的个数为 0。 权 利 要 求 书 CN 103823871 A 3 1/10 页 4 软件查找方法和装置 技术领域 0001 本发明涉及通信技术领域, 尤其涉及一种软件查找方法和装置。 背景技术 0002 为了保护用户数据, 提高用户体验等, 在一些场景下需要完成软件查找。例如, 采 用杀毒软件进行杀毒时, 或者, 采用垃圾清理软件进行软件清理时, 都需要查找。
9、本地软件, 以便与杀毒软件或垃圾清理软件中的数据库进行比对。 0003 相关技术中, 一种方式是本地查找, 此种方式是在本地存储数据库, 在本地数据库 中查找, 但是, 由于数据库通常很大, 会增加本地存储负担, 并且, 由于新软件的不断出现, 如果不能及时更新数据库会造成查找失误, 对用户造成一定损失。 另一种方式是云端查找, 此时方式是客户端连接到云端, 将目标软件与云端的数据库进行比对, 该方式可以降低本 地的存储负担, 也可以及时发现新软件, 但是, 这种方式需要客户端与网络一直连接, 会产 生大量流量并增加网络开销。 发明内容 0004 本发明旨在至少在一定程度上解决相关技术中的技术。
10、问题之一。 0005 为此, 本发明的一个目的在于提出一种软件查找方法, 该方法可以降低本地存储 负担, 可以及时发现新软件, 并且会降低网络流量和开销。 0006 本发明的另一个目的在于提出一种软件查找装置。 0007 为达到上述目的, 本发明第一方面实施例提出的软件查找方法, 包括 : 获取要查找 的软件的信息 ; 根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判断在所述本 地样本库中是否存在所述要查找的软件 ; 在所述本地样本库中不存在所述要查找的软件 时, 将所述要查找的软件的信息发送到云端, 以使所述云端根据所述要查找的软件的信息 确定所述要查找的软件的类型。 0008 。
11、本发明第一方面实施例提出的软件查找方法, 通过先在本地查找, 在本地不存在 时再去云端查找, 可以在本地预先存储少量的样本库, 这样就可以降低本地存储负担 ; 另 外, 在本地不存在时再去云端查找, 可以及时发现新软件 ; 再者, 由于是在本地不存在时才 去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0009 为达到上述目的, 本发明第二方面实施例提出的软件查找装置, 包括 : 获取模块, 用于获取要查找的软件的信息 ; 判断模块, 用于根据所述要查找的软件的信息, 以及预先设 定的本地样本库, 判断在所述本地样本库中是否存在所述要查找的软件 ; 发送模块, 用于在 所述判断模。
12、块得出所述本地样本库中不存在所述要查找的软件时, 将所述要查找的软件的 信息发送到云端, 以使所述云端根据所述要查找的软件的信息确定所述要查找的软件的类 型。 0010 本发明第二方面实施例提出的软件查找装置, 通过先在本地查找, 在本地不存在 时再去云端查找, 可以在本地预先存储少量的样本库, 这样就可以降低本地存储负担 ; 另 说 明 书 CN 103823871 A 4 2/10 页 5 外, 在本地不存在时再去云端查找, 可以及时发现新软件 ; 再者, 由于是在本地不存在时才 去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0011 为达到上述目的, 本发明第三方面实施例。
13、提出的客户端设备, 包括壳体、 处理器、 存储器、 电路板和电源电路, 其中, 所述电路板安置在所述壳体围成的空间内部, 所述处理 器和所述存储器设置在所述电路板上 ; 所述电源电路, 用于为所述客户端设备的各个电路 或器件供电 ; 所述存储器用于存储可执行程序代码 ; 所述处理器通过读取所述存储器中存 储的可执行程序代码来运行与所述可执行程序代码对应的程序, 以用于 : 获取要查找的软 件的信息 ; 根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判断在所述本地样 本库中是否存在所述要查找的软件 ; 在所述本地样本库中不存在所述要查找的软件时, 将 所述要查找的软件的信息发送到云端。
14、, 以使所述云端根据所述要查找的软件的信息确定所 述要查找的软件的类型。 0012 本发明第三方面实施例提出的客户端设备, 通过先在本地查找, 在本地不存在时 再去云端查找, 可以在本地预先存储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可以及时发现新软件 ; 再者, 由于是在本地不存在时才去云 端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0013 本发明附加的方面和优点将在下面的描述中部分给出, 部分将从下面的描述中变 得明显, 或通过本发明的实践了解到。 附图说明 0014 本发明上述的和 / 或附加的方面和优点从下面结合附图对实施例。
15、的描述中将变 得明显和容易理解, 其中 : 0015 图 1 为本发明一个实施例提出的软件查找方法的流程示意图 ; 0016 图 2 为本发明另一个实施例提出软件查找方法的流程示意图 ; 0017 图 3 为本发明另一实施例提出的软件查找装置的结构示意图 ; 0018 图 4 为本发明另一实施例提出的软件查找装置的结构示意图 ; 0019 图 5 为本发明另一实施例提出的软件查找装置的结构示意图。 具体实施方式 0020 下面详细描述本发明的实施例, 所述实施例的示例在附图中示出, 其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考 附图描述的实施例是示。
16、例性的, 仅用于解释本发明, 而不能理解为对本发明的限制。相反, 本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、 修改和等同 物。 0021 图 1 为本发明一个实施例提出的软件查找方法的流程示意图, 包括 : 0022 S11 : 客户端设备获取要查找的软件的信息。 0023 其中, 客户端设备可以是手机、 平板电脑、 台式机、 笔记本电脑等。 0024 客户端设备可以通过扫描等手段可以获取要查找的软件的信息。 0025 以 android 版 毒 霸 为 例, 当 用 户 需 要 扫 描 病 毒 时, 杀 毒 软 件 可 以 根 据 PackageManager pm。
17、=this.getPackageManager() 接口中的 ListresolveIn 说 明 书 CN 103823871 A 5 3/10 页 6 fos=pm.queryIntentActivities(mainIntent,PackageM anager.MATCH_DEFAULT_ONLY) 查 找到每个应用的信息。 0026 S12 : 客户端设备根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判 断在所述本地样本库中是否存在所述要查找的软件。 0027 其中, 本地样本库中可以记录至少一个软件的信息, 通过比对要查找的软件的信 息与本地样本库中记录的软件信息, 可以确。
18、定本地样本库中是否存在该要查找的软件。 0028 S13 : 客户端设备在所述本地样本库中不存在所述要查找的软件时, 将所述要查找 的软件的信息发送到云端, 以使所述云端根据所述要查找的软件的信息确定所述要查找的 软件的类型。 0029 其中, 云端是一个大的数据库, 可以记录最新的软件对应的类型, 因此, 在云端可 以查出本地没有的软件的类型。 0030 该类型可以是指该软件是正常软件还是有问题软件。 例如, 在病毒扫描时, 可以确 定出要查找的软件是病毒还是正常软件 ; 或者, 在垃圾清理时, 可以确定出要查找的软件是 要被清理的软件还是正常软件不被清理。 0031 本实施例通过先在本地查。
19、找, 在本地不存在时再去云端查找, 可以在本地预先存 储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0032 图 2 为本发明另一个实施例提出软件查找方法的流程示意图, 包括 : 0033 S21 : 客户端设备获取要查找的软件的信息。 0034 具体可以参见 S11, 不再赘述。 0035 S22 : 客户端设备根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判 断在所述本地样本库中是否存在所述要查找的软件, 若是, 执行 。
20、S24, 否则, 执行 S23。 0036 其中, 本地样本库中可以记录软件信息与类型的对应关系, 其中, 类型可以分为第 一类型和第二类型, 也就是说, 本地样本库由第一类型的样本和第二类型的样本组成。 第一 类型的样本是存在问题的样本, 例如病毒或要清理的软件等, 第二类型的样本是正常样本。 0037 当要查找的软件是第三类型的样本时, 就可以表明在所述本地样本库中不存在所 述要查找的软件, 该第三类型的样本是指不是第一类型的样本且不是第二类型的样本, 之 后就可以将还第三类型的样本的信息发给云端。 0038 其中, 对了更明确说明, 可以将上述的三种类型的样本理解为黑样本、 白样本和灰 。
21、样本。 0039 进一步的, 为了降低本地存储容量, 可以在初始时设定较小的样本库, 也就是, 初 始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 0040 更进一步的, 可以只在本地样本库中进行类型划分, 但不包含具体的样本, 即, 将 设置第一类型的样本和第二类型的样本, 但是第一类型的样本和 / 或第二类型的样本是 空。也就是说, 初始时, 所述第一类型的样本的个数为 0, 和 / 或, 所述第二类型的样本的个 数为 0。 0041 S23 : 客户端设备根据所述本地样本库中记录的软件信息及对应的类型, 确定所述 要查找软件的类型。之后结束。 说 明 。
22、书 CN 103823871 A 6 4/10 页 7 0042 当本地样本库中存在要查找的软件时, 也就是说要查找的软件是第一类型的软件 或者第二类型的软件时, 客户端设备就可以根据记录的该要查找的软件具体对应的类型进 行确定, 例如, 本地样本库中记录该要查找的软件属于第一类型的样本, 那么就可以确定出 该要查找的软件的类型时第一类型。 0043 相关技术中, 本地数据库中仅存在黑样本, 当要查找的软件不是本地数据库中记 录的黑样本时就确定为白样本。 但是, 很可能本地数据库没有更新, 该要查找的软件是新的 黑样本, 这样就会造成判断错误, 对用户造成损失。 而本实施例不仅设置黑样本还设置。
23、白样 本和灰样本, 在本地可以查找到时可以方便准确确定类型, 在不存在时再次查找而不是直 接确定为白, 提高准确性, 避免用户损失。 0044 S24 : 客户端设备向云端发送该要查找的软件的信息。 0045 S25 : 云端根据该要查找的软件的信息进行查找, 确定出该要查找的软件的类型。 0046 由于云端会存在最新的软件信息, 因此, 在云端可以查找到本地不知道的软件的 类型, 例如, 云端可以查出要查找的软件是病毒还是正常软件, 或者要查找的软件是要被清 理的软件还是不被清理的正常软件。 0047 S26 : 云端向客户端设备发送该要查找的软件的类型。 0048 例如, 云端向客户端设备。
24、发送该要查找的软件是病毒或正常软件等。 0049 S27 : 客户端设备将所述要查找的软件的信息以及所述要查找的软件的类型, 对应 记录在所述本地样本库中。 0050 例如, 当要查找的软件是第一类型时, 将要查找的软件的信息记录在第一类型的 样本中。 0051 本实施例通过先在本地查找, 在本地不存在时再去云端查找, 可以在本地预先存 储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 进一步的, 本实施例在本地样本库中区分第一类型和第二类。
25、型, 在不是第一类型和第二类型时再次向云端查找, 可以在本地能够查找到时方便准确确定类 型, 在本地不能查找时再次进行查找确定而不是直接确定为白样本, 可以提高判断准确性, 避免用户损失。 进一步的, 云端查找得到的结果可以保存在本地, 这样在下次查找时就不需 要再向云端查找, 可以在本地确定, 提高查找效率。 0052 图3为本发明另一实施例提出的软件查找装置的结构示意图, 该装置30包括获取 模块 31、 判断模块 32 和发送模块 33。 0053 获取模块 31 用于获取要查找的软件的信息 ; 判断模块 32 用于根据所述要查找的 软件的信息, 以及预先设定的本地样本库, 判断在所述本。
26、地样本库中是否存在所述要查找 的软件 ; 发送模块 33 用于在所述判断模块 32 得出所述本地样本库中不存在所述要查找的 软件时, 将所述要查找的软件的信息发送到云端, 以使所述云端根据所述要查找的软件的 信息确定所述要查找的软件的类型。 0054 其中, 该装置可以位于客户端设备中, 客户端设备可以是手机、 平板电脑、 台式机、 笔记本电脑等。 0055 获取模块 31 可以通过扫描等手段可以获取要查找的软件的信息。 0056 以 android 版 毒 霸 为 例, 当 用 户 需 要 扫 描 病 毒 时, 杀 毒 软 件 可 以 根 据 说 明 书 CN 103823871 A 7 5。
27、/10 页 8 PackageManager pm=this.getPackageManager() 接口中的 ListresolveIn fos=pm.queryIntentActivities(mainIntent,PackageM anager.MATCH_DEFAULT_ONLY) 查 找到每个应用的信息。 0057 其中, 本地样本库中可以记录至少一个软件的信息, 判断模块 32 通过比对要查找 的软件的信息与本地样本库中记录的软件信息, 可以确定本地样本库中是否存在该要查找 的软件。 0058 进一步的, 本地样本库中可以记录软件信息与类型的对应关系, 其中, 类型可以分 为第一类。
28、型和第二类型, 也就是说, 本地样本库由第一类型的样本和第二类型的样本组成。 第一类型的样本是存在问题的样本, 例如病毒或要清理的软件等, 第二类型的样本是正常 样本。 0059 当要查找的软件是第三类型的样本时, 判断模块 32 就可以确定在所述本地样本 库中不存在所述要查找的软件, 该第三类型的样本是指不是第一类型的样本且不是第二类 型的样本, 之后就可以将还第三类型的样本的信息通过发送模块 33 发给云端。 0060 其中, 对了更明确说明, 可以将上述的三种类型的样本理解为黑样本、 白样本和灰 样本。 0061 相关技术中, 本地数据库中仅存在黑样本, 当要查找的软件不是本地数据库中记。
29、 录的黑样本时就确定为白样本。 但是, 很可能本地数据库没有更新, 该要查找的软件是新的 黑样本, 这样就会造成判断错误, 对用户造成损失。 而本实施例不仅设置黑样本还设置白样 本和灰样本, 在本地可以查找到时可以方便准确确定类型, 在不存在时再次查找而不是直 接确定为白, 提高准确性, 避免用户损失。 0062 进一步的, 为了降低本地存储容量, 可以在初始时设定较小的样本库, 也就是, 初 始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 0063 更进一步的, 可以只在本地样本库中进行类型划分, 但不包含具体的样本, 即, 将 设置第一类型的样本和第二类。
30、型的样本, 但是第一类型的样本和 / 或第二类型的样本是 空。也就是说, 初始时, 所述第一类型的样本的个数为 0, 和 / 或, 所述第二类型的样本的个 数为 0。 0064 其中, 云端是一个大的数据库, 可以记录最新的软件对应的类型, 因此, 在云端可 以查出本地没有的软件的类型。 0065 该类型可以是指该软件是正常软件还是有问题软件。 例如, 在病毒扫描时, 可以确 定出要查找的软件是病毒还是正常软件 ; 或者, 在垃圾清理时, 可以确定出要查找的软件是 要被清理的软件还是正常软件不被清理。 0066 本实施例通过先在本地查找, 在本地不存在时再去云端查找, 可以在本地预先存 储少量。
31、的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0067 图4为本发明另一实施例提出的软件查找装置的结构示意图, 该装置40包括获取 模块 41、 判断模块 42 和确定模块 43。 0068 获取模块 41 用于获取要查找的软件的信息 ; 判断模块 42 用于根据所述要查找的 软件的信息, 以及预先设定的本地样本库, 判断在所述本地样本库中是否存在所述要查找 说 明 书 CN 103823871 A 8 6/10 页 9 的软件 ; 确定模块。
32、 43 用于在所述判断模块 42 得到所述本地样本库中存在所述要查找的软 件时, 根据所述本地样本库中记录的软件信息及对应的类型, 确定所述要查找软件的类型。 0069 其中, 该装置可以位于客户端设备中, 客户端设备可以是手机、 平板电脑、 台式机、 笔记本电脑等。 0070 获取模块 41 可以通过扫描等手段可以获取要查找的软件的信息。 0071 以 android 版 毒 霸 为 例, 当 用 户 需 要 扫 描 病 毒 时, 杀 毒 软 件 可 以 根 据 PackageManager pm=this.getPackageManager() 接口中的 ListresolveIn fos。
33、=pm.queryIntentActivities(mainIntent,PackageM anager.MATCH_DEFAULT_ONLY) 查 找到每个应用的信息。 0072 其中, 本地样本库中可以记录软件信息与类型的对应关系, 其中, 类型可以分为第 一类型和第二类型, 也就是说, 本地样本库由第一类型的样本和第二类型的样本组成。 第一 类型的样本是存在问题的样本, 例如病毒或要清理的软件等, 第二类型的样本是正常样本。 0073 当要查找的软件是第一类型的样本或第二类型的样本时, 判断模块 42 就可以确 定在所述本地样本库中存在所述要查找的软件。 0074 当本地样本库中存在要查。
34、找的软件时, 也就是说要查找的软件是第一类型的软件 或者第二类型的软件时, 确定模块 43 就可以根据记录的该要查找的软件具体对应的类型 进行确定, 例如, 本地样本库中记录该要查找的软件属于第一类型的样本, 那么就可以确定 出该要查找的软件的类型时第一类型。 0075 进一步的, 为了降低本地存储容量, 可以在初始时设定较小的样本库, 也就是, 初 始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 0076 更进一步的, 可以只在本地样本库中进行类型划分, 但不包含具体的样本, 即, 将 设置第一类型的样本和第二类型的样本, 但是第一类型的样本和 / 或第二。
35、类型的样本是 空。也就是说, 初始时, 所述第一类型的样本的个数为 0, 和 / 或, 所述第二类型的样本的个 数为 0。 0077 本实施例通过在本地记录第一类型的样本和第二类型的样本, 可以根据该不同类 型, 直接准确确定出要查找的软件的类型。相对于相关技术中仅记录黑样本对不是黑样本 就确定为白样本的方案, 可以提高准确性, 避免用户损失。 0078 图5为本发明另一实施例提出的软件查找装置的结构示意图, 该装置50包括获取 模块 51、 判断模块 52、 发送模块 53、 接收模块 54 和记录模块 55。 0079 获取模块51、 判断模块52和发送模块53的具体功能可以参见图3所示实。
36、施例, 在 此不再赘述。 0080 接收模块 54 用于接收所述云端发送的所述要查找的软件的类型 ; 记录模块 55 用 于将所述要查找的软件的信息以及所述要查找的软件的类型, 对应记录在所述本地样本库 中。 0081 例如, 接收模块 54 接收到云端发送的该要查找的软件是病毒或正常软件的信息。 0082 例如, 当要查找的软件是第一类型时, 记录模块 55 将要查找的软件的信息记录在 第一类型的样本中。 0083 本实施例通过先在本地查找, 在本地不存在时再去云端查找, 可以在本地预先存 储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 说 明 书。
37、 CN 103823871 A 9 7/10 页 10 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 进一步的, 本实施例在本地样本库中区分第一类型和第二类型, 在不是第一类型和第二类型时再次向云端查找, 可以在本地能够查找到时方便准确确定类 型, 在本地不能查找时再次进行查找确定而不是直接确定为白样本, 可以提高判断准确性, 避免用户损失。 进一步的, 云端查找得到的结果可以保存在本地, 这样在下次查找时就不需 要再向云端查找, 可以在本地确定, 提高查找效率。 0084 本发明实施例还提供了一种客户端设备, 该客户端设备包。
38、括壳体、 处理器、 存储 器、 电路板和电源电路, 其中, 电路板安置在壳体围成的空间内部, 处理器和存储器设置在 电路板上 ; 电源电路, 用于为客户端设备的各个电路或器件供电 ; 存储器用于存储可执行 程序代码 ; 处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应 的程序, 以用于执行以下步骤 : 0085 S11 : 获取要查找的软件的信息。 0086 其中, 客户端设备可以是手机、 平板电脑、 台式机、 笔记本电脑等。 0087 客户端设备可以通过扫描等手段可以获取要查找的软件的信息。 0088 以 android 版 毒 霸 为 例, 当 用 户 需 要 扫 描 。
39、病 毒 时, 杀 毒 软 件 可 以 根 据 PackageManager pm=this.getPackageManager() 接口中的 ListresolveIn fos=pm.queryIntentActivities(mainIntent,PackageM anager.MATCH_DEFAULT_ONLY) 查 找到每个应用的信息。 0089 S12 : 根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判断在所述本 地样本库中是否存在所述要查找的软件。 0090 其中, 本地样本库中可以记录至少一个软件的信息, 通过比对要查找的软件的信 息与本地样本库中记录的软件信息, 。
40、可以确定本地样本库中是否存在该要查找的软件。 0091 S13 : 在所述本地样本库中不存在所述要查找的软件时, 将所述要查找的软件的 信息发送到云端, 以使所述云端根据所述要查找的软件的信息确定所述要查找的软件的类 型。 0092 其中, 云端是一个大的数据库, 可以记录最新的软件对应的类型, 因此, 在云端可 以查出本地没有的软件的类型。 0093 该类型可以是指该软件是正常软件还是有问题软件。 例如, 在病毒扫描时, 可以确 定出要查找的软件是病毒还是正常软件 ; 或者, 在垃圾清理时, 可以确定出要查找的软件是 要被清理的软件还是正常软件不被清理。 0094 本实施例通过先在本地查找,。
41、 在本地不存在时再去云端查找, 可以在本地预先存 储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 可以降低网络流量和开销。 0095 另一个实施例中, 处理器用于执行如下步骤 : 0096 S21 : 客户端设备获取要查找的软件的信息。 0097 具体可以参见 S11 , 不再赘述。 0098 S22 : 客户端设备根据所述要查找的软件的信息, 以及预先设定的本地样本库, 判 断在所述本地样本库中是否存在所述要查找的软件, 若是, 执行 S24 , 否则, 执行 。
42、S23 。 说 明 书 CN 103823871 A 10 8/10 页 11 0099 其中, 本地样本库中可以记录软件信息与类型的对应关系, 其中, 类型可以分为第 一类型和第二类型, 也就是说, 本地样本库由第一类型的样本和第二类型的样本组成。 第一 类型的样本是存在问题的样本, 例如病毒或要清理的软件等, 第二类型的样本是正常样本。 0100 当要查找的软件是第三类型的样本时, 就可以表明在所述本地样本库中不存在所 述要查找的软件, 该第三类型的样本是指不是第一类型的样本且不是第二类型的样本, 之 后就可以将还第三类型的样本的信息发给云端。 0101 其中, 对了更明确说明, 可以将上。
43、述的三种类型的样本理解为黑样本、 白样本和灰 样本。 0102 进一步的, 为了降低本地存储容量, 可以在初始时设定较小的样本库, 也就是, 初 始时, 所述第一类型的样本的个数和 / 或所述第二类型的样本的个数小于设定的个数。 0103 更进一步的, 可以只在本地样本库中进行类型划分, 但不包含具体的样本, 即, 将 设置第一类型的样本和第二类型的样本, 但是第一类型的样本和 / 或第二类型的样本是 空。也就是说, 初始时, 所述第一类型的样本的个数为 0, 和 / 或, 所述第二类型的样本的个 数为 0。 0104 S23 : 客户端设备根据所述本地样本库中记录的软件信息及对应的类型, 确。
44、定所 述要查找软件的类型。之后结束。 0105 当本地样本库中存在要查找的软件时, 也就是说要查找的软件是第一类型的软件 或者第二类型的软件时, 客户端设备就可以根据记录的该要查找的软件具体对应的类型进 行确定, 例如, 本地样本库中记录该要查找的软件属于第一类型的样本, 那么就可以确定出 该要查找的软件的类型时第一类型。 0106 相关技术中, 本地数据库中仅存在黑样本, 当要查找的软件不是本地数据库中记 录的黑样本时就确定为白样本。 但是, 很可能本地数据库没有更新, 该要查找的软件是新的 黑样本, 这样就会造成判断错误, 对用户造成损失。 而本实施例不仅设置黑样本还设置白样 本和灰样本,。
45、 在本地可以查找到时可以方便准确确定类型, 在不存在时再次查找而不是直 接确定为白, 提高准确性, 避免用户损失。 0107 S24 : 客户端设备向云端发送该要查找的软件的信息。 0108 S25 : 云端根据该要查找的软件的信息进行查找, 确定出该要查找的软件的类型。 0109 由于云端会存在最新的软件信息, 因此, 在云端可以查找到本地不知道的软件的 类型, 例如, 云端可以查出要查找的软件是病毒还是正常软件, 或者要查找的软件是要被清 理的软件还是不被清理的正常软件。 0110 S26 : 云端向客户端设备发送该要查找的软件的类型。 0111 例如, 云端向客户端设备发送该要查找的软件。
46、是病毒或正常软件等。 0112 S27 : 客户端设备将所述要查找的软件的信息以及所述要查找的软件的类型, 对 应记录在所述本地样本库中。 0113 例如, 当要查找的软件是第一类型时, 将要查找的软件的信息记录在第一类型的 样本中。 0114 本实施例通过先在本地查找, 在本地不存在时再去云端查找, 可以在本地预先存 储少量的样本库, 这样就可以降低本地存储负担 ; 另外, 在本地不存在时再去云端查找, 可 以及时发现新软件 ; 再者, 由于是在本地不存在时才去云端查找而不是每次都去云端查找, 说 明 书 CN 103823871 A 11 9/10 页 12 可以降低网络流量和开销。 进一。
47、步的, 本实施例在本地样本库中区分第一类型和第二类型, 在不是第一类型和第二类型时再次向云端查找, 可以在本地能够查找到时方便准确确定类 型, 在本地不能查找时再次进行查找确定而不是直接确定为白样本, 可以提高判断准确性, 避免用户损失。 进一步的, 云端查找得到的结果可以保存在本地, 这样在下次查找时就不需 要再向云端查找, 可以在本地确定, 提高查找效率。 0115 需要说明的是, 在本发明的描述中, 术语 “第一” 、“第二” 等仅用于描述目的, 而不 能理解为指示或暗示相对重要性。此外, 在本发明的描述中, 除非另有说明,“多个” 的含义 是两个或两个以上。 0116 流程图中或在此以。
48、其他方式描述的任何过程或方法描述可以被理解为, 表示包括 一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、 片段或部 分, 并且本发明的优选实施方式的范围包括另外的实现, 其中可以不按所示出或讨论的顺 序, 包括根据所涉及的功能按基本同时的方式或按相反的顺序, 来执行功能, 这应被本发明 的实施例所属技术领域的技术人员所理解。 0117 应当理解, 本发明的各部分可以用硬件、 软件、 固件或它们的组合来实现。在上述 实施方式中, 多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件 或固件来实现。例如, 如果用硬件来实现, 和在另一实施方式中一样, 可用本领。
49、域公知的下 列技术中的任一项或他们的组合来实现 : 具有用于对数据信号实现逻辑功能的逻辑门电路 的离散逻辑电路, 具有合适的组合逻辑门电路的专用集成电路, 可编程门阵列 (PGA) , 现场 可编程门阵列 (FPGA) 等。 0118 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步 骤是可以通过程序来指令相关的硬件完成, 所述的程序可以存储于一种计算机可读存储介 质中, 该程序在执行时, 包括方法实施例的步骤之一或其组合。 0119 此外, 在本发明各个实施例中的各功能单元可以集成在一个处理模块中, 也可以 是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个模块中。上述集成的模 块既可以采用硬件的形式实现, 也可以采用软件功能模块的形式实现。所述集成的模块如。