报告生成方法及装置与流程

文档序号:16784615发布日期:2019-02-01 19:21阅读:143来源:国知局
本申请涉及大数据处理
技术领域
:,具体而言,涉及一种报告生成方法及装置。
背景技术
::随着大数据技术的发展,对数据可视化分析的需求越来越多,用户需求将数据平台上的一些数据通过各种样式的图表进行统计展示,并且要求展示统计结果的报告文件具有统一的格式。这就需要制作一个统一的报告模板,在需要生成报告文件时将需要动态更新的内容填入该报告模板。在一些场景中,用户需要的报告文件是一个特定文件格式的,例如,word格式。为了得到这种格式的文件,现有技术中,用户一般需要在线下编辑生成一个word模板,然后将word模板上传数据处理平台,数据处理平台将需要动态更新的内容插入word模板形成报告文件。采用这种方式生成的报告文件,一旦报告格式需要更改,需要用户在线下重新修改word模板,并重新上传到数据平台,操作繁琐,灵活性差。另外,如果需要对已生成的报告再进行格式修改,只能在word格式的报告文件中进行,修改操作十分不便。技术实现要素:第一方面,本申请提供一种报告生成方法,所述方法包括:获得html格式的报告模板,所述报告模板中包括待显示内容及记录所述待显示内容的显示格式的标签,所述待显示内容包括至少一个占位标识;接收报告生成指令,读取所述报告模板,根据所述报告模板中的占位标识查找对应的数据插入至所述报告模板中形成html格式的中间文件;对所述中间文件进行格式转换,生成预设格式的报告文件。可选地,所述获得html格式的报告模板的步骤,包括:为用户提供一包括富文本编辑器的web页面;根据用户在该web页面上的编辑操作,生成所述html格式的报告模板。可选地,所述占位标识包括查询时长及查询内容;所述根据所述报告模板中的占位标识查找对应的数据插入至所述报告模板中形成html格式的中间文件的步骤,包括:以当前时间作为查询起点,查询所述查询时长的时间覆盖范围内所述查询内容对应的数据,并将查找到的数据插入至所述报告模板中形成所述html格式的中间文件。可选地,所述将查找到的数据插入至所述报告模板中形成所述html格式的中间文件的步骤,包括:将所述报告模板中的占位标识替换为查找到的所述数据。可选地,所述方法还包括:接收针对所述中间文件的修改指令,根据所述修改指令替换所述中间文件中的相应标签,并将修改后的中间文件转换为新的报告文件。第二方面,本申请提供一种报告生成装置,所述装置包括:模板获取模块,用于获得html格式的报告模板,所述报告模板中包括待显示内容及记录所述待显示内容的显示格式的标签,所述待显示内容包括至少一个占位标识;中间文件生成模块,用于接收报告生成指令,读取所述报告模板,根据所述报告模板中的占位标识查找对应的数据插入至所述报告模板中形成html格式的中间文件;报告文件生成模块,用于对所述中间文件进行格式转换,生成预设格式的报告文件。可选地,所述模板获取模块具体用于为用户提供一包括富文本编辑器的web页面;并根据用户在该web页面上的编辑操作,生成所述html格式的报告模板。可选地,所述占位标识包括查询时长及查询内容;所述中间文件生成模块具体用于以当前时间作为查询起点,查询所述查询时长的时间覆盖范围内所述查询内容对应的数据,并将查找到的数据插入至所述报告模板中形成所述html格式的中间文件。可选地,所述中间文件生成模块在将查找到的数据插入至所述报告模板中形成所述html格式的中间文件时,将所述报告模板中的占位标识替换为查找到的所述数据。可选地,所述装置还包括:修改模块,用于接收针对所述中间文件的修改指令,根据所述修改指令替换所述中间文件中的相应标签,并将修改后的中间文件转换为新的报告文件。相对于现有技术而言,本申请具有以下有益效果:本申请实施例提供的报告生成方法及装置,通过在html格式的报告模板中加入需要动态更新的待显示内容生成html格式的中间文件,再将中间文件转换成预设格式的报告文件。由于在html格式的报告模板中,待显示内容的样式是以标签的形式存在的,可以方便用户在线上进行灵活的编辑。生成的html格式的中间文件中样式和实际待显示内容也是通过不同的标签分离点的,方便了用户对已生成的内容进行修改。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的服务器的应用场景示意图;图2为本申请实施例提供的报告生成方法的流程示意图;图3为本申请实施例提供的报告模板的示意图;图4为本申请实施例提供的服务器的硬件示意图;图5为本申请实施例提供的报告生成装置的功能模块示意图。图标:100-服务器;110-报告生成装置;111-模板获取模块;112-中间文件生成模块;113-报告文件生成模块;114-修改模块;120-存储器;130-处理器;140-通信单元;200-客户端;300-网络。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。请参照图1,本实施例提供的方案主要应用于图1所示的服务器100,服务器100可以通过网络300与客户端200进行通信。在本实施例中,服务器100可以为客户端200提供基于浏览器/服务器(browser/server,简称b/s)架构的web交互页面,使客户端200通过web交互页面对部署在服务器100上的大数据平台进行操作。其中,图1所示的服务器100可以为一台单独的服务器,也可以为多个服务器组成的集群。请参照图2,本实施例提供一种应用于图1所示服务器100的报告生成方法,下面对该方法的各个步骤进行详细解释。步骤s110,获得html格式的报告模板,所述报告模板包括待显示内容及记录所述待显示内容的显示格式的标签,所述待显示内容包括至少一个占位标识。可选地,在本实施例中,服务器100可以为用户提供一包括富文本编辑器(richtexteditor)的web页面。然后根据用户在该web页面上的编辑操作,生成所述html格式的报告模板。请参照图3,图3为富文本编辑器中编辑状态下输入的内容与保存为html格式的报告模板后的对照示意图。通过富文本编辑器编辑的报告模板中,显示格式或显示样式是以标签的形式与待显示内容一起储存的。例如,用户在图3所示富文本编辑器中,用户采用楷体_gb2312字体,18磅字号输入的文字“全网链路日吞吐量峰值对比”,保存为html格式的报告模板后对应的内容为“<fontface="楷体_gb2312,楷体"><fontstyle="font-size:18px;">全网链路日吞吐量峰值对比</font></font>”。其中,显示格式标签为“<fontface="楷体_gb2312,楷体"><fontstyle="font-size:18px;">”,对应的待显示内容为“全网链路日吞吐量峰值对比”。另外,在本实施例中,针对需要插入显示的数据,用户可以在富文本编辑器中输入与该数据对应占位标识代替。例如,若需要“全网链路日吞吐量峰值对比”的文字标题下插入全网链路日吞吐量峰值对比的图表,用户可以在图3所示的富文本编辑器中输入“{{#day_speed_table}}”先代替需要插入的日吞吐量峰值对比的图表。相较于现有技术中,一旦要进行模板修改,就需要用户在线下编辑报告模板然后上传到数据平台的方案,本实施例提供的方案中,由于在html格式的报告模板中,显示格式或显示样式是通过标签的形式存在的,用户不需要再使用专门软件进行模板编辑或模板上传的动作,可以直接在web页面上灵活地对模板中的显示格式或显示样式进行调整修改。例如,用户可以使用在线的富文本编辑器或直接对htnl格式的报告模板进行编辑,将图3所示html格式的报告模板中显示格式对应的标签的“18px”修改为“24px”,即可以将文字“全网链路日吞吐量峰值对比”的显示字号大小调整为24磅。步骤s120,接收报告生成指令,读取所述报告模板,根据所述报告模板中的占位标识查找对应的数据插入至所述报告模板中形成html格式的中间文件。服务器100在接收到报告生成指令开始生成报告文件时,先读取指定的报告模板,然后根据报告模板中的占位标识查找相应的数据。可选地,基于不同的时间点,需要展示的数据可能不同,例如,上一周的周吞吐量峰值对比数据与本周的周吞吐量峰值对比数据可能是不同的,故在本实施例中,占位标识包括可以查询时长及查询内容,例如,在图3所示中,代表日吞吐量峰值对比的图表的占位符“{{#day_speed_table}}”中,“day”表示查询时长为一日,“speed_table”表示查询内容为全网吞吐量峰值的图表。服务器100可以根以当前时间作为查询起点,查询所述查询时长的时间覆盖范围内所述查询内容对应的数据,并将查找到的数据插入至所述报告模板中形成所述html格式的中间文件。例如,针对占位符“{{#day_speed_table}}”,服务器100根据当前时间,查询当前时间前一日内的全网吞吐量峰值,并使用查找到的数据替换报告模板中的占位符“{{#day_speed_table}}”。在插入数据的过程中,服务器100将所述报告模板中的占位标识替换为查找到的数据。例如,将查找到的日吞吐量峰值对比的图表对应的数据替换{{#day_speed_table}}标识。其中,可以通过预设的python语言脚本等方式实现对占位标识的查找及替换动作。将数据插入报告模板后即获得了本次报告生成动作的html格式的中间文件,服务器100可以先保存该中间文件。步骤s130,对中间文件进行格式转换,生成预设格式的报告文件。在本实施例中,服务器100可以将生成的中间文件转换成用户需要的格式,例如,将html格式的中间文件转换成word格式的报告文件。其中,在经过格式转换后,中间文件仍可以保存在所述服务器100中。在现有技术中,报告文件生成以后若要进行修改,需要在线下对生成的报告文件逐个修改的方案,并且修改中的误操作可能导致报告文件中的数据被误修改。相比较现有技术,本实施例提供的方案中,由于在html格式的中间文件中,显示格式或显示样式以标签的形式与待显示内容一起存储,在中间文件生成以后,用户也可以在web页面上通过修改相应的标签对中间文件的显示格式或显示样式进行调整,而不影响其他待显示的数据。例如,在本实施例中,服务器100可以接收针对所述中间文件的修改指令,根据所述修改指令替换所述中间文件中的相应标签,并将修改后的中间文件转换为新的报告文件。如此,本实施例提供的方案中,对已生成的报告也可以在线上灵活地进行修改,方便了用户的操作。请参照图4,图4是图1所示的服务器100的方框示意图。所述服务器100包括存储器120、处理器130及通信单元140。所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述存储器120可以存储有机器可执行的指令,例如所述存储器120存储有与报告生成逻辑相关的指令,该机器可执行的指令再被所述处理器130执行时,促使所述服务器100实现本实施例提供的报文生成方法。其中,所述存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于通过所述网络300建立所述服务器100与客户端200之间的通信连接,并用于通过所述网络300收发数据。请参照图5,本实施例还提供一种应用于上述服务器100的报告生成装置110,该装置包括模板获取模块111、中间文件生成模块112及报告文件生成模块113。模板获取模块111用于获得html格式的报告模板,所述报告模板包括至少一个占位标识。本实施例中,所述模板获取模块111可用于执行图3所示的步骤s110,关于所述模板获取模块111的具体描述可参对所述步骤s110的描述。可选地,在本实施例中,所述模板获取模块111具体用于为用户提供一包括富文本编辑器的web页面;并根据用户在该web页面上的编辑操作,生成所述html格式的报告模板。中间文件生成模块112用于接收报告生成指令,读取所述报告模板,根据所述报告模板中的占位标识查找对应的数据插入至所述报告模板中形成html格式的中间文件。本实施例中,所述中间文件生成模块112可用于执行图3所示的步骤s120,关于所述中间文件生成模块112的具体描述可参对所述步骤s120的描述。可选地,在本实施例中,所述中间文件生成模块112具体用于根据所述报告模板中的占位标识以及当前时间查找相应的数据,并将查找到的数据插入至所述报告模板中形成所述html格式的中间文件。可选地,在本实施例中,所述中间文件生成模块112在将查找到的数据插入至所述报告模板中形成所述html格式的中间文件时,将所述报告模板中的占位标识替换为查找到的数据。报告文件生成模块113用于对所述中间文件进行格式转换,生成预设格式的报告文件。本实施例中,所述报告文件生成模块113可用于执行图3所示的步骤s130,关于所述报告文件生成模块113的具体描述可参对所述步骤s130的描述。可选地,请再次参照图5,在本实施例中,所述装置还可以包括修改模块114。修改模块114用于接收针对所述中间文件的修改指令,根据所述修改指令修改所述中间文件,并将修改后的中间文件转换为新的报告文件。综上所述,本申请实施例提供的报告生成方法及装置,通过在html格式的报告模板中加入需要动态更新的待显示内容生成html格式的中间文件,再将中间文件转换成预设格式的报告文件。由于在html格式的报告模板中,待显示内容的样式是以标签的形式存在的,可以方便用户在线上进行灵活的编辑。生成的html格式的中间文件中样式和实际待显示内容也是通过不同的标签分离点的,方便了用户对已生成的内容进行修改。在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1