System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理方法、装置及电子设备、存储介质制造方法及图纸_技高网

数据处理方法、装置及电子设备、存储介质制造方法及图纸

技术编号:40958330 阅读:3 留言:0更新日期:2024-04-18 20:35
本申请公开了一种数据处理方法、装置及电子设备、存储介质,所述方法包括:检测提取到的Json数据是否存在嵌套结构;将不存在嵌套结构的Json数据中的键值去重后,保存所述Json数据的唯一的键值对;通过对比预设数据库中的对应表结构与所述Json数据的唯一的键值对,重构所述Json数据并写入所述预设数据库。通过本申请实现了以较少的资源占用,将半结构化数据写入Doris数据库。本申请可用于金融领域的半结构数据的写入场景。

【技术实现步骤摘要】

本申请涉及半结构化数据处理,尤其涉及一种数据处理方法、装置及电子设备、存储介质


技术介绍

1、目前多数技术场景中存在传递半结构化json格式数据的需求,例如各式各样的报表和报文串等等,由于其存在字段动态可变的问题,无法将该类型数据直接存入下游的分析型数据库doris当中进行数据的实时分析。doris是一款基于mpp架构的分析型数据库,以极速易用的特点被广泛使用。

2、相关技术中的处理方案主要是根据待写入json数据的key值与doris中的表结构进行匹配,并根据匹配结果更新对应表的列,但该方法不仅会在写入时占用较多资源,同时会造成doris表的大量冗余,降低查询性能,对于分析型数据库的时效性产生影响。

3、因此针对该场景需要提供一种方法能够在不占用大量资源且保证数据完整性的前提下将半结构化数据实时写入doris当中。同时,还需要考虑到数据的复杂性,还需要对半结构化数据进行简单清洗,最大化保证数据库资源的利用。


技术实现思路

1、本申请实施例提供了一种数据处理方法、装置及电子设备、存储介质,以较少的资源占用,将半结构化数据写入doris数据库。

2、本申请实施例采用下述技术方案:

3、第一方面,本申请实施例提供一种数据处理方法,其中,所述方法包括:

4、检测提取到的json数据是否存在嵌套结构;

5、将不存在嵌套结构的json数据中的键值去重后,保存所述json数据的唯一的键值对;

6、通过对比预设数据库中的对应表结构与所述json数据的唯一的键值对,重构所述json数据并写入所述预设数据库。

7、在一些实施例中,所述方法还包括:

8、如果通过对比所述预设数据库中的对应表结构与所述json数据的唯一的键值对后,在所述预设数据库中的对应表结构中不存在所述json数据的唯一的键值对,则将所述预设数据库中的对应表结构中不存在所述json数据的唯一的键值对进行聚类,并通过字段嵌套在json数据中。

9、在一些实施例中,所述重构所述json数据并写入所述预设数据库,包括:

10、将经过重构的所述json数据,通过所述预设数据库中的对应表结构自动路由机制写入所述预设数据库;

11、将所述预设数据库中的对应表结构中不存在所述json数据的唯一的键值对进行聚类并使用jsonb格式存入所述预设数据库。

12、在一些实施例中,所述通过对比预设数据库中的对应表结构与述json数据的唯一的键值对,重构所述json数据并写入所述预设数据库之后,还包括:

13、对所述json数据中字段嵌套结构当中的字段进行解析,并获取到jsonb格式的字段当中的内容或者状态。

14、在一些实施例中,所述将不存在嵌套结构的json数据中的键值去重,包括:

15、使用hashmap机制,对所述不存在嵌套结构的json数据进行去重。

16、在一些实施例中,所述重构所述json数据并写入所述预设数据库,包括:

17、获取所述预设数据库中的对应表结构;

18、将所述预设数据库中的对应表结构与所述json数据中的键值对进行匹配;

19、如果在对应表结构中匹配出相同的键值对,则继续保留在json的根节点下;

20、如果在所述对应表结构当中未匹配到键值对则进行至少一次聚合,并以嵌套的方式保存在该json数据当中,并得到重构之后的json数据。

21、在一些实施例中,所述检测提取到的json数据是否存在嵌套结构,包括:

22、提取半结构化数据;

23、检测提取到的所述半结构化数据中的json数据中是否存在嵌套结构,所述json数据以key-value的形式存储,且key值为动态可变的。

24、第二方面,本申请实施例还提供一种数据处理装置,其中,所述装置包括:

25、检测模块,用于检测提取到的json数据是否存在嵌套结构;

26、去重模块,用于将不存在嵌套结构的json数据中的键值去重后,保存所述json数据的唯一的键值对;

27、重构模块,用于通过对比预设数据库中的对应表结构与所述json数据的唯一的键值对,重构所述json数据并写入所述预设数据库。

28、第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述方法。

29、第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述方法。

30、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过检测提取到的json数据是否存在嵌套结构;之后将不存在嵌套结构的json数据中的键值去重后,保存所述json数据的唯一的键值对。进一步,通过对比预设数据库中的对应表结构与所述json数据的唯一的键值对,即可重构所述json数据并写入所述预设数据库。通过上述方法在保证数据完整性且不产生大量资源占用的情况下,将可变半结构化json数据进行去重、重构过程并写入到doris当中。

本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其中,所述方法包括:

2.如权利要求1所述方法,其中,所述方法还包括:

3.如权利要求2所述方法,其中,所述重构所述Json数据并写入所述预设数据库,包括:

4.如权利要求3所述方法,其中,所述通过对比预设数据库中的对应表结构与述Json数据的唯一的键值对,重构所述Json数据并写入所述预设数据库之后,还包括:

5.如权利要求1所述方法,其中,所述将不存在嵌套结构的Json数据中的键值去重,包括:

6.如权利要求1所述方法,其中,所述重构所述Json数据并写入所述预设数据库,包括:

7.如权利要求1所述方法,其中,所述检测提取到的Json数据是否存在嵌套结构,包括:

8.一种数据处理装置,其中,所述装置包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~7之任一所述方法。

【技术特征摘要】

1.一种数据处理方法,其中,所述方法包括:

2.如权利要求1所述方法,其中,所述方法还包括:

3.如权利要求2所述方法,其中,所述重构所述json数据并写入所述预设数据库,包括:

4.如权利要求3所述方法,其中,所述通过对比预设数据库中的对应表结构与述json数据的唯一的键值对,重构所述json数据并写入所述预设数据库之后,还包括:

5.如权利要求1所述方法,其中,所述将不存在嵌套结构的json数据中的键值去重,包括:

...

【专利技术属性】
技术研发人员:朱礼华王鹏柳村狄潇然朱毅
申请(专利权)人:中国邮政储蓄银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1