CN113110926A - 数据消费线程的动态调整方法、装置、介质及电子设备 - Google Patents

数据消费线程的动态调整方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN113110926A
CN113110926A CN202110420566.XA CN202110420566A CN113110926A CN 113110926 A CN113110926 A CN 113110926A CN 202110420566 A CN202110420566 A CN 202110420566A CN 113110926 A CN113110926 A CN 113110926A
Authority
CN
China
Prior art keywords
configuration information
theme
data consumption
current configuration
group corresponding
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.)
Pending
Application number
CN202110420566.XA
Other languages
English (en)
Inventor
彭海涛
傅义平
宋昕欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huaxing Digital Technology Co Ltd
Original Assignee
Shanghai Huaxing Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Huaxing Digital Technology Co Ltd filed Critical Shanghai Huaxing Digital Technology Co Ltd
Priority to CN202110420566.XA priority Critical patent/CN113110926A/zh
Publication of CN113110926A publication Critical patent/CN113110926A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种数据消费线程的动态调整方法、装置、计算机可读存储介质及电子设备,通过获取表征数据消费需求的当前配置信息,然后比对当前配置信息与上一次配置信息,得到变动参数,最后根据变动参数,实时调整与变动参数对应的数据消费线程组;即通过实时获取当前配置信息与上一次配置信息进行比对,以得到变动参数,然后根据变动参数实时调整与该变动参数对应的数据消费线程组,从而实现数据消费系统端的消费数据的动态调整,提高了数据消费线程调整的效率和客户体验。

Description

