CN112529423A - 目标资源的获取方法及装置、存储介质、电子装置 - Google Patents
目标资源的获取方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN112529423A CN112529423A CN202011477393.7A CN202011477393A CN112529423A CN 112529423 A CN112529423 A CN 112529423A CN 202011477393 A CN202011477393 A CN 202011477393A CN 112529423 A CN112529423 A CN 112529423A
- Authority
- CN
- China
- Prior art keywords
- resource
- resources
- acquisition
- original resources
- original
- 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 47
- 238000012163 sequencing technique Methods 0.000 claims abstract description 34
- 238000012795 verification Methods 0.000 claims description 22
- 230000000694 effects Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 150000003839 salts Chemical class 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种目标资源的获取方法及装置、存储介质、电子装置。其中,上述方法包括:通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种目标资源的获取方法及装置、存储介质、电子装置。
背景技术
随着APP的发展,运营商经常会做一些小活动来提高用户的活跃度,用户参与活动后,需要根据活动规则导出数据,然后线下联系用户进行目标资源发放或者是通过运营后台进行产品发放,在活动中,目标资源多发超发,即确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本的问题。另外需要投入大量人员进行人工处理,这些都是一些很繁琐的工作,人为参与的越多,出错的概率越大。
针对相关技术中,确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种目标资源的获取方法及装置、存储介质、电子装置,以解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题。
根据本发明的一个实施例,提供了一种目标资源的获取方法,包括:通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
可选的,按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,至少包括以下之一:按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序;按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序。
可选的,在按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序的情况下,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源,包括:在按照所述从小到大的顺序对所述原始资源中的资源进行遍历时,对于当前遍历的资源,按照预设规则生成第一随机数,其中,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值;在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中,所述目标资源包括:所述当前遍历资源;在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
可选的,在所述随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,所述方法还包括:遍历所述当前遍历的资源的下一资源,并针对所述下一资源按照预设规则生成第二随机数,其中,所述预设规则包括:所述第二随机数小于所述至少两个获取概率中的最大值;在所述第二随机数小于所述下一资源所对应的获取概率,且所述下一资源的剩余数量大于0的情况下,确定所述目标对象获取到所述下一资源,其中,所述目标资源包括:所述下一资源;在所述第二随机数大于所述下一资源所对应的获取概率,和/或所述下一资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
可选的,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源之前,所述方法还包括:对资源协调模块获取到的获取请求进行验证,其中,在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
可选的,对资源协调模块获取到的获取请求进行验证,包括:通过native接口按照获取的签名方式对所述获取请求进行签名,得到第一签名结果;以及通过activity接口按照所述签名方式对所述获取请求进行签名,得到第二签名结果;比较所述第一签名结果和所述第二签名结果,在所述第一签名结果和所述第二签名结果一致的情况下,确定所述获取请求通过验证。
根据本发明的另一个实施例,还提供了一种目标资源的获取装置,包括:接收模块,用于通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;处理模块,用于在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;确定模块,用于遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
可选的,所述处理模块,还用于对资源协调模块获取到的获取请求进行验证;在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。也就是说,在获得获取请求后,资源协调模块获取原始资源,并按照原始资源的至少两个获取概率的大小对原始资源排序,根据排序顺序,遍历原始资源以确定是否获取到目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,从而节约了人力成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种目标资源的获取方法的客户端的硬件结构框图;
图2是根据本发明实施例的一种目标资源的获取方法的流程图;
图3是根据本发明实施例的一种目标资源的获取方法的安全机制时序图;
图4是根据本发明实施例的一种目标资源的获取方法的业务逻辑图;
图5是根据本发明另一个实施例的一种目标资源的获取装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例所提供的方法实施例可以在客户端,或者类似的装置中执行。以运行在客户端上为例,图1是本发明实施例的一种目标资源的获取方法的客户端的硬件结构框图。如图1所示,客户端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD))和用于存储数据的存储器104,在一个示例性实施例中,上述客户端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述客户端的结构造成限定。例如,客户端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储客户端程序,例如,应用软件的软件程序以及模块,如本发明实施例中的目标资源的获取方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至客户端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括客户端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种目标资源的获取方法,应用于上述客户端,图2是根据本发明实施例的一种目标资源的获取方法的流程图,该流程包括如下步骤:
步骤S202,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
步骤S204,在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
步骤S206,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
通过本发明,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。也就是说,在获得获取请求后,资源协调模块获取原始资源,并按照原始资源的至少两个获取概率的大小对原始资源排序,根据排序顺序,遍历原始资源以确定是否获取到目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,从而节约了人力成本。
在所述获取请求的触发下,通过资源协调模块获取所述原始资源,按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,在实际操作中至少包括以下之一:按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序;按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序。
需要说明的是,所述原始资源可以是多个奖品类别,比如原始资源可包括:一等奖、二等奖、三等奖。按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,可以理解为对奖品类别按照各自获取概率从小到大的顺序排序。比如奖品类别包括一等奖、二等奖、三等奖,对奖品类别按照各自获取概率从小到大的顺序排序,可以得到:一等奖、二等奖、三等奖的顺序。按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序,可以理解为对奖品类别按照各自获取概率从大到小的顺序排序,可以得到:三等奖、二等奖、一等奖的顺序。在得到奖品顺序之后,就可以根据具体情况遍历获取,直至获取到所述目标资源结束。
需要说明的是,获取概率是客户端根据目标资源的数目占所有资源的数目的比例计算出来的,具体可以参考的是,比如所有资源数目是100个,其中一等奖的数目是10个,那么一等奖获取概率就是10%。按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序和按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序,两种排序方式只对遍历获取目标资源的顺序有影响,具体采用哪一种排序方式,客户端可以自行设置。
在按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序的情况下,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源,包括:在按照所述从小到大的顺序对所述原始资源中的资源进行遍历时,对于当前遍历的资源,按照预设规则生成第一随机数,其中,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值;在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中,所述目标资源包括:所述当前遍历资源;在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
需要说明的是,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值,其中至少两个获取概率中的最大值是指在所有目标资源对应获取概率的最大值。比如奖品类别包括一等奖、二等奖、三等奖,其中,三等奖的获取概率最大,则所述第一随机数小于三等奖的获取概率。在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中所述当前遍历的资源的剩余数量是实时更新的,在每一次获取资源后,当前遍历的资源的剩余数量是实时更新,如果当前遍历的资源的剩余数量为0,那么停止当前遍历的资源。在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。也就是说,确定所述目标对象获取到所述目标资源必须满足:所述第一随机数小于所述当前遍历的资源所对应的获取概率和所述当前遍历的资源的剩余数量大于0这两个条件。
在所述随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,所述方法还包括:遍历所述当前遍历的资源的下一资源,并针对所述下一资源按照预设规则生成第二随机数,其中,所述预设规则包括:所述第二随机数小于所述至少两个获取概率中的最大值;在所述第二随机数小于所述下一资源所对应的获取概率,且所述下一资源的剩余数量大于0的情况下,确定所述目标对象获取到所述下一资源,其中,所述目标资源包括:所述下一资源;在所述第二随机数大于所述下一资源所对应的获取概率,和/或所述下一资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
需要说明的是,下一资源是排序顺序中当前遍历的资源的下一个,比如,按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,如果在该情景下:奖品类别包括一等奖、二等奖、三等奖,一等奖为当前遍历的资源,那么二等奖为下一资源。需要说明的是,在确定所述目标对象未获取到所述目标资源之后,才遍历所述当前遍历的资源的下一资源。可以理解为,在抽奖时,用户首先抽的是一等奖,在没抽中一等奖的情况下,抽二等奖。需要说明的是,在现实环境实践中,最后一个奖品是一定可以抽中的,比如,某用户没抽中一等奖、二等奖,那么他一定可以抽中三等奖,为实现上述所说,客户端在设置时,对三等奖数目以及随机数产生规则进行相应设置即可。上述所说,也是按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,比按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序的优点。采用上述技术手段,可以保证用户在遍历完后会至少获取最大概率的奖品。
通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源之前,所述方法还包括:对资源协调模块获取到的获取请求进行验证,其中,在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
需要说明的是,验证的方式可以有:签名验证、黑名单验证、IP验证。需要说明的是,签名验证有MB5和SHA-256两种签名方式,具体使用哪一种和用户的信息有关。用户信息可以有:时间戳、统一资源定位符、请求体等,需要哪些用户信息,客户端可以自行设置。黑名单验证,可以确保被拉入黑名单的用户不能参与抽奖。IP验证,可以确保使用同一IP的用户恶意刷接口。通过上述验证方法可以确定用户是否获取奖品,以及解决有些用户恶意刷接口造成服务器负载过高的问题和奖品多发的问题。
对资源协调模块获取到的获取请求进行验证,包括:通过native接口按照获取的签名方式对所述获取请求进行签名,得到第一签名结果;以及通过activity接口按照所述签名方式对所述获取请求进行签名,得到第二签名结果;比较所述第一签名结果和所述第二签名结果,在所述第一签名结果和所述第二签名结果一致的情况下,确定所述获取请求通过验证。
需要说明的是,签名验证可具体为:首先在数据库创建salt对应的签名方式,H5调用native暴露的方法进行签名,salt值是关键,native会调用server接口获取签名方式,然后再进行签名返回给H5,当H5调用activity时,签名会在请求头中,activity会根据salt值获取签名方式进行签名,和H5传过来的签名进行比对,通过后进行后续业务逻辑,不通过再抛出异常(具体流程见附图3)。
需要说明的是,salt是签名参数,server,native,activity是三种应用接口,H5是H5前端。
为了更好的理解上述技术方案,本发明可选实施例还提供了一种可选实施例,用于解释说明上述技术方案。
在一个可选实施例中,图3为根据本发明实施例的一种目标资源的获取方法的安全机制时序图,如图3所示,包括以下步骤:
S302:H5使用native方法进行签名,salt作为参数;
S304:native使用server接口;
S306:server openApi在DB中查询salt设置的签名方式;
S308:DB向server openApi返回salt对应的是SHA-256或者MD5;
S10:server openApi向native返回签名方式,native签名;
S312:native向H5返回签名值;
S314:H5调用activity签名接口(带签名);
S316:activity调用server openApi接口获取签名方式,执行S306、S308;
S318:server openApi向activity返回签名方式;
S320:server openApi签名后和H5传的签名比较;
S324:server openApi向H5返回抽奖结果。
通过本发明,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。也就是说,在获得获取请求后,资源协调模块获取原始资源,并按照原始资源的至少两个获取概率的大小对原始资源排序,根据排序顺序,遍历原始资源以确定是否获取到目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,从而节约了人力成本。
在一个可选实施例中,图4为根据本发明实施例的一种目标资源的获取方法的业务逻辑图,如图4所示,包括以下步骤:
S402:开始,判断签名是否通过,如果签名通过,执行S404,如果签名不通过,结束;
S404:判断是否在黑名单,如果签名不在黑名单内,执行S406,如果签名在黑名单内,结束;
S406:判断ip是否通过,如果ip通过,执行S408,如果ip不通过,结束;
S408:尝试从redis中获取奖品概率;
S410:判断redis是否存在奖品信息;如果redis存在奖品信息,执行S412,如果redis不存在奖品信息,执行S414;
S412:直接从redis中获取奖品概率
S414:查询数据库,缓存到redis
S416:抽奖逻辑,redis加锁,根据概率依次抽奖,Redis开锁;
S418:消息推送;
S420:保存抽奖记录,结束。
通过本发明,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。也就是说,在获得获取请求后,资源协调模块获取原始资源,并按照原始资源的至少两个获取概率的大小对原始资源排序,根据排序顺序,遍历原始资源以确定是否获取到目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,从而节约了人力成本。
在本实施例中还提供了一种目标资源的获取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的另一个实施例的一种目标资源的获取装置的结构框图;如图5所示,包括:
接收模块50:用于通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
处理模块52,用于在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
确定模块54,用于遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
通过本发明,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。也就是说,在获得获取请求后,资源协调模块获取原始资源,并按照原始资源的至少两个获取概率的大小对原始资源排序,根据排序顺序,遍历原始资源以确定是否获取到目标资源。采用上述技术方案,解决相关技术确定用户是否获取到资源的方式存在着资源可能超发多发,容易增加人力成本等问题,从而节约了人力成本。
可选的,处理模块52还用于按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序;按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序。
需要说明的是,所述原始资源可以是多个奖品类别,比如原始资源可包括:一等奖、二等奖、三等奖。按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,可以理解为对奖品类别按照各自获取概率从小到大的顺序排序。比如奖品类别包括一等奖、二等奖、三等奖,对奖品类别按照各自获取概率从小到大的顺序排序,可以得到:一等奖、二等奖、三等奖的顺序。按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序,可以理解为对奖品类别按照各自获取概率从大到小的顺序排序。比如奖品类别包括一等奖、二等奖、三等奖,对奖品类别按照各自获取概率从小到大的顺序排序,可以得到:三等奖、二等奖、一等奖的顺序。在得到奖品顺序之后,就可以根据具体情况遍历获取,直至获取到所述目标资源结束。
需要说明的是,获取概率是客户端根据目标资源的数目占所有资源的数目的比例计算出来的,具体可以参考的是,比如所有资源数目是100个,其中一等奖的数目是10个,那么一等奖获取概率就是10%。按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序和按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序,两种排序方式只对遍历获取目标资源的顺序有影响,具体采用哪一种排序方式,客户端可以自行设置。
可选的,确定模块54还用于在按照所述从小到大的顺序对所述原始资源中的资源进行遍历时,对于当前遍历的资源,按照预设规则生成第一随机数,其中,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值;在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中,所述目标资源包括:所述当前遍历资源;在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
需要说明的是,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值,其中至少两个获取概率中的最大值是指在所有目标资源对应获取概率的最大值。比如奖品类别包括一等奖、二等奖、三等奖,其中,三等奖的获取概率最大,则所述第一随机数小于三等奖的获取概率。在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中所述当前遍历的资源的剩余数量是实时更新的,在每一次获取资源后,当前遍历的资源的剩余数量是实时更新,如果当前遍历的资源的剩余数量为0,那么停止当前遍历的资源。在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。也就是说,确定所述目标对象获取到所述目标资源必须满足:所述第一随机数小于所述当前遍历的资源所对应的获取概率和所述当前遍历的资源的剩余数量大于0这两个条件。
可选的,确定模块54还用于遍历所述当前遍历的资源的下一资源,并针对所述下一资源按照预设规则生成第二随机数,其中,所述预设规则包括:所述第二随机数小于所述至少两个获取概率中的最大值;在所述第二随机数小于所述下一资源所对应的获取概率,且所述下一资源的剩余数量大于0的情况下,确定所述目标对象获取到所述下一资源,其中,所述目标资源包括:所述下一资源;在所述第二随机数大于所述下一资源所对应的获取概率,和/或所述下一资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
需要说明的是,下一资源是排序顺序中当前遍历的资源的下一个,比如,按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,如果在该情景下:奖品类别包括一等奖、二等奖、三等奖,一等奖为当前遍历的资源,那么二等奖为下一资源。需要说明的是,在确定所述目标对象未获取到所述目标资源之后,才遍历所述当前遍历的资源的下一资源。可以理解为,在抽奖时,用户首先抽的是一等奖,在没抽中一等奖的情况下,抽二等奖。需要说明的是,在现实环境实践中,最后一个奖品是一定可以抽中的,比如,某用户没抽中一等奖、二等奖,那么他一定可以抽中三等奖,为实现上述所说,客户端在设置时,对三等奖数目以及随机数产生规则进行相应设置即可。上述所说,也是按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序,比按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序的优点。采用上述技术手段,可以保证用户在遍历完后会至少获取最大概率的奖品。
可选的,处理模块52还用于对资源协调模块获取到的获取请求进行验证,其中,在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
需要说明的是,验证的方式可以有:签名验证、黑名单验证、IP验证。需要说明的是,签名验证有MB5和SHA-256两种签名方式,具体使用哪一种和用户的信息有关。用户信息可以有:时间戳、统一资源定位符、请求体等,需要哪些用户信息,客户端可以自行设置。黑名单验证,可以确保被拉入黑名单的用户不能参与抽奖。IP验证,可以确保使用同一IP的用户恶意刷接口。通过上述验证方法可以确定用户是否获取奖品,以及解决有些用户恶意刷接口造成服务器负载过高的问题和奖品多发的问题。
可选的,处理模块52还用于通过native接口按照获取的签名方式对所述获取请求进行签名,得到第一签名结果;以及通过activity接口按照所述签名方式对所述获取请求进行签名,得到第二签名结果;比较所述第一签名结果和所述第二签名结果,在所述第一签名结果和所述第二签名结果一致的情况下,确定所述获取请求通过验证。
需要说明的是,签名验证可具体为:首先在数据库创建salt对应的签名方式,H5调用native暴露的方法进行签名,salt值是关键,native会调用server接口获取签名方式,然后再进行签名返回给H5,当H5调用activity时,签名会在请求头中,activity会根据salt值获取签名方式进行签名,和H5传过来的签名进行比对,通过后进行后续业务逻辑,不通过再抛出异常(具体流程见附图3)。
需要说明的是,salt是签名参数,server,native,activity是三种应用接口,H5是H5前端。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
S2,在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
S3,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
S2,在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
S3,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
可选地,在本可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种目标资源的获取方法,其特征在于,包括:
通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
在所述获取请求触发所述资源协调模块之后,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
2.根据权利要求1所述的方法,其特征在于,按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,至少包括以下之一:
按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序;
按照所述至少两个获取概率的大小所对应的从大到小的顺序对所述原始资源进行排序。
3.根据权利要求2所述的方法,其特征在于,在按照所述至少两个获取概率的大小所对应的从小到大的顺序对所述原始资源进行排序的情况下,遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源,包括:
在按照所述从小到大的顺序对所述原始资源中的资源进行遍历时,对于当前遍历的资源,按照预设规则生成第一随机数,其中,所述预设规则包括:所述第一随机数小于所述至少两个获取概率中的最大值;
在所述第一随机数小于所述当前遍历的资源所对应的获取概率,且所述当前遍历的资源的剩余数量大于0的情况下,确定所述目标对象获取到所述当前遍历的资源,其中,所述目标资源包括:所述当前遍历资源;
在所述第一随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
4.根据权利要求3所述的方法,其特征在于,在所述随机数大于所述当前遍历的资源所对应的获取概率,和/或所述当前遍历的资源的剩余数量等于0的情况下,所述方法还包括:
遍历所述当前遍历的资源的下一资源,并针对所述下一资源按照预设规则生成第二随机数,其中,所述预设规则包括:所述第二随机数小于所述至少两个获取概率中的最大值;
在所述第二随机数小于所述下一资源所对应的获取概率,且所述下一资源的剩余数量大于0的情况下,确定所述目标对象获取到所述下一资源,其中,所述目标资源包括:所述下一资源;
在所述第二随机数大于所述下一资源所对应的获取概率,和/或所述下一资源的剩余数量等于0的情况下,确定所述目标对象未获取到所述目标资源。
5.根据权利要求1所述的方法,其特征在于,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源之前,所述方法还包括:
对资源协调模块获取到的获取请求进行验证,其中,在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
6.根据权利要求5所述的方法,其特征在于,对资源协调模块获取到的获取请求进行验证,包括:
通过native接口按照获取的签名方式对所述获取请求进行签名,得到第一签名结果;以及通过activity接口按照所述签名方式对所述获取请求进行签名,得到第二签名结果;
比较所述第一签名结果和所述第二签名结果,在所述第一签名结果和所述第二签名结果一致的情况下,确定所述获取请求通过验证。
7.一种目标资源的获取装置,其特征在于,包括:
接收模块,用于通过资源协调模块接收目标对象的获取请求,其中,所述获取请求用于从原始资源中请求随机获取目标资源,其中,所述资源协调模块位于分布式系统,且所述资源协调模块用于协调所述原始资源;
处理模块,用于在所述获取请求的触发下,通过所述资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源;
确定模块,用于遍历所述排序后的原始资源,确定所述目标对象是否获取到所述目标资源。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,还用于对资源协调模块获取到的获取请求进行验证;在验证通过的情况下,通过资源协调模块获取所述原始资源,并按照所述原始资源的至少两个获取概率的大小对所述原始资源进行排序,得到排序后的原始资源。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011477393.7A CN112529423A (zh) | 2020-12-15 | 2020-12-15 | 目标资源的获取方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011477393.7A CN112529423A (zh) | 2020-12-15 | 2020-12-15 | 目标资源的获取方法及装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112529423A true CN112529423A (zh) | 2021-03-19 |
Family
ID=75000063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011477393.7A Pending CN112529423A (zh) | 2020-12-15 | 2020-12-15 | 目标资源的获取方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112529423A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105321249A (zh) * | 2015-10-14 | 2016-02-10 | 贵阳朗玛信息技术股份有限公司 | 一种抽奖方法及装置 |
CN105956456A (zh) * | 2016-04-26 | 2016-09-21 | 南京邮电大学 | 一种对Android系统进行四重联合签名验证的实现方法 |
CN106022098A (zh) * | 2016-05-10 | 2016-10-12 | 青岛海信传媒网络技术有限公司 | 一种应用程序的签名验证方法和装置 |
CN106095906A (zh) * | 2016-06-07 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN107844985A (zh) * | 2016-09-21 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 一种概率产品数据处理方法、系统及终端 |
CN108683502A (zh) * | 2018-03-30 | 2018-10-19 | 上海连尚网络科技有限公司 | 一种数字签名验证方法、介质及设备 |
CN109542395A (zh) * | 2018-11-23 | 2019-03-29 | 苏州好玩友网络科技有限公司 | 抽奖信息确定方法、装置、设备以及存储介质 |
-
2020
- 2020-12-15 CN CN202011477393.7A patent/CN112529423A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105321249A (zh) * | 2015-10-14 | 2016-02-10 | 贵阳朗玛信息技术股份有限公司 | 一种抽奖方法及装置 |
CN105956456A (zh) * | 2016-04-26 | 2016-09-21 | 南京邮电大学 | 一种对Android系统进行四重联合签名验证的实现方法 |
CN106022098A (zh) * | 2016-05-10 | 2016-10-12 | 青岛海信传媒网络技术有限公司 | 一种应用程序的签名验证方法和装置 |
CN106095906A (zh) * | 2016-06-07 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN107844985A (zh) * | 2016-09-21 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 一种概率产品数据处理方法、系统及终端 |
CN108683502A (zh) * | 2018-03-30 | 2018-10-19 | 上海连尚网络科技有限公司 | 一种数字签名验证方法、介质及设备 |
CN109542395A (zh) * | 2018-11-23 | 2019-03-29 | 苏州好玩友网络科技有限公司 | 抽奖信息确定方法、装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
梁星: ""基于区块链技术的可信赖网络社区"", 《万方数据》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762803B (zh) | 一种配置管理方法、装置、终端设备及存储介质 | |
CN108268372B (zh) | Mock测试处理方法、装置、存储介质和计算机设备 | |
CN106407002B (zh) | 数据处理任务执行方法和装置 | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN102710753A (zh) | 一种互联网应用的发布方法、装置及系统 | |
CN111491002A (zh) | 设备巡检方法、装置、被巡检设备、巡检服务器及系统 | |
CN112580730A (zh) | 一种终端类型的识别方法及装置 | |
CN110472216B (zh) | 字段的确定方法、装置、存储介质及电子装置 | |
CN112235124B (zh) | 一种皮基站配置方法、装置、存储介质和电子装置 | |
CN113098852B (zh) | 一种日志处理方法及装置 | |
CN110990381B (zh) | 服务器的处理方法及装置、存储介质和电子装置 | |
CN111866993A (zh) | 无线局域网连接管理方法、装置、软件程序及存储介质 | |
CN112529423A (zh) | 目标资源的获取方法及装置、存储介质、电子装置 | |
CN107341645A (zh) | 人力资源需求信息处理方法、装置、计算机设备和存储介质 | |
CN111131324A (zh) | 业务系统的登陆方法及装置、存储介质、电子装置 | |
CN104298596B (zh) | 一种测试方案随机分配方法、装置及服务器 | |
CN109922087A (zh) | 工控协议的解析方法、装置、系统及计算机存储介质 | |
CN112988339B (zh) | 一种数据管理方法及装置 | |
CN113596082A (zh) | 设备数据的确定方法及系统、电子装置 | |
CN112738207B (zh) | 关键字数据的传输方法及装置、存储介质、电子装置 | |
CN113852919B (zh) | 预警消息的生成方法和装置、存储介质及电子装置 | |
CN110362575A (zh) | 一种生成数据的全局索引的方法及装置 | |
CN109412898A (zh) | 特征数据库生成方法和装置及对应的流量分拣方法和装置 | |
CN109905325A (zh) | 一种流量引导方法及流量识别设备 | |
CN113032089B (zh) | 一种基于api网关的分布式仿真服务构建方法 |
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: 20210319 |
|
RJ01 | Rejection of invention patent application after publication |