掌桥专利:专业的专利平台
掌桥专利
首页

虚拟资源更新方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:37:02


虚拟资源更新方法、装置、设备及存储介质

技术领域

本公开涉及计算机技术领域,尤其涉及一种虚拟资源更新方法、装置、设备及存储介质。

背景技术

在账户系统中需要对同一账户进行高并发的虚拟资源的更新;例如,在直播打赏场景中,需要对主播的资源账户进行虚拟资源变更。当多个观众端对同一热点主播进行打赏时,高并发的变更同一账户虚拟资源将在数据库层面形成热点行,高并发更新会造成严重的锁竞争,极大影响数据库的可用性。

相关技术中,在接口上通过固定窗口方式对相同账户流量进行限流,对于超过限流的请求则会拒绝接收,需要由业务方重试被拒绝的请求。一方面,造成账户的虚拟资源的更新延迟时间较长;另一方面,由于依赖业务方多次重试请求,导致业务方使用体验较差。

发明内容

本公开提供一种虚拟资源更新方法、装置、设备及存储介质,以至少解决相关技术中账户的虚拟资源更新延迟时间较长的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种虚拟资源更新方法,包括:

在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送所述虚拟资源转移请求;所述虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;

基于所述热点消息队列,获取所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;所述第一待转移资源记录基于所述目标虚拟资源生成;所述第二待转移资源记录为历史时段内未处理的资源记录;

基于所述热点消息队列,根据所述第一待转移资源记录以及所述第二待转移资源记录,更新所述目标账户标识对应的虚拟资源。

在一示例性的实施方式中,所述方法还包括:

基于所述异步消息队列,判断所述虚拟资源转移请求是否符合所述预设条件;

在所述虚拟资源转移请求不符合所述预设条件时,基于所述异步消息队列处理所述虚拟资源转移请求。

在一示例性的实施方式中,所述判断所述虚拟资源转移请求是否符合所述预设条件,包括:

判断所述目标账户标识是否为热点账户标识;或

判断所述目标账户标识对应的虚拟资源转移请求总次数是否大于预设次数阈值;所述热点账户标识为流量大于流量阈值的账户对应的标识;所述虚拟资源转移请求总次数基于所述虚拟资源转移请求更新得到。

在一示例性的实施方式中,所述方法还包括:

基于同步消息队列获取所述虚拟资源转移请求;

基于所述同步消息队列根据所述虚拟资源转移请求中的目标虚拟资源,生成所述第一待转移资源记录;

基于所述同步消息队列向预设数据库发送所述第一待转移资源记录;

所述基于所述热点消息队列,获取所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,包括:

基于所述热点消息队列,向所述预设数据库发送资源转移记录获取请求;所述资源转移记录获取请求携带所述目标账户标识;

基于所述目标账户标识,在所述预设数据库中查找所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录。

在一示例性的实施方式中,所述基于所述目标账户标识,在所述预设数据库中查找所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,包括:

基于所述目标账户标识,在所述预设数据库中查找所述目标账户标识对应的历史资源转移记录;所述历史资源转移记录包括已处理资源记录和未处理资源记录;

从所述历史资源转移记录中筛选出所述未处理资源记录;所述未处理资源记录包括所述第一待转移资源记录以及所述第二待转移资源记录。

在一示例性的实施方式中,所述基于所述热点消息队列,根据所述第一待转移资源记录以及所述第二待转移资源记录,更新所述目标账户标识对应的虚拟资源,包括:

基于所述热点消息队列,将所述第一待转移资源记录以及所述第二待转移资源记录更新为已处理状态;

基于所述第一待转移资源记录以及所述第二待转移资源记录各自对应的虚拟资源,确定综合虚拟资源;

获取所述目标账户标识对应的初始虚拟资源;

基于所述初始虚拟资源以及所述综合虚拟资源,得到所述目标账户标识对应的更新虚拟资源。

在一示例性的实施方式中,所述基于所述热点消息队列,根据所述第一待转移资源记录以及所述第二待转移资源记录,更新所述目标账户标识对应的虚拟资源之前,所述方法还包括:

在所述目标账户标识为非热点账户标识时,基于所述热点消息队列,确定所述热点账户标识对应的预设时段;

基于所述热点消息队列,在所述预设时段将所述目标账户标识标记为热点账户标识。

在一示例性的实施方式中,所述方法还包括:

确定所述热点消息队列处理请求的间隔时段;

基于所述间隔时段,确定所述预设时段。

在一示例性的实施方式中,所述方法还包括:

基于所述同步消息队列,获取未处理的虚拟资源转移请求;

基于亲缘性线程池队列,处理所述未处理的虚拟资源转移请求;

基于所述未处理的虚拟资源转移请求对应的未处理资源,更新所述目标账户标识对应的虚拟资源。

根据本公开实施例的第二方面,提供一种虚拟资源更新装置,包括:

转移请求发送模块,被配置为执行在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送所述虚拟资源转移请求;所述虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;

记录获取模块,被配置为执行基于所述热点消息队列,获取所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;所述第一待转移资源记录基于所述目标虚拟资源生成;所述第二待转移资源记录为历史时段内未处理的资源记录;

资源更新模块,被配置为执行基于所述热点消息队列,根据所述第一待转移资源记录以及所述第二待转移资源记录,更新所述目标账户标识对应的虚拟资源。

在一示例性的实施方式中,所述装置还包括:

条件判断模块,被配置为执行基于所述异步消息队列,判断所述虚拟资源转移请求是否符合所述预设条件;

请求处理模块,被配置为执行在所述虚拟资源转移请求不符合所述预设条件时,基于所述异步消息队列处理所述虚拟资源转移请求。

在一示例性的实施方式中,所述条件判断模块包括:

第一判断单元,被配置为执行判断所述目标账户标识是否为热点账户标识;

第二判断单元,被配置为执行判断所述目标账户标识对应的虚拟资源转移请求总次数是否大于预设次数阈值;所述热点账户标识为流量大于流量阈值的账户对应的标识;所述虚拟资源转移请求总次数基于所述虚拟资源转移请求更新得到。

在一示例性的实施方式中,所述装置还包括:

请求获取模块,被配置为执行基于同步消息队列获取所述虚拟资源转移请求;

记录生成模块,被配置为执行基于所述同步消息队列根据所述虚拟资源转移请求中的目标虚拟资源,生成所述第一待转移资源记录;

记录发送模块,被配置为执行基于所述同步消息队列向预设数据库发送所述第一待转移资源记录;

在一示例性的实施方式中,所述记录获取模块包括:

请求发送单元,被配置为执行基于所述热点消息队列,向所述预设数据库发送资源转移记录获取请求;所述资源转移记录获取请求携带所述目标账户标识;

记录查找单元,被配置为执行基于所述目标账户标识,在所述预设数据库中查找所述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录。

在一示例性的实施方式中,所述记录查找单元包括:

查找子单元,被配置为执行基于所述目标账户标识,在所述预设数据库中查找所述目标账户标识对应的历史资源转移记录;所述历史资源转移记录包括已处理资源记录和未处理资源记录;

筛选子单元,被配置为执行从所述历史资源转移记录中筛选出所述未处理资源记录;所述未处理资源记录包括所述第一待转移资源记录以及所述第二待转移资源记录。

在一示例性的实施方式中,所述资源更新模块包括:

状态更新单元,被配置为执行基于所述热点消息队列,将所述第一待转移资源记录以及所述第二待转移资源记录更新为已处理状态;

综合虚拟资源确定单元,被配置为执行基于所述第一待转移资源记录以及所述第二待转移资源记录各自对应的虚拟资源,确定综合虚拟资源;

初始虚拟资源获取单元,被配置为执行获取所述目标账户标识对应的初始虚拟资源;

更新虚拟资源确定单元,被配置为执行基于所述初始虚拟资源以及所述综合虚拟资源,得到所述目标账户标识对应的更新虚拟资源。

在一示例性的实施方式中,所述装置还包括:

预设时段确定模块,被配置为执行在所述目标账户标识为非热点账户标识时,基于所述热点消息队列,确定所述热点账户标识对应的预设时段;

热点账户标记模块,被配置为执行基于所述热点消息队列,在所述预设时段将所述目标账户标识标记为热点账户标识。

在一示例性的实施方式中,所述装置还包括:

间隔时段确定模块,被配置为执行确定所述热点消息队列处理请求的间隔时段;

预设时段确定模块,被配置为执行基于所述间隔时段,确定所述预设时段。

在一示例性的实施方式中,所述装置还包括:

未处理请求获取模块,被配置为执行基于所述同步消息队列,获取未处理的虚拟资源转移请求;

请求处理模块,被配置为执行基于亲缘性线程池队列,处理所述未处理的虚拟资源转移请求;

未处理资源更新模块,被配置为执行基于所述未处理的虚拟资源转移请求对应的未处理资源,更新所述目标账户标识对应的虚拟资源。

根据本公开实施例的第三方面,提供一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如上所述的虚拟资源更新方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备处理器执行时,使得电子设备能够执行如上所述的虚拟资源更新方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的虚拟资源更新方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

本公开在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送虚拟资源转移请求;虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;基于热点消息队列,获取目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;第一待转移资源记录基于目标虚拟资源生成;第二待转移资源记录为历史时段内未处理的资源记录;本公开采用异步消息队列处理账户的虚拟资源转移请求,克服了相关技术中的因同步接口限流导致依赖业务重试的问题;基于热点消息队列,根据第一待转移资源记录以及第二待转移资源记录,更新目标账户标识对应的虚拟资源。本公开中在虚拟资源转移请求符合预设条件时,通过热点消息队列处理获取目标账户标识对应的待转移资源记录,并对资源记录进行批量处理,实现对历史时段内针对同一目标账户的虚拟资源请求的一次性更新处理,实现了对热点账户的虚拟资源的快速、高效更新,降低了热点账户的虚拟资源的更新延迟;同时本公开避免采用异步消息队列处理热点账户的资源转移请求,也降低了非热点账户的虚拟资源的更新延迟。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种虚拟资源更新方法的应用环境图。

图2是根据一示例性实施例示出的一种虚拟资源更新方法的流程图。

图3是根据一示例性实施例示出的一种基于异步消息队列,判断虚拟资源转移请求是否符合预设条件的方法的流程图。

图4是根据一示例性实施例示出的一种第一待转移资源记录的生成方法的流程图。

图5是根据一示例性实施例示出的一种基于热点消息队列,获取目标账户标识对应的第一待转移资源记录以及第二待转移资源记录的方法的流程图。

图6是根据一示例性实施例示出的一种基于目标账户标识,在预设数据库中查找目标账户标识对应的第一待转移资源记录以及第二待转移资源记录的方法的流程图。

图7是根据一示例性实施例示出的一种根据第一待转移资源记录以及第二待转移资源记录,更新目标账户标识对应的虚拟资源图的方法的流程图。

图8是根据一示例性实施例示出的另一种虚拟资源更新方法的流程图;

图9是根据一示例性实施例示出的一种虚拟资源更新装置的框图。

图10是根据一示例性实施例示出的一种用于更新虚拟资源的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

请参阅图1,其所示为根据一示例性实施例示出的一种虚拟资源更新方法的应用环境图,该应用环境可以包括服务器01和客户端02。

具体的,本说明书实施例中,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器01可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器01可以用于在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送虚拟资源转移请求;虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;基于热点消息队列,获取目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;第一待转移资源记录基于目标虚拟资源生成;第二待转移资源记录为历史时段内未处理的资源记录;基于热点消息队列,根据第一待转移资源记录以及第二待转移资源记录,更新目标账户标识对应的虚拟资源。

具体的,本说明书实施例中,所述客户端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。具体的,所述客户端02可以用于显示目标账户标识对应的更新虚拟资源。

图2是根据一示例性实施例示出的一种虚拟资源更新方法的流程图,如图2所示,该方法可以应用于图1所示的服务器01中,包括以下步骤。

在步骤S201中,在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送上述虚拟资源转移请求;上述虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源。

具体的,在本公开实施例中,虚拟资源可以包括但不限于积分、虚拟商品、礼物等;本实施例可以应用于直播场景中,观众端对直播端进行打赏时,对直播端的账户虚拟资源进行更新。目标账户可以为主播端,目标账户标识可以包括但不限于主播的账号、昵称、用户名等账户信息,预设条件可以表征目标账户为热点账户,热点账户可以为交互流量大于预设流量阈值的账户;在直播场景中,热点账户可以为直播流量大于预设流量阈值的主播账户。

具体的,在本公开实施例中,虚拟资源转移请求可以包括虚拟资源转入请求和虚拟资源转出请求,在直播场景中,目标账户为主播时,虚拟资源转移请求可以为虚拟资源转入请求,即需要增加主播账户中的虚拟资源;可以在服务器中设置异步消息队列和热点消息队列,通过热点消息队列处理热点账户对应的虚拟资源转移请求,通过异步消息队列处理非热点账户的虚拟资源转移请求;相比于相关技术中通过同步接口限流方式处理所有账户的虚拟资源转移请求;本实施例采用异步消息队列处理账户的虚拟资源转移请求,克服了相关技术中的因同步接口限流导致依赖业务重试的问题;本实施例还将热点账户与非热点账户进行分流处理;降低了异步消息队列的数据处理压力,提高了热点账户与非热点账户各自对应的虚拟资源更新效率。

本公开实施例中,在步骤S201之前,如图3所示,上述方法还包括:

在步骤S2001中,基于上述异步消息队列,判断上述虚拟资源转移请求是否符合预设条件;

具体的,在本公开实施例中,可以预先设置资源转移请求对应的预设条件,异步消息队列在接收到虚拟资源转移请求之后,可以判断上述虚拟资源转移请求是否符合预设条件;并根据判断结果确定是否将虚拟资源转移请求发送至热点消息队列;即确定异步消息队列是否基于该虚拟资源转移请求进行虚拟资源更新操作。

在一些实施例中,上述判断上述虚拟资源转移请求是否符合预设条件,包括:

判断上述目标账户标识是否为热点账户标识;或

具体的,在本公开实施例中,热点账户可以为交互流量大于预设流量阈值的账户;在直播场景中,热点账户可以为直播流量大于预设流量阈值的主播账户;在接收到虚拟资源转移请求之后,可以根据对虚拟资源转移请求进行解析,得到其对应的目标账户标识。本实施例中可以预先构建热点账户对应的热点账户数据库,具体的,可以根据各个账户对应的直播流量,将直播流量大于预设流量阈值的账户确定为热点账户,并在热点账户数据库中存储热点账户对应的热点账户标识。然后在热点账户数据库中查找是否存在目标账户标识;若热点账户数据库中存在目标账户标识,则确定目标账户标识为热点账户标识,并确定虚拟资源转移请求符合预设条件;否则,确定目标账户标识为非热点账户标识。

判断上述目标账户标识对应的虚拟资源转移请求总次数是否大于预设次数阈值;上述热点账户标识为流量大于流量阈值的账户对应的标识;上述虚拟资源转移请求总次数基于上述虚拟资源转移请求更新得到;

具体的,在本公开实施例中,可以根据当前的虚拟资源转移请求,更新目标账户标识对应的虚拟资源转移请求总次数;可以获取目标账户标识对应的虚拟资源转移请求原始次数,并在原始次数的基础上增加1,得到总次数;可以根据目标账户标识对应的虚拟资源转移请求总次数,确定目标账户是否为热点账户;若目标账户标识对应的虚拟资源转移请求总次数大于预设次数阈值,则可以确定目标账户标识为热点账户标识;并确定虚拟资源转移请求符合预设条件。若目标账户标识对应的虚拟资源转移请求总次数小于或等于预设次数阈值,则可以确定目标账户标识为非热点账户标识;并确定虚拟资源转移请求不符合预设条件。

在一些实施例中,上述方法还包括:

若上述任一判断结果为是,确定上述虚拟资源转移请求符合预设条件。

具体的,在本公开实施例中,若目标账户标识为热点账户标识,或目标账户标识对应的虚拟资源转移请求总次数大于预设次数阈值;则确定上述虚拟资源转移请求符合预设条件。

本公开实施例中,可以根据目标账户标识或者目标账户标识对应的虚拟资源转移请求总次数,判断目标账户是否为热点账户,并进一步确定虚拟资源转移请求是否符合预设条件,从而实现热点账户和非热点账户对应的消息队列的分流,提高热点账户和非热点账户的虚拟资源的更新效率。

在步骤S2003中,在上述虚拟资源转移请求不符合预设条件时,基于上述异步消息队列处理上述虚拟资源转移请求。

具体的,在本公开实施例中,虚拟资源转移请求不符合预设条件包括目标账户标识为非热点账户标识以及目标账户标识对应的虚拟资源转移请求总次数小于或等于预设次数阈值两种情况;此时,可以确定目标账户非热点账户,可以通过异步消息队列处理上述虚拟资源转移请求,并更新目标账户对应的虚拟资源。

具体的,在一些实施例中,对于非热点账户,可以基于虚拟资源转移请求组装消息,并存储至亲缘性线程池队列;不同的账户标识对应不同的亲缘性线程池队列,每个账户标识对应一个亲缘性线程池队列,然后通过亲缘性线程池队列在预设数据库中获取对应的第一待转移资源记录,并判断其状态是否为处理中;若是,则通过亲缘性线程池队列基于第一待转移资源记录,更新目标账户的虚拟资源,并将第一待转移资源记录对应的状态更新为已处理。

本公开实施例中,异步消息队列仅用于处理非热点账户的虚拟资源转移请求,避免采用异步消息队列处理热点账户的资源转移请求,从而降低了非热点账户的虚拟资源的更新延迟,提高了非热点账户的虚拟资源更新效率。

在步骤S202中,基于上述热点消息队列,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;上述第一待转移资源记录基于上述目标虚拟资源生成;上述第二待转移资源记录为历史时段内未处理的资源记录。

具体的,在本公开实施例中,针对热点账户,在短时间内可能接收到多个观众的打赏,存在多个虚拟资源转移请求,如果逐个进行处理,显然会造成热点消息队列过载,且虚拟资源的更新效率低下;本实施例在确定目标账户为热点账户之后,可以对历史时段内的所有待转移资源记录进行批量处理,提高了热点账户的虚拟资源的更新效率。

在一些实施例中,基于上述热点消息队列,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,可以包括:

基于上述热点消息队列,判断上述虚拟资源转移请求对应的时间是否为预设时间;

具体的,本公开实施例中,热点消息队列可以每间隔一段时间批量处理同一账户的待转移资源记录,预设时间可以为间隔时段的终点时间。

若上述虚拟资源转移请求对应的时间为预设时间,判断上述虚拟资源转移请求是否符合预设条件。

具体的,在本公开实施例中,当虚拟资源转移请求对应的时间为预设时间时,说明该请求为间隔时段内的最后一次请求;此时,热点消息队列可以获取历史时段内(当前间隔时段)未处理的资源记录,并进行批量处理,从而提高多个虚拟资源转移请求的处理效率。

在一些实施例中,上述方法还包括:

若上述虚拟资源转移请求对应的时间非预设时间,存储虚拟资源转移请求对应的第一待转移资源记录。

具体的,在本公开实施例中,当虚拟资源转移请求对应的时间非预设时间时,说明该请求并非间隔时段内的最后一次请求,可以为间隔时段内的第一次请求或中间请求,此时,可以存储虚拟资源转移请求对应的第一待转移资源记录;并等待下一个虚拟资源转移请求,直至接收的虚拟资源转移请求对应时间为预设时间,再对间隔时段内的全部待转移资源记录进行批量处理;从而减小热点消息队列的数据处理压力,提高热点消息队列的数据处理效率。

在一些实施例中,基于上述热点消息队列,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,可以包括:

基于上述热点消息队列,根据上述虚拟资源转移请求,确定目标账户对应的虚拟资源转移请求的总次数;

具体的,在本公开实施例中,针对同一账户,热点消息队列可以设置单次处理的虚拟资源转移请求的总次数,当总次数达到预设设次数阈值时,再对已生成的待转移资源记录进行批量处理;具体的,可以根据虚拟资源转移请求,确定目标账户对应的全部虚拟资源转移请求的总次数;并判断总次数是否大于预设次数阈值。

若总次数大于预设次数阈值,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录。

具体的,在本公开实施例中,当总次数大于预设次数阈值时,可以获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,从而对待转移资源记录进行批量处理,并更新目标账户的虚拟资源,从而提高多个虚拟资源转移请求的处理效率。

在一些实施例中,当总次数小于或等于预设次数阈值时,说明目标账户对应的已接收虚拟资源转移请求次数未达到热点消息队列的预设次数阈值,此时,暂不对已接收虚拟资源转移请求进行处理,从而减小热点消息队列的数据处理压力,提高热点消息队列的数据处理效率。

本公开实施例中,如图4所示,上述方法还包括:

在步骤S401中,基于同步消息队列获取上述虚拟资源转移请求;

具体的,在本公开实施例中,服务器中还包括同步消息队列,同步消息队列用于接收业务系统发送的虚拟资源转移请求;业务系统可以为目标业务对应的后台服务器,虚拟资源为目标业务对应的资源。

在步骤S402中,基于上述同步消息队列根据上述虚拟资源转移请求中的目标虚拟资源,生成上述第一待转移资源记录;

具体的,在本公开实施例中,可以通过同步消息队列,根据虚拟资源转移请求中的目标虚拟资源,生成上述第一待转移资源记录;第一待转移资源记录可以包括待转移的目标虚拟资源以及目标账户标识。

在步骤S403中,基于上述同步消息队列向预设数据库发送上述第一待转移资源记录。

具体的,在本公开实施例中,可以通过同步消息队列向预设数据库发送上述第一待转移资源记录;其中,预设数据库包括账户标识与待转移资源记录的关联关系,其中,一个账户标识可以对应一个或多个待转移资源记录,预设数据库用于存储不同账户对应的待转移资源记录及其对应的处理状态;例如,可以在预设数据库中将第一待转移资源记录对应的状态设置为处理中或未处理。

本公开实施例中,如图5所示,基于上述热点消息队列,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,包括:

在步骤S2021中,基于热点消息队列,向预设数据库发送资源转移记录获取请求;上述资源转移记录获取请求携带上述目标账户标识;

具体的,在本公开实施例中,热点消息队列可以向预设数据库发送资源转移记录获取请求,并根据目标账户标识,获取与目标账户标识对应的待转移资源记录;其中,待转移资源记录包括第一待转移资源记录以及第二待转移资源记录。

在步骤S2022中,基于上述目标账户标识,在上述预设数据库中查找上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录。

具体的,在本公开实施例中,可以根据目标账户标识,在预设数据库中查找与目标账户标识匹配的待转移资源记录,得到第一待转移资源记录以及第二待转移资源记录。

本公开实施例中,同步消息队列可以根据虚拟资源转移请求中的目标虚拟资源,生成第一待转移资源记录;并向预设数据库发送第一待转移资源记录;从而实现通过预设数据库存储不同时间、不同账户的待转移资源记录,便于后续批量获取目标账户对应的多个待转移资源记录,并进行批量处理。

本公开实施例中,如图6所示,上述基于上述目标账户标识,在上述预设数据库中查找上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录,包括:

在步骤S20221中,基于上述目标账户标识,在上述预设数据库中查找上述目标账户标识对应的历史资源转移记录;上述历史资源转移记录包括已处理资源记录和未处理资源记录;

具体的,在本公开实施例中,预设数据库中存储了各个账户对应的历史资源转移记录,包括已处理和未处理两部分;本实施例先根据目标账户标识,在上述预设数据库中查找上述目标账户标识对应的全部历史资源转移记录;并进一步筛选出未处理的待转移资源记录。

在步骤S20222中,从上述历史资源转移记录中筛选出上述未处理资源记录;上述未处理资源记录包括上述第一待转移资源记录以及上述第二待转移资源记录。

具体的,在本公开实施例中,可以根据每个资源转移记录对应的标记状态,从历史资源转移记录中筛选出未处理资源记录;上述未处理资源记录包括第一待转移资源记录以及第二待转移资源记录。

本公开实施例中,预设数据库中存储了各个账户对应的已处理和未处理的资源转移记录;可以根据每个资源转移记录对应的状态信息,准确筛选出未处理的待转移资源记录,从而便于进行虚拟资源的准确更新。

在步骤S203中,基于上述热点消息队列,根据上述第一待转移资源记录以及上述第二待转移资源记录,更新上述目标账户标识对应的虚拟资源。

在一些实施例中,如图7所示,基于上述热点消息队列,根据上述第一待转移资源记录以及上述第二待转移资源记录,更新上述目标账户标识对应的虚拟资源,包括:

在步骤S2031中,基于上述热点消息队列,将上述第一待转移资源记录以及上述第二待转移资源记录更新为已处理状态;

具体的,在本公开实施例中,可以根据热点消息队列,将第一待转移资源记录以及第二待转移资源记录更新为已处理状态,并在预设数据库中存储每个待转移资源记录对应的状态信息。

在步骤S2032中,基于上述第一待转移资源记录以及上述第二待转移资源记录各自对应的虚拟资源,确定综合虚拟资源;

具体的,在本公开实施例中,可以获取第一待转移资源记录以及第二待转移资源记录各自对应的虚拟资源,并计算各个虚拟资源之和,得到综合虚拟资源;其中,第二待转移资源记录可以为一个或多个。

在步骤S2033中,获取上述目标账户标识对应的初始虚拟资源;

具体的,在本公开实施例中,目标账户标识对应的初始虚拟资源即为更新前的虚拟资源总值,可以通过预设数据库获取目标账户标识对应的初始虚拟资源。预设数据库中还可以存储各个账户对应的初始虚拟资源,并可以在各个账户对应的终端中显示各个账户对应的初始虚拟资源。

在步骤S2034中,基于上述初始虚拟资源以及上述综合虚拟资源,得到上述目标账户标识对应的更新虚拟资源。

具体的,在本公开实施例中,可以计算初始虚拟资源与综合虚拟资源之和,得到目标账户标识对应的更新虚拟资源;并在预设数据库中存储目标账户标识对应的更新虚拟资源;同时可以在目标账户对应的终端显示更新虚拟资源。

本公开实施例中,可以根据目标账户标识对应的各个待转移资源记录以及初始虚拟资源,得到目标账户标识对应的更新虚拟资源;从而实现了基于批量的待转移资源记录进行虚拟资源的更新,提高了目标账户的虚拟资源的更新效率。

在一些实施例中,上述基于上述热点消息队列,根据上述第一待转移资源记录以及上述第二待转移资源记录,更新上述目标账户标识对应的虚拟资源之前,上述方法还包括:

在上述目标账户标识为非热点账户标识时,基于上述热点消息队列,确定上述热点账户标识对应的预设时段;

具体的,在本公开实施例中,在上述目标账户标识为非热点账户标识时,可以基于上述热点消息队列,将目标账户标识确定为热点账户标识并确定该热点账户标识对应的预设时段,预设时段可以为当前时间之后的时段,预设时段用于表征热点账户标识的持续时长;预设时段可以根据实际情况进行设置。在预设时段内,即使通过交互流量确定目标账户已经转化非热点账户,仍继续将其打标为热点账户,从而确保继续通过热点消息队列更新其对应的虚拟资源。

基于上述热点消息队列,在上述预设时段将上述目标账户标识标记为热点账户标识。

具体的,在本公开实施例中,可以通过热点消息队列,在预设时段将目标账户标识标记为热点账户标识;从而避免热点消息队列在等待批量处理待转移资源记录的过程中,热点账户转化为非热点账户,从而通过异步消息队列处理了热点消息队列等待处理的下一个待转移资源记录;避免热点消息队列和异步消息队列同时处理同一账户的待转移资源记录。

在一些实施例中,在目标账户标识为热点账户标识时,可以基于热点消息队列,确定上述热点账户标识对应的延长时段;延长时段可以用于表征热点账户标识的延迟时长;在延迟时段内,即使通过交互流量确定目标账户已经转化非热点账户,仍继续将其打标为热点账户,从而确保继续通过热点消息队列更新其对应的虚拟资源。

在一些实施例中,还可以根据目标账户标识对应的更新虚拟资源转移请求确定预设时段;若在一段时间的前段时间内持续接收到目标账户标识对应的更新虚拟资源转移请求,后段时间内未接收到目标账户标识对应的更新虚拟资源转移请求,则可以将该一段时间确定为预设时段。

本公开实施例中,通过设置热点账户标识对应的预设时段,可以保证热点账户降温后仍能保持一段时间的热点,防止异步消费线程与热点消费线程并发处理其对应的虚拟资源转移请求。

在一些实施例中,上述方法还包括:

确定上述热点消息队列处理请求的间隔时段;

具体的,在本公开实施例中,热点消息队列每间隔一个时间段,可以批量处理同一热点账户的待转移资源记录,可以设置热点消息队列处理请求的间隔时段,并将一热点账户在间隔时段内的待转移资源记录进行批量处理,从而提高数据处理效率。

基于上述间隔时段,确定上述预设时段。

具体的,在本公开实施例中,可以通过间隔时段确定预设时段,具体的,可以将间隔时段确定为预设时段,也可以将间隔时段延长一定范围后,得到预设时段。

本公开实施例中,可以通过热点消息队列处理请求的间隔时段,确定热点账户标识对应的预设时段,从而可以确保热点消息队列将最后一个时段内的待转移资源记录全部处理完毕,再将热点账户标识转化为非热点账户标识,有效避免热点消息队列和异步消息队列同时处理同一账户的待转移资源记录。

在一些实施例中,上述方法还包括:

在上述预设时段内,若上述热点消息队列未接收到针对上述目标账户标识的下一虚拟资源转移请求,撤销上述目标账户标识的热点账户标记。

在一些实施例中,在异步消息队列、热点消息队列的工作过程中,或工作结束后,可以检查是否存在未处理的虚拟资源转移请求,并对未处理的请求进行处理,从而确保每个账户的虚拟资源的更新准确率。

在一些实施例中,在步骤S203之后,上述方法还包括:

基于上述同步消息队列,获取未处理的虚拟资源转移请求;

具体的,在本公开实施例中,可以定期通过同步消息队列,获取未处理的虚拟资源转移请求;然后通过亲缘性线程池队列在预设数据库中获取对应的第一待转移资源记录,并判断其状态是否为处理中;若是,则通过亲缘性线程池队列基于第一待转移资源记录,更新目标账户的虚拟资源,并将第一待转移资源记录对应的状态更新为已处理。

基于亲缘性线程池队列,处理上述未处理的虚拟资源转移请求;

具体的,在本公开实施例中,对于异步消息队列或热点消息队列遗漏处理的请求,可以通过亲缘性线程池队列统一进行处理。

基于上述未处理的虚拟资源转移请求对应的未处理资源,更新上述目标账户标识对应的虚拟资源。

具体的,在本公开实施例中,可以获取目标账户标识对应的初始更新资源,并计算未处理资源与初始更新资源之和,得到目标账户标识对应的虚拟资源,从而实现对目标账户标识对应的虚拟资源的准确更新。

本公开实施例中,在异步消息队列、热点消息队列处理请求之后,可以通过同步消息队列进行复查,并获取未处理的虚拟资源转移请求,然后通过亲缘性线程池队列,处理上述未处理的虚拟资源转移请求;并根据未处理的虚拟资源转移请求对应的未处理资源,更新目标账户标识对应的虚拟资源,从而提高了目标账户标识对应的虚拟资源的更新准确率。

在一个具体的实施例中,如图8所示,图8为另一种虚拟资源更新方法的流程图;包括:

在步骤S801中,业务系统向同步消息队列发送虚拟资源转入请求;虚拟资源转入请求携带目标账户标识以及待转入资源;

在步骤S802中,同步消息队列根据虚拟资源转入请求,生成待处理资源转入记录,并向预设数据库发送待处理资源转入记录;

在步骤S803中,同步消息队列根据目标账户标识,向异步消息队列发送亲缘性消息;

其中,可以通过亲缘性消息和亲缘性线程池将同一用户的虚拟资源操作分发到同一个线程中进行线性操作,解决了数据库的锁竞争问题。

在步骤S804中,基于异步消息队列判断虚拟资源转入请求是否符合预设条件;

其中,异步消息队列可以向缓存数据库发送判断请求,可以通过缓存数据库判断虚拟资源转入请求是否符合预设条件,并将判断结果返回至异步消息队列;缓存数据库中可以包括热点账户标识,还可以包括每个账户对应的请求次数;预设条件包括目标账户标识为热点账户标识,或目标账户对应的虚拟资源转移请求总次数大于预设次数阈值;若确定目标账户为非热点账户,执行步骤S805;若确定目标账户为热点账户,执行步骤S808;

在步骤S805中,将消息组装放入亲缘性线程池任务队列;

在步骤S806中,通过亲缘性线程查询资源转入记录,判断资源转入记录对应的处理状态;若资源转入记录对应的处理状态为处理中,执行步骤S807;

在步骤S807中,通过亲缘性线程更新虚拟资源,新增流水记录,更新资源转入记录的状态为成功;

在步骤S808中,根据目标账户标识,向热点消息队列发送亲缘性消息;

在步骤S809中,将亲缘性消息存储至预设队列中;

其中,预设队列可以为BufferTrigger队列,BufferTrigger为一种数据收集触发器,用于收集数据,根据数据量或定时器触发逻辑;可以利用BufferTrigger组件的聚合处理功能将一段时间内的同一账户的虚拟资源变更操作合并处理。

具体实现是构建元素为BatchTransferFuture的BufferTrigger对象,BatchTransferFuture对应的future模式是一种支持异步计算并可以返回计算结果,并在返回结果前可以阻塞调用者的线程对象模型,批量Future模式是对Future模式的扩展。BatchTransferFuture是CompletableFuture的子类,仅有虚拟资源转移消息这一属性。CompletableFuture相当于一个任务(Task)编排工具,ConsumeResult用于表征消息的消费结果;构造CompletableFuture的子类对象做为BufferTrigger队列元素,能传递BufferTrigger任务线程的执行结果,进而决定消息是否成功过消费;BufferTrigger的存储结构定义为ConcurrentHashMap>,ConcurrentHashMap是一个支持高并发更新与查询的哈希表,ConcurrentLinkedQueue为并发编程(java.util.concurrent,juc)包中自带的经典非堵塞方式实现的工具类,由头部(head)节点和尾部(tail)节点组成,每个节点由节点元素(item)和指向下一个节点(next)的引用组成。以账户的唯一标识作为键(key),执行BufferTrigger的队列(enqueue)时,就将构建的BatchTransferFuture对象放入对应的队列,使得一个账户消息在同一队列中。BufferTrigger的定时任务按照设置的间隔时长执行定义的消费方法。该方法入参就是BufferTrigge的存储结构ConcurrentHashMap>,该方法遍历value处理每个账户的ConcurrentLinkedQueue数据。取出ConcurrentLinkedQueue里的所有单号,从数据库里批量查询出对应的虚拟资源转入记录,并根据状态分为处理中与已处理两个列表,开启数据库事务将处理中状态的记录修改为已处理,计算处理中虚拟资源转移记录记录总的虚拟资源变更数据,并构造出这一批的流水,并在该数据库事务中修改一次虚拟资源,批量插入该批次全部流水。最后批量调用队列中BatchTransferFuture的完整的同步执行结果,消费线程获取到执行结果后向消息中间件发送ACK,ACK(Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。通过合并虚拟资源操作极大提升了消费速率,BatchTransferFuture对象机制也保证了数据的正确和完整。

在步骤S8010中,基于热点消息队列中预设队列,定时触发批量处理队列中消息;

在步骤S8011中,在任务处理过程中,将目标账户标识为热点账户;并向缓存数据库发送目标账户标识;

在步骤S8012中,根据队列中单号批量获取资源转入记录;

具体的,可以通过预设队列中单号批量获取资源转入记录;

在步骤S8013中,筛选处于处理中状态的记录,并将其状态更新为已处理成功;

具体的,可以根据每个资源转入记录对应的状态,筛选出处于处理中状态的记录,并将其状态更新为已处理成功;

在步骤S8014中,计算已更新状态的记录对应的总虚拟资源;

在步骤S8015中,变更虚拟资源,批量插入流水;

在步骤S8016中,通过账户兜底队列获取处理中资源转入记录;

在步骤S8017中,通过账户兜底队列记录放入亲缘性线程池任务队列;

在步骤S8018中,通过亲缘性线程池更新虚拟资源,新增流水记录,并更新资源转入记录的状态为已处理成功。

其中,通过账户兜底队列的策略可以防止消息丢失,或者观众端多次消费失败的情况。

本实施例将热点用户的接口承载能力从20的每秒查询率(QPS,Queries-per-second)提升到了与非热点账户同等的上万QPS,且可通过扩容进一步提升;将热点账户的到账延迟从天级降低到秒级;将数据库锁时长由百毫秒降低到1毫秒内;且保证了热点账户不影响非热点账户的到账延迟。

本公开在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送虚拟资源转移请求;虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;本公开采用异步消息队列处理账户的虚拟资源转移请求,克服了相关技术中的因同步接口限流导致依赖业务重试的问题;基于热点消息队列,获取目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;第一待转移资源记录基于目标虚拟资源生成;第二待转移资源记录为历史时段内未处理的资源记录;基于热点消息队列,根据第一待转移资源记录以及第二待转移资源记录,更新目标账户标识对应的虚拟资源。本公开中在虚拟资源转移请求符合预设条件时,通过热点消息队列处理获取目标账户标识对应的待转移资源记录,并对资源记录进行批量处理,实现对历史时段内针对同一目标账户的虚拟资源请求的一次性更新处理,实现了对热点账户的虚拟资源的快速、高效更新,降低了热点账户的虚拟资源的更新延迟;同时本公开避免采用异步消息队列处理热点账户的资源转移请求,也降低了非热点账户的虚拟资源的更新延迟。

图9是根据一示例性实施例示出的一种虚拟资源更新装置框图。参照图9,该装置包括:

转移请求发送模块910,被配置为执行在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送上述虚拟资源转移请求;上述虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;

记录获取模块920,被配置为执行基于上述热点消息队列,获取上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;上述第一待转移资源记录基于上述目标虚拟资源生成;上述第二待转移资源记录为历史时段内未处理的资源记录;

资源更新模块930,被配置为执行基于上述热点消息队列,根据上述第一待转移资源记录以及上述第二待转移资源记录,更新上述目标账户标识对应的虚拟资源。

在一些实施例中,上述装置还包括:

条件判断模块,被配置为执行基于上述异步消息队列,判断上述虚拟资源转移请求是否符合预设条件;

请求处理模块,被配置为执行在上述虚拟资源转移请求不符合预设条件时,基于上述异步消息队列处理上述虚拟资源转移请求。

在一些实施例中,上述条件判断模块包括:

第一判断单元,被配置为执行判断上述目标账户标识是否为热点账户标识;

第二判断单元,被配置为执行判断上述目标账户标识对应的虚拟资源转移请求总次数是否大于预设次数阈值;上述热点账户标识为流量大于流量阈值的账户对应的标识;上述虚拟资源转移请求总次数基于上述虚拟资源转移请求更新得到;

在一些实施例中,上述装置还包括:

确定模块,被配置为执行若第一判断单元或第二判断单元的判断结果为是,确定上述虚拟资源转移请求符合预设条件。

在一些实施例中,上述装置还包括:

请求获取模块,被配置为执行基于同步消息队列获取上述虚拟资源转移请求;

记录生成模块,被配置为执行基于上述同步消息队列根据上述虚拟资源转移请求中的目标虚拟资源,生成上述第一待转移资源记录;

记录发送模块,被配置为执行基于上述同步消息队列向预设数据库发送上述第一待转移资源记录;

在一些实施例中,上述记录获取模块包括:

请求发送单元,被配置为执行基于上述热点消息队列,向上述预设数据库发送资源转移记录获取请求;上述资源转移记录获取请求携带上述目标账户标识;

记录查找单元,被配置为执行基于上述目标账户标识,在上述预设数据库中查找上述目标账户标识对应的第一待转移资源记录以及第二待转移资源记录。

在一些实施例中,上述记录查找单元包括:

查找子单元,被配置为执行基于上述目标账户标识,在上述预设数据库中查找上述目标账户标识对应的历史资源转移记录;上述历史资源转移记录包括已处理资源记录和未处理资源记录;

筛选子单元,被配置为执行从上述历史资源转移记录中筛选出上述未处理资源记录;上述未处理资源记录包括上述第一待转移资源记录以及上述第二待转移资源记录。

在一些实施例中,上述资源更新模块包括:

状态更新单元,被配置为执行基于上述热点消息队列,将上述第一待转移资源记录以及上述第二待转移资源记录更新为已处理状态;

综合虚拟资源确定单元,被配置为执行基于上述第一待转移资源记录以及上述第二待转移资源记录各自对应的虚拟资源,确定综合虚拟资源;

初始虚拟资源获取单元,被配置为执行获取上述目标账户标识对应的初始虚拟资源;

更新虚拟资源确定单元,被配置为执行基于上述初始虚拟资源以及上述综合虚拟资源,得到上述目标账户标识对应的更新虚拟资源。

在一些实施例中,上述装置还包括:

预设时段确定模块,被配置为执行在上述目标账户标识为非热点账户标识时,基于上述热点消息队列,确定上述热点账户标识对应的预设时段;

热点账户标记模块,被配置为执行基于上述热点消息队列,在上述预设时段将上述目标账户标识标记为热点账户标识。

在一些实施例中,上述装置还包括:

间隔时段确定模块,被配置为执行确定上述热点消息队列处理请求的间隔时段;

预设时段确定模块,被配置为执行基于上述间隔时段,确定上述预设时段。

在一些实施例中,上述装置还包括:

未处理请求获取模块,被配置为执行基于上述同步消息队列,获取未处理的虚拟资源转移请求;

请求处理模块,被配置为执行基于亲缘性线程池队列,处理上述未处理的虚拟资源转移请求;

未处理资源更新模块,被配置为执行基于上述未处理的虚拟资源转移请求对应的未处理资源,更新上述目标账户标识对应的虚拟资源。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在一个示例性的实施方式中,还提供了一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现上述任一实施方式中提供的虚拟资源更新方法。

该电子设备可以是终端、服务器或者类似的运算装置,以该电子设备是服务器为例,图10是根据一示例性实施例示出的一种电子设备的框图,如图10所示,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(CentralProcessing Units,CPU)1010(处理器1010可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1030,一个或一个以上存储应用程序1023或数据1022的存储介质1020(例如一个或一个以上海量存储设备)。其中,存储器1030和存储介质1020可以是短暂存储或持久存储。存储在存储介质1020的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1010可以设置为与存储介质1020通信,在服务器1000上执行存储介质1020中的一系列指令操作。服务器1000还可以包括一个或一个以上电源1060,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1040,和/或,一个或一个以上操作系统1021,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

输入输出接口1040可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器1000的通信供应商提供的无线网络。在一个实例中,输入输出接口1040包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口1040可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。

本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器1000还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。

在一个示例性的实施方式中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1030,上述指令可由装置1000的处理器1010执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在一个示例性的实施方式中,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中提供的虚拟资源更新方法。

本公开在异步消息队列中的虚拟资源转移请求符合预设条件时,向热点消息队列发送虚拟资源转移请求;虚拟资源转移请求携带待转移账户的目标账户标识以及目标虚拟资源;本公开采用异步消息队列处理账户的虚拟资源转移请求,克服了相关技术中的因同步接口限流导致依赖业务重试的问题;基于热点消息队列,获取目标账户标识对应的第一待转移资源记录以及第二待转移资源记录;第一待转移资源记录基于目标虚拟资源生成;第二待转移资源记录为历史时段内未处理的资源记录;基于热点消息队列,根据第一待转移资源记录以及第二待转移资源记录,更新目标账户标识对应的虚拟资源。本公开中在虚拟资源转移请求符合预设条件时,通过热点消息队列处理获取目标账户标识对应的待转移资源记录,并对资源记录进行批量处理,实现对历史时段内针对同一目标账户的虚拟资源请求的一次性更新处理,实现了对热点账户的虚拟资源的快速、高效更新,降低了热点账户的虚拟资源的更新延迟;同时本公开避免采用异步消息队列处理热点账户的资源转移请求,也降低了非热点账户的虚拟资源的更新延迟。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 虚拟资源数据处理方法、装置、计算机设备及存储介质
  • 一种存储器数据更新方法、装置、设备及存储介质
  • 虚拟乐器处理方法、装置、虚拟乐器设备及存储介质
  • 虚拟货币信息的更新方法、存储介质、电子设备及系统
  • 一种CPLD版本更新方法、装置、设备及存储介质
  • 一种虚拟机资源配置的更新方法、装置、设备及存储介质
  • 虚拟资源的榜单更新方法、装置、电子设备及存储介质
技术分类

06120115969769