一种红包数据处理方法和装置制造方法及图纸

技术编号:13995846 阅读:46 留言:0更新日期:2016-11-15 03:10
本发明专利技术提供了红包数据处理方法和装置,该方法包括:根据发红包请求创建红包数据,所述红包数据包括缓存于分布式缓存的红包个数;根据一个或多个抢红包请求查询所述红包数据的红包个数,若红包个数不大于零,则返回抢红包失败信息,若红包个数大于零,则将所述红包个数减一,并将成功被抢的红包的关联信息插入到数据库。根据本发明专利技术,能够提高红包数据的处理效率,改善请求响应速度。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,更为具体而言,涉及一种红包数据处理方法和装置
技术介绍
电子红包是可以在网络平台上发送的无形的红包,用户只需要输入金额等相关信息就可以将红包分为一个或多个发送给一个或多个其他用户,或者由一个或多个用户抢到。现有的红包数据发送过程中,接收或者抢红包的客户的数量比较大,而且抢的瞬间的并发量非常大,如何在瞬间并发量非常大的情形下保持较高的响应速度成为亟需解决的重要技术问题之一,此外,在保持较好的并发性的前提下,保持红包的发送记录等相关数据的一致性也成为亟需解决的重要技术问题之一。
技术实现思路
为解决上述技术问题,本专利技术提供了一种红包数据处理方法和装置,能够提高红包数据的处理效率,改善请求响应速度。根据本专利技术实施方式的第一方面,提供了一种红包数据处理方法,该方法包括:根据发红包请求创建红包数据,所述红包数据包括缓存于分布式缓存的红包个数;根据一个或多个抢红包请求查询所述红包数据中的红包个数,若红包个数不大于零,则返回抢红包失败信息,若红包个数大于零,则将所述红包个数减一,并将成功被抢的红包的关联信息插入到数据库。根据本专利技术实施方式的第二方面,提供了一种红包数据处理装置,所述装置包括:发红包模块,用于根据发红包请求创建红包数据,所述红包数据包括缓存于分布式缓存的红包个数;抢红包模块,用于:根据一个或多个抢红包请求查询所述红包数据中的红包个数,若红包个数不大于零,则返回抢红包失败信息,若红包个数大于零,则将所述红包个数减一,并将成功被抢的红包的关联信息插入到数据库。本专利技术实施的红包数据处理方法和装置,将红包个数作为红包数据中的关键信息缓存于分布式缓存中,有利于提升抢红包过程中的数据访问效率;而且,在抢红包的过程中,首先查询红包个数,在剩余个数不大于零的情形下,直接返回失败信息,不再进行其他红包关联的数据操作,能够改善对抢红包请求的响应速度;而在确定红包个数大于零的情形下,才进行红包的相关数据处理,能够对抢红包请求进行有效的流量控制,改善对抢红包请求的响应速度。附图说明图1是根据本专利技术一种实施方式的积分红包的整体架构图;图2是根据本专利技术一种实施方式的红包数据处理方法的流程示意图;图3是根据本专利技术一种实施方式的发红包的流程示意图;图4是根据本专利技术一种实施方式的查询抢红包的流程示意图;图5是根据本专利技术一种实施方式的拆红包的流程示意图;图6是根据本专利技术一种实施方式的领取红包的流程示意图;图7是根据本专利技术一种实施方式的红包数据处理装置的结构示意图。具体实施方式以下结合附图和具体实施方式对本专利技术的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。本专利技术实施方式的红包可以是积分的形式或与积分类似的其他产品,例如,在某一机构(例如,银行等金融机构)累积的积分(例如,储蓄卡、信用卡的积分等),也可以是除了积分之外的其他形式,例如,货币等。在下文的实施方式中,主要以积分形式的红包为例进行描述,但本专利技术的红包还可以适用于非积分形式的情形,非积分形式的红包的数据处理过程,与积分形式的红包数据处理的流程类似,不同点主要在于对红包所涉及的积分或货币的数量调整,对于积分红包而言,可以通过积分系统的余额调整交易进行调整,对于货币红包而言,可以通过相应的货币管理系统对余额等进行调整。对于积分形式的红包数据处理,红包的信息为积分。在发送红包的过程中,需要调用综合积分系统的积分余额调整交易,扣除发送红包的客户的相应的积分。客户在抢到红包,领取红包的过程中,需要调用综合积分系统的余额调整交易,将抢到的红包积分转到抢到红包的客户积分账户中。以建行银行的积分红包为例,客户发送、抢红包的都是积分红包,发送红包的客户需要为建设银行的客户,抢到红包的客户在成为建设银行的客户后,才能成功地将抢到的积分红包转到自身的积分账户中。下面以图1为例,对积分红包的整体架构进行简单的说明。微信银行11,可以用于发起积分红包相关操作请求,并将抢红包消息通知发送给指定的联系人,例如,指定的微信朋友圈的联系人。分布式缓存12,用于保存红包数据的关键信息,例如,红包个数等,在本专利技术的一些实施方式中,红包的个数也可以通过红包的剩余个数进行描述;还用于将每个红包积分值计算逻辑串行化。综合积分红包模块13,可以接收前端客户积分红包请求,并对请求进行调度。数据库14,可以用于保存红包、红包发放及领取等红包的关联信息。综合积分系统15,可以接收综合积分红包模块余额调整交易请求,实现发红包扣除积分、领取红包增加积分等处理逻辑。综合积分红包模块13综合积分系统15之间可以基于超文本传输协议(Hyper Text Transfer Protocol,HTTP)进行调用通信,还可以采用Netty的远程过程调用(Remote Procedure Call,RPC)协议,从而提高通信的通信效率和调用的并发度。图2是根据本专利技术一种实施方式的红包数据处理方法的流程示意图。如图2所示,本专利技术的红包数据处理方法可包括:步骤S11、S12、S13和S14。接下来,对上述的步骤进行具体的说明。步骤S11,根据发红包请求创建红包数据,其中,所述红包数据可包括缓存于分布式缓存的红包个数。例如,用户可以通过微信银行等接口发送发红包请求,例如,可包括积分的数量等。在接收到用户的发红包请求之后,根据发红包请求对请求涉及的积分状态、累积发送积分上限进行校验,如果校验未通过,在返回校验失败的提示信息,如果校验通过,则在数据库中创建发送的红包数据,红包状态为已提交。红包数据可包括:红包ID、发红包人/用户/客户的ID、法红包人/用户/客户的渠道ID、发红包人//用户/客户的渠道名称、发红包人/用户/客户的红包祝语、红包发布时间、红包类型、红包个数、红包总金额、积分失效日期、红包状态、抢红包消耗时间、最大红包金额、手机最佳红包客户ID、手气最佳红包微信ID中的一项或多项。然后,扣除发布红包的客户发红包所使用的积分值,该扣除操作是通过调用综合积分系统的积分余额调整交易进行。接着,判断扣除积分是否成功,若不成功,则更新红包状态,并通知客户未成功扣除积分;若成功扣除积分,则更新红包状态为余额调整成功。接着,在分布式缓存中创建红包记录,例如,可包括红包个数(或者剩余红包个数)以及剩余红包积分信息等,若缓存创建成功,则更新红包状态为以完成,若缓存创建未成功,则更新红包状态为缓存创建失败,抛出异常。本专利技术的分布式缓存可采用oracle coherence,其能够基于key-value对数据进行分布式存储,具有较高的基于key的查询效率。需要说明的是,本专利技术的红包数据处理方法不是必须包含上面描述的每个步骤,而是可以省去其中的一个或多个步骤。例如,客户的要发送的积分红包的积分充足的情形下,可以省去对积分状态和积分上限的验证步骤。步骤S12,根据一个或多个抢红包请求查询所述红包本文档来自技高网...

