基于网络报表的取数装置和方法

文档序号:6443795阅读:254来源:国知局
专利名称:基于网络报表的取数装置和方法
技术领域
本发明涉及数据获取技术领域,具体而言,涉及一种基于网络报表的取数装置和方法。
背景技术
报表通过查询、统计和分析,为企业提供所需的准确数据。企业级报表系统最显著的特征是它产生高度灵活报表格式的能力,数据能够以各种形式展现给信息消费者,而且业务报表需要为消费者查询实时的数据。
现有的报表是居于微软的R印ortView控件接口进行设计,这种设计思路是把大部分工作交给控件在web端来完成。微软Iteportview控件在界面展现时需要获取全部数据,并缓存到Web服务器上,经过内存计算才能展现,且计算过程中一直占用内存。当大数据量的情况下,缓存的数据会使得IISanternet Information Services,互联网信息服务)内存泄漏。一般当IIS内存达到IIS内存上限时(大概是1.8G),报表会提示“资源被占用”或者报内存溢出的黄页。由于每次都获取全部数据才能展现,因此报表取数的效率也有严重问题。
相关技术方案中,采用直接查询全部数据,并把全部数据缓存到TOB服务器的内存中,后由IteportView控件在内存中对数据进行处理,并对数据进行分页,最后获取当前页需要的数据在界面上进行显示。具体的技术方案的原理示意图如图3所示。
上述技术方案由于全部数据获取后,就交给R印ortView控件放在内存中进行处理,需要页面关闭时才释放内存,且每次数据都需要全部输出,会有效率问题,当数据量很大时,就会有内存溢出现象。
具体实现步骤是
1、用户申请一个报表查询请求;
2、系统弹出一个查询界面,用户设置报表的查询条件,分组列和排序列;
3、按照用户设置的查询条件,读取符合条件的全部数据集;
4、读取的数据集缓存到Session对象中;
5、把kssion对象中的数据绑定到R印ortView控件上;
6、ReportView控件根据排序列对数据进行排序;
7、ReportView控件的内置的表达式引擎根据系统预置的计算公式和计算列进行解析,并计算出表达式的值;
8、由R印ortView控件的引擎处理数据的分组,分页及小记等;
9、最后,根据显示列输出到页面上;
10、页面关闭时,对%8^011对象缓存的数据进行释放;
由于上述方案依赖于R印ortView控件的引擎,通过控件引擎进行数据的分组、分页及小记等,因此,控件需要全部的数据才能运算,大数据缓存在WEB服务器上,必然会导致WEB服务器的内存溢出,产品运行越来越慢的现象。
因此,需要一种新的基于网络报表的取数技术,可以准确获取部分数据,避免服务器缓存不足。发明内容
本发明正是基于上述问题,提出了一种新的基于网络报表的取数技术,可以准确获取部分数据,避免服务器缓存不足。
有鉴于此,本发明提出了一种基于网络报表的取数装置,包括请求发送单元,将来自浏览器的报表查询请求发送至网络服务器,所述报表查询请求包括查询条件、排序条件及分组条件;数据获取单元,所述网络服务器根据所述查询条件,从数据库中获取对应的报表数据;报表创建单元,在所述网络服务器中建立第一中间表、第二中间表和第三中间表;数据导入单元,将所述数据获取单元获取的所述报表数据导入所述第一中间表中,将来自排序单元的报表数据导入所述第二中间表中,以及将来自分组单元的报表数据导入所述第三中间表中;序号添加单元,在所述第一中间表中添加对应于其中每行报表数据的自增长的第一序号列,以及为所述第二中间表添加对应于其中每行报表数据的自增长的第二序号列;所述排序单元,按照所述排序条件将所述第一中间表中的报表数据进行排序;所述分组单元,按照所述分组条件将所述第二中间表中的报表数据进行分组;依赖数值确定单元,获取所述第三中间表中的每行数据对应于所述第二序号列中的关联序号,并将所述关联序号的数值作为依赖数值;数值范围确定单元,获取每组数据中的最大依赖数值和最小依赖数值,并将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值作为数值范围;数据输出单元,按照所述依赖数值、所述第二序号列及所述第一序号列之间的对应关系,将所述报表数据中对应于所述所有依赖数值的数据输出至所述浏览器。
在该技术方案中,当服务器根据用户的查询条件,当数据库中获取了对应的数据时,与该条件相关的数据中,包含了很多实际上并不需要的数据,因而当存储至服务器的缓存中时,就可能导致服务器缓存不足、甚至溢出。而通过本发明的技术方案,可以首先确定出用户真正需要的那部分数据,然后仅将该部分数据存储至服务器的缓存中,从而避免了缓存的溢出问题,提高运行效率。此外,这里提及的“自增长”是指,在第一中间表和第二中间表中,分别添加一列,该列的行数不定,而是根据获取的数据的行数的增加而自动增长, 保证为每一行数据添加上对应的序号。“依赖数值”是指,对于某一行的数据,与其存在关联关系的数据的范围,从而确定真正需要获取的数据。
在上述技术方案中,优选地,还包括索引建立单元,根据所述报表数据及其对应的项目,为所述第一中间表建立索引。在该技术方案中,通过建立索引,便于数据的查找和对数据范围的确定。
在上述技术方案中,优选地,还包括索引复制单元,在所述第二中间表和所述第三中间表中使用所述索引建立单元建立的所述索引。在该技术方案中,由于第一中间表、第二中间表和第三中间表之间存在的相互关系,可以将在第一中间表中建立的索引用于第二中间表和第三中间表中,增加通用性的同时,也不必另外生成,节省资源。
在上述技术方案中,优选地,还包括存储单元,将所述数据获取单元获取的所述报表数据存储在所述网络服务器的内存中;以及内存释放单元,在所述数据输出单元将所述所有依赖数值对应的报表数据输出至所述浏览器之后,删除存储在所述网络服务器的所述内存中的数据。在该技术方案中,通过对内存的及时释放,避免发生内存溢出,影响运行效率。
在上述技术方案中,优选地,还包括分级单元,在存在多个所述分组条件的情况下,建立分组的级别,则所述第三中间表中的每行数据属于多个级别的分组;以及所述数值范围确定单元还用于分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值作为所述数值范围。在该技术方案中,每行数据具有至少一个分组条件的限制,在存在多个分组条件时,比如η个条件,则一行数据最多受到η个条件限制,而多行数据最少受到1个条件限制,那么,对于受到更少条件限制的行数据,设置为最高级别,此时,对于每个条件,都对应存在一部分行数据属于最高级别,分别获取对应的最高级别的依赖数值,用于最后获取数据的范围。
根据本发明的又一方面,还提出了一种基于网络报表的取数方法,包括步骤 202,网络服务器接收来自浏览器的报表查询请求,所述报表查询请求包括查询条件、排序条件及分组条件;步骤204,所述网络服务器根据所述查询条件,从数据库中获取对应的报表数据;步骤206,在所述网络服务器建立第一中间表,将所述报表数据导入所述第一中间表;步骤208,在所述第一中间表中添加对应于其中每行报表数据的自增长的第一序号列; 步骤210,建立第二中间表,按照所述排序条件将所述第一中间表中的报表数据进行排序后,导入所述第二中间表;步骤212,为所述第二中间表添加对应于其中每行报表数据的自增长的第二序号列;步骤214,建立第三中间表,按照所述分组条件将所述第二中间表中的报表数据进行分组后,导入所述第三中间表;步骤216,获取所述第三中间表中的每行数据对应于所述第二序号列中的关联序号,并将所述关联序号的数值作为依赖数值;步骤218, 获取每组数据中的最大依赖数值和最小依赖数值,并按照所述依赖数值、所述第二序号列及所述第一序号列之间的对应关系,将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值在所述报表数据中对应的数据输出至所述浏览器。
在该技术方案中,当服务器根据用户的查询条件,当数据库中获取了对应的数据时,与该条件相关的数据中,包含了很多实际上并不需要的数据,因而当存储至服务器的缓存中时,就可能导致服务器缓存不足、甚至溢出。而通过本发明的技术方案,可以首先确定出用户真正需要的那部分数据,然后仅将该部分数据存储至服务器的缓存中,从而避免了缓存的溢出问题,提高运行效率。此外,这里提及的“自增长”是指,在第一中间表和第二中间表中,分别添加一列,该列的行数不定,而是根据获取的数据的行数的增加而自动增长, 保证为每一行数据添加上对应的序号。“依赖数值”是指,对于某一行的数据,与其存在关联关系的数据的范围,从而确定真正需要获取的数据。
在上述技术方案中,优选地,在所述步骤206中,还包括根据所述报表数据及其对应的项目,为所述第一中间表建立索引。在该技术方案中,通过建立索引,便于数据的查找和对数据范围的确定。
在上述技术方案中,优选地,还包括在所述第二中间表和所述第三中间表中使用所述索引。在该技术方案中,由于第一中间表、第二中间表和第三中间表之间存在的相互关系,可以将在第一中间表中建立的索引用于第二中间表和第三中间表中,增加通用性的同时,也不必另外生成,节省资源。
在上述技术方案中,优选地,在所述步骤204中,包括将所述报表数据存储在所述网络服务器的内存中;在所述步骤218中,还包括删除存储在所述网络服务器的所述内存中的数据。在该技术方案中,通过对内存的及时释放,避免发生内存溢出,影响运行效率。
在上述技术方案中,优选地,在所述步骤218中,还包括若存在多个所述分组条件,则所述第三中间表中的每行数据属于多个级别的分组,分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并分别获取对应的报表数据。在该技术方案中,每行数据具有至少一个分组条件的限制,在存在多个分组条件时,比如η个条件,则一行数据最多受到η个条件限制,而多行数据最少受到1个条件限制,那么,对于受到更少条件限制的行数据,设置为最高级别,此时,对于每个条件,都对应存在一部分行数据属于最高级别,分别获取对应的最高级别的依赖数值,用于最后获取数据的范围。
通过以上技术方案,可以准确获取部分数据,避免服务器缓存不足。


