CN113590708A - 自适应延迟消费方法、程序产品及存储介质 - Google Patents
自适应延迟消费方法、程序产品及存储介质 Download PDFInfo
- Publication number
- CN113590708A CN113590708A CN202110672428.0A CN202110672428A CN113590708A CN 113590708 A CN113590708 A CN 113590708A CN 202110672428 A CN202110672428 A CN 202110672428A CN 113590708 A CN113590708 A CN 113590708A
- Authority
- CN
- China
- Prior art keywords
- task distribution
- delay time
- distribution speed
- consumed
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000003044 adaptive effect Effects 0.000 title claims description 48
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003111 delayed effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种自适应延迟消费方法、程序产品及存储介质,该方法包括:获取待消费事件,并将所述待消费事件添加进任务池;检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。本发明提供的自适应延迟消费方法、程序产品及存储介质,在完成数据同步的同时,能够自动检测数据库主从延迟的时间,并根据主从延迟程度自适应调整同步速度,提高了***稳定性,时效性高,且节省了人力消耗。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自适应延迟消费方法、程序产品及存储介质。
背景技术
在现有的数据同步***中,一般会将数据落地到mysql等存储服务中,同时为了保证存储服务的可用性,存储服务一般会采用主从架构,因此同步过程中可能会出现同步速度过快导致数据库主从延迟过高的现象。主从架构的存储服务采用主数据库和从数据库实现。主从延迟是指主数据库和从数据库对接收的相同数据消费后存储时的时间差。为了降低主从延迟,一般是在收到数据库主从延迟报警后人为降低同步速度,以用来降低延迟程度,这种人工操作增大了解决问题的复杂性以及降低了时效性。
发明内容
针对现有技术存在的问题,本发明提供一种自适应延迟消费方法、程序产品及存储介质。
本发明提供一种自适应延迟消费方法,包括:获取待消费事件,并将所述待消费事件添加进任务池;检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
根据本发明提供的一种自适应延迟消费方法,所述检测数据库***的主从延迟时间,具体包括:更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取所述预设字段的字段值,计算所述当前更新时间和所述字段值的差值的绝对值,从而得到所述主从延迟时间。
根据本发明提供的一种自适应延迟消费方法,所述根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,具体包括:若所述主从延迟时间大于或等于所述预设最大延迟时间,则减小所述任务分发速度,直至所述任务分发速度达到预设最小任务分发速度;若所述主从延迟时间小于所述预设最大延迟时间,则增大所述任务分发速度,直至所述任务分发速度达到预设最大任务分发速度。
根据本发明提供的一种自适应延迟消费方法,所述任务分发速度的初始值设置为所述预设最大任务分发速度。
根据本发明提供的一种自适应延迟消费方法,所述减小所述任务分发速度,具体包括:将所述任务分发速度减小为原来的1/2。
根据本发明提供的一种自适应延迟消费方法,所述增大所述任务分发速度,具体包括:将所述任务分发速度增大为原来的2倍。
根据本发明提供的一种自适应延迟消费方法,所述获取待消费事件,具体包括:从kafka消息队列中获取所述待消费事件。
本发明还提供一种自适应延迟消费装置,包括:事件收集模块,用于:获取待消费事件,并将所述待消费事件添加进任务池;任务分发模块,用于:检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;事件消费模块,用于:从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述自适应延迟消费方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述自适应延迟消费方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述自适应延迟消费方法的步骤。
本发明提供的自适应延迟消费方法、程序产品及存储介质,通过获取待消费事件,并将待消费事件添加进任务池,根据主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以任务分发速度将任务池中的待消费事件存储入任务队列,从任务队列中取出待消费事件,并对待消费事件进行消费处理,在完成数据同步的同时,能够自动检测数据库主从延迟的时间,并根据主从延迟程度自适应调整同步速度,提高了***稳定性,时效性高,且节省了人力消耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的自适应延迟消费方法的流程示意图;
图2是本发明提供的自适应延迟消费装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图3描述本发明的自适应延迟消费方法、程序产品及存储介质。
图1是本发明提供的自适应延迟消费方法的流程示意图。如图1所示,所述方法包括:
步骤101、获取待消费事件,并将所述待消费事件添加进任务池。
数据同步***中,上游***向下游***发送消费消息,一般会将消费消息存储在消息队列中。可以从消息队列中获取待消费事件,待消费事件包括尚未消费的消息。获取待消费事件后,将待消费事件添加进任务池以供后续处理。
步骤102、检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列。
检测数据库***的主从延迟时间,比如按照预设的时间周期检测数据库***的主从延迟时间。根据主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,主从延迟时间不应超过预设最大延迟时间,可以根据主从延迟时间和预设最大延迟时间之间的大小关系调整任务分发速度,并基于任务分发速度将任务池中的待消费事件存储入任务队列,实现任务分发处理。
步骤103、从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
对待消费事件进行消费处理即实现上下游***的数据同步。消费时,从任务队列中取出待消费事件,并对待消费事件进行消费处理。调整任务队列的任务分发速度即相当于调整消费速度,也即调整数据同步速度。基于任务分发速度对于任务池中的消费事件进行分发,任务分发完成后进行消费,消费后进行数据库存储。数据存储过程产生主从延迟时间,根据主从延迟时间和预设最大延迟时间的关系得到任务分发速度。由此,可以形成控制的闭环,使得数据同步过程(消费过程)和数据库存储过程具有了制约关系,可以实现自适应的调整消费进度,从而优化主从延迟。
本发明提供的自适应延迟消费方法,通过获取待消费事件,并将待消费事件添加进任务池,根据主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以任务分发速度将任务池中的待消费事件存储入任务队列,从任务队列中取出待消费事件,并对待消费事件进行消费处理,在完成数据同步的同时,能够自动检测数据库主从延迟的时间,并根据主从延迟程度自适应调整同步速度,提高了***稳定性,时效性高,且节省了人力消耗。
根据本发明提供的一种自适应延迟消费方法,所述检测数据库***的主从延迟时间,具体包括:更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取所述预设字段的字段值,计算所述当前更新时间和所述字段值的差值的绝对值,从而得到所述主从延迟时间。
主从数据库的同步存储可以采用现有技术的方式实现。主从数据库中存储的数据和字段都是相同的。可以定时检测数据库***的主从延迟时间。检测数据库***的主从延迟时间时,可以更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段。主数据库进行数据更新,则从数据库也会进行同样的更新,并将数据保存在同样的字段,即预设字段。因此,在主数据库更新完成后,查询从数据库获取预设字段的字段值,这个字段值表示的是从数据库中预设数据库记录的更新时间。由于此时从数据库可能还未来得及进行最新的上述更新,则字段值将小于当前更新时间。如果从数据库已经进行了最新的上述更新,则字段值将大于当前更新时间。无论从数据库的字段值大于还是小于当前更新时间,当前更新时间和从数据库中预设字段的字段值的差值的绝对值均能反映主从延迟时间,因此,计算当前更新时间和字段值的差值的绝对值,从而得到主从延迟时间。
其中,预设数据库记录可以是通过在主数据库和从数据库中新建一个表,预先写入的一条数据库记录。
本发明提供的自适应延迟消费方法,通过更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取预设字段的字段值,计算当前更新时间和字段值的差值的绝对值,从而得到主从延迟时间,实现了主从延迟时间的快速可靠获取。
根据本发明提供的一种自适应延迟消费方法,所述根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,具体包括:若所述主从延迟时间大于或等于所述预设最大延迟时间,则减小所述任务分发速度,直至所述任务分发速度达到预设最小任务分发速度;若所述主从延迟时间小于所述预设最大延迟时间,则增大所述任务分发速度,直至所述任务分发速度达到预设最大任务分发速度。
可以预先设置一个预设最大任务分发速度和一个预设最小任务分发速度,用于表示任务分发的最大限值和最小限值,即任务分发速度应介于预设最小任务分发速度和预设最大任务分发速度之间。
在根据主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度时,若主从延迟时间大于或等于预设最大延迟时间,则减小任务分发速度,直至任务分发速度达到预设最小任务分发速度,减小任务分发速度的方式可以根据实际需要设定。若主从延迟时间小于预设最大延迟时间,则增大任务分发速度,直至任务分发速度达到预设最大任务分发速度,增大任务分发速度的方式可以根据实际需要设定。
本发明提供的自适应延迟消费方法,通过在主从延迟时间大于或等于预设最大延迟时间,则减小任务分发速度,直至任务分发速度达到预设最小任务分发速度;在主从延迟时间小于预设最大延迟时间,则增大任务分发速度,直至任务分发速度达到预设最大任务分发速度,保证了任务分发速度介于预设区间范围,且平衡了任务分发速度和主从延迟时间,从而平衡了消费进度和主从延迟。
根据本发明提供的一种自适应延迟消费方法,所述任务分发速度的初始值设置为所述预设最大任务分发速度。
设置任务分发速度的初始值(一个周期内的启动速度)为预设最大任务分发速度,则若此时的主从延迟时间小于最大延迟时间的话,将以预设最大任务分发速度进行任务分发,由此在满足了主从延迟要求的基础上,提高了事件消费效率。
本发明提供的自适应延迟消费方法,通过设置任务分发速度的初始值为预设最大任务分发速度,实现了在满足了主从延迟要求的基础上,提高了事件消费效率。
根据本发明提供的一种自适应延迟消费方法,所述减小所述任务分发速度,具体包括:将所述任务分发速度减小为原来的1/2。
在主从延迟时间大于或等于预设最大延迟时间,减小任务分发速度时,可以将任务分发速度减小为原来的1/2。比如,若调整前任务分发速度为ns,将ns调整为ns/2。然后,在此任务分发速度下再次计算主从延迟时间,若主从延迟时间仍大于或等于预设最大延迟时间,则再将ns/2调整为ns/4,以此类推,直至任务分发速度达到预设最小任务分发速度。
本发明通过在减小任务分发速度时,将任务分发速度减小为原来的1/2,提高了任务分发速度调整的简便性。
根据本发明提供的一种自适应延迟消费方法,所述增大所述任务分发速度,具体包括:将所述任务分发速度增大为原来的2倍。
在主从延迟时间小于预设最大延迟时间,增大任务分发速度时,可以将任务分发速度增大为原来的2倍。比如,若调整前任务分发速度为ns,将ns调整为2ns。然后,在此任务分发速度下再次计算主从延迟时间,若主从延迟时间仍小于预设最大延迟时间,则再将2ns调整为4ns,以此类推,直至任务分发速度达到预设最大任务分发速度。
本发明通过在增大任务分发速度时,将任务分发速度增大为原来的2倍,提高了任务分发速度调整的简便性。
根据本发明提供的一种自适应延迟消费方法,所述获取待消费事件,具体包括:从kafka消息队列中获取所述待消费事件。
可以利用kafka消费事件,在获取待消费事件时,可以从kafka消息队列中获取待消费事件。
本发明提供的自适应延迟消费方法,通过从kafka消息队列中获取待消费事件,提高了事件消费的简便性。
下面再通过一具体实例说明本发明提供的自适应延迟消费方法的流程。本发明提供的自适应延迟消费方法包括:
1、获取上游的待消费事件,并将待消费事件添加进任务池中,如:启动事件收集进程,从kafka等消息队列获取待消费事件,并将待消费事件添加进任务池。
2、检测数据库***主从延迟的时间,如:启动监控进程,定时更新主库中的一条记录,将更新时间保存在mtime字段中,同时从从库中查询该记录的mtime字段值t,计算当前时间与t的差值的绝对值,即为主从延迟时间T。
3、将任务池中的任务放入任务队列,并根据数据库主从延迟时间自动调整任务分发速度,如:预设最大分发速度max,最小分发速度min,启动任务分发进程,启动速度设为ns=max,按照ns将任务池中任务放入任务队列,循环开始,若主从延迟时间T>=最大延迟时间mt,ns=ns/2,直到达到最小分发速度min;若T<mt,ns=2ns,直到达到最大分发速度max。
4、从任务队列中获取事件,并对事件作相应处理,如:启动消费者进程,从任务队列中取出任务,消费任务将数据落地。
下面对本发明提供的自适应延迟消费装置进行描述,下文描述的自适应延迟消费装置与上文描述的自适应延迟消费方法可相互对应参照。
图2是本发明提供的自适应延迟消费装置的结构示意图。如图2所示,所述装置包括:事件收集模块10、任务分发模块20及事件消费模块30,其中:事件收集模块10用于:获取待消费事件,并将所述待消费事件添加进任务池;任务分发模块20用于:检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;事件消费模块30用于:从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
本发明提供的自适应延迟消费方法,通过获取待消费事件,并将待消费事件添加进任务池,根据主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以任务分发速度将任务池中的待消费事件存储入任务队列,从任务队列中取出待消费事件,并对待消费事件进行消费处理,在完成数据同步的同时,能够自动检测数据库主从延迟的时间,并根据主从延迟程度自适应调整同步速度,提高了***稳定性,时效性高,且节省了人力消耗。
根据本发明提供的一种自适应延迟消费装置,任务分发模块20在用于检测数据库***的主从延迟时间时,具体用于:更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取所述预设字段的字段值,计算所述当前更新时间和所述字段值的差值的绝对值,从而得到所述主从延迟时间。
本发明提供的自适应延迟消费方法,通过更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取预设字段的字段值,计算当前更新时间和字段值的差值的绝对值,从而得到主从延迟时间,实现了主从延迟时间的快速可靠获取。
根据本发明提供的一种自适应延迟消费装置,任务分发模块20在用于根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度时,具体用于:若所述主从延迟时间大于或等于所述预设最大延迟时间,则减小所述任务分发速度,直至所述任务分发速度达到预设最小任务分发速度;若所述主从延迟时间小于所述预设最大延迟时间,则增大所述任务分发速度,直至所述任务分发速度达到预设最大任务分发速度。
本发明提供的自适应延迟消费方法,通过在主从延迟时间大于或等于预设最大延迟时间,则减小任务分发速度,直至任务分发速度达到预设最小任务分发速度;在主从延迟时间小于预设最大延迟时间,则增大任务分发速度,直至任务分发速度达到预设最大任务分发速度,保证了任务分发速度介于预设区间范围,且平衡了任务分发速度和主从延迟时间,从而平衡了消费进度和主从延迟。
根据本发明提供的一种自适应延迟消费装置,所述任务分发速度的初始值设置为所述预设最大任务分发速度。
本发明提供的自适应延迟消费方法,通过设置任务分发速度的初始值为预设最大任务分发速度,实现了在满足了主从延迟要求的基础上,提高了事件消费效率。
根据本发明提供的一种自适应延迟消费装置,所述减小所述任务分发速度,具体包括:将所述任务分发速度减小为原来的1/2。
本发明通过在减小任务分发速度时,将任务分发速度减小为原来的1/2,提高了任务分发速度调整的简便性。
根据本发明提供的一种自适应延迟消费装置,所述增大所述任务分发速度,具体包括:将所述任务分发速度增大为原来的2倍。
本发明通过在增大任务分发速度时,将任务分发速度增大为原来的2倍,提高了任务分发速度调整的简便性。
根据本发明提供的一种自适应延迟消费装置,所述获取待消费事件,具体包括:从kafka消息队列中获取所述待消费事件。
本发明提供的自适应延迟消费方法,通过从kafka消息队列中获取待消费事件,提高了事件消费的简便性。
图3是本发明提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行自适应延迟消费方法,该方法包括:获取待消费事件,并将所述待消费事件添加进任务池;检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的自适应延迟消费方法,该方法包括:获取待消费事件,并将所述待消费事件添加进任务池;检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的自适应延迟消费方法,该方法包括:获取待消费事件,并将所述待消费事件添加进任务池;检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自适应延迟消费方法,其特征在于,包括:
获取待消费事件,并将所述待消费事件添加进任务池;
检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;
从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
2.根据权利要求1所述的自适应延迟消费方法,其特征在于,所述检测数据库***的主从延迟时间,具体包括:
更新主数据库中的预设数据库记录,并将当前更新时间保存在预设字段;查询从数据库获取所述预设字段的字段值,计算所述当前更新时间和所述字段值的差值的绝对值,从而得到所述主从延迟时间。
3.根据权利要求1所述的自适应延迟消费方法,其特征在于,所述根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,具体包括:
若所述主从延迟时间大于或等于所述预设最大延迟时间,则减小所述任务分发速度,直至所述任务分发速度达到预设最小任务分发速度;
若所述主从延迟时间小于所述预设最大延迟时间,则增大所述任务分发速度,直至所述任务分发速度达到预设最大任务分发速度。
4.根据权利要求3所述的自适应延迟消费方法,其特征在于,所述任务分发速度的初始值设置为所述预设最大任务分发速度。
5.根据权利要求4所述的自适应延迟消费方法,其特征在于,所述减小所述任务分发速度,具体包括:
将所述任务分发速度减小为原来的1/2。
6.根据权利要求4所述的自适应延迟消费方法,其特征在于,所述增大所述任务分发速度,具体包括:
将所述任务分发速度增大为原来的2倍。
7.根据权利要求1所述的自适应延迟消费方法,其特征在于,所述获取待消费事件,具体包括:
从kafka消息队列中获取所述待消费事件。
8.一种自适应延迟消费装置,其特征在于,包括:
事件收集模块,用于:获取待消费事件,并将所述待消费事件添加进任务池;
任务分发模块,用于:检测数据库***的主从延迟时间,根据所述主从延迟时间和预设最大延迟时间之间的关系调整任务分发速度,并以所述任务分发速度将所述任务池中的所述待消费事件存储入任务队列;
事件消费模块,用于:从所述任务队列中取出所述待消费事件,并对所述待消费事件进行消费处理。
9.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至7任一项所述自适应延迟消费方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述自适应延迟消费方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110672428.0A CN113590708B (zh) | 2021-06-17 | 2021-06-17 | 自适应延迟消费方法、程序产品及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110672428.0A CN113590708B (zh) | 2021-06-17 | 2021-06-17 | 自适应延迟消费方法、程序产品及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590708A true CN113590708A (zh) | 2021-11-02 |
CN113590708B CN113590708B (zh) | 2024-02-20 |
Family
ID=78243851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110672428.0A Active CN113590708B (zh) | 2021-06-17 | 2021-06-17 | 自适应延迟消费方法、程序产品及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590708B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170118042A1 (en) * | 2015-10-21 | 2017-04-27 | Brocade Communications Systems, Inc. | High availability for distributed network services in an extended bridge |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
US20170329384A1 (en) * | 2009-07-21 | 2017-11-16 | The Research Foundation For The State University Of New York | Apparatus and method for efficient estimation of the energy dissipation of processor based systems |
CN109298951A (zh) * | 2018-08-21 | 2019-02-01 | 平安科技(深圳)有限公司 | Celery任务的执行方法及终端设备 |
US20190138638A1 (en) * | 2016-09-26 | 2019-05-09 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
CN109743137A (zh) * | 2019-01-10 | 2019-05-10 | 浙江小泰科技有限公司 | 一种支持更新的分布式延迟消息队列处理*** |
CN110012039A (zh) * | 2018-01-04 | 2019-07-12 | 华北电力大学 | 一种车联网中基于admm的任务分配与功率控制方案 |
CN110196761A (zh) * | 2019-04-15 | 2019-09-03 | 北京达佳互联信息技术有限公司 | 延迟任务处理方法及装置 |
CN110636130A (zh) * | 2019-09-23 | 2019-12-31 | 上海钧正网络科技有限公司 | 延时消息处理方法、装置、计算机设备和存储介质 |
CN111796946A (zh) * | 2020-06-22 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111813513A (zh) * | 2020-06-24 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于分布式的实时任务调度方法、装置、设备及介质 |
CN112073526A (zh) * | 2020-09-14 | 2020-12-11 | 苏州颂康智能科技有限公司 | 一种基于5g的分布式iot远程监控*** |
CN112104519A (zh) * | 2020-08-06 | 2020-12-18 | 北京健康之家科技有限公司 | 延迟消息的投递方法及装置、存储介质、计算机设备 |
CN112612607A (zh) * | 2020-12-16 | 2021-04-06 | 平安消费金融有限公司 | 基于消息队列的数据处理方法、装置、计算机设备和介质 |
-
2021
- 2021-06-17 CN CN202110672428.0A patent/CN113590708B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170329384A1 (en) * | 2009-07-21 | 2017-11-16 | The Research Foundation For The State University Of New York | Apparatus and method for efficient estimation of the energy dissipation of processor based systems |
US20170118042A1 (en) * | 2015-10-21 | 2017-04-27 | Brocade Communications Systems, Inc. | High availability for distributed network services in an extended bridge |
US20190138638A1 (en) * | 2016-09-26 | 2019-05-09 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN110012039A (zh) * | 2018-01-04 | 2019-07-12 | 华北电力大学 | 一种车联网中基于admm的任务分配与功率控制方案 |
CN109298951A (zh) * | 2018-08-21 | 2019-02-01 | 平安科技(深圳)有限公司 | Celery任务的执行方法及终端设备 |
CN109743137A (zh) * | 2019-01-10 | 2019-05-10 | 浙江小泰科技有限公司 | 一种支持更新的分布式延迟消息队列处理*** |
CN110196761A (zh) * | 2019-04-15 | 2019-09-03 | 北京达佳互联信息技术有限公司 | 延迟任务处理方法及装置 |
CN110636130A (zh) * | 2019-09-23 | 2019-12-31 | 上海钧正网络科技有限公司 | 延时消息处理方法、装置、计算机设备和存储介质 |
CN111796946A (zh) * | 2020-06-22 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111813513A (zh) * | 2020-06-24 | 2020-10-23 | 中国平安人寿保险股份有限公司 | 基于分布式的实时任务调度方法、装置、设备及介质 |
CN112104519A (zh) * | 2020-08-06 | 2020-12-18 | 北京健康之家科技有限公司 | 延迟消息的投递方法及装置、存储介质、计算机设备 |
CN112073526A (zh) * | 2020-09-14 | 2020-12-11 | 苏州颂康智能科技有限公司 | 一种基于5g的分布式iot远程监控*** |
CN112612607A (zh) * | 2020-12-16 | 2021-04-06 | 平安消费金融有限公司 | 基于消息队列的数据处理方法、装置、计算机设备和介质 |
Non-Patent Citations (2)
Title |
---|
MIAN GUO: ""Optimal Scheduling of VMs in Queueing Cloud Computing Systems With a Heterogeneous Workload"", 《IEEE ACCESS ( VOLUME: 6)》, pages 15178 - 15191 * |
李祎 等: ""互联网延迟队列解决方案设计"", 《福建电脑》, pages 9 - 12 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590708B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092521B (zh) | 一种分布式任务调度方法、装置及*** | |
CN109450987B (zh) | 编号生成方法、装置及***和存储介质 | |
CN111970198A (zh) | 一种服务路由方法、装置、电子设备及介质 | |
CN108009642A (zh) | 分布式机器学习方法和*** | |
CN109150929B (zh) | 高并发场景下的数据请求处理方法和装置 | |
CN110046083B (zh) | 自动化灰度发布方法和装置 | |
CN113193947B (zh) | 实现分布式全局序的方法、设备、介质及程序产品 | |
CN111181765A (zh) | 一种任务处理方法和装置 | |
CN112631761A (zh) | 一种任务调度监控方法和装置 | |
CN110928746B (zh) | 可调配的业务处理***、方法、装置及可存储介质 | |
CN114048931B (zh) | 补货信息生成方法、装置、电子设备和计算机可读介质 | |
CN109388655A (zh) | 一种动态控制数据访问的方法和装置 | |
CN110569135A (zh) | 一种基于发布订阅模式的进程间通信方法及*** | |
CN113590708A (zh) | 自适应延迟消费方法、程序产品及存储介质 | |
CN110071952A (zh) | 服务调用量的控制方法和装置 | |
CN109660310B (zh) | 一种时钟同步的方法、装置、计算设备及计算机存储介质 | |
CN115129429B (zh) | 容器应用管理方法、装置、电子设备及存储介质 | |
CN109753782B (zh) | 一种云安全资源池的适配处理方法及装置 | |
CN116010065A (zh) | 分布式任务调度方法、装置以及设备 | |
CN113360689B (zh) | 图像检索***、方法、相关装置及计算机程序产品 | |
CN112131560B (zh) | 一种角色权限调整方法及装置 | |
CN113672682B (zh) | 一种基于同步帧的数量同步方法及同步装置 | |
US9847919B2 (en) | Data network device discovery optimization to reduce data transfer volume | |
CN117950703B (zh) | 维测数据的自适应更新方法、装置、电子设备及存储介质 | |
CN116974825A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231128 Address after: Room 102, 1st Floor, Building 1, No. 2 Chuangye Road, Haidian District, Beijing, 100080 Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd. Address before: 101309 room 24, 62 Farm Road, Erjie village, Yangzhen, Shunyi District, Beijing Applicant before: Beijing fangjianghu Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |