一种用于实现电子红包发放的处理系统的制作方法

文档序号:14914681发布日期:2018-07-11 00:24阅读:241来源:国知局

本发明属于互联网通信技术领域,具体涉及一种用于实现电子红包发放的处理系统。



背景技术:

赠送红包这一习俗在中国有悠久的历史,人们通过赠送红包礼尚往来,和睦了家庭,增进了感情,随着互联网技术和网络消费的普及,通信技术也得到了飞速的发展,电子红包在一定程度上取代实物红包成为节日民俗的载体,广泛应用在各类社交软件中。

在互联网应用中处处可见类似抢红包的应用,在视频直播行业,由赠送各种礼物而触发的虚拟货币的红包应用已经非常普遍。

人们利用社交软件的组群,可以发送红包给一组群中的多个用户,通常组群中的用户以先后次序分取红包中的金额,俗称“抢红包”、“比手快”,在抢红包应用场景中,由于用户的抢红包行为存在一定的不可预测性以及外挂工具或者通过数据包嗅探工具来抓包进行模拟用户抢红包行为,在面对高并发的抢红包请求场景下会形成抢红包的瞬间尖峰值,在抢红包高峰期时,抢红包请求难以快速响应,以及瞬间尖峰对服务的可持续服务性带来了严峻的考验。



技术实现要素:

鉴于上述,本发明提供了一种用于实现电子红包发放的处理系统,能够解决抢红包请求难以快速响应以及服务在此种情况下的可持续服务性的技术问题,应用在直播互动平台的服务器上。

一种用于实现电子红包发放的处理系统,包括客户端、红包服务端以及数据存储中心;其中:

作为红包发放者的客户端用于向红包服务端发送创建红包的请求数据包;

所述红包服务端接收红包发放者客户端的请求数据包,根据其中的发放规则将红包总价值分成N份红包并将这些红包分散存储至多个数据存储中心,进而生成红包信息发送给红包发放者以及指定领取对象的客户端,N为大于0的自然数;

作为指定领取对象的客户端接收到红包信息后,若选择领取则向红包服务端发送领取红包的请求数据包,红包服务端则接收并对该请求数据包进行验证,通过后则为该对象分配一个红包,并从对应的数据存储中心中提取红包返回给该指定领取对象客户端;

所述数据存储中心用于存储红包相关信息,便于客户端查询关于红包总价值、分配份数N、红包有效期、分配红包的服务器信息以及分配后的红包信息。

进一步地,所述创建红包的请求数据包中包含有红包发放规则、指定领取对象、红包总价值以及分配份数N。

进一步地,所述红包服务端包括:

网络防护层,负责客户端的网络接入,隔离保护公网与内网之间的数据交换,同时防御DDOS(Distributed Denial of Service,分布式拒绝服务)以及CC(Challenge Collapsar)等网络攻击;

红包发放单元,用于接收红包发放者客户端发送的请求数据包并对其进行解析,根据其中的红包发放规则将红包总价值分成N份红包且每份红包对应各自的价值,同时为每份红包创建身份标识ID并将这些红包分散存储至多个数据存储中心,进而生成红包信息加密后发送给红包发放者以及指定领取对象的客户端;

红包网关层,用于接收指定领取对象客户端发送的请求数据包并对其进行解析,判断请求数据包中是否携带红包的身份标识ID、红包是否有效、该对象是否未抢过本次红包、红包是否尚未领取完毕,以过滤非法无效的红包领取请求;

红包领取单元,接收红包网关层过滤后符合要求的红包领取请求,进而为该请求的对象分配一个红包,并根据身份标识ID从对应数据存储中心中提取红包返回给该指定领取对象客户端。

进一步地,所述数据存储中心包括Redis组和数据库组,所述Redis组用于存储红包相关信息,包括红包总价值、分配份数N、红包有效期、分配红包的服务器信息以及分配后的红包信息;所述数据库组用于提供事务及日志的存储功能。

