admin 管理员组

文章数量: 1086019


2024年4月23日发(作者:countif函数对成绩进行排名)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.2

(22)申请日 2013.09.04

(71)申请人 广东全通教育股份有限公司

地址 528400 广东省中山市东区库充大街一号综合商业楼第五层

(72)发明人 陈炽昌 胡磊 高祖辉 冼星光

(74)专利代理机构 深圳市君胜知识产权代理事务所

代理人 王永文

(51)

G06F17/30

权利要求说明书 说明书 幅图

(10)申请公布号 CN 103412961 A

(43)申请公布日 2013.11.27

(54)发明名称

一种实时导出海量数据报表的处理

方法和系统

(57)摘要

本发明公开了一种实时导出海量数

据报表的处理方法和系统,其中,所述方

法包括:根据用户指令请求服务器导出分

析统计数据,并把其放入session中,通过

Session的ID查看报表处理的状态;服务

器根据Session中报表的文件名和路径下载

线程保存的报表文件进行下载,同时删除

服务器中保存的报表文件。其利用多线程

技术和AJAX技术综合应用,使得在超时

时间内与服务器交互,从根本上解决了服

务器连接超时的问题,同时满足客户导出

任何时段的海量数据报表,其数据实时高

效,学习成本低,可封装成公共模块供开

发使用,提高了开发者工作效率,其报表

需求响应平均时间从2天降低到0.8天。

法律状态

法律状态公告日

法律状态信息

专利权人的姓名或者名称、地址

的变更IPC(主分类):G06F17/30

专利号:ZL2变更事

项:专利权人变更前:广东全通教

育股份有限公司变更后:全通教育

2022-11-18

集团(广东)股份有限公司变更事

项:地址变更前:528400 广东省中

山市东区库充大街一号综合商业

楼第五层变更后:528400 广东省

中山市东区中山四路88号尚峰金

融商务中心5座18层之一

法律状态

专利权人的姓名或者

名称、地址的变更

权 利 要 求 说 明 书

1.一种实时导出海量数据报表的处理方法,其特征在于,所述方法包括以下步骤:

A、根据用户指令确定需要导出数据条件,请求服务器导出分析统计数据,并把其

封装成对象放入session中,同时,服务器开启一线程分析统计数据生成报表保存

服务器,把Session的ID返回浏览器;

B、浏览器获得session 的ID,停留一预定时间,异步请求服务器,通过Session的

ID查看报表处理的状态;

C、当查看session中报表处理的状态为True时,返回成功的标志,浏览器自动提

交session的ID;

D、服务器根据Session中报表的文件名和路径下载线程保存的报表文件进行下载,

同时删除服务器中保存的报表文件。

2.根据权利要求1所述的实时导出海量数据报表的处理方法,其特征在于,所述步

骤A中请求服务器导出分析统计数据,并把其封装成对象放入session中具体包括:

服务器自定义唯一的报表文件名、保存生成报表的文件路径、以及报表处理的状态,

封装成对象放入session中。

3.根据权利要求1所述的实时导出海量数据报表的处理方法,其特征在于,所述步

骤C中还包括:

当分析统计数据生成报表保存服务器的线程处理完时改变session中报表处理的状

态为True时,线程结束。

4.根据权利要求1所述的实时导出海量数据报表的处理方法,其特征在于,所述步

骤B中预定时间为根据服务器超时的时间确定的。

5.根据权利要求1所述的实时导出海量数据报表的处理方法,其特征在于,所述步

骤B中预定时间为7秒钟。

6.一种实时导出海量数据报表的处理系统,其特征在于,包括:

监控单元,用于根据用户指令确定需要导出数据条件,请求服务器导出分析统计数

据,并把其封装成对象放入session中,同时,服务器开启一线程分析统计数据生

成报表保存服务器,把Session的ID返回浏览器;

查看单元,用于浏览器获得session 的ID,停留一预定时间,异步请求服务器,通

过Session的ID查看报表处理的状态;

返回单元,用于当查看session中报表处理的状态为True时,返回成功的标志,浏

览器自动提交session的ID;

下载单元,用于服务器根据Session中报表的文件名和路径下载线程保存的报表文

件进行下载,同时删除服务器中保存的报表文件。

7.根据权利要求6所述的实时导出海量数据报表的处理系统,其特征在于,所述查

看单元中预定时间为根据服务器超时的时间确定的。

