首页 > 传媒 > 关键词  > 网易最新资讯  > 正文

双11黑科技揭秘:大数据实时计算如何为你量身定制?

2017-11-09 17:26 · 稿源: 站长之家用户

数据时代,大数据计算已经渗透到了各行各业,业务沉淀数据,数据计算产生新的业务价值,大数据计算正不断地用这种方式推动业务向前发展。电商双11,商家与消费者狂欢的背后,同样离不开大数据计算带来的价值贡献,特别是应用越来越广泛的“实时计算”。

现实世界中,数据连续产生,并被实时采集和计算

我们要做数据计算,挖掘产品商业价值,首要解决的问题是数据的问题。现实世界里,数据往往是随着时间的推进连续产生的,比如用户浏览商品,一系列的鼠标点击操作,会产生一连串的后台数据;开车使用手机导航,GPS定位每隔一段时间更新一次,也会不断产生日志数据;用户浏览新闻推送、搜索歌曲、监控摄像头定时采集图片上传到云端存储、视频直播等等场景,这背后生成的数据都是连续产生的。连续产生的业务数据,又被实时采集起来,就形成了数据流。

流式数据一经采集,就可以立即参与计算,同时将计算结果投入到业务应用中,这就是实时计算。实时数据计算其实早已经进入到人们生活的方方面面了,比如天气预报,以前人们的习惯是每天接收一次天气预报信息,现在则可以实时查看天气预测,同一个时间点的天气预测会随着时间的接近越来越准确,这就是监测数据采集更新及实时数据计算带来的效果。

根据兴趣量身定制,实时计算让产品越来越了解用户

实时数据来源越来越多、数量越来越大,每年的数据量都在成倍地增长,这对实时计算本身是利好的,可以有更多的应用场景、更好的应用效果,还可能促成一些革命性的变化。那么,大数据实时计算还能做什么?

在网易,考拉海购双11、618海淘盛典等活动期间,都会有一块网易有数大屏幕实时展示当前最新的销售总额、每个商品品类的销售比例、订单增长趋势、活跃用户地理位置等,各种维度的信息都在一块屏幕上不断跳动。每个用户每笔订单所产生的影响都会实时更新到大屏上。这种可视化的实时应用效果,除了增添一份电商狂欢节的氛围,更易于发现数据价值,指导市场运营、辅助商业决策。

金融风控是另一种典型的实时计算应用场景。对金融业务这种风险敏感的业务来说,仅仅能把数据可视化是远远不够的,它需要流计算系统能够利用一些风险模型的匹配规则,去实时分析海量的用户行为数据,发现异常事件、判断风险等级,并作出相应的风险控制措施,自动化地去做报警通知、改变业务流程。通过实时计算做金融风控,带来的好处是更快、更准、更广。其他许多类似风控这样的事件驱动计算场景,实时计算都能解决好。

实时计算在推荐领域的应用也已经很深入了。不论是新闻推荐、音乐推荐还是读书推荐,基本都已经做到了千人千面,每个人接收到的推送内容都是根据个人兴趣偏好量身定制的。而用户的兴趣偏好,往往是通过实时数据计算不断在更新的。 以新闻推送为例,当用户点击一条条推送消息时,背后产品其实时刻在对用户的行为做实时分析,实时更新用户的兴趣偏好,不断发现用户新的兴趣点,对用户越来越了解,最后给用户推送他更感兴趣的内容。再以音乐推荐为例,如果一个用户某段时间收藏了几首悲伤的歌曲,通过实时数据分析,系统可以识别出这一信息,同时有针对性的推送一些歌曲去抚慰用户。这种场景是只有实时计算才能解决的,也最能体现实时计算的价值。

越来越多的实时计算场景会被开发出来,未来人们对“一切都在变化之中”的感受会越来越深刻。

从“先存后算”到“边算边存”,实时计算不再怕“大”数据

实时计算这么好,在实现层面应该怎么做,有哪些困难和挑战是必须解决的?

首先从整体架构看,数据计算,无外乎三样东西:数据输入→计算→数据输出。传统的计算模型,以数据库为例,是先将数据存储在一个数据表中,用户通过执行查询语句触发数据库的计算操作,最后数据库完成计算后输出结果。这种“先存后算”的模型在大数据实时计算场景下是行不通的。我们所要计算的数据很“大”,一个计算结果所涉及的源数据可能是涵盖过往一天的数据,可能是上千亿条数据记录。如果每增加一些新数据,都把所有数据都重新计算一遍,这样的开销是非常大的,最终的效果会是很“慢”,达不到实时的效果。比较合理的做法是“边算边存”,意思是数据进入实时计算系统后,不一定需要先存储起来,可以直接参与计算,而且这里的计算是把当前新增的数据在之前历史数据的计算结果上做“增量计算”,同一条数据不重复参与计算,计算完成之后,再把计算结果保存起来,供业务使用,这时数据存储的压力也小了很多。同时“大”意味着数据并发很高,每秒可能需要计算上千万条新数据,这样的计算量不是单机能承受的,所以大数据实时计算要解决好的是分布式系统架构下的一系列技术问题。

