本发明实施例涉及互联网技术领域,尤其涉及一种互联网访问日志解析方法及装置。
背景技术:
随着大数据在业界的广泛引入,基础数据的采集越来越重要。互联网访问日志作为0域数据中重要的组成部分,对其进行解析,分类是很有必要的。由于访问日志量大,很难对管道中的数据进行全量处理,且大量移动端应用的后台通信都采用了http协议进行通信。因此,目前的互联网日志解析的重点放在对http日志解析上面。
在对http协议日志的解析过程中,现有技术通常针对域名、流量等数据进行解析,其流程如下:1)为不同统一资源标识符(uniformresourceidentifier,uri)与其所对应的网站、应用建立一一对应的规则库,并定期对该规则库进行更新。2)从数据源逐条读取日志,与规则库中的记录进行比对,从而确认访问目标地址,并得到用户访问资源的编码。3)通过爬虫爬取指定网站中对应资源的具体编码以及相关信息,如根据图书编码爬取图书的作者图书名等基本信息。4)将用户的访问记录与爬虫爬取的资源信息,输出到数据仓库中;对于不包含具体资源信息的访问记录,统一输出到访问记录数据仓库。
现有技术的解析方式会频繁的通过爬虫爬取资源信息,而且无法及时对网络热点进行及时更新,滞后的规则更新会使分析结果与事实产生偏差,从而导致资源浪费,且效率较低。
技术实现要素:
本发明实施例提供一种互联网访问日志解析方法及装置,用以解决现有技术的解析方式会频繁的通过爬虫爬取资源信息,而且无法及时对网络热点进行及时更新,滞后的规则更新会使分析结果与事实产生偏差,从而导致资源浪费,且效率较低。
第一方面,本发明实施例提供了一种互联网访问日志解析方法,包括:
采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
第二方面,本发明实施例提供了一种用于互联网访问日志解析的装置,包括:
采集模块,用于采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
知识库模块,用于根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
数据仓库模块,用于将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
第三方面,本发明实施例还提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线;其中,
所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;
所述通信接口用于该电子设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:
采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:
采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
本发明实施例提供的互联网访问日志解析方法及装置,通过访问日志的uri得到所述域、规则和资源编码,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
附图说明
图1为本发明实施例的互联网访问日志解析方法流程图;
图2为本发明实施例的另一互联网访问日志解析方法流程图;
图3为本发明实施例的又一互联网访问日志解析方法流程图;
图4为本发明实施例的还一互联网访问日志解析方法流程图;
图5为本发明实施例的用于互联网访问日志解析的装置结构示意图;
图6为本发明实施例的另一用于互联网访问日志解析的装置结构示意图;
图7为本发明实施例的又一用于互联网访问日志解析的装置结构示意图;
图8示例了一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的互联网访问日志解析方法流程图,如图1所示,所述方法包括:
步骤s01、采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码。
从网络中采集用户在网上发送的网络数据,即访问日志,具体可以采集用户上网时发送80端口的数据包。所述访问日志包括用户信息,以及用户访问的源地址,源端口,目标地址,目标端口,uri,访问时间等信息。
在实际的应用过程中,可以将采集到的所有访问日志均写入到开源流处理平台中,例如kafka。然后再根据需要依次从kafka中提取出每条访问日志来进行处理。从而使数据处理更加可靠、有效,降低了处理时延。
步骤s03、根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应。
为了能够更加方便有效得在得到每条访问日志对应的网页的页面信息,需要建立至少一个知识库,并建立域名、规则与知识库的对应关系,使每个知识库都对应于至少一组域名和规则。而每个知识库中都存有预先由爬虫从网络上爬取的大量网页的页面信息,并根据每个访问页面对应的域名和资源编码,建立所述页面信息与域名host、资源编码的对应关系。
根据访问日志中uri的域名和规则可以得到对应的知识库,然后在所述知识库中根据所述uri的域名和资源编码,查找到对应的页面信息。
步骤s04、将所述页面信息与所述用户信息合并为访问记录后存入数据仓库中。
将得到的页面信息与对应的uri所在访问日志包含的用户信息相结合,得到一条访问记录,将该访问记录存入数据仓库中。
本发明实施例,通过访问日志的uri得到所述域、规则和资源编码,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
图2为本发明实施例另一互联网访问日志解析方法流程图,如图2所示,所述步骤s01具体为:
步骤s011、采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名和资源编码。
在从kafka提取到的访问日志后,可以直接从所述uri中提取出域名和资源编码,而与所述uri对应的规则,则需要通过下述方式来取得。
步骤s02、若所述域名存在于预存的域名列表中,则从与所述域名的规则列表中查找到与所述uri对应的规则;其中,所述规则列表包括至少一个域名,以及与每个域名对应的至少一种规则。
将所述uri的域名与预存的域名列表进行比对。所述域名列表包括有多个域名,而每个域名对应至少一条规则。所述域名列表可以通过历史数据筛选后得到,也可以是人工建立,在此不作具体限定。
若从uri中提取到的域名没有在所述域名列表中找到,则可直接忽略对应的访问日志不再进行后续处理。另外,也可以将该域名予以记录,然后在后续对系统的更新过程中加入到所述域名列表中。
而若从所述域名列表中找到了所提取的域名,则可以从所述域名列表中得到与所述域名对应的所有规则。
根据预先设定的对应关系,根据所述uri的其它信息,例如,目录信息、访问路径等,可以从与所述域名对应的多条规则中找到一条与所述uri唯一对应的规则。
本发明实施例,通过访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
图3为本发明实施例的又一互联网访问日志解析方法流程图,如图3所示,在所述步骤s011之前所述方法还包括:
步骤s009、根据页面信息的类型,将爬取到的所有页面信息分为预设数量的类,每个类分别与一个知识库和一个数据仓库一一对应,并将每个页面信息存入对应类的知识库中。
为了能够更加方便合理得使用所述知识库和数据仓库,并能够更加高效得从中查找到需要的数据。可以预先根据网络中所有网页包含的页面信息的类型,分为预设数据量的类,例如,图书、视频、论坛、新闻等,具体的分类方法,以及细化程度,可以根据实际的需要进行设置。
进而,分别建立与每个类一一对应的知识库和数据仓库。从而,使每个知识库中仅保存有对应类的页面信息,以及与每个页面信息对应的域名和资源编码的对应关系。而在每个数据仓库中仅保存由对应类的页面信息组成的访问记录。
步骤s010、建立每个页面信息的域名、规则与类的对应关系。
然后,根据爬取到的每个页面信息与类的对应关系,建立域名、规则与类的对应关系。以使,每个类都对应于至少一组域名和规则,而一组域名和规则仅对应一类,而从包含该组域名和规则的uri对应的网页爬取到的页面信息将均被保存在与该类对应的知识库中。例如,若分别爬取到对应于域名a、b、c,规则x、y、z和资源编码i、j、k的网页信息axi、axj、byi、bzk、cxi、cxj、czk,其中所述axi、axj、byi为图书类、所述bzk、cxi、cxj、czk为视频类,则所述域名和规则组合ax、by与图书类对应,所述bz、cx、cz与视频类对应,同时将页面信息axi、axj、byi存入所述图书类知识库中,将所述bzk、cxi、cxj、czk存入所述视频类知识库中。
相应地,所述步骤s03具体为:
步骤s031、根据所述域名和规则得到对应的类,以及与所述类对应的知识库和数据仓库。
在通过上述实施例得到访问日志中uri的域名和规则后,就能够得到与该组域名、规则对应的类,以及所述类对应的知识库和数据仓库,相当于得到了与该组域名和规则对应的知识库和数据仓库。例如,若根据uri得到的域名、规则和资源编码为byi,则可以根据域名、规则组合by得到对应的类为图书类,从而得到与uri对应的为图书类知识库和数据仓库。
步骤s032、根据所述域名和资源编码从所述知识库中找到与所述uri对应的页面信息。
从对应类的知识库中根据所述域名和资源编码,查找到与所述uri对应的页面信息。例如,若根据uri得到的域名、规则和资源编码为byi,则根据域名和资源编码的组合bi,从图书类知识库中查找到对应页面信息即为与所述byi对应的页面信息。
相应地,所述步骤s04具体为:
步骤s041、将所述页面信息与所述用户信息合并为访问记录后存入对应的数据仓库。
然后,将得到的页面信息与所述用户信息合并为一条访问记录,并将该访问记录保存到对应类的数据仓库中。
本发明实施例,通过将页面信息进行分类,并分别对应不同的知识库和数据仓库,然后访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
图4为本发明实施例的还一互联网访问日志解析方法流程图,如图4所示,在所述步骤s031之后所述方法还包括:
步骤s033、若根据所述域名和资源编码没有从对应的知识库中找到与所述uri对应的页面信息,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录。
基于上述的实施例,得到每个uri对应域名和规则,以及对应的知识库。若根据所述域名和资源编码没有在该知识库中找到与所述uri对应的页面信息,则说明还没有爬取过该uri对应的网页的页面信息。此时,可以将该uri对应的访问日志存入待更新列表中,同时在所述对应类的数据仓库中存入一条空记录。
步骤s034、定期从所述待更新列表中依次提取出所述访问日志,并根据所述uri从对应的网页爬取所述页面信息。
定期从所述待更新列表中依次提取出所述访问日志,例如每30分钟,或者1个小时等,具体间隔可以根据实际的需要进行设置,并利用爬虫根据uri从对应的网页爬取其中的页面信息。
步骤s035、将所述页面信息存入与所述类对应的知识库。
然后将爬取到的新的页面信息存入对应类的知识库中,并记录该页面信息与域名、资源编码的对应关系。
本发明实施例,通过访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,若没有找到对应页面内容则将该访问日志存入待更新列表,并定期爬取该访问日志后存入对应的知识库中,从而提高了对于访问日志的解析的效率。
基于上述实施例,进一步地,所述方法还包括:
若没有从所述域名的规则列表中查找到与所述uri对应的规则,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录;相应地,所述将所述页面信息存入与所述类对应的知识库;具体为:
在所述uri的域名下建立新的规则,并更新所述规则列表;
根据所述页面信息,建立所述域名和新的规则与类的对应关系;
将所述页面信息存入与所述类对应的知识库。
若在从所述uri的域名的规则列表中查找与所述uri对应的规则过程中,没有找到需要的规则。则同样可以将对应的访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录。
然后,在定期从待更新列表中爬取该访问日志对应的页面信息后,还需要在所述uri的域名下新建一个与该uri对应的规则,并更新所述域名的规则列表。同时,还要根据爬取到的页面信息得到对应的类,将该组域名、新的规则与该类建立对应关系。然后再将所述页面信息存入到对应类的知识库中。
本发明实施例,通过访问日志的uri若没有得到所述域名下对应的规则,则利用待更新列表,爬取与所述uri对应的页面信息,更新规则列表,并将所述页面信息存入对应类的知识库,从而提高了对于访问日志的解析的效率。
图5为本发明实施例的用于互联网访问日志解析的装置结构示意图,如图5所示,所述装置包括:采集模块10、知识库模块11和数据仓库模块12,其中,
所述采集模块10用于采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;所述知识库模块11用于根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;所述数据仓库模块12用于将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。具体地:
所述采集模块10从网络中采集用户在网上发送的网络数据,即访问日志,具体可以采集用户上网时发送80端口的数据包。所述访问日志包括用户信息,以及用户访问的源地址,源端口,目标地址,目标端口,uri,访问时间等信息。所述采集模块10将采集到的访问日志发送给所述知识库模块。
在实际的应用过程中,所述采集模块10可以将采集到的所有访问日志均写入到开源流处理平台中,例如kafka。然后再根据需要依次从kafka中提取出每条访问日志来进行处理。从而使数据处理更加可靠、有效,降低了处理时延。
为了能够更加方便有效得在得到每条访问日志对应的网页的页面信息,所述知识库模块11需要建立至少一个知识库,并建立域名、规则与知识库的对应关系,使每个知识库都对应于至少一组域名和规则。而每个知识库中都存有预先由爬虫从网络上爬取的大量网页的页面信息,并根据每个访问页面对应的域名和资源编码,建立所述页面信息与域名host、资源编码的对应关系。
所述知识库模块11根据访问日志中uri的域名和规则可以得到对应的知识库,然后在所述知识库中根据所述uri的域名和资源编码,查找到对应的页面信息。
所述数据仓库模块12将由所述知识库模块11得到的页面信息与对应的uri所在访问日志包含的用户信息相结合,得到一条访问记录,将该访问记录存入数据仓库中。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例,通过采集模块10采集到的访问日志的uri得到所述域、规则和资源编码,从而知识库模块11根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库模块12的数据仓库中,从而提高了对于访问日志的解析的效率。
图6为本发明实施例的另一用于互联网访问日志解析的装置结构示意图,如图6所示,所述采集模块10具体用于,采集访问日志,每条访问日志至少包括用户信息和uri;其中,uri至少包括域名和资源编码;相应地,所述装置还包括:解析模块13,其中,
所述解析模块13用于若所述域名存在于预存的域名列表中,则从与所述域名的规则列表中查找到与所述uri对应的规则;其中,所述规则列表包括至少一个域名,以及与每个域名对应的至少一种规则。具体地:
所述解析模块13在从kafka提取到的访问日志后,可以直接从所述uri中提取出域名和资源编码,而与所述uri对应的规则,则需要通过下述方式来取得。
所述解析模块13将所述uri的域名与预存的域名列表进行比对。所述域名列表包括有多个域名,而每个域名对应至少一条规则。
若所述解析模块13从uri中提取到的域名没有在所述域名列表中找到,则可直接忽略对应的访问日志不再进行后续处理。而若从所述域名列表中找到了所提取的域名,则可以从所述域名列表中得到与所述域名对应的所有规则。
所述解析模块13根据预先设定的对应关系,根据所述uri的其它信息,可以从与所述域名对应的多条规则中找到一条与所述uri唯一对应的规则。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例,通过访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
基于上述实施例,进一步地,所述知识库模块11还用于根据页面信息的类型,将爬取到的所有页面信息分为预设数量的类,每个类分别与一个知识库和一个数据仓库一一对应,并将每个页面信息存入对应类的知识库中;建立每个页面信息的域名、规则与类的对应关系;相应地,
所述解析模块13还用于根据所述域名和规则得到对应的类,以及与所述类对应的知识库和数据仓库;所述知识库模块11还用于根据所述域名和资源编码从所述知识库中找到与所述uri对应的页面信息;相应地,所述数据仓库模块12具体用于,将所述页面信息与所述用户信息合并为访问记录后存入对应的数据仓库。
为了能够更加方便合理得使用所述知识库和数据仓库,并能够更加高效得从中查找到需要的数据。所述知识库模块11可以预先根据网络中所有网页包含的页面信息的类型,分为预设数据量的类。
进而,分别在所述知识库模块11和数据仓库模块12建立与每个类一一对应的知识库和数据仓库。从而,使每个知识库中仅保存有对应类的页面信息,以及与每个页面信息对应的域名和资源编码的对应关系。而在每个数据仓库中仅保存由对应类的页面信息组成的访问记录。
然后,所述知识库模块11根据爬取到的每个页面信息与类的对应关系,建立域名、规则与类的对应关系。以使,每个类都对应于至少一组域名和规则,而一组域名和规则仅对应一类,而从包含该组域名和规则的uri对应的网页爬取到的页面信息将均被保存在与该类对应的知识库中。
在通过上述实施例得到访问日志中uri的域名和规则后,所述解析模块13就能够得到与该组域名、规则对应的类,以及所述类对应的知识库和数据仓库,相当于得到了与该组域名和规则对应的知识库和数据仓库。
所述知识库模块11从对应类的知识库中根据所述域名和资源编码,查找到与所述uri对应的页面信息。例如,若根据uri得到的域名、规则和资源编码为byi,则根据域名和资源编码的组合bi,从图书类知识库中查找到对应页面信息即为与所述byi对应的页面信息。
然后,所述数据仓库模块12将得到的页面信息与所述用户信息合并为一条访问记录,并将该访问记录保存到对应类的数据仓库中。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例,通过将页面信息进行分类,并分别对应不同的知识库和数据仓库,然后访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,然后将所述页面内容和用户信息结合后存入到所述数据仓库中,从而提高了对于访问日志的解析的效率。
图7为本发明实施例的又一用于互联网访问日志解析的装置结构示意图,如图7所示,所述装置还包括:待更新模块14、爬虫模块15和更新模块16,其中,
所述待更新模块14用于若根据所述域名和资源编码没有从对应的知识库中找到与所述uri对应的页面信息,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录;所述爬虫模块15用于定期从所述待更新列表中依次提取出所述访问日志,并根据所述uri从对应的网页爬取与所述页面信息;所述更新模块16用于将所述页面信息存入与所述类对应的知识库。具体地:
基于所述解析模块13得到每个uri对应域名和规则,以及对应的知识库。若所述知识库模块11根据所述域名和资源编码没有在该知识库中找到与所述uri对应的页面信息,则说明还没有爬取过该uri对应的网页的页面信息。此时,可以将该uri对应的访问日志存入所述待更新模块14的待更新列表中,同时向所述数据仓库模块12发送一条空记录,从而将该空记录存入到所述对应类的数据仓库中。
所述爬虫模块15定期从所述待更新列表中依次提取出所述访问日志,并利用爬虫根据uri从对应的网页爬取其中的页面信息。
然后由所述更新模块16将爬取到的新的页面信息存入对应类的知识库中,并记录该页面信息与域名、资源编码的对应关系。
本发明实施例提供的装置用于执行上述方法,其功能具体参考上述方法实施例,其具体方法流程在此处不再赘述。
本发明实施例,通过访问日志的uri得到所述域名下对应的规则,从而根据域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面内容,若没有找到对应页面内容则将该访问日志存入待更新列表,并定期爬取该访问日志后存入对应的知识库中,从而提高了对于访问日志的解析的效率。
图8示例了一种电子设备的实体结构示意图,如图8所示,该服务器可以包括:处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
进一步地,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
本领域普通技术人员可以理解:此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种互联网访问日志解析方法,其特征在于,包括:
采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
2.根据权利要求1所述的方法,其特征在于,所述采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;具体为:
采集访问日志,每条访问日志至少包括用户信息和uri;其中,uri至少包括域名和资源编码;
若所述域名存在于预存的域名列表中,则从与所述域名的规则列表中查找到与所述uri对应的规则;其中,所述规则列表包括至少一个域名,以及与每个域名对应的至少一种规则。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据页面信息的类型,将爬取到的所有页面信息分为预设数量的类,每个类分别与一个知识库和一个数据仓库一一对应,并将每个页面信息存入对应类的知识库中;
建立每个页面信息的域名、规则与类的对应关系;相应地,根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;将所述页面信息与所述用户信息合并为访问记录后存入数据仓库;具体为:
根据所述域名和规则得到对应的类,以及与所述类对应的知识库和数据仓库;
根据所述域名和资源编码从所述知识库中找到与所述uri对应的页面信息;
将所述页面信息与所述用户信息合并为访问记录后存入对应的数据仓库。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若根据所述域名和资源编码没有从对应的知识库中找到与所述uri对应的页面信息,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录;
定期从所述待更新列表中依次提取出所述访问日志,并根据所述uri从对应的网页爬取与所述页面信息;
将所述页面信息存入与所述类对应的知识库。
5.根据权利要求4所述方法,其特征在于,所述方法还包括:
若没有从所述域名的规则列表中查找到与所述uri对应的规则,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录;相应地,所述将所述页面信息存入与所述类对应的知识库;具体为:
在所述uri的域名下建立新的规则,并更新所述规则列表;
根据所述页面信息,建立所述域名和新的规则与类的对应关系;
将所述页面信息存入与所述类对应的知识库。
6.一种用于互联网访问日志解析的装置,其特征在于,包括:
采集模块,用于采集访问日志,每条访问日志至少包括用户信息和uri;其中,所述uri至少包括域名、规则和资源编码;
知识库模块,用于根据所述域名和资源编码从与所述域名和规则对应的知识库中找到与所述uri对应的页面信息;其中,所述知识库至少包括一个页面信息和与每个页面信息一一对应的一组域名和资源编码,每个知识库与至少一组域名和规则相对应;
数据仓库模块,用于将所述页面信息与所述用户信息合并为访问记录后存入数据仓库。
7.根据权利要求6所述的装置,其特征在于,所述采集模块具体用于,采集访问日志,每条访问日志至少包括用户信息和uri;其中,uri至少包括域名和资源编码;相应地,所述装置还包括:
解析模块,用于若所述域名存在于预存的域名列表中,则从与所述域名的规则列表中查找到与所述uri对应的规则;其中,所述规则列表包括至少一个域名,以及与每个域名对应的至少一种规则。
8.根据权利要求7所述的装置,其特征在于,所述知识库模块还用于,根据页面信息的类型,将爬取到的所有页面信息分为预设数量的类,每个类分别与一个知识库和一个数据仓库一一对应,并将每个页面信息存入对应类的知识库中;建立每个页面信息的域名、规则与类的对应关系;相应地,
所述解析模块还用于根据所述域名和规则得到对应的类,以及与所述类对应的知识库和数据仓库;
规则知识库模块还用于根据所述域名和资源编码从所述知识库中找到与所述uri对应的页面信息;相应地,
所述数据仓库模块具体用于,将所述页面信息与所述用户信息合并为访问记录后存入对应的数据仓库。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
待更新模块,用于若根据所述域名和资源编码没有从对应的知识库中找到与所述uri对应的页面信息,则将所述uri所在访问日志存入待更新列表中,同时在所述数据仓库中存入一条空记录;
爬虫模块,用于定期从所述待更新列表中依次提取出所述访问日志,并根据所述uri从对应的网页爬取与所述页面信息;
更新模块,用于将所述页面信息存入与所述类对应的知识库。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述互联网访问日志解析方法的步骤。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述互联网访问日志解析方法的步骤。
技术总结