一种字段设置方法和装置与流程

文档序号:11950286阅读:154来源:国知局
一种字段设置方法和装置与流程

本申请涉及数据库技术领域,特别是涉及一种字段设置方法和一种字段设置装置。



背景技术:

在传统的数据仓库建设过程中,通常需要创建字段。其中,字段是一个成员,它表示与对象或类关联的变量,在数据库中,一般表的“列”称为“字段”,每个字段包含某一专题的信息。

目前,在数据仓库建设时,会预先制定有一些关于字段命名的基础规则,在创建字段时会根据该基础规则对字段的命名进行评审,以确保表的字段的命名规范。然而,该方法在创建某一字段时所依据的规则无法避免相近字段的出现,因此,极易导致同一含义的不同字段出现在多个表中,产生冗余字段,而冗余字段浪费了大量的存储资源。

因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能减少冗余字段,节省存储资源。



技术实现要素:

本申请实施例所要解决的技术问题是提供一种字段设置方法,能够减少冗余字段,节省存储资源。

相应的,本申请实施例还提供了一种字段设置装置,用以保证上述方法的实现及应用。

为了解决上述问题,本申请公开了一种字段设置方法,包括:

接收预创建的第一字段;

将所述第一字段与历史表中的字段进行模糊匹配;

根据匹配结果,确定是否创建所述第一字段。

进一步,所述将所述第一字段与历史表中的字段进行模糊匹配,包括:

在预先创建的历史字段集中查找所述第一字段所属的归一化字段;

调取所述归一化字段所对应的字段分别与所述第一字段进行模糊匹配;

其中,所述历史字段集中包含所有历史表中的字段,且含义相同或相似的字段对应相同的归一化字段。

进一步,所述接收预创建的第一字段,包括:

接收用户在常用字段名集中选择的第一字段,其中,所述常用字段名集中包含符合预置字段命名规范的字段名称。

进一步,所述接收预创建的第一字段,包括:

接收用户输入的预创建的第一字段。

进一步,在所述将所述第一字段与历史表中的字段进行模糊匹配之前,还包括:

采用预先创建的字段规范集对所述第一字段进行校验,在校验通过后,再将所述第一字段与历史表中的字段进行模糊匹配;

其中,所述字段规范集中包含各字段所属类型对应的命名规则。

进一步,所述根据匹配结果,确定是否创建所述第一字段,包括:

当所述匹配结果为无匹配字段时,创建所述第一字段。

进一步,所述根据匹配结果,确定是否创建所述第一字段,包括:

当获得匹配字段时,调取所述匹配字段的关联信息;

当所述匹配字段的关联信息满足预置条件时,舍弃所述第一字段。

进一步,所述调取所述匹配字段的关联信息,包括:

调取所述匹配字段的描述信息及其所在的历史表信息;和/或,

在预先创建的各字段的字段价值集中查找所述匹配字段对应的字段价值集,其中,所述各字段的字段价值集中至少包含各字段的存储大小占比、使用率、贡献率之一。

本申请实施例还公开了一种字段设置装置,包括:

字段接收单元,被配置为接收预创建的第一字段;

匹配单元,被配置为将所述第一字段与历史表中的字段进行模糊匹配;

确定单元,被配置为根据匹配结果,确定是否创建所述第一字段。

进一步,所述匹配单元包括:

查找子单元,被配置为在预先创建的历史字段集中查找所述第一字段所属的归一化字段;

匹配子单元,被配置为调取所述归一化字段所对应的字段分别与所述第一字段进行模糊匹配;

其中,所述历史字段集中包含所有历史表中的字段,且含义相同或相似的字段对应相同的归一化字段。

进一步,所述确定单元包括:

调取子单元,被配置为当获得匹配字段时,调取所述匹配字段的关联信息;

设置子单元,被配置为当所述匹配字段的关联信息满足预置条件时,舍弃所述第一字段。

进一步,所述调取子单元,被配置为调取所述匹配字段的描述信息及其所在的历史表信息;和/或,在预先创建的各字段的字段价值集中查找所述匹配字段对应的字段价值集,其中,所述各字段的字段价值集中至少包含各字段的存储大小占比、使用率、贡献率之一。与现有技术相比,本申请实施例包括以下优点:

