CN111209310A - 基于流计算的业务数据处理方法、装置和计算机设备 - Google Patents
基于流计算的业务数据处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111209310A CN111209310A CN202010324374.4A CN202010324374A CN111209310A CN 111209310 A CN111209310 A CN 111209310A CN 202010324374 A CN202010324374 A CN 202010324374A CN 111209310 A CN111209310 A CN 111209310A
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- message
- thread
- index
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及数据处理技术领域,特别涉及一种基于流计算的业务数据处理方法、装置和计算机设备。方法包括:接收业务数据处理请求,业务数据处理请求中携带消息标识;查找消息标识对应的计算性能指标;根据计算性能指标建立多个消费者线程;在多个消费者线程中从消息队列中拉取待处理业务数据;根据流计算执行器对待处理业务数据进行数据处理。采用本方法能够提高数据处理的效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种基于流计算的业务数据处理方法、装置和计算机设备。
背景技术
随着移动互联网、物联网时代的到来,每个体都是互联网的连接载体,每个载体都会产生数据,因而在互联网应用中产生了大量数据,数据的价值需要通过大数据技术进行挖掘,大数据计算技术是海量数据分析不可或缺的技术,海量数据传输的消息中间件也存在多种,并且多种消息中间件都可以与流计算应用对接,从而达到海量数据实时计算的结果。
但是有些消息中间件只具有消息推送的功能,无法控制消费端的数据处理速度,存在消费端消息积压或者消费端消息不足的情况,导致消息处理效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理效率的方法、装置、计算机设备和存储介质。
一种基于流计算的业务数据处理方法,方法包括:
接收业务数据处理请求,业务数据处理请求中携带消息标识;
查找消息标识对应的计算性能指标;
根据计算性能指标建立多个消费者线程;
在多个消费者线程中从消息队列中拉取待处理业务数据;
根据流计算执行器对待处理业务数据进行数据处理。
在其中一个实施例中,方法还包括:
获取消息标识对应的历史消息数据;
利用流计算执行器对历史消息数据进行数据处理,得到流计算执行器的计算性能指标;
将消息标识与计算性能指标进行关联绑定;
查找消息标识对应的计算性能指标,包括:
从关联绑定的数据库中查找消息标识对应的计算性能指标。
在其中一个实施例中,根据计算性能指标建立消费者线程,包括:
根据计算性能指标确定消费者线程的线程数量,以及各消费者线程对应的预设的线程指标;
根据各预设的线程指标建立对应线程数量的消费者线程。
在其中一个实施例中,根据各消费者线程从消息队列中拉取待处理业务数据,包括:
获取各消费者线程对应的预设的线程指标;
从各预设的线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标;
根据初始偏移量指标定位待处理业务数据在消息队列中的初始位置;
从初始位置开始,按照数据拉取增量指标以及数据拉取频率指标从消息队列中拉取待处理业务数据。
在其中一个实施例中,根据流计算执行器对待处理业务数据进行数据处理,包括:
根据消费者线程将待处理业务数据推送至流计算执行器;
利用流计算执行器对待处理业务数据进行分布式处理得到分布式数据;
利用聚合线程对各分布式数据进行聚合处理得到聚合数据。
在其中一个实施例中,利用聚合线程对各分布式数据进行聚合处理得到聚合数据之后,还包括:
利用聚合数据对数据库进行更新;
从更新后的数据库中的提取目标数据并进行实时显示。
在其中一个实施例中,消息队列是RocketMQ,流计算执行器为SparkStreaming。
一种基于流计算的业务数据处理装置,装置包括:
请求接收模块,用于接收业务数据处理请求,业务数据处理请求中携带消息标识;
性能指标查找模块,用于查找消息标识对应的计算性能指标;
线程建立模块,用于根据计算性能指标建立多个消费者线程;
数据拉取模块,用于在多个消费者线程中从消息队列中拉取待处理业务数据;
数据处理模块,用于根据流计算执行器对待处理业务数据进行数据处理。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
上述基于流计算的业务数据处理方法、装置、计算机设备和存储介质,接收业务数据处理请求,业务数据处理请求中携带消息标识;查找消息标识对应的计算性能指标;进而能够根据不同类型主题消息对应的计算性能指标建立对应的消费者线程;然后根据各消费者线程从消息队列中拉取待处理的业务数据,实现了利用消费者线程主动从消息队列中拉取业务数据,并且消费者线程是根据计算性能指标进行建立的,使得消费者线程从消息队列中拉取业务数据的数据量正好满足流计算执行器的数据计算性能指标要求,不会存在数据积压或者数据不足的情况,提高了数据的处理效率。
附图说明
图1为一个实施例中提供的一种基于流计算的业务数据处理方法的应用场景图;
图2为一个实施例中提供的一种基于流计算的业务数据处理方法的流程示意图;
图3为一个实施例中提供的一种基于流计算的业务数据处理方法的模块示意图;
图4为一个实施例中一种基于流计算的业务数据处理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于流计算的业务数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104接收终端102发送的业务数据处理请求,业务数据处理请求中携带消息标识;查找消息标识对应的计算性能指标;根据计算性能指标建立多个消费者线程;在多个消费者线程中从消息队列中拉取待处理业务数据;根据流计算执行器对待处理业务数据进行数据处理。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于流计算的业务数据处理方法,以该方法应用于图1中的服务器104为例进行说明,在其他实施例中,该方法也可以应用于终端,方法包括以下步骤:
步骤210,接收业务数据处理请求,业务数据处理请求中携带消息标识。
消息标识用于唯一标识消息的类型,具体地,服务器如业务***可以预先与消费者终端约定进行数据交互的消息类型。如业务***如生产者在发送消息数据之前需要创建消息的主题如消息Topic,消费者终端根据具体的需求订阅预设主题的消息Topic,并且只有消费者终端预先订阅了消息Topic,才能接收业务***发送的关于该消息Topic的消息数据。具体地,服务器接收终端如消费者终端发送的业务数据处理请求,业务数据处理请求中携带消息标识,进而消费者终端可以从业务***中获取与消息标识对应的待处理业务数据。
步骤220,查找消息标识对应的计算性能指标。
计算性能指标是表征流计算执行器计算能力的指标,如可包含计算速度等。流计算执行器对不同主题类型的消息数据的数据处理性能是不同的,故而首先需要获取流计算执行器对不同主题类型的消息数据的数据处理性能,然后再根据得到的数据处理性能建立对应的消费者线程。具体地,服务器可以预先获取流计算执行器对多种类型的消息数据的计算性能指标,然后将消息标识与计算性能指标进行关联存储,使得可以根据消息标识直接查询得到预先存储的计算性能指标,提高了计算性能指标的获取效率,并且预先存储的方式还可以使得计算得到的各计算性能指标能够重复使用,减少了不必要的重复计算过程。
步骤230,根据计算性能指标建立多个消费者线程。
具体地,消费者线程的数量可为多个,如可为消费者线程1、消费者线程2以及消费者线程3,在其他实施例中也可以根据计算性能指标建立其他数量的消费者线程,在此不作限制。并且不同消费者线程的执行能力可以相同也可以不同,并且不同执行能力的消费者线程的数据处理能力是不同的。
步骤240,在多个消费者线程中从消息队列中拉取待处理业务数据。
消息队列可用于存放消息,并且还可以从消息队列中读取消息数据。具体地,当根据流计算执行器的计算性能创建对应的消费者线程后,利用消费者线程从消息队列中拉取消息数据,具体地,根据各消费者线程对应的线程指标从消息队列中拉取消息数据,并且拉取到的消息数据为待处理业务数据。
相比于利用消息队列将消息数据推送至消费者终端的方式,本步骤是利用预先建立的消费者线程从消息队列中主动拉取消息数据,进而能够控制从消息队列中拉取消息数据的速度以及数量,使得拉取到的数据能够适应流计算执行器的计算性能。
步骤250,根据流计算执行器对待处理业务数据进行数据处理。
具体地,多个消费者线程从消息队列中拉取待处理业务数据,然后多个消费者线程把拉过来的待处理业务数据推送至流计算执行器,以使得流计算执行器对接收到的待处理业务数据进行数据处理。具体地,流计算执行器可以分布式计算框架,可以对接收到的待处理业务数据进行实时处理得到处理结果,如可进行实时的秒杀计算、实时的数据显示等。
在本实施例中,改变消息队列推送消息数据,根据实际的数据计算性能建立对应的消费者线程,然后利用消费者线程主动从消息队列中拉取适合流计算执行器进行数据处理的消息数据,解决了消费能力不可控的问题。
在其中一个实施例中,消息队列是RocketMQ,流计算执行器为SparkStreaming。
具体地,通过根据流计算执行器如SparkStreaming的实际数据计算性能建立对应的消费者线程,实现了SparkStreaming执行器通过消费者线程与RocketMQ对接并从中拉取消息数据的功能,解决了RocketMQ推送消息数据如push方式的消费能力不可控的问题。进一步地,还扩展了SparkStreaming流计算执行器与RocketMQ的对接方式,多了一种大数据实时计算的场景支持。在本实施例中,采用SparkStreaming对接RocketMQ使用消息pull的模式,可以解决push模式中无法控制消费速度的问题,采用pull的模式消费端可以根据自身的处理能力决定拉取的频率及拉取的增量因子,不会因为被动接收的模式导致消费积压或者消费不足。
在其中一个实施例中,方法还包括:获取消息标识对应的历史消息数据;利用流计算执行器对历史消息数据进行数据处理,得到流计算执行器的计算性能指标;将消息标识与计算性能指标进行关联绑定。
服务器获取各消息标识对应的历史消息数据,利用流计算执行器对各历史消息数据进行数据处理,得到流计算执行器对各历史消息数据的计算性能指标,得到流计算执行器对各类型的消息数据的处理能力,然后根据处理能力得到个消息标识对应的计算性能指标,将消息标识与计算性能指标进行关联绑定存储至数据库中。
在其中一个实施例中,查找消息标识对应的计算性能指标,包括:从关联绑定的数据库中查找消息标识对应的计算性能指标。在本实施例中,直接从预先存储的数据库中查找各消息标识对应的计算性能,而不需要实时去计算各消息标识对应的计算性能指标,减少了计算机资源的浪费,提高了数据计算的效率,并且数据库中存储的消息标识的个数可以不断地进行更新,以适应更多类型的消息标识。
在其中一个实施例中,进一步地,根据计算性能指标建立消费者线程,包括:根据计算性能指标确定消费者线程的线程数量,以及各消费者线程对应的预设的线程指标;根据各预设的线程指标建立对应线程数量的消费者线程。
在本实施例中,消费者线程根据预先设置的线程指标从消息队列中拉取待处理业务对应的消息数据,然后将拉取到的消息数据推送至流计算执行器中,以满足流计算执行器的计算需求,不会存在消息数据的缺乏以及消息数据的积压。
进一步地,在其中一个实施例中,根据各消费者线程从消息队列中拉取待处理业务数据,包括:获取各消费者线程对应的预设的线程指标;从各预设的线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标;根据初始偏移量指标定位待处理业务数据在消息队列中的初始位置;从初始位置开始,按照数据拉取增量指标以及数据拉取频率指标从消息队列中拉取待处理业务数据。
根据流计算执行器的计算性能估算出每个批次消费的消息数量,设置消费的消息增量,然后由客户端的多各消费者线程发起向消息队列的服务端中拉取待处理业务数据。具体地,消费者线程对应的线程指标可包含初始偏移量指标、数据拉取增量指标以及数据拉取频率指标。其中,初始偏移量指标可用于定位消息数据在消息队列中的位置,具体地可以根据初始偏移量指标获取从消息队列中拉取消息数据的起点位置,如可以为消息的位置索引值,也可以消息的某个时间位置。数据拉取增量指标可以为消费者线程每次从消息队列中拉取的消息数据的数量,如可以设置数据拉取增量指标为10,表示第一次可以从消息队列中拉取1序号为1-10的消息数据,第二次可以拉取序号为11-20的消息数据。数据拉取频率指标对应为从消息队列中拉取消息数据的频率,如可设置为每隔10s执行一次消息拉取任务。
在其中一个实施例中,根据流计算执行器对待处理业务数据进行数据处理,包括:根据消费者线程将待处理业务数据推送至流计算执行器;利用流计算执行器对待处理业务数据进行分布式处理得到分布式数据;利用聚合线程对各分布式数据进行聚合处理得到聚合数据。
随着移动互联网、物联网时代的到来,每个体都是互联网的连接载体,每个载体都会产生数据,因而在互联网应用中产生了大量数据,数据的价值需要通过大数据技术进行挖掘,大数据实时计算技术是海量数据分析不可或缺的技术,海量数据实时传输的消息中间件也存在多种,将消息中间件即消息队列与流计算执行器进行应用的对接,可以实现海量数据的实时计算。具体地,将客户端消费者将从消息队列服务器中拉取的消息数据推送到流计算执行器,由流计算执行器进行分布式计算后得到分布式结果,然后对分布式结果进行聚合处理得到聚合数据,最终达到大数据量分布式实时计算的效果。并且运用流计算执行器进行数据的实时计算提升大数据计算的时效。
在传统的数据处理流程中,是将数据存放至数据库中,当需要数据的时候在数据库中对数据进行离线计算如离线进行聚合计算得到数据处理结果,这种计算方式受限于数据库的服务器性能及局限于聚合的形式,例如在一些搜索应用中,类似于MapReduce方式的离线处理并不能很好地解决问题,并且这种方案随着数据量的增长很快会导致数据计算时间长,甚至无法计算出来的问题。传统大数据的计算使用单线程进行计算,计算效率依赖于计算机器的性能,往往数据量大时计算非常慢,通过高性能服务器进行的单体计算,除了计算慢外,还无法运用云计算能力进行扩展,最终导致计算不出来的情况。
本实施例中利用了一种新的数据计算结构即流计算方式,流计算可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。采用流计算解决方案,其原理是通过分布式微批计算模式实现数据的实时计算,在每个分布式任务计算完成后,再根据聚合规则进行结果聚合,将最终的结果输出,解决传统海量数据单体计算延迟高,以及无法计算的问题。即运用流计算改变单体计算模式,从而提供计算的高吞吐量,同时拥有容错能力,在每个分布式任务计算完成后,再根据聚合规则进行结果聚合,将最终的结果输出,解决传统海量数据单体计算延迟高,以及无法计算的问题。
具体地,由客户端的多个消费者线程从消息源实时采集待计算的数据,并向SparkStreaming执行器输入数据,由SparkStreaming执行器将数据进行微批打包,并将数据通过批量包的形式发送至SparkEngine进行运算,由Spark Engine运用分布式多线程进行数据计算和聚合,并将批量数据计算结果输出到最终结果,从而达到准实时的计算效果。通过SparkStreaming分布式多线程处理方法提升了传统大数据计算的时效,使计算结果达到准实时。通过运用分布式技术解决传统单体计算无法横向扩容,最终导致海量数据无法计算的问题。
在其中一个实施例中,利用聚合线程对各分布式数据进行聚合处理得到聚合数据之后,还包括:利用聚合数据对数据库进行更新;从更新后的数据库中的提取目标数据并进行实时显示。
由保险业务***作为生产者实时向消息队列发送业务发生数据,达到数据实时采集的效果。通过多个消费者线程实时从消息队列中拉取批量的待处理业务数据,然后待处理业务数据实时将拉取到的数据推送至流计算执行器中进行分布式计算。流计算执行器通过多线程分布式计算程序进行聚合计算,并将聚合计算结果输出到数据库如可为从MongoDB数据库进行存储。业务秒杀大屏和运维监控大屏实时从数据库中获取数据,展示到大屏上,渲染活动氛围和监控***运行。其中MongoDB数据库是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
随着电商公司推出的秒杀活动越来越多,秒杀的形式正在被各行业销售中被运用,保险作为传统的金融行业,也在不断地引入秒杀模式进行销售,竞争市场,秒杀活动往往会使用一面大屏实时显示秒杀数据,渲染活动氛围,那么就需要有实时计算技术来应对这个场景,流计算已经慢慢成为了大数据实时计算的标准解决方案,这个方案也能够运用到保险秒杀大屏的数据计算中。传统的保险业务秒杀数据大屏的计算方案是采用单体数据库高性能计算机全量数据跑批计算,这种架构决定了数据计算延迟高,大屏上显示的数据往往是秒杀活动中几分钟前的统计数据,不能实时反应秒杀的真实情况,无法达到秒杀活动的氛围。保险***传统的计算方法都是通过高性能的服务器,例如IBM小型机作为数据库进行计算,这种单库的单体计算模式导致保险大数据计算的时效低,延迟高。在保险业务的秒杀中,***监控由于计算能力的受限,导致***监控无法达到实时,监控结果是几分钟前的***状况,无法实时解决问题。
在本实施例中,运用流计算实现保险秒杀数据大屏及运维监控***。具体地,运用流计算改变单体计算模式,从而提供计算的高吞吐量,同时拥有容错能力,在每个分布式任务计算完成后,再根据聚合规则进行结果聚合,将最终的结果输出,解决传统海量数据单体计算延迟高,以及无法计算的问题。采用流计算解决方案运用分布式微批计算模式实现数据的实时计算,解决传统单体计算时效低、延迟高的问题,让保险秒杀业务大屏解决秒杀的真实情况,实时烘托活动氛围,让运维监控***实时反映***运行健康状况,达到高性能、高时效。并且利用云计算分布式计算能力,还可以解决传统单体计算无法横向扩展、计算存在瓶颈的问题。
参考图3,提供了一个实施例中的基于流计算的业务数据处理方法的示意图。具体地,包括:
模块310,包括多个业务***,如业务***1、业务***2以及业务***3,业务***用于生成数据。
模块320,消息队列,用于接收业务***生成的数据,具体地,可为RocketMQ消息队列。
模块330,多个消费者线程,如可包含消费者线程1、消费者线程2以及消费者线程3等,消费者线程用于从消息队列中拉取消息数据。
模块340,包含流计算执行器,用于接收消费者线程从消息队列中拉取的消息数据,然后对接收到的消息数据进行数据处理。
在一个实施例中,如图4所示,提供了一种基于流计算的业务数据处理装置,装置包括:
请求接收模块410,用于接收业务数据处理请求,业务数据处理请求中携带消息标识。
性能指标查找模块420,用于查找消息标识对应的计算性能指标。
线程建立模块430,用于根据计算性能指标建立多个消费者线程。
数据拉取模块440,用于在多个消费者线程中从消息队列中拉取待处理业务数据。
数据处理模块450,用于根据流计算执行器对待处理业务数据进行数据处理。
在其中一个实施例中,基于流计算的业务数据处理装置还包括:
历史消息获取模块,用于获取消息标识对应的历史消息数据。
指标计算模块,用于利用流计算执行器对历史消息数据进行数据处理,得到流计算执行器的计算性能指标。
关联模块,用于将消息标识与计算性能指标进行关联绑定。
性能指标查找模块420,包括:
查找单元,用于从关联绑定的数据库中查找消息标识对应的计算性能指标。
在其中一个实施例中,线程建立模块430,包括:
指标计算单元,用于根据计算性能指标确定消费者线程的线程数量,以及各消费者线程对应的预设的线程指标。
线程计算单元,用于根据各预设的线程指标建立对应线程数量的消费者线程。
在其中一个实施例中,数据拉取模块440,包括:
线程指标获取单元,用于获取各消费者线程对应的预设的线程指标。
子指标提取单元,用于从各预设的线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标。
位置确定单元,用于根据初始偏移量指标定位待处理业务数据在消息队列中的初始位置。
数据拉取单元,用于从初始位置开始,按照数据拉取增量指标以及数据拉取频率指标从消息队列中拉取待处理业务数据。
在其中一个实施例中,数据处理模块450,包括:
推送单元,用于根据消费者线程将待处理业务数据推送至流计算执行器。
分布式数据获取单元,用于利用流计算执行器对待处理业务数据进行分布式处理得到分布式数据。
聚合数据获取单元,用于利用聚合线程对各分布式数据进行聚合处理得到聚合数据。
在其中一个实施例中,基于流计算的业务数据处理装置还包括:
更新模块,用于利用聚合数据对数据库进行更新。
显示模块,用于从更新后的数据库中的提取目标数据并进行实时显示。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存放业务相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于流计算的业务数据处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收业务数据处理请求,业务数据处理请求中携带消息标识;查找消息标识对应的计算性能指标;根据计算性能指标建立多个消费者线程;在多个消费者线程中从消息队列中拉取待处理业务数据;根据流计算执行器对待处理业务数据进行数据处理。
在其中一个实施例中,处理器执行计算机程序时还用于实现:获取消息标识对应的历史消息数据;利用流计算执行器对历史消息数据进行数据处理,得到流计算执行器的计算性能指标;将消息标识与计算性能指标进行关联绑定;处理器执行计算机程序时实现查找消息标识对应的计算性能指标的步骤时还用于:从关联绑定的数据库中查找消息标识对应的计算性能指标。
在其中一个实施例中,处理器执行计算机程序时实现根据计算性能指标建立消费者线程的步骤时还用于:根据计算性能指标确定消费者线程的线程数量,以及各消费者线程对应的预设的线程指标;根据各预设的线程指标建立对应线程数量的消费者线程。
在其中一个实施例中,处理器执行计算机程序时实现根据各消费者线程从消息队列中拉取待处理业务数据的步骤时还用于:获取各消费者线程对应的预设的线程指标;从各预设的线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标;根据初始偏移量指标定位待处理业务数据在消息队列中的初始位置;从初始位置开始,按照数据拉取增量指标以及数据拉取频率指标从消息队列中拉取待处理业务数据。
在其中一个实施例中,处理器执行计算机程序时实现根据流计算执行器对待处理业务数据进行数据处理的步骤时还用于:根据消费者线程将待处理业务数据推送至流计算执行器;利用流计算执行器对待处理业务数据进行分布式处理得到分布式数据;利用聚合线程对各分布式数据进行聚合处理得到聚合数据。
在其中一个实施例中,处理器执行计算机程序时实现利用聚合线程对各分布式数据进行聚合处理得到聚合数据之后的步骤时还用于:利用聚合数据对数据库进行更新;从更新后的数据库中的提取目标数据并进行实时显示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收业务数据处理请求,业务数据处理请求中携带消息标识;查找消息标识对应的计算性能指标;根据计算性能指标建立多个消费者线程;在多个消费者线程中从消息队列中拉取待处理业务数据;根据流计算执行器对待处理业务数据进行数据处理。
在其中一个实施例中,计算机程序被处理器执行时还用于实现:获取消息标识对应的历史消息数据;利用流计算执行器对历史消息数据进行数据处理,得到流计算执行器的计算性能指标;将消息标识与计算性能指标进行关联绑定;计算机程序被处理器执行时实现查找消息标识对应的计算性能指标的步骤时还用于:从关联绑定的数据库中查找消息标识对应的计算性能指标。
在其中一个实施例中,计算机程序被处理器执行时实现根据计算性能指标建立消费者线程的步骤时还用于:根据计算性能指标确定消费者线程的线程数量,以及各消费者线程对应的预设的线程指标;根据各预设的线程指标建立对应线程数量的消费者线程。
在其中一个实施例中,计算机程序被处理器执行时实现根据各消费者线程从消息队列中拉取待处理业务数据的步骤时还用于:获取各消费者线程对应的预设的线程指标;从各预设的线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标;根据初始偏移量指标定位待处理业务数据在消息队列中的初始位置;从初始位置开始,按照数据拉取增量指标以及数据拉取频率指标从消息队列中拉取待处理业务数据。
在其中一个实施例中,计算机程序被处理器执行时实现根据流计算执行器对待处理业务数据进行数据处理的步骤时还用于:根据消费者线程将待处理业务数据推送至流计算执行器;利用流计算执行器对待处理业务数据进行分布式处理得到分布式数据;利用聚合线程对各分布式数据进行聚合处理得到聚合数据。
在其中一个实施例中,计算机程序被处理器执行时实现利用聚合线程对各分布式数据进行聚合处理得到聚合数据之后的步骤时还用于:利用聚合数据对数据库进行更新;从更新后的数据库中的提取目标数据并进行实时显示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于流计算的业务数据处理方法,其特征在于,所述方法包括:
接收业务数据处理请求,所述业务数据处理请求中携带消息标识;
查找所述消息标识对应的计算性能指标;
根据所述计算性能指标建立多个消费者线程;
在多个所述消费者线程中从消息队列中拉取待处理业务数据;
根据所述流计算执行器对所述待处理业务数据进行数据处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述消息标识对应的历史消息数据;
利用流计算执行器对所述历史消息数据进行数据处理,得到所述流计算执行器的计算性能指标;
将所述消息标识与所述计算性能指标进行关联绑定;
所述查找所述消息标识对应的计算性能指标,包括:
从所述关联绑定的数据库中查找所述消息标识对应的计算性能指标。
3.根据权利要求2所述的方法,其特征在于,所述根据所述计算性能指标建立消费者线程,包括:
根据所述计算性能指标确定消费者线程的线程数量,以及各所述消费者线程对应的预设的线程指标;
根据各预设的所述线程指标建立对应所述线程数量的消费者线程。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述消费者线程从消息队列中拉取待处理业务数据,包括:
获取各所述消费者线程对应的预设的线程指标;
从各预设的所述线程指标中提取初始偏移量指标、数据拉取增量指标以及数据拉取频率指标;
根据所述初始偏移量指标定位所述待处理业务数据在所述消息队列中的初始位置;
从所述初始位置开始,按照所述数据拉取增量指标以及所述数据拉取频率指标从所述消息队列中拉取所述待处理业务数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述流计算执行器对所述待处理业务数据进行数据处理,包括:
根据所述消费者线程将所述待处理业务数据推送至流计算执行器;
利用所述流计算执行器对所述待处理业务数据进行分布式处理得到分布式数据;
利用聚合线程对各所述分布式数据进行聚合处理得到聚合数据。
6.根据权利要求5所述的方法,其特征在于,所述利用聚合线程对各所述分布式数据进行聚合处理得到聚合数据之后,还包括:
利用所述聚合数据对数据库进行更新;
从更新后的所述数据库中的提取目标数据并进行实时显示。
7.根据权利要求2至6任一所述的方法,其特征在于,所述消息队列是RocketMQ,所述流计算执行器为SparkStreaming。
8.一种基于流计算的业务数据处理装置,其特征在于,所述装置包括:
请求接收模块,用于接收业务数据处理请求,所述业务数据处理请求中携带消息标识;
性能指标查找模块,用于查找所述消息标识对应的计算性能指标;
线程建立模块,用于根据所述计算性能指标建立多个消费者线程;
数据拉取模块,用于在多个所述消费者线程中从消息队列中拉取待处理业务数据;
数据处理模块,用于根据所述流计算执行器对所述待处理业务数据进行数据处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324374.4A CN111209310B (zh) | 2020-04-23 | 2020-04-23 | 基于流计算的业务数据处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324374.4A CN111209310B (zh) | 2020-04-23 | 2020-04-23 | 基于流计算的业务数据处理方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209310A true CN111209310A (zh) | 2020-05-29 |
CN111209310B CN111209310B (zh) | 2020-07-31 |
Family
ID=70784381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010324374.4A Active CN111209310B (zh) | 2020-04-23 | 2020-04-23 | 基于流计算的业务数据处理方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209310B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069162A (zh) * | 2020-11-10 | 2020-12-11 | 太平金融科技服务(上海)有限公司 | 流计算的数据处理方法、装置、计算机设备和存储介质 |
CN112506978A (zh) * | 2020-12-15 | 2021-03-16 | 中国联合网络通信集团有限公司 | 大数据实时处理方法、装置和设备 |
CN112579148A (zh) * | 2020-12-17 | 2021-03-30 | 广州虎牙科技有限公司 | 基于业务代理的业务消息处理方法、装置及电子设备 |
CN112882846A (zh) * | 2021-02-19 | 2021-06-01 | 深圳市云网万店科技有限公司 | 消息队列的数据处理方法、装置、计算机设备和存储介质 |
CN113051279A (zh) * | 2021-03-05 | 2021-06-29 | 北京顺达同行科技有限公司 | 数据消息的存储方法、存储装置、电子设备及存储介质 |
CN113190576A (zh) * | 2021-06-01 | 2021-07-30 | 京东科技控股股份有限公司 | 数据处理方法、装置、计算机设备和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266094A1 (en) * | 2011-04-15 | 2012-10-18 | Kevin Dale Starr | Monitoring Process Control System |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN107704545A (zh) * | 2017-11-08 | 2018-02-16 | 华东交通大学 | 基于Storm与Kafka消息通信的铁路配电网海量信息流处理方法 |
CN107766343A (zh) * | 2016-08-15 | 2018-03-06 | 华为软件技术有限公司 | 一种数据存储方法、装置及存储服务器 |
CN110018788A (zh) * | 2019-03-01 | 2019-07-16 | 平安科技(深圳)有限公司 | 分级存储方法、装置、电子设备及计算机可读存储介质 |
CN110688399A (zh) * | 2019-08-26 | 2020-01-14 | 远光软件股份有限公司 | 一种流式计算实时报表***及方法 |
-
2020
- 2020-04-23 CN CN202010324374.4A patent/CN111209310B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120266094A1 (en) * | 2011-04-15 | 2012-10-18 | Kevin Dale Starr | Monitoring Process Control System |
CN107766343A (zh) * | 2016-08-15 | 2018-03-06 | 华为软件技术有限公司 | 一种数据存储方法、装置及存储服务器 |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN107704545A (zh) * | 2017-11-08 | 2018-02-16 | 华东交通大学 | 基于Storm与Kafka消息通信的铁路配电网海量信息流处理方法 |
CN110018788A (zh) * | 2019-03-01 | 2019-07-16 | 平安科技(深圳)有限公司 | 分级存储方法、装置、电子设备及计算机可读存储介质 |
CN110688399A (zh) * | 2019-08-26 | 2020-01-14 | 远光软件股份有限公司 | 一种流式计算实时报表***及方法 |
Non-Patent Citations (2)
Title |
---|
LV JIA-KE 等: "Log Data Real Time Analysis Using Big Data Analytic Framework with Storm and Hadoop", 《MATEC WEB OF CONFERENCES》 * |
陈波: "基于 STORM 分布式计算的海量数据统计***设计方法研究", 《信息与电脑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069162A (zh) * | 2020-11-10 | 2020-12-11 | 太平金融科技服务(上海)有限公司 | 流计算的数据处理方法、装置、计算机设备和存储介质 |
CN112069162B (zh) * | 2020-11-10 | 2021-02-26 | 太平金融科技服务(上海)有限公司 | 流计算的数据处理方法、装置、计算机设备和存储介质 |
CN112506978A (zh) * | 2020-12-15 | 2021-03-16 | 中国联合网络通信集团有限公司 | 大数据实时处理方法、装置和设备 |
CN112579148A (zh) * | 2020-12-17 | 2021-03-30 | 广州虎牙科技有限公司 | 基于业务代理的业务消息处理方法、装置及电子设备 |
CN112579148B (zh) * | 2020-12-17 | 2024-04-19 | 广州虎牙科技有限公司 | 基于业务代理的业务消息处理方法、装置及电子设备 |
CN112882846A (zh) * | 2021-02-19 | 2021-06-01 | 深圳市云网万店科技有限公司 | 消息队列的数据处理方法、装置、计算机设备和存储介质 |
CN112882846B (zh) * | 2021-02-19 | 2024-02-09 | 深圳市云网万店科技有限公司 | 消息队列的数据处理方法、装置、计算机设备和存储介质 |
CN113051279A (zh) * | 2021-03-05 | 2021-06-29 | 北京顺达同行科技有限公司 | 数据消息的存储方法、存储装置、电子设备及存储介质 |
CN113051279B (zh) * | 2021-03-05 | 2024-05-10 | 北京顺达同行科技有限公司 | 数据消息的存储方法、存储装置、电子设备及存储介质 |
CN113190576A (zh) * | 2021-06-01 | 2021-07-30 | 京东科技控股股份有限公司 | 数据处理方法、装置、计算机设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111209310B (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209310B (zh) | 基于流计算的业务数据处理方法、装置和计算机设备 | |
CN110636130B (zh) | 延时消息处理方法、装置、计算机设备和存储介质 | |
CN111049705B (zh) | 一种监控分布式存储***的方法及装置 | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
TW201804392A (zh) | 風險識別方法、風險識別裝置、雲風險識別裝置及系統 | |
CN110825820A (zh) | 实时数据标签获取方法、装置、计算机设备和存储介质 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN113468226A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN112965881A (zh) | 一种数据计算方法、引擎、***、设备及介质 | |
CN111444309B (zh) | 用于对图进行学习的*** | |
CN113268530A (zh) | 海量异构数据采集方法、***、计算机设备和存储介质 | |
CN111858576A (zh) | 实时消息处理方法、***、装置、存储介质及电子设备 | |
CN110737655A (zh) | 用于上报数据的方法和装置 | |
CN110716916A (zh) | 资源在线管理方法、装置、计算机设备和存储介质 | |
CN114201511A (zh) | 一种项目管控的方法、装置、计算机设备和存储介质 | |
CN113010542A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
WO2023051035A1 (zh) | 机器人的数据传输方法及装置、电子设备、存储介质 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN110765131A (zh) | 货源数据的数据压缩方法、装置、计算机设备和存储介质 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN111400608B (zh) | 数据处理方法及装置、存储介质及电子设备 | |
CN111444172A (zh) | 数据监控方法、装置、介质及设备 | |
CN113486018B (zh) | 生产数据存储方法、存储装置、电子设备及存储介质 | |
CN112988806A (zh) | 一种数据处理的方法及装置 | |
CA3128347A1 (en) | Multi-data-stream processing method, apparutus, computer device and storage medium |
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 |