大数据背景下电商数据采集的方案研究
刘晓飞
【摘要】? ? 随着科技的快速发展,信息激增,人类开始进入了大数据时代,大数据技术开始广泛应用于电信,金融,零售,物流等行业,为了精准的发掘数据潜在的巨大价值,就需要保证数据采集环节的准确和稳定。阐述了大数据时代下数据的复杂性和多变性,并结合电商大数据平台建设与应用中数据采集所面临的巨大挑战,分别针对不同的场景以及数据类型提出对应的数据采集方案。
【关键词】? ? 大数据时代? ? 电商大数据? ? 数据采集
引言:
大数据时代背景下,信息种类越来越丰富,数据产生的速度更是超乎想象。传统的数据分析已经无法处理如此多的数据,众多企业开始建立自己的数据仓库。对数据进行多角度的分析,以期实现数据的最大价值。但是数据仓库的创建以及上层业务的精准分析都需要依赖真实可靠的数据,本文的目的就是以电商大数据平台为例让人们了解大数据采集的关键技术以及不同场景下的数据采集方式。
一、大数据时代
随著科技的发展,信息交互越来越频繁,数据开始呈现“爆炸式”增长,人类逐渐从IT时代走向DT时代。如果说在IT时代是以自我控制、自我管理为主,那么到了DT(Data Technology)时代,则是以服务大众,激发生产力为主。以互联网(或者物联网)、大数据和人工智能为代表的新的技术革命正在渗透至各行各业。
在DT时代,数据作为一种新的能源,正在发生着聚变,变革着我们的生产和生活,催生了当下大数据行业发展热火朝天的盛景。这里所说的大数据主要包含两层含义。一是表意上的数据量大,种类多,数据增长速度快。二是从技术层面理解,通过使用大数据技术对数据进行采集,存储,分析和处理,获取数据中潜藏的价值。
二、源数据
电商平台在日常运营过程中,会面临众多用户的搜索,浏览,点击,收藏,评论,下单,支付等行为,这些行为都可以通过电商平台的后台操作进行记录,并生成海量的数据,这些数据大致可以分为日志数据和数据库数据,针对不同的数据类型,需要制定不同的采集方案进行数据采集。
2.1日志数据
2.1.1浏览器页面日志数据
1.页面浏览日志数据。当一个页面被浏览器加载呈现时采集的日志。网站页面是互联网服务的基本载体,对于以网页为基本展现形式的互联网产品和服务,衡量其业务水平的基本指标是网页浏览量(Page View,PV)和访客数((Unique Visitors,UV)。为此,我们需要采集页面被浏览器加载展现的记录,这是最原始的互联网日志采集需求,也是一切互联网数据分析得以展开的基础和前提。页面浏览日志数据采集是目前成熟度和完备度最高,同时也是最具挑战性的日志采集任务。
2.页面交互日志数据。随着互联网业务的发展,仅了解到用户访问的页面和访问路径,已经远远不能满足用户细分研究的需求。在很多场合下,需要了解用户在访问某个页面时具体的互动行为特征,比如鼠标或输入焦点的移动变化(代表用户关注内容的变化)、对某些页面交互的反应(可借此判断用户是否对某些页面元素发生认知困难)等。由于页面内容、交互方式和用户实际行为的不可预估,交互日志的采集无法规定统一的采集内容(例如促销活动页面的互动和用户喜好实时推荐两者相比,所需记录的行为类型、行为数据以及时效要求都截然不同),呈现出高度自定义的业务特征。
3.其他日志数据。除此之外,还有一些专门针对特定统计场合的日志采集需求,如专门采集特定媒体在页面被曝光状态的曝光日志,用户在线状态的实时检测等,但在基本原理上都脱胎于上述两大类。
2.1.2 APP端日志数据
移动端的日志根据不同的用户行为分成不同的事件,事件是无线客户端日志行为的最小单位。基于常规的分析,可把事件分为页面事件、控件点击事件以及其他事件。
1.页面事件。将常用的行为类别单独列出来,称作单独的事件。页面事件日志记录三类信息:1)设备及用户的基本信息;2)被访问页面的信息,主要是一些业务参数(如详情页面的商品ID、所属店铺等);3)访问基本路径(如页面来源),还原用户完整的访问路径。
2.控件点击事件。控件点击事件比页面事件要简单得多,首先,它和页面事件一样,记录了基本的设备信息、用户信息;其次,它记录了控件所在的页面名称、控件名称、控件的业务参数等。
3.其他事件。用户可以根据业务场景需求,使用自定义事件来采集相关信息。从某种程度上说,它几乎能满足用户的所有需求,包括事件名称,事件时长,事件所携带的属性,事件对应的页面等。
2.2数据库数据
业务数据类型中有一类高度结构化,易于被计算机系统处理的数据。主要包含用户,订单,商品,库存等信息,这类数据存储于关系型数据库中,如MySql、Oracle、SQL Server等。
关系型数据库中的数据采集一般称为数据同步技术,数据同步技术更通用的含义是不同系统间的数据流转,有多种不同的应用场景。主数据库与备数据库之间的数据备份,以及主系统与子系统之间的数据更新,属于同类型不同集群数据库之间的数据同步。另外,还有不同地域,不同数据库类型之间的数据传输交换,比如业务系统和数据仓库之间的数据同步,对于大数据系统来说,包含数据从业务系统同步进入数据仓库和数据从数据仓库同步进入数据服务或数据应用两个方面。
三、日志数据采集策略
3.1采集要求
在浏览器页面日志数据和APP端日志数据到达日志服务器后,并不能直接采集到分布式存储系统中,需要根据业务规范在采集的过程中进行一些处理。
1.识别流量攻击、网络爬虫和流量作弊(虚假流量)。页面日志是互联网分析和大数据应用的基础源数据,在实际应用中,往往存在部分虚假或者恶意流量日志,导致日志相关指标的统计发生偏差。因此需要对所采集的日志进行合法性校验,依托算法识别非正常的流量并归纳出对应的过滤规则加以滤除。
2.数据缺项补正。为了便利后续的日志应用和保证基本的数据统计口径一致,在大多数情况下,需要对日志中的一些公用且重要的数据项做取值归一、标准化处理或反向补正。反向补正,即根据新日志对稍早收集的日志中的个别数据做回补或修订(例如,在用户登录后,对登录前页面日志做身份信息的回补)
3.无效数据剔除,在某些情况下,因业务变更或配置不当,导致采集到的日志中存在一些无意义、已经失效或者冗余的数据项,这些数据项不仅消耗存储空间和运算能力,还会干扰正常计算的进行。为了避免此类异常的发生,需要定时检查配置并依照配置将此类数据项剔除。
3.2基于flume组件的日志采集
1.简介。Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个项目。Flume提供了一个基于流式架构,高可用,高可靠,分布式的海量日志采集、聚合和传输的系统。它支持在日志系统中定制各类数据发送方,用于收集数据。
2.架构。agent是Flume数据传输的基本单元, 它以事件的形式将数据从源头送至目标系统。Agent主要由三个部分组成:Source、Channel、Sink。Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec等。Channel是位于Source和Sink之间的缓冲区。因此,Channel允许Source和Sink运作在不同的速率上,Flume自带两种类型的Channel:Memory Channel和File Channel。Memory Channel是内存中的队列,程序死亡、机器宕机都会导致数据丢失。 File Channel将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储系统、或者发送到另一个Flume Agent。
3.3日志采集方案设计
1.数据采集的精准性。在source监控文件内容更新的过程中,flume出现宕机的问题,监测的文件还在不断地更新,此时如果Flume重启就会出现数据丢失的情况,针对这种情况,Source配置成Taildir类型,当Flume开始监听某个文件时,会将已经采集完成的位置偏移量保存到positionFile文件中,flume重启时,可以读取上次断点位置继续采集数据,在实际生产中发现这个配置只能解决断点续传的问题,flume的channel 采用memory依然会丢失一部分数据,因此,还需要将channel的类型配置成file,即存放在磁盘,保证channel中数据不会丢失。
2.数据采集的灵活性。灵活性主要体现在两方面,一是通过拦截器对数据进行初步的清洗(例如事件过滤,数据修改等),另外一方面就是配置多管道的架构,保证数据分发到不同的目的地。
3.数据采集的高效性。数据处理主要分为离线数据处理和实时计算处理,为了避免数据的重复采集,可以设计一种方案,通过flume将数据采集到kafka(分布式消息系统)中,数据在kafka中以不同主题的形式存储,此时既可以使用flume组件再次读取kafka中的数据,存入到分布式存储系统中进行离线批量处理,也可以使用实时计算框架(spark streaming或者flink)读取kafka中的数据进行实时计算。另外,引入kafka组件可以在促销活动引起的数据激增的情况下,实现数据削峰的功能,保证采集系统的稳定性。
四、数据库数据同步策略
4.1简介
Sqoop是一款开源的工具,主要用于在分布式存储系统(HDFS)与传统的数据库(mysql、oracle等)间进行数据的传递,可以将一个关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。
4.2架构
Sqoop 架构主要由三个部分组成:Sqoop client、HDFS、Database。用户向 Sqoop 发起一个命令之后,这个命令会转换为一个基于hadoop的Map Task的MapReduce作业。Map Task 会访问数据库的元数据信息,通过并行的 Map Task 将数据库的数据读取出来,然后导入HDFS中。核心思想就是通过基于 Map Task的MapReduce作业,实现数据的并发拷贝和传输,这样可以大大提高效率。
4.3数据同步方案设计
1.数据同步的灵活性。Sqoop可以将数据进行全量同步和增量同步,全量同步比较简单,直接将源表所有数据查询出来进行同步即可。由于数据量大,我们不可能每次都将所有数据全量导入,例如订单表数据量巨大,且是不断累加的,因此需要进行增量同步,增量同步分两种,一是基于遞增列的增量数据导入(Append方式),即在增量导入时指定上次导入数据最后的位置。二是基于时间列的增量数据导入(LastModified方式),这种方式要求表中有时间字段,记录上次导入的时间。
2.数据同步的安全性。无论是电商行业还是其他互联网企业,将结构化数据从业务数据库同步到数据仓库的首要条件是确保采集过程中,不会对正常运行的业务系统造成任何影响,因此可以采取从备库中进行数据抽取,一般备库是防止主业务数据库宕机,无法对外提供服务而设计的,拥有和主业务数据库同样的数据,利用备库进行数据同步,不会对主业务数据库造成任何影响。
3.数据同步的准确性。由于数据业务表种类繁多,对应的需要启动多个任务进行数据同步,任务执行过程中可能会出现部分任务失败的情况,导致部分数据缺失,可以建立多个临时表与目标表一一对应,数据先同步到临时表,任务成功的才可以由临时表导入到目标表,任务失败的可以清除临时表中的数据,排查问题后,重新执行同步任务。
五、结束语
一般大型互联网企业的日均数据收集量均以亿为单位计量。作为大数据平台架构的基石,数据采集尤为重要,本文基于各类场景的数据提供了更为安全可靠的采集方案。为了提供符合业务特性的数据展现,实现更为高效的下游统计计算,以及为算法提供更便捷、灵活的支持,数据采集环节还需要针对可能出现的新的数据类型进行更加完善的规范化组织。
引言:
我国领海面积广阔,拥有丰富的海洋石油资源。随着中国海洋石油工业的快速发展,海洋石油平台的信息化建设也在不断加速。然而受海上环境复杂多变、施工困难等客观因素影响,海上数据通信技术的发展比较平缓,这也制约了中海油信息化系统建设的步伐。近年来,中海油信息科技有限公司深圳分公司积极开拓创新,引进全球先进技术,不断升级改进海洋石油平台的海陆通信系统,其中尤其以海陆微波通信系统的成功应用最具革命性突破,标志着海洋石油平台进入全面网络信息化时代。随着海陆微波通信系统的应用发展,海陆微波天线复用系统的开发应用进一步提高了海陆微波传输带宽和传输可靠性,再次推动了海洋石油平台信息化系统建设的高速发展。本文第二节简单回顾了海洋石油平台海陆通信系统的发展历程,第三节通过海陆微波通信传输模型分析,介绍了海陆微波天线复用系统的应用起源,第四节阐述了海陆微波天线复用系统的系统组成和技术特点,最后在第五节进行全文小结,总结了海陆微波天线复用系统的技术特点。
一、海陆微波应用发展简史
在过去,海洋石油平台主要采用卫星+海缆的较为单一的数据网络通信方式,其中海洋石油平台与陆地办公网络之间主要依赖卫星通信,海缆主要用于海洋石油平台群的中心平台与周边平台之间的数据传输通信。海陆间卫星通信如下图1所示。可是,卫星通信费用昂贵,通常海上石油平台只能开通较低卫星带宽(通常为512kbps~2Mbps)用于海陆通信,导致卫星通信带宽成为海上与陆地之间通信的稀缺资源,仅能用于海陆通信保障及最基本的必要办公需求。而且由于卫星通信数据传输时延较大,大量的其它通信需求无法得到满足,使海洋石油平台信息相对封闭,平台与平台之间、平台与陆地之间的信息传递比较闭塞缓慢。
中海油信息科技有限公司深圳分公司于2008-2009年间,开创性的使用了海陆微波系统。经过长达两年严谨的通信模型分析、试验系统运行、稳定性评估以及系统优化试运行后,海陆微波系统成功开通并维护使用至今。如下图2所示,该系统可以无线连接离岸100-200公里范围内的海洋石油平台,并提供高达50~80Mbps的带宽传输,从而使海上石油平台从“海上信息孤岛”转变为可满足海上石油平台办公、生产、管理和基本日常生活通信等需求的生产生活平台,实现了海上石油平台海陆通信的里程碑式的飞跃。
二、海陆微波天线复用系统应用起源
随着海油信息化系统建设的进一步推进,日益增长的办公、生产、安全管理和日常生活通信带宽需求,对海陆微波的传输带宽提出了更高的要求。如何有效提高海陆微波传输带宽和可靠性,成为一个迫切需要解决的课题。本小节通过对海陆微波传输模型的简单模拟分析,探讨了使用海陆微波天线复用系统的客观因素和起源。
2.1 海陆微波传输模型
海陆微波工作在5GHz频段,相比传统License频段(11-38GHz),5GHz频段的自由空间传输损耗更小,更加适合用于海洋传输。建立海陆微波传输模型有助于理解和分析如何提高海陆微波的传输带宽。图3是一个理想的海陆微波传输模型,该模型不考虑海上湿度、气压、风速、波浪、海上多普勒效应等不可预测的因素。
从该模型可以看出,在理想的理论传输模型中,海陆微波在跨越长距离海面进行传输时,受地球曲率、大气折射率、海面反射等因素影响,对两端微波天线架设的海拔高度有较高要求。为了降低海陆微波信号传输损耗,应尽量提高两端微波天线安装的海拔高度。而海洋石油平台的天线安装高度受平台限制,为了保证海陆微波的传输性能,就需要在陆地端寻找合适的高点进行安装。以下图4、5模拟了提升陆地端高度后,海陆微波跨海传输的理论模型变化。
从上述海陆微波传输模型模拟结果可以看出,海陆微波虽然最大可以传输200公里,但受到地形(海平面)和客观传输环境条件限制,并非所有的陆地高点和海上平台,都能搭建海陆微波传输系统,实现海上平台与陆地直接通信。平台与陆地之间距离越远,则要求陆地端微波安装海拔高度越高。
2.2 海陆微波天线复用系统起源
海陆微波系统的建立,需要在充分模拟评估链路传输性能的前提下,选取理想的海上平台和与之对应的陆地沿岸/海上岛屿制高点,且陆地安装点需具备通信机房/简易机房、通信铁塔、稳定供电等基础设施条件。理论上,可以在合适的陆地站点与对应海上平台之间通过安装多套海陆微波以获得更多的传输带宽,但在实际环境中却比较难实现,原因如下:
1.适合架设海陆微波的海上平台和与之对应的陆地站点数量较少,可用站点资源稀缺;
2.海陆微波因距离远,需求带宽大,为了保证传输带宽,需要使用2.4米或3米的大口径传输天线。同时,为了提高海陆微波传输可靠性,会在陆地安装点采用双天线垂直分集结构实现信号空间分集发送/接收,即一对海陆微波链路仅在陆地安装点就需要安装2副大口径天线。当需要在同一站点新建多套海陆微波链路时,需要安装多套新的天线和天馈系统,除了增加高昂的天线成本(包括天线硬件成本、天线运输成本和天线安装成本)之外,还面临天线安装调试维护困难的问题,并且对陆地站点的铁塔安装空间以及铁塔强度都提出额外的要求,陆地站点现有铁塔空间和强度难以满足新装多条海陆微波链路天线的需求;
3.海上平台空间有限,大型通信系统的安装位置与抱杆都受到较大限制,只能局限在指定区域的指定抱杆上,而无法随意改变安装位置或者新增安装抱杆。如需新建多套海陆微波鏈路,平台难以提供足够的安装空间和安装抱杆。
上述客觀因素导致在现实中难以在原有海陆微波的站点上,通过新增多套海陆微波的方式获得更大的海陆间通信带宽。因此,可直接使用原有海陆微波天线、供电和铁塔,无需新增天线,并通过对原有海陆微波链路升级替换从而实现提升海陆通信带宽的海陆微波天线复用系统应运而生。
三、海陆微波天线复用系统组成和技术特点
海陆微波天线复用系统通过对海陆微波的射频信号和基带信号进行复用处理,实现海陆微波系统传输带宽提升。本节介绍了海陆微波天线复用系统组成和技术特点,探讨了使用海陆微波天线复用系统实现提高海陆微波传输带宽的优势和特点。
3.1 海陆微波天线复用系统组成
海陆微波天线复用系统主要包含两个子系统:1. 海陆微波射频信号复用子系统;2.海陆微波基带信号处理子系统。如下图6所示。
3.2 海陆微波射频信号复用子系统
根据无线通信原理,无线传输系统使用的信道频宽越大,在相同传输条件下信息传输速率越高。同时,在相同调制模式下,调制信号的接收电平RSSI和SNR门限值与调制信号的信道频宽相关。调制信号使用的信道频宽越大,则对接收电平RSSI和SNR门限值要求越高。
以中海油南海油田当前正在运行的一条海陆微波链路为例,该链路传输距离为98公里,使用30MHz的信道频宽,可以稳定提供50-80Mbps的通信传输速率。在试验阶段,为了提高通信传输速率,把信道频宽从30MHz提高到45MHz,链路传输速率最大可提升接近50%,峰值速率可达到70-110Mbps,但是由于45MHz信道频宽在相同调制模式下对RSSI和SNR要求更高,因此比较容易出现调制模式变化,从而造成传输速率波动。在超过一个月的对比观察中,使用更高信道频宽45MHz虽然能够获得更大的短期峰值速率,但平均传输速率相比使用30MHz信道频宽时提升并不明显,反而由于使用了更高信道频宽,影响了无线传输可靠性。
海陆微波射频信号复用子系统并非通过增加信道频宽或者信道捆绑方式提升系统传输速率,而是采用了独立双射频复用处理技术,实现了原有天线/天馈利旧和系统平滑升级,可以有效提高海陆微波传输系统的通信传输速率,同时由于该技术信号处理损耗小,基本不影响原系统的无线传输稳定性,从而同时满足了提升传输带宽、保持无线传输稳定性的需求。
另外,海陆微波射频信号复用子系统还能避免双射频信号之间的串扰和谐波问题。相比简单进行两个射频信号的物理叠加会造成射频信号全频段干扰的结果,该技术很好地保护了双射频的独立性,使之互不干扰。以下两图中,图7展示了双射频信号简单物理叠加时严重干扰的频谱图,图8则是海陆微波天线复用系统下双射频信号稳定独立工作的频谱图。
3.3 海陆微波基带信号处理子系统
海陆微波基带信号处理子系统将双基带信号进行复合处理,并且可以根据实际网络应用需要自由调整工作模式,从而实现灵活的网络部署方式。 处理模式主要有两种:双基带信号堆叠复合,以及双基带信号隔离分拆。在堆叠复合模式下,双基带信号被合并,从而提供更高的通信传输速率,并且在堆叠复合模式下,任一基带信号丢失将不会影响整个基带信号处理子系统的通信传输,实现了双基带信号互为冗余备份的功能。在信号隔离拆分模式下,双基带信号被独立拆分并相互隔离传输,互不影响。
显然,堆叠复合模式适合当单一传输通道需要更大的传输带宽时使用,而信号隔离拆分模式则适用于专用网络划分时使用。例如当网络管理员需要将传输带宽分别独立分配给专用办公网络和平台工作/生活网络时,则更加适用信号隔离拆分模式。
此外,海陆微波基带信号处理子系统还具备另一特点:子系统网元可网管特性及状态可视化管理,既能无缝对接原有办公网络的网管系统,还可给现场通信工程师提供直观、便捷的状态信息。
四、结束语
海陆微波天线复用系统具备以下特点:
1.可在原有海陆微波系统上平滑升级,实现提升海陆间通信带宽的效果,无兼容性问题;
2.可对原有海陆微波系统基础设施进行利旧,包括铁塔、天线、抱杆、供电等,无需担心基础设施配套不足或原有设施资源浪费的问题;
3.很好的延续了海陆微波传输系统的无线传输可靠性和稳定性,且因堆叠模式下可以提供双传输通道互为备份的功能,使海陆微波传输系统更加稳定可靠;
4.可自由配置堆叠模式或隔离拆分模式,网络部署方式更加灵活方便;
5.兼容原有海陆微波网管系统,保持原有使用习惯,便于网络维护。
海陆微波天线复用系统突破了传统海陆微波的限制,提供高可靠(双冗余备份)、更灵活(堆叠模式或信号隔离拆分模式自由配置)、更高速的海陆间无线通信带宽,为海洋石油平台信息化系统建设带来了新的发展机遇。
参? 考? 文? 献
[1] Theodore S. Rappaport, Wireless Communications Principles and Practice, Second Edition, Publishing House of Electronics Industry PHEI, 2012-08, 01-01 [ (美)西奥多 S. 拉帕波特,无线通信原理与应用(第2版),电子工业出版社,2012-08,01-01]
[2]? Zhou C D, Wang Y K, Yang E H. Antenna and Electric Wave. Xian: Xian Electronic Technology University Press,1994. 290–302 [周朝栋, 王元坤, 杨恩辉. 天线与电波. 西安: 西安电子科技大学出版社, 1994. 290–302]
[3]? Meng Y S, Dong F, Lee Y H. Near sea-surface mobile radiowave propagation at 5 GHz: measurements and modeling. Radio Eng, 2014, 23: 824–830
[4]? Duan Z M, Yin X P, Signals and Systems, Fourth Edition, Publishing House of Electronics Industry PHEI, 2020-07 [段哲民,尹熙鹏,信号与系统(第4版),电子工业出版社,2020-07]
[5]? Mo H, Chen B, Shen C. Radio propagation prediction model for maritime mobile communication. In: Proceedings of IET International Conference on Wireless Communications and Applications (ICWCA2012), Kuala Lumpur, 2012.1–5