报表缓存方法和装置制造方法及图纸

技术编号:19903426 阅读:24 留言:0更新日期:2018-12-26 02:54
本发明专利技术公开了一种报表缓存方法和装置,能够保证所有报表数据的可读性和准确性,且能够全方位覆盖报表数据,能够避免人工配置报表的误操作或不合理设置。该方法包括:获取报表;根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表;根据报表分类结果,对所述报表进行缓存操作。

【技术实现步骤摘要】
报表缓存方法和装置
本专利技术涉及计算机
,尤其涉及一种报表缓存方法和装置。
技术介绍
数据库中运行着千万级甚至亿级数量的报表,通过直接连接数据库查询报表时,一个页面有时会有十几二十张甚至更多的报表,当打开页面,所有报表同时进行查询时,很难避免因为多线程同时连接数据库,导致数据库异常或者获取数据较慢的情况,进而导致页面卡顿,用户体验差。为了让用户及时的看见报表数据,从而增加了报表缓存机制。现有报表缓存机制让用户人工定义报表是否缓存、缓存周期以及缓存有效期,然后根据缓存周期、缓存有效期,报表缓存机制缓存数据库中所有报表到缓存服务器。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:1.由于用户水平参差不齐,设置并不是全部合理,有的报表会出现虽设置了缓存,但由于用户设置偏差,导致缓存报表有误的情况;2.对于已缓存的报表,两个缓存周期之间的数据更新,要在后一次缓存之后才能查看;3.报表的数据延误时,会有缓存空数据,导致用户在后一次缓存之后才能查看此数据的情况。
技术实现思路
有鉴于此,本专利技术实施例提供一种报表缓存方法和装置,能够保证所有报表数据的可读性和准确性,且能够全方位覆盖报表数据,能够避免人工配置报表的误操作或不合理设置。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种报表缓存方法。本专利技术实施例一种报表缓存方法包括:获取报表;根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表;根据报表分类结果,对所述报表进行缓存操作。可选地,所述缓存操作包括:将所述缓存报表缓存到缓存服务器;当轮询机制被触发时,对所述待缓存报表进行轮询操作。可选地,所述轮询操作包括:匹配所述待缓存报表的时间类型字段,根据匹配结果将所述待缓存报表重新分类为缓存报表、不缓存报表与待缓存报表,并根据新的报表分类结果,对所述报表进行缓存操作。可选地,所述轮询机制在预设时间或用户查询时被触发。可选地,所述根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表是通过实时计算任务实现的。可选地,根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表包括:通过正则表达式匹配每个所述报表中的时间类型字段或者通过直接比对每个所述报表中的时间类型字段,根据匹配结果或者比对结果,将所述报表分类为缓存报表、不缓存报表与待缓存报表。可选地,所述缓存报表为前一日的报表;所述不缓存报表为当日的报表;所述待缓存报表为其他的报表。可选地,还包括:在对所述报表进行缓存操作之后,根据用户查询,展现所述报表的数据;其中,缓存报表的数据通过缓存服务器获取;不缓存或待缓存报表的数据通过数据库获取。可选地,所述缓存服务器为Redis存储系统。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种报表缓存装置。本专利技术实施例一种报表缓存装置包括:数据获取模块,用于获取报表;数据计算模块,用于根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表;缓存模块,用于根据报表分类结果,对所述报表进行缓存操作。可选地,所述缓存模块还用于:将所述缓存报表缓存到缓存服务器;当轮询机制被触发时,对所述待缓存报表进行轮询操作。可选地,所述缓存模块还用于:匹配所述待缓存报表的时间类型字段,根据匹配结果将所述待缓存报表重新分类为缓存报表、不缓存报表与待缓存报表,并根据新的报表分类结果,对所述报表进行缓存操作。可选地,所述轮询机制在预设时间或用户查询时被触发。可选地,所述数据计算模块是通过实时计算任务实现的。可选地,所述缓存模块还用于:通过正则表达式匹配每个所述报表中的时间类型字段或者通过直接比对每个所述报表中的时间类型字段,根据匹配结果或者比对结果,将所述报表分类为缓存报表、不缓存报表与待缓存报表。可选地,所述缓存报表为前一日的报表;所述不缓存报表为当日的报表;所述待缓存报表为其他的报表。可选地,还包括:报表展现模块,用于在缓存模块之后,根据用户查询,展现所述报表的数据;其中,缓存报表的数据通过缓存服务器获取;不缓存或待缓存报表的数据通过数据库获取。可选地,所述缓存服务器为Redis存储系统。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种实现报表缓存方法的电子设备。本专利技术实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的报表缓存方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质。本专利技术实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时用于实现使所述计算机执行本专利技术实施例的报表缓存方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用通过匹配报表的时间类型字段,根据匹配结果将报表分类为当日报表、前一日报表和其他报表,然后分别进行缓存,根据缓存结果判断从缓存服务器或数据库获取报表数据并展现的技术手段,所以克服了对缓存过的报表或数据延迟时,需要在下一次缓存之后才能得到准确报表数据的技术问题,进而达到保证所有报表数据的可读性与准确性,能够全方位覆盖报表数据,且能够提高报表打开速率的技术效果;通过采用轮询操作仅对待缓存报表进一步进行缓存操作的技术手段,从而能够在适当降低计算量的同时,进一步提升报表打开速率;通过采用实时计算任务和采用正则表达式匹配报表的时间类型字段的技术手段,从而能够减小计算成本,提升缓存效率;通过系统自动完成报表缓存,从而能够降低用户使用成本,避免人工配置报表的误操作或不合理设置。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的报表缓存方法的主要步骤的示意图;图2是根据本专利技术实施例的报表缓存装置的主要模块的示意图;图3是根据本专利技术实施例的报表缓存方法的缓存逻辑的示意图;图4是根据本专利技术实施例的报表缓存方法的模块关系的示意图;图5是根据本专利技术实施例的报表缓存方法的缓存模块的示意图;图6是根据本专利技术实施例的报表缓存方法的报表展现逻辑的示意图;图7是本专利技术实施例可以应用于其中的示例性系统架构图;图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本专利技术实施例的技术方案利用正则表达式匹配报表中的时间类型字段,将报表分类为T-0(当日)日期报表、T-1(前一日)日期报表、其他报表;然后将T-0日期报表标记为不缓存,对T-1日期报表进行缓存到Redis并标记为已缓存,将其他报表标记为待缓存;用户通过报表id、缓存状态标识、缓存日期和查询条件来查询报表数据;其中,缓存状态标识为“不缓存”的数据从数据库中直接查询,缓存状态标识为“已缓存”的数据从缓存服务器中查询,缓存状本文档来自技高网...

