一种扣费方法、装置、系统及计算机可读存储介质制造方法及图纸

技术编号:20427237 阅读:76 留言:0更新日期:2019-02-23 09:13
本发明专利技术公开了一种扣费方法、装置、系统及计算机可读存储介质,属于通讯技术领域。所述方法包括:消息组件服务接收负载均衡服务的扣费请求消息;将所述扣费请求消息写入消息队列,以便扣费服务集群中的节点从所述消息队列中拉取未处理的扣费请求消息并根据所述扣费请求消息进行业务处理。采用本发明专利技术,扣费服务集群中的各节点可以根据自身能力从消息组件服务中拉取扣费请求消息进行业务处理,既保障了扣费服务的稳定性,又确保了扣费的实时性、准确性。

【技术实现步骤摘要】
一种扣费方法、装置、系统及计算机可读存储介质
本专利技术涉及通讯
,尤其涉及一种扣费方法、装置、系统及计算机可读存储介质。
技术介绍
随着互联网技术的普及,互联网的各种应用已经渗透到人们的日常生活之中,在这个前提之下,广告主们为了提升自身商品的知名度与曝光度,开始在互联网中投放广告,具体的,广告主(即用户)通过广告平台在互联网中投放广告,而广告平台在将广告主的商品信息推送给用户时,会根据监播信息进行相应的扣费处理。请参阅图1,是现有技术中的一种广告业务系统架构。客户端从广告SSP(ServiceSwitchingPoint,业务交换点)服务中获取到广告,并在终端进行某些操作后触发扣费监播,扣费监播经负载均衡服务(如Nginx负载均衡)后,依据预先配置的转发策略分发到广告扣费服务集群的某个节点上进行实际的扣费业务处理(可能还包含广告下架处理)。正常情况下,该业务架构能够满足业务需求,但在特殊的大并发监播扣费场景下,极可能会出现由于广告扣费服务集群的处理能力不足而造成扣费服务集群的大面积崩溃,并最终使得广告扣费失败与广告下架失败,给广告平台本身造成收益上的损失。为了克服上述问题,现有技术对图1的系统架构进行了优化,请参阅图2,在负载均衡服务转发扣费监播给广告扣费服务集群的同时,负载均衡服务会将扣费监播携带的相应参数数据写入日志中,供离线数据统计服务进行定时统计(5或10分钟为一个定时周期),并且新增的扣费核算服务会将离线统计出的扣费数据与扣费服务实时扣费的结果进行对比校验,如若因某些特殊原因(服务宕机等)造成扣费数据不一致,则以离线数据为基准进行数据恢复。该系统架构的业务方案保障了广告平台的经济收益,但由于离线统计与实施扣费的校验存在时间间隔,很可能会造成日限额不足的广告延迟下架(预算超支)或广告主的余额被扣成负数等情况。因此,有必要提供一种扣费方法、装置、系统及计算机可读存储介质,以解决现有技术不能在大并发监播扣费场景下,确保广告平台扣费服务的稳定性以及扣费的准确性的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种扣费方法、装置、系统及计算机可读存储介质,以解决现有技术不能在大并发监播扣费场景下,确保广告平台扣费服务的稳定性以及扣费的准确性的问题。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的第一个方面,提供一种扣费方法,所述方法包括以下步骤:消息组件服务接收负载均衡服务的扣费请求消息;将所述扣费请求消息写入消息队列,以便扣费服务集群中的节点从所述消息队列中拉取未处理的扣费请求消息并根据所述扣费请求消息进行业务处理。根据本专利技术的第二个方面,提供一种消息组件服务,所述消息组件服务包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的方法步骤。根据本专利技术的第三个方面,提供一种所述系统包括负载均衡服务、与所述负载均衡服务通信连接的消息组件服务、以及与所述消息组件服务通信连接的扣费服务集群中的节点,其中:所述消息组件服务,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法步骤;所述负载均衡服务,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下所述的方法步骤:接收监播消息并根据该监播消息生成扣费请求消息;扣费服务集群中的节点,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下所述的方法步骤:根据自身负载拉取该消息队列中未处理的扣费请求消息,根据该扣费请求消息执行相关业务处理。根据本专利技术的第四个方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述扣费方法的步骤。本专利技术实施例的扣费方法、装置、系统及计算机可读存储介质,在负载均衡服务接收到监播消息时,不再是直接对接扣费服务集群,而是先将监播消息生成扣费请求消息发送给消息组件服务写入消息队列中,由消息组件服务对扣费请求消息进行缓冲,这样扣费服务集群中的各节点可以根据自身能力从消息组件服务中拉取扣费请求消息进行业务处理,既保障了扣费服务的稳定性,又确保了扣费的实时性、准确性。附图说明图1为现有技术中的一种广告业务系统架构;图2为现有技术中的另一种广告业务系统架构;图3为本专利技术实施例一提供的一种扣费方法的流程图;图4为本专利技术实施例二提供的一种广告扣费方法的流程图;图5为图4中步骤S407中节点对单个扣费请求消息进行原子性业务处理的流程图;图6为本专利技术实施例三提供的一种扣费系统的构成示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。本专利技术实施例一提供了扣费方法。本实施例的扣费方法用于包括广告扣费在内的扣费业务。本实施例的方法可采用图6所示的系统架构实现。请参阅图3,方法流程包括:步骤S301、消息组件服务接收负载均衡服务的扣费请求消息;步骤S302、将该扣费请求消息写入消息队列,以便扣费服务集群中的节点从该消息队列中拉取未处理的扣费请求消息并根据该扣费请求消息进行业务处理。在一个可行的方案中,该方法还包括:消息组件服务根据该扣费请求消息的使用情况对该扣费请求消息的状态进行标记,以标明其是否已处理。具体的,可按照如下方式对该扣费请求消息的状态进行标记:将写入该消息队列的扣费请求消息的状态标记为未使用;将已被节点拉取的扣费请求消息的状态标记为正在使用;当获知某个节点发生异常时,将该节点拉取但未完成处理的扣费请求消息的状态标记为未使用;当获知扣费请求消息已被处理完成时,将该扣费请求消息的状态标记为已完成;其中,当前未处理的扣费请求消息包括状态标记为未使用的扣费请求消息。实际应用中,可以设置当费服务集群中的节点从消息队列中拉取扣费请求消息时,只能够拉取状态被标记为未使用的扣费请求消息,这样能够有效的防止一条扣费请求消息被重复拉取造成重复扣费的情况。另外,在获知某个节点发生异常时(例如消息组件服务与该节点的连接断开),将该异常节点拉取的扣费请求消息的状态标记为未使用,这样相关的扣费请求消息可以被其他的节点拉取继续处理,实现业务回滚,即能够有效防止数据污染,也可以避免因节点异常造成的处理延时。实际应用中,当扣费请求消息被该节点拉取时,消息组件服务还可以通过锁定该扣费请求消息的方式避免扣费请求消息被重复拉取,然后在与该节点的链接异常断开时,解锁该扣费请求消息,实现业务回滚。实际应用中,可以通过由节点上报完成情况获知扣费请求消息已被处理完成。在一个可行的方案中,该方法还包括:消息组件服务定期删除该消息队列中状态被标记为已完成的扣费请求消息。在一个可行的方案中,该方法还包括:负载均衡服务接收监播消息并根据该监播消息生成扣费请求消息。在一个可行的本文档来自技高网
...

