一种存储数据的方法及装置制造方法及图纸

技术编号:25989268 阅读:12 留言:0更新日期:2020-10-20 18:57
本发明专利技术提供了一种存储数据的方法及装置,其中,该存储数据的方法包括:针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;将构建的数据库表存储至关系型数据库。可以提高数据的挖掘价值。

【技术实现步骤摘要】
一种存储数据的方法及装置
本专利技术涉及数据存储
,具体而言,涉及一种存储数据的方法及装置。
技术介绍
随着通信技术以及互联网络的迅猛发展,各行业的数据量均呈现出几何级数的增长。数据已经成为企业或公司重要的资产,由于关系型数据库具有可用二维表结构来实现数据的逻辑表达,并能够利用结构化查询语言(SQL,StructuredQueryLanguage)语法进行数据,非常高效和方便。因而,通过大数据技术采集原始数据,从中提取出结构化数据,将提取出的结构化数据存储在关系型的分析数据库中,基于该分析数据库进行数据挖掘,从而引导企业或公司的发展、布局,或为企业或公司的发展提供参考。但是,由于结构化数据在海量数据(采集的原始数据)中占比较小,使得可用于分析和挖掘的分析数据库中存储的数据量较少,降低了数据挖掘价值。
技术实现思路
有鉴于此,本专利技术的目的在于提供存储数据的方法及装置,以提高数据的挖掘价值。第一方面,本专利技术实施例提供了存储数据的方法,包括:针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;将构建的数据库表存储至关系型数据库。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,所述将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,包括:在所述数据库表中新增半结构化数据对应的行;在新增行中,定位所述半结构化数据的编码字段内容对应的字段所在的列,将该编码字段内容填充至所述新增行中定位的列中。结合第一方面或第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:接收统计分析请求,依据所述统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为clickhouse数据库;调用数组连接指令,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;调用应用程序接口统计指令,对展开的列中的内容进行统计。结合第一方面或第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:设置一递增表,将结构化查询语句统计分析请求与所述递增表进行左关联,依据所述结构化查询语句统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为AnalyticDB数据库;调用APIsplit_part函数,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;基于关联的递增表,对展开的列中的内容进行统计。第二方面,本专利技术实施例还提供了一种存储数据的装置,包括:编码模块,用于针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;写入模块,用于分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;存储模块,用于将构建的数据库表存储至关系型数据库。结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中,所述写入模块包括:行处理单元,用于分别以各字段为列构建数据库表,在所述数据库表中新增半结构化数据对应的行;定位写入单元,用于在新增行中,定位所述半结构化数据的编码字段内容对应的字段所在的列,将该编码字段内容填充至所述新增行中定位的列中。结合第二方面或第二方面的第一种可能的实施方式,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中,还包括:第一统计分析模块,用于接收统计分析请求,依据所述统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为clickhouse数据库;调用数组连接指令,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;调用应用程序接口统计指令,对展开的列中的内容进行统计。结合第二方面或第二方面的第一种可能的实施方式,本专利技术实施例提供了第二方面的第三种可能的实施方式,其中,还包括:第二统计分析模块,用于设置一递增表,将结构化查询语句统计分析请求与所述递增表进行左关联,依据所述结构化查询语句统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为AnalyticDB数据库;调用APIsplit_part函数,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;基于关联的递增表,对展开的列中的内容进行统计。第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。本专利技术实施例提供的存储数据的方法及装置,针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;将构建的数据库表存储至关系型数据库。这样,通过提取半结构化数据包含的字段,对字段包含的多个内容进行编码,并填充至该字段对应的行列中,实现以数据库二维逻辑表来表现该半结构化数据,能够存储在关系型数据库中,有效扩充了分析数据库存储的数据量,使得分析数据库中可用于分析和挖掘的数据量增大,数据的挖掘价值得到有效提升。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例所提供的存储数据的方法流程示意图;图2示出了本专利技术实施例所提供的存储数据的装置结构示意图;...

【技术保护点】
1.一种存储数据的方法,其特征在于,包括:/n针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;/n分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;/n将构建的数据库表存储至关系型数据库。/n

【技术特征摘要】
1.一种存储数据的方法,其特征在于,包括:
针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;
分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;
将构建的数据库表存储至关系型数据库。


2.根据权利要求1所述的方法,其特征在于,所述将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,包括:
在所述数据库表中新增半结构化数据对应的行;
在新增行中,定位所述半结构化数据的编码字段内容对应的字段所在的列,将该编码字段内容填充至所述新增行中定位的列中。


3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收统计分析请求,依据所述统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为clickhouse数据库;
调用数组连接指令,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;
调用应用程序接口统计指令,对展开的列中的内容进行统计。


4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
设置一递增表,将结构化查询语句统计分析请求与所述递增表进行左关联,依据所述结构化查询语句统计分析请求中包含的统计关键词,从关系型数据库中,获取与所述统计关键词相匹配的目标列,所述关系型数据库为AnalyticDB数据库;
调用APIsplit_part函数,针对所述目标列中的每一行,依据该行中的编码字段内容中包含的分隔符,将该编码字段内容展开为多个列,其中,每一分隔符对应的内容为一列;
基于关联的递增表,对展开的列中的内容进行统计。


5.一种存储数据的装置,其特征在于,包括:
编码模块,用于针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;
写入模块,用于分别以各字段为列构建数据库...

【专利技术属性】
技术研发人员:冯智超
申请(专利权)人:西安数据如金信息科技有限公司
类型:发明
国别省市:陕西;61

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

1