分布式移动视听APP监管系统的设计与实现

2018-09-17 10:58:26司凯威
数字传媒研究 2018年6期
关键词:爬虫页面分布式

司凯威

国家新闻出版广电总局293台 河南省 郑州市 451162

随着移动互联网数据流量资费的下降和智能终端的普及,通过移动视听APP收听收看网络视听节目逐渐成为广大网民的选择。截至2017年12月,我国手机网民规模达到7.53亿,其中手机网络视频用户达到5.49亿。[1]与此同时,移动APP种类和数量也急剧增长。据工信部2017年9月发布数据显示,境内第三方应用商店移动应用数量近240万款,中国区苹果商店移动应用数量近170万款,第三方应用商店分发数量超过7217亿次。[2]

移动视听APP在向广大网民提供丰富的电影、电视剧、短视频等节目直播、点播服务的同时,也出现了部分不法分子借助斗鱼、抖音、快手等平台违规传播包含播暴力、淫秽、低俗等违规内容的视听节目,违反国家视听节目的管理政策,危害青少年的身心健康成长。

为实现对移动视听APP的全面监管,需要对豌豆荚、安卓市场、iTunes、小米等应用市场和论坛的数据进行抓取、分析、研判。目前,该类应用市场和论坛均对其核心数据设计相应的保护措施。[3]单纯的依靠人工或单个的爬虫,难以全面、及时的排查移动视听APP的变化情况,更无法承担突发的监管任务,因此,有必要引入云计算技术设计一套分布式的移动视听APP监管系统。

1 云计算

云计算主要是指用户只需在投入少量管理或沟通的情况下,采用按量付费的方式获取网络、服务器、存储、应用软件、服务等可配置的资源。[4]其最大的优势在于只需付出较低廉的价格,即可获得更高可靠性、更高安全性,更高性价比的公用化的互联网基础设施服务,用户无需投入巨额的资金用于购置设备和建造环境。目前,在政治、经济、金融、民生等领域应用比较广泛的有亚马逊、阿里云、百度云等。

在移动视听APP监管系统设计过程中,受限于现有机房空间、运维能力、网络带宽等因素,在承担紧急突发监管任务时,网络爬虫、爬虫管理、页面分析、数据下载等服务器均需要较大的网络带宽和计算能力,需在短时间内完成相关程系统的扩展。因此,选择云服务器作为系统的主用设备。

2 软件设计

为兼顾系统的可扩展性和排查数据的安全性,移动视听APP监管系统设备包括云端和本地端设备。云服务器上安装的爬虫程序对豌豆荚、360手机助手等应用市场传播的移动视听APP进行抓取、分析、下载,并将结果经过通信服务器与本地服务器进行通信。本地服务器主要负责相关任务的管理、数据的存储、验证等工作。根据功能的不同可以分为网络爬虫、页面分析、数据下载、操作中心、网络通信等模块。如图1所示。

图1 系统组成示意图

2.1 网络爬虫

网络爬虫模块由爬虫服务器、爬虫调度、IP地址池服务器等组成,主要负责从移动APP应用市场抓取数据。爬虫调度服务器主要是对网络、计算、IP地址等资源进行管理。爬虫服务器针对豌豆荚、APPStore等应用市场页面特点智能抓取数据。IP地址池服务器是为爬虫提供可用的IP代理地址池。并爬虫中加入有模拟浏览器的头文件代码等,以应对应用市场设计的反爬虫安全策略。在抓取的过程中,爬虫调度服务器实时监控各个爬虫的运行状态,传送给通讯服务器,一旦发现异常,第一时间通知管理员进行处理。

2.2 页面分析

页面分析模块主要是对爬虫抓取的移动APP信息页面中的软件开发机构、更新版本、更新日期、使用简介、用户评价等内容进行抽取。通过中文分词和非关键词过滤模块,剔除页面中非重要内容,然后按照检索要素与原有APP信息进行排重,没有发生重复则进行上报相关的内容。页面分析主要是对数据进行初步的分析后,把相关的进行整理后传送给后台服务器进行处理,通过FTP服务器的形式进行传输相关的文件,保证数据传输的稳定性。页面分析模块与本地服务器的分级处理模块密切配合,能够实现对页面内容的分级。

2.3 数据下载