8.根据权利要求7所述的实时导出海量数据报表的处理系统,其特征在于,所述查

看单元中预定时间为7秒钟。

说 明 书

技术领域

本发明涉及数据处理技术领域,尤其涉及一种实时导出海量数据报表的处理方法和

系统。

背景技术

业务报表、运营报表、运维报表等数据报表随着时间的推移,系统业务数据在不同

期间会有相当数量的数据统计需求。在通常构建系统过程中确保系统的安全与稳定,

设定服务器连接超时的时间是必须的,在传统的需求开发者开发时往往忽略海量数

据在统计时产生的连接服务器超时问题,然而改变服务器与客户端(浏览器)的响

应时间则是因小失大,影响系统的安全与稳定;改变导出数据的时间段减少导出报

表的数据是治标不治本,而且效率不高客户体验度差,特别是中国式的企业统计报

表,个性化要求比较高,依靠改变时间段生成导出不完整的数据报表并不能完全满

足。

有鉴于此,现有技术有待改进和提高。

发明内容

鉴于现有技术中的不足,本发明目的在于提供一种实时导出海量数据报表的处理方

法和系统。旨在解决现有技术中数据报表导出效率低、客户体验度差等问题。

本发明的技术方案如下:

一种实时导出海量数据报表的处理方法,其中,所述方法包括以下步骤:

A、根据用户指令确定需要导出数据条件,请求服务器导出分析统计数据,并把其

封装成对象放入session中,同时,服务器开启一线程分析统计数据生成报表保存

服务器,把Session的ID返回浏览器;

B、浏览器获得session 的ID,停留一预定时间,异步请求服务器,通过Session的

ID查看报表处理的状态;

C、当查看session中报表处理的状态为True时,返回成功的标志,浏览器自动提

交session的ID;

D、服务器根据Session中报表的文件名和路径下载线程保存的报表文件进行下载,

同时删除服务器中保存的报表文件。

所述的实时导出海量数据报表的处理方法,其中,所述步骤A中请求服务器导出

分析统计数据,并把其封装成对象放入session中具体包括:

服务器自定义唯一的报表文件名、保存生成报表的文件路径、以及报表处理的状态,

封装成对象放入session中。

所述的实时导出海量数据报表的处理方法,其中,所述步骤C中还包括:

当分析统计数据生成报表保存服务器的线程处理完时改变session中报表处理的状

态为True时,线程结束。

所述的实时导出海量数据报表的处理方法,其中,所述步骤B中预定时间为根据

服务器超时的时间确定的。

所述的实时导出海量数据报表的处理方法,其中,所述步骤B中预定时间为7秒

钟。

一种实时导出海量数据报表的处理系统,其中,包括:

监控单元,用于根据用户指令确定需要导出数据条件,请求服务器导出分析统计数

据,并把其封装成对象放入session中,同时,服务器开启一线程分析统计数据生

成报表保存服务器,把Session的ID返回浏览器;

查看单元,用于浏览器获得session 的ID,停留一预定时间,异步请求服务器,通

过Session的ID查看报表处理的状态;

返回单元,用于当查看session中报表处理的状态为True时,返回成功的标志,浏

览器自动提交session的ID;

下载单元,用于服务器根据Session中报表的文件名和路径下载线程保存的报表文

件进行下载,同时删除服务器中保存的报表文件。

所述的实时导出海量数据报表的处理系统,其中,所述查看单元中预定时间为根据

服务器超时的时间确定的。

所述的实时导出海量数据报表的处理系统,其中,所述查看单元中预定时间为7秒

钟。

有益效果:

本发明的实时导出海量数据报表的处理方法和系统,利用多线程技术和AJAX技

术综合应用,使得在超时时间内与服务器交互,从根本上解决了服务器连接超时的

问题,同时满足客户导出任何时段的海量数据报表,其数据实时高效,学习成本低,

可封装成公共模块供开发使用,提高了开发者工作效率,其报表需求响应平均时间

从2天降低到0.8天。

附图说明

图1为本发明的实时导出海量数据报表的处理方法的流程图。

图2为本发明的实时导出海量数据报表的处理方法中客户端与服务器的交互的示意

图。

图3为本发明的实时导出海量数据报表的处理系统的结构框图。

具体实施方式

本发明提供一种实时导出海量数据报表的处理方法和系统,为使本发明的目的、技

术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所