进一步地,所述红包发放单元为总价值所对应的红包创建身份标识ID,并使该身份标识ID与分配后的每份红包身份标识ID建立映射关系。

进一步地,所述红包服务端还包括有信息处理单元,红包发放单元将加密后的红包信息通过信息处理单元发送给红包发放者以及指定领取对象的客户端;当红包领取单元将相应红包返回给指定领取对象客户端后生成红包领取消息,进而通过信息处理单元将红包领取消息发送给指定通知对象的客户端。

本发明系统由服务器中的红包发放单元根据红包发放规则将红包提前分散存储在数据存储中心;当红包接收端发送抢红包的请求后,由最外层的网络防护层判断用户的行为是否合法,若是则将请求分发到红包网关层,由红包网关层判断红包请求是否有携带红包相应的身份识别信息;若有效则将请求转发至红包领取单元,红包领取单元则通过红包身份识别信息ID通过自有算法从多个数据存储中心中确定第一数据查询中心,获取红包数据再次对请求中红包相应的身份识别信息组进行校验;校验成功,通过红包身份识别信息ID以及领取次序通过算法确定领取红包的存储位置,若有红包对应的价值(虚拟币、物品、经验等),从存储中心中获取红包价值返回给请求端。

本发明系统将红包数据信息加密,接收端发送抢红包请求,对请求分梯次分析梳理,降低核心服务压力,对红包数据提前分配存储到多个数据中心,将红包数据分流,直接提高抢红包的响应效率。

附图说明

图1为本发明系统中红包整体流程示意图。

图2为本发明系统中发放红包的流程示意图。

图3为本发明系统中领取红包的流程示意图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

本发明用于实现电子红包发放的处理系统包括:客户端(PC网页端、PC客户端、手机网页端、手机APP不仅限于IOS,Android、系统发送红包系统)、红包服务端(网络防护层、红包网关层、红包处理单元)、数据存储中心(Redis组、数据库组);其中:

网络防护层用于防御大流量DDOS、CC和其他各种攻击;红包网关层用于过滤非法、无效的红包领取请求,减轻红包处理单元的压力;红包处理单元包括红包发放单元、红包消息处理单元以及红包领取单元。

红包发放单元用于接收发放者终端对红包消息的响应,根据发放者终端对红包的发放规则,将红包提前分配到存储中心,将红包消息发放消息发送到红包消息处理单元;红包领取单元用于接收响应者终端对红包消息的响应,按照红包消息的红包发放规则向至少一个响应者的账户发放红包,将红包领取消息发送到红包消息处理单元;红包消息处理单元用于将红包消息通知到指定红包领取对象,将红包领取消息通知到指定通知对象。

数据存储中心中Redis组存储红包数据,包含红包自身数据以及红包分配后子红包的数据,Redis组用于提供查询红包对应的价值、红包有效期、分配该红包的服务器信息、分配后的子红包数据以及分布式搜索的功能,数据库组则提供事务、日志存储功能。

如图1所示,红包发放者可以为终端或者平台,其发送红包发放请求;本实例中具有红包发放者1、红包发放者2、红包发放者3……红包发放者n,每个红包发放者都可以发送红包发放请求,不局限与同一时间,前提是发放者的账户中的财富需大于等于发送的红包价值。

红包发放系统接收到红包发放者的请求,生成红包,同时将红包信息发送至红包接收者。红包接收者接收到红包消息后,发送抢红包请求。本实例中具有红包接收者1、红包接收者2、红包接收者3……红包接收者n,每个红包接收者都可以发送抢红包请求;红包领取系统负责接收红包接收者发送的抢红包请求。

图2中RedpacketGateServer Cluster为红包网关调度集群,红包网关调度集群与红包发放系统中每个红包发放单元之间有心跳监测机制,防止将请求转发至不服务的红包发放单元,同时监测红包发放单元负载情况,优先低负载红包发放单元,提高系统鲁棒性,以及提高红包的响应效率。

