掌桥专利:专业的专利平台
掌桥专利
首页

数据结构图生成及更新方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:18:04


数据结构图生成及更新方法、装置、电子设备及存储介质

技术领域

本发明涉及人工智能技术领域,具体涉及一种数据结构图生成及更新方法、装置、电子设备及存储介质。

背景技术

多个目标对象存在相互关系,针对资产管理中涉及到的目标对象的项目数据,往往数据结构复杂,存在交叉数据信息,及多层数据信息嵌套的情况,现有技术通过静态的数据结构图进行可视化展示。

然而,由于目标对象的项目数据情况会随项目进度发生较频繁变化,每发生一次变化,需要重新构建数据结构图,导致数据结构图生成及更新效率低。

因此,有必要提供一种可以快速准确的生成及更新数据结构图的方法。

发明内容

鉴于以上内容,有必要提出一种数据结构图生成及更新方法、装置、电子设备及存储介质,通过匹配到树形结构图中的对应节点的数据主键,更新树形结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性。

本发明的第一方面提供一种数据结构图生成及更新方法,所述方法包括:

响应于用户在浏览器展示界面发送的数据结构图生成请求,获取待生成数据和配置信息;

处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表;

基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图;

将所述树形结构图转换为JSON格式数据列表,并通过预设的接口将所述JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图;

当侦测所述浏览器界面的更新数据结构图指令时,响应于所述更新数据结构图指令更新所述数据结构图。

可选地,所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图包括:

根据所述JSON格式数据列表之间的关联关系,将所述JSON格式数据列表中的多个JSON格式数据转换为可视化样式匹配的多个渲染模型;

识别所述数据结构图生成请求中的目标可视化展示类型;

当所述目标可视化展示类型为从上到下展示时,调用渲染工具对所述多个渲染模型按照从上到下的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从底到上展示时,调用渲染工具对所述多个渲染模型按照从底到上的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从左到右展示时,调用渲染工具对所述多个渲染模型按照从左到右的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从右到左展示时,调用渲染工具对所述多个渲染模型按照从右到左的方式进行渲染,生成数据结构图。

可选地,所述响应于所述更新数据结构图指令更新所述数据结构图包括:

响应于所述更新数据结构图指令获取待更新类型和待更新数据;

当所述待更新类型为新增子节点时,解析所述待更新数据,获取所述新增子节点对应的父节点的数据主键;

在所述数据结构图对应的树形结构图中匹配与所述父节点的数据主键匹配的目标父节点,在所述目标父节点上新增子节点,刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

可选地,所述方法还包括:

当所述待更新类型为删除节点时,解析所述待更新数据,获取所述删除的节点的数据主键;

从所述数据结构图的树形结构图中匹配出与所述删除的节点的数据主键对应的节点,删除所述节点及与所述节点存在关联关系的所有分支的节点,并刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染。

可选地,所述方法还包括:

当所述待更新类型为替换节点时,解析所述待更新数据,获取所述替换节点的数据主键;

从所述数据结构图的树形结构图中匹配出与所述替换节点的数据主键对应的目标节点,替换所述目标节点,并刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染。

可选地,所述处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表包括:

按照预设的划分规则对所述待生成数据进行划分,得到每个目标对象的目标对象信息和数据信息;

对所述每个目标对象的目标对象信息进行第一预处理得到每个目标对象的第一数据,及所述每个目标对象的数据信息进行第二预处理得到每个目标对象的第二数据;

提取所述每个目标对象的第一数据中的多个第一关键字段,及提取所述每个目标对象的第二数据中的多个第二关键字段;

将所述每个目标对象的多个第一关键字段转换成预设类型的多个第一结构化数据,及将所述每个目标对象的多个第二关键字段转换成预设类型的多个第二结构化数据;

根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表。

可选地,所述基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图包括:

从所述多个目标对象的结构信息表及数据关联信息表中获取多个目标对象的数据主键;

随机选取一个目标对象的目标数据主键作为所述待生成数据的根节点;

计算剩余任意一个目标对象的数据主键与所述根节点处的目标目标对象的目标数据主键之间的长度差;

判断是否存在与所述长度差相同的目标数据主键;

当判断存在与所述长度差相同的目标数据主键时,将所述长度差相同的目标目标对象的目标数据主键作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点;

当判断不存在与所述长度差相同的目标数据主键时,将所述根节点作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点,其中,所述父节点处的目标目标对象的数据主键与对应的所述子节点处的每个目标对象的数据主键之间的长度差作为所述父节点和所述子节点之间的边的权重。

本发明的第二方面提供一种数据结构图生成及更新装置,所述装置包括:

获取模块,用于响应于用户在浏览器展示界面发送的数据结构图生成请求,获取待生成数据和配置信息;

处理模块,用于处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表;

创建模块,用于基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图;

转换模块,用于将所述树形结构图转换为JSON格式数据列表,并通过预设的接口将所述JSON格式数据列表导入至可视化渲染框架中;

生成模块,用于所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图;

更新模块,用于当侦测所述浏览器界面的更新数据结构图指令时,响应于所述更新数据结构图指令更新所述数据结构图。

本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据结构图生成及更新方法。

本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据结构图生成及更新方法。

综上所述,本发明所述的数据结构图生成及更新方法、装置、电子设备及存储介质,一方面,通过将所述树形结构图转换为JSON格式数据列表,根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图,在进行数据结构图更新时,只需要匹配到数据结构图对应的树形结构图中的对应节点的数据主键,更新树形结构图进行渲染,生成新的数据结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性;另一方面,基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图,所述树形结构图通过多个目标对象的结构信息表及数据关联信息表之间的关联关系创建,通过创建树形结构图,可以确保多个目标对象之间的关联关系的准确率,进而提高后续生成的数据结构图的准确率;最后,处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表,根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表,避免了无用信息的干扰,减少数据数量,进而提高了后续生成的数据结构图的准确率。

附图说明

图1是本发明实施例一提供的数据结构图生成及更新方法的流程图。

图2是本发明实施例二提供的数据结构图生成及更新装置的结构图。

图3是本发明实施例三提供的电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一

图1是本发明实施例一提供的数据结构图生成及更新方法的流程图。

在本实施例中,所述数据结构图生成及更新方法可以应用于电子设备中,对于需要进行数据结构图生成及更新的电子设备,可以直接在电子设备上集成本发明的方法所提供的数据结构图生成及更新的功能,或者以软件开发工具包(Software Development Kit,SDK)的形式运行在电子设备中。

如图1所示,所述数据结构图生成及更新方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

S11,响应于用户在浏览器展示界面发送的数据结构图生成请求,获取待生成数据和配置信息。

本实施例中,用户在进行数据结构图生成时,通过客户端发起数据结构图生成请求至服务端,具体地,所述客户端可以是智能手机、IPAD或者其他现有智能设备,所述服务端可以为数据结构图生成子系统,在数据结构图生成过程中,如所述客户端可以向数据结构图生成子系统发送数据结构图生成请求,所述数据结构图生成子系统用于接收所述客户端发送的数据结构图生成请求,并响应于所述数据结构图生成请求,获取待生成数据及配置信息,具体的,所述待生成数据中包含有数据结构图生成所需的所有数据,所述配置信息可以包括用户的需求及后续渲染数据结构图的设置条件。

本实施例中,所述数据结构图可以为股权结构图,目标对象可以所述股权结构图中的多个公司。

S12,处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表。

本实施例中,所述结构信息表中包含有目标对象编号、目标对象名称、法人代表、统一社会信用代码、注册资本、数据类型、数据主键等信息。

所述数据关联信息表中包含有数据主键、数据编号、目标对象编号、数据比例、有效标识、创建时间及修改时间等信息。

在一个可选的实施例中,所述处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表包括:

按照预设的划分规则对所述待生成数据进行划分,得到每个目标对象的目标对象信息和数据信息;

