CN109359143B - 一种报表生成方法及装置 - Google Patents
一种报表生成方法及装置 Download PDFInfo
- Publication number
- CN109359143B CN109359143B CN201811291066.5A CN201811291066A CN109359143B CN 109359143 B CN109359143 B CN 109359143B CN 201811291066 A CN201811291066 A CN 201811291066A CN 109359143 B CN109359143 B CN 109359143B
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- keyword
- keywords
- report
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种报表生成方法及装置,涉及数据处理技术领域,其中,上述方法包括:接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;根据每一数据单元包括的关键字和单元内容,生成报表。应用本申请实施例提供的方案能够快速生成包含丰富数据的报表。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种报表生成方法及装置。
背景技术
随着互联网的快速发展,网络安全问题日益被用户所重视,甚至已经被提升到国家战略层面。在政府、学校、银行等重要机构使用的局域网中,网络管理人员需要快速、准确掌握当前网络健康状况,这就需要防火墙等网络设备能够对日常记录的海量流量数据、攻防数据、用户行为等数据进行快速的横向、纵向分析,并针对分析结果生成综合报表。
由于报表对暴露网络漏洞、提升网络安全性具有重要意义。因此,在网络设备的数据处理能力和存储空间有限的条件下,有必要提供一种快速生成包含丰富数据的报表的方法。
发明内容
本申请实施例的目的在于提供一种报表生成方法及装置,以快速生成包含丰富数据的报表。具体技术方案如下:
第一方面,本申请实施例提供了一种报表生成方法,所述方法包括:
接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
根据每一数据单元包括的关键字和单元内容,生成报表。
第二方面,本申请实施例提供了一种报表生成装置,所述装置包括:
数据获得模块,用于接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
结果获得模块,用于对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果;
文件生成模块,用于生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
结果解析模块,用于解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
报表生成模块,用于根据每一数据单元包括的关键字和单元内容,生成报表。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面所述的报表生成方法步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面所述的报表生成方法步骤。
由以上可见,应用本申请实施例提供的方案生成报表时,接收报表生成指令并获得待生成报表的数据后,对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,生成数据分析文件,然后解析上述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容,并根据每一数据单元包括的关键字和单元内容生成报表。由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种报表生成方法的流程示意图;
图2为本申请实施例提供的对比曲线图;
图3为本申请实施例提供的一种报表生成装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于报表对暴露网络漏洞、提升网络安全性具有重要意义,因此,在网络设备的数据处理能力和存储空间有限的条件下,有必要提供一种快速生成包含丰富数据的报表的方案。为此,本申请实施例提供了一种报表生成方法及装置。
本申请的一个实施例中,提供了一种报表生成方法,该方法包括:
接收报表生成指令,并获得待生成报表的数据,其中,报表生成指令中包括至少一个数据单元;
对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,数据分析文件存储有所得到各数据单元的数据分析结果,单元信息包括:关键字和单元内容;
解析数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
根据每一数据单元包括的关键字和单元内容,生成报表。
由以上可见,由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
下面先对本申请实施例中涉及的概念进行说明。
1、数据单元
不同应用场景下需要生成的报表可能需要呈现不同的内容。例如,一些应用场景下需要生成的报表需要呈现全局信息、标题等内容,出上述内容之外,还可能需要呈现其他不同的内容,例如,一些报表需要呈现柱状图、表格、曲线等等。上述需要报表呈现的不同内容可以称为数据单元。
2、单元信息
对于每一数据单元而言,是通过不同的数据进行描述的,这些数据可以称为单元信息,也就是,每一数据单元包括至少一个单元信息。
例如,全局信息这一数据单元,其单元信息可以包括:封面信息、说明文字、时间等等;
曲线这一数据单元,其单元信息可以包括:曲线名称、曲线的X轴信息、曲线的Y轴信息等等;
表格这一数据单元,其单元信息可以包括:表名、行、列信息等等。
3、单元内容
对于每一单元信息而言,可以是通过几种不同方面的信息进行描述的,例如,关键字、具体数据内容等等,其中,用于每一单元信息的具体数据内容可以称为单元内容。
下面再对本申请实施例的执行主体进行说明。
本申请所提供各个实施例的执行主体可以是电子设备,例如,台式计算机、笔记本电脑、平板电脑、智能手机等等。
下面再通过具体实施例对本申请实施例提供的报表生成方法进行详细介绍。
图1为本申请实施例提供的一种报表生成方法的流程示意图,该方法包括:
S101:接收报表生成指令,并获得待生成报表的数据。
其中,上述报表生成指令中包括至少一个数据单元。
上述报表生成指令中包含的数据单元可以是从预设的交互数据格式中选择的数据单元。
另外,上述报表生成指令中包含的数据单元也可以是预先设定的数据单元。
本申请的一个实施例中,可以是用户通过操作界面设置或者选择数据查询条件后点击报表生成按钮,这样作为执行主体的上述电子设备可以获得报表生成指令,然后上述电子设备可以解析上述查询条件,并按照解析结果进行数据查询,获得待生成报表的数据,也就是,用于生成报表的数据。
本申请的另一个实施例中,上述待生成报表的数据还可以是其他设备发送给上述电子设备的,本申请并不对此进行限定。
S102:对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件。
其中,上述数据分析文件存储有所得到各数据单元的数据分析结果,上述单元信息包括:关键字和单元内容。上述交互数据格式包括:能够用于生成报表的数据所属的数据单元。
上述预设的交互数据格式中包含的数据单元可以如下表1所示。
表1
需要说明的是,上述表1仅仅示出了交互数据格式中包含的部分数据单元,具体应用中,交互数据格式中包含的数据单元并不仅限于此。
上述表1中每一行所描述的是一个数据单元的信息。
上述表1中所示的各数据单元的单元信息因数据单元不同而不同。
以曲线为例,这一数据单元的单元信息也就是上述表1中的曲线数据可以包括:
曲线名称、曲线的X轴信息、曲线的Y轴信息等等。
以表格为例,这一数据单元的单元信息也就是上述表1中的表格数据可以包括:
表名、行、列信息等。
从以上描述的内容可以得知,一个数据单元可能会包括多个单元信息,为使得交互数据格式中存储的数据更加清楚,本申请的一个实施例中,在上述交互数据格式存储于表中时,每一数据单元的一个单元信息可以存储在表中的一行内。当然,一个实施例中,每一数据单元的单元信息可以对应一个子表,这一子表中存储有该数据单元的各个单元信息,其中,各个单元信息可以分别存储于子表中的一行中。
上述数据分析文件可以是文本文件,当然也可以是其他类型的文件,本申请并不对此进行限定。
本申请的一个实施例中,生成数据分析文件时,可以采用字符串处理方式,按照各个数据单元在报表中的展示顺序,将每一数据单元对应的单元信息存储至文件中,最终生成数据分析文件。
具体的,采用字符串处理方式将每一数据单元对应的单元信息存储至文件中时,可以是调用字符串处理函数将每一数据单元对应的单元信息存储至文件中。
另外,上述各个数据单元在报表中的展示顺序可以是预先设定的顺序,还可以是各个数据单元在上述交互数据格式中的存储顺序。
采用字符串处理方式,将每一数据单元对应的单元信息存储至文件中,可以保证各个数据单元对应的单元信息在文件中以字符串形式进行存储。这样后续解析上述文件时,只需要具有支持与字符串相关的功能即可,而无需具有由其他专门的类库支持的功能,因此,能够降低对存储空间的需求。
另外,将各个数据单元对应的单元信息存储至文件中时,可以将每一数据单元对应的各个单元信息分别存储在文件的一行中,也就是说,一个数据单元的一个单元信息存储在文件的一行中,这样便于识别各个数据单元对应的数据。
从前面的描述可知,每一单元信息可以包括关键字和单元内容,以曲线这一数据单元为例,该数据单元包括的各个单元信息分别如下表2所示。
表2
单元信息的关键字 | 单元信息的单元内容 |
AVCtop_CurveName1.1 | 用户流量 |
AVCtop_CurveXName1.1 | 时间 |
AVCtop_CurveYName1.1 | GB |
AVCtop_CurveXData1.1 | 00:00:00,00:05:00,00:10:00 |
AVCtop_CurveYData1.1 | 2.87,3.45,4.21 |
上述表2中每一行对应一个单元信息,在文件中存储上述表2中的数据时,表2中的一行数据存储于文件的一行内。本申请的一个实施例中,存储每一单元信息中的关键字和单元内容时,关键字和单元内容之间可以以预设的分隔符隔开,其中,分隔符可以是“+”“:”等等。
S103:解析数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容。
S104:根据每一数据单元包括的关键字和单元内容,生成报表。
下面对S103和S104相结合进行说明。
本申请的一个实施例中,解析数据分析文件中存储的数据分析结果时,可以将上述数据分析文件中每一数据单元对应的各个单元信息存储至字符串数组的元素中,并从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容。
其中,单元信息与字符串数组的元素一一对应。
在此基础上,将分离出的每一关键字和单元内容对应添加至预设的数据字典中,并将分离出的关键字存储至预设的关键字列表,基于数据字典中存储的数据生成报表。
其中,数据字典用于对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。简而言之,数据字典是描述数据的信息集合,是对程序中使用的所有数据元素的定义的集合。
具体的,可以调用文件接口将上述数据分析文件中每一数据单元对应的各个单元信息存储至字符串数组的元素中。
另外,从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容时,可以使用字符串处理工具,例如,使用split等进行数据分离,获取关键字和单元内容。
在每一数据单元对应的各个单元信息分别存储于上述数据分析文件中的一行时,可以按行读取上述数据分析文件中的数据,并将从每一行中读取出的数据存储至字符串数组的一个元素中。具体的,从每一行中读取数据时,可以顺序读取数据分析文件中的每一行。如下表3,示出了顺序从数据分析文件的每一行中读取数据,并存储至字符串数组的各个元素中后,字符串数组包含的具体信息,其中,DATA_ARRAY表示字符串数组。
表3 DATA_ARRAY
具体的,从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容后,将每一关键字和单元内容对应添加至预设的数据字典中时,由于现有的数据字典在存储数据时是无序存放的,从表3记录的信息中分离出的关键字和单元内容在数据字典中的存储形式,如下表4所示,其中,DATA_DICT表示数据字典。
表4 DATA_DICT
CurveName1.3 | 流量统计…… |
CurveYName1.3 | GB |
…… | …… |
CurveXName1.3 | 时间 |
这种情况下,基于数据字典中存储的数据生成报表过程中,从数据字典中读取数据时,只能按照关键字列表中的关键字逐个完全匹配的方式,才能从数据字典中读取出各个关键对应的单元内容。
为了加快数据读取过程,在本申请的一个实施例中,将分离出的关键字存储至预设的关键字列表时,为分离出的每一关键字分配索引,按照预设的顺序,将分离出的关键字和关键字的索引对应存储至预设的关键字列表。
这种情况下,基于上述数据字典中存储的数据生成报表时,按照预设的顺序,基于关键字列表中存储的每一关键字的索引,从数据字典中获得每一关键字对应的单元内容,并基于所获得的单元内容生成报表。
其中,上述预设的顺序可以是数据单元的各个单元信息在交互数据格式中的排列顺序,当然也可以是索引大小的排列顺序等等。
按照预设的顺序将分离出的关键字和关键字的索引对应存储至关键字列表,也就相当于建立了一个有序的关键字列表,从而实现了数据的顺序存储。表3中分离出的关键字按照顺序存储如下表5所示,其中,KEY_LIST表示关键字列表。
表5 KEY_LIST
0 | CurveName1.3 |
1 | CurveXName1.3 |
2 | CurveYName1.3 |
…… | …… |
这种情况下,从上述表5中读取数据时,只需遍历关键字的索引即可,而无需关注各个索引所对应关键字的具体内容,进而能够为开发人员的开发过程提供便利,例如,开发人员想要修改某一关键字的具体内容时,只需在关键字列表和数据字典中进行修改即可,因为数据读取过程是依靠关键的索引实现的,因此,无需更改其他部分的代码。
由于一个报表可能存在多个数据单元,开发人员为使得所编写的代码可读性强,可能会为每一数据单元编写从数据字典中读取数据的功能模块,这些功能模块一般是由一个或者多个函数实现的。基于此,本申请的一个实施例中,在上述预设的顺序为:数据单元的各个单元信息在上述交互数据格式中的排列顺序的情况下,按照预设的顺序,基于关键字列表中存储的每一关键字的索引,从数据字典中获得每一关键字对应的单元内容时,可以通过以下步骤A-步骤D实现。
步骤A:确定关键字列表中的待处理关键字。
步骤B:按照待处理关键字与数据单元的名称匹配的方式,确定待处理关键字对应的数据单元处理方式。
在本实施例中,每一个数据单元具有对应的数据单元处理方式,该数据单元处理方式用于处理数据分析文件中该数据单元对应的数据分析结果。由于数据单元的不同处理方式可以是通过不同处理函数实现的,因此上述确定待处理关键字对应的数据单元处理方式,可以是确定待处理关键字对应的数据单元处理函数。
在为每一数据单元的各个单元信息中包括的关键字命名时,为便于识别,一般会在关键字中添加与数据单元相关的信息,例如,前述表2所示,曲线这一数据单元的各个单元信息的关键字中均包括Curve。
鉴于此,待处理关键字与数据单元的名称进行匹配时,可以采用模糊匹配的方式进行匹配,也就是,待处理关键字中只要存在与数据单元的名称相同的词即可以认为匹配成功。例如,AVCTOP_CurveName1.1中存在Curve,则认为与这一关键字匹配的数据单元为曲线,这一关键字对应的数据单元处理函数为:曲线处理函数。
步骤C:通过上述步骤B确定的数据单元处理方式,基于关键字列表中存储的每一第一关键字的索引,从数据字典子获得每一第一关键字对应的单元内容。
其中,第一关键字为:数据单元处理方式为上述步骤B所确定的数据单元处理方式对应的数据单元的各单元信息中包括的关键字。
具体的,可以是调用上述步骤B确定的数据单元处理函数,从数据字典子获得每一第一关键字对应的单元内容。
仍以曲线这一数据单元为例,调用曲线处理函数后,曲线处理函数可以根据上述表4中记录的内容通过DATA_DICT(KEY_LIST[0])、DATA_DICT(KEY_LIST[1])、DATA_DICT(KEY_LIST[2])……依次读取出数据字典中存储的单元内容。
步骤D:按照上述排列顺序,将关键字列表中位于待处理关键字之后第目标数量个关键字确定为新的待处理关键字,并返回上述步骤B,直至关键字列表中不存在上述新的待处理关键字。
其中,目标数量为:第一关键字的数量。
因此,应用上述实施例提供的方案在读取同一数据单元的各个单元信息包括的关键字对应的单元内容时,无需多次与数据单元的名称进行匹配,仅仅匹配一次即可,提高了读取效率,进而提高了生成报表的效率。
由以上可见,应用上述实施例提供的方案生成报表时,接收报表生成指令并获得待生成报表的数据后,对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,生成数据分析文件,然后解析上述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容,并根据每一数据单元包括的关键字和单元内容生成报表。由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
本申请的一个实施例中,上述步骤S101和S102可以通过执行由第一编程语言编写的第一程序实现,上述步骤S103和S104可以通过执行由第二编程语言编写的第二程序实现。
其中,第一编程语言为:编译型语言,例如,C、C++等。
第二编程语言为:解释型语言,例如,Python等等。
由于上述第一编程语言为编译型语言,而编译型语言编写的程序在执行过程中可以被编译为便于机器执行的语言,因此,基于第一程序进行数据分析时,数据分析速度较快。另外,第二编程语言为解释型语言,而解释型语言一般是面向对象且带有动态语义的高级编程语言,在绘制报表时具有强大的图形类库,因此,基于第二程序绘制报表时,绘制报表的效率较高。综合以上,应用上述实施例提供的方案生成报表时,第一程序和第二程序相结合能够快速生成报表。
另外,上述实施例中,在第一程序和第二程序之间的交互数据是通过文件传输的,这样可以使得第一程序和第二程序之间的耦合性降低,从而降低设备版本升级或者横向扩展时修改和开发的工作量。
尤其是在上述数据分析文件中存储的数据是依据预设的交互数据格式中的数据单元确定的情况下,相比于采用JSON、XML等数据格式存储数据分析结果,以实现第一程序和第二程序之间的数据交互,可以使得编程过程中无需引入JSON、XML等对应的类库,从而降低对存储空间的需求。
发明人在实现本申请实施例所方案的过程中,进行了对比实验,实验结果如图2所示。图2中横轴表示待生成报表的数据的数据量,纵轴表示生成报表的耗时。其中,现有技术可以采用例如JSON、XML等数据格式存储数据分析结果,然后对解析该数据分析结果并生成报表,此时需要引入JSON、XML等对应的类库,对空间及时间均有较大的需求。从图2中可以看出,现有技术生成报表时,随着待生成报表的数据的数据量增加,耗时增长速度越来越快,而应用本申请实施例提供的方案生成报表时,随着待生成报表的数据的数据量增加,耗时增长速度变化的较为平缓。
另外,从图2中可以明显看出,待生成报表的数据的数据量相同时,应用本申请实施例提供的方案生成报表所消耗的时间明显小于应用现有技术生成报表的耗时。
因此,相比于现有技术,生成同等规模报表速度上具有大幅度提升,且随着单次处理数据量增大,速度提升更为明显。
与上述报表生成方法相对应,本申请实施例提供了一种报表生成装置。
图3为本申请实施例提供的一种报表生成装置的结构示意图,该装置包括:
数据获得模块301,用于接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
结果获得模块302,用于对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果;
文件生成模块303,用于生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
结果解析模块304,用于解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
报表生成模块305,用于根据每一数据单元包括的关键字和单元内容,生成报表。
本申请的一个实施例中,所述文件生成模块303,具体用于采用字符串处理方式,按照各个数据单元在报表中的展示顺序,将每一数据单元对应的单元信息存储至文件中。
本申请的一个实施例中,所述结果解析模块模块304可以包括:
数据单元存储子模块,用于将所述数据分析文件中每一数据单元对应的单元信息存储至字符串数组的元素中,其中,单元信息与字符串数组的元素一一对应;
数据分离子模块,用于从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容;
所述报表生成模块305可以包括:
信息添加子模块,用于将分离出的每一关键字和单元内容对应添加至预设的数据字典中;
关键字存储子模块,用于将分离出的关键字存储至预设的关键字列表;
报表生成子模块,用于基于所述数据字典和关键字列表生成报表。
本申请的而一个实施例中,所述关键字存储子模块可以包括:
索引分配单元,用于为分离出的每一关键字分配索引;
信息存储单元,用于按照预设的顺序,将分离出的关键字和关键字的索引对应存储至预设的关键字列表;
所述报表生成子模块可以包括:
内容获得单元,用于按照所述预设的顺序,基于所述关键字列表中存储的每一关键字的索引,从所述数据字典中获得每一关键字对应的单元内容;
报表生成单元,用于基于所获得的单元内容生成报表。
本申请的一个实施例中,所述预设的顺序为:数据单元的各个单元信息在预设的交互数据格式中的排列顺序;
所述内容获得单元,包括:
关键字确定子单元,用于确定所述关键字列表中的待处理关键字;
处理方式确定子单元,用于按照所述待处理关键字与数据单元的名称匹配的方式,确定所述待处理关键字对应的数据单元处理方式;
内容获得子单元,用于通过所述数据单元处理方式,基于所述关键字列表中存储的每一第一关键字的索引,从所述数据字典中获得每一第一关键字对应的单元内容,其中,所述第一关键字为:处理方式为所述数据单元处理方式的数据单元的各单元信息中包括的关键字;
新关键字确定子单元,用于按照所述排列顺序,将所述关键字列表中位于所述待处理关键字之后第目标数量个关键字确定为新的待处理关键字,并触发所述内容获得子单元,直至所述关键字列表中不存在所述新的待处理关键字,其中,所述目标数量为:所述第一关键字的数量。
由以上可见,应用上述各个实施例提供的方案生成报表时,接收报表生成指令并获得待生成报表的数据后,对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,生成数据分析文件,然后解析上述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容,并根据每一数据单元包括的关键字和单元内容生成报表。由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
与上述报表生成方法相对应,本申请实施例还提供了一种电子设备。
图4为本申请实施例提供的一种电子设备的结构示意图,包括:处理器401和机器可读存储介质402,所述机器可读存储介质402存储有能够被所述处理器401执行的机器可执行指令,所述处理器401被所述机器可执行指令促使:实现本申请实施例提供的报表生成方法。
本申请的一个实施例中,提供了一种报表生成方法,所述方法包括:
接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
根据每一数据单元包括的关键字和单元内容,生成报表。
需要说明的是,上述处理器401被机器可执行指令促使实现的报表生成方法的其他实施例,与前述方法实施例部分提及的实施例相同,这里不再赘述。
上述机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,上述机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,应用上述实施例提供的电子设备生成报表时,由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
与上述报表生成方法相对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的报表生成方法。
本申请的一个实施例中,提供了一种报表生成方法,所述方法包括:
接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
根据每一数据单元包括的关键字和单元内容,生成报表。
需要说明的是,上述机器可执行指令促使处理器实现的报表生成方法的其他实施例,与前述方法实施例部分提及的实施例相同,这里不再赘述。
由以上可见,执行上述实施例提供的机器可读存储介质中存储的可执行指令生成报表时,由于生成报表时是根据每一数据单元包含的关键字和单元内容生成的,因此可以快速确定各数据单元对应的报表数据,从而可以能够快速生成包含丰富数据的报表。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备和机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种报表生成方法,其特征在于,所述方法包括:
接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果,并生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
根据每一数据单元包括的关键字和单元内容,生成报表;
所述根据每一数据单元包括的关键字和单元内容,生成报表,包括:
将所述关键字和所述单元内容对应添加至预设的数据字典中,按照预设的顺序,将所述关键字和关键字的索引对应存储至预设的关键字列表,所述预设的顺序为:数据单元的各个单元信息在预设的交互数据格式中的排列顺序;
基于所述数据字典和所述预设的关键字列表生成报表;
所述基于所述数据字典和关键字列表生成报表,包括:
按照所述预设的顺序,基于所述关键字列表中存储的每一关键字的索引,从所述数据字典中获得每一关键字对应的单元内容;
基于所获得的单元内容生成报表;
所述按照所述预设的顺序,基于所述关键字列表中存储的每一关键字的索引,从所述数据字典中获得每一关键字对应的单元内容,包括:
确定所述关键字列表中的待处理关键字;
按照所述待处理关键字与数据单元的名称匹配的方式,确定所述待处理关键字对应的数据单元处理方式;
通过所述数据单元处理方式,基于所述关键字列表中存储的每一第一关键字的索引,从所述数据字典中获得每一第一关键字对应的单元内容,其中,所述第一关键字为:处理方式为所述数据单元处理方式的数据单元的各单元信息中包括的关键字;
按照所述排列顺序,将所述关键字列表中位于所述待处理关键字之后第目标数量个关键字确定为新的待处理关键字,并返回所述按照所述待处理关键字与数据单元的名称匹配的方式,确定所述待处理关键字对应的数据单元处理方式的步骤,直至所述关键字列表中不存在所述新的待处理关键字,其中,所述目标数量为:所述第一关键字的数量。
2.根据权利要求1所述的方法,其特征在于,所述生成数据分析文件,包括:
采用字符串处理方式,按照各个数据单元在报表中的展示顺序,将每一数据单元对应的单元信息存储至文件中。
3.根据权利要求2所述的方法,其特征在于,
所述解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容,包括:
将所述数据分析文件中每一数据单元对应的单元信息存储至字符串数组的元素中,其中,单元信息与字符串数组的元素一一对应;
从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容。
4.根据权利要求3所述的方法,其特征在于,将分离出的关键字存储至预设的关键字列表,包括:
为分离出的每一关键字分配索引;
按照预设的顺序,将分离出的关键字和关键字的索引对应存储至预设的关键字列表。
5.一种报表生成装置,其特征在于,所述装置包括:
数据获得模块,用于接收报表生成指令,并获得待生成报表的数据,其中,所述报表生成指令中包括至少一个数据单元;
结果获得模块,用于对所获得的数据进行数据分析,得到与预设交互数据格式中每一数据单元的单元信息对应的数据分析结果;
文件生成模块,用于生成数据分析文件,其中,所述数据分析文件存储有所得到各数据单元的数据分析结果,所述单元信息包括:关键字和单元内容;
结果解析模块,用于解析所述数据分析文件中存储的数据分析结果,获得每一数据单元包括的关键字和单元内容;
报表生成模块,用于根据每一数据单元包括的关键字和单元内容,生成报表;
所述报表生成模块,包括:
信息添加子模块,用于将所述关键字和所述单元内容对应添加至预设的数据字典中;
关键字存储子模块,用于按照预设的顺序,将所述关键字和关键字的索引对应存储至预设的关键字列表,所述预设的顺序为:数据单元的各个单元信息在预设的交互数据格式中的排列顺序;
报表生成子模块,用于基于所述数据字典和所述预设的关键字列表生成报表;
所述报表生成子模块,包括:
内容获得单元,用于按照所述预设的顺序,基于所述关键字列表中存储的每一关键字的索引,从所述数据字典中获得每一关键字对应的单元内容;
报表生成单元,用于基于所获得的单元内容生成报表;
所述内容获得单元,包括:
关键字确定子单元,用于确定所述关键字列表中的待处理关键字;
处理方式确定子单元,用于按照所述待处理关键字与数据单元的名称匹配的方式,确定所述待处理关键字对应的数据单元处理方式;
内容获得子单元,用于通过所述数据单元处理方式,基于所述关键字列表中存储的每一第一关键字的索引,从所述数据字典中获得每一第一关键字对应的单元内容,其中,所述第一关键字为:处理方式为所述数据单元处理方式的数据单元的各单元信息中包括的关键字;
新关键字确定子单元,用于按照所述排列顺序,将所述关键字列表中位于所述待处理关键字之后第目标数量个关键字确定为新的待处理关键字,并触发所述内容获得子单元,直至所述关键字列表中不存在所述新的待处理关键字,其中,所述目标数量为:所述第一关键字的数量。
6.根据权利要求5所述的装置,其特征在于,
所述文件生成模块,具体用于采用字符串处理方式,按照各个数据单元在报表中的展示顺序,将每一数据单元对应的单元信息存储至文件中。
7.根据权利要求6所述的装置,其特征在于,所述结果解析模块,包括:
数据单元存储子模块,用于将所述数据分析文件中每一数据单元对应的单元信息存储至字符串数组的元素中,其中,单元信息与字符串数组的元素一一对应;
数据分离子模块,用于从字符串数组的每一元素存储的单元信息中分离出关键字和单元内容。
8.根据权利要求7所述的装置,其特征在于,所述关键字存储子模块,包括:
索引分配单元,用于为分离出的每一关键字分配索引;
信息存储单元,用于按照预设的顺序,将分离出的关键字和关键字的索引对应存储至预设的关键字列表。
9.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-4任一所述的方法步骤。
10.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291066.5A CN109359143B (zh) | 2018-10-31 | 2018-10-31 | 一种报表生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811291066.5A CN109359143B (zh) | 2018-10-31 | 2018-10-31 | 一种报表生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359143A CN109359143A (zh) | 2019-02-19 |
CN109359143B true CN109359143B (zh) | 2022-03-22 |
Family
ID=65343614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811291066.5A Active CN109359143B (zh) | 2018-10-31 | 2018-10-31 | 一种报表生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359143B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345533A (zh) * | 2013-07-26 | 2013-10-09 | 北京中电普华信息技术有限公司 | 一种数据存储方法及装置 |
CN103778234A (zh) * | 2014-01-26 | 2014-05-07 | 北京恒华伟业科技股份有限公司 | 报表的生成方法及装置 |
CN104239506A (zh) * | 2014-09-12 | 2014-12-24 | 北京优特捷信息技术有限公司 | 一种非结构化数据处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104720B2 (en) * | 2012-06-28 | 2015-08-11 | International Business Machines Corporation | Generation of technical description of report from functional description of report |
CN104252443A (zh) * | 2013-06-28 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 报表生成方法及装置 |
CN108132925A (zh) * | 2017-12-15 | 2018-06-08 | 中盈优创资讯科技有限公司 | 一种报表文件生成方法及装置 |
-
2018
- 2018-10-31 CN CN201811291066.5A patent/CN109359143B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345533A (zh) * | 2013-07-26 | 2013-10-09 | 北京中电普华信息技术有限公司 | 一种数据存储方法及装置 |
CN103778234A (zh) * | 2014-01-26 | 2014-05-07 | 北京恒华伟业科技股份有限公司 | 报表的生成方法及装置 |
CN104239506A (zh) * | 2014-09-12 | 2014-12-24 | 北京优特捷信息技术有限公司 | 一种非结构化数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109359143A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9864741B2 (en) | Automated collective term and phrase index | |
US20230142217A1 (en) | Model Training Method, Electronic Device, And Storage Medium | |
US9053102B2 (en) | Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects | |
US8868609B2 (en) | Tagging method and apparatus based on structured data set | |
US9411803B2 (en) | Responding to natural language queries | |
WO2013078307A1 (en) | Image searching | |
CN111158795A (zh) | 报表生成方法、装置、介质及电子设备 | |
US9182947B2 (en) | Program source code navigation | |
CN108920543B (zh) | 查询和交互的方法及装置、计算机装置、存储介质 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
CN111078776A (zh) | 数据表的标准化方法、装置、设备及存储介质 | |
CN110276009B (zh) | 一种联想词的推荐方法、装置、电子设备及存储介质 | |
US20200364235A1 (en) | Operations to transform dataset to intent | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
CN110737824B (zh) | 内容查询方法和装置 | |
CN114547257B (zh) | 类案匹配方法、装置、计算机设备及存储介质 | |
KR20220168062A (ko) | 인공지능을 활용한 기사 작성 솔루션 및 장치 | |
CN109359143B (zh) | 一种报表生成方法及装置 | |
US11829889B2 (en) | Processing method and device for data of well site test based on knowledge graph | |
US9286349B2 (en) | Dynamic search system | |
CN115048536A (zh) | 知识图谱生成方法、装置、计算机设备和存储介质 | |
JP6870454B2 (ja) | 分析装置、分析プログラム及び分析方法 | |
US9471569B1 (en) | Integrating information sources to create context-specific documents | |
US11681862B1 (en) | System and method for identifying location of content within an electronic document | |
CN110618809B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |