一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式应用有效期到期的处理方法及装置与流程

2022-10-26 09:12:09 来源:中国专利 TAG:


1.本发明涉及分布式技术领域,尤其涉及一种分布式应用有效期到期的处理方法及装置。需要说明的是,本发明分布式应用有效期到期的处理方法及装置可用于分布式技术领域,也可用于除分布式技术领域之外的任意领域,本发明分布式应用有效期到期的处理方法及装置的应用领域不做限定。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在互联网营销活动中经常有设置限时活动、拼团等活动的有效期,下单之后若30分钟未付款则取消订单,以及有效期到期之后需要使参与的活动、订单即时失效等业务场景。在高并发场景下,需要同时处理百万级别数量的有效期到期业务,服务器负担重,有效期到期业务处理延迟较大,效率较低,目前没有好的技术方案能够解决此问题。


技术实现要素:

4.本发明实施例提供一种分布式应用有效期到期的处理方法,用以降低分布式应用有效期到期处理的延迟,提高分布式应用有效期到期处理的效率,该方法包括:
5.对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;
6.在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;
7.根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
8.本发明实施例还提供一种分布式应用有效期到期的处理装置,用以降低分布式应用有效期到期处理的延迟,提高分布式应用有效期到期处理的效率,该装置包括:
9.延迟队列加入模块,用于对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;
10.有效期到期处理模块,用于在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;
11.定时保障模块,用于根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式应用
有效期到期的处理方法。
13.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式应用有效期到期的处理方法。
14.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式应用有效期到期的处理方法。
15.本发明实施例中,对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。本发明实施例利用延迟队列处理分布式应用有效期到期的业务数据,由于延迟队列位于内存,这样处理速度较快;并且,在利用延迟队列处理分布式应用有效期到期的业务数据时,增设定时任务辅助进行分布式应用的有效期到期处理,这样可以进一步提高处理速度,从而防止高并发场景下阻塞导致的高延时,降低分布式应用有效期到期处理的延迟,提高分布式应用有效期到期处理的效率。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
17.图1为本发明实施例中分布式应用有效期到期的处理方法的流程示意图;
18.图2为本发明实施例中分布式应用有效期到期的处理方法的一具体实例图;
19.图3为本发明实施例中分布式应用有效期到期的处理装置的结构示意图;
20.图4为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图;
21.图5为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图;
22.图6为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
24.发明人发现,在互联网营销活动中经常出现有效期到期处理的业务场景,尤其在在高并发场景下,往往需要同时处理百万级别数量的有效期到期业务,服务器负担重,有效期到期处理延迟较大,效率较低。基于此,发明人提出了一种分布式应用有效期到期的处理方法,图1为本发明实施例中分布式应用有效期到期的处理方法的流程示意图,如图1所示,该方法包括:
25.步骤101、对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;
26.步骤102、在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;
27.步骤103、根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
28.由图1所示流程可以得知,本发明实施例中,对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。本发明实施例利用延迟队列处理分布式应用有效期到期的业务数据,由于延迟队列位于内存,这样处理速度较快;并且,在利用延迟队列处理分布式应用有效期到期的业务数据时,增设定时任务辅助进行分布式应用的有效期到期处理,这样可以进一步提高处理速度,从而防止高并发场景下阻塞导致的高延时,降低分布式应用有效期到期处理的延迟,提高分布式应用有效期到期处理的效率。
29.下面对每个步骤进行详细分析。
30.步骤101、对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部。
31.实施例中,首先采用分布式应用,部署多台服务器参与有效期到期处理;获取有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入延迟队列,该延迟队列在内存中操作,这样处理速度快;各业务数据有效期的剩余时长在延迟队列中按照从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部,这样在进行有效期到期处理时,从延迟队列的头部对应的业务数据开始处理,越接近头部说明对应的业务数据越接近到期,这样按序处理有助于提高分布式应用有效期到期处理的效率。
32.在一个实施例中,对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列,包括:
33.对分布式应用有效期未到期的至少一业务数据,从分布式缓存中取出各业务数据有效期的剩余时长,将各业务数据有效期的剩余时长加入内存中的延迟队列。
34.例如,对于某一台分布式应用部署的服务器,从分布式缓存中,例如redis数据库中,查找该服务器待处理的包含有效期的业务数据的有效期剩余时长,并将各业务数据有效期的剩余时长取出,将该剩余时长加入到内存中的延迟队列中。
35.又如,对于某一台分布式应用部署的服务器,当用户参与拼团活动、或者在电商系统下单待付款等包含有效期的业务数据事件到达该服务器时,将各业务数据有效期的剩余时长取出,并加入到内存中的延迟队列中。
36.步骤102、在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新
延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
37.实施例中,延迟队列中位于头部的剩余时长到零时,即对应业务数据的有效期到期时,从延迟队列的头部取出该剩余时长,对该剩余时长对应的业务数据进行有效期到期处理。例如,当用户在人多车少的地方打车的时候,规定最长打车时间为一小时,将该业务数据的剩余时长,即一小时,放入延迟队列中,当一小时后用户还是没有打车时,将该剩余时长取出,更新延迟队列,提醒用户没有车主接单并取消该打车订单。
38.以上实施例中,在处理分布式应用有效期到期时,利用延迟队列在内存中操作的快速性,处理一般场景下,低延时的有效期到期业务数据的处理。
39.步骤103、根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
40.实施例中,在分布式应用部署的多台服务器中设定一台或者多台服务器,处理部分有效期到期的业务数据,分担高并发场景下单纯依赖延迟队列的处理压力,防止高并发场景下有效期到期业务数据的阻塞导致的高延时,设置定时任务是针对高并发场景下的保障性措施,是对于一般场景下分布式应用低延时有效期到期的有效性补充。
41.例如,人们喜欢每天晚上进行网上购物,每天晚上20:00~22:00可能存在多个网上购物订单的高并发期,在这种高并发场景下,可能存在多个有效期已经到期但还没有处理的业务数据,即延迟队列中剩余时长为零但还没有来得及处理的业务数据,定时任务部署提前设定好的服务器优先处理这类数据,定时任务可以设定为:每天20:30、21:00、21:30、22:00启动定时任务,从延迟队列中按序取出已到零的剩余时长,更新延迟队列,由提前设定好的服务器,对该已到零的剩余时长对应的业务数据进行有效期到期处理。
42.又如,在节假日或者网络购物平台优惠活动日,任一时间段都很容易出现高并发期,这种情况下待处理的有效期到期的业务数据达到高峰,定时任务可以设定为:当延迟队列中剩余时长个数达到阈值时,例如100000个,立即启动定时任务,由提前设定好的服务器辅助进行有效期到期处理,阈值可以根据实际情况设定,如此可以防止高并发场景下有效期到期业务数据的阻塞导致的高延时。
43.为了进一步完善本发明实施例中分布式应用有效期到期的处理方法,本发明还提供了一个实施例,包括:
44.在分布式缓存中,以分布式应用部署的每一服务器的地址作为键值,为每一服务器建立待处理业务数据的数据集合;
45.在每一服务器的数据集合中,存储该服务器待处理业务数据的主键。
46.在一个实施例中,本发明实施例中分布式应用有效期到期的处理方法,还包括:
47.在业务数据有效期到期处理完成后,从处理该业务数据的服务器的数据集合中,移除该业务数据的主键。
48.例如,可以以分布式应用部署的每一服务器的ip地址作为键值,为每一服务器建立待处理业务数据主键的数据集合,在分布式缓存中保存;当业务数据有效期到期处理完成后,从处理该业务数据的服务器的数据集合中,移除该业务数据的主键。
49.图2为本发明实施例中分布式应用有效期到期的处理方法的一具体实例图,如图2所示,在一个实施例中,本发明实施例中分布式应用有效期到期的处理方法,还包括:
50.步骤201、在分布式应用部署的任一服务器重新启动时,将该服务器待处理的有效
期未到期或已到期的业务数据的有效期剩余时长加入内存中的延迟队列。
51.例如,高并发场景下某台服务器出现宕机情况,由于该服务器还未处理的有效期未到期或已到期的业务数据的剩余时长会从延迟队列丢失,所以当该服务器重启之后,可以立即从分布式缓存中查询该服务器对应的还未处理的有效期未到期或已到期的业务数据的剩余时长,加入延迟队列中,这样可确保延迟队列的及时恢复,保证了分布式应用有效到期处理的稳定性,提高了分布式应用有效到期处理的效率。
52.本发明实施例中还提供了一种分布式应用有效期到期的处理装置,如下面的实施例所述。由于该装置解决问题的原理与分布式应用有效期到期的处理方法相似,因此该装置的实施可以参见分布式应用有效期到期的处理方法的实施,重复之处不再赘述。
53.图3为本发明实施例中分布式应用有效期到期的处理装置的结构示意图,如图3所示,该装置包括:
54.延迟队列加入模块301,用于对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;
55.有效期到期处理模块302,用于在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;
56.定时保障模块303,用于根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。
57.在一个实施例中,延迟队列加入模块301,具体用于:
58.对分布式应用有效期未到期的至少一业务数据,从分布式缓存中取出各业务数据有效期的剩余时长,将各业务数据有效期的剩余时长加入内存中的延迟队列。
59.图4为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图,在一个实施例中,如图4所示,本发明实施例中图3所示装置还可以包括:
60.待处理数据集合建立模块401,用于在分布式缓存中,以分布式应用部署的每一服务器的地址作为键值,为每一服务器建立待处理业务数据的数据集合;
61.业务数据主键存储模块402,用于在每一服务器的数据集合中,存储该服务器待处理业务数据的主键。
62.图5为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图,如图5所示,本发明实施例中图4所示装置还可以包括:
63.业务数据主键移除模块501,用于在业务数据有效期到期处理完成后,从处理该业务数据的服务器的数据集合中,移除该业务数据的主键。
64.图6为本发明实施例中分布式应用有效期到期的处理装置的一具体实例图,如图6所示,本发明实施例中图3所示装置还可以包括:
65.延迟队列恢复模块601,用于在分布式应用部署的任一服务器重新启动时,将该服务器待处理的有效期未到期或已到期的业务数据的有效期剩余时长加入内存中的延迟队列。
66.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式应用
有效期到期的处理方法。
67.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式应用有效期到期的处理方法。
68.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述分布式应用有效期到期的处理方法。
69.本发明实施例中,对分布式应用有效期未到期的至少一业务数据,将各业务数据有效期的剩余时长加入内存中的延迟队列;延迟队列按有效期的剩余时长从短到长的顺序进行排序,剩余时长最短的位于延迟队列的头部;在每次延迟队列中位于头部的剩余时长到零时,取出该剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理;根据预先设置的定时任务,在每次定时任务到达时从延迟队列中按序取出已到零的剩余时长,更新延迟队列,对该剩余时长对应业务数据进行有效期到期处理。本发明实施例利用延迟队列处理分布式应用有效期到期的业务数据,由于延迟队列位于内存,这样处理速度较快;并且,在利用延迟队列处理分布式应用有效期到期的业务数据时,增设定时任务辅助进行分布式应用的有效期到期处理,这样可以进一步提高处理速度,从而防止高并发场景下阻塞导致的高延时,降低分布式应用有效期到期处理的延迟,提高分布式应用有效期到期处理的效率。
70.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
71.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本
发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献