发明内容
本发明实施例提供了一种数据表转换方法、装置、可读介质及存储控制器,可实现降低数据表中存储的数据量。
第一方面,本发明提供了一种数据表转换方法,包括:
确定待转换数据表的第一参考数据列和第二参考数据列;
提取所述第一参考数据列下的各个第一参考行数据,以及提取所述第二参考数据列下的各个第二参考行数据;
对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,对提取的各个所述第二参考行数据进行去重复处理以确定至少一个列数据关键字;
根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表;
根据所述待转换数据表的数据结构,将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表。
优选地,
所述根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表,包括:
确定所述至少一个行数据关键字的第一数量,以及确定所述至少一个列数据关键字的第二数量;
根据所述第一数量和所述第二数量构建构建初始数据表格,其中,所述初始数据表格的行数为所述第一数量,所述初始数据表格的列数为所述第二数量;
将所述至少一个行数据关键字写入所述初始数据表格的第一列中,将所述至少一个列数据关键字写入所述初始数据表格的第一行中,以形成目标数据表。
优选地,
在所述将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表之后,还包括:
接收携带计算表达式的汇总请求;
根据所述初始数据表格的数据结构及所述计算表达式,计算每一个所述行数据关键字分别对应的汇总数据;
在所述目标数据表中设置对应所述汇总数据请求的汇总数据列;
将各个所述行数据关键字分别对应的汇总数据对应写入所述汇总数据列。
优选地,
所述对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,包括:
利用各个所述第一参考行数据构建选择数组;
选择所述选择数组中未被选择过的一个第一参考行数据,在当前选择的所述第一参考行数据与已经被选择过的任意一个所述第一参考行数据相同时,删除所述选择数组中当前选择的所述第一参考行数据;
当所述选择数组中不存在未被选择过的所述第一参考行数据时,将所述选择数组中未被删除的各个所述第一参考行数据均确定为行数据关键字。
第二方面,本发明实施例提供了一种数据表转换装置,包括:
确定模块,用于确定待转换数据表的第一参考数据列和第二参考数据列;
数据提取模块,用于提取所述第一参考数据列下的各个第一参考行数据,以及提取所述第二参考数据列下的各个第二参考行数据;
去重处理模块,用于对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,对提取的各个所述第二参考行数据进行去重复处理以确定至少一个列数据关键字;
表格生成模块,用于根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表;
数据迁移模块,用于根据所述待转换数据表的数据结构,将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表。
优选地,
所述表格生成模块,包括:第一确定单元、表格构建单元、数据写入单元;其中,
所述第一确定单元,用于确定所述至少一个行数据关键字的第一数量,以及确定所述至少一个列数据关键字的第二数量;
所述表格构建单元,用于根据所述第一数量和所述第二数量构建构建初始数据表格,其中,所述初始数据表格的行数为所述第一数量,所述初始数据表格的列数为所述第二数量;
所述数据写入单元,用于将所述至少一个行数据关键字写入所述初始数据表格的第一列中,将所述至少一个列数据关键字写入所述初始数据表格的第一行中,以形成目标数据表。
优选地,
还包括:信息接收模块、计算模块、设置模块和数据写入模块;其中,
所述信息接收模块,用于接收携带计算表达式的汇总请求;
所述计算模块,用于根据所述初始数据表格的数据结构及所述计算表达式,计算每一个所述行数据关键字分别对应的汇总数据;
所述设置模块,用于在所述目标数据表中设置对应所述汇总数据请求的汇总数据列;
所述数据写入模块,用于将各个所述行数据关键字分别对应的汇总数据对应写入所述汇总数据列。
优选地,
所述去重处理模块,包括:数据构建单元、数据处理单元和第二确定单元;其中,
所述数据构建单元,用于利用各个所述第一参考行数据构建选择数组;
所述数据处理单元,用于选择所述选择数组中未被选择过的一个第一参考行数据,在当前选择的所述第一参考行数据与已经被选择过的任意一个所述第一参考行数据相同时,删除所述选择数组中当前选择的所述第一参考行数据;
所述第二确定单元,用于当所述选择数组中不存在未被选择过的所述第一参考行数据时,将所述选择数组中未被删除的各个所述第一参考行数据均确定为行数据关键字。
第三方面,本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行权利要求1至4中任一项所述的方法。
本发明实施例提供了一种表格转换方法、装置、可读介质及存储控制器,在该方法中,通过确定待转换数据表的第一参考数据列和第二参考数据列之后,则可提取第一参考数据列下的各个第一参考行数据,以及提取第二参考数据列下的各个第二参考行数据,针对各个第一参考行数据进行去重复处理,则可确定出至少一个行数据关键字,同时,针对各个第二参考行数据进行去重复处理则可确定出至少一个列数据关键字,进而根据确定的各个行数据关键字和列数据关键字生成目标数据表,然后根据待转换数据表的数据结构,将待转换数据表中除至少一个第一参考行数据和至少一个第二参考行数据外的每一个业务数据均迁移至目标数据表,以形成新的数据表。综上可见,新的数据表中包括了行数据关键字和列数据关键字,行数据关键字和列数据关键字均具有唯一性,不再如待转换数据表中可能重复出现相同的第一参考行数据及相同的第二参考行数据,可实现降低数据表中存储的数据量。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据表转换方法,包括:
步骤101,确定待转换数据表的第一参考数据列和第二参考数据列;
步骤102,提取所述第一参考数据列下的各个第一参考行数据,以及提取所述第二参考数据列下的各个第二参考行数据;
步骤103,对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,对提取的各个所述第二参考行数据进行去重复处理以确定至少一个列数据关键字;
步骤104,根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表;
步骤105,根据所述待转换数据表的数据结构,将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表。
本发明上述实施例中,通过确定待转换数据表的第一参考数据列和第二参考数据列之后,则可提取第一参考数据列下的各个第一参考行数据,以及提取第二参考数据列下的各个第二参考行数据,针对各个第一参考行数据进行去重复处理,则可确定出至少一个行数据关键字,同时,针对各个第二参考行数据进行去重复处理则可确定出至少一个列数据关键字,进而根据确定的各个行数据关键字和列数据关键字生成目标数据表,然后根据待转换数据表的数据结构,将待转换数据表中除至少一个第一参考行数据和至少一个第二参考行数据外的每一个业务数据均迁移至目标数据表,以形成新的数据表。综上可见,新的数据表中包括了行数据关键字和列数据关键字,行数据关键字和列数据关键字均具有唯一性,不再如待转换数据表中可能重复出现相同的第一参考行数据及相同的第二参考行数据,可实现降低数据表中存储的数据量。
相应的,在将新的数据表中存储的各个业务数据存储至数据库时,数据库存储的数据量也相对减少,可提高数据库的性能。
进一步的,为了实现控制目标数据表格的大小,避免新的数据表中不能完整存储待转换数据表中的全部业务数据,以及避免新的数据表中存在空白的数据行或数据列,本发明一个实施例中,所述根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表,包括:
确定所述至少一个行数据关键字的第一数量,以及确定所述至少一个列数据关键字的第二数量;
根据所述第一数量和所述第二数量构建构建初始数据表格,其中,所述初始数据表格的行数为所述第一数量,所述初始数据表格的列数为所述第二数量;
将所述至少一个行数据关键字写入所述初始数据表格的第一列中,将所述至少一个列数据关键字写入所述初始数据表格的第一行中,以形成目标数据表。
进一步的,为了满足用户不断新增的用户需求,实现对各个行数据关键字所分别对应的相应业务数据进行汇总统计,本发明一个实施例中,在所述将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表之后,还包括:
接收携带计算表达式的汇总请求;
根据所述初始数据表格的数据结构及所述计算表达式,计算每一个所述行数据关键字分别对应的汇总数据;
在所述目标数据表中设置对应所述汇总数据请求的汇总数据列;
将各个所述行数据关键字分别对应的汇总数据对应写入所述汇总数据列。
进一步的,为了确保新的数据包中行数据关键字和列数据关键字具有唯一性,本发明一个实施例中,所述对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,包括:
利用各个所述第一参考行数据构建选择数组;
选择所述选择数组中未被选择过的一个第一参考行数据,在当前选择的所述第一参考行数据与已经被选择过的任意一个所述第一参考行数据相同时,删除所述选择数组中当前选择的所述第一参考行数据;
当所述选择数组中不存在未被选择过的所述第一参考行数据时,将所述选择数组中未被删除的各个所述第一参考行数据均确定为行数据关键字。
应当理解的是,可通过与上述实施例相似的方法,具体实现对提取的各个第二参考行数据进行去重复处理以确定至少一个列数据关键字。
为了更加清楚的说明本发明的技术方案及优点,下面结合如下表1所述的数据表,具体通过对如下表1所示的数据表进行转换以降低数据表存储的数据量,以及新增相应的汇总统计数据为例,数据表转换方法可以包括如下各个步骤:
步骤201,确定表1的第一参考数据列和第二参考数据列。
本发明实施例中,请参照如下表1,具体将表1的行数据关键字“物料类别”所在的数据列确定为第一参考数据列,以及将行数据关键字“使用部位”所在的数据列确定为第二参考数据列。
表1
物料类别 |
使用部位 |
使用数量 |
板材 |
部位A |
200 |
板材 |
部位B |
300 |
管材 |
部位A |
100 |
管材 |
部位C |
200 |
型材 |
部位B |
300 |
型材 |
部位C |
200 |
步骤202,提取第一参考数据列下的各个第一参考行数据,以及提取第二参考数据列下的各个第二参考行数据。
本发明实施例中,参照表1,可提取第一参考数据列中的各个第一参考行数据为:物料类别、板材、板材、管材、管材、型材、型材;可提取第二参考数据列中的各个第二参考行数据为:使用部位、部位A、部位B、部位A、部位C、部位B、部位C。
步骤203,利用各个第一参考行数据构建第一选择数组,以及利用各个第二参考行数据构建第二选择数组。
本发明实施例中,可构建第一选择数组为:[物料类别、板材、板材、管材、管材、型材、型材];可构建第二选择数组为[使用部位、部位A、部位B、部位A、部位C、部位B、部位C]。
步骤204,选择第一选择数组中未被选择过的一个第一参考行数据。
步骤205,判断当前选择的第一参考行数据与已经被选择过的任意一个第一参考行数据是否相同,如果是,则执行步骤206,否则,执行步骤207。
步骤206,删除第一选择数组中当前选择的第一参考行数据。
步骤207,判断第一选择数组中是否存在未被选择过的第一参考行数据,如果是,则执行步骤204,否则,执行步骤208。
步骤208,将第一选择数组中未被删除的各个第一参考行数据均确定为行数据关键字。
本发明实施例中,通过步骤204至步骤208对提取的各个第一参考行数据去重处理后,可确定出4个行数据关键字:物料类别、板材、管材、型材。
步骤209,选择第二选择数组中未被选择过的一个第二参考行数据。
步骤210,判断当前选择的第二参考行数据与已经被选择过的任意一个第二参考行数据是否相同,如果是,则执行步骤211,否则,执行步骤212。
步骤211,删除第二选择数组中当前选择的第二参考行数据。
步骤212,判断第二选择数组中是否存在未被选择过的第二参考行数据,如果是,则执行步骤209,否则,执行步骤213。
步骤213,将第二选择数组中未被删除的各个第二参考行数据均确定为列数据关键字。
本发明实施例中,通过步骤209至步骤213对提取的各个第二参考行数据去重处理后,可确定出4个列数据关键字:使用部位、部位A、部位B、部位C。
步骤214,确定至少一个行数据关键字的第一数量,以及确定至少一个列数据关键字的第二数量。
本发明实施例中,可确定出至少一个行数据关键字的第一数量为4,至少一个列数据关键字的第二数量为4。
步骤215,根据第一数量和第二数量构建构建初始数据表格。
本发明实施例中,请参照如下表2,初始数据表格的行数为4行,初始数据表格的列数为4列。
表2
步骤216,将至少一个行数据关键字写入初始数据表格的第一列中,将至少一个列数据关键字写入初始数据表格的第一行中,以形成目标数据表。
本发明实施例中,目标数据表请参照如下表3。
表3
步骤217,根据表1的数据结构,将表1中除至少一个第一参考行数据和至少一个第二参考行数据外的每一个业务数据均迁移至表3。
请参照如下表4,经过步骤217的处理后,可形成如下表4所示的新的数据表。
表4
请参照表1和表4,待转换数据表表1中存储的数据量为21个,而转换后的新的数据表中存储的数据量金额日16个,新的数据表表4中存储的数据量相对于待转换数据表表1中存储的数据量大量减少,相应的,在将新的数据表中存储的各个业务数据存储至数据库时,数据库存储的数据量也相对减少,可提高数据库的性能。
步骤218,接收携带计算表达式的汇总请求。
步骤219,根据初始数据表格的数据结构及计算表达式,计算每一个行数据关键字分别对应的汇总数据。
这里以计算表达式是针对板材、管材及型材等行数据关键字所分别对应的使用数量进行求和为例,则可计算出板材、管材及型材等行数据关键字所分别对应的汇总数据为:500、300、500。
步骤220,在目标数据表中设置对应汇总数据请求的汇总数据列,并将各个行数据关键字分别对应的汇总数据对应写入汇总数据列。
本发明实施例中,通过步骤218至步骤220,实现对各个行数据关键字所分别对应的相应业务数据进行汇总统计,可形成如下表5所示的新的数据表。
表5
如图3所示,本发明实施例提供了一种数据表转换装置,包括:
确定模块301,用于确定待转换数据表的第一参考数据列和第二参考数据列;
数据提取模块302,用于提取所述第一参考数据列下的各个第一参考行数据,以及提取所述第二参考数据列下的各个第二参考行数据;
去重处理模块303,用于对提取的各个所述第一参考行数据进行去重复处理以确定至少一个行数据关键字,对提取的各个所述第二参考行数据进行去重复处理以确定至少一个列数据关键字;
表格生成模块304,用于根据所述至少一个行数据关键字和所述至少一个列数据关键字生成目标数据表;
数据迁移模块305,用于根据所述待转换数据表的数据结构,将所述待转换数据表中除所述至少一个第一参考行数据和所述至少一个第二参考行数据外的每一个业务数据均迁移至所述目标数据表。
如图4所示,本发明一个优选实施例中,所述表格生成模块304,包括:第一确定单元3041、表格构建单元3042、数据写入单元3043;其中,
所述第一确定单元3041,用于确定所述至少一个行数据关键字的第一数量,以及确定所述至少一个列数据关键字的第二数量;
所述表格构建单元3042,用于根据所述第一数量和所述第二数量构建构建初始数据表格,其中,所述初始数据表格的行数为所述第一数量,所述初始数据表格的列数为所述第二数量;
所述数据写入单元3043,用于将所述至少一个行数据关键字写入所述初始数据表格的第一列中,将所述至少一个列数据关键字写入所述初始数据表格的第一行中,以形成目标数据表。
如图5所示,本发明一个优选实施例中,还包括:信息接收模块501、计算模块502、设置模块503和数据写入模块504;其中,
所述信息接收模块501,用于接收携带计算表达式的汇总请求;
所述计算模块502,用于根据所述初始数据表格的数据结构及所述计算表达式,计算每一个所述行数据关键字分别对应的汇总数据;
所述设置模块503,用于在所述目标数据表中设置对应所述汇总数据请求的汇总数据列;
所述数据写入模块504,用于将各个所述行数据关键字分别对应的汇总数据对应写入所述汇总数据列。
如图6所示,本发明一个优选实施例中,所述去重处理模块303,包括:数据构建单元3031、数据处理单元3032和第二确定单元3033;其中,
所述数据构建单元3031,用于利用各个所述第一参考行数据构建选择数组;
所述数据处理单元3032,用于选择所述选择数组中未被选择过的一个第一参考行数据,在当前选择的所述第一参考行数据与已经被选择过的任意一个所述第一参考行数据相同时,删除所述选择数组中当前选择的所述第一参考行数据;
所述第二确定单元3033,用于当所述选择数组中不存在未被选择过的所述第一参考行数据时,将所述选择数组中未被删除的各个所述第一参考行数据均确定为行数据关键字。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明任意一个实施例中提供的数据表转换方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明任意一个实施例中提供的数据表转换方法。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行权利要求1至3中任一项所述的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线连接;
所述存储器,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行权利要求1至3中任一项所述的方法。
综上所述,本发明各个实施例至少具有如下有益效果:
1、本发明一实施例中,通过确定待转换数据表的第一参考数据列和第二参考数据列之后,则可提取第一参考数据列下的各个第一参考行数据,以及提取第二参考数据列下的各个第二参考行数据,针对各个第一参考行数据进行去重复处理,则可确定出至少一个行数据关键字,同时,针对各个第二参考行数据进行去重复处理则可确定出至少一个列数据关键字,进而根据确定的各个行数据关键字和列数据关键字生成目标数据表,然后根据待转换数据表的数据结构,将待转换数据表中除至少一个第一参考行数据和至少一个第二参考行数据外的每一个业务数据均迁移至目标数据表,以形成新的数据表。综上可见,新的数据表中包括了行数据关键字和列数据关键字,行数据关键字和列数据关键字均具有唯一性,不再如待转换数据表中可能重复出现相同的第一参考行数据及相同的第二参考行数据,可实现降低数据表中存储的数据量。
2、本发明一实施例中,在实现降低新的数据表中存储的数据量之后,在将新的数据表中存储的各个业务数据存储至数据库时,数据库存储的数据量也相对减少,可提高数据库的性能。
3、本发明一个实施例中,通过确定出行数据关键字和列数据关键字分别对应的第一数量和第二数量,并根据确定的第一数量和第二数量构建初始数据表格,可实现控制最终形成的目标数据表格的大小,避免新的数据表中不能完整存储待转换数据表中的全部业务数据,以及避免新的数据表中存在空白的数据行或数据列。
4、本发明一个实施例中,通过在接收到携带计算表达式的汇总请求之后,根据初始数据表格的数据结构及计算表达式,计算每一个行数据关键字分别对应的汇总数据,在目标数据表中设置对应汇总数据请求的汇总数据列,并将各个行数据关键字分别对应的汇总数据对应写入汇总数据列。如此,可满足用户不断新增的用户需求,实现对各个行数据关键字所分别对应的相应业务数据进行汇总统计。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。