[发明专利]一种报表导出方法及装置有效
申请号: | 202211258855.5 | 申请日: | 2022-10-14 |
公开(公告)号: | CN115600567B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 甘志新;姚纪卫;张东升 | 申请(专利权)人: | 安芯网盾(北京)科技有限公司 |
主分类号: | G06F40/18 | 分类号: | G06F40/18;G06F16/22;G06F9/48;G06F9/50 |
代理公司: | 北京中创云知识产权代理事务所(普通合伙) 11837 | 代理人: | 徐辉 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报表 导出 方法 装置 | ||
1.一种报表导出方法,其特征在于,所述方法包括:
根据至少一个客户端发送的报表导出请求,提取导出任务信息并将导出任务信息及其状态存储在数据库的列表中;所述导出任务信息包括任务ID和查询条件;
依次向通道监听队列发送与所述导出任务信息相对应的任务注册信息,同时返回已添加导出任务的消息至客户端;
依次根据通道监听队列中的任务注册信息,激活各任务注册信息对应的注册函数;
将各注册函数分配至多个不同类型的服务中以并发执行各注册函数并生成导出文件;针对所述多个不同类型的服务中的每一个服务,根据任务ID将各注册函数依次分配至不同的CPU中执行;所述不同的CPU之间相互独立;针对所述不同的CPU中的每一个CPU,将待查询数据根据查询条件进行数据等量切分,以使得该CPU以并发方式执行查询任务以生成查询数据,所述待查询数据为注册函数对应的导出任务信息中的待查询数据;
将CPU生成的查询数据按照查询条件中排序字段,依次放入通道导出文件队列;依次提取通道导出文件队列中的查询数据,将所述查询数据写入对应的文件中以生成导出文件;
将导出文件输出至文件服务器,以使得客户端从该文件服务器中下载导出文件。
2.根据权利要求1所述的方法,其特征在于,
所述将各注册函数分配至多个不同类型的服务中,包括根据各注册函数对应的查询条件分配不同类型的服务。
3.根据权利要求2所述的方法,其特征在于,所述任务注册信息包括注册消息和注册状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
针对已向通道监听队列发送的导出任务信息,根据该导出任务相对应的注册消息和注册状态生成已导出任务识别码。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
通过设置环境变量控制可用CPU的数量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
更新数据库列表中的导出任务信息状态,以使得客户端根据更新的导出任务信息状态从文件服务器中下载导出文件。
7.一种报表导出装置,其特征在于,所述装置包括:
导出任务信息提取模块,用于根据至少一个客户端发送的报表导出请求,提取导出任务信息并将导出任务信息及其状态存储在数据库的列表中;所述导出任务信息包括任务ID和查询条件;
任务注册信息发送模块,用于依次向通道监听队列发送与所述导出任务信息相对应的任务注册信息,同时返回已添加导出任务的消息至客户端;
注册函数激活模块,用于依次根据通道监听队列中的任务注册信息,激活各任务注册信息对应的注册函数;
导出文件生成模块,用于将各注册函数分配至多个不同类型的服务中以并发执行各注册函数并生成导出文件;针对所述多个不同类型的服务中的每一个服务,根据任务ID将各注册函数依次分配至不同的CPU中执行;所述不同的CPU之间相互独立;针对所述不同的CPU中的每一个CPU,将待查询数据根据查询条件进行数据等量切分,以使得该CPU以并发方式执行查询任务以生成查询数据,所述待查询数据为注册函数对应的导出任务信息中的待查询数据;
将CPU生成的查询数据按照查询条件中排序字段,依次放入通道导出文件队列;依次提取通道导出文件队列中的查询数据,将所述查询数据写入对应的文件中以生成导出文件;
导出文件输出模块,用于将导出文件输出至文件服务器,以使得客户端从该文件服务器中下载导出文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安芯网盾(北京)科技有限公司,未经安芯网盾(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211258855.5/1.html,转载请声明来源钻瓜专利网。