一种报表处理的开放平台、系统及报表处理方法

文档序号:6634153阅读:112来源:国知局
一种报表处理的开放平台、系统及报表处理方法
【专利摘要】本发明实施例公开了一种报表处理的开放平台、系统及报表处理方法。本发明实施例报表处理的开放平台通过接入了内存数据库,作为联机报表的数据源,实现了对内存数据库数据的同步、访问及统计加工处理,保证数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,同时通过数据同步模块保持内存数据库与大型机源数据的一致性,通过报表解析引擎对内存数据库数据进行数据访问、处理,减少了数据同步及数据处理时I/O操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
【专利说明】一种报表处理的开放平台、系统及报表处理方法

【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种报表处理的开放平台、系统及报表处理方法。

【背景技术】
[0002]随着信息技术的快速发展,信息化成为了银行发展的重要路径,报表是银行数据整理、格式化和数据表现的一种有力手段。业务人员和管理人员可以通过联机报表实时了解银行当前各方面的交易信息及银行的各种状态。联机报表可以实现联机数据查询统计、多维度分析,有助于银行深入洞察当前最新运营状况,快速做出决策。
[0003]联机报表的核心是实时数据。实时数据处理的质量决定了联机报表的质量及用户体验。一方面,随着数据规模的扩大和并发数量的提高,未来可能出现的系统瓶颈。另一方面,银行业对于系统的处理能力和安全性稳定性的要求都极为严苛。由于大型机适合处理大规模事务数据,出色的I/o处理能力及封闭的体系架构,目前的银行核心系统及量的交易数据基本都建立在封闭大型机的平台上。所以,对于基于大型机数据的联机报表系统,提出了响应时间短,高时效性,高并发性的要求。
[0004]现有基于大型机平台数据的实时联机报表的实现方式如下:在大型机平台上搭建简单的报表系统,通过对大型机平台上数据库中的数据,进行加工,生成报表;大型机平台主要负责处理生产事务及生成生产数据。生产数据通过工具同步至开放平台的传统磁盘数据库中,再由专门报表引擎工具连接该数据库生成各种复杂的联机报表。
[0005]由于现有技术中大型机平台不具备强大的科学数据计算能力,难以高效的完成数据的计算,统计,判断,分析,所以大型机平台不适合生成复杂的联机报表,如实时试算平衡表。同时随着银行业务拓展,数据量的增加,用户并发数量的提高,统计分析操作的数量越来越多,对主要负责生产交易的大型机平台数据库的性能产生了很大的影响,银行的交易数据是海量的,联机报表涉及大规模数据访问,对于传统的磁盘数据库而言,需要频繁地访问磁盘来进行数据的操作,极大地降低系统性能及生成联机报表效率。例如一份普通的年迄今(Year To Date, YTD)报表涉及GB数量级的数据操作,更甚,多用户并发生成联机报表时,数据库并发负载非常高,往往要达到每秒上万次读写,传统数据库难以承受,请求报表生成系统瓶颈集中在了磁盘数据库上,这些将增加了联机报表生成的时间,带来极差用户体验。


【发明内容】

[0006]本发明实施例提供了一种报表处理的开放平台、系统及报表处理方法,接入了内存数据库,作为联机报表的数据源,保证了数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,减少了数据同步及数据处理时I/o操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
[0007]本发明实施例第一方面提供了一种报表处理的开放平台,包括报表发布模块、报表解析引擎、内存数据库、报表缓存模块及数据同步接收模块;
[0008]所述报表发布模块用于接收用户发送的生成指定报表的请求,并向所述报表解析引擎发送所述生成指定报表的请求;
[0009]所述内存数据库用于在所述报表发布模块接收到所述生成指定报表的请求后,向所述报表解析引擎发送保存的指定报表数据;
[0010]所述报表解析引擎用于接收所述内存数据库返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块;
[0011]所述报表缓存模块用于在保存最新生成的指定报表后,向所述报表解析引擎返回所述指定报表保存路径;
[0012]所述报表解析引擎还用于向所述报表发布模块返回所述指定报表保存路径;
[0013]所述报表发布模块还用于根据所述指定报表保存路径向用户返回所述指定报表;
[0014]所述数据同步接收模块用于从大型机平台更新增量数据到所述内存数据库。
[0015]本发明实施例的第二方面提供了一种报表的处理系统,包括上述的报表处理的开放平台及大型机平台;
[0016]所述大型机平台用于保存银行核心系统的交易数据;
[0017]所述报表处理的开放平台用于从大型机平台同步数据到所述报表处理的开放平台的所述内存数据库,在所述报表处理的开放平台进行报表的生成或更新。
[0018]本发明实施例的第二方面提供了一种利用上述报表处理的开放平台处理报表的方法,包括:
[0019]报表发布模块接收用户发送的生成指定报表的请求,并向报表解析引擎发送所述生成指定报表的请求;
[0020]内存数据库在所述报表发布模块接收到所述生成指定报表的请求后,向所述报表解析引擎发送保存的指定报表数据;
[0021 ] 所述报表解析弓I擎接收所述内存数据库返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块;
[0022]所述报表缓存模块在保存所述指定报表后,向所述报表解析引擎返回所述指定报表保存路径;
[0023]所述报表解析引擎向所述报表发布模块返回所述指定报表保存路径;
[0024]所述报表发布模块根据所述指定报表保存路径向用户返回所述指定报表;
[0025]所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库。
[0026]从以上技术方案可以看出,本发明实施例具有以下优点:
[0027]本发明实施例中接入了内存数据库,作为联机报表的数据源,实现了对内存数据库数据的同步、访问及统计加工处理,保证数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,同时通过数据同步模块保持内存数据库与大型机源数据的一致性,通过报表解析引擎对内存数据库数据进行数据访问、处理,减少了数据同步及数据处理时I/O操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。