分布式实时计算面临的挑战包括很多方面。数据从采集、到计算、到输出整个过程必须做到低延迟,除了计算节点本身采用“增量计算”的模型,还要求上游数据传输模块具有很高的吞吐能力,并且具备数据缓存的能力,在大流量场景下可以起到缓冲的作用,下游输出模块也需要做数据压缩、批量输出等优化,以保证输出结果的实时性。低延迟这个大前提对实时计算系统的其他特性提出了更高的要求。比如双11凌晨0点的时候,大量消费者在同一时刻下单支付,这是涌进实时计算系统的瞬时数据量是巨大的,系统需要有强大的并行处理数据的能力,将大量瞬时流量合理分配到成百上千个计算节点,并将这些节点的计算结果汇聚到一起计算出一个总体的结果,在高吞吐的情况下仍保证低延迟。

从“批量计算”到“增量计算”,最具挑战的是准确性和易用性

和低延迟同样关键的挑战是准确性。“增量计算”模型和传统“批量计算”模型是有区别的,所以不能照搬过往的技术经验,否则就会有准确性方面的问题。需要考虑清楚新进入的数据如何叠加到老的计算结果上,有些场景下甚至要支持从老的计算结果中撤除部分计算值,以保证最终结果的准确性。

分布式系统中的某个节点出现故障是很常见的,实时流计算系统的故障恢复能力也相当重要,因为当故障发生时,系统必须快速恢复,否则系统的输出更新可能就停滞了,实时性也就无从谈起。同时故障发生也不能破坏“增量计算”这个模型,否则退化到“批量计算”的模型就又得不到实时的计算结果了,而且结果准确性也难以保证。

事实上网易大数据在实现自研流计算平台Sloth的过程中,遇到并克服了上述技术难点。网易流计算平台Sloth作为一个平台化的产品,在产品易用性、多租户隔离方面做了大量的工作。就实时计算而言,易用性是一个比较值得讨论的方面。

对于开发人员而言,写一个分布式程序比写单机程序会困难一些,而写一个分布式实时计算程序,会更难。好在业界有一些开源的流计算引擎帮助完成了不少工作,开发人员可以使用这些流计算引擎完成流计算任务的开发,他们可能不再需要关心计算任务如何分发到多个计算节点上、数据在计算节点间如何传输等问题,只需要专注于计算逻辑的开发、控制好不同计算阶段的计算并行度。

以计算一篇文章的单词数为例,一个分布式计算程序的内容可能包括三个部分,首先是用几个计算节点共同把每一行文本拆分成一个一个的单词;第二步是用另外一些计算节点去统计单词的个数(考虑到数据量巨大的情况,这里有必要用多个节点去做计算);第三步是由一个计算节点把上游各各节点算出的部分计数汇聚成一个总的计数。这样一个最简单的场景,需要开发的代码量大约是200行。实际业务场景下,数据流经的计算节点远远不止3个,计算类型也比基础的求和复杂很多,所以即使有了流计算引擎,分布式实时计算程序的开发仍然是比较困难的。再进一步看,即使开发完成了,还需要把大量的时间投入到调试、计算框架维护等方面,一旦计算需求发生变化,所有的工作都需要重新迭代一遍,这是个比较痛苦的过程。如何让流式计算程序更易编写,是实时计算平台需要去完成的挑战。

且不考虑实时流计算系统如何解决易用性这个问题,看下计算机科学发展过程中,类似问题是怎么解决的。人们希望编程可以容易一些,所以越来越多的高级编程语言被发明出来了;人们希望数据计算可以容易一些,然后就有了数据库,以及SQL语言——结构化查询语言;到了大数据时代,人们还在折腾离线批量计算的时候,就遇到的依靠计算引擎编程复杂的问题,最终通过把SQL语言应用到分布式离线计算系统上,解决了这个问题。而现在实时计算的迅速发展的现在,是否同样可以用SQL语言去解决这个问题?答案是肯定的。不过有许多细节的问题需要去推敲求证。

实时流计算中的数据流,可以理解为一张动态的数据表

