掌桥专利:专业的专利平台
掌桥专利
首页

一种大规模实时流数据动态重构方法及系统

文献发布时间:2023-06-19 18:58:26


一种大规模实时流数据动态重构方法及系统

技术领域

本发明属于数据处理技术领域,具体为一种大规模实时流数据动态重构方法及系统。

背景技术

随着物联网技术的发展,对海量物联网数据进行处理变得越来越重要。数据的传输和存储也是不可避免的一个重要过程,当前很多数据采用JSON(即JavaScript ObjectNotation,是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人的编写和阅读,也易于机器解析)的格式进行传输,JSON格式普遍被使用,具有兼容性强的特点,但是检索效率远远不能满足要求,因此急需一种中间系统,对数据进行转换,从而满足更多的数据处理需求。

目前的使用JSON的方式存储的数据,当前多种关系型或非关系型数据库都支持JSON格式,都可以作为存储后端,但是性能并不理想,在对处理速度或实时性要求比较高的时候往往达不到要求,同时缺少定制化,JSON格式的数据往往都是完整的原始信息,并不是所有的信息都是必须的,对于特定的目的,全部都存储无疑会浪费存储资源,同时也因为数据内容的复杂而影响解析速度。JSON格式的数据虽然可以和很多应用对接,但是在对复杂查询条件的支持上,和传统的关系型数据库的数据表相比,还有一定差距,也即现有技术具有如下缺陷:

1.查询性能差;2.数据带有多余信息且不能定制;3.浪费存储空间;4.对复杂查询支持不够丰富。

发明内容

针对上述技术问题,本发明的目的是提供一种大规模实时流数据动态重构方法及系统,引入本系统之后,可以更好的管理和利用物联网数据,高效的实现各种复杂的数据分析,满足更丰富的前端需求,实时性需求,让数据变得真正有用。

为实现上述目的,本发明采用以下技术方案:

一种大规模实时流数据动态重构方法,包括以下步骤:

S1:启动时配置解析:提取需要保存的JSON字段,生成映射表;

S2:输入JSON数据时数据重构:根据映射表保存JSON数据中对应字段的值,将数据写入数据库。

优选地,S1中,配置解析包括以下步骤:

S11:程序启动;

S12:读取配置文件;

S13:提取需要保存的JSON字段;

S14:生成映射表。

优选地,S2中,输入JSON数据时数据重构过程包括以下步骤:

S21:数据准备部分;数据准备部分根据配置生成的映射表保存JSON数据中的对应字段的值;

S22:写数据库部分;写数据库部分读取保存的对应的字段的值,将数据写入数据库。

优选地,S21:数据准备过程包括以下步骤:

S211:读取JSON;

S212:遍历JSON中所有字段;

S213:判断S212中的字段是否在映射表中,如果在则转入S214,否则舍弃该字段;

S214:将字段值附加在映射表中。

优选地,写数据库过程包括以下步骤:

S221:扫描映射表;

S222:生成写数据库的数据格式;

S223:写数据库。

本发明同时提供一种大规模实时流数据动态重构系统,包括:

JSON输入:为系统输入JSON数据并配置解析,生成映射表;

数据重构处理器:用于根据配置生成的映射表保存JSON数据中的对应字段的值,读取保存的对应的字段的值,将数据写入后端数据库;

后端数据库:存储数据重构后的数据;

上层数据库查询:用于快速查询后端数据库中的数据。

有益效果

本发明解决了现有的JSON数据方案的查询性能差,查询支持不足,对前端性能造成影响,浪费存储空间,不支持定制的问题。转换过程极快,不会对其他部分造成影响,可以充分利用关系型数据库提供的快速并且功能丰富的查询功能,也可以发挥关系型数据库提供的权限管理、分布式存储、冗余备份等优势,对数据的管理高效且方便。由于转换过程可配置,适应性也比较强。引入本系统之后,可以更好的管理和利用物联网数据,高效的实现各种复杂的数据分析,满足更丰富的前端需求,实时性需求,让数据变得真正有用。

附图说明

图1为本发明启动时配置解析过程流程图;

图2为本发明数据准备过程流程图;

图3本发明写数据库的过程流程图;

图4为发明具体实施例流程图;

图5为本发明系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

实施例,如图1-图3所示,本发明提供一种大规模实时流数据动态重构方法,包括以下步骤:

S1:启动时配置解析:配置解析包括以下步骤:

S11:程序启动;

S12:读取配置文件;

S13:提取需要保存的JSON字段;

S14:生成映射表。

S2:输入JSON数据时数据重构,其括以下步骤:

S21:数据准备部分;数据准备部分根据配置生成的映射表保存JSON数据中的对应字段的值;

S22:写数据库部分;写数据库部分读取保存的对应的字段的值,将数据写入数据库。

其中,S21:数据准备过程包括以下步骤:

S211:读取JSON;

S212:遍历JSON中所有字段;

S213:判断S212中的字段是否在映射表中,如果在则转入S214,否则舍弃该字段;

S214:将字段值附加在映射表中。

S22:数据库过程包括以下步骤:

S221:扫描映射表;

S222:生成写数据库的数据格式;

S223:写数据库。

举例说明,如图4所示,本系统的实施需要提供JSON数据源,数据库可定制,如果使用Kafka(Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写)作为数据JSON数据源,PostgreSQL作为存储后端,只需要通过对应的API(API就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令)将本系统接入即可。

如图5所示,本发明同时提供一种大规模实时流数据动态重构系统,包括:

JSON输入:为系统输入JSON数据并配置解析,生成映射表;

数据重构处理器:用于根据配置生成的映射表保存JSON数据中的对应字段的值,读取保存的对应的字段的值,将数据写入后端数据库;

后端数据库:存储数据重构后的数据;

上层数据库查询:用于快速查询后端数据库中的数据。

本发明利用重构系统提升物联网原始JSON格式数据的可用性。使得查询效率极大提高,支持各种复杂条件查询;支持数据根据配置筛选,提取感兴趣的数据;忽略不必要信息,降低了存储空间;增加了数据的可利用性,尤其支持对实时性要求比较高的应用;使得数据的管理更容易。

虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。

相关技术
  • 用于综合监控系统的大规模实时数据更新发布系统及方法
  • 大规模实时数据流一体化处理、转发和存储方法及系统
  • 大规模实时数据流一体化处理、转发和存储方法及系统
技术分类

06120115751392