【技术保护点】
一种红包数据处理方法,其特征在于,所述方法包括:根据发红包请求创建红包数据,所述红包数据包括缓存于分布式缓存的红包个数;根据一个或多个抢红包请求查询所述红包数据中的红包个数,若红包个数不大于零,则返回抢红包失败信息,若红包个数大于零,则将所述红包个数减一,并将成功被抢的红包的关联信息插入到数据库。

【技术特征摘要】
1.一种红包数据处理方法,其特征在于,所述方法包括:根据发红包请求创建红包数据,所述红包数据包括缓存于分布式缓存的红包个数;根据一个或多个抢红包请求查询所述红包数据中的红包个数,若红包个数不大于零,则返回抢红包失败信息,若红包个数大于零,则将所述红包个数减一,并将成功被抢的红包的关联信息插入到数据库。2.根据权利要求1所述的方法,其特征在于,所述分布式缓存采用oracle coherences数据库。3.根据权利要求2所述的方法,其特征在于,所述根据一个或多个抢红包请求查询所述红包数据中的红包个数包括:对一个或多个抢红包请求进行串行化处理,其中,所述串行化处理通过分布式缓存的接口进行。4.根据权利要求2所述的方法,其特征在于,所述红包的关联信息包括红包ID、抢红包人的客户ID、抢红包人的渠道ID、抢红包人的渠道名称、红包金额、红包状态、抢红包时间、留言信息、手气最佳标志中的一种或多种,所述数据库为cassandra数据库。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据红包领取请求查询所述成功被抢的红包的领取状态,若领取状态为未领取,则将所述领取请求所要领取的红包的领取状态更新为领取中,并向oracle coherence数据库中插入所要领取的红包的领取流水,所述领取流水包括红包ID和领取红包的客户ID。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:向oracle coherence数据库中插入所要领取的红包的领取流水之后,判断流水插入是否成功,若否,则返回领取失败信息或者将所要领取的红包的领取状态恢复为未领取。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:在将所述红包个数减一之后,判断减一之后的红包个数是否大于或等于零,若是,则将成功被抢的红包的关联信息插入到数据库,若否,则返回红包已被抢完的信息。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在插入所述红包的关联信息失败的情形下,更新所述分布式缓存中的红包个数。9.一种红包数据处理装置,其特征在于,所述装置包...

【专利技术属性】
技术研发人员:安兴朝舒展邢磊杨涛倪一鸣谷林
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

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

1