对所述每个目标对象的目标对象信息进行第一预处理得到每个目标对象的第一数据,及所述每个目标对象的数据信息进行第二预处理得到每个目标对象的第二数据;

提取所述每个目标对象的第一数据中的多个第一关键字段,及提取所述每个目标对象的第二数据中的多个第二关键字段;

将所述每个目标对象的多个第一关键字段转换成预设类型的多个第一结构化数据,及将所述每个目标对象的多个第二关键字段转换成预设类型的多个第二结构化数据;

根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表。

本实施例中,可以预先设置划分规则,具体地,所述预设的划分规则根据目标对象信息的特征属性和数据信息的特征属性进行设置,根据每个目标对象的目标对象信息的特征属性和数据信息的特征属性对所述待生成数据进行划分,得到每个目标对象的目标对象信息和数据信息。

本实施例中,第一预处理包括按照预设的第一清洗规则对每个目标对象的目标对象信息进行清洗后,及按照预设的第一过滤规则对清洗后的每个目标对象的目标对象信息进行过滤;第二预处理包括按照预设的第二清洗规则对每个目标对象的数据信息进行清洗,及按照预设的第二过滤规则对清洗后的每个目标对象的数据信息进行过滤。

本实施例中,可以预先设置第一结构化数据的数据类型,及可以预先设置第二结构化数据的数据类型,具体地,所述预设类型的第一结构化数据根据对应目标对象的目标对象信息的结构进行设置,及所述预设类型的第二结构化数据根据对应目标对象的数据信息的结构进行设置。

本实施例中,根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表,避免了无用信息的干扰,减少数据数量,进而提高了后续生成的数据结构图的准确率。

S13,基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图。

在一个可选的实施例中,所述基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图包括:

从所述多个目标对象的结构信息表及数据关联信息表中获取多个目标对象的数据主键;

随机选取一个目标对象的目标数据主键作为所述待生成数据的根节点;

计算剩余任意一个目标对象的数据主键与所述根节点处的目标目标对象的目标数据主键之间的长度差;

判断是否存在与所述长度差相同的目标数据主键;

当判断存在与所述长度差相同的目标数据主键时,将所述长度差相同的目标目标对象的目标数据主键作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点;

当判断不存在与所述长度差相同的目标数据主键时,将所述根节点作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点,其中,所述父节点处的目标目标对象的数据主键与对应的所述子节点处的每个目标对象的数据主键之间的长度差作为所述父节点和所述子节点之间的边的权重。

本实施例中,所述树形结构图通过多个目标对象的结构信息表及数据关联信息表之间的关联关系创建,通过创建树形结构图,可以确保多个目标对象之间的关联关系的准确率,进而提高后续生成的数据结构图的准确率。

S14,将所述树形结构图转换为JSON格式数据列表,并通过预设的接口将所述JSON格式数据列表导入至可视化渲染框架中。

本实施例中,JSON格式数据易于机器解析和生成,并且便于用户阅读和编写,将所述树形结构图转换为目标JSON格式数据,在发生数据数据变更时,便于后续数据数据变更编写。

本实施例中,可视化渲染框架内封装有一套完整的实现流程,可以实现数据的渲染,并向外暴露预设的接口,将所述目标JSON格式数据通过所述预设的接口导入所述可视化渲染框架中,其中,所述预设的接口可以为IOC接口。

在一个可选的实施例中,所述将所述树形结构图转换为JSON格式数据列表包括:

解析所述树形结构图,得到多个节点的节点内容;

按照预设的转换格式将每个所述节点的节点内容转换为一个JSON格式数据;

根据所述树形结构图的各个节点之间的关联关系对多个JSON格式数据进行排列,得到JSON格式数据列表。

本实施例中,通过根据树形结构图的各个节点之间的关联关系对多个JSON格式数据进行排列,确保了数据结构图的关联关系的准确性,提高了后续生成的数据结构图的准确率。

S15,所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图。

