海量数据显示方法及装置与流程

文档序号:12596320阅读:234来源:国知局
海量数据显示方法及装置与流程

本发明涉及计算机界面显示技术领域,特别涉及一种海量数据显示方法及装置。



背景技术:

Duilib是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。Duilib界面开发工具的出现解决了使用传统的MFC界面库开发软件不美观、界面细节处理不好、使用硬编码、开发效率低下、生成程序体积大等问题。而且传统MFC界面美化库大都使用HOOK等对系统影响比较大的技术,可能会导致系统不稳定或者引发其他错误。而Duilib界面开发工具完全基于GDI在窗口上自绘,无其他依赖,未使用特殊或危险的系统调用,能够很好的解决传统MFC界面的一系列问题。

但是,由于Duilib界面开发工具所兼容的很多用于操作显示数据的控件,如List控件、Tree控件,每显示一组显示数据时,显示数据本身所占的内存并不大,但是为显示数据所创建的控件却占用了相当大的内存。现有技术中为所有显示数据都创建了控件,因此当显示数据越多时,为其创建的控件也越多,为其分配的内存也就越多,造成了内存的使用量与数据量成线性的关系。当数据量非常大的时候,加载到显示界面上的显示数据越多,所占用的系统内存越大,将严重影响系统性能。



技术实现要素:

有鉴于此,本发明的目的是提供一种能够能使内存呈非线性增长的海量数据显示方法及装置。

为了实现上述目的,本发明提供了一种海量数据显示方法,所述方法包括:

为内存中的一组显示数据创建一结点,以将所述一组显示数据显示在显示界面上;

根据显示界面的滑块的动作,为总数据中的一组相应的显示数据创建相应的结点,以将所述一组相应的显示数据显示在显示界面上,同时,将所述一结点从所述内存中释放;

其中,所述结点包括用于操作所述显示数据的控件。

作为优选,显示数据显示在显示界面上,包括:

基于显示数据的存储规则提取内存中的显示数据;

以列表方式将显示数据显示在所述显示界面上。

作为优选,所述方法还包括:

根据总数据的数据总量来设置所述滑块的总长度。

作为优选,根据总数据的数据总量来设置所述滑块的总长度,包括:

对于所述总数据中的每条展开状态的数据,将该条数据的父节点与父节点下的子节点均计入所述数据的总量;

对于所述总数据中的每条折叠状态的数据,将该条数据的父节点计入所述数据总量。

作为优选,所述方法还包括:

根据所述父节点的深度设置所述总数据中每条数据的缩进层级;

根据所述每条数据的类型设置该条数据在所述显示界面上显示的图标类型。

作为优选,根据所述每条数据的类型设置该条数据在所述显示界面上显示的图标类型,包括:

若该条数据的类型为类,则将该条数据在所述显示界面上显示的图标类型设置为展开折叠图标;

若该条数据的类型为方法,则将该条数据在所述显示界面上显示的图标类型设置为保护方式图标。

本发明还提供一种海量数据显示装置,包括:

结点模块,配置为为内存中的一组显示数据创建一结点,以将所述一组显示数据显示在显示界面上,所述结点包括用于操作所述显示数据的控件;

所述结点模块,还配置为根据显示界面的滑块的动作,为总数据中的一组相应的显示数据创建相应的结点,以将所述一组相应的显示数据显示在显示界面上,同时,将所述一结点从所述内存中释放。

作为优选,所述结点模块,还包括:

提取子模块,配置为基于显示数据的存储规则提取内存中的显示数据;

显示子模块,配置为以列表方式将显示数据显示在所述显示界面上。

作为优选,所述装置还包括:

第一设置模块,用于根据总数据的数据总量来设置所述滑块的总长度。

作为优选,所述第一设置模块具体包括:

第一设置子模块,其将所述总数据中的每条展开状态的数据的父节点与父节点下的子节点均计入所述数据总量;以及

第二设置子模块,其将所述总数据中的每条折叠状态的数据的父节点计入所述数据总量。

作为优选,所述装置还包括:

第二设置模块,用于根据所述父节点的深度设置所述总数据中的每条数据的缩进层级;

第三设置模块,用于根据所述每条数据的类型设置该条数据在所述显示界面上显示的图标类型。

作为优选,所述第三设置模块,包括:

第三设置子模块,用于当该条数据的类型为类时,将该条数据在所述显示界面上显示的图标类型设置为展开折叠图标;

第四设置子模块,用于当该条数据的类型为方法时,将该条数据在所述显示界面上显示的图标类型设置为保护方式图标。

与现有技术相比,本发明具有以下有益效果:本发明实施例的技术方案根据滑块的动作,将内存中存储的显示界面显示的一组显示数据的结点释放,而为与滑块动作相对应的显示数据创建新的结点,以将该对应的显示数据显示在所述显示界面上,由于在内存中仅加载当前显示在显示界面上的一组显示数据的结点,当显示下一组显示数据时,即对上一组显示数据的结点进行释放,因此在加载海量数据时,内存所加载的数据是呈非线性增长的,节省了内存。本发明可应用于包括Duilib在内的多种开源界面库。

附图说明

图1为本发明的海量数据显示方法的实施例一的流程图;

图2为本发明的海量数据显示方法的实施例二的流程图;

图3为本发明的海量数据显示装置的实施例一的示意图;

图4为本发明的海量数据显示装置的实施例二的示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1为本发明的海量数据显示方法的实施例一的流程图,如图1所示,本实施例的海量数据显示方法,具体可以包括如下步骤:

S101,为内存中的一组显示数据创建一结点,以将一组显示数据显示在显示界面上。

其中,结点包括用于操作显示数据的控件。

具体地,对于目前海量数据迅猛发展的时代,很多用户在工作时无法避免在数据量非常大的总数据中进行检索或者挖掘,但用户不可能同时查看所有的海量数据,即使想查看所有的海量数据,显示界面也是有限的,因此,在海量数据的数据量非常大的情况下,只能将数据分组,将其中一组数据显示在显示界面上。本领域技术人员应该可以知道,显示界面在显示显示数据时,并非仅显示显示数据本身,而是还需为显示数据创建用于承载显示数据的结点,且该结点所占用的内存远大于显示数据本身所占用的内存。

具体地,结点包括用于操作显示数据的控件,例如,显示界面控件、图表控件、图像处理控件、文档处理控件。

S102,根据显示界面的滑块的动作,为总数据中的一组相应的显示数据创建相应的结点,以将一组相应的显示数据显示在显示界面上,同时,将S101中创建的结点从内存中释放。

具体地,由于用户在查看相关数据时,不仅看一组数据,还需要对滑块进行操作,也就是说对滑块进行操作来改变滑块的位置,或者还可以通过鼠标上的滚轮转动,来改变滑块的位置,以便于在显示界面上显示与滑块的新的位置相对应的显示数据。其中,滑块是显示界面控件中的一种。在要显示与滑块位置相对应的新的显示数据时,为新的显示数据创建一组新的结点,同时将内存中的为之前一组显示数据所创建的结点进行释放,由于显示数据本身占的内存较小,而结点所占用的内存非常大,因此,将结点进行释放,能够避免占用过多的内存,影响系统的性能。

本实施例的技术方案根据滑块的动作,将内存中为滑块动作前显示界面显示的一组数据创建的结点释放,而为与滑块动作相对应的显示数据创建相应的新结点,以将对应的显示数据显示在显示界面上,由于在内存中仅加载当前显示在显示界面上的一组显示数据的结点,当显示下一组数据时,即对上一组数据的结点进行释放,因此在加载海量数据时,内存所加载的数据是呈非线性增长的,节省了内存。

图2为本发明的海量数据显示方法的实施例二的流程图,本实施例的海量数据显示方法在上述实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图2所示,本实施例的海量数据显示方法,具体可以包括如下步骤:

S201,根据总数据的数据总量来设置滑块的总长度。

具体地,本领域技术人员应该知道,在终端,如计算机的显示界面上显示数据时,当数据量较大时,数据显示不能完全,则通过设置滑块,通过滑块的移动动作来使调整显示界面上显示的数据。滑块的长度由要显示的数据总量来决定的。

具体地,由于数据一般采用树形存储结构进行存储,对于树形存储结构来说,存在节点的展开与折叠问题,当某一条数据在树形存储结构中作为父节点存储时,其子节点若呈折叠状态,则在显示界面上不会显示折叠起来的部分。因此,步骤S201可以包括:A,对于总数据中的每条展开状态的数据,将该条数据的父节点与父节点下的子节点均计入数据的总量;B,对于总数据中的每条折叠状态的数据,将该条数据的父节点计入数据总量。

S202,根据父节点的深度设置总数据中每条数据的缩进层级。

具体地,数据在终端,如计算机中的存储器中的存储形式为树形存储结构,树形存储结构的一种示例如下所示:

该条总数据共包括四条数据,将这四条数据按照序号顺序的存入一个map映射文件mapIndex2TreeNode中,创建一个列表视图控件(list控件),以及一个滑块控件(ScrollBar控件),其中每条数据的结构如下所示:

计算总数据的数据总量时,如果一条数据是展开的状态,那么根据父节点号加上所有子节点,如果是折叠状态那么这条数据的子节点都不计入总数量,根据这个数量设置ScrollBar滑块的总长度。

此外,可以根据节点的深度设置缩进,还根据数据的类型设置图标类型。

S203,根据每条数据的类型设置该条数据在显示界面上显示的图标类型。

具体地,步骤S203包括:C,若该条数据的类型为类,则将该条数据在显示界面上显示的图标类型设置为展开折叠图标;D,若该条数据的类型为方法,则将该条数据在显示界面上显示的图标类型设置为保护方式图标。

例如,以一个实心三角的图标作为展开折叠图标,表示该条数据的类型为类。

S204,为内存中的一组显示数据创建一结点,以将一组显示数据显示在显示界面上。

其中,结点包括用于操作显示数据的控件。