本申请实施例通过在创建字段时,先对该字段与历史表中的字段进行匹配,然后根据匹配结果来确定是否创建该字段,使得在数据仓库建表过程中,可以及时有效的判断字段的合理性,减少了冗余字段的产生,从而节约了存储资源。

附图说明

图1是本申请的一种字段设置方法实施例的步骤流程图;

图2是本申请的另一种字段设置方法实施例的步骤流程图;

图3是本申请的一种对第一字段与历史表中的字段进行模糊匹配的方法实施例的步骤流程图;

图4是本申请的一种根据匹配结果,确定是否创建第一字段的方法实施例的步骤流程图;

图5是本申请的一种字段设置装置实施例的结构框图;

图6是本申请实施例中的一种匹配单元的结构框图;

图7是本申请实施例中的一种确定单元的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参照图1,示出了本申请的一种字段设置方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,接收预创建的第一字段。

本申请实施例中,用于字段设置的装置(以下简称该装置)首先接收用户预创建的第一字段,该第一字段可以是用户直接输入的,也可以是该装置提供选项由用户选择的。具体请参加后续实施例的描述。

步骤102,将第一字段与历史表中的字段进行模糊匹配。

本步骤可以遍历历史表中的字段,逐一与第一字段进行模糊匹配。也可以预先对历史表中的字段进行归类,然后调取与第一字段同类别的历史表中的字段逐一与第一字段进行匹配。本步骤中的匹配的方法可以是语义匹配,具体与现有匹配方法类似,此处不再赘述。其中,历史表为数据库中已经建立起来的数据表。

步骤103,根据匹配结果,确定是否创建第一字段。

在接收到匹配结果后,如果历史表中没有匹配的字段,则可以确定创建该第一字段,也可以再根据其它预置条件等进行后续判断的是否要创建该第一字段。

如果历史表中存在匹配字段,则可以根据匹配字段的相关信息来确定是否创建该第一字段,例如,可以舍弃该第一字段而继承该匹配字段等,具体请参见后续实施例的描述。

本申请实施例通过在创建字段时,先对该字段与历史表中的字段进行匹配,然后根据匹配结果来确定是否创建该字段,使得在数据仓库建表过程中,可以及时有效的判断字段的合理性,减少了冗余字段的产生,从而节约了存储资源。

在本申请的其中一个实施例中,上述步骤101中接收预创建的第一字段,具体可以是接收用户在常用字段名集中选择的第一字段。

本实施例中,该装置可以预先建立有常用字段名集供用户选择,该常用字段名集中包含符合预置字段命名规范的字段名称,例如,基础域中常用字段英文名等。该常用字段名集可以有一个或多个,例如不同类型的字段对应有不同的常用字段名集。

在用户要创建字段时,该装置可以弹出常用字段名集,用户可以快速选择出符合命名规范的第一字段。

在本申请的另一个实施例中,上述步骤101中接收预创建的第一字段,具体可以是接收用户输入的预创建的第一字段。在该实施例中,如图2所示,在执行前述步骤102之前,该方法还可以包括:

步骤201,采用预先创建的字段规范集对第一字段进行校验。

该装置预先创建有字段规范集,其中可以包含各字段所属类型对应的命名规则。例如:日期类型字段必须以“gmt_”打头,取值为“是/非”的字段必须以“is_”打头等,以及字段最小或最大长度设置等。该集合主要用于对字段进行最基础的命名规范校验。

在本步骤中,在该装置接收到用户输入的第一字段后,即可利用该字段规范集对该第一字段进行校验,具体的,可以是用户首先在界面选择第一字段所属的类型,例如:日期型、数值型等,该装置在接收待该用户选择的类型后,调取对应类型的字段规范集对第一字段进行校验,并将校验结果返回给用户,还可以同时给出相应提示供用户对第一字段进行修改,直到第一字段校验通过。

在校验通过后,再执行前述步骤102进行字段间的模糊匹配。