上文提及了离线批量计算模型和实时增量计算模型是有差异的,当SQL语言分别作用与批量计算和流式计算时,其语义也是需要发生变化的。批量计算和流式计算最主要的区别是前者计算的数据是有限的、后者计算的数据是无限的是不断采集进入系统的。当一个SQL查询作用在一批离线数据上面时,计算完成、输出结果,这条SQL查询也就完成了。映射到流式计算,当SQL查询触发计算,它是不会结束的,因为数据在持续不断地流入,按照离线SQL的语义,SQL结束之前,计算不会输出结果,这显然不是流计算期望的效果,所以流式SQL其本质应当是定义一系列流计算任务,同时这些任务是边执行边输出计算结果的。

离线SQL处理的是静态数据表,而流式SQL处理的是数据流,SQL的计算语义(如求和、平均值、数据表连接等)作用在数据流上是否合理。理解这个问题需要做一个概念上的转换:离线SQL是把静态的数据表转换成另一张静态数据表;而实时流计算中的数据流,可以理解为一张动态的数据表(数据会不断增长的动态数据表)。不同的时刻这个数据表又不同的样子,执行SQL会得到不同的计算结果,把这些不同的计算结果像电影幻灯片放映一样串联起来,我们就得到了一张动态的结果表——流式SQL做的工作就是把一张动态数据表转换成另一张动态数据表,这样流SQL的计算语义就比较容易理解了。实时流计算系统要解决的问题就缩小到了“如何实现动态数据表的计算”上来。

流SQL引擎的自动优化是当前主要的技术突破方向

实时流计算系统的易用性,是可以用SQL语言来解决的,网易流计算平台Sloth的生产实践也证实了这一理论。用户不再需要学习各种计算引擎的编程接口,不再需要调试分布式计算程序,不再需要自己维护流计算系统,只需要把原来跑在离线平台上的SQL迁移到实时流计算平台上,就可以完成复杂的实时计算逻辑。

用户端的工作大大减少了,实时流计算平台的工作势必是要增加的,其中比较困难的部分是如何把SQL查询转化成实际的计算逻辑,实现一个支持流式SQL的计算引擎,类似数据库引擎的角色,而且就像之前讨论的,这个引擎的计算逻辑必须符合“增量计算”模型。同时为了能让实时计算结果应用到各种各样的业务场景中,计算引擎需要能够对接各种存储角色,比如数据、消息队列、离线存储等。