本实施例中,所述配置信息可以包括:渲染过程中数据结构图中的节点是否可以拖动、鼠标是否滚动控制数据结构图的大小、每个目标对象是否有编辑图标等其他影响渲染效果的配置信息。

在一个可选的实施例中,所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图包括:

根据所述JSON格式数据列表之间的关联关系,将所述JSON格式数据列表中的多个JSON格式数据转换为可视化样式匹配的多个渲染模型;

识别所述数据结构图生成请求中的目标可视化展示类型;

当所述目标可视化展示类型为从上到下展示时,调用渲染工具对所述多个渲染模型按照从上到下的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从底到上展示时,调用渲染工具对所述多个渲染模型按照从底到上的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从左到右展示时,调用渲染工具对所述多个渲染模型按照从左到右的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从右到左展示时,调用渲染工具对所述多个渲染模型按照从右到左的方式进行渲染,生成数据结构图。

本实施例中,通过识别所述数据结构图生成请求中的目标可视化展示方式的展示类型,具体地,所述目标可视化展示类型是用户设置的,根据用户设置的目标可视化展示类型进行渲染,得到数据结构图,满足了定制化的需求,提高了数据结构图的使用率。

在其他一些实施例中,用户可以设置多种目标可视化展示类型,并根据所述多种目标可视化展示类型同时进行渲染,得到不同展示类型的数据结构图,提高了生成的数据结构图的多样性。

进一步地,所述方法还包括:

将所述数据结构图返回至浏览器展示界面,并在所述浏览器展示界面按照预设的展示方式展示所述数据结构图。

本实施例中,可以预先设置展示方式,具体地,当存在多个数据结构图时,所述预设的展示方式可以设置一个一个展示,也可以同时展示,或者,按照预设的展示形状进行展示。

S16,当侦测所述浏览器界面的更新数据结构图指令时,响应于所述更新数据结构图指令更新所述数据结构图。

在一个可选的实施例中,所述响应于所述更新数据结构图指令更新所述数据结构图包括:

响应于所述更新数据结构图指令获取待更新类型和待更新数据;

当所述待更新类型为新增子节点时,解析所述待更新数据,获取所述新增子节点对应的父节点的数据主键;

在所述数据结构图对应的树形结构图中匹配与所述父节点的数据主键匹配的目标父节点,在所述目标父节点上新增子节点,刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

进一步地,所述方法还包括:

当所述待更新类型为删除节点时,解析所述待更新数据,获取所述删除的节点的数据主键;

从所述数据结构图的树形结构图中匹配出与所述删除的节点的数据主键对应的节点,删除所述节点及与所述节点存在关联关系的所有分支的节点,并刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

进一步地,所述方法还包括:

当所述待更新类型为替换节点时,解析所述待更新数据,获取所述替换节点的数据主键;

从所述数据结构图的树形结构图中匹配出与所述替换节点的数据主键对应的目标节点,替换所述目标节点,并刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

本实施例中,在进行数据结构图更新时,只需要匹配到数据结构图对应的树形结构图中的对应节点的数据主键,更新树形结构图进行渲染,生成新的数据结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性。并且每一次数据结构图中的节点变换都会保留痕迹,实现了数据结构变动历史可追溯,可恢复不同时间段的数据结构图。

在其他一些可选的实施例中,还可以支持拖拽修改树形结构图中的节点,提高了更新效率。

综上所述,本实施例所述的数据结构图生成及更新方法,一方面,通过将所述树形结构图转换为JSON格式数据列表,根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图,在进行数据结构图更新时,只需要匹配到数据结构图对应的树形结构图中的对应节点的数据主键,更新树形结构图进行渲染,生成新的数据结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性;另一方面,基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图,所述树形结构图通过多个目标对象的结构信息表及数据关联信息表之间的关联关系创建,通过创建树形结构图,可以确保多个目标对象之间的关联关系的准确率,进而提高后续生成的数据结构图的准确率;最后,处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表,根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表,避免了无用信息的干扰,减少数据数量,进而提高了后续生成的数据结构图的准确率。

