首页> 中国专利> 一种思维导图保存及加载方法、保存及加载系统

一种思维导图保存及加载方法、保存及加载系统

摘要

本发明提供一种思维导图保存及加载方法、保存及加载系统,包括:获取所有节点的名称和所有相连节点之间的父子关系;根据节点之间的父子关系将节点的名称保存为JSON格式的文件;加载步骤包括:解析JSON格式的文件得到所有节点并在显示屏上建立二维坐标系;获取不具有父节点的第一节点,在坐标系中定位第一节点;以第一节点作为父节点,根据节点之间的父子关系得到至少一个作为第一节点的子节点的第二节点;根据作为父节点的第一节点的坐标和预设的父节点与子节点之间的水平距离和垂直距离,计算并定位作为子节点的第二节点的坐标;判断是否存在未定位的节点,若是,则将所述第二节点作为第一节点并执行前面两个步骤,若否,则结束定位。

著录项

  • 公开/公告号CN104915410A

    专利类型发明专利

  • 公开/公告日2015-09-16

    原文格式PDF

  • 申请/专利权人 福建天晴数码有限公司;

    申请/专利号CN201510299785.1

  • 发明设计人 蔡专锡;刘德建;方振华;李上杰;

    申请日2015-06-04

  • 分类号G06F17/30(20060101);

  • 代理机构福州市鼓楼区博深专利代理事务所(普通合伙);

  • 代理人林志峥

  • 地址 350000 福建省福州市开发区星发路8号

  • 入库时间 2023-12-18 10:55:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-17

    授权

    授权

  • 2015-10-14

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150604

    实质审查的生效

  • 2015-09-16

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种思维导图保存及加载方法、保 存及加载系统。

背景技术

目前思维导图广泛应用于教育中,采用思维导图的方式,老师可是实时看 到学生的思维逻辑和思维过程,全方位把握学生的状态。目前思维导图的保存 技术大多都需要保存每个节点的属性(位置,名称等)和节点之间的相互关系, 这样保存的弊端就是存储的文件比较大,解析算法比较复杂。

JSON是一种轻量级的数据交换格式,既易于人阅读和编写,同时也易于机 器解析和生成(网络传输速度);其特有的树形结构,可以有效地体现各个要素之 间的关系。

如果能够将JSON的有利点利用到思维导图的保存和加载上,则对减小思维 导图的保存文件具有重要意义。

发明内容

本发明所要解决的技术问题是:如何保存和加载思维导图,使得保存的文 件最小化。

为了解决上述技术问题,本发明采用的技术方案为:

一种思维导图保存及加载方法,包括保存步骤和加载步骤;

保存步骤包括:

S11、获取所有节点的名称和所有相连节点之间的父子关系;

S12、根据节点之间的父子关系将节点的名称保存为JSON格式的文件;

加载步骤包括:

S21、解析JSON格式的文件得到所有节点并在显示屏上建立二维坐标系;

S22、获取不具有父节点的第一节点,在坐标系中定位第一节点;

S23、以第一节点作为父节点,根据节点之间的父子关系得到至少一个作为 第一节点的子节点的第二节点;

S24、根据作为父节点的第一节点的坐标和预设的父节点与子节点之间的水 平距离和垂直距离,计算并定位作为子节点的第二节点的坐标;

S25、判断是否存在未定位的节点,若是,则将所述第二节点作为第一节点 并执行步骤S23,若否,则结束定位。

上述思维导图保存及加载方法的有益效果在于:获取节点后根据节点之间 的父子关系将节点的名称保存为JSON格式的文件,从而只需保存节点的名称, 而无需保存节点间的关系;解析JSON格式的文件得到所有节点,首先在显示屏 上建立二位坐标系,并在坐标系上定位不具有父节点的第一节点,将第一节点 作为父节点,得到第一节点的子节点,即第二节点,根据第一节点的坐标、预 设的父节点与子节点之间的水平距离和垂直距离计算得到第二节点的坐标,并 将已经定位的第二节点作为第一节点,再根据节点之间的父子关系得到第一节 点的子节点,即第二节点的坐标,依此循环定位所有节点,形成思维导图,不 需要保存节点的位置,只需要保存节点的名称,从而使得保存文件最小化。

一种思维导图保存及加载系统,包括:

获取模块,用于获取所有节点的名称和所有相连节点之间的父子关系;

保存模块,用于根据节点之间的父子关系将节点的名称保存为JSON格式的 文件;