图1示出了根据本发明的实施例的基于网络报表的取数装置的框图2示出了根据本发明的实施例的基于网络报表的取数方法的流程图3示出了相关技术的获取报表数据的示意图4示出了根据本发明的实施例的获取报表数据的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的基于网络报表的取数装置的框图。
如图1所示,根据本发明的实施例的基于网络报表的取数装置100,包括请求发送单元102,将来自浏览器的报表查询请求发送至网络服务器,报表查询请求包括查询条件、排序条件及分组条件;数据获取单元104,网络服务器根据查询条件,从数据库中获取对应的报表数据;报表创建单元106,在网络服务器中建立第一中间表、第二中间表和第三中间表;数据导入单元108,将数据获取单元104获取的报表数据导入第一中间表中,将来自排序单元112的报表数据导入第二中间表中,以及将来自分组单元114的报表数据导入第三中间表中;序号添加单元110,在第一中间表中添加对应于其中每行报表数据的自增长的第一序号列,以及为第二中间表添加对应于其中每行报表数据的自增长的第二序号列;排序单元112,按照排序条件将第一中间表中的报表数据进行排序;分组单元114,按照分组条件将第二中间表中的报表数据进行分组;依赖数值确定单元116,获取第三中间表中的每行数据对应于第二序号列中的关联序号,并将关联序号的数值作为依赖数值;数值范围确定单元118,获取每组数据中的最大依赖数值和最小依赖数值,并将最大依赖数值与最小依赖数值之间的所有依赖数值作为数值范围;数据输出单元120,按照依赖数值、第二序号列及第一序号列之间的对应关系,将报表数据中对应于所有依赖数值的数据输出至浏IrWSB 见益。
在该技术方案中,当服务器根据用户的查询条件,当数据库中获取了对应的数据时,与该条件相关的数据中,包含了很多实际上并不需要的数据,因而当存储至服务器的缓存中时,就可能导致服务器缓存不足、甚至溢出。而通过本发明的技术方案,可以首先确定出用户真正需要的那部分数据,然后仅将该部分数据存储至服务器的缓存中,从而避免了缓存的溢出问题,提高运行效率。此外,这里提及的“自增长”是指,在第一中间表和第二中间表中,分别添加一列,该列的行数不定,而是根据获取的数据的行数的增加而自动增长, 保证为每一行数据添加上对应的序号。“依赖数值”是指,对于某一行的数据,与其存在关联关系的数据的范围,从而确定真正需要获取的数据。
在上述技术方案中,还包括索引建立单元122,根据报表数据及其对应的项目, 为第一中间表建立索引。在该技术方案中,通过建立索引,便于数据的查找和对数据范围的确定。
在上述技术方案中,还包括索引复制单元124,在第二中间表和第三中间表中使用索引建立单元122建立的索引。在该技术方案中,由于第一中间表、第二中间表和第三中间表之间存在的相互关系,可以将在第一中间表中建立的索引用于第二中间表和第三中间表中,增加通用性的同时,也不必另外生成,节省资源。
在上述技术方案中,还包括存储单元126,将数据获取单元104获取的报表数据存储在网络服务器的内存中;以及内存释放单元128,在数据输出单元120将所有依赖数值对应的报表数据输出至浏览器之后,删除存储在网络服务器的内存中的数据。在该技术方案中,通过对内存的及时释放,避免发生内存溢出,影响运行效率。
在上述技术方案中,还包括分级单元130,在存在多个分组条件的情况下,建立分组的级别,则第三中间表中的每行数据属于多个级别的分组;以及数值范围确定单元 118还用于分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并将最大依赖数值与最小依赖数值之间的所有依赖数值作为数值范围。在该技术方案中,每行数据具有至少一个分组条件的限制,在存在多个分组条件时,比如η个条件,则一行数据最多受到 η个条件限制,而多行数据最少受到1个条件限制,那么,对于受到更少条件限制的行数据, 设置为最高级别,此时,对于每个条件,都对应存在一部分行数据属于最高级别,分别获取对应的最高级别的依赖数值,用于最后获取数据的范围。
图2示出了根据本发明的实施例的基于网络报表的取数方法的流程图。
如图2所示,根据本发明的实施例的基于网络报表的取数方法,包括步骤202, 网络服务器接收来自浏览器的报表查询请求,报表查询请求包括查询条件、排序条件及分组条件;步骤204,网络服务器根据查询条件,从数据库中获取对应的报表数据;步骤206, 在网络服务器建立第一中间表,将报表数据导入第一中间表;步骤208,在第一中间表中添加对应于其中每行报表数据的自增长的第一序号列;步骤210,建立第二中间表,按照排序条件将第一中间表中的报表数据进行排序后,导入第二中间表;步骤212,为第二中间表添加对应于其中每行报表数据的自增长的第二序号列;步骤214,建立第三中间表,按照分组条件将第二中间表中的报表数据进行分组后,导入第三中间表;步骤216,获取第三中间表中的每行数据对应于第二序号列中的关联序号,并将关联序号的数值作为依赖数值;步骤 218,获取每组数据中的最大依赖数值和最小依赖数值,并按照依赖数值、第二序号列及第一序号列之间的对应关系,将最大依赖数值与最小依赖数值之间的所有依赖数值在报表数据中对应的数据输出至浏览器。
在该技术方案中,当服务器根据用户的查询条件,当数据库中获取了对应的数据时,与该条件相关的数据中,包含了很多实际上并不需要的数据,因而当存储至服务器的缓存中时,就可能导致服务器缓存不足、甚至溢出。而通过本发明的技术方案,可以首先确定出用户真正需要的那部分数据,然后仅将该部分数据存储至服务器的缓存中,从而避免了缓存的溢出问题,提高运行效率。此外,这里提及的“自增长”是指,在第一中间表和第二中间表中,分别添加一列,该列的行数不定,而是根据获取的数据的行数的增加而自动增长, 保证为每一行数据添加上对应的序号。“依赖数值”是指,对于某一行的数据,与其存在关联关系的数据的范围,从而确定真正需要获取的数据。
在上述技术方案中,在步骤206中,还包括根据报表数据及其对应的项目,为第一中间表建立索引。在该技术方案中,通过建立索引,便于数据的查找和对数据范围的确定。
在上述技术方案中,还包括在第二中间表和第三中间表中使用索引。在该技术方案中,由于第一中间表、第二中间表和第三中间表之间存在的相互关系,可以将在第一中间表中建立的索引用于第二中间表和第三中间表中,增加通用性的同时,也不必另外生成,节省资源。
在上述技术方案中,在步骤204中,包括将报表数据存储在网络服务器的内存中;在步骤218中,还包括删除存储在网络服务器的内存中的数据。在该技术方案中,通过对内存的及时释放,避免发生内存溢出,影响运行效率。
在上述技术方案中,在步骤218中,还包括若存在多个分组条件,则第三中间表中的每行数据属于多个级别的分组,分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并分别获取对应的报表数据。在该技术方案中,每行数据具有至少一个分组条件的限制,在存在多个分组条件时,比如η个条件,则一行数据最多受到η个条件限制,而多行数据最少受到1个条件限制,那么,对于受到更少条件限制的行数据,设置为最高级别,此时,对于每个条件,都对应存在一部分行数据属于最高级别,分别获取对应的最高级别的依赖数值,用于最后获取数据的范围。
图4示出了根据本发明的实施例的获取报表数据的示意图。
如图4所示,为了解决在如图3中的相关技术中出现的报表取数的效率问题和报表运算时的内存溢出问题,对设计方案进行了修改,数据不全部缓存到应用服务器端,而是分数据块进行读取,为了减少数据对缓存的占用,只对块的数据进行缓存,并对第一页进行少量读取,而后再对数据块读取,这样缓存到服务器端的数据会很少,并且第一次读取的数据也比较少,这样,大数据量也不会对应用服务器造成影响。
这种实现方案是先读取数据放入中间表中,然后对中间表的数据进行加工处理, 获取到当前页需要进行分组计算的所有数据,对数据计算完成后,把数据返回到页面上,并对当前显示页的数据进行输出。
具体实现步骤如下
—、中间表数据排序的实现
1、用户申请一个报表查询请求;
2、系统弹出一个查询界面,用户设置报表的查询条件,分组列和排序列;
3、按照设置的查询条件,读取符合条件的数据,并写入到临时表Tabl中,同时增加一列自增长列;
4、根据查询的排序字段,建立临时表索引;
5、按照排序字段对临时表Tabl中的数据进行排序,并取临时表中的自增长列再生成另一张临时表Tab2,并在临时表Tab2中增加一列自增长列;
6、此时,表Τ 2是一张排序后的数据表。
二、明细表取数实现
1、根据排序后的Tab2去关联Tabl,可以读取到任何一个分页的数据块;
2、数据块通过表达式引擎解析后,得到报表需要展现的数据块;
3、按照显示列与分页数据,对数据进行组织,准备输出;
3、数据块传递到前端后,显示到页面上,系统从内存中释放数据块。
三、明细小计取数实现
1、根据排序后的临时表Tab2和分组条件,生成一张分组分页的临时数据表Tab3, 此表增加了最大依赖列和最小依赖列,级次列和自增长列;
2、Tab3最大依赖列及最小依赖列数据来源于Tab2的自增长列;
3、由于小计行在明细行的下方,因此下一页的小计行的数据需要依赖上页的明细数据。通过最小依赖列,获取当前显示页依赖数据;
4、读取包含依赖数据的数据块,通过表达式解析,得到当前报表需要显示的数据块;
5、数据传递到前端后,显示到页面上,系统从内存中释放数据块。
四、汇总表取数实现
汇总表取数算法实现与小计取数算法实现类似,只是数据倒序排列,实现如下
1、根据排序后的临时表Τ 2和分组条件,生成一张倒排的分组分页的临时数据表Tab4,此表增加了最大依赖列和最小依赖列,级次列和自增长列;
2、Tab4最大依赖列及最小依赖列数据来源于Tab2的自增长列;
3、由于汇总行在汇总明细行的上方,因此上一页的汇总行的数据需要依赖下页的汇总明细数据。通过最大依赖列,获取当前显示页依赖数据;
4、读取包含依赖数据的数据块,通过表达式解析,得到当前报表需要显示的数据块;
5、数据传递到前端后,显示到页面上,系统从内存中释放数据块。
比如在明细小计时,由用户填写查询条件,由服务器根据跟条件获取相关的数据, 这些数据都是无排序数据,导入到第一中间表中,并建立索引,具体如表1所示
权利要求
1.一种基于网络报表的取数装置,其特征在于,包括请求发送单元,将来自浏览器的报表查询请求发送至网络服务器,所述报表查询请求包括查询条件、排序条件及分组条件;数据获取单元,所述网络服务器根据所述查询条件,从数据库中获取对应的报表数据;报表创建单元,在所述网络服务器中建立第一中间表、第二中间表和第三中间表; 数据导入单元,将所述数据获取单元获取的所述报表数据导入所述第一中间表中,将来自排序单元的报表数据导入所述第二中间表中,以及将来自分组单元的报表数据导入所述第三中间表中;序号添加单元,在所述第一中间表中添加对应于其中每行报表数据的自增长的第一序号列,以及为所述第二中间表添加对应于其中每行报表数据的自增长的第二序号列; 所述排序单元,按照所述排序条件将所述第一中间表中的报表数据进行排序; 所述分组单元,按照所述分组条件将所述第二中间表中的报表数据进行分组; 依赖数值确定单元,获取所述第三中间表中的每行数据对应于所述第二序号列中的关联序号,并将所述关联序号的数值作为依赖数值;数值范围确定单元,获取每组数据中的最大依赖数值和最小依赖数值,并将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值作为数值范围;数据输出单元,按照所述依赖数值、所述第二序号列及所述第一序号列之间的对应关系,将所述报表数据中对应于所述所有依赖数值的数据输出至所述浏览器。
2.根据权利要求1所述的基于网络报表的取数装置,其特征在于,还包括索引建立单元,根据所述报表数据及其对应的项目,为所述第一中间表建立索引。
3.根据权利要求2所述的基于网络报表的取数装置,其特征在于,还包括索引复制单元,在所述第二中间表和所述第三中间表中使用所述索引建立单元建立的所述索引。
4.根据权利要求1至3中任一项所述的基于网络报表的取数装置,其特征在于,还包括存储单元,将所述数据获取单元获取的所述报表数据存储在所述网络服务器的内存中;以及内存释放单元,在所述数据输出单元将所述所有依赖数值对应的报表数据输出至所述浏览器之后,删除存储在所述网络服务器的所述内存中的数据。
5.根据权利要求1至3中任一项所述的基于网络报表的取数装置,其特征在于,还包括分级单元,在存在多个所述分组条件的情况下,建立分组的级别,则所述第三中间表中的每行数据属于多个级别的分组;以及所述数值范围确定单元还用于分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值作为所述数值范围。
6.一种基于网络报表的取数方法,其特征在于,包括步骤202,网络服务器接收来自浏览器的报表查询请求,所述报表查询请求包括查询条件、排序条件及分组条件;步骤204,所述网络服务器根据所述查询条件,从数据库中获取对应的报表数据; 步骤206,在所述网络服务器建立第一中间表,将所述报表数据导入所述第一中间表; 步骤208,在所述第一中间表中添加对应于其中每行报表数据的自增长的第一序号列;步骤210,建立第二中间表,按照所述排序条件将所述第一中间表中的报表数据进行排序后,导入所述第二中间表;步骤212,为所述第二中间表添加对应于其中每行报表数据的自增长的第二序号列; 步骤214,建立第三中间表,按照所述分组条件将所述第二中间表中的报表数据进行分组后,导入所述第三中间表;步骤216,获取所述第三中间表中的每行数据对应于所述第二序号列中的关联序号,并将所述关联序号的数值作为依赖数值;步骤218,获取每组数据中的最大依赖数值和最小依赖数值,并按照所述依赖数值、所述第二序号列及所述第一序号列之间的对应关系,将所述最大依赖数值与所述最小依赖数值之间的所有依赖数值在所述报表数据中对应的数据输出至所述浏览器。
7.根据权利要求6所述的基于网络报表的取数方法,其特征在于,在所述步骤206中, 还包括根据所述报表数据及其对应的项目,为所述第一中间表建立索引。
8.根据权利要求7所述的基于网络报表的取数方法,其特征在于,还包括 在所述第二中间表和所述第三中间表中使用所述索引。
9.根据权利要求6至8中任一项所述的基于网络报表的取数方法,其特征在于,在所述步骤204中,包括将所述报表数据存储在所述网络服务器的内存中;以及在所述步骤218中,还包括删除存储在所述网络服务器的所述内存中的数据。
10.根据权利要求6至8中任一项所述的基于网络报表的取数方法,其特征在于,在所述步骤218中,还包括若存在多个所述分组条件,则所述第三中间表中的每行数据属于多个级别的分组,分别获取每个最高级别分组中的最大依赖数值和最小依赖数值,并分别获取对应的报表数据。
全文摘要
本发明提供了一种基于网络报表的取数装置和方法,该装置包括请求发送单元,将报表查询请求发送至网络服务器;数据获取单元,获取报表数据;报表创建单元,建立第一中间表、第二中间表和第三中间表;数据导入单元,将对应的报表数据导入第一中间表、第二中间表、第三中间表;序号添加单元,在第一中间表中添加第一序号列,为第二中间表添加第二序号列;排序单元,将第一中间表中的报表数据进行排序;分组单元,将第二中间表中的报表数据进行分组;依赖数值确定单元,确定依赖数值;数值范围确定单元,确定数值范围;数据输出单元,将报表数据中的相应数据输出至浏览器。通过本发明的技术方案,可以准确获取部分数据,避免服务器缓存不足。
文档编号G06F17/30GK102521413SQ201110448080
公开日2012年6月27日 申请日期2011年12月28日 优先权日2011年12月28日
发明者樊进忠 申请人:畅捷通信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1