一种报表生成方法和系统技术方案

技术编号:9312861 阅读:144 留言:0更新日期:2013-11-06 19:02
本发明专利技术公开了一种报表生成方法和系统,系统包括客户端和服务器,客户端包括Mash-up编辑器和报表引擎,服务器包括Mash-up引擎;方法包括步骤:S1.Mash-up编辑器生成报表的Mash-up定义,并为Mash-up定义中的各节点分配ID,将Mash-up定义保存到服务器;S2.通过报表引擎向服务器发送请求信息;S3.Mash-up引擎查询所要请求的数据节点所属的Mash-up定义,根据查询到的Mash-up定义构建并执行节点序列,并将执行结果返回所述报表引擎。允许用户根据自己的需要通过创建或删除报表,不需要开发人员参与,且可遵循同样的规则实现功能扩展。

【技术实现步骤摘要】
一种报表生成方法和系统
本专利技术涉及基于互联网技术开发的报表应用,更具体地说,涉及一种报表生成方法和系统。
技术介绍
目前很多软件项目实现的报表应用,都在项目需求阶段确定报表的类型或形式,开发者根据此特定需求通过硬编码形式实现,而没有考虑用户对报表定制的需求,用户或业务人员只能查看预先确定的报表,不能根据自己的业务需求做个性化的定制。业界报表工具的期望是覆盖所有用户需求,用户或第三方通过使用现有的报表工具支持的功能来满足需求。这种报表的生成方法非常僵硬而不灵活,用户只能在报表工具支持的功能范围内来实现表报,报表的制作无法按照用户的不同需要进行灵活调整,一旦出现用户需要的功能报表工具不能支持的情况,相应的报表就无法实现,而用户或第三方只能将对该功能的需求反馈给报表工具提供方,期望在报表工具的下一版本中得以满足。
技术实现思路
针对现有报表的生成方法只允许用户在报表工具支持的功能范围内实现表报,无法实现根据用户的业务需要定制报表的缺陷,提供一种报表的生成方法和系统,通过与用户交互性的可视化图形操作生成报表的定义并存储与服务器,用户通过向服务器请求以获取相应的表报或数据,实现了报表的个性化定制。本专利技术解决其技术问题采用的技术方案是:提供一种报表生成系统,包括通信连接的客户端和服务器,所述客户端包括混聚(Mash-up)编辑器和报表引擎,所述服务器包括Mash-up引擎;其中,所述Mash-up编辑器用于通过交互性的可视化图形操作生成报表的Mash-up定义,并将所述Mash-up定义保存到所述服务器;所述Mash-up定义包括直接或间接关联的数据节点和操作符节点,所述操作符节点用于运行业务逻辑,所述数据节点为所述操作符节点运行相应业务逻辑所需的数据输入以及相应的数据输出;所述Mash-up编辑器还用于向所述服务器请求用于唯一标识生成的Mash-up定义中各节点的ID;所述报表引擎用于向所述服务器发送请求信息,所述请求信息包括所要请求的数据节点的ID;所述Mash-up引擎用于查询所要请求的数据节点的ID所属的Mash-up定义,根据查询到的Mash-up定义构建生成该数据节点的节点序列,执行所述节点序列中的操作符节点并将执行结果返回所述报表引擎。优选地,所述服务器还包括:报表管理器,用于接收所述请求信号,对所要请求的最终数据节点的ID所属的Mash-up定义进行合法性验证,若通过验证,则将所要请求的最终数据节点的ID发送到所述Mash-up引擎。优选地,所述Mash-up引擎根据Mash-up节点序列算法构建生成最终数据节点的节点序列,所述Mash-up节点序列算法包括步骤:A、查询所要请求的数据节点的ID所属的Mash-up定义;B、确定查询到的Mash-up定义中与该数据节点有直接或间接关联的所有节点;C、按照执行顺序将确定的所有节点中的操作符节点构建成生成所要请求的数据节点的节点序列,确定的所有节点中的数据节点作为操作符节点的关联引用保存。优选地,所述节点序列中的操作符节点包括服务器端操作符节点和客户端操作符节点;所述Mash-up引擎执行所述服务器端操作符节点,并将执行结果、以及包括所述客户端操作符节点的剩余的节点序列发送到所述报表引擎,所述报表引擎还用于执行节点序列中的所述客户端操作符节点。优选地,所述客户端操作符节点运行的业务逻辑包括根据用户指定条件处理所述Mash-up引擎返回的执行结果和/或绘制报表。提供一种报表生成方法,包括以下步骤:S1、通过设置在客户端的混聚(Mash-up)编辑器生成报表的Mash-up定义,所述Mash-up定义包括直接或间接关联的数据节点和操作符节点,并为所述Mash-up定义中的各节点分配ID,将所述Mash-up定义保存到服务器;其中,所述操作符节点用于运行业务逻辑,所述数据节点为所述操作符节点运行相应业务逻辑所需的数据输入以及相应的数据输出;S2、通过设置在客户端的报表引擎,向所述服务器发送请求信息,所述请求信息包括所要请求的数据节点的ID;S3、通过设置在服务器端的Mash-up引擎查询所要请求的数据节点的ID所属的Mash-up定义,根据查询到的Mash-up定义构建生成所要请求的数据节点的节点序列,执行所述节点序列中的操作符节点,并将执行结果返回所述报表引擎。优选地,在步骤S2和S3之间还包括步骤:S4、通过设置在服务器端的报表管理器接收所述请求信息,对所要请求的数据节点的ID所属的Mash-up定义进行合法性验证,若通过验证,则将所要请求的数据节点的ID发送到所述Mash-up引擎。优选地,步骤S3包括以下步骤:S3a、所述Mash-up引擎查询所要请求的数据节点的ID所属的Mash-up定义;S3b、所述Mash-up引擎确定查询到的Mash-up定义中与所要请求的数据节点直接或间接关联的所有节点;S3c、所述Mash-up引擎按照执行顺序将确定的所有节点中的操作符节点构建成生成所要请求的数据节点的节点序列,确定的所有节点中的数据节点作为操作符节点的关联引用保存;S3d、所述Mash-up引擎执行所述节点序列中的操作符节点,并将执行结果返回所述报表引擎。优选地,所述节点序列中的操作符节点包括服务器端操作符节点和客户端操作符节点,步骤S3d中,所述Mash-up引擎执行所述服务器端操作符节点,并将执行结果、以及包括所述客户端操作符节点的剩余的节点序列发送到所述报表引擎;所述方法还包括步骤:S5、所述报表引擎执行节点序列中的所述客户端操作符节点。优选地,所述客户端操作符节点运行的业务逻辑包括根据用户指定条件处理所述Mash-up引擎返回的执行结果和/或绘制报表。本专利技术的报表生成方法和系统具有以下有益效果:通过Mash-up编辑器提供交互性的可视化图形操作以生成报表的Mash-up定义,并为Mash-up定义中的各节点分配ID,然后将Mash-up定义保存到服务器,用户通过报表引擎向服务器发送请求信息并接收Mash-up引擎执行生成所要请求的数据节点的节点序列的结果,以获取按业务需要定制的表报或数据。附图说明图1为本专利技术的报表生成系统第一实施例的系统框图;图2为Mash-up定义示例图;图3为Mash-up节点序列算法的实施流程图;图4为Mash-up引擎执行服务器端操作符节点的流程图;图5为本专利技术的报表生成系统第二实施例的系统框图;图6为本专利技术的报表生成方法第一实施例的流程图;图7为本专利技术的报表生成方法第二实施例的流程图。具体实施方式以下结合附图和实施例对本专利技术作进一步的解释说明。图1为本专利技术的报表生成系统100第一实施例的系统框图,如图1所示,在本实施例中,系统100包括通信连接的客户端110和服务器120,其中,客户端110包括Mash-up编辑器111和报表引擎112,服务器120包括Mash-up引擎121。在本实施例中,Mash-up编辑器111用于通过交互性的可视化图形操作生成报表的Mash-up定义,Mash-up定义包括直接或间接关联的数据节点和操作符节点,Mash-up编辑器111为Mash-up定义中的各节点分配ID,然后将Mash-up定义保存到服务器120。其中,操作符节点用于运行业务逻辑,数据节本文档来自技高网...
一种报表生成方法和系统

