CN109783512A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109783512A CN109783512A CN201811528348.2A CN201811528348A CN109783512A CN 109783512 A CN109783512 A CN 109783512A CN 201811528348 A CN201811528348 A CN 201811528348A CN 109783512 A CN109783512 A CN 109783512A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- business datum
- type
- piecemeal
- 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 31
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 52
- 230000002123 temporal effect Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008676 import Effects 0.000 claims description 9
- 238000011161 development Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 241000208340 Araliaceae Species 0.000 description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 4
- 235000008434 ginseng Nutrition 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006116 polymerization reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理领域,并公开了一种数据处理方法、装置、计算机设备及存储介质,其中方法包括:获取业务数据,将所述业务数据导入至Druid数据库;获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;若接收到数据查询指令,获取所述数据查询指令中的查询参数;根据所述查询参数查询所述分块数据,并返回相应的查询结果。该方法提高了数据查询速度,通过对数据的预处理使得亿级数据能够实现秒级查询,同时提高数据报表开发效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
目前,互联网保险行业对保险规则等数据的处理主要是利用大型关系型数据库进行存储处理,然后利用数据库进行实时多维的统计分析,但在数据量暴涨的今天,该处理方式已经存在不少的弊端。比如,大数据量的情况下,数据库的查询分析速度并不能满足保险规则业务的需求;业务数据报表制作比较专业;保险规则多样且复杂,数据库进行分析统计耗时较长,影响业务交付;数据库数据API并不完全适用于多维分析,实现功能较为复杂等等。因此,有必要提供一种数据处理方法以解决上述问题。
发明内容
本申请提供了一种数据处理方法、装置、计算机设备及存储介质,旨在提高数据的查询速度。
本申请提供了一种数据处理方法,其包括:
获取业务数据,将所述业务数据导入至Druid数据库;
获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;
若接收到数据查询指令,获取所述数据查询指令中的查询参数;
根据所述查询参数查询所述分块数据,并返回相应的查询结果。
本申请提供了一种数据处理装置,其包括:
获取导入单元,用于获取业务数据,将所述业务数据导入至Druid数据库;
获取处理单元,用于获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;
参数获取单元,用于若接收到数据查询指令,获取所述数据查询指令中的查询参数;
查询返回单元,用于根据所述查询参数查询所述分块数据,并返回相应的查询结果。
本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任意一项所述的数据处理方法的步骤。
本申请还提供了一种计算机存储介质,其中所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行本申请提供的任意实施例所述的数据处理方法的步骤。
本申请实施例提供了数据处理方法、装置、计算机设备及存储介质。该方法通过获取业务数据,将所述业务数据导入至Druid数据库;获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;若接收到数据查询指令,获取所述数据查询指令中的查询参数;根据所述查询参数查询所述分块数据,并返回相应的查询结果。该方法提高了数据查询速度,通过对数据的预处理使得亿级数据能够实现秒级查询,同时提高数据报表开发效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种数据处理方法的示意流程图;
图2是图1中数据处理方法的子步骤示意流程图;
图3是本申请另一实施例提供的一种数据处理方法的示意流程图;
图4是本申请图3中数据处理方法的子步骤示意流程图;
图5是本申请一实施例提供的一种数据处理装置的示意性框图;
图6是本申请另一实施例提供的一种数据处理装置的示意性框图;
图7是本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请一实施例提供的一种数据处理方法的示意流程图。该数据处理方法应用于服务器中,如图1所示,该数据处理方法包括步骤S101~S104。
S101、获取业务数据,将所述业务数据导入至Druid数据库。
具体地,所述业务数据为保险业务数据,保险业务数据可包括产险、养老险、人寿险和车险等险种对应的相关数据,所述保险业务数据保存在业务***对应的数据库中,该数据库为传统的关系型数据库。
在一实施例中,所述获取保险业务数据,具体包括:通过分布式***从业务数据对应的数据库中获取业务数据。其中所述分布式***中部署有Druid时序数据库,并将获取到的业务数据导入至Druid数据库中。
其中,Druid数据库是一个MOLAP(Multidimensional On-Line AnalysisProcessing,多维联机分析处理)数据库,架构是MMDB架构,同时也是一个多节点的***。同时也是一个内存数据库,面向列的存储。同时还支持多种插件,如Kafka插件、MySQL插件和HDFS插件等。
其中,Druid数据库是一个多节点的***,该***包括同步节点Zookeeper、中枢节点Broker、实时节点Realtime、历史节点Historical和协调节点Coordinator。对于同步节点Zookeeper,每一个节点都或多或少与其相连,Zookeeper在其中负责同步作用,每一个节点不会做强关联工作,只需要用Zookeeper同步。在一个数据写入过程,有离线数据和批量数据。中枢节点Broker是查询节点,对外提供REST接口,接受来自外部客户端的查询,并将这些查询转发到Realtime和Historical节点,从这两个节点拿数据,然后将节点返回给Broker,将数据进行合并返回给客户端。这里Broker节点起到一个转发和合并的作用,合并过程需要规定的内存,推荐配置内存相对大一点。历史节点Historical节点是非实时数据进行处理存储和查询的地方,只响应Broker请求。在查询数据时现在本地找,然后在深度存储里查找,查找到后返回给Broker,没有与其他节点关联。在Zookeeper的管理下提供服务,并使用Zookeeper监视信号加载或删除新数据段。
S102、获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据。
其中,所述预定义的维度信息和分块时间信息为用户自定义的维度和数据分块时间,维度信息比如包括险种、用户、机构和渠道等信息;分块时间信息比如按照月、周、天或小时等不同周期时间进行数据分块对应的时间信息。
其中,该预聚合分块处理主要包括将导入至Druid中的数据进行聚合去重处理和按照分块时间做切分处理。
具体地,聚合去重是按照维度信息对相应数据合并去除重复数据。按照分块时间做切分处理,具体地,Druid数据库中的每条数据均包括一个Timestamp(时间戳信息),由此可以依据时间戳信息做切分,不同的数据行可能会切分到不同的Segment(数据文件空间),同时对数据列进行压缩,Segment是Druid数据库存储的基本单元,以时间戳信息进行数据分块的,这样做的好处是查询的时候可以避免全局扫描。
此外,还可对数据块按照采用预设命名格式进行命名,比如采用数据源加开始时间和结束时间进行命名,根据命名后进行查询,由此提高了数据的查询速度。
S103、若接收到数据查询指令,获取所述数据查询指令中的查询参数。
具体地,判断是否接收到终端发送的数据查询指令,该数据查询指令包括查询参数,其中所述查询参数包括用于查询相关数据的参数信息,比如数据标识、数据时间段或数据显示类型等等。若收到相应数据查询指令,对该数据查询指令进行解析以获取所述数据查询指令中的查询参数。
S104、根据所述查询参数查询所述分块数据,并返回相应的查询结果。
具体地,在Druid数据库中根据所述数据查询指令中的参数查询相应的所述分块数据并获得相应的查询结果,将所述查询结果反馈给终端,该查询结果包括相应的数据信息,比如可以为相应的数据表,数据表格或交叉表格等,以便用户查询。
在一实施例中,所述查询参数包括查询类型,所述查询类型包括两种类型,分别为Top-N查询类型和Group by查询类型。如图2所示,步骤S104包括子步骤S104a至S104c。
其中,S104a、识别所述查询参数中的查询类型;S104b、根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则;S104c、根据确定的类型查询规则查询所述分块数据并返回相应的查询结果。
具体地,用户在一定条件下需要查看数据的大体概要,一般采用Top-N查询,Top-N查询可达到秒级响应。响应方式在终端(前端应用)是一个维度一个维度拖动,服务器将上一次结果进行缓存,最后只查询几个维度。Top-N查询一次只查单一维度,当增加维度在Redis中取上一次缓存结果加下一维度,多维度会呈指数级增长,查询速度明显下降。
譬如,在识别到该查询类型为Top-N查询,根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则,该类型查询规则为采用递归的方式,并统一由线程池执行更细粒度的缓存;根据确定的类型查询规则查询所述分块数据并返回相应的查询结。比如由维度A,维度A+维度B改为维度A+A1,维度A+A2,维度A+A1+维度B+B1,这样可以充分利用Druid的升降序,花费的时间可能多点,优化了查询结果。
譬如,在识别到该查询类型为Group by查询,根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则,由于该Group by查询类型对应的是交叉表,分析人需要看到全量数据而不是概要数据。开始就是无论查多少维度都将其组装成一起,当超过4-5个维度就会效率很低。Group by查询对应的类型查询规则,也是采用多线程,前面基本按照Top-N的方式构造,保留最后两个维度进行Group by,A1+B1+C维度在查询时有缓存策略,同时对于小集群采用块(Block)缓存,这样可以省去网络传输。
在本实施例中,上述方法通过获取业务数据,将所述业务数据导入至Druid数据库;获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;若接收到数据查询指令,获取所述数据查询指令中的查询参数;根据所述查询参数查询所述分块数据,并返回相应的查询结果。该方法提高了数据查询速度,通过对数据的预处理使得亿级数据能够实现秒级查询,同时提高数据报表开发效率。
请参阅图3,图3是本申请另一实施例提供的一种数据处理方法的示意流程图。该数据处理方法应用于服务器中,如图3所示,该数据处理方法包括步骤S201~S205。
S201、确定预设部署规则,按照所述预设部署规则将Druid数据库部署在分布式***;
具体地,Druid数据库多节点的***,不同的节点需要硬件资源不同,比如某个节点是非常占内存,可以将该节点部署多个,每个节点互相不通信,同样利用Zookeeper同步,将信息解耦开来。Coordinator扮演一个管理者的角色,负Historical节点组的数据负载均衡,确保数据可用、可复制,并且处于“最佳”配置。同时通过从My SQL读取数据段的元数据信息,来决定哪些数据段应该在集群中被加载,使用Zookeeper来确定哪个Historical节点存在,并且创建Zookeeper条目告诉Historical节点加载和删除新数据段,该节点可以是一个,多个的节点进行选举产生主节点(Leader),其余节点作为备份的方式。
实时节点Realtime是实时摄取数据,负责监听输入数据流并让其在内部的Druid***立即获取。如果不需要实时加载数据就可以将该节点去掉,他只会响应Broker请求将数据返回给Broker。如果Realtime和Historical节点同时返回同一种数据,Broker会认为Historical节点数据是可信的,如果数据进入深度存储Druid默认数据是不变的。该节点本身会存储数据,如果超过一段时间窗口会将数据传入深度存储,深度存储将数据提供给Historical节点。
因此,需要根据Druid数据库、客户需求以及业务数据特性对Druid数据库进行部署,即预设部署规则。根据所述预设部署规则将Druid数据库部署在分布式***中。
其中,该预设部署规则,比如为:希望Broker节点越多越好,Coordinator节点两个,Realtime其他节点也是越多越好。性能方面也会做不同性能的转换。调优方面对于Broker消耗内存较大的节点,使用20G-30G堆内存,Historica节点除了内存还有硬盘消耗,使用更多的内存去释放硬盘的IO,Coordinator节点消耗内存相对较小,只需要满足要求即可,Historica节点和Realtime节点分离,Coordinator和Broker分离,在Broker上加Nginx工具做负载均衡,由此提高了并发高可用。
S202、获取业务数据,将所述业务数据导入至Druid数据库。
具体地,由于Druid数据库支持Kafka插件,为了提高数据处理速度,可在Druid数据库中部署Kafka插件,Kafka是一种低延时、高吞吐、分布式的发布订阅消息***,它可以处理大规模的实时数据流。
具体地,基于Kafka插件,步骤S202包括数据获取导入的步骤,如图4所示,该数据获取导入步骤具体包括子步骤S202a和S202b。
其中,S202a、通过Kafka获取业务数据,并将所述业务数据保存在Kafka消息队列中;S202b、实时从所述Kafka消息队列中读取所述业务数据并存储在Druid数据库中。
具体地,通过部署在Druid数据库中的Kafka插件获取保险业务***对应的数据库中的业务数据,并获取到的业务数据保存Kafka插件的消息队列中;实时从所述Kafka消息队列中读取所述业务数据,并将所述业务数据存储在Druid数据库中。
S203、获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据。
其中,所述预定义的维度信息和分块时间信息为用户自定义的维度和数据分块时间,维度信息比如包括险种、用户、机构和渠道等信息;分块时间信息比如按照月、周、天或小时等不同周期时间进行数据分块对应的时间信息。
具体地,该预聚合分块处理主要包括将导入至Druid中的数据进行聚合去重处理和按照分块时间做切分处理,并将处理后的数据保存在Druid数据库中。
S204、若接收到数据查询指令,获取所述数据查询指令中的查询参数。
具体地,判断是否接收到终端发送的数据查询指令,该数据查询指令包括查询参数,其中所述查询参数包括用于查询相关数据的参数信息,比如数据标识、数据时间段或数据显示类型等等。若收到相应数据查询指令,对该数据查询指令进行解析以获取所述数据查询指令中的查询参数。
S205、根据所述查询参数查询所述分块数据,并返回相应的查询结果。
具体地,在Druid数据库中根据所述数据查询指令中的参数查询相应的所述分块数据并获得相应的查询结果,将所述查询结果反馈给终端,该查询结果包括相应的数据信息,比如可以为相应的数据表,数据表格或交叉表格等,以便用户查询。
请参阅图5,图5是本申请实施例提供的一种数据处理装置的示意性框图。如图5所示,对应于以上数据处理方法,本申请还提供一种数据处理装置。该数据处理装置包括用于执行上述数据处理方法的单元,该装置可以被配置于服务器中。
其中,如图5所示,数据处理装置400包括:获取导入单元401、获取处理单元402、参数获取单元403和查询返回单元404。
获取导入单元401,用于获取业务数据,将所述业务数据导入至Druid数据库。
获取处理单元402,用于获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据。
参数获取单元403,用于若接收到数据查询指令,获取所述数据查询指令中的查询参数。
查询返回单元404,用于根据所述查询参数查询所述分块数据,并返回相应的查询结果。
在一实施例中,所述查询参数包括查询类型;所述查询返回单元404包括:类型识别子单元4041、规则确定子单元4042和结果查询子单元4043。
其中,类型识别子单元4041,用于识别所述查询参数中的查询类型;规则确定子单元4042,用于根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则;结果查询子单元4043,用于根据确定的类型查询规则查询所述分块数据并返回相应的查询结果。
请参阅图6,图6是本申请另一实施例提供的一种数据处理装置的示意性框图。如图6所示,对应于以上数据处理方法,本申请还提供一种数据处理装置。该数据处理装置包括用于执行上述数据处理方法的单元,该装置可以被配置于服务器中。
其中,如图6所示,数据处理装置500包括:确定部署单元501、获取导入单元502、获取处理单元503、参数获取单元504和查询返回单元505。
确定部署单元501,用于确定预设部署规则,按照所述预设部署规则将Druid数据库部署在分布式***;
获取导入单元502,用于获取业务数据,将所述业务数据导入至Druid数据库;
具体地,获取导入单元502,包括:获取保存子单元5021和读取存储子单元5022。
其中,获取保存子单元5021,用于通过Kafka获取业务数据,并将所述业务数据保存在Kafka消息队列中;读取存储子单元5022,用于实时从所述Kafka消息队列中读取所述业务数据并存储在Druid数据库中。
获取处理单元503,用于获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据。
参数获取单元504,用于若接收到数据查询指令,获取所述数据查询指令中的查询参数。
查询返回单元505,用于根据所述查询参数查询所述分块数据,并返回相应的查询结果。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的数据处理装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是服务器。
参照图7,该计算机设备700包括通过***总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作***731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种数据处理方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种数据处理方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:
获取业务数据,将所述业务数据导入至Druid数据库;
获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;
若接收到数据查询指令,获取所述数据查询指令中的查询参数;
根据所述查询参数查询所述分块数据,并返回相应的查询结果。
在一实施例中,所述查询参数包括查询类型;所述处理器720用于运行存储在存储器中的程序代码实现所述根据所述查询参数查询所述分块数据,并返回相应的查询结果时,具体实现如下步骤:
识别所述查询参数中的查询类型;
根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则;以及
根据确定的类型查询规则查询所述分块数据并返回相应的查询结果。
在一实施例中,所述查询类型包括:Top-N查询类型和Group by查询类型。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述获取业务数据,将所述业务数据导入至Druid数据库之前,还实现如下步骤:
确定预设部署规则,按照所述预设部署规则将Druid数据库部署在分布式***。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述获取业务数据,将所述业务数据导入至Druid数据库时,具体实现如下步骤:
通过Kafka获取业务数据,并将所述业务数据保存在Kafka消息队列中;
实时从所述Kafka消息队列中读取所述业务数据并存储在Druid数据库中。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图7中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该计算机程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程步骤。
该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的数据处理装置和方法,可以通过其它的方式实现。例如,以上所描述的数据处理装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,应用于分布式***,其特征在于,包括:
获取业务数据,将所述业务数据导入至Druid数据库;
获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;
若接收到数据查询指令,获取所述数据查询指令中的查询参数;
根据所述查询参数查询所述分块数据,并返回相应的查询结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述查询参数包括查询类型;所述根据所述查询参数查询所述分块数据,并返回相应的查询结果,包括:
识别所述查询参数中的查询类型;
根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则;以及
根据确定的类型查询规则查询所述分块数据并返回相应的查询结果。
3.根据权利要求2所述的数据处理方法,其特征在于,所述查询类型包括:Top-N查询类型和Group by查询类型。
4.根据权利要求1所述的数据处理方法,其特征在于,在所述获取业务数据,将所述业务数据导入至Druid数据库之前,还包括:
确定预设部署规则,按照所述预设部署规则将Druid数据库部署在分布式***。
5.根据权利要求1所述的数据处理方法,其特征在于,所述获取业务数据,将所述业务数据导入至Druid数据库,包括:
通过Kafka获取业务数据,并将所述业务数据保存在Kafka消息队列中;以及
实时从所述Kafka消息队列中读取所述业务数据并存储在Druid数据库中。
6.一种数据处理装置,其特征在于,包括:
获取导入单元,用于获取业务数据,将所述业务数据导入至Druid数据库;
获取处理单元,用于获取预定义的维度信息和分块时间信息,根据所述维度信息和分块时间信息对所述业务数据进行预聚合分块处理以得到分块数据,并保存所述分块数据;
参数获取单元,用于若接收到数据查询指令,获取所述数据查询指令中的查询参数;
查询返回单元,用于根据所述查询参数查询所述分块数据,并返回相应的查询结果。
7.根据权利要求6所述的数据处理装置,其特征在于,所述查询参数包括查询类型;所述查询返回单元,包括:
类型识别子单元,用于识别所述查询参数中的查询类型;
规则确定子单元,用于根据查询类型与类型查询规则之间预设的对应关系,确定识别到的查询类型对应的类型查询规则;
结果查询子单元,用于根据确定的类型查询规则查询所述分块数据并返回相应的查询结果。
8.根据权利要求6所述的数据处理装置,其特征在于,所述获取导入单元,包括:
获取保存子单元,用于通过Kafka获取业务数据,并将所述业务数据保存在Kafka消息队列中;
读取存储子单元,用于实时从所述Kafka消息队列中读取所述业务数据并存储在Druid数据库中。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1至5任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528348.2A CN109783512A (zh) | 2018-12-13 | 2018-12-13 | 数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811528348.2A CN109783512A (zh) | 2018-12-13 | 2018-12-13 | 数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783512A true CN109783512A (zh) | 2019-05-21 |
Family
ID=66496194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811528348.2A Pending CN109783512A (zh) | 2018-12-13 | 2018-12-13 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783512A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457320A (zh) * | 2019-08-06 | 2019-11-15 | 深圳萨摩耶互联网金融服务有限公司 | 数据的实时存储方法与装置、存储介质及计算机设备 |
CN110489418A (zh) * | 2019-07-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种数据聚合方法和*** |
CN111061719A (zh) * | 2019-12-26 | 2020-04-24 | 广州市百果园信息技术有限公司 | 数据收集方法、装置、设备和存储介质 |
CN111090672A (zh) * | 2019-12-18 | 2020-05-01 | 北京云迹科技有限公司 | 一种数据优化方法及装置 |
CN112835991A (zh) * | 2019-11-25 | 2021-05-25 | 北京达佳互联信息技术有限公司 | 监控数据的***、方法、设备及存储介质 |
CN112905593A (zh) * | 2021-03-04 | 2021-06-04 | 天九共享网络科技集团有限公司 | 报表生成方法、装置、介质及电子设备 |
CN112988809A (zh) * | 2021-02-09 | 2021-06-18 | 中国联合网络通信集团有限公司 | 基于关系型数据库的数据查询方法、装置、设备和介质 |
CN113010542A (zh) * | 2021-03-12 | 2021-06-22 | 中国平安财产保险股份有限公司 | 业务数据处理方法、装置、计算机设备及存储介质 |
CN113761246A (zh) * | 2021-09-06 | 2021-12-07 | 北京金山云网络技术有限公司 | 数据获取方法、装置、电子设备和存储介质 |
CN113905067A (zh) * | 2021-09-28 | 2022-01-07 | 湖南大学 | 一种智能网联车辆状态监控与分析***及方法 |
CN114281895A (zh) * | 2021-12-24 | 2022-04-05 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
CN114661772A (zh) * | 2022-05-25 | 2022-06-24 | 深圳希施玛数据科技有限公司 | 数据处理方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032775A1 (en) * | 2013-07-26 | 2015-01-29 | Metamarkets Group Inc. | Segment data visibility and management in a distributed database of time stamped records |
CN106327324A (zh) * | 2016-08-23 | 2017-01-11 | 杭州同盾科技有限公司 | 一种网络行为特征的快速计算方法和*** |
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和*** |
CN107832913A (zh) * | 2017-10-11 | 2018-03-23 | 微梦创科网络科技(中国)有限公司 | 基于深度学习的对监控数据趋势的预测方法及*** |
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及*** |
-
2018
- 2018-12-13 CN CN201811528348.2A patent/CN109783512A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032775A1 (en) * | 2013-07-26 | 2015-01-29 | Metamarkets Group Inc. | Segment data visibility and management in a distributed database of time stamped records |
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和*** |
CN106327324A (zh) * | 2016-08-23 | 2017-01-11 | 杭州同盾科技有限公司 | 一种网络行为特征的快速计算方法和*** |
CN107832913A (zh) * | 2017-10-11 | 2018-03-23 | 微梦创科网络科技(中国)有限公司 | 基于深度学习的对监控数据趋势的预测方法及*** |
CN107944059A (zh) * | 2017-12-29 | 2018-04-20 | 深圳市中润四方信息技术有限公司西安分公司 | 一种基于流计算的用户行为分析方法及*** |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489418A (zh) * | 2019-07-26 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 一种数据聚合方法和*** |
CN110489418B (zh) * | 2019-07-26 | 2023-09-22 | 创新先进技术有限公司 | 一种数据聚合方法和*** |
CN110457320A (zh) * | 2019-08-06 | 2019-11-15 | 深圳萨摩耶互联网金融服务有限公司 | 数据的实时存储方法与装置、存储介质及计算机设备 |
CN112835991A (zh) * | 2019-11-25 | 2021-05-25 | 北京达佳互联信息技术有限公司 | 监控数据的***、方法、设备及存储介质 |
CN112835991B (zh) * | 2019-11-25 | 2023-11-21 | 北京达佳互联信息技术有限公司 | 监控数据的***、方法、设备及存储介质 |
CN111090672B (zh) * | 2019-12-18 | 2023-08-22 | 北京云迹科技股份有限公司 | 一种数据优化方法及装置 |
CN111090672A (zh) * | 2019-12-18 | 2020-05-01 | 北京云迹科技有限公司 | 一种数据优化方法及装置 |
CN111061719A (zh) * | 2019-12-26 | 2020-04-24 | 广州市百果园信息技术有限公司 | 数据收集方法、装置、设备和存储介质 |
CN111061719B (zh) * | 2019-12-26 | 2023-08-29 | 广州市百果园信息技术有限公司 | 数据收集方法、装置、设备和存储介质 |
CN112988809A (zh) * | 2021-02-09 | 2021-06-18 | 中国联合网络通信集团有限公司 | 基于关系型数据库的数据查询方法、装置、设备和介质 |
CN112988809B (zh) * | 2021-02-09 | 2023-10-03 | 中国联合网络通信集团有限公司 | 基于关系型数据库的数据查询方法、装置、设备和介质 |
CN112905593A (zh) * | 2021-03-04 | 2021-06-04 | 天九共享网络科技集团有限公司 | 报表生成方法、装置、介质及电子设备 |
CN112905593B (zh) * | 2021-03-04 | 2024-02-02 | 天九共享网络科技集团有限公司 | 报表生成方法、装置、介质及电子设备 |
CN113010542B (zh) * | 2021-03-12 | 2023-09-19 | 中国平安财产保险股份有限公司 | 业务数据处理方法、装置、计算机设备及存储介质 |
CN113010542A (zh) * | 2021-03-12 | 2021-06-22 | 中国平安财产保险股份有限公司 | 业务数据处理方法、装置、计算机设备及存储介质 |
CN113761246A (zh) * | 2021-09-06 | 2021-12-07 | 北京金山云网络技术有限公司 | 数据获取方法、装置、电子设备和存储介质 |
CN113905067A (zh) * | 2021-09-28 | 2022-01-07 | 湖南大学 | 一种智能网联车辆状态监控与分析***及方法 |
CN114281895A (zh) * | 2021-12-24 | 2022-04-05 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
CN114281895B (zh) * | 2021-12-24 | 2023-12-08 | 成都索贝数码科技股份有限公司 | 支持远程拉取的多数据中心同步方法 |
CN114661772A (zh) * | 2022-05-25 | 2022-06-24 | 深圳希施玛数据科技有限公司 | 数据处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783512A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US9053160B2 (en) | Distributed, real-time online analytical processing (OLAP) | |
EP2702510B1 (en) | Joining tables in a mapreduce procedure | |
US9418101B2 (en) | Query optimization | |
CN110851465B (zh) | 数据查询方法及*** | |
US10824614B2 (en) | Custom query parameters in a database system | |
CN110647512B (zh) | 一种数据存储和分析方法、装置、设备和可读介质 | |
WO2020087082A1 (en) | Trace and span sampling and analysis for instrumented software | |
US20140324917A1 (en) | Reclamation of empty pages in database tables | |
CN109388657B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
WO2015030767A1 (en) | Queries involving multiple databases and execution engines | |
CN111881221A (zh) | 物流服务里客户画像的方法、装置和设备 | |
US10521440B2 (en) | High performance data profiler for big data | |
CN109800269A (zh) | 数据管理方法、装置、计算机设备及存储介质 | |
US10812322B2 (en) | Systems and methods for real time streaming | |
US20210120092A1 (en) | Adaptive data fetching from network storage | |
WO2023197864A1 (zh) | 一种调用拓扑图生成方法及装置 | |
CN114090580A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN110321364B (zh) | ***管理***的交易数据查询方法、装置及终端 | |
CN115114359A (zh) | 用户数据处理方法及装置 | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
WO2013000883A1 (en) | "method and system for processing data for database modification" | |
CN112052259A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN116089037A (zh) | 一种异步任务处理实现方法及*** | |
CN115062080A (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 |