数据系统的数据导入方法和装置制造方法
【专利摘要】本发明公开了一种数据系统的数据导入方法和装置。其中,该数据导入方法包括:获取导入数据的第一数据系统的第一维度属性和第一指标属性;接收第二数据系统的待导入数据;获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系;按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键;按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表。通过本发明,解决了现有技术中OLAP数据仓库的维护成本和开发成本高的问题,降低了OLAP数据仓库与第三方数据进行数据交换的难度,进而实现了降低OLAP数据仓库的维护成本和开发成本的效果。
【专利说明】数据系统的数据导入方法和装置
【技术领域】
[0001]本发明涉及数据处理领域,具体而言,涉及一种数据系统的数据导入方法和装置。
【背景技术】
[0002]随着信息化程度的高度发展,社会已经进入大数据时代。OLAP数据仓库可提供大规模数据的高性能查询和多维度切片与钻入,是一种成熟的主流数据分析方案,被各公司、企业、政府机关及社会团体广泛采用。
[0003]其中,OLAP为Online Analytical Processing,即联机分析处理,是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
[0004]一般来说,OLAP数据仓库系统的设计都是为解决特定领域的问题所制定,未考虑与其他系统的融合和集成。然而,随着数据系统的数量变得越来越多,数据系统相互之间的数据交换需求也越来越迫切,由于系统设计的原因,OLAP数据仓库集成第三方数据的技术难度日益凸显,OLAP数据仓库与第三方数据进行数据交换时难度大。
[0005]典型的OLAP数据仓库往往包含一系列既有的维度和事实的定义,数据模式相对固定。当第三方数据的系统为异构系统时,OLAP数据仓库与第三方数据的数据实体的定义和属性各不相同是最突出的问题。现有技术中,解决该问题的方法是由OLAP数据仓库端提供面向特定某一种第三方数据的强类型API,由第三方数据直接进行推送,OLAP数据仓库在接收到第三方数据后,手动编写转换逻辑,将第三方数据转换为OLAP数据仓库所能接受的实体和维度信息。
[0006]其中,API为 Applicat1n Programming Interface,即应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员给予某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0007]在现有技术中,通过面向第三方数据的强类型API实现OLAP数据仓库与第三方数据的系统的数据对接,在面对不同种类的第三方数据时,需要分别针对不同类型的数据定义分别手动开发对接API和转换逻辑,导致OLAP数据仓库的维护成本和开发成本都很高。
[0008]针对现有技术中OLAP数据仓库的维护成本和开发成本高的问题,目前尚未提出有效的解决方案。
【发明内容】
[0009]本发明的主要目的在于提供一种数据系统的数据导入方法和装置,以解决现有技术中OLAP数据仓库的维护成本和开发成本高的问题。
[0010]为了实现上述目的,根据本发明实施例的一个方面,提供了一种数据系统的数据导入方法。
[0011]根据本发明的数据系统的数据导入方法包括:获取导入数据的第一数据系统的第一维度属性和第一指标属性;接收第二数据系统的待导入数据,其中,待导入数据中携带有多个维度键值对和多个指标键值对;获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系;按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键;按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表。
[0012]进一步地,获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系包括:计算各个第一维度属性的字符串与各个维度键值对中第二维度属性的字符串的第一距离;创建第三维度属性与第一维度属性的第一对应关系,其中,第三维度属性为第二维度属性中第一距离最小的维度属性;计算各个第一指标属性的字符串与各个指标键值对中第二指标属性的字符串的第二距离;创建第三指标属性与第一指标属性的第二对应关系,其中,第三指标属性为第二指标属性中第二距离最小的指标属性。
[0013]进一步地,按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键包括:读取与第二维度属性具有第一对应关系的第一维度属性的维度表;查询维度表中是否存在维度值;若维度表中不存在维度值,将维度值插入维度表;获取维度表的主键。
[0014]进一步地,按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表包括:读取与第二指标属性具有第二对应关系的第一指标属性的指标表;将指标值插入指标表中对应王键的位直。
[0015]进一步地,在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表之后,数据导入方法还包括:重新生成第一数据系统。
[0016]为了实现上述目的,根据本发明实施例的另一方面,提供了一种数据系统的数据导入装置。
[0017]根据本发明的数据系统的数据导入装置包括:第一获取模块,用于获取导入数据的第一数据系统的第一维度属性和第一指标属性;接收模块,用于接收第二数据系统的待导入数据,其中,待导入数据中携带有多个维度键值对和多个指标键值对;第二获取模块,用于获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系;第一导入模块,用于按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键;第二导入模块,用于按照第二对应关系和维度表的王键将指标键值对中的指标值导入指标表。
[0018]进一步地,第一获取模块包括:第一计算模块,用于计算各个第一维度属性的字符串与各个维度键值对中第二维度属性的字符串的第一距离;第一创建模块,用于创建第三维度属性与第一维度属性的第一对应关系,其中,第三维度属性为第二维度属性中第一距离最小的维度属性;第二计算模块,用于计算各个第一指标属性的字符串与各个指标键值对中第二指标属性的字符串的第二距离;第二创建模块,用于创建第三指标属性与第一指标属性的第二对应关系,其中,第三指标属性为第二指标属性中第二距离最小的指标属性。
[0019]进一步地,第一导入模块包括:第一读取模块,用于读取与第二维度属性具有第一对应关系的第一维度属性的维度表;查询模块,用于查询维度表中是否存在维度值;第一插入模块,用于在维度表中不存在维度值的情况下,将维度值插入维度表;第三获取模块,用于获取维度表的主键。
[0020]进一步地,第二导入模块包括:第二读取模块,用于读取与第二指标属性具有第二对应关系的弟一指标属性的指标表;弟_■插入|旲块,用于将指标值插入指标表中对应王键的位置。
[0021]进一步地,数据导入装置还包括:生成模块,用于在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表之后,重新生成第一数据系统。
[0022]采用本发明实施例,在获取第一数据系统的第一维度属性和第一指标属性之后,接收第二数据系统的待导入数据,并获取待导入数据的维度键值对与第一维度属性的第一对应关系以及待导入数据的指标键值对与第一指标属性的第二对应关系,然后按照第一对应关系将待导入数据的维度值导入第一数据系统的维度表并获取维度表的主键,按照第二对应关系和维度表的主键将待导入数据的指标值导入第一数据系统的指标表。在上述实施例中,在将待导入数据导入第一数据系统时,通过获取第一数据系统与第二数据系统的维度之间的第一对应关系和指标之间的第二对应关系,并按照第一对应关系和第二对应关系将待导入数据导入第一数据系统,无需手动开发数据对接专用的API和手动编写转换逻辑,降低了第一数据系统的维护成本和开发成本。通过本发明实施例,解决了现有技术中OLAP数据仓库的维护成本和开发成本高的问题,降低了 OLAP数据仓库与第三方数据进行数据交换的难度,进而实现了降低OLAP数据仓库的维护成本和开发成本的效果。
【专利附图】
【附图说明】
[0023]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0024]图1是根据本发明实施例的数据系统的数据导入方法的流程图;以及
[0025]图2是根据本发明实施例的数据系统的数据导入装置的示意图。
【具体实施方式】
[0026]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0027]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0028]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0029]本发明实施例提供了一种数据系统的数据导入方法。
[0030]图1是根据本发明实施例的数据系统的数据导入方法的流程图。如图1所示,该数据导入方法可以包括步骤如下:
[0031]步骤S102,获取导入数据的第一数据系统的第一维度属性和第一指标属性。
[0032]步骤S104,接收第二数据系统的待导入数据。
[0033]其中,待导入数据中携带有多个维度键值对和多个指标键值对。
[0034]步骤S106,获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系。
[0035]步骤S108,按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键。
[0036]步骤S110,按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表。
[0037]采用本发明实施例,在获取第一数据系统的第一维度属性和第一指标属性之后,接收第二数据系统的待导入数据,并获取待导入数据的维度键值对与第一维度属性的第一对应关系以及待导入数据的指标键值对与第一指标属性的第二对应关系,然后按照第一对应关系将待导入数据的维度值导入第一数据系统的维度表并获取维度表的主键,按照第二对应关系和维度表的主键将待导入数据的指标值导入第一数据系统的指标表。在上述实施例中,在将待导入数据导入第一数据系统时,通过获取第一数据系统与第二数据系统的维度之间的第一对应关系和指标之间的第二对应关系,并按照第一对应关系和第二对应关系将待导入数据导入第一数据系统,无需手动开发数据对接专用的API和手动编写转换逻辑,降低了第一数据系统的维护成本和开发成本。通过本发明实施例,解决了现有技术中OLAP数据仓库的维护成本和开发成本高的问题,降低了 OLAP数据仓库与第三方数据进行数据交换的难度,进而实现了降低OLAP数据仓库的维护成本和开发成本的效果。
[0038]在上述的实施例中,第一数据系统可以为OLAP数据仓库;第二数据系统可以为除OLAP数据仓库之外的第三方数据系统;第一维度属性可以为OLAP数据仓库的维度属性,第一指标属性可以为OLAP数据仓库的指标属性,如,若OLAP数据仓库为记录订单信息的系统,那么第一维度属性可以包括商品维度和消费者维度,第一指标属性可以包括订单金额和订单数量。
[0039]其中,API为 Applicat1n Programming Interface,即应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员给予某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节;0LAP为Online AnalyticalProcessing,即联机分析处理,是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
[0040]进一步地,接收第二数据系统的待导入数据可以通过接收第二数据系统经互联网发送的HTTP请求中携带的数据来实现。
[0041]具体地,HTTP请求中携带的数据可以为JSON格式的数据(即上述实施例中的待导入数据),一个HTTP请求中可以携带多条JSON格式的数据,每条JSON格式的数据可以包括一条第二数据系统的数据的维度键值对和对应的指标键值对。
[0042]其中,HTTP为 Hypertext transfer Protocol,即超文本传送协议 JSON 为JavaScript Object Notat1n,即JavaScript对象表示法,是一种轻量级的数据交换格式。
[0043]需要进一步说明的是,第一数据系统可以通过可接受JSON类型的数据的API来接收第二数据系统发送的HTTP请求。
[0044]根据本发明上述实施例,获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系可以包括:计算各个第一维度属性的字符串与各个维度键值对中第二维度属性的字符串的第一距离;创建第三维度属性与第一维度属性的第一对应关系,其中,第三维度属性为第二维度属性中第一距离最小的维度属性;计算各个第一指标属性的字符串与各个指标键值对中第二指标属性的字符串的第二距离;创建第三指标属性与第一指标属性的第二对应关系,其中,第三指标属性为第二指标属性中第二距离最小的指标属性。
[0045]具体地,计算各个第一维度属性的字符串与各个维度键值对中的第二维度属性的字符串之间的第一距离,获取最小的第一距离对应的第二维度属性(即上述实施例中的第三维度属性)和第一维度属性,使用获取到的第三维度属性和对应的第一维度属性创建第一对应关系;计算各个第一指标属性的字符串与各个指标键值对中的第二指标属性的字符串的之间的第二距离,获取最小的第二距离对应的第二指标属性(即上述实施例中的第三指标属性)和第一指标属性,使用获取到的第三指标属性和对应的第一指标属性创建第二对应关系。
[0046]在一个可选的实施例中,可以获取JSON类型的数据(即上述实施例中的待导入数据)中的维度键值对和指标键值对,计算各个维度键值对中维度键的字符串和OLAP数据仓库(即上述实施例中的第一数据系统)的维度属性的字符串之间的字符串距离(即上述实施例中的第一距离),将与OLAP数据仓库中各个维度属性的字符串距离最近(即字符串距离最小)的维度键对应的维度键值对作为第三维度属性,并建立第三维度属性与OLAP数据仓库的维度属性之间的维度对应关系(即上述实施例中的第一对应关系)。
[0047]在该实施例中,计算各个指标键值对中指标键的字符串和OLAP数据仓库(即上述实施例中的第一数据系统)的指标属性的字符串之间的字符串距离(即上述实施例中的第二距离),将与OLAP数据仓库中各个指标属性的字符串距离最近(即字符串距离最小)的指标键对应的指标键值对作为第三指标属性,并建立第三指标属性与OLAP数据仓库的指标属性之间的指标对应关系(即上述实施例中的第二对应关系)。
[0048]在本发明的上述实施例中,按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键可以包括:读取与第二维度属性具有第一对应关系的第一维度属性的维度表;查询维度表中是否存在维度值;若维度表中不存在维度值,将维度值插入维度表;获取维度表的主键。
[0049]具体地,在按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表时,读取与第二维度属性具有对应关系的第一维度属性的维度表,查询该维度表中是否存在该维度键值对中的维度值,若维度表中存在该维度值,则忽略该维度值,继续读取下一维度值;若维度表中不存在该维度值,则将该维度值按照第一对应关系插入维度表中,并获取维度表的主键。
[0050]例如,若读取到的维度值为消费者的姓名,如张三,那么查询OLAP数据仓库的维度表中是否已存在张三,若维度表中存在张三,则继续读取下一个消费者的姓名;若维度表中不存在张三,则根据维度对应关系(即上述实施例中的第一对应关系)将张三插入维度表中存储消费者姓名的相应行中。
[0051]根据本发明上述实施例,按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表可以包括:读取与第二指标属性具有第二对应关系的第一指标属性的指标表;将指标值插入指标表中对应王键的位直。
[0052]具体地,在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表时,读取与第二指标属性具有第二对应关系的第一指标属性的指标表,指标表中包括两种列,一种列为指标列,一种列为维度列,在讲指标值插入指标表中对应王键的位直时,将维度表中的主键值插入指标表中的维度列,并将指标值插入指标列中与对应主键值位于同一行的指标行。
[0053]例如,若读取到的指标值为姓名为张三的消费者的各个订单金额,根据指标对应关系(即上述实施例中的第二对应关系)和维度表的主键(即张三存储在维度表中的相应行的主键),将张三的各个订单金额存储在指标表(即事实表,该事实表为专用于存储指标的表)的相应行中。
[0054]通过本发明上述实施例,使用维度表的主键和第二对应关系(即指标对应关系)将第二数据系统(即第三方数据系统)的指标值存储在第一数据系统中,通过将第二数据系统的指标值对应的维度值的主键同时存储在指标表中,保证了指标值和维度值的对应关系,无需将第二数据系统的指标值对应的维度值在存储第一数据系统中,节省了存储指标值所需的存储空间。
[0055]在本发明的上述实施例中,在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表之后,数据导入方法还可以包括:重新生成第一数据系统。
[0056]具体地,在将第二数据系统的维度值和指标值导入到第一数据系统中之后,重新生成第一数据系统(如,OLAP数据仓库),以更新第一数据系统存储的数据。
[0057]本发明实施例还提供了一种数据系统的数据导入装置。该数据导入装置可以通过上述实施例中的数据系统的数据导入方法实现其功能。
[0058]图2是根据本发明实施例的数据系统的数据导入装置的示意图。如图2所示,该数据导入装置可以包括:第一获取模块10,用于获取导入数据的第一数据系统的第一维度属性和第一指标属性;接收模块30,用于接收第二数据系统的待导入数据,其中,待导入数据中携带有多个维度键值对和多个指标键值对;第二获取模块50,用于获取各个维度键值对与各个第一维度属性的第一对应关系,和各个指标键值对与第一指标属性的第二对应关系;第一导入模块70,用于按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表,并获取维度表的主键;第二导入模块90,用于按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表。
[0059]采用本发明实施例,在获取第一数据系统的第一维度属性和第一指标属性之后,接收第二数据系统的待导入数据,并获取待导入数据的维度键值对与第一维度属性的第一对应关系以及待导入数据的指标键值对与第一指标属性的第二对应关系,然后按照第一对应关系将待导入数据的维度值导入第一数据系统的维度表并获取维度表的主键,按照第二对应关系和维度表的主键将待导入数据的指标值导入第一数据系统的指标表。在上述实施例中,在将待导入数据导入第一数据系统时,通过获取第一数据系统与第二数据系统的维度之间的第一对应关系和指标之间的第二对应关系,并按照第一对应关系和第二对应关系将待导入数据导入第一数据系统,无需手动开发数据对接专用的API和手动编写转换逻辑,降低了第一数据系统的维护成本和开发成本。通过本发明实施例,解决了现有技术中OLAP数据仓库的维护成本和开发成本高的问题,降低了 OLAP数据仓库与第三方数据进行数据交换的难度,进而实现了降低OLAP数据仓库的维护成本和开发成本的效果。
[0060]在上述的实施例中,第一数据系统可以为OLAP数据仓库;第二数据系统可以为除OLAP数据仓库之外的第三方数据系统;第一维度属性可以为OLAP数据仓库的维度属性,第一指标属性可以为OLAP数据仓库的指标属性,如,若OLAP数据仓库为记录订单信息的系统,那么第一维度属性可以包括商品维度和消费者维度,第一指标属性可以包括订单金额和订单数量。
[0061]其中,API为 Applicat1n Programming Interface,即应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员给予某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节;0LAP为Online AnalyticalProcessing,即联机分析处理,是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
[0062]进一步地,接收第二数据系统的待导入数据可以通过接收第二数据系统经互联网发送的HTTP请求中携带的数据来实现。
[0063]具体地,HTTP请求中携带的数据可以为JSON格式的数据(即上述实施例中的待导入数据),一个HTTP请求中可以携带多条JSON格式的数据,每条JSON格式的数据可以包括一条第二数据系统的数据的维度键值对和对应的指标键值对。
[0064]其中,HTTP为 Hypertext transfer Protocol,即超文本传送协议 JSON 为JavaScript Object Notat1n,即JavaScript对象表示法,是一种轻量级的数据交换格式。
[0065]需要进一步说明的是,第一数据系统可以通过可接受JSON类型的数据的API来接收第二数据系统发送的HTTP请求。
[0066]根据本发明上述实施例,第一获取模块可以包括:第一计算模块,用于计算各个第一维度属性的字符串与各个维度键值对中第二维度属性的字符串的第一距离;第一创建模块,用于创建第三维度属性与第一维度属性的第一对应关系,其中,第三维度属性为第二维度属性中第一距离最小的维度属性;第二计算模块,用于计算各个第一指标属性的字符串与各个指标键值对中第二指标属性的字符串的第二距离;第二创建模块,用于创建第三指标属性与第一指标属性的第二对应关系,其中,第三指标属性为第二指标属性中第二距离最小的指标属性。
[0067]具体地,计算各个第一维度属性的字符串与各个维度键值对中的第二维度属性的字符串之间的第一距离,获取最小的第一距离对应的第二维度属性(即上述实施例中的第三维度属性)和第一维度属性,使用获取到的第三维度属性和对应的第一维度属性创建第一对应关系;计算各个第一指标属性的字符串与各个指标键值对中的第二指标属性的字符串的之间的第二距离,获取最小的第二距离对应的第二指标属性(即上述实施例中的第三指标属性)和第一指标属性,使用获取到的第三指标属性和对应的第一指标属性创建第二对应关系。
[0068]在一个可选的实施例中,可以获取JSON类型的数据(即上述实施例中的待导入数据)中的维度键值对和指标键值对,计算各个维度键值对中维度键的字符串和OLAP数据仓库(即上述实施例中的第一数据系统)的维度属性的字符串之间的字符串距离(即上述实施例中的第一距离),将与OLAP数据仓库中各个维度属性的字符串距离最近(即字符串距离最小)的维度键对应的维度键值对作为第三维度属性,并建立第三维度属性与OLAP数据仓库的维度属性之间的维度对应关系(即上述实施例中的第一对应关系)。
[0069]在该实施例中,计算各个指标键值对中指标键的字符串和OLAP数据仓库(即上述实施例中的第一数据系统)的指标属性的字符串之间的字符串距离(即上述实施例中的第二距离),将与OLAP数据仓库中各个指标属性的字符串距离最近(即字符串距离最小)的指标键对应的指标键值对作为第三指标属性,并建立第三指标属性与OLAP数据仓库的指标属性之间的指标对应关系(即上述实施例中的第二对应关系)。
[0070]在本发明的上述实施例中,第一导入模块可以包括:第一读取模块,用于读取与第二维度属性具有第一对应关系的第一维度属性的维度表;查询模块,用于查询维度表中是否存在维度值;第一插入模块,用于在维度表中不存在维度值的情况下,将维度值插入维度表;第三获取模块,用于获取维度表的主键。
[0071]具体地,在按照第一对应关系将维度键值对中的维度值导入第一数据系统的维度表时,读取与第二维度属性具有对应关系的第一维度属性的维度表,查询该维度表中是否存在该维度键值对中的维度值,若维度表中存在该维度值,则忽略该维度值,继续读取下一维度值;若维度表中不存在该维度值,则将该维度值按照第一对应关系插入维度表中,并获取维度表的主键。
[0072]根据本发明上述实施例,第二导入模块可以包括:第二读取模块,用于读取与第二指标属性具有第二对应关系的第一指标属性的指标表;第二插入模块,用于将指标值插入指标表中对应王键的位直。
[0073]具体地,在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表时,读取与第二指标属性具有第二对应关系的第一指标属性的指标表,并将该指标值插入指标表中对应维度表的主键的位置。
[0074]通过本发明上述实施例,使用维度表的主键和第二对应关系(即指标对应关系)将第二数据系统(即第三方数据系统)的指标值存储在第一数据系统中,通过将第二数据系统的指标值对应的维度值的主键同时存储在指标表中,保证了指标值和维度值的对应关系,无需将第二数据系统的指标值对应的维度值在存储第一数据系统中,节省了存储指标值所需的存储空间。
[0075]在本发明的上述实施例中,数据导入装置还可以包括:生成模块,用于在按照第二对应关系和维度表的主键将指标键值对中的指标值导入指标表之后,重新生成第一数据系统。
[0076]具体地,在将第二数据系统的维度值和指标值导入到第一数据系统中之后,重新生成第一数据系统(如,OLAP数据仓库),以更新第一数据系统存储的数据。
[0077]本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
[0078]从以上的描述中,可以看出,本发明实现了如下技术效果:
[0079]采用本发明实施例,在获取第一数据系统的第一维度属性和第一指标属性之后,接收第二数据系统的待导入数据,并获取待导入数据的维度键值对与第一维度属性的第一对应关系以及待导入数据的指标键值对与第一指标属性的第二对应关系,然后按照第一对应关系将待导入数据的维度值导入第一数据系统的维度表并获取维度表的主键,按照第二对应关系和维度表的主键将待导入数据的指标值导入第一数据系统的指标表。在上述实施例中,在将待导入数据导入第一数据系统时,通过获取第一数据系统与第二数据系统的维度之间的第一对应关系和指标之间的第二对应关系,并按照第一对应关系和第二对应关系将待导入数据导入第一数据系统,无需手动开发数据对接专用的API和手动编写转换逻辑,降低了第一数据系统的维护成本和开发成本。通过本发明实施例,解决了现有技术中OLAP数据仓库的维护成本和开发成本高的问题,降低了 OLAP数据仓库与第三方数据进行数据交换的难度,进而实现了降低OLAP数据仓库的维护成本和开发成本的效果。
[0080]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合
[0081]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据系统的数据导入方法,其特征在于,包括: 获取导入数据的第一数据系统的第一维度属性和第一指标属性; 接收第二数据系统的待导入数据,其中,所述待导入数据中携带有多个维度键值对和多个指标键值对; 获取各个所述维度键值对与各个所述第一维度属性的第一对应关系,和各个所述指标键值对与所述第一指标属性的第二对应关系; 按照所述第一对应关系将所述维度键值对中的维度值导入所述第一数据系统的维度表,并获取所述维度表的主键; 按照所述第二对应关系和所述维度表的主键将所述指标键值对中的指标值导入指标表。
2.根据权利要求1所述的数据导入方法,其特征在于,获取各个所述维度键值对与各个所述第一维度属性的第一对应关系,和各个所述指标键值对与所述第一指标属性的第二对应关系包括: 计算各个所述第一维度属性的字符串与各个所述维度键值对中第二维度属性的字符串的第一距离;创建第三维度属性与所述第一维度属性的所述第一对应关系,其中,所述第三维度属性为所述第二维度属性中所述第一距离最小的维度属性; 计算各个所述第一指标属性的字符串与各个所述指标键值对中第二指标属性的字符串的第二距离;创建第三指标属性与所述第一指标属性的所述第二对应关系,其中,所述第三指标属性为所述第二指标属性中所述第二距离最小的指标属性。
3.根据权利要求2所述的数据导入方法,其特征在于,按照所述第一对应关系将所述维度键值对中的维度值导入所述第一数据系统的维度表,并获取所述维度表的主键包括: 读取与所述第二维度属性具有所述第一对应关系的所述第一维度属性的所述维度表; 查询所述维度表中是否存在所述维度值; 若所述维度表中不存在所述维度值,将所述维度值插入所述维度表; 获取所述维度表的主键。
4.根据权利要求3所述的数据导入方法,其特征在于,按照所述第二对应关系和所述维度表的王键将所述指标键值对中的指标值导入指标表包括: 读取与所述第二指标属性具有所述第二对应关系的所述第一指标属性的所述指标表; 将所述指标值插入所述指标表中对应所述主键的位置。
5.根据权利要求1至4中任意一项所述的数据导入方法,其特征在于,在按照所述第二对应关系和所述维度表的主键将所述指标键值对中的指标值导入指标表之后,所述数据导入方法还包括: 重新生成所述第一数据系统。
6.一种数据系统的数据导入装置,其特征在于,包括: 第一获取模块,用于获取导入数据的第一数据系统的第一维度属性和第一指标属性;接收模块,用于接收第二数据系统的待导入数据,其中,所述待导入数据中携带有多个维度键值对和多个指标键值对; 第二获取模块,用于获取各个所述维度键值对与各个所述第一维度属性的第一对应关系,和各个所述指标键值对与所述第一指标属性的第二对应关系; 第一导入模块,用于按照所述第一对应关系将所述维度键值对中的维度值导入所述第一数据系统的维度表,并获取所述维度表的主键; 第二导入模块,用于按照所述第二对应关系和所述维度表的主键将所述指标键值对中的指标值导入指标表。
7.根据权利要求6所述的数据导入装置,其特征在于,所述第一获取模块包括: 第一计算模块,用于计算各个所述第一维度属性的字符串与各个所述维度键值对中第二维度属性的字符串的第一距离;第一创建模块,用于创建第三维度属性与所述第一维度属性的所述第一对应关系,其中,所述第三维度属性为所述第二维度属性中所述第一距离最小的维度属性; 第二计算模块,用于计算各个所述第一指标属性的字符串与各个所述指标键值对中第二指标属性的字符串的第二距离;第二创建模块,用于创建第三指标属性与所述第一指标属性的所述第二对应关系,其中,所述第三指标属性为所述第二指标属性中所述第二距离最小的指标属性。
8.根据权利要求7所述的数据导入装置,其特征在于,所述第一导入模块包括: 第一读取模块,用于读取与所述第二维度属性具有所述第一对应关系的所述第一维度属性的所述维度表; 查询模块,用于查询所述维度表中是否存在所述维度值; 第一插入模块,用于在所述维度表中不存在所述维度值的情况下,将所述维度值插入所述维度表; 第三获取模块,用于获取所述维度表的主键。
9.根据权利要求8所述的数据导入装置,其特征在于,所述第二导入模块包括: 第二读取模块,用于读取与所述第二指标属性具有所述第二对应关系的所述第一指标属性的所述指标表; 第二插入模块,用于将所述指标值插入所述指标表中对应所述主键的位置。
10.根据权利要求6至9中任意一项所述的数据导入装置,其特征在于,所述数据导入装置还包括: 生成模块,用于在按照所述第二对应关系和所述维度表的主键将所述指标键值对中的指标值导入指标表之后,重新生成所述第一数据系统。
【文档编号】G06F17/30GK104408183SQ201410779196
【公开日】2015年3月11日 申请日期:2014年12月15日 优先权日:2014年12月15日
【发明者】何恺铎 申请人:北京国双科技有限公司