一种报表生成方法及装置的制造方法_3

文档序号:9687635阅读:来源:国知局
hed-样,为了保证效 率,数据都是缓存在内存中。在redis中,用key-value的k巧值来表示待插入数据的位置坐 标。W上表2的数据结构为例,在redis中初始记录为{("1,2,2",'"),("1,2,7",'"),("1,3, 2",'。'),("1,3,7",'。'),("1,3,12",'。')...}格式。其中,^("1,2,2",'。')为例说明,"1,2,2" 表示页、行、列编号。…表示k巧值对应的value值,初始状态时value值为空。
[0109] 步骤S450、接收各线程获取的待插入数据;
[0110] 步骤S460、根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
[0111]步骤S470、将所述待插入数据存储至与之对应的key-value组合中的value中; [0112]具体地,根据获取的待插入数据的位置坐标,可W确定对应的key-value组合。例 如,获取的待插入数据为"北京",其位置坐标为"第1页、第2行、第7列",进而确定与之对应 的key-value组合为("1,2,7" 。进一步,将value值"北京"存储到key-value组合("1,2, 7",'。')中,得到("1,2,7","北京')。
[0113]通过该过程,将获取的所有待插入数据都存储到对应的key-value组合中的value 中。
[0114] 步骤S480、利用存储有待插入数据的k巧-value组合生成报表数据;
[0115] 在内存中,利用上一步骤所得到的存储有待插入数据的key-value组合生成报表 数据。
[0116] 步骤S490、将所述报表数据填充至所述目标报表模板,得到报表。
[0117]本申请基于rediS的方式,在内存中建立了key-value存储结构,对于每一个线程 所获取到的待插入数据,可W立刻存储到对应的key-value组合中的value中。对于不同的 待插入数据的value存储过程,在内存中可W同时执行,提高了报表数据的生成效率。
[0118] 参见图5,图5为本申请实施例公开的又一种报表生成方法流程图。
[0119] 如图5所示,该方法包括:
[0120] 步骤S500、响应用户的报表生成请求,从预置的报表模板库中调取与用户请求的 报表类型相同的目标报表模板;
[0121] 具体地,本申请预先设置了报表模板库,报表模板库中存储有多种类型的报表模 板。当用户发起报表生成请求时,从报表模板库中调取与用户请求的报表类型相同的目标 报表模板。
[0122] 其中,用户发起报表生成请求的方式可W有多种,例如本申请可W在用户界面上 提供多种图标,不同图标代表生成不同类型的报表,则用户可W选择触发目标类型的报表 所对应的图标,例如当月财务报表、值班报表等。
[0123] 步骤S510、查询报表模板配置库,从中获取所述目标报表模板的配置信息;
[0124] 具体地,本申请预先设置了报表模板配置库,在报表模板配置库中存储了各种类 型报表模板的配置信息。配置信息包括报表模板中待插入数据的位置,W及各位置对应的 待插入数据的数据库获取方法。
[0125] 步骤S520、对所述目标报表模板中的待插入数据进行分组;
[0126] 具体地,目标报表模板中的待插入数据为多个,对于各个待插入数据的获取过程, 可W通过多个线程同时进行,提高数据获取速度。
[0127] 为了适应于多线程处理机制,首先对目标报表模板中的待插入数据进行分组。在 分组时可W依据多种分组策略,举例如,将待插入数据所在页码编号相同的待插入数据划 分为一组,或者随机性的将待插入数据划分为若干组等等。
[0128] 步骤S530、利用与各分组分别对应的线程,获取对应分组内的待插入数据;
[0129] 其中,线程获取待插入数据的过程包括:线程利用待插入数据的数据库获取方法, 从数据库中获取并翻译数据。
[0130] 步骤S540、在kv数据库redis中建立k巧-value存储结构,其中k巧值存储各待插入 数据的位置坐标;
[0131 ] 具体地,在redis中,用key-value的key值来表示待插入数据的位置坐标。W上表2 的数据结构为例,在redi S中初始记录为{("1,2,2",…),("1,2,7",…'),("1,3,2",…'), ("1,3,7",'。'),("1,3,12",'。')...}格式。其中,^("1,2,2",'。')为例说明,"1,2,2"表示页、 行、列编号。…表示key值对应的value值,初始状态时value值为空。
[0132] 步骤S550、接收各线程获取的待插入数据;
[0133] 步骤S560、根据所述待插入数据的位置坐标,确定与之对应的key-value组合;
[0134] 步骤S570、将所述待插入数据存储至与之对应的key-value组合中的value中;
[0135] 具体地,根据获取的待插入数据的位置坐标,可W确定对应的key-value组合。例 如,获取的待插入数据为"北京",其位置坐标为"第1页、第2行、第7列",进而确定与之对应 的key-value组合为("1,2,7" 。进一步,将value值"北京"存储到key-value组合("1,2, 7",'。')中,得到("1,2,7","北京')。
[0136] 通过该过程,将获取的所有待插入数据都存储到对应的key-value组合中的value 中。
[0137] 步骤S580、利用存储有待插入数据的k巧-value组合生成报表数据;
[0138] 在内存中,利用上一步骤所得到的存储有待插入数据的key-value组合生成报表 数据。
[0139] 步骤S590、根据所述报表数据中待插入数据的位置坐标,确定待插入数据在所述 目标报表模板中的插入位置坐标;
[0140] 步骤S600、根据所述插入位置坐标,将待插入数据填充至所述目标报表模板中。
[0141] 相比于上一实施例,本实施例中介绍了将报表数据填充至目标报表模板的过程, 即首先确定各待插入数据在目标报表模板中的插入位置坐标,进而将其插入到对应位置。
[0142] 下面对本申请实施例提供的报表生成装置进行描述,下文描述的报表生成装置与 上文描述的报表生成方法可相互对应参照。
[0143] 参见图6,图6为本申请实施例公开的一种报表生成装置结构示意图。
[0144] 如图6所示,该装置包括:
[0145] 请求响应单元61,用于响应用户的报表生成请求,从预置的报表模板库中调取与 用户请求的报表类型相同的目标报表模板;
[0146] 模板配置库查询单元62,用于查询报表模板配置库,从中获取所述目标报表模板 的配置信息,所述配置信息包括目标报表模板中待插入数据的位置,W及各位置对应的待 插入数据的数据库获取方法;
[0147] 报表数据获取单元63,用于利用所述目标报表模板的配置信息,从数据库中获取 报表数据;
[0148] 报表数据填充单元64,用于将所述报表数据填充至所述目标报表模板,得到报表。
[0149] 本申请实施例提供的报表生成装置,响应用户的报表生成请求,从预置的报表模 板库中调取与用户请求的报表类型相同的目标报表模板,进一步查询报表模板配置库,从 中获取所述目标报表模板的配置信息,所述配置信息包括目标报表模板中待插入数据的位 置,W及各位置对应的待插入数据的数据库获取方法,然后利用所述目标报表模板的配置 信息,从数据库中获取报表数据,将报表数据填充至所述目标报表模板,得到报表。本申请 预先设置了多种类型的报表模板,进而在用户请求时直接读取对应的报表模板,加快了报 表创建过程。并且,本申请预先设置了报表模板中各待插入数据的数据库获取方法,进而实 现各个待插入数据的自动获取,并最终将获取的待插入数据插入至报表模板对应位置,整 个过程用户仅需要发送一个报表生成请求即可,操作简单方便。
[0150] 可选的,本申请公开了上述报表数据获取单元的一种可选结构,所述报表数据获 取单元可W包括:
[0151 ]待插入数据分组单元,用于对所述目标报表模板中的待插入数据进行分组;
[0152] 线程调用单元,用于利用与各分组分别对应的线程,获取对应分组内的待插
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1