信息内容安全管理及应用
上QQ阅读APP看书,第一时间看更新

3.2.1 网络媒体信息获取的理论流程

理论上,网络媒体信息获取流程主要由初始URL集合——信息“种子”集合、等待获取的URL队列、信息获取模块、信息解析模块、信息判重模块与互联网信息库共同组成,如图3-4所示。

图3-4 网络媒体信息获取的理论流程

1.初始URL集合

初始URL集合的概念最初由搜索引擎研究人员提出,商用搜索引擎为了使自身拥有的信息充分覆盖整个互联网,需要首先维护包含相当数量网络地址的初始URL集合。搜索引擎跟随初始URL集合发布页面上的网络链接进入第一级网页,并进一步跟随第一级网页内嵌链接进入第二级网页,最终形成周而复始地跟随网页内嵌地址的递归操作,完成所有网页发布信息的获取工作。因此,初始URL集合通常被形象地称为信息“种子”集合,如图3-5所示。网络媒体信息的获取,同样是针对初始URL集合进行遍历式的信息获取。基于初始URL集合指定的入口页(Entry Page),网络媒体信息获取以多线程方式,实现信息智能化主动获取。该过程模拟客户/服务器通信、模拟人机交互,在语义分析的基础上,以递归调用的方式快速且彻底完成远程数据本地镜像。需要指出的是,网络媒体信息获取充分考虑了互联网使用的HTTP/1.1,尤其是与内容协商(Content Negotiation)、访问控制(Access Control)和数据缓存(Web Catching)相关的规范流程,在有效实现数据主动获取的同时,保证了数据的可靠性和有效性。

图3-5 跟随网页内嵌地址逐级递归遍历互联网络

应该说只要维护包含足够数量网络地址的初始URL集合,理论上搜索引擎是可以遍历整个互联网的(通常还需要网站主动向搜索引擎提供的网站地图(Sitemap))。源于搜索引擎应用研究的网络媒体信息获取环节,同样需要根据后续网络媒体信息分析环节所关注的互联网网络范围,事先维护包含一定数量网络地址的初始URL集合,作为信息获取操作的起点。

2.信息获取模块

信息获取模块首先根据来自初始网络地址集合或URL队列中的每条网络地址信息,确定待获取内容所采用的信息发布协议。在完成待获取内容协议解析操作后,信息获取模块基于特定通信协议所定义的网络交互机制,向信息发布网站请求所需内容,并接收来自网站的响应信息,传递给后续的信息解析模块。基于HTTP发布的文本信息获取范例如图3-6所示。HTTP信息网络交互过程细节,可查阅协议规范HTTP/1.1。

图3-6 HTTP文本信息获取范例

随着HTTP/1.1的广泛应用,内容协商已经成为互联网信息传递中常见的技术。客户端浏览器向网站提供客户的偏好,如内容的语言、编码方式、质量参数等;网站根据实际情况,尽可能满足客户的需求。一般的信息自动提取技术,如Wget、Pavuk、Teleport等,大多没有很好地考虑这一问题,因此不能保证提取的内容与实际客户端浏览器取回的版本一致,当然,后续的解析和分类也就没有实际意义,这就需要个性化可配置的信息获取技术。所谓个性化可配置,指信息获取模块可以根据用户或系统提供的个性化信息,完成与网站之间的内容协商,将合适的内容提取到本地。例如,在信息获取过程中通过HTTP/1.1相关原语的交互(如VARY),实现对内容协商机制的完全模拟,保障本地镜像内容的准确性。

网站用户与服务器间的内容交互除了由内容协商完成,还可通过人机对话的方式实现。以交互式媒体为例,用户通过一次登录(即使是匿名登录),与服务器之间完成一次通信,获得身份验证信息(通常是以Cookie等形式)。在以后的交互中,双方凭借此信息作为身份的识别。目前,一般的信息提取技术并不能实现这一功能。为了完成对指定网站内容的充分获取,在内容协商的基础上,还需进一步提供智能化的人机交互模拟模块。基于HTTP返回码,需要获取身份验证信息才可以浏览内容,根据用户或系统的配置,模拟用户与服务器之间进行对话,从而实现交互式网络媒体发布内容的主动获取。

网络媒体信息的获取往往非常消耗时间与运算及存储资源,相关过程从初始URL集合设置的入口页出发,针对入口页及入口页以后的页面进入内容语义理解,将分析出的链接重新定义为入口页实现递归调用。由于单进程的递归调用效率低,在网络媒体信息获取的规模较大时,一般采用多线程方式实现递归调用,从而确保网络媒体信息获取过程的高效率与高性能。

