在一年多前,我们对外正式开源了 btrace(AKA RheaTrace),它是基于 Systrace 的高性能 Trace 工具,目前字节跳动已经有接近 10+ 产品团队使用 btrace 做日常性能优化工作。在这一年期间,我们收到很多社区以及公司内部反馈,包括使用体验、性能体验、监控数据等上都收到众多反馈,我们汇总了大家反馈的内容,主要包括以下三类: 使用体验:Windows 有着大量用户群体,但 btrace 1.0 未支持;桌面脚本依赖 Systrace 和 Python 2.7 环境,导致环境搭建十分复杂,此外手机端还依赖外部存储访问权限,在初次使用时很容易导致打断。同时产物体积庞大,网页打开速度很慢。 性能体验:大型应用插桩数量达到百万级别,性能损耗接近 100%,对性能优化工作产生一定困扰。 监控数据:在 Trace 分析过程中,有些信息是缺失的,并不知道耗时原因,比如目前 Trace 中仅包含 synchronized 锁信息,缺少 ReentrantLock 等其他锁信息,同时渲染监控只有部分系统关键路径信息,缺少业务层信息。
早在 2012 年淘宝开始无线化探索时,店铺页面就作为一个重要的业务形态出现在「淘宝APP」之中。店铺是电商交易核心链路中的重要一环,也是商家运营私域流量的一个重要载体。通过店铺平台,商家可以个性化装修自己的店铺页面,运营自己的会员粉丝,与消费者之间创造更多的连接,挖掘更大的价值。因此,店铺的开放属性也一直是店铺业务的重要能力之一。伴随着店铺产品的迭代升级、运营策略的升级、二方业务的不断接入、以及开放能力的增强和店铺定制化程度的提升,店铺框架在技术侧也在不断的演进升级中。 最早起的无线店铺形态,页面结构比较简单,装修模块只支持官方定制,无法开放给外部开发者进行定制。 店铺装修能力探索。提供了一套模块开放的 JSON 协议,店铺装修模块具备了一定的开放能力。但是 JSON 协议为非标准化协议,可读性差,难以组件化,无法实现复杂交互。 店铺样式动态化。基于高性能动态化框架 Weex 进行开发,对接前端完善的工具链和研发模式,符合前端开发习惯,有助于提升 ISV 生产力,同时支持动画、支持轻量级的组件扩展和 API 扩展,交互体验和端侧能力得到巨大提升。
消息中心是一个集中管理、分发通知和提醒的平台,可以让用户或系统消息更方便、快捷的触达给指定用户或者系统。并且可以帮助用户或系统更好地管理消息的生命周期,屏蔽不同消息渠道差异与技术差异,从而提升效率与体验,降低维护成本。
开发者在程序设计时,擅于运用优秀合理的算法相较于被动陷入逻辑之沼潭,是更被推荐的上上之策。算法的思想精髓是值得每个开发者深入研究和细细品味。本文总结腾讯游戏、微信红包等腾讯王牌的后台开发在设计过程中涉及到的一些常用算法,试图尽量以简洁的文字和图表来解释和说明其中的思想原理,希望能给大家带来一些思考和启示。
端到端语音识别系统在足够多数据上训练后,往往能达到不错的识别效果,然而在实际应用场景中,对于不常见的专有名词,例如人名、产品名、小区名等,往往容易识别错误,此类问题需要快速修复,这就需要用到热词增强功能。 WeNet目前已支持CPU Runtime的热词,包含CTC Prefix Beam Search 和 WFST Beam Search两种解码器的实现,我们在GPU Runtime中的ctc_decoder解码器的基础上实现了热词增强,可同时支持流式与非流式服务,GPU热词已在线上广泛应用。近期,我们将热词代码开源至了WeNet社区[1]。 本文将分别介绍热词的实现方案、使用方法,以及测试效果。
从传统数仓、湖仓一体再到云数仓,技术快速迭代,云数仓已经成为数字化基础设施中的关键“底座”。如何才能丝滑使用一款云数仓产品,本篇文章用五个步骤教你搞定!
淘宝开放平台是阿里与外部生态互联互通的重要开放途径,通过开放的产品技术把阿里经济体一系列基础服务,像水、电、煤一样输送给我们的商家、开发者、社区媒体以及其他合作伙伴,推动行业的定制、创新、进化, 并最终促成新商业文明生态圈。 开放业务场景常常跟随内部业务的变化,在数据层面上会频繁发生变更。传统数据库在成本、易用性方面无法很好满足生态异变场景的需求。数据空间的探索,是为了在生态场景中支撑业务快速增长的基础上,提供一个可存储海量数据、单表可自动扩容、字段可无限扩充、查询效率不低于 MySQL 数据库的产品。如何以一套统一的数据架构,支持不同用户按需自定义数据模型,保证数据定义层面的扩展和变更不会影响自身和其他租户业务功能的可用性,将数据和能力集成在平台自身。为此我们打造官方弹性存储空间,在安全可控的情况下沉淀数据支撑更多业务场景标准化开放集成。
右图是哈啰APP的客服中心,用户进入该页面,系统会根据用户的使用情况智能推荐高频问题,并猜测用户想解决的问题,这部分标准问题的解决方案由业务专家进行整理,能涵盖用户大部分的意图。对于解决不了的问题,用户进入IM入口,聊天机器人会和用户进行对话。机器人基于知识库进行匹配,针对每个意图分别配置答案,或者给出具体解决方案。 目前的痛点在于: 知识库迭代更新费时费力 模型难以跨业务通用 解决方案涉及到多模态的复杂数据融合问题 多轮任务型会话上下文的长距离依赖问题