加载模块,所述加载模块包括:

解析模块,用于解析JSON格式的文件得到所有节点并在显示屏上建立二维 坐标系;

第一定位模块,用于获取不具有父节点的第一节点,在坐标系中定位第一 节点;

第一获取模块,用于以第一节点作为父节点,根据节点之间的父子关系得 到至少一个作为第一节点的子节点的第二节点;

第二定位模块,用于根据作为父节点的第一节点的坐标和预设的父节点与 子节点之间的水平距离和垂直距离,计算并定位作为子节点的第二节点的坐标;

判断模块,判断是否存在未定位的节点,若是,则将所述第二节点作为第 一节点并将所述第一节点送入第一获取模块,若否,则结束定位。

上述思维导图保存及加载系统的有益效果在于:获取模块获取节点后保存 模块根据节点之间的父子关系将节点的名称保存为JSON格式的文件,从而只需 保存节点的名称,而无需保存节点间的关系;解析模块解析JSON格式的文件得 到节点,并在显示屏上建立二位坐标系,通过第一定位模块定位不具有父节点 的第一节点从而确定第一节点的坐标,第一获取模块根据节点之间的父子关系 得到第一节点的子节点,即第二节点,第二定位模块根据第一节点的坐标、预 设的父节点与子节点之间的水平距离和垂直距离计算得到子节点的坐标并定 位,判断模块判断是否还存在未定位的节点,当还存在未定位的节点时,将已 经定位的第二节点作为第一节点,并将该第一节点送入第一获取模块,直至定 位所有节点坐标,形成思维导图,不需要保存节点的位置,只需要保存节点的 名称,使得保存文件最小化。

附图说明

图1为本发明实施例一思维导图保存及加载方法的流程图;

图2为本发明实施例一思维导图保存及加载方法“根据节点之间的父子关 系将节点的名称保存为JSON格式的文件”的流程图;

图3为本发明实施例二思维导图保存及加载系统的结构图。

标号说明:

1、获取模块;2、保存模块;21、第一保存模块;22、第二保存模块; 23、第三保存模块;24、转换模块;3、加载模块;31、解析模块;32、第一定 位模块;33、第一获取模块;34、第二定位模块;35、判断模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并 配合附图予以说明。

本发明最关键的构思在于:将节点名称根据节点间的关系保存成JSON格 式,根据预设父节点与子节点的水平距离和垂直距离以及父节点的坐标得到子 节点的坐标,从而只需保存节点名称,无需保存节点的位置和节点间的关系。

本发明涉及的技术术语解释:

请参照图1以及图2,

一种思维导图保存及加载方法,包括保存步骤和加载步骤;

保存步骤包括:

S11、获取所有节点的名称和所有相连节点之间的父子关系;

S12、根据节点之间的父子关系将节点的名称保存为JSON格式的文件;

加载步骤包括:

S21、解析JSON格式的文件得到所有节点并在显示屏上建立二维坐标系;

S22、获取不具有父节点的第一节点,在坐标系中定位第一节点;

S23、以第一节点作为父节点,根据节点之间的父子关系得到至少一个作为 第一节点的子节点的第二节点;

S24、根据作为父节点的第一节点的坐标和预设的父节点与子节点之间的水 平距离和垂直距离,计算并定位作为子节点的第二节点的坐标;

S25、判断是否存在未定位的节点,若是,则将所述第二节点作为第一节点 并执行步骤S23,若否,则结束定位。

上述思维导图保存及加载方法的有益效果在于:获取节点后根据节点之间 的父子关系将节点的名称保存为JSON格式的文件,从而只需保存节点的名称, 而无需保存节点间的关系;解析JSON格式的文件得到所有节点,首先在显示屏 上建立二位坐标系,并在坐标系上定位不具有父节点的第一节点,将第一节点 作为父节点,得到第一节点的子节点,即第二节点,根据第一节点的坐标、预 设的父节点与子节点之间的水平距离和垂直距离计算得到第二节点的坐标,并 将已经定位的第二节点作为第一节点,再根据节点之间的父子关系得到第一节 点的子节点,即第二节点的坐标,依此循环定位所有节点,形成思维导图,不 需要保存节点的位置,只需要保存节点的名称,从而使得保存文件最小化。

进一步的,所述“根据节点之间的父子关系将节点的名称保存为JSON格式 的文件”具体为:

