CN103345533B - 一种数据存储方法及装置 - Google Patents

一种数据存储方法及装置 Download PDF

Info

Publication number
CN103345533B
CN103345533B CN201310320302.2A CN201310320302A CN103345533B CN 103345533 B CN103345533 B CN 103345533B CN 201310320302 A CN201310320302 A CN 201310320302A CN 103345533 B CN103345533 B CN 103345533B
Authority
CN
China
Prior art keywords
data
character string
entity object
value
self
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
Application number
CN201310320302.2A
Other languages
English (en)
Other versions
CN103345533A (zh
Inventor
燕超源
王伟
姜海东
刘欣
卢立宁
杨艳文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Beijing Guodiantong Network Technology Co Ltd
Beijing China Power Information Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing China Power Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Beijing China Power Information Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310320302.2A priority Critical patent/CN103345533B/zh
Publication of CN103345533A publication Critical patent/CN103345533A/zh
Application granted granted Critical
Publication of CN103345533B publication Critical patent/CN103345533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储方法及装置,所述方法包括提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值;依据预设的封装规则,将每个报表元素及其各自对应的元素数据值封装成字符串组;对字符串组进行对象封装操作,生成实体对象数据;利用与实体对象数据相对应的对象保存方法,将实体对象数据进行存储。通过本申请实施例,相对于现有技术中无法对双向扩展显示的报表数据进行存储的情况,基于现有双向扩展显示的报表数据的显示页面,实现了对双向扩展显示的报表数据的存储。

Description

一种数据存储方法及装置
技术领域
本申请涉及计算机应用的技术领域,特别涉及一种数据存储方法及装置。
背景技术
报表数据是指应用在计算机上,以表格或图表等格式来显示的数据。目前常用的报表数据统计工具,支持不可扩展、横向扩展、纵向扩展和双向扩展等多种不同的统计显示方案。其中,双向扩展是指报表数据统计工具可以根据其所统计到的数据集的长度在纵向和横向上分别进行扩展显示。
在实际应用中,双向扩展显示的报表数据通常通过J2EE前端通用的JSP展示技术在页面中进行显示。报表数据中的各个元素在展示层中均为HTML页面所对应的元素。例如,整个报表数据的框架显示为页面元素的iframe,报表数据中的各个表格及表格中的值显示为相应的element及elementValue。
而目前的报表数据统计工具虽然能够对其查询统计到的以不可扩展、横向扩展或纵向扩展的方式进行显示的报表数据进行保存,但无法将以双向扩展方式进行显示的报表数据进行永久保存。
因此,亟需一种能够对双向扩展方式显示的报表数据进行保存的方案。
发明内容
本申请所要解决的技术问题是提供一种数据存储方法及装置,用以解决现有技术中无法对双向扩展显示的报表数据进行保存的技术问题。
本申请提供了一种数据存储方法,所述方法包括:
提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值;
依据预设的封装规则,将每个所述报表元素及其各自对应的元素数据值封装成字符串组;
对所述字符串组进行对象封装操作,生成实体对象数据;
利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
上述方法,优选的,所述依据预设的封装规则,将每个所述报表元素及其各自对应的元素数据值封装成字符串组,包括:
分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识;
依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串;
组合每个所述字符串,得到字符串组。
上述方法,优选的,所述坐标标识包括其所属报表元素在所述报表数据显示页面中对应的横向标识、纵向标识和位置标识。
上述方法,优选的,所述对所述字符串组进行对象封装操作,生成实体对象数据,包括:
依次读取所述字符串组中的至少一个字符串;
依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值;
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值;
对所述变量值进行对象封装操作,生成实体对象数据。
上述方法,优选的,所述对所述变量值进行对象封装操作,生成实体对象数据,包括:
分别建立与每个所述变量值相对应的实体对象,每个所述实体对象包括至少一个属性项,每个所述属性项的值为空;
依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值;
将每个所述变量值对应的实体对象进行封装,得到与所述报表数据相对应的实体对象数据。
上述方法,优选的,在所述将所述实体对象数据进行存储之后,所述方法还包括:
响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据;
将查询到的目标对象数据进行显示。
本申请还提供一种数据存储装置,所述装置包括:
元素提取单元,用于提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值;
元素封装单元,用于依据预设的封装规则,将所述报表元素及其各自对应的元素数据值封装成字符串组;
对象生成单元,用于对所述字符串组进行对象封装操作,生成实体对象数据;
数据存储单元,用于利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
上述装置,优选的,所述元素封装单元包括:
标识获取子单元,用于分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识;
元素封装子单元,用于依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串;
字符串组合子单元,用于组合每个所述字符串,得到字符串组。
上述装置,优选的,所述坐标标识包括其所属报表元素在所述报表数据显示页面中对应的横向标识、纵向标识和位置标识。
上述装置,优选的,所述对象生成单元包括:
字符串读取子单元,用于依次读取所述字符串组中的至少一个字符串;
字符串拆分子单元,用于依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值;
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值;
对象生成子单元,用于对所述变量值进行对象封装操作,生成实体对象数据。
上述装置,优选的,所述对象生成子单元包括:
对象建立模块,用于分别建立与每个所述变量值相对应的实体对象,每个所述实体对象包括至少一个属性项,每个所述属性项的值为空;
属性项赋值模块,用于依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值;
对象封装模块,用于将每个所述变量值对应的实体对象进行封装,得到与所述报表数据相对应的实体对象数据。
上述装置,优选的,还包括:
数据查询单元,用于响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据;
数据显示单元,用于将查询到的目标对象数据进行显示。
由上述方案可知,本申请提供的一种数据存储方法及装置,通过对报表数据在显示页面中的每个报表元素及其各自对应的元素数据值进行提取,进而,依据预设的封装规则将每个报表元素及其各自对应的元素数据值封装成字符串组,之后对所述字符串组进行对象封装操作,生成实体对象数据,从而利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。本申请相对于现有技术中无法对双向扩展显示的报表数据进行存储的情况,基于现有双向扩展显示的报表数据的显示页面,如jsp显示页面等,实现了对双向扩展显示的报表数据的存储。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据存储方法实施例一的流程图;
图2为本申请实施例一中的双向扩展显示的报表数据示例图;
图3为本申请提供的一种数据存储方法实施例二的部分流程图;
图4为本申请实施例二中的双向扩展显示的报表数据示例图;
图5为本申请提供的一种数据存储方法实施例三的部分流程图;
图6为本申请提供的一种数据存储装置实施例四的结构示意图;
图7为本申请提供的一种数据存储装置实施例四的部分结构示意图;
图8为本申请提供的一种数据存储装置实施例五的部分结构示意图;
图9为本申请实施例五的另一部分结构示意图;
图10为本申请提供的一种数据存储装置实施例六的结构示意图;
图11为上述本申请各个实施例实现数据存储时的流程示例图;
图12为本申请的报表工具进行数据查询统计的示例图;
图13为本申请展示出的双向扩展显示的报表数据的示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请提供的一种数据存储方法实施例一的流程图,所述方法可以包括以下步骤:
步骤101:提取报表数据显示页面中每个报表元素及其各自对应的元素数据值。
需要说明的是,所述显示页面即为前文中所提及的通过J2EE前端通用展示技术JSP进行数据显示的页面。在报表工具将完成数据查询统计任务之后得到的报表数据在该显示页面中进行显示。其中,所述报表数据的每个报表元素在所述显示页面中以HTML页面元素的形式进行显示,也可以理解为,所述报表数据在进行页面显示时,通过将其每个报表元素转换为HTML页面对应的元素在所述显示页面上进行显示,所述报表数据包括至少一个报表元素及其对应的元素数据值,所述元素数据值是指其所属报表元素的内容数据。如图2中所示,所述报表数据包括12个报表元素(a1,b1)、(a1,b2)、(a1,b3)、(a1,b4)、(a2,b1)、(a2,b2)、(a2,b3)、(a2,b4)、(a3,b1)、(a3,b2)、(a3,b3)、(a3,b4)等,每个报表元素均有一个元素数据值与其相对应,如(a2,b4)报表元素A中的内容数据即为其元素数据值为X,(a3,b1)报表元素B中的内容数据即为其元素数据值为Y。
其中,所述步骤101中可以通过以下方式具体实现:
在所述报表数据显示页面如jsp页面中,通过自定义javascript代码依次读取该显示页面中的各个报表元素及其各自对应的元素数据值。
需要说明的是,所述步骤101在展示层中实现。
其中,所述展示层是指系统逻辑层面上与用户进行交互的架构层。
步骤102:依据预设的封装规则,将每个所述报表元素及其各自对应的元素数据值封装成字符串组。
其中,所述封装规则可以为:将每个所述报表元素及其各自对应的元素数据值转换成对应的字符序列,将每个所述报表元素对应的字符序列进行顺次连接,得到字符串组。
步骤103:对所述字符串组进行对象封装操作,生成实体对象数据。
其中,所述步骤103在业务逻辑层中实现,即为在所述字符串组在所述展示层中生成之后,将所述字符串组转换为符合业务逻辑层协议的字符串组传输至业务逻辑层中,进而在所述业务逻辑层中运行所述步骤103。
需要说明的是,在将符合业务逻辑层协议的字符串组传输至所述业务逻辑层时,可以通过直接web远程通信(DirectWeb Remoting,dwr)的数据传递方式将所述字符串组传输至所述业务逻辑层。
其中,所述业务逻辑层是指系统逻辑层面上负责业务逻辑,同时连接展示层和持久层的架构层,而所述持久层是指在系统逻辑层面上实现数据持久化的架构层,其与数据层相邻,将数据持久化至数据层中存储,如图11中所示。
步骤104:利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
其中,所述步骤104在持久层中实现,即为,在所述实体对象数据在所述业务逻辑层中生成之后,将所述实体对象数据转换为符合所述持久层协议的实体对象数据传输至所述持久层,进而在所述持久层中运行所述步骤104。
需要说明的是,所述步骤104中,可以将所述实体对象数据存储在数据层的数据存储单元如数据库中。
由上述方案可知,本申请提供的一种数据存储方法实施例一,通过对报表数据在显示页面中的每个报表元素及其各自对应的元素数据值进行提取,进而,依据预设的封装规则将每个报表元素及其各自对应的元素数据值封装成字符串组,之后对所述字符串组进行对象封装操作,生成实体对象数据,从而利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。本申请相对于现有技术中无法对双向扩展显示的报表数据进行存储的情况,基于现有双向扩展显示的报表数据的显示页面,如jsp显示页面等,实现了对双向扩展显示的报表数据的存储,在后续进行的数据查看等操作时,直接在存储的数据中进行查看,无需再次调用报表工具进行数据查询统计等操作,节省数据操作的流程,提高工作效率。
参考图3,为本申请提供的一种数据存储方法实施例二中所述步骤102的流程图,所述步骤102可以包括:
步骤301:分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识。
其中,所述坐标标识可以包括其所属报表元素在所述报表显示页面中对应的横向标识、纵向标识和位置标识。
例如,以如图4中所示的双向扩展显示的报表数据为例,该表中纵向标识为各不相同的统计单元名称,横向标识为各不相同的专业类型,每个报表元素均有其特有的横向标识、纵向标识及其在整个表中坐标位置的位置标识。如图4中报表元素C的纵向标识、横向标识、位置标识及其元素数据值分别为:单位名称2、专业类型3、(2,3)及value值Z。
步骤302:依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串。
其中,所述步骤302是指,将每个所述报表元素的横向标识、纵向标识和位置标识及其各自对应的元素数据值转换成各自对应的字符序列,即每个报表元素的横向标识字符序列、纵向标识字符序列和位置标识字符序列及其各自对应的元素数据值字符序列,再将每个所述报表元素的横向标识字符序列、纵向标识字符序列和位置标识字符序列及其各自对应的元素数据值字符序列分别进行组合,得到每个所述报表元素各自对应的字符串。
步骤303:组合每个所述字符串,得到字符串组。
其中,所述步骤303可以通过以下方式实现:
将每个所述字符串进行首尾顺次连接,得到一个字符串组。
参考图5,为本申请提供的一种数据存储方法实施例三中所述步骤103的流程图,所述步骤103可以包括以下步骤:
步骤501:依次读取所述字符串组中的至少一个字符串。
需要说明的是,所述步骤103是在业务逻辑层中执行实现的,因此,在所述业务逻辑层接收到所述展示层传输的字符串组之后,首先依次读取所述字符串组中的每个字符串。
步骤502:依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值。
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值。
需要说明的是,所述拆分规则与所述封装规则相对应,对每个所述字符串的拆分过程可以理解为所述步骤102中封装的反向操作过程。
例如,如上文图4中的示例所示,报表元素C的变量值中包括该报表元素C在显示页面中的纵向标识单位名称1、横向标识专业类型3、位置标识(2,3)及元素数据值Z。
步骤503:对所述变量值进行对象封装操作,生成实体对象数据。
其中,所述步骤503可以通过以下方式实现:
首先分别建立与每个所述变量值相对应的实体对象,每个所述实体对徐包括至少一个属性项,每个所述属性项为空,再依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值。
例如将报表元素C对应的变量值中横向标识、纵向标识、位置标识及元素数据值分别赋值给该报表元素C对应的实体对象中与横向标识、纵向标识、位置标识及元素数据值分别对应的属性项中,由此,实现对每个变量值对应的实体对象属性项的赋值。
其中,每个所述变量值对应的实体对象可以理解为一条记录,如exl表的一个表格单元。
之后,将赋值完成的每个所述变量值对应的实体对象进行封装,例如,将每个所述变量对应的实体对象进行顺序连接组合,得到与所述报表数据相对应的实体对象数据。
其中,所述实体对象数据包括每个所述变量值对应的实体对象。
上述示例可以理解为:所述报表数据的每个报表元素如显示页面中的每个单元格各自对应一个具体的实体对象,一个实体对象对应于数据库中存储的实体对象数据的表中的一条记录。
例如,一个双向扩展显示的报表,横向为各不相同的统计单位名称,纵向为各不相同专业类型,那么该报表会被提取出多个报表元素及其各自对应的元素数据值,每个所述报表元素会有一个以单位名称、专业类型、坐标位置和value值为属性项的实体对象,报表元素中的单位名称对应实体对象中横向坐标的单位名称,报表元素中的专业类型对应实体对象中纵向坐标的专业类型,value值即是该实体对象单元格的值。即报表中一个单元格对应一个具体的实体对象,一个实体对象对应数据库中表的一条记录。
需要说明的是,上述各个实施例中,在所述步骤104执行完成之后,所述实体对象数据被保存至数据存储设备如数据库中,此时,用户可以对数据库中的数据进行查询等操作,因此,在所述步骤104之后,所述方法还包括包括以下实现过程:
响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据,之后,将查询到的目标对象数据进行显示。
其中,所述数据查询指令可以由用户触发,其内含有用户所需要查看的对象数据的数据标识如存储日期等,而在存储的实体对象数据查询到的与所述数据标识相对应的实体对象数据即为所述目标对象数据。
需要说明的是,在将所述查询到的目标对象数据进行显示时,可以通过HTML的形式进行显示,也可以利用表格形式进行显示。
有上述方案可知,本申请通过将双向扩展显示的报表数据进行存储之后,由用户进行进一步的操作如查看等,在后续进行的数据查看等操作时,直接在存储的数据中进行查看,无需再次调用报表工具进行数据查询统计等操作,节省数据操作的流程,提高工作效率。
参考图6,为本申请提供的一种数据存储装置实施例四的结构示意图,所述装置可以包括:
元素提取单元601,用于提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值。
需要说明的是,所述显示页面即为前文中所提及的通过J2EE前端通用展示技术JSP进行数据显示的页面。在报表工具将完成数据查询统计任务之后得到的报表数据在该显示页面中进行显示。其中,所述报表数据的每个报表元素在所述显示页面中以HTML页面元素的形式进行显示,也可以理解为,所述报表数据在进行页面显示时,通过将其每个报表元素转换为HTML页面对应的元素在所述显示页面上进行显示,所述报表数据包括至少一个报表元素及其对应的元素数据值,所述元素数据值是指其所属报表元素的内容数据。如图2中所示,所述报表数据包括12个报表元素,每个报表元素均有一个元素数据值与其相对应,如报表元素A中的内容数据即为其元素数据值为X,报表元素B中的内容数据即为其元素数据值为Y。
其中,所述元素提取单元601中可以通过以下方式具体实现:
在所述报表数据显示页面如jsp页面中,通过自定义javascript代码依次读取该显示页面中的各个报表元素及其各自对应的元素数据值。
需要说明的是,所述元素提取单元601在展示层中实现。
元素封装单元602,用于依据预设的封装规则,将所述报表元素及其各自对应的元素数据值封装成字符串组。
其中,所述封装规则可以为:将每个所述报表元素及其各自对应的元素数据值转换成对应的字符序列,将每个所述报表元素对应的字符序列进行顺次连接,得到字符串组。
对象生成单元603,用于对所述字符串组进行对象封装操作,生成实体对象数据。
其中,所述对象生成单元603在业务逻辑层中实现,即为在所述字符串组在所述展示层中生成之后,所述元素封装单元602还将所述字符串组转换为符合业务逻辑层协议的字符串组传输至业务逻辑层中,进而在所述业务逻辑层中运行所述对象生成单元603。
需要说明的是,所述元素封装单元602在将符合业务逻辑层协议的字符串组传输至所述业务逻辑层时,可以通过直接web远程通信(DirectWeb Remoting,dwr)的数据传递方式将所述字符串组传输至所述业务逻辑层。
数据存储单元604,用于利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
其中,所述数据存储单元604在持久层中实现,即为,在所述实体对象数据在所述业务逻辑层中生成之后,所述对象生成单元603还将所述实体对象数据转换为符合所述持久层协议的实体对象数据传输至所述持久层,进而在所述持久层中运行所述数据存储单元604。
需要说明的是,所述数据存储单元604可以将所述实体对象数据存储在数据层的数据存储单元如数据库中。
由上述方案可知,本申请提供的一种数据存储装置实施例一,通过对报表数据在显示页面中的每个报表元素及其各自对应的元素数据值进行提取,进而,依据预设的封装规则将每个报表元素及其各自对应的元素数据值封装成字符串组,之后对所述字符串组进行对象封装操作,生成实体对象数据,从而利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。本申请相对于现有技术中无法对双向扩展显示的报表数据进行存储的情况,基于现有双向扩展显示的报表数据的显示页面,如jsp显示页面等,实现了对双向扩展显示的报表数据的存储,在后续进行的数据查看等操作时,直接在存储的数据中进行查看,无需再次调用报表工具进行数据查询统计等操作,节省数据操作的流程,提高工作效率。
参考图7,为本申请提供的一种数据存储装置实施例四中所述元素封装单元602的结构示意图,所述元素封装单元602可以包括:
标识获取子单元621,用于分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识。
其中,所述坐标标识可以包括其所属报表元素在所述报表显示页面中对应的横向标识、纵向标识和位置标识。
例如,以如图4中所示的双向扩展显示的报表数据为例,该表中纵向标识为各不相同的统计单元名称,横向标识为各不相同的专业类型,每个报表元素均有其特有的横向标识、纵向标识及其在整个表中坐标位置的位置标识。如图4中报表元素C的纵向标识、横向标识、位置标识及其元素数据值分别为:单位名称2、专业类型3、(2,3)及value值Z。
元素封装子单元622,用于依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串。
其中,所述元素封装子单元622可以理解为:将每个所述报表元素的横向标识、纵向标识和位置标识及其各自对应的元素数据值转换成各自对应的字符序列,即每个报表元素的横向标识字符序列、纵向标识字符序列和位置标识字符序列及其各自对应的元素数据值字符序列,再将每个所述报表元素的横向标识字符序列、纵向标识字符序列和位置标识字符序列及其各自对应的元素数据值字符序列分别进行组合,得到每个所述报表元素各自对应的字符串。
字符串组合子单元623,用于组合每个所述字符串,得到字符串组。
其中,所述字符串组合子单元623可以通过以下方式实现:
将每个所述字符串进行首尾顺次连接,得到一个字符串组。
参考图8,为本申请提供的一种数据存储装置实施例五中所述对象生成单元603的结构示意图,所述对象生成单元603可以包括:
字符串读取子单元631,用于依次读取所述字符串组中的至少一个字符串。
需要说明的是,所述对象生成单元603是在业务逻辑层中执行实现的,因此,在所述业务逻辑层接收到所述展示层传输的字符串组之后,首先由所述字符串读取子单元631依次读取所述字符串组中的每个字符串。
字符串拆分子单元632,用于依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值;
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值。
需要说明的是,所述拆分规则与所述封装规则相对应,对每个所述字符串的拆分过程可以理解为所述元素封装单元602中封装的反向操作过程。
例如,如上文图4中的示例所示,报表元素C的变量值中包括该报表元素C在显示页面中的纵向标识单位名称1、横向标识专业类型3、位置标识(2,3)及元素数据值Z。
对象生成子单元633,用于对所述变量值进行对象封装操作,生成实体对象数据。
其中,参考图9,为本申请实施例五中所述对象生成子单元633的结构示意图,其中,所述对象生成子单元633可以包括:
对象建立模块6331,用于分别建立与每个所述变量值相对应的实体对象,每个所述实体对象包括至少一个属性项,每个所述属性项的值为空。
属性项赋值模块6332,用于依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值。
例如将报表元素C对应的变量值中横向标识、纵向标识、位置标识及元素数据值分别赋值给该报表元素C对应的实体对象中与横向标识、纵向标识、位置标识及元素数据值分别对应的属性项中,由此,实现对每个变量值对应的实体对象属性项的赋值。
其中,每个所述变量值对应的实体对象可以理解为一条记录,如exl表的一个表格单元。
对象封装模块6333,用于将每个所述变量值对应的实体对象进行封装,得到与所述报表数据相对应的实体对象数据。
例如,所述对象封装模块6333将每个所述变量对应的实体对象进行顺序连接组合,得到与所述报表数据相对应的实体对象数据。
其中,所述实体对象数据包括每个所述变量值对应的实体对象。
上述示例可以理解为:所述报表数据的每个报表元素如显示页面中的每个单元格各自对应一个具体的实体对象,一个实体对象对应于数据库中存储的实体对象数据的表中的一条记录。
例如,一个双向扩展显示的报表,横向为各不相同的统计单位名称,纵向为各不相同专业类型,那么该报表会被提取出多个报表元素及其各自对应的元素数据值,每个所述报表元素会有一个以单位名称、专业类型、坐标位置和value值为属性项的实体对象,报表元素中的单位名称对应实体对象中横向坐标的单位名称,报表元素中的专业类型对应实体对象中纵向坐标的专业类型,value值即是该实体对象单元格的值。即报表中一个单元格对应一个具体的实体对象,一个实体对象对应数据库中表的一条记录。
参考图10,为本申请提供的一种数据存储装置实施例六的结构示意图,其中,所述装置还包括:
数据查询单元605,用于响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据;
需要说明的是,上述各个实施例中,在所述数据存储单元604运行完成之后,所述实体对象数据被保存至数据存储设备如数据库中,此时,用户可以对数据库中的数据进行查询等操作,此时,触发所述数据查询单元605。
其中,所述数据查询指令可以由用户触发,其内含有用户所需要查看的对象数据的数据标识如存储日期等,而在存储的实体对象数据查询到的与所述数据标识相对应的实体对象数据即为所述目标对象数据。
数据显示单元606,用于将查询到的目标对象数据进行显示。
需要说明的是,在数据显示单元606将所述查询到的目标对象数据进行显示时,可以通过HTML的形式进行显示,也可以利用表格形式进行显示。
有上述方案可知,本申请通过将双向扩展显示的报表数据进行存储之后,由用户进行进一步的操作如查看等,在后续进行的数据查看等操作时,直接在存储的数据中进行查看,无需再次调用报表工具进行数据查询统计等操作,节省数据操作的流程,提高工作效率。
参考图11,为上述本申请各个实施例实现数据存储时的流程示例图,其中,在进行数据存储之前,调用报表工具展示功能完成报表数据的展示,之后,响应于对双向扩展显示的报表数据的保存指令,在展示层通过javascript获取页面表格数据,即提取到报表元素及元素数据值,之后,将报表数据及元素数据值封装成字符串组之后通过dwr数据传递方式传输至业务逻辑层中,在业务逻辑层中,将所述字符串组进行拆分及对象封装操作得到实体对象数据传输至持久层,在所述持久层中,调用持久层中与该实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储,可以存储到后台数据层如数据库等存储装置中。
以国家电网为例,国家电网安监一体化平台研究与应用系统完成了将人身、设备、电网、信息及煤矿事故生产事故等数据的统一维护,这些数据以报表数据的形式在系统中进行在线管理,包括填报和审批,同时,上述系统还提供强大的统计分析功能,灵活自定义查询,生成灵活自定义的统计分析报表,能够对统计结果进行灵活的图形展现功能。本申请实施例将报表工具作为前端展现及分析工具,在报表展现中采用本本申请实现双向扩展报表数据的保存。如图12中,为所述报表工具依据设定的横向条件和纵向条件进行数据查询统计的示例图,而图13中展示出的双向扩展显示的报表数据的示例图。之后,由本申请实施例对图13中的报表数据进行存储。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据存储方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种数据存储方法,其特征在于,所述方法包括:
提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值;
依据预设的封装规则,将每个所述报表元素及其各自对应的元素数据值封装成字符串组;所述封装规则为:将每个所述报表元素及其各自对应的元素数据值转换成对应的字符序列,将每个所述报表元素对应的字符序列进行顺次连接,得到字符串组;
对所述字符串组进行对象封装操作,生成实体对象数据;
利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
2.根据权利要求1所述的方法,其特征在于,所述依据预设的封装规则,将每个所述报表元素及其各自对应的元素数据值封装成字符串组,包括:
分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识;
依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串;
组合每个所述字符串,得到字符串组。
3.根据权利要求2所述的方法,其特征在于,所述坐标标识包括其所属报表元素在所述报表数据显示页面中对应的横向标识、纵向标识和位置标识。
4.根据权利要求1所述的方法,其特征在于,所述对所述字符串组进行对象封装操作,生成实体对象数据,包括:
依次读取所述字符串组中的至少一个字符串;
依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值;
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值;
对所述变量值进行对象封装操作,生成实体对象数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述变量值进行对象封装操作,生成实体对象数据,包括:
分别建立与每个所述变量值相对应的实体对象,每个所述实体对象包括至少一个属性项,每个所述属性项的值为空;
依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值;
将每个所述变量值对应的实体对象进行封装,得到与所述报表数据相对应的实体对象数据。
6.根据权利要求1所述的方法,其特征在于,在所述将所述实体对象数据进行存储之后,所述方法还包括:
响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据;
将查询到的目标对象数据进行显示。
7.一种数据存储装置,其特征在于,所述装置包括:
元素提取单元,用于提取报表数据显示页面中的每个报表元素及其各自对应的元素数据值;
元素封装单元,用于依据预设的封装规则,将所述报表元素及其各自对应的元素数据值封装成字符串组;所述封装规则为:将每个所述报表元素及其各自对应的元素数据值转换成对应的字符序列,将每个所述报表元素对应的字符序列进行顺次连接,得到字符串组;
对象生成单元,用于对所述字符串组进行对象封装操作,生成实体对象数据;
数据存储单元,用于利用与所述实体对象数据相对应的对象保存方法,将所述实体对象数据进行存储。
8.根据权利要求7所述的装置,其特征在于,所述元素封装单元包括:
标识获取子单元,用于分别获取每个所述报表元素在所述报表数据显示页面中对应的坐标标识;
元素封装子单元,用于依据预设的封装规则,将每个所述报表元素的坐标标识及元素数据值进行封装,得到每个所述报表元素各自对应的字符串;
字符串组合子单元,用于组合每个所述字符串,得到字符串组。
9.根据权利要求8所述的装置,其特征在于,所述坐标标识包括其所属报表元素在所述报表数据显示页面中对应的横向标识、纵向标识和位置标识。
10.根据权利要求7所述的装置,其特征在于,所述对象生成单元包括:
字符串读取子单元,用于依次读取所述字符串组中的至少一个字符串;
字符串拆分子单元,用于依据所述封装规则对应的拆分规则,对每个所述字符串进行拆分,得到其各自对应的变量值;
其中,每个所述变量值包括其对应报表元素在所述报表数据显示页面中的横向标识、纵向标识、位置标识及元素数据值;
对象生成子单元,用于对所述变量值进行对象封装操作,生成实体对象数据。
11.根据权利要求10所述的装置,其特征在于,所述对象生成子单元包括:
对象建立模块,用于分别建立与每个所述变量值相对应的实体对象,每个所述实体对象包括至少一个属性项,每个所述属性项的值为空;
属性项赋值模块,用于依次依据每个所述变量值对其各自对应的实体对象的属性项进行赋值;
对象封装模块,用于将每个所述变量值对应的实体对象进行封装,得到与所述报表数据相对应的实体对象数据。
12.根据权利要求7所述的装置,其特征在于,还包括:
数据查询单元,用于响应于数据查询指令,在存储的实体对象数据中查询与所述数据查询指令中数据标识相对应的目标对象数据;
数据显示单元,用于将查询到的目标对象数据进行显示。
CN201310320302.2A 2013-07-26 2013-07-26 一种数据存储方法及装置 Active CN103345533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310320302.2A CN103345533B (zh) 2013-07-26 2013-07-26 一种数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310320302.2A CN103345533B (zh) 2013-07-26 2013-07-26 一种数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN103345533A CN103345533A (zh) 2013-10-09
CN103345533B true CN103345533B (zh) 2016-11-23

Family

ID=49280328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310320302.2A Active CN103345533B (zh) 2013-07-26 2013-07-26 一种数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN103345533B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933899B (zh) * 2015-12-30 2020-08-18 远光软件股份有限公司 表格处理方法及装置
CN109359143B (zh) * 2018-10-31 2022-03-22 新华三信息安全技术有限公司 一种报表生成方法及装置
CN110764994A (zh) * 2019-09-04 2020-02-07 深圳壹账通智能科技有限公司 页面元素封装方法、装置、电子设备及存储介质
CN110647573B (zh) * 2019-09-17 2023-04-07 泰华智慧产业集团股份有限公司 基于数据库技术的图表可视化编辑方法和系统
CN112183050A (zh) * 2020-10-12 2021-01-05 贵州电网有限责任公司 实现数据自动化报表设计与收集的方法及系统
CN117130692B (zh) * 2023-10-23 2024-01-23 成都赛力斯科技有限公司 应用管理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661508A (zh) * 2009-09-29 2010-03-03 金蝶软件(中国)有限公司 一种应用于多技术平台的生成表单的方法及装置
CN103135988A (zh) * 2013-03-11 2013-06-05 银联商务有限公司 数据处理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661508A (zh) * 2009-09-29 2010-03-03 金蝶软件(中国)有限公司 一种应用于多技术平台的生成表单的方法及装置
CN103135988A (zh) * 2013-03-11 2013-06-05 银联商务有限公司 数据处理方法及系统

Also Published As

Publication number Publication date
CN103345533A (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN103345533B (zh) 一种数据存储方法及装置
CN104850596B (zh) 一种基于移动gis与rtk定位的配网数据处理方法
CN106557906A (zh) 一种基于三维建模的仓库管理方法和系统
CN107590250A (zh) 一种时空轨迹生成方法及装置
CN103345496B (zh) 多媒体信息检索方法和系统
CN102799592B (zh) 富文本文档的解析方法和系统
CN109871418A (zh) 一种时空数据的空间索引方法和系统
CN101303775A (zh) 一种基于gis的网络拓扑结构呈现方法及系统
CN106788892A (zh) 多源异构试飞数据处理方法及多源异构试飞数据处理系统
CN102402315A (zh) 鼠标指针控制方法、系统及控制设备
CN104102690B (zh) 一种基于存储结构的遥测数据处理方法
CN104408150A (zh) 一种适应多种数据库数据格式的数据导入导出方法及装置
CN103678426A (zh) 一种全线站场图数据存储的方法、装置和处理器
CN104699857A (zh) 基于知识工程的大数据存储方法
CN104881448A (zh) 一种地图路径标注方法和装置
CN105488226A (zh) 数字博物馆观览系统
CN104240461A (zh) 一种电力系统智能告警三维图形动态展示方法
CN107800776A (zh) 一种文件处理方法、终端、服务器及计算机可读介质
CN109241510A (zh) 一种基于微信小程序的自动图表生成系统及其实现方法
CN206907024U (zh) 一种基于云服务的交通设备运维监测和数据分析系统
CN101853179B (zh) 基于插件执行任务分解的通用分布式动态运算技术
CN103069422A (zh) 内容显示方法和装置
CN110297932A (zh) 确定矢量图中封闭图形的最大内接圆的方法、装置及电子设备
CN103024351B (zh) 一种电网运行监视画面多视图联动及切换的方法
CN105159946A (zh) 一种基于jQuery的表格排序方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Yan Chaoyuan

Inventor after: Wang Wei

Inventor after: Jiang Haidong

Inventor after: Liu Xin

Inventor after: Lu Lining

Inventor after: Yang Yanwen

Inventor before: Yan Chaoyuan

Inventor before: Wang Wei

Inventor before: Jiang Haidong

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100192 Beijing city Haidian District Qinghe small Camp Road No. 15

Co-patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: BEIJING CHINA POWER INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100192 Beijing city Haidian District Qinghe small Camp Road No. 15

Co-patentee before: State Grid Corporation of China

Patentee before: BEIJING CHINA POWER INFORMATION TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20190718

Address after: 100085 Building 32-3-4108-4109, Pioneer Road, Haidian District, Beijing

Co-patentee after: STATE GRID CORPORATION OF CHINA

Patentee after: BEIJING GUODIANTONG NETWORK TECHNOLOGY Co.,Ltd.

Address before: 100192 Beijing city Haidian District Qinghe small Camp Road No. 15

Co-patentee before: State Grid Corporation of China

Patentee before: BEIJING CHINA POWER INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right