实施例二

图2是本发明实施例二提供的数据结构图生成及更新装置的结构图。

在一些实施例中,所述数据结构图生成及更新装置20可以包括多个由程序代码段所组成的功能模块。所述数据结构图生成及更新装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)数据结构图生成及更新的功能。

本实施例中,所述数据结构图生成及更新装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、处理模块202、创建模块203、转换模块204、生成模块205、展示模块206及更新模块207。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。

获取模块201,用于响应于用户在浏览器展示界面发送的数据结构图生成请求,获取待生成数据和配置信息。

本实施例中,用户在进行数据结构图生成时,通过客户端发起数据结构图生成请求至服务端,具体地,所述客户端可以是智能手机、IPAD或者其他现有智能设备,所述服务端可以为数据结构图生成子系统,在数据结构图生成过程中,如所述客户端可以向数据结构图生成子系统发送数据结构图生成请求,所述数据结构图生成子系统用于接收所述客户端发送的数据结构图生成请求,并响应于所述数据结构图生成请求,获取待生成数据及配置信息,具体的,所述待生成数据中包含有数据结构图生成所需的所有数据,所述配置信息可以包括用户的需求及后续渲染数据结构图的设置条件。

本实施例中,所述数据结构图可以为股权结构图,目标对象可以所述股权结构图中的多个公司。

处理模块202,用于处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表。

本实施例中,所述结构信息表中包含有目标对象编号、目标对象名称、法人代表、统一社会信用代码、注册资本、数据类型、数据主键等信息。

所述数据关联信息表中包含有数据主键、数据编号、目标对象编号、数据比例、有效标识、创建时间及修改时间等信息。

在一个可选的实施例中,所述处理模块202处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表包括:

按照预设的划分规则对所述待生成数据进行划分,得到每个目标对象的目标对象信息和数据信息;

对所述每个目标对象的目标对象信息进行第一预处理得到每个目标对象的第一数据,及所述每个目标对象的数据信息进行第二预处理得到每个目标对象的第二数据;

提取所述每个目标对象的第一数据中的多个第一关键字段,及提取所述每个目标对象的第二数据中的多个第二关键字段;

将所述每个目标对象的多个第一关键字段转换成预设类型的多个第一结构化数据,及将所述每个目标对象的多个第二关键字段转换成预设类型的多个第二结构化数据;

根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表。

本实施例中,可以预先设置划分规则,具体地,所述预设的划分规则根据目标对象信息的特征属性和数据信息的特征属性进行设置,根据每个目标对象的目标对象信息的特征属性和数据信息的特征属性对所述待生成数据进行划分,得到每个目标对象的目标对象信息和数据信息。

本实施例中,第一预处理包括按照预设的第一清洗规则对每个目标对象的目标对象信息进行清洗后,及按照预设的第一过滤规则对清洗后的每个目标对象的目标对象信息进行过滤;第二预处理包括按照预设的第二清洗规则对每个目标对象的数据信息进行清洗,及按照预设的第二过滤规则对清洗后的每个目标对象的数据信息进行过滤。

本实施例中,可以预先设置第一结构化数据的数据类型,及可以预先设置第二结构化数据的数据类型,具体地,所述预设类型的第一结构化数据根据对应目标对象的目标对象信息的结构进行设置,及所述预设类型的第二结构化数据根据对应目标对象的数据信息的结构进行设置。

本实施例中,根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表,避免了无用信息的干扰,减少数据数量,进而提高了后续生成的数据结构图的准确率。

创建模块203,用于基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图。

在一个可选的实施例中,所述创建模块203基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图包括:

从所述多个目标对象的结构信息表及数据关联信息表中获取多个目标对象的数据主键;

随机选取一个目标对象的目标数据主键作为所述待生成数据的根节点;

计算剩余任意一个目标对象的数据主键与所述根节点处的目标目标对象的目标数据主键之间的长度差;

判断是否存在与所述长度差相同的目标数据主键;