图2中的红包发放系统也称为红包发放单元集合,接收RedpacketGateServer Cluster转发的生成红包请求的数据包。红包发放系统判断请求数据包中是否包含总价值V和红包分配份数N,其中N为正整数且N≥1。

若请求数据包中包含总价值V和红包分配份数N,红包发放单元根据红包发放规则生成红包信息同时将红包总价值V按照红包规则分配成N份红包,每份红包对应各自的价值;红包发放系统会为总价值红包创建身份标识ID,同时为N份红包创建各自的子身份标识ID并与总价值红包身份标识ID建立关系,并将N份红包和自己的价值数据存储到数据存储中心。

红包发放系统在红包数据存储完毕后,将红包消息加密传递给红包消息处理系统,加密的红包信息包括红包身份识别信息、红包有效期、红包发放者、红包发送系统相关信息,红包消息处理系统将红包消息广播至相应接收者。

图3中Client为红包消息接收客户端,若其选择领取红包则发送抢宝箱请求;本实例中具有Client1、Client2、Client3……Clientn,每个Client都可以发送抢宝箱请求且不局限与时间。

NetworkProtectionSystem为网络防护系统,负责客户端的网络接入,隔离、保护公网和内网的数据交换,同时具有一定的防DDOS,CC等攻击。

RedpacketGateServer Cluster为红包网关调度集群,在此处不仅有上述红包网关调度集群的功能,还有简单的业务逻辑功能,对领取红包请求进行解密,判断请求中是否携带红包对应的身份标识ID、红包是否有效、抢红包发者是否未抢过该红包、红包是否尚未领取完毕;RedpacketGateServer Cluster对活跃红包的领取者以及红包本身信息进行存储,存储信息基于内存共享,对非正常的红包请求,立即返回红包已经抢完信息给客户端(伪造一条V为0的红包数据返回),能进行90%以上过滤,显著减轻红包业务系统压力。

RedpacketServer Cluster为红包服务器的集群,负责处理创建红包、抢红包的网络请求,以及将相应的消息发送至消息处理系统。MessageHandlingSystem为消息处理系统,负责将红包消息通知到相应的接收者。

客户端Client接收到Redpacket Message(红包消息),发送抢红包请求RedpacketData,用户在客户端都携带有加密后的红包的身份识别ID以及自身在系统中的唯一标识SID,将抢红包请求发送至NetworkProtectionSystem,由NetworkProtectionSystem将请求转发至红包网关服务RedpacketGateServer,网关服务RedpacketGateServer是RedpacketGateServer Cluster的组成单元。

RedpacketGateServer将抢红包的请求进行解密得到对应的红包信息,若无法得到红包信息,则返回红包已经抢完的信息返回给客户端,得到红包信息后,获取红包对应的真实身份标识ID,这里简称为RID;通过RID进行请求的分析与过滤,红包是否有效、抢红包发者是否未抢过该红包、红包是否尚未领取完毕,若是则将红包请求RID转发到内网的红包服务器RedpacketServer,同时将RedpacketServer的响应信息、抢红包者的信息SID以及红包ID信息一并存储,若红包已经全部抢完则只更新本地红包信息,同时将红包的领取者信息全部清除。

红包服务器接收到由客户端发送的抢红包请求,然后判断抢红包请求中是否携带红包对应的身份标识ID,即上述RID。Redpacket Server通过检查抢红包请求RedpacketData的数据是否有效,如果合法则进入下一流程,否则返回未抢到红包奖励的结果(伪造一条V为0的红包数据返回)。

Redpacket Server根据红包身份标识ID,获取当前红包的领取者顺序,若大于N则返回未抢到红包奖励的结果(伪造一条V为0的红包数据返回),否则直接获取提前分配好的子红包信息,返回红包对应的价值,将抢到红包的信息发送到消息处理系统中,然后广播至接收者。

在本实例中,红包类型包括现金红包、虚拟货币红包、虚拟物品红包等,在其他实施例中红包类型还可以基于用户的个性化信息确定,用户个性化信息包括地域信息、软件使用信息。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1