CN108874923B - 虚拟物品分发方法、服务器及计算机可读存储介质 - Google Patents
虚拟物品分发方法、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108874923B CN108874923B CN201810546975.2A CN201810546975A CN108874923B CN 108874923 B CN108874923 B CN 108874923B CN 201810546975 A CN201810546975 A CN 201810546975A CN 108874923 B CN108874923 B CN 108874923B
- Authority
- CN
- China
- Prior art keywords
- virtual
- articles
- virtual articles
- user
- queue
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000012795 verification Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 10
- 230000005284 excitation Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
Images
Classifications
-
- 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
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种虚拟物品分发方法、服务器及存储介质。该方法包括以下步骤:设置虚拟物品的计算参数和替换规则;根据用户对每种虚拟物品的获取概率随机生成预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将所述虚拟物品依序分发给用户。本发明利用统一的虚拟物品分发程序同时为多个业务系统提供虚拟物品分发服务,可以实现对多个业务系统虚拟物品的统一配置和分发。
Description
技术领域
本发明涉及互联网信息技术领域,尤其涉及一种虚拟物品分发方法、服务器及计算机可读存储介质。
背景技术
随着信息技术的飞速发展,在互联网的许多应用场景中,需要采取用户行为激励措施,以虚拟物品对满足特定要求的用户进行激励,提高用户活跃度和用户粘性。目前,通常是一个业务系统包含一个虚拟物品管理系统,每个业务系统都有自己的虚拟物品数据处理程序和存放虚拟物品数据的数据库,由各业务系统单独对虚拟物品进行管理。
然而,同一公司或相互关联的业务系统通常需要对虚拟物品进行统一配置和分发,例如,规范虚拟物品的种类、限制每种虚拟物品的总数量等。问题在于,不同业务系统中虚拟物品数据的存放格式可能不同,尤其是由不同开发团队开发的业务系统,虚拟物品数据的处理程序和存放格式的差异往往很大,难以实现对虚拟物品数据的统一维护。因此,急需一种虚拟物品分发方法,用来实现对多个业务系统虚拟物品的统一配置和分发。
发明内容
本发明提供一种虚拟物品分发方法、服务器及计算机可读存储介质,其主要目的在于实现对多业务系统虚拟物品的统一配置和分发。
为实现上述目的,本发明提供一种虚拟物品分发方法,应用于服务器,该方法包括:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将虚拟物品依序分发给用户。
优选地,所述替换规则为:
当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
优选地,该方法还包括:
利用Redis队列对所述队列中虚拟物品的数量进行实时统计与分析;
当所述队列中的虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,按照所述用户对每种虚拟物品的获取概率随机生成第一预设数量的虚拟物品。
优选地,所述预生成步骤包括:
在预设时间段内周期性按照所述用户对每种虚拟物品的获取概率随机生成虚拟物品,生成数量为所述虚拟物品的预生成数量与所述队列中虚拟物品的数量的差值。
优选地,所述分发步骤包括:
接收用户在某业务系统发出的虚拟物品分发接口调用请求;
验证该业务系统的身份以及是否具有虚拟物品分发接口权限;
若验证通过,则从所述缓存空间的队列中依序读取数据,将对应的虚拟物品分发给用户,若验证失败,则拒绝用户请求。
本发明还提供一种服务器,该服务器包括存储器和处理器,所述存储器中包括虚拟物品分发程序,该虚拟物品分发程序被所述处理器执行时实现如下步骤:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将虚拟物品依序分发给用户。
优选地,所述替换规则为:
当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
优选地,所述虚拟物品分发程序被所述处理器执行时还实现如下步骤:
利用Redis队列对所述队列中虚拟物品的数量进行实时统计与分析;
当所述队列中的虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,按照所述用户对每种虚拟物品的获取概率随机生成第一预设数量的虚拟物品。
优选地,所述预生成步骤包括:
在预设时间段内周期性按照所述用户对每种虚拟物品的获取概率随机生成虚拟物品,生成数量为所述虚拟物品的预生成数量与所述队列中虚拟物品的数量的差值。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括虚拟物品分发程序,该虚拟物品分发程序被处理器执行时实现如上所述的虚拟物品分发方法中的任意步骤。
本发明提供的虚拟物品分发方法、服务器及计算机可读存储介质,通过设置虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量、触发预生成虚拟物品的数量阈值等计算参数以及虚拟物品替换替换规则,然后根据上述设置生成虚拟物品,将其组成队列存储至缓存空间中,当满足特定要求的用户在对应业务系统上发起虚拟物品激励请求时,将所述队列中的虚拟物品依序分发给各业务系统上的用户。因为每种虚拟物品的总数量和用户对每种虚拟物品的获取概率等都是统一设置的,所以利用本发明,可以实现对多业务系统虚拟物品的统一配置。因为待分发的虚拟物品是预先产生并存储在缓存空间中的,所以利用本发明,还可以保证服务器在高并发应用场景下的稳定运行,满足多业务系统的实际需求。
附图说明
图1为本发明服务器较佳实施例的应用环境示意图;
图2为图1中虚拟物品分发程序较佳实施例的程序模块图;
图3为本发明虚拟物品分发方法第一较佳实施例的流程示意图;
图4为本发明虚拟物品分发方法第二较佳实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,下面将结合若干附图及实施例,对本发明进行进一步的详细说明。应当理解的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种服务器。参照图1所示,为本发明服务器1较佳实施例的应用环境示意图。在该实施例中,服务器1是虚拟物品分发方法的执行主体,该服务器1分别与第一业务系统3和第二业务系统5通过网络2和网络4连接,满足特定要求的用户在对应业务系统上发起虚拟物品激励请求,服务器1利用本发明提供的虚拟物品分发程序10将预先产生的虚拟物品依序分发给所述用户。
该服务器1可以由一台或多台计算机组成,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等的一种或几种。
该服务器1包括存储器11、处理器12、网络接口13及通信总线14。
其中,存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述服务器1的内部存储单元,例如该服务器1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述服务器1的外部存储器11,例如所述服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储操作系统、虚拟物品分发程序10以及预生成的虚拟物品等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行虚拟物品分发程序10等。
网络接口13可以包括标准的有线接口、无线接口(如WI-FI接口)。通常用于在该服务器1与其他电子设备或系统之间建立通信连接。
通信总线14用于实现上述组件之间的连接通信。
图1仅示出了具有组件11-14和虚拟物品分发程序10的服务器1以及第一业务系统3和第二业务系统5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。例如,服务器1可以为更多或更少的业务系统提供虚拟物品分发服务。
可选地,该服务器1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(Microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等。可选地,用户接口还可以包括标准的有线接口、无线接口。
可选地,该服务器1还可以包括显示器,也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(OrganicLight-Emitting Diode,OLED)显示器等。显示器用于显示在服务器1中处理的信息以及用于显示可视化的用户界面。
可选地,该服务器1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。用户可以通过触摸所述触控区域启动虚拟物品分发程序10。
此外,该服务器1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
该服务器1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的虚拟物品分发程序10时实现如下步骤:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出该种虚拟物品设置的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的所述队列中读取数据,将所述虚拟物品依序分发给用户。
关于上述步骤的详细介绍,请参照下述图2关于虚拟物品分发程序10较佳实施例的程序模块图以及图3、图4关于虚拟物品分发方法较佳实施例的流程示意图的说明。
在其他实施例中,虚拟物品分发程序10可以被分割为多个模块,该多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
参照图2所示,为图1中虚拟物品分发程序10较佳实施例的程序模块图。在本实施例中,所述虚拟物品分发程序10可以被分割为:设置模块110、预生成模块120、替换模块130、缓存模块140和分发模块150。
设置模块110,用于设置虚拟物品的计算参数和替换规则。所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值。
例如,假设共有A、B、C、D四种虚拟物品,用户对每种虚拟物品的获取概率可分别设置为0.1%、1%、8.9、和90%,每种虚拟物品的总数量可分别设为1、10、89和900,虚拟物品的预生成数量为300,触发预生成虚拟物品的数量阈值为30。通过对虚拟物品的计算参数进行统一设置,可以规范虚拟物品的种类,限制每种虚拟物品的总数量以及所有虚拟物品的总数量,为合理有序地分发虚拟物品提供统一的数据保障。
预生成模块120,按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品。因为预生成的虚拟物品随时可能被消耗,所以预生成模块120在服务器压力低于预设值或在预设时间段(例如每天凌晨的3:00到5:00)会周期性执行虚拟物品的预生成功能,减少服务器因压力过大导致性能下降的可能性,每次生成虚拟物品的数量为所述虚拟物品的预生成数量与队列中虚拟物品的数量的差值。另外,当预生成虚拟物品的剩余数量小于所述触发预生成虚拟物品的数量阈值时,预生成模块120也会自动执行虚拟物品的预生成操作。Redis队列可对所述队列中消息进行实时统计与分析,本发明可借此对所述预生成虚拟物品的剩余数量进行实时统计与分析,该功能可由缓存模块140实现。
依上述例子,300个随机生成的虚拟物品依序排列可能出现如下情况:D、D、C、D、A……D、C、B、D、……A。虚拟物品是按照所述用户对每种虚拟物品的获取概率随机生成的,因此可能出现上述情况,即:虚拟物品A的生成数量已达到设置数量,而又生成该种虚拟物品。可以理解的是,此处仅以虚拟物品A举例说明,实际的虚拟物品生成过程中,任意种类的虚拟物品都有可能先达到设置数量,此时需要替换模块130对超出设置数量的虚拟物品进行替换。
替换模块130,当某种虚拟物品的生成数量已超出该种虚拟物品设置的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品。
依上述例子,因为虚拟物品A的数量设置值为1,所以,当预生成模块120随机生成第二个虚拟物品A时,替换模块130将按照所述替换规则,将虚拟物品A替换为与虚拟物品A的获取概率最接近且生成数量未达到设置数量的虚拟物品。在本实施例中,若虚拟物品B的生成数量未达到10个,则虚拟物品A被替换为虚拟物品B;若虚拟物品B的生成数量已达到10个,虚拟物品C的生成数量未达到89个,则虚拟物品A被替换为虚拟物品B,以此类推,直至每种虚拟物品的生成数量都达到设置的该种虚拟物品的总数量,在此不再赘述。
缓存模块140,用于将生成的所有种类的虚拟物品组成的队列存储至缓存空间中。在本实施例中,缓存空间利用Redis数据库,存储由生成的虚拟物品按照生成时间的先后顺序组成的队列,并对队列中的消息进行实时的统计与分析,以此实现对队列中虚拟物品数量的监控,当队列中虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,通知所述预生成模块120,触发所述虚拟物品的预生成过程。
分发模块150,用于从所述缓存空间的所述队列中读取数据,将虚拟物品依序分发给满足特定要求的用户。在本实施例中,分发模块150采用原子操作,避免当服务器处理高并发请求时出现“超卖”现象。例如,分发模块150配合缓存模块140中Redis的eval函数,使虚拟物品分发步骤要么完整地被执行,要么完全不执行,即,当某个虚拟物品未被成功发送至用户时,抛出异常给对应的业务系统,由业务系统再次发送虚拟物品激励请求,分发模块150响应请求,将该虚拟物品发送至该用户。
此外,本发明还提供一种虚拟物品分发方法。参照图3所示,为本发明虚拟物品分发方法第一较佳实施例的流程示意图。服务器1的处理器12执行存储器11中存储的虚拟物品分发程序10时实现虚拟物品分发方法的如下步骤:
步骤S300,虚拟物品管理人员通过设置模块110设置虚拟物品的计算参数和替换规则。所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值。
在本实施例中,所述替换规则为:当某种虚拟物品的生成数量已超出该种虚拟物品设置的总数量时,将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
步骤S301,预生成模块120按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出该种虚拟物品设置的总数量时,替换模块130按照所述替换规则将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
例如,假设A、B、C、D四种虚拟物品的设置数量为1、10、89、900,虚拟物品按照生成时间的先后顺序组成的队列可能是D、D、C、D、A……D、C、B、D、……A。因为设置的虚拟物品A的数量为1,当随机生成的虚拟物品的种类又为A时,优先将该虚拟物品A替换为虚拟物品B,若虚拟物品B地生成数量也已达到设置的数量,则替换为虚拟物品C,以此类推,直至每种虚拟物品的生成数量全部达到设置的数量,在此不再赘述。
需要说明的是,预生成模块120在服务器压力低于预设值或在服务器空闲时间段会周期性执行虚拟物品的预生成功能,相应的,会唤起替换模块130执行虚拟物品的替换操作。通过以上操作,本发明可大大减少服务器因压力过大导致性能下降的可能性。
步骤S302,缓存模块140将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中。在本实施例中,所述缓存空间作为所述存储器11的一部分,既可以是所述服务器1的内部存储单元,也可以是所述服务器1的外部存储器。该存储空间利用Redis队列对该队列中虚拟物品的数量进行实时统计与分析,当所述队列中虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,缓存模块140通知所述预生成模块120,触发所述虚拟物品的预生成过程。
结合上述关于步骤S301的相关介绍可知,预生成模块120和替换模块130会周期性自启动,使所述队列中的虚拟物品的数量达到预生成虚拟物品的数量,因此,当所述预生成虚拟物品的数量的设置值较合理,且各业务系统发起的虚拟物品激励请求总量未出现异常突增时,所述队列中虚拟物品的数量通常不会小于所述触发预生成虚拟物品的数量阈值。这样可以避免虚拟物品的预生成过程在服务器压力过大时进行,有助于保障服务器1对各业务系统的服务质量。
步骤S303,分发模块150从所述队列中读取数据,将所述虚拟物品依序分发给各业务系统上的用户。
在本实施例中,分发模块150采用原子操作,避免当服务器1处理高并发请求时出现“超卖”现象。例如,分发模块150配合缓存模块140中Redis的eval函数,使虚拟物品分发步骤要么完整地被执行,要么完全不执行,即,当某个虚拟物品未被成功发送至用户时,抛出异常给对应的业务系统,由业务系统再次发送虚拟物品激励请求,分发模块150响应请求,将该虚拟物品发送至该用户。
因为本发明服务器1需要为多个业务系统上的多个用户同时提供虚拟物品分发服务,所以上述虚拟物品的分发过程可以并行执行。
参照图4所示,为本发明虚拟物品分发方法第二较佳实施例的流程示意图。在本实施例中,所述虚拟物品分发方法的步骤S400-S402与上述第一较佳实施例的步骤S300-S302相类似,区别在于该实施例还包括步骤S403、S404和S405。
步骤S403,接收用户在业务系统发出的虚拟物品分发接口调用请求。例如,用户X在第一业务系统3上完成特定操作(如参与微博互动、参加计步活动等)后,向服务器1发出虚拟物品分发接口调用请求,即虚拟物品激励请求,服务器1接收该请求,并向用户X反馈收到请求的通知。
步骤S404,验证业务系统的身份及是否具有虚拟物品分发接口权限。服务器1可以向多个业务系统授予虚拟物品分发接口权限,向多个业务系统提供虚拟物品分发服务,对应的权限管理表存储在服务器1的存储器11中,可根据业务需要对其进行增删改查等操作。服务器1可通过计算、查询校验码的方式对业务系统的身份进行验证,通过查询授权管理表中的授权信息对接口权限进行验证。
步骤S405,若验证通过,则从所述缓存空间的队列中依序读取数据,将对应的虚拟物品分发给用户,若验证失败,则拒绝用户请求。依上述例子,若服务器1授予第一业务系统3虚拟物品分发接口权限,则验证通过,从所述缓存空间的队列中依序读取数据,将对应的虚拟物品分发给用户,若验证失败,则拒绝用户请求。
本实施例提出的虚拟物品分发方法,通过设置虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量、触发预生成虚拟物品的数量阈值等计算参数以及虚拟物品替换替换规则,然后根据上述设置生成虚拟物品,将其组成队列存储至缓存空间中,当满足特定要求的用户在对应业务系统上发起虚拟物品激励请求时,将所述队列中的虚拟物品依序分发给各业务系统上的用户。因为每种虚拟物品的总数量和用户对每种虚拟物品的获取概率等都是统一设置的,所以利用本发明,可以实现对多业务系统虚拟物品的统一配置。因为待分发的虚拟物品是预先产生并存储在缓存空间中的,所以利用本发明,还可以保证服务器在高并发应用场景下的稳定运行,满足多业务系统的实际需求。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中存储有虚拟物品分发程序10,该虚拟物品分发程序10被所述处理器12执行时实现如下操作:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将虚拟物品依序分发给用户。
本发明之计算机可读存储介质的具体实施方式与上述虚拟物品分发方法和服务器1的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质中,包括若干指令用以使得服务器执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种虚拟物品分发方法,应用于服务器,其特征在于,该方法包括:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将虚拟物品依序分发给用户;
其中,所述替换规则为:当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
2.如权利要求1所述的虚拟物品分发方法,其特征在于,该方法还包括:
利用Redis队列对所述队列中虚拟物品的数量进行实时统计与分析;
当所述队列中的虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,按照所述用户对每种虚拟物品的获取概率随机生成第一预设数量的虚拟物品。
3.如权利要求2所述的虚拟物品分发方法,其特征在于,所述预生成步骤包括:
在预设时间段内周期性按照所述用户对每种虚拟物品的获取概率随机生成虚拟物品,生成数量为所述虚拟物品的预生成数量与所述队列中虚拟物品的数量的差值。
4.如权利要求1所述的虚拟物品分发方法,其特征在于,所述分发步骤包括:
接收用户在某业务系统发出的虚拟物品分发接口调用请求;
验证该业务系统的身份以及是否具有虚拟物品分发接口权限;
若验证通过,则从所述缓存空间的队列中依序读取数据,将对应的虚拟物品分发给用户,若验证失败,则拒绝用户请求。
5.一种服务器,其特征在于,该服务器包括存储器和处理器,所述存储器中包括虚拟物品分发程序,该虚拟物品分发程序被所述处理器执行时实现如下步骤:
设置步骤:设置虚拟物品的计算参数和替换规则,所述计算参数包括虚拟物品的种类、每种虚拟物品的总数量、用户对每种虚拟物品的获取概率、虚拟物品的预生成数量以及触发预生成虚拟物品的数量阈值;
预生成步骤:按照所述用户对每种虚拟物品的获取概率随机生成所述预生成数量的虚拟物品,当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,按照所述替换规则将超出设置总数量的该种虚拟物品替换为另一种虚拟物品;
缓存步骤:将生成的所有种类的虚拟物品按照生成时间的先后顺序组成一个队列,将该队列存储至缓存空间中;及
分发步骤:应用户在各业务系统发起的请求,从所述缓存空间的队列中读取数据,将虚拟物品依序分发给用户;
其中,所述替换规则为:当某种虚拟物品的生成数量已超出设置的该种虚拟物品的总数量时,将超出设置总数量的该种虚拟物品替换为与该种虚拟物品的获取概率最接近且生成数量未达到设置总数量的虚拟物品。
6.如权利要求5所述的服务器,其特征在于,所述虚拟物品分发程序被所述处理器执行时还实现如下步骤:
利用Redis队列对所述队列中虚拟物品的数量进行实时统计与分析;
当所述队列中的虚拟物品的数量小于所述触发预生成虚拟物品的数量阈值时,按照所述用户对每种虚拟物品的获取概率随机生成第一预设数量的虚拟物品。
7.如权利要求6所述的服务器,其特征在于,所述预生成步骤包括:
在预设时间段内周期性按照所述用户对每种虚拟物品的获取概率随机生成虚拟物品,生成数量为所述虚拟物品的预生成数量与所述队列中虚拟物品的数量的差值。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括虚拟物品分发程序,该虚拟物品分发程序被处理器执行时实现如权利要求1至4中任意一项所述的虚拟物品分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810546975.2A CN108874923B (zh) | 2018-05-31 | 2018-05-31 | 虚拟物品分发方法、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810546975.2A CN108874923B (zh) | 2018-05-31 | 2018-05-31 | 虚拟物品分发方法、服务器及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874923A CN108874923A (zh) | 2018-11-23 |
CN108874923B true CN108874923B (zh) | 2023-07-04 |
Family
ID=64336078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810546975.2A Active CN108874923B (zh) | 2018-05-31 | 2018-05-31 | 虚拟物品分发方法、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874923B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434532B (zh) * | 2021-07-15 | 2022-10-04 | 网易(杭州)网络有限公司 | 虚拟物品的分发方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302488A (zh) * | 2016-04-14 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 虚拟物品的分配方法、系统及服务器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685154A (zh) * | 2012-09-04 | 2014-03-26 | 深圳市世纪光速信息技术有限公司 | 基于互联网络的概率产品数据处理方法及服务器 |
CN105100162B (zh) * | 2014-05-19 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 虚拟物品发送方法及装置、接收方法及装置、系统 |
CN106156228B (zh) * | 2015-04-24 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 资源发放系统、资源发放方法及资源领取方法 |
CN106709705A (zh) * | 2016-12-30 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 虚拟物品包发送方法、接收方法、装置及系统 |
CN106251179A (zh) * | 2016-08-10 | 2016-12-21 | 网易(杭州)网络有限公司 | 一种电子书阅读互动方法和装置 |
CN107808282A (zh) * | 2016-09-09 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 虚拟物品包发送方法及装置 |
-
2018
- 2018-05-31 CN CN201810546975.2A patent/CN108874923B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302488A (zh) * | 2016-04-14 | 2017-10-27 | 阿里巴巴集团控股有限公司 | 虚拟物品的分配方法、系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108874923A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170201430A1 (en) | Service level agreement based storage access | |
US11159649B2 (en) | Systems and methods of rate limiting for a representational state transfer (REST) application programming interface (API) | |
CN109802941A (zh) | 一种登录验证方法、装置、存储介质和服务器 | |
CN110222107B (zh) | 一种数据发送方法及相关设备 | |
CN111698126B (zh) | 信息监控方法、系统及计算机可读存储介质 | |
CN109669835B (zh) | MySQL数据库监控方法、装置、设备及可读存储介质 | |
US8161326B2 (en) | Method and system for managing information technology (IT) infrastructural elements | |
CN107451853B (zh) | 一种红包实时派发的方法、装置、系统及存储介质 | |
CN112035235A (zh) | 任务调度方法、系统、设备及存储介质 | |
CN106101220A (zh) | 信息同步方法及装置、信息同步处理系统 | |
CN112040429A (zh) | 一种基于分布式存储的短信管理系统及方法 | |
CN109542945B (zh) | 区块链数据统计分析方法、装置及存储介质 | |
CN106612330A (zh) | 支持分布式多文件导入的系统及方法 | |
CN110661717A (zh) | 一种限流方法、装置及电子设备 | |
CN110933152B (zh) | 一种预热方法、装置、系统及电子设备 | |
CN109670932B (zh) | 信贷数据核算方法、装置、系统和计算机存储介质 | |
CN108874923B (zh) | 虚拟物品分发方法、服务器及计算机可读存储介质 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN111600942B (zh) | 报表处理方法、装置及设备 | |
CN110471966B (zh) | 信息数据校验方法、装置、计算机设备及存储介质 | |
CN106603701A (zh) | 基于长连接平台下发消息的方法及装置 | |
CN108429780B (zh) | 关联系统间的数据调用系统及方法 | |
EP4092610A1 (en) | Information processing method, device, system, and computer-readable storage medium | |
CN114281569A (zh) | 一种消息推送方法、计算机设备和存储介质 | |
CN109977659B (zh) | weblogic自动创建本地用户的方法、系统、装置及存储介质 |
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 |