最后需要说明的是,在理论层面,立足于开放系统互连参考模型(OSI/RM)的传输层,可以通过重构各类通信协议(如HTTP、FTP等)所定义的网络交互过程,实现基于不同通信协议的发布内容获取。不过伴随互联网中文本、图像信息发布形态不断推陈出新(人机交互式信息发布形态的出现直接导致文本、图像信息请求网络通信过程愈加复杂),音/视频发布内容层出不穷(音/视频信息网络交互过程重构困难,部分音/视频网络通信协议交互细节并未公开),纯粹依赖各类协议网络通信交互过程重构,实现信息内容获取的操作复杂度、网络交互重构难度呈指数级增长。因此,当前关于信息获取的研究,正在逐步转向选择在应用层,利用开源浏览器部分组件,甚至整个开源浏览器,实现网络媒体信息内容的主动获取,相关内容将在3.3节网络媒体信息获取方法中做进一步讲解。

3.信息解析模块

在信息获取模块获得网络媒体响应信息后,信息解析模块的核心工作是根据不同通信协议的具体定义,从网络响应信息相应位置提取发布信息的主体内容。为了便于开展信息采集与否判断,信息解析模块通常还将按照信息判重的要求,进一步维护与网络内容发布紧密相关的关键信息字段,例如,信息来源、信息标题,以及在网络响应信息头部可能存在的信息失效时间(Expires)、信息最近修改时间(Last-Modified)等。信息解析模块会把提取到的内容直接交付信息判重模块,在通过必要的重复内容检查后,网络媒体发布信息主体内容及其对应的关键字段将被存入互联网信息库。

为了实现跟随网页内嵌链接递归遍历所关注的网络范围这一技术需求,对于响应信息类型(Content-type)是TEXT/∗的HTTP文本信息,信息解析模块在完成响应信息主体内容及关键信息字段提取的同时,还需要进一步开展HTTP文本信息内嵌URL提取操作。信息解析模块实现HTTP文本信息内嵌URL提取的理论依据是,HTML语言关于网络超文本链接(Hyper Text Link)标记的系列定义。信息解析模块一般是通过遍历HTTP文本信息全文,查找网络超文本链接标记的方法,实现HTTP文本信息内嵌URL的提取。

另一方面,网站内容编写技术发展迅速,从早期的静态HTML和普通文本图像内容,已经发展到今天各种动态语言和包括图像、视频、音频、动画、虚拟现实(VR)等多种多媒体个体的群件,这就给网页内容自动解析带来了新的挑战。与传统的标记型语言(Markup Language)不同,以Script为代表的脚本型语言,更多地结合了一般程序编写的技术,利用浏览器作为编译运行的环境,以达到发布动态内容的目的;而以Flash为代表的脚本型语言,则是利用浏览器插件(Plug-in),将多媒体群件内容打包在若干对象中,利用插件完成对此对象的解释。因此,在网站自动信息提取中,必须研究和开发出编译、分析与执行同步操作的技术,同时提供对标记型语言与脚本型语言的准确语义理解,才可充分实现多媒体个体对象及其链接对象的主动获取。

当前,信息解析模块还可以首先面向HTTP文本信息构建文档对象模型(Document Object Module, DOM)树,并从HTML DOM树的相应节点获取HTTP文本内嵌URL信息。本章后续会有关于HTML DOM树的详细介绍。

4.信息判重模块

在网络媒体信息获取环节,信息判重模块是对本地镜像的网站内容进行高效且准确的理解,从而对冗余信息和不完整信息进行相应处理,以保障本地网络媒体信息数据库中内容的准确性和有效性。该模块主要基于网络媒体信息URL与内容摘要两大元素,通过查询比对本地网络媒体信息数据库的URL及内容摘要信息,实现信息采集/存储与否判断。其中,URL判重通常是在信息采集操作启动前进行,而内容摘要判重则是在采集信息存储时发挥效用。

来自HTTP文本信息的内嵌URL信息,首先通过URL判重操作确定每个内嵌URL是否已经实现了信息获取。对于尚未实现发布内容采集的全新URL,信息获取模块将会启动完整的信息采集流程;对于已经实现内容采集,同时注明信息失效时间及最近修改时间的URL(URL信息失效时间及最近修改时间已由信息解析模块从网络响应信息中提取得到,并存于互联网信息库中),信息采集模块将会向对应的网络内容发布媒体发起信息查新获取操作。此时,信息采集模块只会对于已经失效,或者已被重新修改的网络内容重新启动完整的信息采集操作。信息采集模块通常被要求重新采集已经实现信息获取,但未注明信息失效时间及最近修改时间的URL所对应的发布内容。

在面向没有提供发布信息失效时间及最近修改时间的网络媒体时(网络通信协议并未强制要求响应信息必须提供信息失效时间及最近修改时间),仅是依靠URL判重机制,无法避免同一内容重复获取。因此,在获取信息存储前,需要进一步引入内容摘要判重机制。网络媒体信息获取环节可以基于MD5算法,逐一维护已采集信息的内容摘要,杜绝相同内容重复获取的现象。