S121、将节点名称根据节点之间的父子关系保存至哈希表中;

S122、将哈希表中不具有父节点的第一节点的名称保存成JSON对象;

S123、以第一节点作为父节点,根据节点之间的父子关系得到至少一个作 为第一节点的子节点的第二节点,将第二节点的名称根据节点之间的父子关系 保存成JSON对象;

S124、判断是否存在未保存成JSON对象的节点,若是,则将所述第二节 点作为第一节点并执行步骤S123,若否,则将所有JSON对象转换成字符串, 并保存为JSON格式的文件。

从上述描述可知,先将节点的名称根据节点之间的父子关系保存至哈希表 中,再从哈希表中将节点的名称根据节点之间的父子关系保存成JSON对象,加 快查找速度;JSON特有的树形结构使得保存为JSON格式的文件节点的名称即 可反映节点间的关系,因此只需保存节点的名称即可,无需保存节点间的关系。

进一步的,所述“计算作为子节点的第二节点的坐标”之后“定位作为子 节点的第二节点的坐标”之前还包括:

将计算出坐标的第二节点与定位完成的节点进行碰撞检测;

若未发生碰撞,则定位该第二节点;

若发生碰撞,则增加预设的父节点与子节点之间的垂直距离,重新计算所 述第二节点的坐标;如果垂直距离超出了坐标系的垂直范围,则增加预设的父 节点与子节点之间的水平距离,重新计算第二节点的坐标;如果水平距离也超 出设定范围则结束定位该子节点。

从上述描述可知,经过碰撞检测可有效防止节点定位时超出显示屏范围而 无法显示。

进一步的,所述“解析JSON格式的文件得到所有节点”具体为:将JSON 格式的文件转换成字符串,并将字符串转换为JSON对象,所述JSON对象即节 点。

进一步的,所述定位第二节点采用延迟显示技术,根据延迟时间参数定位 第二节点。

进一步的,所述思维导图保存及加载方法还包括,将节点间的父子关系和 延迟时间参数以键值对的方式保存至哈希表中。

从上述描述可知,通过延迟显示技术可以使得节点与节点之间不会重叠覆 盖掉有用的信息,且画面美观。

请参照图3,

一种思维导图保存及加载系统,包括:

获取模块1,用于获取所有节点的名称和所有相连节点之间的父子关系;

保存模块2,用于根据节点之间的父子关系将节点的名称保存为JSON格式 的文件;

加载模块3,所述加载模块3包括:

解析模块31,用于解析JSON格式的文件得到所有节点并在显示屏上建立 二维坐标系;

第一定位模块32,用于获取不具有父节点的第一节点,在坐标系中定位第 一节点;

第一获取模块33,用于以第一节点作为父节点,根据节点之间的父子关系 得到至少一个作为第一节点的子节点的第二节点;

第二定位模块34,用于根据作为父节点的第一节点的坐标和预设的父节点 与子节点之间的水平距离和垂直距离,计算并定位作为子节点的第二节点的坐 标;

判断模块35,用于判断是否存在未定位的节点,若是,则将所述第二节点 作为第一节点并将所述第一节点送入第一获取模块33,若否,则结束定位。

上述思维导图保存及加载系统的有益效果在于:获取模块1获取节点后保 存模块2根据节点之间的父子关系将节点的名称保存为JSON格式的文件,从而 只需保存节点的名称,而无需保存节点间的关系;解析模块31解析JSON格式 的文件得到节点,并在显示屏上建立二位坐标系,通过第一定位模块32定位不 具有父节点的第一节点从而确定第一节点的坐标,第一获取模块33根据节点之 间的父子关系得到第一节点的子节点,即第二节点,第二定位模块34根据第一 节点的坐标、预设的父节点与子节点之间的水平距离和垂直距离计算得到子节 点的坐标并定位,判断模块35判断是否还存在未定位的节点,当还存在未定位 的节点时,将已经定位的第二节点作为第一节点,并将该第一节点送入第一获 取模块33,直至定位所有节点坐标,形成思维导图,不需要保存节点的位置, 只需要保存节点的名称,使得保存文件最小化。

进一步的,所述“保存模块2”包括:

第一保存模块21,用于将节点名称根据节点之间的父子关系保存至哈希表 中;

第二保存模块22,用于将哈希表中不具有父节点的第一节点名称保存成 JSON对象;

