技术领域Technical field
本发明实施例涉及互联网运营技术领域,尤其涉及一种优惠抽奖活动的并发处理方法和装置。Embodiments of the present invention relate to the technical field of Internet operations, and in particular, to a concurrent processing method and device for preferential lottery activities.
背景技术Background technique
在目前主流的互联网优惠抽奖营销推广活动中,短信精准营销推广每天主动下发1000-2000万精准营销用户短信进行推广,用户在活动推广期内参加活动存在大量并发。In the current mainstream Internet discount lottery marketing and promotion activities, SMS precision marketing promotion proactively sends text messages to 10 to 20 million precision marketing users every day for promotion. There is a large number of concurrent users participating in activities during the promotion period.
当前常规的移动互联网优惠抽奖活动框架为MVC(Model View Controller)模型,属于同步请求方式框架。用户通过用户终端浏览器发送的用于参加优惠抽奖活动的HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求通过同步方式调用,同步方式下的B/S(Browser/Server,浏览器/服务器)模式包括:提交请求→等待服务器处理→处理完毕返回。在此期间用户终端浏览器无法执行其他操作。在高并发情况下,当线程池达到最大线程数时,所有可用线程都在阻塞状态下,后续再进入的HTTP请求只能排队,响应时长开始上升。如果要改善页面响应情况,需要对服务器扩容来支撑更多并发请求。The current conventional mobile Internet discount lottery activity framework is the MVC (Model View Controller) model, which belongs to the synchronous request method framework. The HTTP (Hyper Text Transfer Protocol, Hypertext Transfer Protocol) request sent by the user through the user terminal browser to participate in the preferential lottery is called synchronously, and the B/S (Browser/Server, browser/server) in the synchronous mode The modes include: Submit request → Wait for server processing → Return after processing. During this period the user terminal browser cannot perform other operations. In high concurrency situations, when the thread pool reaches the maximum number of threads, all available threads are blocked, subsequent HTTP requests can only be queued, and the response time begins to increase. If you want to improve page response, you need to expand the server capacity to support more concurrent requests.
因此,当前优惠抽奖活动存在大量并发时,容易造成活动页面阻塞,页面加载出现缓慢刷新白屏等现象,用户体验极差。Therefore, when there is a large amount of concurrency in the current preferential lottery activities, it is easy to cause the event page to be blocked, the page to load slowly and refresh the white screen, etc., and the user experience is extremely poor.
发明内容Contents of the invention
本发明实施例提供一种优惠抽奖活动的并发处理方法和装置,用以解决现有的优惠抽奖存在大量并发时容易出现页面阻塞、白屏等影响用户体验的情况的问题。Embodiments of the present invention provide a concurrent processing method and device for preferential lottery activities to solve the problem that existing preferential lottery draws are prone to page blocking, white screens and other situations that affect user experience when there is a large amount of concurrency.
第一方面,本发明实施例提供一种优惠抽奖活动的并发处理方法,包括:In a first aspect, an embodiment of the present invention provides a concurrent processing method for preferential lottery activities, including:
接收任一用户终端发送的通过活动框架传输的活动请求;所述活动框架是基于Spring WebFlux构建的;Receive activity requests transmitted through the activity framework sent by any user terminal; the activity framework is built based on Spring WebFlux;
基于所述活动请求生成活动反馈;Generate activity feedback based on the activity request;
将所述活动反馈通过所述活动框架返回至所述任一用户终端。The activity feedback is returned to the any user terminal through the activity frame.
第二方面,本发明实施例提供一种优惠抽奖活动的并发处理装置,包括:In a second aspect, embodiments of the present invention provide a concurrent processing device for preferential lottery activities, including:
接收模块,用于接收任一用户终端发送的通过活动框架传输的活动请求;所述活动框架是基于Spring WebFlux构建的;The receiving module is used to receive activity requests transmitted through the activity framework sent by any user terminal; the activity framework is built based on Spring WebFlux;
处理模块,用于基于所述活动请求生成活动反馈;a processing module configured to generate activity feedback based on the activity request;
反馈模块,用于将所述活动反馈通过所述活动框架返回至所述任一用户终端。A feedback module, configured to return the activity feedback to any user terminal through the activity framework.
第三方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第一方面所提供的方法的步骤。In a third aspect, embodiments of the present invention provide an electronic device, including a processor, a communication interface, a memory, and a bus. The processor, the communication interface, and the memory complete communication with each other through the bus, and the processor can call logic in the memory. Instructions to perform the steps of a method as provided in the first aspect.
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。In a fourth aspect, embodiments of the present invention provide a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the method provided in the first aspect are implemented.
本发明实施例提供的一种优惠抽奖活动的并发处理方法和装置,通过基于SpringWebFlux构建的活动框架,异步处理活动请求,从而实现以并行方式执行同步环境下的各种功能,避免了高并发状态下大量线程的产生,减少了阻塞的概率,规避了线程排队等待的情况,从而可以用少量而固定的线程处理应对大量请求的处理,且方便后续升级,极大程度上提高优惠抽奖活动的并发处理能力,优化了用户体验。The embodiments of the present invention provide a concurrent processing method and device for preferential lottery activities. Through the activity framework built based on Spring Web Flux, activity requests are processed asynchronously, thereby realizing the execution of various functions in a synchronous environment in a parallel manner and avoiding a high concurrency state. The generation of a large number of threads reduces the probability of blocking and avoids the situation of threads waiting in queue, so that a small number of fixed threads can be used to handle a large number of requests, and subsequent upgrades are facilitated, which greatly improves the concurrency of discount lottery activities. processing power, optimizing user experience.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without exerting creative efforts.
图1为本发明实施例提供的优惠抽奖活动的并发处理方法的流程示意图;Figure 1 is a schematic flowchart of a concurrent processing method for preferential lottery activities provided by an embodiment of the present invention;
图2为本发明实施例提供的优惠抽奖活动的并发处理结构示意图;Figure 2 is a schematic diagram of the concurrent processing structure of the preferential lottery provided by the embodiment of the present invention;
图3为本发明又一实施例提供的优惠抽奖活动的并发处理方法的流程示意图;Figure 3 is a schematic flowchart of a concurrent processing method for preferential lottery activities provided by yet another embodiment of the present invention;
图4为本发明实施例提供的优惠抽奖活动的并发处理装置的结构示意图;Figure 4 is a schematic structural diagram of a concurrent processing device for preferential lottery activities provided by an embodiment of the present invention;
图5为本发明实施例提供的电子设备的结构示意图。FIG. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments These are some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without making creative efforts fall within the scope of protection of the present invention.
针对当前优惠抽奖活动存在大量并发时,容易造成活动页面阻塞,页面加载出现缓慢刷新白屏等现象,用户体验极差的问题,本发明实施例提供了一种优惠抽奖活动的并发处理方法。图1为本发明实施例提供的优惠抽奖活动的并发处理方法的流程示意图,如图1所示,该方法的执行主体为具备处理优惠抽奖活动功能的处理单元,该方法包括:In order to solve the problem that when there is a large amount of concurrency in the current preferential lottery activities, it is easy to cause the event page to be blocked, the page loading to slow down and refresh the white screen, etc., and the user experience is extremely poor, an embodiment of the present invention provides a concurrency processing method for the preferential lottery activities. Figure 1 is a schematic flow chart of a concurrent processing method for preferential lottery activities provided by an embodiment of the present invention. As shown in Figure 1, the execution subject of the method is a processing unit capable of processing preferential lottery activities. The method includes:
110,接收任一用户终端发送的通过活动框架传输的活动请求;活动框架是基于Spring WebFlux构建的。110. Receive activity requests transmitted through the activity framework sent by any user terminal; the activity framework is built based on Spring WebFlux.
此处,用户终端为用户用于进行优惠抽奖活动的智能终端,用户终端可以是智能手机、平板电脑或笔记本电脑等。活动请求是用户通过用户终端发送的用于执行优惠抽奖活动的HTTP请求。用户通过用户终端将活动请求发送到活动框架,经由活动框架将活动请求发送到处理单元。此处,活动框架用于接管由各个用户终端发送的活动请求。活动框架是基于Spring WebFlux构建的,Spring WebFlux是一种响应式Web框架,可以用来建立异步的、非阻塞的、事件驱动的服务。基于Spring WebFlux构建的活动框架可以与处理单元设置在同一服务器或不同服务器上,本发明实施例对此不作具体限定。Here, the user terminal is a smart terminal used by users to conduct preferential lottery activities. The user terminal can be a smart phone, a tablet computer, a laptop computer, etc. The activity request is an HTTP request sent by the user through the user terminal to execute the promotional lottery activity. The user sends an activity request to the activity frame through the user terminal, and the activity request is sent to the processing unit via the activity frame. Here, the activity framework is used to take over activity requests sent by respective user terminals. The activity framework is built on Spring WebFlux, a reactive web framework that can be used to build asynchronous, non-blocking, event-driven services. The activity framework built based on Spring WebFlux can be set up on the same server or on a different server as the processing unit. This is not specifically limited in the embodiment of the present invention.
活动请求由活动框架接管后,由活动框架与处理单元通信,将活动请求传输至处理单元进行处理。此处,由于活动框架应用了Spring WebFlux的非阻塞HTTP技术,相比当前通用的基于MVC模型的活动框架,能够以并行方式执行同步环境下的各种功能,进而极大程度上提高优惠抽奖活动的并发处理能力。After the activity request is taken over by the activity framework, the activity framework communicates with the processing unit and transmits the activity request to the processing unit for processing. Here, because the activity framework applies the non-blocking HTTP technology of Spring WebFlux, compared with the current common activity framework based on the MVC model, it can execute various functions in a synchronous environment in a parallel manner, thus greatly improving the discount lottery activities. concurrent processing capabilities.
120,基于活动请求生成活动反馈。120. Generate activity feedback based on the activity request.
此处,活动反馈是基于活动请求给出的反馈信息,用于指示用户终端执行优惠抽奖活动的下一流程。针对活动框架下发的活动请求,生成该活动请求对应的活动反馈。例如,当活动请求为验证抽奖资格,则活动反馈为抽奖资格合格或抽奖资格不合格;又例如,当活动请求为执行抽奖,则活动反馈为已获奖或未获奖。Here, the activity feedback is feedback information given based on the activity request, and is used to instruct the user terminal to perform the next process of the preferential lottery activity. For activity requests issued by the activity framework, activity feedback corresponding to the activity request is generated. For example, when the activity request is to verify the lottery qualification, the activity feedback is that the lottery qualification is qualified or the lottery qualification is not qualified; for example, when the activity request is to execute the lottery, the activity feedback is that the prize has been awarded or not.
130,将活动反馈通过活动框架返回至该用户终端。130. Return activity feedback to the user terminal through the activity frame.
具体地,在处理单元生成活动反馈后,处理单元将活动反馈传输至活动框架,经由活动框架将活动反馈返回至发送活动请求的用户终端,以使得用户终端能够根据活动反馈执行优惠抽奖活动的下一流程。例如,当活动反馈为抽奖资格合格,则用户终端显示抽奖资格合格,并跳转至抽奖界面,提示用户进行抽奖操作;又例如,当活动反馈为未获奖,则用户终端显示未获奖,提示用户本次抽奖未获奖,或者等待用户指示进行再次抽奖。Specifically, after the processing unit generates the activity feedback, the processing unit transmits the activity feedback to the activity frame, and returns the activity feedback to the user terminal that sent the activity request via the activity frame, so that the user terminal can execute the next step of the preferential lottery activity based on the activity feedback. One process. For example, when the activity feedback is that the lottery qualifications are passed, the user terminal displays that the lottery qualifications are passed, and jumps to the lottery interface, prompting the user to perform the lottery operation; for another example, when the activity feedback is that the prize has not been won, the user terminal displays that the prize has not been won, and prompts the user No prizes were awarded in this lottery, or the user is waiting for instructions from the user to conduct another lottery.
本发明实施例提供的方法,通过基于Spring WebFlux构建的活动框架,异步处理活动请求,从而实现以并行方式执行同步环境下的各种功能,避免了高并发状态下大量线程的产生,减少了阻塞的概率,规避了线程排队等待的情况,从而可以用少量而固定的线程处理应对大量请求的处理,且方便后续升级,极大程度上提高优惠抽奖活动的并发处理能力,优化了用户体验。The method provided by the embodiment of the present invention processes activity requests asynchronously through the activity framework built based on Spring WebFlux, thereby realizing the execution of various functions in a synchronous environment in a parallel manner, avoiding the generation of a large number of threads in a high concurrency state, and reducing blocking. probability, avoiding the situation of threads waiting in queue, so that a small number of fixed threads can be used to handle a large number of requests, and subsequent upgrades are facilitated, which greatly improves the concurrent processing capacity of discount lottery activities and optimizes the user experience.
基于上述实施例,步骤110之后,该方法还包括:若线程池中无可用线程,则将活动请求设置为等待就绪状态。Based on the above embodiment, after step 110, the method further includes: if there is no available thread in the thread pool, setting the activity request to a waiting ready state.
具体地,在接收到活动请求后,若当前线程池中无可用线程,则将该活动请求设置为等待就绪状态,暂不基于该活动请求生成活动反馈。需要说明的是,处于等待就绪状态下的活动请求不占用资源,等待线程池中存在可用线程时,再将处于等待就绪状态下的活动请求设置为正常状态,基于活动请求生成活动反馈。Specifically, after receiving the activity request, if there are no available threads in the current thread pool, the activity request is set to the waiting ready state, and activity feedback is not generated based on the activity request for the time being. It should be noted that activity requests in the waiting ready state do not occupy resources. When there are available threads in the waiting thread pool, the activity requests in the waiting ready state are set to the normal state, and activity feedback is generated based on the activity requests.
基于上述任一实施例,步骤120具体包括:当活动请求为抽奖次数查询请求时,从数据库中提取抽奖次数查询请求对应的用户的已用抽奖次数;若已用抽奖次数小于预设抽奖次数,则生成抽奖许可信息作为活动反馈;否则,生成未获奖信息作为活动反馈。Based on any of the above embodiments, step 120 specifically includes: when the activity request is a lottery number query request, extract the used number of lottery draws of the user corresponding to the lottery number query request from the database; if the used number of lottery draws is less than the preset number of lottery draws, Then generate lottery permission information as activity feedback; otherwise, generate non-winner information as activity feedback.
具体地,在进行抽奖操作之前,需要对用户的抽奖资格进行检验。本发明实施例中,针对每一用户设置限定的抽奖次数,即预设抽奖次数,每一用户参与抽奖的次数不能超过预设抽奖次数。每一用户的抽奖次数存储在于处理单元连接的数据库中,且根据用户参与抽奖的情况进行实时更新。Specifically, before performing the lottery operation, the user's lottery qualifications need to be verified. In the embodiment of the present invention, a limited number of draws is set for each user, that is, a preset number of draws, and the number of times each user participates in the draw cannot exceed the preset number of draws. The number of lottery draws for each user is stored in the database connected to the processing unit, and is updated in real time based on the user's participation in the lottery.
当活动请求为抽奖次数查询请求时,在接收到活动请求后,处理单元从数据库中提取当前发送活动请求的用户的已用抽奖次数,并将已用抽奖次数与预设抽奖次数进行比较:如果已用抽奖次数等于预设抽奖次数,则用户的抽奖次数已用完,用户不再具备抽奖资格,则生成的活动反馈为未获奖信息,未获奖信息用于指示用户此次抽奖未获奖。如果已用抽奖次数小于预设抽奖次数,则当前用户符合抽奖条件,生成的活动反馈为抽奖许可信息,抽奖许可信息用于指示用户具备抽奖条件,能够参与抽奖活动。When the activity request is a lottery number query request, after receiving the activity request, the processing unit extracts the used number of draws from the database for the user currently sending the activity request, and compares the used number of draws with the preset number of draws: If If the number of used draws is equal to the preset number of draws, the user's draws have been used up and the user is no longer eligible for the draw. The generated activity feedback is non-winning information, and the non-winning information is used to indicate that the user has not won a prize in this lottery. If the number of used draws is less than the preset number of draws, the current user meets the lottery conditions, and the generated activity feedback is the lottery permission information. The lottery permission information is used to indicate that the user meets the lottery conditions and can participate in the lottery activities.
基于上述任一实施例,步骤120具体包括:当活动请求为抽奖请求时,从数据库中提取当前奖品数量;若当前奖品数量大于0且存在获奖概率,则从数据库中提取获奖概率,并基于获奖概率计算获奖情况;若当前奖品数量大于0且未设置获奖概率,则将获奖情况设置为已获奖;若获奖情况为已获奖,则生成获奖信息作为活动反馈;否则,生成未获奖信息作为活动反馈。Based on any of the above embodiments, step 120 specifically includes: when the activity request is a lottery request, extract the current number of prizes from the database; if the current number of prizes is greater than 0 and there is a winning probability, extract the winning probability from the database, and based on the winning Probability calculation of winning status; if the current number of prizes is greater than 0 and the winning probability is not set, the winning status is set to Already Won; if the winning status is Already Won, the winning information is generated as activity feedback; otherwise, the non-awarding information is generated as activity feedback .
具体地,抽奖请求用于指示处理单元执行抽奖操作,并返回抽奖结果。本发明实施例中,针对优惠抽奖活动,预设有奖品总量。每次获奖后相应的当前奖品数量会更新。当前奖品数量存储在于处理单元连接的数据库中。Specifically, the lottery request is used to instruct the processing unit to perform a lottery operation and return the lottery results. In the embodiment of the present invention, for the preferential lottery activities, the total amount of prizes is preset. The corresponding current prize quantity will be updated after each win. The current prize quantity is stored in a database to which the processing unit is connected.
处理单元接收到抽奖请求后,从数据库中提取当前奖品数量,基于当前奖品数量判断是否有奖品可用于抽奖:如果当前奖品数量大于0,即当前时刻存在可用于抽奖的奖品;如果当前奖品数量为0,则已无剩余奖品可用于抽奖,不具体获奖条件,生成未获奖信息作为活动反馈,此处未获奖信息用于指示用户此次抽奖未获奖。After receiving the lottery request, the processing unit extracts the current number of prizes from the database and determines whether there are prizes available for the lottery based on the current number of prizes: if the current number of prizes is greater than 0, that is, there are prizes available for the lottery at the current moment; if the current number of prizes is 0, then there are no remaining prizes available for the lottery. Without specific winning conditions, the non-awarded information is generated as event feedback. The non-awarded information here is used to indicate that the user has not won a prize in this lottery.
此外,针对优惠抽奖活动,可能预先设定有获奖概率。此处获奖概率用于指示任一用户参与抽奖的获奖概率。在当前奖品数量大于0的情况下,判断数据库中是否存储有预先设定的获奖概率。如果存在获奖概率,则处理单元从数据库中提取获奖概率,并根据获奖概率计算获奖情况,此处获奖情况为已获奖或未获奖。如果不存在获奖概率,则默认参与抽奖且存在可用于抽奖的奖品即可获奖,将获奖情况直接设置为已获奖。In addition, for promotional sweepstakes, the probability of winning may be pre-set. The winning probability here is used to indicate the winning probability of any user participating in the lottery. When the current number of prizes is greater than 0, it is determined whether a preset winning probability is stored in the database. If there is a winning probability, the processing unit extracts the winning probability from the database and calculates the winning situation based on the winning probability, where the winning situation is whether the winning situation has been won or not. If there is no probability of winning, you will win by default if you participate in the lottery and there are prizes available for the lottery, and the winning status will be directly set to winning.
随后,根据获奖情况生成对应的活动反馈。如果获奖情况为已获奖,则处理单元生成获奖信息作为活动反馈,此处,获奖信息用于表征用户获奖,获奖信息还可以包含获奖奖品。如果获奖情况为未获奖,则处理单元生成未获奖信息作为活动反馈。Subsequently, corresponding activity feedback is generated based on the award-winning status. If the award-winning status is that the user has won, the processing unit generates award-winning information as activity feedback. Here, the award-winning information is used to represent that the user has won the award, and the award-winning information may also include the winning prize. If the winning situation is no winning, the processing unit generates non-winning information as activity feedback.
基于上述任一实施例,步骤120具体包括:当活动请求为兑奖请求时,生成兑奖信息作为活动反馈。Based on any of the above embodiments, step 120 specifically includes: when the activity request is a reward redemption request, generating reward redemption information as activity feedback.
在抽奖完成后,如果用户获奖,则用户终端通过活动框架将兑奖请求传输至处理单元,此处,兑奖请求用于指示处理单元下发用户获奖的具体奖品。处理单元接收到兑奖请求后,生成兑奖信息作为活动反馈,此处,兑奖信息用于表征当前获奖的奖品已下发。此外,处理单元还可以基于兑奖请求下发奖品,例如奖品为流量或者电子券等虚拟商品时,处理单元可以基于兑奖信息直接将奖品下发到用户账户中,并通过兑奖信息告知用户奖品已下发。After the lottery is completed, if the user wins the prize, the user terminal transmits the prize redemption request to the processing unit through the activity framework. Here, the prize redemption request is used to instruct the processing unit to issue the specific prize that the user won. After receiving the prize redemption request, the processing unit generates prize redemption information as activity feedback. Here, the prize redemption information is used to indicate that the current prize has been issued. In addition, the processing unit can also issue prizes based on the prize redemption request. For example, when the prize is virtual goods such as traffic or electronic coupons, the processing unit can directly issue the prize to the user account based on the prize redemption information, and inform the user that the prize has been issued through the prize redemption information. hair.
基于上述任一实施例,数据库设置有Redis分布式锁。Based on any of the above embodiments, the database is provided with a Redis distributed lock.
Redis分布式锁通过搭建Redis服务器来存储锁信息,从而实现用分布式锁控制多个线程对资源的访问,以避免多个线程同时调用数据库中的已用抽奖次数、当前奖品数量等信息,未及时更新导致的奖品多发、商品负库存、同一用户超次数抽奖等问题。Redis distributed lock builds a Redis server to store lock information, thereby realizing the use of distributed locks to control multiple threads' access to resources to prevent multiple threads from calling the number of used draws, current number of prizes and other information in the database at the same time. Timely updates lead to problems such as multiple prizes, negative product inventory, and excessive draws for the same user.
对应地,当活动请求为抽奖请求时,对应更新数据库中活动请求对应的用户的已用抽奖次数,避免用户的实际抽奖次数超过预设抽奖次数。Correspondingly, when the activity request is a lottery request, the used number of lottery draws of the user corresponding to the activity request in the database is correspondingly updated to prevent the user's actual number of lottery draws from exceeding the preset number of lottery draws.
在抽奖过程中,若获奖情况为已获奖,则对应更新数据库中的当前奖品数量,对应减少当前奖品数量中已获奖的奖品类目下的奖品数量,以避免当前奖品数量的统计出现延迟,导致奖品多发或者商品负库存的情况。During the lottery process, if the winning status is already won, the current number of prizes in the database should be updated accordingly, and the number of prizes under the category of prizes that have been won should be reduced in the current number of prizes to avoid delays in the statistics of the current number of prizes, resulting in The situation of too many prizes or negative inventory of goods.
基于上述任一实施例,图2为本发明实施例提供的优惠抽奖活动的并发处理结构示意图,图3为本发明又一实施例提供的优惠抽奖活动的并发处理方法的流程示意图,如图2、图3所示。优惠抽奖活动的并发处理方法包括如下步骤:Based on any of the above embodiments, Figure 2 is a schematic structural diagram of the concurrent processing of preferential lottery activities provided by an embodiment of the present invention, and Figure 3 is a schematic flow diagram of a concurrent processing method of preferential lottery activities provided by another embodiment of the present invention, as shown in Figure 2 , shown in Figure 3. The concurrent processing method of preferential lottery activities includes the following steps:
用户通过用户终端登录后,在参与抽奖之前,发出为抽奖次数查询请求的活动请求。抽奖次数查询请求通过基于Spring WebFlux构建的活动框架传输至处理单元,处理单元接收到抽奖次数查询请求后,从数据库中提取该用户的已用抽奖次数,如果已用抽奖次数等于预设抽奖次数,则用户的抽奖次数已用完,用户不再具备抽奖资格,则生成的活动反馈为未获奖信息。如果已用抽奖次数小于预设抽奖次数,则当前用户符合抽奖条件,生成的活动反馈为抽奖许可信息。随即处理单元将活动反馈通过活动框架传输至用户终端。After the user logs in through the user terminal, before participating in the lottery, the user issues an activity request for querying the number of lottery draws. The query request for the number of draws is transmitted to the processing unit through the activity framework built on Spring WebFlux. After receiving the query request for the number of draws, the processing unit extracts the number of used draws for the user from the database. If the number of used draws is equal to the preset number of draws, Then the user's number of draws has been used up and the user is no longer eligible for the draw, and the generated activity feedback will be information about not winning. If the number of used draws is less than the preset number of draws, the current user meets the conditions for the draw, and the generated activity feedback is the draw permission information. The processing unit then transmits the activity feedback to the user terminal through the activity frame.
如果用户终端接收到的活动反馈为抽奖许可信息,则用户终端进入优惠抽奖获取页面,用户通过用户终端点击抽奖,用户终端发出为抽奖请求的活动请求。抽奖请求通过活动框架传输至处理单元,处理单元接收到抽奖请求后,从数据库中提取当前奖品数量,基于当前奖品数量判断是否有奖品可用于抽奖:如果当前奖品数量大于0,即当前时刻存在可用于抽奖的奖品;如果当前奖品数量为0,则已无剩余奖品可用于抽奖,不具体获奖条件,生成未获奖信息作为活动反馈。If the activity feedback received by the user terminal is lottery permission information, the user terminal enters the preferential lottery acquisition page, the user clicks the lottery through the user terminal, and the user terminal sends an activity request for the lottery request. The lottery request is transmitted to the processing unit through the activity framework. After receiving the lottery request, the processing unit extracts the current number of prizes from the database and determines whether there are prizes available for the lottery based on the current number of prizes: if the current number of prizes is greater than 0, that is, there are available prizes at the current moment. Prizes for the lottery; if the current number of prizes is 0, there are no remaining prizes available for the lottery. No winning conditions are specified, and non-prize information is generated as event feedback.
若当前奖品数量大于0,则处理单元判断数据库中是否存储有预先设定的获奖概率。如果存在获奖概率,则处理单元从数据库中提取获奖概率,并根据获奖概率计算获奖情况,此处获奖情况为已获奖或未获奖。如果不存在获奖概率,则默认参与抽奖且存在可用于抽奖的奖品即可获奖,将获奖情况直接设置为已获奖。随后,根据获奖情况生成对应的活动反馈。如果获奖情况为已获奖,则处理单元生成获奖信息作为活动反馈,此处,获奖信息用于表征用户获奖,获奖信息还可以包含获奖奖品。如果获奖情况为未获奖,则处理单元生成未获奖信息作为活动反馈。接着,处理单元将活动反馈通过活动框架传输至用户终端。If the current number of prizes is greater than 0, the processing unit determines whether the preset winning probability is stored in the database. If there is a winning probability, the processing unit extracts the winning probability from the database and calculates the winning situation based on the winning probability, where the winning situation is whether the winning situation has been won or not. If there is no probability of winning, you will win by default if you participate in the lottery and there are prizes available for the lottery, and the winning status will be directly set to winning. Subsequently, corresponding activity feedback is generated based on the award-winning status. If the award-winning status is that the user has won, the processing unit generates award-winning information as activity feedback. Here, the award-winning information is used to represent that the user has won the award, and the award-winning information may also include the winning prize. If the winning situation is no winning, the processing unit generates non-winning information as activity feedback. Then, the processing unit transmits the activity feedback to the user terminal through the activity framework.
如果用户终端接收到的活动反馈为获奖信息,则用户终端进入用户获奖页面,提示用户获奖。用户通过用户终端点击兑奖,用户终端发出为兑奖请求的活动请求。兑奖请求通过活动框架传输至处理单元,处理单元接收到兑奖请求后,基于兑奖请求下发奖品,并生成兑奖信息作为活动反馈告知用户奖品已下发。活动反馈通过活动框架传输至用户终端。If the activity feedback received by the user terminal is award-winning information, the user terminal enters the user award-winning page and prompts the user to win the award. The user clicks to redeem the prize through the user terminal, and the user terminal issues an activity request for the prize redemption request. The prize redemption request is transmitted to the processing unit through the activity framework. After receiving the prize redemption request, the processing unit issues the prize based on the prize redemption request and generates prize redemption information as activity feedback to inform the user that the prize has been issued. Activity feedback is transmitted to the user terminal through the activity framework.
如果用户终端接收到的活动反馈为兑奖信息,则用户终端进入兑奖成功页面,提示用户奖品已成功兑换。If the activity feedback received by the user terminal is prize redemption information, the user terminal enters the prize redemption success page, prompting the user that the prize has been successfully redeemed.
如果用户终端接收到的活动反馈为未获奖信息,则用户终端进入未获奖页面,提示用户未获奖。If the activity feedback received by the user terminal is non-award-winning information, the user terminal will enter the non-award-winning page, prompting the user that he has not won a prize.
本发明实施例提供的方法,通过基于Spring WebFlux构建的活动框架,异步处理活动请求,从而实现以并行方式执行同步环境下的各种功能,避免了高并发状态下大量线程的产生,减少了阻塞的概率,规避了线程排队等待的情况,从而可以用少量而固定的线程处理应对大量请求的处理,且方便后续升级,极大程度上提高优惠抽奖活动的并发处理能力,优化了用户体验。The method provided by the embodiment of the present invention processes activity requests asynchronously through the activity framework built based on Spring WebFlux, thereby realizing the execution of various functions in a synchronous environment in a parallel manner, avoiding the generation of a large number of threads in a high concurrency state, and reducing blocking. probability, avoiding the situation of threads waiting in queue, so that a small number of fixed threads can be used to handle a large number of requests, and subsequent upgrades are facilitated, which greatly improves the concurrent processing capacity of discount lottery activities and optimizes the user experience.
基于上述任一实施例,基于Spring WebFlux构建的活动框架,在底层处理支持异步模式,支持Netty,Undertow等异步容器和Servlet 3.1标准的容器。Based on any of the above embodiments, the activity framework built based on Spring WebFlux supports asynchronous mode in underlying processing, and supports asynchronous containers such as Netty, Undertow and Servlet 3.1 standard containers.
其中,Netty是一套异步的、事件驱动的网络应用程序框架和工具,能够开发高性能、高可靠性的网络服务器和客户端程序,因此与同样是异步的、事件驱动的响应式编程范式吻合。在Java 7推出异步I/O库,以及Servlet3.1增加了对异步I/O的支持之后,Tomcat等Servlet容器也随后开始支持异步I/O,然后Spring WebMVC也增加了对Reactor库的支持在Web容器的选择上,Spring WebFlux既支持像Tomcat、Jetty等传统容器,又支持像Netty、Undertow等异步容器。针对上述容器,基于Spring WebFlux构建的活动框架都会将其输入输出流适配成Flux<DataBuffer>格式,以便进行统一处理。Among them, Netty is a set of asynchronous, event-driven network application frameworks and tools that can develop high-performance, high-reliability network server and client programs, so it is consistent with the same asynchronous, event-driven reactive programming paradigm. . After Java 7 launched the asynchronous I/O library and Servlet 3.1 added support for asynchronous I/O, Servlet containers such as Tomcat also began to support asynchronous I/O, and then Spring WebMVC also added support for the Reactor library. When it comes to the choice of web containers, Spring WebFlux supports both traditional containers such as Tomcat and Jetty, and asynchronous containers such as Netty and Undertow. For the above containers, the activity framework built based on Spring WebFlux will adapt its input and output streams into the Flux<DataBuffer> format for unified processing.
此外,在本发明实施例提供的方法中,同样地基于Spring WebFlux,还提供了一种响应式的Http客户端API WebClient。上述客户端可以用函数式的方式异步非阻塞地发起Http请求并处理响应,其底层也是由Netty提供的异步支持。In addition, in the method provided by the embodiment of the present invention, also based on Spring WebFlux, a responsive Http client API WebClient is also provided. The above-mentioned client can initiate HTTP requests and process responses asynchronously and non-blockingly in a functional manner. The underlying layer is also asynchronously supported by Netty.
基于上述任一实施例,图4为本发明实施例提供的优惠抽奖活动的并发处理装置的结构示意图,如图4所示,优惠抽奖活动的并发处理装置包括接收模块410、处理模块420和反馈模块430;Based on any of the above embodiments, Figure 4 is a schematic structural diagram of a concurrent processing device for preferential lottery activities provided by an embodiment of the present invention. As shown in Figure 4, the concurrent processing device for preferential lottery activities includes a receiving module 410, a processing module 420 and a feedback module. module 430;
其中,接收模块410用于接收任一用户终端发送的通过活动框架传输的活动请求;所述活动框架是基于Spring WebFlux构建的;Among them, the receiving module 410 is used to receive activity requests transmitted through the activity framework sent by any user terminal; the activity framework is built based on Spring WebFlux;
处理模块420用于基于所述活动请求生成活动反馈;The processing module 420 is configured to generate activity feedback based on the activity request;
反馈模块430用于将所述活动反馈通过所述活动框架返回至所述任一用户终端。The feedback module 430 is configured to return the activity feedback to any user terminal through the activity framework.
本发明实施例提供的装置,通过基于Spring WebFlux构建的活动框架,异步处理活动请求,从而实现以并行方式执行同步环境下的各种功能,避免了高并发状态下大量线程的产生,减少了阻塞的概率,规避了线程排队等待的情况,从而可以用少量而固定的线程处理应对大量请求的处理,且方便后续升级,极大程度上提高优惠抽奖活动的并发处理能力,优化了用户体验。The device provided by the embodiment of the present invention processes activity requests asynchronously through the activity framework built based on Spring WebFlux, thereby realizing the execution of various functions in a synchronous environment in a parallel manner, avoiding the generation of a large number of threads in a high concurrency state, and reducing blocking. probability, avoiding the situation of threads waiting in queue, so that a small number of fixed threads can be used to handle a large number of requests, and subsequent upgrades are facilitated, which greatly improves the concurrent processing capacity of discount lottery activities and optimizes the user experience.
基于上述任一实施例,该装置还包括缓存单元;Based on any of the above embodiments, the device further includes a cache unit;
所述缓存单元用于若线程池中无可用线程,则将所述活动请求设置为等待就绪状态。The cache unit is used to set the activity request to a waiting ready state if there is no available thread in the thread pool.
基于上述任一实施例,处理模块420具体用于:Based on any of the above embodiments, the processing module 420 is specifically used to:
当所述活动请求为抽奖次数查询请求时,从数据库中提取所述抽奖次数查询请求对应的用户的已用抽奖次数;When the activity request is a lottery number query request, extract the user's used lottery times corresponding to the lottery number query request from the database;
若所述已用抽奖次数小于预设抽奖次数,则生成抽奖许可信息作为所述活动反馈;否则,生成未获奖信息作为所述活动反馈。If the number of used lottery draws is less than the preset number of lottery draws, lottery permission information is generated as the activity feedback; otherwise, no-win information is generated as the activity feedback.
基于上述任一实施例,处理模块420具体用于:当所述活动请求为抽奖请求时,从数据库中提取当前奖品数量;Based on any of the above embodiments, the processing module 420 is specifically configured to: when the activity request is a lottery request, extract the current number of prizes from the database;
若所述当前奖品数量大于0且存在获奖概率,则从所述数据库中提取所述获奖概率,并基于所述获奖概率计算获奖情况;If the current number of prizes is greater than 0 and there is a winning probability, then extract the winning probability from the database and calculate the winning situation based on the winning probability;
若所述当前奖品数量大于0且未设置获奖概率,则将所述获奖情况设置为已获奖;If the current number of prizes is greater than 0 and the probability of winning is not set, then the winning situation is set as winning;
若所述获奖情况为已获奖,则生成获奖信息作为所述活动反馈;If the award-winning situation is that the award has been awarded, the award-winning information will be generated as feedback for the activity;
否则,生成未获奖信息作为所述活动反馈。Otherwise, non-award-winning information is generated as the activity feedback.
基于上述任一实施例,处理模块420具体用于:当所述活动请求为兑奖请求时,生成兑奖信息作为所述活动反馈。Based on any of the above embodiments, the processing module 420 is specifically configured to: when the activity request is a prize redemption request, generate prize redemption information as the activity feedback.
基于上述任一实施例,所述数据库设置有Redis分布式锁;处理模块420还用于:若所述获奖情况为已获奖,则对应更新所述数据库中的所述当前奖品数量。Based on any of the above embodiments, the database is provided with a Redis distributed lock; the processing module 420 is also configured to: if the winning situation is that the award has been won, correspondingly update the current number of prizes in the database.
图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储在存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的优惠抽奖活动的并发处理方法,例如包括:接收任一用户终端发送的通过活动框架传输的活动请求;所述活动框架是基于Spring WebFlux构建的;基于所述活动请求生成活动反馈;将所述活动反馈通过所述活动框架返回至所述任一用户终端。Figure 5 is a schematic diagram of the physical structure of an electronic device provided by an embodiment of the present invention. As shown in Figure 5, the electronic device may include: a processor (processor) 501, a communications interface (Communications Interface) 502, a memory (memory) 503 and a communication interface. Bus 504, in which the processor 501, the communication interface 502, and the memory 503 complete communication with each other through the communication bus 504. The processor 501 can call a computer program stored on the memory 503 and executable on the processor 501 to execute the concurrent processing method of preferential lottery activities provided by the above embodiments, for example, including: receiving an activity sent by any user terminal. Activity requests transmitted by the framework; the activity framework is built based on Spring WebFlux; activity feedback is generated based on the activity request; and the activity feedback is returned to any user terminal through the activity framework.
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。In addition, the above-mentioned logical instructions in the memory 503 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the embodiment of the present invention is essentially, or the part that contributes to the existing technology, or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in various embodiments of the present invention. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code. .
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的优惠抽奖活动的并发处理方法,例如包括:接收任一用户终端发送的通过活动框架传输的活动请求;所述活动框架是基于Spring WebFlux构建的;基于所述活动请求生成活动反馈;将所述活动反馈通过所述活动框架返回至所述任一用户终端。Embodiments of the present invention also provide a non-transitory computer-readable storage medium on which a computer program is stored. The computer program is implemented when executed by a processor to execute the concurrent processing method for preferential lottery activities provided by the above embodiments, for example It includes: receiving an activity request transmitted through an activity framework sent by any user terminal; the activity framework is built based on Spring WebFlux; generating activity feedback based on the activity request; returning the activity feedback to the user through the activity framework any user terminal.
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。The device embodiments described above are only illustrative. The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they may be located in One location, or it can be distributed across multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Persons of ordinary skill in the art can understand and implement the method without any creative effort.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the part of the above technical solution that essentially contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., including a number of instructions to cause a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments or certain parts of the embodiments.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be used Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent substitutions are made to some of the technical features; however, these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811457761.4ACN111258768B (en) | 2018-11-30 | 2018-11-30 | Concurrent processing method and device for preferential lottery drawing activities |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811457761.4ACN111258768B (en) | 2018-11-30 | 2018-11-30 | Concurrent processing method and device for preferential lottery drawing activities |
| Publication Number | Publication Date |
|---|---|
| CN111258768A CN111258768A (en) | 2020-06-09 |
| CN111258768Btrue CN111258768B (en) | 2023-09-19 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811457761.4AActiveCN111258768B (en) | 2018-11-30 | 2018-11-30 | Concurrent processing method and device for preferential lottery drawing activities |
| Country | Link |
|---|---|
| CN (1) | CN111258768B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112347116A (en)* | 2020-10-30 | 2021-02-09 | 银盛支付服务股份有限公司 | Cache-based activity prize getting method |
| CN113034207A (en)* | 2021-04-20 | 2021-06-25 | 青岛冠成软件有限公司 | Lottery information processing method, device, server and readable storage medium |
| CN114996031B (en)* | 2022-08-03 | 2022-12-27 | 飞狐信息技术(天津)有限公司 | Lottery drawing method and related device |
| CN115330451A (en)* | 2022-08-15 | 2022-11-11 | 上海唯都市场营销策划股份有限公司 | Dynamic adjustable and configurable real-time lottery drawing method and system supporting high concurrency |
| CN120378492A (en)* | 2025-06-25 | 2025-07-25 | 飞狐信息技术(天津)有限公司 | Service flow limiting method, related device and service flow limiting system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101178818A (en)* | 2006-08-11 | 2008-05-14 | 大连零点娱乐互动有限公司 | Apparatus, method and system for processing data in real time |
| CN107220853A (en)* | 2017-05-27 | 2017-09-29 | 北京奇虎科技有限公司 | Prize drawing data processing method, device, server and computer-readable storage medium |
| WO2018032399A1 (en)* | 2016-08-17 | 2018-02-22 | Zte Corporation | Server and method having high concurrency capability |
| CN108022126A (en)* | 2017-11-29 | 2018-05-11 | 广东欧珀移动通信有限公司 | Lottery qualification determining method, device, server and storage medium |
| CN108881368A (en)* | 2018-04-22 | 2018-11-23 | 平安科技(深圳)有限公司 | High concurrent service request processing method, device, computer equipment and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2759835C (en)* | 2011-01-28 | 2016-07-19 | Pollard Banknote Limited Partnership | Game ticket apparatus including network communication of information on the game to other players |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101178818A (en)* | 2006-08-11 | 2008-05-14 | 大连零点娱乐互动有限公司 | Apparatus, method and system for processing data in real time |
| WO2018032399A1 (en)* | 2016-08-17 | 2018-02-22 | Zte Corporation | Server and method having high concurrency capability |
| CN107220853A (en)* | 2017-05-27 | 2017-09-29 | 北京奇虎科技有限公司 | Prize drawing data processing method, device, server and computer-readable storage medium |
| CN108022126A (en)* | 2017-11-29 | 2018-05-11 | 广东欧珀移动通信有限公司 | Lottery qualification determining method, device, server and storage medium |
| CN108881368A (en)* | 2018-04-22 | 2018-11-23 | 平安科技(深圳)有限公司 | High concurrent service request processing method, device, computer equipment and storage medium |
| Publication number | Publication date |
|---|---|
| CN111258768A (en) | 2020-06-09 |
| Publication | Publication Date | Title |
|---|---|---|
| CN111258768B (en) | Concurrent processing method and device for preferential lottery drawing activities | |
| US20200379779A1 (en) | Program operating method and apparatus, computing device, and storage medium | |
| US8700735B1 (en) | Multi-level cache with synch | |
| CN107172182A (en) | A kind of information push method, message push server and terminal | |
| CN107256180B (en) | Data processing method, device and terminal | |
| WO2015090078A1 (en) | Interaction method, client device, mobile terminal and server | |
| WO2020143159A1 (en) | User interface processing method and device | |
| WO2024011899A1 (en) | Widget loading method and apparatus, device, and storage medium | |
| CN114490126A (en) | Page processing method, apparatus, electronic device and storage medium | |
| CN114443197B (en) | Interface processing method, device, electronic equipment and storage medium | |
| CN113573146B (en) | Method, apparatus, device, storage medium and program product for anchor interaction | |
| CN113094433B (en) | A consumption voucher processing method and device based on blockchain | |
| CN113037608B (en) | Message reply method and device, electronic equipment and readable storage medium | |
| CN110309670A (en) | A kind of prize drawing background service method, system and equipment | |
| CN117828205A (en) | A front-end page message monitoring method | |
| CN114095758B (en) | Cloud image intercepting method and related device | |
| EP2700023B1 (en) | Reducing latency for served applications by anticipatory preprocessing | |
| CN115965411A (en) | An event processing method, device and system applicable to welfare activities | |
| CN108234481B (en) | A method and distributed system for controlling multi-machine distributed access to external systems | |
| CN113408641B (en) | Resource generation model training and service resource generation method and device | |
| CN115757120A (en) | Pressure testing method and device, electronic equipment and readable storage medium | |
| CN111970191B (en) | Group interaction method and device, electronic equipment and computer readable storage medium | |
| CN113344620A (en) | Welfare information distribution method, equipment and storage medium | |
| CN119046436B (en) | Artificial intelligence interaction method, device and computer equipment introducing reward mechanism | |
| CN116962329A (en) | Data processing method and device for instant messaging, electronic equipment and storage medium |
| 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 |