CN110324364B - 一种离线抽奖方法及电子终端 - Google Patents

一种离线抽奖方法及电子终端 Download PDF

Info

Publication number
CN110324364B
CN110324364B CN201810266354.9A CN201810266354A CN110324364B CN 110324364 B CN110324364 B CN 110324364B CN 201810266354 A CN201810266354 A CN 201810266354A CN 110324364 B CN110324364 B CN 110324364B
Authority
CN
China
Prior art keywords
lottery
winning
information
service device
uploaded
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
Application number
CN201810266354.9A
Other languages
English (en)
Other versions
CN110324364A (zh
Inventor
王垒
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810266354.9A priority Critical patent/CN110324364B/zh
Publication of CN110324364A publication Critical patent/CN110324364A/zh
Application granted granted Critical
Publication of CN110324364B publication Critical patent/CN110324364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种离线抽奖方法及电子终端,在电子终端中设置有中间代理服务装置。将抽奖相关数据置于中间代理服务装置中,抽奖的过程中将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户。所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。

Description

一种离线抽奖方法及电子终端
技术领域
本申请涉及直播技术领域,尤其涉及一种离线抽奖方法及电子终端。
背景技术
目前,常规的抽奖一般是将抽奖结果展示在前端页面,抽奖算法的运行均由服务器执行,对于前端页面的修改数据、抓包等操作均不会对服务器实际数据造成影响,但是对于网络要求较高,网速较差时可能造成诸多异常问题,甚至导致抽奖无法继续进行。对于一些网络使用频繁,网络状态较差,又要求安全性,还需要多端数据同步,用户能够尽可能快的查询到抽奖结果的场景,上述方案显然是无法满足的。
发明内容
本发明了提供了一种离线抽奖方法及电子终端,以解决或者部分解决在网络环境较差时抽奖方式无法正常运行的技术问题。
为解决上述技术问题,本发明提供了一种离线抽奖方法,所述方法包括:
将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;
若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户;
所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。
优选的,所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户,具体包括:
所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;
在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;
所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示,具体包括:
所述中间代理服务装置整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
优选的,所述则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之后,所述方法还包括:
基于所述中奖用户的中奖信息更新本地数据库;
将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器。
优选的,所述将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器,具体包括:
判断是否上传所述服务器失败;
若上传所述服务器失败,进一步判断是否为网络原因上传失败;
若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第一待上传信息;
若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第一待上传信息,查询队列中的所述第一待上传信息之后的下一条数据优先上传。
优选的,所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之前,所述方法还包括:
初始化所述抽奖服务接口。
优选的,所述初始化所述抽奖服务接口,具体包括:
查询是否具有历史中奖记录;
若存在所述历史中奖记录,则从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户,并基于所述本地数据库中剩余的数据创建接口服务;
若不存在所述历史中奖记录,则基于所述本地数据库中的数据创建接口服务。
优选的,所述从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户之后,所述方法还包括:
判断所述历史中奖纪录是否上传到服务器;
若没有,则将所述历史中奖记录有关的抽奖批次信息、奖品信息、中奖用户封装为第二待上传信息;
将所述第二待上传信息上传到所述服务器。
本发明还公开了一种电子终端,包括:
传输模块,用于将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;
抽奖模块,用于若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户;
发送模块,用于所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。
优选的,所述抽奖模块,具体包括:
抽奖子模块,用于所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;
排序模块,用于在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;
所述发送模块,还用于所述中间代理服务装置整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
优选的,所述电子终端还包括:
更新模块,用于在所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之后,基于所述中奖用户的中奖信息更新本地数据库;
第一上传模块,用于将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器。
所述上传模块,具体包括:
第一判断模块,用于判断是否上传所述服务器失败;
第二判断模块,用于若上传所述服务器失败,进一步判断是否为网络原因上传失败;
延长模块,用于若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第一待上传信息;
第一查询模块,用于若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第一待上传信息,查询队列中的所述第一待上传信息之后的下一条数据优先上传。
优选的,所述电子终端还包括:
初始化模块,用于在所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之前,初始化所述抽奖服务接口。
优选的,所述初始化模块,具体包括:
第二查询模块,用于查询是否具有历史中奖记录;
第一创建模块,用于若存在所述历史中奖记录,则从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户,并基于所述本地数据库中剩余的数据创建接口服务;
第二创建模块,用于若不存在所述历史中奖记录,则基于所述本地数据库中的数据创建接口服务。
优选的,所述电子终端还包括:
第三判断模块,用于从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户之后,判断所述历史中奖纪录是否上传到服务器;
封装模块,用于若没有,则将所述历史中奖记录有关的抽奖批次信息、奖品信息、中奖用户封装为第二待上传信息;
第二上传模块,用于将所述第二待上传信息上传到所述服务器。
通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
为了解决由于网络原因导致的抽奖无法正常运行的问题,本发明公开了一种离线抽奖方法及电子终端,在电子终端中设置中间代理服务装置。将抽奖相关数据置于中间代理服务装置中,抽奖的过程中将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户。所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。本发明利用中间代理服务装置来替代服务器和前端页面完成抽奖,原本前端页面直接和服务器进行通信需要依靠网络。而现在本发明实施例在中间代理服务装置中设置有抽奖相关数据,前端页面只需要和中间代理服务装置进行通信即可保证抽奖的正常运行,并且中间代理服务装置设置在电子终端内部,能够满足前端页面发送的抽奖请求所需求的所有抽奖数据、抽奖机制等等,故而即便是离线也不会中断抽奖过程,并且即使前端页面关闭,由于所有的抽奖数据、抽奖机制等等都保存在中间代理服务装置,故而数据也不会丢失,能够很好的保证抽奖过程顺序运行。
附图说明
图1为本发明实施例中一种离线抽奖方法的实施过程图;
图2为本发明实施例中一种电子终端的示意图。
具体实施方式
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
本发明实施例公开了一种离线抽奖方法及电子终端,用以解决现有的抽奖方式容易受到网络环境影响进而影响抽奖正常运行的问题。应当注意的是,本发明涉及的方法不但能够应用于浏览器中,即:本发明不但可以在浏览器的前端页面上进行抽奖,还可以应用其他应用程序中,例如直播平台上的抽奖,或者是其他应用程序的抽检等等。
下面介绍本发明提供的离线抽奖方法对应的系统架构图。
在系统架构图中,涉及的设备包括:电子终端、服务器。电子终端中包含有前端页面和中间代理服务装置。其中,本发明的电子终端具体可以是手机、电脑、PAD等等电子设备,对于电子终端的类型,本实施例不做具体限定。电子终端的使用者即为用户。中间代理服务装置主要用于和前端页面、服务器进行通信。原本前端页面直接和服务器进行通信需要依靠网络。而现在本发明实施例在中间代理服务装置中设置有抽奖相关数据,前端页面只需要和中间代理服务装置进行通信即可保证抽奖的正常运行,并且中间代理服务装置设置在电子终端内部,能够满足前端页面发送的抽奖请求所需求的所有抽奖数据、抽奖机制等等,故而即便是离线也不会中断抽奖过程,并且即使前端页面关闭,由于所有的抽奖数据、抽奖机制等等都保存在中间代理服务装置,故而数据也不会丢失,能够很好的保证抽奖过程顺序运行。服务器在网络恢复之后可以和中间代理服务装置进行通信,使中间代理服务装置中的数据可以上传给服务器进行更新。服务器可以是任意类型的服务器,例如某保密机构的服务器、某大型文学网站服务器等等。
具体来说,由于目前的抽奖一般都是在线抽奖,故而在网络不好或者网络中断之后,会影响抽奖过程。
为了解决这一问题,本发明在电子终端侧设置了中间代理服务装置。具体来说,本发明可以在应用程序内部设置中间代理服务装置,例如在浏览器中设置中间代理服务装置,使其成为浏览器的组成部分。前端页面只是负责显示结果,即便关闭前端页面,中间代理服务装置中保存的数据也不会丢失,在下一次打开前端页面之后,仍旧可以查询到之前的抽奖记录。或者中间代理服务装置可作为独立的个体存在于电子终端侧。而对于其他应用程序来说,代理装置内置于其他应用程序内部,成为其他应用程序的组成部分。或者代理装置作为独立的个体存在于电子终端侧。
在中间代理服务装置中,集成了抽奖相关数据,例如奖品信息(奖品批次、奖品类型等等)、用户信息(用户ID)等等。
下面请参看图1,本发明实施例公开了一种离线抽奖方法,包括:
步骤11,将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格。
在具体的实施过程中,前端页面用于接收用户的抽奖指令,显示抽奖结果等等。
故而,在移动端中的前端页面接收到抽奖请求之后,会将该抽奖请求传输给中间代理服务装置,由中间代理服务装置校验所述抽奖请求是否合格。在具体的校验过程中,可以校验该抽奖请求携带的参数(抽奖次数)是否满足条件,或者校验该抽奖请求的来源是否为前端页面发送,或者校验加密该抽奖请求的加密密钥和中间代理服务装置用于解密该抽奖请求的解密密钥是否对应等等。
在校验合格之后,则会进行下面的实施过程。
步骤12,若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户。
中间代理服务装置,存储有抽奖数据,抽奖机制,抽奖实施过程等等,进一步的,中间代理服务装置设置有本地数据库来存储上述各类数据,随时供中间代理服务装置。
下面介绍本地数据库。
本地数据库至少包含下面几个方面:奖池,用来存储奖品(包括奖品本身、奖品批次信息等等)。员工池,用来存储员工信息,例如员工ID等。除此之外,本地数据库还存储有抽奖机制、已中奖相关信息等等。
在中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之前,会初始化所述抽奖服务接口。
在具体的初始化过程中,首先查询是否具有历史中奖记录;若存在所述历史中奖记录,则从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户,并基于所述本地数据库中剩余的数据创建接口服务;若不存在所述历史中奖记录,则基于所述本地数据库中的数据创建接口服务。
具体来说,在查询历史中奖记录的过程中,依赖node mysql模块,createConnection方法创建数据库连接池,查询本地数据库抽奖状态,若存在历史记录,读取history.json内容缓存,读取本地数据库中的上传失败的中奖记录以及未上传的中奖记录,作为待上传数据上传给服务器。读取抽奖完成的奖品批次信息并进行移除操作,进而得到奖池余量信息。另外还会读取剩余员工池信息,利用奖池余量信息、剩余员工池信息等等创建抽奖接口服务。若当前不存在历史记录,依赖node-xlsx模块,读取本地数据库中的数据(员工池信息、奖品信息等等)创建抽奖接口服务。进一步的,若员工池信息、奖品信息等等为excel文件,则需做格式转码,然后初始化奖池、员工池等等并进行缓存创建接口服务。
经过上述设置,在需要调用抽奖服务接口即可获得相应的服务。
抽奖接口服务,包含以下几个功能:接收type:POST,api分支的请求,做统一的接口分发,应答处理(employ:员工池相关信息查询;prize:奖池相关信息查询;batch:抽奖批次信息查询;draw:抽奖服务),考虑前端以及通讯速率,接口相关应答可统一设置为content-type:application/json。
后续会对抽奖接口服务进行具体的介绍。
在此实施例中,先介绍在读取本地数据库中的上传失败的中奖记录以及未上传的中奖记录,作为待上传数据上传给服务器的实施过程中,
首先,判断所述历史中奖纪录是否上传到服务器;若没有,则表示历史中奖纪录中为上传失败的中奖记录以及未上传的中奖记录,那么则将所述历史中奖记录有关的抽奖批次信息、奖品信息、中奖用户封装为第二待上传信息;将所述第二待上传信息上传到所述服务器。
而在具体的上传过程中,第二待上传信息加密后形成加密串置入上传队列中,上传队列定时检查是否有未上传的加密串,依赖node request模块,发送加密串到网络php服务器,若因为网络原因上传失败,延长定时任务间隔时间,避免无效的操作浪费,网络状态恢复后静默上传,其它原因导致上传失败,先忽略当前数据,查询队列中的下一条数据优先上传,避免异常的阻塞。
具体来说,将所述第二待上传信息上传到所述服务器的过程中,首先所述第二待上传信息判断是否上传所述服务器失败;若上传所述服务器失败,进一步判断是否为网络原因上传失败;若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第二待上传信息。若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第二待上传信息,查询队列中的所述第二待上传信息之后的下一条信息优先上传。
而所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户的具体实施过程中。而在具体的抽奖过程中,可以采用抽奖随机数算法抽出中奖用户,本发明实施例舍弃系统的Math.random方法,采用线性同余算法(In+1=aIn+c(mod m),其中a、c、m是设定的常数,分别称做乘数、增量和模数),基于Holl-Dobell定理(c与m互斥;a-1可以被m的所有质因数整除;如果m是4的倍数,a-1也必须是4的倍数;a和c都是正整数;),综合生成效率以及最大化周期,以当前时间为种子,初始化随机序列。
Figure BDA0001611493070000101
关于抽奖算法,算法中使用的random即为上述随机数生成算法。该算法的实施过程如下:所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;进一步的,所述中间代理服务装置还会整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
具体来说,根据需要抽取的人数,每次从员工池中随机抽取一名,保存员工ID并从员工池中移除,避免重复的中奖情况,然后随机打乱员工池排序信息,重复上述操作,返回抽奖结果,做相关信息拼接后返回应答信息,做相应的结果信息展示。
Figure BDA0001611493070000102
Figure BDA0001611493070000111
在获得中奖用户之后,该方法还包括:基于所述中奖用户的中奖信息更新本地数据库;将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器。具体来说,每次的抽奖结果生成,提取幸运人工号信息,依赖md5和base64转换算法,做md5数据加密(附加密串生成方法),将生成的加密串加入上传队列。
Figure BDA0001611493070000112
Figure BDA0001611493070000121
上传队列定时检查是否有未上传的加密串,依赖node request模块,发送加密串到网络php服务器,若因为网络原因上传失败,延长定时任务间隔时间,避免无效的操作浪费,网络状态恢复后静默上传,其它原因导致上传失败,先忽略当前数据,查询队列中的下一条数据优先上传,避免异常的阻塞
在具体的上传过程中,判断是否上传所述服务器失败;若上传所述服务器失败,进一步判断是否为网络原因上传失败;若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第一待上传信息;若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第一待上传信息,查询队列中的所述第一待上传信息之后的下一条数据优先上传。
步骤13,所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。
进一步的,考虑抽奖过程会生成很多脏数据,以及正式抽奖过程中可能存在的异常情形,需要提供便捷式的记录清理服务,故而,本申请实施例中还可以在所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之后,若判定抽奖异常,则将抽奖异常产生的数据进行清除。
例如,创建delete.bat批处理任务
@echo off
rem避免误操作,需要手动确认
choice/c yn/m"确认清楚历史抽奖记录(yes/no)"
if errorlevel 1goto delete
if errorlevel 2goto end
:delete
node delete
if exist"中奖名单.xlsx"(goto delfir)else(echo"没有找到历史本地缓存")
goto end
:delfir
rem删除本地文件缓存
del"中奖名单.xlsx"
echo"历史文件记录缓存删除成功.."
goto end
:end
pause
避免误操作,添加一层确认,也即确定是否需要清除抽奖异常产生的数据,确认清除后,运行清理node任务,发送清理接口请求,删除网络数据库数据并删除本地历史记录文件相关缓存。
基于统一发明构思,下面的实施例介绍一种电子终端。
参看图2,电子终端包括:
传输模块21,用于将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;
抽奖模块22,用于若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户;
发送模块23,用于所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。
优选的,所述抽奖模块22,具体包括:
抽奖子模块,用于所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;
排序模块,用于在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;
所述发送模块23,还用于所述中间代理服务装置整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
优选的,所述电子终端还包括:
更新模块,用于在所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之后,基于所述中奖用户的中奖信息更新本地数据库;
第一上传模块,用于将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器。
所述上传模块,具体包括:
第一判断模块,用于判断是否上传所述服务器失败;
第二判断模块,用于若上传所述服务器失败,进一步判断是否为网络原因上传失败;
延长模块,用于若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第一待上传信息;
第一查询模块,用于若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第一待上传信息,查询队列中的所述第一待上传信息之后的下一条数据优先上传。
优选的,所述电子终端还包括:
初始化模块,用于在所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之前,初始化所述抽奖服务接口。
优选的,所述初始化模块,具体包括:
第二查询模块,用于查询是否具有历史中奖记录;
第一创建模块,用于若存在所述历史中奖记录,则从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户,并基于所述本地数据库中剩余的数据创建接口服务;
第二创建模块,用于若不存在所述历史中奖记录,则基于所述本地数据库中的数据创建接口服务。
优选的,所述电子终端还包括:
第三判断模块,用于从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户之后,判断所述历史中奖纪录是否上传到服务器;
封装模块,用于若没有,则将所述历史中奖记录有关的抽奖批次信息、奖品信息、中奖用户封装为第二待上传信息;
第二上传模块,用于将所述第二待上传信息上传到所述服务器。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。
基于与前述实施例中同样的发明构思,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前文任一所述方法的步骤。
综上,本发明实施例基于当前成熟的node生态,代码的复用,模块的重用以及后续的拓展均提供了便利。
进一步的,创建本地的离线node服务中间件,node服务与前端页面无网络负载,加载速度极快(大小17M+的背景图片资源秒开级别),分工明确(前端:特效展示;node服务:算法运行,数据存储与同步;php服务端:网络数据存储,供移动端查询)。
进一步的,减少了前端渲染页面的计算消耗,前端页面可着重于展示,可以提供更加流畅、炫酷的抽奖动画效果。
进一步的,将页面和网络服务器之间的交互剥离,网络等异常情况均不会对抽奖流程造成影响,网络状态良好后数据可自动做三端同步,员工可及时用手机查询到自己的中奖结果,保证了抽奖的稳定运行的同时可以处理网络信号密集可能导致的异常。
进一步的,提供了一键式的启动以及清除历史记录的批处理任务,方便快捷的进行抽奖相关操作,降低操作难度。
进一步的,采用更严谨的线性同余算法,降低抽奖结果的可预见性。
通过本发明的一个或者多个实施例,本发明具有以下有益效果或者优点:
为了解决由于网络原因导致的抽奖无法正常运行的问题,本发明公开了一种离线抽奖方法及电子终端,在电子终端中设置中间代理服务装置。将抽奖相关数据置于中间代理服务装置中,抽奖的过程中将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户。所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示。本发明利用中间代理服务装置来替代服务器和前端页面完成抽奖,原本前端页面直接和服务器进行通信需要依靠网络。而现在本发明实施例在中间代理服务装置中设置有抽奖相关数据,前端页面只需要和中间代理服务装置进行通信即可保证抽奖的正常运行,并且中间代理服务装置设置在电子终端内部,能够满足前端页面发送的抽奖请求所需求的所有抽奖数据、抽奖机制等等,故而即便是离线也不会中断抽奖过程,并且即使前端页面关闭,由于所有的抽奖数据、抽奖机制等等都保存在中间代理服务装置,故而数据也不会丢失,能够很好的保证抽奖过程顺序运行。尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种离线抽奖方法,其特征在于,所述方法包括:
将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格;
若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户,具体包括:所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;
所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示,具体包括:所述中间代理服务装置整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
2.如权利要求1所述的方法,其特征在于,所述则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之后,所述方法还包括:
基于所述中奖用户的中奖信息更新本地数据库;
将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器。
3.如权利要求2所述的方法,其特征在于,所述将所述中奖用户的中奖信息进行加密,封装为第一待上传信息上传给服务器,具体包括:
判断是否上传所述服务器失败;
若上传所述服务器失败,进一步判断是否为网络原因上传失败;
若是因为所述网络原因上传失败,则延长定时任务间隔时间,在网络恢复后静默上传所述第一待上传信息;
若不是因为所述网络原因上传失败,则表示是其它原因导致上传失败,则忽略所述第一待上传信息,查询队列中的所述第一待上传信息之后的下一条数据优先上传。
4.如权利要求1所述的方法,其特征在于,所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户之前,所述方法还包括:
初始化所述抽奖服务接口。
5.如权利要求4所述的方法,其特征在于,所述初始化所述抽奖服务接口,具体包括:
查询是否具有历史中奖记录;
若存在所述历史中奖记录,则从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户,并基于所述本地数据库中剩余的数据创建接口服务;
若不存在所述历史中奖记录,则基于所述本地数据库中的数据创建接口服务。
6.如权利要求5所述的方法,其特征在于,所述从本地数据库中移除所述历史中奖纪录有关的抽奖批次信息、奖品信息、中奖用户之后,所述方法还包括:
判断所述历史中奖纪录是否上传到服务器;
若没有,则将所述历史中奖记录有关的抽奖批次信息、奖品信息、中奖用户封装为第二待上传信息;
将所述第二待上传信息上传到所述服务器。
7.一种电子终端,其特征在于,包括:
传输模块,用于将移动端中的前端页面发起的抽奖请求,传输给所述移动端中设置的中间代理服务装置,使得所述中间代理服务装置校验所述抽奖请求是否合格所述抽奖模块,具体包括:抽奖子模块,用于所述中间代理服务装置基于所述抽奖请求中包含的抽奖次数,从员工池中随机抽取对应数目的中奖用户;排序模块,用于在每次抽取出一中奖用户之后,从所述员工池中移除所述中奖用户并对所述员工池中的剩余用户进行随机排序;
抽奖模块,用于若校验合格,则所述中间代理服务装置基于所述抽奖请求调用抽奖服务接口抽出中奖用户;
发送模块,用于所述中间代理服务装置将所述中奖用户的中奖信息发送到所述前端页面进行展示,具体还用于所述中间代理服务装置整合所述对应数目的中奖用户的用户信息,并将所述对应数目的中奖用户的用户信息发送到所述前端页面进行展示。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
CN201810266354.9A 2018-03-28 2018-03-28 一种离线抽奖方法及电子终端 Active CN110324364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810266354.9A CN110324364B (zh) 2018-03-28 2018-03-28 一种离线抽奖方法及电子终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810266354.9A CN110324364B (zh) 2018-03-28 2018-03-28 一种离线抽奖方法及电子终端

Publications (2)

Publication Number Publication Date
CN110324364A CN110324364A (zh) 2019-10-11
CN110324364B true CN110324364B (zh) 2022-03-25

Family

ID=68110199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810266354.9A Active CN110324364B (zh) 2018-03-28 2018-03-28 一种离线抽奖方法及电子终端

Country Status (1)

Country Link
CN (1) CN110324364B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027024A (zh) * 2019-12-12 2020-04-17 广州酷狗计算机科技有限公司 抽奖方法、装置、设备、存储介质和程序产品
CN112003927A (zh) * 2020-08-21 2020-11-27 福州华纳信息科技有限公司 一种网络虚拟摇号方法和系统
CN112486486B (zh) * 2020-11-30 2024-05-14 上海万物新生环保科技集团有限公司 一种基于静态资源的抽奖方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212513A (zh) * 2006-12-29 2008-07-02 楷越资通股份有限公司 语音答题赠奖活动装置
CN104364810A (zh) * 2012-09-13 2015-02-18 白承铁 利用优惠券的可变内容物提供装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100454195B1 (ko) * 2001-04-11 2004-10-26 김희영 경품 자유 선택식 행운 구매 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212513A (zh) * 2006-12-29 2008-07-02 楷越资通股份有限公司 语音答题赠奖活动装置
CN104364810A (zh) * 2012-09-13 2015-02-18 白承铁 利用优惠券的可变内容物提供装置及方法

Also Published As

Publication number Publication date
CN110324364A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110324143B (zh) 数据传输方法、电子设备及存储介质
CN110324364B (zh) 一种离线抽奖方法及电子终端
CN109547198B (zh) 网络传输视频文件的系统
CN115048658B (zh) 利用匿名分片技术保护分布式数据的系统、方法和计算机可读介质
CN104317551A (zh) 一种超高安全的真随机数生成方法及真随机数生成系统
KR20120071556A (ko) 영상 보안 전송 장치, 영상 데이터 수신 장치 및 키 생성 방법
EP3732818A1 (fr) Procédé et système d'activation cryptographique d'une pluralité d'équipements
CN110025955B (zh) 信息处理方法、终端、计算机可读存储介质和计算机设备
CN105025102B (zh) 一种3d打印模型文件的网络存储调用方法和存储系统
CN104168320B (zh) 一种用户数据分享的方法和系统
CN114041134A (zh) 用于基于区块链的安全存储的系统和方法
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
EP3384417A1 (en) A method and system for securing a client's access to a drm agent's services for a video player
CN108846671B (zh) 基于区块链的在线安全交易方法和系统
CN109391473A (zh) 一种电子签章的方法、装置及存储介质
FR2751154A1 (fr) Systeme de diversification d'informations dans un reseau de distribution de produits ou de services
CN109710502A (zh) 日志传输方法、装置及存储介质
CN111417122A (zh) 一种防范攻击方法及装置
CN113727146B (zh) 基于区块链的云电视视频流处理装置及方法
US20150099490A1 (en) Systems and Methods of Onscreen Notification
CN109286905A (zh) 短信加密处理方法、发送终端以及短信加密处理系统
CN112889055A (zh) 数据处理方法、装置、系统、服务器以及电子设备
CN113014956B (zh) 视频播放方法以及装置
CN114827065B (zh) 基于统一通信信道的实时通信方法及相关设备
CN110912974A (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
GR01 Patent grant
GR01 Patent grant