携程实时用户数据采集与分析系统.docxVIP

携程实时用户数据采集与分析系统.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
携程实时用户数据采集与分析系统 携程实时用户数据采集与分析系统 本文来自携程技术中心投稿,微信公众号 ID:ctriptech 一、携程实时用户数据采集系统设计实践 随着移动互联网的兴起,特别是近年来,智能手机、pad 等移动设备凭借便捷、高效的特点风靡全球,同时各类 APP 的快速发展进一步降低了移动互联网的接入门槛,越来越多的网民开始从传统 PC 转移至移动终端上。但传统的基于 PC 网站和访问日志的用户数据采集系统已经无法满足实时分析用户行为、实时统计流量属性和基于位置服务(LBS)等方面的需求。 我们针对传统用户数据采集系统在实时性、吞吐量、终端覆盖率等方面的不足,分析了在移动互联网流量剧增的背景下,用户数据采集系统的需求,研究在多种访问终端和多种网络类型的场景下,用户数据实时、高效采集的方法,并在此基础上设计和实现实时、有序和健壮的用户数据采集系统。此系统基于 Java NIO 网络通信框架(Netty)和分布式消息队列(Kafka)存储框架实现,其具有实时性、高吞吐、通用性好等优点。 1. 技术选型和设计方案: 一个典型的数据采集分析统计平台,对数据的处理,主要由如下五个步骤组成: 图 1(数据平台处理流程) 其中,数据采集步骤是最核心的问题,数据采集是否丰富、准确和实时,都直接影响整个数据分析平台的应用的效果。本论文关注的步骤主要在数据采集、数据传输和数据建模存储这三部分。 为满足数据采集服务实时、高效性、高吞吐量和安全性等方面的要求,同时能借鉴互联网大数据行业一些优秀开源的解决方案,所以整个系统都将基于 Java 技术栈进行设计和实现。整个数据采集分析平台系统架构如下图所示: 图 2(数据采集分析平台系统架构) 其中整个平台系统主要包括以上五部分:客户端数据采集 SDK 以 Http(s)/Tcp/Udp 协议根据不同的网络环境按一定策略将数据发送到 Mechanic(UBT-Collector) 服务器。服务器对采集的数据进行一系列处理之后将数据异步写入 Hermes(Kafka) 分布式消息队列系统。为了关联业务服务端用户业务操作埋点、日志,业务服务器需要获取由客户端 SDK 统一生成的用户标识(C-GUID),然后业务服务器将用户业务操作埋点、日志信息以异步方式写入 Hermes(Kafka) 队列。 最后数据消费分析平台,都从 Hermes(Kafka) 中消费采集数据,进行数据实时或者离线分析。其中 Mechanic(UBT-Collector) 系统还包括对采集数据和自身系统的监控,这些监控信息先写入 Hbase 集群,然后通过 Dashboard 界面进行实时监控。 (1). 基于 NIO 的 Netty 网络框架方案 要满足前面提到的高吞吐、高并发和多协议支持等方面的要求。我们调研了几种开源异步 IO 网络服务组件(如 Netty、MINI、xSocket),用它们和 Nginx Web 服务器进行了性能对比,决定采用 Netty 作为采集服务网络组件。下面对它进行一些概要介绍:Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对 TCP、UDP 和文件传输的支持,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。 图 3(Netty 框架内部组件逻辑结构) Netty 的优点有: 功能丰富,内置了多种数据编解码功能、支持多种网络协议。 高性能,通过与其它主流 NIO 网络框架对比,它的综合性能最佳。 可扩展性好,可通过它提供的 ChannelHandler 组件对网络通信方面进行灵活扩展。 易用性,API 使用简单。 经过了许多商业应用的考验,在互联网、网络游戏、大数据、电信软件等众多行业得到成功商用。 Netty 采用了典型的三层网络架构进行设计,逻辑架构图如下: 图 4(Netty 三层网络逻辑架构) 第一层:Reactor 通信调度层。该层的主要职责就是监听网络的连接和读写操作,负责将网络层的数据读取到内存缓冲区中,然后触发各种网络事件,例如连接创建、连接激活、读事件、写事件等,将这些事件触发到 Pipeline 中,再由 Pipeline 充当的职责链来进行后续的处理 第二层:职责链 Pipeline 层。负责事件在职责链中有序的向前(后)传播,同时负责动态的编排职责链。Pipeline 可以选择监听和处理自己关心的事件。 第三层:业务逻辑处理层,一般可分为两

文档评论(0)

软件开发 + 关注
官方认证
服务提供商

十余年的软件行业耕耘,可承接各类需求

认证主体深圳鼎云文化有限公司
IP属地广东
统一社会信用代码/组织机构代码
91440300MA5G24KH9F

1亿VIP精品文档

相关文档