【技术保护点】
一种报表生成系统,包括通信连接的客户端(110)和服务器(120),其特征在于,所述客户端(110)包括混聚(Mash?up)编辑器(111)和报表引擎(112),所述服务器(120)包括Mash?up引擎(121);其中,所述Mash?up编辑器(111)用于通过交互性的可视化图形操作生成报表的Mash?up定义,并将所述Mash?up定义保存到所述服务器(120);所述Mash?up定义包括直接或间接关联的数据节点和操作符节点,所述操作符节点用于运行业务逻辑,所述数据节点为所述操作符节点运行相应业务逻辑所需的数据输入以及相应的数据输出;所述Mash?up编辑器(111)还用于向所述服务器(120)请求用于唯一标识生成的Mash?up定义中各节点的ID;所述报表引擎(112)用于向所述服务器(120)发送请求信息,所述请求信息包括所要请求的数据节点的ID;所述Mash?up引擎(121)用于查询所要请求的数据节点的ID所属的Mash?up定义,根据查询到的Mash?up定义构建生成该数据节点的节点序列,执行所述节点序列中的操作符节点并将执行结果返回所述报表引擎(112)。

【技术特征摘要】
1.一种报表生成系统,包括通信连接的客户端(110)和服务器(120),其特征在于,所述客户端(110)包括Mash-up编辑器(111)和报表引擎(112),所述服务器(120)包括Mash-up引擎(121);其中,所述Mash-up编辑器(111)用于通过交互性的可视化图形操作生成报表的Mash-up定义,并将所述Mash-up定义保存到所述服务器(120);所述Mash-up定义包括直接或间接关联的数据节点和操作符节点,所述操作符节点用于运行业务逻辑,所述数据节点为所述操作符节点运行相应业务逻辑所需的数据输入以及相应的数据输出,所述操作符节点和数据节点用有向线段连接起来形成所述Mash-up定义;所述Mash-up编辑器(111)还用于向所述服务器(120)请求用于唯一标识生成的Mash-up定义中各节点的ID;所述报表引擎(112)用于向所述服务器(120)发送请求信息,所述请求信息包括所要请求的数据节点的ID;所述Mash-up引擎(121)用于查询所要请求的数据节点的ID所属的Mash-up定义,根据查询到的Mash-up定义基于Mash-up节点序列算法构建生成该数据节点的节点序列,执行所述节点序列中的操作符节点并将执行结果返回所述报表引擎(112);所述Mash-up引擎(121)基于Mash-up节点序列算法构建生成数据节点的节点序列具体包括:A、查询所要请求的数据节点的ID所属的Mash-up定义;B、确定查询到的Mash-up定义中与该数据节点有直接或间接关联的所有节点;C、按照执行顺序将确定的所有节点中的操作符节点构建成生成所要请求的数据节点的节点序列,确定的所有节点中的数据节点作为操作符节点的关联引用保存。2.根据权利要求1所述的报表生成系统,其特征在于,所述服务器(120)还包括:报表管理器(122),用于接收报表引擎(112)发送的请求信息,对所要请求的数据节点的ID所属的Mash-up定义进行合法性验证,若通过验证,则将所要请求的数据节点的ID发送到所述Mash-up引擎(121)。3.根据权利要求1所述的报表生成系统,其特征在于,所述节点序列中的操作符节点包括服务器端操作符节点和客户端操作符节点;所述Mash-up引擎(121)执行所述服务器端操作符节点,并将执行结果、以及包括所述客户端操作符节点的剩余的节点序列发送到所述报表引擎(112),所述报表引擎(112)还用于执行节点序列中的所述客户端操作符节点。4.根据权利要求3所述的报表生成系统,其特征在于,所述客户端操作符节点运行的业务逻辑包括根据用户指定条件处理所述Mash-up引擎(121)返回的执行结果和/或绘制报表。5.一种报表...

【专利技术属性】
技术研发人员:叶雨耒
申请(专利权)人:航天数联信息技术深圳有限公司
类型:发明
国别省市:

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

1