数据消费线程的动态调整方法、装置、介质及电子设备
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据消费线程的动态调整方法、装置、计算机可读存储介质及电子设备。
背景技术
随着自动化工业技术的不断发展,越来越多的自动化工业设备已经投入使用,为了保证自动化工业设备的整车使用,通常会在自动化工业设备上设置多个传感器,以收集作业数据。
为了保证数据的完整性,往往会收集自动化工业设备的所有数据,而在实际使用过程中,由于需求不同,只需要选取其中的部分数据即可,即建立数据消费线程或线程组以实现消费(获取)数据的效果。目前常用的数据流技术有Kafka数据流技术等。然而,Kafka数据流无法根据变化的参数动态控制消费线程的启动或停止,从而导致数据消费系统(例如客户端)不能动态调整消费数据的内容。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种数据消费线程的动态调整方法、装置、计算机可读存储介质及电子设备,解决了上述数据消费系统不能动态调整消费数据内容的问题。
根据本申请的一个方面,提供了一种数据消费线程的动态调整方法,包括:获取当前配置信息;其中,所述配置信息表征数据消费需求;比对所述当前配置信息与上一次配置信息,得到变动参数;其中,所述变动参数为所述当前配置信息相对所述上一次配置信息发生变动的参数;以及根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组。
在一实施例中,所述获取当前配置信息包括:当接收到表征调整所述配置信息的广播事件时,获取所述当前配置信息。
在一实施例中,所述比对所述当前配置信息与上一次配置信息包括:提取所述当前配置信息中的主题配置信息和所述上一次配置信息中的主题配置信息;以及比对所述当前配置信息中的主题配置信息和所述上一次配置信息中的主题配置信息;其中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:当所述变动参数包括同时存在于所述上一次配置信息和所述当前配置信息中的第一主题,且所述当前配置信息中的第一主题配置信息和所述上一次配置信息中的第一主题配置信息存在变化时,重启所述第一主题对应的消费线程组。
在一实施例中,所述重启所述第一主题对应的消费线程组包括:根据所述当前配置信息调整所述第一主题配置信息,且重启所述第一主题对应的消费线程组。
在一实施例中,所述第一主题配置信息包括分区信息;其中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:当所述上一次配置信息中的所述第一主题对应的数据消费线程组和所述当前配置信息中的所述第一主题对应的数据消费线程组存在变化时,调整所述当前配置信息中所述第一主题配置信息的分区信息。
在一实施例中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:当所述变动参数包括存在于所述上一次配置信息中且不存在于所述当前配置信息中的第二主题配置信息时,停止所述第二主题配置信息对应的消费线程组。
在一实施例中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:当所述变动参数包括不存在于所述上一次配置信息中且存在于所述当前配置信息中的第三主题配置信息时,启动所述第三主题配置信息对应的消费线程组。
根据本申请的另一个方面,提供了一种数据消费线程的动态调整装置,包括:获取模块,用于获取当前配置信息;其中,所述配置信息表征数据消费需求;比对模块,用于比对所述当前配置信息与上一次配置信息,得到变动参数;其中,所述变动参数为所述当前配置信息相对所述上一次配置信息发生变动的参数;以及调整模块,用于根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组。
根据本申请的另一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的数据消费线程的动态调整方法。
根据本申请的另一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述任一所述的数据消费线程的动态调整方法。
本申请提供的一种数据消费线程的动态调整方法、装置、计算机可读存储介质及电子设备,通过获取表征数据消费需求的当前配置信息,然后比对当前配置信息与上一次配置信息,得到变动参数,最后根据变动参数,实时调整与变动参数对应的数据消费线程组;即通过实时获取当前配置信息与上一次配置信息进行比对,以得到变动参数,然后根据变动参数实时调整与该变动参数对应的数据消费线程组,从而实现数据消费系统端的消费数据的动态调整,提高了数据消费线程调整的效率和客户体验。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本申请一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。
图2是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。
图3是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。
图4是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。
图5是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。
图6是本申请一示例性实施例提供的一种数据消费线程的动态调整装置的结构示意图。
图7是本申请另一示例性实施例提供的一种数据消费线程的动态调整装置的结构示意图。
图8是本申请一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
流技术应用消费队列数据,并在内存中进行实时计算,最后将计算后的数据信息和告警等处理后的信息发送出来。Kafka Streaming属于流式处理分析最常用的框架,但是目前标准的Kafka Streaming存在以下2个问题:
1、无法自主控制消费线程或线程组的启动和停止。
2、无法根据配置动态创建相关主题的消费线程组。
为了实现Kafka Streaming及时响应配置信息的修改,本申请通过新增配置数据库,通过界面化的参数配置,进行Kafka消费主题和消费线程组信息的配置;并且当配置发生变动的时候,对应的Kafka消费组程序来调整消费组线程,以实现动态调整消费线程的效果。
下面结合附图具体说明本申请提供的数据消费线程的动态调整方法、装置、计算机可读存储介质及电子设备的实施方式。
示例性方法
图1是本申请一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。如图1所示,该数据消费线程的动态调整方法包括:
步骤110:获取当前配置信息;其中,配置信息表征数据消费需求。
由于相同的工业设备数据可能会被一个或多个用户使用,为了避免多个用户之间的相互干扰,通常会针对不同用户使用不同的数据流(对应不同的线程或线程组)。由于系统中可能会增加或删减用户,即启动新的数据流或删减数据流,或者用户会根据需求修改其配置(例如数据消费的内容或类型),此时,需要同步获取当前配置信息,以实时获知当前的数据流需求信息。
在一实施例中,步骤110的具体实现方式可以是:当接收到表征调整配置信息的广播事件时,获取当前配置信息。在配置信息发生变化时,通过发布事件(例如使用消息中间件广播配置信息发生变化的事件)的方式来通知对应的消费线程组程序来调整消费线程。在接收到了广播事件时,立即获取当前配置信息。
步骤120:比对当前配置信息与上一次配置信息,得到变动参数;其中,变动参数为当前配置信息相对上一次配置信息发生变动的参数。
在获取了当前配置信息后,比对该当前配置信息与上一次配置信息(缓存或保存在系统中),以得到当前配置信息与上一次配置信息之间的区别,即得到变动参数。
步骤130:根据变动参数,实时调整与变动参数对应的数据消费线程组。
由该变动参数,确定需要调整的数据消费线程组,并根据该变动参数动态调整对应的数据消费线程组,以满足当前配置信息需求。
本申请提供的一种数据消费线程的动态调整方法,通过获取表征数据消费需求的当前配置信息,然后比对当前配置信息与上一次配置信息,得到变动参数,最后根据变动参数,实时调整与变动参数对应的数据消费线程组;即通过实时获取当前配置信息与上一次配置信息进行比对,以得到变动参数,然后根据变动参数实时调整与该变动参数对应的数据消费线程组,从而实现数据消费系统端的消费数据的动态调整,提高了数据消费线程调整的效率和客户体验。
图2是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。如图2所示,上述步骤120可以包括:
步骤121:提取当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息。
为了区分数据的类型,通常会将数据根据类型等属性的不同将其分为多个主题。在获取了当前配置信息后,将当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息提取出来,即先从大类别上去比对当前配置信息和上一次配置信息。
步骤122:比对当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息。
通过比对当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息,以获知当前配置信息和上一次配置信息中的主题配置信息的变动,即从整体上比对当前配置信息和上一次配置信息中的变动。
对应的,步骤130包括:
步骤131:当变动参数包括同时存在于上一次配置信息和当前配置信息中的第一主题,且当前配置信息中的第一主题配置信息和上一次配置信息中的第一主题配置信息存在变化时,重启第一主题对应的消费线程组。
当第一主题同时存在于上一次配置信息和当前配置信息中,且当前配置信息中的第一主题配置信息和上一次配置信息中的第一主题配置信息存在变化时,即说明第一主题的配置信息(例如数据格式、数据传输频次、字段变化等)有所变化,此时需要重启第一主题对应的消费线程组并将第一主题配置信息调整为与当前配置信息一致。
图3是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。第一主题配置信息包括分区信息;如图3所示,上述步骤130还可以包括:
步骤132:当上一次配置信息中的第一主题对应的数据消费线程组和当前配置信息中的第一主题对应的数据消费线程组存在变化时,调整当前配置信息中第一主题配置信息的分区信息。
当上一次配置信息中的第一主题对应的数据消费线程组和当前配置信息中的第一主题对应的数据消费线程组存在变化时,可能会导致第一主题对应的各个分区中消费线程组的数量发生变化,为了进一步提高第一主题的各个分区之间的平衡性,在各个分区中消费线程组的数量变化或分区信息变化时,调整第一主题配置信息的分区信息,以保证第一主题的各个分区之间消费线程组的平衡性(例如尽量实现各个分区中的线程组数量相等或相近)。
图4是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。如图4所示,上述步骤130可以包括:
步骤133:当变动参数包括存在于上一次配置信息中且不存在于当前配置信息中的第二主题的配置信息时,停止第二主题对应的消费线程组。
当变动参数包括存在于上一次配置信息中且不存在于当前配置信息中的第二主题的配置信息,即当前数据流不需要第二主题对应的消费线程组。此时,可以停止第二主题对应的消费线程组,以实现快速响应。
图5是本申请另一示例性实施例提供的一种数据消费线程的动态调整方法的流程示意图。如图5所示,上述步骤130可以包括:
步骤134:当变动参数包括不存在于上一次配置信息中且存在于当前配置信息中的第三主题的配置信息时,启动第三主题对应的消费线程组。
当变动参数包括不存在于上一次配置信息中且存在于当前配置信息中的第三主题的配置信息,即当前数据流需要第三主题对应的消费线程组。此时,可以立即启动第三主题对应的消费线程组,以实现快速响应。
在实际应用中,上述实施例可以由工作执行者程序实现,该工作执行者程序通过建立消息模板处理器代理(KafkaTemplateProxy)来缓存和管理每个主题(topic)对应的消息模板处理器(KafkaTemplate)对象,以及流式构建工厂代理类(StreamsBuilderFactoryBeanProxy)来缓存和管理每个主题对应的流式构建工厂实体类(StreamsBuilderFactoryBean)对象。
具体的,消息模板处理器代理包括注册程序(register)、是否存在判断程序(isExist)、清除程序(remove)及处理程序(handle)四个程序块。其中,注册程序根据配置参数,实例化消息模板处理器对象,同时将实例化的消息模板处理器对象以消费组id(主键)为key键缓存在内存中(消费线程组的建立),是否存在判断程序判断内存对象中是否存在该消息模板处理器对象(判断对应的线程组是否存在),清除程序移除内存对象中的消息模板处理器对象(当对应的线程组不需要时,删除该消息模板处理器对象),执行程序判断配置是否有变更,并实现对应的参数比较差异(步骤120中比对的操作)。
流式构建工厂代理类继承生命周期管理(SmartLifecycle),初始化实体(InitializingBean)2个接口。流式构建工厂代理类包括:开始程序(start)、停止程序(stop)、是否运行判断程序(isRunning)。其中,开始程序根据配置参数构建流式构建工厂实体类对象,以消费组id(主键)为key键缓存在内存对象并开启对应线程组消费。停止程序获取到内存的流式构建工厂实体类对象,然后移除内存中的缓存对象。是否运行判断程序判断内存中是否有相应消费组缓存,如果有该缓存,还需要跟据缓存对象状态判断消费组是否在运行,如果运行返回true(是),如果停止返回false(否),没有缓存对象则直接返回false(否)。
当配置有变更时,消息通知事件会下发,消息模板处理器代理感知参数变更时,会调用配置中心获取最新的配置,并调用执行程序实现对比上一版本的参数和本次的参数的差异。流式构建工厂代理类按照相应的参数变更,执行对应的消费线程组开始或停止即可。
本申请还提供了在非运行状态下配置参数变更时数据消费线程的调整方法,通过在配置界面上配置新的配置参数,配置完成后以事件的形式发布,在获取到配置参数变更的通知后,获取最新的配置参数,并启动工作执行者(execute work)程序以启动对应新的配置参数的数据消费线程组。
示例性装置
图6是本申请一示例性实施例提供的一种数据消费线程的动态调整装置的结构示意图。如图6所示,该动态调整装置60包括:获取模块61,用于获取当前配置信息;其中,配置信息表征数据消费需求;比对模块62,用于比对当前配置信息与上一次配置信息,得到变动参数;其中,变动参数为当前配置信息相对上一次配置信息发生变动的参数;以及调整模块63,用于根据变动参数,实时调整与变动参数对应的数据消费线程组。
本申请提供的一种数据消费线程的动态调整装置,通过获取模块61获取表征数据消费需求的当前配置信息,然后比对模块62比对当前配置信息与上一次配置信息,得到变动参数,最后调整模块63根据变动参数,实时调整与变动参数对应的数据消费线程组;即通过实时获取当前配置信息与上一次配置信息进行比对,以得到变动参数,然后根据变动参数实时调整与该变动参数对应的数据消费线程组,从而实现数据消费系统端的消费数据的动态调整,提高了数据消费线程调整的效率和客户体验。
在一实施例中,获取模块61可以进一步配置为:当接收到表征调整配置信息的广播事件时,获取当前配置信息。
图7是本申请另一示例性实施例提供的一种数据消费线程的动态调整装置的结构示意图。如图7所示,上述比对模块62可以包括:主题提取单元621,用于提取当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息;主题比对单元622,用于比对当前配置信息中的主题配置信息和上一次配置信息中的主题配置信息。对应的,调整模块63可以进一步配置为:当变动参数包括同时存在于上一次配置信息和当前配置信息中的第一主题,且当前配置信息中的第一主题配置信息和上一次配置信息中的第一主题配置信息存在变化时,重启第一主题对应的消费线程组。
在一实施例中,调整模块63可以进一步配置为:当上一次配置信息中的第一主题对应的数据消费线程组和当前配置信息中的第一主题对应的数据消费线程组存在变化时,调整当前配置信息中第一主题配置信息的分区信息。
在一实施例中,调整模块63可以进一步配置为:当变动参数包括存在于上一次配置信息中且不存在于当前配置信息中的第二主题的配置信息时,停止第二主题对应的消费线程组。
在一实施例中,调整模块63可以进一步配置为:当变动参数包括不存在于上一次配置信息中且存在于当前配置信息中的第三主题的配置信息时,启动第三主题对应的消费线程组。
示例性电子设备
下面,参考图8来描述根据本申请实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图8图示了根据本申请实施例的电子设备的框图。
如图8所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的数据消费线程的动态调整方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入设备13还可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的数据消费线程的动态调整方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的数据消费线程的动态调整方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种数据消费线程的动态调整方法,其特征在于,包括:
获取当前配置信息;其中,所述配置信息表征数据消费需求;
比对所述当前配置信息与上一次配置信息,得到变动参数;其中,所述变动参数为所述当前配置信息相对所述上一次配置信息发生变动的参数;以及
根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组。
2.根据权利要求1所述的动态调整方法,其特征在于,所述获取当前配置信息包括:
当接收到表征调整所述配置信息的广播事件时,获取所述当前配置信息。
3.根据权利要求1所述的动态调整方法,其特征在于,所述比对所述当前配置信息与上一次配置信息包括:
提取所述当前配置信息中的主题配置信息和所述上一次配置信息中的主题配置信息;以及
比对所述当前配置信息中的主题配置信息和所述上一次配置信息中的主题配置信息;
其中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:
当所述变动参数包括同时存在于所述上一次配置信息和所述当前配置信息中的第一主题,且所述当前配置信息中的第一主题配置信息和所述上一次配置信息中的第一主题配置信息存在变化时,重启所述第一主题对应的消费线程组。
4.根据权利要求3所述的动态调整方法,其特征在于,所述重启所述第一主题对应的消费线程组包括:
根据所述当前配置信息调整所述第一主题配置信息,且重启所述第一主题对应的消费线程组。
5.根据权利要求3所述的动态调整方法,其特征在于,所述第一主题配置信息包括分区信息;其中,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:
当所述上一次配置信息中的所述第一主题对应的数据消费线程组和所述当前配置信息中的所述第一主题对应的数据消费线程组存在变化时,调整所述当前配置信息中所述第一主题配置信息的分区信息。
6.根据权利要求1所述的动态调整方法,其特征在于,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:
当所述变动参数包括存在于所述上一次配置信息中且不存在于所述当前配置信息中的第二主题配置信息时,停止所述第二主题配置信息对应的消费线程组。
7.根据权利要求1所述的动态调整方法,其特征在于,所述根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组包括:
当所述变动参数包括不存在于所述上一次配置信息中且存在于所述当前配置信息中的第三主题配置信息时,启动所述第三主题配置信息对应的消费线程组。
8.一种数据消费线程的动态调整装置,其特征在于,包括:
获取模块,用于获取当前配置信息;其中,所述配置信息表征数据消费需求;
比对模块,用于比对所述当前配置信息与上一次配置信息,得到变动参数;其中,所述变动参数为所述当前配置信息相对所述上一次配置信息发生变动的参数;以及
调整模块,用于根据所述变动参数,实时调整与所述变动参数对应的数据消费线程组。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的数据消费线程的动态调整方法。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1-7任一所述的数据消费线程的动态调整方法。
CN202110420566.XA 2021-04-19 2021-04-19 数据消费线程的动态调整方法、装置、介质及电子设备 Pending CN113110926A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110420566.XA CN113110926A (zh) 2021-04-19 2021-04-19 数据消费线程的动态调整方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110420566.XA CN113110926A (zh) 2021-04-19 2021-04-19 数据消费线程的动态调整方法、装置、介质及电子设备

