CN108804402A - 基于大数据平台的报表生成系统和方法 - Google Patents
基于大数据平台的报表生成系统和方法 Download PDFInfo
- Publication number
- CN108804402A CN108804402A CN201710293801.5A CN201710293801A CN108804402A CN 108804402 A CN108804402 A CN 108804402A CN 201710293801 A CN201710293801 A CN 201710293801A CN 108804402 A CN108804402 A CN 108804402A
- Authority
- CN
- China
- Prior art keywords
- report
- data
- form template
- report form
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Abstract
本申请公开了一种基于大数据平台的报表生成系统和方法。该系统的一具体实施方式包括:业务系统,业务系统包括多个子业务系统,各子业务系统用于接收用户发送的报表生成请求,并将报表生成请求发送到数据系统;大数据平台,用于利用原始数据构建并存储多个数据模型;数据系统,用于生成报表模板,并将报表模板存储到报表模板库中,其中,各报表模板定义展示样式和数据模型;数据系统还用于响应于接收到的报表生成请求,从报表模板库获取报表模板,从大数据平台获取与该报表模板的数据模型对应的报表数据,以生成并向用户发送报表。该实施方式实现了自动生成报表,提高了报表生成的效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及基于大数据平台的报表生成系统和方法。
背景技术
报表是一种可用表格、图标等形式对数据进行显示的方式,在产品方案的决策、广告投放、行业趋势分析等方面的应用越来越广泛。如何基于海量原始数据来提供一套合理的数据报表设计方案愈来愈重要。
目前比较通用的方案是先进行原始数据(比如:日志数据、生产数据库等)收集,利用大数据平台的存储能力进行存储,然后对存储的数据进行各维度规整形成生成报表所需要的数据模型。专业人员可以针对用户对报表的需求进行程序开发,生成报表并展示。需要说明的是,对于不同业务系统研发人员需要独立的开发数据模型、报表生成和报表展示的程序,存在程序重复开发的弊端,造成人力资源的浪费。
发明内容
本申请的目的在于提出一种改进的基于大数据平台的报表生成系统和方法,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种基于大数据平台的报表生成系统,该系统包括:业务系统,业务系统包括多个子业务系统,各子业务系统用于接收用户发送的报表生成请求,并将报表生成请求发送到数据系统;大数据平台,用于利用原始数据构建并存储多个数据模型;数据系统,用于生成报表模板,并将报表模板存储到报表模板库中,其中,各报表模板定义展示样式和数据模型;数据系统还用于响应于接收到的报表生成请求,从报表模板库获取报表模板,从大数据平台获取与该报表模板的数据模型对应的报表数据,以生成并向用户发送报表。
在一些实施例中,报表生成请求包括报表编号;报表模板库包含多个报表模板,各报表模板定义展示样式和至少一个数据模型,且每个报表模板包含唯一对应的报表编号。
在一些实施例中,数据系统还用于为各报表模板配置用于查询报表数据的SQL脚本;大数据平台用于执行SQL脚本,查询并返回报表数据。
在一些实施例中,大数据平台包括分布式数据查询引擎和数据集市;分布式数据查询引擎用于利用数据集市中预先存储的原始数据构建多个数据模型,并将各数据模型存储到数据集市。
在一些实施例中,数据系统通过java数据库连接与大数据平台的分布式数据查询引擎建立联系;数据系统还用于向分布式数据查询引擎发送SQL脚本,以使分布式数据查询引擎执行SQL脚本查询并返回报表数据。
在一些实施例中,数据系统还用于渲染报表模板和报表数据生成报表的HTML代码,并向子业务系统发送用于生成报表的HTML代码。
在一些实施例中,子业务系统还用于检测请求生成报表的用户是否具有生成报表的权限;若是,则子业务系统向数据系统发送报表生成请求;若否,则子业务系统向用户发送提示用户无权限生成报表的提示信息。
第二方面,本申请提供了一种基于大数据平台的报表生成方法,该方法包括:第一子业务系统接收用户发送的报表生成请求,并向数据系统发送报表生成请求;响应于接收到的报表生成请求,数据系统从预设的报表模板库获取报表模板,其中,报表模板定义展示样式和数据模型;数据系统从大数据平台获取与报表模板的数据模型对应的报表数据,其中,大数据平台存储利用原始数据构建的多个数据模型;数据系统利用报表模板和报表数据生成报表,并通过第一子业务系统向用户发送报表。
在一些实施例中,报表生成请求包括报表编号;报表模板库包含多个报表模板,各报表模板定义展示样式和至少一个数据模型,且每个报表模板包含唯一对应的报表编号。
在一些实施例中,大数据平台包括分布式数据查询引擎和数据集市;上述方法还包括:分布式数据查询引擎利用数据集市中预先存储的原始数据构建多个数据模型,并将各数据模型存储到数据集市。
在一些实施例中,数据系统从大数据平台获取与报表模板的数据模型对应的报表数据,包括;数据系统通过java数据库连接与大数据平台的分布式数据查询引擎建立联系;数据系统为各报表模板配置用于查询报表数据的SQL脚本,并向分布式数据查询引擎发送SQL脚本;分布式数据查询引擎执行SQL脚本,查询并返回报表数据。
在一些实施例中,数据系统利用报表模板和报表数据生成报表,并通过第一子业务系统向用户发送报表,包括:数据系统利用报表模板和报表数据,渲染生成HTML代码;第一子业务系统获取并向用户发送HTML代码以展示报表。
在一些实施例中,在第一子业务系统接收用户发送的报表生成请求后,方法还包括:第一子业务系统检测请求生成报表的用户是否具有生成报表的权限;若是,则第一子业务系统向数据系统发送报表生成请求;若否,则第一子业务系统向用户发送提示用户无权限生成报表的提示信息。
第三方面,本申请提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任一方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一方法。
本申请提供的基于大数据平台的报表生成系统和方法,其中的数据系统可以预先生成并存储多个报表模板,大数据平台可以预先构建并存储各报表模板定义的数据模型,当数据系统接收到子业务系统发送的报表生成请求时,数据系统可以从报表模板库中获取用于生成对应报表的报表模板,从大数据平台获取该报表模板定义的数据模型所对应的报表数据,生成并向用户发送报表,从而实现了自动生成报表,提高了报表的生成效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了根据本申请的基于大数据平台的报表生成系统的一个实施例的系统架构;
图2示出了根据本申请的基于大数据平台的报表生成方法的一个实施例的流程;
图3示出了根据本申请的基于大数据平台的报表生成方法的另一个实施例的流程;
图4示出了根据本申请的基于大数据平台的报表生成方法的一个应用场景的示意图;
图5示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了根据本申请的基于大数据平台的报表生成系统的一个实施例的系统架构100。如图所示,系统架构100可以包括业务系统101、大数据平台102和数据系统103。
在本实施例中,上述业务系统101可以包括多个子业务系统,如图1所示,业务系统101可以包括子业务系统1、子业务系统2……子业务系统n,n为正整数。这里,子业务系统可以用于接收用户所在客户端105发送的报表生成请求。可以理解,业务系统101可以设置在服务器上,用户所在客户端可以向该服务器中的任一子业务系统发送请求生成报表的报表生成请求,该子业务系统可以接收上述报表生成请求。
在本实施例中,上述数据系统103可以用于生成报表模板,并将生成的报表模板存储在报表模板库104中。可以理解,这里的报表模板库104可以为用于存储报表模板的数据库,并且各报表模板可以定义利用其生成的报表的展示样式和需要的数据模型。由此,利用本实施例的报表生成系统100可以生成具有不同展示样式和不同数据模型的报表,可以实现报表的多样化。
在本实施中,上述大数据平台102可以收集原始数据,这里的原始数据可以为未经处理的数据,例如为日志数据、生产数据等,而后对收集到的原始数据进行存储和处理以构建各报表模板所定义的数据模型,并将各数据模型及各数据模型对应的数据字段存储在大数据平台102。当上述子业务系统接收到用户发送的报表生成请求时,上述数据系统103可以响应于接收到的报表生成请求,从报表模板库104中获取用于生成该报表所需要的报表模板,并从大数据平台102获取该报表模板定义的数据模型对应的报表数据。这里的报表数据可以包括数据模型和该数据模型对应的数据字段。上述数据系统103利用所获取的报表模板和报表数据可以生成上述用户请求生成的报表。需要说明的是,不同的报表模板可以定义同一数据模型,因此数据系统103根据不同的报表模板可以从大数据平台102查询到同一对应的数据模型,并获取对应的报表数据,可见大数据平台102存储的数据模型可以在生成不同的报表时被共用。
这里,数据系统103可以根据用户请求生成的报表确定报表模板所定义的数据模型,大数据平台102可以对原始数据处理,生成并存储数据系统103所确定的数据模型。数据模型可以包括模型名称、模型描述、字段类型等,并且由于不同的用户可能对生成的报表的需求不同,数据系统103可以新增报表模板或对原有报表模板进行改进,大数据平台102可以相应地增加数据模型的类型或对原有数据模型进行改进。
在本实施例的一些可选的实现方式中,上述报表生成请求可以包括报表编号。上述报表模板库104可以包含多个报表模板,各报表模板可以定义利用该报表模板生成的报表的展示样式和需要的至少一个数据模型,且每个报表模板包含唯一对应的报表编号。因此,上述子业务系统可以根据用户发送的报表生成请求到报表模板库104获取与该报表生成请求的报表编号对应的报表模板。
在本实施例的一些可选的实现方式中,上述数据系统103在生成报表模板时,还可以为各报表模板配置用于查询报表数据的SQL脚本。当数据系统103根据上述子业务系统发送的报表生成请求从报表模板库104获取报表模板后,还可以将该报表模板配置的SQL脚本发送到大数据平台102,大数据平台102可以执行该SQL脚本,并查询该报表模板所需要的报表数据,之后将查询到的报表数据返回到数据系统103。
在本实施例的一些可选的实现方式中,上述大数据平台102可以包括分布式数据查询引擎和数据集市,如图1所示。其中,数据集市可以用于存储和处理原始数据,分布式查询引擎可以利用数据集市中的原始数据构建多个数据模型,并将各数据模型存储到上述数据集市中。
在进一步的实施例中,上述数据系统103可以通过java数据库连接(Java DataBase Connectivity,简称JDBC)与大数据平台102建立联系。具体地,上述java数据库连接可以与上述分布式数据查询引擎建立联系,使得数据系统103可以与大数据平台102进行通信。数据系统103还可以用于向分布式数据查询引擎发送SQL脚本,以使分布式数据查询引擎可以执行SQL脚本查询并返回报表数据。因此,当上述数据系统103向大数据平台102发送SQL脚本时,分布式查询引擎可以执行该SQL脚本,从数据集市获取配置该SQL脚本的报表模板所需要的报表数据。
在本实施例的一些可选的实现方式中,上述数据系统103可以利用获取的报表模板和报表数据渲染生成用户要求生成的报表的HTML代码,并将该HTML代码发送到对应的子业务系统中,使得客户端105可以从该子业务系统获取报表的HTML代码并为用户展示该报表。
在本实施例的一些可选的实现方式中,在用户向业务系统101发送报表生成请求时,接收该报表生成请求的子业务系统还可以检测该用户是否具有生成该报表的权限。如果上述子业务系统检测到该用户具有生成上述报表的权限,则该子业务系统可以向上述数据系统103发送报表生成请求。如果上述子业务系统检测到该用户不具有生成上述报表的权限,则该子业务系统可以向上述用户发送提示该用户无权生成上述报表的提示信息。这样,可以确保报表数据的安全性。
本申请的上述实施例提供的基于大数据平台的报表生成系统,其中的数据系统103可以预先生成并存储多个报表模板,大数据平台102可以预先构建并存储各报表模板定义的数据模型,当数据系统103接收到子业务系统发送的报表生成请求时,数据系统103可以从报表模板库中获取用于生成对应报表的报表模板,从大数据平台102获取该报表模板定义的数据模型所对应的报表数据,生成并向用户发送报表,从而实现了快速自动生成报表。
需要说明的是,基于大数据平台的报表生成系统中的业务系统、数据系统等可以运行在服务器中,相应地,基于大数据平台的报表生成方法一般由基于大数据平台的报表生成系统所在的服务器执行。
继续参考图2,其示出了根据本申请的基于大数据平台的报表生成方法的一个实施例的流程200。如图所示,本实施例的基于大数据平台的报表生成方法,包括以下步骤:
步骤201,第一子业务系统接收用户发送的报表生成请求,并向数据系统发送报表生成请求。
在本实施例中,基于大数据平台的报表生成方法运行于其上的电子设备(例如图1所示的基于大数据平台的报表生成系统所在的服务器),其中的第一子业务系统可以通过有线连接方式或无线连接方式从用户利用其生成报表生成请求的终端接收报表生成请求。进一步地,该第一子业务系统可以向上述电子设备中的数据系统发送报表生成请求。这里,第一子业务系统可以为基于大数据平台的报表生成系统的业务系统中的任一子业务系统。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,响应于接收到的报表生成请求,数据系统从预设的报表模板库获取报表模板。
在本实施例中,数据系统可以预先生成多个报表模板,并将生成的各报表模板存储到预设的报表模板库中。上述数据系统在接收到上述第一子业务系统发送的报表生成请求时,可以从上述报表模板库获取用于生成报表的报表模板。这里,报表模板可以定义利用该报表模板生成的报表的展示样式和数据模型,这里的展示样式可以为柱状图显示、表格显示等,这里的数据模型可以包括模型名称、模型描述、字段类型等。如此,用户可以根据需要生成的报表的展示样式和数据模型的不同来选择不同的报表模板,实现了生成报表的多样化。
步骤203,数据系统从大数据平台获取与报表模板的数据模型对应的报表数据。
在本实施例中,上述数据系统可以根据报表模板定义的数据模型从大数据平台获取与该数据模型对应的报表数据。这里,大数据平台可以对预先收集原始数据进行存储和处理,而后生成多个数据模型及对应的数据字段。需要说明的是,根据数据系统生成的不同的报表模板所定义的数据模型的不同,大数据平台可以将收集到的原始数据构建成不同的数据模型。因此,当不同的报表模板定义了同一数据模型时,上述大数据平台构建的数据模型可以共用,无需针对不同的报表模板多次构建数据模型,避免了数据模型重复开发的问题。
步骤204,数据系统利用报表模板和报表数据生成报表,并通过第一子业务系统向用户发送报表。
在本实施例中,基于步骤202获取的报表模板和步骤203获取的报表数据,上述数据系统可以对其进行渲染生成报表,并且数据系统可以将生成的报表通过上述第一子业务系统发送到用户所在的客户端,以便于客户端可以将该报表展示给用户。
这里,数据系统利用报表模板和报表数据生成的报表可以为HTML代码格式,用户所在客户端在获取报表的HTML代码后,可以解析该报表的HTML代码并向用户展示上述报表。
本申请的上述实施例提供的基于大数据平台的报表生成方法,第一子业务系统可将接收到的用户发送的报表生成请求发送到数据系统,数据系统可以从报表模板库获取生成报表的报表模板,从大数据平台获取该报表模板定义的数据模型对应的报表数据,并利用报表模板和报表数据渲染生成报表,以使上述用户可以获取该报表,从而实现了快速自动生成报表。
接下来请参考图3,其示出了根据本申请的基于大数据平台的报表生成方法的另一个实施例的流程300。如图所示,本实施例的基于大数据平台的报表生成方法,可以包括如下步骤:
步骤301,分布式数据查询引擎利用数据集市中预先存储的原始数据构建多个数据模型,并将各数据模型存储到数据集市。
在本实施例中,大数据平台可以包括分布式查询引擎和数据集市。该数据集市可以预先收集和存储原始数据,而后分布式数据查询引擎可以利用原始数据构建多个数据模型,最后将各数据模型存储到数据集市中。可以理解,上述数据集市中可以存储原始数据、数据模型以及各数据模型的数据字段等。大数据平台可以根据数据系统生成的各报表模板所定义的数据模型来构建和存储对应的数据模型,并且在不同的报表模板中各数据模型可以共用。
步骤302,第一子业务系统接收用户发送的报表生成请求,并向数据系统发送报表生成请求。
在本实施例中,基于大数据平台的报表生成方法运行于其上的电子设备(例如图1所示的基于大数据平台的报表生成系统所在的服务器),其中的第一子业务系统可以通过有线连接方式或无线连接方式从用户利用其生成报表生成请求的终端接收报表生成请求。进一步地,该第一子业务系统可以向上述电子设备中的数据系统发送报表生成请求。这里,第一子业务系统可以为基于大数据平台的报表生成系统的业务系统中的任一子业务系统。
在本实施例的一些可选的实现方式中,上述第一子业务系统在接收到用户发送的报表生成请求后,还可以检测该用户是否具有生成对应报表的权限。若第一子业务系统确定上述用户具有生成对应报表的权限,则该第一子业务系统可以向上述数据系统发送报表生成请求。若第一子业务系统确定上述用户没有生成对应报表的权限,则该第一子业务系统可以向上述用户发送提示该用户无权生成对应报表的提示信息。
步骤303,响应于接收到的报表生成请求,数据系统从预设的报表模板库获取报表模板。
在本实施例中,上述数据系统在接收到上述第一子业务系统发送的报表生成请求时,可以从预设的报表模板库获取用于生成报表的报表模板。这里,报表模板可以定义利用该报表模板生成的报表的展示样式和数据模型,这里的展示样式可以为柱状图显示、表格显示等,这里的数据模型可以包括模型名称、模型描述、字段类型等。
在本实施例中,用户发送的报表生成请求还可以包括报表编号。上述报表模板库可以包含多个报表模板,每一个报表模板均可以定义展示样式和需要的至少一个数据模型。并且,每个报表模板可以包含唯一对应的报表编号。因此,上述数据系统可以根据报表生成请求的报表编号从报表模板库中获取与该报表编号唯一对应的报表模板。
步骤304,数据系统通过java数据库连接与大数据平台的分布式数据查询引擎建立联系。
在本实施例中,上述数据系统可以通过java数据库连接(Java Data BaseConnectivity,简称JDBC)与上述大数据平台的分布式查询引擎建立联系,使得该数据系统可以通过分布式查询引擎与大数据平台进行通信。
步骤305,数据系统为各报表模板配置用于查询报表数据的SQL脚本,并向分布式数据查询引擎发送SQL脚本。
在本实施例中,上述数据系统在生成报表模板时还可以为每个报表模板配置对应的SQL脚本,并将各报表模版的SQL脚本存储在报表模板库中。报表模板的SQL脚本可以用于查询该报表模板生成报表所需要的报表数据。当上述数据系统根据报表生成求情从报表模板库中选取与之对应的报表模板后,该数据系统还可以将该报表模板所配置的SQL脚本发送到大数据平台的分布式数据查询引擎,以便于数据系统可以从大数据平台获取报表数据。
步骤306,分布式数据查询引擎执行SQL脚本,查询并返回报表数据。
步在本实施中,上述分布式查询引擎接在收到数据系统发送的SQL脚本后,可以执行该SQL脚本,从上述数据集市中查询并获取报表数据。这里的SQL脚本为数据系统获取的报表模板所配置的SQL脚本,分布式查询引擎执行该SQL脚本可以从数据集市查询该报表模板所定义的数据模型,并向数据系统返回报表数据。这里的报表数据可以包括数据模型和相应的数据字段。通常,报表模板配置的SQL脚本还可以用于例如求和等运算,因此分布式查询引擎可以对查询到的数据模型做相关的运算,并向数据系统返回运算结果。
步骤307,数据系统利用报表模板和报表数据,渲染生成HTML代码。
在本实施例中,当上述数据系统根据报表生成请求从报表模板库获取报表模板和该报表模板定义的数据模型后,该数据系统可以从数据集市获取对应的报表数据。利用报表模板和报表数据,该数据系统可以对其进行渲染生成报表的HTML代码。通常,数据系统可以根据渲染策略信息预先构建渲染进程,当数据系统获取报表模板和相应的报表数据后可以调用该渲染进程,对其进行渲染生成用户请求生成的报表。
步骤308,第一子业务系统获取并向用户发送HTML代码以展示报表。
在本实施中,基于步骤307生成的报表的HTML代码,上述数据系统可以将该HTML代码发送到上述第一子业务系统,该第一子业务系统可以将该报表的HTML代码发送到用户所在客户端,该客户端可以解析该报表的HTML代码并展示给上述用户。
可见,当用户需要生成报表时,上述第一子业务系统可以接收用户发送的报表生成请求,数据系统可以获取该报表生成请求需要的报表模板和数据模型,进而利用该报表模板和数据模型生成报表的HTML代码,并将该HTML代码再发送给上述第一子业务系统,实现了业务系统闭环,提高了报表生成的效率。
继续参见图4,图4是根据本实施例的基于大数据平台的报表生成方法的应用场景的一个示意图。在图4的应用场景中,用户A可以通过其所在的客户端选择需要查看的第一报表,客户端可以生成第一报表生成请求,并将该请求发送到业务系统中的第一子业务系统。该第一子业务系统获取第一报表生成请求,并查看用户A是否有权限生成第一报表。若否,第一子业务系统生成并向客户端发送用户A没有权限查看第一报表的提示,客户端向用户A展示提示用户A无权限的提示信息,结束用户A对第一报表的查看。若是,响应于第一子业务系统发送的请求,数据系统接收第一报表的生成请求,并根据该请求中的报表编号获取报表模板和SQL脚本,向大数据平台发送该SQL脚本,该大数据平台执行该SQL脚本查询对应的数据模型并返回报表数据;数据系统可以获取报表数据,并根据获取的报表数据和加载的与报表编号对应的报表模板,渲染生成第一报表的HTML代码,并返回该HTML代码;第一子业务系统获取并向客户端发送该HTML代码;客户端可以向用户A展示第一报表,结束用户A对第一报表的查看。
本申请的上述实施例提供的基于大数据平台的报表生成方法,第一子业务系统接收并向数据系统发送用户的报表生成请求,数据系统可以根据报表生成请求从报表模板库获取报表模板,从大数据平台的数据集市获取该报表模板定义的数据模型所对应的报表数据,并对报表模板和报表数据进行渲染生成报表的HTML代码,以便于第一子业务系统向用户发送并展示该报表,从而实现了自动生成报表,提高了报表生成的效率。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备/服务器的计算机系统500的结构示意图。图5示出的终端设备/服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该系统执行时,使得该系统:第一子业务系统接收用户发送的报表生成请求,并向数据系统发送报表生成请求;响应于接收到的报表生成请求,数据系统从预设的报表模板库获取报表模板,其中,报表模板定义展示样式和数据模型;大数据平台利用原始数据构建并存储多个数据模型,以使数据系统从大数据平台获取与报表模板的数据模型对应的报表数据;数据系统利用报表模板和报表数据生成报表,并通过第一子业务系统向用户发送报表。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (15)
1.一种基于大数据平台的报表生成系统,其特征在于,包括:
业务系统,所述业务系统包括多个子业务系统,各所述子业务系统用于接收用户发送的报表生成请求,并将所述报表生成请求发送到数据系统;
大数据平台,用于利用原始数据构建并存储多个数据模型;
所述数据系统,用于生成报表模板,并将所述报表模板存储到报表模板库中,其中,各所述报表模板定义展示样式和所述数据模型;
所述数据系统还用于响应于接收到的报表生成请求,从所述报表模板库获取所述报表模板,从所述大数据平台获取与该报表模板的数据模型对应的报表数据,以生成并向所述用户发送所述报表。
2.根据权利要求1所述的系统,其特征在于,所述报表生成请求包括报表编号;
所述报表模板库包含多个所述报表模板,各所述报表模板定义展示样式和至少一个所述数据模型,且每个所述报表模板包含唯一对应的所述报表编号。
3.根据权利要求1所述的系统,其特征在于,所述数据系统还用于为各所述报表模板配置用于查询所述报表数据的SQL脚本;
所述大数据平台用于执行所述SQL脚本,查询并返回所述报表数据。
4.根据权利要求3所述的系统,其特征在于,所述大数据平台包括分布式数据查询引擎和数据集市;
所述分布式数据查询引擎用于利用所述数据集市中预先存储的原始数据构建多个所述数据模型,并将各所述数据模型存储到所述数据集市。
5.根据权利要求4所述的系统,其特征在于,所述数据系统通过java数据库连接与所述大数据平台的分布式数据查询引擎建立联系;
所述数据系统还用于向所述分布式数据查询引擎发送所述SQL脚本,以使所述分布式数据查询引擎执行所述SQL脚本查询并返回所述报表数据。
6.根据权利要求5所述的系统,其特征在于,所述数据系统还用于渲染所述报表模板和报表数据生成所述报表的HTML代码,并向所述子业务系统发送用于生成所述报表的HTML代码。
7.根据权利要求1所述的系统,其特征在于,所述子业务系统还用于检测请求生成所述报表的所述用户是否具有生成所述报表的权限;
若是,则所述子业务系统向所述数据系统发送所述报表生成请求;
若否,则所述子业务系统向所述用户发送提示所述用户无权限生成所述报表的提示信息。
8.一种基于大数据平台的报表生成方法,其特征在于,包括:
第一子业务系统接收用户发送的报表生成请求,并向数据系统发送所述报表生成请求;
响应于接收到的所述报表生成请求,所述数据系统从预设的报表模板库获取报表模板,其中,所述报表模板定义展示样式和数据模型;
所述数据系统从大数据平台获取与所述报表模板的数据模型对应的报表数据,其中,所述大数据平台存储利用原始数据构建的多个所述数据模型;
所述数据系统利用所述报表模板和报表数据生成所述报表,并通过所述第一子业务系统向所述用户发送所述报表。
9.根据权利要求8所述的方法,其特征在于,所述报表生成请求包括报表编号;
所述报表模板库包含多个所述报表模板,各所述报表模板定义展示样式和至少一个所述数据模型,且每个所述报表模板包含唯一对应的所述报表编号。
10.根据权利要9所述的方法,其特征在于,所述大数据平台包括分布式数据查询引擎和数据集市;
所述方法还包括:
所述分布式数据查询引擎利用所述数据集市中预先存储的原始数据构建多个所述数据模型,并将各所述数据模型存储到所述数据集市。
11.根据权利要求9所述的方法,其特征在于,所述数据系统从大数据平台获取与所述报表模板的数据模型对应的报表数据,包括;
所述数据系统通过java数据库连接与所述大数据平台的分布式数据查询引擎建立联系;
所述数据系统为各所述报表模板配置用于查询所述报表数据的SQL脚本,并向所述分布式数据查询引擎发送所述SQL脚本;
所述分布式数据查询引擎执行所述SQL脚本,查询并返回所述报表数据。
12.根据权利要8所述的方法,其特征在于,所述数据系统利用所述报表模板和报表数据生成所述报表,并通过所述第一子业务系统向所述用户发送所述报表,包括:
所述数据系统利用所述报表模板和报表数据,渲染生成HTML代码;
所述第一子业务系统获取并向所述用户发送所述HTML代码以展示所述报表。
13.根据权利要求8所述的方法,其特征在于,在所述第一子业务系统接收用户发送的报表生成请求后,所述方法还包括:
所述第一子业务系统检测请求生成所述报表的所述用户是否具有生成所述报表的权限;
若是,则所述第一子业务系统向所述数据系统发送所述报表生成请求;
若否,则所述第一子业务系统向所述用户发送提示所述用户无权限生成所述报表的提示信息。
14.一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求8-13中任一所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求8-13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710293801.5A CN108804402A (zh) | 2017-04-28 | 2017-04-28 | 基于大数据平台的报表生成系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710293801.5A CN108804402A (zh) | 2017-04-28 | 2017-04-28 | 基于大数据平台的报表生成系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108804402A true CN108804402A (zh) | 2018-11-13 |
Family
ID=64069682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710293801.5A Pending CN108804402A (zh) | 2017-04-28 | 2017-04-28 | 基于大数据平台的报表生成系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804402A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635028A (zh) * | 2018-12-05 | 2019-04-16 | 拉扎斯网络科技(上海)有限公司 | 数据查询方法及装置、服务器及计算机可读存储介质 |
CN110020416A (zh) * | 2019-02-22 | 2019-07-16 | 贵州力创科技发展有限公司 | 一种表单生成方法、装置和存储介质 |
CN110096547A (zh) * | 2019-03-21 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 供应数据的同步方法、装置、计算机设备及计算机存储介质 |
CN110175319A (zh) * | 2019-05-05 | 2019-08-27 | 中国银行股份有限公司 | 一种报表生成方法及装置 |
CN110413610A (zh) * | 2019-06-19 | 2019-11-05 | 中国平安财产保险股份有限公司 | 提高业务数据报表导出效率的方法及系统、数据库服务器 |
CN110795475A (zh) * | 2019-09-24 | 2020-02-14 | 金蝶软件(中国)有限公司 | 报表生成方法、装置、计算机设备和存储介质 |
CN111191432A (zh) * | 2019-12-26 | 2020-05-22 | 广东飞企互联科技股份有限公司 | 一种智慧园区大数据快速导入方法 |
CN111198873A (zh) * | 2020-01-08 | 2020-05-26 | 中国建设银行股份有限公司 | 数据处理的方法和装置 |
CN111598545A (zh) * | 2020-05-19 | 2020-08-28 | 甬矽电子(宁波)股份有限公司 | 业务数据处理方法、装置、计算机设备和可读存储介质 |
CN113486642A (zh) * | 2021-07-26 | 2021-10-08 | 上海中通吉网络技术有限公司 | 招投标公告生成方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150241A1 (en) * | 2000-03-03 | 2007-06-28 | The Mathworks, Inc. | Report generator for a mathematical computing environment |
CN105808538A (zh) * | 2014-12-29 | 2016-07-27 | 深圳云之家网络有限公司 | 一种移动报表的生成方法及装置 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
-
2017
- 2017-04-28 CN CN201710293801.5A patent/CN108804402A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150241A1 (en) * | 2000-03-03 | 2007-06-28 | The Mathworks, Inc. | Report generator for a mathematical computing environment |
CN105808538A (zh) * | 2014-12-29 | 2016-07-27 | 深圳云之家网络有限公司 | 一种移动报表的生成方法及装置 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635028A (zh) * | 2018-12-05 | 2019-04-16 | 拉扎斯网络科技(上海)有限公司 | 数据查询方法及装置、服务器及计算机可读存储介质 |
CN110020416A (zh) * | 2019-02-22 | 2019-07-16 | 贵州力创科技发展有限公司 | 一种表单生成方法、装置和存储介质 |
CN110096547A (zh) * | 2019-03-21 | 2019-08-06 | 深圳壹账通智能科技有限公司 | 供应数据的同步方法、装置、计算机设备及计算机存储介质 |
CN110175319A (zh) * | 2019-05-05 | 2019-08-27 | 中国银行股份有限公司 | 一种报表生成方法及装置 |
CN110413610B (zh) * | 2019-06-19 | 2023-10-27 | 中国平安财产保险股份有限公司 | 提高业务数据报表导出效率的方法及系统、数据库服务器 |
CN110413610A (zh) * | 2019-06-19 | 2019-11-05 | 中国平安财产保险股份有限公司 | 提高业务数据报表导出效率的方法及系统、数据库服务器 |
CN110795475A (zh) * | 2019-09-24 | 2020-02-14 | 金蝶软件(中国)有限公司 | 报表生成方法、装置、计算机设备和存储介质 |
CN111191432A (zh) * | 2019-12-26 | 2020-05-22 | 广东飞企互联科技股份有限公司 | 一种智慧园区大数据快速导入方法 |
CN111191432B (zh) * | 2019-12-26 | 2023-09-08 | 广东飞企互联科技股份有限公司 | 一种智慧园区大数据快速导入方法 |
CN111198873B (zh) * | 2020-01-08 | 2023-07-07 | 中国建设银行股份有限公司 | 数据处理的方法和装置 |
CN111198873A (zh) * | 2020-01-08 | 2020-05-26 | 中国建设银行股份有限公司 | 数据处理的方法和装置 |
CN111598545A (zh) * | 2020-05-19 | 2020-08-28 | 甬矽电子(宁波)股份有限公司 | 业务数据处理方法、装置、计算机设备和可读存储介质 |
CN113486642A (zh) * | 2021-07-26 | 2021-10-08 | 上海中通吉网络技术有限公司 | 招投标公告生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804402A (zh) | 基于大数据平台的报表生成系统和方法 | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN109697075A (zh) | 文件更新方法、系统和装置 | |
CN109947994A (zh) | 支付过程的处理方法、装置、介质及电子设备 | |
CN109146490A (zh) | 区块生成方法、装置和系统 | |
CN109976997A (zh) | 测试方法和装置 | |
CN108846753A (zh) | 用于处理数据的方法和装置 | |
CN109684188A (zh) | 测试方法和装置 | |
CN109992732A (zh) | 信息分享方法、装置、电子设备及存储介质 | |
CN109766148A (zh) | 用于处理接口方法调用的方法和装置 | |
CN109144735A (zh) | 用于处理数据的方法和装置 | |
CN109639598A (zh) | 基于微服务的请求处理方法、服务器、存储介质及装置 | |
CN108494860A (zh) | Web访问系统、用于客户端的web访问方法和装置 | |
CN108563509A (zh) | 数据查询实现方法、装置、介质及电子设备 | |
CN108920618A (zh) | 一种对象调用关系的保存方法、装置、介质及电子设备 | |
CN109614549B (zh) | 用于推送信息的方法和装置 | |
CN108924183A (zh) | 用于处理信息的方法及装置 | |
CN110070394A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN108733527A (zh) | 用于测试服务器功能的系统、方法和装置 | |
CN109218041A (zh) | 用于服务器系统的请求处理方法和装置 | |
CN107347093A (zh) | 用于分布式服务器系统的配置方法和装置 | |
CN108764354A (zh) | 用于处理信息的方法及装置 | |
CN109471713A (zh) | 用于查询信息的方法和装置 | |
CN109144864A (zh) | 用于测试窗口的方法及装置 | |
CN109413212A (zh) | 用于处理请求的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181113 |