具体地,对于目前海量数据迅猛发展的时代,很多用户在工作时无法避免在数据量非常大的总数据中进行检索或者挖掘,但用户不可能同时查看所有的海量数据,即使想查看所有的海量数据,显示界面也是有限的,因此,在海量数据的数据量非常大的情况下,只能将数据分组,将其中一组数据显示在显示界面上。本领域技术人员应该可以知道,显示界面在显示显示数据时,并非仅显示显示数据本身,而是还需为显示数据创建用于承载显示数据的结点,且该结点所占用的内存远大于显示数据本身所占用的内存。

具体地,结点包括用于操作显示数据的控件,例如,显示界面控件、图表控件、图像处理控件、文档处理控件。

具体地,在显示一组显示数据时,还包括数据准备的过程,即步骤S204包括:A,基于显示数据的存储规则提取内存中的显示数据;B,以列表方式将显示数据显示在显示界面上。例如,数据的存储规则为树形存储结构,那么在提取内存中的显示数据时,可以根据节点的序号顺序进行提取,并以列表方式显示在显示界面上。

具体地,根据以上步骤对滑块的长度和数据的缩进层级和要显示的图标类型,可以确定在显示界面上滑块的位置、该显示数据的缩进情况、要显示的图标类型等所有要显示在显示界面上的元素,在加载一组数据时,就可以同时将上述元素也加载到显示界面上来。

S205,根据显示界面的滑块的动作,为总数据中的一组相应的显示数据创建相应的结点,以将一组相应的显示数据显示在显示界面上,同时,将S204中创建的结点从内存中释放。

具体地,本实施在每次显示显示数据时,都会执行数据准备的步骤,也就是说步骤S205还包括:C,基于显示数据的存储规则提取内存中的显示数据;D,以列表方式将显示数据显示在显示界面上。例如,数据的存储规则为树形存储结构,那么在提取内存中的显示数据时,可以根据节点的序号顺序进行提取,并以列表方式显示在显示界面上。

具体地,由于用户在查看相关数据时,不仅看一组数据,还需要对滑块进行操作,也就是说对滑块进行操作来改变滑块的位置,或者还可以通过鼠标上的滚轮转动,来改变滑块的位置,以便于在显示界面上显示与滑块的新的位置相对应的显示数据。其中,滑块是显示界面控件中的一种。在显示与滑块位置相对应的新的显示数据的同时,为新的显示数据创建一组新的结点,同时将内存中的为之前一组显示数据所创建的结点进行释放,由于显示数据本身占的内存较小,而结点所占用的内存非常大,因此,将结点进行释放,能够避免占用过多的内存,影响系统的性能。因此使用本方法处理数据的数量、速度以及界面友好度都有很大的提升。

现有技术中在显示海量数据的时候,以列表分页显示的方式进行显示,这种显示方式的数据之间的关系层次不清,显得非常混乱。本实施例的技术方案可以根据父节点的深度设置总数据中每条数据的缩进层级,设置滑块的长度,还可以设置显示数据的图标类型,因此在加载海量数据时,使用树形的方式清晰地展示数据。

图3为本发明的海量数据显示装置的实施例一的示意图,如图3所示,本实施例的海量数据显示装置,具体可以包括结点模块31。

结点模块31,配置为为内存中的一组显示数据创建一结点,以将一组显示数据显示在显示界面上,结点包括用于操作显示数据的控件;

结点模块31,还配置为根据显示界面的滑块的动作,为总数据中的一组相应的显示数据创建相应的结点,以将一组相应的显示数据显示在显示界面上,同时,将一结点从内存中释放。

本实施例的海量数据显示装置,通过采用上述模块对海量数据进行显示的实现机制与上述图1所示实施例的海量数据显示方法的实现机制相同,详细可以参考上述图1所示实施例的记载,在此不再赘述。

图4为本发明的海量数据显示装置的实施例二的示意图,本实施例的海量数据显示装置在如图3所示的实施例的基础上,进一步更加详细地介绍本发明的技术方案。如图4所示,本实施例的海量数据显示装置,进一步可以包括:

结点模块31,还包括:

提取子模块311,配置为基于显示数据的存储规则提取内存中的显示数据;

显示子模块312,配置为以列表方式将显示数据显示在显示界面上。

第一设置模块41,用于根据总数据的数据总量来设置滑块的总长度。

第一设置模块41具体包括:

第一设置子模块411,其将总数据中的每条展开状态的数据的父节点与父节点下的子节点均计入数据总量;以及

第二设置子模块412,其将总数据中的每条折叠状态的数据的父节点计入数据总量。

该装置还包括:

第二设置模块42,用于根据父节点的深度设置总数据中的每条数据的缩进层级;

第三设置模块43,用于根据每条数据的类型设置该条数据在显示界面上显示的图标类型。

该第三设置模块43,包括:

第三设置子模块431,用于当该条数据的类型为类时,将该条数据在显示界面上显示的图标类型设置为展开折叠图标;

第四设置子模块432,用于当该条数据的类型为方法时,将该条数据在显示界面上显示的图标类型设置为保护方式图标。

本实施例的海量数据显示装置,通过采用上述模块对海量数据进行显示的实现机制与上述图2所示实施例的海量数据显示方法的实现机制相同,详细可以参考上述图2所示实施例的记载,在此不再赘述。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1