双11大屏只是大数据实时流计算的一种应用场景,未来会有越来越多的实时计算场景,比如除了文本计算实时化,图像、语音计算也可以实时化,在线机器学习,物联网实时计算等。实时数据以及实时流计算场景的类型都是指数增长的,实时计算引擎会面临不小的挑战。基于SQL的流式计算描述也正在向前演化,会越来越多的纳入流计算特有的属性,比如输出触发、过期数据处理、多种规则的数据窗口划分等。流SQL引擎的自动优化也是当前主要的一个技术突破方向,相信未来实时流计算会随着技术的进步,应用得跟深入、更广泛。

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 第五人格崩了上热搜 网易旗下多款游戏回应:紧急排查中

    今日上午,网易旗下多款热门手游集体出现无法登录的异常情况,包括《阴阳师》《第五人格》《七日世界》《一梦江湖》等游戏的玩家纷纷在社交平台反馈登录受阻。相关话题“网易游戏崩了”迅速登上微博热搜榜,引发广泛关注。

  • 网易MuMu模拟器亮相 2025 ChinaJoy:技术革新赋能全平台手游生态

    2025年8月,网易MuMu模拟器5.0版本在ChinaJoy展会亮相,成为首个支持Windows、Windows ARM和macOS的全平台安卓模拟器。该版本通过ARM架构深度适配等核心技术,实现"不挑设备、秒开秒用"的流畅体验,可运行超220万款手游。MuMu 5.0同步推出海外版,支持多语言切换,助力网易游戏全球化布局。在高通展区,MuMu展示了基于ARM架构的移动应用解决方案,解决Windows ARM设备运行安卓模拟器的需求。现场玩家可通过搭载骁龙芯片的电脑体验《蛋仔派对》等热门手游的PC端极致表现。此次升级标志着MuMu从工具向跨端智能枢纽的转型,重新定义"无界交互"的游戏体验边界。

  • 渣打中国与网易数帆展开合作,探索数据开发智能化升级

    7月23日,渣打银行(中国)与网易数帆在上海举行线下交流会,探讨金融行业数据治理、AI技术与银行数字化发展等议题。渣打中国首席信息官乔建新等高管出席。作为历史悠久的国际银行,渣打持续加大金融科技投入,加快数字化转型。网易数帆基于20余年技术沉淀,以数据应用为核心,助力金融机构释放数据价值。2022年双方合作升级EasyData平台,此次进一步探讨AI技术提升数据开发效能的新路径,展示自然语言生成代码等功能。未来双方将继续深化合作,推动前沿科技在金融领域的创新应用。

  • 销售易 X 腾讯乐享:构建企业统一知识网络,为业务跟进客户提供有力支撑

    文章探讨了企业业务人员在客户跟进过程中面临的信息分散问题,并介绍了销售易CRM与腾讯乐享的整合解决方案。主要内容包括:1)传统模式下销售人员需手动整合内外部资料,效率低下;2)销售易CRM通过AI助手"百事通"打通多源知识,实现智能搜索和精准推送;3)四大应用场景展示如何提升拜访准备、方案制作、复盘跟进和客服应答效率;4)解决方案通过权限管理确保信息安全,并实时更新知识库。该整合方案将企业沉淀的专业知识转化为业务团队的底层能力,帮助提升响应速度和服务专业性。

  • 销售易14周年:14载同行以数智之力,共绘增长新篇

    销售易CRM平台14年发展历程回顾与未来展望。从2011年创立至今,已从单一移动销售管理工具发展为覆盖营销、销售、服务的全流程智能化平台,服务超万家企业客户。关键发展节点包括:产品从通用型转向行业深耕;发布中国首款AI CRM产品NeoAgent;与腾讯达成战略合作深化生态协同。未来将通过技术锐度(持续升级AI能力)、服务温度(优化交付体系)、生态广度(深化合作伙伴联动)三个维度,助力企业实现智能化转型,共同绘制更广阔的增长新篇。

  • 销售易“安全检测”能力上新:一招堵住安全漏洞,筑牢CRM安全底线

    某国际企业因云数据库未设置密码或安全认证,导致7.69亿条包含API密钥、银行账号等敏感信息的记录泄露,造成重大损失。这一事件促使企业更重视数字化系统的安全建设,尤其是CRM系统的数据安全能力。企业面临三大安全管理挑战:系统部署前缺乏安全检查、运行中管理松散、审计机制不完善。销售易推出的安全检测能力,可帮助企业构建三道防线:部署前安全检查预防漏洞、运行中定期体检消除风险、事后完整审计溯源。通过可视化、系统化的安全管理,护航企业数字化办公安全。

  • 销售易×腾讯会议:线上沟通效率开挂,别让会议拖垮打工人

    文章探讨了销售人员线上会议面临的三大痛点:会前准备低效、会中信息零散、会后跟进乏力。通过销售易CRM与腾讯会议的深度集成,实现了会前自动同步客户资料、智能邀约;会中实时识别关键决策者、记录沟通要点;会后自动生成会议纪要并同步至CRM系统。数据显示,87%的销售人员需切换3个以上系统筹备会议,23%的会议因人员缺席被迫改期。集成方案使会议筹备时间从1小时缩短至30分钟,客户到会率提升,信息遗漏减少,有效解决了销售团队跨系统操作、数据割裂的难题。

  • 销售易罗义谈企业级Agent:宁可精准拒绝,不可错误执行

    文章探讨了企业级智能体(ToB Agent)与通用大模型的本质差异。ToB Agent的核心在于确定性执行力和业务场景深耕,而非创造性发挥。其三大落地门槛是:1)安全合规,需满足数据隔离和跨境合规等刚性需求;2)工程化能力,要将上千个业务API转化为Agent可理解的语义接口;3)价值度量,需建立可衡量的业务成效评估体系。垂直厂商优势在于与业务系统的原生融合,如销售助理Agent能自动将待办事项写入CRM数据流。真正的企业智能化不是替代人类思考,而是将确定性价值深嵌业务毛细血管。

  • 销售易:今年的中国CRM行业盛会——engage2025要聊点啥?

    文章探讨了2025年企业增长的三大核心战略:AI智能体、企业出海和软件自主化。AI智能体已从简单应答进化为能主动思考、执行复杂任务的"超级员工",在营销、销售和服务领域带来效率革命。企业出海不再仅是产品出口,而是构建全球化生态,通过本地化策略开拓新市场。软件自主化则从替代转向创新,成为保障产业安全和提升竞争力的关键。Engage2025大会将分享头部企业在这些领域的实战经验,帮助企业把握增长新机遇。

  • 省心又省钱!格之格大容量易加粉2.0重新定义高性价比打印

    随着消费升级,打印耗材需求从单一功能转向多维度综合标准。格之格大容量易加粉2.0通过技术创新实现三大突破:采用5A级碳粉提升转印率至95%;蓝钻鼓芯技术实现稳定加粉3次以上;页产量提升50%满足高频打印需求。搭配升级版碳粉PRO+,在提升打印质量的同时解决兼容性问题,并通过瓶体设计优化加粉速度30%。产品精准把握用户痛点,以技术积累和用户洞察为基础,持续引领行业变革,提供高性价比的打印解决方案。