一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源发放方法、装置、计算机设备及存储介质与流程

2021-10-19 23:26:00 来源:中国专利 TAG: 计算机 发放 装置 特别 实施


1.本技术实施例涉及计算机技术领域,特别涉及一种资源发放方法、装置、计算机设备及存储介质。


背景技术:

2.随着网络技术的发展,出现了各种虚拟资源,例如,虚拟货币、虚拟物品等,用户之间能够相互发送虚拟资源。通常将虚拟资源存储于多个资源包中,并创建该多个资源包对应的资源链接,展示给用户,用户触发该资源链接,从而请求获取资源包。但是在多个用户触发同一个资源链接时,会按照用户的请求顺序,依次为用户发放资源包,发放效率低。


技术实现要素:

3.本技术实施例提供了一种资源发放方法、装置、计算机设备及存储介质,能够提高资源发放效率。所述技术方案如下:
4.一方面,提供了一种资源发放方法,所述方法包括:
5.接收至少一个资源获取请求,每个资源获取请求携带资源链接,及请求获取所述资源链接对应的资源的用户标识;
6.从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包;
7.根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包,向所述资源包对应的用户标识发放所述子资源包。
8.在一种可能实现方式中,所述目标资源参数包括剩余子资源包个数;所述从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包之后,所述方法还包括:
9.响应于所述目标资源参数中的剩余子资源包个数为0,从所述资源链接对应的多个资源包中,为所述资源包对应的用户标识重新分配一个其他资源包。
10.在另一种可能实现方式中,所述目标资源参数包括剩余子资源包个数及剩余资源数量;所述根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包之后,所述方法还包括:
11.将所述资源包对应的剩余子资源包个数减1,将所述资源包对应的剩余资源数量减少所述子资源包对应的资源数量。
12.在另一种可能实现方式中,所述目标资源参数包括剩余子资源包个数及单位资源数量,所述单位资源数量用于指示所述资源包中的每个子资源包对应的资源数量;
13.所述根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包之后,所述方法还包括:
14.将所述资源包的目标资源参数中的剩余子资源包个数减1。
15.在另一种可能实现方式中,所述向所述资源包对应的用户标识发放所述子资源包,包括:
16.向所述用户标识登录的终端发送资源发放指令,所述资源发放指令携带所述用户
标识对应的子资源包。
17.在另一种可能实现方式中,所述根据所述用户标识及所述资源链接,生成所述用户标识对应的发放标识之后,所述方法还包括:
18.响应于在所述数据库中查询到所述用户标识对应的发放标识,向所述用户标识发送发放完成通知,所述发放完成通知用于提示所述用户标识已获取所述资源链接中的资源。
19.在另一种可能实现方式中,所述从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包之后,所述方法还包括:
20.将所述已分配的资源包的状态设置为锁定状态。
21.在另一种可能实现方式中,所述根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包之后,所述方法还包括:
22.将所述资源包的状态设置为非锁定状态。
23.在另一种可能实现方式中,所述从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包,包括:
24.从所述资源链接对应的多个资源包中,为所述至少一个用户标识分配处于非锁定状态的资源包。
25.另一方面,提供了一种资源发放系统,所述系统包括至少一个终端和服务器;
26.所述终端,用于显示资源链接,响应于对所述资源链接的触发操作,向所述服务器发送资源获取请求,所述资源获取请求携带所述资源链接及登录的用户标识;
27.所述服务器,用于接收至少一个资源获取请求,从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包,根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包,向所述资源包对应的用户标识发放所述子资源包。
28.在一种可能实现方式中,所述终端,还用于接收所述服务器发放的子资源包,显示所述子资源包及所述子资源包对应的资源数量。
29.另一方面,提供了一种资源发放装置,所述装置包括:
30.接收模块,用于接收至少一个资源获取请求,每个资源获取请求携带资源链接,及请求获取所述资源链接对应的资源的用户标识;
31.第一分配模块,用于从所述资源链接对应的多个资源包中,为至少一个用户标识分配资源包;
32.发放模块,用于根据已分配的资源包的目标资源参数,为所述资源包对应的用户标识生成子资源包,向所述资源包对应的用户标识发放所述子资源包。
33.在一种可能实现方式中,所述目标资源参数包括剩余资源数量,所述发放模块,包括:
34.生成单元,用于根据所述剩余资源数量,为所述资源包对应的用户标识生成一个子资源包,以使所述子资源包对应的资源数量不大于所述剩余资源数量。
35.在另一种可能实现方式中,所述目标资源参数还包括剩余子资源包个数;所述生成单元,用于响应于所述剩余子资源包个数大于1,根据所述剩余资源数量为所述用户标识生成一个子资源包,所述子资源包对应的资源数量小于所述剩余资源数量;响应于所述剩余子资源包个数等于1,根据所述剩余资源数量为所述用户标识生成一个子资源包,所述子
资源包对应的资源数量等于所述剩余资源数量。
36.在另一种可能实现方式中,所述目标资源参数包括剩余子资源包个数;所述装置还包括:
37.第二分配模块,用于响应于所述目标资源参数中的剩余子资源包个数为0,从所述资源链接对应的多个资源包中,为所述资源包对应的用户标识重新分配一个其他资源包。
38.在另一种可能实现方式中,所述目标资源参数包括剩余子资源包个数及剩余资源数量;所述装置还包括:
39.更新模块,用于将所述资源包对应的剩余子资源包个数减1,将所述资源包对应的剩余资源数量减少所述子资源包对应的资源数量。
40.在另一种可能实现方式中,所述目标资源参数包括剩余子资源包个数及单位资源数量,所述单位资源数量用于指示所述资源包中的每个子资源包对应的资源数量;
41.所述装置还包括:
42.更新模块,用于将所述资源包的目标资源参数中的剩余子资源包个数减1。
43.在另一种可能实现方式中,所述发放模块,包括:
44.发送单元,用于向所述用户标识登录的终端发送资源发放指令,所述资源发放指令携带所述用户标识对应的子资源包。
45.在另一种可能实现方式中,所述发放模块,包括:
46.生成单元,用于根据所述用户标识及所述资源链接,生成所述用户标识对应的发放标识;
47.发放单元,用于响应于在数据库中未查询到所述用户标识对应的发放标识,向所述资源包对应的用户标识发放所述子资源包,所述数据库用于存储已发放所述资源链接中的资源的用户标识对应的发放标识。
48.在另一种可能实现方式中,所述装置还包括:
49.发送模块,用于响应于在所述数据库中查询到所述用户标识对应的发放标识,向所述用户标识发送发放完成通知,所述发放完成通知用于提示所述用户标识已获取所述资源链接中的资源。
50.在另一种可能实现方式中,所述装置包括:
51.所述接收模块,还用于接收资源创建请求,所述资源创建请求携带子资源包总个数及总资源数量;
52.生成模块,用于根据所述资源创建请求,生成所述资源链接;
53.所述生成模块,还用于根据所述子资源包总个数及所述总资源数量,生成所述多个资源包,每个资源包的目标资源参数包括子资源包个数及资源数量,所述多个资源包对应的子资源包个数之和等于所述子资源包总个数,所述多个资源包对应的资源数量之和等于所述总资源数量。
54.在另一种可能实现方式中,所述装置还包括:
55.第一设置模块,用于将所述已分配的资源包的状态设置为锁定状态。
56.在另一种可能实现方式中,所述装置还包括:
57.第二设置模块,用于将所述资源包的状态设置为非锁定状态。
58.在另一种可能实现方式中,所述第一分配模块,包括:
59.分配单元,用于从所述资源链接对应的多个资源包中,为所述至少一个用户标识分配处于非锁定状态的资源包。
60.在另一种可能实现方式中,所述第一分配模块,包括:
61.分配单元,用于响应于对所述资源链接验证通过,从所述资源链接对应的多个资源包中,为所述至少一个用户标识分配资源包。
62.在另一种可能实现方式中,所述装置还包括:
63.确定模块,用于响应于当前时间点属于所述资源链接对应的有效时间段,确定所述资源链接验证通过;或者,
64.所述确定模块,还用于响应于所述资源链接对应有未发放完成的资源包,确定所述资源链接验证通过。
65.在另一种可能实现方式中,所述第一分配模块,包括:
66.分配单元,用于对于任一资源获取请求,响应于对所述资源获取请求携带的用户标识验证通过,从所述资源链接对应的多个资源包中,为所述用户标识分配一个资源包。
67.在另一种可能实现方式中,所述装置还包括:
68.确定模块,用于响应于所述用户标识通过所述资源链接获取的资源数量小于第一参考数量,确定对所述用户标识验证通过;或者,
69.所述确定模块,还用于响应于所述用户标识通过所述资源链接获取的子资源包的个数小于第二参考数量,确定对所述用户标识验证通过;或者,
70.所述确定模块,还用于响应于在数据库中未查询到所述用户标识,确定对所述用户标识验证通过,所述数据库用于记录已通过所述资源链接获取资源的用户标识。
71.在另一种可能实现方式中,每个资源获取请求携带在直播间中发布的资源链接,及请求获取所述资源链接对应的资源的观众用户标识;
72.所述发放模块,包括:
73.发送单元,用于向所述观众用户标识登录的终端发送资源发放指令,所述资源发放指令携带所述观众用户标识对应的子资源包,所述终端用于在所述直播间的直播界面中显示所述子资源包。
74.在另一种可能实现方式中,所述资源链接为物品链接;
75.所述发放模块,包括:
76.发送单元,用于向所述用户标识登录的终端发送物品发放指令,所述物品发放指令携带所述用户标识对应的子物品包,所述子物品包中包括物品。
77.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如上述方面所述的资源发放方法中所执行的操作。
78.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如上述方面所述的资源发放方法中所执行的操作。
79.再一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行所述计算机程
序代码,使得所述计算机设备实现如上述方面所述的资源发放方法中所执行的操作。
80.本技术实施例提供的技术方案带来的有益效果至少包括:
81.本技术实施例提供的方法、装置、计算机设备及存储介质,资源链接对应有多个资源包,在通过资源链接发放资源过程中,将每个资源包分配给用户标识,再利用分配的资源包生成子资源包,从而为用户标识发放子资源包。由于不同的资源包互不干扰,能够并行地实现资源发放,打破了相关技术中只能按照先后顺序依次为不同用户标识发放资源包的限制,从而提高了资源发放效率。
附图说明
82.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
83.图1是本技术实施例提供的一种资源发放系统的结构示意图;
84.图2是本技术实施例提供的一种资源发放方法的流程图;
85.图3是本技术实施例提供的一种资源发放方法的流程图;
86.图4是本技术实施例提供的一种红包存储的示意图;
87.图5是本技术实施例提供的一种用户抢红包的流程图;
88.图6是本技术实施例提供的一种在直播间中创建红包的流程图;
89.图7是本技术实施例提供的一种在直播间中抢红包的流程图;
90.图8是本技术实施例提供的一种漏斗过滤的示意图;
91.图9是本技术实施例提供的一种直播界面的示意图;
92.图10是本技术实施例提供的一种资源发放装置的结构示意图;
93.图11是本技术实施例提供的一种资源发放装置的结构示意图;
94.图12是本技术实施例提供的一种终端的结构示意图;
95.图13是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
96.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
97.本技术所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个用户标识包括3个用户标识,而每个是指这3个用户标识中的每一个用户标识,任一是指这3个用户标识中的任意一个用户标识,可以是第一个用户标识,可以是第二个用户标识、也可以是第三个用户标识。
98.图1是本技术实施例提供的一种资源发放系统的结构示意图,如图1所示,该系统包括多个终端101和服务器102,该多个终端101分别与服务器102通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
99.可选地,该终端101为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智
能电视、智能手表等,但并不局限于此。可选地,该服务器102为独立的物理服务器,或者,该服务器102为多个物理服务器构成的服务器集群或者分布式系统,或者,该服务器102为提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
100.每个终端101用于显示资源链接,还能够显示通过资源链接获取到的子资源包,例如,终端101显示待抢占的红包链接,在用户点击该红包后,显示用户获取到的子红包。服务器102提供资源发放功能,通过终端101对资源链接的资源获取请求,为终端101生成并发放子资源包。
101.可选地,每个终端101上安装有目标应用,服务器102为该目标应用提供服务,每个终端101基于用户标识登录目标应用,通过该目标应用向服务器102发送资源获取请求,服务器用于接收终端101发送的资源获取请求,为终端101生成并发放子资源包,以使终端101能够显示获取到的子资源包。
102.本技术实施例提供的方法,可用于多种场景。
103.例如,直播间抢红包场景下:
104.直播终端在直播间中发放红包,则该直播间中的观众终端能够对该红包进行抢占,观众终端响应于对直播界面中显示的红包链接的触发操作,向服务器发送资源获取请求,服务器在接收到至少一个观众终端发送的资源获取请求后,采用本技术实施例提供的资源发放方法,为观众终端发放子红包,通过该红包对应的多个资源包,能够并行为多个观众终端发放子红包,从而提高了红包发放效率。
105.再例如,物品抢购场景下:
106.终端在物品展示应用中展示待抢购的物品,用户通过物品展示应用,对该物品展示应用中展示的物品进行抢购,终端检测到用户的抢购操作后,向该物品展示应用对应的服务器发送物品获取请求,则该服务器接收到至少一个终端发送的物品获取请求后,采用本技术实施例提供的方法,为多个用户发放物品,通过该物品对应的多个物品包,能够同时为多个用户发放物品,从而提高了物品发放效率。
107.图2是本技术实施例提供的一种资源发放方法的流程图,该方法能够由终端或服务器执行,也能够由终端和服务器共同执行,本技术实施例是以该方法由服务器执行为例进行说明,如图2所示,该方法包括:
108.201、服务器接收至少一个资源获取请求,每个资源获取请求携带资源链接,及请求获取资源链接对应的资源的用户标识。
109.其中,资源获取请求表示该用户标识,请求通过该资源链接获取资源。在该至少一个资源获取请求中,不同的资源获取请求中携带的资源链接相同,不同的资源获取请求中携带的用户标识不同。
110.202、服务器从资源链接对应的多个资源包中,为至少一个用户标识分配资源包。
111.在本技术实施例中,资源链接对应有多个资源包,服务器为请求获取子资源包的用户标识分配一个资源包,以便后续通过该资源包为该用户标识生成子资源包。
112.203、服务器根据已分配的资源包的目标资源参数,为资源包对应的用户标识生成子资源包,向资源包对应的用户标识发放子资源包。
113.其中,目标资源参数用于指示该资源包对应的子资源包的参数。通过已分配的资源包的目标资源参数,为该资源包对应的用户标识生成一个子资源包,并将生成的子资源包发送给该用户标识,以使用户获取到该资源链接对应的子资源包。
114.本技术实施例提供的方法,资源链接对应有多个资源包,在通过资源链接发放资源过程中,将每个资源包分配给用户标识,再利用分配的资源包生成子资源包,从而为用户标识发放子资源包。由于不同的资源包互不干扰,能够并行地实现资源发放,打破了相关技术中只能按照先后顺序依次为不同用户标识发放资源包的限制,从而提高了资源发放效率。
115.图3是本技术实施例提供的一种资源发放方法的流程图,该方法能够由终端或服务器执行,也能够由终端和服务器共同执行,本技术实施例是以该方法由服务器执行为例进行说明,如图3所示,该方法包括:
116.301、服务器接收资源创建请求,资源创建请求携带子资源包总个数及总资源数量。
117.在本技术实施例中,服务器会先创建资源包,资源包中包括一定的资源,如虚拟货币、虚拟礼物、虚拟物品、优惠券等。本技术实施例不再将资源包直接发放,而是会根据资源包再生成子资源包,从而发放子资源包。子资源包也会包括一定数量的资源,可以看做是资源包的子集。那么,根据一个资源包可以生成多个子资源包,将不同的子资源包发放给不同的用户标识。生成子资源包时,需要保证子资源包对应的资源总数量不得超出资源包设置的资源总数量。
118.在本技术实施例中,在服务器接收到资源创建请求后,创建资源链接及对应的多个资源包,以使后续通过该资源链接向用户发放子资源包,使得用户获取到该资源链接对应的子资源包。每个资源包具有资源参数,该资源参数用于指示资源包对应的子资源包的信息,每个资源包的资源参数包括子资源包个数及资源数量,该子资源包是用于发放给用户的资源包,每个资源包对应有多个子资源包,资源包对应的子资源包个数表示该资源包对应的子资源包的个数,该资源包对应的资源数量为该资源包对应的多个子资源包对应的数量总和。
119.其中,该资源创建请求用于请求创建资源链接,该资源链接为供用户获取资源的链接。可选地,该资源链接为红包链接、网址等。例如,该资源链接为红包标识,或者,为购物网站的网址等。该子资源包总个数表示资源链接对应的多个资源包所对应的子资源包的总个数。总资源数量为子资源包总个数对应的子资源包所对应的资源数量总和。
120.例如,该子资源包总个数为100,总资源数量为200,则表示将总资源数量为200的资源分成100个子资源包,供用户获取,后续用户能够获取子资源包。
121.在一种可能实现方法中,该步骤301包括:终端向服务器发送资源创建请求,则该服务器接收该资源创建请求。
122.例如,该终端为直播终端,该服务器为直播服务器,则直播终端向直播服务器发送资源创建请求,以使服务器生成资源链接,后续能够在直播间中发布生成的资源链接,供该直播间中的观众终端获取该资源链接对应的资源。
123.可选地,该资源创建请求还携带用户标识,该用户标识为请求创建资源链接的用户标识,也即是登录该终端的用户标识。例如,该用户标识为请求在直播间发放红包的主播
用户标识,或者,该用户标识为请求在聊天群组里发放红包的用户标识。
124.可选地,终端获取用户输入的子资源包总个数及总资源数量,响应于检测到确认操作,向服务器发送资源创建请求,该资源创建请求携带该子资源包个数及总资源数量。例如,终端的显示界面包括输入区域及确认选项,用户在该输入区域中输入子资源包总个数及总资源数量,在用户点击确认选项后,终端向服务器发送资源创建请求。
125.在一种可能实现方式中,该资源获取请求是由管理人员通过对该服务器进行后台配置生成的。管理人员通过在后台控制该服务器,输入该子资源包总个数及总资源数量,则该服务器获取到该资源创建请求。
126.302、服务器根据资源创建请求,生成资源链接。
127.其中,该资源链接是用于指示该资源创建请求对应的资源的链接,不同的资源创建请求对应的资源链接不同。
128.在一种可能实现方式中,该步骤302包括:对该资源创建请求中的子资源包总个数及总资源数量进行验证,响应于验证通过,根据该资源创建请求,生成资源链接。
129.可选地,响应于该子资源包总个数及该总资源数量均大于0,确定该子资源包总个数及该总资源数量均验证通过;响应于该子资源包总个数或该总资源数量小于0,确定验证未通过。
130.303、服务器根据子资源包总个数及总资源数量,生成多个资源包。
131.其中,每个资源包具有资源参数,该资源参数用于指示资源包对应的子资源包的信息,每个资源包的资源参数包括子资源包个数及资源数量,该子资源包个数表示资源包对应的子资源包的个数,资源数量表示资源包对应的子资源包对应的资源数量的总和。例如,对于任一资源包,该资源包对应的子资源包个数为5,该资源包对应的资源数量为100,表示该资源包对应有5个子资源包,且5个资源包对应的资源数量总和为100。可选地,资源包的资源参数中还包括剩余子资源包个数及剩余资源数量。该剩余子资源包个数表示该资源包还能生成的子资源包的个数,该剩余资源数量表示该资源包除去已发放的子资源包外,还剩余未发放的资源数量。在资源包刚生成时,在该资源包的资源参数中,子资源包个数与剩余子资源包个数相等,资源数量与剩余子资源数量相等。
132.多个资源包对应的子资源包个数之和等于子资源包总个数,多个资源包对应的资源数量之和等于总资源数量。不同的资源包对应的子资源包个数可能相同,也可能不同;不同的资源包对应的资源数量也可能相同,也可能不同。
133.通过生成资源链接对应的多个资源包,以使后续在为用户发放资源时,能够通过多个资源包并行向多个用户发放资源,从而提高资源发放效率。
134.在一种可能实现方式中,服务器生成多个资源包的资源包标识,将生成的多个资源包标识与资源链接对应存储。其中,该资源包标识用于指示资源包,不同的资源包对应的资源包标识不同。通过将该资源链接与该多个资源包标识对应存储,以便后续能够根据该资源链接,确定对应的多个资源包。
135.在一种可能实现方式中,服务器将生成的多个资源包存储在多个内存区域。例如,将每个资源包存储于一个redis(remote dictionary server,远程字典服务)中,该redis中包括该资源包的资源参数。
136.由于后续通过资源包生成子资源包的过程中,需要对该资源包进行加锁,以避免
资源包生成的子资源包个数大于该资源包对应的资源包个数的情况,因此,通过将多个资源包分别存储于不同的内存区域中,以使后续通过资源包分配给用户标识后,将该内存区域进行加锁,从而实现对资源包的加锁。如图4所示,以创建红包为例,通过创建红包,在内存区域中存储一条记录,该记录中包括红包链接、每个红包对应的子红包个数、每个红包的红包金额、每个子红包对应内存区域路由、每个红包对应的剩余子红包个数及每个红包对应的剩余红包金额,并将每个红包存储于一个内存区域中,每个内存区域中存储有红包标识、该红包标识对应的红包金额、该红包标识对应的子红包个数、该红包标识对应的剩余子红包个数及该红包标识对应的剩余红包金额。
137.在一种可能实现方式中,每个资源包对应的资源数量及子资源包个数相等,且每个资源包对应的子资源包个数为第一子资源包个数,该第一子资源包个数为固定值;则该步骤303包括:将子资源包总个数与第一子资源包个数之间的比值,确定为资源包个数,将总资源数量与该资源包个数之间的比值,确定为每个资源包对应的资源数量,得到多个资源包。
138.在一种可能实现方式中,每个资源包对应有第二子资源包个数,其中,第二子资源包个数表示每个资源包对应的子资源包的最大个数。每个资源包的资源参数中的子资源包个数不大于第二子资源包个数,则该步骤303包括:根据该第二子资源包个数、该总资源数量及该子资源包总个数,生成多个资源包。
139.可选地,每个子资源包对应的单位资源数量相等,则将该总资源数量与该子资源包总个数之间的比值,确定为每个子资源包对应的单位资源数量,根据该第二子资源包个数及该子资源包总个数,确定多个资源包对应的子资源个数,将该单位资源数量与每个资源包对应的子资源个数之间的乘积,确定多个资源包对应的资源数量,从而得到该多个资源包。
140.例如,该子资源包总个数为10000,该总资源数量为20000,第二子资源包个数为200,每个子资源包对应的单位资源数量相等,则确定每个子资源包对应的单位资源数量为2,资源包个数为50,每个资源包对应的资源数量为100,即得到50个资源包,每个资源包对应的子资源个数为200,每个资源包对应的资源数量为400。
141.可选地,每个子资源包对应的资源数量属于第一参考数量范围,不同的子资源包对应的资源数量可能不同。则对于任一资源包,根据该资源包对应的子资源包个数及该第一参考数量范围,确定该资源包对应的资源数量所属的第二第一参考数量范围,从该第二第一参考数量范围内选取一个随机数量,作为该资源包对应的资源数量,且多个资源包对应的资源数量的总和等于该总资源数量。
142.例如,第一参考数量范围为[0.1,100],则表示每个子资源包对应的单位资源数量的最小值为0.1,最大值为100,资源包对应的子资源包个数为5,则得到的第二第一参考数量范围为[0.5,500],则表示5个子资源包对应的单位资源数量的总和的最小值为0.1,最大值为500。
[0143]
304、服务器接收至少一个资源获取请求,每个资源获取请求携带资源链接,及请求获取资源链接对应的资源的用户标识。
[0144]
在本技术实施例中,在服务器创建资源链接后,将资源链接发布给多个用户标识登录的终端,在用户查看资源连接后,触发该资源链接,则向服务器发送资源获取请求,服
务器能够接收到资源获取请求,以便后续为请求获取该资源链接对应的资源的用户标识发放子资源包。
[0145]
其中,该资源获取请求用于获取资源链接中对应的资源。可选地,不同的资源获取请求是由不同的终端发送的。请求获取该资源链接对应的资源的用户标识为请求通过该资源链接获取子资源包的用户。
[0146]
在一种可能实现方式中,在该步骤304包括:将该资源链接发放至多个终端,多个终端显示该资源链接,响应于任一终端检测到对该资源链接的触发操作,向服务器发送资源获取请求,该资源获取请求携带该资源链接及登录该终端的用户标识,则该服务器接收到该终端发送的资源获取请求。
[0147]
需要说明的是,本技术实施例仅是以接收到的至少一个资源获取请求中携带的资源链接为同一个资源链接进行说明的,而在另一实施例中,服务器能够接收到携带不同资源链接的资源获取请求,则服务器将不同的资源链接对应的资源获取请求,采用本技术实施例提供的方法分别进行处理即可,每个资源链接的处理过程类似,本技术实施例不再赘述说明。
[0148]
305、服务器从资源链接对应的多个资源包中,为至少一个用户标识分配资源包。
[0149]
由于该资源链接对应有多个资源包,通过为该至少一个用户标识中的每个用户标识分配一个资源包,以使后续通过分配的资源包为用户标识发放子资源包。
[0150]
在一种可能实现方式中,该步骤305包括:响应于对资源链接验证通过,从资源链接对应的多个资源包中,为至少一个用户标识分配资源包。通过对资源链接进行验证,以保证资源链接的准确性,从而保证后续通过该资源链接为用户标识发放子资源包的准确性。
[0151]
可选地,通过采用以下两种方式对资源链接进行验证。
[0152]
第一种方式:响应于当前时间点属于资源链接对应的有效时间段,确定对资源链接验证通过。
[0153]
在本技术实施例中,每个资源链接具有有效时间段,该有效时间段用于指示该资源链接对应的有效时间。例如,该有效时间段为上午10点到上午10点半。如果当前时间点属于该有效时间段内,表示在当前时间点该资源链接有效,则确定该资源链接验证通过。
[0154]
可选地,响应于当前时间点不属于资源链接对应的有效时间段,确定资源链接验证未通过。
[0155]
可选地,服务器中包括资源链接与有效时间段的对应关系,在生成该资源链接时,为该资源链接生成有效时间段,并将该资源链接及该资源链接的有效时间段进行对应存储,则对该资源链接进行验证时,通过该资源链接,查询对应关系,确定该资源链接对应的有效时间段。
[0156]
第二种方式:响应于资源链接对应有未发放完成的资源包,确定资源链接验证通过。
[0157]
通过验证资源链接对应的多个资源包中,是否还存在未发放完成的资源包,以确定该资源链接是否还能够为用户标识生成子资源包。如果资源链接对应有未发放未完成的资源包,则表示通过该资源链接,还能够为用户标识发放子资源包,则对该资源链接验证通过。如果资源链接对应的多个资源包均已发放完成,表示该资源链接对应的资源已发放完成,则确定该资源链接验证未通过。
[0158]
可选地,资源包的资源参数包括剩余子资源包个数,则遍历该资源链接对应的多个资源包对应的剩余子资源包个数,响应于任一剩余子资源包个数不为0,确定该剩余子资源包个数对应的资源包未发放完成。
[0159]
可选地,资源包的目标资源参数包括剩余资源数量,则遍历该资源链接对应的多个资源包对应的剩余资源数量,响应于任一剩余资源数量不为0,确定该剩余资源数量对应的资源包未发放完成。
[0160]
在一种可能实现方式中,该步骤305包括:对于任一资源获取请求,响应于对资源获取请求携带的用户标识验证通过,从资源链接对应的多个资源包中,为用户标识分配一个资源包。
[0161]
为了保证资源发放的准确性,需要对请求获取子资源包的用户标识进行验证,以避免用户标识重复获取子资源包或者该用户标识为黑名单用户。因此,仅在对用户标识验证通过的情况下,才为该用户标识分配资源包,以保证资源发放的准确性。
[0162]
可选地,通过采用以下四种方式对用户标识进行验证。
[0163]
第一种方式:响应于用户标识通过资源链接获取的资源数量小于第一参考数量,确定对用户标识验证通过。
[0164]
其中,该第一参考数量表示一个用户标识通过一个资源链接能够获取的最大资源数量,该第一参考数量为任意数值,如10或者20等。
[0165]
为了避免一个用户标识通过一个资源链接获取的资源过多,以第一参考数量为基准,限制用户标识从一个资源链接中获取的最大资源数量。如果用户标识通过资源链接获取的资源数量小于第一参考数量,则表示用户标识还能够通过该资源链接获取子资源包,则确定对该用户标识验证通过,以便后续该用户标识通过该资源链接获取子资源包。如果用户标识通过资源链接获取的资源数量不小于第一参考数量,则表示用户标识通过该资源链接获取的资源数量已达到上限,无法再通过该资源链接获取子资源包,则确定对该用户标识验证未通过。
[0166]
可选地,服务器中的数据库存储有用户标识、资源链接及通过该资源链接获取的资源数量的对应关系,则根据该用户标识及该资源链接,查询数据库,确定该用户标识通过该资源链接获取的资源数量。
[0167]
可选地,在数据库中,该用户标识、资源链接及通过该资源链接获取的资源数量的对应关系以列表的形式存储。该对应关系如表1所示,用户标识1通过该资源链接a获取的资源数量为5,用户标识2通过该资源链接a获取的资源数量为4,用户标识3通过该资源链接a获取的资源数量为6。
[0168]
表1
[0169]
用户标识资源链接资源数量用户标识1资源链接a5用户标识2资源链接a4用户标识3资源链接a6
[0170]
第二种方式:响应于用户标识通过资源链接获取的子资源包个数小于第二参考数量,确定对用户标识验证通过。
[0171]
其中,第二参考数量表示一个用户标识通过一个资源链接能够获取的子资源包的
最大个数,该第二参考数量为任意数值,如1或3等。
[0172]
为了避免一个用户标识通过一个资源链接获取的资源过多,以第二参考数量为基准,限制用户标识从一个资源链接中获取的最大子资源包个数。如果用户标识通过资源链接获取的子资源包个数小于第二参考数量,则表示用户标识还能够通过该资源链接获取子资源包,则确定对该用户标识验证通过,以便后续该用户标识通过该资源链接获取子资源包。如果用户标识通过资源链接获取的子资源包个数不小于第二参考数量,则表示用户标识通过该资源链接获取的资源包的个数已达到上限,无法再通过该资源链接获取子资源包,则确定对该用户标识验证未通过。
[0173]
可选地,服务器中的数据库存储用户标识、资源链接及通过该资源链接获取的子资源包个数的对应关系,则根据该用户标识及该资源链接,查询数据库,确定该用户标识通过该资源链接获取的子资源包个数。
[0174]
可选地,在数据库中,该用户标识、资源链接及通过该资源链接获取的子资源包个数的对应关系以列表的形式存储。该对应关系如表2所示,用户标识1通过该资源链接a获取的子资源包个数为1,用户标识2通过该资源链接a获取的子资源包个数为2,用户标识3通过该资源链接a获取的子资源包个数为1。
[0175]
表2
[0176]
用户标识资源链接子资源包个数用户标识1资源链接a1用户标识2资源链接a2用户标识3资源链接a1
[0177]
第三种方式:响应于在数据库中未查询到用户标识,确定对用户标识验证通过。
[0178]
其中,数据库用于记录已通过资源链接获取资源的用户标识。通过查询数据库,以确定该用户标识是否已经通过该资源链接获取资源。如果数据库中不存在该用户标识,表示该用户标识还未通过该资源链接获取资源,则确定对该用户标识验证通过,以便后续该用户标识能够通过该资源链接获取资源。如果数据库中存在该用户标识,表示该用户标识已通过该资源链接获取资源,该用户标识将无法再通过该资源链接获取资源,则确定对该用户标识验证不通过。
[0179]
可选地,数据库中包括用户标识与资源链接的对应关系,在用户标识通过资源链接获取资源后,生成该用户标识与该资源链接的对应关系,并将该对应关系存储在数据库中,则响应于在数据库中未查询到该用户标识与该资源链接的对应关系,确定对该用户标识验证通过。
[0180]
第四种方式:响应于在黑名单中未查询到用户标识,确定对用户标识验证通过。
[0181]
可选地,响应于在黑名单中查询到用户标识,确定对该用户标识验证未通过。
[0182]
在一种可能实现方式中,该步骤305包括:从资源链接对应的多个资源包中,为至少一个用户标识分配处于非锁定状态的资源包。
[0183]
在本技术实施例中,由于每个资源包的目标资源参数包括子资源包数量,则一个资源包同时为多个用户标识生成子资源包时,容易导致该资源包已生成的子资源包数量超出该资源包对应的子资源包数量,从而导致发放的资源不准确,因此在通过资源包分配给任一用户标识后,将该资源包的状态设置为锁定状态,以使该资源包在同一时刻仅能够为
一个用户标识生成子资源包,避免了资源超发的情况,从而提高了资源发放的准确性。
[0184]
对于任一资源包,该资源包处于非锁定状态,表示该资源包当前未分配给用户标识,因此,为用户标识分配处于非锁定状态的资源包,后续由已分配的资源包为该用户标识生成子资源包,以保证后续资源发放的准确性。
[0185]
在一种可能实现方式中,该步骤305包括:从资源链接对应的多个资源包中,为至少一个用户标识分配资源包之后,将已分配的资源包的状态设置为锁定状态。
[0186]
通过将已分配的资源包的状态设置为锁定状态,以使无法将已分配的资源包再分配给其他用户标识,避免了资源超发的情况,从而提高了资源发放的准确性。
[0187]
另外,在服务器接收到多个资源获取请求后,按照接收该多个资源获取请求的先后顺序,依次为资源获取请求中携带的用户标识分配一个资源包,并且为用户分配一个资源包时,需要判断该资源链接对应的多个资源包是否已发放完成,如果在为当前的用户标识分配资源包时,确定该资源链接对应的多个资源包均已发放完成,则不再为当前的用户标识分配资源包。
[0188]
在一种可能实现方式中,在为当前的用户标识分配资源包时,确定该资源链接对应的多个资源包均已发放完成,则服务器向该用户标识登录的终端发送已抢完通知,以提示该资源链接对应的子资源包已被其他用户获取完成。
[0189]
306、服务器根据已分配的资源包的目标资源参数中的剩余资源数量,为资源包对应的用户标识生成一个子资源包,以使子资源包对应的资源数量不大于剩余资源数量。
[0190]
其中,目标资源参数包括剩余资源数量,该剩余资源数量为该资源包中还剩余的资源的数量。通过生成的子资源包对应的资源数量不大于剩余资源数量,从而避免了资源包已生成的资源包对应的资源数量之和,超出该资源包对应的资源数量,从而保证资源发放的准确性。
[0191]
在一种可能实现方式中,目标资源参数还包括剩余子资源包个数;则该步骤306包括以下步骤3061-3062:
[0192]
3061、响应于剩余子资源包个数大于1,根据剩余资源数量为用户标识生成一个子资源包,子资源包对应的资源数量小于剩余资源数量。
[0193]
其中,剩余子资源包个数为正整数,在剩余子资源包个数大于1时,表示该资源包还能够生成两个或两个以上的子资源包,因此,当前为该用户标识生成的子资源包对应的资源数量小于剩余资源数量,以使后续该资源包还能够为其他用户标识生成子资源包。
[0194]
可选地,每个子资源包对应的单位资源数量相同,则响应于剩余资源包个数大于1,将该剩余资源数量与该剩余子资源包个数之间的比值,确定为该子资源包对应的资源数量。
[0195]
可选地,每个子资源包对应的单位资源数量可能相同,也可能不同,且每个子资源包对应的资源数量属于第一参考数量范围,则响应于剩余子资源包个数大于1,从该第一参考数量范围内得到一个随机数量,确定为该子资源包对应的资源数量,且随机数量小于剩余资源数量。
[0196]
3062、响应于剩余子资源包个数等于1,根据剩余资源数量为用户标识生成一个子资源包,子资源包对应的资源数量等于剩余资源数量。
[0197]
在该资源包对应的剩余子资源包个数为1时,表示该剩余资源数量还能够生成一
个子资源包,因此,将该资源包的剩余资源数量作为生成的子资源包对应的资源数量,以使该资源包发放完成,因此,该子资源包对应的资源数量等于剩余资源数量。
[0198]
需要说明的是,本技术实施例是通过资源包的目标资源参数中的剩余资源数量,为用户标识分配一个子资源包进行说明的,而在另一实施例中无需执行步骤306,根据已分配的资源包的目标资源参数中的其他信息,为资源包对应的用户标识生成子资源包。
[0199]
在一种可能实现方式中,该步骤306之后,该方法还包括:将资源包的状态设置为非锁定状态。在为用户标识生成子资源包后,通过将资源包的状态设置为非锁定状态,以使后续能够通过该资源包为其他用户标识生成子资源包。
[0200]
在一种可能实现方式中,该步骤306之后,需要对已分配的资源包的目标参考进行更新,更新过程包括以下两种方式:
[0201]
第一种方式,目标资源参数包括剩余子资源包个数及剩余资源数量:将资源包对应的剩余子资源包个数减1,将资源包对应的剩余资源数量减少子资源包对应的资源数量。
[0202]
在通过已分配的资源包为用户生成一个子资源包后,对该资源包对应的剩余子资源包个数及剩余资源数量进行更新,以保证资源包的目标资源参数的准确性,以使后续根据更新的剩余子资源包个数及剩余资源数量,继续为其他用户标识生成子资源包,从而保证资源发放的准确性。
[0203]
第二种方式,目标资源参数包括剩余子资源包个数及单位资源数量,单位资源数量用于指示资源包中的每个子资源包对应的资源数量:将资源包的目标资源参数中的剩余子资源包个数减1。
[0204]
由于每个子资源包对应的单位资源数量相同,则在通过已分配的资源包为用户标识生成子资源包后,对该资源包对应的剩余子资源包个数进行更新,以保证资源包的目标资源参数的准确性,以使后续根据更新的剩余子资源包个数,继续为其他用户标识生成子资源包,从而保证资源发放的准确性。
[0205]
需要说明的是,本技术实施例是以已分配的资源包对应的剩余资源数量大于0的情况下,成功生成一个子资源包为例进行说明的,而在另一实施例中,已分配的资源包对应的剩余资源数量为0,则通过该已分配的资源包将无法再为对应的用户标识生成子资源包,因此,需要从资源链接对应的多个资源包中,为该资源包对应的用户标识重新分配一个其他资源包。
[0206]
在一种可能实现方式中,目标资源参数包括剩余子资源包个数;在步骤305之后,该方法还包括:响应于目标资源参数中的剩余子资源包个数为0,从资源链接对应的多个资源包中,为资源包对应的用户标识重新分配一个其他资源包。
[0207]
另外,在为用户标识重新分配一个其他资源包后,响应于该其他资源包对应的剩余资源数量大于0,执行上述步骤306,为该用户标识生成一个子资源包。
[0208]
307、服务器向资源包对应的用户标识发放子资源包。
[0209]
在服务器为用户标识生成子资源包后,将子资源包发放给对应的用户标识,以使用户获取子资源包中的资源。
[0210]
在一种可能实现方式中,该步骤307包括以下步骤3071-3073:
[0211]
3071、根据用户标识及资源链接,生成用户标识对应的发放标识。
[0212]
在本技术实施例中,在为用户标识发放子资源包时,为用户标识及该资源链接生
成一个发放标识,以记录已通过该资源链接为该用户标识发放子资源包,通过该发放标识,以避免向一个用户标识重复发放资源包的情况,从而保证资源发放的准确性。
[0213]
其中,发放标识为通过该资源链接为该用户标识发放资源的唯一标识。可选地,该发放标识由该用户标识与该资源链接组成。
[0214]
3072、响应于在数据库中未查询到用户标识对应的发放标识,向资源包对应的用户标识发放子资源包。
[0215]
其中,数据库用于存储已发放资源链接中的资源的用户标识对应的发放标识。
[0216]
可选地,该数据库中包括发放标识、用户标识及资源链接的对应关系。通过查询数据库中的对应关系,能够确定数据库中是否存在用户标识对应的发放标识。
[0217]
通过该用户标识查询该数据库,以确定该数据库中是否存在该用户标识,从而能够确定是否已通过该资源链接为该用户标识发放子资源包。在未查询到该用户标识的情况下,表示还未通过该资源链接为该用户标识发放子资源包,因此,通过该资源包向该用户标识发放已生成的子资源包。
[0218]
3073、响应于在数据库中查询到用户标识对应的发放标识,向用户标识发送发放完成通知。
[0219]
其中,该发放完成通知用于提示用户标识已获取资源链接中的资源。
[0220]
在为用户发放子资源包前,通过在数据库中记录为用户对应的发放标识,以避免向同一用户标识重复发放子资源包,从而保证资源发放的准确性。
[0221]
在一种可能实现方式中,每个资源获取请求携带在直播间中发布的资源链接,及请求获取资源链接对应的资源的观众用户标识;该步骤307包括:服务器向观众用户标识登录的终端发送资源发放指令,资源发放指令携带观众用户标识对应的子资源包,则该终端在直播间的直播界面中显示子资源包。
[0222]
在本技术实施例中,该服务器为直播服务器,在每个直播间中,直播终端向直播服务器发送资源创建请求,该直播服务器根据资源创建请求,创建资源链接及对应的多个资源包,并将资源链接发布在直播间中,以使直播间中的观众用户标识登录的终端显示该直播间的直播界面中显示该资源链接,响应于观众用户对该资源链接的触发操作,观众终端向直播服务器发送资源获取请求,以使直播服务器按照上述步骤304-306,为该观众用户标识生成一个子资源包,之后向观众用户标识登录的终端发送资源发放指令,以使将子资源包发放给观众用户,从而实现了直播间发放子资源包的方案。
[0223]
在一种可能实现方式中,资源链接为物品链接;该步骤307包括:服务器向用户标识登录的终端发送物品发放指令,物品发放指令携带用户标识对应的子物品包,子物品包中包括物品,则终端接收到该子物品包。
[0224]
例如,资源链接为物品链接,该物品链接为物品展示页面的网址,在该物品展示页面中展示待抢购的物品,则在终端检测到对该物品展示页面中的物品的抢购操作,向服务器发送物品获取请求,则服务器按照上述步骤304-306,为登录该终端的用户生成一个子物品包,之后向该终端发送物品发放指令,以使将子物品包发放给登录该终端的用户,从而实现了用户对物品展示页面中的物品进行抢购的方案。
[0225]
另外,在服务器将生成的子资源包发放给对应的用户标识时,采用异步到账的方式进行处理。在一种可能实现方式中,服务器向用户标识登录的终端发送资源获取通知,以
提示用户已获取到的资源数量,而后向该用户标识的账户中发放该资源数量的资源。
[0226]
在为用户发放资源过程中,先向用户发送资源获取通知,以提示用户已获取到的资源数量,而后再向该用户标识的账户中发放子资源包包括的资源数量的资源。通过采用异步入账的方式,提升了资源发放的性能,且保证了资源发放的准确性。
[0227]
可选地,服务器向资源转移队列中添加资源转移消息,该资源转移消息携带用户标识及对应的资源数量,服务器按照资源转移队列中的多个资源转移消息,依次对每个资源转移消息进行处理,向资源转移消息中的用户标识的账户中发放对应的资源数量的资源。
[0228]
另外,在服务器将子资源包发放给用户标识后,以使该用户标识登录的终端中国现实该子资源包,以使用户能够查看到该子资源包对应的资源数量,并且,还能够查看到其他用户标识通过该资源链接获取到的资源数量。
[0229]
在本技术实施例中,通过为资源链接生成多个资源包,能够同时为多个用户发放资源,增强资源发放系统的平行扩展能力。并且,在接收到资源获取请求后,通过对资源链接或用户标识进行验证,实现对资源获取请求进行筛选,以筛除不满足发放条件的资源获取请求,后续仅对筛选后的资源获取请求进行处理即可,从而提高了资源发放效率。
[0230]
本技术实施例提供的方法,资源链接对应有多个资源包,在通过资源链接发放资源过程中,将每个资源包分配给用户标识,再利用分配的资源包生成子资源包,从而为用户标识发放子资源包。由于不同的资源包互不干扰,能够并行地实现资源发放,打破了相关技术中只能按照先后顺序依次为不同用户标识发放资源包的限制,从而提高了资源发放效率。
[0231]
并且,在为用户标识分配资源包之前,通过对资源链接及用户标识进行验证,以筛除验证未通过的资源获取请求,从而减少了资源获取请求的数量,后续按照筛选后的资源获取请求进行处理,从而提高了资源发放效率。
[0232]
并且,通过资源包为用户标识生成子资源包的过程中,通过将资源包的状态设置为锁定状态,以避免一个资源包同时为多个用户生成子资源包而导致资源超发的情况,从而提高了资源发放的准确性。
[0233]
图5示出了一种在用户抢红包的流程,用户在抢红包时,服务器对该用户标识进行互动服务验证及黑名单验证,以保证用户标识的安全性,通过为该用户标识生成一个子红包,通过放号服务为该用户生成抢红包单号,该抢红包单号即为发放标识,该抢红包单号由红包标识及用户标识组成,并在内存区域中查询是否包括该抢红包单号,以避免重复为用户分配子红包,在该内存区域不包括抢红包单号的情况下,将该抢红包单号、用户标识及子红包对应存储于内存区域中,以实现对该用户标识抢夺红包的过程进行记录,根据为该用户标识发放的子红包对应的红包金额,将该红包金额的资源发放到该用户标识对应的虚拟账户中,并生成账户侧订单号,记录已为该用户标识发放子红包对应的资源,后续该用户能够对虚拟账户中的资源进行提现,将资源提现到用户标识的真实账户中。
[0234]
图5还示出了一种红包提现流程,对该用户标识的虚拟账户中的资源进行提现,通过放号服务,为该红包提现流程生成提现单号,在内存区域中查询是否包括该提现单号,以避免重复提现,在内存区域中不包括该提现单号的情况下,向该用户标识的真实账户中转入相应的资源,并将该提现单号存储于内存区域中,以记录该用户标识的红包提现过程。
[0235]
以直播场景为例,对上述实施例提供的资源发放方法进行说明,图6示出了一种在直播间中创建红包的流程,交互主体为直播终端、直播服务器及存储服务器,该红包创建流程包括:
[0236]
1、直播终端基于直播间的直播界面,获取到红包总个数及红包总金额,响应于确认操作,向直播服务器发送红包创建请求,该红包创建请求携带红包总个数及红包总金额。
[0237]
2、直播服务器接收该直播终端发送的红包创建请求。
[0238]
3、直播服务器对该红包创建请求携带的红包总个数及红包总金额进行验证,响应于验证通过,执行步骤4,响应于验证未通过,生成创建失败通知,向直播终端发送该创建失败通知,以提示红包创建失败。
[0239]
4、直播服务器根据该红包创建请求,生成红包链接,根据该红包总个数,确定该红包链接对应的红包个数,生成与红包个数相等个数的红包标识。
[0240]
5、直播服务器读取mysql(磁盘存储区域)中的红包集群配置表,响应于读取成功,确定红包集群配置表中包括多个未存储有红包的内存区域,执行步骤6;响应于读取失败,向直播终端发送创建失败通知,以提示红包创建失败。
[0241]
6、直播服务器从多个未存储有红包的内存区域中,为每个红包标识分配一个内存区域,响应于分配成功,执行步骤7;响应于分配不成功,向直播终端发送创建失败通知,以提示红包创建失败。
[0242]
7、直播服务器根据该红包总个数、红包总金额及子红包个数,生成多个红包,将每个红包及对应的红包标识分别存储于分配的内存区域中,响应于存储成功,并将多个红包上传至存储服务器中,之后执行步骤8;响应于存储失败,向直播终端发送创建失败通知,以提示红包创建失败。
[0243]
8、直播服务器将每个红包及对应的红包标识分别存储于磁盘存储区域中的红包配置信息表中,响应于存储成功,完成将红包链接拆分成多个红包,结束红包创建过程;响应于存储失败,向直播终端发送创建失败通知,以提示红包创建失败。
[0244]
9、直播服务器在红包创建成功后,在该直播间中发布该红包链接,以供该直播间中的观众用户触发该红包链接。
[0245]
以直播场景为例,对上述实施例提供的资源发放方法进行说明,图7示出了一种在直播间中抢红包的流程,交互主体为观众终端、直播服务器及存储服务器,该观众终端中安装有直播应用,该直播服务器为该直播应用对应的服务器,该抢红包流程包括:
[0246]
1、观众终端通过该直播应用,在直播间的直播界面显示主播在该直播间中发放的红包,响应于对该红包的触发操作,向直播服务器发送红包获取请求。
[0247]
2、直播服务器通过观众终端与直播服务器之间的网关,接收到观众终端发送的红包获取请求,该红包获取请求中携带登录该观众终端的观众用户标识及红包链接。
[0248]
3、直播服务器对该观众用户标识进行登录验证,确定该观众用户标识是否已登录该直播应用,响应于验证通过,执行步骤4,响应于未验证通过,向观众终端发送登录通知,以提示登录该直播应用。
[0249]
4、直播服务器对红包链接进行有效期验证,以确定当前时间点是否属于该红包链接对应的有效时间段内,响应于验证通过,执行步骤5,响应于验证未通过,向观众终端发送失败通知,以提示用户该红包链接对应的红包已过期。
[0250]
5、直播服务器通过本地存储的、红包链接对应的多个红包的红包参数,确定该红包链接是否还存在未发放完成的红包,响应于存在未发放完成的红包,执行步骤6;响应于不存在未发放完成的红包,向观众终端发送抢完通知,以提示用户该红包链接对应的红包已被抢完。
[0251]
其中,直播服务器通过抢红包逻辑层,从存储服务器中红包链接对应的内存区域中获取红包链接对应的多个红包的红包参数,并进行本地存储,以使后续直播服务器能够直接根据本地存储的红包参数进行判断。
[0252]
6、直播服务器根据该用户标识查询数据库,确定该数据库中是否存在该观众用户标识,响应于不存在该观众用户标识,执行步骤7,响应于存在该观众用户标识,向观众终端发送等候通知,以提示观众用户当前正在抢红包,请耐心等待,防止观众用户标识重复抢红包。
[0253]
7、直播服务器查询该观众用户标识通过该红包链接已获取的子红包个数及红包金额,响应于子红包个数小于第二参考数量、且子红包金额小于参考金额,执行步骤8,响应于子红包个数不小于第二参考数量或子红包金额不小于参考金额,则向观众终端发送获取通知,以提示观众用户已无法再获取该红包链接对应的子红包。
[0254]
8、直播服务器确定该观众用户标识是否已关注直播间的主播用户标识,响应于已关注该主播用户标识,执行步骤9,响应于未关注该主播标识,将该观众用户标识设置为关注该主播标识,之后执行步骤9。
[0255]
9、直播服务器根据该观众用户标识查询黑名单,响应于黑名单中不包括该观众用户标识,执行步骤10,响应于黑名单中包括该观众用户标识,向观众终端发送繁忙通知,以提示观众用户系统处于繁忙状态。
[0256]
10、直播服务器根据本地存储的、红包链接对应的多个红包,为该观众用户标识分配一个还剩余子红包的红包,向存储服务器发送网络请求,该网络请求携带该观众用户标识及该红包标识。
[0257]
11、存储服务器接收该网络请求,将该红包的状态设置为锁定状态,例如,对该红包的内存区域加锁,通过该红包的红包参数中的剩余金额及剩余子红包个数,为该观众用户标识生成一个子红包,对该红包的红包参数中的剩余金额及剩余子红包个数进行计算,更新内存区域中该红包的红包参数,之后将该红包的状态设置为非锁定状态,例如,对该红包的内存区域解锁。
[0258]
12、存储服务器根据该观众用户标识及该红包链接生成发放标识,通过setnx(setifnot exists,如果不存在则设置)命令,以判断存储服务器中是否存在该发放标识,响应于数据库中未查询到该观众用户标识对应的发放标识,则在资源转移队列中添加资源转移消息,该资源转移消息携带该观众用户标识及对应的红包。其中,该资源转移队列为kafka(消息队列)。
[0259]
13、存储服务器通过红包处理程序,按照资源转移队列中多个资源转移消息的排列顺序,依次对资源转移消息进行处理,根据资源转移消息中的观众用户标识及对应的子红包,向观众用户标识的账户中发放该子红包,并生成订单标识,将订单标识、子红包对应的资源数量及观众用户标识对应存储于内存区域中,并将该观众用户标识抢占的子红包写入该红包链接对应的红包抢占列表,以使后续将该红包抢占列表下发至观众用户,由观众
用户查看该红包链接的抢占情况。
[0260]
在本技术实施例中,存储服务器中存储有红包链接对应的红包,且在观众用户抢占红包链接的过程中,实时对存储服务器中的红包的红包参数进行更新。直播服务器通过从存储服务器中拉取红包链接对应的红包的红包参数,并进行本地存储,以使在直播服务器接收到红包获取请求后,如图8所示,采用流量的漏斗过滤的方式,根据本地存储的信息,对接收到的多个红包获取请求进行层层筛选,以筛除不符合要求的红包获取请求,并通过筛除后的红包获取请求,向存储服务器发送网络请求,以使存储服务器实现为观众用户发放红包,减少了存储服务器处理的红包获取请求的数量,从而提高了资源发放效率。
[0261]
如图9所示,观众终端显示的直播界面中显示红包链接,响应于对红包链接中开选项的触发操作,在直播界面中显示观众用户以获取的红包金额,响应于对详情选项的触发操作,在直播界面中显示该直播间中其他观众用户获取到的红包金额。
[0262]
图10是本技术实施例提供的一种资源发放装置的结构示意图,如图10所示,该装置包括:
[0263]
接收模块1001,用于接收至少一个资源获取请求,每个资源获取请求携带资源链接,及请求获取资源链接对应的资源的用户标识;
[0264]
第一分配模块1002,用于从资源链接对应的多个资源包中,为至少一个用户标识分配资源包;
[0265]
发放模块1003,用于根据已分配的资源包的目标资源参数,为资源包对应的用户标识生成子资源包,向资源包对应的用户标识发放子资源包。
[0266]
在一种可能实现方式中,目标资源参数包括剩余资源数量,如图11所示,发放模块1003,包括:
[0267]
生成单元1031,用于根据剩余资源数量,为资源包对应的用户标识生成一个子资源包,以使子资源包对应的资源数量不大于剩余资源数量。
[0268]
在另一种可能实现方式中,目标资源参数还包括剩余子资源包个数;生成单元1031,用于响应于剩余子资源包个数大于1,根据剩余资源数量为用户标识生成一个子资源包,子资源包对应的资源数量小于剩余资源数量;响应于剩余子资源包个数等于1,根据剩余资源数量为用户标识生成一个子资源包,子资源包对应的资源数量等于剩余资源数量。
[0269]
在另一种可能实现方式中,目标资源参数包括剩余子资源包个数;如图11所示,装置还包括:
[0270]
第二分配模块1004,用于响应于目标资源参数中的剩余子资源包个数为0,从资源链接对应的多个资源包中,为资源包对应的用户标识重新分配一个其他资源包。
[0271]
在另一种可能实现方式中,目标资源参数包括剩余子资源包个数及剩余资源数量;如图11所示,装置还包括:
[0272]
更新模块1005,用于将资源包对应的剩余子资源包个数减1,将资源包对应的剩余资源数量减少子资源包对应的资源数量。
[0273]
在另一种可能实现方式中,目标资源参数包括剩余子资源包个数及单位资源数量,单位资源数量用于指示资源包中的每个子资源包对应的资源数量;
[0274]
如图11所示,装置还包括:
[0275]
更新模块1005,用于将资源包的目标资源参数中的剩余子资源包个数减1。
[0276]
在另一种可能实现方式中,如图11所示,发放模块1003,包括:
[0277]
发送单元1032,用于向用户标识登录的终端发送资源发放指令,资源发放指令携带用户标识对应的子资源包。
[0278]
在另一种可能实现方式中,如图11所示,发放模块1003,包括:
[0279]
生成单元1031,用于根据用户标识及资源链接,生成用户标识对应的发放标识;
[0280]
发放单元1033,用于响应于在数据库中未查询到用户标识对应的发放标识,向资源包对应的用户标识发放子资源包,数据库用于存储已发放资源链接中的资源的用户标识对应的发放标识。
[0281]
在另一种可能实现方式中,如图11所示,装置还包括:
[0282]
发送模块1006,用于响应于在数据库中查询到用户标识对应的发放标识,向用户标识发送发放完成通知,发放完成通知用于提示用户标识已获取资源链接中的资源。
[0283]
在另一种可能实现方式中,如图11所示,装置包括:
[0284]
接收模块1001,还用于接收资源创建请求,资源创建请求携带子资源包总个数及总资源数量;
[0285]
生成模块1007,用于根据资源创建请求,生成资源链接;
[0286]
生成模块1007,还用于根据子资源包总个数及总资源数量,生成多个资源包,每个资源包的目标资源参数包括子资源包个数及资源数量,多个资源包对应的子资源包个数之和等于子资源包总个数,多个资源包对应的资源数量之和等于总资源数量。
[0287]
在另一种可能实现方式中,如图11所示,装置还包括:
[0288]
第一设置模块1008,用于将已分配的资源包的状态设置为锁定状态。
[0289]
在另一种可能实现方式中,如图11所示,装置还包括:
[0290]
第二设置模块1009,用于将资源包的状态设置为非锁定状态。
[0291]
在另一种可能实现方式中,如图11所示,第一分配模块1002,包括:
[0292]
分配单元1021,用于从资源链接对应的多个资源包中,为至少一个用户标识分配处于非锁定状态的资源包。
[0293]
在另一种可能实现方式中,如图11所示,第一分配模块1002,包括:
[0294]
分配单元1021,用于响应于对资源链接验证通过,从资源链接对应的多个资源包中,为至少一个用户标识分配资源包。
[0295]
在另一种可能实现方式中,如图11所示,装置还包括:
[0296]
确定模块1010,用于响应于当前时间点属于资源链接对应的有效时间段,确定资源链接验证通过;或者,
[0297]
确定模块1010,还用于响应于资源链接对应有未发放完成的资源包,确定资源链接验证通过。
[0298]
在另一种可能实现方式中,如图11所示,第一分配模块1002,包括:
[0299]
分配单元1021,用于对于任一资源获取请求,响应于对资源获取请求携带的用户标识验证通过,从资源链接对应的多个资源包中,为用户标识分配一个资源包。
[0300]
在另一种可能实现方式中,如图11所示,装置还包括:
[0301]
确定模块1010,用于响应于用户标识通过资源链接获取的资源数量小于第一参考数量,确定对用户标识验证通过;或者,
[0302]
确定模块1010,还用于响应于用户标识通过资源链接获取的子资源包的个数小于第二参考数量,确定对用户标识验证通过;或者,
[0303]
确定模块1010,还用于响应于在数据库中未查询到用户标识,确定对用户标识验证通过,数据库用于记录已通过资源链接获取资源的用户标识。
[0304]
在另一种可能实现方式中,每个资源获取请求携带在直播间中发布的资源链接,及请求获取资源链接对应的资源的观众用户标识;
[0305]
如图11所示,发放模块1003,包括:
[0306]
发送单元1032,用于向观众用户标识登录的终端发送资源发放指令,资源发放指令携带观众用户标识对应的子资源包,终端用于在直播间的直播界面中显示子资源包。
[0307]
在另一种可能实现方式中,资源链接为物品链接;
[0308]
如图11所示,发放模块1003,包括:
[0309]
发送单元1032,用于向用户标识登录的终端发送物品发放指令,物品发放指令携带用户标识对应的子物品包,子物品包中包括物品。
[0310]
需要说明的是:上述实施例提供的资源发放装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源发放装置与资源发放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0311]
本技术实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述实施例的资源发放方法中所执行的操作。
[0312]
可选地,该计算机设备提供为终端。图12示出了本技术一个示例性实施例提供的终端1200的结构框图。
[0313]
终端1200包括有:处理器1201和存储器1202。
[0314]
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0315]
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1201所执行以实现本技术中方法实施例提供的资源发放方法。
[0316]
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
[0317]
外围设备接口1203可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0318]
射频电路1204用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0319]
显示屏1205用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置在终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在另一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0320]
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0321]
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通
信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
[0322]
定位组件1208用于定位终端1200的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1208可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0323]
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0324]
在一些实施例中,终端1200还包括有一个或多个传感器1210。该一个或多个传感器1210包括但不限于:加速度传感器1211、陀螺仪传感器1212、压力传感器1213、指纹传感器1214、光学传感器1215以及接近传感器1216。
[0325]
加速度传感器1211可以检测以终端1200建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1211可以用于检测重力加速度在三个坐标轴上的分量。处理器1201可以根据加速度传感器1211采集的重力加速度信号,控制显示屏1205以横向视图或纵向视图进行用户界面的显示。加速度传感器1211还可以用于游戏或者用户的运动数据的采集。
[0326]
陀螺仪传感器1212可以检测终端1200的机体方向及转动角度,陀螺仪传感器1212可以与加速度传感器1211协同采集用户对终端1200的3d动作。处理器1201根据陀螺仪传感器1212采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0327]
压力传感器1213可以设置在终端1200的侧边框和/或显示屏1205的下层。当压力传感器1213设置在终端1200的侧边框时,可以检测用户对终端1200的握持信号,由处理器1201根据压力传感器1213采集的握持信号进行左右手识别或快捷操作。当压力传感器1213设置在显示屏1205的下层时,由处理器1201根据用户对显示屏1205的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0328]
指纹传感器1214用于采集用户的指纹,由处理器1201根据指纹传感器1214采集到的指纹识别用户的身份,或者,由指纹传感器1214根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1201授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1214可以被设置在终端1200的正面、背面或侧面。当终端1200上设置有物理按键或厂商logo时,指纹传感器1214可以与物理按键或厂商logo集成在一起。
[0329]
光学传感器1215用于采集环境光强度。在一个实施例中,处理器1201可以根据光
学传感器1215采集的环境光强度,控制显示屏1205的显示亮度。具体地,当环境光强度较高时,调高显示屏1205的显示亮度;当环境光强度较低时,调低显示屏1205的显示亮度。在另一个实施例中,处理器1201还可以根据光学传感器1215采集的环境光强度,动态调整摄像头组件1206的拍摄参数。
[0330]
接近传感器1216,也称距离传感器,设置在终端1200的前面板。接近传感器1216用于采集用户与终端1200的正面之间的距离。在一个实施例中,当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变小时,由处理器1201控制显示屏1205从亮屏状态切换为息屏状态;当接近传感器1216检测到用户与终端1200的正面之间的距离逐渐变大时,由处理器1201控制显示屏1205从息屏状态切换为亮屏状态。
[0331]
本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0332]
可选地,该计算机设备提供为服务器。图13是本技术实施例提供的一种服务器的结构示意图,该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)1301和一个或一个以上的存储器1302,其中,存储器1302中存储有至少一条程序代码,至少一条程序代码由处理器1301加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0333]
服务器1300可以用于执行上述资源发放方法中服务器所执行的步骤。
[0334]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述实施例的资源发放方法中所执行的操作。
[0335]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备实现如上述实施例的资源发放方法中所执行的操作。
[0336]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0337]
以上所述仅为本技术实施例的可选实施例,并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献