[0046] 以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
[0047] 实施例一
[0048] 如图1-3,本发明一种网络协议地址-地域信息减少重复匹配的方法,包括以下步骤:
[0049] 步骤S1,获取结果日志集文本文件。
[0050] 路由器上报给服务器的海量上行文件很多,下述以cathpkt为例进行说明。一个cathpkt文件中有几百万个数据包,每个数据包通过协议解析后对应txt文件(文本文件)中的一条日志记录,且每条日志记录内包含用户IP。也就是说,一个txt文件包含cathpkt文件解析后的几百万个数据包的日志记录。
[0051] 步骤S2,读取文本文件中的一条日志记录。
[0052] 本发明按顺序读取日志记录,每次读取一条,进行匹配。当读取日志记录为空时,结束操作,否则继续执行该匹配方法。
[0053] 步骤S3,获取本条日志记录中的用户网络协议地址,将本条日志记录中的用户网络协议地址与临时变量标记的用户网络协议地址进行匹配:若匹配成功,则本条日志记录中的用户网络协议地域信息匹配为临时变量标记的用户网络协议地域地址,返回步骤S2读取下一条日志记录,直至结束;否则,进行步骤S4。
[0054] 具体为:
[0055] 步骤S31,获取本条日志记录中的用户网络协议地址;
[0056] 步骤S32将本条日志记录中的用户网络协议地址与临时变量标记的用户网络协议地址进行比较,若两者相等,则匹配成功,本条日志记录中的用户网络协议地域信息匹配为临时变量标记的用户网络协议地域地址;否则,进行步骤4。
[0057] 在进行匹配前,预先设置临时变量标记的用户网络协议地址和临时变量标记的用户网络协议地域地址。进行首次匹配时,将获取的第一条日志记录中的用户网络协议地址与临时变量标记的用户网络协议地址进行比较,若相等,则将第一条日志记录中的用户网络协议地域信息匹配为预先设置的临时变量标记的用户网络协议地域地址;不相等,则进行步骤4。之后的匹配,将获取的本条日志记录中的用户网络协议地址IP_now与临时变量标记的用户网络协议地址IP_tag比较,此时临时变量标记的用户网络协议地址IP_tag一般为前一条日志记录中的临时变量标记的用户网络协议地址IP_last,若相等IP_now==IP_tag,则将本条日志记录中的用户网络协议地域信息匹配为前一条日志记录中的用户网络协议地域地址IP_last_locate_tag。
[0058] 为了避免获取的用户网络协议地址为空时,造成多余无效重复匹配操作,在执行步骤S32之前,当本条日志记录中的用户网络协议地址为空时,则返回步骤S2,直接进入下条记录读取操作,直至结束,否则进行步骤S32。
[0059] 为了核准地域地址,对获取的用户网络协议地址为空或乱码的情况,进行特殊处理。在执行步骤S32之前,当本条日志记录中的用户网络协议地址为空或乱码时,将本条日志记录中的用户网络协议地域信息匹配为错误变量标记的用户网络协议地域地址IP_error_tag,返回步骤S2,直至结束,否则进行步骤S32。之后核准时,通过IP_error_tag重新确定地域信息。也避免错误执行不必要流程,当匹配为IP_error_tag后,直接进入下条记录读取操作。
[0060] 步骤S4,对本条日志记录中的用户网络协议地址进行地域信息匹配,并更新临时变量标记的用户网络协议地址和临时变量标记的用户网络协议地域地址,返回步骤S2读取下一条日志记录,直至结束。
[0061] 具体为:
[0062] 步骤S41,对本条日志记录中的用户网络协议地址进行地域信息匹配,获得匹配后的本条日志记录中的用户网络协议地域信息。
[0063] 利用第三方运营商提供的IP库,或利用发明专利CN103164475A中公开的合并IP库,启动地域信息匹配机制。
[0064] 步骤S42,将临时变量标记的用户网络协议地址更新为本条日志记录中的用户网络协议地址,将临时变量标记的用户网络协议地域地址更新为本条日志记录中的用户网络协议地域信息。
[0065] 对数据进行地域信息匹配后,获得本条日志记录中的用户网络协议地域信息。则将本条日志记录中的用户网络协议地域信息作为下一条记录进行匹配时的临时变量标记的用户网络协议地域地址;并将本条日志记录中的用户网络协议地址作为下一条记录进行匹配时的临时变量标记的用户网络协议地址。
[0066] 为此,每次进行地域信息匹配前,都将当前记录与前一条记录进行记忆性比对,对连续重复的记录,直接记忆匹配,无需重复一个新的地域信息匹配过程。
[0067] 其中,本条日志记录中的用户网络协议地址进行的地域信息匹配是在地理信息地域编码表中进行。该地理信息地域编码表可设计为高频使用地域编码表和低频使用地域编码表。如将使用频率大于等于10万次/每天的网络协议地址列入高频使用地域编码表中,将网络协议地址-地域信息编码表中使用频率小于10万次/每天的网络协议地址列入低频使用地域编码表中。依次查询高频使用地域编码表和低频使用地域编码表,以提高地域信息匹配速度。更进一步,还可对高频使用地域编码表内的网络协议地址再按照频率从高到低排序,将低频使用地域编码表内的网络协议地址也按照频率从高到低排序。
[0068] 实施例二
[0069] 如图4-6,本发明一种网络协议地址-地域信息减少重复匹配的系统包括日志集文本文件获取模块、日志信息读取模块、用户网络协议地址匹配模块、地域信息匹配模块、地域信息存储模块。所述日志集文本文件获取模块依次连接所述日志信息读取模块、所述用户网络协议地址匹配模块、地域信息匹配模块。所述用户网络协议地址匹配模块和所述地域信息匹配模块分别连接所述地域信息存储模块。
[0070] 所述地域信息存储模块,用于存储临时变量标记的用户网络协议地址、临时变量标记的用户网络协议地域地址、由所述用户网络协议地址匹配模块获得的日志记录中的用户网络协议地址和日志记录中的用户网络协议地域信息、由所述地域信息匹配模块获得的日志记录中的用户网络协议地址和日志记录中的用户网络协议地域信息。
[0071] 日志集文本文件获取模块,用于获取文件协议解析处理后的结果日志集txt文件。路由器上报给服务器的海量上行文件很多,下述以cathpkt为例进行说明。一个cathpkt文件中有几百万个数据包,每个数据包通过协议解析后对应txt文件(文本文件)中的一条日志记录,且每条日志记录内包含用户IP。也就是说,一个txt文件包含cathpkt文件解析后的几百万个数据包的日志记录。
[0072] 日志信息读取模块,用于读取所述日志集文本文件获取模块中文本文件的日志记录。该模块每次读取一条日志记录。当读取日志记录为空时,再重新读取下一条日志记录。
[0073] 用户网络协议地址匹配模块,用于获取所述日志信息读取模块中日志记录的用户网络协议地址,并将读取的日志记录的用户网络协议地址与临时变量标记的用户网络协议地址进行匹配,若匹配成功,则将日志记录中的用户网络协议地域信息匹配为临时变量标记的用户网络协议地域地址,若匹配不成功,由地域信息匹配模块重新进行地域信息匹配。
[0074] 进一步,所述用户网络协议地址匹配模块包括获取用户网络协议地址单元和用户网络协议地址比较单元。所述用户网络协议地址单元将获得的用户网络协议地址送入所述用户网络协议地址比较单元,所述比较单元比较所述获取用户网络协议地址单元内的用户网络协议地址和存储在所述地域信息存储模块内的临时变量标记的用户网络协议地址。若两者相等,则匹配成功,本条日志记录中的用户网络协议地域信息匹配为临时变量标记的用户网络协议地域地址,并将本条日志记录中的用户网络协议地域信息存储在所述地域信息存储模块中;否则,通过所述地域信息匹配模块进行地域信息匹配。
[0075] 为了核准地域地址,对获取的用户网络协议地址为空或乱码的情况,进行特殊处理。则所述用户网络协议地址匹配模块还包括错误标识单元。当本条日志记录中的用户网络协议地址为空或乱码时,所述错误标识单元将本条日志记录中的用户网络协议地域信息匹配为错误变量标记的用户网络协议地域地址IP_error_tag,之后进行下一条记录读取操作。以后需要核准IP地域信息时,对已标记有IP_error_tag的信息重新确定地域信息,这样避免错误执行不必要的流程。
[0076] 地域信息匹配模块,根据日志记录的用户网络协议地址进行地域信息匹配,并更新临时变量标记的用户网络协议地址和临时变量标记的用户网络协议地域地址。
[0077] 进一步,所述地域信息匹配模块包括匹配单元和更新单元。所述匹配单元对日志记录中的用户网络协议地址进行地域信息匹配,获得匹配后的日志记录中的用户网络协议地域信息,将匹配后的日志记录中的用户网络协议地域信息存入地域信息存储模块中。更新单元将临时变量标记的用户网络协议地址更新为日志记录中的用户网络协议地址,将临时变量标记的用户网络协议地域地址更新为日志记录中的用户网络协议地域信息。更新后的值在所述地域信息存储模块内反应。
[0078] 所述匹配单元在地理信息地域编码表中进行。该地理信息地域编码表可设计为高频使用地域编码表和低频使用地域编码表。如将使用频率大于等于10万次/每天的网络协议地址列入高频使用地域编码表中,将网络协议地址-地域信息编码表中使用频率小于10万次/每天的网络协议地址列入低频使用地域编码表中。依次查询高频使用地域编码表和低频使用地域编码表,以提高地域信息匹配速度。更进一步,还可对高频使用地域编码表内的网络协议地址再按照频率从高到低排序,将低频使用地域编码表内的网络协议地址也按照频率从高到低排序。所述匹配单元也可在第三运营商提供的IP库内进行,或利用如发明专利CN103164475A中公开的合并IP库,启动地域信息匹配机制。
[0079] 本发明系统可在实施例一的方法下实现减少重复匹配过程。
[0080] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。