一种URL地址的解析方法和系统与流程

文档序号:11517940阅读:301来源:国知局
一种URL地址的解析方法和系统与流程

本发明涉及数据处理领域,特别涉及一种url地址的解析方法和系统。



背景技术:

在移动互联网迅猛发展,每天都有海量的上网日志产生,其中蕴含着海量的知识和用户行为信息,越来越多的数据需要进行分析、挖掘和学习,这样就给传统dpi技术带来了严峻的考验。dpi技术的主要是通过对网络业务的识别,对网络业务占用资源情况进行分析,了解和跟踪不同业务流量的发展变化趋势和网络资源的占用情况,为流量分析、网络规划、用户行为分析和网络资源的管理提供依据,实现对网络业务应用的精细化管理,综合平衡用户的各种业务体验,发挥出现有网络的最大效益。传统dpi技术是对报文内容和协议特征进行检测的,通过常用的特征识别、关联识别、行为识别等技术来实现应用分析、用户分析、网元分析、流量管控、安全保障等功能。传统dpi技术面对爆炸式数据增长的压力,具有以下的问题:

1、海量的上网日志日积月累,导致解析覆盖范围能力不足;加之现有对报文内容和协议特征进行检测机制也会影响解析的精准程度。

2、由于检测机制的限制,使得解析深度不足,无法识别用户的具体行为,例如浏览的具体内容、电商的具体内容操作行为、内容搜索的具体行为等。

3、当前dpi技术的检测对比规则库是采用人工拨测的方式收集,人工成本高,自动化程度很低,工作效率低,规则库的不足也影响了解析的覆盖范围。



技术实现要素:

本发明提供了一种url地址的解析方法和系统,解决了当前dpi技术解析覆盖范围少,深度不足,生产效率低等问题。

第一方面,本发明实施例提供了一种url地址的解析方法,方法包括以下步骤:

步骤1,建立规则库,所述规则库中包括预设的至少一个分类规则;

步骤2,获取上网日志数据包含的url地址;

步骤3,读取所述至少一个分类规则;

步骤4,采用并行处理方法调用所述至少一个分类规则对所述url地址进行解析,生成所述url地址对应的分类结果;

步骤5,输出所述分类结果。

本发明提出了一种url地址的解析方法,可以根据解析类型自动形成对应的分类规则并建立规则库,然后采用并行处理方式调用规则库中的至少一个分类规则对url地址进行解析,从而生成分类结果,不仅提升了解析检测的覆盖范围、提高了解析的精准程度,而且完善了深度解析的能力、大大降低了规则库拨测的成本,具有高效、低成本的优势。

进一步,所述分类规则包括噪音匹配规则、app分类规则、url分类规则、搜索引擎匹配规则、动作匹配规则和自定义规则。

上述优选实施例通过建立包括多个分类规则的规则库,可以对各种类型的url地址进行解析,并生成对应的分类结果,从而提高本发明的应用范围,也提高了解析的成功率。

第二方面,本发明提供了一种url地址的解析系统,包括建立模块、获取模块、读取模块、解析模块和输出模块,

所述建立模块用于建立规则库,所述规则库中包括预设的至少一个分类规则;

所述获取模块用于获取上网日志数据包含的url地址;

所述读取模块用于读取所述至少一个分类规则;

所述解析模块用于采用并行处理方法调用所述至少一个分类规则对所述url地址进行解析,生成所述url地址对应的分类结果;

所述输出模块用于输出所述分类结果。

本发明提出了一种基于上网日志数据中url地址的解析系统,可以根据解析类型自动形成对应的分类规则并建立规则库,然后采用并行处理方式调用规则库中的至少一个分类规则对url地址进行解析,从而生成分类结果,不仅提升了解析检测的覆盖范围、提高了解析的精准程度,而且完善了深度解析的能力、大大降低了规则库拨测的成本,具有高效、低成本的优势。

进一步,所述分类规则包括噪音匹配规则、app分类规则、url分类规则、搜索引擎匹配规则、动作匹配规则和自定义规则。

上述优选实施例通过建立包括多个分类规则的规则库,可以对各种类型的url地址进行解析,并生成对应的分类结果,从而提高本发明的应用范围,也提高了解析的成功率。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为实施例1提供的一种url地址的解析方法的流程性示意图;

