当前位置: 首页 > 专利查询>伊姆西公司专利>正文

将复杂结构对象转换成平面化数据制造技术

技术编号:15060179 阅读:42 留言:0更新日期:2017-04-06 09:49
本发明专利技术的各实施方式总体上涉及将复杂结构对象转换成平面化数据。具体地,各示例涉及将复杂结构属性转换成平面化数据。配置捕获组件分析与复杂结构属性集相关联的对象集。复杂结构属性是其是数组属性或嵌套对象属性的对象属性。配置捕获组件执行散列类型转换以将嵌套对象属性转换成平面化数据。配置捕获组件执行数组类型转换以将嵌套数组属性转换成平面化数据。平面化数据被存储或导入在平面化数据文件集中。展开组件将平面化数据文件转换回复杂结构属性,而不丢失或损坏复杂结构数据。

【技术实现步骤摘要】

本专利技术的各实施方式总体上涉及计算机领域,具体地涉及将复杂结构对象转换成平面化数据。
技术介绍
表示性状态传送(REST)对象是具有一个或多个属性的对象。属性是名称和值对。值可以是诸如字符串、数字、布尔值或空值之类的简单结构属性。例如,简单结构属性可以包括属性名称“id”以及简单字符串值“pool_6”。然而,复杂结构属性的值可以是嵌套数组或嵌套对象。数组是值的有序集合。对象是名称和值对的无序集。嵌套数组可以包括另一嵌套数组和/或嵌套对象作为嵌套数组的子属性。同样地,嵌套对象自身可以包括另一嵌套对象或嵌套数组作为嵌套对象的子属性。换言之,嵌套对象和嵌套数组是包括一个或多个其它属性嵌入在其内的属性。简单结构属性被容易地映射成诸如逗号分隔值(CSV)文件之类的平面数据文件。然而,映射组件经常不能处理复杂结构属性。在这种情况下,数组和嵌套对象被简单地忽略,从而导致数据丢失和不准确的结果。在其它情况下,通过将数组中的值展开为若干行并且还将其它属性的值复制到新行中,来处理数组属性。当数组长度较大或者对象具有许多其它属性时,这一方法导致大小快速增长的CSV文件。所产生的极大的文件大小是难管理的和不切实际的。而且,在对象中包含不只一个数组类型的属性的情况下,可伸缩性是差的。以平面化方式准确地映射复杂结构属性,而无数据丢失、数据损坏或者难管理的大数据文件,嵌套分层结构通常使得这变得不切实际或不可能。
技术实现思路
本公开的示例提供将复杂结构属性转换成平面化数据。在示例中,配置捕获组件分析与第一计算设备相关联的配置数据。配置数据包括对象集。在标识与对象集相关联的简单结构属性集时,配置捕获组件将简单结构属性集映射成平面化数据文件集。在标识与对象集相关联的复杂结构属性集的条件下,配置捕获组件将复杂结构属性集转换为平面化属性数据。复杂结构属性集由嵌套对象集和数组属性集构成。配置捕获组件对嵌套对象属性集执行散列类型转换。配置捕获组件对数组属性集执行数组类型转换以生成平面化属性数据。配置捕获组件将平面化属性数据映射到平面化数据文件集,以创建第一计算设备的系统配置的快照。这一
技术实现思路
被提供为以简化形式引入下面在具体实施方式中进一步描述的概念的选择。这一
技术实现思路
不旨在于标识所要求保护的主题的关键特征或必要特征,其也不旨在用作确定所要求保护的主题的范围的帮助。附图说明图1是图示用于平面化配置捕获的复杂结构属性的系统的示例性框图。图2是图示与云存储系统相关联的用户设备的示例性框图。图3是图示服务器的示例性框图。图4是对象集的框图。图5是包括嵌套对象和数组属性的对象的框图。图6是平面化数据文件集的框图。图7是图示将简单结构对象映射成平面化数据文件的示例性框图。图8是图示将复杂结构嵌套对象转换成平面化数据文件的示例性框图。图9是图示对象属性内的嵌套数组子属性的示例性框图。图10是图示对应于嵌套数组子属性的子逗号分隔值(CSV)文件的示例性框图。图11是图示将包括两个嵌套对象子属性的复杂结构数组属性转换成平面化数据文件集的示例性框图。图12是图示表示嵌套数组属性的CSV文件集的示例性框图。图13是图示将包括复杂结构属性的对象集转换成平面化数据文件集的示例性流程图。图14是图示执行散列类型转换和数组类型转换的示例性流程图。图15是图示散列类型转换的示例性流程图。图16是图示数组类型转换的示例性流程图。图17是图示将平面化数据文件展开成与对象集相关联的复杂结构属性的示例性流程图。图18是图示将平面化数据文件展开成与对象集相关联的复杂结构属性的示例性流程图。贯穿附图,对应的附图标记指示对应的部分。具体实施方式本公开的一些方面提供创建计算设备的当前系统配置的快照的配置捕获组件。配置捕获组件接收来自计算设备的配置数据。配置数据包括对象集。对象包括一个或多个复杂结构属性。配置捕获组件将配置数据平面化成平面化数据文件集,以创建计算设备的配置的快照。在一些示例中,配置捕获组件能够以递归方式平面化包括一个或多个嵌套对象子属性和/或嵌套数组子属性的嵌套对象属性和嵌套数组属性两者,使得没有信息在配置捕获平面化数据处理期间丢失。这改善了整体的数据准确性、处理速度和存储器使用。在一些示例中,散列类型转换组件使得能够以空间高效的方式将嵌套对象转换成平面化数据而无数据丢失。散列类型转换不会引入额外的空间以将嵌套对象的属性保存到数据库或其它数据存储。这实现了改善的速度和减少的存储器使用。在其它示例中,数组类型转换组件使用第一级平面化数据文件和第二级平面化数据文件来平面化数组属性。数组类型转换将一个额外的列添加到第一级平面化数据文件中,以保存标识嵌套数组的数组键。第一级平面化数据文件可以是(但不限于)逗号分隔值(CSV)文件。存储嵌套数组值的第二级平面化数据文件或者子CSV文件不要求额外的空间。这些平面化数据文件在消耗较少的存储器的数据库或其它数据存储中实现了复杂结构属性的较小的文件大小。在其它示例中,平面化数据被发送到一个或多个其它计算设备或者被存储在诸如数据库或其它数据结构之类的数据存储中。平面化数据容易导入、传输或存储。将复杂结构属性转换成平面化数据以存储数据节约了系统存储器,因为平面化数据要求较少的存储空间。在传输前将复杂结构属性转换为平面化数据还增加了数据传输速度并且降低了网络带宽使用(当将平面化数据发送到另一计算设备时)。其它方面提供展开组件,用于将平面化数据文件转换回复杂结构属性和简单结构属性。展开组件将平面化数据转换回键值对,以便以不会导致数据丢失的简单、高效和准确的方式对值进行计算。将平面化数据展开回复杂结构属性以用于分析的这一处理,通过准确地标识每个复杂结构属性和对应的值集而无错误、数据丢失或数据损坏,进一步改善了在转换处理期间的展开的复杂结构属性的准确性。再次参照图1,示例性框图图示用于将复杂结构属性平面化成平面化数据的系统。在图1的示例中,数据处理系统100表示用于平面化配置捕获的复杂结构对象的系统。在这一非限制性示例中,系统100包括服务器客户端网络。然而,本公开的方面不限于联网系统。计算设备102是执行计算机可执行程序代码104(例如,作为(多个)应用106、操作系统功能、或两者)以实现与计算设备102相关联的操作和功能的设备。计算机可执行程序代码104还可以被称为计算机可执行指令。在这一示例中,计算设备102是用于捕获另一计算机系统的配置的计算设备类型的。在一些示例中,计算设备102可以包括web服务器、应用服务器、文件服务器、后端服务器、云服务器、或任何其它类型的服务器。在其它示例中,计算设备102是与数据存储系统相关联的服务器。在又一些其它示例中,计算设备102可以表示处理单元或其它计算设备的组。在这一示例中,计算设备102包括一个或多个处理器108、与存储器设备124相关联的存储器区域110、以及至少一个用户接口组件112。(多个)处理器108包括任何数量的处理单元,并且被编程以执行计算机可执行程序代码104,以实现配置捕获组件118。计算机可执行程序代码104可以由(多个)处理器108或者由计算设备102内的多个处理器来执行,或者由计算设备102外部的处理器来执行。在一些示例中,(多个)处理器本文档来自技高网
...

【技术保护点】
一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:由与第二计算设备相关联的所述一个或多个处理器,分析与第一计算设备相关联的配置数据,所述配置数据包括对象集;在标识与所述对象集相关联的简单结构属性集的条件下,将所述简单结构属性集映射成平面化数据文件集;并且在标识与所述对象集相关联的复杂结构属性集的条件下,由配置捕获组件将所述复杂结构属性集转换为平面化属性数据,所述复杂结构属性集包括嵌套对象属性集和数组属性集,所述配置捕获组件对所述嵌套对象属性集执行散列类型转换并且对所述数组属性集执行数组类型转换以生成所述平面化属性数据;将所述平面化属性数据映射到所述平面化数据文件集,以创建所述第一计算设备的系统配置的快照。

【技术特征摘要】
1.一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:由与第二计算设备相关联的所述一个或多个处理器,分析与第一计算设备相关联的配置数据,所述配置数据包括对象集;在标识与所述对象集相关联的简单结构属性集的条件下,将所述简单结构属性集映射成平面化数据文件集;并且在标识与所述对象集相关联的复杂结构属性集的条件下,由配置捕获组件将所述复杂结构属性集转换为平面化属性数据,所述复杂结构属性集包括嵌套对象属性集和数组属性集,所述配置捕获组件对所述嵌套对象属性集执行散列类型转换并且对所述数组属性集执行数组类型转换以生成所述平面化属性数据;将所述平面化属性数据映射到所述平面化数据文件集,以创建所述第一计算设备的系统配置的快照。2.根据权利要求1所述的计算机实现的方法,其中所述第二计算设备是云服务器,并且所述方法进一步包括:由所述云服务器,经由因特网连接接收来自所述第一计算设备的所述配置数据,其中所述云服务器经由所述因特网连接将所述平面化数据文件集传输到与业务智能分析器相关联的第三计算设备以用于分析。3.根据权利要求1所述的计算机实现的方法,其中所述平面化数据文件集是第一平面化数据文件集,并且所述方法进一步包括:接收第二平面化数据文件集;并且将所述第二平面化数据文件集转换成具有复杂结构属性集的对象集。4.根据权利要求1所述的计算机实现的方法,进一步包括:经由表示性状态传送(REST)应用编程接口(API)接收响应集中的来自客户端的所述对象集,其中所述对象集进一步包括REST对
\t象集。5.根据权利要求1所述的计算机实现的方法,其中对所述数组属性集执行所述数组类型转换进一步包括:标识所述复杂结构属性集中的数组属性;生成所述平面化数据文件集中的第一级平面化数据文件和第二级平面化数据文件;向所述数组属性分配数组键;将所述数组键和所述数组属性的属性名称添加至所述第一级平面化数据文件;并且将所述数组键和与所述数组属性相关联的多个值添加到所述第二级平面化数据文件中。6.根据权利要求5所述的计算机实现的方法,其中与所述数组属性相关联的所述多个值包括嵌套数组子属性,并且所述方法进一步包括:生成所述平面化数据文件集中的与所述嵌套数组子属性对应的第三级平面化数据文件;向所述嵌套数组子属性分配嵌套数组键;将所述嵌套数组键添加至所述第二级平面化数据文件;并且将所述嵌套数组键和与所述嵌套数组子属性相关联的多个值添加至所述第三级平面化数据文件。7.根据权利要求1所述的计算机实现的方法,其中对所述嵌套对象属性集执行所述散列类型转换进一步包括:标识所述复杂结构属性集中的嵌套对象属性,其中所述嵌套对象属性包括子属性集和与所述子属性集相关联的值集;生成所述平面化数据文件集中的与所述嵌套对象属性对应的平面化数据文件;递归地处理所述子属性集中的每一个子属性,其中处理所述子属性集中的子属性包括:将所述嵌套对象属性的名称与所述子属性的名称联接以形
\t成联接子属性名称;将所述联接子属性名称添加至所述平面化数据文件的属性名称行;并且将与所述子属性对应的值添加至所述平面化数据文件的属性值行。8.根据权利要求7所述的计算机实现的方法,其中所述嵌套对象属性的子属性是用于形成嵌套数组的数组子属性,并且所述方法进一步包括:生成所述平面化数据文件集中的与所述嵌套数组相关联的第一级平面化数据文件和第二级平面化数据文件;向所述嵌套数组分配嵌套数组键;将所述嵌套数组键和所述嵌套对象属性的名称添加至所述第一级平面化数据文件;并且将所述数组键和与所述嵌套数组相关联的多个值添加到所述第二级平面化数据文件中。9.一种计算设备,包括:一个或多个处理器;存储器,被耦合到所述一个或多个处理器,所述存储器存储配置捕获组件;以及应用编程接口(API),所述API被配置为接收来自客户端的数据,所述数据包括对象集,所述对象集包括复杂结构属性集,所述复杂结构属性集包括嵌套对象属性集,所述嵌套对象属性集中的嵌套对象属性包括至少一个子属性,所述一个或多个处理器执行所述配置捕...

【专利技术属性】
技术研发人员:吴绽青丁晶王友荣解玉洁郑颖妍毛智东
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1