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

一种多维数据处理方法及系统与流程

2022-04-06 22:13:45 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种多维数据处理方法及系统。


背景技术:

2.现有技术中,多维数据到二维表模型的相互转换,一般会涉及到网格展示层技术、二维表计算技术和数据存储技术,而现有技术中的上述三个技术一般都是耦合在一起的,从而导致在需要对任何一个技术进行扩展时,都需要对整体技术的代码进行变更,从而导致每个技术的可扩展性都较差,且后期维护程序费时费力。


技术实现要素:

3.本发明实施例提供了一种多维数据处理方法及系统,用于通过相互独立的二维表计算模块和模型转换模块,将多维数据转换为二维网格数据,并通过电子表格显示控件对所述二维网格数据进行显示,以提升各模块的可扩展性。
4.本技术实施例第一方面提供了一种多维数据处理方法,应用于多维数据处理系统,所述多维数据处理系统包括:数据库、二维表计算模块、模型转换模块和指令生成器,其中,所述二维表计算模块、所述模型转换模块和所述指令生成器分别为独立的处理模块;
5.所述方法包括:
6.从数据库中获取多维数据;
7.利用所述二维表计算模块获取所述多维数据,并将所述多维数据转换为二维网格数据;
8.利用所述模型转换模块获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
9.利用所述指令生成器将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件对所述二维网格数据进行显示。
10.优选的,所述多维数据处理系统还包括报表数据查询服务模块,在所述从数据库中获取多维数据之后,所述方法还包括:
11.利用所述报表数据查询服务模块获取所述多维数据,将所述多维数据执行格式转换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
12.优选的,所述利用所述二维表计算模块获取所述多维数据,并将所述多维数据转换为二维网格数据,包括:
13.利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头;
14.利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和
对应列表头的二维网格数据。
15.优选的,所述利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头,包括:
16.利用所述二维表计算模块根据所述页面维信息,排列组合出多个不同的页面;
17.针对多个页面,分别根据每个页面的行维信息、列维信息和递归算法对应生成每个页面所对应的行维成员树和列维成员树,其中,所述行维成员树中每个行节点所对应的子树节点数量为所述每个行节点的行跨度数值,所述列维成员树中每个列节点所对应的子树节点数量为所述每个列节点的列跨度数值;
18.遍历所述每个页面所对应的行维成员树和列维成员树,分别得到每个页面的行表头和列表头;
19.根据所述每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个页面所述行表头和所述列表头所占用的单元格数量;
20.根据每个页面的所述行表头和所述列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应的满足预设格式的行表头和列表头。
21.优选的,所述利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据,包括:
22.针对每个页面循环执行以下步骤,所述步骤包括:
23.利用所述二维表计算模块从所述多维数据中筛选出隶属第一页面的第一数据,所述第一页面维所述多个页面中的任一页面;
24.根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;
25.根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
26.优选的,在根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据之后,所述方法还包括:
27.将所述第三数据从所述多维数据中删除,以缩小下一个页面数据的遍历范围。
28.优选的,所述方法还包括:
29.利用所述二维表计算模块从所述模型转换模块中获取所述二维网格数据;
30.将所述二维网格数据转换为所述多维扁平化数据结构。
31.优选的,所述将所述二维网格数据转换为所述多维扁平化数据结构包括:
32.根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
33.优选的,在将所述二维网格数据转换为所述多维扁平化数据结构之后,所述方法还包括:
34.利用所述报表数据查询服务模块将所述多维扁平化数据结构执行格式转换,以将所述多维扁平化数据结构转换为可以在所述数据库中存储的多维数据;
35.将所述多维数据存储于所述数据库中。
36.本技术实施例第二方面提供了一种多维数据处理系统,所述系统包括:
37.数据库,用于存储多维数据;
38.二维表计算模块,用于获取所述多维数据,并将所述多维数据转换为二维网格数据;
39.模型转换模块,用于获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
40.指令生成器,用于将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件根据所述数据样式和所述二维网格中的单元格的坐标对所述二维网格数据进行展示;
41.其中,所述二维表计算模块、所述模型转换模块和所述指令生成器分别为独立的处理模块。
42.优选的,多维数据处理系统还包括:
43.报表数据查询服务模块,用于获取所述多维数据,将所述多维数据执行格式转换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
44.优选的,所述二维表计算模块具体用于:
45.利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头;
46.利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据。
47.优选的,所述二维表计算模块具体用于:
48.根据所述页面维信息,排列组合出多个不同的页面;
49.针对多个页面,分别根据每个页面的行维信息、列维信息和递归算法对应生成每个页面所对应的行维成员树和列维成员树,其中,所述行维成员树中每个行节点所对应的子树节点数量为所述每个行节点的行跨度数值,所述列维成员树中每个列节点所对应的子树节点数量为所述每个列节点的列跨度数值;
50.遍历所述每个页面所对应的行维成员树和列维成员树,分别得到每个页面的行表头和列表头;
51.根据所述每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个页面所述行表头和所述列表头所占用的单元格数量;
52.根据每个页面的所述行表头和所述列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应的满足预设格式的行表头和列表头。
53.优选的,所述二维表计算模块具体用于:
54.针对每个页面循环执行以下步骤,所述步骤包括:
55.利用所述二维表计算模块从所述多维数据中筛选出隶属第一页面的第一数据,所述第一页面维所述多个页面中的任一页面;
56.根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;
57.根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
58.优选的,所述二维表计算模块还用于:
59.在根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据之后,将所述第三数据从所述多维数据中删除,以缩小下一个页面数据的遍历范围。
60.优选的,所述二维表计算模块还用于:
61.从所述模型转换模块中获取所述二维网格数据;
62.将所述二维网格数据转换为所述多维扁平化数据结构。
63.优选的,所述二维表计算模块具体用于:
64.根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
65.优选的,所述报表数据查询服务模块还用于:
66.将所述多维扁平化数据结构执行格式转换,以将所述多维扁平化数据结构转换为可以在所述数据库中存储的多维数据;
67.将所述多维数据存储于所述数据库中。
68.本技术实施例还提供了一种计算机装置,包括处理器,所述处理器在执行存储于存储器上的计算机程序时,用于实现本技术实施例第一方面所述的多维数据处理方法。
69.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,用于实现本技术实施例第一方面所述的多维数据处理方法。
70.本技术实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时,用于实现本技术实施例第一方面所述的多维数据处理方法。
71.从以上技术方案可以看出,本发明实施例具有以下优点:
72.本技术实施例中,通过相互独立的二维表计算模块、模型转换模块,从数据库中获取多维数据,并进一步将多维数据转换为二维网格数据,继而将二维网格数据转换为在电子表格显示控件中进行展示的模型数据,最后使得电子表格显示控件对所述二维网格数据进行显示,以提升了二维表计算模块和模型转换模块之间的可扩展性。
附图说明
73.图1为本技术实施例中多维数据处理方法的一个实施例示意图;
74.图2为图1实施例中步骤102的细化步骤;
75.图3为本技术实施例中根据多维扁平化数据确定不同页面的过程示意图;
76.图4为本技术实施例中列维成员树和行维成员树的示意图;
77.图5为本技术实施例中二维网格数据表头的示意图;
78.图6为本技术实施例中从多维数据筛选出d1e1页面中数据的示意图;
79.图7为本技术实施例中多维数据处理方法的另一个实施例示意图;
80.图8为本技术实施例中二维网格数据的结构示意图;
81.图9为本技术实施例中多维扁平化数据结构的示意图;
82.图10为本技术实施例中多维数据处理系统的一个实施例示意图。
具体实施方式
83.本发明实施例提供了一种多维数据处理方法及装置,用于通过相互独立的二维表计算模块和模型转换模块,将多维数据转换为二维网格数据,并通过电子表格显示控件对所述二维网格数据进行显示,以提升各模块的可扩展性。
84.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
85.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
86.为方便理解,先对本技术涉及的专业术语进行解释,并在后续的描述中沿用此解释:
87.spreadjs:一种基于javascript的电子表格控件,通过以表格形式在前端显示数据,作为展示二维网格数据展示的载体,提供类似于excel的电子表格体验。
88.spread模型:spreadjs前端展示框架对应的后台数据模型,封装了前端网格所需的数据、样式信息。
89.维度:是观察数据的一种角度,例如:根据资金用途、业务单元、工程项目、币种、结算方式编制数据时,资金用途、业务单元、币种这些都算是一种维度,维度是创建数据模板时必不可少的信息。
90.基于现有技术中,在将多维数据转换为二维表数据时,一般将网格展示层技术、二维表计算技术和数据存储技术耦合在一起,从而导致在需要对任何一个技术进行扩展时,都需要对整体技术的代码进行变更,从而导致每个技术可扩展性较差的问题,本技术提出了一种将多维数据处理方法及系统,用于通过相互独立的二维表计算模块和模型转换模块,将多维数据转换为二维网格数据,并通过电子表格显示控件对所述二维网格数据进行显示,以提升各模块的可扩展性。
91.为方便理解,下面对本技术中的多维数据处理方法进行描述,其中,该多维数据处理方法应用于多维数据处理系统,多维数据处理系统包括:数据库、二维表计算模块、模型转换模块和指令生成器,其中,所述二维表计算模块、所述模型转换模块和所述指令生成器
分别为独立的处理模块;
92.具体请参阅图1,本技术实施例中多维数据处理方法的一个实施例包括:
93.101、从数据库中获取多维数据;
94.为方便说明,本技术实施例以spreadjs应用为例,对多维数据到二维表格数据的转换过程进行描述:
95.具体的,本技术实施例是将多维数据数据转换为spreadjs控件能够展示的二维网格数据,本技术实施例中的多维数据一般都存储于数据库中,其中,数据库可以是关系型数据库或多维数据库,此处对数据库的类型不做具体限制。
96.102、利用所述二维表计算模块获取所述多维数据,并将所述多维数据转换为二维网格数据;
97.本技术实施例中通过二维表计算模块从数据库中获取多维数据,并进一步将多维数据转换为二维网格数据;
98.具体的,将多维数据转换为二维网格数据的过程将在下面的实施例中进行描述,此处不再赘述。
99.103、利用所述模型转换模块获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
100.具体在spreadjs应用中,将多维数据转换为二维网格数据后,spread模型转换模块从二维计算模块中获取二维网格数据后,将二维网格数据转换为spreadjs模型数据,其中,spreadjs模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标,以方便将二维网格数据在spreadjs控件中进行展示。
101.104、利用所述指令生成器将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件对所述二维网格数据进行显示。
102.具体的,在spreadjs应用中,当在spread模型转换模块中生成spreadjs模型数据后,如果要将spreadjs模型数据在spreadjs控件中进行展示,还需要利用spreadjs指令生成器将所述spreadjs模型数据生成组合指令,以将所述组合指令发送至spreadjs控件,以使得spreadjs控件对所述二维网格数据进行显示。
103.进一步,利用spreadjs指令生成器将所述spreadjs模型数据生成组合指令的过程,在现有技术中都有详细描述,此次不再赘述。
104.需要说明的是,本技术对于多维数据和二维网格数据之间的转换,是以spreadjs应用进行举例说明的,但除了spreadjs应用外,还可以将图1实施例中的方法应用在excel应用中,此处对图1实施例的应用场景不做具体限制。
105.本技术实施例中,通过相互独立的二维表计算模块、模型转换模块,从数据库中获取多维数据,并进一步将多维数据转换为二维网格数据,继而将二维网格数据转换为在电子表格显示控件中进行展示的模型数据,最后使得电子表格显示控件对所述二维网格数据进行显示,以提升了二维表计算模块和模型转换模块之间的可扩展性。
106.基于图1所述的实施例,多维数据处理系统还包括报表数据查询服务模块,在步骤101之后,所述方法还包括:
107.利用所述报表数据查询服务模块获取所述多维数据,将所述多维数据执行格式转
换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
108.基于数据库作为一种普适性的数据存储方式,数据库中的数据往往只包含了数据本身,在将多维数据转换为二维网格数据之前,还需要获取二维网格数据的表头信息,也即二维网格数据所在的页面信息、行维信息和列维信息,故本技术实施例在将多维数据转换为二维网格数据之前,先通过报表数据查询服务模块将多维数据转换为多维扁平化数据结构,其中,多维扁平化数据结构不仅包括多维数据,还包括对多维数据进行显示的模板信息,其中,模板信息包括二维网格数据的页面维信息、行维信息和列维信息。
109.以方便将多维数据转换为二维网格数据。
110.基于图1所述的实施例,下面接着对图1实施例中的步骤102做详细描述,请参阅图2,图2为步骤102的细化步骤:
111.201、利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头;
112.为方便理解,结合图3进行说明:
113.如图3所示,假设多维扁平化数据结构包括多维数据和模板信息,其中,模板信息包括页面维信息、行维信息和列维信息,假设页面维信息包括两个页面d和页面e,其中,页面d又包括页面d1和d2,页面e又包括页面e1和e2;行维信息包括行c1和行c2,列维信息包括列a1和a2,其中a1又包括b1和b2,a2又包括b3和b4。
114.则根据二维表计算模块确定多个不同页面的过程如下所述:
115.根据页面维信息,排列组合出多个不同的页面,如页面维信息包括d1、d2、e1和e2时,则排列组合出4个不同的页面,分别为d1e1、d1e2、d2e1和d2e2。
116.进一步,确定每个页面中行表头的过程如下所述:
117.假设以页面d1e1为例,对确定页面d1e1中行表头的过程进行说明,根据行维信息c1和c2,以递归算法生成行维成员树,以列维信息a1和a2,其中a1包括b1和b2,a2包括b3和b4,以递归算法生成列维成员树,如图4所示。
118.则可知页面d1e1中的行维信息为c1和c2,列维信息为a1b1、a1b2、a2b1和a2b2,在图4中,每个行节点所对应的子树节点数量为每个行节点的行跨度数值,图c1节点对应的子树节点数量为0,则c1节点的行跨度数值为0,c2节点对应的子树节点数量为0,则c2节点的行跨度数值也为0;每个列节点所对应的子树节点数量为每个列节点的列跨度数值,图a1节点对应的子树节点数量为2,则a1节点的列跨度数值为2,图a2节点对应的子树节点数量为2,则a2节点的列跨度数值也为2,而a1b1、a1b2、a2b1和a2b2节点,分别对应的子树节点数量为0,故a1b1、a1b2、a2b1和a2b2节点的列跨度数值分别都为0。
119.遍历页面d1e1中的行成员树,即可得到页面d1e1的行表头为c1和c2,遍历页面d1e1中的列成员树,即可得到页面d1e1的一级列表头为a1和a2,二级列表头为a1b1、a1b2、a2b1和a2b2。
120.为了更好的对一级列表头和二级列表头进行显示,还可以根据每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个行表头和列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应
的满足预设格式的行表头和列表头。
121.如图4中的行表头c1和c2,因为其对应的行跨度数值为0,故行表头c1和c2,所占用的单元格数量为1,而一级列表头a1和a2,所对应的列跨度数值为2,故一级列表头a1和a2,所占用的单元格数量都为2,而二级列表头a1b1、a1b2、a2b1和a2b2,所占用的单元格数量都为1。为了更好的对一级列表头进行显示,则将一级列表头a1和a2所占用的单元格数量2进行合并,以得到图5所示的行表头和列表头。
122.202、利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据。
123.步骤201中,确定了页面d1e1中对二维网格数据进行显示的行表头和列表头后,则进一步从多维数据中筛选出隶属于d1e1对应行表头和对应列表头的二维网格数据。
124.下面对该过程进行详细说明:
125.如图6所示:利用所述二维表计算模块从所述多维数据中筛选出隶属d1e1页面的第一数据;根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
126.因为多维数据在显示时,会携带每个数据对应的页面维信息,行维信息和列维信息,故通过页面维信息,即可从多维数据中筛选出隶属于d1e1页面的第一数据,得到第一数据后,再以行表头c1和c2分别遍历第一数据,以从第一数据中筛选出隶属于行表头c1和c2的第二数据,得到第二数据后,再以列表头a1b1、a1b2、a2b1和a2b2分别遍历第二数据,以从第二数据中筛选出隶属于列表头a1b1、a1b2、a2b1和a2b2的第三数据。
127.进一步,筛选中页面d1e1中的二维网格数据后,为了进一步缩小页面d1e2、d2e1和d2e2所遍历的数据,还可以进一步在多维数据中删除隶属页面d1e1的第三数据,以缩小下一页面的遍历范围,提升筛选每个页面中二维网格数据的效率。
128.本技术实施例中对二维表计算模块将多维数据转换为二维网格数据的过程做了详细描述,从而提升了将多维数据转换为二维网格数据过程的可靠性。
129.上面对二维表计算模块将多维数据转换为二维网格数据的过程做了详细描述,而本技术实施例中的二维表计算模块还可以执行以下步骤,以将二维网格数据转换为所述多维扁平化数据结构,请请参阅图7,图7为本技术实施例中多维数据处理方法的另一个实施例:
130.701、利用所述二维表计算模块从所述模型转换模块中获取所述二维网格数据;
131.多维数据处理系统中的二维表计算模块和模型转换模块分别为相互独立的处理单元,故二维表计算模块还可以从模型转换模块获取二维网格数据,并进一步将二维网格数据转换为所述多维扁平化数据结构。
132.702、将所述二维网格数据转换为所述多维扁平化数据结构。
133.为方便理解,下面结合图8进行说明:
134.假设二维网格数据的页面维度信息为d1e1,行表头为c1,一级列表头为a1和a2,二级列表头为a1b1、a1b2、a2b1和a2b2,而对应每个行表头和列表头的单元格数据如图8所示。
135.则二维表计算模块根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网
格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
136.具体如下所示:如在图8中,数据v1所隶属的页面维度信息为d1e1、行维信息为c1,列维信息为a1b1,数据v2所隶属的页面维度信息为d1e1、行维信息为c1,列维信息为a1b2,数据v3所隶属的页面维度信息为d1e1、行维信息为c1,列维信息为a2b3,数据v4所隶属的页面维度信息为d1e1、行维信息为c1,列维信息为a2b4,则最后将二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示,即可得到如图9所示的多维扁平化数据结构。
137.当然,除了将二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示外,还可以将二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同列显示,以得到多维扁平化数据结构,此处不再赘述。
138.本技术实施例中对二维表计算模块将二维网格数据转换为多维数据的过程做了详细描述,提升了将二维网格数据转换为多维数据过程的可靠性。
139.进一步,在得到多维扁数据结构以后,为了进一步将多维扁平化数据存储至数据库中,还可以进一步利用报表数据查询服务模块将多维扁平化数据结构执行格式转换,以将多维扁平化数据结构转换为可以在所述数据库中存储的多维数据;并将多维数据存储于数据库中,其中,将多维扁平化数据结构转换为可以在数据库中存储的多维数据的过程,在现有技术中都有详细描述,此处不再赘述。
140.上面对本技术实施例中的多维数据处理方法做了描述,下面接着对本技术中的多维数据处理系统件描述,请参阅图10,图10为本技术实施例中多维数据处理系统的一个实施例示意图,多维数据处理系统包括:
141.数据库1001,用于存储多维数据;
142.二维表计算模块1002,用于获取所述多维数据,并将所述多维数据转换为二维网格数据;
143.模型转换模块1003,用于获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
144.指令生成器1004,用于将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件根据所述数据样式和所述二维网格中的单元格的坐标对所述二维网格数据进行展示;
145.其中,所述二维表计算模块、所述模型转换模块和所述指令生成器分别为独立的处理模块。
146.优选的,多维数据处理系统还包括:
147.报表数据查询服务模块1005,用于获取所述多维数据,将所述多维数据执行格式转换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
148.优选的,所述二维表计算模块1002具体用于:
149.利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头;
150.利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据。
151.优选的,所述二维表计算模块1002具体用于:
152.根据所述页面维信息,排列组合出多个不同的页面;
153.针对多个页面,分别根据每个页面的行维信息、列维信息和递归算法对应生成每个页面所对应的行维成员树和列维成员树,其中,所述行维成员树中每个行节点所对应的子树节点数量为所述每个行节点的行跨度数值,所述列维成员树中每个列节点所对应的子树节点数量为所述每个列节点的列跨度数值;
154.遍历所述每个页面所对应的行维成员树和列维成员树,分别得到每个页面的行表头和列表头;
155.根据所述每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个页面所述行表头和所述列表头所占用的单元格数量;
156.根据每个页面的所述行表头和所述列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应的满足预设格式的行表头和列表头。
157.优选的,所述二维表计算模块1002具体用于:
158.针对每个页面循环执行以下步骤,所述步骤包括:
159.利用所述二维表计算模块从所述多维数据中筛选出隶属第一页面的第一数据,所述第一页面维所述多个页面中的任一页面;
160.根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;
161.根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
162.优选的,所述二维表计算模块1002还用于:
163.在根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据之后,将所述第三数据从所述多维数据中删除,以缩小下一个页面数据的遍历范围。
164.优选的,所述二维表计算模块1002还用于:
165.从所述模型转换模块中获取所述二维网格数据;
166.将所述二维网格数据转换为所述多维扁平化数据结构。
167.优选的,所述二维表计算模块1002具体用于:
168.根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
169.优选的,所述报表数据查询服务模块1005还用于:
170.将所述多维扁平化数据结构执行格式转换,以将所述多维扁平化数据结构转换为
可以在所述数据库中存储的多维数据;
171.将所述多维数据存储于所述数据库中。
172.需要说明的是,本技术实施例中各模块的作用与图1至图9中描述的类似,此处不再赘述。
173.本技术实施例中,通过相互独立的二维表计算模块1002和模型转换模块1003,从数据库中获取多维数据,并进一步将多维数据转换为二维网格数据,继而将二维网格数据转换为在电子表格显示控件中进行展示的模型数据,最后使得电子表格显示控件对所述二维网格数据进行显示,以提升了二维表计算模块和模型转换模块之间的可扩展性。
174.上面从模块化功能实体的角度对本发明实施例中的多维数据处理系统进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
175.该计算机装置用于实现维数据处理系统的功能,本发明实施例中计算机装置一个实施例包括:
176.处理器以及存储器;
177.存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序时,可以实现如下步骤:
178.从数据库中获取多维数据;
179.利用所述二维表计算模块获取所述多维数据,并将所述多维数据转换为二维网格数据;
180.利用所述模型转换模块获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
181.利用所述指令生成器将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件对所述二维网格数据进行显示。
182.优选的,所述多维数据处理系统还包括报表数据查询服务模块,在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
183.利用所述报表数据查询服务模块获取所述多维数据,将所述多维数据执行格式转换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
184.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
185.利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分别确定多个不同的页面、以及每个页面的行表头和列表头;
186.利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据。
187.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
188.利用所述二维表计算模块根据所述页面维信息,排列组合出多个不同的页面;
189.针对多个页面,分别根据每个页面的行维信息、列维信息和递归算法对应生成每个页面所对应的行维成员树和列维成员树,其中,所述行维成员树中每个行节点所对应的子树节点数量为所述每个行节点的行跨度数值,所述列维成员树中每个列节点所对应的子
树节点数量为所述每个列节点的列跨度数值;
190.遍历所述每个页面所对应的行维成员树和列维成员树,分别得到每个页面的行表头和列表头;
191.根据所述每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个页面所述行表头和所述列表头所占用的单元格数量;
192.根据每个页面的所述行表头和所述列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应的满足预设格式的行表头和列表头。
193.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
194.针对每个页面循环执行以下步骤,所述步骤包括:
195.利用所述二维表计算模块从所述多维数据中筛选出隶属第一页面的第一数据,所述第一页面维所述多个页面中的任一页面;
196.根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;
197.根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
198.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
199.将所述第三数据从所述多维数据中删除,以缩小下一个页面数据的遍历范围。
200.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
201.利用所述二维表计算模块从所述模型转换模块中获取所述二维网格数据;
202.将所述二维网格数据转换为所述多维扁平化数据结构。
203.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
204.根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
205.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
206.利用所述报表数据查询服务模块将所述多维扁平化数据结构执行格式转换,以将所述多维扁平化数据结构转换为可以在所述数据库中存储的多维数据;
207.将所述多维数据存储于所述数据库中。
208.可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述多维数据处理系统中的执行过程。例如,所述计算机程序可以被分割成上述多维数据处理系统中的各单元,各单元可以实现如上述相应多维数据处理系统说明的具体功能。
209.所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、
存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
210.所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
211.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
212.本发明还提供了一种计算机可读存储介质,该计算机可读存储介质用于实现多维数据处理系统的功能,其上存储有计算机程序,计算机程序被处理器执行时,处理器,可以用于执行如下步骤:
213.从数据库中获取多维数据;
214.利用所述二维表计算模块获取所述多维数据,并将所述多维数据转换为二维网格数据;
215.利用所述模型转换模块获取所述二维网格数据,并将所述二维网格数据转换为模型数据,所述模型数据至少包括所述二维网格数据、数据样式和二维网格中的单元格的坐标;
216.利用所述指令生成器将所述模型数据生成组合指令,并将所述组合指令发送至电子表格显示控件,以使得电子表格显示控件对所述二维网格数据进行显示。
217.优选的,所述多维数据处理系统还包括报表数据查询服务模块,在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
218.利用所述报表数据查询服务模块获取所述多维数据,将所述多维数据执行格式转换,以将所述多维数据转换为所述二维表计算模块能够识别的多维扁平化数据结构,其中,所述多维扁平化数据结构包括多维数据和对所述多维数据进行显示的模板信息,其中,所述模板信息包括所述页面维信息、行维信息和列维信息。
219.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
220.利用所述二维表计算模块根据所述页面维信息、所述行维信息、所述列维信息分
别确定多个不同的页面、以及每个页面的行表头和列表头;
221.利用所述二维表计算模块从所述多维数据中筛选出隶属每个页面对应行表头和对应列表头的二维网格数据。
222.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
223.利用所述二维表计算模块根据所述页面维信息,排列组合出多个不同的页面;
224.针对多个页面,分别根据每个页面的行维信息、列维信息和递归算法对应生成每个页面所对应的行维成员树和列维成员树,其中,所述行维成员树中每个行节点所对应的子树节点数量为所述每个行节点的行跨度数值,所述列维成员树中每个列节点所对应的子树节点数量为所述每个列节点的列跨度数值;
225.遍历所述每个页面所对应的行维成员树和列维成员树,分别得到每个页面的行表头和列表头;
226.根据所述每个行节点的行跨度数值和每个列节点的列跨度数值,确定每个页面所述行表头和所述列表头所占用的单元格数量;
227.根据每个页面的所述行表头和所述列表头所占用的单元格数量,对每个页面的所述行表头和所述列表头所占用的单元格执行合并操作,以得到每个页面所对应的满足预设格式的行表头和列表头。
228.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
229.针对每个页面循环执行以下步骤,所述步骤包括:
230.利用所述二维表计算模块从所述多维数据中筛选出隶属第一页面的第一数据,所述第一页面维所述多个页面中的任一页面;
231.根据第一页面的行表头,遍历所述第一数据,确定所述第一数据中与所述第一页面的行表头对应的第二数据;
232.根据第一页面的列表头,遍历所述第二数据,以确定所述第一页面中每个单元格所对应的第三数据。
233.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
234.将所述第三数据从所述多维数据中删除,以缩小下一个页面数据的遍历范围。
235.在本发明的一些实施例中,处理器,还可以用于实现如下步骤:
236.利用所述二维表计算模块从所述模型转换模块中获取所述二维网格数据;
237.将所述二维网格数据转换为所述多维扁平化数据结构。
238.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行时,处理器,可以具体用于执行如下步骤:
239.根据所述二维网格数据中每个单元格数据所隶属的页面维信息、行维信息和列维信息,遍历所述二维网格数据中每个单元格中的数据,以将所述二维网格数据中每个单元格中的数据和所述数据隶属的页面信息、隶属的行表头和隶属的列表头执行同行显示或同列显示,以得到所述多维扁平化数据结构。
240.在本发明的一些实施例中,计算机可读存储介质存储的计算机程序被处理器执行
时,处理器,可以具体用于执行如下步骤:
241.利用所述报表数据查询服务模块将所述多维扁平化数据结构执行格式转换,以将所述多维扁平化数据结构转换为可以在所述数据库中存储的多维数据;
242.将所述多维数据存储于所述数据库中。
243.可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
244.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
245.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
246.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
247.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献