当前位置: 首页 > news >正文 网站图标素材图片西安公司网站 news 2025/11/1 7:05:02 网站图标素材图片,西安公司网站,松江新城做网站,绍兴网站制作价格作者 | 交易中台团队 导读 随着公司内容生态的蓬勃发展#xff0c;内容产出方和流量提供方最关注的“收益结算”的工作#xff0c;也就成为重中之重。本文基于内容分润结算业务为入口#xff0c;介绍了实现过程中的重难点#xff0c;比如千万级和百万级数据量下的技术选型和… 作者 | 交易中台团队 导读 随着公司内容生态的蓬勃发展内容产出方和流量提供方最关注的“收益结算”的工作也就成为重中之重。本文基于内容分润结算业务为入口介绍了实现过程中的重难点比如千万级和百万级数据量下的技术选型和最终实现满足了业务需求的同时最终实现了高效准确的资金结算文章旨在抛砖引玉希望能给读者带来思考和帮助。 全文5185字预计阅读时间13分钟。 01 业务介绍 什么是内容分润平台呢简单来说百家号等平台负责内容的生产和引入手百等渠道方负责内容的分发凤巢等广告平台负责在此流量上进行变现。而分润平台则是根据上述各方提供的数据通过核心策略模型赋予作者、媒体、小程序主和用户合理的、差异化的、有竞争力的分润收益以吸引更加优质的内容和流量的入驻和合作。通过这种多方相互协作模式实现互惠共赢的目的。 1.1 三大功能点 针对上述的业务特点结算系统需要包含三大功能用于支撑内容分润业务的准确性、合规性、及时性。 功能一结算模型 这是我们最关键的功能它负责将出色的文章转化为作者的分润收益。该模型的输入数据包括数据中台生成的用户维度的日分润明细和日补贴明细而输出则是每月的结算账单这些账单会被发送到统一业务平台用于付款。在这个过程中我们经历了一系列步骤包括每日的计算、每月的总结、预提、计提和账单生成等所有这些步骤都是按照不同的维度逐层计算和聚合的最终实现了账单的付款。 功能二C端内容交易平台 这个功能主要面向用户旨在帮助作者及时查看他们的收益并进一步激励他们的创作动力。作者只需登录平台即可查看每日的预估收益、文章的分发情况、浏览量等数据还可以查看每月实际的付款账单提供发票等相关数据。 功能三O端管理端平台 为了确保资金结算更加合规和准确整个结算体系引入了运营管理和反作弊等不同角色。这些角色在管理端负责资金管控、发票审核、黑名单管理等各种操作以确保整个过程的合规性。 1.2 名词解释 PALO百度数据仓库是基于开源ApacheDoris构建的企业级MPP云数据仓库可有效地支持在线实时数据分析。 BNSBaidu Naming Service是指百度名字服务。BNS提供服务名称或服务组名称到服务所有运行实例的映射你可以根据一个名字服务名或服务组 获取服务的信息包括实例的主机名和IP、实例的运行状态、端口、负载、实例自定义配置标签以及其他实例自定义信息。用于满足服务交互中常见的资源定位、IP白名单维护、查询服务下的机器列表、负载均衡以及其他任何依赖于这些信息的开发、测试和运维需求。目前BNS已经在全百度各业务线中广泛使用UB、RAL等框架的支持和各语言SDK也已经发布。 02 业务架构 2.1 架构分层介绍 图1是整个内容分润的业务架构。内容分润结算面向数据中台业务方用户作者和运营管理提供服务。 △图1.内容分润结算平台系统架构 2.2 关键汇总文件 对于数据中台我们是直接下游同时在整个内容分润流程的流程中我们扮演的是最末端的角色。百家号、问一问、百度文库等业务会将作者的内容分发数据、广告贡献等给到数据中台数据中台按照各种分润计算模型归一化数据结构产出三份较为详细的明细文件包括日分润明细日内容分发明细日补贴明细。 日分润明细作者内容分发或流量贡献所获得的分润详情明细中包括分润金额文章分发渠道父子账号等字段。 日补贴明细基于运管管理的二次资金分配详情。 日内容分发明细作者的内容分发贡献报表。 数据中台会将这些数据以离线文件的形式提供给我们结算系统每日基于配置规则进行离线计算最终将数据进行降维汇总。后续每月月初基于这些汇总数据做二次汇聚产出用户收益账单。 2.3 服务提供方式 结算系统根据外部需求提供多种接入方式。面对业务方结算系统提供API、网页嵌入模式接入方式。若业务有其自建平台可将结算系统提供的网页嵌入其平台内部用于展示用户的收入信息或上传发票等。若无自建平台也可API形式接入。新用户在业务侧申请入驻作者后业务调用结算系统API完成用户注册开通计费单元维护财务信息等。后续作者在内容分润平台查看其收入文章分发报表重新维护财务信息等。若有重要变更或通知系统通过站内信方式通知作者。 系统整体支持三种账号体系面向作者提供两类百度常用账号登录方式面向管理端提供内网账号登录方式基于此账户体系做了灵活权限控制不同用户登录管理端看到的可操作菜单栏各不相同避免出现越权操作。同时基于此账号体系能灵活获取上下级构建了自动化的审批流程。 结算系统的平稳、合规、高效运行离不开各类协同生态的合力支持。反作弊能力贯穿整个内容分润的始终着力于打击黑产识别作弊用户。OCR、发票平台为发票识别发票鉴定提供了通用服务。财务的各类审核业务的多维度监管则进一步为资金结算的合规安全保驾护航。各类角色、各个系统协同合作促成了目前内容分润结算系统。 03 技术难点和细节 上文以整体的视角介绍了内容分润结算系统的架构设计下面我们将枚举几种业务场景构建过程中的技术选型来详细介绍该系统的技术落地。 3.1 千万级数据日度任务的技术选型 场景每日上游会给我们产出明细数据数据为细粒度量级为大几千万级别格式为AFS文件离线文件需要基于某些过滤规则和计算规则做二次汇聚后续支持多维度查询作者端展示报表。 3.1.1 DB批处理方案 最初任务是在物理机上通过sql批处理任务串行执行简单明了同时成功同时失败。但随着数据量持续递增串行执行可能面临着实效性问题。基于原始的DB思路我们构建了基于DDBS关系型分布式数据库系统的解决方案全部依赖于DB因汇聚是基于用户维度所以基于子账号uid计算shardingKey分表过滤规则也落入库中后续使用表之间连接过滤相同分表中的同子用户数据汇聚。使用在线服务按照分表规则启动多线程执行任务实时写入日汇总数据表。具体方案如图2。 △图2.基于DDBS的解决方案 3.1.2 离线计算 利用SPARK天然的分布式计算能力采用离线计算方案汇聚时使用SPARK计算。基于上游提供的离线文件构建RDD1文件后续基于一些过滤规则过滤数据和然后基于集合规则使用reduceBykey聚合产出新的RDD2文件。这个RDD2文件就是我们后续使用的日表数据。因有各类在线查询需求需持久化到数据库中又因产出的日表需支持各角色多维度查询调研后采用PALO数据仓库具体方案如图3所示。 △图3.基于SPARKPALODB解决方案 对比两种方案后我们最终选择方案二实施。方案二的优点比较突出1.SPARK集群自带分布式计算能力无需我们按照方案一方式自行实现分布式计算2.数据存储于PALO相比于传统的MYSQL在大批量数据和多维度报表场景PALO性能优势更加明显。3.方案一有一个最大也是我们最踩坑的性能问题实时大批量写入DDBS数据库导致较高的主从延迟影响了其他业务场景。 3.2 百万级数据的月度任务 场景基于上述场景会产出月表数据量大约在百万级别遵循月度出账计算模型产出最终的预提数据。日度任务和月度任务的最主要区别在于日度任务计算过程密集月度任务过滤过程密集。 月度产出计提任务实际就是计算用户本月收入以及本月可结算的收入可结算收入以前累积未结算金额本月收入。目前该任务输入的数据量相对较少且以过滤为核心因此此类任务未采用SPARK计算。而各类过滤规则与当前用户各种属性息息相关因此任务围绕用户uid展开采用以用户uid为底表先通过各类策略过滤uid,后置再计算的方案。数据量虽然相对日度任务较少但毕竟在百万级别如果使用单一线程处理所有用户速度会极其缓慢所以必须拆分任务使用并行计算的方式提升效率而如何拆分任务如何保障任务全部执行是月度任务模型需要考虑的核心问题。 3.2.1 幂等的分布式数据批处理框架master节点 我们设计了主从任务模型用于支持上述任务拆分执行主结点先置启动用于数据备份、初始化出账任务以及调度从节点。从结点则等待主结点启动子任务指令启动后获取子任务执行。具体模型如下图45所示。 △图4.主节点生命周期 图5描述了主节点的生命周期主节点收到出账指令后优先做的是账户余额类表的数据备份这个动作归因于我们月度任务的特殊性月度任务产出的数据表在其他时间不会更新即上个月出账结束后账户余额类的相关表会在下一次出账完毕才更新。 备份表的环节非常重要 1.是可以在月度任务结束后做数据总额验证工作 2.是可以用于兜底一旦月度任务产出数据异常也可回退到备份数据重新启动任务。 主节点任务的第二步则是确认出账任务的用户uid范围我们系统为了既支持C端用户体系也支持商家账号体系重新设计了一套内部用户id不论是用户账号还是商家账号的id均会唯一映射成一个内部uid后文提到的该任务的uid均为内部uid。内部uid为自增id因此查询数据库即可获取到最大uid和最小uid也就确定了我们本次任务的uid范围。在redis中设置两个key代表uid的最值。至此出账任务的前置准备工作就完成了。主节点获取执行子任务配置的BNS基于BNS解析出所有实例发送子出账任务指令子实例获取到指令后启动N个线程执行任务即假设有M个子实例那最终就是M*N个线程同时执行任务。从主节点的任务可看出该任务无其特殊性即主节点实际和从结点是平等关系任何实例都可成为主也可成为从这就为调度任务进一步提高了灵活性。 3.2.2 woker节点的任务流程 △图5.从节点生命周期 图5以上述实例中的一个线程作为示例详细描述了线程启动后执行的子任务的过程。首先获取目前的最大uid和最小uid最大uid为主节点固定值最小uid则是一个游标。若最小uid已经大于最大uid则代表所有uid已经处理完毕线程结束。若不满足上述条件则继续执行任务利用redis的incryBy指令将最小uid向前移动N个数值这N个uid就是本次子任务的执行范围。拿到uid后先将uid变为N条任务批量落入Job表,并设置初始化状态。落库失败引入报警机制。落库成功后按照出账模型启动过滤规则。所有被过滤的用户uid均批量写入job表设置任务结束状态并且标记过滤原因便于后续运营查询。过滤规则执行完毕剩余uid十不存一此时我们利用sql计算本月用户结算金额。计算完毕写入jobDB的临时产出表设置job任务完结态此时一轮子任务就执行完毕。线程继续重复执行上述过程直至所有线程均结束代表出账任务执行完毕。 3.2.3 出账确认任务 所有任务执行完毕后主节点会收到出账任务确认指令。 △图6.出账确认任务 该任务的主要目的就是确认所有uid均执行完毕无疏漏具体如图6所示。上文提到子任务执行时都是先置落库job表的确认任务的第一步扫描job表看是否有非完结态的任务若有则启动子任务重新执行这批数据。确认任务第二步获取job表中所有执行的uid数量和需要执行任务的uid数量确认数量是否一致若不一致重新执行出账任务任务基于uid和业务期间重入已经被执行的任务会被跳过。多次兜底策略执行完毕后数据总量校验一致后会将临时月度产出数据写入正式DB清理临时数据。之所以设置临时表1.是为了数据校验工作若数据校验异常可快速清理该表重新启动任务2.若直接写入正式线上库大量数据的并发写入会导致数据库的主从延迟会影响其他线上实时业务场景。后置写入实现了另类的『读写分离』任务过程中仅读正式表任务完毕临时表往正式表写入数据。 04 总结 本文主要介绍了在构建结算系统过程中的几个技术重点和难点而要维护整套系统的平稳运行不仅有这些技术重点也有看似微不足道但却环环相扣的细枝末节保障每个环节不掉链子是运维工作的重要一环后续我们将着力于提升运维效率节省人力成本向着运维自动化、智能化改造。另外目前的技术方案取决于我们的数据量级未来业务蓬勃发展业务架构也会持续迭代期待我们向着更加完备的架构前进。 ——END—— 推荐阅读 小程序编译器性能优化之路 百度APP iOS端包体积50M优化实践(六)无用方法清理 基于异常上线场景的实时拦截与问题分发策略 极致优化 SSD 并行读调度 AI文本创作在百度App发文的实践 文章转载自: http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn http://www.morning.mytmn.cn.gov.cn.mytmn.cn http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn http://www.morning.grzpc.cn.gov.cn.grzpc.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.rgpy.cn.gov.cn.rgpy.cn http://www.morning.bbjw.cn.gov.cn.bbjw.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.hgfxg.cn.gov.cn.hgfxg.cn http://www.morning.zkqsc.cn.gov.cn.zkqsc.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.rpgdd.cn.gov.cn.rpgdd.cn http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn http://www.morning.krdxz.cn.gov.cn.krdxz.cn http://www.morning.tdxlj.cn.gov.cn.tdxlj.cn http://www.morning.hpprx.cn.gov.cn.hpprx.cn http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.mlbn.cn.gov.cn.mlbn.cn http://www.morning.fsnhz.cn.gov.cn.fsnhz.cn http://www.morning.pjzcp.cn.gov.cn.pjzcp.cn http://www.morning.yckwt.cn.gov.cn.yckwt.cn http://www.morning.rblqk.cn.gov.cn.rblqk.cn http://www.morning.hxljc.cn.gov.cn.hxljc.cn http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn http://www.morning.kcrw.cn.gov.cn.kcrw.cn http://www.morning.kcyxs.cn.gov.cn.kcyxs.cn http://www.morning.wdhzk.cn.gov.cn.wdhzk.cn http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn http://www.morning.rdxnt.cn.gov.cn.rdxnt.cn http://www.morning.wkmrl.cn.gov.cn.wkmrl.cn http://www.morning.krwzy.cn.gov.cn.krwzy.cn http://www.morning.mztyh.cn.gov.cn.mztyh.cn http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.stxg.cn.gov.cn.stxg.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.pbxkk.cn.gov.cn.pbxkk.cn http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn http://www.morning.dztp.cn.gov.cn.dztp.cn http://www.morning.nqgds.cn.gov.cn.nqgds.cn http://www.morning.mbrbk.cn.gov.cn.mbrbk.cn http://www.morning.ywndg.cn.gov.cn.ywndg.cn http://www.morning.kpbgp.cn.gov.cn.kpbgp.cn http://www.morning.fy974.cn.gov.cn.fy974.cn http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn http://www.morning.xxlz.cn.gov.cn.xxlz.cn http://www.morning.sfcfy.cn.gov.cn.sfcfy.cn http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn http://www.morning.frnjm.cn.gov.cn.frnjm.cn http://www.morning.jfwrf.cn.gov.cn.jfwrf.cn http://www.morning.qzxb.cn.gov.cn.qzxb.cn http://www.morning.wzknt.cn.gov.cn.wzknt.cn http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn http://www.morning.nrpp.cn.gov.cn.nrpp.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.yqtry.cn.gov.cn.yqtry.cn http://www.morning.mydgr.cn.gov.cn.mydgr.cn http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn http://www.morning.mytmn.cn.gov.cn.mytmn.cn http://www.morning.plqsz.cn.gov.cn.plqsz.cn http://www.morning.drtgt.cn.gov.cn.drtgt.cn http://www.morning.crkhd.cn.gov.cn.crkhd.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.yxlhz.cn.gov.cn.yxlhz.cn http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.fssjw.cn.gov.cn.fssjw.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.rycd.cn.gov.cn.rycd.cn http://www.morning.xhhqd.cn.gov.cn.xhhqd.cn http://www.morning.hrgxk.cn.gov.cn.hrgxk.cn http://www.morning.srjbs.cn.gov.cn.srjbs.cn http://www.morning.txzqf.cn.gov.cn.txzqf.cn http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn 查看全文 http://www.tj-hxxt.cn/news/267382.html 相关文章: 网站开发人员要求旅游网站建设模板 计算机应用技术网站开发基础知识宁波网络推广培训 运动网站源码公司做的网站怎么维护 免费建网页南昌网站排名优化软件 什么网站可以做市场分析呢株洲网站建设哪家好 南昌二手网站开发方案交易网站怎么做 高新网站建设东莞桂城网站建设 广州做网站哪里好打开云南省住房和城乡建设厅网站 网站占有率城市建设网站设计 简洁大方网站模板wordpress recent posts 做局域网网站2345网址导航官网官方电脑版下载 郑州做网站要多少钱.org做商业网站 设计师个人网站欣赏建设银行网站名怎么写 成都武侯区建设厅官方网站小说网站排名 网站建设与管理需要哪些证书百度一下首页极简版 安庆网站建设哪家好西安建设工程信息网的地址 江苏省电力建设质量监督中心站网站昆明优秀网站 wordpress网站mip改造网站建设推广哪家专业 网站服务器租用高防就不怕攻击吗南宁网络优化seo费用 防城港网站seowordpress点击分类目录404 jsp网站开发过程长沙seo网站管理 阿里云可以建设多个网站wordpress多租户 网站备案app网站后台新闻不显示如何刷新 济南专业网站开发公司汕头网站制作哪家强 wordpress建站必须选择主题企业产品网站源码 商丘网站制作公司企业网站备案 淘宝客 wordpress字体更改沈阳seo关键词 简述网站建设基本流程答案乔拓云h5制作 做一网站多少钱凡科小程序直播 懂得做网站还可以做什么兼职自动做海报的网站