CN116137002A - 虚拟奖励发放方法及相关设备 - Google Patents
虚拟奖励发放方法及相关设备 Download PDFInfo
- Publication number
- CN116137002A CN116137002A CN202310382614.XA CN202310382614A CN116137002A CN 116137002 A CN116137002 A CN 116137002A CN 202310382614 A CN202310382614 A CN 202310382614A CN 116137002 A CN116137002 A CN 116137002A
- Authority
- CN
- China
- Prior art keywords
- prize
- virtual
- request
- giving
- interface
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000002716 delivery method Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 3
- 239000010931 gold Substances 0.000 description 3
- 229910052737 gold Inorganic materials 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种虚拟奖励发放方法及相关设备。所述方法包括:接收发奖请求;对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;调用所述发奖接口,将所述虚拟奖励发放给对应的用户。本申请的方案,基于对发奖请求进行处理,调用对应的发奖接口完成虚拟奖励的发放,支持发奖接口幂等,从而实现发奖接口的复用,简化了虚拟奖励发放流程,降低了发奖成本,提升了发奖效率与稳定性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种虚拟奖励发放方法及相关设备。
背景技术
目前,很多应用程序设置有虚拟奖励发放功能,例如,对于一些社交类的应用程序,达到一定登录天数或者动态发布等就会有对应的虚拟奖励发放;以及一些游戏类的应用程序,达到一定等级就会有对应的虚拟奖励发放。但对于相关技术中虚拟奖励的发放,发奖接口不具备幂等性,导致无法实现对发放失败的礼物的自动补发,从而影响效率和成本。
发明内容
有鉴于此,本申请的目的在于提出一种虚拟奖励发放方法及相关设备,以解决或部分解决上述问题。
本申请第一方面,提供了一种虚拟奖励发放方法,包括:
接收发奖请求;
对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;
对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;
调用所述发奖接口,将所述虚拟奖励发放给对应的用户。
可选的,在所述接收发奖请求之前,所述方法还包括:
通过预先设计的注册接口对每种虚拟奖励分别进行注册以建立对应的发奖接口;
所述方法还包括:
响应于确定所述虚拟奖励名称大于一个,分别确定每个所述虚拟奖励名称对应的所述发奖接口;
根据所述虚拟奖励名称,确定发奖顺序;
按照所述发奖顺序调用所述发奖接口,并依次将所述虚拟奖励发放给对应的用户。
可选的,所述发奖请求是客户端发送的;
所述方法还包括:
响应于确定所述请求参数合法,生成请求记录,并向所述客户端发送第一信号;其中,所述第一信号表征请求成功;
响应于确定所述请求参数不合法,向所述客户端发送第二信号,并接收所述客户端发送的二次发奖请求;其中,所述第二信号表征请求失败;所述二次发奖请求是所述客户端根据所述发奖请求和所述第二信号生成的。
可选的,所述将所述虚拟奖励发放给对应的用户,包括:
根据对所述发奖请求解析得到的获奖用户账号向获奖用户发送第三信号;
响应于确定大于预先设定的时长限制,将所述虚拟奖励发放给所述获奖用户。
可选的,所述将所述虚拟奖励发放给对应的用户,还包括:
响应于确定小于或等于所述时长限制,接收所述获奖用户发送的转赠请求;其中,所述转赠请求是所述获奖用户根据所述第三信号生成的;
对所述转赠请求进行解析,得到转赠用户账号;
将所述虚拟奖励发放给转赠用户。
可选的,所述生成请求记录,包括:
将所述请求参数、虚拟奖励名称和获奖用户账号保存至Kafka队列;
调取所述请求参数、虚拟奖励名称和获奖用户账号,生成请求记录,并存储于数据库。
可选的,所述方法还包括:
接收用户发送的第四信号;
根据所述第四信号对所述请求记录进行状态标记;
其中,所述第四信号表征虚拟奖励发放成功或虚拟奖励发放失败;所述状态包括完成状态和未完成状态。
本申请第二方面,提供了一种虚拟奖励发放装置,包括:
接收模块,被配置为:接收发奖请求;
解析模块,被配置为:对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;
获取模块,被配置为:对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;
发放模块,被配置为:调用所述发奖接口,将所述虚拟奖励发放给对应的用户。
本申请第三方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
本申请第四方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如第一方面所述的方法。
从上面所述可以看出,本申请提供的虚拟奖励发放方法及相关设备,基于对发奖请求进行处理,调用对应的发奖接口完成虚拟奖励的发放,支持发奖接口幂等,从而实现发奖接口的复用,简化了虚拟奖励发放流程,降低了发奖成本,提升了发奖效率与稳定性。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的示例性虚拟奖励发放方法的流程示意图;
图2为本申请实施例的所设计的通用接口的示意图;
图3为本申请实施例的虚拟奖励发放方法的流程示意图;
图4为本申请实施例的示例性的虚拟奖励名称大于一个时的虚拟奖励发放的示意图;
图5为本申请实施例的示例性的虚拟奖励暂存于获奖用户账户的示意图;
图6为本申请实施例的示例性游戏类的应用程序中虚拟奖励发放方法的流程示意图;
图7为本申请实施例的更为具体的游戏类的应用程序中虚拟奖励发放方法的示意图;
图8为本申请实施例的虚拟奖励发放装置的结构示意图;
图9为本申请实施例的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合附图对本申请的实施例进行详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
目前,很多应用程序设置有虚拟奖励发放功能,例如,对于一些社交类的应用程序,达到一定登录天数或者动态发布等就会有对应的虚拟奖励发放;以及一些游戏类的应用程序,达到一定等级就会有对应的虚拟奖励发放。但对于相关技术中虚拟奖励的发放,发奖接口不具备幂等性,导致无法实现对发放失败的礼物的自动补发,从而影响效率和成本。
图1示出了一种示例性虚拟奖励发放方法100的流程示意图。如图1所示,该方法100包括:
步骤S101、客户端调用发奖接口,服务端同步处理发奖请求;
步骤S102、服务端校验参数合法性,并执行发放逻辑,如果流程正常接收则返回成功,否则返回失败;
步骤S103、客户端根据服务端返回结果判断是否需要重试。
对于该虚拟奖励发放方法100,接口不支持幂等,服务端因异常情况导致部分虚拟奖励发放成功,客户端重试无法修正发放状态,需要人工介入补发;并且,客户端需要一直等待服务端完成虚拟奖励发放,如果服务端因不可抗力因素(例如,DB负载过高、网络卡顿、机器故障等)导致接口延时升高造成接口超时,客户端重试会进一步增加服务端压力,影响系统的稳定性。
鉴于此,本申请实施例提供了一种虚拟奖励发放方法及相关设备,基于对发奖请求进行处理,调用对应的发奖接口完成虚拟奖励的发放,支持发奖接口幂等,从而实现发奖接口的复用,简化了虚拟奖励发放流程,降低了发奖成本,提升了发奖效率与稳定性。
需要说明的是,本申请实施例中,通过服务端设备与客户端设备进行交互,共同完成对虚拟奖励的发放。因此,在描述本申请本实施例中的方法和步骤时,以服务端设备作为执行主体,同时涉及多台设备相互之间的相互配合。
需要说明的是,本申请实施例中,可以预先设计和建立一套通用接口(IRewardHandler),并基于这些接口实现本申请实施例的虚拟奖励发放方法,并且具有实施通用性。具体的,参考图2,为本申请实施例的所设计的通用接口,包括:Valid接口(参数校验接口)、Prepare接口(事务预写接口)、Reward接口(发奖接口)。
可选的,以游戏类的应用程序为例,发奖接口可以包括用于头像虚拟奖励的发奖接口(AvatarHandler)和用于其他类型虚拟奖励的发奖接口(XXHandler),以及用于VIP功能虚拟奖励的发奖接口(VIPHandler)。
具体实施时,对于每种虚拟奖励,利用预先设计的Register接口(注册接口)分别进行注册以建立对应的发奖接口,以使后续可以利用这些发奖接口发放对应的虚拟奖励。例如,通过Register接口注册得到AvatarHandler。这样,可以通过插件化的方式,构建并使用多种不同虚拟奖励的发奖接口,极大增强了虚拟奖励发放的扩展性与可维护性。
参考图3,为本申请实施例所提供的虚拟奖励发放方法300的流程示意图。如图3所示,该方法300可以包括以下步骤。
步骤S301、接收发奖请求。
本实施例中,发奖请求可以是客户端发送的,用于请求服务端进行虚拟奖励的发放。具体的,该发奖请求可以由客户端通过加密并写入然后发送的,以保证传输过程的保密性和安全性,从而保证发奖过程的安全性。这样,响应于确定接收到发奖请求,需要对其进行解密和解析以获取具体的请求内容。
步骤S302、对所述发奖请求进行解析,得到请求参数和虚拟奖励名称。
本实施例中,响应于确定接收到客户端发送的发奖请求,对该发奖请求进行解析,从而可以获取发奖请求对应的请求参数、虚拟奖励名称、获奖用户账号等。另外,为保证发奖过程的安全性,在对接收到的发奖请求进行解析之前,需要先进行解密。
步骤S303、对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口。
在一些实施例中,对解析得到的请求参数进行校验,判断请求参数是否合法。响应于确定请求参数合法,生成请求记录;响应于请求参数不合法,向客户端反馈并停止发奖进程。这样,可以校验发放参数是否正确,从而实现相应的条件判断。例如,是否达到虚拟奖励发放所需的一定的连续登录天数。
具体实施时,响应于确定所述请求参数合法,生成请求记录,并向所述客户端发送第一信号;其中,所述第一信号表征请求成功;响应于确定所述请求参数不合法,向所述客户端发送第二信号,并接收所述客户端发送的二次发奖请求;其中,所述第二信号表征请求失败;所述二次发奖请求是所述客户端根据所述发奖请求和所述第二信号生成的。
具体实施时,可以根据请求参数、虚拟奖励名称和获奖用户账号生成请求记录,并将该请求记录存储于数据库。例如,可以将生成的请求记录写入到MySQL。并且,对于每个请求记录,有一个唯一的SeqID。
在另一个实施例中,可以将所述请求参数、虚拟奖励名称和获奖用户账号保存至Kafka队列;然后调取所述请求参数、虚拟奖励名称和获奖用户账号,生成请求记录,并存储于数据库。这样,Kafka作为可靠的消息中间件,可以在系统吞吐量达到极限时,将多余请求记录先写入到kafka,等到系统压力下降之后再将这些请求记录导入至MySQL中以处理积压的请求,从而保证虚拟奖励发放发过程的可用性与可靠性。
也就是说,在对请求参数进行校验并判定请求参数合法之后,可以同时开启两个协程以生成请求记录并保存。可以理解,等待写入到MySQL之后,或,保存至Kafka队列之后,即,两个协程中的任意一个协程完成,则向客户端反馈请求成功。由此可见,本实施例可以实现高流量与高并发的异步发奖,从而确保不长时间卡住客户端,进而提高虚拟奖励发放的并发能力。
在一些可选的实施例中,可以预先设定并构建虚拟奖励系统。这样,根据解析得到的虚拟奖励名称,从该虚拟奖励系统中获取对应的虚拟奖励。
在一些可选的实施例中,通过预先设计的注册接口对每种虚拟奖励分别进行注册以建立对应的发奖接口,以使后续可以利用这些发奖接口发放对应的虚拟奖励。以游戏类的应用程序为例,发奖接口可以包括用于头像虚拟奖励的发奖接口(AvatarHandler)和用于其他类型虚拟奖励的发奖接口(XXHandler)。这样,根据解析得到的虚拟奖励名称,从预设的若干发奖接口中确定对应的发奖接口。
需要说明的是,当解析得到的虚拟奖励名称大于一个时,分别确定每个所述虚拟奖励名称对应的所述发奖接口。以游戏类的应用程序为例,例如VIP功能虚拟奖励可以包括头像、座驾、金币等多个虚拟奖励,只需要分别确定用于头像虚拟奖励的发奖接口、用于座驾虚拟奖励的发奖接口、用于金币虚拟奖励的发奖接口等发奖接口,而无需预先设定专属于VIP用户的发奖接口。
这样,在后续调用发奖接口来发奖时,若服务端异常导致部分虚拟奖励发放失败,可以仅对发放失败的虚拟奖励修正发放状态并实现自动化重新发放,而无需人工介入补发。
步骤S304、调用所述发奖接口,将所述虚拟奖励发放给对应的用户。
在一些实施例中,响应于确定解析得到的虚拟奖励名称大于一个,分别确定每个所述虚拟奖励名称对应的所述发奖接口;然后,根据所述虚拟奖励名称,确定发奖顺序;按照所述发奖顺序调用所述发奖接口,并依次将所述虚拟奖励发放给对应的用户。由此可见,本实施例支持接口复用,实现了发奖接口的幂等性,从而保证服务端可以对发放失败的虚拟奖励进行自动补发。
参考图4,为示例性的虚拟奖励名称大于一个时的虚拟奖励发放的示意图。如图4中的vipPackage所示,VIP虚拟奖励实际上包括多个子奖励(座驾、头像、金币、VIP天数),每个ID配置对应的虚拟奖励参数列表,然后调用对应的发奖接口进行顺序发放,直到所有虚拟奖励发放完成。这样,既可以保证接口幂等性,又利用多层嵌套降低了发奖过程的复杂度,提升了稳定性。
另外,对于相关技术的应用程序中虚拟奖励发放,只能将虚拟奖励发放至对应的获奖用户账户,且获奖用户无法将虚拟奖励转赠给其他用户,导致虚拟奖励只能被获奖用户自身使用而不能转赠给他人使用,这对于不需要虚拟奖励的用户产生困扰,甚至影响对于整个应用程序的使用体验。
本实施例中,虚拟奖励支持直接发放到获奖用户账户,也支持先暂存到获奖用户账户,并供获奖用户对虚拟奖励的去向进行选择以反馈给客户端。具体的,可以预先设定时长限制。在该时长限制内(例如,30天),虚拟奖励暂存于获奖用户账户但不可使用,但是获奖用户可以选择赠送给他人或者自己留用;而超过该时长限制后,若获奖用户未进行选择且反馈处理,虚拟奖励会自动下发到其账户。
以游戏类应用程序为例,参考图5,为示例性的虚拟奖励暂存于获奖用户账户的示意图。如图5所示,对于账户中的每种虚拟奖励(Profile meteor、Exclusive ProfileCard),在时长限制内(30Days),即,在截止时间前(Expiration date 2022-10-28 15:36:45),可以选择转赠(Regift)或接受(Accept the reward)。
在一些实施例中,根据对所述发奖请求解析得到的获奖用户账号向获奖用户发送第三信号;响应于确定大于预先设定的时长限制,将所述虚拟奖励发放给所述获奖用户。其中,所述第三信号表征虚拟奖励暂存于所述获奖用户账户。
在一些实施例中,响应于确定小于或等于所述时长限制,接收所述获奖用户发送的转赠请求;其中,所述转赠请求是所述获奖用户根据所述第三信号生成的;对所述转赠请求进行解析,得到转赠用户账号;将所述虚拟奖励发放给转赠用户。
另外,在一些可选的实施例中,接收用户发送的第四信号;根据所述第四信号对所述请求记录进行状态标记;其中,所述第四信号表征虚拟奖励发放成功或虚拟奖励发放失败;所述状态包括完成状态和未完成状态。
进一步的,对所述请求记录进行状态检测,响应于确定所述请求记录的状态为未完成状态,根据所述虚拟奖励名称从预先设定的虚拟奖励系统中获取对应的虚拟奖励,并将所述虚拟奖励发放给对应的用户。即,将未完成状态对应的请求进入重试流程以进行虚拟奖励的重新再次发放。可以理解,在虚拟奖励发放的整个过程中,可以对请求记录的状态进行实时检测,即,状态检测可以相当于虚拟奖励发放过程中的一项定时任务。
图6示出了示例性游戏类的应用程序中虚拟奖励发放方法的流程示意图。接下来以游戏类的应用程序为例,对前述任一实施例中相应的虚拟奖励发放方法进一步具体说明。
如图6所示,按照序号由小到大,0.1(用于头像虚拟奖励的发奖接口AvatarHandler)、0.2(用于VIP功能虚拟奖励的发奖接口VIPHandler)、0.3(用于其他类型虚拟奖励的发奖接口XXXHandler)等,分别表示对每种虚拟奖励进行注册以建立对应的发奖(RewardHandler)接口。
发奖服务端(RPC Server)接收到客户端发送的发奖请求Request之后,根据对该发奖请求解析得到的参数类型,从Dispatcher获取对应的RewardHandler,例如,GoodsType=kAvatar(kAvatar = key + Avatar),RewardHandler=AvatarHandler。
进一步的,利用Valid(参数校验接口)对解析得到的请求参数进行校验,如果请求参数不合法则直接返回客户端,如果请求参数合法则会同时触发6.1、6.2和6.3三个步骤。
具体的,步骤6.1表示将通过合法性校验的请求对应的数据写入到Kafka队列,如果写入成功则立即向客户端返回成功,则客户端请求完成;步骤6.2表示利用Prepare接口(事务预写接口),将请求对应的数据写入到MySQL,如果写入成功则立即向客户端返回成功,则客户端请求完成。也就是说,步骤6.1和步骤6.2中任意一个步骤写入成功,则客户端请求成功,否则请求失败,客户端需要重试。
步骤6.3表示从Kafka队列拉取步骤6.1写入的请求数据,并在MySQL表中检查Seq是否已存在,如果不存在则将该请求数据写入到MySQL表。
需要说明的是,在服务端启动时即可启动步骤7所示的状态检测的定时任务,例如,每分钟进行一次状态检测。具体的,可以通过扫描MySQL事务表,将未完成的事务进入重试流程,将超时事务标记为超时状态,将发放状态的事务进入虚拟奖励发放流程。
具体实施时,发放状态的事务可以从Dispatcher获取对应的RewardHandler,然后调用Reward接口(发奖接口)执行发奖逻辑,如果发放成功则标记事务为完成状态,整个发奖流程完毕,否则等待定时任务拉起重试。
另外,虚拟奖励支持直接发放到获奖用户账户,也支持先暂存到获奖用户账户,以使获奖用户可以选择赠送给他人或者自己留用,进一步标记为转赠状态。
如图7所示,recv_uid表示获奖用户,final_recv_uid表示最终获得虚拟奖励的用户。如果用户自己接受虚拟奖励,则recv_uid与final_recv_uid一致;如果用户将虚拟奖励进行转赠,则final_recv_uid为转赠用户。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种虚拟奖励发放装置800。
参考图8,所述虚拟奖励发放装置800,包括:
接收模块801,被配置为:接收发奖请求;
解析模块802,被配置为:对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;
获取模块803,被配置为:对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;
发放模块804,被配置为:调用所述发奖接口,将所述虚拟奖励发放给对应的用户。
在一些可选的实施例中,发放模块804,具体被配置为:根据对所述发奖请求解析得到的获奖用户账号向获奖用户发送第三信号;响应于确定大于预先设定的时长限制,将所述虚拟奖励发放给所述获奖用户;
响应于确定小于或等于所述时长限制,接收所述获奖用户发送的转赠请求;其中,所述转赠请求是所述获奖用户根据所述第三信号生成的;对所述转赠请求进行解析,得到转赠用户账号;将所述虚拟奖励发放给转赠用户。
在一些可选的实施例中,该虚拟奖励发放装置800可以进一步包括建立模块、确定模块、生成模块和标记模块(图8中未示出)。
具体的,建立模块,被配置为:通过预先设计的注册接口对每种虚拟奖励分别进行注册以建立对应的发奖接口。
确定模块,被配置为:响应于确定所述虚拟奖励名称大于一个,分别确定每个所述虚拟奖励名称对应的所述发奖接口;根据所述虚拟奖励名称,确定发奖顺序;按照所述发奖顺序调用所述发奖接口,并依次将所述虚拟奖励发放给对应的用户。
生成模块,被配置为:响应于确定所述请求参数合法,生成请求记录,并向所述客户端发送第一信号;其中,所述第一信号表征请求成功;响应于确定所述请求参数不合法,向所述客户端发送第二信号,并接收所述客户端发送的二次发奖请求;其中,所述第二信号表征请求失败;所述二次发奖请求是所述客户端根据所述发奖请求和所述第二信号生成的。
标记模块,被配置为:接收用户发送的第四信号;根据所述第四信号对所述请求记录进行状态标记;其中,所述第四信号表征虚拟奖励发放成功或虚拟奖励发放失败;所述状态包括完成状态和未完成状态。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的虚拟奖励发放方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任一实施例所述的虚拟奖励发放方法。
图9示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的虚拟奖励发放方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上任一实施例所述的虚拟奖励发放方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的虚拟奖励发放方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种虚拟奖励发放方法,其特征在于,包括:
接收发奖请求;
对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;
对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;
调用所述发奖接口,将所述虚拟奖励发放给对应的用户;
所述方法还包括:
响应于确定所述虚拟奖励名称大于一个,分别确定每个所述虚拟奖励名称对应的所述发奖接口;
根据所述虚拟奖励名称,确定发奖顺序;
按照所述发奖顺序调用所述发奖接口,并依次将所述虚拟奖励发放给对应的用户。
2.根据权利要求1所述的方法,其特征在于,在所述接收发奖请求之前,所述方法还包括:
通过预先设计的注册接口对每种虚拟奖励分别进行注册以建立对应的发奖接口。
3.根据权利要求1所述的方法,其特征在于,所述发奖请求是客户端发送的;
所述方法还包括:
响应于确定所述请求参数合法,生成请求记录,并向所述客户端发送第一信号;其中,所述第一信号表征请求成功;
响应于确定所述请求参数不合法,向所述客户端发送第二信号,并接收所述客户端发送的二次发奖请求;其中,所述第二信号表征请求失败;所述二次发奖请求是所述客户端根据所述发奖请求和所述第二信号生成的。
4.根据权利要求3所述的方法,其特征在于,所述将所述虚拟奖励发放给对应的用户,包括:
根据对所述发奖请求解析得到的获奖用户账号向获奖用户发送第三信号;
响应于确定大于预先设定的时长限制,将所述虚拟奖励发放给所述获奖用户。
5.根据权利要求4所述的方法,其特征在于,所述将所述虚拟奖励发放给对应的用户,还包括:
响应于确定小于或等于所述时长限制,接收所述获奖用户发送的转赠请求;其中,所述转赠请求是所述获奖用户根据所述第三信号生成的;
对所述转赠请求进行解析,得到转赠用户账号;
将所述虚拟奖励发放给转赠用户。
6.根据权利要求4所述的方法,其特征在于,所述生成请求记录,包括:
将所述请求参数、虚拟奖励名称和获奖用户账号保存至Kafka队列;
调取所述请求参数、虚拟奖励名称和获奖用户账号,生成请求记录,并存储于数据库。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收用户发送的第四信号;
根据所述第四信号对所述请求记录进行状态标记;
其中,所述第四信号表征虚拟奖励发放成功或虚拟奖励发放失败;所述状态包括完成状态和未完成状态。
8.一种虚拟奖励发放装置,其特征在于,包括:
接收模块,被配置为:接收发奖请求;
解析模块,被配置为:对所述发奖请求进行解析,得到请求参数和虚拟奖励名称;
获取模块,被配置为:对所述请求参数进行校验,响应于确定所述请求参数合法,根据所述虚拟奖励名称获取对应的虚拟奖励,以及确定对应的发奖接口;
发放模块,被配置为:调用所述发奖接口,将所述虚拟奖励发放给对应的用户;
所述装置还包括确定模块,所述确定模块,被配置为:响应于确定所述虚拟奖励名称大于一个,分别确定每个所述虚拟奖励名称对应的所述发奖接口;根据所述虚拟奖励名称,确定发奖顺序;按照所述发奖顺序调用所述发奖接口,并依次将所述虚拟奖励发放给对应的用户。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382614.XA CN116137002A (zh) | 2023-04-12 | 2023-04-12 | 虚拟奖励发放方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310382614.XA CN116137002A (zh) | 2023-04-12 | 2023-04-12 | 虚拟奖励发放方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116137002A true CN116137002A (zh) | 2023-05-19 |
Family
ID=86326952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310382614.XA Pending CN116137002A (zh) | 2023-04-12 | 2023-04-12 | 虚拟奖励发放方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116137002A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140370968A1 (en) * | 2013-06-18 | 2014-12-18 | Kabam, Inc. | Dynamically providing rewards to users in a game space |
CN109285025A (zh) * | 2018-08-07 | 2019-01-29 | 无锡天脉聚源传媒科技有限公司 | 一种任务防刷方法、系统及装置 |
CN111353811A (zh) * | 2020-02-17 | 2020-06-30 | 苏宁云计算有限公司 | 一种资源统一发放方法及系统 |
CN114493672A (zh) * | 2021-12-30 | 2022-05-13 | 广州趣丸网络科技有限公司 | 虚拟物品的发放方法及系统 |
CN115829645A (zh) * | 2022-12-12 | 2023-03-21 | 上海通联金融服务有限公司 | 一种基于信用卡实现营销奖励补发方法 |
-
2023
- 2023-04-12 CN CN202310382614.XA patent/CN116137002A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140370968A1 (en) * | 2013-06-18 | 2014-12-18 | Kabam, Inc. | Dynamically providing rewards to users in a game space |
CN109285025A (zh) * | 2018-08-07 | 2019-01-29 | 无锡天脉聚源传媒科技有限公司 | 一种任务防刷方法、系统及装置 |
CN111353811A (zh) * | 2020-02-17 | 2020-06-30 | 苏宁云计算有限公司 | 一种资源统一发放方法及系统 |
CN114493672A (zh) * | 2021-12-30 | 2022-05-13 | 广州趣丸网络科技有限公司 | 虚拟物品的发放方法及系统 |
CN115829645A (zh) * | 2022-12-12 | 2023-03-21 | 上海通联金融服务有限公司 | 一种基于信用卡实现营销奖励补发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876380B (zh) | 一种基于中心化结算与区块链存证的交易方法及系统 | |
CN109377216B (zh) | 一种基于中心化结算与区块链存证的交易方法及系统 | |
JP6697005B2 (ja) | 支払方法、装置及びシステム | |
US20220366728A1 (en) | Accounting apparatus, accounting method, and non-transitory storage medium | |
US10789578B2 (en) | Network system, and server apparatus, server apparatus control method, and computer readable storage medium for use in same | |
US20140136354A1 (en) | Mobile payment transaction processing via unattended terminal | |
CN118798876A (zh) | 一种基于近场通信的支付方法、装置、设备及介质 | |
TW201640424A (zh) | 利用客戶帳號直接匯款的交易方法及其系統,及非暫時電腦可讀記錄媒體 | |
US9852119B2 (en) | Device for securing contents of a web page | |
EP4356265A1 (en) | Modifying a document object of a graphical user interface to present a temporary credential | |
CN113435880B (zh) | 一种基于聚合码的支付页面发送方法、装置、设备及介质 | |
CN114219645A (zh) | 会计日期切换方法、装置、设备、可读存储介质及产品 | |
CN107038025A (zh) | 基于soa架构的系统调用方法及装置 | |
CN106910055A (zh) | 一种基于移动终端的支付数据处理方法和装置 | |
JP2010272048A (ja) | 電子決済システム | |
CN116137002A (zh) | 虚拟奖励发放方法及相关设备 | |
US20050131822A1 (en) | Self-service terminal | |
CN110175915B (zh) | 一种基于区块链的业务执行结果获取方法及系统 | |
CN110517026A (zh) | 防止重复兑付的方法、装置、兑付系统及可读存储介质 | |
US20230385806A1 (en) | Methods and systems for temporary voucher sharing | |
US20200302408A1 (en) | Recording Medium, Electronic Document Computer, Electronic Document System, Electronic Document Processing Method And Program | |
CN111985919B (zh) | 支付数据处理方法、装置及电子设备 | |
CN113988844A (zh) | 业务签约方法、装置和系统 | |
CN114358758A (zh) | 一种数字货币硬件钱包的充值方法及相关设备 | |
CN112288487A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230519 |
|
RJ01 | Rejection of invention patent application after publication |