CN109144998B - 节点数据的展现方法、装置、存储介质及电子设备 - Google Patents
节点数据的展现方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109144998B CN109144998B CN201810737516.2A CN201810737516A CN109144998B CN 109144998 B CN109144998 B CN 109144998B CN 201810737516 A CN201810737516 A CN 201810737516A CN 109144998 B CN109144998 B CN 109144998B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- target
- layer
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种节点数据的展现方法、装置、存储介质及电子设备。多个节点构成树形结构,方法包括:当接收到针对目标节点的数据展现指令时,若目标节点中未存储节点数据,且客户端本地缓存中存储有目标节点所在层各节点对应的节点数据,从本地缓存获取该节点数据并存储到对应节点,删除本地缓存中的该节点数据,初始状态下,本地缓存中预存有树形结构前N层中各节点的节点数据,N为大于1且小于树形结构最大层级的正整数;展现目标节点中的节点数据;若本地缓存中未存储第一目标层各节点的节点数据,生成数据加载指令,向服务器发送该指令;将服务器发送的节点数据存储到本地缓存中。这样可以提升数据加载和展现效率,降低数据展现的延迟。
Description
技术领域
本公开涉及信息领域,具体地,涉及一种节点数据的展现方法、装置、存储介质及电子设备。
背景技术
树形结构是一种常用的数据结构,用户可以通过树形控件等工具对树形结构中各节点的数据进行查看,在查看过程中,需要加载树形结构中相应节点的节点数据并进行数据展现。通常采用两种方式对树形结构中的数据进行加载以供展现,一种是同步加载,即对所有数据一次性加载,在采用一次性加载的方式加载树形结构数据时,当树形结构数据量过大时,各个节点的加载效率较低,在数据展现时,则会存在明显的延迟现象。另一种是动态加载,对树形结构中的数据逐级进行加载,每次加载都需要向后台做一次数据请求,例如,当用户点击某一节点时,向后台请求该节点的子节点的数据,当子节点的数据量较大时,客户端会频繁向后台服务器发送数据请求,加载效率过低,在数据展现时也会存在明显的延迟现象。
发明内容
本公开的目的是提供一种节点数据的展现方法、装置、存储介质及电子设备,以解决现有技术中大数据量树形结构节点数据加载效率低导致的数据展现延迟的问题。
为了实现上述目的,根据本公开的第一方面,提供一种节点数据的展现方法。多个所述节点构成树形结构,所述方法应用于客户端,所述方法包括:
当接收到针对目标节点的数据展现指令时,若所述目标节点中未存储有节点数据,且所述客户端的本地缓存中存储有所述目标节点所在层的各节点对应的节点数据,则从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除所述本地缓存中存储的所述目标节点所在层的各节点对应的节点数据,其中,初始状态下,所述本地缓存中预先存储有所述树形结构的前N层中各节点对应的节点数据,N为大于1且小于所述树形结构的最大层级的正整数;
响应于所述数据展现指令,展现所述目标节点中存储的节点数据;
若所述本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送所述数据加载指令,所述数据加载指令用于请求获取所述第一目标层的各节点对应的节点数据,其中,所述第一目标层的层级为所述目标节点所在层的层级加N,且不大于所述最大层级;
接收所述服务器发送的所述第一目标层的各节点对应的节点数据,并将所述第一目标层的各节点对应的节点数据存储到所述本地缓存中。
可选地,所述从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,包括:
优先获取所述目标节点对应的节点数据,之后再获取所述目标节点所在层中除所述目标节点之外的其他各节点对应的节点数据;
优先将所述目标节点对应的节点数据存储到所述目标节点中,之后再将所述其他各节点对应的节点数据分别存储到所述其他各节点中。
可选地,在所述生成数据加载指令的步骤之前,所述方法还包括:
判断所述第一目标层的各节点中是否存储有对应的节点数据;
若判定所述第一目标层的各节点未存储有对应的节点数据,且所述本地缓存中未存储有所述第一目标层的各节点对应的节点数据,则执行所述生成数据加载指令的步骤。
可选地,所述目标节点为所述树形结构中的一个或多个节点,其中,当所述目标节点为所述树形结构中的多个节点时,所述多个节点具有相同的父节点。
根据本公开的第二方面,提供一种节点数据的展现装置,所述多个节点构成树形结构,所述装置应用于客户端,所述装置包括:
数据获取模块,用于当接收到针对目标节点的数据展现指令时,若所述目标节点中未存储有节点数据,且所述客户端的本地缓存中存储有所述目标节点所在层的各节点对应的节点数据,则从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除所述本地缓存中存储的所述目标节点所在层的各节点对应的节点数据,其中,初始状态下,所述本地缓存中预先存储有所述树形结构的前N层中各节点对应的节点数据,N为大于1且小于所述树形结构的最大层级的正整数;
数据展现模块,用于响应于所述数据展现指令,展现所述目标节点中存储的节点数据;
数据请求模块,用于若所述本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送所述数据加载指令,所述数据加载指令用于请求获取所述第一目标层的各节点对应的节点数据,其中,所述第一目标层的层级为所述目标节点所在层的层级加N,且不大于所述最大层级;
数据存储模块,用于接收所述服务器发送的所述第一目标层的各节点对应的节点数据,并将所述第一目标层的各节点对应的节点数据存储到所述本地缓存中。
可选地,所述数据获取模块包括:
数据获取子模块,用于优先获取所述目标节点对应的节点数据,之后再获取所述目标节点所在层中除所述目标节点之外的其他各节点对应的节点数据;
数据存储子模块,用于优先将所述目标节点对应的节点数据存储到所述目标节点中,之后再将所述其他各节点对应的节点数据分别存储到所述其他各节点中。
可选地,所述装置还包括:
判断模块,用于在所述数据请求模块生成数据加载指令之前,判断所述第一目标层的各节点中是否存储有对应的节点数据;
所述数据请求模块用于若所述判断模块判定所述第一目标层的各节点未存储有对应的节点数据,且所述本地缓存中未存储有所述第一目标层的各节点对应的节点数据,生成数据加载指令。
可选地,所述目标节点为所述树形结构中的一个或多个节点,其中,当所述目标节点为所述树形结构中的多个节点时,所述多个节点具有相同的父节点。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的节点数据的展现方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的节点数据的展现方法的步骤。
通过上述技术方案,通过预加载的方式,将树形结构相应节点的节点数据预先存储在本地缓存中,当需要对目标节点进行数据展现时,使得目标节点的节点数据可以直接从本地缓存中获取到,而不必频繁向服务器请求数据。这样,可以提升数据加载和展现的效率,降低数据展现时可能出现的延迟现象。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的节点数据的展现方法的流程图。
图2是本公开提供的节点数据的展现方法在实施时,节点所在的树形结构的一种示例性示意图。
图3是本公开本公开提供的节点数据的展现方法在实施时,初始状态下本地缓存中存储的节点数据的一种示例性示意图。
图4A是本公开提供的节点数据的展现方法在实施时,节点数据展现的一种示例性的示意图。
图4B是本公开提供的节点数据的展现方法在实施时,节点数据展现的另一种示例性的示意图。
图4C是本公开提供的节点数据的展现方法在实施时,节点数据展现的另一种示例性的示意图。
图5A是本公开本公开提供的节点数据的展现方法在实施时,节点数据展现的一种示例性示意图。
图5B是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图5C是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图6A是本公开本公开提供的节点数据的展现方法在实施时,节点数据展现的一种示例性示意图。
图6B是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图6C是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图7A是本公开本公开提供的节点数据的展现方法在实施时,节点数据展现的一种示例性示意图。
图7B是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图7C是本公开本公开提供的节点数据的展现方法在实施时,本地缓存中存储的节点数据的一种示例性示意图。
图8是根据本公开的一种实施方式提供的节点数据的展现装置的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据本公开的一种实施方式提供的节点数据的展现方法的流程图。该方法可以应用于客户端,其中,多个节点可以构成树形结构。示例地,节点可以为树形控件中的节点。示例地,节点所在的树形结构的完整状态可以如图2中所示,由图2可知,该树形结构共有七层,每一层存在有一个或若干个节点,节点用圆形表示,节点内的数字代表该节点对应的节点数据。例如,树形结构的第一层包含一个节点(节点11),第三层包含六个节点(节点31、节点32、节点33、节点34、节点35、节点36)。其中,节点11对应的节点数据为101,节点44对应的节点数据为404。
首先,需要说明的是,在初始状态下,本地缓存中可以预先存储有树形结构的前N层中各节点对应的节点数据。其中,N可以为大于1且小于树形结构的最大层级的正整数。示例地,对于图2中的树形结构,其最大层级为7,则N可以为2~6中的任意正整数。可选地,在实际应用中,对于千万级数据量的树形结构,N可以取2或3。本地缓存存储树形结构前N层中各节点对应的节点数据可以在用户通过客户端执行预设动作后进行,例如,用户通过相应操作(例如,点击某按键)进入客户端的用于展现节点数据的页面,可以认为该用户存在数据展现的需求,因此客户端可以向服务器请求相应树形结构前N层中各节点对应的节点数据,为之后节点数据的展现做好数据准备。在该树形结构的前N层中各节点对应的节点数据存储到本地缓存中时,即是上文中所述的初始状态。
回到图1,如图1中所示,该方法可以包括以下步骤。
在步骤110中,当接收到针对目标节点的数据展现指令时,若目标节点中未存储有节点数据,且客户端的本地缓存中存储有目标节点所在层的各节点对应的节点数据,则从本地缓存中获取目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除本地缓存中存储的目标节点所在层的各节点对应的节点数据。
在这里,初始状态下,客户端的本地缓存中可以预先存储有树形结构前N层中各节点对应的节点数据。示例地,对于图2中所示的树形结构,若N为3,则客户端的本地缓存中可以预先存储有树形结构前三层中各节点对应的节点数据,如图3所示,为了方便查看,在图3中直接用节点表示了本地缓存中存储的相应节点对应的节点数据。
目标节点可以为树形结构中的一个或多个节点,其中,当目标节点为树形结构中的多个节点时,该多个节点具有相同的父节点。在图2中所示的树形结构中,示例地,目标节点可以为节点11(根节点)。再例如,目标节点可以为节点31、节点32和节点33,其具有相同的父节点21。再例如,目标节点可以为节点71。
当客户端处于节点数据的展现页面时,客户端会接收到针对目标节点的数据展现指令。示例地,在用户点击已展现的某一节点时,客户端可以接收到针对目标节点的数据展现指令,这里的目标节点为用户点击的节点的子节点。再例如,在刚刚进入客户端节点数据的展现页面时,页面上未展现任何节点数据,此时客户端可以接收到针对根节点的数据展现指令。
当接收到针对目标节点的数据展现指令时,可以首先确定目标节点中是否存储有节点数据,以确定是否需要从客户端的本地缓存中获取目标节点的节点数据。
若目标节点中未存储有节点数据、且客户端的本地缓存中存储有目标节点所在层的各节点对应的节点数据,可以从本地缓存中获取目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除本地缓存中存储的目标节点所在层的各节点对应的数据。
而若目标节点已存储有节点数据,可以直接响应于该数据展现指令,展现目标节点中存储的节点数据,而不必再执行后续的步骤。
在步骤110的一种实施方式中,从本地缓存获取目标节点所在层的各节点对应的节点数据并存储到对应节点中,可以包括以下步骤:
优先获取目标节点对应的节点数据,之后再获取目标节点所在层中除目标节点之外的其他各节点对应的节点数据;
优先将目标节点对应的节点数据存储到目标节点中,之后再将其他各节点对应的节点数据分别存储到其他各节点中。
由于接收到针对目标节点的数据展现指令,说明客户端需要展现目标节点的数据,因此可以优先获取目标节点对应的节点数据,之后再获取目标节点所在层中除目标节点之外的其他各节点对应的节点数据,并且,优先将目标节点对应的节点数据存储到目标节点中,之后再将其他各节点对应的节点数据分别存储到其他各节点中。例如,在图2所示的树形结构中,若目标节点为节点43,那么在从本地缓存中获取并存储相应数据时,可以首先获取节点43对应的节点数据,之后再获取节点41、节点42、节点44~48对应的节点数据,并且,可以优先将节点43对应的节点数据存储到节点43中,之后再将节点41、节点42、节点44~48对应的节点数据存储到相应节点中。
通过这样的方式,可以保证需要进行数据展现的目标节点的节点数据能够最先被获取并存储到目标节点中,从而在后续的数据展现中保证数据展现的效率,以提升用户体验。
在步骤110的另一种实施方式中,从本地缓存获取目标节点所在层的各节点对应的节点数据并存储到对应的节点中,可以采用随机的顺序对节点数据进行获取以及存储。示例地,可以按照在树形结构中由左至右的顺序获取并加载目标节点所在层的各节点对应的节点数据。例如,在图2中所示的树形结构中,若目标节点为节点36,可以按照节点31、节点32、节点33、节点34、节点35、节点36的顺序获取并存储节点数据,此时,目标节点36是最后一个存储完成的节点。再例如,可以按照在树形结构中由右至左的顺序获取并加载目标节点所在层的各节点对应的节点数据。例如,在图2中所示的树形结构中,若目标节点为节点36,可以按照节点36、节点35、节点34、节点33、节点32、节点31的顺序获取并存储节点数据,此时,目标节点36是第一个存储完成的节点。
在步骤110的另一种实施方式中,从本地缓存获取目标节点所在层的各节点对应的节点数据并存储到对应的节点中,可以根据目标节点在其所在层所处的位置进行相应调整。示例地,若目标节点为其所在层处于偏左位置的节点,可以按照在树形结构中由左至右的顺序获取并加载目标节点所在层的各节点对应的节点数据。再例如,若目标节点为其所在层处于偏右位置的节点,可以按照在树形结构中由右至左的顺序获取并加载目标节点所在层的各节点对应的节点数据。
在步骤120中,响应于数据展现指令,展现目标节点中存储的节点数据。
示例地,数据展现的方式可以表现为具有层级关系的菜单,例如,若目标节点为节点11,展现后的页面可以如图4A所示;若目标节点为节点31、节点32和节点33,展现后的页面可以如图4B所示。再例如,数据展现的方式可以按照图2中所示的方式直接进行展示。例如,若目标节点为节点41和节点42,展现后的页面可以如图4C所示。
在步骤130中,若本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送数据加载指令。
在经步骤110删除本地缓存中存储的目标节点所在层的各节点对应的节点数据后,可以确定本地缓存中是否存储有第一目标层的各节点对应的节点数据。其中,第一目标层的层级可以为目标节点所在层的层级加N,且不大于最大层级。例如,对于图2中所示的树形结构,第一目标层的层级应不大于7。若本地缓存中未存储有第一目标层的各节点对应的节点数据,可以生成数据加载指令,并向服务器发送该数据加载指令。其中,数据加载指令可以用于请求获取第一目标层的各节点对应的节点数据。
在步骤130的一种实施方式中,首先,可以判断第一目标层的各节点中是否存储有对应的节点数据。若判定第一目标层的各节点中已存储有对应的节点数据,说明该第一目标层的数据已经被存储到相应的节点中,也就是说,已经从客户端的本地缓存中获取过该第一目标层的各节点的节点数据,因此,不必再从本地缓存中重复获取,本地缓存也不必再向服务器请求获取该数据,因此可以不必执行生成数据加载指令、向服务器发送数据加载指令以及后续的相关步骤。
而若判定第一目标层的各节点未存储有对应的节点数据,且本地缓存中未存储有第一目标层的各节点对应的节点数据,说明第一目标层的各节点对应的节点数据未存在于本地缓存中,也未被存储到第一目标层的各节点中,因此,可以执行生成数据加载指令的步骤以及后续的相关步骤。
在步骤140中,接收服务器发送的第一目标层的各节点对应的节点数据,并将第一目标层的各节点对应的节点数据存储到本地缓存中。
在向服务器发送数据加载指令后,服务器针对该数据加载指令会将第一目标层的各节点对应的节点数据发送至客户端,客户端可以接收服务器发送的第一目标层的各节点对应的节点数据,并将第一目标层的各节点对应的节点数据存储到本地缓存中。
下面将会以N为3的情况为例、结合图2中所示的树形结构,对本公开所提供的方法进行详细说明。
在初始状态下,如前文中所述,客户端的本地缓存中预先存储有树形结构前三层中各节点对应的节点数据,如图3所示。此时客户端未展现任何节点数据。之后,客户端可以接收到针对根节点11的数据展现指令,此时目标节点为节点11,该指令可以是用户进行相应操作而生成的,也可以是自动生成的。
当接收到针对目标节点(节点11)的数据展现指令时,节点11中未存储有节点数据,并且客户端的本地缓存中存储有节点11所在层(第一层)的各节点(节点11)对应的节点数据(见图3),因此,可以从本地缓存中获取第一层的各节点对应的节点数据并存储到对应节点中,并删除本地缓存中存储的第一层的各节点对应的节点数据。示例地,若以树形展现节点数据,此时的数据展现情况可以如图5A所示,此时本地缓存中存储的节点数据可以如图5B所示。由目标节点所在层级为1以及N=3可知第一目标层的层级为4,即第一目标层为第四层,而此时本地缓存中未存储有第四层的各节点对应的节点数据,因此客户端可以生成数据加载指令,以向服务器请求获取树形结构中第四层的各节点对应的节点数据。在接收并存储服务器发送的相应数据后,本地缓存中存储的节点数据可以如图5C所示。
在数据展现页面为图5A的情况下,若用户点击节点11,客户端将会接收到针对目标节点(节点21、节点22和节点23)的数据展现指令,此时目标节点(节点21、节点22和节点23)未存储有节点数据。并且,客户端的本地缓存中存储有目标节点所在层(第二层)的各节点对应的节点数据,示例地,可以如图5B或图5C所示。若此时本地缓存存储的节点数据如图5C所示,可以从本地缓存中获取第二层的各节点对应的节点数据并存储到对应节点中,并删除本地缓存中存储的第二层的各节点对应的节点数据。示例地,此时数据展现情况可以如图6A所示。相应地,本地缓存中存储的节点数据可以如图6B所示。由目标节点所在层级为2以及N=3可知第一目标层的层级为5,即第一目标层为第五层,而此时本地缓存中未存储有第五层的各节点对应的节点数据,因此,客户端可以生成数据加载指令,以向服务器请求获取树形结构中第五层的各节点对应的节点数据。在接收并存储服务器发送的相应数据后,本地缓存中存储的节点数据可以如图6C所示。
在数据展现页面为图6A的情况下,若用户点击节点22,客户端将会接收到针对目标节点(节点34、节点35)的数据展现指令,此时目标节点(节点34、节点35)未存储有节点数据。并且,客户端的本地缓存中存储有目标节点所在层(第三层)的各节点对应的节点数据,示例地,可以如图6C所示。若此时本地缓存存储的节点数据如图6C所示,可以从本地缓存中获取第三层的各节点对应的节点数据并存储到对应节点中,并删除本地缓存中存储的第三层的各节点对应的节点数据。示例地,此时数据展现情况可以如图7A所示。相应地,本地缓存中存储的节点数据可以如图7B所示。由目标节点所在层级为3以及N=3可知第一目标层的层级为6,即第一目标层为第六层,而此时本地缓存中未存储有第六层的各节点对应的节点数据,因此,客户端可以生成数据加载指令,以向服务器请求获取树形结构中第六层的各节点对应的节点数据。在接收并存储服务器发送的相应数据后,本地缓存中存储的节点数据可以如图7C所示。
在第一目标层级小于或等于树形结构最大层级的情况下,节点数据的展现过程与上文中描述的相似,在此不进行重复描述。在这个过程中,本地缓存中的节点数据每被删除一层,就会向服务器再请求一层新的节点数据,这样,可以保证本地缓存中存储的节点数据保持为N层,也就是本地缓存中一直存储有N层的节点数据。
针对于图2所示的树形结构,若当前的节点数据展现页面如图7A所示,当用户点击第三层的某一节点时,例如,用户点击节点34,客户端接收到的是针对目标节点(节点44和节点45)的数据展现指令,此时第一目标层的层级为7,即为树形结构的最大层级,因此客户端生成的数据加载指令所请求的是树形结构中第七层的各节点所对应的节点数据,在接收并存储服务器发送的相应数据后,本地缓存中存储的节点数据为树形结构中第五层、第六层和第七层的数据,也就是说,树形结构中所有的节点数据已经存储到相应的节点中或者存储在本地缓存中。因此,在之后的节点数据展现中,客户端不必向服务器请求节点数据。
通过上述方案,通过预加载的方式,将树形结构相应节点的节点数据预先存储在本地缓存中,当需要对目标节点进行数据展现时,使得目标节点的节点数据可以直接从本地缓存中获取到,而不必频繁向服务器请求数据。这样,可以提升数据加载和展现的效率,降低数据展现时可能出现的延迟现象。
图8是根据本公开的一种实施方式提供的节点数据的展现装置的框图。所述多个节点构成树形结构,所述装置800应用于客户端。如图8所示,所述装置800包括:
数据获取模块810,用于当接收到针对目标节点的数据展现指令时,若所述目标节点中未存储有节点数据,且所述客户端的本地缓存中存储有所述目标节点所在层的各节点对应的节点数据,则从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除所述本地缓存中存储的所述目标节点所在层的各节点对应的节点数据,其中,初始状态下,所述本地缓存中预先存储有所述树形结构的前N层中各节点对应的节点数据,N为大于1且小于所述树形结构的最大层级的正整数;
数据展现模块820,用于响应于所述数据展现指令,展现所述目标节点中存储的节点数据;
数据请求模块830,用于若所述本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送所述数据加载指令,所述数据加载指令用于请求获取所述第一目标层的各节点对应的节点数据,其中,所述第一目标层的层级为所述目标节点所在层的层级加N,且不大于所述最大层级;
数据存储模块840,用于接收所述服务器发送的所述第一目标层的各节点对应的节点数据,并将所述第一目标层的各节点对应的节点数据存储到所述本地缓存中。
可选地,所述数据获取模块810包括:
数据获取子模块,用于优先获取所述目标节点对应的节点数据,之后再获取所述目标节点所在层中除所述目标节点之外的其他各节点对应的节点数据;
数据存储子模块,用于优先将所述目标节点对应的节点数据存储到所述目标节点中,之后再将所述其他各节点对应的节点数据分别存储到所述其他各节点中。
可选地,所述装置800还包括:
判断模块,用于在所述数据请求模块830生成数据加载指令之前,判断所述第一目标层的各节点中是否存储有对应的节点数据;
所述数据请求模块830用于若所述判断模块判定所述第一目标层的各节点未存储有对应的节点数据,且所述本地缓存中未存储有所述第一目标层的各节点对应的节点数据,生成数据加载指令。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的节点数据的展现方法的步骤。
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902。该电子设备900还可以包括多媒体组件903,输入/输出(I/O)接口904,以及通信组件905中的一者或多者。
其中,处理器901用于控制该电子设备900的整体操作,以完成上述的节点数据的展现方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的节点数据的展现方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的节点数据的展现方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的节点数据的展现方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种节点数据的展现方法,其特征在于,多个所述节点构成树形结构,所述方法应用于客户端,所述方法包括:
当接收到针对目标节点的数据展现指令时,若所述目标节点中未存储有节点数据,且所述客户端的本地缓存中存储有所述目标节点所在层的各节点对应的节点数据,则从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除所述本地缓存中存储的所述目标节点所在层的各节点对应的节点数据,其中,初始状态下,所述本地缓存中预先存储有所述树形结构的前N层中各节点对应的节点数据,N为大于1且小于所述树形结构的最大层级的正整数;
响应于所述数据展现指令,展现所述目标节点中存储的节点数据;
若所述本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送所述数据加载指令,所述数据加载指令用于请求获取所述第一目标层的各节点对应的节点数据,其中,所述第一目标层的层级为所述目标节点所在层的层级加N,且不大于所述最大层级;
接收所述服务器发送的所述第一目标层的各节点对应的节点数据,并将所述第一目标层的各节点对应的节点数据存储到所述本地缓存中。
2.根据权利要求1所述的方法,其特征在于,所述从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,包括:
优先获取所述目标节点对应的节点数据,之后再获取所述目标节点所在层中除所述目标节点之外的其他各节点对应的节点数据;
优先将所述目标节点对应的节点数据存储到所述目标节点中,之后再将所述其他各节点对应的节点数据分别存储到所述其他各节点中。
3.根据权利要求1所述的方法,其特征在于,在所述生成数据加载指令的步骤之前,所述方法还包括:
判断所述第一目标层的各节点中是否存储有对应的节点数据;
若判定所述第一目标层的各节点未存储有对应的节点数据,且所述本地缓存中未存储有所述第一目标层的各节点对应的节点数据,则执行所述生成数据加载指令的步骤。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述目标节点为所述树形结构中的一个或多个节点,其中,当所述目标节点为所述树形结构中的多个节点时,所述多个节点具有相同的父节点。
5.一种节点数据的展现装置,其特征在于,多个节点构成树形结构,所述装置应用于客户端,所述装置包括:
数据获取模块,用于当接收到针对目标节点的数据展现指令时,若所述目标节点中未存储有节点数据,且所述客户端的本地缓存中存储有所述目标节点所在层的各节点对应的节点数据,则从所述本地缓存获取所述目标节点所在层的各节点对应的节点数据并存储到对应节点中,并删除所述本地缓存中存储的所述目标节点所在层的各节点对应的节点数据,其中,初始状态下,所述本地缓存中预先存储有所述树形结构的前N层中各节点对应的节点数据,N为大于1且小于所述树形结构的最大层级的正整数;
数据展现模块,用于响应于所述数据展现指令,展现所述目标节点中存储的节点数据;
数据请求模块,用于若所述本地缓存中未存储有第一目标层的各节点对应的节点数据,生成数据加载指令,并向服务器发送所述数据加载指令,所述数据加载指令用于请求获取所述第一目标层的各节点对应的节点数据,其中,所述第一目标层的层级为所述目标节点所在层的层级加N,且不大于所述最大层级;
数据存储模块,用于接收所述服务器发送的所述第一目标层的各节点对应的节点数据,并将所述第一目标层的各节点对应的节点数据存储到所述本地缓存中。
6.根据权利要求5所述的装置,其特征在于,所述数据获取模块包括:
数据获取子模块,用于优先获取所述目标节点对应的节点数据,之后再获取所述目标节点所在层中除所述目标节点之外的其他各节点对应的节点数据;
数据存储子模块,用于优先将所述目标节点对应的节点数据存储到所述目标节点中,之后再将所述其他各节点对应的节点数据分别存储到所述其他各节点中。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述数据请求模块生成数据加载指令之前,判断所述第一目标层的各节点中是否存储有对应的节点数据;
所述数据请求模块用于若所述判断模块判定所述第一目标层的各节点未存储有对应的节点数据,且所述本地缓存中未存储有所述第一目标层的各节点对应的节点数据,生成数据加载指令。
8.根据权利要求5-7中任一项所述的装置,其特征在于,所述目标节点为所述树形结构中的一个或多个节点,其中,当所述目标节点为所述树形结构中的多个节点时,所述多个节点具有相同的父节点。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810737516.2A CN109144998B (zh) | 2018-07-06 | 2018-07-06 | 节点数据的展现方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810737516.2A CN109144998B (zh) | 2018-07-06 | 2018-07-06 | 节点数据的展现方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144998A CN109144998A (zh) | 2019-01-04 |
CN109144998B true CN109144998B (zh) | 2020-10-16 |
Family
ID=64799898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810737516.2A Active CN109144998B (zh) | 2018-07-06 | 2018-07-06 | 节点数据的展现方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144998B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492005A (zh) * | 2018-11-07 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种b+树读缓存方法及相关装置 |
CN110689600A (zh) * | 2019-09-16 | 2020-01-14 | 贝壳技术有限公司 | 树形组件的渲染方法和装置、可读存储介质、电子设备 |
CN113076292B (zh) * | 2021-03-30 | 2023-03-14 | 山东英信计算机技术有限公司 | 一种文件缓存方法、系统、存储介质及设备 |
CN114942760A (zh) * | 2022-05-13 | 2022-08-26 | 中国联合网络通信集团有限公司 | 组织结构层级树的渲染方法、客户端、服务器和介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204218B (zh) * | 2011-05-31 | 2015-01-21 | 华为技术有限公司 | 数据处理方法、缓存节点、协作控制器及系统 |
CN102999608A (zh) * | 2012-11-21 | 2013-03-27 | 用友软件股份有限公司 | 大数据的树表展现系统和树表展现方法 |
-
2018
- 2018-07-06 CN CN201810737516.2A patent/CN109144998B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109144998A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144998B (zh) | 节点数据的展现方法、装置、存储介质及电子设备 | |
JP6997253B2 (ja) | ウェブページレンダリング方法、装置、電子設備、記憶媒体及びプログラム | |
CN108153670B (zh) | 一种接口测试方法、装置及电子设备 | |
KR102376713B1 (ko) | 복합 파티션 함수 제공 기법 | |
CN109815261B (zh) | 全局搜索功能实现及数据实时同步方法、装置及电子设备 | |
CN108038134B (zh) | 页面展示的方法、装置和存储介质以及电子设备 | |
CN107450903B (zh) | 一种信息处理方法及装置 | |
CN107133309B (zh) | 流程实例的存储、查询方法及装置、存储介质及电子设备 | |
CN108647317B (zh) | 增量文件的生成方法、装置和存储介质以及电子设备 | |
CN110019024B (zh) | 一种目录查询方法、系统及电子设备和存储介质 | |
CN111274781A (zh) | 表格显示方法、装置、存储介质及电子设备 | |
CN111752960B (zh) | 数据处理方法和装置 | |
CN109286517B (zh) | 创建服务的方法、装置和存储介质以及电子设备 | |
CN107918617B (zh) | 数据查询方法和装置 | |
CN109388388B (zh) | 功能模块间的信息交互方法、装置、设备及存储介质 | |
CN108255898B (zh) | 页面显示方法和装置 | |
CN112069137B (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN105472015A (zh) | 云平台接入第三方应用的方法和装置 | |
US20200167133A1 (en) | Web service mashup orchestrator | |
CN114924826B (zh) | 基于不同的代码平台的页面融合方法、装置和设备 | |
US20220229858A1 (en) | Multi-cloud object store access | |
CN107977277B (zh) | Erp系统中集成第三方系统的方法、装置及计算机设备 | |
US9170716B1 (en) | System and method for a distributed graphical user interface | |
CN114785770A (zh) | 镜像层文件发送方法、装置、电子设备和计算机可读介质 | |
US20200177390A1 (en) | Providing data verification in a blockchain ledger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |