CN111191098A - 数据过滤方法及装置 - Google Patents
数据过滤方法及装置 Download PDFInfo
- Publication number
- CN111191098A CN111191098A CN201911360775.9A CN201911360775A CN111191098A CN 111191098 A CN111191098 A CN 111191098A CN 201911360775 A CN201911360775 A CN 201911360775A CN 111191098 A CN111191098 A CN 111191098A
- Authority
- CN
- China
- Prior art keywords
- data
- temporary
- filtering
- filtering rule
- dynamic
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据过滤方法及装置。其中,该方法包括:确定数据的类型,其中,数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;根据第一临时过滤规则,对动态数据进行过滤。本发明解决了相关技术中的过滤方式,效率低下,严重依赖人工的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据过滤方法及装置。
背景技术
网络爬虫是一种按照设定的规则,自动抓取网络内容的程序,目前已广泛地应用于互联网领域。根据使用场景的不同,网络爬虫可分为通用爬虫和聚焦爬虫。
通用爬虫主要用于通用搜索引擎中,从互联网中搜集网页,采集信息,并将这些信息用于为搜索引擎建立索引并提供支持。其追求的是尽可能大的网络覆盖率,一次爬取的URL往往数以亿计,其技术难点是如何将这些URL有效地压缩存储与快速检索,过滤掉重复连接,从而避免重复爬取造成网络资源的浪费,常用的技术有基于Hash算法、MD5压缩映射以及布隆过滤器的存储技术。
聚焦爬虫则是针对特定网络资源的爬虫,与通用爬虫最大的区别在于:聚焦爬虫在实施网页抓取时会对内容进行处理和筛选,尽量保证只抓取与需求相关的信息。
以漏扫爬虫为例,它聚焦的网络资源主要是页面上的URL信息。如果像通用爬虫那样对URL的直接去重,不仅仅会浪费爬虫资源,也会浪费后续的检测资源。因而需要对URL进行更深层次的逻辑去重。
相关技术主要是人工检查站点连接,设定匹配的过滤条件。该方法效率低下,且过滤规则的有效性严重依赖检查者的从业经验。
针对上述的问题,目前业界尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据过滤方法及装置,以至少解决相关技术中的过滤方式,效率低下,严重依赖人工的技术问题。
根据本发明实施例的一个方面,提供了一种数据过滤方法,包括:确定数据的类型,其中,所述数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则;根据所述第一临时过滤规则,对所述动态数据进行过滤。
可选的,根据所述动态数据生成第一临时过滤规则包括:提取所述动态数据中的动态部分信息,其中,所述动态数据包括保持不变的静态部分和发生变化的动态部分;识别所述动态部分信息的参数特征,划分参数类型;对不同参数类型的动态数据进行不同的处理,以确定所述参数类型对应的第一临时过滤规则。
可选的,所述动态数据的参数类型包括控制型参数和数据型参数,其中,所述控制型参数是能够对代码逻辑造成影响的数据,数据型参数是作为数据使用,不影响代码逻辑的操作数;对不同参数类型的动态数据进行不同的处理,以确定所述参数类型对应的第一临时过滤规则包括:根据所述控制型参数,确定所述控制型参数对应的第一临时过滤规则;对所述数据型参数进行泛化处理,确定所述数据型参数对应的第一临时过滤规则。
可选的,在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则之后,还包括:将所述第一临时过滤规则存储在临时过滤规则库中;在对所述数据进行筛选的过程中,记录所述第一临时过滤规则的命中次数;在所述第一临时过滤规则的命中次数超过预设值的情况下,将所述第一临时过滤规则作为正式过滤规则。
可选的,在所述数据为静态数据的情况下,判断所述静态数据是否为具有历史过滤数据中出现预设频率以上的数据结构的常规数据,在所述静态数据为常规数据的情况下,调用正式过滤规则对所述常规数据进行过滤;在所述静态数据为非常规数据的情况下,根据所述非常规数据生成第二临时过滤规则;根据所述第二临时过滤规则对所述非常规数据进行过滤。
可选的,根据所述非常规数据生成第二临时过滤规则包括:提取所述静态数据的文件名;识别所述文件名中的文件名特征;根据所述文件名特征,确定所述第二临时过滤规则。
可选的,在所述静态数据为常规数据的情况下,调用正式过滤规则对所述常规数据进行过滤,在所述正式过滤规则对所述常规数据进行过滤失败的情况下,根据所述常规数据提取第三临时过滤规则;根据所述第三临时过滤规则对所述常规数据进行过滤。
根据本发明实施例的另一方面,还提供了一种数据过滤装置,包括:确定模块,用于确定数据的类型,其中,所述数据的类型包括静态数据和动态数据;生成模块,用于在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则;过滤模块,用于根据所述第一临时过滤规则,对所述动态数据进行过滤。
根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述数据过滤方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项数据过滤方法。
在本发明实施例中,采用确定数据的类型,其中,数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;根据第一临时过滤规则,对动态数据进行过滤的方式,通过对不同数据类型的数据进行不同的过滤方式,对动态数据生成临时过滤规则进行过滤,达到了有效对各种数据类型的数据进行有效过滤的目的,从而实现了提高了过滤效率的技术效果,进而解决了相关技术中的过滤方式,效率低下,严重依赖人工技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据过滤方法的流程图;
图2是根据本发明实施方式的动态URL临时过滤规则提取的流程图;
图3是根据本发明实施方式的静态URL临时过滤规则提取的流程图;
图4是根据本发明实施方式的临时过滤规则过滤的流程图;
图5是根据本发明实施方式的正式过滤规则过滤的流程图;
图6是根据本发明实施方式的过滤装置的示意图;
图7是根据本发明实施例的一种数据过滤装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种数据过滤方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据过滤方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定数据的类型,其中,数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;
步骤S104,在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;
步骤S106,根据第一临时过滤规则,对动态数据进行过滤。
通过上述步骤,采用确定数据的类型,其中,数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;根据第一临时过滤规则,对动态数据进行过滤的方式,通过对不同数据类型的数据进行不同的过滤方式,对动态数据生成临时过滤规则进行过滤,达到了对各种数据类型的数据进行有效过滤的目的,从而实现了提高了过滤效率的技术效果,进而解决了相关技术中的过滤方式,效率低下,严重依赖人工技术问题。
上述数据可以是网页对应的URL数据,上述方法可以用于对网页爬虫爬取的URL数据进行过滤,去掉重复的URL数据。上述URL数据的包括动态URL数据,和静态URL数据。上述动态URL数据为根据会在不同条件下发生变化,例如,随着时间进行变化的URL数据,以及随着应用场景的不同发生变化的URL数据。上述静态URL数据就是在任何情况下都不发生变化的URL数据。需要说明的是,上述动态URL数据包括保持不变的静态部分信息,和发生变化的动态部分信息。
在上述URL数据为静态数据的情况下,可以根据对应的过滤规则进行过滤。但是同一类型URL数据数量可能会很大,并且可能存在不同的多个数据状态和数据表现,难以通过直接匹配过滤规则方式进行过滤,从而导致过滤效率低以及准确率低的问题。
本实施例,通过对动态数据进行处理,生成动态数据对应的第一临时过滤规则,根据该过滤规则对该动态数据进行过滤。根据动态数据生成第一临时过滤规则包括:提取动态数据中的动态部分信息,其中,动态数据包括保持不变的静态部分和发生变化的动态部分;识别动态部分信息的参数特征,划分参数类型;对不同参数类型的动态数据进行不同的处理,以确定参数类型对应的第一临时过滤规则。
例如,若爬虫爬取到了以下URL:
http://fake_domain/test?a=save&b=中文部分
http://fake_domain/test?a=save&b=1234456
http://fake_domain/test?a=save&b=xxxx@gmail.com
http://fake_domain/test?a=save&b=f95df1d4d3c89392f1fd920787bb7303
http://fake_domain/test?a=GoToTheNextPage&b=1
则对应的临时规则分别为:
http://fake_domain/test?a=save&b={mix}
http://fake_domain/test?a=save&b={int}
http://fake_domain/test?a=save&b={mix}
http://fake_domain/test?a=save&b={hash}
http://fake_domain/test?a={str}&b={int}
其中,本实施例中将URL参数的value(即上述动态部分信息)分为4类:数字型、哈希型、字符型和其他型。具体含义如下:
1)数字型(int):由纯数字构成。例如:“123”,“123456”等;
2)字符型(str):由纯英文字母构成(包含大小写)。例如:“params”,“Message”等;
3)哈希型(hash):hash串和uuid形式的内容。例如:“8ee04176f69c10ca56f2358d51d792ed”,“4fc15968-c4aa-11e9-9909-00505698e6f0”等;
4)混合型(mix):不属于以上三种类型的其余类型。例如:“参数”,“This_are_params”等。
从而根据第一临时过滤规则,对动态数据进行过滤,实现对动态数据的有效过滤。提高了过滤效率,优化了过滤效果。
可选的,动态数据的参数类型包括控制型参数和数据型参数,其中,控制型参数是能够对代码逻辑造成影响的数据,数据型参数是为数据使用,不影响代码逻辑的操作数;对不同参数类型的动态数据进行不同的处理,以确定参数类型对应的第一临时过滤规则包括:根据控制型参数,确定控制型参数对应的第一临时过滤规则;对数据型参数进行泛化处理,确定数据型参数对应的第一临时过滤规则。
控制型参数是能够对代码逻辑造成影响的关键字或命令行,数据型参数则是作为数据使用,不影响代码逻辑的操作数。本实施例中,控制型参数可以包括长度为10以内的字符型参数,其余类型为数据型参数。将数据型参数进行泛化处理,控制型参数保持不变。从而对动态数据进行分类过滤,提高过滤效率。
可选的,在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则之后,还包括:将第一临时过滤规则存储在临时过滤规则库中;在对数据进行筛选的过程中,记录第一临时过滤规则的命中次数;在第一临时过滤规则的命中次数超过预设值的情况下,将第一临时过滤规则作为正式过滤规则。
将上述第一临时过滤规则时针对上述动态数据的过滤规则,可以将上述第一临时过滤规则进行存储,在下次遇到上述动态数据的情况下进行调用。但是存储过滤规则需要耗费存储资源,因此,为了证明上述第一临时过滤规则有存储的价值,先将第一临时过滤规则存储在临时过滤规则库中,每命中一次,也即是遇到对应的动态数据一次,为上述第一临时过滤规则的命中次数加一,直至第一临时过滤规则的命中次数超过预设值,将第一临时过滤规则作为正式过滤规则。需要说明的是,为了减轻系统负担,上述临时过滤规则库可以是以一定频率进行清除,从而达到节约系统存储资源的目的。
可选的,在数据为静态数据的情况下,判断静态数据是否为具有历史过滤数据中出现预设频率以上的数据结构的常规数据,在静态数据为常规数据的情况下,调用正式过滤规则对常规数据进行过滤;在静态数据为非常规数据的情况下,根据非常规数据生成第二临时过滤规则;根据第二临时过滤规则对非常规数据进行过滤。
上述静态数据中存在常规数据和非常规数据,上述常规数据为具有历史过滤数据中出现预设频率以上的数据结构的数据,根据上述数据结构可以调用对应的正式过滤规则对该常规数据进行过滤。在上述静态数据为非常规数据的情况下,说明正式过滤规则库中没有存储对应的正式过滤规则,需要根据该非常规数据生成第二临时过滤规则,根据第二临时过滤规则对该非常规数据进行过滤,从而根据不同情况对静态数据继续进行过滤,提高了过滤效率。
可选的,根据非常规数据生成第二临时过滤规则包括:提取静态数据的文件名;识别文件名中的文件名特征;根据文件名特征,确定第二临时过滤规则。
非常规型的文件名主要是包含某些特殊序列的文件名,如:
a)包含数字序列的文件名,如“xxx1.html”,“xxx123.html”等;
b)包含日期或时间戳命名的文件名。如“xxx20190101”,“xxx2019-01-01”,“xxx1546272000”等;
c)包含哈希数值的文件名。如“fake8ee04176f69c10ca56f2358d51d792ed”等。
若爬虫爬取到了以下URL:
http://fake_domain/news_20190101.html
http://fake_domain/news_2019_01_01.html
则对应的临时规则为:http://fake_domain/news_{date}.html
其规则与上述根据动态数据生称第一临时过滤规则类似,将URL数据的value部分进行分类,并按照该分类进行确定第二临时过滤规则。从而有效根据非常规数据生成第二临时过滤规则。
可选的,在静态数据为常规数据的情况下,调用正式过滤规则对常规数据进行过滤,在正式过滤规则对常规数据进行过滤失败的情况下,根据常规数据提取第三临时过滤规则;根据第三临时过滤规则对常规数据进行过滤。
上述正式过滤规则对常规数据进行过滤失败,则说明该常规数据过滤失败,可以重新过滤一次,也可以直接根据该常规数据生成第三临时过滤规则,并根据第三临时过滤规则进行过滤。需要说明的是,上述根据常规数据生成上述第三临时过滤规则,可以与根据非常规数据的文件名生成上述第二临时过滤规则相同。从而能够从多种情况对数据的过滤规则进行确定,并进行过滤,提高了过滤的准确度和过滤效率。
需要说明的是,本实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式提出了一种基于URL特征的过滤方法,弥补了传统过滤技术无法提供深层次逻辑去重的不足,同时提出了一种基于URL特征的过滤装置。
本实施方式提出了一种基于URL特征的过滤方法与装置,旨在满足部分聚焦爬虫对于URL深层次逻辑过滤的需求,提升对“重复”URL的识别与过滤精度,避免网络资源的浪费,提升爬虫效率。
本实施方式提出的算法主要包含两方面的内容:对动态URL的过滤算法和对静态URL的过滤算法
对动态URL的过滤算法:
图2是根据本发明实施方式的动态URL临时过滤规则提取的流程图,如图2所示,动态URL(统一资源定位符,Uniform Resource Locator,又称网页地址),或称之为动态网址,通常是带有参数的URL。动态URL只是一个逻辑地址,并不存在于真实的服务器中。对其进行过滤操作时首先需要根据其特征提取临时过滤规则,流程如下:
1、首先提取URL中的参数信息:
漏扫爬虫在页面上爬取到的动态URL通常会包含给定的参数,并且参数会以“key=value”的形式给出,例如:http://www.test.com/?a=1&b=2其中“a=1”和“b=2”便是提取出的参数。
2、识别参数的特征,提取临时过滤规则:
本实施方式中将URL参数的value分为4类:数字型、哈希型、字符型和其他型。
具体含义如下:
1)数字型(int):由纯数字构成。
例如:“123”,“123456”等;
2)字符型(str):由纯英文字母构成(包含大小写)。
例如:“params”,“Message”等;
3)哈希型(hash):hash串和uuid形式的内容。
例如:“8ee04176f69c10ca56f2358d51d792ed”,“4fc15968-c4aa-11e9-9909-00505698e6f0”等;
4)混合型(mix):不属于以上三种类型的其余类型。
例如:“参数”,“This_are_params”等。
然后可以进一步划分参数功能,将提取到的参数分为控制型参数(control)和数据型参数(data)。其中控制型参数是能够对代码逻辑造成影响的关键字或命令行,数据型参数则是作为数据使用,不影响代码逻辑的操作数。控制型参数包括长度为10以内的字符型参数,其余类型为数据型参数。
将数据型参数进行泛化处理,控制型参数保持不变。
若爬虫爬取到了以下URL:
http://fake_domain/test?a=save&b=中文部分
http://fake_domain/test?a=save&b=1234456
http://fake_domain/test?a=save&b=xxxx@gmail.com
http://fake_domain/test?a=save&b=f95df1d4d3c89392f1fd920787bb7303
http://fake_domain/test?a=GoToTheNextPage&b=1
则对应的临时过滤规则分别为:
http://fake_domain/test?a=save&b={mix}
http://fake_domain/test?a=save&b={int}
http://fake_domain/test?a=save&b={mix}
http://fake_domain/test?a=save&b={hash}
http://fake_domain/test?a={str}&b={int}
得到URL的临时过滤规则后,将其纳入到临时过滤规则库中。在爬虫工作的过程中,分别对爬取到的每一条URL进行参数泛化并提取临时过滤规则,并记录该临时过滤规则的命中次数,若达到设定的阈值,则可作为正式过滤规则加入到过滤操作中。
对静态URL的过滤算法:
图3是根据本发明实施方式的静态URL临时过滤规则提取的流程图,如图3所示,静态URL是服务器上真实存在的一个文件,每个URL都是一个独立的文件,如http://fake_domain/index.html便是一个静态URL,指向站点web根目录下的index.html文件。因此,静态URL的过滤主要是对其文件名的过滤。
本实施方式将文件名的命名规则分为常规型和非常规型:
1)非常规型。
非常规型的文件名主要是包含某些特殊序列的文件名,如:
a)包含数字序列的文件名,如“xxx1.html”,“xxx123.html”等;
b)包含日期或时间戳命名的文件名。如“xxx20190101”,“xxx2019-01-01”,“xxx1546272000”等;
c)包含哈希数值的文件名。如“fake8ee04176f69c10ca56f2358d51d792ed”等。
2)常规型。
不属于以上各类的其他文件名。如“index”“history”“link_us”等
对于非常规型的文件名,在扫描的过程中分析其特征并提取临时过滤规则,对于常规型文件名则直接将对应URL加入到正式过滤规则中进行过滤。
若爬虫爬取到了以下URL:
http://fake_domain/index.jsp
http://fake_domain/news_20190101.html
http://fake_domain/news_2019_01_01.html
则对应的规则分别为:
正式过滤规则:http://fake_domain/index.html
临时过滤规则:http://fake_domain/news_{date}.html
本实施方式提出了两种类型的规则:临时过滤规则和正式过滤规则,存放这两类规则的装置为临时过滤规则库和正式过滤规则库。
临时过滤规则只有统计作用,并不能参与到去重的步骤,但是当临时过滤规则达到一定的命中次数后,便可以转化为正式过滤规则。
正式过滤规则参与去重步骤,当命中时,判定对应的URL“重复”,不予处理。
图4是根据本发明实施方式的临时过滤规则过滤的流程图,如图4所示,临时过滤规则库的过滤流程如下:
爬虫爬取到新的URL数据,从爬取到的URL数据中提取临时过滤规则,确定提取的临时过滤规则是否存在于临时过滤规则库中,在提取的临时过滤规则不存在于临时过滤规则库的情况下,将上述提取的临时过滤规则加入上述临时过滤规则库中。在提取的临时过滤规则存在于临时过滤规则库的情况下,对该临时过滤规则的命中次数加一,判断该临时过滤规则的命中次数是否达到阈值,在临时过滤规则的命中次数达到上述阈值的情况下,将临时过滤规则加入正式过滤规则库。在临时过滤规则的命中次数未达到上述阈值的情况下,结束对该URL数据的过滤。
正式过滤规则库中的规则可以在扫描前由用户具体配置,也可以在扫描过程中由爬虫模块自动生成。
图5是根据本发明实施方式的正式过滤规则过滤的流程图,如图5所示,正式过滤规则库的过滤流程如下:
爬虫爬取到新的URL数据,确定上述URL数据是否命中正式过滤规则库,也即是URL数据的数据结构是否能够在正式过滤规则库中找到对应的正式过滤规则,在找到的情况下,确定上述URL数据命中正式过滤规则库,确定上述URL数据重复,直接将上述URL数据丢弃。在未找到的情况下,上述URL数据未命中正式过滤规则库,根据上述URL数据提取对应的临时过滤规则,并进行相关的过滤操作。
图6是根据本发明实施方式的过滤装置的示意图,如图6所示,本实施方式提出的基于URL特征的过滤装置如下:
上述过滤装置包括临时过滤规则提取单元和正式过滤规则过滤单元。临时过滤规则提取单元提取的临时过滤规则可以存储在临时数据库中,并在临时过滤规则的命中次数超过阈值的情况下,将临时过滤规则加入正式过滤规则库。
选取经典的web漏洞扫描器爬虫的应用场景作为举例分析:扫描器在扫描一个论坛时,论坛用户的消息回复页面有数百页,命名格式为:http://xxx/user/index.jsp?page=1,这些页面对于漏洞审计来说无意义。针对这种情况,本发明可提取临时过滤规则http://xxx/user/index.jsp?page={int},并限定命中次数,从而避免了大量重复页面的爬取,提升爬行与扫描效率。
本实施方式提出了一种基于URL特征的过滤方法,弥补了传统过滤技术无法提供深层次逻辑去重的不足。
图7是根据本发明实施例的一种数据过滤装置的示意图,如图7所示,根据本发明实施例的另一方面,还提供了一种数据过滤装置,包括:确定模块72,生成模块74和过滤模块76,下面对该装置进行详细说明。
确定模块72,用于确定数据的类型,其中,数据的类型包括静态数据和动态数据;生成模块74,与上述确定模块72相连,用于在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;过滤模块76,与上述生成模块74相连,用于根据第一临时过滤规则,对动态数据进行过滤。
通过上述装置,采用确定模块72确定数据的类型,其中,数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;生成模块74在数据为动态数据的情况下,根据动态数据生成第一临时过滤规则;过滤模块76根据第一临时过滤规则,对动态数据进行过滤的方式,通过对不同数据类型的数据进行不同的过滤方式,对动态数据生成临时过滤规则进行过滤,达到了对各种数据类型的数据进行有效过滤的目的,从而实现了提高过滤效率的技术效果,进而解决了相关技术中的过滤方式,效率低下,严重依赖人工技术问题。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述中任意一项数据过滤方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项数据过滤方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据过滤方法,其特征在于,包括:
确定数据的类型,其中,所述数据的类型包括数据保持不变的静态数据和数据会在不同条件下发生变化的动态数据;
在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则;
根据所述第一临时过滤规则,对所述动态数据进行过滤。
2.根据权利要求1所述的方法,其特征在于,根据所述动态数据生成第一临时过滤规则包括:
提取所述动态数据中的动态部分信息,其中,所述动态数据包括保持不变的静态部分和发生变化的动态部分;
识别所述动态部分信息的参数特征,划分参数类型;
对不同参数类型的动态数据进行不同的处理,以确定所述参数类型对应的第一临时过滤规则。
3.根据权利要求2所述的方法,其特征在于,所述动态数据的参数类型包括控制型参数和数据型参数,其中,所述控制型参数是能够对代码逻辑造成影响的数据,数据型参数是为数据使用,不影响代码逻辑的操作数;
对不同参数类型的动态数据进行不同的处理,以确定所述参数类型对应的第一临时过滤规则包括:
根据所述控制型参数,确定所述控制型参数对应的第一临时过滤规则;
对所述数据型参数进行泛化处理,确定所述数据型参数对应的第一临时过滤规则。
4.根据权利要求1所述的方法,其特征在于,在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则之后,还包括:
将所述第一临时过滤规则存储在临时过滤规则库中;
在对所述数据进行筛选的过程中,记录所述第一临时过滤规则的命中次数;
在所述第一临时过滤规则的命中次数超过预设值的情况下,将所述第一临时过滤规则作为正式过滤规则。
5.根据权利要求1所述的方法,其特征在于,在所述数据为静态数据的情况下,判断所述静态数据是否为具有历史过滤数据中出现预设频率以上的数据结构的常规数据,
在所述静态数据为常规数据的情况下,调用正式过滤规则对所述常规数据进行过滤;
在所述静态数据为非常规数据的情况下,根据所述非常规数据生成第二临时过滤规则;
根据所述第二临时过滤规则对所述非常规数据进行过滤。
6.根据权利要求5所述的方法,其特征在于,根据所述非常规数据生成第二临时过滤规则包括:
提取所述静态数据的文件名;
识别所述文件名中的文件名特征;
根据所述文件名特征,确定所述第二临时过滤规则。
7.根据权利要求5所述的方法,其特征在于,在所述静态数据为常规数据的情况下,调用正式过滤规则对所述常规数据进行过滤,
在所述正式过滤规则对所述常规数据进行过滤失败的情况下,根据所述常规数据提取第三临时过滤规则;
根据所述第三临时过滤规则对所述常规数据进行过滤。
8.一种数据过滤装置,其特征在于,包括:
确定模块,用于确定数据的类型,其中,所述数据的类型包括静态数据和动态数据;
生成模块,用于在所述数据为动态数据的情况下,根据所述动态数据生成第一临时过滤规则;
过滤模块,用于根据所述第一临时过滤规则,对所述动态数据进行过滤。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述数据过滤方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述数据过滤方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911360775.9A CN111191098B (zh) | 2019-12-25 | 2019-12-25 | 数据过滤方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911360775.9A CN111191098B (zh) | 2019-12-25 | 2019-12-25 | 数据过滤方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191098A true CN111191098A (zh) | 2020-05-22 |
CN111191098B CN111191098B (zh) | 2022-10-18 |
Family
ID=70709424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911360775.9A Active CN111191098B (zh) | 2019-12-25 | 2019-12-25 | 数据过滤方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191098B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870480A (zh) * | 2012-12-12 | 2014-06-18 | 财团法人资讯工业策进会 | 动态数据遮罩方法以及数据库系统 |
CN104899219A (zh) * | 2014-03-06 | 2015-09-09 | 携程计算机技术(上海)有限公司 | 伪静态url的筛除方法、系统及网页爬取方法、系统 |
CN104951539A (zh) * | 2015-06-19 | 2015-09-30 | 成都艾尔普科技有限责任公司 | 互联网数据中心有害信息监测系统 |
CN106446707A (zh) * | 2016-08-31 | 2017-02-22 | 北京明朝万达科技股份有限公司 | 一种数据动态防泄漏系统及方法 |
WO2017107713A1 (zh) * | 2015-12-25 | 2017-06-29 | 深圳四博智联科技有限公司 | 一种基于wifi的实时动态跟踪方法和系统 |
CN108388796A (zh) * | 2018-02-24 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 动态域名验证方法、系统、计算机设备和存储介质 |
-
2019
- 2019-12-25 CN CN201911360775.9A patent/CN111191098B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870480A (zh) * | 2012-12-12 | 2014-06-18 | 财团法人资讯工业策进会 | 动态数据遮罩方法以及数据库系统 |
CN104899219A (zh) * | 2014-03-06 | 2015-09-09 | 携程计算机技术(上海)有限公司 | 伪静态url的筛除方法、系统及网页爬取方法、系统 |
CN104951539A (zh) * | 2015-06-19 | 2015-09-30 | 成都艾尔普科技有限责任公司 | 互联网数据中心有害信息监测系统 |
WO2017107713A1 (zh) * | 2015-12-25 | 2017-06-29 | 深圳四博智联科技有限公司 | 一种基于wifi的实时动态跟踪方法和系统 |
CN106446707A (zh) * | 2016-08-31 | 2017-02-22 | 北京明朝万达科技股份有限公司 | 一种数据动态防泄漏系统及方法 |
CN108388796A (zh) * | 2018-02-24 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 动态域名验证方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111191098B (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737423B (zh) | 基于网页关键内容相似性分析的钓鱼网站发现方法及系统 | |
CN102957664B (zh) | 一种识别钓鱼网站的方法及装置 | |
CN102779249A (zh) | 恶意程序检测方法及扫描引擎 | |
CN107368856B (zh) | 恶意软件的聚类方法及装置、计算机装置及可读存储介质 | |
CN110351280A (zh) | 一种威胁情报提取的方法、系统、设备及可读存储介质 | |
CN103888490A (zh) | 一种全自动的web客户端人机识别的方法 | |
CN110691080A (zh) | 自动溯源方法、装置、设备及介质 | |
CN105589943A (zh) | 搜索结果页面的图片适应性处理的方法、装置和服务器 | |
CN102682011B (zh) | 建立域名描述名称信息表、搜索的方法、装置及系统 | |
CN110647896A (zh) | 一种基于logo图像的钓鱼页面识别方法及相关设备 | |
CN107832333A (zh) | 基于分布式处理和dpi数据构建用户网络数据指纹的方法和系统 | |
CN106649308B (zh) | 一种分词词库更新方法及系统 | |
CN110008701B (zh) | 基于elf文件特征的静态检测规则提取方法及检测方法 | |
CN110163013B (zh) | 一种检测敏感信息的方法和设备 | |
CN109284465B (zh) | 一种基于url的网页分类器构建方法及其分类方法 | |
CN111191098B (zh) | 数据过滤方法及装置 | |
CN107220262B (zh) | 信息处理方法和装置 | |
Zaman et al. | Phishing website detection using effective classifiers and feature selection techniques | |
CN112492606A (zh) | 垃圾短信的分类识别方法、装置、计算机设备及存储介质 | |
CN115314271B (zh) | 一种访问请求的检测方法、系统及计算机存储介质 | |
JP7031438B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
KR101125083B1 (ko) | 웹 컨텐츠 스크랩 시스템 및 그 방법 | |
CN114168860A (zh) | 一种基于网络特征的暗网站点用户关联方法及装置 | |
KR101005871B1 (ko) | 대용량 웹로그마이닝 및 공격탐지를 위한 비트리인덱스벡터기반 웹로그 복구방법 | |
CN111163053A (zh) | 一种恶意url检测方法及系统 |
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 |