CN111523931A - 资源分配方法、装置、计算机设备和存储介质 - Google Patents
资源分配方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111523931A CN111523931A CN202010315824.3A CN202010315824A CN111523931A CN 111523931 A CN111523931 A CN 111523931A CN 202010315824 A CN202010315824 A CN 202010315824A CN 111523931 A CN111523931 A CN 111523931A
- Authority
- CN
- China
- Prior art keywords
- resource allocation
- distribution
- allocation
- resource
- current
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0212—Chance discounts or incentives
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种资源分配方法、装置、计算机设备和存储介质。所述方法包括:响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射;生成不大于分配次数的随机值作为本次资源分配的分配标识;将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;将相匹配的目标标识映射的所述被分配资源分配给终端。采用本方法能够提高分配的均匀性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源分配方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,智能电子设备已经成为许多用户最常用的设备,例如智能手机、电脑和平板电脑等,使得越来越多的用户可以通过网络直接使用智能电子设备获取更多的资源。例如,用户可以通过网络参与活动举办方在网络上推出的各种资源获取活动获取一定的资源,而获取到的资源可以是虚拟物品也可以是实体物品等。
然而,目前实现资源分配的方式大多是通过产生的随机值确定被分配到的用户,但是由于生成的随机值具有随机性,可能出现部分用户资源分配过多,或者部分用户分配不到资源的情况,或者用户一直分配不到资源的情况,降低了资源分配的均匀性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高均匀性的资源分配方法、装置、计算机设备和存储介质。
一种资源分配方法,其特征在于,所述方法包括:
响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射;
生成不大于所述分配次数的随机值作为本次资源分配的分配标识;
将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
将相匹配的所述目标标识映射的所述被分配资源分配给所述终端。
在其中一个实施例中,所述方法还包括:
当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源;
根据所述剩余分配次数和所述剩余被分配资源确定目标标识,并分别将各所述剩余被分配资源与各所述目标标识进行映射;
生成不大于所述剩余分配次数的随机值作为本次资源分配的分配标识;
将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
将相匹配的所述目标标识映射的所述剩余被分配资源分配给所述终端。
在其中一个实施例中,所述当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源,包括:
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求;
根据所述资源分配需求确定新一轮的资源分配的分配次数和被分配资源;
将所述分配次数和所述被分配资源存入内存数据库。
在其中一个实施例中,所述根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射,包括:
根据所述被分配资源的数量确定目标标识的个数;
调用随机数生成器生成不大于所述分配次数且与所述个数相同的随机值,将生成的各所述随机值作为目标标识。
在其中一个实施例中,所述根据当前分配次数确定本次资源分配是否属于当前轮的资源分配,包括:
获取内存数据库中当前存储的分配次数;
当所述内存数据库中当前存储的分配次数为设定值时,确定本次资源分配不属于当前轮的资源分配;
当所述内存数据库中当前存储的分配次数大于设定值时,确定本次资源分配属于当前轮的资源分配。
在其中一个实施例中,当将被分配资源分配给所述终端之后,所述方法还包括:
更新内存数据库中的分配次数,并将分配给所述终端的被分配资源从所述内存数据库中删除。
在其中一个实施例中,当将被分配资源分配给所述终端之后,所述方法还包括:
获取并保存本次资源分配的分配信息,所述分配信息包括所述终端、所述被分配资源以及所述被分配资源的资源类型。
一种资源分配装置,所述装置包括:
确定模块,用于响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
初始化模块,用于当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
映射模块,用于根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射;
生成模块,用于生成不大于所述分配次数的随机值作为本次资源分配的分配标识;
匹配模块,用于将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
分配模块,用于将相匹配的所述目标标识映射的所述被分配资源分配给所述终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项资源分配方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项资源分配方法的步骤。
上述资源分配方法、装置、计算机设备和存储介质,该方法在确定本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;进而根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各所述目标标识进行映射;而后生成不大于分配次数的随机值作为本次资源分配的分配标识;通过将分配标识与各目标标识分别进行匹配,将与分配标识相匹配的目标标识映射的被分配资源分配给终端。该方法通过将资源分配划分成多轮进行,并且每一轮的资源分配的分配次数和被分配资源单独重新确定,保证了每一轮的资源分配都有固定的被分配资源,提高了的资源分配的均匀性以及资源分配的可控性。
附图说明
图1为一个实施例中资源分配方法的应用环境图;
图2为一个实施例中资源分配方法的流程示意图;
图3为另一个实施例中资源分配方法的流程示意图;
图4为一个实施例中生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源步骤的流程示意图;
图5为一个实施例中多轮资源分配的示意图;
图6为一个实施例中资源分配装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的资源分配方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104接收终端102发送的资源分配指令,服务器104根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;当本次资源分配不属于当前轮的资源分配时,服务器104生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;服务器104根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射;服务器104生成不大于分配次数的随机值作为本次资源分配的分配标识;服务器104将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;服务器104将相匹配的目标标识映射的被分配资源分配给终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种资源分配方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S202,响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配。
其中,资源分配指令是终端生成用于请求服务器分配相关资源的指令。由于本实施例是通过将资源分配分割为多轮进行,分配次数即可以理解为每轮的资源分配设置的次数。在本实施例中,为便于快速进行数据的读取和更新,每轮的分配次数优先存储在服务器的内存数据库中。例如,一轮资源分配有10次分配次数,为该轮设置的分配次数就是10次并存储至内存数据库中。而内存数据库中当前分配次数则表示当前轮的资源分配所剩余的次数。在本实施例中,内存数据库可以是redis数据库。
具体地,当用户通过终端界面操作触发资源分配时,终端同步生成资源分配指令并发送给服务器。服务器接收到终端发送的资源分配指令之后,获取本地内存数据库(redis数据库)中此时存储的分配次数,即当前分配次数。然后,根据当前分配次数确定本次为终端分配资源的资源分配任务是否处于当前轮的资源分配。例如,通过为分配次数设置设定值,当当前分配次数等于设定值时表示本次资源分配不属于当前轮的资源分配。而当当前分配次数不等于设定值时表示本次资源分配属于当前轮的资源分配。
在一个实施例中,设定值优先设定为0。根据内存数据库中存储的当前分配次数确定本次资源分配是否属于当前轮的资源分配,包括:
获取内存数据库中当前存储的分配次数;当内存数据库中当前存储的分配次数为0时,表示当前轮的资源分配已经没有分配次数了,服务器即可确定本次资源分配不属于当前轮的资源分配。而当内存数据库中当前存储的分配次数大于0时,表示当前轮的资源分配还有一定数量的分配次数,服务器即可确定本次资源分配属于当前轮的资源分配。
步骤S204,当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源。
其中,被分配资源表示需要分配给终端用户的资源,可以是虚拟物品或者实际物品。被分配资源同样划分到每一轮的资源分配中,因此新一轮的资源分配得到的被分配资源可以理解为是分配给该轮资源分配进行分配的资源,只有进入到该轮资源分配的终端用户才能分配到该轮资源分配的被分配资源。
具体地,当服务器根据内存数据库中存储当前分配次数确定本次资源分配不属于当前轮的资源分配后,服务器确定当前轮的资源分配已经结束而需要开启新一轮的资源分配。服务器则生成新一轮的资源分配,同时为新一轮的资源分配确定分配次数和被分配的资源。可以通过设定的资源分配需求为新一轮的资源分配确定其分配次数和被分配的资源。
步骤S206,根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射。
其中,目标标识是生成用于表示可以被分配资源的标识,可以是生成的随机值。映射则是指将生成的不同的目标标识分别与不同的被分配资源进行关联绑定,一个目标标识唯一对应一个被分配资源。
在一个实施例中,步骤S206,包括:根据被分配资源的数量确定目标标识的个数;调用随机数生成器生成不大于分配次数且与个数相同的随机值,将生成的各随机值作为目标标识。
具体地,由于每轮资源分配的被分配资源的数量是有限的,因此用于表示可以分配资源的目标标识数量应当也是有限的。所以,为了保证目标标识和被分配资源唯一对应,目标标识的个数与被分配资源的数量相同。例如,被分配资源的数量为5,那么生成的目标标识就应当是5个。同时,为了保证每一轮的资源分配中的被分配资源均能够分配出去,以随机值为目标标识的取值范围就应当由分配次数限定。例如,分配次数为10次,生成的各个目标标识的取值不大于10,可取值包括[1、2、3、4、5、6、7、8、9、10]。在本实施例中,随机数生成器可以采用任意一种随机函数。
步骤S208,生成不大于分配次数的随机值作为本次资源分配的分配标识。
其中,分配标识是分配给终端用户的标识,也可以是随机数。根据分配标识可以确定该终端用户是否有被分配到资源。
具体地,服务器通过随机数生成器生成一个不大于分配次数的随机值作为本次资源分配的分配标识。例如,分配次数为10时,则生成的随机值不能大于10,只能是小于等于10的正整数。
步骤S210,将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识。
其中,匹配是指确定分配标识与目标标识是否完全一致的过程。
具体地,当服务器生成目标标识和分配标识之后,将分配标识与各目标标识分配进行匹配。例如,分配标识分别与目标标识1、目标标识2……目标标识n进行匹配,从目标标识1、目标标识2……目标标识n中确定与分配标识完全一致的目标标识为相匹配的目标标识。相匹配的目标标识即可以是目标标识1、目标标识2……目标标识n中的任意一个目标标识。
步骤S212,将相匹配的目标标识映射的被分配资源分配给终端。
具体地,由于本实施例中的各目标标识分别与各被分配资源进行了映射,表示不同的目标标识有对应的不同被分配资源。而当通过匹配确定分配标识有相匹配的目标标识之后,服务器即将相匹配的目标标识对应映射的被分配资源作为分配给该终端的资源并分配给终端。
另外,当服务器通过匹配确定分配标识在各目标标识中没有相匹配的目标标识时,服务器即可确定该分配标识对应的终端没有被分配到被分配资源,即可反馈相应的提示信息给予终端。例如提示信息可以是“未被分配到资源”等。
上述资源分配方法,该方法在确定本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;进而根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各所述目标标识进行映射;而后生成不大于分配次数的随机值作为本次资源分配的分配标识;通过将分配标识与各目标标识分别进行匹配,将与分配标识相匹配的目标标识映射的被分配资源分配给终端。该方法通过将资源分配划分成多轮进行,并且每一轮的资源分配的分配次数和被分配资源单独重新确定,保证了每一轮的资源分配都有固定的被分配资源,提高了的资源分配的均匀性以及资源分配的可控性。
在一个实施例中,如图3所示,资源分配方法还包括:
步骤S214,当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源。
具体地,当服务器确定内部数据库中当前存储的分配次数不等于0时,表示当前轮的资源分配还没有结束,当前轮的资源分配还有剩余分配次数。那么,服务器确定本次资源分配属于当前轮的资源分配。然后,服务器获取内部数据库中当前存储的分配次数,即当前轮的资源分配的剩余分配次数。同时获取剩余被分配资源,剩余被分配资源即当前轮还未被分配出去的资源。应当理解的是,剩余被分配次数存在可能为空的情况。例如,当前轮的资源分配一共10次分配机会,被分配资源一共是5个。当当前轮的资源分配到第六次分配时,可能存在前5次分配已经将所有的被分配资源分配出去,所有剩余分配资源为空。
步骤S216,根据剩余分配次数和剩余被分配资源确定目标标识,并分别将各剩余被分配资源与各目标标识进行映射。
具体地,当服务器获取到当前轮的资源分配的剩余分配次数和剩余被分配资源之后,调用随机数生成器生成不大于剩余分配次数以及个数与剩余被分配资源数量相同的随机数作为目标标识。应当理解的时,当剩余分配次数为空(数量为0)时,生成的目标标识即为空(0个)。例如,当前轮的资源分配初始的分配次数时10,被分配资源是5个,而本次资源分配时当前轮的资源分配剩余分配次数为6,被分配资源剩余3个。那么,此时生成的目标标识是3个不大于6的随机数,其可取值包括[1、2、3、4、5、6]。
步骤S218,生成不大于剩余分配次数的随机值作为本次资源分配的分配标识。
具体地,服务器通过随机数生成器生成一个不大于剩余分配次数的随机值作为本次资源分配的分配标识。例如,剩余分配次数为6时,则生成的随机值不能大于6,只能是小于等于10的正整数,可取值包括[1、2、3、4、5、6]。
步骤S220,将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识。
具体地,当服务器生成目标标识和分配标识之后,将分配标识与各目标标识分配进行匹配,从目标标识中确定是否有与分配标识相匹配的目标标识。例如,目标标识为2、4、6时,只有分配标识为2、4、6中任意一个随机数时,分配标识才能有相匹配的目标标识。当分配标识为1、3、5中任意一个随机数时,分配标识没有相匹配的目标标识。
步骤S222,将相匹配的目标标识映射的剩余被分配资源分配给终端。
具体地,由于本实施例中的各目标标识分别与各剩余被分配资源进行了映射,表示不同的目标标识有对应的不同剩余被分配资源。而当通过匹配确定分配标识有相匹配的目标标识之后,服务器即将相匹配的目标标识对应映射的剩余被分配资源作为分配给该终端的资源并分配给终端。
同理,当服务器通过匹配确定分配标识在各目标标识中没有相匹配的目标标识时,服务器即可确定该分配标识对应的终端没有被分配到被分配资源,即可反馈相应的提示信息给予终端。例如提示信息可以是“未被分配到资源”等。
本实施例中,将资源分配划分为多轮之后,当本次资源分配属于当前轮的资源分配时,通过根据当前轮的剩余分配次数和被分配资源重新确定目标标识和分配标识,保证每轮的被分配资源都能够分配出去,从而提高的资源分配的均匀性。
在一个实施例中,如图4所示,步骤S204,包括:
步骤S402,当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求。
步骤S404,根据资源分配需求确定新一轮的资源分配的分配次数和被分配资源。
步骤S406,将分配次数和被分配资源存入内存数据库。
其中,资源分配需求是根据实际资源分配情况设定的需求,可以是文档的形式保存在服务器中。
具体地,当服务器确定本次资源分配不属于当前轮的资源分配时,服务器即可生成新一轮的资源分配。同时,服务器获取预存的资源分配需求。
然后,当服务器获取到资源分配需求之后,从资源分配需求中获取记载的分配次数的范围和不同资源类型的被分配资源的分配概率。服务器根据分配概率和分配次数的范围确定生成的新一轮的分配次数和被分配资源。例如,可以根据分配概率确定需要分配多少种类型的被分配资源以及每个被分配资源的数量等。假设,有三种类型的资源A、B、C,且这三种类型的资源的分配概率分别为10%、20%和30%。根据分配概率服务器即可确定分配给新一轮的被分配资源包括1个A类资源、2个B类资源和3个C类资源。同时,对这三个类型资源的分配概率均进行乘以10的n次方得到一个整数的操作,即可确定n的取值。n的取值为可选的分配次数,服务器进一步根据需求中规定的分配次数的范围确定一个n值为分配次数。即,根据分配概率为10%、20%和30%可以确定n可取值10、100、1000。而需求确定分配次数的范围取值越小越好,那么服务器即可确定10为分配次数。由此,新一轮的资源分配的分配次数是10,且包括1个A类资源、2个B类资源和3个C类资源,表示在这一轮资源分配中,一共可以分配10次,能被分配出去的资源有6个。
最后,当服务器确定新一轮的资源分配的分配次数和被分配资源之后,将分配次数和被分配资源存储至内存数据库中,内存数据库可以是redis数据库。本实施例通过将分配次数和被分配资源保存至内存数据库中,便于分配次数和被分配资源的更新。
在一个实施例中,资源分配方法还包括:当本次资源分配完成之后,即当服务器将需要分配给终端的被分配资源分配给终端之后,更新内存数据库中的分配次数,并将分配给终端的被分配资源从内存数据库中删除。
具体地,由于每轮的资源分配的分配次数在生成该轮资源分配时已经确定好并存储在内存数据库中,意味着一轮的资源分配的分配次数已经固定。因此,当一轮的资源分配消耗一次分配机会时,服务器即需要从内存数据库中获取分配次数,并更新该分配次数,即将分配次数递减1。例如,内存数据库中的分配次数为10,当分配一次资源之后,分配次数更新为9。或者,内存数据库中的剩余分配次数为6,当分配一次资源之后,剩余分配次数更新为5。同时,将已经分配给终端的被分配资源从内存数据库中删除,从而避免重复将同一个被分配资源分配给不同的终端,提高分配的准确性。
在本实施例中,通过更新分配次数和删除已经分配的被分配资源,保证资源分配的有序性。同时,由于分配次数和被分配资源属于临时数据,放在内存数据库中进行操作可以提高处理速度。
在一个实施例中,资源分配方法还包括:当本次资源分配完成之后,即当服务器将需要分配给终端的被分配资源分配给终端之后,获取并保存本次资源分配的分配信息,分配信息包括终端、被分配资源以及被分配资源的资源类型。
具体地,在完成一次资源分配之后,可以将本次资源分配的分配信息进行保存,分配信息可以包括对应的被分配到资源的终端、被分配资源以及被分配资源的资源类型。在本实施例中,通过保存的分配信息可以在资源分配完成之后快速了解到资源分配的情况,便于核查。
另外,应当理解的是,保存的分配信息不局限于终端、被分配资源和被分配资源的资源类型,分配信息可以根据实际资源分配的需求进行设定。例如,当被分配资源属于实际物品时,在线上通过服务器和终端完成资源分配之后,终端对应的用户还需要进行线下领取。因此,分配信息还可以保存终端对应的用户信息,用于线下领取资源时核对用户身份。用户信息可以通过服务器发送指令给对应的终端获取到。
在一个实施例中,如图5所示,提供一种多轮的资源分配示意图。以图5为例对上述资源分配活动进行详细说明。参考图5,资源分配被分配为多轮,即第一轮资源分配、第二轮资源分配、第三轮资源分配……第N轮资源分配。只有当第一轮资源分配分配完成之后,才能开始第二轮资源分配、当第二轮资源分配完成之后,才能开始第三轮资源分配,直至最后一轮资源分配完成,完成整个资源分配。
具体地,以第一轮资源分配和第二轮资源分配为例。当用户通过终端发送的资源分配指令指示服务器进行本次资源分配时,若服务器确定本次资源分配还处于第一轮资源分配时,则根据内存数据库中存储的第一轮资源分配的剩余分配次数和剩余被分配资源为本次资源分配生成分配标识和目标标识。然后通过匹配分配标识和目标标识确定本次资源分配是否有分配到资源,当本次资源分配匹配确定可以分配资源时,将对应的被分配资源分配给终端。进而将内存数据库中第一轮资源分配的剩余分配次数递减1,同时删除已经分配给终端的被分配资源删除。
而若服务器确定第一轮资源分配已经结束时,意味着本次资源分配不属于第一轮资源分配,服务器初始化第二轮资源分配,将本次资源分配作为第二轮资源分配的第一次分配。服务器获取资源分配需求为第二轮资源分配确定分配次数和被分配资源并存储至内存数据库中。此时,服务器的内存数据库中存储的是第二轮资源分配的分配次数和被分配资源。然后,根据第二轮资源分配的分配次数和被分配资源生成分配标识和目标标识。同理,通过匹配分配标识和目标标识确定本次资源分配是否有分配到资源,当本次资源分配匹配确定可以分配资源时,将对应的被分配资源分配给终端。进而将内存数据库中第二轮的分配次数递减1,得到第二轮资源分配的剩余分配次数。同时删除已经分配给终端的被分配资源删除,得到第二轮资源分配的剩余被分配资源。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种资源分配装置,包括:确定模块602、初始化模块604、映射模块606、生成模块608、匹配模块610和分配模块612,其中:
确定模块602,用于响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配。
初始化模块604,用于当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源。
映射模块606,用于根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射。
生成模块608,用于生成不大于分配次数的随机值作为本次资源分配的分配标识。
匹配模块610,用于将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识。
分配模块612,用于将相匹配的目标标识映射的所述被分配资源分配给终端。
在一个实施例中,映射模块606还用于当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源;根据剩余分配次数和剩余被分配资源确定目标标识,并分别将各剩余被分配资源与各目标标识进行映射。
生成模块608还用于生成不大于剩余分配次数的随机值作为本次资源分配的分配标识。
匹配模块610还用于将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识。
分配模块612还用于将相匹配的目标标识映射的剩余被分配资源分配给终端。
在一个实施例中,初始化模块604还用于获取内存数据库中当前存储的分配次数;当内存数据库中当前存储的分配次数为设定值时,确定本次资源分配不属于当前轮的资源分配;当内存数据库中当前存储的分配次数大于设定值时,确定本次资源分配属于当前轮的资源分配。
在一个实施例中,映射模块606还用于根据被分配资源的数量确定目标标识的个数;调用随机数生成器生成不大于分配次数且与个数相同的随机值,将生成的各随机值作为目标标识。
在一个实施例中,确定模块602还用于当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求;根据资源分配需求确定新一轮的资源分配的分配次数和被分配资源;将分配次数和被分配资源存入内存数据库。
在一个实施例中,资源分配装置还包括更新模块,用于更新内存数据库中的分配次数,并将分配给终端的被分配资源从内存数据库中删除。
在一个实施例中,资源分配装置还包括保存模块,用于获取并保存本次资源分配的分配信息,分配信息包括终端、被分配资源以及被分配资源的资源类型。
关于资源分配装置的具体限定可以参见上文中对于资源分配方法的限定,在此不再赘述。上述资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储分配次数、被分配资源等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射;
生成不大于分配次数的随机值作为本次资源分配的分配标识;
将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;
将相匹配的目标标识映射的所述被分配资源分配给终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源;根据剩余分配次数和剩余被分配资源确定目标标识,并分别将各剩余被分配资源与各目标标识进行映射;生成不大于剩余分配次数的随机值作为本次资源分配的分配标识;将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;将相匹配的目标标识映射的剩余被分配资源分配给终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取内存数据库中当前存储的分配次数;当内存数据库中当前存储的分配次数为设定值时,确定本次资源分配不属于当前轮的资源分配;当内存数据库中当前存储的分配次数大于设定值时,确定本次资源分配属于当前轮的资源分配。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据被分配资源的数量确定目标标识的个数;调用随机数生成器生成不大于分配次数且与个数相同的随机值,将生成的各随机值作为目标标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求;根据资源分配需求确定新一轮的资源分配的分配次数和被分配资源;将分配次数和被分配资源存入内存数据库。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:更新内存数据库中的分配次数,并将分配给终端的被分配资源从内存数据库中删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取并保存本次资源分配的分配信息,分配信息包括终端、被分配资源以及被分配资源的资源类型。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
根据分配次数和被分配资源确定目标标识,并分别将各被分配资源与各目标标识进行映射;
生成不大于分配次数的随机值作为本次资源分配的分配标识;
将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;
将相匹配的目标标识映射的所述被分配资源分配给终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源;根据剩余分配次数和剩余被分配资源确定目标标识,并分别将各剩余被分配资源与各目标标识进行映射;生成不大于剩余分配次数的随机值作为本次资源分配的分配标识;将分配标识与各目标标识分别进行匹配,确定与分配标识相匹配的目标标识;将相匹配的目标标识映射的剩余被分配资源分配给终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取内存数据库中当前存储的分配次数;当内存数据库中当前存储的分配次数为设定值时,确定本次资源分配不属于当前轮的资源分配;当内存数据库中当前存储的分配次数大于设定值时,确定本次资源分配属于当前轮的资源分配。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据被分配资源的数量确定目标标识的个数;调用随机数生成器生成不大于分配次数且与个数相同的随机值,将生成的各随机值作为目标标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求;根据资源分配需求确定新一轮的资源分配的分配次数和被分配资源;将分配次数和被分配资源存入内存数据库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:更新内存数据库中的分配次数,并将分配给终端的被分配资源从内存数据库中删除。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取并保存本次资源分配的分配信息,分配信息包括终端、被分配资源以及被分配资源的资源类型。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(RandomAccess Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种资源分配方法,其特征在于,所述方法包括:
响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射;
生成不大于所述分配次数的随机值作为本次资源分配的分配标识;
将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
将相匹配的所述目标标识映射的所述被分配资源分配给所述终端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当本次资源分配属于当前轮的资源分配时,获取剩余分配次数和剩余被分配资源;
根据所述剩余分配次数和所述剩余被分配资源确定目标标识,并分别将各所述剩余被分配资源与各所述目标标识进行映射;
生成不大于所述剩余分配次数的随机值作为本次资源分配的分配标识;
将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
将相匹配的所述目标标识映射的所述剩余被分配资源分配给所述终端。
3.根据权利要求1所述的方法,其特征在于,所述当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源,包括:
当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并获取资源分配需求;
根据所述资源分配需求确定新一轮的资源分配的分配次数和被分配资源;
将所述分配次数和所述被分配资源存入内存数据库。
4.根据权利要求1所述的方法,其特征在于,所述根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射,包括:
根据所述被分配资源的数量确定目标标识的个数;
调用随机数生成器生成不大于所述分配次数且与所述个数相同的随机值,将生成的各所述随机值作为目标标识。
5.根据权利要求1所述的方法,其特征在于,所述根据当前分配次数确定本次资源分配是否属于当前轮的资源分配,包括:
获取内存数据库中当前存储的分配次数;
当所述内存数据库中当前存储的分配次数为设定值时,确定本次资源分配不属于当前轮的资源分配;
当所述内存数据库中当前存储的分配次数大于设定值时,确定本次资源分配属于当前轮的资源分配。
6.根据权利要求1或2所述的方法,其特征在于,当将被分配资源分配给所述终端之后,所述方法还包括:
更新内存数据库中的分配次数,并将分配给所述终端的被分配资源从所述内存数据库中删除。
7.根据权利要求1或2所述的方法,其特征在于,当将被分配资源分配给所述终端之后,所述方法还包括:
获取并保存本次资源分配的分配信息,所述分配信息包括所述终端、所述被分配资源以及所述被分配资源的资源类型。
8.一种资源分配装置,其特征在于,所述装置包括:
确定模块,用于响应终端发送的资源分配指令,根据当前分配次数确定本次资源分配是否属于当前轮的资源分配;
初始化模块,用于当本次资源分配不属于当前轮的资源分配时,生成新一轮的资源分配并确定新一轮的资源分配的分配次数和被分配资源;
映射模块,用于根据所述分配次数和被分配资源确定目标标识,并分别将各所述被分配资源与各所述目标标识进行映射;
生成模块,用于生成不大于所述分配次数的随机值作为本次资源分配的分配标识;
匹配模块,用于将所述分配标识与各所述目标标识分别进行匹配,确定与所述分配标识相匹配的目标标识;
分配模块,用于将相匹配的所述目标标识映射的所述被分配资源分配给所述终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315824.3A CN111523931A (zh) | 2020-04-21 | 2020-04-21 | 资源分配方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010315824.3A CN111523931A (zh) | 2020-04-21 | 2020-04-21 | 资源分配方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111523931A true CN111523931A (zh) | 2020-08-11 |
Family
ID=71902101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010315824.3A Withdrawn CN111523931A (zh) | 2020-04-21 | 2020-04-21 | 资源分配方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523931A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468403A (zh) * | 2023-04-19 | 2023-07-21 | 浪潮智慧科技有限公司 | 一种资源分配方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393839A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 并行数据处理系统及方法 |
CN106156228A (zh) * | 2015-04-24 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 资源发放系统、资源发放方法及资源领取方法 |
CN108665177A (zh) * | 2018-05-17 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 资源分配方法及装置 |
CN110769015A (zh) * | 2018-07-27 | 2020-02-07 | 深圳市立信创源科技有限公司 | 定点资源分配的方法 |
-
2020
- 2020-04-21 CN CN202010315824.3A patent/CN111523931A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393839A (zh) * | 2011-11-30 | 2012-03-28 | 中国工商银行股份有限公司 | 并行数据处理系统及方法 |
CN106156228A (zh) * | 2015-04-24 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 资源发放系统、资源发放方法及资源领取方法 |
CN108665177A (zh) * | 2018-05-17 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 资源分配方法及装置 |
CN110769015A (zh) * | 2018-07-27 | 2020-02-07 | 深圳市立信创源科技有限公司 | 定点资源分配的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468403A (zh) * | 2023-04-19 | 2023-07-21 | 浪潮智慧科技有限公司 | 一种资源分配方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN111225050B (zh) | 云计算资源分配方法及装置 | |
CN107807967B (zh) | 实时推荐方法、电子设备及计算机可读存储介质 | |
CN112099979B (zh) | 一种访问控制方法、装置、计算机设备和存储介质 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
CN108512948B (zh) | 通讯录更新方法、装置、计算机设备和存储介质 | |
CN110489227B (zh) | 一种资源分配方法、装置、计算机设备和存储介质 | |
CN108388409B (zh) | 打印请求处理方法、装置、计算机设备和存储介质 | |
CN111523931A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111163186A (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112631680A (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
CN115994036B (zh) | 云平台租户隔离方法、装置、设备及存储介质 | |
CN114860460B (zh) | 一种数据库加速的方法、装置、计算机设备 | |
CN112783866A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN111880864B (zh) | 基于http的模型调用方法、系统、计算机设备和存储介质 | |
CN110362575B (zh) | 一种生成数据的全局索引的方法及装置 | |
CN114328650A (zh) | 数据库资源管理方法、装置、计算机设备和存储介质 | |
CN109462543B (zh) | 邮件下载方法、装置、计算机设备和存储介质 | |
CN113821495A (zh) | 数据库集群实现系统及方法 | |
CN112989147A (zh) | 数据信息的推送方法、装置、计算机设备及存储介质 | |
CN112616153A (zh) | 容器处理方法、装置、计算机设备和存储介质 | |
CN113568708B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200811 |
|
WW01 | Invention patent application withdrawn after publication |