第三保存模块23,用于以第一节点作为父节点,根据节点之间的父子关系 得到至少一个作为第一节点的子节点的第二节点,将第二节点名称根据节点之 间的父子关系保存成JSON对象;

转换模块24,用于判断是否存在未保存成JSON对象的节点,若是,则将 所述第二节点作为第一节点并将第一节点送入第三保存模块23,若否,则将所 有JSON对象转换成字符串,并保存为JSON格式的文件。

从上述描述可知,先将节点的名称根据节点之间的父子关系保存至哈希表 中,再从哈希表中将节点的名称根据节点之间的父子关系保存成JSON对象,加 快查找速度;JSON特有的树形结构使得保存为JSON格式的文件节点的名称即 可反映节点间的关系,因此只需保存节点的名称即可,无需保存节点间的关系。

进一步的,所述“第二定位模块34”包括:碰撞检测模块,用于将计算出 坐标的第二节点与定位完成的节点进行碰撞检测。

从上述描述可知,从上述描述可知,经过碰撞检测可有效防止节点定位时 超出显示屏的范围而无法显示。

请参照图1以及图2,本发明的实施例一为:

一种思维导图保存及加载方法,包括保存步骤和加载步骤;

保存步骤包括:

S11、获取所有节点的名称和所有相连节点之间的父子关系;

S12、根据节点之间的父子关系将节点的名称保存为JSON格式的文件;具 体为:S121、将节点名称根据节点之间的父子关系保存至哈希表中;S122、将 哈希表中不具有父节点的第一节点的名称保存成JSON对象;S123、以第一节 点作为父节点,根据节点之间的父子关系得到至少一个作为第一节点的子节点 的第二节点,将第二节点的名称根据节点之间的父子关系保存成JSON对象; S124、判断是否存在未保存成JSON对象的节点,若是,则将所述第二节点作 为第一节点并执行步骤S123,若否,则将所有JSON对象转换成字符串,并保 存为JSON格式的文件;例如,总共有节点(1)至节点(10)10个节点,节点 (1)的子节点为节点(2)和节点(3),节点(2)的子节点为节点(4)、节点 (5)以及节点(6),节点(3)的子节点为节点(7)、节点(8)、节点(9)以 及节点(10),因此节点(1)为第一个节点,其没有父节点;保存时,首先保 存不具有父节点的第一节点即节点(1)的名称为JSON对象,根据节点之间的 父子关系可知作为节点(1)的子节点为节点(2)和节点(3),即所述第二节 点,保存节点(2)和节点(3)的名称为JSON对象;此时,还有节点(4)至 节点(10)还未保存,则将前面的保存第二节点,及节点(2)和节点(3)作 为第一节点,继续按照节点之间的父子关系保存节点(2)和节点(3)的子节 点的名称;当节点(4)至节点(10)也保存为JSON对象之后,没有未保存的 节点了,则将所有JSON对象转换成字符串,并保存为JSON格式的文件;

加载步骤包括:

S21、解析JSON格式的文件得到所有节点并在显示屏上建立二维坐标系; 优选的,解析时先将JSON格式的文件转换成字符串,并将字符串转换为JSON 对象,所述JSON对象即节点;解析JSON格式的文件时得到之前保存的节点(1) 至节点(10)10个节点;

S22、获取不具有父节点的第一节点,在坐标系中定位第一节点;首先定位 没有父节点的节点(1),确定其坐标;

S23、以第一节点作为父节点,根据节点之间的父子关系得到至少一个作为 第一节点的子节点的第二节点;将节点(1)作为父节点,则得到节点(1)的 子节点,即节点(2)和节点(3);此时节点(1)即所述第一节点,节点(2) 和节点(3)即第二节点;

