1.本发明属于数据处理技术领域,尤其涉及一种批流融合的信息处理方法和装置、存储介质。
背景技术:
2.随着工业4.0以及5g时代的到来,人们对于数据处理的时效性有了越来越高的需求。研究表明,数据的价值随着时间的流逝而降低。反过来说,越实时的数据,其价值越高。在此背景下,业界涌现出了像storm,spark,kafka,flink等一批优秀的开源流计算框架。然而,尽管不少流计算框架宣称自己具备批流一体的处理能力,事实上由于批处理与流计算在使用场景和侧重点的不同——流计算更关注数据的时效性,而批处理则更关注数据的完整性、准确性和计算成本,像hive这样的批处理系统仍然无法被完全替代。这使得人们在需要将实时数据与离线数据进行融合分析的时候,变得非常困难。数据口径不一致,语义不统一,无法跨系统查询,查询性能无法满足要求等问题,常常会成为难以逾越的鸿沟,困扰着大数据架构师和工程师们。
3.综上所述,现有技术存在如下技术问题:
4.将实时数据与离线数据进行融合分析的时候,变得非常困难。
技术实现要素:
5.为解决上述技术问题,本发明提供一种批流融合的信息处理方法,包括步骤:
6.基于输入的查询语句获取索引;
7.基于索引提取预计算的索引数据段作为查询结果;
8.提取新计算的索引数据段更新查询结果。
9.优选的,所述基于索引提取预计算的索引数据段作为查询结果,具体包括:
10.获取索引的统计信息;
11.在内存中检索拥有该统计信息的预创建索引;
12.基于预创建索引在存储介质中定位其预计算的索引数据段;
13.将定位到的预计算的索引数据段作为查询结果。
14.优选的,所述预计算的索引数据段,具体包括:
15.基于预先定义的统一模型定义预创建索引;
16.基于预创建索引进行预计算得到索引数据段;
17.将预创建索引的统计信息储存于内存,并将预计算的索引数据段储存于存储介质。
18.优选的,所述基于预先定义的统一模型定义预创建索引,具体包括:
19.获取预先创建的流数据源映射表、批数据源映射表,其中,流数据源映射表为事实表,批数据源映射表为与其绑定的影子表;
20.获取预先创建的事实表与影子表连接的维度和度量;
21.基于获取的维度和度量,确定事实表和影子表与维度表的连接关系;
22.基于连接关系定义预创建索引。
23.优选的,所述基于预创建索引计算得到索引数据段,具体包括:
24.获取预创建索引,其中,预创建索引分为批索引、流索引和融合索引;
25.基于预创建索引,通过计算引擎在数据源中进行预计算,其中,计算引擎包括批处理计算引擎、流处理计算引擎,数据源包括批数据源、流数据源;
26.基于预计算得到预计算的索引数据段,其中,预计算的索引数据段分为批索引数据段、流索引数据段。
27.优选的,所述将预创建索引的统计信息储存于内存,具体包括:
28.提取预创建索引的统计信息,其中,统计信息包括行数、大小和基数。
29.优选的,所述提取新计算的索引数据段更新查询结果,具体包括:
30.基于索引在数据源中进行新计算,其中,索引分为批索引、流索引和融合索引,数据源包括批数据源、流数据源;
31.通过计算引擎新计算得到新计算的索引数据段,其中,计算引擎包括批处理计算引擎、流处理计算引擎,新计算的索引数据段分为批索引数据段、流索引数据段;
32.将新计算的索引数据段储存在存储介质中;
33.提取存储介质中新计算的索引数据段更新查询结果。
34.一种批流融合的信息处理的装置,其特征在于,包括:
35.客户端,用于基于输入的查询语句获取索引;
36.查询引擎,用于基于索引提取预计算的索引数据段作为查询结果;
37.更新模块,用于提取新计算的索引数据段更新查询结果。
38.优选的,所述查询引擎:
39.获取索引的统计信息;
40.在内存中检索拥有该统计信息的预创建索引;
41.基于预创建索引在存储介质中定位其预计算的索引数据段;
42.将定位到的预计算的索引数据段作为查询结果。
43.优选的,所述查询引擎,包括:
44.预创建索引定义模块,用于基于预先定义的统一模型定义预创建索引;
45.预计算模块,用于基于预创建索引进行预计算得到索引数据段;
46.信息储存模块,将预创建索引的统计信息储存于内存,并将预计算的索引数据段储存于存储介质。
47.优选的,所述预创建索引定义模块:
48.获取预先创建的流数据源映射表、批数据源映射表,其中,流数据源映射表为事实表,批数据源映射表为与其绑定的影子表;
49.获取预先创建的事实表与影子表连接的维度和度量;
50.基于获取的维度和度量,确定事实表和影子表与维度表的连接关系;
51.基于连接关系定义预创建索引。
52.优选的,所述预计算模块:
53.获取预创建索引,其中,预创建索引分为批索引、流索引和融合索引;
54.基于预创建索引,通过计算引擎在数据源中进行预计算,其中,计算引擎包括批处理计算引擎、流处理计算引擎,数据源包括批数据源、流数据源;
55.基于预计算得到预计算的索引数据段,其中,预计算的索引数据段分为批索引数据段、流索引数据段。
56.优选的,所述信息储存模块:
57.提取预创建索引的统计信息,其中,统计信息包括行数、大小和基数。
58.优选的,所述更新模块:
59.基于索引在数据源中进行新计算,其中,索引分为批索引、流索引和融合索引,数据源包括批数据源、流数据源;
60.通过计算引擎新计算得到新计算的索引数据段,其中,计算引擎包括批处理计算引擎、流处理计算引擎,新计算的索引数据段分为批索引数据段、流索引数据段;
61.将新计算的索引数据段储存在存储介质中;
62.提取存储介质中新计算的索引数据段更新查询结果。
63.一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,其特征在于,所述计算机程序在所述处理器中执行可实现以上任一种方法。
64.一种存储介质,存储计算机程序,其特征在于,所述计算机程序在处理器中执行可实现以上任一种方法。
65.本发明通过定义统一模型,实现了通过一条sql查询语句同时分析历史数据和实时数据的技术效果;通过预计算和实时合并技术,实现了有效降低查询响应时间的技术效果;通过将计算结果存储在存储介质中加以重复使用,实现了保障系统稳定性的技术效果;通过不断将新计算的结果储存到存储介质中,实现了更新查询结果的技术效果。
附图说明
66.图1为本技术的批流融合的信息处理方法的流程图;
67.图2为本技术的预先定义的统一模型图;
68.图3为本技术的定义预创建索引的流程图;
69.图4为本技术的基于预创建索引计算得到索引数据段的流程图。
具体实施方式
70.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,在本发明的描述中,除非另有明确的规定和限定,术语“存储介质”可以是rom、ram、磁碟或者光盘等各种可以存储计算机程序的介质。术语“处理器”可以是cpld(complex programmable logic device:复杂可编程逻辑器件)、fpga(field-programmable gate array:现场可编程门阵列)、mcu(microcontroller unit:微控制单元)、plc(programmable logic controller:可编程逻辑控制器)以及cpu(central processing unit:中央处理器)等具备数据处理功能的芯片或电路。术语“电子设备”可以是具有数据处理功能和存储功能的任何设备,通常可以包括固定终端和移动终端。固定终端如台式机等。移动终端如手机、pad以及移动机器人等。此外,后续所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
71.下面,本发明提出部分优选实施例以教导本领域技术人员实现。
72.实施例一
73.本实施例提供一种批流融合的信息处理方法,如图1所示,包括步骤:
74.s100、基于输入的查询语句获取索引;
75.s200、基于索引提取预计算的索引数据段作为查询结果;
76.s300、提取新计算的索引数据基于输入的查询语句获取索引段更新查询结果。
77.在进一步的实施例中,所述基于输入的查询语句获取索引,具体包括:
78.s110、获取输入的查询语句;
79.s120、在查询语句中检索关键词;
80.s130、根据检索得到的关键词关联维度、度量;
81.s140、根据关联得到的维度、度量创建索引。
82.在更进一步的实施例中,所述关键词关联索引,具体包括:
83.s131、基于维度、度量的种类设置关键词:
84.s132、建立关键词与其代表的维度、度量的种类的映射关系;
85.s133、当检索到关键词时,获得其代表的维度、度量的种类。
86.在进一步的实施例中,所述基于索引提取预计算的索引数据段作为查询结果,具体包括:
87.s210、获取索引的统计信息;
88.s220、在内存中检索拥有该统计信息的预创建索引;
89.s230、基于预创建索引在存储介质中定位其预计算的索引数据段;
90.s240、将定位到的预计算的索引数据段作为查询结果。
91.在更进一步的实施例中,所述获取索引的统计信息,具体包括:
92.s211、接收创建的索引;
93.s212、对索引进行统计;
94.s213、根据统计结果得到相关的统计信息,包括但不限于行数、大小和基数。
95.在进一步的实施例中,所述预计算的索引数据段,具体包括:
96.s250、基于预先定义的统一模型定义预创建索引;
97.s260、基于预创建索引进行预计算得到索引数据段;
98.s270、将预创建索引的统计信息储存于内存,并将预计算的索引数据段储存于存储介质。
99.在更进一步的实施例中,所述基于预先定义的统一模型定义预创建索引,如图2、图3所示,具体包括:
100.s251、获取预先创建的流数据源映射表、批数据源映射表,其中,流数据源映射表为事实表,批数据源映射表为与其绑定的影子表;
101.s252、获取预先创建的事实表与影子表连接的维度和度量;
102.s253、基于获取的维度和度量,确定事实表和影子表与维度表的连接关系;
103.s254、基于连接关系定义预创建索引。
104.在更进一步的实施例中,所述基于预创建索引计算得到索引数据段,如图4所示,具体包括:
105.s261、获取预创建索引,其中,预创建索引分为批索引、流索引和融合索引;
106.s262、基于预创建索引,通过计算引擎在数据源中进行预计算,其中,计算引擎包括批处理计算引擎、流处理计算引擎,数据源包括批数据源、流数据源;
107.s263、基于预计算得到预计算的索引数据段,其中,预计算的索引数据段分为批索引数据段、流索引数据段。
108.在更进一步的实施例中,所述将预创建索引的统计信息储存于内存,具体包括:
109.提取预创建索引的统计信息,其中,统计信息包括但不限于行数、大小和基数。
110.在进一步的实施例中,所述提取新计算的索引数据段更新查询结果,具体包括:
111.s310、基于索引在数据源中进行新计算,其中,索引分为批索引、流索引和融合索引,数据源包括批数据源、流数据源;
112.s320、通过计算引擎新计算得到新计算的索引数据段,其中,计算引擎包括批处理计算引擎、流处理计算引擎,新计算的索引数据段分为批索引数据段、流索引数据段;
113.s330、将新计算的索引数据段储存在存储介质中;
114.s340、提取存储介质中新计算的索引数据段更新查询结果。
115.从以上的描述中,可以看出,本发明实现了如下技术效果:
116.1、通过定义统一模型,实现了通过一条sql查询语句同时分析历史数据和实时数据的技术效果;
117.2、通过预计算和实时合并技术,实现了有效降低查询响应时间的技术效果;
118.3、通过将计算结果存储在存储介质中加以重复使用,实现了保障系统稳定性的技术效果;
119.4、通过不断将新计算的结果储存到存储介质中,实现了更新查询结果的技术效果。
120.实施例二
121.本实施例提供一种批流融合的信息处理的装置,其特征在于,包括:
122.客户端,用于基于输入的查询语句获取索引;
123.查询引擎,用于基于索引提取预计算的索引数据段作为查询结果;
124.更新模块,用于提取新计算的索引数据段更新查询结果。
125.在进一步的实施例中,所述查询引擎:
126.获取索引的统计信息;
127.在内存中检索拥有该统计信息的预创建索引;
128.基于预创建索引在存储介质中定位其预计算的索引数据段;
129.将定位到的预计算的索引数据段作为查询结果。
130.在进一步的实施例中,所述查询引擎,包括:
131.预创建索引定义模块,用于基于预先定义的统一模型定义预创建索引;
132.预计算模块,用于基于预创建索引进行预计算得到索引数据段;
133.信息储存模块,将预创建索引的统计信息储存于内存,并将预计算的索引数据段储存于存储介质。
134.在更进一步的实施例中,所述预创建索引定义模块:
135.获取预先创建的流数据源映射表、批数据源映射表,其中,流数据源映射表为事实
seller_id=
‘
10003’160.在消费不断产生的流式实时数据时,系统会为这一条查询,建立与上述预创建索引接近的索引。
161.在进一步的实施例中,所述基于输入的查询语句获取索引,具体包括:
162.s110、获取输入的查询语句;
163.s120、在查询语句中检索关键词;
164.s130、根据检索得到的关键词关联维度、度量;
165.s140、根据关联得到的维度、度量创建索引。
166.在更进一步的实施例中,所述关键词关联索引,具体包括:
167.s131、基于维度、度量的种类设置关键词:
168.s132、建立关键词与其代表的维度、度量的种类的映射关系;
169.s133、当检索到关键词时,获得其代表的维度、度量的种类。
170.其中在查询语句sql 1中检索到关键词:销售员(seller_id)、2020年5月1日(date)和成交总额sum(amount),其中,销售员、2020年5月1日关联维度分别为保险销售员(seller_id)和日期(date),成交总额sum(amount)关联度量为保单金额总和sum(amount)。
171.基于本实施例提供的一种批流融合的信息处理方法,通过步骤:
172.s200、基于索引提取预计算的索引数据段作为查询结果;
173.在查询sql1中的语句时,直接利用之前预存在存储介质中的结果直接回答,即表1的数据,也是批式数据,保障了系统的性能和效率以及稳定性。
174.在进一步的实施例中,所述基于索引提取预计算的索引数据段作为查询结果,具体包括:
175.s210、获取索引的统计信息;
176.s220、在内存中检索拥有该统计信息的预创建索引;
177.s230、基于预创建索引在存储介质中定位其预计算的索引数据段;
178.s240、将定位到的预计算的索引数据段作为查询结果。
179.其中索引的有三列,每列基数为seller_id、date和sum(amount),在内存中储存的预创建索引的统计信息中检测,得到上述预创建索引,在存储介质中定位其预计算的索引数据段,即表1,将表1作为查询结果回答。
180.在更进一步的实施例中,所述获取索引的统计信息,具体包括:
181.s211、接收创建的索引;
182.s212、对索引进行统计;
183.s213、根据统计结果得到相关的统计信息,包括但不限于行数、大小和基数。
184.其中统计得到的该索引的统计信息为三列,每列基数为seller_id、date和sum(amount)。
185.在进一步的实施例中,所述预计算的索引数据段,具体包括:
186.s250、基于预先定义的统一模型定义预创建索引;
187.s260、基于预创建索引进行预计算得到索引数据段;
188.s270、将预创建索引的统计信息储存于内存,并将预计算的索引数据段储存于存储介质。
189.在更进一步的实施例中,所述基于预先定义的统一模型定义预创建索引,如图2、图3所示,具体包括:
190.s251、获取预先创建的流数据源映射表、批数据源映射表,其中,流数据源映射表为事实表,批数据源映射表为与其绑定的影子表;
191.s252、获取预先创建的事实表与影子表连接的维度和度量;
192.s253、基于获取的维度和度量,确定事实表和影子表与维度表的连接关系;
193.s254、基于连接关系定义预创建索引。
194.其中维度分别为保险销售员(seller_id)和日期(date),度量为保单金额总和sum(amount)。
195.在更进一步的实施例中,所述基于预创建索引计算得到索引数据段,如图4所示,具体包括:
196.s261、获取预创建索引,其中,预创建索引分为批索引、流索引和融合索引;
197.s262、基于预创建索引,通过计算引擎在数据源中进行预计算,其中,计算引擎包括批处理计算引擎、流处理计算引擎,数据源包括批数据源、流数据源;
198.s263、基于预计算得到预计算的索引数据段,其中,预计算的索引数据段分为批索引数据段、流索引数据段。
199.其中预计算得到的批索引数据段为表1.
200.在更进一步的实施例中,所述将预创建索引的统计信息储存于内存,具体包括:
201.提取预创建索引的统计信息,其中,统计信息包括但不限于行数、大小和基数。
202.基于本实施例提供的一种批流融合的信息处理方法,通过步骤:
203.s300、提取新计算的索引数据基于输入的查询语句获取索引段更新查询结果。
204.同时随着不断将新计算的结果储存到存储介质中,查询中的结果也会发生相应的更新。
205.在进一步的实施例中,所述提取新计算的索引数据段更新查询结果,具体包括:
206.s310、基于索引在数据源中进行新计算,其中,索引分为批索引、流索引和融合索引,数据源包括批数据源、流数据源;
207.s320、通过计算引擎新计算得到新计算的索引数据段,其中,计算引擎包括批处理计算引擎、流处理计算引擎,新计算的索引数据段分为批索引数据段、流索引数据段;
208.s330、将新计算的索引数据段储存在存储介质中;
209.s340、提取存储介质中新计算的索引数据段更新查询结果。
210.实施例四
211.本发明实施例,还包括一种电子设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序在所述处理器中执行时用于实现上述的批流融合的信息处理方法,该方法包括:
212.基于输入的查询语句获取索引;
213.基于索引提取预计算的索引数据段作为查询结果;
214.提取新计算的索引数据段更新查询结果。
215.实施例五
216.本实施例中,本发明还提供了一种可读存储介质,所述可读存储介质中存储有计
算机程序,所述计算机程序被处理器执行时用于实现上述的批流融合的信息处理方法,该方法包括:
217.基于输入的查询语句获取索引;
218.基于索引提取预计算的索引数据段作为查询结果;
219.提取新计算的索引数据段更新查询结果。
220.其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。另外,该asic可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
221.本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
222.在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,dsp)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
223.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
224.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
225.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-1057832.html