一种基于区块链的大数据仓库系统及数据存储方法与流程

文档序号:29931400发布日期:2022-05-07 12:53阅读:142来源:国知局
一种基于区块链的大数据仓库系统及数据存储方法与流程

1.本发明涉及数据库存储技术领域,具体涉及一种基于区块链的大数据仓库系统及数据存储方法。


背景技术:

2.数据仓库系统是一种面向商务智能(bi)活动的数据管理系统,它适用于对数据进行查询和分析,尤其是涉及到对大量的历史数据进行处理以生成业务所需的分析结果。在实际应用中,数据仓库系统中的数据一般来自应用日志文件和事务应用等广泛来源。数据仓库系统可集中、整合多个信息源的大量数据,进而对数据进行处理以符合企业的业务需求。在对数据的整合过程中,数据仓库系统往往需要对多个信息源的数据进行同步,以获取可供分析的数据。
3.现有技术中,已存在有适用于数据仓库系统的数据同步方法。比如,现有技术中,通常是通过源数据库根据订阅队列向操作性数据库推送数据,随后采用相应的工具对操作性数据库捕获其变化数据,进而使用如etl一类的工具将变化数据抽取到最终的数据仓库中。
4.但是,在实际实施过程中,发明人发现,虽然上述现有技术可以根据用户需要实现在不同类型的数据库之间同步数据并对数据进行一定程度的处理。但上述工具往往会存在有稳定性的问题。比如,cdc工具的存储存在有时效性,无法对长时间的异常记录进行保存、维护等。比如,当镜像数据库的变更捕获发生异常,或订阅初始化后,etl工具无法正常运行等。