当判断存在与所述长度差相同的目标数据主键时,将所述长度差相同的目标目标对象的目标数据主键作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点;

当判断不存在与所述长度差相同的目标数据主键时,将所述根节点作为父节点,并将所述剩余目标对象的数据主键作为所述父节点的子节点,其中,所述父节点处的目标目标对象的数据主键与对应的所述子节点处的每个目标对象的数据主键之间的长度差作为所述父节点和所述子节点之间的边的权重。

本实施例中,所述树形结构图通过多个目标对象的结构信息表及数据关联信息表之间的关联关系创建,通过创建树形结构图,可以确保多个目标对象之间的关联关系的准确率,进而提高后续生成的数据结构图的准确率。

转换模块204,用于将所述树形结构图转换为JSON格式数据列表,并通过预设的接口将所述JSON格式数据列表导入至可视化渲染框架中。

本实施例中,JSON格式数据易于机器解析和生成,并且便于用户阅读和编写,将所述树形结构图转换为目标JSON格式数据,在发生数据数据变更时,便于后续数据数据变更编写。

本实施例中,可视化渲染框架内封装有一套完整的实现流程,可以实现数据的渲染,并向外暴露预设的接口,将所述目标JSON格式数据通过所述预设的接口导入所述可视化渲染框架中,其中,所述预设的接口可以为IOC接口。

在一个可选的实施例中,所述转换模块204将所述树形结构图转换为JSON格式数据列表包括:

解析所述树形结构图,得到多个节点的节点内容;

按照预设的转换格式将每个所述节点的节点内容转换为一个JSON格式数据;

根据所述树形结构图的各个节点之间的关联关系对多个JSON格式数据进行排列,得到JSON格式数据列表。

本实施例中,通过根据树形结构图的各个节点之间的关联关系对多个JSON格式数据进行排列,确保了数据结构图的关联关系的准确性,提高了后续生成的数据结构图的准确率。

生成模块205,用于所述可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图。

本实施例中,所述配置信息可以包括:渲染过程中数据结构图中的节点是否可以拖动、鼠标是否滚动控制数据结构图的大小、每个目标对象是否有编辑图标等其他影响渲染效果的配置信息。

在一个可选的实施例中,所述生成模块205可视化渲染框架根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图包括:

根据所述JSON格式数据列表之间的关联关系,将所述JSON格式数据列表中的多个JSON格式数据转换为可视化样式匹配的多个渲染模型;

识别所述数据结构图生成请求中的目标可视化展示类型;

当所述目标可视化展示类型为从上到下展示时,调用渲染工具对所述多个渲染模型按照从上到下的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从底到上展示时,调用渲染工具对所述多个渲染模型按照从底到上的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从左到右展示时,调用渲染工具对所述多个渲染模型按照从左到右的方式进行渲染,生成数据结构图;或者

当所述目标可视化展示类型为从右到左展示时,调用渲染工具对所述多个渲染模型按照从右到左的方式进行渲染,生成数据结构图。

本实施例中,通过识别所述数据结构图生成请求中的目标可视化展示方式的展示类型,具体地,所述目标可视化展示类型是用户设置的,根据用户设置的目标可视化展示类型进行渲染,得到数据结构图,满足了定制化的需求,提高了数据结构图的使用率。

在其他一些实施例中,用户可以设置多种目标可视化展示类型,并根据所述多种目标可视化展示类型同时进行渲染,得到不同展示类型的数据结构图,提高了生成的数据结构图的多样性。

进一步地,展示模块206,用于将所述数据结构图返回至浏览器展示界面,并在所述浏览器展示界面按照预设的展示方式展示所述数据结构图。

本实施例中,可以预先设置展示方式,具体地,当存在多个数据结构图时,所述预设的展示方式可以设置一个一个展示,也可以同时展示,或者,按照预设的展示形状进行展示。

更新模块207,用于当侦测所述浏览器界面的更新数据结构图指令时,响应于所述更新数据结构图指令更新所述数据结构图。