【技术保护点】
1.一种扣费方法,所述方法包括以下步骤:消息组件服务接收负载均衡服务的扣费请求消息;将所述扣费请求消息写入消息队列,以便扣费服务集群中的节点从所述消息队列中拉取未处理的扣费请求消息并根据所述扣费请求消息进行业务处理。

【技术特征摘要】
1.一种扣费方法,所述方法包括以下步骤:消息组件服务接收负载均衡服务的扣费请求消息;将所述扣费请求消息写入消息队列,以便扣费服务集群中的节点从所述消息队列中拉取未处理的扣费请求消息并根据所述扣费请求消息进行业务处理。2.如权利要求1所述的扣费方法,其特征在于,所述方法还包括:消息组件服务根据各扣费请求消息的使用情况对所述各扣费请求消息的状态进行标记,以标明其是否已处理。3.如权利要求2所述的扣费方法,其特征在于,所述消息组件服务根据各扣费请求消息的使用情况对所述各扣费请求消息的状态进行标记,包括:将写入所述消息队列的扣费请求消息的状态标记为未使用;将已被节点拉取的扣费请求消息的状态标记为正在使用;当获知某个节点发生异常时,将所述节点拉取但未完成处理的扣费请求消息的状态标记为未使用;当获知扣费请求消息已被处理完成时,将所述扣费请求消息的状态标记为已完成;其中,当前未处理的扣费请求消息包括状态标记为未使用的扣费请求消息。4.如权利要求3所述的扣费方法,其特征在于,当所述方法还包括:当所述扣费请求消息被所述节点拉取时,锁定所述扣费请求消息;当所述扣费请求消息被所述节点拉取后,与所述节点的链接异常断开时,解锁所述扣费请求消息。5.如权利要求1所述的扣费方法,其特征在于,所述方法还包括:所述负载均衡服务接收监播消息并根据所述监播消息生成扣费请求消息。6.如权利要求1所述的扣费方法,其特征在于,所述方法还包括:所述扣费服务集群中的节点根据自身负载拉取所述消息队列中未处理的扣费请求消息;根据所述扣费请求消息执行相关业务处理。7.如权...

【专利技术属性】
技术研发人员:邹炜
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1