发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的进程识别方法、装置和终端设备。
依据本发明的一个方面,提供了一种进程识别方法,包括:获取待识别进程的第一特征文件名,其中第一特征文件名包括待识别进程的标识信息;检测第一特征文件名是否符合第一预定条件;若第一特征文件名符合第一预定条件,则继续获取待识别进程所对应图标的图标校验码;检测图标校验码是否符合第二预定条件;若图标校验码符合第二预定条件,则将待识别进程判定为已识别进程。由于图标校验码中记录有进程所对应图标的相关特征信息,因此通过第一特征文件名和图标校验码来对待识别进程进行识别,能够有效提高进程识别的准确性。
本发明实施例中,在获取待识别进程所对应图标的图标校验码的步骤之前,进程识别方法还包括:检测是否配置有图标的路径信息,其中路径信息表示图标相对于第一特征文件名的相对路径;若配置有,则执行获取待识别进程所对应图标的图标校验码的步骤;若没有配置,则继续获取待识别进程的第二特征文件名;然后检测第二特征文件名是否符合第三预定条件;若第二特征文件名符合第三预定条件,则将待识别进程判定为已初步识别的进程。
本发明实施例中,在将待识别进程判定为已初步识别的进程的步骤之后,进程识别方法还包括:获取已初步识别的进程所对应的公司或运营商的名称;检测是否能匹配到与获取的公司或运营商的名称相同的名称,若能,则将判定为已初步识别的进程判定为已识别进程。
本发明实施例中,在将待识别进程判定为已识别进程的步骤之后,进程识别方法还包括:根据第一特征文件名和/或图标校验码,设置已识别进程的防打扰属性,以防止已识别进程被其他进程打扰。
根据本发明的另一方面,提供了一种进程识别装置,包括:第一获取模块,用于获取待识别进程的第一特征文件名,其中第一特征文件名包括待识别进程的标识信息;第一检测模块,用于检测第一特征文件名是否符合第一预定条件;第二获取模块,用于在第一特征文件名符合第一预定条件时,获取待识别进程所对应图标的图标校验码;第二检测模块,用于检测图标校验码是否符合第二预定条件;识别模块,用于当图标校验码符合第二预定条件时,将待识别进程判定为已识别进程。由于图标校验码中记录有进程所对应图标的相关特征信息,例如进程的名称。因此通过第一特征文件名和图标校验码来对待识别进程进行识别,能够有效提高进程识别的准确性。
本发明实施例中,进程识别装置还包括:第三获取模块,用于获取待识别进程的第一特征文件名的首字符;数据库匹配模块,用于根据首字符,在多个查询数据库中匹配得到与获取的首字符对应的查询数据库。
本发明实施例中,进程识别装置还包括:路径检测模块,用于检测是否配置有图标的路径信息,其中路径信息表示图标相对于第一特征文件名的相对路径;若配置有,则触发第二获取模块工作;若没有配置,则继续获取待识别进程的第二特征文件名;第三检测模块,用于检测第二特征文件名是否符合第三预定条件,在第二特征文件名符合第三预定条件时,将待识别进程判定为已初步识别的进程。
本发明实施例中,进程识别装置还包括:名称获取模块,用于获取已初步识别的进程所对应的公司或运营商的名称;第四检测模块,用于检测是否能匹配到与获取的公司或运营商的名称相同的名称;其中,识别模块进一步用于在第四检测模块检测到与获取的公司或运营商的名称相同的名称时,将待识别进程判定为已识别进程。
本发明实施例中,进程识别装置还包括:防打扰设置模块,用于根据第一特征文件名和/或图标校验码,设置已识别进程的防打扰属性,以防止已识别进程被其他进程打扰。
本发明实施例中,进程识别装置还包括:存储模块,用于存储查询数据库,其中查询数据库包括:进程的第一特征文件名和进程所对应图标的图标校验码。
根据本发明的又一方面,提供了一种终端设备,包括如上所述的进程识别装置。
根据本发明的进程识别方式,由于图标校验码中记录有进程所对应图标的相关特征信息,因此通过第一特征文件名和图标校验码来对待识别进程进行识别,可以对进程进行快速、准确识别,由此解决了单纯依靠特征文件名及进程所属公司或运营商的名称不足以对进程精确识别的问题,有效提高进程识别的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的进程识别方法100的流程图,需要说明的是,尽管在图1中以特定顺序描述了该识别方法的操作,但是,这并非要求或暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
如图1所示,在步骤S110中,获取待识别进程的第一特征文件名,其中第一特征文件名包括待识别进程的标识信息;
具体地,在步骤S110中可通过进程调用命令,来获取终端设备上正在运行一个或多个进程,以及与该一个或多个进程相对应的、用于描述该一个或多个进程的特征的第一特征文件名,其中第一特征文件名包括用于表示待识别进程的标识信息(例如进程名称)。
本发明实施例中,第一特征文件名可以用与该进程对应的可执行文件的名称来表示。例如:当终端设备上正在运行IE浏览器时,可通过步骤S110获取与该IE浏览器的进程的第一特征文件名:iexplore.exe。当终端设备上正在运行游戏魔兽争霸时,可通过步骤S110获取魔兽争霸的进程的第一特征文件名:War3.exe。当然可以理解的是,在本发明的实施例中并不限定第一特征文件名的具体形式。上述终端设备可以是台式计算机、笔记本、平面电脑、或移动电话等。
在步骤S120中,检测第一特征文件名是否符合第一预定条件;
上述第一预定条件可设置为:能够匹配到与第一特征文件名相同或部分相同的文件名。当第一特征文件名所包括的字符数较少时,可将第一预定条件设置为:能够匹配到与第一特征文件名完全相同的文件名。当第一特征文件名所包括的字符数较多时,为了提高检测的效率,该第一预定条件可设置为:能够匹配到与第一特征文件名部分相同的文件名,例如只要第一特征文件名中的预定位置(例如前几个字符)与查询数据库中某文件名的对应位置的字符相同,则可判定该第一特征文件名符合第一预定条件,其中查询数据库中预先设置有多个进程的相关特征描述信息,该查询数据库可设置在终端设备上。
在步骤S120中通过第一预定条件检测第一特征文件名是否在查询数据库中有相同或部分相同的文件名,以对待识别进程进行最初识别,当然可以理解的是,在本发明的实施例中并不限定该第一预定条件的具体判定条件。
具体地,在步骤S120中,在查询数据库中检测是否能够匹配得到与第一特征文件名相同的文件名,若能,判定第一特征文件名符合第一预定条件,然后执行步骤S130;若不能,则判定第一特征文件名不符合第一预定条件,则结束进程识别方法100的流程。步骤S120是对待识别进程进行最初识别,为了提高进程识别的准确性,在本发明的一个实施例中还需要继续进行步骤S130。
在步骤S130中,获取待识别进程所对应图标的图标校验码;
具体地,在终端设备上安装应用程序(例如游戏应用程序)时,会自动生成与该应用程序的可执行文件对应的图标。在步骤S130中,可先获取与待识别进程所对应的图标,然后可通过图标校验算法,例如MD5(Message-Digest-Algorithm-5)算法获取该图标的图标校验码,其中图标校验码能体现出与该图标对应的进程的相关特征信息,例如进程的名称等。以游戏软件中的图标校验码为例,图标校验码是数据记录中的一个字段。每款游戏都有对应的数据记录,其格式可设置为:游戏名(第一文件名、图标路径、第二文件名、公司名),其中图标路径为可选项(当仅仅采用第一文件名、第二文件名、公司名进行判别出现错误时需添加图标匹配,此时可不需第二文件名、公司名等)。当然可以理解的是,在本发明的实施例中并不限定该图标校验码的具体形式。
由于在查询数据库中可存储各进程所对应图标的校验码,而不需要在查询数据中存储各进程所对应的图标,因此,有效减小查询数据库所占用的存储空间。而且通过对图标校验码进行匹配,还能够有效提高进程识别的精确性。
在步骤S140中,检测图标校验码是否符合第二预定条件;
上述第二预定条件可设置为:能够匹配到与图标校验码相同的校验码;具体地,在步骤S140中,在查询数据库检测中是否能够匹配得到与图标校验码相同的校验码;若能,则判定图标校验码符合第二预定条件;若不能,则判定图标校验码不符合第二预定条件。由于图标校验码能够准确体现出进程的名称等,通过第一特征文件名和图标校验码的结合来对进程进行识别,有效提高进程识别的准确性。
在步骤S150中,将待识别进程判定为已识别进程。
具体地,该待识别进程的描述信息中还包括:用于标识进程是否已被识别的识别信息,例如该识别信息可以用数字来表示,其中数字“0”表示为已识别,其他数字表示未识别。在步骤S150中,可通过将待识别进程的识别信息设置为数字“0”,以体现出该待识别进程判定为已识别进程。
本发明实施例中,在执行完步骤S150后,还可继续执行步骤S160。在步骤S160中,根据第一特征文件名和/或图标校验码,设置已识别进程的防打扰属性,已识别进程以防止已识别进程被其他进程打扰。
具体地,当完成进程识别后,由于第一特征文件名和图标校验码中能够体现出进程的名称,因此可根据第一特征文件名和/或图标校验码,获取已识别进程的类型信息,该类型信息包括:游戏软件、音视频播放软件和办公软件等;然后根据已识别进程的类型信息,设置已识别进程的防打扰属性,该防打扰属性可包括:不允许打扰和允许打扰,其中当进程的防打扰属性为不允许打扰时,表示在该进程运行过程中需要避免被其他进程干扰,例如避免被其他进程的弹窗、升级、抢占带宽等行为干扰。
在本发明实施例中,当已识别进程的类型信息为游戏软件或音视频播放软件时,可将该已识别进程的防打扰属性设置为不允许打扰。当然可以理解的是,在本发明实施例中设置已识别进程的防打扰属性的依据,可根据具体情况进行调整,而不限于仅将游戏软件或音视频播放软件所对应的进程设置为不允许打扰的进程。
在本发明实施例中,防打扰属性可用数字表示,例如“不允许打扰”可用数字“0”表示,“允许打扰”可用数字“1”表示,当防打扰属性为数字“0”时,表示在该进程运行过程中需要避免被其他进程干扰。当然可以理解的是,在本发明的实施例中并不限定上述防打扰属性的具体表述形式。
例如:某终端设备正在运行的进程列表中包括魔兽争霸游戏的进程(wow.exe)时,可通过执行步骤S110~S150,识别出当前正在运行的进程中包括魔兽争霸游戏的进程,且该魔兽争霸游戏的进程的类型信息为游戏软件,为了避免在游戏过程中被其他进程打扰,可将魔兽争霸游戏的进程的防打扰属性设置为“不允许打扰”,例如,将魔兽争霸游戏的进程的防打扰属性设置为“0”。在设置完防打扰属性后,终端设备根据防打扰属性,在运行该魔兽争霸游戏的进程时,可以禁止其他进程的弹窗、升级、抢占带宽等干扰行为的运行。。
图2示出了根据本发明另一个实施例的进程识别方法200的流程图。如图2所示,该进行识别方法始于步骤S202。在步骤S202中,获取待识别进程的第一特征文件名。接着,在步骤S204中,按照第一特征文件名的首字符匹配查询数据库,如果能匹配到与第一特征文件名的首字母具有对应关系的查询数据库,则继续执行步骤S206;如果不能匹配到,则结束进程识别方法200的流程。具体地,终端设备中可包括一个或多个查询数据库,其中每个查询数据库中预先设置有多个进程的相关信息,该每个查询数据库中的进程可按照进程名的首字符进行划分,也就是建立每个查询数据库与一个或多个字符的对应关系,这样便于提高利用第一特征文件名进行匹配处理的效率。
例如:可通过步骤S202获取魔兽争霸的进程的第一特征文件名:War3.exe,然后以“War3.exe”的首字母“W”匹配查询数据库,如果能匹配到与第一特征文件名的首字母“W”具有对应关系的查询数据库,则继续执行步骤S206。当然可以理解的是,该第一特征文件名的首字符也可以是数字。
在本发明的实施例中,首先检测与第一特征文件名的首字符对应的查询数据库是否存在,相对于直接利用第一特征文件名进行匹配,可以有效缩短进程识别的时间,例如不采用第一特征文件名的首字符进行检索时,查询时间的时间复杂度为:O(n)(表示算法是线性算法),而采用第一特征文件名的首字符索引查询时,查询时间的时间复杂度为:O(lg2n)(表示算法是二分查找算法),其中n表示算法处理的数据量的大小。
如上所示,采用STL(StandardTemplateLibrary,标准模板库)中的Map(Map是STL的一个关联容器,它提供一对一的数据处理能力)进行索引查找时,红黑树的查询时间的时间复杂度为:O(lg2n),其中n表示算法处理的数据量的大小,其中,进一步,可以将非字母开头的第一特征文件名对应的进程的特征信息存入查询数据库的Map中,而将字母开头的第一特征文件名对应的进程的特征信息存入查询数据库中的数组中。这样对字母开头的进程的识别时间复杂度可降低为O(1)(常数阶)。
在步骤S206中,检测在查询数据库中是否能够匹配到与第一特征文件名相同的文件名。如果能够匹配到,则继续执行步骤S208;如果不能匹配到,则结束进程识别方法200的流程;在步骤208中,检测是否配置有图标路径。如果配置有,继续执行步骤S210;如果没有配置,则结束进程识别方法200的流程。在步骤210中,获取待识别进程所对应图标的图标校验码。
接着,在步骤S212中,检测在查询数据库中是否能够匹配到与图标校验码相同的校验码,如果有,继续执行步骤S214,将待识别进程判定为已识别进程。
相反,如果步骤S208中判定没有配置图标路径,则在步骤S216中,检测在查询数据库中是否能够匹配到与第二特征文件名相同的文件名,如果能够匹配到,继续执行步骤S218,检测在查询数据库中是否能够匹配到与待识别进程的公司或运营商的名称相同的名称,如果能匹配到,继续执行步骤S214;如果不能匹配到,则结束进程识别的流程。上述第二特征文件名包括用于表示待识别进程的具有特定辨识度的标识信息。也就是,在没有配置图标路径时,可通过第二特征文件名和公司或运营商的名称进行进程识别。
图3示出了根据本发明又一个实施例的进程识别装置300的框图。如图3所示,进程识别装置300包括:第一获取模块310、第一检测模块320、第二获取模块330、第二检测模块340和识别模块350,其中
第一获取模块310用于获取待识别进程的第一特征文件名,其中第一特征文件名包括待识别进程的标识信息;
第一检测模块320用于检测第一特征文件名是否符合第一预定条件;可选地,第一预定条件可设置为:能够匹配到与第一特征文件名相同的文件名;相应地,第一检测模块320进一步用于在查询数据库中检测是否能够匹配得到与第一特征文件名相同的文件名;若能,判定第一特征文件名符合第一预定条件;若不能,则判定第一特征文件名不符合第一预定条件。
第二获取模块330用于在第一检测模块320检测到第一特征文件名符合第一预定条件时,获取待识别进程所对应图标的图标校验码,可选地,该图标校验码为MD5校验码;
第二检测模块340用于检测图标校验码是否符合第二预定条件;可选地,第二预定条件可设置为:能够匹配到与图标校验码相同的校验码;相应地,第二检测模块340进一步用于检测在查询数据库中是否能够匹配得到与图标校验码相同的校验码;若能,则判定图标校验码符合第二预定条件;若不能,则判定图标校验码不符合第二预定条件。
识别模块350用于当第二检测模块340检测到图标校验码符合第二预定条件时,将待识别进程判定为已识别进程。
本发明实施例中,进程识别装置还包括:第三获取模块410用于获取待识别进程的第一特征文件名的首字符,该第三获取模块410与第一获取模块310相连接;以及数据库匹配模块420用于根据首字符在多个查询数据库中匹配得到与获取的首字符对应的查询数据库。其中数据库匹配模块420与第三获取模块410相连接,以接收由第三获取模块410获取的第一特征文件名的首字符。数据库匹配模块420还连接到第一检测模块320,以将获取的查询数据库提供给第一检测模块320。
本发明实施例中,进程识别装置还包括:路径检测模块430用于检测是否配置有图标的路径信息,其中路径信息表示图标相对于第一特征文件名的相对路径;若配置有,则触发第二获取模块330工作;若没有配置,则继续获取待识别进程的第二特征文件名;以及,第三检测模块440用于检测第二特征文件名是否符合第三预定条件,在第二特征文件名符合第三预定条件时,将待识别进程判定为已初步识别的进程。上述第二特征文件名包括用于表示待识别进程的具有特定辨识度的标识信息。
其中,路径检测模块430与第一检测模块320相连接,当第一检测模块320检测第一特征文件名符合第一预定条件时,可触发路径检测模块430工作,路径检测模块430还连接到第二获取模块330,当路径检测模块430检测到配置有图标的路径信息,则触发第二获取模块330工作。路径检测模块430还连接到第三检测模块440,以将第二特征文件名发送给第三检测模块440。可选地,第三预定条件可设置为:能够匹配到与第二特征文件名相同的文件名;相应地,第三检测模块440进一步用于在查询数据库中检测是否能够匹配得到与第二特征文件名相同的文件名;若能,判定第二特征文件名符合第三预定条件,将待识别进程判定为已初步识别的进程;若不能,则判定第二特征文件名不符合第三预定条件。
本发明实施例中,进程识别装置还包括:名称获取模块450,用于获取已初步识别的进程所对应的公司或所属运营商的名称;第四检测模块460用于检测是否能匹配到与获取的公司或运营商的名称相同的名称;相应地,识别模块350进一步用于在第四检测模块460检测到与获取的公司或运营商的名称相同的名称时,将待识别进程判定为已识别进程。
本发明实施例中,进程识别装置还包括:防打扰设置模块470用于根据第一特征文件名和/或图标校验码,设置已识别进程的防打扰属性,以防止被其他进程打扰。防打扰设置模块470与识别模块350连接。
本发明实施例中,进程识别装置还包括:存储模块(图中未示出),用于存储一个或多个查询数据库,其中每个查询数据库中包括:进程的文件名、进程的公司或所属运营商的名称和进程所对应图标的校验码。该存储模块分别与第一检测模块320、第二检测模块340、第三检测模块440、第四检测模块460和数据库匹配模块420连接。
以游戏软件为例,查询数据库设置在终端设备侧,用于存放当前主流游戏(500多款)的数据记录,每款游戏对应至少一条数据记录:游戏名(第一文件名、图标路径、第二文件名、公司名),其中各个记录可根据具体情况填写上述字段。如果不需图标路径即可完成精确识别则不添加图标路径以进行图标MD5识别。
在本发明的另一实施例中还提供一种终端设备,包括如上所述的进程识别装置。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的进程识别装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。