在一个可选的实施例中,所述更新模块207响应于所述更新数据结构图指令更新所述数据结构图包括:

响应于所述更新数据结构图指令获取待更新类型和待更新数据;

当所述待更新类型为新增子节点时,解析所述待更新数据,获取所述新增子节点对应的父节点的数据主键;

在所述数据结构图对应的树形结构图中匹配与所述父节点的数据主键匹配的目标父节点,在所述目标父节点上新增子节点,刷新所述树形结构图生成新的树形结构图;

将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;

所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

进一步地,所述更新模块207,还用于当所述待更新类型为删除节点时,解析所述待更新数据,获取所述删除的节点的数据主键;从所述数据结构图的树形结构图中匹配出与所述删除的节点的数据主键对应的节点,删除所述节点及与所述节点存在关联关系的所有分支的节点,并刷新所述树形结构图生成新的树形结构图;将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

进一步地,所述更新模块207,还用于当所述待更新类型为替换节点时,解析所述待更新数据,获取所述替换节点的数据主键;从所述数据结构图的树形结构图中匹配出与所述替换节点的数据主键对应的目标节点,替换所述目标节点,并刷新所述树形结构图生成新的树形结构图;将所述新的树形结构图转换为目标JSON格式数据列表,并通过预设的接口将所述目标JSON格式数据列表导入至可视化渲染框架中;所述可视化渲染框架根据所述配置信息对所述目标JSON格式数据列表中的JSON格式数据进行二次渲染,生成新的数据结构图。

本实施例中,在进行数据结构图更新时,只需要匹配到数据结构图对应的树形结构图中的对应节点的数据主键,更新树形结构图进行渲染,生成新的数据结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性。并且每一次数据结构图中的节点变换都会保留痕迹,实现了数据结构变动历史可追溯,可恢复不同时间段的数据结构图。

在其他一些可选的实施例中,还可以支持拖拽修改树形结构图中的节点,提高了更新效率。

综上所述,本实施例所述的数据结构图生成及更新装置,一方面,通过将所述树形结构图转换为JSON格式数据列表,根据所述配置信息对所述JSON格式数据列表中的JSON格式数据进行渲染,生成数据结构图,在进行数据结构图更新时,只需要匹配到数据结构图对应的树形结构图中的对应节点的数据主键,更新树形结构图进行渲染,生成新的数据结构图,无需重新构建数据结构图,提高了数据结构图的更新效率及灵活性;另一方面,基于多个目标对象的结构信息表及数据关联信息表,创建树形结构图,所述树形结构图通过多个目标对象的结构信息表及数据关联信息表之间的关联关系创建,通过创建树形结构图,可以确保多个目标对象之间的关联关系的准确率,进而提高后续生成的数据结构图的准确率;最后,处理所述待生成数据,生成每个目标对象的结构信息表及数据关联信息表,根据所述每个目标对象的多个第一结构化数据生成每个目标对象的结构信息表,及根据所述每个目标对象的多个第二结构化数据生成每个目标对象的数据关联信息表,避免了无用信息的干扰,减少数据数量,进而提高了后续生成的数据结构图的准确率。

实施例三

参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。

本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。

需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。

在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的数据结构图生成及更新装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(Control Unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。

在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。

尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。

在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的数据结构图生成及更新装置20)、程序代码等,例如,上述的各个模块。

所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到数据结构图生成及更新的目的。

示例性的,所述程序代码可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器32执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述程序代码在所述电子设备3中的执行过程。例如,所述程序代码可以被分割成获取模块201、处理模块202、创建模块203、转换模块204、生成模块205、展示模块206及更新模块207。

在本发明的一个实施例中,所述存储器31存储多个计算机可读指令,所述多个计算机可读指令被所述至少一个处理器32所执行以实现数据结构图生成及更新的功能。

具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 数据结构图生成及更新方法、装置、电子设备及存储介质
  • 补丁生成方法及装置、更新方法、电子设备、存储介质
技术分类

06120113240486