Publications (1)

Publication Number Publication Date
CN113110926A true CN113110926A (zh) 2021-07-13

Family

ID=76718527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110420566.XA Pending CN113110926A (zh) 2021-04-19 2021-04-19 数据消费线程的动态调整方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN113110926A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527626B1 (en) * 2010-09-29 2013-09-03 Emc Corporation Managing system polling
CN107122497A (zh) * 2017-05-25 2017-09-01 北京微影时代科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN107451147A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 一种kafka集群动态切换的方法和装置
CN108230042A (zh) * 2018-01-24 2018-06-29 北京墨丘科技有限公司 需求识别方法、装置、电子设备及计算机可读存储介质
CN108537626A (zh) * 2018-03-16 2018-09-14 北京墨丘科技有限公司 一种协同消费的方法、装置和电子设备
CN111339073A (zh) * 2020-02-24 2020-06-26 天津满运软件科技有限公司 实时数据处理方法、装置、电子设备及可读存储介质
CN112131005A (zh) * 2020-09-25 2020-12-25 新华三大数据技术有限公司 一种资源调整策略确定方法和装置
CN112463744A (zh) * 2020-11-23 2021-03-09 深圳市安软科技股份有限公司 一种分布式文件存储方法、装置、电子设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527626B1 (en) * 2010-09-29 2013-09-03 Emc Corporation Managing system polling
CN107451147A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 一种kafka集群动态切换的方法和装置
CN107122497A (zh) * 2017-05-25 2017-09-01 北京微影时代科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN108230042A (zh) * 2018-01-24 2018-06-29 北京墨丘科技有限公司 需求识别方法、装置、电子设备及计算机可读存储介质
CN108537626A (zh) * 2018-03-16 2018-09-14 北京墨丘科技有限公司 一种协同消费的方法、装置和电子设备
CN111339073A (zh) * 2020-02-24 2020-06-26 天津满运软件科技有限公司 实时数据处理方法、装置、电子设备及可读存储介质
CN112131005A (zh) * 2020-09-25 2020-12-25 新华三大数据技术有限公司 一种资源调整策略确定方法和装置
CN112463744A (zh) * 2020-11-23 2021-03-09 深圳市安软科技股份有限公司 一种分布式文件存储方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SIMONA-VASILICA OPREA ET AL.: "Big Data solutions - data ingestion and stream processing for demand response management", 《2019 23RD INTERNATIONAL CONFERENCE ON SYSTEM THEORY, CONTROL AND COMPUTING (ICSTCC)》, 31 December 2019 (2019-12-31), pages 697 - 702 *
张嘉: "基于 Kafka 的智能水表系统内部数据通信设计与实现", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, 15 June 2019 (2019-06-15), pages 038 - 225 *