图2为实施例2提供的一种url地址的解析方法中建立包含app分类规则的规则库的流程性示意图;

图3为实施例3提供的一种url地址的解析方法中步骤3的流程性示意图;

图4为实施例4提供的一种url地址的解析系统的结构性示意图;

图5为实施例5提供的一种url地址的解析系统中规则更新模块的结构性示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

图1为实施例1提供的一种url地址的解析方法的流程性示意图,如图1所示,方法包括以下步骤:

步骤1,建立规则库,所述规则库中包括预设的至少一个分类规则;

步骤2,获取上网日志数据包含的url地址;

步骤3,读取所述至少一个分类规则;

步骤4,采用并行处理方法调用所述至少一个分类规则对所述url地址进行解析,生成所述url地址对应的分类结果;

步骤5,输出所述分类结果。

本实施例提出了一种基于上网日志数据中url地址的解析方法,可以根据解析类型自动形成对应的分类规则并建立规则库,然后采用并行处理方式调用规则库中的至少一个分类规则对url地址进行解析,从而生成分类结果,不仅提升了解析检测的覆盖范围、提高了解析的精准程度,而且完善了深度解析的能力、大大降低了规则库拨测的成本,具有高效、低成本的优势。

优选实施例中,所述分类规则包括噪音匹配规则、app分类规则、url分类规则、搜索引擎匹配规则、动作匹配规则和自定义规则等等。所述噪音匹配规则用于判断所述url地址是否为噪音;所述app分类规则用于判断所述url地址是否是app对应的url地址,若是,则对url地址对应的app进行分类;所述url分类规则用于判断所述url地址是否是网页对应的url地址,若是,则对url地址按照网页域名或者网页的栏目信息进行分类;所述搜索引擎匹配规则用于对url地址进行分析,生成产生url地址的具体搜索引擎信息;所述动作匹配规则用于对所述url地址进行分析,获取用户的行为信息,比如用户收藏商品行为、放入购物车行为、支付行为等等;所述自定义规则为根据用户需要获取的分类结果自定义的规则,比如通过自定义规则对所述url地址进行解析,可以生成端口号、公众号名称等等。通过建立包括多个分类规则的规则库,可以对各种类型的url地址进行解析,并生成对应的分类结果,从而提高本发明的应用范围,也提高了解析的成功率。

具体实施例中,可以设置爬取任务和具体的爬取策略,然后通过网络爬虫服务自动爬取建立每个分类规则所需要的数据,从而建立分类规则和规则库,大大降低了人工拨测的成本,提高了生产效率。具体的,比如通过网络爬虫服务从互联网系统中爬取网页的内容信息,通过内容信息对url进行分类形成url分类规则;或者通过网络爬虫服务抓取app的特征url,结合从app商店中爬取的app分类,形成app分类规则;或者通过网络爬虫服务抓取搜索引擎的特征关键词,形成搜索引擎匹配规则;或者通过网络爬虫服务抓取电商数据,形成动作匹配规则等等。优选实施例中,还可以对网络爬虫的数据爬取服务进行监控管理,监控爬虫的运行状态及集群资源情况,进一步提高数据爬取效果。以下通过一个具体的实施例进行说明。

图2为实施例2提供的一种url地址的解析方法中建立包含app分类规则的规则库的流程性示意图,如图2所示,包括以下步骤:

s001,获取app名称,根据所述app名称检索预设app商店中对应的app分类信息和app地址信息;

s002,爬取所述app分类信息,并将所述app分类信息和所述app名称统一,然后将所述app分类信息和所述app名称归并到现有app分类体系;

s003,解析所述app地址信息,获取所述app的下载地址,并将下载后app安装到虚拟机上;

s004,利用模拟器模拟所述app的点击动作,通过网卡监听并获取所述app的动作请求;

s005,判断是否成功获取所述动作请求,若是,则获取所述动作请求产生的url,并将所述url与所述app分类信息、所述app名称关联后形成第一app分类规则,然后向预设客户端发送审核请求,并执行s006;若否,则执行s007;

s006,判断是否获取审核通过指令,若是,则将所述第一app分类规则加入到当前规则库,若否,则执行s007;

s007,生成手工梳理指令,并获取手工梳理完成的第二app分类规则,然后将所述第二app分类规则加入到当前规则库。

上述优选实施例将自动生成app分类规则和手动生成app分类规则相结合,不仅提高了规则库的建立速度,从而提高了解析效率,同时丰富了app分类规则的内容和完整性,进一步提高了解析的成功率。

图3为实施例3提供的一种url地址的解析方法中步骤3的流程性示意图,如图3所示,所述步骤3具体包括以下步骤:

s301,从所述规则库中读取预设的至少一个分类规则,并将所述至少一个分类规则中每个分类规则均加载到数据缓存模块中;

s302,建立与每个分类规则对应的字典树,并将所述字典树保存在所述数据缓存模块中。

上述优选实施例中,数据缓存模块接收到分类规则时会在内存中开辟一定的空间,建立对应的字典树来动态存储所述分类规则,字典树可以利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,从而进一步提高步骤4的解析效率。

所述实施例3中,步骤4具体为:采用map/reduce并行方式依次遍历每个分类规则对应的字典树,直到生成所述url地址对应的分类结果或者所有的字典树都遍历完毕。比如当所述分类规则包括噪音匹配规则、app分类规则、url分类规则、搜索引擎匹配规则、动作匹配规则和自定义规则时,可以按照任意顺序依次采用上述规则对所述url地址进行解析,直到解析成功生成分类结果,或者全部分类规则都解析完毕。

上述优选实施例采用一种基于hadoopmap/reduce并行算法的解析引擎,解析引擎利用字典树存储分类规则,并利用hadoop并行运算的能力实现了字典树的并行遍历。使用这种解析引擎即节省了内存资源的消耗,又具有很高匹配效率,使得解析速度更快,解析效率更高。

优选实施例中,步骤4中,当与规则库中的任何分类规则都没有匹配成功时,还会生成解析错误或者无法识别等解析结果,步骤5中还会输出解析错误信息、无法识别信息以及分类结果信息,并将上述信息写入hdfs的文件中。

优选实施例中,若遍历所有的字典树后没有获取到分类结果,则将所述url地址设定为未识别url地址,并输出所述未识别url地址。然后可以采用所述未识别url地址对url分类规则进行更新,具体包括以下步骤:

s501,获取所述未识别url地址,并采用爬虫对所述未识别url地址进行爬取生成目标url地址;

s502,获取所述目标url地址中的域名信息,查询预设样本规则判断能否获取与所述域名信息对应的第一url分类结果,若可以,则将所述目标url地址和所述第一url分类结果加入到当前url分类规则,若不可以,则执行s503;

s503,获取所述目标url地址中的栏目类别信息,查询预设样本规则判断能否获取与所述栏目类别信息对应的第二url分类结果,若可以,则将所述目标url地址和所述第二url分类结果加入到当前url分类规则,若不可以,则执行s504;

s504,提取所述目标url地址的预设目标信息,比如提取所述目标url地址的head、meta及正文内容,然后对所述预设目标信息进行分词处理,并提取特征词,比如采用tf-idf算法提取特征词;然后计算所述特征词与所述预设样本规则中每个url分类结果的相似度,并获取所述特征词对应的相似度最高的第三url分类结果,将所述目标url地址和所述第三url分类结果加入到当前url分类规则。

上述优选实施例利用机器学习算法,使得规则库具有不断学习,自动更新的能力,从而进一步减少人工拨测的工作成本,提高了生产效率。

图4为实施例4提供的一种url地址的解析系统的结构性示意图,如图4所示,包括建立模块、获取模块、读取模块、解析模块和输出模块,

所述建立模块用于建立规则库,所述规则库中包括预设的至少一个分类规则;

所述获取模块用于获取上网日志数据包含的url地址;

所述读取模块用于读取所述至少一个分类规则;

所述解析模块用于采用并行处理方法调用所述至少一个分类规则对所述url地址进行解析,生成所述url地址对应的分类结果;

所述输出模块用于输出所述分类结果。

本实施例提出了一种基于上网日志数据中url地址的解析系统,可以根据解析类型自动形成对应的分类规则并建立规则库,然后采用并行处理方式调用规则库中的至少一个分类规则对url地址进行解析,从而生成分类结果,不仅提升了解析检测的覆盖范围、提高了解析的精准程度,而且完善了深度解析的能力、大大降低了规则库拨测的成本,具有高效、低成本的优势。

