河南网站建设服务,代码生成器app下载,wordpress柒比贰主题,织梦网站漏洞应用背景及现状 美团外卖业务自2013年9月启动至今已运营三年时间。截至2016年12月#xff0c;美团点评整个外卖平台的日订单超过900万。从发展速度和体量上看#xff0c;外卖业务仍处在迅猛发展的上升期。与早期飞速增长的状态相比#xff0c;随着规模的不断扩大#xff0c… 应用背景及现状 美团外卖业务自2013年9月启动至今已运营三年时间。截至2016年12月美团点评整个外卖平台的日订单超过900万。从发展速度和体量上看外卖业务仍处在迅猛发展的上升期。与早期飞速增长的状态相比随着规模的不断扩大业务的发展需要更健康、高效这就对业务对象、业务环节的整体业务运营管理提出更高的要求。 特征档案平台向各业务提供了用户/商户筛选和档案管理服务同时提供了数据查询、存储、生成、导出等数据管理功能能够提高运营工作效率。当前用户特征档案平台覆盖全部的外卖用户有特征标签近200个商户特征档案平台覆盖全部的外卖商户有特征标签400多个。 特征档案的用户希望通过平台及时获取到满足筛选条件的结果集并保存固定的筛选逻辑实现定制化筛选。抽象出来主要有以下几个核心诉求 * 便捷的筛选方式。通过点击页面可视化的标签进行便捷查询。 * 即时自助查询。不同的使用者可随时执行各种各样的标签查询。 * 查询结果全量获取。对满足查询条件的结果全集进行全量获取。 面对上面的需求开发人员需要解决以下几个核心问题 * 将海量数据处理加工成标签并实现完善的标签体系。 * 使用合适的存储查询引擎实现即时查询海量数据。 * 使用合适的存储查询引擎实现查询结果的全量获取并提供接口服务。 特征档案的标签生产在外卖数据仓库中完成。针对主题加工出需要的标签围绕用户以及商户建立完善的标签体系支撑上层应用。我们使用了ESElastic Search存储单天的特征数据极大的改善了系统的查询性能实现了即时查询海量数据。对于特征档案查询结果的存储与查询我们可以借助于HBase的非结构化存储和强大的存储能力将数据服务进行包装提供统一的服务客户端进行数据交互业务系统根据需求调用相应的服务解耦与业务系统的逻辑。 目前特征档案平台主要提供以下服务 * 通过特征标签筛选目标用户/商户提供任意标签组合逻辑的即时查询服务 * 将筛选条件保存成为档案支持档案的保存、修改、删除等操作 * 通过档案生成当前满足条件的数据实例支持实例的查看、导出、离线上传等操作 * 提供服务化接口支持通过Thrift接口调用的方式查询用户/商户特征或通过档案、实例获取用户/商户集合。 系统介绍 系统架构 特征档案服务的系统架构如下图所示。主要分为三个部分数据加工层数据仓库、数据服务层waimai_data_feature_service服务、数据应用层。   在数据加工层中特征档案的数据源主要为离线数据。离线数据源存储在Hive中主要收集了外卖数据仓库中的用户、商户相关的业务数据、外卖流量数据。离线数据在数据开放平台进行加工处理将标签结果数据写入线上ES集群中。在离线数据写入线上ES集群的过程中进行了数据去重处理唯一性检验保证了线上筛选结果的唯一性。 在数据仓库之上我们建立了数据服务层并针对不同的应用选择了差异化的数据存储和查询引擎。数据服务层中使用ES作为特征存储和查询引擎使用HBase存储用户/商户实例这里的实例是指为业务方通过特征档案服务勾选出筛选条件并生成的数据结果集。使用了MySQL数据库存储特征档案平台相关的档案、实例、标签管理、平台操作日志等信息。 waimai_data_feature_service是数据服务层的核心使用了公司提供的分布式服务通信框架及服务治理系统框架对外提供Thrift接口。它提供的主要服务包括特征筛选的预览查询档案创建及管理实例生成及管理实例导出离线上传实例标签管理。 最上层是数据产品和应用基于外卖数据平台的特征档案平台提供了可视化的功能并针对不同的业务需求方提供不同的数据应用服务主要分为两大类 * 精准营销提供用户和商户的营销策略支持。 * 运营管理提供商户的管理支持。 服务架构 waimai_data_feature_service服务架构如下图所示整体上分为六个部分服务配置、MySQL服务、HBase服务、ES服务、AOPAspect Oriented Programming、标签管理。   服务配置服务使用了美团统一配置中心MCC实现了服务配置管理。 MySQL服务为特征档案平台相关的档案、实例、标签管理、平台操作日志等信息提供存储和查询服务。 HBase服务使用HBase实现实例的存储和查询。 ES服务提供两种ES查询方式。FromToQuery即传统的分页查询适合小数据量的浅分页查询它的典型使用场景是特征档案平台中通过勾选某些筛选条件来预览数据结果预览查询。ScrollQuery即深分页查询用于一次性查询大量的数据甚至是全部数据它的典型使用场景是通过筛选条件获取到全部数据结果集实例生成。 AOP服务提供了两种切面日志上报和服务开关。日志上报即日志收集埋点适用于方法级别。服务开关实现了对不同服务的开关管理。 标签管理标签管理模块将标签分成了多种类型不同的类型实现了不同的标签管理方法这里的标签管理方法是指标签实现页面展示逻辑的方法标签的筛选逻辑转换成可供ES查询的过滤器方法通过关联标签维表将标签的查询结果转换成适合的结果形式方法。FeatureShow提供了特征档案平台中的特征标签展示服务GenESFilter实现了将标签查询语言解析成ESFilter的功能ParseQueryResult则实现了将ES查询结果解析成最终可展示的友好的结果形式。 特征标签 标签体系标签的生产、存储与查询是我们在系统开发过程中最核心的技术问题也直接影响着整个特征档案平台的性能和用户体验。在本文前面提到的几个核心问题就是我们需要解决的 * 海量数据处理加工成标签并实现完善的标签体系 * 使用合适的存储查询引擎实现即时查询海量数据 * 使用合适的存储查询引擎实现查询结果的全量获取并提供接口服务。 标签体系 特征档案平台的标签体系如下图所示。标签分为两大类商户特征标签和用户特征标签。每一大类标签中我们又继续划分了维度。商户特征包含已合作外卖商户和未合作外卖商户两个维度。用户特征包含外卖用户和外卖设备两个维度。   在维度划分的基础上继续按照标签的属性进行分组。商户特征属性包含基本属性、经营能力等。用户特征属性包含用户自然属性、用户交易属性等。在各个属性内部是具体的特征标签特征标签是一个或多个具有相似业务含义的初级标签的聚合形式。初级标签是指在数据仓库中最先生产出来的细粒度的标签。标签的全部行为由标签管理方法决定标签的行为包含标签的展示样式新增、更改、删除等、标签的使用逻辑等。 标签体系为特征档案平台提供了可靠、稳定、规范的标签管理服务通过标签体系我们可以规范数据开发流程、简化和统一标签的生产方式。我们使用ES搜索引擎来实现面向应用的标签数据存储ES自身有很强大的实时搜索和分析性能。标签管理服务便于开发人员灵活的配置平台中的可用标签未来可以支持定制化的标签管理也可以结合其他服务深入分析挖掘特征档案平台的标签。 标签生产 特征档案标签的生产在外卖数据仓库中完成标签生产数据流如下图所示。数据流主要包括三大部分数据源、Hive数据仓库、数据应用。其中Hive仓库中又分为四个部分ODS表群、基础表群FACT表、DIM表、维度快照表、集市层表群AGGR表、应用层表群TOPIC表。数据应用层分为两个部分应用缓冲层和应用层。标签生产过程分六步源数据获取Extract、ODS层表群向基础层表群转换Transform、基础层向集市层的数据汇总、集市层向主题层的数据集成、主题层向应用层的缓冲、最终形成应用数据。   数据源当前主要包含外卖各个业务线的业务库和外卖日志。我们将这一部分数据同步到Hive数据仓库中形成ODS层表群和源系统同构的表群。从ODS层向基础层表群转换得到我们的基础数据层其中包含事实表、维度表、快照表。基础数据层中的表是我们生产标签数据的核心基础表也是我们形成初级数据聚合表的直接数据源。基础数据层包含的数据例如订单事实、商户事实、行为事实等。 聚合层是我们形成初级数据聚合的地方也是初级标签生成的地方。在聚合层我们将初级标签划分成了不同的属性依据标签属性分组不同的分组对应不同的聚合表。 初级标签生成后我们将初级标签集成到主题层。主题层是我们数据仓库产出的可面向应用的最终结果表群。 数据应用部分我们首先进行了一层缓冲即主题层过度到最终线上应用数据的应用缓冲层。在这一层我们将初级标签聚合成终极标签存储结构选用了Hive的Map结构存储。这样的好处是将一个或多个具有相似业务含义的初级标签统一管理并在标签体系中具有相同的标签行为。应用缓冲层仅存储了最新一天的数据。 最后的应用层我们将缓冲好的数据写入线上的ES集群中每天都会进行重建索引的流程。 标签存储与查询 我们在Hive中完成特征数据的加工与存储整体特征档案系统几乎涵盖了外卖业务的所有指标。我们首先将指标按照主题归类针对主题加工出需要的标签然后建立层次准确清晰的数据底层模型将不同主题的数据进行集成围绕用户以及商家建立完善的标签体系支撑上层应用。 在数据仓库之上的数据服务层并针对不同的应用选择了差异化的数据存储和查询引擎。数据服务层中我们决定使用ES作为特征存储和查询引擎主要有以下理由 * ES整个系统设计和架构非常简洁运维方案简单也有专门的工具支持 * ES具有强大的实时搜索和分析性能针对大规模数据提供了优秀的查询性能秒级查询 * ES便捷的数据交互方式Restful API配合上完善的标签管理体系使特征档案的标签扩展性很强通过JSON格式可以灵活变更标签的存储逻辑。 标签查询语言 特征档案平台支持的查询语言是在标签上定义的一阶谓词逻辑标签查询语言。传统意义上的标签通常仅具有“是否”逻辑如“成熟用户、北京市”。特征档案中的标签突破了传统意义上标签的定义自身支持多种查询逻辑大于、小于、是、否。在标签自身的查询逻辑基础上标签与标签之间也支持与、或、非及组合逻辑。 举例来说特征档案支持如下的查询语言 “物理城市名称淮北与是否有营业执照是或是否有餐饮许可证是与交易额大于80”。 当前的标签查询语言极大的丰富了标签之间的查询可能组合。以用户成熟度标签举例说明包含三种传统标签初级用户、成长用户、成熟用户。特征档案平台支持对这三种传统标签进行直接筛选查询也支持通过对历史订单数的范围自定义完成用户成熟度标签的自定义筛选查询。 总结与展望 特征档案平台主要的使用场景是营销、运营管理等领域。随着美团外卖业务的发展特征档案平台持续的遇到新的问题和挑战。总结开发经验我们归纳出以下数据系统设计的要点 * 数据仓库 特征档案系统涵盖的指标范围广为了整合系列指标我们首先将指标按照主题归类针对主题加工出需要的标签然后建立层次化的数据底层模型将不同主题的数据进行集成围绕用户以及商家建立标签体系支撑上层应用。 * 数据存储 针对不同场景需要合理地选择存储组件。对于特征档案实例的存储由于数据量巨大同时需要通过追溯历史来进行营销效果分析等深入的数据分析工作我们借助于HBase的非结构化存储和强大的存储能力。对于特征档案的生成和查询我们使用ES来存储借助于ES的索引机制我们可以快速的查询和提取符合条件的用户或者商户。对于系统的管理以及效果报表的展示数据等结构化的数据我们选择了结构化的MySQL。 * 数据服务 在数据服务上借助于分层和SOA的思想我们针对不同的存储来源提供不同的服务组件实现数据查询和数据提取。同时我们将数据服务进行包装提供统一的服务客户端进行数据交互业务系统根据需求调用相应的服务解耦与业务系统的逻辑。 未来外卖特征档案平台将持续为外卖运营系统提供数据支持将从以下几个方面进行优化 * 接入第三方标签 未来应用将依托于公司内外部数据获取更加准确的特征标签。 * 支持个性化的定制标签使用 当前系统的标签还仅仅局限于事先预计算的用户特征未来将支持用户自定义标签然后从数据集中筛选出用户更加灵活、自由的提取满足特征的群体。 * 数据挖掘 未来将会对常用的特征档案进行深入挖掘分析该群体的行为特征更加准确定位满足用户需求。