CN112905566A - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112905566A CN112905566A CN202110291876.6A CN202110291876A CN112905566A CN 112905566 A CN112905566 A CN 112905566A CN 202110291876 A CN202110291876 A CN 202110291876A CN 112905566 A CN112905566 A CN 112905566A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- real
- query
- stored
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 84
- 230000002776 aggregation Effects 0.000 claims abstract description 78
- 238000004220 aggregation Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 31
- 230000004931 aggregating effect Effects 0.000 claims description 11
- 238000007619 statistical method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 18
- 238000012544 monitoring process Methods 0.000 abstract description 8
- 230000009467 reduction Effects 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000006116 polymerization reaction Methods 0.000 description 7
- 230000003203 everyday effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及视频监控技术领域,具体涉及数据处理方法、装置及电子设备,所述方法包括获取实时待存储数据;对所述实时待存储数据进行聚合处理,以得到实时存储数据;基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;对所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。在数据存储之前先对其进行聚合处理可以大大减少数据存储量,且所得到的实时存储数据以及目标历史存储数据均可以用于数据查询,可以保证在减少数据存储量的同时又不影响数据的查询;即总数据量的减少也加速了数据的处理。
Description
技术领域
本发明涉及视频监控技术领域,具体涉及数据处理方法、装置及电子设备。
背景技术
随着人工智能分析的普遍应用,在视频监控系统中,车辆分析和人物特征分析等技术的日益成熟,在城市视频监控系统中得到了大量的应用。城市监控系统中的每天万级摄像头产生出海量的分析数据,对数据的亚秒级快速统计和分析带来了巨大的挑战。
在人工智能车辆分析、人物分析的技术日益成熟之下,其在城市视频监控系统中得到了大量的应用。每个城市道路摄像头每天会对经过的车辆,人物进行分析,然后汇总到Kafka大数据中心,每天的数据总量会达到亿级的数据量。
海量的大数据一般会在Kafka数据中心进行缓存,然后在写入到列式存储进行统计和分析。但是在每天的数据量达到亿级的情况下,即使是分布式大数据系统也无法在亚秒级内对各种统计维度按照指定的时间段给出统计结果,固有的数据量导致了统计和查询需要消耗的基本时间量,从而导致查询速度异常缓慢。
发明内容
有鉴于此,本发明实施例提供了一种数据处理方法、装置及电子设备,以解决由于数据存储所导致的查询速度缓慢的问题。
根据第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:
获取实时待存储数据;
对所述实时待存储数据进行聚合处理,以得到实时存储数据;
基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;
对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。
本发明实施例提供的数据处理方法,在获取到实时待存储数据之后,先对其进行一次聚合处理,以得到实时存储数据;后续再对满足条件的历史存储数据进行二次聚合处理,以得到目标历史存储数据。在数据存储之前先对其进行聚合处理可以大大减少数据存储量,且所得到的实时存储数据以及目标历史存储数据均可以用于数据查询,可以保证在减少数据存储量的同时又不影响数据的查询;即总数据量的减少也加速了数据的处理。
结合第一方面,在第一方面第一实施方式中,所述对所述实时待存储数据进行聚合处理,得到实时存储数据,包括:
获取第一查询颗粒度;
基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,以得到所述实时存储数据。
本发明实施例提供的数据处理方法,在实时待存储数据的存储之前,基于第一查询颗粒度对实时待存储数据进行聚合处理,大大减少了需要存储的数据量。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,得到所述实时存储数据,包括:
从缓存空间内提取所述第一查询颗粒度间隔内的所有所述实时待存储数据;
基于所述第一查询颗粒度对应的时间戳,利用所有所述实时待存储数据的维度进行聚合处理,以得到所述实时存储数据。
本发明实施例提供的数据处理方法,在获取到实时待存储数据之后,将其存储在缓存空间内,再通过主动拉取实时待存储数据的方式,所以处理的时间可以自己主导,取消了时间窗口的概念,即使数据延迟的时间比较大,还是会对数据进行采集和聚合,充分保障了延迟数据的不丢失。
结合第一方面第二实施方式,在第一方面第三实施方式中,所述基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,以得到所述实时存储数据,还包括:
对聚合处理后的所述实时待存储数据进行统计分析,得到所述实时存储数据;
利用预设文件系统对所述实时存储数据进行存储。
本发明实施例提供的数据处理方法,在对实时待存储数据进行一次聚合处理后,再对其进行统计分析,确定出实时存储数据,为后续的查询提供相应的分析结果;且还利用预设文件系统对实时存储数据进行存储,保证文件数据的高可靠性。
结合第一方面第一实施方式,在第一方面第四实施方式中,所述对提取出的所述历史存储数据进行二次聚合处理,得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询,包括:
基于第二查询颗粒度,对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述第二查询颗粒度大于所述第一查询颗粒度。
本发明实施例提供的数据处理方法,利用第二查询颗粒度对历史存储数据进行二次聚合处理,由于对历史存储数据的需求精确性没有实施存储数据的需求精确性高,因此,利用查询颗粒度较大的第二查询颗粒度对历史存储数据进行二次聚合处理,可以在满足用户需求的情况下进一步减少数据存储量。
结合第一方面,或第一方面第一实施方式至第四实施方式中任一项,在第一方面第五实施方式中,所述方法还包括:
获取数据查询请求,所述数据查询请求中携带有查询时间;
基于所述查询时间,从所述实时存储数据或所述目标历史存储数据中提取相应的数据,得到查询数据。
本发明实施例提供的数据处理方法,在数据查询请求中携带有查询时间,并利用查询时间从相应的实时存储数据或目标历史存储数据中提取出数据,可以保证所得到的查询数据能够满足用户需求。
结合第一方面第五实施方式,在第一方面第六实施方式中,所述基于所述查询时间,从所述实时存储数据或所述目标历史存储数据中提取相应的数据,得到查询数据,包括:
比较所述查询时间与当前时间确定查询对象,所述查询对象为所述实时存储数据或所述历史存储数据;
利用所述查询对象以及所述查询时间,提取所述查询数据。
本发明实施例提供的数据处理方法,由于实时存储数据以及历史存储数据的聚合颗粒度不同,且对应于不同的查询时间用户所期望的查询精确性也不同,因此,利用查询时间与当前时间的关系确定查询对象,以保证查询结果更能够符合用户需求。
根据第二方面,本发明实施例还提供了一种数据处理装置,所述装置包括:
获取模块,用于获取实时待存储数据;
第一聚合模块,用于对所述实时待存储数据进行聚合处理,以得到实时存储数据;
提取模块,用于基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;
第二聚合模块,用于对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。
本发明实施例提供的数据处理装置,在获取到实时待存储数据之后,先对其进行一次聚合处理,以得到实时存储数据;后续再对满足条件的历史存储数据进行二次聚合处理,以得到目标历史存储数据。在数据存储之前先对其进行聚合处理可以大大减少数据存储量,且所得到的实时存储数据以及目标历史存储数据均可以用于数据查询,可以保证在减少数据存储量的同时又不影响数据的查询;即总数据量的减少也加速了数据的处理。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的数据处理方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的数据处理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据处理方法的流程图;
图2是根据本发明实施例的数据处理方法的流程图;
图3是根据本发明实施例的数据处理的示意图;
图4是根据本发明实施例的数据处理的示意图;
图5是根据本发明实施例的数据处理方法的流程图;
图6是根据本发明实施例的数据处理装置的结构框图;
图7是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中的实时存储数据为距离当前时间在预设范围内的存储数据,历史存储数据为距离当前时间在预设范围外的存储数据。例如,预设范围为一个月,那么,所述的实时存储数据为一个月内的存储数据,所述的历史存储数据为一个月以前的存储数据。其中,对于预设范围在此对其具体时间并不做任何限制,具体可以根据实际情况进行相应的设置。
在视频监控系统中,前端摄像头采集到图像之后,可以对其进行车辆、人物特征的分析之后,将车辆、任务的特征结构化信息以及前端摄像头的信息以及一些数据业务的统计信息等一起发送到电子设备中进行存储。其中,需要说明的是,前端摄像头在采集到图像之后,是利用自身对其进行特征分析,还是发送至第三方终端进行特征分析,在并不做任何限制,只需保证电子设备所得到的待存储数据是经过特征分析处理后的数据即可。
进一步地,电子设备获取到的待存储数据中所包括的前端摄像头的信息可以包括摄像头的国际编号ID、行政区划ID以及厂商标记等等,具体可以根据实际需求进行相应的设置。
在本发明实施例的一些可选实施方式中,所述的数据处理方法,是对同时满足相同的国际编号ID、行政区划ID以及厂商标记的数据,将其需要统计的数据累加,形成一条数据进行存储,以大大减少最终数据存储量,又不影响数据的统计和分析结果。在总数据量的减少同时减少了需要的服务器的数量,也加速了数据统计和分析。
根据本发明实施例,提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据处理方法,可用于电子设备,如服务器、电脑、手机、平板电脑等,图1是根据本发明实施例的数据处理方法的流程图,如图1所示,该流程包括如下步骤:
S11,获取实时待存储数据。
所示的实时待存储数据可以是电子设备从前端摄像头获取到的,也可以是从第三方终端中获取到的,在此对其并不做任何限制。如上文所述,前端摄像头在采集到图像之后,可以自己对其进行特征分析也可以发送给第三方终端进行特征分析等等,各个终端在进行特征分析之后,可以将其发送给电子设备,以使得电子设备能够获取到实时待存储数据。
S12,对实时待存储数据进行聚合处理,以得到实时存储数据。
电子设备在获取到实时待存储数据之后,对其进行聚合处理。所述的聚合处理为实时待存储数据进行统计,从减少数据量的总数进行入手。电子设备在获取到实时待存储数据时,并不是将各条数据分别进行存储,而是先对实时待存储数据进行聚合处理后再存储。
例如,电子设备获取到10条实时待存储数据,可以先依据实时待存储数据中的采集数据的地点对车流量进行统计,即对10条实时待存储数据按照地点进行区分,再对同一地点的车流量进行统计,以得到实时存储数据。
其中,所述的实时存储数据可以是电子设备对获取到的实时待存储进行聚合处理后得到的,也可以是在聚合处理的基础上再进行分析后得到的,在此对其并不做任何限制。
S13,基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据。
所述的历史存储数据在存储之前也是经过聚合处理的,每条历史存储数据均具有时间戳信息,所述的时间戳信息用于表示该历史存储数据对应的采集时间。
电子设备依据历史存储数据的时间戳信息,提取出满足预设时间条件的历史存储数据。例如,所述的预设时间条件为一个月之前的数据,也可以是15条之前的数据等等。电子设备可以是每天提取一个月之前的数据,得到满足预设时间条件的历史存储数据。
S14,对提取出的历史存储数据进行二次聚合处理,以得到目标历史存储数据。
其中,所述实时存储数据与所述历史存储数据用于数据查询。
电子设备在提取出满足预设时间条件的历史存储数据之后,对其进行二次聚合处理,以得到目标历史存储数据。其中,所述的聚合处理方式可以与S12中的聚合处理方式相同,也可以是在S12聚合处理的基础上,调整聚合时间间隔。例如,S12中是对5分钟内的实时待存储数据进行聚合处理,S14中是对提取出的历史存储数据进行聚合处理。
所述的实时存储数据以及历史存储数据均用于后续的数据查询,实时存储数据与历史存储数据不同的是数据间隔时间的不同。
本实施例提供的数据处理方法,在获取到实时待存储数据之后,先对其进行一次聚合处理,以得到实时存储数据;后续再对满足条件的历史存储数据进行二次聚合处理,以得到目标历史存储数据。在数据存储之前先对其进行聚合处理可以大大减少数据存储量,且所得到的实时存储数据以及目标历史存储数据均可以用于数据查询,可以保证在减少数据存储量的同时又不影响数据的查询;即总数据量的减少也加速了数据的处理。
在本实施例中提供了一种数据处理方法,可用于电子设备,如服务器、电脑、手机、平板电脑等,图2是根据本发明实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
S21,获取实时待存储数据。
详细请参见图1所示实施例的S11,在此不再赘述。
S22,对实时待存储数据进行聚合处理,以得到实时存储数据。
具体地,上述S22可以包括如下步骤:
S221,获取第一查询颗粒度。
第一查询颗粒度为统计时的最小颗粒度,其中,统计时最小的颗粒度并不会精确到秒级进行数据统计,一般是分钟量级,所以可以指定统计查询时的颗粒度,把最小颗粒度设置为分钟级别(例如,1分钟、5分钟、10分钟、15分钟、30分钟),这样就可以将相同维度的数据进行聚合,以减少最终查询时需要的数据量。
S222,基于第一查询颗粒度,对实时待存储数据进行聚合处理,以得到实时存储数据。
电子设备在获取到第一查询颗粒度之后,就可以按照相同的维度,对第一查询颗粒度时间间隔内的实时待存储数据进行聚合处理,以得到实时存储数据。
在本实施例的一些可选实施方式中,上述S222可以包括如下步骤:
(1)从缓存空间内提取第一查询颗粒度间隔内的所有实时待存储数据。
电子设备在获取到实时待存储数据之后,将实时待存储数据存储在缓存空间中。每隔第一查询颗粒度间隔,从缓存空间内提取出该所有实时待存储数据。例如,如下表所示,第一查询颗粒度为1分钟,在1分钟内电子设备所获取到的实时待存储数据如表1所示:
表1实时待存储数据
(2)基于第一查询颗粒度对应的时间戳,利用所有实时待存储数据的维度进行聚合处理,以得到所述实时存储数据。
电子设备按照各条数据的维度信息对所有实时待存储数据进行聚合处理,以表1所示数据为例,第一查询颗粒度为1分钟,电子设备就会把这1分钟内的所有维度相同的数据聚合为一条,对过车数的值进行叠加。
所述第一查询颗粒度对应的时间戳为将每条数据的时间戳设置为间隔为1分钟,且对应的秒值为预设值。例如,所述预设值可以为0,也可以为其他数值,在此对其并不做任何限制。
电子设备在对上述实时待存储进行聚合处理后,得到的数据如表2所示:
表2聚合处理后的实时待存储数据
时间戳 | 行政区域 | 生产厂商 | 过车数 |
2018-01-01T00:01:00Z | D1 | A | 3 |
2018-01-01T00:01:00Z | D2 | A | 2 |
2018-01-01T00:01:00Z | D2 | B | 2 |
当数据量非常大时,落在每分钟区间内的数据,也会非常大,通过对相同维度的数据进行聚合,将多条数据聚合为一条。当查询的颗粒度是十分钟,十五分钟的颗粒度时,聚合的效果非常明显,一般会达到20到50倍的聚合比例。一亿条的数据,经过20倍的聚合之后,实际在存储系统中存储的条目只有五百万,这样对于海量的数据统计和分析,能够非常快速的给出结果,同时需要的存储和计算量大大减少。
由于数据聚合是基于第一查询颗粒度进行的,那么查询的颗粒度不能小于所述的第一查询颗粒度。例如,当数据聚合的第一查询颗粒度设置为十五分钟时,一个小时内相同维度的数据,会有四条记录,对应的时间戳为00:00,15:00,30:00,45:00。当想要统计一个小时内的数据总量时,可以给出精确的结果,但是想要统计0到5分钟,16到20分钟,任何一个开始和结束的时间戳不是15分钟倍数的情况下,统计出来的结果实际上还是以15分钟为统计粒度的。因此,在发明实施例中,第一查询颗粒度可以依据不同的现场,根据实际情况设置第一查询颗粒度的值。
在获取到实时待存储数据之后,将其存储在缓存空间内,再通过主动拉取实时待存储数据的方式。由于是通过主动拉取的方式获得实时待存储数据的,即处理的时间可以自己主导,而非定时提取实时待存储数据,在获取数据时取消了时间窗口的概念,即使数据延迟的时间比较大,还是会对数据进行采集和聚合,充分保障了延迟数据的不丢失;而对于定时提取数据的方式,若存在数据延时,那么若当前时间窗口结束,没有接收到数据,对这部分数据就不会进行处理,而是直接处理下一个时间窗口内的数据,从而导致数据的丢失。
在本实施例的另一些可选实施方式中,上述步骤(2)可以包括如下步骤:
2.1)对聚合处理后的实时待存储数据进行统计分析,得到实时存储数据。
电子在对实时待存储数据进行聚合处理后,还可以对聚合后的实时待存储数据进行统计分析,例如,可以对聚合后的实时待存储数据进行平均值,或分位数的统计。
具体地,除了分析数据结果的统计之外,有些监控维度对应的统计信息是用来进行分位数的统计。比如系统中处理某个数据业务所花费的时间,但是统计分析数据业务处理的时候,并不会区统计某个时间段内多个数据业务所花费的总的时间,或者平均时间。对于分析数据业务处理时长的最有效的统计是计算其分位数,例如会统计50,90,95,99的分位数的值,在界面上进行展示,代表的是百分之,50,90,95,99的数据业务处理花费的时间是某个数据值。
对于分位数的统计,电子设备中就需要基于Druid的插件机制,开启近似直方图的功能,对于需要进行分位数统计的数值字段使用近似直方图的聚合方式,而不限于普通的累加或者平均值。
2.2)利用预设文件系统对实时存储数据进行存储。
电子设备在经过上述步骤的处理后得到实时存储数据,利用预设文件系统对其进行存储。具体地,使用深度存储(Deep Storage),由存储系统来保障数据的冗余,可以使用Hadoop文件系统或者NFS系统来进行数据存储,达到数据的访问和副本冗余的目的。
在对实时待存储数据进行一次聚合处理后,再对其进行统计分析,确定出实时存储数据,为后续的查询提供相应的分析结果;且还利用预设文件系统对实时存储数据进行存储,保证文件数据的高可靠性。
S23,基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据。
详细请参见图1所示实施例的S13,在此并不赘述。
S24,对提取出的历史存储数据进行二次聚合处理,以得到目标历史存储数据。
其中,所述实时存储数据与所述历史存储数据用于数据查询。
具体地,电子设备基于第二查询颗粒度,对提取出的历史存储数据进行二次聚合处理,以得到目标历史存储数据。其中,所述第二查询颗粒度大于第一查询颗粒度。
第二查询颗粒度可以是依据查询系统设置的,也可以是依据其他基准设置的,在此对其并不做任何限制,具体可以根据实际情况进行相应的设置。对于上述S22中所述的实时待存储数据是使用分钟级的颗粒度进行聚合及分析的,但是实际系统进行统计分析的时候,只会对近期一个月内的数据进行分钟级的查询,对于一个月之前的数据都是进行以天为单位的统计查询。基于此,在本实施例中设置了第二查询颗粒度,对应一个月之前的数据会触发二次聚合,即将一次聚合(例如,上述的分钟级聚合)的数据重新进行聚合,生成以天为单位的聚合数据,相应地,数据量会缩小将近二十倍。
在本实施例中,电子设备在数据最终可以查询分析之前,按照第一查询颗粒度先进行第一次聚合,将第一查询颗粒度时间间隔内收到的所有数据,按照相同维度进行聚合。对相同的国际编号ID、行政区划ID以及厂商标记的数据,将其需要统计的数据累加,从而形成一条数据进行存储,大大减少了最终的数据存储量,又不影响数据的统计和分析结果。
进一步地,电子设备可以依据具体的查询需求和数据产生的时间,对已经聚合后的数据进行二次聚合。例如,近一个月内的数据只使用一次聚合,查询颗粒度以分钟为单位;对于一个月之前的历史存储数据,因为查询的单位以天为单位,所以对于分钟级的聚合数据,进行二次聚合使用一天为单位,会以二十倍的比例大幅度减少历史存储数据占用的磁盘存储。
本实施例提供的数据处理方法,在实时待存储数据的存储之前,基于第一查询颗粒度对实时待存储数据进行聚合处理,大大减少了需要存储的数据量;进一步地,利用第二查询颗粒度对历史存储数据进行二次聚合处理,由于对历史存储数据的需求精确性没有实施存储数据的需求精确性高,因此,利用查询颗粒度较大的第二查询颗粒度对历史存储数据进行二次聚合处理,可以在满足用户需求的情况下进一步减少数据存储量。
作为本实施例的一种具体实施方式,因为海量数据的统计需要提前在数据存储之前对数据进行聚合的需求,在本实施例中利用Druid系统来实现数据的预聚合和统计。
Druid系统的设计和对于对海量大数据进行预聚合,减少大数据的计算数量是一致的。Druid系统是一个开源的分布式系统,可以方便地进行水平扩容;在数据聚合的时候,可以指定查询的聚合颗粒度,按照指定的颗粒度对该时间段内,相同维度的数据进行聚合。因为是一个分布式的集群,所以可以在集群内部进行并行的查询处理。
该系统的整体架构如图3所示,所有的业务通过ZooKeeper进行服务发现和调度。主服务启动之后,根据客户端请求发布的Kafka采集任务,MiddleManger集群通过ZK领取任务进行Kafka实时采集,并发的可扩容的采集任务处理就是通过MiddleManger集群来实现的。每隔一定的间隔采集任务会把采集到的数据写入存储内,由Historical历史集群加载文件,对外提供隶属存储数据的查询。Druid并发的查询请求处理是通过Historical历史集群来实现扩容的。因为有MiddleManger集群采集实时待存储数据和Historical历史集群存储历史查询数据,所以查询的时候需要从二者分别查询然后汇总,这部分的工作是通过Query查询代理集群来实现扩容的。
进一步地,由于现有的大数据在采集到来之后,会将数据写入Kafka的缓存系统,Druid支持主动从Kafka内进行数据采集,指定topic和Kafka集群信息之后,会进行数据的采集,在采集的过程中会对相同维度的数据进行聚合。同时,Druid没有时间窗口的概念,时间窗口指的是距离当前时间之前的一段间隔时间段。当进行实时采集时,如果数据内的时间戳不在这个时间窗口内,即数据的传输产生了延迟,导致数据内的时间戳比时间窗口区间的最小值还要小,部分时序数据库系统就会把该数据丢弃。
因为Druid是主动去拉取数据,所以处理的时间可以自己主导,并没有实时时间窗口的概念,即使数据延迟的时间比较大,还是会对数据进行采集和聚合,这样充分保障了延迟数据的不丢失。Druid集群并不像Kafka集群一样提供多副本,多个机器之间进行数据的冗余存储,而是使用Deep Storage。例如,如图4所示,由存储系统来保障数据的冗余,可以使用Hadoop文件系统或者NFS文件系统来进行数据存储,达到Druid集群数据的访问和副本冗余,Druid本身并不考虑管理数据副本,降低了Druid系统的复杂度。
Druid使用列存储,为了加速数据的统计和查询,内部存储默认对于所有的维度都进行了Bitmap索引。使用Bitmap索引加速数据的统计和查找,能够提供毫秒级复杂的多维分析与聚合查询。因为对原始的数据行进行了聚合,所以Druid无法再恢复原始的数据行,所以不支持数据的修改,只能写入数据,进行查询。
在本实施例中提供了一种数据处理方法,可用于电子设备,如服务器、电脑、手机、平板电脑等,图5是根据本发明实施例的数据处理方法的流程图,如图5所示,该流程包括如下步骤:
S31,获取实时待存储数据。
详细请参见图2所示实施例的S21,在此不再赘述。
S32,对实时待存储数据进行聚合处理,以得到实时存储数据。
详细请参见图2所示实施例的S22,在此不再赘述。
S33,基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据。
详细请参见图2所示实施例的S23,在此不再赘述。
S34,对提取出的历史存储数据进行二次聚合处理,以得到目标历史存储数据。
其中,所述实时存储数据与所述历史存储数据用于数据查询。
详细请参见图2所示实施例的S23,在此不再赘述。
S35,获取数据查询请求。
其中,所述数据查询请求中携带有查询时间。
电子设备可以提供数据查询界面,用户在该数据查询界面上输入查询时间,相应地,电子设备就可以获取到携带有查询时间的数据查询请求。
S36,基于查询时间,从实时存储数据或目标历史存储数据中提取相应的数据,得到查询数据。
电子设备利用查询时间就可以确定出当前需要查询的是实时存储数据还是目标历史存储数据,从而就可以提取出相应的数据,得到查询数据。
作为本实施例的一种可选实施方式,上述S36可以包括如下步骤:
(1)比较查询时间与当前时间确定查询对象,所述查询对象为所述实时存储数据或所述历史存储数据。
电子设备将查询时间与当前时间进行比较,确定时间间隔;可以将时间间隔与第一查询颗粒度以及第二查询颗粒度进行比较,确定查询对象。若时间间隔小于或等于第一查询颗粒度,则确定查询对象为实时存储数据;若时间间隔大于第一查询颗粒度,则确定查询对象为目标历史查询数据。
(2)利用查询对象以及查询时间,提取查询数据。
电子设备在确定出查询对象之后,就可以利用查询时间从查询对象中提取出查询数据。
本实施例提供的数据处理方法,在数据查询器请求中携带有查询时间,并利用查询时间从相应的实时存储数据或目标历史存储数据中提取出数据,可以保证所得到的查询数据能够满足用户需求。
在本实施例中还提供了一种数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据处理装置,如图6所示,包括:
获取模块41,用于获取实时待存储数据;
第一聚合模块42,用于对所述实时待存储数据进行聚合处理,以得到实时存储数据;
提取模块43,用于基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;
第二聚合模块44,用于对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。
本实施例提供的数据处理装置,在获取到实时待存储数据之后,先对其进行一次聚合处理,以得到实时存储数据;后续再对满足条件的历史存储数据进行二次聚合处理,以得到目标历史存储数据。在数据存储之前先对其进行聚合处理可以大大减少数据存储量,且所得到的实时存储数据以及目标历史存储数据均可以用于数据查询,可以保证在减少数据存储量的同时又不影响数据的查询;即总数据量的减少也加速了数据的处理。
本实施例中的数据处理装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图6所示的数据处理装置。
请参阅图7,图7是本发明可选实施例提供的一种电子设备的结构示意图,如图7所示,该电子设备可以包括:至少一个处理器51,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(Display)、键盘(Keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图6所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线52可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器54还可以包括上述种类的存储器的组合。
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本申请图1、2以及5实施例中所示的数据处理方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据处理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取实时待存储数据;
对所述实时待存储数据进行聚合处理,以得到实时存储数据;
基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;
对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。
2.根据权利要求1所述的方法,其特征在于,所述对所述实时待存储数据进行聚合处理,得到实时存储数据,包括:
获取第一查询颗粒度;
基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,以得到所述实时存储数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,得到所述实时存储数据,包括:
从缓存空间内提取所述第一查询颗粒度间隔内的所有所述实时待存储数据;
基于所述第一查询颗粒度对应的时间戳,利用所有所述实时待存储数据的维度进行聚合处理,以得到所述实时存储数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一查询颗粒度,对所述实时待存储数据进行聚合处理,以得到所述实时存储数据,还包括:
对聚合处理后的所述实时待存储数据进行统计分析,得到所述实时存储数据;
利用预设文件系统对所述实时存储数据进行存储。
5.根据权利要求2所述的方法,其特征在于,所述对提取出的所述历史存储数据进行二次聚合处理,得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询,包括:
基于第二查询颗粒度,对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述第二查询颗粒度大于所述第一查询颗粒度。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
获取数据查询请求,所述数据查询请求中携带有查询时间;
基于所述查询时间,从所述实时存储数据或所述目标历史存储数据中提取相应的数据,得到查询数据。
7.根据权利要求6所述的方法,其特征在于,所述基于所述查询时间,从所述实时存储数据或所述目标历史存储数据中提取相应的数据,得到查询数据,包括:
比较所述查询时间与当前时间确定查询对象,所述查询对象为所述实时存储数据或所述历史存储数据;
利用所述查询对象以及所述查询时间,提取所述查询数据。
8.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取实时待存储数据;
第一聚合模块,用于对所述实时待存储数据进行聚合处理,以得到实时存储数据;
提取模块,用于基于历史存储数据的时间戳信息,提取满足预设时间条件的历史存储数据;
第二聚合模块,用于对提取出的所述历史存储数据进行二次聚合处理,以得到目标历史存储数据,所述实时存储数据与所述历史存储数据用于数据查询。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291876.6A CN112905566A (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291876.6A CN112905566A (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905566A true CN112905566A (zh) | 2021-06-04 |
Family
ID=76105423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110291876.6A Pending CN112905566A (zh) | 2021-03-18 | 2021-03-18 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905566A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262443A1 (en) * | 2012-03-30 | 2013-10-03 | Khalifa University of Science, Technology, and Research | Method and system for processing data queries |
CN106528847A (zh) * | 2016-11-24 | 2017-03-22 | 北京集奥聚合科技有限公司 | 一种海量数据的多维度处理方法及系统 |
CN108460094A (zh) * | 2018-01-30 | 2018-08-28 | 上海天旦网络科技发展有限公司 | 存储统计数据的方法和系统 |
CN112231344A (zh) * | 2020-10-19 | 2021-01-15 | 泰康保险集团股份有限公司 | 实时流数据查询方法及装置 |
-
2021
- 2021-03-18 CN CN202110291876.6A patent/CN112905566A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262443A1 (en) * | 2012-03-30 | 2013-10-03 | Khalifa University of Science, Technology, and Research | Method and system for processing data queries |
CN106528847A (zh) * | 2016-11-24 | 2017-03-22 | 北京集奥聚合科技有限公司 | 一种海量数据的多维度处理方法及系统 |
CN108460094A (zh) * | 2018-01-30 | 2018-08-28 | 上海天旦网络科技发展有限公司 | 存储统计数据的方法和系统 |
CN112231344A (zh) * | 2020-10-19 | 2021-01-15 | 泰康保险集团股份有限公司 | 实时流数据查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033324B (zh) | 一种数据存储的方法和装置 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN112347163B (zh) | 高离散度sql动态基线告警方法及系统 | |
CN111819550B (zh) | 一种数据处理方法及网络设备 | |
EP3817432A1 (en) | Data processing method and system | |
CN114189535A (zh) | 一种基于智慧城市数据的业务请求方法及系统 | |
CN112905566A (zh) | 数据处理方法、装置及电子设备 | |
CN109597826B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114528179B (zh) | 数据采集程序状态监控方法、装置、设备及存储介质 | |
CN112800089B (zh) | 一种中间数据存储级别调整方法、存储介质及计算机设备 | |
US20140280386A1 (en) | Persisting Large Volumes of Data in an Efficient, Unobtrusive Manner | |
US20220107859A1 (en) | Method and system for determining root cause of anomalous events | |
CN111131393B (zh) | 用户活跃度数据统计方法、电子装置及存储介质 | |
CN116416764A (zh) | 报警阈值的生成方法和装置、电子设备和存储介质 | |
CN115982240A (zh) | 时序数据的处理方法、电子设备和存储介质 | |
CN112214290B (zh) | 日志信息处理方法、边缘节点、中心节点和系统 | |
CN117009094B (zh) | 数据倾斜打散方法、装置、电子设备及存储介质 | |
CN112069212B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114328498A (zh) | 一种流数据存储方法及装置 | |
CN117237975A (zh) | 证件信息识别管理方法、装置、设备及介质 | |
CN114328603A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117271572A (zh) | 数据处理方法、系统、设备和存储介质 | |
CN116700964A (zh) | 服务器分组管理方法、系统、终端及存储介质 | |
CN117743425A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210604 |