数据下载模块主要是移动视听APP的页面和APK文件进行下载,形成完整的数据资料库。其下载文件使用文件名和MD5算法进行唯一性标识,便于对变动情况进行动态的监测。云服务器设置有专门的数据下载服务,并将下载数据实时同步到本地服务器中,保证数据的完整性和安全性。

2.4 通讯模块

通讯模块主要负责云服务器和本地服务器之间数据交互。相互之间的下载数据采用json协议的传输,其他通讯采用加密协议传输。数据通讯模块不断的保持本地服务器和服务器的之间的通讯,保障实时返回云服务器的运行状态和爬虫的抓取状态。为保证信息渠道的畅通,对通讯内容实行分级管理,对于发现的违规情况能够使用高优先级进行通讯。

2.5 管理中心

管理中心是人机交互的综合管理平台。操作人员能够查看各服务器的运行状态、远程调度各个服务器资源,查看各个任务的运行状态,查询每个APK的变化情况、节目情况、受众情况。

2.6 安全模块

安全模块设计有相应的安全策略、防火墙,同时配合爬虫端和数据段的有效隔离,防止内部数据被窃取或者泄露等情况的发生。同时引入入侵检测设备,防止内部数据的泄露。

3 系统流程

(1)管理人员在接到移动APP的监管任务后,通过管理中心配置爬虫服务器。

(2)用户通过操作界面向下发相关的指令,如果有需要设计爬虫模板,或者进行合理化的配置,调度中心根据相关的内容进行处理,调用爬虫服务器对相关的数据进行处理。

(3)爬虫根据用户指令到相应的应用市场或者服务器下载指定的页面,推送到页面处理服务器,同时将相关的数据检索和相关的数据经过通信服务器,传送到本地服务器中。

(4)抓取的页面经过关键词比对技术,进行定位和分析,推送给工作人员按照紧急程度进行处理。

(5)用户连接安卓和苹果手机,根据系统提示,校对相关信息,排查是否包含违规节目内容,形成最终的数据上报功能。

(6)系统根据用户的设定自动下载相关的APK文件进行保存,并将相关的结果,推送给本地服务器进行处理,供用户使用。分布式移动视听APP监管系统的系统运行流程,如图2所示。

图2 系统组成示意图

4 关键技术

分布式移动视听APP监管系统在设计的过程中主要采用了分布式爬虫、反爬虫、源文件下载等相关技术。

4.1 分布式爬虫技术

采用的Redis分布式爬虫技术,是比较成熟的爬虫技术,经过简单的配置之后,就可以进行扩展相应的爬虫资源。Redis分布式爬虫可以在发生应急任务的时候,通过简单的增加爬虫服务器的数量,进行简单的部署即可完成排查范围的不断增加。

4.2 反爬虫技术

在该系统中使用的反爬虫技术主要有模拟浏览器登陆,IP地址代理池等相关的技术手段,同时加入有浏览器头文件。采用随机化的爬虫策略,能够最大限度的避免被系统屏蔽。

4.3 源文件下载技术

采用http下载的方式,间隔一定的时间对相关的安装文件进行下载,可以有效防止反爬虫的使用。同时采用了MD5的比较技术,数据库中存储有本地APP源文件的MD5值,将下载的数据及时进行比较,避免现象的发生。将软件名、开发机构、MD5等相关信息结合起来就可以得到一个比较完整的软件表库。

结 论

通过对基于云计算爬虫的探讨,可以看出,采用云端+本地的分布式爬虫抓取策略,能够最大限度的发挥云端的可扩展性和本地的数据安全的程度,保障各个方面的系统稳定运行,实现了系统设计的各个目标。

猜你喜欢
爬虫页面分布式
利用网络爬虫技术验证房地产灰犀牛之说
刷新生活的页面
保健医苑(2022年1期)2022-08-30 08:39:14
基于Python的网络爬虫和反爬虫技术研究
利用爬虫技术的Geo-Gnutel la VANET流量采集
电子测试(2018年1期)2018-04-18 11:53:04
分布式光伏热钱汹涌
能源(2017年10期)2017-12-20 05:54:07
分布式光伏:爆发还是徘徊
能源(2017年5期)2017-07-06 09:25:54
大数据环境下基于python的网络爬虫技术
电子制作(2017年9期)2017-04-17 03:00:46
基于DDS的分布式三维协同仿真研究
雷达与对抗(2015年3期)2015-12-09 02:38:50
西门子 分布式I/O Simatic ET 200AL
同一Word文档 纵横页面并存