一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种工业数据存储系统、电子设备及存储介质的制作方法

2022-12-02 23:07:49 来源:中国专利 TAG:


1.本发明属于工业互联网领域,尤其涉及一种工业数据存储系统、电子设备及存储介质。


背景技术:

2.在工业互联网领域,常见的应用如erp,mes等系统,通常在不同的场景选型不同的数据,如事务型数据库使用mysql,分析型数据库使用clickhouse,时序数据库使用influxdb,搜索引擎使用elastic search,使用的选型非常多,开发学习成本高,以及数据转换成本较高,运维成本也十分高,性能也无法进行统一衡量。


技术实现要素:

3.为解决上述技术问题,本发明提出一种工业数据存储、电子设备及存储介质的技术方案,以解决上述技术问题。
4.本发明第一方面公开了一种工业数据存储系统,所述系统包括:写入模块、查询模块、存储引擎模块和大数据系统模块;
5.所述写入模块负责接收外部数据的写入,进行分布式事务处理,并把所述外部数据写入到所述存储引擎模块;
6.所述存储引擎模块负责分区数据的保存和持久化,为所述写入模块提供了存储写入接口,以及为所述查询模块提供了查询接口;
7.所述查询模块通过所述存储引擎模块提供的查询接口在所述存储引擎模块中进行数据查询;
8.所述大数据系统模块负责对接大数据生态系统,向大数据生态系统的客户端返回所述存储引擎模块中的数据。
9.根据本发明第一方面的系统,所述分布式事务的方法包括:
10.每次数据写入都是事务,在一个事务开始的时候,往所述存储引擎模块中写入一条记录,所述记录叫做事务记录,所述事务记录用于记录事务标识;所述事务的状态称为事务状态,所述事务状态包括等待、提交和取消三种状态。
11.根据本发明第一方面的系统,所述写入模块的写入处理过程包括:
12.事务开始时,写入一条有所述事务状态的事务记录,并把所述事务状态记录成等待状态;
13.事务完成后把所述事务状态记录成提交状态,将数据通过raft写入到所述存储引擎模块的多个分区中,raft执行成功后,向客户端返回成功的信息;
14.如果事务取消,把所述事务状态记录成取消状态,并向客户端返回错误的信息。
15.根据本发明第一方面的系统,所述存储引擎模块包括:事务存储引擎、列存储引擎和时序存储引擎;
16.所述存储引擎模块的存储过程包括:
17.写入事务存储时,所述事务存储引擎将数据同时写入到wal和内存的跳跃表中,数据定时刷到磁盘,并构建索引,生产数据文件;
18.写入到列存储时,所述列存储引擎把数据写入内存lsm树形结构中,数据定期刷新到磁盘中,同时构建索引,生产数据文件;
19.写入到时序存储时,所述时序存储引擎把数据放到内存结构中,数据定期刷新到磁盘,同时构建倒排索引,生产数据文件;
20.生产数据文件后,压缩器定期对小于预设大小的数据文件进行对合并压实,生产预定义大小的数据文件,并将预定义大小的数据上传到兼容的对象存储中进行保存和备份,当本地数据损坏时,支持从所述对象存储中恢复数据。
21.根据本发明第一方面的系统,在所述存储引擎模块中进行数据查询,所述存储引擎模块的查询处理过程包括:
22.查询所述事务存储引擎时,事务模型通过索引检索对应的数据,同时将数据和数据文件进行合并,返回合并后的结果;
23.查询所述列存储引擎时,通过搜索文件,将数据加载到内存中,如果所述搜索文件的查询参数有聚合函数,则进行数据的预聚合;
24.查询所述时序存储引擎时,通过倒排索引,检索出对应的数据和数据文件,并将数据加载到内存中,如果查询参数有聚合函数,则进行数据的预聚合。
25.根据本发明第一方面的系统,所述查询模块通过所述存储引擎模块提供的查询接口在所述存储引擎模块中进行数据查询的方法包括:
26.所述查询模块收到sql语句后,通过语法解析器对sql语句进行分析,构建出逻辑执行计划,并对所述逻辑执行计划进行计算合并优化后,构建出物理执行计划,根据所述物理执行计划,对预定义查询语句使用对应的存储引擎执行返回数据;
27.所述存储引擎模块返回数据后,数据根据物理执行计划,继续进行优化和计算,向客户端返回最终的数据。
28.根据本发明第一方面的系统,所述对预定义查询语句使用对应的存储引擎执行返回数据的方法包括:
29.如果查询语句中带有时间,则使用时序存储引擎进行计算,并根据索引返回数据,并根据下推的算子进行初步计算;
30.如果数据不带有时间,但是带有聚合函数,则按照列存储引擎进行检索数据,并根据下推的算子进行计算;
31.如果数据既不带有时间,也不带有聚合函数,则对事务引擎进行查询,根据索引返回数据。
32.根据本发明第一方面的系统,所述数据根据物理执行计划,继续进行优化和计算的方法包括:
33.如果是列存储引擎和时序存储引擎返回的数据,使用mpp引擎进行查询,使用simd指令集进行优化,加速大量数据的计算;
34.如果是事务存储引擎返回的数据,事务存储引擎存储的数据通过事务查询引擎进行查询,不使用simd指令集进行加速。
35.本发明第二方面提供了一种电子设备,所述设备包括存储器和处理器,所述存储
器上存储有计算机程序,该计算机程序被所述处理器执行时,执行如本发明第一方面所述的一种工业数据存储系统中的方法。
36.本发明第三方面提供了一种存储介质,该存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现如本发明第一方面所述的一种工业数据存储系统中的方法。
37.本发明提出的方案,打造统一sql层接口层,用户通过统一的sql语言和数据库进行交互,减少了数据交互的复杂度;数据库实现了读写分离,计算和存储分离。
附图说明
38.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为根据本发明实施例的一种工业数据存储系统的结构示意图。
40.图2为根据本发明实施例的一种电子设备的结构图。
具体实施方式
41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本发明第一方面公开了一种工业数据存储系统,图1为根据本发明实施例的一种工业数据存储系统的结构图,具体如图1所示,所述系统包括:写入模块,查询模块,存储引擎模块和大数据系统模块;
43.所述写入模块负责接收外部数据的写入,实现了分布式事务,并把所述外部数据写入到所述存储引擎模块;
44.所述存储引擎模块负责分区数据的保存和持久化,为所述写入模块提供了存储写入接口,以及为所述查询模块提供了查询接口;
45.所述查询模块通过所述存储引擎模块提供的查询接口在所述存储引擎模块中进行数据查询;
46.所述大数据系统模块负责对接大数据生态系统,向大数据生态系统的客户端返回所述存储引擎模块中的数据。
47.在一些实施例中,数据的写入方式包括:
48.通过mysql insert语句写入;
49.通过http请求写入json格式的数据;
50.通过http请求写入csv格式的数据。
51.在一些实施例中,所述实现了分布式事务的方法包括:
52.每次数据写入都是事务,在一个事务开始的时候,往所述存储引擎模块中写入一条记录,所述记录叫做事务记录,所述事务记录记录事务标识,事务状态,所述事务状态包
括等待、提交和取消三种状态。
53.在一些实施例中,所述写入模块的写入处理过程包括:
54.事务开始时,写入一条有事务状态的事务记录,并把所述事务状态记录成等待状态;
55.事务完成后把所述事务状态记录成提交状态,将数据通过raft写入到所述存储引擎模块的多个分区中,raft执行成功后,向客户端返回成功;
56.如果事务取消,把所述事务状态记录成取消状态,并向客户端返回错误。
57.在一些实施例中,所述存储引擎模块包括:事务存储引擎、列存储引擎和时序存储引擎;
58.所述存储引擎模块的存储过程包括:
59.写入事务存储时,所述事务存储引擎将数据同时写入到wal和内存的跳跃表中,数据定时刷到磁盘,并构建索引,生产数据文件;
60.写入到列存储时,所述列存储引擎把数据写入内存lsm树形结构中,数据定期刷新到磁盘中,同时构建索引,生产数据文件;
61.写入到时序存储时,所述时序存储引擎把数据放到内存结构中,数据定期刷新到磁盘,同时构建倒排索引,生产数据文件;
62.生产数据文件后,压缩器定期对小的数据文件进行对合并压实,生产预定义大小的数据文件,并将预定义大小的数据上传到兼容的对象存储中进行保存和备份,当本地数据损坏时,支持从所述对象存储中恢复数据。
63.在一些实施例中,在所述存储引擎模块中进行数据查询,所述存储引擎模块的查询处理过程包括:
64.查询所述事务存储引擎时,事务模型通过索引检索对应的数据,同时将数据和数据文件进行合并,返回合并后的结果;
65.查询所述列存储引擎时,通过搜索文件,并将数据加载到内存中,如果所述搜索文件的查询参数有聚合函数,则进行数据的预聚合。
66.查询所述时序存储引擎时,通过倒排索引,检索出对应的数据和数据文件,并将数据加载到内存中,如果查询参数有聚合函数,则进行数据的预聚合。
67.在一些实施例中,所述查询模块通过所述存储引擎模块提供的查询接口在所述存储引擎模块中进行数据查询的方法包括:
68.所述查询模块收到sql语句后,通过语法解析器对sql语句进行分析,构建出逻辑执行计划,并对所述逻辑执行计划进行计算合并优化后,构建出物理执行计划,根据所述物理执行计划,对预定义查询语句使用对应的存储引擎执行返回数据;
69.所述存储引擎模块返回数据后,数据根据物理执行计划,继续进行优化和计算,向客户端返回最终的数据。
70.在一些实施例中,所述对预定义查询语句使用对应的存储引擎执行返回数据的方法包括:
71.如果查询语句中带有时间,则使用时序存储引擎进行计算,并根据索引返回数据,并根据下推的算子进行初步计算;
72.如果数据不带有时间,但是带有聚合函数,则按照列存储引擎进行检索数据,并根
据下推的算子进行计算;
73.如果数据既不带有时间,也不带有聚合函数,则对事务引擎进行查询,根据索引返回数据。
74.在一些实施例中,所述数据根据物理执行计划,继续进行优化和计算的方法包括:
75.如果是列存储引擎和时序存储引擎返回的数据,使用mpp引擎进行查询,使用simd指令集进行优化,加速大量数据的计算;
76.如果是事务存储引擎返回的数据,事务存储引擎存储的数据通过事务查询引擎进行查询,不使用simd指令集进行加速。
77.在一些实施例中,所述大数据系统模块负责对接大数据生态系统,向大数据生态系统的客户端返回所述存储引擎模块中的数据的方法包括:
78.所述大数据系统模块负责对接spark,hadoop大数据生态系统,大数据查询引擎支持spark arrow协议返回数据,支持跟大数据系统打通;
79.大数据生态系统spark通过grpc调用大数据模块,大数据模块将请求转发给存储引擎模块的查询接口;
80.查询模块检索出数据文件;
81.大数据系统模块将数据文件转换成spark arrow格式;
82.大数据系统模块向客户端返回转换成spark arrow格式数据。
83.综上,本发明各个方面的技术方案与现有技术相比具有如下优点:打造统一sql层接口层,用户通过统一的sql语言和数据库进行交互,减少了数据交互的复杂度;数据库实现了读写分离,计算和存储分离。
84.本发明第二方面公开了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开第一方面中任一项的一种工业数据存储方法中的步骤。
85.图2为根据本发明实施例的一种电子设备的结构图,如图2所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、近场通信(nfc)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
86.本领域技术人员可以理解,图2中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
87.本发明第三方面公开了一种存储介质,具体涉及计算机的可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明公开第一方面中任一项的一种工业数据存储方法中的步骤中的步骤。
88.请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述
实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献