S24、根据作为父节点的第一节点的坐标和预设的父节点与子节点之间的水 平距离和垂直距离,计算作为子节点的第二节点的坐标;将计算出坐标的第二 节点与定位完成的节点进行碰撞检测;若未发生碰撞,则定位该第二节点;若 发生碰撞,则增加预设的父节点与子节点之间的垂直距离,重新计算所述第二 节点的坐标;如果垂直距离超出了坐标系的垂直范围,则增加预设的父节点与 子节点之间的水平距离,重新计算第二节点的坐标;如果水平距离也超出设定 范围则结束定位该子节点;优选的,定位时采用延迟显示技术,将节点间的父 子关系和延迟时间参数以键值对的方式保存至哈希表中根据延迟时间参数定位 第二节点;根据节点(1)的坐标以及预设的父节点与子节点之间的水平距离和 垂直距离,即可计算出节点(2)和节点(3)的坐标,优选的,计算出第一节 点和第二节点的水平夹角,并将夹角转化成360制的角度,通过角度计算第二 节点在屏幕上的坐标;计算出节点(2)的坐标后,将节点(2)与已经定位的 节点(1)进行碰撞检测,如果没有发生碰撞,则按照计算出的坐标定位节点(2); 如果发生碰撞,则增加预设的父节点与子节点之间的垂直距离,优选的,增加 的垂直距离为100,重新计算所述节点(2)的坐标;如果垂直距离超出了坐标 系的垂直范围,则增加预设的父节点与子节点之间的水平距离,优选的,增加 的水平距离为100,重新计算节点(2)的坐标;如果水平距离也超出设定范围 则结束定位节点(2),并提示无法增加节点;节点(3)的坐标计算出之后采用 同样的方法进行碰撞检测;

S25、判断是否存在未定位的节点,若是,则将所述第二节点作为第一节点 并执行步骤S23,若否,则结束定位;此时,节点(4)至节点(10)还未定位, 则将节点(2)和节点(3)作为第一节点;按照S23和S24的步骤继续定位节 点(4)至节点(10),当节点(4)至节点(10)也定位完成之后,没有未定位 的节点了,则定位结束。

请参照图3,本发明的实施例二为:

一种思维导图保存及加载系统,包括:

获取模块1,用于获取所有节点的名称和所有相连节点之间的父子关系;

保存模块2,用于根据节点之间的父子关系将节点的名称保存为JSON格式 的文件;所述“保存模块2”包括:第一保存模块21,用于将节点名称根据节 点之间的父子关系保存至哈希表中;第二保存模块22,用于将哈希表中不具有 父节点的第一节点名称保存成JSON对象;第三保存模块23,用于以第一节点 作为父节点,根据节点之间的父子关系得到至少一个作为第一节点的子节点的 第二节点,将第二节点名称根据节点之间的父子关系保存成JSON对象;转换模 块24,用于判断是否存在未保存成JSON对象的节点,若是,则将所述第二节 点作为第一节点并将第一节点送入第三保存模块,若否,则将所有JSON对象转 换成字符串,并保存为JSON格式的文件;

加载模块3,所述加载模块包括:

解析模块31,用于解析JSON格式的文件得到所有节点并在显示屏上建立 二维坐标系;

第一定位模块32,用于获取不具有父节点的第一节点,在坐标系中定位第 一节点;

第一获取模块33,用于以第一节点作为父节点,根据节点之间的父子关系 得到至少一个作为第一节点的子节点的第二节点;

第二定位模块34,用于根据作为父节点的第一节点的坐标和预设的父节点 与子节点之间的水平距离和垂直距离,计算并定位作为子节点的第二节点的坐 标;所述“第二定位模块34”包括:碰撞检测模块,用于将计算出坐标的第二 节点与定位完成的节点进行碰撞检测;

判断模块35,判断是否存在未定位的节点,若是,则将所述第二节点作为 第一节点并将所述第一节点送入第一获取模块,若否,则结束定位。

综上所述,本发明提供的思维导图保存及加载方法、保存及加载系统,保 存时,通过获取模块获取节点,并通过第一保存模块将节点的名称根据节点之 间的父子关系保存至哈希表中,通过第二保存模块、第三保存模块以及转换模 块将哈希表中的节点的名称根据节点之间的父子关系保存成JSON对象,并将 JSON对象转换成字符串,并保存为JSON格式的文件,从而只需要保存节点的 名称,而无需保存节点间的关系;加载时,解析模块将JSON格式的文件解析得 到节点,并在显示屏上建立二维坐标系,第一定位模块在坐标系上定位不具有 父节点的第一节点,从而确定不具有父节点的第一节点的坐标,第一获取模块 和第二定位模块将已经定位完成的第二节点作为第一节点,根据节点之间的父 子关系得到第一节点的子节点,即第二节点,从而根据第一节点的坐标、预设 的父节点与子节点的水平距离和垂直距离计算第二节点的坐标,从而定位作为 子节点的第二节点,并通过判断模块和第二定位模块定位剩下的未定位的节点, 从而完成所有的节点的定位,无需保存节点的位置即可形成思维导图,从而使 得保存文件最小化。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利 用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术 领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号