优选实施例中,所述读取模块具体包括:

加载单元,用于从所述规则库中读取预设的至少一个分类规则,并将所述至少一个分类规则中每个分类规则均加载到数据缓存模块中;

字典树建立单元,用于建立与每个分类规则对应的字典树,并将所述字典树保存在所述数据缓存模块中。

上述优选实施例中,数据缓存模块接收到分类规则时会在内存中开辟一定的空间,建立对应的字典树来动态存储所述分类规则,字典树可以利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,从而进一步提高了解析效率。

上述优选实施例中,所述解析模块具体用于采用map/reduce并行方式依次遍历每个分类规则对应的字典树,直到生成所述url地址对应的分类结果或者所有的字典树都遍历完毕。上述优选实施例采用一种基于hadoopmap/reduce并行算法的解析引擎,解析引擎利用字典树存储分类规则,并利用hadoop并行运算的能力实现了字典树的并行遍历。使用这种解析引擎即节省了内存资源的消耗,又具有很高匹配效率,使得解析速度更快,解析效率更高。

优选实施例中,所述解析模块还用于若遍历所有的字典树后没有获取到分类结果,则将所述url地址设定为未识别url地址,并输出所述未识别url地址。此时,所述解析系统还包括规则更新模块,所述规则更新模块用于采用所述未识别url地址对url分类规则进行更新。图5为实施例5提供的一种url地址的解析系统中规则更新模块的结构性示意图,如图5所示,所述规则更新模块具体包括:

第一爬虫单元,用于获取所述未识别url地址,并采用爬虫对所述未识别url地址进行爬取生成目标url地址;

第一分类单元,用于获取所述目标url地址中的域名信息,查询预设样本规则判断能否获取与所述域名信息对应的第一url分类结果,若可以,则将所述目标url地址和所述第一url分类结果加入到当前url分类规则,若不可以,则驱动第二分类单元;

第二分类单元,用于获取所述目标url地址中的栏目类别信息,查询预设样本规则判断能否获取与所述栏目类别信息对应的第二url分类结果,若可以,则将所述目标url地址和所述第二url分类结果加入到当前url分类规则,若不可以,则驱动第三分类单元;

所述第三分类单元,用于提取所述目标url地址的预设目标信息,对所述预设目标信息进行分词处理,并提取特征词;然后计算所述特征词与所述预设样本规则中每个url分类结果的相似度,并获取所述特征词对应的相似度最高的第三url分类结果,将所述目标url地址和所述第三url分类结果加入到当前url分类规则。

上述优选实施例利用机器学习算法,使得规则库具有不断学习,自动更新的能力,从而进一步减少人工拨测的工作成本,提高了生产效率。

优选实施例中,所述规则库中包括app分类规则,此时,所述建立模块包括建立单元,所述建立单元用于建立包含所述app分类规则的规则库,所述建立单元具体包括:

第一获取单元,用于获取app名称,根据所述app名称检索预设app商店中对应的app分类信息和app地址信息;

第二爬虫单元,用于爬取所述app分类信息,并将所述app分类信息和所述app名称统一,然后将所述app分类信息和所述app名称归并到现有app分类体系;

下载单元,用于解析所述app地址信息,获取所述app的下载地址,并将下载后app安装到虚拟机上;

第二获取单元,用于利用模拟器模拟所述app的点击动作,通过网卡监听并获取所述app的动作请求;

控制单元,用于判断是否成功获取所述动作请求,若是,则获取所述动作请求产生的url,并将所述url与所述app分类信息、所述app名称关联后形成第一app分类规则,然后向预设客户端发送审核请求,并驱动自动加入单元;若否,则驱动手动加入单元;

自动加入单元,用于获取审核通过指令后,将所述第一app分类规则加入到当前规则库;

手动加入单元,用于生成手工梳理指令,并获取手工梳理完成的第二app分类规则,然后将所述第二app分类规则加入到当前规则库。

上述优选实施例将自动生成app分类规则和手动生成app分类规则相结合,不仅提高了规则库的建立速度,从而提高了解析效率,同时丰富了app分类规则的内容和完整性,进一步提高了解析的成功率。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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