资源分配方法、装置与电子设备制造方法及图纸

技术编号:28423242 阅读:19 留言:0更新日期:2021-05-11 18:31
本公开提供一种资源分配方法、装置与电子设备。资源分配方法包括:响应用户竞标请求到达消息,按所述用户竞标请求对应的分配等级确定所述用户竞标请求对应的等待队列;在所述用户竞标请求对应的等待队列未满时,将所述用户竞标请求作为所述等待队列中的一个节点加入所述等待队列响应资源释放消息获取多个等待队列的头节点,在多个所述头节点中确定中标节点,其中每个头节点的中标概率根据该头节点对应的等待队列确定将资源分配给所述中标节点,并对未中标节点对应的用户返回竞标失败消息,返回上一步。本公开提供的资源分配方法可以保障各等级的用户均有机会获得稀缺资源,并减少用户等待分配结果的时间。

【技术实现步骤摘要】
资源分配方法、装置与电子设备
本公开涉及计算机
,具体而言,涉及一种可以用于对大量竞标者分配稀缺资源的资源分配方法与装置。
技术介绍
在电商平台的秒杀、抢购等促销活动中,电商平台往往采用限流或抽签等手段处理大量用户请求对有限的促销商品的抢购。由于限流方案常分为按等级限流和按时间限流,前者会影响低等级用户参与积极性,后者会导致高等级用户的抢购成功几率有可能低于低等级用户,影响高等级活跃用户的用户体验,因此相关技术通常采用竞锁策略实现促销商品的分配。在竞锁策略中,为了保证在高并发的情况下不会出现超卖和少卖的问题,系统会受理所有抢购请求,并使全部抢购请求线程同时参与对库存锁的竞锁,竞锁成功的抢购请求线程获取库存锁,完成下单操作后释放库存锁;竞锁失败的抢购请求线程等待下一次竞锁。这种方法在访问量骤增时会由于无法及时处理所有请求而将请求线程放置于等待队列进行等待,导致大量线程积压,增大系统压力。持续增长的抢购线程数会继续影响系统性能,在线程量大的情况下,线程积压极可能达到系统性能阈值,引起系统雪崩。此外,由于抢购商品一般远远小于抢购人数,在此前提下,等待队列中90%的抢购请求属于没有抢购成功可能性的无效请求,这些请求一直在消耗系统线程资源进行无限等待,造成了无意义的性能浪费。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开提供一种资源分配方法与资源分配装置,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的资源竞标过程中用户体验差、系统性能浪费、系统容易雪崩等问题。根据本公开实施例的第一方面,提供一种资源分配方法,包括:响应用户竞标请求到达消息,按所述用户竞标请求对应的分配等级确定所述用户竞标请求对应的等待队列;在所述用户竞标请求对应的等待队列未满时,将所述用户竞标请求作为所述等待队列中的一个节点加入所述等待队列;响应资源释放消息获取多个等待队列的头节点,在多个所述头节点中确定中标节点,其中每个头节点的中标概率根据该头节点对应的等待队列确定;将资源分配给所述中标节点,并对未中标节点对应的用户返回竞标失败消息,返回上一步。在本公开的一种示例性实施例中,还包括:在所述用户竞标请求对应的等待队列已满时,对所述用户竞标请求对应的用户返回竞标失败消息。在本公开的一种示例性实施例中,判断所述等待队列已满的方法包括:如果所述等待队列的当前长度超过所述等待队列对应的预设长度,判断所述等待队列已满;如果所述等待队列的当前长度不超过所述等待队列对应的预设长度,判断所述等待队列未满。在本公开的一种示例性实施例中,每个等待队列的长度均等于待竞标的资源数量,所述多个等待队列对应的中标概率之和等于100%。在本公开的一种示例性实施例中,所述响应资源释放消息获取多个等待队列的头节点包括:获取一个等待队列的推送节点,在所述推送节点的前指针不为空时,获取该等待队列的前一个推送节点;在所述推送节点的前指针为空时,将所述推送节点确定为该等待队列的头节点。在本公开的一种示例性实施例中,所述将所述资源分配给所述中标节点包括:对所述资源的库存进行锁操作,同时仅对所述中标节点对应的用户竞标请求开放库存扣减权限;响应所述资源的库存扣减消息获取下一个资源;在所述下一个资源存在时,发送所述资源释放消息。在本公开的一种示例性实施例中,所述在多个所述头节点中确定中标节点包括:根据每个头节点所属的等待队列对应的中标概率生成比例散点图;通过随机散点算法生成100以内的数字以命中所述散点图对应的头节点。根据本公开实施例的第二方面,提供一种资源分配装置,包括:队列分配模块,设置为响应用户竞标请求到达消息,按所述用户竞标请求对应的分配等级确定所述用户竞标请求对应的等待队列;队列建立模块,设置为在所述用户竞标请求对应的等待队列未满时,将所述用户竞标请求作为所述等待队列中的一个节点加入所述等待队列;资源竞标模块,设置为响应资源释放消息获取多个等待队列的头节点,在多个所述头节点中确定中标节点,其中每个头节点的中标概率根据该头节点对应的等待队列确定;资源占用模块,设置为将资源分配给所述中标节点,并对未中标节点对应的用户返回竞标失败消息,返回上一步。根据本公开的第三方面,提供一种资源分配装置,包括:存储器;以及耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的资源分配方法。本公开实施例通过将用户竞标请求加入不同资源分配等级对应的等待队列,可以在等待队列达到预设长度(资源数量)时直接拒绝该等待队列对应的用户竞标请求,避免用户进行无意义的等待以提高用户体验,同时减少无意义进程对系统性能的浪费,降低系统雪崩风险;此外,通过在分配每一个资源时在多个等待队列的头节点中按照各等待队列对应的中标概率确定一个资源对应的中标节点,遗弃未中标节点,释放线程占用资源,处理数据少、反应速度快,且可以使多个等级的用户均具有与用户等级相对应的中标概率,在保证用户体验的同时提高了请求处理效率,降低了系统压力。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示意性示出本公开示例性实施例中资源分配方法的流程图。图2示意性示出本公开示例性实施例中资源分配方法的流程图。图3示意性示出本公开示例性实施例中资源分配方法的流程图。图4示意性示出本公开一个示例性实施例中一种资源分配装置的方框图。图5示意性示出本公开一个示例性实施例中一种电子设备的方框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不本文档来自技高网...

