转转的新媒体业务重点在于利用主流短视频平台,例如抖音、快手、B站、小红书等,开展内容营销。通过创建和维护高质量内容账户,在这些平台上发布高质量内容,促进产品推广和品牌曝光。这包括精心策划与品牌相关的吸引人内容和线上活动,通过广泛或精准的信息推送,提高用户参与度和品牌知名度。有效利用粉丝经济,实现营销目标。然而,这些活动都依赖于各大平台账号和视频数据,因此大规模数据的收集、存储和处理成为我们面临的主要挑战。
在实际业务中,转转的新媒体工作人员会运营自己的账号,这些账号会在抖音、快手、B站、小红书、微博等各大平台上发布视频。在用户授权之后,我们会收集这些视频的相关数据保存到我们的视频表中。在此过程中我们遇到了如下问题:
基于上述痛点,我们决定开发一套数据服务中台系统来解决这些问题。经过多次沉淀与总结,最终对数据服务中台有了一个清晰的定位,即能够一站式地完成数据的统一定义、统一生产、统一消费。(数据服务是一种提供与数据相关的多种服务的过程,包括数据收集、存储、处理、分析和呈现,旨在帮助组织更好地理解和利用其数据资产,从而支持决策制定、创新和业务发展。)
数据统一定义
为了更好的兼容多数据源场景,通过以下三个关键点来确保数据的质量和可靠性。
// 统一数据格式
class StandardData {
// 数据收集时间
Time dataTime;
// 数据来源
DataSource dataSource;
// 数据内容
DataDetail dataDetail;
}
// 数据分发处理
class DataHandleDispatcher {
DataHandler findHandler(StandardData standardData) {
return dataHandler;
}
}
// 数据处理器
class DataHandler {
Rule rule;
// 处理数据
void handler(StandardData standardData) {
if (check(rule, standardData)) {
doHandler(standardData);
}
}
void doHandler(StandardData standardData) {
//
}
// 检验数据内容,防止脏数据流入系统
boolean check(Rule rule, StandardData standardData) {
//
}
}
数据服务平台将数据收集的主导权交给用户,实时监听上游MQ消息,保证了数据的敏捷性。
基于我们当前日均亿级的视频数据增量以及百亿级的视频总量,结合我们需要进行大规模数据存储、分析以及实时查询的需求,我们选择了Doris,鉴于它有如下几个方面的特性:
相比与我们之前采用的Hbase方案,Doris能够支持复杂的关系查询并且能够以秒级速度输出结果,而Hbase并不支持复杂查询。其次,Doris由于高度兼容MySQL协议,在学习成本以及使用体验上相比于Hbase拥有更好的表现。
本文介绍了转转数据服务平台的实现,现已成为新媒体业务体系中的核心组件,承担着数据治理的统一服务职责。未来我们会持续迭代系统的功能,以满足不断变化的业务需求和用户期望。
关于作者
李文涛,现任转转乾数据技术部后端研发工程师。
想了解更多转转公司的业务实践,欢迎点击关注下方公众号: