CN110944219B - 资源分配方法、装置、服务器及存储介质 - Google Patents
资源分配方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110944219B CN110944219B CN201911142066.3A CN201911142066A CN110944219B CN 110944219 B CN110944219 B CN 110944219B CN 201911142066 A CN201911142066 A CN 201911142066A CN 110944219 B CN110944219 B CN 110944219B
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- server
- allocation
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开关于一种资源分配方法、装置、服务器及存储介质,属于网络技术领域。所述方法包括:直播服务器在接收到任一第一终端在直播过程中发送的资源发放请求时,将所述资源发放请求对应的资源的资源信息存储到资源数据库中;调度服务器周期性从所述资源数据库中,读取各个资源的资源信息;调度服务器根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的目标资源,对所述目标资源进行分配。本公开通过调度服务器周期性根据当前已发放的各个资源的资源信息,确定符合分配条件的资源,对该资源进行分配,即使主播端的请求失败,调度服务器也可以进行资源的调度并进行资源的分配,提升了可用性。
Description
技术领域
本公开涉及网络技术领域,尤其涉及一种资源分配方法、装置、服务器及存储介质。
背景技术
随着网络技术的发展,网络直播成为一种新兴的娱乐方式,受到越来越多用户的关注和喜爱,为了增强直播间内的互动性,可以在直播间内提供红包服务,主播用户可以在直播间内发红包,在该红包的生效时长到达之前(红包到期前),观众用户可以通过分享直播间参与抢红包,在生效时长到达后(红包到期后),服务器为参与的观众用户分配红包。
相关技术中,主播用户发红包后,主播端不断和直播服务器进行校时,在红包到期后由主播端自动发起分配请求,该分配请求中可以携带该红包的ID(identification,标识),直播服务器在接收到该分配请求后,根据该红包的ID从数据库中读取红包数据和参与者信息,按照一定的分配规则,计算所有参与者的分数并排序,取前若干名参与者分配该红包的金额,得出结果后更新红包的状态。
上述技术中所有逻辑聚合在直播服务器中,直播服务器不仅要处理红包分配服务的逻辑,还要处理其他服务的逻辑,如果主播端的某次分配请求超时或者直接失败,会导致红包不可分配,红包分配服务的可用性差。
发明内容
本公开提供一种资源分配方法、装置及系统,以至少解决相关技术中可用性差的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种资源分配方法,所述方法应用于资源分配系统,所述资源分配系统包括至少一个第一终端、直播服务器和调度服务器,所述方法包括;
所述直播服务器在接收到任一第一终端在直播过程中发送的资源发放请求时,将所述资源发放请求对应的资源的资源信息存储到资源数据库中;
所述调度服务器周期性从所述资源数据库中,读取各个资源的资源信息;
所述调度服务器根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的目标资源,对所述目标资源进行分配。
在一种可能实现方式中,所述资源分配系统还包括计算服务器,
所述对所述目标资源进行分配,包括:
所述调度服务器向所述计算服务器发送第一请求,所述第一请求用于请求对所述目标资源进行分配;
所述计算服务器在接收到所述第一请求时,对所述第一请求对应的所述目标资源进行分配。
在一种可能实现方式中,所述计算服务器在接收到所述第一请求之前,所述方法还包括:
所述计算服务器获取参与领取所述目标资源的各个用户的用户信息;
所述计算服务器根据所述各个用户的用户信息,获取所述各个用户的分数;
所述计算服务器存储所述各个用户的分数。
在一种可能实现方式中,所述对所述第一请求对应的所述目标资源进行分配,包括:
所述计算服务器获取已存储的所述各个用户的分数;
所述计算服务器根据所述各个用户的分数,对所述目标资源进行分配。
在一种可能实现方式中,所述资源分配系统还包括至少一个第二终端,
所述计算服务器获取参与领取所述目标资源的各个用户的用户信息之前,所述方法还包括:
所述直播服务器将所述目标资源发送给所述至少一个第二终端中与发放所述目标资源的第一终端对应同一直播间的各个第二终端;
所述各个第二终端在接收到所述目标资源时,显示所述目标资源;
所述各个第二终端中的任一第二终端在接收到对所述目标资源的参与领取指令时,向所述直播服务器发送参与领取请求,所述参与领取请求用于请求参与领取所述目标资源;
所述直播服务器在接收到所述参与领取请求时,将所述任一第二终端的用户的用户信息作为参与领取所述目标资源的用户的用户信息,存储到目标数据库中,所述目标数据库用于存储参与领取所述各个资源的用户的用户信息。
在一种可能实现方式中,所述计算服务器获取参与领取所述目标资源的各个用户的用户信息,包括:
所述计算服务器从所述目标数据库中,获取参与领取所述目标资源的各个用户的用户信息。
在一种可能实现方式中,所述计算服务器在接收到所述第一请求时,对所述第一请求对应的所述目标资源进行分配,包括:
所述计算服务器在接收到所述第一请求时,获取参与领取所述目标资源的各个用户的用户信息;
所述计算服务器根据所述各个用户的用户信息,获取所述各个用户的分数;
所述计算服务器根据所述各个用户的分数,对所述目标资源进行分配。
在一种可能实现方式中,所述确定所述各个资源中资源信息符合所述分配条件的目标资源之后,所述方法还包括:
所述调度服务器对所述目标资源进行加锁处理;
所述调度服务器在所述目标资源加锁成功时,执行对所述目标资源进行分配的步骤。
在一种可能实现方式中,所述资源分配系统还包括计算服务器,
所述将所述资源发放请求对应的资源的资源信息存储到资源数据库中之后,所述方法还包括:
所述任一第一终端向所述直播服务器发送第二请求,所述第二请求用于请求对所述任一第一终端已发放的资源进行分配;
所述直播服务器接收所述第二请求,从所述资源数据库中,读取所述任一第一终端已发放的资源的资源信息;
所述直播服务器在确定所述任一第一终端已发放的资源的资源信息符合所述分配条件时,向所述计算服务器发送所述第二请求,所述第二请求用于请求对所述任一第一终端已发放的资源进行分配;
所述计算服务器在接收到所述第二请求时,对所述第二请求对应的所述任一第一终端已发放的资源进行分配。
在一种可能实现方式中,所述直播服务器在确定所述资源的资源信息符合所述分配条件之后,所述方法还包括:
所述直播服务器对所述任一第一终端已发放的资源进行加锁处理;
所述直播服务器在所述任一第一终端已发放的资源加锁成功时,执行向所述计算服务器发送所述第二请求的步骤。
在一种可能实现方式中,所述资源信息包括发放时间、生效时长和资源状态,所述资源状态包括已分配状态和未分配状态,所述分配条件为当前时间距离发放时间达到对应的生效时长且所述资源状态为所述未分配状态。
根据本公开实施例的第二方面,提供一种资源分配装置,应用于调度服务器,所述装置包括:
读取单元,被配置为执行周期性从资源数据库中,读取各个资源的资源信息,所述资源数据库用于存储各个第一终端在直播过程中发放的资源的资源信息;
确定单元,被配置为执行根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的目标资源;
分配单元,被配置为执行对所述目标资源进行分配。
在一种可能实现方式中,所述确定单元被配置为执行:
向计算服务器发送第一请求,所述第一请求用于请求对所述目标资源进行分配,由所述计算服务器在接收到所述第一请求时,对所述第一请求对应的所述目标资源进行分配。
在一种可能实现方式中,所述装置还包括:
加锁单元,被配置为执行所述调度服务器对所述目标资源进行加锁处理;
所述分配单元被配置为执行在所述目标资源加锁成功时,对所述目标资源进行分配。
在一种可能实现方式中,所述资源信息包括发放时间、生效时长和资源状态,所述资源状态包括已分配状态和未分配状态,所述分配条件为当前时间距离发放时间达到对应的生效时长且所述资源状态为所述未分配状态。
根据本公开实施例的第三方面,提供一种资源分配装置,应用于计算服务器,所述装置包括:
接收单元,被配置为执行接收调度服务器发送的第一请求,所述第一请求用于请求对目标资源进行分配;
分配单元,被配置为执行对所述第一请求对应的所述目标资源进行分配。
在一种可能实现方式中,所述装置还包括:
获取单元,被配置为执行获取参与领取所述目标资源的各个用户的用户信息;
所述获取单元还被配置为执行根据所述各个用户的用户信息,获取所述各个用户的分数;
存储单元,被配置为执行存储所述各个用户的分数。
在一种可能实现方式中,所述分配单元被配置为执行:
获取已存储的所述各个用户的分数;
根据所述各个用户的分数,对所述目标资源进行分配。
在一种可能实现方式中,所述获取单元被配置为执行:
从所述目标数据库中,获取参与领取所述目标资源的各个用户的用户信息,所述目标数据库用于存储参与领取所述各个资源的用户的用户信息。
在一种可能实现方式中,所述分配单元被配置为执行:
在接收到所述第一请求时,获取参与领取所述目标资源的各个用户的用户信息;
根据所述各个用户的用户信息,获取所述各个用户的分数;
根据所述各个用户的分数,对所述目标资源进行分配。
在一种可能实现方式中,所述装置还包括:
所述接收单元还被配置为执行接收直播服务器在确定任一第一终端已发放的资源的资源信息符合分配条件时发送的第二请求;
所述分配单元还被配置为执行对所述第二请求对应的所述任一第一终端已发放的资源进行分配。
根据本公开实施例的第四方面,提供一种调度服务器,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如第一方面或第一方面的任一种可能实现方式所述的资源分配方法中所述调度服务器所执行的操作。
根据本公开实施例的第五方面,提供一种计算服务器,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如第一方面或第一方面的任一种可能实现方式所述的资源分配方法中所述计算服务器所执行的操作。
根据本公开实施例的第六方面,提供了一种存储介质,当所述存储介质中的指令由调度服务器的处理器执行时,使得所述调度服务器能够执行如第一方面或第一方面的任一种可能实现方式所述的资源分配方法。
根据本公开实施例的第七方面,提供了一种存储介质,当所述存储介质中的指令由计算服务器的处理器执行时,使得所述计算服务器能够执行如第一方面或第一方面的任一种可能实现方式所述的资源分配方法。
根据本公开实施例的第八方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由调度服务器的处理器执行时,使得所述调度服务器能够执行如第一方面或第一方面的任一种可能实现方式所述的资源分配方法。
根据本公开实施例的第九方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由计算服务器的处理器执行时,使得所述计算服务器能够执行如第一方面或第一方面的任一种可能实现方式所述的资源分配方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过调度服务器周期性从资源数据库中,读取当前已发放的各个资源的资源信息,根据该各个资源的资源信息,确定符合分配条件的资源,对该资源进行分配,即使主播端的请求失败,调度服务器也可以进行资源的调度并进行资源的分配,提升了可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种资源分配系统的示意图。
图2是根据一示例性实施例示出的一种资源分配方法的流程图。
图3是根据一示例性实施例示出的一种资源分配方法的流程图。
图4是根据一示例性实施例示出的一种资源分配方法的过程示意图。
图5是根据一示例性实施例示出的一种资源分配装置的框图。
图6是根据一示例性实施例示出的一种资源分配装置的框图。
图7是根据一示例性实施例示出的一种服务器700的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
图1是根据一示例性实施例示出的一种资源分配系统的示意图,参见图1,该资源分配系统包括至少一个第一终端101、直播服务器102和调度服务器103,还可以包括至少一个第二终端104和计算服务器105。
该第一终端101为第一用户所在终端,第一用户为主播用户。第一终端101用于提供直播流,具体地,第一用户在第一终端101上进行直播,在直播过程中,第一终端101采集第一用户的音视频数据,生成直播流,将直播流发送至直播服务器102。在直播过程中,第一用户可以进行资源发放操作,触发第一终端101向直播服务器102发送资源发放请求。
直播服务器102用于提供直播服务,具体地,直播服务器102在接收到第一终端101发送的直播流后,可以将该直播流发送至第二终端102。直播服务器102还可以提供资源发放服务,具体地,直播服务器102在接收到第一终端101的资源发放请求时,可以将该资源发放请求对应的资源发送给至少一个第二终端104中的部分第二终端,同时,还可以将该资源的资源信息存储到资源数据库中。其中,该部分第二终端与该第一终端101对应同一直播间,也即是,该部分第二终端为该第一用户的直播间内的观众用户所在终端。该直播服务器也可以称为API(Application Programming Interface,应用程序编程接口)服务器。
调度服务器103用于提供资源的调度服务,具体地,调度服务器103周期性地确定符合分配条件的资源,并向计算服务器105请求进行分配计算。
第二终端104为第二用户所在终端,第二用户为观众用户。第二终端102用于播放直播流,具体地,第二终端104在接收到直播服务器102发送的直播流后,可以在第二终端104上播放该直播流,使得第二用户可以在第二终端104上观看直播。第二终端102还用于在接收到直播服务器102发送的资源时,在直播界面中显示该资源。
计算服务器105用于提供资源的分配计算服务,具体地,计算服务器在接收到调度服务器103的请求时,可以对该请求所对应的资源进行分配计算。
图2是根据一示例性实施例示出的一种资源分配方法的流程图,如图2所示,应用于资源分配系统,该资源分配系统包括至少一个第一终端、直播服务器和调度服务器,该方法包括下述步骤。
在步骤S201中,该直播服务器在接收到任一第一终端在直播过程中发送的资源发放请求时,将该资源发放请求对应的资源的资源信息存储到资源数据库中。
在步骤S202中,该调度服务器周期性从该资源数据库中,读取各个资源的资源信息。
在步骤S203中,该调度服务器根据该各个资源的资源信息,确定该各个资源中资源信息符合分配条件的目标资源,对该目标资源进行分配。
本公开实施例提供的方法,通过调度服务器周期性从资源数据库中,读取当前已发放的各个资源的资源信息,根据该各个资源的资源信息,确定符合分配条件的资源,对该资源进行分配,即使主播端的请求失败,调度服务器也可以进行资源的调度并进行资源的分配,提升了可用性。
在一种可能实现方式中,该资源分配系统还包括计算服务器,
该对该目标资源进行分配,包括:
该调度服务器向该计算服务器发送第一请求,该第一请求用于请求对该目标资源进行分配;
该计算服务器在接收到该第一请求时,对该第一请求对应的该目标资源进行分配。
在一种可能实现方式中,该计算服务器在接收到该第一请求之前,该方法还包括:
该计算服务器获取参与领取该目标资源的各个用户的用户信息;
该计算服务器根据该各个用户的用户信息,获取该各个用户的分数;
该计算服务器存储该各个用户的分数。
在一种可能实现方式中,该对该第一请求对应的该目标资源进行分配,包括:
该计算服务器获取已存储的该各个用户的分数;
该计算服务器根据该各个用户的分数,对该目标资源进行分配。
在一种可能实现方式中,该资源分配系统还包括至少一个第二终端,
该计算服务器获取参与领取该目标资源的各个用户的用户信息之前,该方法还包括:
该直播服务器将该目标资源发送给该至少一个第二终端中与发放该目标资源的第一终端对应同一直播间的各个第二终端;
该各个第二终端在接收到该目标资源时,显示该目标资源;
该各个第二终端中的任一第二终端在接收到对该目标资源的参与领取指令时,向该直播服务器发送参与领取请求,该参与领取请求用于请求参与领取该目标资源;
该直播服务器在接收到该参与领取请求时,将该任一第二终端的用户的用户信息作为参与领取该目标资源的用户的用户信息,存储到目标数据库中,该目标数据库用于存储参与领取该各个资源的用户的用户信息。
在一种可能实现方式中,该计算服务器获取参与领取该目标资源的各个用户的用户信息,包括:
该计算服务器从该目标数据库中,获取参与领取该目标资源的各个用户的用户信息。
在一种可能实现方式中,该计算服务器在接收到该第一请求时,对该第一请求对应的该目标资源进行分配,包括:
该计算服务器在接收到该第一请求时,获取参与领取该目标资源的各个用户的用户信息;
该计算服务器根据该各个用户的用户信息,获取该各个用户的分数;
该计算服务器根据该各个用户的分数,对该目标资源进行分配。
在一种可能实现方式中,该确定该各个资源中资源信息符合该分配条件的目标资源之后,该方法还包括:
该调度服务器对该目标资源进行加锁处理;
该调度服务器在该目标资源加锁成功时,执行对该目标资源进行分配的步骤。
在一种可能实现方式中,该资源分配系统还包括计算服务器,
该将该资源发放请求对应的资源的资源信息存储到资源数据库中之后,该方法还包括:
该任一第一终端向该直播服务器发送第二请求,该第二请求用于请求对该任一第一终端已发放的资源进行分配;
该直播服务器接收该第二请求,从该资源数据库中,读取该任一第一终端已发放的资源的资源信息;
该直播服务器在确定该任一第一终端已发放的资源的资源信息符合该分配条件时,向该计算服务器发送该第二请求,该第二请求用于请求对该任一第一终端已发放的资源进行分配;
该计算服务器在接收到该第二请求时,对该第二请求对应的该任一第一终端已发放的资源进行分配。
在一种可能实现方式中,该直播服务器在确定该资源的资源信息符合该分配条件之后,该方法还包括:
该直播服务器对该任一第一终端已发放的资源进行加锁处理;
该直播服务器在该任一第一终端已发放的资源加锁成功时,执行向该计算服务器发送该第二请求的步骤。
在一种可能实现方式中,该资源信息包括发放时间、生效时长和资源状态,该资源状态包括已分配状态和未分配状态,该分配条件为当前时间距离发放时间达到对应的生效时长且该资源状态为该未分配状态。
根据本公开实施例的第二方面,提供一种资源分配装置,应用于调度服务器,该装置包括:
读取单元,被配置为执行周期性从资源数据库中,读取各个资源的资源信息,该资源数据库用于存储各个第一终端在直播过程中发放的资源的资源信息;
确定单元,被配置为执行根据该各个资源的资源信息,确定该各个资源中资源信息符合分配条件的目标资源;
分配单元,被配置为执行对该目标资源进行分配。
在一种可能实现方式中,该确定单元被配置为执行:
向计算服务器发送第一请求,该第一请求用于请求对该目标资源进行分配,由该计算服务器在接收到该第一请求时,对该第一请求对应的该目标资源进行分配。
在一种可能实现方式中,该装置还包括:
加锁单元,被配置为执行该调度服务器对该目标资源进行加锁处理;
该分配单元被配置为执行在该目标资源加锁成功时,对该目标资源进行分配。
在一种可能实现方式中,该资源信息包括发放时间、生效时长和资源状态,该资源状态包括已分配状态和未分配状态,该分配条件为当前时间距离发放时间达到对应的生效时长且该资源状态为该未分配状态。
图3是根据一示例性实施例示出的一种资源分配方法的流程图,如图3所示,资源分配方法用于图1所示的资源分配系统,资源分配方法包括以下步骤:
在步骤S301中,任一第一终端在直播过程中,向直播服务器发送资源发放请求,该资源发放请求用于请求在直播间内发放资源。
其中,该资源可以是任一种可分配的资源,如红包。
对于资源分配系统中的任一第一终端,该第一终端的第一用户在直播过程中,如果想要发放资源,则可以在该第一终端上进行资源发放操作,如第一用户可以通过页面操作,设置待发放资源的资源信息,设置完成后进行确认发放操作,该第一终端在检测到该确认发放操作时,可以将该资源的资源信息携带在资源发放请求中发送给直播服务器。该资源的资源信息可以包括发放时间、生效时长和资源状态,该资源状态包括已分配状态和未分配状态,当然,该资源信息中还可以包括资源标识、资源类型、资源数值和分配份数,其中,资源标识用于唯一标识该资源,资源类型用于表示该资源的类型,不同的类型可以对应不同形态的资源,该资源数值用于指示该资源可分配的数值,该分配份数用于指示该资源可以分配给多少个用户。
在步骤S302中,该直播服务器在接收到资源发放请求时,将该资源发放请求对应的资源的资源信息存储到资源数据库中。
其中,该资源数据库用于存储各个第一终端在直播过程中发放的资源的资源信息。
直播服务器在接收到任一第一终端的资源发放请求时,可以根据该资源发放请求中携带的资源的资源信息,得知该第一终端想要在直播间内发放该资源,因而将该资源发放请求中携带的资源的资源信息存储到为资源数据库中。
在步骤S303中,该直播服务器将该任一第一终端发放的资源发送给与该任一第一终端对应同一直播间的各个第二终端。
其中,与该任一第一终端对应同一直播间的各个第二终端,也即是,该任一第一终端的第一用户的直播间内的各个第二用户所在终端。
直播服务器在接收到任一第一终端的资源发放请求时,除了将资源信息存储到资源数据库中以外,还可以将该第一终端发放的资源发送给对应的各个第二终端。具体地,直播服务器可以将该资源的资源信息,如资源类型和资源标识发送给该各个第二终端。
在步骤S304中,各个第二终端在接收到该资源时,显示该资源。
各个第二终端可以在直播界面中显示接收到的资源,如根据资源类型得知待显示的资源的类型,从而显示该类型对应形态的该资源,如显示一个红包,使得各个第二用户可以得知第一用户发放了该资源。
在步骤S305中,任一第二终端在接收到对该资源的参与领取指令时,向该直播服务器发送参与领取请求,该参与领取请求用于请求参与领取该资源。
其中,该参与领取指令可以由用户的参与领取操作触发,例如,在该资源的显示过程中,第二用户可以对该资源进行领取操作,触发该参与领取指令,该领取操作可以是点击该资源,也可以是分享直播间的操作,本公开实施例对此不做限定,可选地,第二终端在显示该资源时,还可以显示领取提示信息,以提示用户如何领取该资源,通过提示用户如何领取资源,使得用户可以决定是否领取该资源。
该第二终端在接收到对该资源的参与领取指令时,可以将该资源的资源标识携带在参与领取请求中发送给直播服务器。
在步骤S306中,该直播服务器在接收到该参与领取请求时,将该任一第二终端的用户的用户信息作为参与领取该资源的用户的用户信息,存储到目标数据库中,该目标数据库用于存储参与领取该各个资源的用户的用户信息。
其中,用户信息中可以包括但不限于用户标识、用户等级、活跃度、关注好友等用于描述用户的信息。
直播服务器在接收到任一第二终端的参与领取请求时,可以根据该参与领取请求中携带的资源标识,得知该任一第二终端的第二用户想要参与领取该资源,因而可以将该任一第二终端的第二用户作为参与领取该资源的用户,并将该第二用户的用户信息存储到目标数据库中。对于该第二用户的用户信息,直播服务器可以先从用户信息数据库中获取到给第二用户的用户信息,再将该第二用户的用户信息存储到目标数据库中。
在步骤S307中,该调度服务器周期性从该资源数据库中,读取各个资源的资源信息,根据该各个资源的资源信息,确定该各个资源中资源信息符合该分配条件的目标资源。
其中,该分配条件可以为当前时间距离发放时间达到对应的生效时长且该资源状态为该未分配状态。
调度服务器可以在每个周期到达时,从资源数据库中读取当前存储的各个资源的资源信息,从中确定出资源信息符合分配条件的目标资源。调度服务器可以遍历各个资源的资源信息,每遍历到一个资源的资源信息,则根据该资源的资源信息中的发放时间和资源状态,判断当前时间距离该资源的发放时间是否达到该资源的生效时长且该资源的资源状态是否为未分配状态,如果是,则确定该资源符合分配条件,接着遍历下一个资源的资源信息,直至遍历结束,将确定的一个或多个符合分配条件的资源作为该目标资源。
在一种可能实现方式中,调度服务器确定该各个资源中资源信息符合该分配条件的目标资源之后,该方法还包括:该调度服务器对该目标资源进行加锁处理;该调度服务器在该目标资源加锁成功时,执行对该目标资源进行分配的步骤,包括后续步骤S308和步骤S309。
其中,该加锁处理可以是添加分布式锁,如Redis分布式锁。调度服务器可以对该目标资源添加分布式锁,如果加锁成功,表明该目标资源还未被其他线程加锁,此时调度服务器可以执行对该目标资源进行分配的步骤。由于调度服务器的调度十分频繁,通过一个分布式锁防止资源的并发调度,可以确保在多个线程并发时,只有一个线程在同一刻对该资源进行分配,以节省资源。
在步骤S308中,该调度服务器向该计算服务器发送第一请求,该第一请求用于请求对该目标资源进行分配。
调度服务器在确定出符合分配条件的目标资源后,可以将该目标资源提供给计算服务器进行分配计算,具体地,调度服务器可以将该目标资源的资源标识携带在该第一请求中发送给计算服务器。
在一种可能实现方式中,调度服务器可以基于RPC(Remote Procedure CallProtocol,远程过程调用协议),向计算服务器发送第一请求。该计算服务器中部署有计算服务,相比于相关技术,本公开将资源的分配服务从直播服务器中分离出来,以RPC的形式独立部署,调度服务器可以基于RPC协议,通过向计算服务器发送请求的方式,调用计算服务器的计算服务进行资源的分配计算,其中,调度服务器发送的请求也即是对计算服务的调用请求。
在步骤S309中,该计算服务器在接收到该第一请求时,对该第一请求对应的该目标资源进行分配。
计算服务器在接收到用于请求对目标资源进行分配的该第一请求时,可以对该目标资源进行分配计算,该目标资源的数量可以为一个或多个。
在一种可能实现方式中,在接收到该第一请求之前,该方法还包括:该计算服务器获取参与领取该目标资源的各个用户的用户信息;该计算服务器根据该各个用户的用户信息,获取该各个用户的分数;该计算服务器存储该各个用户的分数。相应地,该步骤S309中对该第一请求对应的该目标资源进行分配,包括:该计算服务器获取已存储的该各个用户的分数;该计算服务器根据该各个用户的分数,对该目标资源进行分配。
计算服务器可以在接收到第一请求之前,获取参与领取该目标资源的各个用户的用户信息,然后根据按照预设的分配规则,根据该各个用户的用户信息,计算该各个用户的分数,例如,计算服务器可以预先为用户信息中的每种信息设置对应的权重,对于每个用户,在计算该用户的分数时,将该用户的每种信息用一个对应的数值表示,然后根据每种信息的权重进行加权求和,将加权求和的结果作为该用户的分数。计算服务器可以在本地(如本地缓存)存储各个用户的分数,还可以将各个用户的分数存储到目标数据库中。这样,计算服务器在接收到第一请求时,可以直接获取已存储的该各个用户的分数。通过预先计算并存储用于对资源进行分配的相关信息,这样计算服务器在接收到请求时,可以直接利用已存储的相关信息,对资源进行分配,大大降低了资源分配的耗时。
其中,计算服务器根据该各个用户的分数,对该目标资源进行分配包括:计算服务器根据该各个用户的分数,将该目标资源的资源数值分配给各个用户,得到该各个用户的分配数值。具体地,计算服务器可以根据该各个用户的分数,对该各个用户进行排序,然后取排序在前目标数量位的用户分配该目标资源的资源数值,各个用户得到的分配数值之和等于该目标资源的资源数值,其中,该目标数量等于该目标资源的分配份数。
计算服务器在对目标资源进行分配,得到该各个用户的分配数值之后,可以保存该各个用户的分配数值,便于进行后续的数值转移流程。计算服务器还可以更新该目标资源的资源状态,如将资源数据库中该目标资源的资源状态从未分配状态更新为已分配状态。
针对计算服务器获取参与领取该目标资源的各个用户的用户信息的过程,在一种可能实现方式中,计算服务器可以从目标数据库中,获取参与领取该目标资源的各个用户的用户信息。相应地,该计算服务器获取参与领取该目标资源的各个用户的用户信息之前,该方法还包括:该直播服务器将该目标资源发送给该至少一个第二终端中与发放该目标资源的第一终端对应同一直播间的各个第二终端;该各个第二终端在接收到该目标资源时,显示该目标资源;该各个第二终端中的任一第二终端在接收到对该目标资源的参与领取指令时,向该直播服务器发送参与领取请求,该参与领取请求用于请求参与领取该目标资源;该直播服务器在接收到该参与领取请求时,将该任一第二终端的用户的用户信息作为参与领取该目标资源的用户的用户信息,存储到目标数据库中,该目标数据库用于存储参与领取该各个资源的用户的用户信息。
上述实现方式是计算服务器从目标数据库中获取该各个用户的用户信息,在另一种可能实现方式中,计算服务器也可以从用户信息数据库中获取各个用户的用户信息,例如,计算服务器可以先从该目标数据库中获取参与领取该目标资源的各个用户的用户标识,再根据该各个用户的用户标识,从用户信息数据库中获取该各个用户的用户信息,这样可以保证用户信息有更新时,计算服务器可以获取到最新的用户信息。
计算服务器将参与领取该目标资源的用户的用户信息存储到目标数据库的过程与步骤S303至步骤S306同理,不再赘述。
上述实现方式是计算服务器预先获取参与领取该目标资源的各个用户的用户信息,计算并存储参与领取目标资源的各个用户的分数,在接收到第一请求时直接利用已存储的分数进行目标资源的分配。在另一种可能实现方式中,该步骤S309中对该第一请求对应的该目标资源进行分配,包括:该计算服务器在接收到该第一请求时,获取参与领取该目标资源的各个用户的用户信息;该计算服务器根据该各个用户的用户信息,获取该各个用户的分数;该计算服务器根据该各个用户的分数,对该目标资源进行分配。该实现方式是计算服务器在接收到第一请求时,即时获取参与领取该目标资源的各个用户的用户信息,计算分数,根据当前计算的分数进行分配。
步骤S308和步骤S309是对目标资源进行分配的一种可能实现方式。通过将资源的分配作为计算服务,独立部署在计算服务器上,使得调度服务器可以通过向计算服务器发送请求的方式,来调用计算服务器的计算服务,实现对目标资源的分配。
上述步骤S307至步骤S309是调度服务器发起对资源的分配过程,可选地,第一终端也可以发起对资源的分配过程,具体参见后续步骤S310至步骤S313。
在步骤S310中,任一第一终端向该直播服务器发送第二请求,该第二请求用于请求对该任一第一终端已发放的资源进行分配。
该任一第一终端可以是步骤S301中的第一终端,该第一终端在发放资源后,可以在检测到资源到期后,也即是,当前时间距离该资源的发放时间到达该资源的生效时长时,自动向直播服务器发送第二请求,以请求对其已发放的资源进行分配,该第二请求中可以携带该资源的资源标识。
在步骤S311中,该直播服务器接收该第二请求,从该资源数据库中,读取该任一第一终端已发放的资源的资源信息。
直播服务器在接收到用于请求对资源进行分配的第二请求时,可以确认该资源是否到期,也即是,确认当前时间距离该资源的发放时间是否到达该资源的生效时长。例如,第一终端与直播服务器之间可能存在时间差异,导致第一终端认为该资源到期而发起第二请求,但直播服务器根据自身的当前时间可能确定该资源并未到期。为了确定该资源是否到期,直播服务器可以根据该资源的资源标识,从资源数据库中读取该资源的资源信息。
在步骤S312中,该直播服务器在确定该任一第一终端已发放的资源的资源信息符合该分配条件时,向该计算服务器发送该第二请求,该第二请求用于请求对该任一第一终端已发放的资源进行分配。
直播服务器可以根据该资源的资源信息中的发放时间和资源状态,确定该当前时间距离该资源的发放时间是否达到该资源的生效时长且该资源的资源状态是否为未分配状态,如果是,则直播服务器可以确定该资源符合分配条件,此时,直播服务器执行向计算服务器发送第二请求的步骤,如果否,则直播服务器可以确定该资源不符合分配条件,此时,直播服务器可以向该第一终端返回提示信息,以提示第一终端该资源不符合分配条件。
在一种可能实现方式中,该直播服务器在确定该资源的资源信息符合该分配条件之后,该方法还包括:直播服务器对该任一第一终端已发放的资源进行加锁处理;该直播服务器在该任一第一终端已发放的资源加锁成功时,执行向该计算服务器发送该第二请求的步骤。直播服务器对该资源进行加锁处理与步骤307中调度服务器对目标资源进行加锁处理同理,此处不再赘述。
在一种可能实现方式中,直播服务器可以基于RPC协议,向计算服务器发送第一请求。直播服务器可以基于RPC协议,通过向计算服务器发送请求的方式,调用计算服务器的计算服务进行资源的分配计算。
在步骤S313中,该计算服务器在接收到该第二请求时,对该第二请求对应的该任一第一终端已发放的资源进行分配。
该步骤S313与步骤S309同理,此处不再赘述。
需要说明的是,本公开实施例是将调度服务器发起资源的分配过程作为步骤S307至步骤S309,将第一终端发起资源的分配过程作为步骤S310至步骤S313为例进行说明,步骤S307至步骤S309与步骤S310至步骤S313并不代表执行的先后顺序。
为了便于更直观地介绍本公开实施例提供的技术方案,下面将结合图4提供的一种资源分配方法的过程示意图进行说明。如图4所示,第一终端(主播)在发放资源后,在资源到期前,第二终端(观众)可以向直播服务器发送参与领取请求,直播服务器可以将第二终端的用户的用户信息作为该资源的参与者信息存储到目标数据库中,其中,该用户信息可以从用户信息数据库中获取到。计算服务器可以通过异步线程确定(扫描)未到期的资源,获取该资源的参与者信息,计算服务器可以直接从目标数据库中获取该参与者信息,也可以从用户信息数据库中获取该参与者信息(具体过程在步骤S309中有说明),然后计算分数,保存在本地。本技术方案包括多路调度,一路是第一终端(主播端)-直播服务器的调度,另一路是调度服务器的周期性调度(调度服务器可以开启一个不断运行的定时任务来执行调度)。在资源到期后,第一终端可以通过向直播服务器发送请求的方式,自动请求调用计算服务,直播服务器如果确定请求对应的资源不符合分配条件时可以返回提示信息,如果确定符合分配条件,则可以进行加锁,如果加锁成功,则通过向计算服务器发送请求的方式,调用计算服务,由计算服务器在本地进行分配计算,本地计算完成后保存计算结果并更新资源数据库中该资源的资源状态。调度服务器可以确定(扫描)所有符合分配条件的资源,并发调度所有资源,对资源进行加锁,如果加锁成功,则通过向计算服务器发送请求的方式,调用计算服务,由计算服务器在本地进行分配计算,本地计算完成后保存计算结果并更新资源数据库中该资源的资源状态。
相关技术中在资源到期前,没有采取任何措施,事实上也无法采取任何措施,因为直播服务器需要对所有网络接口提供服务,内存和线程资源在所有接口间共享,无法提供这个量级的资源支持。而本公开提供的技术方案中计算服务独立部署,可以轻松扩展,如图4所示,计算服务器通过异步拉取数据,在资源到期之前本地就已经存储了相关信息,当调度请求到达的时候,只需要极少量的IO(Input Output,输入输出)就可以完成资源分配,大大降低了计算耗时。
相关技术中如果计算链路上某一步超时,为了保证直播服务本身的可用性,这次请求必须fail-fast(快速失败),从而导致资源无法被打开。而本公开提供的技术方案中,如图4所示,主播端(第一终端)的调度和调度服务器的周期性调度是同时存在的,即使主播端失败,调度服务器的调度也可以继续尝试开启资源;而如果调度服务器的某次调度失败,调度服务器下一次调度还是可以继续尝试调度上次失败的那些资源。在这样的双重保险下,到期的资源一定会被调度,服务也就几乎不会不可用。
本公开实施例提供的技术方案与相关技术的对比如下:
相关技术存在可用性问题:所有的逻辑聚合在直播服务器中,在资源分配(开启)的角度上是一个单点,假如某次请求超时或者是啊比,会导致该资源不可分配,即在这个资源维度上服务不可用,并造成比较差的体验问题。相关技术存在耗时高的问题:在资源维度同步串行化处理,开启资源的耗时是所有环节耗时的和,任何一个环节网络抖动都会导致资源的计算时间激增。在大直播间,资源的参与人数可能达到百万级,从实际观察来看,计算时长和参与人数存在超线性关系,这种情况下即使资源可以打开,观众也会没有耐心等待下去。相关技术中的上述两个缺点相互影响,过多失败导致直播服务器性能下降耗时上升,耗时过长时为了保护直播服务必须fail-fast,降低了可用性。当计算时长达到一定量级的时候,甚至会造成直播服务器的整个服务不可用。
本公开实施例提供的技术方案可以提升可用性:将资源的调度与分配计算分离,将资源的分配服务从直播服务器中分离出来作为计算服务,以RPC的形式独立部署。调度服务器周期性的调度和第一终端的调度同时存在,让资源总能被调度,通过多路调度,保证资源最终会被分配,提升了资源分配服务的可用性,避免了资源完全不可用。
本公开实施例提供的技术方案还可以降低耗时:通过优化调度链路,由调度服务器获取到期资源,将到期资源提供给计算服务器,计算服务器可以使用异步线程拉取可分配的资源的参与用户信息,计算各个参与用户各自的分数,保存在本地缓存,当调用请求到达的时候,完全在本地进行排序,减少网络IO次数,缩短了资源分配计算的耗时,也缩短了用户等待时间。
本公开实施例提供的方法,通过调度服务器周期性从资源数据库中,读取当前已发放的各个资源的资源信息,根据该各个资源的资源信息,确定符合分配条件的资源,对该资源进行分配,即使主播端的请求失败,调度服务器也可以进行资源的调度并进行资源的分配,提升了可用性。
图5是根据一示例性实施例示出的一种资源分配装置的框图。参照图5,该装置包括读取单元501,确定单元502和分配单元503。
读取单元501被配置为执行周期性从资源数据库中,读取各个资源的资源信息,该资源数据库用于存储各个第一终端在直播过程中发放的资源的资源信息。
确定单元502被配置为执行根据该各个资源的资源信息,确定该各个资源中资源信息符合分配条件的目标资源。
分配单元503被配置为执行对该目标资源进行分配。
在一种可能实现方式中,该确定单元502被配置为执行:
向计算服务器发送第一请求,该第一请求用于请求对该目标资源进行分配,由该计算服务器在接收到该第一请求时,对该第一请求对应的该目标资源进行分配。
在一种可能实现方式中,该装置还包括:
加锁单元,被配置为执行该调度服务器对该目标资源进行加锁处理;
该分配单元503被配置为执行在该目标资源加锁成功时,对该目标资源进行分配。
在一种可能实现方式中,该资源信息包括发放时间、生效时长和资源状态,该资源状态包括已分配状态和未分配状态,该分配条件为当前时间距离发放时间达到对应的生效时长且该资源状态为该未分配状态。
图6是根据一示例性实施例示出的一种资源分配装置的框图。参照图6,该装置包括接收单元601和分配单元602。
接收单元601被配置为执行接收调度服务器发送的第一请求,该第一请求用于请求对目标资源进行分配;
分配单元602被配置为执行对该第一请求对应的该目标资源进行分配。
在一种可能实现方式中,该装置还包括:
获取单元,被配置为执行获取参与领取该目标资源的各个用户的用户信息;
该获取单元还被配置为执行根据该各个用户的用户信息,获取该各个用户的分数;
存储单元,被配置为执行存储该各个用户的分数。
在一种可能实现方式中,该分配单元602被配置为执行:
获取已存储的该各个用户的分数;
根据该各个用户的分数,对该目标资源进行分配。
在一种可能实现方式中,该获取单元被配置为执行:
从该目标数据库中,获取参与领取该目标资源的各个用户的用户信息,该目标数据库用于存储参与领取该各个资源的用户的用户信息。
在一种可能实现方式中,该分配单元602被配置为执行:
在接收到该第一请求时,获取参与领取该目标资源的各个用户的用户信息;
根据该各个用户的用户信息,获取该各个用户的分数;
根据该各个用户的分数,对该目标资源进行分配。
在一种可能实现方式中,该装置还包括:
该接收单元还被配置为执行接收直播服务器在确定任一第一终端已发放的资源的资源信息符合分配条件时发送的第二请求;
该分配单元还被配置为执行对该第二请求对应的该任一第一终端已发放的资源进行分配。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种服务器700的框图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条指令,该至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (21)
1.一种资源分配方法,其特征在于,所述方法应用于资源分配系统,所述资源分配系统包括至少一个第一终端、直播服务器、计算服务器和调度服务器,所述方法包括:
所述直播服务器在接收到任一第一终端在直播过程中发送的资源发放请求时,将所述资源发放请求对应的资源的资源信息存储到资源数据库中;
所述调度服务器周期性从所述资源数据库中,读取各个资源的资源信息;根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的目标资源;基于远程过程调用协议RPC,向所述计算服务器发送第一请求,所述第一请求用于请求调用所述计算服务器中的计算服务,对所述目标资源进行分配,其中所述计算服务在所述计算服务器中是以RPC的形式独立部署的;所述计算服务器在接收到所述第一请求时,对所述目标资源进行分配;
响应于所述计算服务器无法根据所述调度服务器本次发送的所述第一请求,分配所述任一第一终端已发放的资源,所述调度服务器在下一次调度时,继续针对所述任一第一终端已发放的资源向所述计算服务器发送所述第一请求;
所述将所述资源发放请求对应的资源的资源信息存储到资源数据库中之后,所述方法还包括:
所述任一第一终端向所述直播服务器发送第二请求,所述第二请求用于请求对所述任一第一终端已发放的资源进行分配;所述直播服务器接收所述第二请求,从所述资源数据库中,读取所述任一第一终端已发放的资源的资源信息;所述直播服务器在确定所述任一第一终端已发放的资源的资源信息符合所述分配条件时,向所述计算服务器发送所述第二请求;所述计算服务器在接收到所述第二请求时,对所述第二请求对应的所述任一第一终端已发放的资源进行分配;
响应于所述计算服务器无法根据所述第二请求,分配所述任一第一终端已发放的资源,所述调度服务器继续针对所述任一第一终端已发放的资源,向所述计算服务器发送所述第一请求。
2.根据权利要求1所述的资源分配方法,其特征在于,所述计算服务器在接收到所述第一请求之前,所述方法还包括:
所述计算服务器获取参与领取所述目标资源的各个用户的用户信息;
所述计算服务器根据所述各个用户的用户信息,获取所述各个用户的分数;
所述计算服务器存储所述各个用户的分数。
3.根据权利要求2所述的资源分配方法,其特征在于,所述对所述目标资源进行分配,包括:
所述计算服务器获取已存储的所述各个用户的分数;
所述计算服务器根据所述各个用户的分数,对所述目标资源进行分配。
4.根据权利要求2所述的资源分配方法,其特征在于,所述资源分配系统还包括至少一个第二终端,
所述计算服务器获取参与领取所述目标资源的各个用户的用户信息之前,所述方法还包括:
所述直播服务器将所述目标资源发送给所述至少一个第二终端中与发放所述目标资源的第一终端对应同一直播间的各个第二终端;
所述各个第二终端在接收到所述目标资源时,显示所述目标资源;
所述各个第二终端中的任一第二终端在接收到对所述目标资源的参与领取指令时,向所述直播服务器发送参与领取请求,所述参与领取请求用于请求参与领取所述目标资源;
所述直播服务器在接收到所述参与领取请求时,将所述任一第二终端的用户的用户信息作为参与领取所述目标资源的用户的用户信息,存储到目标数据库中,所述目标数据库用于存储参与领取所述各个资源的用户的用户信息。
5.根据权利要求4所述的资源分配方法,其特征在于,所述计算服务器获取参与领取所述目标资源的各个用户的用户信息,包括:
所述计算服务器从所述目标数据库中,获取参与领取所述目标资源的各个用户的用户信息。
6.根据权利要求1所述的资源分配方法,其特征在于,所述计算服务器在接收到所述第一请求时,对所述目标资源进行分配,包括:
所述计算服务器在接收到所述第一请求时,获取参与领取所述目标资源的各个用户的用户信息;
所述计算服务器根据所述各个用户的用户信息,获取所述各个用户的分数;
所述计算服务器根据所述各个用户的分数,对所述目标资源进行分配。
7.根据权利要求1所述的资源分配方法,其特征在于,所述确定所述各个资源中资源信息符合分配条件的目标资源之后,所述方法还包括:
所述调度服务器对所述目标资源进行加锁处理;
所述调度服务器在所述目标资源加锁成功时,执行对所述目标资源进行分配的步骤。
8.根据权利要求1所述的资源分配方法,其特征在于,所述直播服务器在确定所述任一第一终端已发放的资源的资源信息符合所述分配条件之后,所述方法还包括:
所述直播服务器对所述任一第一终端已发放的资源进行加锁处理;
所述直播服务器在所述任一第一终端已发放的资源加锁成功时,执行向所述计算服务器发送所述第二请求的步骤。
9.根据权利要求1所述的资源分配方法,其特征在于,所述资源信息包括发放时间、生效时长和资源状态,所述资源状态包括已分配状态和未分配状态,所述分配条件为当前时间距离发放时间达到对应的生效时长且所述资源状态为所述未分配状态。
10.一种资源分配装置,其特征在于,应用于调度服务器,所述装置包括:
读取单元,被配置为执行周期性从资源数据库中,读取各个资源的资源信息,所述资源数据库用于存储各个第一终端在直播过程中发放的资源的资源信息,所述资源信息是直播服务器存储于所述资源数据库中的;
确定单元,被配置为执行根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的目标资源;
分配单元,被配置为执行基于远程过程调用协议RPC,向计算服务器发送第一请求,所述第一请求用于请求调用所述计算服务器中的计算服务,使得所述计算服务器对所述目标资源进行分配,其中所述计算服务在所述计算服务器中是以RPC的形式独立部署的;
所述分配单元,还被配置为响应于所述计算服务器无法根据所述调度服务器本次发送的所述第一请求,分配任一第一终端已发放的资源,在下一次调度时,继续针对所述任一第一终端已发放的资源向所述计算服务器发送所述第一请求;
其中,所述第一终端用于在所述直播服务器将所述资源的资源信息存储到所述资源数据库中之后,向所述直播服务器发送第二请求,所述第二请求用于请求对任一第一终端已发放的资源进行分配;所述直播服务器用于接收所述第二请求,从所述资源数据库中,读取所述任一第一终端已发放的资源的资源信息;在确定所述任一第一终端已发放的资源的资源信息符合所述分配条件时,向所述计算服务器发送所述第二请求;所述计算服务器用于在接收到所述第二请求时,对所述第二请求对应的所述任一第一终端已发放的资源进行分配;
所述分配单元,还用于响应于所述计算服务器无法根据所述第二请求,分配所述任一第一终端已发放的资源,继续针对所述任一第一终端已发放的资源,向所述计算服务器发送所述第一请求。
11.根据权利要求10所述的资源分配装置,其特征在于,所述装置还包括:
加锁单元,被配置为执行所述调度服务器对所述目标资源进行加锁处理;
所述分配单元,被配置为执行在所述目标资源加锁成功时,对所述目标资源进行分配。
12.根据权利要求10所述的资源分配装置,其特征在于,所述资源信息包括发放时间、生效时长和资源状态,所述资源状态包括已分配状态和未分配状态,所述分配条件为当前时间距离发放时间达到对应的生效时长且所述资源状态为所述未分配状态。
13.一种资源分配装置,其特征在于,应用于计算服务器,所述装置包括:
接收单元,被配置为执行接收调度服务器发送的第一请求,所述第一请求用于请求调用所述计算服务器中的计算服务,对目标资源进行分配,其中所述计算服务在所述计算服务器中是以远程过程调用协议RPC的形式独立部署的;
其中,所述调度服务器用于周期性从资源数据库中,读取直播服务器存储的各个资源的资源信息;根据所述各个资源的资源信息,确定所述各个资源中资源信息符合分配条件的所述目标资源;基于RPC,向所述计算服务器发送第一请求;
分配单元,被配置为执行对所述第一请求对应的所述目标资源进行分配;
所述调度服务器还用于响应于所述计算服务器无法根据所述调度服务器本次发送的所述第一请求,分配任一第一终端已发放的资源,在下一次调度时,继续针对所述任一第一终端已发放的资源向所述计算服务器发送所述第一请求;
所述接收单元,还被配置为执行接收所述直播服务器在确定任一第一终端已发放的资源的资源信息符合分配条件时发送的第二请求;
所述分配单元,还被配置为执行对所述第二请求对应的所述任一第一终端已发放的资源进行分配;
其中,所述任一第一终端用于在所述直播服务器将所述各个资源的资源信息存储到所述资源数据库中之后,向所述直播服务器发送第二请求,所述第二请求用于请求对所述任一第一终端已发放的资源进行分配;
所述直播服务器用于接收所述第二请求,从所述资源数据库中,读取所述任一第一终端已发放的资源的资源信息;在确定所述任一第一终端已发放的资源的资源信息符合所述分配条件时,向所述计算服务器发送所述第二请求;
所述调度服务器还用于响应于所述计算服务器无法根据所述第二请求,分配所述任一第一终端已发放的资源,继续针对所述任一第一终端已发放的资源,向所述计算服务器发送所述第一请求。
14.根据权利要求13所述的资源分配装置,其特征在于,所述装置还包括:
获取单元,被配置为执行获取参与领取所述目标资源的各个用户的用户信息;
所述获取单元,还被配置为执行根据所述各个用户的用户信息,获取所述各个用户的分数;
存储单元,被配置为执行存储所述各个用户的分数。
15.根据权利要求14所述的资源分配装置,其特征在于,所述分配单元被配置为执行:
获取已存储的所述各个用户的分数;
根据所述各个用户的分数,对所述目标资源进行分配。
16.根据权利要求14所述的资源分配装置,其特征在于,所述获取单元被配置为执行:
从目标数据库中,获取参与领取所述目标资源的各个用户的用户信息,所述目标数据库用于存储参与领取所述各个资源的用户的用户信息。
17.根据权利要求13所述的资源分配装置,其特征在于,所述分配单元被配置为执行:
在接收到所述第一请求时,获取参与领取所述目标资源的各个用户的用户信息;
根据所述各个用户的用户信息,获取所述各个用户的分数;
根据所述各个用户的分数,对所述目标资源进行分配。
18.一种调度服务器,其特征在于,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的资源分配方法中所述调度服务器所执行的操作。
19.一种计算服务器,其特征在于,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的资源分配方法中所述计算服务器所执行的操作。
20.一种存储介质,当所述存储介质中的指令由调度服务器的处理器执行时,使得所述调度服务器能够执行如权利要求1至9中任一项所述的资源分配方法。
21.一种存储介质,当所述存储介质中的指令由计算服务器的处理器执行时,使得所述计算服务器能够执行如权利要求1至9中任一项所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911142066.3A CN110944219B (zh) | 2019-11-20 | 2019-11-20 | 资源分配方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911142066.3A CN110944219B (zh) | 2019-11-20 | 2019-11-20 | 资源分配方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110944219A CN110944219A (zh) | 2020-03-31 |
CN110944219B true CN110944219B (zh) | 2023-03-14 |
Family
ID=69907038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911142066.3A Active CN110944219B (zh) | 2019-11-20 | 2019-11-20 | 资源分配方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110944219B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669621B (zh) * | 2020-04-30 | 2022-04-12 | 聚好看科技股份有限公司 | 一种媒资数据下发方法、服务器及显示设备 |
CN111861432B (zh) * | 2020-07-29 | 2024-04-19 | 北京达佳互联信息技术有限公司 | 虚拟资源信息更新方法及装置、服务器及存储介质 |
CN114245149B (zh) * | 2020-09-09 | 2024-02-27 | 腾讯科技(深圳)有限公司 | 虚拟资源配置方法、装置和系统、电子设备及存储介质 |
CN112308622A (zh) * | 2020-11-06 | 2021-02-02 | 广州博冠信息科技有限公司 | 虚拟对象的数据处理方法及装置、存储介质及电子设备 |
CN113077280A (zh) * | 2021-02-05 | 2021-07-06 | 北京达佳互联信息技术有限公司 | 一种电子资源分配方法、装置、电子设备及存储介质 |
CN113553361A (zh) * | 2021-07-30 | 2021-10-26 | 北京东方国信科技股份有限公司 | 资源管理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487781A (zh) * | 2016-09-13 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于直播的资源数据处理方法、装置和系统 |
CN108449612A (zh) * | 2018-03-28 | 2018-08-24 | 广州华多网络科技有限公司 | 发放资源的方法、装置、系统、存储介质和计算机设备 |
CN108810643A (zh) * | 2018-06-01 | 2018-11-13 | 沈文策 | 一种红包发放方法、装置及直播系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652936B2 (en) * | 2012-08-27 | 2017-05-16 | Gamesys, Ltd. | Methods and systems for rewarding friends of a player based on bonus qualifying condition triggered by player |
JP6602252B2 (ja) * | 2016-04-14 | 2019-11-06 | 日本電信電話株式会社 | リソース管理装置及びリソース管理方法 |
CN109698964B (zh) * | 2019-01-24 | 2021-09-21 | 武汉鲨鱼网络直播技术有限公司 | 一种在线直播间礼品发送方法及系统 |
-
2019
- 2019-11-20 CN CN201911142066.3A patent/CN110944219B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487781A (zh) * | 2016-09-13 | 2017-03-08 | 腾讯科技(深圳)有限公司 | 基于直播的资源数据处理方法、装置和系统 |
CN108449612A (zh) * | 2018-03-28 | 2018-08-24 | 广州华多网络科技有限公司 | 发放资源的方法、装置、系统、存储介质和计算机设备 |
CN108810643A (zh) * | 2018-06-01 | 2018-11-13 | 沈文策 | 一种红包发放方法、装置及直播系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110944219A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110944219B (zh) | 资源分配方法、装置、服务器及存储介质 | |
CN110290180B (zh) | 分布式任务调度方法、装置、计算机设备和存储介质 | |
US10728600B2 (en) | Channel change server allocation | |
JP2007522547A (ja) | 拡張計算能力を与えるシステムおよび方法 | |
CN111770355B (zh) | 媒体服务器确定方法、装置、服务器以及存储介质 | |
CN111935536B (zh) | 一种直播间请求响应方法、装置、设备及存储介质 | |
WO1998009412A1 (en) | Scheduling data transmission | |
CN111212294B (zh) | 直播间的状态更新方法、装置及可读存储介质 | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
CN106331783B (zh) | 一种资源分配方法、装置和智能电视系统 | |
CN112169312A (zh) | 云游戏服务的排队调度方法、装置、设备和存储介质 | |
CN102246459B (zh) | 互动信息更新方法、装置、服务器及终端 | |
CN113486042B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN115209231A (zh) | 数据传输方法、装置、设备和计算机可读存储介质 | |
CN112788135B (zh) | 资源调度方法、设备及存储介质 | |
CN111479137B (zh) | 线路地址的提供方法、装置、服务器及存储介质 | |
CN111309467B (zh) | 任务分发方法及装置、电子设备及存储介质 | |
CN111045804B (zh) | 一种任务分配方法、装置、介质及电子设备 | |
CN113315683A (zh) | 一种高效分布式设备状态管理方法 | |
CN112686599A (zh) | 请求响应方法、装置、系统、电子设备和计算机可读介质 | |
CN113115065A (zh) | 一种基于直播的数据处理方法及装置 | |
CN111726650A (zh) | 视频直播方法及装置、计算机存储介质 | |
CN109547730A (zh) | 一种多点控制单元资源的调度方法及装置 | |
CN117113416B (zh) | 基于隐私计算的任务执行方法、装置、设备及存储介质 | |
CN114401413A (zh) | 虚拟空间的交互提示方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |