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

一种数据处理方法、装置、设备及存储介质与流程

2022-02-22 06:02:05 来源:中国专利 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.所述归纳运算包括基于所述树状结构各叶子节点的层级关系和所述树结构运算方式对应的归纳函数,对所述树状结构中至少两层叶子层中的一个或者多个叶子节点进行逐层归纳计算;
74.所述编译运算包括对所述树状结构和/或所述树状结构中至少一个叶子节点下的键值以对应的数据格式进行编译和显示,以供用户查看;
75.所述拷贝运算包括根据预设拷贝方式,对所述树状结构和/或者所述树状结构中的叶子节点进行拷贝。
76.一种可选的实施方式中,所述第一运算处理模块具体用于:
77.将所述树状结构中第五叶子节点上的数据结构下沉到所述第五叶子节点的子节点上;和/或
78.将所述树状结构中第六叶子节点的至少一个子节点上的共有数据结构进行提取,并上升到所述第六叶子节点上。
79.一种可选的实施方式中,所述第一运算处理模块具体用于:
80.将所述树状结构以及所述树状结构的信息以预设文件格式导出,得到对应的数据文件;和/或
81.接收导入的、所述树状结构的所述数据文件,并基于所述数据文件生成所述树状结构;
82.所述树状结构的信息包括所述树状结构的类型信息、结构信息和各节点下的数据信息中的一种或者多种。
83.一种可选的实施方式中,所述第一运算处理模块具体用于:
84.将所述树状结构导出为可视化图像,以展示所述树状结构中的数据关系。
85.本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述的数据处理方法的步骤。
86.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的数据处理方法的步骤。
87.本公开实施例提供的数据处理方法、装置、设备及存储介质,能够针对数据处理系统中的具有树状结构的树结构数据进行处理,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值,处理时能够通过接收针对所述系统中所述树结构数据的处理请求;基于所述处理请求,确定针对所述树结构数据的树结构运算方式;基于所述树结构运算方式,对所述树结构数据进行运算处理。
88.这样,通过统一的树状结构表示数据,可以简化数据逻辑,将数据和数据的业务逻辑分离设计,实现简单有效的数据管理和数据计算等,并且对于开发人员来讲,有利于开发人员通过树状结构快速搭建计算逻辑,有助于减少工作量和降低计算逻辑的复杂度。
89.进一步的,对于各种智能领域中的数据和函数,封装成支持树状结构的形式,可以实现数据范围和类型的扩展,针对封装后的数据和函数可以快速搭建常规计算逻辑,使之制成树结构上的运算。
90.更进一步的,可以根据树状结构,对树结构数据进行多种基础运算和扩展运算,给使用者带来了更加编辑的数据处理方式,简化数据处理方式,降低数据处理难度。
91.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
92.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出
了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
93.图1为本公开实施例提供的数据处理系统的应用场景示意图;
94.图2为本公开实施例提供的一种数据处理方法的流程图;
95.图3为本公开实施例中树结构数据的树状结构的示意图;
96.图4为本公开实施例提供的一种数据处理装置的示意图之一;
97.图5为本公开实施例提供的一种数据处理装置的示意图之二;
98.图6为本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
99.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
100.经研究发现,无论是人工智能(如感知智能、智能计算和决策智能等)还是其他智能领域,所使用的数据大多是规整的张量数据,其对于真实世界中复杂的信息情况并没有很好的支持表现,需要进行大量的数据预处理,而且为了实现数据的使用,需要设置复杂的算法逻辑,算法逻辑和数据形式在具体实现中存在严重的耦合,导致针对数据的算法设计和编程等方面复杂度高,逻辑繁琐,而且使用数据时,数据的处理量大,处理时间长,资源消耗多。
101.基于上述研究,本公开提供了一种数据处理方法,能够针对数据处理系统中具有树状结构的树结构数据进行处理,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值,处理时能够通过接收针对所述系统中所述树结构数据的处理请求;基于所述处理请求,确定针对所述树结构数据的树结构运算方式;基于所述树结构运算方式,对所述树结构数据进行运算处理。
102.这样,通过统一的树状结构表示数据,可以简化数据逻辑,将数据和数据的业务逻辑分离设计,实现简单有效的数据管理和数据计算等,并且对于开发人员来讲,有利于开发人员通过树状结构快速搭建计算逻辑,有助于减少工作量和降低计算逻辑的复杂度。
103.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
104.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
105.请参阅图1,图1为本公开实施例提供的数据处理系统的应用场景示意图。所述数
据处理系统100可以提供通用的树形结构化数据的处理能力,其中存储有具有树状结构的树结构数据,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值。
106.其中,对于所述树状结构包括至少一层叶子层和所述叶子层包括至少一个叶子节点来讲,并不完全局限于此,在一些情况下,所述树状结构和/或所述树状结构中的某个叶子节点(该叶子节点本身为一个具有树状结构的树结构数据),也可以是没有叶子层(对于该叶子节点来讲,相对于该叶子节点的子叶子层)和叶子节点(对于该叶子节点来讲,相对于该叶子节点的子叶子节点)的空的树结构(仅有根节点)或者空的子树结构(该叶子节点作为一个子树结构的父节点时,没有相应的子叶子节点),即在所述树状结构的根节点和/或该叶子节点下,暂时并未有挂载值或者挂载子树结构,导致根节点和/或该叶子节点下是空的,没有对应的子节点。
107.如图1中所示,所述数据处理系统包括业务层、数据层和接入层,所述接入层主要用于实现与外部的数据交互,能够通过系统提供的树化装饰函数(例如装饰器模式对应的函数)对接收到的数据和程序中的一些通用函数等进行树结构化封装,即通过树化装饰函数对给定的数据和/或通用函数进行加工后形成新的、适配树状结构的函数,以将更多数据和针对值的运算函数(通用函数)扩展到树状结构层面上的运算,适配所述数据处理系统100的数据要求,所述业务层主要用于实现业务需求、接收业务访问等,例如接收用户的操作以实现人机交互,所述业务层内部包含一个指向所述数据层中存储的数据对象的指针,所述业务层中可以使用python对象的原生方法,所述业务层可支持的基础行为与所述数据层基本一致,例如通过所述业务层可以得知用户的查询需求,相应的,所述数据层可以实现用户对数据的查询,所述数据层主要负责通过树状结构表示的树结构数据的存储、维护和处理等,在所述数据层中,可以支持树结构数据的一些基本运算,例如键查询、键赋值、键删除、键判定、键计数、键遍历等多种基本运算方式中的一种或者多种,还可以通过运算脚本工具等支持一些扩展的树结构运算,例如映射运算、筛选运算、归纳运算、结构下沉运算、结构上浮运算、拷贝运算和树结构图形化运算等多种扩展运算方式中的一种或者多种。
108.其中,对于所述树结构数据的运算,可以包括针对所述树状结构内部的运算,例如针对所述树状结构内部各层叶子层和各叶子节点之间的,也可以包括针对所述树状结构外部的运算,例如不同树结构数据的树状结构之间的函数运算。
109.进一步的,基于上述的通过树化装饰函数对数据和通用函数进行树状结构封装的原理,可以实现对数据的类进行树结构化封装,得到树化的树结构类,以使该树结构类下的数据具有树状结构,适配所述数据处理系统100的管理,树化的树结构类是基于原有类的树状结构,树结构类需要定义一个构造函数,该构造函数可以与原有类的构造函数一致,仅需要确保易用性即可,还可以对部分树结构类的方法进行特殊化定义,例如对求和方法进行归纳,即树化后的求和函数返回值是树上各对象求和函数返回值之和,对其他的方法来说,则使用默认的树化函数进行封装。
110.再进一步的,基于上述的通过树化装饰函数对数据和通用函数进行树状结构封装的原理,还可以对数据模块进行树结构化封装,以生成适配所述数据处理系统100的管理的树结构模块,树化的模块是基于原有模块的函数与类结构的,而且可以对模块中的部分函
数和类进行特殊化定义,对于其他的函数与类,则使用默认的方法进行树化即可。
111.请参阅图2,图2为本公开实施例提供的一种数据处理方法的流程图。本公开实施例体用的数据处理方法,可以应用于如图1中所示的数据处理系统100,所述数据处理系统100存储具有树状结构的树结构数据,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值。如图2中所示,所述方法包括:
112.s201:接收针对所述系统中所述树结构数据的处理请求。
113.该步骤中,在用户需要对所述数据处理系统中存储的所述树结构数据进行处理、维护和使用时,可以发送针对所述树结构数据的处理请求,相应的,如果接受到所述处理请求,既可以认为需要对所述树结构数据进行处理。
114.其中,所述用户,可以是指对所述数据处理系统中所存储的所述树结构数据进行维护和管理的人员,也可以是指对所述数据处理系统中所存储的所述树结构数据进行使用和处理的业务系统方。
115.s202:基于所述处理请求,确定针对所述树结构数据的树结构运算方式。
116.该步骤中,在接收到所述处理请求后,可以针对所述处理请求进行解析、匹配等处理,例如解析所述处理请求中的处理信息,或者将所述处理请求与所述数据处理系统能够提供的、针对所述树状结构的多种运算方式进行匹配等,从而确定出需要针对所述树结构数据的树结构运算方式。
117.其中,所述多种运算方式可以包括上述的多种基本运算方式和多种扩展运算方式。
118.s203:基于所述树结构运算方式,对所述树结构数据进行运算处理。
119.该步骤中,在确定出所述树结构运算方式之后,就可以针对所述树结构数据,按照所述树结构运算方式进行运算处理。
120.下面将结合一些具体的运算方式,对本步骤进行说明。
121.具体的,在一种可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是对所述树结构数据的树状结构中第一叶子节点下的键值进行所述树结构运算方式下的运算处理。
122.其中,所述树结构运算方式包括针对所述第一叶子节点下所对应键值的子节点或者数值进行的查询、赋值和删除中的一种或者多种。
123.在具体处理过程中,如果确定出所述树结构运算方式对上述基本运算中的键查询,可以针对所述树结构中待查询的所述第一叶子节点下所对应键值的子节点或者数值进行查询,即查询所述第一叶子节点的键值对应的数值,和/或所述第一叶子节点的一个或者多个子节点的键值对应的数值。相应的,所述处理请求中包括的输入参数可以是待查询叶子节点的键名,如果所述第一叶子节点中包含输入的键名对应的键,则可以返回归属于此键的值对象或子节点对象,否则抛出异常。
124.如果确定出所述树结构运算方式为对上述基本运算中的键赋值,可以对所述树结构中所述第一叶子节点下所对应键值的子节点或者数值进行赋值,即设置所述第一叶子节点的键值对应的数值。相应的,所述处理请求中包括的输入参数可以包括针对待赋值的所述第一叶子节点的键名和待赋数值(待赋值的数据类型,即所述第一叶子节点的数据类型
可以为常规数值对象的值或者树结构数据对象中的子节点)。
125.如果确定出的所述树结构运算方式为上述基本运算中的键删除,可以删除所述树结构中所述第一叶子节点下所对应键值的子节点或者数值,即删除所述第一叶子节点的键值对应的数值,和/或所述第一叶子节点的一个或者多个子节点的键值对应的数值。相应的,所述处理请求中包括的输入参数可以是待删除的键名,如果所述第一叶子节点中包含输入的键名对应的键,则可以删除此键及此键的子节点,否则抛出异常。
126.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是对所述树结构数据进行以下运算处理中的一种或者多种:
127.检测所述树状结构中第二叶子节点下是否包括查询键名对应的键;获取所述树状结构中第三叶子节点下的键值对的数量;针对所述树状结构中第四叶子节点下的键值对进行遍历。
128.在具体处理过程中,如果确定出所述树结构运算方式对上述基本运算中的键判定,可以对所述树结构中所述第二叶子节点下的键和所述第二叶子节点的一个或者多个子节点下的键进行检测,以检测是否包括所输入的查询键名对应的键。相应的,所述处理请求中包括的输入参数可以是待检测键的键名,如果所述第二叶子节点及其的一个或者多个子节点下待检测键,则返回真,否则返回假。
129.如果确定出所述树结构运算方式为上述基本运算中的键计数,可以检测所述第三叶子节点下的键值对的数量,并返回检测出的数量。其中,所述树状结构中的叶子节点下可以包括有多个键值对。
130.如果确定出所述树结构运算方式为上述基本运算中的键遍历,可以遍历所述第四叶子节点下的全部直接连接的直接键值对的迭代器对象。
131.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是针对所述树结构数据的所述树状结构进行与所述树结构运算方式对应的函数式运算,所述函数式运算包括映射运算、筛选运算、归纳运算、编译运算和拷贝运算中的一种或者多种。
132.所述映射运算包括将所述树状结构中的一个或者多个叶子节点上的键值与目标数值进行计算,即将一个或者多个叶子节点上的键值通过一个映射函数(例如乘2)进行映射。
133.所述筛选运算包括将所述树状结构中不满足目标筛选条件的叶子节点删除。
134.所述归纳运算包括基于所述树状结构各叶子节点的层级关系和所述树结构运算方式对应的归纳函数,对所述树状结构中至少两层叶子层中的一个或者多个叶子节点进行逐层归纳计算,以得到最终归纳出的一个值。
135.其中,在所述数据处理系统提供有函数式工具时,可以让树结构数据能够进行函数式运算,即可以支持对所述树结构数据的映射运算、筛选运算和归纳运算。
136.所述编译运算包括对所述树状结构和/或所述树状结构中至少一个叶子节点下的键值以对应的数据格式进行编译和显示,例如将所述树状结构和/或所述树状结构中至少一个叶子节点下的键值以json格式导出,以供用户查看。
137.所述拷贝运算包括根据预设拷贝方式,对所述树状结构和/或所述树状结构中的叶子节点进行拷贝。其中,所述预设拷贝方式可以为用户自定义的拷贝函数。
138.其中,在所述数据处理系统提供有业务逻辑工具时,可以对树结构数据进行基本业务逻辑操作,即可以支持对所述树结构数据的编译运算和拷贝运算。
139.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是将所述树状结构中第五叶子节点上的数据结构下沉到所述第五叶子节点的子节点上。
140.其中,将数据结构下沉到所述第五叶子节点的子节点上,可以是将数据结构下沉到所述第五叶子节点的子节点,以及其子节点的子节点上。进一步的,所述第五叶子节点可以是所述树状结构中的父节点,也可以是某个叶子节点。
141.优选的,可以是只能够对所述树状结构中父节点的数据结构下沉到每个叶子节点中,即只有所述第五叶子节点为父节点时,才可以将数据结构下沉到所述五叶子节点下的每个子节点。
142.示例性的,请参阅图3,图3为本公开实施例中树结构数据的树状结构的示意图。如图3中所示,以树结构数据的树状结构包括四层叶子层为例,对于将数据结构下沉,可以从父节点a起,将父节点a的数据结构下沉到各个叶子节点中,或者只下沉到某层叶子层,例如至下沉到b层叶子层(包括b1、b3、b3),或者只下沉到c层叶子层(包括c1、c2、c3)。
143.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是将所述树状结构中第六叶子节点的至少一个子节点上的共有数据结构进行提取,并上升到所述第六叶子节点上。
144.其中,将共有的数据结构上升到所述第六叶子节点上,可以是针对所述第六叶子节点下的多个子节点中,属于同一层的多个子节点所共有的数据结构进行上升。
145.示例性的,如图3中所示的树状结构,在d1节点和d2节点有共有的数据结构时,可以上升到c1节点,在上升之后,如果c1节点和c2节点有共有的数据结构,可以进一步上升的b1节点,在再一次上升之后,如果b1节点、b2节点和b3节点有共有的数据结构,可以继续将共有的数据结构上升到a节点。
146.其中,在所述数据处理系统提供有树结构工具时,可以让树状结构基于树结构的基本性质进行变化,即可以支持对所述树状结构的结构上升运算和结构下沉运算。
147.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是将所述树状结构以及所述树状结构的信息以预设文件格式导出,得到对应的数据文件。
148.进一步的,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是接收导入的、所述树状结构的所述数据文件,并基于所述数据文件生成所述树状结构。
149.这样,可以导出预设文件格式的数据文件,例如以二进制数据格式的数据文件,可以实现对树结构数据的永久化保存以及再次载入。
150.具体的,在一些可能的实施方式中,基于所述树结构运算方式,对所述树结构数据进行运算处理,可以是将所述树状结构导出为可视化图像,以展示所述树状结构中的数据关系。
151.这样,可以让树状结构可以导出图像,以展示其内部数据关系。
152.在一些可能的实施方式中,所述方法还包括:
153.接收第一业务系统上传的业务数据;对所述业务数据进行树结构化处理,得到所
述业务数据对应的树结构业务数据;将所述树结构业务数据存储于所述系统中。
154.该步骤中,为了便于对上传的业务数据的管理,以及使得业务数据能够适配所述数据处理系统,可以通过上述的树化装饰函数对所述业务数据进行树结构化处理,以实现树结构封装,得到所述业务数据对应的树结构业务数据,进而可以将得到的所述树结构业务数据存储于所述数据处理系统中,作为所述树结构数据,可以支持上述的各种运算和处理,在与第一业务系统实现对接后,可以接收所述业务员系统上传的业务数据。
155.在一些可能的实施方式中,所述方法还包括:
156.获取第二业务系统中的运算函数;对所述运算函数进行树结构化处理,使得处理后的所述运算函数能够支持树结构运算,并将所述运算函数中的变量变换为所述树状结构表示的树结构变量数据。
157.该步骤中,除了可以将数据封装为所述树结构数据,对于第二业务系统中的运算函数,也可以通过上述的树化装饰函数对所述业务数据运算函数进行树结构化处理,以实现树结构封装,以将所述运算函数中的变量变换为所述树状结构表示的树结构变量数据,处理后的所述运算函数能够支持树结构运算。
158.在一些可能的实施方式中,所述方法还包括:
159.获取所述系统中目标参数的目标值;检测所述目标业务参数的数据类型,所述数据类型包括树状结构表示的树结构数据对象和常规数值对象;若所述目标业务参数的数据类型为常规数值对象,将所述目标值输入至所述目标业务参数对应的业务函数中进行处理,得到处理后的结果值。
160.该步骤中,在用户想要对所述树结构数据进行处理时,可以输入针对所述树结构数据的树状结构中目标叶子节点的目标参数的目标值,由于不同叶子节点中参数的类型不同,因此需要检测目标业务参数的数据类型,如果所述目标业务参数的数据类型为常规数值对象,将直接将所述目标值输入至所述目标业务参数对应的业务函数中,将获取到的业务函数返回的结果值作为返回结果。
161.其中,所述数据类型包括树状结构表示的树结构数据对象和常规数值对象。所述常规数值对象可以包括例如全部的python对象,例如int、str、float,以及torch库里的tensor对象等。
162.进一步的,所述方法还包括:
163.若所述目标业务参数的数据类型为树结构数据对象,确定所述目标业务参数对应的结果树结构数据,根据所述结果树结构数据的树状结构下的多个节点,逐个获取每个节点上的值,并将获取的多个值和所述目标值输入至所述结果树结构数据对应的业务函数中,得到所述结果树结构数据对应的结果值
164.这里,在检测到所述目标业务参数的数据类型为树结构数据对象的情况下,可以根据所述目标参数的相关信息,可以通过查找等方式确定出所述目标业务参数对应的结果树结构数据,即是所述数据处理系统中存储的哪个树结构数据,然后对于查询到的所述结果树结构数据,可以逐个获取其树状结构上每个节点上的值,然后将值和所述目标值输入至所述结果树结构数据对应的业务函数中,得到所述结果树结构数据对应的结果值。
165.本公开实施例提供的数据处理方法,能够针对数据处理系统中具有树状结构的树结构数据进行处理,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节
点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值,处理时能够通过接收针对所述系统中所述树结构数据的处理请求;基于所述处理请求,确定针对所述树结构数据的树结构运算方式;基于所述树结构运算方式,对所述树结构数据进行运算处理。
166.这样,通过统一的树状结构表示数据,可以简化数据逻辑,将数据和数据的业务逻辑分离设计,实现简单有效的数据管理和数据计算等,并且对于开发人员来讲,有利于开发人员通过树状结构快速搭建计算逻辑,有助于减少工作量和降低计算逻辑的复杂度。
167.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
168.基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
169.请参阅图4至图5,图4为本公开实施例提供的一种数据处理装置的示意图之一,图5为本公开实施例提供的一种数据处理装置的示意图之二。本公开实施例提供的数据处理装置,应用于上述的数据处理系统,所述数据处理装置可以与所述数据处理系统为不同名称下的相同装置,所述数据处理装置也可以是所述数据处理系统的一分部,耦合在所述数据处理系统中,所述数据处理装置中的模块与所述数据处理系统中对应功能的层可以耦合在一起,共同实现同一功能,所述系统存储具有树状结构的树结构数据,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值。
170.如图4中所示,所述数据处理装置400包括:
171.请求接收模块410,用于接收针对所述系统中所述树结构数据的处理请求。
172.运算方式确定模块420,用于基于所述处理请求,确定针对所述树结构数据的树结构运算方式。
173.第一运算处理模块430,用于基于所述树结构运算方式,对所述树结构数据进行运算处理。
174.一种可选的实施方式中,如图5中所示,所述数据处理装置400还包括第一结构化模块440,所述第一结构化模块440用于:
175.接收第一业务系统上传的业务数据;
176.对所述业务数据进行树结构化处理,得到所述业务数据对应的树结构业务数据;
177.将所述树结构业务数据存储于所述系统中。
178.一种可选的实施方式中,如图5中所示,所述数据处理装置400还包括第二结构化模块450,所述第二结构化模块450用于:
179.获取第二业务系统中的运算函数;
180.对所述运算函数进行树结构化处理,使得处理后的所述运算函数能够支持树结构运算,并将所述运算函数中的变量变换为所述树状结构表示的树结构变量数据。
181.一种可选的实施方式中,如图5中所示,所述装置还包括第二运算处理模块460,所述第二运算处理模块460用于:
182.获取所述系统中目标参数的目标值;
183.检测所述目标业务参数的数据类型,所述数据类型包括树状结构表示的树结构数据对象和常规数值对象;
184.若所述目标业务参数的数据类型为常规数值对象,将所述目标值输入至所述目标业务参数对应的业务函数中进行处理,得到处理后的结果值。
185.一种可选的实施方式中,所述第二运算处理模块460还用于:
186.若所述目标业务参数的数据类型为树结构数据对象,确定所述目标业务参数对应的结果树结构数据,根据所述结果树结构数据的树状结构下的多个节点,逐个获取每个节点上的值,并将获取的多个值和所述目标值输入至所述结果树结构数据对应的业务函数中,得到所述结果树结构数据对应的结果值。
187.一种可选的实施方式中,所述第一运算处理模块430具体用于:
188.对所述树结构数据的树状结构中第一叶子节点下的键值进行所述树结构运算方式下的运算处理,所述树结构运算方式包括针对所述第一叶子节点下所对应键值的子节点或者数值进行的查询、赋值和删除中的一种或者多种。
189.一种可选的实施方式中,所述第一运算处理模块430具体用于:
190.对所述树结构数据进行以下运算处理中的一种或者多种:
191.检测所述树状结构中第二叶子节点下是否包括查询键名对应的键;获取所述树状结构中第三叶子节点下的键值对的数量;针对所述树状结构中第四叶子节点下的键值对进行遍历。
192.一种可选的实施方式中,所述第一运算处理模块430具体用于:
193.针对所述树结构数据的所述树状结构进行与所述树结构运算方式对应的函数式运算,所述函数式运算包括映射运算、筛选运算、归纳运算、编译运算和拷贝运算中的一种或者多种;
194.所述映射运算包括将所述树状结构中的一个或者多个叶子节点上的键值与目标数值进行计算;
195.所述筛选运算包括将所述树状结构中不满足目标筛选条件的叶子节点删除;
196.所述归纳运算包括基于所述树状结构各叶子节点的层级关系和所述树结构运算方式对应的归纳函数,对所述树状结构中至少两层叶子层中的一个或者多个叶子节点进行逐层归纳计算;
197.所述编译运算包括对所述树状结构和/或所述树状结构中至少一个叶子节点下的键值以对应的数据格式进行编译和显示,以供用户查看;
198.所述拷贝运算包括根据预设拷贝方式,对所述树状结构和/或者所述树状结构中的叶子节点进行拷贝。
199.一种可选的实施方式中,所述第一运算处理模块430具体用于:
200.将所述树状结构中第五叶子节点上的数据结构下沉到所述第五叶子节点的子节点上;和/或
201.将所述树状结构中第六叶子节点的至少一个子节点上的共有数据结构进行提取,并上升到所述第六叶子节点上。
202.一种可选的实施方式中,所述第一运算处理模块430具体用于:
203.将所述树状结构以及所述树状结构的信息以预设文件格式导出,得到对应的数据文件;和/或
204.接收导入的、所述树状结构的所述数据文件,并基于所述数据文件生成所述树状结构;
205.所述树状结构的信息包括所述树状结构的类型信息、结构信息和各节点下的数据信息中的一种或者多种。
206.一种可选的实施方式中,所述第一运算处理模块430具体用于:
207.将所述树状结构导出为可视化图像,以展示所述树状结构中的数据关系。
208.本公开实施例提供的数据处理装置,能够针对数据处理系统中具有树状结构的树结构数据进行处理,所述树状结构包括至少一层叶子层,所述叶子层包括至少一个叶子节点,所述叶子节点对应的数据为键值对映射结构的数据,所述键值对映射结构包括键的键名和键的键值,处理时能够通过接收针对所述系统中所述树结构数据的处理请求;基于所述处理请求,确定针对所述树结构数据的树结构运算方式;基于所述树结构运算方式,对所述树结构数据进行运算处理。
209.这样,通过统一的树状结构表示数据,可以简化数据逻辑,将数据和数据的业务逻辑分离设计,实现简单有效的数据管理和数据计算等,并且对于开发人员来讲,有利于开发人员通过树状结构快速搭建计算逻辑,有助于减少工作量和降低计算逻辑的复杂度。
210.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
211.对应于图2中的数据处理方法,本公开实施例还提供了一种计算机设备600,如图6所示,为本公开实施例提供的计算机设备600的示意图,包括:
212.处理器610、存储器620、和总线630;存储器620用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器610中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器610通过内存621与外部存储器622进行数据交换,当所述计算机设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时执行上述图2所示的方法实施例中所述的数据处理方法的步骤。
213.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
214.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
215.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
216.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开
所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
217.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
218.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
219.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
220.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献