Similar Documents

Publication Publication Date Title
CN110781007A (zh) 任务处理方法、装置、服务器、客户端、系统和存储介质
JP4880376B2 (ja) 支援装置、プログラム、情報処理システム及び支援方法
JP2010134599A (ja) ストリームデータ処理制御方法、ストリームデータ処理装置及びストリームデータ処理制御プログラム
JP2007257049A (ja) 性能情報収集方法、装置、及びプログラム
CN110515944B (zh) 基于分布式数据库的数据存储方法、存储介质和电子设备
CN110765195A (zh) 一种数据解析方法、装置、存储介质及电子设备
WO2021051589A1 (zh) 数据存储方法、装置、电子设备及存储介质
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
WO2022222303A1 (zh) 基于hdfs的小文件处理方法、装置、介质及电子设备
CN113762906A (zh) 任务周期延迟的告警方法、装置、设备及存储介质
CN114443691A (zh) 数据库查询调优方法、系统及计算机设备
CN113778644A (zh) 任务的处理方法、装置、设备及存储介质
JP2003076543A (ja) プログラム生成装置、プログラム生成方法およびその方法をコンピュータに実行させるプログラム
CN112307046A (zh) 数据采集方法和装置、计算机可读存储介质、电子设备
CN113110926A (zh) 数据消费线程的动态调整方法、装置、介质及电子设备
CN115858499A (zh) 一种数据库分区处理方法、装置、计算机设备和存储介质
KR102464688B1 (ko) 모니터링 결과의 이벤트 등급 결정 방법 및 장치
CN112765188B (zh) 配置信息处理方法、配置管理系统、电子设备及存储介质
CN114706893A (zh) 故障检测方法、装置、设备及存储介质
AU2018329492A1 (en) Fault tolerant services for integrated building automation systems
EP4024761A1 (en) Communication method and apparatus for multiple management domains
KR102190658B1 (ko) 텍스트에 기반하여 비디오를 검색하기 위한 전자 장치 및 방법
CN113626869A (zh) 数据处理方法、系统、电子设备以及存储介质
CN114327709A (zh) 一种控制页面生成方法、装置、智能设备及存储介质
CN111679899A (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