一种报表生成方法及装置与流程

文档序号:17538544发布日期:2019-04-29 14:16阅读:147来源:国知局
本申请涉及物联网领域,具体而言,涉及一种报表生成的方法及装置。
背景技术
::随着物联网行业的迅速发展,物联网报表已经广泛使用在各种各样的物联网业务场景中。目前,物联网报表都是根据客户需求定制开发,设备类型和报表各自独立,无法做到任意维度的报表和跨设备类型报表分析,灵活性差,查询速度慢。同时客户需求又是多变的,当需求改变时需要花费大量时间重新定制报表,导致成本提高,降低了工作效率。有鉴于此,如何实现生成任意维度的报表和跨设备类型报表,是目前需要解决的问题。技术实现要素:本申请的目的在于提供一种报表生成方法及装置。第一方面,本申请提供一种报表生成方法,所述方法包括:配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项;接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值;根据选择的属性项,及该属性项对应的属性值生成所述报表。可选地,在接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作之前,所述方法还包括:接收采集的不同设备的原始数据;采用预设粒度对所述不同设备的原始数据进行处理,得到不同设备的所述属性项对应的属性值;根据各设备的所述属性项对应的属性值生成对应的事实表;根据不同设备对应的事实表生成所述数据表。可选地,所述根据不同设备对应的事实表生成所述数据表,包括:检测所述不同设备对应的事实表中是否包括相同的属性项;若检测到不同设备对应的事实表中包括相同的属性项,将不同设备对应的事实表中的相同的属性项进行合并,得到数据表。可选地,所述从包括有设备属性项的数据表中提取该选择的属性项对应的属性值之前,所述方法包括:将所述数据表导入关系型数据库管理系统,以在所述关系型数据库管理系统中对所述数据表进行操作。可选地,在根据选择的属性项,及该属性项对应的属性值生成所述报表之后,所述方法还包括:采用预设的图表显示方式显示所述报表,其中,所述预设的图表显示方式包括饼图、柱状图、表格、折线图。可选地,所述根据不同设备对应的事实表生成所述数据表,包括:采用结构化查询语言sql引擎生成所述报表。第二方面,本申请提供一种报表生成装置,所述装置包括:配置模块,用于配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项;选择模块,用于接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值;第一生成模块,用于根据选择的属性项,及该属性项对应的属性值生成所述报表。可选地,所述装置还包括:接收模块,用于接收采集的不同设备的原始数据;处理模块,用于采用预设粒度对所述不同设备的原始数据进行处理,得到不同设备的所述属性项对应的属性值;第二生成模块,用于根据各设备的所述属性项对应的属性值生成对应的事实表;还用于根据不同设备对应的事实表生成所述数据表。可选地,所述第二生成模块具体用于:检测所述不同设备对应的事实表中是否包括相同的属性项;若检测到不同设备对应的事实表中包括相同的属性项,将不同设备对应的事实表中的相同的属性项进行合并,得到数据表。可选地,所述装置还包括:导入模块,用于将所述数据表导入关系型数据库管理系统,以在所述关系型数据库管理系统中对所述数据表进行操作。相比现有技术,本申请提供的有益效果包括:本申请提供一种报表生成方法及装置,所述方法包括:配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项;接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值;根据选择的属性项,及该属性项对应的属性值生成所述报表。采用本申请中提供的报表生成方法,能够生成一种动态报表,实现任意维度和跨设备的指标分析。在用户需求有变或者需要制作其他相关报表时,不需要重新编写代码,提高了工作效率。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的报表生成方法的步骤流程示意框图;图2为本申请实施例提供的报表生成方法的其他步骤流程示意框图;图3图2中步骤s207的子步骤流程示意框图;图4为本申请实施例提供的报表生成装置的结构示意框图。图标:110-报表生成装置;1101-配置模块;1102-选择模块;1103-第一生成模块;1104-接收模块;1105-处理模块;1106-第二生成模块;1107-导入模块。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本申请的描述中,需要理解的是,术语“上”、“下”、“内”、“外”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,“设置”、“连接”等术语应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。下面结合附图,对本申请的具体实施方式进行详细说明。请参照图1,图1为本申请实施例提供的报表生成方法的步骤流程示意框图。本实施例提供一种报表生成方法,所述方法包括:步骤s201,配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项。在本实施例中,设备基本属性可以是指设备的各项基本参数属性,比如设备编号、设备类型、设备当前所述省、市。设备管理属性可以是指设备的所属属性,比如设备用户编号、设备所述场所。设备自定义属性可以根据用户需求自行设置,比如设备状态、设备泵送量、设备油耗。应该理解的是,在本实施例中,设备基本属性、设备管理属性和设备自定义属性可以是由维度项和度量项其中至少一种属性项构成。比如,当设备是泵车时,设备基本属性可以包括泵车的臂数(比如,2节、3节、4节、5节),臂数可以是维度项。当设备是混凝土搅拌车时,设备基本属性可以包括混凝土搅拌车的容量(比如,10立方米、12立方米、14立方米),容量可以是维度项。当设备是挖掘机时,此时该挖掘机属于用户a,用户a可以是挖掘机的设备管理属性,用户a可以是维度项。当设备时推土机时,此时该推土机属于机构b,机构b可以是推土机的设备管理属性,机构b可以是维度项。当设备是泵车时,设备自定义属性可以是泵车的泵送量,泵送里可以是量度项;设备自定义属性还可以是油耗量,油耗量可以是量度项。步骤s202,接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值。步骤s203,根据选择的属性项,及该属性项对应的属性值生成所述报表。请参照图2,图2为本申请实施例提供的报表生成方法的其他步骤流程示意框图。在本实施例中,在步骤s202之前,所述方法还包括:步骤s204,接收采集的不同设备的原始数据。在本实施例中,采集设备的方式时实施采集,可以是每10秒采集一次。以保证设备各项属性的准确。比如,采集一台设备的油耗,可以是每10秒对该设备的油耗进行一次记录。在预设采集时间内(比如,24小时),油耗的原始数据可以有8640条。步骤s205,采用预设粒度对所述不同设备的原始数据进行处理,得到不同设备的所述属性项对应的属性值。在本实施例中,预设粒度可以是指根据用户需求设定的最小粒度。比如,当用户需要采集一台设备一天的油耗时,那么可以根据该设备一天(24小时)的采集的油耗记录(比如,前述8640条记录)计算得到一个总油耗,此时,最小粒度可以是一条记录。当用户需要采集一台设备在四种不同状态下(比如,驾驶、设置、工作、空闲)的一天的油耗时,可以将对应状态实时采集的油耗数值(即原始数据)对应计算得到四种状态下一天的总油耗,此时,最小粒度可以是四条记录。通过设置最小粒度,能够将实时采集的原始数据根据需求进行整合,得到降低了数量级的属性值,提升了查询速度。应当理解的是,在本实施例中,可以采用filereader(异步文件读取机制)从hdf(hadoop,分布式文件系统)中读取存储的各个设备的原始数据。步骤s206,根据各设备的所述属性项对应的属性值生成对应的事实表。在本实施例中,可以将不同的设备对应的不同的属性项使用编程模型mapreduce根据前述最小粒度进行统计分析,生成的对应多个不同的事实表可以保存在数据仓工具hive中。步骤s207,根据不同设备对应的事实表生成所述数据表。请参照图3,图3图2中步骤s207的子步骤流程示意框图。在本实施例中,步骤s207可以包括子步骤s2071和子步骤s2072:步骤s2071,检测所述不同设备对应的事实表中是否包括相同的属性项。步骤s2072,若检测到不同设备对应的事实表中包括相同的属性项,将不同设备对应的事实表中的相同的属性项进行合并,得到数据表。在本实施例中,当不同设备生成的事实表中包括相同的属性项时,可以将对应相同的属性项进行合并,不同的属性项单独列出,得到一个跨设备的数据表。比如,统计的设备可以包括泵车和挖掘机。其中,泵车的事实表包括日期、省、市、车辆id、状态、泵送量、油耗、速度。挖掘机的事实表可以包括:日期、省、市、车辆id、液压力度、挖斗大小、引擎转速。其中,相同的属性项包括日期、省、市、车辆id。不同的属性项包括状态、泵送量、油耗、速度和液压力度、挖斗大小、引擎转速。可以将两个设备的日期、省、市、车辆id属性项进行合并,对应属性项下的属性值合并为同一列。不同的属性项在两个设备事实表进行融合得到数据表时单独添加不同的属性项对应的列。在其他实施例中,也可以使用其他格式生成事实表。进一步地,在步骤s202之前,所述方法包括:将所述数据表导入关系型数据库管理系统,以在所述关系型数据库管理系统中对所述数据表进行操作。在本实施例中,可以通过编程模型mapreduce对数据表进行制作,当得到需要的数据表后,可以通过sqoop(sqoop.apache.org)工具将制作好的数据表导入关系型数据库管理系统mysql中。应当理解的是,在导入的过程中,数据表的格式、内容都不会改变,但在关系型数据库管理系统mysql中,数据的查询速度会变得更快。进一步地,在步骤s203之后,所述方法还包括:采用预设的图表显示方式显示所述报表,其中,所述预设的图表显示方式包括饼图、柱状图、表格、折线图。进一步地,步骤s207包括:采用结构化查询语言sql引擎生成所述报表。在本实施例中,可以采用结构化查询语言sql引擎生成所述报表。所有的维度项和度量项在界面上都可任意组合,通过把组合的形式传递到报表引擎,报表引擎即可自动生成查询sql。比如,需要生成一个查询每日油耗的报表,界面组织维度为日期度量为油耗计算方式为求合把这些参数传递给报表引擎,报表引擎会根据这几个参数自动生成sql(select日期,sum(油耗)fromtablegroupby日期)。报表引擎连接数据库执行sql,会返回需要的报表数据。再比如,需要统计河北省石家庄市车辆的状态和油耗的情况,可以把维度项对应的属性项(比如,省对应的属性provice,市对应的属性city,车辆对应的属性vehicle)配置到设备基本属性中。状态和油耗配置到设备自定义属性中,并且标明油耗为度量项。配置好属性后从界面组合省、市、车辆状态为维度项,油耗为量度,统计方式为sum,将这些参数传到报表引擎就会自动生成sql(select省,市,车辆,状态,sum(油耗)from表groupby省,市,车辆,状态),返回的数据就可直接展示为所需要的图表。请参照图4,图4为本申请实施例提供的报表生成装置110的结构示意框图。所述装置包括:配置模块1101,用于配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项;选择模块1102,用于接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值;第一生成模块1103,用于根据选择的属性项,及该属性项对应的属性值生成所述报表。进一步地,所述装置还包括:接收模块1104,用于接收采集的不同设备的原始数据;处理模块1105,用于采用预设粒度对所述不同设备的原始数据进行处理,得到不同设备的所述属性项对应的属性值;第二生成模块1106,用于根据各设备的所述属性项对应的属性值生成对应的事实表;还用于根据不同设备对应的事实表生成所述数据表。进一步地,所述第二生成模块1106具体用于:检测所述不同设备对应的事实表中是否包括相同的属性项;若检测到不同设备对应的事实表中包括相同的属性项,将不同设备对应的事实表中的相同的属性项进行合并,得到数据表。进一步地,所述装置还包括:导入模块1107,用于将所述数据表导入关系型数据库管理系统,以在所述关系型数据库管理系统中对所述数据表进行操作。综上所述,本申请提供一种报表生成方法及装置,所述方法包括:配置需要呈现的设备属性,其中,所述设备属性包括设备基本属性、设备管理属性和设备自定义属性,所述设备基本属性、设备管理属性和设备自定义属性包括维度项和度量项其中至少一种属性项;接收用户对设备基本属性、设备管理属性和设备自定义属性中至少一个属性项的选择操作,从包括有设备属性项的数据表中提取该选择的属性项对应的属性值;根据选择的属性项,及该属性项对应的属性值生成所述报表。采用本申请中提供的报表生成方法,能够生成一种动态报表,实现任意维度和跨设备的指标分析。在用户需求有变或者需要制作其他相关报表时,不需要重新编写代码,提高了工作效率。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1