【专利附图】

【附图说明】
[0028]图1是本发明实施例中报表处理的开放平台的一个实施例示意图;
[0029]图2是本发明实施例中报表的处理系统的一个实施例不意图;
[0030]图3是本发明实施例中报表的处理系统的另一个实施例不意图;
[0031]图4是本发明实施例中的开放平台与大型机平台之间数据同步的示意图;
[0032]图5是本发明实施例中利用报表处理的开放平台处理报表的方法的一个实施例示意图;
[0033]图6是本发明实施例中利用报表处理的开放平台处理报表的方法的另一个实施例示意图。

【具体实施方式】
[0034]本发明实施例提供了一种报表处理的开放平台、系统及报表处理方法,接入了内存数据库,作为联机报表的数据源,保证了数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,减少了数据同步及数据处理时I/o操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
[0035]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0036]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0037]本发明实施例中所指的开放平台,即相对于大型机平台(mainframe)而言,其平台架构与操作系统(如Linux, Unix, Windows)不封闭。
[0038]请参阅图1,本发明实施例中报表处理的开放平台100 —个实施例中,包括报表发布模块101、报表解析引擎102、内存数据库103、报表缓存模块104及数据同步接收模块105 ;
[0039]所述报表发布模块101用于接收用户发送的生成指定报表的请求,并向所述报表解析引擎102发送所述生成指定报表的请求;
[0040]所述内存数据库103用于在所述报表发布模块101接收到所述生成指定报表的请求后,向所述报表解析引擎102发送保存的指定报表数据;
[0041]所述报表解析引擎102用于接收所述内存数据库103返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块104 ;
[0042]所述报表缓存模块104用于在保存所述指定报表后,向所述报表解析引擎102返回所述指定报表保存路径;
[0043]所述报表解析引擎102还用于向所述报表发布模块101返回所述指定报表保存路径;
[0044]所述报表发布模块101还用于根据所述指定报表保存路径向用户返回所述指定?艮表;
[0045]所述数据同步接收模块105用于从大型机平台更新增量数据到所述内存数据库103。
[0046]内存数据库,顾名思义就是将数据放在内存中直接操作的数据库,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。
[0047]本实施例中,用内存数据库取代现有技术中的使用磁盘存储的传统数据库,内存数据库的目标是通过使用内存实现数据存储来提高吞吐量和降低延迟。这与使用磁盘存储的传统数据库不同,由于内部优化算法更简单,而且执行的CPU指令较少,所以内存内数据的速度比基于磁盘的数据库快。访问内存数据可以提高响应速度,对于一些响应时间要求较高的应用程序,如交易、电信和国防系统,更加适合,具体差别如下:
[0048]1.传统的数据库系统是关系型数据库,开发这种数据库的目的,是处理永久、稳定的数据。关系数据库强调维护数据的完整性、一致性,但很难顾及有关数据及其处理的定时限制,不能满足工业生产管理实时应用的需要,因为实时事务要求系统能较准确地预报事务的运行时间。
[0049]2.对磁盘数据库而言,由于磁盘存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得事务实际平均执行时间与估算的最坏情况执行时间相差很大,如果将整个数据库或其主要的“工作”部分放入内存,使每个事务在执行过程中没有1/0,则为系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报性提供了有力的支持,同时也为实现事务的定时限制打下了基础。这就是内存数据库出现的主要原因。
[0050]3.内存数据库所处理的数据通常是“短暂”的。所以,实际应用中采用内存数据库来处理实时性强的业务逻辑处理数据。而传统数据库旨在处理永久、稳定的数据,其性能目标是高的系统吞吐量和低的代价,处理数据的实时性就要考虑的相对少一些。实际应用中利用传统数据库这一特性存放相对实时性要求不高的数据。
[0051]本实施例中,数据同步接收模块105用于保证内存数据库中数据的时效性。充当订阅者角色,主要负责接收大型机平台同步的增量数据,更新内存数据库中的相应数据。
[0052]内存数据库103用于保持与源数据的同步,并按照报表解析引擎102调用对数据进行抽取、加工等计算,将结果返回至报表解析引擎102。
[0053]报表解析引擎102用于实现报表调度,解析报表模版而获取报表取数逻辑、数据加工逻辑及样式逻辑。通过数据访问接口连接内存数据库,根据脚本利用SQL语句操作内存数据库,抽取加工计算所需要数据,并经过格式渲染生成报表,还可以记录生成报表时间。
[0054]报表缓存模块104负责用于保存最新生成的报表副本且每种报表只保存最新版本的。
[0055]报表发布模块101负责与客户交互,实现报表管理及发布,以友好可视界面呈现于客户。
[0056]目前,现有基于大型机平台数据的实时联机报表的实现方式如下:在大型机平台上搭建简单的报表系统,通过对大型机平台上数据库中的数据,进行加工,生成报表;大型机平台主要负责处理生产事务及生成生产数据。生产数据通过工具同步至开放平台的传统磁盘数据库中,再由专门报表引擎工具连接该数据库生成各种复杂的联机报表。
[0057]由于现有技术中大型机平台不具备强大的科学数据计算能力,难以高效的完成数据的计算,统计,判断,分析,所以大型机平台不适合生成复杂的联机报表,如实时试算平衡表。同时随着银行业务拓展,数据量的增加,用户并发数量的提高,统计分析操作的数量越来越多,对主要负责生产交易的大型机平台数据库的性能产生了很大的影响,银行的交易数据是海量的,联机报表涉及大规模数据访问,对于传统的磁盘数据库而言,需要频繁地访问磁盘来进行数据的操作,极大地降低系统性能及生成联机报表效率。例如一份普通的年迄今(Year To Date, YTD)报表涉及GB数量级的数据操作,更甚,多用户并发生成联机报表时,数据库并发负载非常高,往往要达到每秒上万次读写,传统数据库难以承受,请求报表生成系统瓶颈集中在了磁盘数据库上,这些将增加了联机报表生成的时间,带来极差的用户体验。
[0058]本实施例中,将报表处理及其数据访问放在本发明开放平台上,将大型机平台的数据同步至本发明实施例中开放平台的数据库中,由于开放平台的可以自由设置,因此可以避免传统的大型机平台不具备强大计算处理能力,而导致的无法实时处理联机报表,以及在数据库中数据越来越多影响数据库性能的情况。
[0059]本发明实施例采用了内存数据库,内存数据库从根本上抛弃了磁盘数据库管理的许多传统方式,以提高内存和CPU的使用效率为目的,基于全部数据都在内存中管理,进行了新的体系结构的设计,从而提供了比磁盘数据库更快的响应时间和更大的事务吞吐量,其数据处理速度比传统磁盘数据库快。
[0060]本发明实施例中接入了内存数据库,作为联机报表的数据源,实现了对内存数据库数据的同步、访问及统计加工处理,保证数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,同时通过数据同步模块保持内存数据库与大型机源数据的一致性,通过报表解析引擎对内存数据库数据进行数据访问、处理,减少了数据同步及数据处理时I/O操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
[0061]在本发明实施例的一些实施例中,可以依据指定报表从上一次生成到现在时间段内所涉及取数据是否有变化,并采用两种不同的返回报表的策略。当指定报表最近抽数时间戳小于所述内存数据库最近更新的时间戳,即最近生成指定报表后,源数据有更新,本发明将生成最新联机报表,如果报表最近抽数时间戳大于所述内存数据库最近更新的时间戳,即最近生成指定报表后,源数据无更新,返回最近生成报表,从而减少重复抽取加工数据的时间和开销,具体如下:
[0062]所述内存数据库103还用于在所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库时,记录所述内存数据库的更新时间戳;
[0063]所述报表解析引擎102还用在接收所述内存数据库返回的所述指定报表数据时,记录所述指定报表的取数时间戳,并向所述内存数据库103发送所述指定报表的取数时间戳。
[0064]此时,所述报表解析引擎102还用于在根据预置的报表模版,对接收的所述报表数据进行格式渲染,生成报表并保存在所述报表缓存模块104之前,解析所述报表模版,向所述内存数据库103获取所述指定报表的最近取数时间戳,以及所述内存数据库的最近更新时间戳;
[0065]所述内存数据库103还用于向所述报表解析引擎102返回所述指定报表的最近取数时间戳以及所述内存数据库103的最近更新时间戳;
[0066]所述报表解析引擎102还用于比较所述指定报表的最近取数时间戳及所述内存数据库的最近更新时间戳,在所述指定报表最近取数时间戳小于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据有更新,并抽取所述内存数据库103中更新的指定报表数据;
[0067]所述内存数据库103还用于向所述报表解析引擎102返回更新的指定报表数据;
[0068]所述报表解析引擎102用于根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块104具体包括:
[0069]根据预置的报表模版,对接收的所述更新的指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块104。
[0070]在一些实施例中,所述报表解析引擎102还用于在所述指定报表最近取数时间戳大于或等于所述内存数据库103的最近更新时间戳时,确定所述指定报表的源数据无更新,并从所述报表缓存模块104获取最近生成的所述指定报表的保存路径,获取的方式可以是报表解析引擎102向报表缓存模块104发送请求,然后报表缓存模块104在接收到请求后向报表解析引擎102发送最近生成的所述指定报表的保存路径,也可以是报表缓存模块104直接发送,此处不作限定;
[0071]所述报表解析引擎102还用于向所述报表发布模块101返回最近生成的所述指定报表的保存路径;
[0072]所述报表发布模块101还用于根据最近生成的所述指定报表的保存路径,向用户返回最近生成的指定报表。
[0073]在本发明实施例中的一些实施例中,所述报表解析引擎102还用于在生成指定报表并保存在所述报表缓存模块104后,向所述内存数据库返回更新所述指定报表的最新取数时间戳。
[0074]下面介绍本发明实施例中的报表的处理系统的实施例,请参阅图2,本发明实施例中报表的处理系统200的一个实施例如下,包括报表处理的开放平台201及大型机平台202 ;
[0075]本发明实施例中的报表处理的开放平台201可以是图1所示实施例中的描述任一种可能的报表处理的开放平台。
[0076]所述大型机平台202用于保存银行核心系统的交易数据;
[0077]所述报表处理的开放平台201用于从大型机平台202同步数据到所述报表处理的开放平台201的所述内存数据库,在所述报表处理的开放平台201进行报表的生成或更新。
[0078]请参阅图3,报表处理的开放平台一个实施例中,包括报表发布模块2011、报表解析引擎2012、内存数据库2013、报表缓存模块2014及数据同步接收模块2015 ;
[0079]所述报表发布模块2011用于接收用户发送的生成指定报表的请求,并向所述报表解析引擎2012发送所述生成指定报表的请求;
[0080]所述内存数据库2013用于在所述报表发布模块2014接收到所述生成指定报表的请求后,向所述报表解析引擎2012发送保存的指定报表数据;
[0081]所述报表解析引擎2012用于接收所述内存数据库2013返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块2014 ;
[0082]所述报表缓存模块2014用于在保存所述指定报表后,向所述报表解析引擎2012返回所述指定报表保存路径;
[0083]所述报表解析引擎2012还用于向所述报表发布模块2011存路径向用户返回所述指定报表;
[0084]所述数据同步接收模块2015用于从大型机平台更新增量数据到所述内存数据库2013。
[0085]内存数据库,顾名思义就是将数据放在内存中直接操作的数据库,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在10倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。
[0086]本实施例中,用内存数据库取代现有技术中的使用磁盘存储的传统数据库,内存数据库的目标是通过使用内存实现数据存储来提高吞吐量和降低延迟。这与使用磁盘存储的传统数据库不同,由于内部优化算法更简单,而且执行的CPU指令较少,所以内存内数据的速度比基于磁盘的数据库快。访问内存数据可以提高响应速度,对于一些响应时间要求较高的应用程序,如交易、电信和国防系统,更加适合,具体差别如下:
[0087]1.传统的数据库系统是关系型数据库,开发这种数据库的目的,是处理永久、稳定的数据。关系数据库强调维护数据的完整性、一致性,但很难顾及有关数据及其处理的定时限制,不能满足工业生产管理实时应用的需要,因为实时事务要求系统能较准确地预报事务的运行时间。
[0088]2.对磁盘数据库而言,由于磁盘存取、内外存的数据传递、缓冲区管理、排队等待及锁的延迟等使得事务实际平均执行时间与估算的最坏情况执行时间相差很大,如果将整个数据库或其主要的“工作”部分放入内存,使每个事务在执行过程中没有1/0,则为系统较准确估算和安排事务的运行时间,使之具有较好的动态可预报性提供了有力的支持,同时也为实现事务的定时限制打下了基础。这就是内存数据库出现的主要原因。
[0089]3.内存数据库所处理的数据通常是“短暂”的。所以,实际应用中采用内存数据库来处理实时性强的业务逻辑处理数据。而传统数据库旨在处理永久、稳定的数据,其性能目标是高的系统吞吐量和低的代价,处理数据的实时性就要考虑的相对少一些。实际应用中利用传统数据库这一特性存放相对实时性要求不高的数据。
[0090]本实施例中,数据同步接收模块2015用于保证内存数据库中数据的时效性。充当订阅者角色,主要负责接收大型机平台同步的增量数据,更新内存数据库中的相应数据。
[0091]内存数据库2013用于保持与源数据的同步,并按照报表解析引擎2012调用对数据进行抽取、加工等计算,将结果返回至报表解析引擎2012。
[0092]报表解析引擎2012用于实现报表调度,解析报表模版而获取报表取数逻辑、数据加工逻辑及样式逻辑。通过数据访问接口连接内存数据库,根据脚本利用SQL语句操作内存数据库,抽取加工计算所需要数据,并经过格式渲染生成报表,还可以记录生成报表时间。
[0093]报表缓存模块2014负责用于保存最新生成的报表副本且每种报表只保存最新版本的。
[0094]报表发布模块2011负责与客户交互,实现报表管理及发布,以友好可视界面呈现于客户。
[0095]本发明实施例中接入了内存数据库,作为联机报表的数据源,实现了对内存数据库数据的同步、访问及统计加工处理,保证数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,同时通过数据同步模块保持内存数据库与大型机源数据的一致性,通过报表解析引擎对内存数据库数据进行数据访问、处理,减少了数据同步及数据处理时I/O操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
[0096]在本发明实施例的一些实施例中,可以依据指定报表从上一次生成到现在时间段内所涉及取数据是否有变化,并采用两种不同的返回报表的方案。当指定报表最近抽数时间戳小于所述内存数据库最近更新的时间戳,即最近生成指定报表后,源数据有更新,本发明将生成最新联机报表,如果报表最近抽数时间戳大于所述内存数据库最近更新的时间戳,即最近生成指定报表后,源数据无更新,返回最近生成报表,从而减少重复抽取加工数据的时间和开销,具体如下:
[0097]所述内存数据库2013还用于在所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库时,记录所述内存数据库的更新时间戳;
[0098]所述报表解析引擎2012还用在接收所述内存数据库返回的所述指定报表数据时,记录所述指定报表的取数时间戳,并向所述内存数据库2013发送所述指定报表的取数时间戳。
[0099]此时,所述报表解析引擎2012还用于在根据预置的报表模版,对接收的所述报表数据进行格式渲染,生成报表并保存在所述报表缓存模块2014之前,解析所述报表模版,向所述内存数据库2013获取所述指定报表的最近取数时间戳,以及所述内存数据库的最近更新时间戳;
[0100]所述内存数据库2013还用于向所述报表解析引擎2012返回所述指定报表的最近取数时间戳以及所述内存数据库2013的最近更新时间戳;
[0101]所述报表解析引擎2012还用于比较所述指定报表的最近取数时间戳及所述内存数据库的最近更新时间戳,在所述指定报表最近取数时间戳小于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据有更新,并抽取所述内存数据库2013中更新的指定报表数据;
[0102]所述内存数据库2013还用于向所述报表解析引擎2012返回更新的指定报表数据;
[0103]所述报表解析引擎2012用于根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块2014具体包括:
[0104]根据预置的报表模版,对接收的所述更新的指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块2014。
[0105]在一些实施例中,所述报表解析引擎2012还用于在所述指定报表最近取数时间戳大于或等于所述内存数据库2013的最近更新时间戳时,确定所述指定报表的源数据无更新,并从所述报表缓存模块2014获取最近生成的所述指定报表的保存路径,获取的方式可以是报表解析引擎2012向报表缓存模块2014发送请求,然后报表缓存模块2014在接收到请求后向报表解析引擎2012发送最近生成的所述指定报表的保存路径,也可以是报表缓存模块2014直接发送,此处不作限定;
[0106]所述报表解析引擎2012还用于向所述报表发布模块2011返回最近生成的所述指定报表的保存路径;
[0107]所述报表发布模块2011还用于根据最近生成的所述指定报表的保存路径,向用户返回最近生成的指定报表。
[0108]在本发明实施例中的一些实施例中,所述报表解析引擎2012还用于在生成指定报表并保存在所述报表缓存模块2014后,向所述内存数据库返回更新所述指定报表的最新取数时间戳。
[0109]如图3所示,大型机平台中包括数据同步发布接口 2021和大型机数据库2022 ;
[0110]所述大型机数据库2022用于保存银行核心系统的交易数据。
[0111]所述数据同步发布接口 2021用于获取所述大型机数据库2022中源数据的增量变化情况,在所述大型机数据库2022中的数据产生增量时,将所述增量数据传递至所述报表处理的开放平台201的数据同步接收模块2015。
[0112]本实施例中,数据同步发布接口 2021和数据同步接收模块2015之间可以通过无线、有线或网络等各种方式同步数据,此处不作限定。
[0113]如图4,本发明实施例中,上述开放平台与大型机平台之间的数据同步可以通过如下步骤实现:
[0114]401、当数据同步发布接口捕获源数据增量的变化时,将增量数据传递至数据同步接收模块。
[0115]402、数据同步接收模块接收并解析源数据增量,生成相应SQL语句,将增量数据更新至内存数据库中。
[0116]403、内存数据库返回更新数据成功信息。
[0117]404、数据同步接收模块修改相应变动的数据库表的最新更新时间戳。
[0118]405、内存数据库返回更新时间戳成功信息。
[0119]下面介绍本发明实施例中利用图1所示实施例中报表处理的开放平台处理报表的方法,请参阅图5,本发明实施例中的处理报表的方法的一个实施例包括:
[0120]501、报表发布模块接收用户发送的生成指定报表的请求,并向报表解析引擎发送所述生成指定报表的请求;
[0121]用户可以通过浏览器向报表发布模块发送生成指定报表的请求,报表发布模块在接收到用户发送的生成指定报表的请求后,向报表解析引擎发送所述生成指定报表的请求。
[0122]502、内存数据库在报表发布模块接收到生成指定报表的请求后,向报表解析引擎发送保存的指定报表数据;
[0123]内存数据库在报表发布模块接收到生成指定报表的请求后,向报表解析引擎发送自身保存的指定报表数据,内存数据库中的原始数据是从大型机平台同步过来的。
[0124]503、报表解析引擎接收内存数据库返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块;
[0125]报表解析引擎在接收到内存库返回的指定报表数据后,根据预置的报表模版,对接收的指定报表数据进行格式渲染后,即生成指定报表,并将指定报表保存在报表缓存模块。
[0126]504、报表缓存模块在保存所述指定报表后,向所述报表解析引擎返回所述指定报表保存路径;
[0127]报表缓存模块在保存指定报表后,向报表解析引擎返回自身保存的指定报表保存路径。
[0128]505、报表解析引擎向报表发布模块返回所述指定报表保存路径;
[0129]报表解析引擎在接收到指定报表的保存路径后,向报表发布模块返回所述指定报表保存路径。
[0130]506、报表发布模块根据所述指定报表保存路径向用户返回所述指定报表;
[0131]507、数据同步接收模块从大型机平台更新增量数据到所述内存数据库。
[0132]本实施例中,数据同步接收模块可以从大型机平台实时更新增量数据到所述内存数据库,保证内存数据库中的数据与大型机平台数据库中的数据一致,本实施例中,数据同步接收模块从大型机平台更新增量数据的方式可以如图4所示实施例,此处不作限定。
[0133]本实施例中,步骤507中数据同步接收模块从大型机平台更新增量数据到内存数据库步骤,与步骤501至506中生成报表并返回用户的过程是两个相对独立的过程,本实施例中仅以此为例作出介绍,其具体顺序此处不作限定。
[0134]图5所示的实施例中,接入了内存数据库,作为联机报表的数据源,实现了对内存数据库数据的同步、访问及统计加工处理,保证数据实时性的同时极大地提高报表处理及生成效率,优化计算机资源的利用率,同时通过数据同步模块保持内存数据库与大型机源数据的一致性,通过报表解析引擎对内存数据库数据进行数据访问、处理,减少了数据同步及数据处理时I/o操作,确保数据的实时性及拥有更高的操作并行性,提高了整体系统的性能。
[0135]在图5所示的实施例中,不管内存数据库中数据是否发生变化,都重新生成一次指定报表,这种情况下在内存数据库中数据没有变化时也进行重新生成指定报表,会增加重复加工数据的时间和开销。
[0136]因而,在本发明一些实施例中,内存数据库在所述数据同步接收模块从大型机平台更新增量数据到内存数据库时,可以记录内存数据库的更新时间戳;报表解析引擎在接收所述内存数据库返回的所述指定报表数据时,可以记录所述指定报表的取数时间戳,并向内存数据库发送所述指定报表的取数时间戳,在这种情况下,报表解析引擎可以比较所述指定报表的最近取数时间戳及内存数据库的最近更新时间戳,在所述指定报表最近取数时间戳小于内存数据库的最近更新时间戳时,确定所述指定报表的源数据有更新,并抽取内存数据库中更新的指定报表数据,根据预置的报表模版,对接收的更新的指定报表数据进行格式渲染,生成指定报表并保存在报表缓存模块。请参阅图6,本发明实施例中的处理报表的方法的另一个实施例包括:
[0137]601、报表发布模块接收用户发送的生成指定报表的请求,并向报表解析引擎发送所述生成指定报表的请求;
[0138]用户可以通过浏览器向报表发布模块发送生成指定报表的请求,报表发布模块在接收到用户发送的生成指定报表的请求后,向报表解析引擎发送所述生成指定报表的请求。
[0139]本实施例中,内存数据库在所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库时,记录所述内存数据库的更新时间戳;
[0140]报表解析弓I擎在接收所述内存数据库返回的所述指定报表数据时,记录所述指定报表的取数时间戳,并向所述内存数据库发送所述指定报表的取数时间戳。
[0141]602、报表解析引擎解析所述报表模版,向内存数据库获取所述指定报表的最近取数时间戳,以及与所述指定报表关联的数据库的最近更新时间戳;
[0142]603、内存数据库向所述报表解析引擎返回所述指定报表的最近取数时间戳以及所述内存数据库的最近更新时间戳;
[0143]604、报表解析引擎比较所述指定报表的最近取数时间戳是否小于所述内存数据库的最近更新时间戳,若是,则执行步骤605,若否,则执行步骤609 ;
[0144]605、确定所述指定报表的源数据有更新,并抽取所述内存数据库中更新的指定报表数据;
[0145]606、内存数据库向所述报表解析引擎返回更新的指定报表数据;
[0146]607、报表解析引擎根据预置的报表模版,对接收的所述更新的指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块;
[0147]608、报表缓存模块在保存所述指定报表后,向所述报表解析引擎返回所述指定报表保存路径;
[0148]报表缓存模块在保存指定报表后,向报表解析引擎返回自身保存的指定报表保存路径。
[0149]在向所述报表解析引擎返回所述指定报表保存路径后,执行步骤610。
[0150]609、报表解析引擎从报表缓存模块获取最近生成的指定报表的保存路径;
[0151]当报表解析引擎比较所述指定报表的最近取数时间戳大于或等于所述内存数据库的最近更新时间戳时,报表解析引擎直接从报表缓存模块获取最近生成的所述指定报表的保存路径,而不用重新生成指定报表。
[0152]在表解析弓I擎从报表缓存模块获取最近生成的指定报表的保存路径后,执行步骤610。
[0153]610、报表解析引擎向报表发布模块返回所述指定报表保存路径;
[0154]报表解析引擎在接收到指定报表的保存路径后,向报表发布模块返回所述指定报表保存路径。
[0155]611、报表发布模块根据所述指定报表保存路径向用户返回所述指定报表;
[0156]612、数据同步接收模块从大型机平台更新增量数据到所述内存数据库。
[0157]本实施例中,数据同步接收模块可以从大型机平台实时更新增量数据到所述内存数据库,保证内存数据库中的数据与大型机平台数据库中的数据一致,本实施例中,数据同步接收模块从大型机平台更新增量数据的方式可以如图4所示实施例,此处不作限定。
[0158]本实施例中,步骤612中数据同步接收模块从大型机平台更新增量数据到内存数据库步骤,与步骤601至611中生成报表并返回报表给用户的过程是两个相对独立的过程,本实施例中仅以此为例作出介绍,其具体顺序此处不作限定。
[0159]本发明实施例中,报表解析引擎还可以在所述指定报表最近取数时间戳大于或等于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据无更新,并从所述报表缓存模块获取最近生成的所述指定报表的保存路径;报表解析引擎向所述报表发布模块返回最近生成的所述指定报表的保存路径;报表发布模块根据最近生成的所述指定报表的保存路径,向用户返回最近生成的指定报表。
[0160]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,方法,装置和单元的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。
[0161]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0162]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0163]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0164]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0165]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种报表处理的开放平台,其特征在于,包括报表发布模块、报表解析引擎、内存数据库、报表缓存模块及数据同步接收模块; 所述报表发布模块用于接收用户发送的生成指定报表的请求,并向所述报表解析引擎发送所述生成指定报表的请求; 所述内存数据库用于在所述报表发布模块接收到所述生成指定报表的请求后,向所述报表解析引擎发送保存的指定报表数据; 所述报表解析引擎用于接收所述内存数据库返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块; 所述报表缓存模块用于在保存最新生成的指定报表后,向所述报表解析弓丨擎返回所述指定报表保存路径; 所述报表解析弓I擎还用于向所述报表发布模块返回所述指定报表保存路径; 所述报表发布模块还用于根据所述指定报表保存路径向用户返回所述指定报表; 所述数据同步接收模块用于从大型机平台更新增量数据到所述内存数据库。
2.根据权利要求1所述的开放平台,所述内存数据库还用于在所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库时,记录所述内存数据库的更新时间戳; 所述报表解析引擎还用在接收所述内存数据库返回的所述指定报表数据时,记录所述指定报表的取数时间戳,并向所述内存数据库发送所述指定报表的取数时间戳。
3.根据权利要求2所述的开放平台,其特征在于,所述报表解析引擎还用于在根据预置的报表模版,对接收的所述报表数据进行格式渲染,生成报表并保存在所述报表缓存模块之前,解析所述报表模版,向所述内存数据库获取所述指定报表的最近取数时间戳,以及所述内存数据库的最近更新时间戳; 所述内存数据库还用于向所述报表解析引擎返回所述指定报表的最近取数时间戳以及所述内存数据库的最近更新时间戳; 所述报表解析引擎还用于比较所述指定报表的最近取数时间戳及所述内存数据库的最近更新时间戳,在所述指定报表最近取数时间戳小于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据有更新,并抽取所述内存数据库中更新的指定报表数据;所述内存数据库还用于向所述报表解析引擎返回更新的指定报表数据; 所述报表解析引擎用于根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块具体包括: 根据预置的报表模版,对接收的所述更新的指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块。
4.根据权利要求3所述的开放平台,其特征在于,所述报表解析引擎还用于在所述指定报表最近取数时间戳大于或等于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据无更新,并从所述报表缓存模块获取最近生成的所述指定报表的保存路径; 所述报表解析弓I擎还用于向所述报表发布模块返回最近生成的所述指定报表的保存路径; 所述报表发布模块还用于根据最近生成的所述指定报表的保存路径,向用户返回最近生成的指定报表。
5.根据权利要求3或4所述的开放平台,其特征在于,所述报表解析引擎还用于在生成指定报表并保存在所述报表缓存模块后,向所述内存数据库返回更新所述指定报表的最新取数时间戳。
6.—种报表的处理系统,其特征在于,包括如权利要求1至5中任一所述的报表处理的开放平台,及大型机平台; 所述大型机平台用于保存银行核心系统的交易数据; 所述报表处理的开放平台用于从大型机平台同步数据到所述报表处理的开放平台的所述内存数据库,在所述报表处理的开放平台进行报表的生成或更新。
7.根据权利要求5所述的处理系统,其特征在于,所述大型机平台包括数据同步发布接口和大型机数据库; 所述数据同步发布接口用于获取所述大型机数据库中源数据的增量变化情况,在所述大型机数据库中的数据产生增量时,将所述增量数据传递至所述报表处理的开放平台的数据同步接收模块。
8.一种利用如权利要求1至5中任一所述的报表处理的开放平台处理报表的方法,其特征在于,包括: 报表发布模块接收用户发送的生成指定报表的请求,并向报表解析引擎发送所述生成指定报表的请求; 内存数据库在所述报表发布模块接收到所述生成指定报表的请求后,向所述报表解析引擎发送保存的指定报表数据; 所述报表解析引擎接收所述内存数据库返回的所述指定报表数据,并根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块; 所述报表缓存模块在保存最新生成的指定报表后,向所述报表解析引擎返回所述指定报表保存路径; 所述报表解析引擎向所述报表发布模块返回所述指定报表保存路径; 所述报表发布模块根据所述指定报表保存路径向用户返回所述指定报表; 所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括: 所述内存数据库在所述数据同步接收模块从大型机平台更新增量数据到所述内存数据库时,记录所述内存数据库的更新时间戳; 所述报表解析弓I擎在接收所述内存数据库返回的所述指定报表数据时,记录所述指定报表的取数时间戳,并向所述内存数据库发送所述指定报表的取数时间戳。
10.根据权利要求9所述的方法,其特征在于,所述根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块之前,所述方法还包括: 所述报表解析引擎解析所述报表模版,向所述内存数据库获取所述指定报表的最近取数时间戳,以及与所述指定报表关联的数据库的最近更新时间戳; 所述内存数据库向所述报表解析引擎返回所述指定报表的最近取数时间戳以及所述内存数据库的最近更新时间戳; 所述报表解析引擎比较所述指定报表的最近取数时间戳及所述内存数据库的最近更新时间戳,在所述指定报表最近取数时间戳小于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据有更新,并抽取所述内存数据库中更新的指定报表数据; 所述内存数据库向所述报表解析引擎返回更新的指定报表数据; 所述根据预置的报表模版,对接收的所述指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块具体包括: 根据预置的报表模版,对接收的所述更新的指定报表数据进行格式渲染,生成指定报表并保存在所述报表缓存模块。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括: 所述报表解析引擎在所述指定报表最近取数时间戳大于或等于所述内存数据库的最近更新时间戳时,确定所述指定报表的源数据无更新,并从所述报表缓存模块获取最近生成的所述指定报表的保存路径; 所述报表解析引擎向所述报表发布模块返回最近生成的所述指定报表的保存路径;所述报表发布模块根据最近生成的所述指定报表的保存路径,向用户返回最近生成的指定报表。
【文档编号】G06Q40/02GK104317957SQ201410643922
【公开日】2015年1月28日 申请日期:2014年11月11日 优先权日:2014年11月11日
【发明者】杜智铨, 陈芝佳, 邹伟力, 李红霞, 王晓鹏, 林锋, 陈欣, 陆江平, 黄耿明, 黄俊琼 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1