[发明专利]一种基于多平台数据生成数据表的方法和系统有效
申请号: | 201310418742.1 | 申请日: | 2013-09-13 |
公开(公告)号: | CN103500185B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 柴昱;陈秋丰 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 平台数据 多平台 子项 数据记录 数据生成 维度 内存 服务器资源 数据库数据 数据处理 数据库 载入 合并 | ||
1.一种基于多平台数据生成数据表的方法,所述多平台包括第一平台和第二平台,所述方法包括:
获取所述第一平台数据及第二平台数据;
分别将所述第一平台数据及第二平台数据载入内存;
生成数据表表头,所述数据表表头包括指定维度字段、第一平台特征数据字段、第二平台特征数据字段、行合计数据字段;
判断所述内存中的第一平台数据与第二平台数据是否存在指定维度相同的数据记录;
若是,则将所述第一平台数据与第二平台数据中各个指定维度相同的数据记录,分别合并成对应的一条数据表子项;
若否,则分别将所述第一平台数据与第二平台数据处理成不同的数据表子项;
依据所述数据表子项生成数据表;
其中,所述将所述第一平台数据与第二平台数据中各个指定维度相同的数据记录,分别合并成对应的一条数据表子项的步骤包括:
将所述第一平台数据与第二平台数据中各个指定维度相同的数据记录按所述数据表表头生成数据表子项,其中,在所述指定维度字段下写入对应维度信息,在所述第一平台特征数据字段下写入所述第一平台数据的数据记录中除所述指定维度信息的其他字段值,在所述第二平台特征数据字段下写入对应的第二平台数据的数据记录中除所述指定维度信息的其他字段值,在所述行合计数据字段下写入第一平台数据中的第一合计数据与第二平台数据中的第二合计数据的总和;
分别在第二数组中删除第一平台数据的数据记录的指定维度相同的数据记录;
所述判断所述内存中的第一平台数据与第二平台数据是否存在指定维度相同的数据记录的步骤包括:
分别将第一数组中的每条数据记录按照指定维度遍历第二数组中的数据记录;
若在所述第二数组中找到与所述第一数组中的数据记录的指定维度相同的数据记录,则判断为所述内存中的第一平台数据与第二平台数据存在指定维度相同的数据记录;
若在所述第二数组中没有找到与所述第一数组中的数据记录的指定维度相同的数据记录,则判断为所述内存中的第一平台数据与第二平台数据不存在指定维度相同的数据记录;
所述分别将所述第一平台数据与第二平台数据处理成不同的数据表子项的步骤包括:
分别将所述第一平台数据的数据记录按所述数据表表头生成对应的数据表子项,其中,在所述指定维度字段下写入第一平台数据的数据记录中的对应维度信息,在所述第一平台特征数据字段下写入所述第一平台数据的数据记录中除所述指定维度信息的其他字段值,在所述第二平台特征数据字段下写入数值0或数值为空的数据,在所述行合计数据字段下写入第一平台数据中的第一合计数据;
当所述第一数组中的每条数据记录遍历完成后,将第二数组中剩下的数据记录分别按所述数据表表头生成对应的数据表子项,其中,在所述指定维度字段下写入第二数组的数据记录中的对应维度信息,在所述第一平台特征数据字段下写入数值0或数值为空的数据,在所述第二平台特征数据字段下写入第二数组的数据记录中除所述指定维度信息的其他字段值,在所述行合计数据字段下写入第二平台数据中的第二合计数据。
2.如权利要求1所述的方法,所述获取所述第一平台数据及第二平台数据的步骤包括:
获取所述第一平台的数据表,解析所述第一平台的数据表得到第一平台数据;
获取所述第二平台的数据表,解析所述第二平台的数据表得到第二平台数据;
所述分别将所述第一平台数据及第二平台数据载入内存的步骤包括:
将所述第一平台数据载入内存的第一数组中;
将所述第二平台数据载入内存的第二数组中。
3.如权利要求1至2任一项所述的方法,所述依据所述数据表子项生成数据表的步骤包括:
组合所有数据表子项生成数据表表体;
对所述数据表表体进行排序;
计算排序后的数据表表体中每个数据表子项的合计数据字段下的值的总和,得到数据表表尾;
将所述数据表表头、排序后的数据表表体、数据表表尾写入文件,生成数据表。
4.如权利要求1至2任一权利要求所述的方法,所述指定维度的个数至少为2个。
5.一种基于多平台数据生成数据表的系统,所述多平台包括第一平台和第二平台,所述系统包括:
数据获取模块,适于获取所述第一平台数据及第二平台数据;
内存载入模块,适于分别将所述第一平台数据及第二平台数据载入内存;
判断模块,适于判断所述内存中的第一平台数据与第二平台数据是否存在指定维度相同的数据记录;
第一数据表子项生成模块,适于在第一平台数据与第二平台数据存在指定维度相同的数据记录时,将所述第一平台数据与第二平台数据中各个指定维度相同的数据记录,分别合并成对应的一条数据表子项;
第二数据表子项生成模块,适于在第一平台数据与第二平台数据不存在指定维度相同的数据记录时,分别将所述第一平台数据与第二平台数据处理成不同的数据表子项;
数据表生成模块,适于依据所述数据表子项生成数据表;
表头生成模块,适于生成数据表表头,所述数据表表头包括指定维度字段、第一平台特征数据字段、第二平台特征数据字段、行合计数据字段;
所述第一数据表子项生成模块还适于将所述第一平台数据与第二平台数据中各个指定维度相同的数据记录按所述数据表表头生成数据表子项;
其中,在所述指定维度字段下写入对应维度信息,在所述第一平台特征数据字段下写入所述第一平台数据的数据记录中除所述指定维度信息的其他字段值,在所述第二平台特征数据字段下写入对应的第二平台数据的数据记录中除所述指定维度信息的其他字段值,在所述行合计数据字段下写入第一平台数据中的第一合计数据与第二平台数据中的第二合计数据的总和;
删除模块,适于分别在第二数组中删除第一平台数据的数据记录的指定维度相同的数据记录;
所述判断模块还适于分别将第一数组中的每条数据记录按照指定维度遍历第二数组中的数据记录;若在所述第二数组中找到与所述第一数组中的数据记录的指定维度相同的数据记录,则判断为所述内存中的第一平台数据与第二平台数据存在指定维度相同的数据记录;若在所述第二数组中没有找到与所述第一数组中的数据记录的指定维度相同的数据记录,则判断为所述内存中的第一平台数据与第二平台数据不存在指定维度相同的数据记录;
第二数据表子项生成模块还适于分别将所述第一平台数据的数据记录按所述数据表表头生成对应的数据表子项;
其中,在所述指定维度字段下写入第一平台数据的数据记录中的对应维度信息,在所述第一平台特征数据字段下写入所述第一平台数据的数据记录中除所述指定维度信息的其他字段值,在所述第二平台特征数据字段下写入数值0或数值为空的数据,在所述行合计数据字段下写入第一平台数据中的第一合计数据;
第二数据表子项生成模块还适于在所述第一数组中的每条数据记录遍历完成后,将第二数组中剩下的数据记录分别按所述数据表表头生成对应的数据表子项;
其中,在所述指定维度字段下写入第二数组的数据记录中的对应维度信息,在所述第一平台特征数据字段下写入数值0或数值为空的数据,在所述第二平台特征数据字段下写入第二数组的数据记录中除所述指定维度信息的其他字段值,在所述行合计数据字段下写入第二平台数据中的第二合计数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310418742.1/1.html,转载请声明来源钻瓜专利网。