上述实施例通过设置常用字段名集和/或字段规范集可以规范字段的命名,也有利于减少字段的冗余。

在本申请的另一实施例中,在对第一字段与历史表中的字段进行模糊匹配的过程中,如图3所示,具体可以包括:

步骤301,在预先创建的历史字段集中查找第一字段所属的归一化字段。

该装置中预先创建有历史字段集,该历史字段集中包含所有历史表中的字段,且本集合中的字段均做过归一化,含义相同或相似的字段对应相同的归一化字段,本集合将归一化前的历史表中的字段名和归一后的归一化字段名都进行保存,以方便查看。

该装置在接收到第一字段后即在历史字段集中查找第一字段所属的归一化字段,该查找过程可以是一个第一字段与归一化字段之间的语义匹配过程。

步骤302,调取归一化字段所对应的字段分别与第一字段进行模糊匹配。

在查找到对应的归一化字段后,该装置调取出与该归一化字段对应的所有历史表中的字段,然后逐一与该第一字段进行模糊匹配,具体可以是语义匹配等。

具体的,该装置可以设置匹配度阈值,选择其中达到匹配度阈值的历史表中的字段作为匹配字段。

在本申请的其中一个实施例中,当匹配结果为无匹配字段时,该装置可以直接在新表中创建该第一字段。当匹配结果存在匹配字段时,该根据匹配结果,确定是否创建第一字段的过程,如图4所示,可以包括:

步骤401,当获得匹配字段时,调取匹配字段的关联信息。

本实施例中,该装置可以调取匹配字段的描述信息及其所在的历史表信息;和/或,在预先创建的各字段的字段价值集中查找匹配字段对应的字段价值集。

该装置可以预先创建有各字段的字段价值集,其中至少包含各字段的存储大小占比、使用率、贡献率之一或任意组合。该集合主要用于对字段进行上线后合理性校验。

字段存储大小占比可以表示一个字段在该表所有字段中所占存储比率。计算方法:该字段的内容长度(字节数)÷该表所有字段的长度(字节数)

字段使用率(宽度)可以表示一个字段在直接下游节点被使用的比率。计算方法:使用了该字段的直接下游节点数÷使用了该字段所在表的直接下游节点数

字段贡献率(深度)可以表示一个字段在间接下游节点被使用的比率。计算方法:使用了该字段的间接下游节点数÷使用了该字段所在表的间接下游节点数。

步骤402,当匹配字段的关联信息满足预置条件时,舍弃第一字段。

该装置如果获得匹配字段的描述信息及其所在的历史表信息,则可以根据用户设定的或其它的预置条件进行判断,当满足预置条件时,舍弃第一字段。例如,该装置将匹配字段的关联信息返回给用户,用户了解匹配字段在哪些表中已出现,从而判断是否可以在新表中舍弃该第一字段,其中,舍弃该第一字段可能是使第一字段直接继承匹配字段,也可能是在新表中直接不包含该第一字段或类似字段。如果需要继承匹配字段,则需确保该第一字段与匹配字段的定义一致。

该装置如果获得匹配字段的字段价值集,则可以根据用户设定的或其它的预置条件进行判断,当满足预置条件时,舍弃第一字段。例如,该装置可以将匹配字段的字段价值集返回给用户,由用户据此判断是否舍弃该第一字段,也可以该装置内预置有存储大小占比、使用率、贡献率等的阈值,例如当第一字段的存储大小占比或使用率或贡献率达到某一阈值时,该装置自动舍弃该第一字段。

上述预置条件可以根据需要设定。

该装置也可以同时获得匹配字段的描述信息及其所在的历史表信息,及匹配字段的字段价值集。该装置可以先根据匹配字段的描述信息及其所在的历史表信息确定是否使第一字段继承匹配字段,若继承,再利用匹配字段的字段价值集,最终确定是否在新表中使用该匹配字段;该装置也还可以先根据匹配字段的字段价值集判断是否使用该匹配字段,若使用,再根据匹配字段的描述信息及其所在的历史表信息确定是否需要在新表中设置该匹配字段等。该装置在同时获得上述两种信息的情况下,可以根据需要调整判断顺序,直至最终确定是否舍弃该第一字段。

