CN113590591B - 事件状态的自动更新方法、装置、设备及存储介质 - Google Patents
事件状态的自动更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113590591B CN113590591B CN202110876003.1A CN202110876003A CN113590591B CN 113590591 B CN113590591 B CN 113590591B CN 202110876003 A CN202110876003 A CN 202110876003A CN 113590591 B CN113590591 B CN 113590591B
- Authority
- CN
- China
- Prior art keywords
- activity
- event
- state
- time
- active state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及互联网技术领域,利用Redis实现了事件状态的自动更新,具体公开了一种事件状态的自动更新方法、装置、设备及存储介质。方法包括:发布事件时生成与所述事件关联并保存于后台数据库的随机编码,并将事件的活动信息保存至后台数据库,其中,活动信息包括事件的活动状态;将随机编码设置为Redis数据库的键,根据活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将下一次更新的活动状态设置为在Redis数据库中与键关联的值,并将当前时间到下一次更新时间的时间段设为键的过期时间;监听到键过期时,将在后台数据中与键关联的事件的活动状态更新为值中保存的下一次更新的活动状态。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种事件状态的自动更新方法、装置、计算机设备及存储介质。
背景技术
销售产品时会不定期举办产品事件,在活动开始和活动结束节点要实现活动状态的自动翻转,即当前时间到达开始时间点活动自动更新成开始状态,到达结束时间点活动自动修改成过期状态。一般情况下,系统会采用quartz框架来实现活动在特定时间自动翻转状态。quartz定时任务会根据用户设置的时间间隔定时去查询数据库中有效的活动,判断当前时间是否到达活动的开始和结束时间,如果到达某时间点则更新活动的状态。无论数据库中是否有即将到达开始或结束时间点的活动,只要开启quartz定时任务,就会定时去数据库查询活动状态,这将会造成系统资源的浪费。其次,当定时任务查询到当前时间到达某个活动的开始时间点并修改活动状态时,活动已经推迟开始了一段时间,这种不准时的问题无法避免,只能通过缩小定时任务时间间隔来减轻,但缩小时间间隔又会带来更大的系统性能损耗。
发明内容
本申请提供了一种事件状态的自动更新方法、装置、计算机设备及存储介质,以基于Redis实现事件状态的自动更新,当活动到达状态更新时间点时才去数据库查询和更新活动状态,减少了系统的性能损耗,且由于不需要设置定时查询的时间间隔实现了更加准时地实现了活动状态的更新。
第一方面,本申请提供了一种事件状态的自动更新方法,方法包括:
根据对事件的操作生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态。
第二方面,本申请还提供了一种事件状态的自动更新装置,装置包括:
随机编码生成模块,用于根据对事件的操作生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
Redis设置模块,用于将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
状态更新模块,用于监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的事件状态的自动更新方法。
第四方面,本申请还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的事件状态的自动更新方法。
本申请公开了一种事件状态的自动更新方法、装置、计算机设备及存储介质,通过Redis发布订阅和消息队列实现了事件状态的自动更新,相对于现有的quartz定时任务方案,减少了系统的性能损耗,只在活动到达状态更新时间点时才去数据库查询和更新活动状态,由于不需要设置定时查询的时间间隔而更加准时。另外,由于无需依赖额外的quartz服务,在发布服务以及平常运行时都能够避免依赖服务异常而造成活动状态更新失败的错误。最后通过引入RabbitMQ死信队列对活动更新操作进行确认和重试,在更大程度上保证活动状态自动更新的成功率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的实施例提供的一种事件状态的自动更新方法的示意流程图;
图2为本申请的实施例提供的一种事件状态的自动更新方法的步骤流程图;
图3为本申请的实施例提供的另一种事件状态的自动更新方法的步骤流程图;
图4为本申请的实施例提供的一种事件状态的自动更新装置的示意性框图;
图5为本申请的实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
销售保险产品时会不定期举办产品促销活动,在活动开始和活动结束节点要实现活动状态的自动翻转,即当前时间到达开始时间点活动自动更新成开始状态,到达结束时间点活动自动修改成过期状态。当前所采用的quartz框架来实现活动在特定时间自动翻转的技术方案存在以下不足。(1)quartz定时任务会根据用户设置的时间间隔定时去查询数据库中有效的活动,无论数据库中是否有即将到达开始或结束时间点的活动,只要开启quartz定时任务,就会定时去数据库查询活动状态,这将会造成系统资源的浪费。(2)当定时任务查询到当前时间到达某个活动的开始时间点并修改活动状态时,活动已经推迟开始了一段时间,难以避免活动状态的更新不准时。因此需要更好地机制来实现到达活动状态的自动更新。
基于上述问题,本申请实施例提供给了一种基于Redis的发布订阅功能的事件状态的自动更新方法,以克服现有技术方案中的不足,更好地实现促销活动事件的活动状态的自动更新。Redis(Remote Dictionary Server,远程字典服务)是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
本申请的实施例提供了一种事件状态的自动更新方法、装置、计算机设备及存储介质。其中,该事件状态的自动更新方法可以应用于服务器中,通过Redis发布订阅和消息队列实现了事件状态的自动更新。其中,该服务器可以为独立的服务器,可以是提供云服务、云数据库、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,也可以为服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1、图2,图1是本申请的实施例提供的一种事件状态的自动更新方法的示意流程图。图2是本申请的实施例提供的一种事件状态的步骤流程图,该事件状态的自动更新方法可应用于服务器中,用于基于Redis实现事件状态的自动更新。
如图1所示,该事件状态的自动更新方法具体包括步骤S101至步骤S103。
S101、发布事件时生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态。
具体地,在本申请的实施例中,事件具体为产品的促销活动。当促销活动被编辑并发布后,会触发系统自动生成关联本次操作的随机编码operate_code和活动信息一起存入后台数据库中。
生成随机编码可基于常见的能够生成唯一随机编码的工具来实现。
在一些实施例中,可以基于UUID((Universally Unique Identifier)工具来生成UUID随机数作为随机编码。
在一些实施例中,活动信息至少包括:活动名称、当前的活动状态、活动开始时间、活动结束时间,还包括其他活动有关的信息,例如该事件关联的产品。
在一些实施例中,还可能对发布后的促销活动进行多次更新操作,更新操作包括例如:更改事件的活动名称,修改事件的起止时间,修改关联的产品等。当对所述事件进行了多次更新操作时,每一次更新操作对应生成多个所述随机编码,与所述事件关联并保存于后台数据库的随机编码会替换为对应最新一次更新操作生成的随机编码。
S102、将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间。
具体的,将上一步生成的随机编码operate_code作为Redis数据库的key(键),再根据活动信息和预设的活动状态更新顺序确定下一次要更新的活动状态和更新时间,将下一次更新的活动状态确定为与所述Key关联的Value(值),并将当前时间到更新时间的时间段设为key的过期时间。
在一些实施例中,所述事件的活动状态包括:活动已发布、活动进行中、活动已过期;其中活动已发布表示事件的活动状态为已发布但活动未开始,活动进行中表示事件的活动状态为已开始还未结束,活动已过期表示事件的活动状态为已结束。
在一些实施例中,预设的活动状态更新顺序为:活动已发布-活动进行中-活动已过期。
根据活动信息和预设的活动状态更新顺序确定活动下一次要更新的活动状态,具体为:活动的当前活动状态为“活动已发布”时,下一次要更新为的活动状态为“活动进行中”;而当活动的当前活动状态为“活动进行中”时,下一次要更新为的活动状态为“活动已过期”。
根据活动信息和预设的活动状态更新顺序来确定下一次更新时间具体为:如当前活动状态为“活动已发布”,则下次的更新状态是“活动进行中”,此时以当前时间到事件的开始时间的时间段作为Key的过期时间;如当前活动状态为“活动进行中”,则下次的更新状态是“活动已过期”,此时应以当前时间到事件的结束时间的时间段作为Key的过期时间。活动开始时间和活动结束时间可以从活动信息中获取。
S103、监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态。
具体的,利用Redis的发布/监听机制,主动监听Redis中的Key的状态。当某个随机编码key过期时,程序就会监听到并查询后台数据库中是否有关联了该key的事件。如果查询到了与该过期的key关联的事件,则会将该key关联的Value中保存的下一次要更新的活动状态用于对数据库中与该key关联的事件的活动状态的自动更新。
需要说明的是,由于针对某一个事件的多次操作会生成多个随机编码,而多个随机编码对应设置多个所述键,并根据活动信息和预设的活动更新顺序确定所述与所述多个键的过期时间和与所述多个键关联的值。其中,最新一次操作生成的随机编码对应的键为最新键。监听到所述最新键过期时,将在所述后台数据中与所述最新键关联的事件的活动状态更新为与所述最新键关联的值中保存的所述下一次更新的活动状态。而针对该事件的最新一次操作之前的操作所设置的键,为已过期的键,由于已过时的键在后台数据库中没有与之关联的事件,因此当这些已过时的键达到各自的过期时间时,不会触发活动状态的自动更新操作。
进一步地,由于活动状态是否更新成功,对于活动是否能正常进行非常重要,而Redis订阅发布功能只能起到在特定时间更新状态的作用,却没有确定状态是否更新和重试的功能。为了确保活动状态更新成功,采用RabbitMQ死信队列对活动状态更新进行确认和重试。
请参阅图3,本申请的实施例提供的加入死信队列用于事件状态的自动更新的步骤流程图。当所述Key过期时,会同时向RabbitMQ死信队列发送一个带有活动信息的消息,由RabbitMQ死信队列根据活动相关信息和所述Key来检查是否成功完成活动状态的更新。
具体的,将RabbitMQ死信队列中消息的过期时间设置成预设时间,预设时间后死信队列中的消息过期,便会根据随机编码Key去后台数据库中查询该活动状态是否更新成功。如活动状态更新失败,则重新对该活动状态进行更新,此时可以直接对数据库中该活动的活动状态进行修改。
示例性地,将所述预设时间设置为1秒钟,1秒后死信队列中的消息过期,便会触发查询事件的活动状态是否更新成功的操作。
通过Redis发布订阅和消息队列实现事件状态的自动更新,相对于现有的quartz定时任务方案,减少了系统的性能损耗,只在活动到达状态更新时间点时才去数据库查询和更新活动状态,且由于不需要设置定时查询的时间间隔而更加准时。另外,由于无需依赖额外的quartz服务,在发布服务以及平常运行时都能够避免依赖服务异常而造成活动状态更新失败的错误。最后通过引入RabbitMQ死信队列对活动更新操作进行确认和重试,在更大程度上保证活动状态自动更新的成功率。
请参阅图4,图4是本申请的实施例提供一种事件状态的自动更新装置的示意性框图,该事件状态的自动更新装置用于执行前述的事件状态的自动更新方法。其中,该事件状态的自动更新装置可以配置于服务器。
如图4所示,该事件状态的自动更新装置400,包括:
随机编码生成模块401,用于根据对事件的操作生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
Redis设置模块402,用于将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
状态更新模块403,用于监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括存储介质和内存储器。
存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种事件状态的自动更新方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种事件状态的自动更新方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
根据对事件的操作生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态。
在一个实施例中,所述处理器在实现事件状态的自动更新方法时,用于实现:监听到所述键过期时,向RabbitMQ死信队列发送消息,以使所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功。
在一个实施例中,所述处理器在实现所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功时,用于实现:所述RabbitMQ死信队列查询所述事件的活动状态,根据查询到的活动状态以及所述下一次更新的活动状态确定所述活动状态是否已经更新成功。
在一个实施例中,所述活动状态包括:活动已发布、活动进行中、活动已过期;所述预设的活动状态更新顺序依次为:活动已发布、活动进行中、活动已过期,所述处理器在实现根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态时,用于实现:确定所述当前的活动状态为活动已发布时,所述下一次更新的活动状态为活动进行中;确定所述当前的活动状态为活动进行中时,所述下一次更新的活动状态为活动已过期。
在一个实施例中,所述活动信息还包括:活动开始时间、活动结束时间,所述处理器在实现根据所述活动信息和预设的活动状态更新顺序确定下一次更新时间时,用于实现:确定所述当前的活动状态为活动已发布时,所述下一次更新时间为所述活动开始时间;确定所述当前的活动状态为活动进行中时,所述下一次更新时间为所述活动结束时间。
在一个实施例中,所述处理器在实现事件状态的自动更新方法时,用于实现:对所述事件进行多次操作时,每一次操作对应生成多个所述随机编码,与所述事件关联并保存于后台数据库的随机编码会替换为对应最新一次操作生成的随机编码。
在一个实施例中,所述处理器在实现事件状态的自动更新方法时,用于实现:多个所述随机编码对应多个所述键,所述最新一次操作生成的随机编码对应的键为最新键;监听到所述最新键过期时,将在所述后台数据中与所述最新键关联的事件的活动状态更新为与所述最新键关联的值中保存的所述下一次更新的活动状态。
本申请的实施例中还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项事件状态的自动更新方法。
其中,所述存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种事件状态的自动更新方法,其特征在于,包括:
发布事件时生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态;或者,
监听到所述键过期时,向RabbitMQ死信队列发送消息,以使所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功;
其中,所述消息包括所述下一次更新的活动状态,所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功,包括:
所述RabbitMQ死信队列查询所述事件的活动状态,根据查询到的活动状态以及所述下一次更新的活动状态确定所述活动状态是否已经更新成功;
其中,对发布后的事件进行多次更新操作时,所述多次更新操作对应生成多个所述随机编码,与所述事件关联并保存于后台数据库的随机编码会替换为对应最新一次更新操作生成的随机编码。
2.根据权利要求1所述的自动更新方法,其特征在于,所述活动状态包括:活动已发布、活动进行中、活动已过期;所述预设的活动状态更新顺序依次为:活动已发布、活动进行中、活动已过期;
根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态包括:
确定所述当前的活动状态为活动已发布时,所述下一次更新的活动状态为活动进行中;
确定所述当前的活动状态为活动进行中时,所述下一次更新的活动状态为活动已过期。
3.根据权利要求1所述的自动更新方法,其特征在于,所述活动信息还包括:活动开始时间、活动结束时间;所述根据所述活动信息和预设的活动状态更新顺序确定下一次更新时间包括:
确定所述当前的活动状态为活动已发布时,所述下一次更新时间为所述活动开始时间;
确定所述当前的活动状态为活动进行中时,所述下一次更新时间为所述活动结束时间。
4.根据权利要求1所述的自动更新方法,其特征在于,所述方法包括:
多个所述随机编码对应多个所述键,所述最新一次更新操作生成的随机编码对应的键为最新键;
监听到所述最新键过期时,将在所述后台数据中与所述最新键关联的事件的活动状态更新为与所述最新键关联的值中保存的所述下一次更新的活动状态。
5.一种事件状态的自动更新装置,其特征在于,包括:
随机编码生成模块,用于根据对事件的操作生成与所述事件关联并保存于后台数据库的随机编码,并将所述事件的活动信息保存至所述后台数据库,其中,所述活动信息包括当前的活动状态;
Redis设置模块,用于将所述随机编码设置为Redis数据库的键,根据所述活动信息和预设的活动状态更新顺序确定下一次更新的活动状态和下一次更新时间,将所述下一次更新的活动状态设置为在所述Redis数据库中与所述键关联的值,并将当前时间到所述下一次更新时间的时间段设为所述键的过期时间;
状态更新模块,用于监听到所述键过期时,将在所述后台数据中与所述键关联的事件的活动状态更新为所述值中保存的下一次更新的活动状态;或者,
用于监听到所述键过期时,向RabbitMQ死信队列发送消息,以使所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功;
其中,所述消息包括所述下一次更新的活动状态,所述RabbitMQ死信队列在预设时间后确认所述事件的活动状态是否已经更新成功,包括:
所述RabbitMQ死信队列查询所述事件的活动状态,根据查询到的活动状态以及所述下一次更新的活动状态确定所述活动状态是否已经更新成功;
其中,对发布后的事件进行多次更新操作时,所述多次更新操作对应生成多个所述随机编码,与所述事件关联并保存于后台数据库的随机编码会替换为对应最新一次更新操作生成的随机编码。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至4中任一项所述的事件状态的自动更新方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至4中任一项所述的事件状态的自动更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876003.1A CN113590591B (zh) | 2021-07-30 | 2021-07-30 | 事件状态的自动更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876003.1A CN113590591B (zh) | 2021-07-30 | 2021-07-30 | 事件状态的自动更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590591A CN113590591A (zh) | 2021-11-02 |
CN113590591B true CN113590591B (zh) | 2023-08-22 |
Family
ID=78253212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110876003.1A Active CN113590591B (zh) | 2021-07-30 | 2021-07-30 | 事件状态的自动更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590591B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766365A (zh) * | 2018-12-13 | 2019-05-17 | 北京字节跳动网络技术有限公司 | 基于redis的运行事件控制方法、装置及电子设备 |
CN110413633A (zh) * | 2018-04-28 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 基于Redis数据库的非活跃用户筛选方法及可读介质和设备 |
CN111338901A (zh) * | 2020-02-26 | 2020-06-26 | 平安壹钱包电子商务有限公司 | 一种Redis监控方法、Redis监控装置及终端 |
CN112988798A (zh) * | 2021-03-29 | 2021-06-18 | 成都卫士通信息产业股份有限公司 | 一种日志处理方法、装置、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9483334B2 (en) * | 2013-01-28 | 2016-11-01 | Rackspace Us, Inc. | Methods and systems of predictive monitoring of objects in a distributed network system |
-
2021
- 2021-07-30 CN CN202110876003.1A patent/CN113590591B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413633A (zh) * | 2018-04-28 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 基于Redis数据库的非活跃用户筛选方法及可读介质和设备 |
CN109766365A (zh) * | 2018-12-13 | 2019-05-17 | 北京字节跳动网络技术有限公司 | 基于redis的运行事件控制方法、装置及电子设备 |
CN111338901A (zh) * | 2020-02-26 | 2020-06-26 | 平安壹钱包电子商务有限公司 | 一种Redis监控方法、Redis监控装置及终端 |
CN112988798A (zh) * | 2021-03-29 | 2021-06-18 | 成都卫士通信息产业股份有限公司 | 一种日志处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113590591A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835467B (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
JP5075736B2 (ja) | 仮想サーバのシステム障害回復方法及びそのシステム | |
CN109714409B (zh) | 一种消息的管理方法和系统 | |
CN111274052A (zh) | 数据分发方法、服务器及计算机可读存储介质 | |
JP5705871B2 (ja) | 分散された永続性インスタンスに対するロックの解決 | |
CN110895488B (zh) | 任务调度方法及装置 | |
CA2776276C (en) | Delivery with reconciliation on client side | |
WO2007130621A2 (en) | Work item event procession | |
CN110795322A (zh) | 服务监控方法、装置、计算机设备及存储介质 | |
US11500812B2 (en) | Intermediate file processing method, client, server, and system | |
CN114978902B (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN113590591B (zh) | 事件状态的自动更新方法、装置、设备及存储介质 | |
JP2006260056A (ja) | 統合運用管理サーバ、統合的な運用管理のためのメッセージの抽出方法、及び、プログラム | |
JP7243207B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
CN110879774A (zh) | 一种网元性能数据告警方法及装置 | |
CN112860746B (zh) | 一种基于缓存削减的方法、设备及系统 | |
CN100570570C (zh) | 一种实现计算机死机智能分析的系统及方法 | |
CN114579326A (zh) | 一种分布式作业调度和执行方法插件化的方法及系统 | |
JP5466740B2 (ja) | 仮想サーバのシステム障害回復方法及びそのシステム | |
CN113434307A (zh) | 任务发送的处理、任务处理的方法、装置、系统及设备 | |
CN113254097A (zh) | 配置信息的下发方法和装置、电子设备和存储介质 | |
CN111552581A (zh) | 事件传递方法、装置、系统和电子设备 | |
US12242504B2 (en) | Mechanism for backfilling records dropped during transfer from distributed node system | |
JP4882291B2 (ja) | モジュール更新プログラム | |
US20230385113A1 (en) | Progress Monitoring Service |
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 |