描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,其为本发明的实时导出海量数据报表的处理方法的流程图。如图所示,

所述方法包括以下步骤:

S1、根据用户指令确定需要导出数据条件,请求服务器导出分析统计数据,并把

其封装成对象放入session中,同时,服务器开启一线程分析统计数据生成报表保

存服务器,把Session的ID返回浏览器;

S2、浏览器获得session 的ID,停留一预定时间,异步请求服务器,通过Session

的ID查看报表处理的状态;

S3、当查看session中报表处理的状态为True时,返回成功的标志,浏览器自动提

交session的ID;

S4、服务器根据Session中报表的文件名和路径下载线程保存的报表文件进行下载,

同时删除服务器中保存的报表文件。

下面分别针对上述步骤进行详细描述:

所述步骤S1为根据用户指令确定需要导出数据条件,请求服务器导出分析统计数

据,并把其封装成对象放入session中,同时,服务器开启一线程分析统计数据生

成报表保存服务器,把Session的ID返回浏览器。具体来说,用户填写需要导出

的数据条件,请求服务器导出分析统计数据,首先服务器自定义唯一的报表文件名、

保存生成报表的文件路径、这个报表处理的状态(线程是否执行结束的状态?)封

装成对象放入session中,然后开启一个线程分析统计数据生成报表保存服务器,

把Session的ID返回浏览器(即客户端)。

所述步骤S2为浏览器获得session 的ID,停留一预定时间,异步请求服务器,通

过Session的ID查看报表处理的状态。在本实施例中,所述预定时间为根据服务

器超时的时间确定的。一般来说,设置为7秒钟,再异步请求服务器(参数

SessionId),通过Session的ID查看‘报表处理的状态(线程是否执行结束的状

态?)。

所述步骤S3为当查看session中报表处理的状态为True时,返回成功的标志,浏

览器自动提交form(参数session的ID)。进一步地,当分析统计数据生成报表保

存服务器的线程处理完时改变session中报表处理的状态(线程是否执行结束的状

态?)为True,线程结束。

所述步骤S4为服务器根据Session中报表的文件名和路径下载线程保存的报表文

件进行下载,同时删除服务器中保存的报表文件。

上述实时导出海量数据报表的处理方法已经在实践中稳定的导出50万以上的数据

报表。

本发明的实时导出海量数据报表的处理方法,其过程核心有两步:一是提交导出请

求服务器开启一个处理分系统统计海量数据的线程,把报表的信息(线程状态)放

入Session中,并把Session的ID返回浏览器;二是每隔一段时间(其时间必须小

于连接超时的时间)异步请求服务器,通过Session的ID查看线程的状态是否线

程已经结束,如果没有结束则循环查看线程状态,如果线程状态是已经结束则告诉

浏览器提交form表单下载生成的报表文件。所述客户端与服务器的交互过程可以

参见图2。

本发明还提供了一种实时导出海量数据报表的处理系统,如图2所示,所述系统包

括:

监控单元100,用于根据用户指令确定需要导出数据条件,请求服务器导出分析统

计数据,并把其封装成对象放入session中,同时,服务器开启一线程分析统计数

据生成报表保存服务器,把Session的ID返回浏览器;

查看单元200,用于浏览器获得session 的ID,停留一预定时间,异步请求服务器,

通过Session的ID查看报表处理的状态;

返回单元300,用于当查看session中报表处理的状态为True时,返回成功的标志,

浏览器自动提交session的ID;

下载单元400,用于服务器根据Session中报表的文件名和路径下载线程保存的报

表文件进行下载,同时删除服务器中保存的报表文件。

进一步地,所述的实时导出海量数据报表的处理系统中,所述查看单元中预定时间

为根据服务器超时的时间确定的。

进一步地,所述的实时导出海量数据报表的处理系统中,所述查看单元中预定时间

为7秒钟。

上述各个部分的功能都已经在上述方法中进行了详细介绍,这里就不再冗述了。

综上所述,本发明的实时导出海量数据报表的处理方法和系统,利用多线程技术和

AJAX技术综合应用,使得在超时时间内与服务器交互,从根本上解决了服务器连

接超时的问题,同时满足客户导出任何时段的海量数据报表,其数据实时高效,学

习成本低,可封装成公共模块供开发使用,提高了开发者工作效率,其报表需求响

应平均时间从2天降低到0.8天。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可

以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要

求的保护范围。


本文标签: 报表 导出 处理