关联查询系统的建立方法及建立系统与流程

文档序号:12364417阅读:517来源:国知局
关联查询系统的建立方法及建立系统与流程

本发明涉及一种关联查询系统的建立方法及建立系统。



背景技术:

现有的使用SQL(结构化查询语言)存储用户数据的方式是将用户的数据按照一笔订单作为一笔记录存放在数据库,当需要查询关联情况时,需要根据给定的值从数据库中检索出这条记录,然后再根据查询的订单号从订单表中查询订单明细。现有的这种做法对于大规模的数据来说查询是很慢的,最好的情况每次查询也需要至少30秒,对于使用者来说无疑是低效和难以接受的。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中订单数据查询方式对大规模数据来说查询速度很慢,查询效率很低的缺陷,提供一种关联查询系统的建立方法及建立系统。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供了一种关联查询系统的建立方法,其特点在于,所述关联查询系统包括订单数据存储表以及维度字段关联数据存储表;所述建立方法包括以下步骤:

S1、获取用户订单数据;

S2、将订单号和订单数据前缀(即orderdata前缀)构建为订单数据存储表的一条记录的键;

S3、将所述订单数据的字段名称构建为步骤S2中所述记录的列名,并将字段对应的值作为列值;

S4、将步骤S2和步骤S3中构建的数据写入所述订单数据存储表;

S5、从所述订单数据中提取进行维度查询的维度字段的名称和值;

S6、将维度字段和维度字段的值以及订单数据后缀构建为维度字段关联数据存储表的一条记录的键;

S7、将步骤S2中所述订单数据存储表的键构建为步骤S6中所述记录的列名,并将当前系统时间戳作为列值;

S8、将步骤S6和步骤S7中构建的数据写入所述维度字段关联数据存储表。

较佳地,步骤S1中还将订单数据格式化为json(一种轻量级的数据交换格式)格式。

较佳地,步骤S1和S2之间还包括:

S11、检查订单数据是否完整,若是,则执行步骤S2,若否,则结束流程。

较佳地,所述订单数据存储表及所述维度字段关联数据存储表均为hbase(一个分布式的、面向列的开源数据库)表。

较佳地,步骤S5中从所述订单数据中提取多个维度字段。

本发明的目的在于还提供了一种关联查询系统的建立系统,其特点在于,所述关联查询系统包括订单数据存储表以及维度字段关联数据存储表;所述建立系统包括:

获取模块,用于获取用户订单数据;

第一构建模块,用于将订单号和订单数据前缀构建为订单数据存储表的一条记录的键;

第二构建模块,用于将所述订单数据的字段名称构建为所述订单数据存储表的所述记录的列名,并将字段对应的值作为列值;

第一数据写入模块,用于将所述第一构建模块和所述第二构建模块构建的数据写入所述订单数据存储表;

数据提取模块,用于从所述订单数据中提取进行维度查询的维度字段的名称和值;

第三构建模块,用于将维度字段和维度字段的值以及订单数据后缀构建为维度字段关联数据存储表的一条记录的键;

第四构建模块,用于将所述订单数据存储表的键构建为所述维度字段关联数据存储表的所述记录的列名,并将当前系统时间戳作为列值;

第二数据写入模块,用于将所述第三构建模块和所述第四构建模块构建的数据写入所述维度字段关联数据存储表。

较佳地,所述获取模块还用于将订单数据格式化为json格式。

较佳地,所述建立系统还包括:

检查模块:用于检查订单数据是否完整,若是,则调用所述第一构建模块,若否,则不做操作。

较佳地,所述订单数据存储表及所述维度字段关联数据存储表均为hbase表。

较佳地,所述数据提取模块用于从所述订单数据中提取多个维度字段。

本发明的积极进步效果在于:通过本发明建立的关联查询系统能够实现基于订单数据的多个维度字段进行数据查询,减少了数据表中单一维度的记录数,充分利用hbase表的宽列优势和大规模数据存储优势,合理地设置了查询键,从而提升了查询速度,提高了查询效率,为使用者提供了更高效的服务。

附图说明

图1为本发明的较佳实施例的关联查询系统的建立系统的模块示意图。

图2为本发明的较佳实施例的关联查询系统的建立方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,本发明的关联查询系统的建立系统包括获取模块1、第一构建模块2、第二构建模块3、第一数据写入模块4、数据提取模块5、第三构建模块6、第四构建模块7、第二数据写入模块8以及检查模块9。

其中,关联查询系统包括订单数据存储表以及维度字段关联数据存储表,并且均为hbase表;所述获取模块1用于获取用户订单数据,具体可接收外部传进来的用户订单数据,并将用户订单数据格式化为json格式;

所述检查模块9会检查订单数据是否完整,若是,则调用所述第一构建模块2,若否,则表明订单数据缺少必需的订单号数据或者缺少需要关联的维度字段数据,此时不做任何操作;

所述第一构建模块2会将订单号和订单数据前缀构建为订单数据存储表中的一条记录的键,所述第二构建模块3则将订单数据的字段名称构建为所述订单数据存储表的所述记录的列名,并将字段对应的值作为列值;所述第一数据写入模块4则将所述第一构建模块1和所述第二构建模块2构建的数据写入所述订单数据存储表,则完成对所述订单数据存储表的建立;

所述数据提取模块5则从所述订单数据中提取需要进行维度查询的多个维度字段的名称和对应的值,所述第三构建模块6会将维度字段和维度字段的值以及订单数据后缀构建为维度字段关联数据存储表的一条记录的键,所述第四构建模块7会将所述订单数据存储表的键构建为所述维度字段关联数据存储表的所述记录的列名,并将当前系统时间戳作为列值,所述第二数据写入模块8则将所述第三构建模块6和所述第四构建模块7构建的数据写入所述维度字段关联数据存储表,从而完成对所述维度字段关联数据存储表的建立,进而完成对整个关联查询系统的建立。

本发明中,通过将订单号和订单数据后缀(即orderdata后缀)作为订单数据存储表和维度字段关联数据存储表的关联项,当查询某一个维度字段的值时就能得到对应的订单号,然后从订单数据存储表中查询具体的用户订单明细数据。

如图2所示,本发明的关联查询系统的建立方法包括以下步骤:

步骤101、获取用户订单数据,将订单数据格式化为json格式;

步骤102、检查订单数据是否完整,若是,则执行步骤103,若否,则结束流程;

步骤103、将订单号和订单数据前缀构建为订单数据存储表的一条记录的键;

步骤104、将所述订单数据的字段名称构建为步骤103中所述记录的列名,并将字段对应的值作为列值;

步骤105、将步骤103和步骤104中构建的数据写入所述订单数据存储表;

步骤106、从所述订单数据中提取进行维度查询的维度字段的名称和值;

步骤107、将维度字段和维度字段的值以及订单数据后缀构建为维度字段关联数据存储表的一条记录的键;

步骤108、将步骤103中所述订单数据存储表的键构建为步骤107中所述记录的列名,并将当前系统时间戳作为列值;

步骤109、将步骤107和步骤108中构建的数据写入所述维度字段关联数据存储表。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1