【技术保护点】
1.一种资源分配方法,其特征在于,包括:/n响应用户竞标请求到达消息,按所述用户竞标请求对应的分配等级确定所述用户竞标请求对应的等待队列;/n在所述用户竞标请求对应的等待队列未满时,将所述用户竞标请求作为所述等待队列中的一个节点加入所述等待队列;/n响应资源释放消息获取多个等待队列的头节点,在多个所述头节点中确定中标节点,其中每个头节点的中标概率根据该头节点对应的等待队列确定;/n将资源分配给所述中标节点,并对未中标节点对应的用户返回竞标失败消息,返回上一步。/n

【技术特征摘要】
1.一种资源分配方法,其特征在于,包括:
响应用户竞标请求到达消息,按所述用户竞标请求对应的分配等级确定所述用户竞标请求对应的等待队列;
在所述用户竞标请求对应的等待队列未满时,将所述用户竞标请求作为所述等待队列中的一个节点加入所述等待队列;
响应资源释放消息获取多个等待队列的头节点,在多个所述头节点中确定中标节点,其中每个头节点的中标概率根据该头节点对应的等待队列确定;
将资源分配给所述中标节点,并对未中标节点对应的用户返回竞标失败消息,返回上一步。


2.如权利要求1所述的资源分配方法,其特征在于,还包括:
在所述用户竞标请求对应的等待队列已满时,对所述用户竞标请求对应的用户返回竞标失败消息。


3.如权利要求1所述的资源分配方法,其特征在于,判断所述等待队列已满的方法包括:
如果所述等待队列的当前长度超过所述等待队列对应的预设长度,判断所述等待队列已满;
如果所述等待队列的当前长度不超过所述等待队列对应的预设长度,判断所述等待队列未满。


4.如权利要求3所述的资源分配方法,其特征在于,每个等待队列的长度均等于待竞标的资源数量,所述多个等待队列对应的中标概率之和等于100%。


5.如权利要求1所述的资源分配方法,其特征在于,所述响应资源释放消息获取多个等待队列的头节点包括:
获取一个等待队列的推送节点,在所述推送节点的前指针不为空时,获取该等待队列的前一个推送节点;
在所述推送节点的前指针为空时,将所述推送节点确定为该等待队列的头节点。


6.如权利要求1所述...

【专利技术属性】
技术研发人员:张政
申请(专利权)人:北京沃东天骏信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1