技术实现要素:

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.步骤a1:采集所述生产数据,当所述生产数据相对于上一时刻的所述生产数据发生变动时,根据所述生产数据生成修改记录;
33.步骤a2:将所述修改记录录入存储区块链;
34.步骤a3:所述存储区块链根据智能合约向数据仓库推送所述修改记录。
35.优选地,所述数据存储方法还包括:
36.步骤b1:自所述存储区块链中获取所述修改记录,与上一时刻获取的所述修改记录进行合并以生成一对应于所述生产数据的操作数据;
37.步骤b2:对所述操作数据进行处理以生成并输出处理结果;
38.步骤b3:根据所述处理结果生成一修改记录,并将所述修改记录返回至所述存储区块链;
39.步骤b4:所述存储区块链根据所述智能合约向所述数据仓库推送所述修改记录。
40.上述技术方案具有如下优点或有益效果:通过设置存储区块链接收修改记录并向数据仓库中推送数据,避免了现有技术中通过相关工具对变更数据进行捕获、推送导致推送过程稳定性差、故障后无法自动恢复等问题。实现了更好的数据存储稳定性和容错率,降低了维护成本。
附图说明
41.参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
42.图1为本发明实施例的整体示意图;
43.图2为本发明实施例中的数据存储方法示意图;
44.图3为本发明另一实施例中数据存储方法示意图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
47.下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
48.本发明包括:
49.一种基于区块链的大数据仓库系统,如图1所示,包括:
50.采集端1,采集端1连接一外部的生产设备,采集端1获取生产设备中的生产数据,并在生产数据发生变动时生成修改记录;
51.存储区块链2,存储区块链2连接采集端1,存储区块链2接收并存储自采集端1发出的修改记录;
52.至少一个数据仓库4,数据仓库4连接存储区块链2,存储区块链2向数据仓库4发送修改记录。
53.具体地,针对现有技术中数据推送过程依赖的传统工具稳定性差的问题,本发明选用了存储区块链2存储修改记录,并向数据仓库4推送修改记录以对数据仓库4内的数据库进行修改实现数据同步的过程,进而避免了传统工具失效时数据不连贯、完整性差的缺陷。同时,由于存储区块链2中的记录账本相互之间存在有关联性,通过连续性的修改记录实现了对数据变更过程的有效记录,从而取代了现有技术中对操作性数据库的变化数据捕获过程。
54.在实施过程中,采集端1可以是一软件实施例,如设置在生产环境中的监控程序、
采集客户端等,其通过相应的监控方法自生产环境中抓取特定的数据以生成生产数据。存储区块链2作为一于多个硬件上同步执行的软件实施例,其预先生成有对应于相关数据业务的分布式账本,用于记录上述修改记录,并供各数据库访问、上传记录,进而实现数据交换的过程。数据仓库4作为一软件实施例可选用现有技术中的数据库来实现,其主要用途在于存储相应的数据以供不同的操作环境获取数据,进而在操作环境中对数据进行处理。修改记录中包含有数据及对应于数据记录的操作,比如,在表中插入一元组、新增表、修改字段内的数据等。数据仓库4根据实际需要可设置一个或多个,用于存储不同维度的表。比如,在一个实施例中设置有多个数据仓库4,每个数据仓库4中存储一特定维度的表,用于根据不同的安全域的安全需求存储不同的数据,进而实现较好的安全性。或者,在另一实施例中是在一个数据仓库4中存储多个维度的表以实现较为简单的推送过程。
55.进一步地,基于上述系统对大数据仓库系统进行构建,在实现数据采集、分析、存储的基础上,替代了现有技术中的源数据库订阅工具、操作性数据库的数据变化捕获工具以及变化内容抽取工具,简化了大数据仓库系统的设计,使得大数据仓库系统更加易于部署。同时,由于简化了大数据仓库系统的设计,使得大数据仓库系统内的组件在更新时稳定性更好,降低了维护成本和更新带来的业务中断的风险。
56.在一种较优的实施例中,还包括一操作数据库3,操作数据库3包括;
57.数据存储子模块31,数据存储子模块31连接存储区块链2,数据存储子模块31接收并存储存储区块链2发送的修改记录,用于在操作数据库3中形成生产数据;
58.具体地,存储区块链2中设置有一推送子模块23,推送子模块23中存储有对应于操作数据库3的智能合约。数据存储子模块31接收存储区块链2通过智能合约发出的修改记录,通过将当前获取的修改记录与往期获取的修改记录进行合并以实现对待分析的生产数据的同步。
59.数据编辑子模块32,数据编辑子模块32连接数据存储子模块31,数据编辑子模块32自数据存储子模块31中获取生产数据;
60.数据编辑子模块32响应一外部输入的编辑指令,根据编辑指令对生产数据进行处理,以输出一处理结果。
61.具体地,为实现操作数据库3较好的数据分析效果,本实施例中通过智能合约向操作数据库3推送修改记录并在数据存储子模块31中进行合并,以实现生产数据的连续同步过程,进而使得操作数据库3获得连续、有效的生产记录,以符合相关业务对数据处理的需求。
62.在实施过程中,操作数据库3体现为一用于对数据进行分析、处理的数据库,比如数据挖掘数据库(dm,data mining)、联机分析处理数据库(olap,on-line analytical processing)等,其用于对相关数据进行处理以符合实际的业务需要。相关数据指在数据操作过程之前,预先存储于操作数据库中的生产数据,该部分数据通过存储区块链2发出的智能合约推送至操作数据库3中,并通过对多个修改记录的合并以生成待处理的生产数据。存储区块链2中的智能合约为根据操作数据库3设置的智能合约,该智能合约中包含有操作数据库3进行数据处理所需的数据内容、类型和格式。当需要向操作数据库3推送修改记录时,存储区块链2根据智能合约对存储区块链2中存储的修改记录进行筛选、处理以符合操作数据库3进行数据处理的需要。
63.在一种较优的实施例中,操作数据库3还包括:
64.同步请求子模块33,同步请求子模块33连接数据存储子模块31、数据编辑子模块32和存储区块链2;
65.同步请求子模块33获取处理结果,生成一对应于处理结果的修改记录;
66.同步请求子模块33将修改记录发送至存储区块链2。
67.具体地,针对现有技术中操作数据库3对处理后的数据需要通过特定的工具推送至数据仓库4中稳定性较差的问题,本实施例通过存储区块链2接收操作数据库3发出的修改记录,进而将操作数据库3中的修改记录同步至数据仓库4中,避免了因通信、软件故障等问题导致的数据出错。
68.在实施过程中,操作数据库3对数据库内形成的生产数据进行处理后,提取相关数据与原始的生产数据中的差异部分以作为修改记录,随后将修改记录返回至存储区块链2中。或者,操作数据库3将处理后的相关数据作为修改记录推送至存储区块链2中,进而实现对业务操作产生的数据的同步。
69.在一种较优的实施例中,采集端1包括:
70.数据采集子模块11,数据采集子模块11连接生产设备,数据采集子模块11自生产设备获取生产数据;
71.数据比对子模块12,数据比对子模块12连接数据采集子模块11,数据比对子模块12中存储有上一时刻的生产数据;
72.数据比对子模块12根据上一时刻的生产数据判断当前的生产数据是否存在变动;
73.记录生成子模块13,记录生成子13模块连接数据比对子模块12,记录生成子模块13根据数据比对子模块12的比对结果以及当前的生产数据生成修改记录。
74.具体地,在特定的生产环境中,由于直接输出生产数据容易造成大量的数据冗余,因此在本实施例中,通过采集端1对当前获取的生产数据和上一时刻的生产数据进行比对,进而去除了冗余的生产数据,降低了存储区块链2中的数据存储量。
75.在一种较优的实施例中,存储区块链2包括:
76.记录接收子模块21,记录接收子模块21连接采集端1,记录接收子模块21接收自采集端1发出的修改记录;
77.存储子模块22,存储子模块22连接记录接收子模块21,存储子模块22存储修改记录;
78.推送子模块23,推送子模块23连接存储子模块22,推送子模块23根据预先生成的对应于数据仓库4的智能合约向数据仓库4推送修改记录。
79.具体地,针对现有技术中依赖于传统工具,如cdc的数据同步过程稳定性较差的问题,本实施例选择了通过存储区块链2根据预先存储的智能合约向数据仓库4中推送数据,
80.在实施过程中,智能合约为预先建立在存储区块链2中对应于特定数据库的合约,其记录有对应于数据库的相关信息,包括数据类型、主键、字段、同步周期等信息。通过设置智能合约进行推送能够有效地实现数据交换过程,避免了现有技术中依赖传统工具进行推送稳定性差的问题。同时,存储区块链2连接至多个异构数据仓库4,存储区块链2中根据不同类型的数据仓库4设置有相应的智能合约。通过不同的智能合约对数据进行进一步处理,进而使得存储区块链2能够有效地向异构数据库推送数据。同样地,存储区块链2对异构网
络也存在有较好的推送效果。
81.进一步地,智能合约对数据的进一步处理,指智能合约中包括有对应于每个数据仓库4中数据维度、数据结构、所需字段、字符编码需求等。存储区块链2在向数据仓库4推送数据时,通过智能合约对数据进行相应的处理,进而选择性地向数据仓库4推送特定类型及范围的数据。数据仓库4在接收到处理过的数据后,在数据库内基于已有数据进行整合,以完成数据同步过程,从而实现了数据的自动化处理与整合。相对于现有技术中通过etl工具进行数据抽取、处理的过程,上述处理流程通过智能合约实现了对数据的智能整合,提高了数据处理的效率。并且,根据业务需要,还可对修改记录中的特定字段进行抽取,以生成特定维度的表,进而存储在特定的数据仓库4中。
82.作为可选的实施方式,存储区块链2部署于多个载体上,每个载体位于不同的安全区域中。
83.具体地,针对现有技术中跨安全区域点对点数据库传输容易造成安全隐患的问题,本实施例中通过将存储区块链2部署于多个载体上,进而通过位于不同的安全区域中的载体向不同的安全区域中的数据库推送修改记录。通过上述技术手段,在实现了向不同安全区域中的数据库推送修改记录的前提下避免了跨安全区域时进行点对点传输导致的安全问题,提升了数据同步过程中的安全性。
84.在一种较优的实施例中,存储区块链2还包括:
85.记录编辑子模块24,记录编辑子模块24连接推送子模块23,记录编辑子模块24根据智能合约对修改记录进行编辑;
86.推送子模块23向数据仓库4推送编辑后的修改记录。
87.具体地,针对部分数据库仅需要获取特定的数据的问题,本实施例通过设置记录编辑子模块24根据智能合约中预设的数据类型和字段对存储于存储区块链2中的原始修改记录进行编辑以符合智能合约中的相关要求,进而向存储区块链2推送编辑后的修改记录。
88.作为可选的实施方式,还采用etl工具(extract-transform-load)自存储区块链2中抽取修改记录并将修改记录推送至数据仓库4。
89.一种数据存储方法,适用于上述的大数据仓库系统,包括:
90.步骤a1:采集生产数据,当生产数据相对于上一时刻的生产数据发生变动时,根据生产数据生成修改记录;
91.步骤a2:将修改记录录入存储区块链2;
92.步骤a3:存储区块链2根据智能合约向数据仓库4推送修改记录。
93.具体地,针对现有技术中数据库同步工具稳定性差、断点恢复易造成数据丢失的问题,本实施例中选择了通过存储区块链2存储对应于生产数据的修改记录,并由存储区块链2向数据仓库4推送修改记录以实现了更好的数据完整性。
94.在一种较优的实施例中,数据存储方法还包括:
95.步骤b1:自存储区块链2中获取修改记录,与上一时刻获取的修改记录进行合并以生成一对应于生产数据的操作数据;
96.步骤b2:对操作数据进行处理以生成并输出处理结果;
97.步骤b3:根据处理结果生成一修改记录,并将修改记录返回至存储区块链2;
98.步骤b4:存储区块链2根据智能合约向数据仓库4推送修改记录。
99.具体地,针对现有技术中操作数据库在向数据仓库4中同步处理后的数据稳定性较差的问题,本实施例中通过存储区块链2取代了现有技术中的变更捕获、订阅推送工具,进而实现了较好的推送稳定性。
100.进一步地,针对现有技术中对操作数据库3进行数据同步需要占用大量带宽和时间的问题,本实施例中通过存储区块链2向操作数据库3推送修改记录,并在操作数据库3中通过累计获取的修改记录进行合并,以生成在后续数据处理过程中所需的操作数据。由于修改记录为采集端1以时间顺序向存储区块链2中存入的反应生产数据变动的记录,因此通过对修改记录以时间顺序进行合并可在操作数据库3中形成对应于当前的生产数据的操作数据,进而实现了较高的同步效率。
101.本发明的有益效果在于:通过设置存储区块链接收修改记录并向数据仓库中推送数据,避免了现有技术中通过相关工具对变更数据进行捕获、推送导致推送过程稳定性差、故障后无法自动恢复等问题。实现了更好的数据存储稳定性和容错率,降低了维护成本。
102.以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1