【技术保护点】
1.一种报表缓存方法,其特征在于,包括:获取报表;根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表;根据报表分类结果,对所述报表进行缓存操作。

【技术特征摘要】
1.一种报表缓存方法,其特征在于,包括:获取报表;根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表;根据报表分类结果,对所述报表进行缓存操作。2.根据权利要求1所述的方法,其特征在于,所述缓存操作包括:将所述缓存报表缓存到缓存服务器;当轮询机制被触发时,对所述待缓存报表进行轮询操作。3.根据权利要求2所述的方法,其特征在于,所述轮询操作包括:根据每个所述待缓存报表的时间类型字段,将所述待缓存报表重新分类为缓存报表、不缓存报表与待缓存报表,并根据新的报表分类结果,对所述报表进行缓存操作。4.根据权利要求2所述的方法,其特征在于,所述轮询机制在预设时间或用户查询时被触发。5.根据权利要求1所述的方法,其特征在于,所述根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表是通过实时计算任务实现的。6.根据权利要求1所述的方法,其特征在于,根据每个所述报表中的时间类型字段,将所述报表分类为缓存报表、不缓存报表与待缓存报表包括:通过正则表达式匹配每个所述报表中的时间类型字段或者通过直接比对每个所述报表中的时间类型字段,根据匹配结果或者比对结果,将所述报表分类为缓存报表、不缓存报表与待缓存报表。7.根据权利要求1所述的方法,其特征在于,所述缓存报表为前一日的报表;所述不缓存报表为当日的报表;所述待缓存报表为其他的报表。8.根据权利要求1所述的方法,其特征在于,还包括:在对所述报表进行缓存操作之后,根据用户查询,展现所述报表的数据;其中,缓存报表的数据通过缓存服务器获取;不缓存或待缓存报表的数据通过数据库获取。9.根据权利要求2或8所述,其特征在于,所述缓存服务器为Redis存储系统。10.一种报表缓存装置,其特征在于,包括:数据获取模块,用于获取报表;数据计算模块,用于根据每个所述报表中的时间类型字段,将所述报表分类...

【专利技术属性】
技术研发人员:张爱芸刘彦伟高廉墀刘荣明张蛟
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1