一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于结构化数据的报表代码的处理方法及相关设备与流程

2022-07-31 08:08:29 来源:中国专利 TAG:


1.本技术涉及计算机领域,特别是涉及一种基于结构化数据的报表代码的处理方法及相关设备。


背景技术:

2.目前的一些系统存在部分报表冗余、数据利用率低等问题,需要对系统包含的大量报表进行优化整合处理,例如,境外经营分析系统(简称obas)经过多年的建设,基本满足了境外分行机构报表统计、ifar报送的要求,由于obas现有报表由多年历史需求积累,数量众多,存在部分报表冗余、数据利用率低等问题,需要对现有报表进行优化整合处理。
3.在对报表优化整合处理过程中需要频繁查看、比较和修改报表代码,目前,系统中的报表通常使用cognos进行开发和部署,因此通常使用cognos软件查看、比较和修改报表代码。
4.但是,对于大型报表工程,如obas,报表数量众多,需要大规模的优化整合的时候,使用cognos软件查看、分析和修改报表的效率无法满足项目时间上的要求。另外,多位报表开发人员同时对一个报表工程进行编辑的效率低且容易造成不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。


技术实现要素:

5.有鉴于此,本技术提供了一种基于结构化数据的报表代码的处理方法及相关设备,用于解决现有技术存在的效率低且不同报表开发人员之间的编辑内容互相冲突、覆盖的问题,其技术方案如下:
6.一种基于结构化数据的报表代码的处理方法,包括:
7.获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的xml文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
8.遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
9.从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
10.若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
11.可选的,将目标报表代码集与待比较报表代码集进行比较,得到比较结果,包括:
12.针对待比较报表代码集和目标报表代码集中的每个报表代码,将该报表代码的元
素结构信息作为键,将该报表代码作为值,生成该报表代码对应的键值对;
13.针对目标报表代码集中的每个目标报表代码,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果;以得到目标报表代码集中每个目标报表代码对应的比较结果。
14.可选的,将该目标报表代码对应的键值对与待比较报表代码集中每个待比较报表代码对应的键值对进行比较,得到该目标报表代码对应的比较结果,包括:
15.将该目标报表代码对应的键值对中的键,与待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码;
16.将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
17.可选的,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改,包括:
18.对于目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
19.可选的,根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改,包括:
20.将该目标报表代码对应的待比较报表代码转换为符合xml格式文件要求的待比较报表代码;
21.根据符合xml格式文件要求的待比较报表代码对该目标报表代码进行修改。
22.可选的,还包括:
23.将解析结果和/或比较结果输出到文档格式文件中。
24.可选的,预设文件为excel文件和/或其他工程中的结构化数据文件。
25.一种基于结构化数据的报表代码的处理装置,包括:获取模块、遍历模块、比较模块和修改模块;
26.获取模块,用于获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的xml文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
27.遍历模块,用于遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
28.比较模块,用于从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
29.修改模块,用于若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
30.一种基于结构化数据的报表代码的处理设备,包括存储器和处理器;
31.存储器,用于存储程序;
32.处理器,用于执行程序,实现如上述任一项的基于结构化数据的报表代码的处理方法的各个步骤。
33.一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上述任一项的基于结构化数据的报表代码的处理方法的各个步骤。
34.经由上述的技术方案可知,本技术提供的基于结构化数据的报表代码的处理方法,首先获取结构化数据文件,然后遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着从预设文件中获取待比较报表代码集,并将目标报表代码集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。由此可见,本技术能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用cognos软件的方法,本技术能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1为本技术实施例提供的基于结构化数据的报表代码的处理方法的流程示意图;
37.图2为本技术实施例提供的基于结构化数据的报表代码的处理装置的结构示意图;
38.图3为本技术实施例提供的基于结构化数据的报表代码的处理设备的硬件结构框图。
具体实施方式
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.鉴于现有技术存在的问题,本案发明人进行了深入研究,最终提出了一种基于结构化数据的报表代码的处理方法,接下来通过下述实施例对本技术提供的基于结构化数据的报表代码的处理方法进行详细介绍。
41.请参阅图1,示出了本技术实施例提供的基于结构化数据的报表代码的处理方法的流程示意图,该基于结构化数据的报表代码的处理方法可以包括:
42.步骤s101、获取当前工程中的结构化数据文件。
43.具体的,cognos工程中的所有报表代码均存储在工程中的结构化数据文件中。这里,cognos工程是指cognos软件中的一个工程项目对象,cognos是指一种常用的报表设计及发布软件。
44.上述结构化数据文件为树状结构的xml(extensiblemarkup language,可扩展标记语言)文件,该树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素。这里,查询主题是指cognos软件中的一个数据库查询的对象,利用sql语言编写的报表代码对数据库进行数据查询,将查询到的数据用于报表展示,cognos报表的报表代码及其他相关信息保存在查询主题中。
45.上述树状结构的节点元素中还包括名称空间,该名称空间为查询主题节点元素的父节点元素,也即,名称空间中包括若干个查询主题。
46.需要说明的是,上述结构化数据文件的节点元素中包括至少一个名称空间,每个名称空间中包括至少一个查询主题,每个查询主题中包括至少一个报表代码。
47.在本实施例中,当需要对当前工程中的报表代码进行处理(这里的处理是指解析、比较和修改)时,可以获取当前工程中的结构化数据文件。这里,当前工程是指当前的cognos报表工程,该当前工程中的报表代码通过sql(结构化查询语言)语言进行编写。
48.可选的,当前工程中的结构化数据文件可以命名为“model.xml”,基于此,可选的,本步骤的过程可以包括:使用java方法saxreader()来读取需要处理的当前cognos工程中名称为“model.xml”的结构化数据文件。
49.步骤s102、遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果。
50.具体的,可以从结构化数据文件的根节点开始遍历所有的名称空间和名称空间下的查询主题,然后再从查询主题往下遍历子元素,得到每个查询主题下的每个报表代码。
51.可选的,上述名称空间可以命名为“namespace”,查询主题可以命名为“querysubject”,报表代码可以命名为“sql”,则本步骤可以首先从结构化数据文件中遍历元素名称为“namespace”的所有名称空间;对于遍历到的每个“namespace”,在该“namespace”中遍历元素名称为“querysubject”的所有查询主题;在该“querysubject”中遍历元素名称为“definition”的子元素,在该“definition”中遍历元素名为“dbquery”的子元素,在该“dbquery”中遍历元素名称为“sql”的子元素,该“sql”元素节点的文本内容即为本步骤所要获得的报表代码。
52.可选的,本步骤可以从结构化数据文件的根节点使用方法elementiterator()进行递归遍历,以得到每个查询主题下的每个报表代码。
53.可以理解的是,开发人员直接读取报表代码较为不便,为了便于开发人员从获得的报表代码中确定出需要进行比较的目标报表代码,可以通过本步骤对获得的每个报表代码均进行结构解析,得到每个报表代码的解析结果。
54.可选的,对每个报表代码进行结构解析具体是指提取报表代码中使用的来源表、目标表、参数等信息。
55.可选的,在得到解析结果后,还可以将每个报表代码的解析结果输出到文档格式文件中进行保存,以便于开发人员查看解析结果。
的过程可以包括:
70.a1、将该目标报表代码对应的键值对中的键,与待比较报表代码集中每个待比较报表代码对应的键值对中的键进行比较,得到键相同的待比较报表代码,作为该目标报表代码对应的待比较报表代码。
71.a2、将该目标报表代码对应的键值对中的值,与该目标报表代码对应的待比较报表代码所对应键值对中的值进行比较,得到该目标报表代码对应的比较结果。
72.例如,a1确定出目标报表代码1与待比较报表代码1对应,则可以将目标报表代码1对应的键值对中的值(即目标报表代码1)与待比较报表代码1对应的键值对中的值(即待比较报表代码1)进行比较,得到目标报表代码1对应的比较结果。
73.步骤s104、若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
74.在本实施例中,比较结果能够反映出目标报表代码集与待比较报表代码集之间的差异性,如果比较结果表示两个集合之间存在差异,则说明需要对目标报表代码集进行修改,如果比较结果表示两个集合之间没有差异,则说明不需要对目标报表代码集进行修改。
75.在一可选实施例中,继上文介绍,本步骤“若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改”的过程可以包括:对于目标报表代码集中的每个目标报表代码,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
76.具体的,若该目标报表代码对应的比较结果表征需要对该目标报表代码进行修改,则说明该目标报表代码与对应的待比较报表代码之间存在差异,此时可以根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改。
77.在本步骤中,“根据该目标报表代码对应的待比较报表代码对该目标报表代码进行修改”的过程可以包括:将该目标报表代码对应的待比较报表代码转换为符合xml格式文件要求的待比较报表代码,根据符合xml格式文件要求的待比较报表代码对该目标报表代码进行修改。
78.可以理解的是,excel文件中的待比较报表代码不符合xml格式文件要求,为了使修改后的目标报表代码仍符合xml格式文件要求,可以首先对该目标报表代码对应的待比较报表代码进行xml格式文件要求的校验和转换,生成符合xml格式文件要求的待比较报表代码,然后再将符合xml格式文件要求的待比较报表代码内容赋值给该目标报表代码,这样就完成了对该目标报表代码进行修改的整个过程。
79.值得注意的是,本步骤的修改过程不是直接在当前工程的结构化数据文件“model.xml”中进行修改,而是每次将修改的目标报表代码进行暂存,在将当前工程中所有需要修改的目标报表代码均修改后,再将所有修改后的目标报表代码写回结构化数据文件“model.xml”中。
80.本技术提供的基于结构化数据的报表代码的处理方法,首先获取结构化数据文件,然后遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着从预设文件中获取待比较报表代码集,并将目标报表代码
集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。由此可见,本技术能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用cognos软件的方法,本技术能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发人员之间的编辑内容互相冲突、覆盖的问题。
81.同时,解析结果和比较结果用常用的文档格式保存,方便报表开发人员对报表进行分析和改造,节省报表开发人员的开发时间。
82.经由测试证明,采用本实施例提供的方法进行报表代码的解析、比较和修改,即使对大型报表工程,整体处理时间也不会很长,例如,对obas报表工程的解析、比较和修改的耗时约1分钟,能减少大量的开发时间,达到提高开发效率的效果。
83.本技术实施例还提供了一种基于结构化数据的报表代码的处理装置,下面对本技术实施例提供的基于结构化数据的报表代码的处理装置进行描述,下文描述的基于结构化数据的报表代码的处理装置与上文描述的基于结构化数据的报表代码的处理方法可相互对应参照。
84.请参阅图2,示出了本技术实施例提供的基于结构化数据的报表代码的处理装置的结构示意图,如图2所示,该基于结构化数据的报表代码的处理装置可以包括:获取模块201、遍历模块202、比较模块203和修改模块204。
85.获取模块201,用于获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的xml文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素。
86.遍历模块202,用于遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果。
87.比较模块203,用于从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码。
88.修改模块204,用于若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
89.本技术提供的基于结构化数据的报表代码的处理装置,首先获取模块获取结构化数据文件,然后遍历模块遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果,以得到结构化数据文件中若干个报表代码的解析结果,接着比较模块从预设文件中获取待比较报表代码集,并将目标报表代码集和待比较报表代码集进行比较,得到比较结果,若比较结果表征需要对目标报表代码集进行修改,则修改模块根据待比较报表代码集对目标报表代码集进行修改。由此可见,本技术能够对结构化数据文件中的报表代码进行解析、比较和修改,相比于现有技术使用cognos软件的方法,本技术能够节省大量的处理时间,提高了处理效率,并且,整个过程无需多位开发人员共同参与,节省了开发人员的时间,避免了不同报表开发
specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
106.存储器303可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
107.其中,存储器303存储有程序,处理器301可调用存储器303存储的程序,所述程序用于:
108.获取当前工程中的结构化数据文件,其中,结构化数据文件为树状结构的xml文件,树状结构的节点元素中包括查询主题和报表代码,报表代码为查询主题节点元素的子节点元素;
109.遍历结构化数据文件中的节点元素,获得每个查询主题下的每个报表代码,并对获得的每个报表代码进行解析,得到每个报表代码的解析结果;以得到结构化数据文件中若干个报表代码的解析结果;
110.从预设文件中获取待比较报表代码集,并将目标报表代码集与待比较报表代码集进行比较,得到比较结果,其中,目标报表代码集包括至少一个目标报表代码,目标报表代码集中的目标报表代码根据若干个报表代码的解析结果确定,待比较报表代码集中包括至少一个待比较报表代码;
111.若比较结果表征需要对目标报表代码集进行修改,则根据待比较报表代码集对目标报表代码集进行修改。
112.可选的,所述程序的细化功能和扩展功能可参照上文描述。
113.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述基于结构化数据的报表代码的处理方法。
114.可选的,所述程序的细化功能和扩展功能可参照上文描述。
115.最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
116.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
117.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献