树节点数据的加载方法和装置与流程

文档序号:20112684发布日期:2020-03-17 19:23阅读:130来源:国知局
树节点数据的加载方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种树节点数据的加载方法和装置。



背景技术:

用户在访问互联网的过程中,往往会有查看大量数据的需求,例如,对项目研发的实时跟进,需要查看有关各进程的大量汇总的内容。相关技术中,树控件调用全加载策略加载所有树节点数据,即采用同步加载,且一次性加载所有树节点数据,或者,当用户点击某个树节点时,树控件可以调用懒加载策略加载该树节点的子节点数据。

第一种方式下,由于全加载策略加载所有树节点数据,当树节点数据量过大时,树节点数据的加载效率低,第二种方式下,由于只在用户点击某个树节点时,才去加载该树节点的子节点数据,当子节点数据量较大时,前端会频繁向后台服务器发送数据请求,树节点数据的加载效率低。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种树节点数据的加载方法,能够采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

本发明的另一个目的在于提出一种树节点数据的加载装置。

为达到上述目的,本发明第一方面实施例提出的树节点数据的加载方法,包括:获取待加载树节点数据所在树节点的节点标识;判断所述节点标识是否在预设数据加载文件中,得到判断结果;调用与所述判断结果对应的加载策略加载所述树节点数据。

本发明第一方面实施例提出的树节点数据的加载方法,通过判断节点标识是否在预设数据加载文件中,得到判断结果,调用与判断结果对应的加载策略加载树节点数据,能够采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

为达到上述目的,本发明第二方面实施例提出的树节点数据的加载装置,包括:第一获取模块,用于获取待加载树节点数据所在树节点的节点标识;判断模块,用于判断所述节点标识是否在预设数据加载文件中,得到判断结果;第一调用模块,用于调用与所述判断结果对应的加载策略加载所述树节点数据。

本发明第二方面实施例提出的树节点数据的加载装置,通过判断节点标识是否在预设数据加载文件中,得到判断结果,调用与判断结果对应的加载策略加载树节点数据,能够采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一实施例提出的树节点数据的加载方法的流程示意图;

图2是本发明实施例中基于树控件的菜单选项示意图;

图3是本发明另一实施例提出的树节点数据的加载方法的流程示意图;

图4是本发明另一实施例提出的树节点数据的加载方法的流程示意图;

图5是本发明另一实施例提出的树节点数据的加载方法的流程示意图;

图6是本发明一实施例提出的树节点数据的加载装置的结构示意图;

图7是本发明另一实施例提出的树节点数据的加载装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本发明一实施例提出的树节点数据的加载方法的流程示意图。以该树节点数据的加载方法被配置为树节点数据的加载装置中来举例说明。

参见图1,该树节点数据的加载方法包括:

s11:获取待加载树节点数据所在树节点的节点标识。

根据图形用户界面(graphicaluserinterface,gui)的设计规范,在计算机网页或者系统生成的过程中,会执行标准通用标记语言(例如,超级文本标记语言html)来实现不同的功能模块,以供用户与计算机网页或者系统界面进行人机交互,其中,一种功能模块的样式被称为树形结构,可以理解的是,树状结构的样式能够用来显示层级结构,进一步的,树状结构可以采用通用标记语言中的树控件来实现,参见图2,树状结构的样式能够用来生成计算机网页或者系统界面的菜单选项,图2为本发明实施例中基于树控件的菜单选项示意图,图2包括,树节点21和子节点22,其中,当用户点击树节点21时,会触发后台服务器加载该树节点对应的树节点数据,当用户点击子节点22时,会触发后台服务器加载该子节点对应的子节点数据。在本发明的实施例中,待加载树节点数据可以为后台服务器需要进行加载的树节点对应的树节点数据。

例如,用户在跟进项目进度的过程中,往往会有查看大量数据的需求,例如,对项目研发的实时跟进,需要查看有关各进程的大量汇总的内容,参见图2,当树节点数据使用频率较高时,可以调用全加载策略加载树节点数据,当树节点数据使用频率较低时,可以调用懒加载策略加载树节点数据。

相关技术中,树控件调用全加载策略加载所有树节点数据,即采用同步加载,且一次性加载所有树节点数据,或者,当用户点击某个树节点时,树控件可以调用懒加载策略加载该树节点的子节点数据。

第一种方式下,由于全加载策略加载所有树节点数据,当树节点数据量过大时,树节点数据的加载效率低,第二种方式下,由于只在用户点击某个树节点时,才去加载该树节点的子节点数据,当子节点数据量较大时,前端会频繁向后台服务器发送数据请求,树节点数据的加载效率低。

而本发明的实施例中,采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

可选地,获取待加载树节点数据所在树节点的节点标识(例如,节点id),以根据节点标识是否在预设数据加载文件中调用不同的加载策略加载树节点数据。

s12:判断节点标识是否在预设数据加载文件中,得到判断结果。

其中,预设数据加载文件可以为预先配置的。

可以判断节点标识是否在预设数据加载文件中,得到节点标识在预设数据加载文件中,或者,节点标识不在预设数据加载文件中的判断结果。

一些实施例中,参见图3,可以通过以下步骤配置预设数据加载文件:

s31:获取产生预设事件的树节点作为目标树节点。

在本发明的实施例中,目标树节点用于标记产生预设事件的树节点,预设事件例如可以为用户点击树节点事件。

s32:获取目标树节点的节点标识和每个目标树节点产生预设事件的时间点,其中,每个目标树节点产生预设事件的时间点为至少一个。

其中,目标树节点的节点标识(例如,目标树节点的节点id),目标树节点产生预设事件的时间点,例如为用户点击目标树节点的时间点,可以理解的是,由于用户对每个目标树节点点击可能为多次,对应于每个目标树节点,会有至少一个的时间点,例如,可以用ti表示各个时间点,其中,i=1,2,3,……。

s33:根据每个目标树节点产生预设事件的时间点获取每个目标树节点的相对访问频率。

在本发明的实施例中,可以根据每个目标树节点产生预设事件的时间点和预设公式获取每个目标树节点的相对访问频率,其中,预设公式为:

其中,i=1,2,……,k-1,node为目标树节点的节点标识,frequent为目标树节点在时间节点tk时的相对访问频率,目标树节点的节点标识作为获取相对访问频率frequent的唯一标识。

具体地,可以根据上述预设公式和每个目标树节点产生预设事件的时间点获取每个目标树节点的相对访问频率,或者,也可以通过其它算法和每个目标树节点产生预设事件的时间点获取每个目标树节点的相对访问频率,对此不作限制。

s34:根据每个目标树节点的节点标识和相对访问频率配置预设数据加载文件。

通过预先配置预设数据加载文件,以从判断节点标识是否在预设数据加载文件中,能够对每个目标树节点的节点标识和相对访问频率进行保存,以便于后续判断树节点的节点标识是否在预设数据加载文件中,可以缩短树节点的节点标识查询时间,有效提高树节点数据的加载效率。

可选地,一些实施例中,参见图4,步骤s34具体包括:

s41:将每个目标树节点的相对访问频率按降序排列,得到排序后相对访问频率的序列。

例如,将步骤s23中通过第一预设公式计算出来的每个目标树节点的相对访问频率frequent值从大到小进行降序排列,得到排序后相对访问频率的序列。

s42:选取序列中前预设个数的相对访问频率。

在本发明的实施例中,预设个数可由用户根据自身需求进行个性化设置,例如,用户可以将预设个数设置为10个,对此不作限制。

例如,选取排序后相对访问频率的序列中前10个相对访问频率,以将选取后的相对访问频率和对应的目标树节点的节点标识对应存储在预设数据加载文件中。

本步骤中,通过选取序列中前预设个数的相对访问频率,其中,预设个数可由用户根据自身需求进行个性化设置,能够有效提升树节点数据的加载方法的灵活性及适用性。

s43:将选取后的相对访问频率和对应的目标树节点的节点标识对应存储在预设数据加载文件中。

可选地,将选取后的相对访问频率frequent对应的目标树节点的节点标识对应存储在预设数据加载文件中,以根据每个目标树节点的节点标识和相对访问频率frequent配置预设数据加载文件。