本步骤中,若匹配字段的关联信息不满足预置条件,则该装置可以在新表中创建该第一字段。

该装置在所有预创建字段通过上述步骤后,自动生成建表语句,并可以将表字段新增到字段规范集、常用字段名集、历史字段集三个集合中,后续新表字段上线实际应用后,再将每个字段的使用情况新增到字段价值集中。

本实施例通过创建字段规范集、常用字段名集、历史字段集、字段价值集,自动进行字段命名、字段冗余等校验,不仅避免人工评审字段可能造成的偏差,让使用者可以及时判断字段的可行性,减少了字段冗余,节省了存储资源,而且确保了表字段的命名规范,并且可以通进行上线后字段使用率的统计,将使用率低的字段酌情进行下线,既确保了字段的合理性,又节省了存储资源。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图5,示出了本申请一种字段设置装置实施例的结构框图,具体可以包括如下单元:

字段接收单元501,被配置为接收预创建的第一字段。

匹配单元502,被配置为将所述第一字段与历史表中的字段进行模糊匹配。

确定单元503,被配置为根据匹配结果,确定是否创建所述第一字段。

该装置通过上述单元在创建字段时,先对该字段与历史表中的字段进行匹配,然后根据匹配结果来确定是否创建该字段,使得在数据仓库建表过程中,可以及时有效的判断字段的合理性,减少了冗余字段的产生,从而节约了存储资源。

在另一实施例中,字段接收单元501可以被配置为接收用户在常用字段名集中选择的第一字段,其中,所述常用字段名集中包含符合预置字段命名规范的字段名称。

在另一实施例中,该装置还可以包括校验单元。

其中,字段接收单元501可以被配置为接收用户输入的预创建的第一字段。

校验单元,被配置为采用预先创建的字段规范集对所述第一字段进行校验。其中,所述字段规范集中包含各字段所属类型对应的命名规则。

匹配单元502,被配置为在校验单元校验通过后,再将所述第一字段与历史表中的字段进行模糊匹配。

在另一实施例中,如图6所示,匹配单元502可以进一步包括:

查找子单元601,被配置为在预先创建的历史字段集中查找所述第一字段所属的归一化字段。

匹配子单元602,被配置为调取所述归一化字段所对应的字段分别与所述第一字段进行模糊匹配。

其中,所述历史字段集中包含所有历史表中的字段,且含义相同或相似的字段对应相同的归一化字段。

在另一实施例中,确定单元503可以被配置为当所述匹配结果为无匹配字段时,创建所述第一字段。

在另一实施例中,如图7所示,确定单元503可以进一步包括:

调取子单元701,被配置为当获得匹配字段时,调取所述匹配字段的关联信息;

设置子单元702,被配置为当所述匹配字段的关联信息满足预置条件时,舍弃所述第一字段。

其中,调取子单元701,被配置为调取所述匹配字段的描述信息及其所在的历史表信息;和/或,在预先创建的各字段的字段价值集中查找所述匹配字段对应的字段价值集,其中,所述各字段的字段价值集中至少包含各字段的存储大小占比、使用率、贡献率之一。

该装置通过创建字段规范集、常用字段名集、历史字段集、字段价值集,自动进行字段命名、字段冗余等校验,不仅避免人工评审字段可能造成的偏差,让使用者可以及时判断字段的可行性,减少了字段冗余,节省了存储资 源,而且确保了表字段的命名规范,并且可以通进行上线后字段使用率的统计,将使用率低的字段酌情进行下线,既确保了字段的合理性,又节省了存储资源。

本申请实施例还公开了一种字段设置装置,包括存储器、接收器和处理器。

处理器与存储器、接收器通过总线相互连接;总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。

其中,存储器用于存储一段程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

接收器用于接收预创建的第一字段。

处理器用于读取存储器中的程序代码,执行以下步骤:

将所述第一字段与历史表中的字段进行模糊匹配;

根据匹配结果,确定是否创建所述第一字段。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质 中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用 于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种字段设置方法和一种字段设置装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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