CN109325036A - 一种实现实时数据同步的系统及方法 - Google Patents
一种实现实时数据同步的系统及方法 Download PDFInfo
- Publication number
- CN109325036A CN109325036A CN201810825697.4A CN201810825697A CN109325036A CN 109325036 A CN109325036 A CN 109325036A CN 201810825697 A CN201810825697 A CN 201810825697A CN 109325036 A CN109325036 A CN 109325036A
- Authority
- CN
- China
- Prior art keywords
- real
- data
- calculated result
- time
- aggregation table
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现实时数据同步的系统及方法。本发明实现实时数据同步的系统,包括:实时数据收集模块,用于将采集的数据形成固定格式的日志数据;实时计算模块,用于提取日志数据中有用的字段并进行计算;实时同步模块,用于将实时计算模块的计算结果与关系型数据库中的历史数据同步或合并。本发明还公开了一种实现实时数据同步的方法,本发明对采集到的数据先进行实时分析计算,然后将分析后的数据再进行本地存储,本发明能够使数据在短时间内保持同步更新,解决了现有技术中数据同步更新速度慢的问题。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及一种实现实时数据同步的系统及方法。
背景技术
随着中国制造2025、工业4.0等概念的提出,制造业对自动化、智能化生产模式的需求日益增长,信息化技术与自动化技术作为智能制造的关键技术之一,应用于越来越多的生产制造和物流项目中。
然而大量的测量数据需要集成和存储,传统的基于关系型数据库数据的处理方法已经无法有效的存储和分析处理日益增长的各种业务数据。
工业监控数据要求采集速度和响应速度均是毫秒级的,而且数据频率高,数量大,如果用关系数据库进行存储,由于关系库本身设计的理念,导致它很难进行每秒几十万的数据的读写操作,而且由于数据采集是海量的监控数据,那么如果用传统数据库进行存储,将会占用大量的存储空间。
如公开号为CN108241679A的发明专利所公开的一种数据处理方法及装置,其中,该方法包括:在将数据从关系型数据库导出的过程中且在将数据导入目标数据库之前,对导出的数据进行加工处理,得到加工后的导出数据,其中,上述加工后的导出数据的数据类型为第一类型;将上述加工后的导出数据保存为导入数据,其中,上述导入数据的数据类型为第二类型,上述第二类型不同于上述第一类型,上述导入数据用于导入上述目标数据库中。
该发明采用关系数据库的传统模式进行数据的处理和存储,如今关系数据库传统处理数据的模式,已不能满足数据的读写速度。
因此,如何提高数据的读写速度,使数据在短时间内保持同步更新,成为本发明待解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
针对现有技术存在的上述技术问题,本发明提供了一种实现实时数据同步的系统及方法,使工业监控数据采集速度和响应速度在可接受的范围内,并且占用的存储空间储量能够缩小到关系库的1/40。
为达到上述技术目的,本发明采取如下技术方案:
一种实现实时数据同步的系统,其包括:
实时数据收集模块,用于将采集的数据形成固定格式的日志数据;
实时计算模块,用于提取所述日志数据中有用的字段并进行计算;
实时同步模块,用于将所述实时计算模块的计算结果与关系型数据库中的历史数据同步或合并。
作为本发明的优选,所述关系型数据库包括:事实表与聚合表;所述关系型数据库用于按照预设的格式存储所述实时计算模块输出的数据。
作为本发明的优选,若将所述实时计算模块的计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
作为本发明的优选,所述系统还包括:查询模块,若将所述实时计算模块的计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果。
作为本发明的优选,若所述聚合表中不存在对应维度下的历史计算结果,则将所述计算结果作为一条新的记录按照所述计算结果的维度信息插入所述聚合表中;
若所述聚合表中存在对应维度下的历史计算结果,则将聚合表中保存的对应维度下的历史计算结果与所述实时计算模块的计算结果进行合并后写入关系型数据库的聚合表中。
作为本发明的优选,所述系统还包括:数据加载模块,用于将所述事实表中的历史数据按照所述聚合表中数据的维度进行聚合计算,并将聚合计算的结果加载至聚合表。
作为本发明的优选,所述系统还包括:缓存更新模块,用于调用API接口清除系统缓存。
一种实现实时数据同步的方法,其包括:
S1、将采集的数据形成固定格式的日志数据;
S2、提取所述日志数据中有用的字段并进行计算;
S3、将计算结果与关系型数据库中的历史数据同步或合并。
作为本发明的优选,所述步骤S3还包括:S31、若将所述计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
作为本发明的优选,所述步骤S3还包括:S32、若将所述计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果;
S321、若不存在,则将所述计算结果作为一条新的记录按照所述维度信息插入所述聚合表中;
S322、若存在,则将聚合表中保存的对应维度下的历史计算结果与所述计算结果进行合并后写入关系型数据库的聚合表中。
本发明提供的技术方案可以包括以下有益效果:
本发明在现场工控设备数据有变化时,通过实时数据收集模块收集数据,实时同步模块先对数据进行实时分析计算,然后将分析后的数据再进行本地存储,同时利用缓存技术提高数据的查询速度。本发明能够使数据在短时间内保持同步更新,解决了现有技术中数据同步更新速度慢的问题。
附图说明
图1为本发明实施例1的一种实现实时数据同步的系统结构图;
图2为本发明实施例2的一种实现实时数据同步的方法拓扑结构示意图;
图3为本发明实施例2的一种实现实时数据同步的方法流程图。
具体实施方式
现在参看后文中的附图,更完整地描述本发明,在图中,显示了本发明的实施例。然而,本发明可体现为多种不同的形式,并且不应理解为限于本文中所提出的特定实施例。确切地说,这些实施例用于将本发明的范围传达给本领域的技术人员。
除非另外限定,否则,本文中所使用的术语(包括技术性和科学性术语)应理解为具有与本发明所属的领域中的技术人员通常所理解的意义相同的意义。而且,要理解的是,本文中所使用的术语应理解为具有与本说明书和相关领域中的意义一致的意义,并且不应通过理想的或者过度正式的意义对其进行解释,除非本文中明确这样规定。
实施例1
下面结合附图来详细说明本发明的技术方案。
本实施例提供了一种实现实时数据同步的系统,如图1所示,包括:实时数据收集模块100,实时计算模块200,实时同步模块300,查询模块400,数据加载模块500,缓存更新模块600,本方案的具体操作过程如下:
实时数据收集模块100,用于将采集的数据形成固定格式的日志数据。
实时数据收集模块100是系统的数据源,通过实时地、不间断地采集数据,为系统提供具有固定格式的日志数据。
实时计算模块200,用于提取所述日志数据中有用的字段并进行计算。
实时计算模块200接收实时数据收集模块100采集到的日志数据,提取其中有用的字段,将有用字段通过在内存中进行实时计算。
优选为,所述实时计算模块200还用于获取计算结果的各个维度信息。
实时同步模块300,用于将所述实时计算模块200的计算结果与关系型数据库中的历史数据同步或合并。
实时同步模块300接收所述实时计算模块200的计算结果;周期性地将所述计算结果和关系型数据库中的历史数据进行同步或合并处理。
所述关系型数据库包括:事实表与聚合表;所述关系型数据库用于按照预设的格式存储所述实时计算模块输出的数据。
将所述计算结果保存至关系型数据库,具体为:将所述计算结果保存至关系型数据库的事实表或聚合表。
若将所述实时计算模块200的计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
对于事实表,则直接将实时计算模块中的计算结果插入到事实表中;
所述系统还包括:查询模块400,若将所述实时计算模块200的计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果。
即:对于关系型数据库中的每张聚合表:提取该聚合表中维度的值,判断该聚合表中是否存在对应维度下的历史计算结果。
若不存在,则进行插入操作:直接根据维度信息,将计算结果作为一条新的记录插入关系型数据库的聚合表中;
若存在,则首先查询聚合表中的历史计算结果,将聚合表中保存的对应维度下的历史计算结果与所述实时计算模块的计算结果进行合并后得到最新的计算结果,并更新写入关系型数据库的聚合表中。
然后,清空实时计算模块中的计算结果。
优选为,所述系统还包括:数据加载模500,用于将所述事实表中的历史数据按照所述聚合表中数据的维度进行聚合计算,并将聚合计算的结果加载至聚合表。
由于关系型数据库中为了加速对聚合表中数据的查询与更新速度,聚合表往往采用内存表的方式存储,这样当系统重新启动时,聚合表中数据会丢失。因此需要在系统启动后初始化阶段,通过读取事实表中的历史结果数据,按照聚合表的维度情况,通过预先进行聚合计算将结果加载到聚合表中,供多维数据分析引擎模块查询使用。
优选为,所述系统还包括:缓存更新模块600,用于调用API接口清除系统缓存。
所述缓存更新模块600:接收多维数据分析展现组件发起的请求,调用多维数据分析引擎模块相关API接口清除系统缓存,然后通过重新执行用户查询得到最新的结果,返回给多维数据分析展现组件。
综上所述,本实施例提供的一种实现实时数据同步的系统,在现场工控设备数据有变化时,通过实时数据收集模块收集数据,实时同步模块对数据进行实时分析计算,然后将分析后的数据再进行本地存储,同时利用缓存技术提高数据的查询速度。本发明能够使数据在短时间内保持同步更新,解决了现有技术中数据同步更新速度慢的问题。
实施例2
本实施例提供了一种实现实时数据同步的方法,如图3所示,其具体流程可以包括如下步骤:
S1、将采集的数据形成固定格式的日志数据。
本实施例的拓扑结构示意图如图2所示,数据收集服务器实时采集用户访问网站的日志数据,并发送给实时计算服务器。
数据收集服务器每次接收并转发一行日志数据,代表一个用户的一次访问记录。
S2、提取所述日志数据中有用的字段并进行计算。
实时计算服务器接收所述数据收集服务器发送的所述日志数据。
实时计算服务器提取所述日志数据中有用的字段,转换为对应的维度信息;同时完成各项指标的计算;累积一定的时间周期后,将计算结果同步更新到数据库服务器。
S3、将计算结果与关系型数据库中的历史数据同步或合并。
数据库服务器周期性地将所述计算结果和关系型数据库中的历史数据进行同步或合并处理。
数据库服务器用于存储数据的各项计算结果,作为数据源为数据加载服务器提供查询服务。
所述关系型数据库包括:事实表与聚合表;所述关系型数据库用于按照预设的格式存储所述实时计算模块输出的数据。
数据加载服务器:用于系统启动后读取数据库服务器中事实表和维度表中的数据,初始化聚合表中的数据记录,提供给多维数据分析引擎模块查询使用。
所述步骤S3还包括:S31、若将所述计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
对于事实表,则直接将计算结果插入到事实表中。
所述步骤S3还包括:S32、若将所述计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果。
关系型数据库中的每张聚合表:提取该聚合表中维度的值,判断该聚合表中是否存在对应维度下的历史计算结果。
优选为,通过Web服务器:通过MDX语句(Multi Dimensionale Xpressions,是所有OLAP高级分析所采用的核心查询语言),请求OLAP(Online Analytical Processing,联机分析处理)引擎服务器,得到请求维度下的历史计算结果。
OLAP引擎服务器:将MDX语句解析为SQL(Structured Query Language,结构化查询语言)语句,通过执行SQL语句,查询数据库服务器,得到数据库聚合表/事实表的查询结果集,并返回给Web服务器。
S321、若不存在,则将所述计算结果作为一条新的记录按照所述维度信息插入所述聚合表中。
若不存在,则进行插入操作:直接根据维度信息,将计算结果作为一条新的记录插入关系型数据库的聚合表中;
S322、若存在,则将聚合表中保存的对应维度下的历史计算结果与所述计算结果进行合并后写入关系型数据库的聚合表中。
若存在,则首先查询聚合表中的历史计算结果,将聚合表中保存的对应维度下的历史计算结果与所述实时计算模块的计算结果进行合并后得到最新的计算结果,并更新写入关系型数据库的聚合表中。
本实施例的方法还包括:S4、调用API接口清除系统缓存。
缓存更新服务器:接收Web服务器发起的请求,调用OLAP引擎服务器相关API接口清除系统缓存,然后通过执行SQL查询得到最新的结果,返回给Web服务器。
综上所述,本实施例提供的一种实现实时数据同步的方法,对工业监控数据进行了采集并同步,做到数据尽可能短时间内保持同步更新,本发明实现简单,稳定可靠,达到了应用的要求。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种实现实时数据同步的系统,其特征在于,包括:
实时数据收集模块,用于将采集的数据形成固定格式的日志数据;
实时计算模块,用于提取所述日志数据中有用的字段并进行计算;
实时同步模块,用于将所述实时计算模块的计算结果与关系型数据库中的历史数据同步或合并。
2.根据权利要求1所述的实现实时数据同步的系统,其特征在于,所述关系型数据库包括:事实表与聚合表;所述关系型数据库用于按照预设的格式存储所述实时计算模块输出的数据。
3.根据权利要求2所述的实现实时数据同步的系统,其特征在于,若将所述实时计算模块的计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
4.根据权利要求2所述的实现实时数据同步的系统,其特征在于,所述系统还包括:查询模块,若将所述实时计算模块的计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果。
5.根据权利要求4所述的实现实时数据同步的系统,其特征在于,若所述聚合表中不存在对应维度下的历史计算结果,则将所述计算结果作为一条新的记录按照所述计算结果的维度信息插入所述聚合表中;
若所述聚合表中存在对应维度下的历史计算结果,则将聚合表中保存的对应维度下的历史计算结果与所述实时计算模块的计算结果进行合并后写入关系型数据库的聚合表中。
6.根据权利要求2所述的实现实时数据同步的系统,其特征在于,所述系统还包括:数据加载模块,用于将所述事实表中的历史数据按照所述聚合表中数据的维度进行聚合计算,并将聚合计算的结果加载至聚合表。
7.根据权利要求1所述的实现实时数据同步的系统,其特征在于,所述系统还包括:缓存更新模块,用于调用API接口清除系统缓存。
8.一种实现实时数据同步的方法,其特征在于,包括:
S1、将采集的数据形成固定格式的日志数据;
S2、提取所述日志数据中有用的字段并进行计算;
S3、将计算结果与关系型数据库中的历史数据同步或合并。
9.根据权利要求8所述的实现实时数据同步的方法,其特征在于,所述步骤S3还包括:S31、若将所述计算结果保存至关系型数据库中的事实表,则将计算结果按照所述计算结果的维度信息插入至事实表中。
10.根据权利要求8所述的实现实时数据同步的方法,其特征在于,所述步骤S3还包括:S32、若将所述计算结果保存至关系型数据库中的聚合表,则查询所述聚合表中是否存在对应维度下的历史计算结果;
S321、若不存在,则将所述计算结果作为一条新的记录按照所述维度信息插入所述聚合表中;
S322、若存在,则将聚合表中保存的对应维度下的历史计算结果与所述计算结果进行合并后写入关系型数据库的聚合表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810825697.4A CN109325036A (zh) | 2018-07-25 | 2018-07-25 | 一种实现实时数据同步的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810825697.4A CN109325036A (zh) | 2018-07-25 | 2018-07-25 | 一种实现实时数据同步的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109325036A true CN109325036A (zh) | 2019-02-12 |
Family
ID=65263806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810825697.4A Withdrawn CN109325036A (zh) | 2018-07-25 | 2018-07-25 | 一种实现实时数据同步的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325036A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825820A (zh) * | 2019-09-27 | 2020-02-21 | 中国平安财产保险股份有限公司 | 实时数据标签获取方法、装置、计算机设备和存储介质 |
CN111459894A (zh) * | 2020-03-24 | 2020-07-28 | 江苏核电有限公司 | 一种核电机组运行日志记录系统及其记录方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893628A (zh) * | 2016-05-17 | 2016-08-24 | 中国农业银行股份有限公司 | 一种数据实时收集系统及方法 |
CN106649670A (zh) * | 2016-12-14 | 2017-05-10 | 北京五八信息技术有限公司 | 基于流式计算的数据监控方法及装置 |
CN107491885A (zh) * | 2017-08-25 | 2017-12-19 | 上海找钢网信息科技股份有限公司 | 一种用于钢贸金融业务的风控平台及风险控制管理方法 |
CN107784098A (zh) * | 2017-10-24 | 2018-03-09 | 百味云科技股份有限公司 | 实时数据仓库平台 |
-
2018
- 2018-07-25 CN CN201810825697.4A patent/CN109325036A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893628A (zh) * | 2016-05-17 | 2016-08-24 | 中国农业银行股份有限公司 | 一种数据实时收集系统及方法 |
CN106649670A (zh) * | 2016-12-14 | 2017-05-10 | 北京五八信息技术有限公司 | 基于流式计算的数据监控方法及装置 |
CN107491885A (zh) * | 2017-08-25 | 2017-12-19 | 上海找钢网信息科技股份有限公司 | 一种用于钢贸金融业务的风控平台及风险控制管理方法 |
CN107784098A (zh) * | 2017-10-24 | 2018-03-09 | 百味云科技股份有限公司 | 实时数据仓库平台 |
Non-Patent Citations (1)
Title |
---|
大圆那些事: "一种实时多维数据的分析及同步系统", 《HTTPS://WWW.CNBLOGS.COM/PANFENG412/ARCHIVE/2012/10/14/REAL-TIME-OLAP-SYSTEM-ARCHITECTURE.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825820A (zh) * | 2019-09-27 | 2020-02-21 | 中国平安财产保险股份有限公司 | 实时数据标签获取方法、装置、计算机设备和存储介质 |
CN111459894A (zh) * | 2020-03-24 | 2020-07-28 | 江苏核电有限公司 | 一种核电机组运行日志记录系统及其记录方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521406B (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN107038162A (zh) | 基于数据库日志的实时数据查询方法和系统 | |
US9361342B2 (en) | Query to streaming data | |
CN105488231B (zh) | 一种基于自适应表维度划分的大数据处理方法 | |
CN108256088A (zh) | 一种基于键值数据库的时序数据的存储方法及系统 | |
CN104809200B (zh) | 一种数据库同步的方法和装置 | |
CN103353873B (zh) | 基于时间度量数据实时查询服务的优化实现方法及系统 | |
CN103092867B (zh) | 一种数据管理方法及系统、数据分析装置 | |
CN102521374B (zh) | 基于关系型联机分析处理的智能数据聚集方法及其系统 | |
CN110362632A (zh) | 一种数据同步方法、装置、设备及计算机可读存储介质 | |
CN106126601A (zh) | 一种社保大数据分布式预处理方法及系统 | |
CN105279285B (zh) | 一种关系型数据库与非关系型数据库的同步系统及方法 | |
CN109299180B (zh) | 一种数据仓库etl操作系统 | |
CN105095247B (zh) | 符号数据分析方法和系统 | |
CN107480244A (zh) | 一种工业数据汇集与处理系统及其处理方法 | |
CN102063449A (zh) | 提高数据库中数据对象统计信息可靠性的方法及装置 | |
CN102609501B (zh) | 一种基于实时历史数据库的数据清洗方法 | |
CN109325036A (zh) | 一种实现实时数据同步的系统及方法 | |
CN105630934A (zh) | 一种数据统计方法及系统 | |
CN105741070B (zh) | 一种海量实时舱位运价结果数据快速差异更新存储的方法 | |
CN102999528A (zh) | 一种数据仓库中etl任务离线和数据清理的方法及装置 | |
CN105184452B (zh) | 一种适用于用电信息大数据计算的MapReduce作业依赖控制方法 | |
CN110633301B (zh) | 一种基于引擎设置抽取数据的方法及系统 | |
CN109308290A (zh) | 一种基于cim的高效数据清洗转换方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190212 |