本实施例中,通过将选取后的相对访问频率和对应的目标树节点的节点标识对应存储在预设数据加载文件中,以配置预设数据加载文件,能够对每个目标树节点的节点标识和相对访问频率进行保存,以便于后续判断树节点的节点标识是否在预设数据加载文件中,可以缩短树节点的节点标识查询时间,有效提高树节点数据的加载效率。

s13:调用与判断结果对应的加载策略加载树节点数据。

可选地,调用与判断结果对应的加载策略加载树节点数据,包括:在判断结果为节点标识在预设数据加载文件中时,调用全加载策略加载树节点数据;在判断结果为节点标识不在预设数据加载文件中时,调用懒加载策略加载树节点数据。

可以理解的是,当树节点的节点标识在预设数据加载文件中,表明树节点数据使用频率较高,此时可以调用全加载策略加载树节点数据,当树节点的节点标识不在预设数据加载文件中,表明树节点数据使用频率较低,此时可以调用懒加载策略加载树节点数据,采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率,提高数据加载页面展现效率。

作为一种示例,参见图2,用户在跟进项目进度的过程中,可以查看有关各进程的大量汇总的内容,对于使用频率较高的文件的树节点,可以调用全加载策略加载树节点数据,对于使用频率较低的文件的树节点,此时可以调用懒加载策略加载树节点数据。

可选地,一些实施例中,参见图5,在步骤13后还包括:

s51:调用与外部指令对应的加载策略加载树节点数据。

外部指令可以例如由用户设置的。

本步骤中,在接收到外部指令时,直接调用与外部指令对应的加载策略加载树节点数据,而不需要根据判断结果对应的加载策略加载树节点数据,能够有效提升树节点数据的加载方法的灵活性及适用性,提高树节点数据的加载效率。

本实施例中,通过判断节点标识是否在预设数据加载文件中,得到判断结果,调用与判断结果对应的加载策略加载树节点数据,能够采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

图6是本发明一实施例提出的树节点数据的加载装置的结构示意图。该树节点数据的加载装置600可以通过软件、硬件或者两者的结合实现。

参见图6,该树节点数据的加载装置600可以包括:第一获取模块610、判断模块620,以及第一调用模块630。其中,

第一获取模块610,用于获取待加载树节点数据所在树节点的节点标识。

判断模块620,用于判断节点标识是否在预设数据加载文件中,得到判断结果。

第一调用模块630,用于调用与判断结果对应的加载策略加载树节点数据。

可选地,第一调用模块630还用于:

在判断结果为节点标识在预设数据加载文件中时,调用全加载策略加载树节点数据;

在判断结果为节点标识不在预设数据加载文件中时,调用懒加载策略加载树节点数据。

一些实施例中,参见图7,该树节点数据的加载装置600还可以包括:

第二调用模块640,用于调用与外部指令对应的加载策略加载树节点数据。

可选地,通过以下模块配置预设数据加载文件:

第二获取模块650,用于获取产生预设事件的树节点作为目标树节点。

第三获取模块660,用于获取目标树节点的节点标识和每个目标树节点产生预设事件的时间点,其中,每个目标树节点产生预设事件的时间点为至少一个。

第四获取模块670,用于根据每个目标树节点产生预设事件的时间点获取每个目标树节点的相对访问频率。

配置模块680,用于根据每个目标树节点的节点标识和相对访问频率配置预设数据加载文件。

可选地,配置模块680包括:

排列子模块681,用于将每个目标树节点的相对访问频率按降序排列,得到排序后相对访问频率的序列。

选取子模块682,用于选取序列中前预设个数的相对访问频率。

存储子模块683,用于将选取后的相对访问频率和对应的目标树节点的节点标识对应存储在预设数据加载文件中。

需要说明的是,前述图1-图5实施例中对树节点数据的加载方法实施例的解释说明也适用于该实施例的树节点数据的加载装置600,其实现原理类似,此处不再赘述。

本实施例中,通过判断节点标识是否在预设数据加载文件中,得到判断结果,调用与判断结果对应的加载策略加载树节点数据,能够采用全加载和懒加载混合加载的策略,动态确定树节点数据的加载方式,有效提高树节点数据的加载效率。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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