用于分析预生成数据报告的分析引擎及方法与流程

文档序号:13041806阅读:270来源:国知局
本发明涉及数据分析及比较系统的领域,尤其涉及一种用于评估预生成数据报告的方法及分析引擎。
背景技术
::通常,与企业相关的用户包括但不限于管理员、开发人员、测试人员、经理、编辑、信息技术(informationtechnology,it)人员、商业智能(businessintelligence,bi)专家、数据科学家等。用户提供一个或多个查询请求以获取一个或多个数据结果,即该一个或多个查询请求的查询结果。该一个或多个数据结果由与该企业关联的查询执行引擎从与该企业关联的数据存储中获取。该数据存储以数据块的方式存储复杂的庞大数据,这些数据通常都经索引、排序及压缩。该数据存储提供用于搜索该数据存储中的一个或多个数据结果的有效工具,以对该用户提出的一个或多个查询请求提供响应。报告引擎将该一个或多个数据结果作为报告获取,以报告的格式提供该一个或多个数据结果的整体视图。该一个或多个报告可以是但不限于以下格式:超文本标记语言(hypertextmarkuplanguage,html),可扩展标记语言(extensiblemarkuplanguage,xml),pdf格式(portabledocumentformat,pdf),纯/富文本格式,及电子表格格式等。该报告引擎以可视趋势图的形式提供该一个或多个报告。具体地,该可视趋势图使该一个或多个报告可视化,以展示与该一个或多个查询请求相关的一个或多个数据结果。该可视趋势图包括但不限于饼状图、条状图、直方图、盒型图、运行图、森林图、扇形图、控制图、表格及透视表等。例如,当用户请求查询xxx国及yyy国的智能手机的‘xyz’网络流量分布时,从数据存储中获取展示不同品牌的智能手机的‘xyz’网络流量分布的报告。图1a以条状图的形式示出了xxx国及yyy国的不同品牌的智能手机的‘xyz’网络流量分布。在某一场景中,用户执行一个或多个操作,包括但不限于对一个或多个报告进行对比和聚合。例如,用户想要对比xxx国的‘xyz’网络流量分布与yyy国的‘xyz’网络流量分布。通常,一个国家的数据存在于相应国家的数据存储或数据库中。具体地,xxx国的数据存在于实际上位于xxx国的xxx国数据库中,yyy国的数据存在于实际上位于yyy国的yyy国数据库中。在这种情况下,由于用户并没有权利访问国家的数据库进行数据分析,所以要进入不同国家的数据库中获取相应国家的数据就面临巨大的挑战。而且,xxx国的报告是由与xxx国的数据库相关联的分析师生成的,这也是个问题,因为在这种情况下,分析师可能无法访问也没有所需的权限查询yyy国的数据库。因此,分析师无法生成针对这两个国家的对比或聚合报告。而且,在大数据的情况下,有些数据可能会被定期从数据库中删除,从而为新数据提供空间,数据库中仅保留必要的或最少的信息。如此,就没有真实的数据供将来数据再分析。因此,数据删除后,可能无法生成对比和/或聚合报告。假如分析师可以访问这两个数据库并且相应的系统支持对两个不同来源的数据进行合并,在大数据的情况下,针对该查询请求需要扫描的数据量巨大,则可能造成系统资源浪费。例如,对一个或多个报告中庞大数据的对比和/或聚合可能需要几分钟甚至几个小时并需要消耗大量的处理器及存储器资源。此外,对不同报告的分析也是一个巨大的挑战。传统上,为报告模板定义的报告元素是静态的,如图1b所示。报告的查看形式已经事先定义,这对用户造成了限制,使其不能将报告与其他报告一并分析。具体地,如图1b所示,报告引擎解析报告模板。报告引擎从报告模板中读取查询请求并使用查询引擎执行这些查询请求。报告引擎搜集针对这些查询请求的查询结果并将查询结果传递给与报告引擎关联的渲染引擎。渲染引擎基于报告模板及查询结果对该报告的各部分进行渲染。然后,渲染引擎提供最终的报告。具体地,当用户打开html报告时,对该包含html内容的报告、css样式文件及图表和/或图片进行渲染以供显示,如图1c所示,其中,该html内容包括布局及格式数据。这种报告渲染方式对用户进行分析造成了限制,这是因为图表等报告元素中的值可能不清晰,而且将图表与表格进行对比也存在困难。在一种可选的方法中,用户可以手动对比和/或聚合该一个或多个报告。但是手动的对比和/或聚合操作既繁琐又复杂而且更为耗时,因为含有图表的报告可能无法显示所有的报告内容,因而无法定位所有报告中的所有数据及手动进行对比和/或聚合。其中一种现有技术对流数据进行实时数据虚拟化。具体地,现有技术公开了一种实时分析系统,该系统提供一种实时数据的图表,如图1d所示。编号114a、114b……114i为定义实时数据的条柱。除实时数据外,该实时分析系统还提供对比实时数据与历史数据的选项,历史数据可以是昨天的数据,上周的数据,或上个月的数据等。但是,当原始数据缺失时,现有技术无法进行对比,而且基于原始数据生成对比报表会带来系统资源浪费。而且,现有技术通过网络进行在线对比。因此,当发生网络故障时,无法进行离线分析,因为存在问题。这种情况下,当没有网络连接时,无法进行对比。技术实现要素:本发明实施例涉及一种用于配置安全参数的方法、服务器、基站及通信系统。本发明的目的在于保证数据传输安全并降低性能消耗。本发明的一个目的是克服现有技术的缺点。本发明的这个目的是对数据报告进行实时动态渲染。本发明的另一个目的是对具有相似报告元素的预生成数据报告进行分析,以在离线平台中进行对比和/或聚合。本发明涉及一种用于分析预生成报告的方法。所述方法包括分析引擎,尤其是离线分析引擎,执行的一个或多个步骤。所述方法的第一步骤包括接收对多个预生成数据报告中的第一数据报告及至少一个第二数据报告的选择。所述多个预生成数据报告中的每一个包括报告元素、所述报告元素的报告布局、所述报告元素的元数据及所述报告元素的数据。在一实施例中,所述数据报告为使用查询请求信息、元素、所述元素的配置信息、及一个或多个报告模板中每个报告模板的布局信息生成的封装报告。所述报告元素是指所述一个或多个报告模板中的每个报告模板包括的可视趋势图的种类。所述可视趋势图可包括但不限于饼状图、条状图、直方图、盒型图、运行图、森林图、扇形图、控制图、表格及透视表。在一实施例中,所述配置信息是指所述元素的配置,即元素的元数据。所述报告元素的数据是指各个所述报告元素的数据。所述方法还包括将所述第一数据报告的报告布局与所述至少一个第二数据报告的报告布局进行对比。所述方法还包括基于对比确定所述第一数据报告的报告元素及元数据与所述至少一个第二数据报告的每个对应报告元素及元数据匹配。基于所述确定,所述方法还包括:生成对比报告,所述对比报告包括与所述至少一个第二数据报告中所述对应报告元素的对应数据进行对比的所述第一数据报告中所述报告元素的数据;以及生成聚合报告,所述聚合报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。在一实施例中,通过检索每个所述数据报告的查询请求、布局详情、元素及元素的配置信息生成所述多个数据报告中的每个数据报告。所述方法还包括至少执行针对各数据报告的所述查询请求生成包括查询数据的数据记录等操作之一。所述方法还使用各数据报告的所述元素的配置信息生成各元素的元信息。所述方法还使用各数据报告的所述布局详情生成各数据报告的布局信息。所述方法还包括将所述数据记录、所述元信息及所述布局信息与相应的分析引擎聚合。所述方法还包括:所述分析引擎使用所述数据报告中包含的元素、数据记录、元信息及布局信息动态地渲染各数据报告。在一实施例中,所述对比报告是基于所述第一数据报告及所述至少一个第二数据报告的各所述报告元素的元数据生成的。所述聚合报告是基于所述第一数据报告及所述至少一个第二数据报告的各所述报告元素的元数据生成的。所述方法还包括:所述分析引擎为所述对比报告的报告元素的各数据生成可视趋势图。本发明公开了一种用于分析预生成数据报告的分析引擎。所述分析引擎用于接收对多个预生成数据报告中的第一数据报告及至少一个第二数据报告的选择。所述多个预生成数据报告中的每一个包括报告元素、所述报告元素的报告布局、所述报告元素的元数据及所述报告元素的数据。所述分析引擎用于将所述第一数据报告的报告布局与所述至少一个第二数据报告的报告布局进行对比。所述分析引擎用于基于对比确定所述第一数据报告的报告元素及元数据与所述至少一个第二数据报告的每个对应的报告元素及元数据是否匹配。所述分析引擎用于基于所述确定生成对比报告,所述对比报告包括与所述至少一个第二数据报告中所述对应报告元素的对应数据进行对比的所述第一数据报告中所述报告元素的数据。所述分析引擎用于生成聚合报告,所述聚合报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。所述分析引擎与生成引擎相关联,所述生成引擎用于通过检索各数据报告的查询请求、布局详情、元素及元素的配置信息生成所述多个数据报告中的各数据报告。之后,针对各数据报告的所述查询请求生成包括查询数据的数据记录。使用各数据报告的所述元素的配置信息生成各元素的元信息。使用各数据报告的所述布局详情生成各数据报告的布局信息。此外,将所述数据记录、所述元信息及所述布局信息与相应的分析引擎聚合。所述分析引擎用于使用所述数据记录、所述元信息及所述布局信息动态地渲染各数据报告。所述分析引擎用于基于所述第一数据报告及所述至少一个第二数据报告的各所述报告元素的元数据生成所述对比报告。所述分析引擎用于基于所述第一数据报告及所述至少一个第二数据报告的各所述报告元素的元数据生成所述聚合报告。所述分析引擎还用于为所述对比报告的报告元素的各数据生成可视趋势图。本发明涉及一种非瞬时性计算机可读存储介质,其上存储有操作,当这些操作被至少一个处理单元处理时,使得分析引擎进行以下行为以执行一个或多个动作:接收对多个预生成数据报告中的第一数据报告及至少一个第二数据报告的选择,其中,所述多个预生成数据报告中的每一个包括报告元素、所述报告元素的报告布局、所述报告元素的元数据及所述报告元素的数据。然后,将所述第一数据报告的报告布局与所述至少一个第二数据报告的报告布局进行对比。接着,基于所述对比确定所述第一数据报告的报告元素及元数据与所述至少一个第二数据报告的每个对应报告元素及元数据匹配。基于所述确定执行至少以下操作之一:生成对比报告,所述对比报告包括与所述至少一个第二数据报告中所述对应报告元素的对应数据进行对比的所述第一数据报告中所述报告元素的数据;生成聚合报告,所述聚合报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。本发明公开一种用于在分析引擎上执行一个或多个动作的计算机程序。所述计算机程序包括用于接收对多个预生成数据报告中的第一数据报告及至少一个第二数据报告的选择的代码段,其中,所述多个预生成数据报告中的每一个包括报告元素、所述报告元素的报告布局、所述报告元素的元数据及所述报告元素的数据。所述计算机程序包括用于将所述第一数据报告的报告布局与所述至少一个第二数据报告的报告布局进行对比的代码段。所述计算机程序包括用于基于所述对比确定所述第一数据报告的报告元素及元数据与所述至少一个第二数据报告的对应报告元素及元数据是否匹配的代码段。所述计算机程序包括用于基于所述确定执行至少以下操作之一的代码段:生成对比报告,所述报告包括与所述至少一个第二数据报告中所述对应报告元素的对应数据进行对比的所述第一数据报告中所述报告元素的数据。所述计算机程序包括用于生成聚合报告的代码段,所述聚合报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。在一实施例中,本发明对数据报告进行分析。由于各所述数据报告是预生成的,因此,本发明不对任何国家的任何分析师使用任何数据库造成限制。如此,不受限制的各所述数据报告可以用于分析,即,用于生成所述对比报告和/或聚合数据报告。而且,通过这种方式,生成的分析报告可以包括各元素,即,表格、透视表、图表、图片等,不同于现有技术,所述分析报告可以为分析师提供更好的视图。以上
发明内容仅用于说明性目的,并非旨在进行任何限制。除上述各示例方面及特点外,其他各方面及特性可参考附图及以下具体描述。附图说明本发明的新颖的特点和特征在所附权利要求中进行阐述。但是本发明自身、优选的使用方式,及其其它目的和优势,也可以通过参考以下说明性实施例的详细说明结合附图得到最好的理解。现参照附图仅通过示例描述一个或更多的实施例。图1a至1d所示为根据现有技术实施例的图示使用静态报告模板及历史数据生成数据报告的图;图2所示为根据本发明一些实施例的图示用于分析预生成报告的,一个或多个数据报告的分析引擎及处理器与存储器的示例性方框图;图3a所示为根据本发明一些实施例的图示用于分析预生成数据报告的分析引擎及各种模块和数据的详细方框图;图3b所示为根据本发明一些实施例的用于分析预生成数据报告的分析引擎及各种引擎的详细方框图;图4所示为根据本发明一些实施例的图示动态生成数据报告的示例性图;图5所示为根据本发明一些实施例的图示渲染数据报告的内容的示例性图;图6a至6f所示为图示根据本发明一些实施例的分析预生成数据报告的图;图7至图9所示为根据本发明一些实施例的用于分析和预生成多个数据报告及渲染数据报告内容的方法的流程图;以及图10示出了用于实现与本发明一致的实施例的示例性计算机系统的方框图。以上附图对本发明实施例的描述仅仅用于说明性目的。本领域技术人员将很容易从以下说明中意识到本文中示出的结构和方法的替代性实施例可以在不脱离本文所述的本发明的原理的情况下采用。具体实施方式各实施例的许多特征和优点在详细说明书中显而易见,因此,所附权利要求书意图涵盖属于其范围内的实施例的所有此类特征和优点。此外,由于所属领域的技术人员将容易想到多种修改和变化,因而并不希望将发明性实施例限于所说明并描述的确切构造和操作,因此,可以采取的所有适当修改和等效物均属于相应范围内。上文相当宽泛地概述了本发明的实施例的特征和技术优点,目的是让人能更好地理解下文对本发明的详细描述。下文中将描述本发明的额外特征和优点,其形成本发明的权利要求书的标的物。所属领域的技术人员应了解,所公开的概念和具体方面可容易地用作修改或设计用于实现本发明的相同目的的其他结构的基础。所属领域的技术人员还应意识到,此类等效构造不脱离所附权利要求书中所提出的本发明的范围。根据以下说明结合附图内容可以更好地理解被视为本发明的特点,无论是关于其组成还是操作方法,的新颖特征以及进一步的目的和优势。但是,应明确了解,提供的每个图仅用于说明性和描述性目的,并非旨在对本发明进行限制。本发明实施例涉及一种用于分析预生成数据报告的方法。更具体地,本发明涉及实时动态地对一个或多个数据报告进行离线对比和/或聚合。该一个或多个数据报告是由分析引擎预先生成的,其报告内容包括但不限于报告元素的布局、报告元素、报告元素的元数据及元素的数据。当用户通过相应的报告浏览器打开一个或多个数据报告时,分析引擎使用数据报告的报告内容对数据报告进行动态渲染。浏览器可包括,例如,超文本标记语言(hypertextmark-uplanguage,html)浏览器。在传统的报告系统中,需要对报告进行静态预渲染,而数据报告的报告内容及在浏览器中对报告进行渲染的分析引擎消除了这种需求。在预渲染的报告中,报告数据作为可视的报告元素被预渲染为所需格式的html元素,如表格、图片或文档。仅浏览器就足以渲染这样的报告。对于本发明的数据报告,一旦数据报告在浏览器中打开,分析引擎就需要对报告进行渲染。分析引擎读取报告布局、报告元素及数据报告的数据并在报告浏览器中离线渲染数据报告。用户从一个或多个预生成数据报告中选择可以作为主报告的第一数据报告,及至少一个第二数据报告,以便参考第一数据报告进行分析。换言之,第一数据报告被用作参考数据报告,第一数据报告与至少一个第二数据报告的对比和/或聚合都基于第一数据报告执行。因此,本发明实施例借助于示例图及一个或多个示例进行解释。但是这类示例性图及示例用于说明性目的,以便于更好地理解本发明,不应解释为对本发明范围的限制。图2所示为根据本发明一些实施例的图示用户设备200的示例性方框图,用户设备200包括处理器202、存储器206、多个预生成数据报告208a、208b......208n(统称为208)及多个预生成报告208各自的分析引擎210a、210b……210n(统称为210)。在一实施方式中,用户设备200可以实现为各种计算系统,如便携式计算机、台式计算机、个人计算机(personalcomputer,pc)、笔记本、智能手机、平板电脑、电子书阅读器(例如kindles及nooks)、工作站、大型计算机、服务器及网络服务器等。在一个示例中,用户设备200与企业相关联。用户设备200可以由用户使用,用户包括与企业相关联的人员。用户包括但不限于管理员、开发人员、测试人员、经理、编辑、信息技术(informationtechnology,it)人员、商业智能(businessintelligence,bi)专家、数据科学家等。在一实施例中,用户可包括用户设备200本身,用户设备200能够执行如本发明包括的用户所执行的动作。用户设备200包括处理器202、耦合到处理器202的输入/输出(input/output,i/o)接口204、存储器206及包括分析引擎210的多个预生成数据报告208。在一实施例中,用户设备200以通信方式连接到与所述企业相关联的的数据报告生成服务器212。在一实施例中,多个数据报告208是由数据报告生成服务器212预先生成的。在一实施方式中,数据报告生成服务器212可以是用于预生成多个数据报告208的用户设备200。多个数据报告208中的各报告由所述数据报告生成服务器212预先生成且具有预定义的报告内容。在一实施例中,多个数据报告208是预先生成的,从而通过相应的分析引擎210在相应的数据报告浏览器中动态的对多个数据报告中的一个或多个数据报告进行渲染。当用户通过浏览器访问该一个或多个数据报告时,可独立地通过相应的一个或多个数据报告的预定义报告内容动态地查看经渲染的一个或多个数据报告。另外,多个数据报告208是预先生成的,以使用多个预生成的数据报告208的一个或多个数据报告中的任一一个进行涉及对比和/或聚合的分析。数据报告生成服务器212预生成多个数据报告208的详细描述将在下文中说明。在一实施例中,用户设备200使用户从多个预生成的数据报告208中选择第一数据报告及至少一个第二数据报告。在一实施例中,用户选择的第一数据报告及至少一个第二数据报告中的各报告是由用户设备200经由i/o接口204从数据报告生成服务器212接收的。i/o接口204用于在用户界面(未示出)上提供与多个预生成数据报告208的分析相关的可视趋势图,以便向用户显示。具体地,i/o接口204用于向用户界面提供由分析引擎生成的对比报告和/或聚合报告。处理器202可包括用于执行程序组件的至少一个数据处理器,这些程序组件用于对多个数据报告208中的各数据报告进行渲染及启动离线对比和/或聚合分析。处理器104用于通过i/o接口204接收所选择的第一数据报告和至少一个第二数据报告。处理器104用于使用所选择的第一数据报告的分析引擎进行包括对比和/或聚合的分析。在一实施例中,可使用多个预生成的数据报告208中任一数据报告的分析引擎执行分析。处理器202将分析结果提供给所述用户接口以供显示或查看。在一实施例中,处理器202能够使用分析引擎210及其他一个或多个模块对多个预生成数据报告208进行分析,详情如本发明下文所述。存储器206以通信方式耦合到处理器202。存储器206存储有处理器可执行指令,当这些指令被执行时,使得处理器202对多个预生成数据报告208中的各数据报告进行分析及渲染。存储器206存储第一数据报告及至少一个第二数据报告。存储器206存储为第一数据报告和至少一个第二数据报告中的各数据报告预定义的报告内容的信息。在一实施方式中,存储器206存储与第一数据报告及至少一个第二数据报告的分析相关的一份或多份数据。具体地,分析引擎210及处理器202的一个或多个模块使用该一份或多份数据进行对比和/或聚合。该一份或多份数据将在本发明的进一步描述中详细说明。图3a所示为根据本发明一些实施例的图示用于对多个预生成的数据报告208中的各数据报告进行分析及渲染的分析引擎210与各数据300及模块316的详细方框图。在一实施例中,数据报告生成服务器212生成多个数据报告328a、328b……328n(统称为328)后,从数据报告生成服务器212接收与多个预生成数据报告208中各数据报告的离线分析及渲染相关的一份或多份数据300。本文图示了数据报告生成服务器212生成多个数据报告328中的各数据报告。数据报告生成服务器212包括处理器(未示出)、i/o接口(未示出)及存储器(未示出)。因此,数据报告生成服务器212使用一个或多个报告模板生成包括预定义报告内容的各数据报告。数据报告生成服务器212的i/o接口用于将多个数据报告328的一个或多个数据报告提供给一个或多个用户设备200,以供分析及渲染。在一实施例中,数据报告生成服务器212的处理器用于生成多个数据报告328中的各数据报告。具体地,处理器包括生成引擎326以生成多个数据报告328中的具有预定义报告内容的各数据报告。生成引擎326检索一个或多个报告模板中的各报告模板的一个报告模块,该报告模板包括查询请求、布局详情、元素、元素的配置信息及数据源。生成引擎326包括查询执行引擎(图3中未示出),该查询执行引擎为一个或多个报告模板中的各报告模板发现来自该模板的查询请求,并执行这些查询请求以获取查询数据。之后,生成引擎326针对各数据报告的查询请求生成包括查询数据的数据记录(图4中的410)。在一个示例中,生成引擎326根据获取的查询数据生成预定义格式的可内嵌的本地数据,预定义格式包括javascript对象表示法(javascriptobjectnotation,json)格式/可扩展标记语言(extensiblemark-uplanguage,xml)格式。在一实施例中,元素是指一个或多个报告模板中的每个报告模板包括的可视趋势图的种类。可视趋势图可包括但不限于饼状图、条状图、直方图、盒型图、运行图、森林图、扇形图、控制图、表格及透视表。在一个实施例中,配置信息是指元素的配置,即元素的元数据。具体的,配置信息定义数据报告中可视趋势图的数目,例如表格配置、表格数量,表格的行列、表格的实体、列的索引、实体类型、实体尺寸、查询结果大小、查询结果测量值、字段数量、表格关键信息、访问行的顺序、列之间的相互关系、表格限制之间的相互关系、从实体中检索的数据量、用于组合行的列、以及表格的大小。例如,假如一个html报告模板有两个元素,如html表格及html图表。各元素,即html表格及html图表,包括它们各自的配置信息。例如,表格配置信息可包含表头‘xyz’、‘abc’等,每页包含100行等。在一个示例中,一个或多个报告模板中的每个报告模板的布局详情通常指报告模板中提供元素的方位及报告模板样式的部分。例如,布局详情可以是一个可扩展标记语言(xml)文件。生成引擎326使用相应报告模板的各元素生成一个或多个数据报告中的各数据报告的布局信息。在一实施例中,生成引擎326生成布局信息(图4中的408),例如,有元素空占位符的,html报告的布局html文件。在一个示例中,html文件定义各元素的布局及占位符,如下所示:<html><bodyonload=”render()”><divclass=”report_item”type=”table”data=“data/table1.json”configuration=“conf/table1conf.xml”></div><divclass=“report_item”type=“chart”data=”data/table2.json”configuration=conf/chart1conf.xml”></div></body></html>在一实施例中,html布局不包含格式内容但包含html占位符。原始形式的数据(410)作为结构化json/xml嵌入html报告中。生成引擎326还包括聚合引擎(图3中未示出),该聚合引擎将数据记录、元信息及布局信息连同相应的分析引擎330a、330b……330n(统称为330)聚合或封装在一起。所聚合或封装的报告称为数据报告。图4所示为创建的多个数据报告328.如图4所示,包括查询执行引擎404及聚合引擎406的生成引擎326展示为使用报告模板400的内容生成各数据报告。在一实施例中,聚合引擎406可以是封装引擎。封装引擎封装或合并各数据记录410、元信息412、布局信息408,元素416与分析引擎330。在一实施例中,分析引擎330在进行分析时即为分析引擎210。各分析引擎330用于对多个数据报告328中的一个或多个数据报告进行渲染。分析引擎330可以是预生成的一个或多个数据报告中的各数据报告的javascript。另外,聚合引擎406/封装引擎封装级联样式414。各预生成的数据报告328的格式可以包括但不限于以下格式:超文本标记语言(hypertextmarkuplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)、pdf格式(portabledocumentformat,pdf)、word格式、excel格式等。预生成的一个或多个数据报告328中的各数据报告存储于数据报告生成服务器212的存储器中。返回参考图3,用户设备200选择多个预生成的数据报告328中的第一数据报告及至少一个第二数据报告。以第一优先级从多个预生成的数据报告328中选择的任一数据报告被视为第一数据报告。在第一数据报告之后选择的任一数据报告被视为至少一个第二数据报告。在一实施例中,分析引擎330动态地渲染各预生成的数据报告328。此处对第一数据报告的渲染进行描述。在一实施例中,多个数据报告328中一个或多个数据报告中的各数据报告的分析引擎330使用元素416、数据记录410、元信息412及布局信息408对一个或多个数据报告328中的各数据报告进行渲染。在一实施例中,一个或多个数据报告中的各数据报告中的分析引擎409用于执行渲染。在一实施方式中,当用户离线或通过浏览器打开一个或多个数据报告中的各数据报告时,分析引擎330对各对应数据报告进行渲染。图5所示为对数据报告328进行渲染的示例性实施例。例如,当用户通过浏览器打开html文件时对html文件进行渲染。浏览器读取html并对布局进行渲染。之后,浏览器调用渲染引擎330的分析引擎java脚本实现的带载文件就绪操作/功能。分析引擎java脚本解析浏览器中渲染的文档对象模型(documentobjectmodel,dom)结构并发现为一个或多个数据报告328中的各数据报告提供的占位符。例如,分析引擎java脚本找到表格或图表占位符。然后,分析引擎java脚本读取各元素及占位符的配置/元信息并对元素进行渲染。具体地,例如,分析引擎java脚本从元/配置信息中找到表格元素所需的数据、所需的样式及各种具体设置,如阈值、格式、分页及标题等。分析引擎java脚本从查询数据410(xml/json)中检索所需的数据。分析引擎java脚本对数据进行格式化,对当前元素信息的html片段进行渲染并将其注入到dom中。浏览器基于分析引擎java脚本动态更新的html对html文件的显示进行再渲染。例如,假设第一数据报告包含显示流量分布的表格及图表。分析引擎330对第一数据报告进行渲染后,这些表格及图表显示给用户查看。这样,渲染是动态实时进行的。例如,假设一传统的报告为html文件,其中的报告元素及样式信息等已被渲染成htlm表格/图片/文档。用户只需要使用任意html浏览器打开该html文件即可查看该传统报告。但是,数据报告是由分析引擎330通过读取数据报告的布局、元素信息、元素数据及样式等报告内容来实时渲染的。在这种情况下,生成的数据报告,即html报告,不包含html形式的报告元素(如html表格/图片/文本)。但是,html元素是由分析引擎330实时生成的,当数据报告在浏览器中打开时,对html元素进行动态渲染。在对第一数据报告进行渲染时,提供了用于分析第一数据报告与其他预生成的数据报告328的一个或多个选项。这样,用户能够从所述多个预生成的数据报告328中选择至少一个第二数据报告。在一实施例中,第一数据报告及至少一个第二数据报告可以从数据数据报告生成服务器212和/或用户设备200中选择。在选择第一数据报告及至少一个数据报告后,用户设备200接收与第一数据报告及至少一个第二数据报告的报告内容相关的一份或多份数据300。在一实施方式中,一份或多份数据300可包括,例如,用户设备200接收的预生成数据报告信息302及其它数据314。预生成报告信息302包括与布局信息408类似的报告布局信息304、与元素416类似的报告元素信息306、与元信息412类似的元数据详情308、与数据记录410类似的报告元素数据310及分析引擎330的分析引擎信息312。报告布局信息304是指第一数据报告及至少一个第二数据报告中的各报告的布局信息408。报告元素信息306是指第一数据报告和至少一个第二数据报告中的各报告的元素信息。元信息308是指第一数据报告和至少一个第二数据报告中的各报告的配置/元信息。报告元素数据310是指各报告元素的数据。分析引擎信息312是指相应的第一数据报告及至少一个第二数据报告中的各数据报告中包括的分析引擎409的详情。其它数据312可指可用于分析多个预生成数据报告208的数据。在一实施例中,一份或多份数据300可以不同的数据结构形式存储在存储器206中。另外,可使用如关系或分级数据模型等数据模型组织上述数据300。其它数据312可用于存储一个或多个模块316生成的数据,包括临时数据及临时文件。在一实施例中,一个或多个模块316对数据300进行处理。一个或多个模块316可存储于存储器206中。模块316可包括,例如,输入模块318、输出模块322及执行各种分析功能的其它模块324。可以理解到如上述的模块可以表现为单独的模块或不同模块的组合。在一实施方式中,输入模块318用于从数据报告生成服务器212接收一个或多个数据报告328。具体地,对第一数据报告及至少一个第二数据报告中的各报告的选择是通过输入模块318接收的。然后,分析引擎210对一个或多个数据报告328进行分析。在一实施例中,分析引擎210包括接收模块332、对比模块334及执行模块336,如图3b所示。分析引擎210的接收模块332接收对第一数据报告及所述至少一个第二数据报告的选择。在被接收模块接收后,第一数据报告及至少一个第二数据报告成为一个或多个数据报告208。下文中详细说明对第一数据报告及至少一个第二数据报告的选择。图6a所示为提供用于分析多个预生成数据报告328的一个或多个选项的示例。接收到对第一数据报告的选择后,提供用于分析第一数据报告与其他预生成的数据报告328的一个或多个选项。提供的分析选项包括对比选项、与可视趋势选项对比的选项、聚合选项及对比与聚合选项。假如用户选择对比选项,该用户能够从多个预生成的数据报告328中选择至少一个第二数据报告,如图6b所示。选择至少一个第二数据报告后,调用第一数据报告的分析引擎210。在一实施例中,分析引擎210提供离线分析,其中,用户不需要连接到数据生成服务器212的网络连接。另外,分析引擎210是客户端侧的离线引擎,分析引擎210从用户设备200执行功能。而且,分析引擎210内置在多个预生成数据报告208中的各数据报告中。第一数据报告的分析引擎210的对比模块334将第一数据报告的报告布局与至少一个第二数据模块的报告布局进行对比。然后,第一数据报告的分析引擎210的对比模块334确定第一数据报告的报告元素及元数据与至少一个第二数据报告的每个对应报告元素及元数据是否匹配。在分析中,使用来自报告元素信息306与元信息308的第一数据报告及至少一个第二数据报告的报告元素及元数据。在一实施例中,第一数据报告的分析引擎210可以分别访问第一数据报告的数据记录600c及至少一个第二数据报告的数据记录602c,如图6c所示。在一实施例中,第一数据报告的分析引擎210的执行模块336基于元数据生成对比报告,其中,元数据即为第一数据报告及至少一个第二数据报告的各报告元素的元信息600d及数据记录600c,对比报告包括将第一数据报告中报告元素的数据与至少一个第二数据报告中对应报告元素的对应数据进行对比。图6d所示为条形图及表格格式的对比报告。如果用户选择聚合选项,则第一数据报告的分析引擎210的执行模块336基于元数据生成聚合报告,其中,元数据即为第一数据报告及至少一个第二数据报告的各报告元素的元信息600d及数据记录600c,聚合报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。图6e所示为条形图及表格格式的聚合报告。在一实施例中,还可以进行演绎及相似性操作。如果用户选择带趋势选项的对比选项,则一个或多个趋势图示出数据报告中的各数据,如图6e所述。在一实施例中,还可示出任意种类的一个或多个趋势,包括但不限于增加、减少等。在一实施例中,各生成的对比报告及聚合报告如传统报告一样渲染。可使用任意浏览器查看这种生成的对比/聚合报告。输出模块322以与第一数据报告的报告元素相映射的可视趋势图的形式提供分析结果以向用户显示,分析结果由分析引擎210提供。如图7、8、9所示,方法700、800及900包括用于分析、生成及渲染数据报告的一个或多个步骤。方法700、800及900可以在通常的计算机可执行指令场景下描述。通常,计算机可执行指令可包括执行特定功能或实现特定抽象数据类型的日常工作、程序、对象、组件、数据结构、过程、模块及功能。方法700、800及900的描述顺序不应解释为限制,可以对所描述的任意编号的方法步骤以任意顺序进行组合,以实现方法700、800及900。而且,可从方法700、800及900中删除单独的步骤,而不脱离本文所描述的主题的精神及范围。此外,方法700、800及900可以实现为任何合适的硬件,软件,固件或其组合。图7示出了根据本发明一些实施例的用于分析多个预生成数据报告210的方法700的流程图。在步骤701,接收对多个预生成数据报告328中的第一数据报告及至少一个第二数据报告的选择。多个预生成数据报告328中的各数据报告包括报告内容,报告内容含有报告元素、报告元素的报告布局、报告元素的元数据及报告元素的数据。在步骤702,将第一数据报告的报告布局与至少一个第二数据报告的报告布局进行对比。在步骤703,基于对比检查第一数据报告的报告元素及元数据与至少一个第二数据报告的每个对应报告元素及元数据是否匹配。如果不匹配,则流程以“否”终止于步骤706。具体地,如果第一数据报告的报告元素及元数据与至少一个第二数据报告的每个对应报告元素及元数据不匹配,则从对比/聚合报告中排除不匹配报告,并将对(选择的报告中的)其它匹配报告进行对比/聚合,如步骤704及705所述。在步骤704,生成对比报告,该报告包括与至少一个第二数据报告中对应报告元素的对应数据进行对比的第一数据报告中报告元素的数据。在步骤705,生成聚合报告,该报告包括所述第一数据报告中所述报告元素的数据及所述至少一个第二数据报告中所述对应报告元素的对应数据。在步骤707,对至少对比报告及聚合报告之一进行渲染。图8示出了根据本发明一些实施例的多个数据报告338的生成。在步骤801,检索每个报告模板的报告内容,包括查询请求、布局详情、元素及元素的配置信息。在步骤802,针对各报告模板的查询请求生成包括查询数据的数据记录。在步骤803,使用每个报告模板的元素的配置信息生成各元素的元信息。在步骤804,使用各数据报告的布局详情生成各数据报告的布局信息。在步骤805,将元素、数据记录、元信息、css样式及布局信息与相应的分析引擎330聚合。图9示出了根据本发明一些实施例的用于对各报告内容进行渲染以生成数据报告328的方法900的流程图。在步骤901,用户通过分析引擎java脚本在浏览器中打开数据报告。在步骤902,浏览器读取html内容。在一实施例中,显示html文件的布局。在步骤903,执行带载javascript功能。在一实施例中,从带载功能调用分析引擎java脚本。在步骤904,分析引擎330的分析引擎java脚本读取html及dom布局并对各报告元素逐个渲染。在步骤905,分析引擎java脚本读取每个报告元素的配置、数据及渲染元素。在步骤906,向用户显示渲染后的数据报告。计算机系统图10示出了实现与本发明一致的实施例的示例性计算机系统1000的框图。在一实施例中,计算机系统1000用于实现数据报告208的分析引擎210及用户设备200。计算机系统1000可包括中央处理单元(centralprocessingunit,“cpu”或“处理器”)1002。处理器1002可包括至少一个数据处理器,用于执行对多个数据报告208进行分析的程序组件。处理器1002可包括专门的处理单元,如集成系统(总线)控制器、内存管理控制单元、浮点单元、图形处理单元、数据信号处理单元等。处理器1002可设置为通过输入/输出(input/output,i/o)接口1001与一个或多个i/o设备(1012及1013)通信。i/o接口1001可以使用,但不限于,如下通信协议/方法:语音、模拟、数字、单声道、rca、立体声、ieee-1394、串行总线、通用串行总线(universalserialbus,usb)、红外线、ps/2、bnc、同轴、组件、合成、数字视频接口(digitalvisualinterface,dvi)、高清多媒体接口(high-definitionmultimediainterface,hdmi)、rf天线、s-video、vga、ieee802.n/b/g/n/x、蓝牙、蜂窝(例如,码分多址(code-divisionmultipleaccess,cdma)、高速分组接入(high-speedpacketaccess,hspa+)、全球移动通信系统(globalsystemformobilecommunications,gsm)、长期演进(long-termevolution,lte)、wimax等)等。i/o接口1001可包括各种软件及硬件接口,例如,web接口、图形用户接口等。计算机系统1000可通过i/o接口1001与一个或多个i/o设备(1012和1013)通信。例如,输入设备1012可以是天线、键盘、鼠标、操作杆、(红外线)远程控制、照相机、读卡器、传真机、软件狗、生物识别器、麦克风、触摸屏、触摸板、轨迹球、传感器(例如加速度计、光线传感器、gps、陀螺仪、接近传感器等)、手写笔、扫描仪、存储设备、收发器、视频设备/源、头盔等。输出设备1013可以是打印机、传真机、视频显示器(例如,阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)、发光二极管(light-emittingdiode,led)、等离子等)、扬声器等。在一些实施例中,处理器1002可以设置为通过网络接口1003与通信网络1009通信。网络接口1003可与通信网络1009通信。网络接口1003可以使用,但不限于以下连接协议:直连、ethernet(例如,双绞线10/100/1000baset)、传输控制协议/互联网协议(controlprotocol/internetprotocol,tcp/ip)、令牌环、ieee802.11a/b/g/n/x等。通信网络1009可包括但不限于直接互联、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线网络(例如使用无线应用协议)、因特网等。计算机系统1000可通过网络接口1003及通信网络1009与数据报告生成服务器1010通信。网络接口1003可以使用,但不限于以下连接协议:直连、ethernet(例如,双绞线10/100/1000baset)、传输控制协议/互联网协议(controlprotocol/internetprotocol,tcp/ip)、令牌环、ieee802.11a/b/g/n/x等。通信网络1009包括但不限于直接互联、电子商务网络、端到端(peertopeer,p2p)网络、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线网络(例如使用无线应用协议、因特网、wi-fi等。第一网络与第二网络可以是专用网络或共享网络。共享网络表示的是一种相互间通过各种协议进行通信的不同类型的网络的联合,各种协议可以是,例如,超文本传输协议(hypertexttransferprotocol,http)、传输控制协议/互联网协议(controlprotocol/internetprotocol,tcp/ip)、无线应用协议(wirelessapplicationprotocol,wap)等。此外,第一网络与第二网络可包括各种网络设备,包括路由器、网桥、服务器、计算设备、存储设备等。在一些实施例中,处理器1002可以设置为通过存储接口1004与存储器1005(例如ram、rom等,图10中未示出)通信。通信接口1004可使用连接协议与存储器1005连接,其中存储器1005包括但不限于内存驱动器、可移动磁盘驱动器等;连接协议包括,例如,串行高级技术附件(serialadvancedtechnologyattachment,sata)、集成驱动电路(integrateddriveelectronics,ide)、ieee-1394、通用串行总线(universalserialbus,usb)、光纤通道、小型计算机系统接口(smallcomputersystemsinterface,scsi)等。内存驱动器还包括鼓、磁盘驱动器、磁光驱动器、光驱动器、独立磁盘冗余阵列(redundantarrayofindependentdiscs,raid)、固态内存设备、固态驱动器等。存储器1005可存储一批程序或数据库组件,包括但不限于用户接口应用1006、操作系统1007、web服务器1008等。在一些实施例中,计算机系统1000可存储用户/应用数据1006,例如本发明中描述的数据、变量、记录等。这类数据库可以实现为安全的可扩展的容错关系型数据库,例如oracle或sybase。操作系统1007可以实现计算机系统1000的资源管理及操作。操作系统的例子包括但不限于applemacintoshosx、unix、类unix系统发行(例如,berkeley软件发行(berkeleysoftwaredistribution,bsd)、freebsd、netbsd、openbsd等)、linux发行(例如,redhat、ubuntu、kubuntu等)、ibmos/2、microsoftwindows(xp,、vista/7/8等)、appleios、googleandroid、blackberryos等。用户接口417可通过文本或图形工具实现程序组件的显示、执行、交互、操纵或操作。例如,用户接口可在操作地连接到计算机系统1000的显示系统上提供计算机交互接口元素,例如,光标、图标、复选框、菜单、滚动条、窗口、小插件等。可使用图形用户界面(graphicaluserinterface,gui),包括但不限于applemacintosh操作系统的aqua、ibmos/2、microsoftwindows(例如,aero、metro等)、unixx-windows、web接口库(例如activex、java、javascript,、ajax、html、adobeflash等)等。在一些实施例中,计算机系统1000可实现web浏览器1008存储的程序组件。web浏览器可以是超文本查看应用,如microsoftinternetexplorer、googlechrome、mozillafirefox、applesafari等。可通过https(securehypertexttransportprotocol,安全超文本传输协议)、安全套接层(securesocketslayer,ssl)、传输层安全(transportlayersecurity,tls)等提供安全的web浏览。web浏览器可使用ajax、dhtml、adobeflash、javascript、java、应用编程接口(applicationprogramminginterfaces,apis)等附加功能。在一些实施例中,计算机系统1000可实现邮件服务器存储的程序组件。邮件服务器可以是因特网邮件服务器,例如microsoftexchange等。邮件服务器可使用asp、activex、ansic++/c#、microsoft.net、cgi脚本、java、javascript、perl、php、python、webobjects等附加功能。邮件服务器可使用因特网消息接入协议(internetmessageaccessprotocol,imap)、消息应用程序接口(messagingapplicationprogramminginterface,mapi)、microsoftexchange、邮局协议(postofficeprotocol,pop)、简单邮件传输协议(simplemailtransferprotocol,smtp)等通信协议。在一些实施例中,计算机系统1000可实现邮件客户端存储的程序组件。邮件客户端可以是邮件查看应用,例如applemail、microsoftentourage、microsoftoutlook、mozillathunderbird等。此外,可使用一个或多个计算机可读存储介质来实现与本发明一致的实施例。计算机可读存储介质指的是任意类型的可以存储处理器可读的信息或数据的物理内存。因而,计算机可读存储介质可以存储由一个或多个处理器执行的指令,包括使处理器执行与本文描述的实施例一致的步骤或阶段的指令。术语“计算机可读介质”应当理解为包括实体物品但不包括载波及瞬态信号,即,其是非瞬时的。例如,随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、易失存储器、非易失存储器、硬盘、cdrom、dvd、闪存盘、磁盘及其它已知的物理存储介质。另外,本文描述了本发明的优点。本发明实施例提供更快的分析,包括对比及聚合。数据报告的手动生成方面已删除,因此,本发明实现动态生成数据报告。另外,实现了显示分析的可视趋势图的创建,而这在现有技术中是受到限制的。本发明实施例提供对具有任意报告格式的任意类型的数据报告的分析。本发明一个方面实现了生成用于进行分析的数据报告的标准及复杂报告模板。所述操作可以实施为一种使用标准程序和/或工程技术的方法、系统或制品以产生软件、固件、硬件或它们的任何组合。所述操作可以实施为“非瞬时计算机可读介质”中保持的代码,处理器可从该计算机可读介质中读取及执行该代码。该处理器至少是微处理器及能够处理及执行查询请求的处理器其中之一。非瞬时计算机可读介质可包括磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储(cd-rom、dvd、光盘等)、易失及非易失存储设备(例如,eeprom、rom、proms、ram、dram、sram、闪存、固件、可编程逻辑等)等介质。此外,非瞬时计算机可读介质包括除瞬时传播信号外的所有计算机可读介质。实施所述操作的代码还可在硬件逻辑(例如,集成电路芯片,、可编程门阵列(programmablegatearray,pga)、专用集成电路(applicationspecificintegratedcircuit,asic)等)中实施。此外,实现所述操作的代码可以通过“传输信号”实施。传输信号可通过空间或通过光纤、铜线等传输介质例传播。有代码或逻辑编码其中的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。有代码或逻辑编码其中的传输信号能够通过发射台发射并由接收台接收,其中传输信号中编码的代码或逻辑可在接收和发射台或设备的硬件或非瞬时计算机可读介质中解码或存储。“制品”包括非瞬时计算机可读介质、硬件逻辑和/或可在其中实现代码的传输信号。其中编码有实现所述操作实施例的代码的设备可包括计算机可读介质或硬件逻辑。当然,本领域技术人员将认识到,可以对这种配置进行各种修改而不脱离本发明的范围,并且,制品可包括承载本领域已知介质的合适信息。除非另有明确规定,否则术语“一实施例”、“实施例”、“多项实施例”、“该实施例”、“这些实施例”、“一项或多项实施例”、“一些实施例”和“一项实施例”指本发明的“一项或多项(但不是全部)实施例”。除非另有明确规定,否则术语“包含”、“包括”、“具有”和其他形式指“包括但不限于”。除非另有明确规定,否则枚举的项目列表并不意味着这些项目中的任何项目或所有项目是互斥的。除非另有明确规定,否则术语“一”、“一个”和“所述”指“一个或多个”。描述具有相互通信的若干部件的实施例并不意味着需要所有这些部件。相反,描述多种可选部件来说明本发明的许多种可能的实施例。虽然本文描述了单个设备或制品,但显然可以使用不止一个设备/制品(不论它们是否协作)来代替单个设备/制品。类似地,虽然本文描述了不止一个设备或制品(不论它们是否协作),但显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可替代性地由没有明确地描述为具有这种功能/特征的一个或多个其它设备来实施。因此,本发明的其他实施例不需要包括设备本身。图7、8和9所示的操作示出了以某个顺序发生的某些事件。在可替代的实施例中,某些操作可按别的顺序执行或修改或移除。另外,可在上文所描述的逻辑中增加步骤,而仍符合所描述的实施例。此外,本文所述的操作可以依次发生,或者某些操作可并行处理。另外,可由单个处理单元或者由分布式处理单元来执行操作。最后,出于可读性和指导性的目的已经主要选择了说明书中使用的语言,并且该语言未被选择成限定或限制本发明的主题。因此,本发明的范围并非意在由这一详细描述限制,而是由在基于本文的应用上所附的任何权利要求限制。因此,本发明实施例旨在举例说明,而非限制在所附权利要求中阐述的本发明范围。尽管本文公开了多个方面和实施例,但是其它方面和实施例对于所属领域技术人员来说应该是显而易见的。本文所公开的多个方面和实施例是出于说明性目的,而非限制性的,真实范围由所附权利要求表征。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1