CN117473188B - 一种显示数据的渲染方法、装置、电子设备及存储介质 - Google Patents
一种显示数据的渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117473188B CN117473188B CN202311830940.9A CN202311830940A CN117473188B CN 117473188 B CN117473188 B CN 117473188B CN 202311830940 A CN202311830940 A CN 202311830940A CN 117473188 B CN117473188 B CN 117473188B
- Authority
- CN
- China
- Prior art keywords
- data
- tree structure
- node
- rendering
- rendered
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000000547 structure data Methods 0.000 claims abstract description 47
- 238000007781 pre-processing Methods 0.000 claims abstract description 29
- 238000003491 array Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种显示数据的渲染方法、装置、电子设备及存储介质,所述方法包括:获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。通过上述特征,从而本发明实施例可以提高对显示数据的渲染性能。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种显示数据的渲染方法、装置、电子设备及存储介质。
背景技术
随着科学技术的发展,各类产品的使用群体逐渐扩大,其中,浏览器的页面中运行的JavaScript语言采用的是单线程模型(浏览器的每个页面中只能执行一个JavaScript线程,不能创建额外的线程,不能开展并行任务),即前端使用JavaScript只能使用单线程处理所有任务。
在现有技术中,当JavaScript线程加载一大段数据时,后端数据可以一次性返回,前端基于单线程将后端数据生成为树形结构数据,最后渲染到前端的页面,由于JavaScript线程和渲染线程是互斥的,JavaScript线程长期占用中央处理器(CentralProcessing Unit,CPU)会导致渲染线程无法被CPU执行(阻塞渲染),从而造成页面长期空白或者卡顿,严重影响了用户体验。
可见,现有技术中存在对显示数据的渲染性能较差的问题。
发明内容
本发明实施例提供一种显示数据的渲染方法、装置、电子设备及存储介质,以解决现有技术中对显示数据的渲染性能较差的问题。
第一方面,本发明实施例提供一种显示数据的渲染方法,所述方法包括:
获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
可选地,所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述生成所述待渲染数据的第一信息,包括:
获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配。
可选地,所述基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,包括:
基于所述目标数组计算每个一级节点对应的节点分组价值;
将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集。
可选地,所述节点分组价值通过如下方式得到:
基于所述目标数组调用对应的一级节点包括的总目标数以及层级;
获取第一影响因子和第二影响因子,所述第一影响因子为一级节点下总目标数影响因子,所述第二影响因子为一级节点层级深度影响因子,所述第一影响因子与所述第二影响因子的和为1;
将第一乘积和第二乘积相加,得到对应的一级节点的子节点分组价值,所述第一乘积为所述第一影响因子与对应的一级节点包括的总目标数的乘积,第二乘积为所述第二影响因子与对应的一级节点的层级的乘积;
整合所有一级节点对应的子节点分组价值,得到所述节点分组价值。
可选地,所述在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集,包括:
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,确定所述第一树形结构分组价值和所述第二树形结构分组价值分别对应的一级节点索引值;
基于所述一级节点索引值将所述第一树形结构分组价值对应的一级节点和所述第二树形结构分组价值对应的一级节点分入至所述第一组别;
其中,所述预设条件为所述第一树形结构分组价值匹配的总目标数与所述第二树形结构分组价值匹配的总目标数的和小于或等于分组预设阈值。
可选地,所述采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染,包括:
创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
将所述渲染数据集分流至所述任务队列;
对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
基于所述第一页面数据实时渲染所述待渲染页面。
可选地,在所述获取服务器发送的待渲染数据之后,所述方法还包括:
获取分组预设阈值和当前树形结构数据的数据量,所述当前树形结构数据的数据量基于所述待渲染数据生成得到;
在所述数据量小于或等于所述分组预设阈值的情况下,对所述待渲染数据进行树形结构化处理,得到第二页面数据,并基于所述第二页面数据对待渲染页面进行渲染。
第二方面,本发明实施例提供一种显示数据的渲染装置,包括:
第一获取模块,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
生成模块,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
分组模块,用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
第一处理模块,用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
可选地,所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述生成模块包括:
获取单元,用于获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
确定单元,用于基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
生成单元,用于基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配。
可选地,所述分组模块包括:
计算单元,用于基于所述目标数组计算每个一级节点对应的节点分组价值;
第一处理单元,用于将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
第二处理单元,用于对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
分组单元,用于在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集。
可选地,所述节点分组价值通过如下方式得到:
基于所述目标数组调用对应的一级节点包括的总目标数以及层级;
获取第一影响因子和第二影响因子,所述第一影响因子为一级节点下总目标数影响因子,所述第二影响因子为一级节点层级深度影响因子,所述第一影响因子与所述第二影响因子的和为1;
将第一乘积和第二乘积相加,得到对应的一级节点的子节点分组价值,所述第一乘积为所述第一影响因子与对应的一级节点包括的总目标数的乘积,第二乘积为所述第二影响因子与对应的一级节点的层级的乘积;
整合所有一级节点对应的子节点分组价值,得到所述节点分组价值。
可选地,所述分组单元包括:
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,确定所述第一树形结构分组价值和所述第二树形结构分组价值分别对应的一级节点索引值;
基于所述一级节点索引值将所述第一树形结构分组价值对应的一级节点和所述第二树形结构分组价值对应的一级节点分入至所述第一组别;
其中,所述预设条件为所述第一树形结构分组价值匹配的总目标数与所述第二树形结构分组价值匹配的总目标数的和小于或等于分组预设阈值。
可选地,所述第一处理模块包括:
创建单元,用于创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
第三处理单元,用于将所述渲染数据集分流至所述任务队列;
第四处理单元,用于对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
渲染单元,用于基于所述第一页面数据实时渲染所述待渲染页面。
可选地,所述装置还包括:
第二获取模块,用于获取分组预设阈值和当前树形结构数据的数据量,所述当前树形结构数据的数据量基于所述待渲染数据生成得到;
第二处理模块,用于在所述数据量小于或等于所述分组预设阈值的情况下,对所述待渲染数据进行树形结构化处理,得到第二页面数据,并基于所述第二页面数据对待渲染页面进行渲染。
第三方面,本发明实施例提供一种电子设备,包括收发机和处理器,
所述收发机,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
所述处理器,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
所述处理器,还用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
所述处理器,还用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
第四方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的显示数据的渲染方法的步骤。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的显示数据的渲染方法的步骤。
本发明实施例中,首先获取到由服务器发送的待渲染数据,然后依据待渲染数据生成匹配待渲染数据的第一信息,并根据第一信息对待渲染数据进行分组,得到渲染数据集,其中,待渲染数据为树形结构数据,树形结构数据包括至少一个一级节点,而渲染数据集包括至少一个数据集,数据集包括部分所述一级节点,最后对渲染数据集采用异步方法进行数据预处理,得到第一页面数据,依据第一页面数据对待渲染页面进行渲染。在本发明实施例的技术方案中,采用分组和异步处理相结合的方式,基于树形结构数据对待渲染数据进行处理,从而减小了对页面性能的影响,提高了对显示数据的渲染性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种显示数据的渲染方法的流程示意图;
图2是本发明实施例提供的对待渲染数据进行分组的流程示意图;
图3是本发明实施例提供的进行异步处理的流程示意图;
图4是本发明实施例提供的一种显示数据的渲染装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参见图1,图1是本发明实施例提供的一种显示数据的渲染方法的流程示意图,如图1所示,所述方法包括以下步骤:
步骤101、获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
步骤102、生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
步骤103、基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
步骤104、采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
其中,上述显示数据的渲染方法所包括的步骤101、步骤102、步骤103以及步骤104可以是由电子设备来执行,例如计算机等设备,具体可以为前端服务器,对此本发明实施例不作限定。
在步骤101中,上述服务器可以是理解为后端服务器,即前端服务器获取来自后端服务器发送的上述待渲染数据,因为上述待渲染数据为树形结构数据,因此本发明实施例涉及树形结构数据的展示,即在获取后端的上述待渲染数据后,在前端对上述待渲染数据进行渲染和展示。
上述待渲染数据可以为与用户信息相关的列表数据,也可以是与产品信息相关的列表数据,应用场景的不同对应着数据内容的不同,例如:以云空间应用为例,云空间包含个人盘、群组盘、企业盘三个存储空间,其中个人盘用来存储用户的个人文件,群组盘用来存储企业内部门及部门内班组的公共文件,便于班组管理和协同办公;企业盘用来存储企业的公共文件,实现企业文件共享,当云空间群组盘新建群组或是修改群组权限时,即涉及到树形结构数据的展示,在此例中,上述待渲染数据为与用户信息相关的列表数据。
在步骤102中,首先,根据上述待渲染数据确定树形结构数据中的一级节点的总数,接着再确定上述第一信息,上述第一信息用于在步骤103中对上述待渲染数据按照上述一级节点进行分组产生影响,因此对于上述第一信息,需要从上述待渲染数据中准确获取。
应理解,上述第一信息可以是包括上述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级,随着应用场景的不同,上述第一信息的表述方式也可以发生改变,例如继续以云空间应用为例,上述待渲染数据中每个一级节点包括的总目标数可以按如下方式表述:上述待渲染数据中每个一级节点包括的总人数,而上述所提到的每个一级节点对应的层级则为树形结构数据的特征属性,在此不作赘述。
在步骤103中,基于上述第一信息对上述待渲染数据按照上述一级节点进行分组,得到上述渲染数据集,在此过程中将树形结构一级节点下的总目标数和层级深度结合,得到各个一级节点的分组价值,作为分组依据,从而可以对上述渲染数据集中的各个数据集进行处理,最终在前端页面进行展示。
应理解,在分组过程中可以引入相关参数,从而对根据上述待渲染数据在分组开始时或分组过程中进行相关参数的动态调整,从而保证分组的有效性,其中,相关参数可以是基于一级节点的总目标数和层级的参数,例如:对应总目标数的影响因子、对应层级的影响因子。
需要说明的是,若在分组过程中引入相关参数,那么相关参数可以由相关人员根据上述待渲染数据的实际情况进行调整,从而保证分组的有效性,对于具体的参数调整操作,本发明实施例不作限定。
在步骤104中,在分组结束后,可以是首先对各组数据(各个数据集)采用循环加递归的方式进行树形结构数据的生成,此时引入异步操作,对各组数据(各个数据集)进行处理,例如:将各组数据(各个数据集)加入至不同的任务队列,通过该方法,极大地提高了数据预处理的速度和效率,以解决前端页面渲染卡顿的问题。
作为一种可选地实施方式,步骤104可以按照如下流程执行:对分组后的各组数据,利用java Script的事件循环机制,将分组数据分流到下一次事件循环队列中。将数据预处理方法作为set Timeout的回调函数进行前端数据预处理,最终将处理后的数据渲染到前端页面。
在该实施方案中,首先获取到由服务器发送的待渲染数据,然后依据待渲染数据生成匹配待渲染数据的第一信息,并根据第一信息对待渲染数据进行分组,得到渲染数据集,其中,待渲染数据为树形结构数据,树形结构数据包括至少一个一级节点,而渲染数据集包括至少一个数据集,数据集包括部分所述一级节点,最后对渲染数据集采用异步方法进行数据预处理,得到第一页面数据,依据第一页面数据对待渲染页面进行渲染。在本发明实施例的技术方案中,采用分组和异步处理相结合的方式,基于树形结构数据对待渲染数据进行处理,从而减小了对页面性能的影响,提高了对显示数据的渲染性能。
需要说明的是,在执行步骤103之前,还可以添加一个判断步骤,该判断步骤用于判断上述待渲染数据的数据量是否满足预设条件,预设条件为上述待渲染数据的数据量大于树形结构分组阈值,在上述待渲染数据的数据量满足预设条件的情况下,继续执行步骤103;若上述待渲染数据的数据量不满足预设条件,则直接对上述待渲染数据进行预处理,并在前端页面进行展示。
可选地,所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述生成所述待渲染数据的第一信息,包括:
获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配。
应理解,上述第一信息还可以是包括有目标数组,上述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列,上述目标数组也可以理解为每一个一级节点对应的总目标数和层级组成的数组,假设上述待渲染数据中的一级节点个数为N,那么上述目标数组中包括的数组个数也为N,N为正整数。
其中,上述每个一级节点包括的总目标数可以根据对目标数据进行遍历和递归得到,同样地,上述每个一级节点对应的层级可以从上述服务器(后端服务器)返回的数据字段中直接获取。
在该实施方案中,首先通过对上述目标数据进行遍历和递归得到上述每个一级节点包括的总目标数,接着从上述数据字段中直接获取上述每个一级节点对应的层级,从而生成当前树形结构数据(待渲染数据)下所有一级节点总目标数和层级(深度)的目标数组,通过该方法可以依据上述待渲染数据的属性来确定上述第一信息,因为上述第一信息用于帮助对上述待渲染数据进行分组,由于每个一级节点包括的总目标数以及每个一级节点对应的层级都会影响分组的效果以及在前端页面渲染的速度,因此,本方法可以提高分组的效果以及后续待渲染数据在前端页面渲染的速度。
请参见图2,图2是本发明实施例中对待渲染数据进行分组的流程示意图,作为一种可选的实施方式,确定如下规则:假设树形结构数据(待渲染数据)中的一级节点总数为N,deptList n (n=1,2,3,.....,N)代表第n个一级节点、deptCount n (n=1,2,3,.....,N)表示第n个一级节点的层级深度、userCount n (n=1,2,3,.....,N)代表第n个一级节点下的总用户数。
本实施例中的分组算法将所有一级节点下的总人数userCount n 和该节点的层级deptCount n 作为分组的依据,具体操作如下:
1)判断是否对当前树形结构开启分组。分组开启条件:树形结构内总人数大于树形结构分组阈值C th ,C th 可根据实际节点数动态调整,然后进入步骤2);否则,直接对树形结构内的数据进行预处理,然后由前端展示即可;
2)userCount n 的计算通过对当前一级节点中的用户数据进行遍历、递归完成;deptCount n 可从后端返回的数据字段中直接获取。从而生成当前树形结构下所有一级节点总人数和层级深度的数组companyInfo,该数组如式(1)所示;
3)遍历步骤2中得到的数组,计算每个元素(每个一级节点)中的节点分组价值GV n ,GV n 值的计算如式(2)所示;
。
其中,α1为一级节点下用户数影响因子,α2为一级节点层级深度影响因子。由于userCount n 和deptCount n 都会影响分组的效果以及前端页面渲染的速度,设置影响因子表示各参数对节点分组价值的影响权重,两个影响因子根据一级节点的用户总数和层级深度动态变化,但需满足式(3)中的条件:
GV n 计算时,前端同时形成GV n 和n的映射GV nmap 、GV n 和userCount n 的映射GV usmap ,便于分组后数据查找。GV nmap 和GV usmap 一旦生成,无需重新计算。假设树形结构分组价值为CV,则CV值如式(4)所示:
基于式(4),对CV中的数据进行排序,步骤4中根据排序后的树形结构分组价值进行当前树形结构下的分组。
1、取CV中首尾GV i 和GV j 值,根据GV usmap 映射找到GV i 和GV j 值对应的userCount i 和userCount j ;
2、如果满足式(5),根据GV nmap 映射找到GV i 和GV j 值对应的一级节点索引值i和j,将deptList i 和deptList j 分入一级节点数据组C1;
3、如果满足式(6),则停止分组。返回步骤3,对剩余deptList n ,根据层级深度和用户总数更新两个影响因子,重新计算GV n 值,重复步骤4和5,直至分组完成。
请参见图3,图3是本发明实施例中进行异步处理的流程示意图,继续以上述图2实施例作为基础,继续进行异步处理流程,对分组后的各组用户,利用javaScript的事件循环机制,将分组数据分流到下一次事件循环队列中。将数据预处理方法作为setTimeout的回调函数进行前端数据预处理,最终将处理后的数据渲染到前端页面。定义数据预处理方法transformData,异步模式下的前端预处理过程如下:
1)待处理数据传入transformData方法 。预处理方法主要使用对象中的deptList(子节点列表)、userList(当前节点下的用户列表)数据,然后转向步骤2);
2)遍历待处理数据中的deptList和userList。假设当前遍历deptList的元素为deptItem,遍历userList的元素为userItem ,定义有效数据(Valid Data,VD)为预处理后的数据。当遍历deptList时,VD主要包括当前节点的key、父级节点key、节点名称title、节点Id以及当前节点下的子节点children,其中,children值的产生分为以下几种情况:
当deptItem中不存在deptList和userList时,children为空数组;
当deptItem中存在deptList时,返回步骤1),入参为deptItem.deptList;
当deptItem中存在userList时,返回步骤1),入参为deptItem.userList;
当遍历userList时,由于userList为用户列表,其中不会再存在子节点或其他用户。
因此,VD主要包括当前节点的key、父级节点key、节点名称title、节点Id。重复步骤1)和2),直至所有depList全部遍历结束,则数据预处理结束,最后将待渲染数据在前端进行展示。
本实施例采用动态分组算法和异步处理相结合的方式,基于树形结构对大数据量进行预处理,若将实际应用场景设定为移动云空间,当树形结构数据量在2000左右时,未分组的数据预处理时间在33.8ms;进行分组加异步操作后,数据预处理时间减少至0.26ms,大大地提高了数据处理的效率和性能。
可选地,所述基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,包括:
基于所述目标数组计算每个一级节点对应的节点分组价值;
将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集。
应理解,上述节点分组价值可以通过如下几种方式得到:
1)依据上述目标数组确定某一个一级节点的总目标数以及层级,将该一级节点对应的总目标数和层级按照一定比例进行相加,以得到上述节点分组价值;
2)依据上述目标数组确定某一个一级节点的总目标数以及层级,将该一级节点对应的总目标数乘以第一参数,得到第一数值,将该一级节点对应的层级乘以第二参数,得到第二数值,将第一数值和第二数值相加,得到上述节点分组价值;
3)依据上述目标数组确定某一个一级节点的总目标数以及层级,将该一级节点对应的总目标数乘以第三参数,得到第三数值,将该一级节点对应的层级乘以第四参数,得到第四数值,将第一数值和第二数值相加,得到上述节点分组价值,其中,第三参数与所述第四参数的和为1。
对所有一级节点对应的节点分组价值进行整合,得到上述树形结构分组价值集合,即可以理解为上述树形结构分组价值集合中包含有每一个一级节点对应的节点分组价值。
在对上述树形结构分组价值集合中的每一个树形结构分组价值进行排序的过程中,可以是随机进行排序,从而减小数据的偶然性。
上述预设条件可以为上述第一树形结构分组价值与上述第二树形结构分组价值的和小于或等于分组预设阈值,其中,上述分组预设阈值可以由相关人员根据数据量或是实际情况进行设定,对此本发明实施例不作限定。
在上述第一树形结构分组价值和上述第二树形结构分组价值满足上述预设条件的情况下,将上述第一树形结构分组价值和上述第二树形结构分组价值分别对应的一级节点分入至第一组别,上述第一组别可以实时创建。
同样地,在上述第一树形结构分组价值和上述第二树形结构分组价值不满足上述预设条件的情况下,重新计算每个一级节点对应的节点分组价值,例如:对计算每个一级节点对应的节点分组价值的参数进行动态调整,从而改变每个一级节点对应的节点分组价值,基于所述目标数组计算剩余的每个一级节点对应的子节点分组价值。
接着将剩余的每个一级节点对应的子节点分组价值进行整合,得到新的树形结构分组价值集合;对上述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第三树形结构分组价值和第四树形结构分组价值,上述第三树形结构分组价值和上述第四树形结构分组价值分别为新的树形结构分组价值集合的首尾两位。
在上述第三树形结构分组价值和上述第四树形结构分组价值满足预设条件的情况下,将上述第三树形结构分组价值和第四树形结构分组价值分别对应的一级节点分入至第二组别,上述第二组别为上述若干组渲染数据集中的一个数据集,直至完成对所有一级节点的分组。
在该实施方案中,首先依据上述目标数组计算每个一级节点对应的节点分组价值,接着,将上述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,然后对上述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,最后在上述第一树形结构分组价值和上述第二树形结构分组价值满足预设条件的情况下,将上述第一树形结构分组价值和上述第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集。通过该方法,将影响树形结构数据渲染的两个重要因素:树形结构一级节点下的总目标数和层级深度相结合,最终计算各一级节点的分组价值以及树形结构分组价值,作为分组依据,从而确保分组的有效性,进而提高了对显示数据的渲染性能。
可选地,所述节点分组价值通过如下方式得到:
基于所述目标数组调用对应的一级节点包括的总目标数以及层级;
获取第一影响因子和第二影响因子,所述第一影响因子为一级节点下总目标数影响因子,所述第二影响因子为一级节点层级深度影响因子,所述第一影响因子与所述第二影响因子的和为1;
将第一乘积和第二乘积相加,得到对应的一级节点的子节点分组价值,所述第一乘积为所述第一影响因子与对应的一级节点包括的总目标数的乘积,第二乘积为所述第二影响因子与对应的一级节点的层级的乘积;
整合所有一级节点对应的子节点分组价值,得到所述节点分组价值。
应理解,上述第一影响因子和上述第二影响因子可以由相关人员进行自由调整,例如:当上述待渲染数据的分组效果较差的情况下,相关人员可以对上述第一影响因子和上述第二影响因子进行微调,从而改善对上述待渲染数据的分组效果。
该实施方案中,将影响树形结构数据渲染的两个重要因素:树形结构一级节点下的总目标数和层级深度相结合,并且引入影响因子,并且用户可以根据上述待渲染数据在分组开始时或分组过程中进行影响因子的动态调整,最终计算各一级节点的分组价值以及树形结构分组价值,作为分组依据,从而确保分组的有效性,进而提高了对显示数据的渲染性能。
可选地,所述在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集,包括:
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,确定所述第一树形结构分组价值和所述第二树形结构分组价值分别对应的一级节点索引值;
基于所述一级节点索引值将所述第一树形结构分组价值对应的一级节点和所述第二树形结构分组价值对应的一级节点分入至所述第一组别;
其中,所述预设条件为所述第一树形结构分组价值匹配的总目标数与所述第二树形结构分组价值匹配的总目标数的和小于或等于分组预设阈值。
应理解,上述第一树形结构分组价值和上述第二树形结构分组价值分别对应的一级节点索引值可以理解为标识信息,依据标识信息可以确定对应上述第一树形结构分组价值和上述第二树形结构分组价值对应的一级节点。
在该实施方案中,首先对上述第一树形结构分组价值和上述第二树形结构分组价值进行判断,若所上述第一树形结构分组价值匹配一级节点对应的总目标数加上述第二树形结构分组价值匹配一级节点对应的总目标数小于或等于上述分组预设阈值时,则将上述一级节点索引值将上述第一树形结构分组价值对应的一级节点和上述第二树形结构分组价值对应的一级节点分入至上述第一组别,直至所有一级节点分组完毕,通过该方法,采用分组方式,基于树形结构数据对待渲染数据进行处理,一方面减小了对页面性能的影响,另一方面提高了对显示数据的渲染性能。
当然,若在分组过程中发生不满足上述预设条件的情况,则需要重新计算树形结构分组价值,并重复上述步骤,直至所有一级节点分组完毕。
可选地,所述采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染,包括:
创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
将所述渲染数据集分流至所述任务队列;
对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
基于所述第一页面数据实时渲染所述待渲染页面。
该实施方案中,在对上述待渲染数据分组结束后,可以对各组数据采用循环加递归的方式进行树形结构的数据生成,并且此时引入异步操作,创建任务队列,将分组后的数据加入任务队列,对在上述任务队列中的上述渲染数据集进行遍历,得到上述第一页面数据;最后基于上述第一页面数据实时渲染所述待渲染页面,极大提高了数据预处理的速度,解决页面渲染卡顿问题。
可选地,在所述获取服务器发送的待渲染数据之后,所述方法还包括:
获取分组预设阈值和当前树形结构数据的数据量,所述当前树形结构数据的数据量基于所述待渲染数据生成得到;
在所述数据量小于或等于所述分组预设阈值的情况下,对所述待渲染数据进行树形结构化处理,得到第二页面数据,并基于所述第二页面数据对待渲染页面进行渲染。
在该实施方案中,因为上述数据量小于或等于上述分组预设阈值,因此可以判定上述待渲染数据的数据量能够满足单线程的处理,可以将上述待渲染数据直接进行树形结构化处理以及其他处理流程,以得到上述第二页面数据,在前端页面可以将第二页面数据进行展示。
请参见图4,图4是本发明实施例提供的一种显示数据的渲染装置的结构示意图,如图4所示,显示数据的渲染装置400,包括:
第一获取模块401,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
生成模块402,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
分组模块403,用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
第一处理模块404,用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
可选地,所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
可选地,生成模块402包括:
获取单元,用于获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
确定单元,用于基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
生成单元,用于基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配。
可选地,分组模块403包括:
计算单元,用于基于所述目标数组计算每个一级节点对应的节点分组价值;
第一处理单元,用于将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
第二处理单元,用于对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
分组单元,用于在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集。
可选地,所述节点分组价值通过如下方式得到:
基于所述目标数组调用对应的一级节点包括的总目标数以及层级;
获取第一影响因子和第二影响因子,所述第一影响因子为一级节点下总目标数影响因子,所述第二影响因子为一级节点层级深度影响因子,所述第一影响因子与所述第二影响因子的和为1;
将第一乘积和第二乘积相加,得到对应的一级节点的子节点分组价值,所述第一乘积为所述第一影响因子与对应的一级节点包括的总目标数的乘积,第二乘积为所述第二影响因子与对应的一级节点的层级的乘积;
整合所有一级节点对应的子节点分组价值,得到所述节点分组价值。
可选地,所述分组单元包括:
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,确定所述第一树形结构分组价值和所述第二树形结构分组价值分别对应的一级节点索引值;
基于所述一级节点索引值将所述第一树形结构分组价值对应的一级节点和所述第二树形结构分组价值对应的一级节点分入至所述第一组别;
其中,所述预设条件为所述第一树形结构分组价值匹配的总目标数与所述第二树形结构分组价值匹配的总目标数的和小于或等于分组预设阈值。
可选地,第一处理模块404包括:
创建单元,用于创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
第三处理单元,用于将所述渲染数据集分流至所述任务队列;
第四处理单元,用于对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
渲染单元,用于基于所述第一页面数据实时渲染所述待渲染页面。
可选地,所述装置400还包括:
第二获取模块,用于获取分组预设阈值和当前树形结构数据的数据量,所述当前树形结构数据的数据量基于所述待渲染数据生成得到;
第二处理模块,用于在所述数据量小于或等于所述分组预设阈值的情况下,对所述待渲染数据进行树形结构化处理,得到第二页面数据,并基于所述第二页面数据对待渲染页面进行渲染。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的程序,程序被处理器执行时实现上述显示数据的渲染方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体地,参见图5所示,本发明实施例还提供了一种电子设备,包括总线501、收发机502、天线503、总线接口504、处理器505和存储器506。
收发机502,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
处理器505,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
处理器505,还用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
处理器505,还用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染。
在图5中,总线架构(用总线501来代表),总线501可以包括任意数量的互联的总线和桥,总线501将包括由处理器505代表的一个或多个处理器和存储器506代表的存储器的各种电路链接在一起。总线501还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口504在总线501和收发机502之间提供接口。收发机502可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器505处理的数据通过天线503在无线介质上进行传输,进一步,天线503还接收数据并将数据传送给处理器505。
处理器505负责管理总线501和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器506可以被用于存储处理器505在执行操作时所使用的数据。
可选地,处理器505可以是中央处理器(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex ProgrammableLogic Device,CPLD)。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述指示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述策略管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,ROM)/随机存取存储器(Random Access Memory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (8)
1.一种显示数据的渲染方法,其特征在于,包括:
获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染;
所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述生成所述待渲染数据的第一信息,包括:
获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配;
所述基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,包括:
基于所述目标数组计算每个一级节点对应的节点分组价值;
将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集;
所述采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染,包括:
创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
将所述渲染数据集分流至所述任务队列;
对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
基于所述第一页面数据实时渲染所述待渲染页面。
2.根据权利要求1 所述的显示数据的渲染方法,其特征在于,所述节点分组价值通过如下方式得到:
基于所述目标数组调用对应的一级节点包括的总目标数以及层级;
获取第一影响因子和第二影响因子,所述第一影响因子为一级节点下总目标数影响因子,所述第二影响因子为一级节点层级深度影响因子,所述第一影响因子与所述第二影响因子的和为1;
将第一乘积和第二乘积相加,得到对应的一级节点的子节点分组价值,所述第一乘积为所述第一影响因子与对应的一级节点包括的总目标数的乘积,第二乘积为所述第二影响因子与对应的一级节点的层级的乘积;
整合所有一级节点对应的子节点分组价值,得到所述节点分组价值。
3.根据权利要求1 所述的显示数据的渲染方法,其特征在于,所述在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集,包括:
在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,确定所述第一树形结构分组价值和所述第二树形结构分组价值分别对应的一级节点索引值;
基于所述一级节点索引值将所述第一树形结构分组价值对应的一级节点和所述第二树形结构分组价值对应的一级节点分入至所述第一组别;
其中,所述预设条件为所述第一树形结构分组价值匹配的总目标数与所述第二树形结构分组价值匹配的总目标数的和小于或等于分组预设阈值。
4.根据权利要求1 所述的显示数据的渲染方法,其特征在于,在所述获取服务器发送的待渲染数据之后,所述方法还包括:
获取分组预设阈值和当前树形结构数据的数据量,所述当前树形结构数据的数据量基于所述待渲染数据生成得到;
在所述数据量小于或等于所述分组预设阈值的情况下,对所述待渲染数据进行树形结构化处理,得到第二页面数据,并基于所述第二页面数据对待渲染页面进行渲染。
5.一种显示数据的渲染装置,其特征在于,包括:
第一获取模块,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
生成模块,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
分组模块,用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
第一处理模块,用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染;
所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述生成模块包括:
获取单元,用于获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
确定单元,用于基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
生成单元,用于基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配;
可选地,所述分组模块包括:
计算单元,用于基于所述目标数组计算每个一级节点对应的节点分组价值;
第一处理单元,用于将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
第二处理单元,用于对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
分组单元,用于在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集;
可选地,所述第一处理模块包括:
创建单元,用于创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
第三处理单元,用于将所述渲染数据集分流至所述任务队列;
第四处理单元,用于对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
渲染单元,用于基于所述第一页面数据实时渲染所述待渲染页面。
6.一种电子设备,其特征在于,包括收发机和处理器,所述收发机,用于获取服务器发送的待渲染数据,所述待渲染数据为树形结构数据,所述树形结构数据包括至少一个一级节点;
所述处理器,用于生成所述待渲染数据的第一信息,所述第一信息包括所述待渲染数据中每个一级节点包括的总目标数以及每个一级节点对应的层级;
所述处理器,还用于基于所述第一信息对所述待渲染数据按照所述一级节点进行分组,得到渲染数据集,所述渲染数据集包括至少一个数据集,数据集包括部分所述一级节点;
所述处理器,还用于采用异步方法对所述渲染数据集进行数据预处理,得到第一页面数据,并基于所述第一页面数据对待渲染页面进行渲染;
所述第一信息还包括目标数组,所述目标数组为按照每个一级节点包括的总目标数和每个一级节点对应的层级为顺序的元素序列;
所述处理器,还用于获取每一个一级节点所匹配的目标数据,并对所述目标数据进行遍历和递归处理,得到所述每个一级节点包括的总目标数;
所述处理器,还用于基于所述待渲染数据确定数据字段,并在所述数据字段中获取所述每个一级节点对应的层级;
所述处理器,还用于基于所述每个一级节点包括的总目标数和所述每个一级节点对应的层级生成所述目标数组,所述目标数组的数量与所述一级节点的数量匹配;
所述处理器,还用于基于所述目标数组计算每个一级节点对应的节点分组价值;
所述处理器,还用于将所述每个一级节点对应的子节点分组价值进行整合,得到树形结构分组价值集合,所述树形结构分组价值集合表示所述每个一级节点对应的节点分组价值的集合;
所述处理器,还用于对所述树形结构分组价值集合中的每一个树形结构分组价值进行排序,并抽取第一树形结构分组价值和第二树形结构分组价值,所述第一树形结构分组价值和所述第二树形结构分组价值分别为所述树形结构分组价值集合的首尾两位;
所述处理器,还用于在所述第一树形结构分组价值和所述第二树形结构分组价值满足预设条件的情况下,将所述第一树形结构分组价值和第二树形结构分组价值分别对应的一级节点分入至第一组别,所述第一组别为所述渲染数据集中的一个数据集;
所述处理器,还用于创建任务队列,所述任务队列的数量与所述渲染数据集的数量匹配;
所述处理器,还用于将所述渲染数据集分流至所述任务队列;
所述处理器,还用于对在所述任务队列中的所述渲染数据集进行遍历,得到所述第一页面数据;
所述处理器,还用于基于所述第一页面数据实时渲染所述待渲染页面。
7.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1 至4 中任一项所述的显示数据的渲染方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1 至4 中任一项所述的显示数据的渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830940.9A CN117473188B (zh) | 2023-12-28 | 2023-12-28 | 一种显示数据的渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830940.9A CN117473188B (zh) | 2023-12-28 | 2023-12-28 | 一种显示数据的渲染方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117473188A CN117473188A (zh) | 2024-01-30 |
CN117473188B true CN117473188B (zh) | 2024-04-09 |
Family
ID=89624229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311830940.9A Active CN117473188B (zh) | 2023-12-28 | 2023-12-28 | 一种显示数据的渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117473188B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118276857A (zh) * | 2024-06-03 | 2024-07-02 | 恒生电子股份有限公司 | 低代码页面渲染系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190773A (zh) * | 2021-04-07 | 2021-07-30 | Oppo广东移动通信有限公司 | 显示数据的渲染方法、电子设备、移动终端及存储介质 |
CN115686700A (zh) * | 2021-07-30 | 2023-02-03 | 华为技术有限公司 | 渲染方法及电子设备 |
CN116029263A (zh) * | 2023-01-09 | 2023-04-28 | 广联达科技股份有限公司 | 一种dwg对象导入方法、装置、设备及介质 |
CN116185545A (zh) * | 2023-02-14 | 2023-05-30 | 上海壹佰米网络科技有限公司 | 一种页面渲染的方法及装置 |
CN116738089A (zh) * | 2023-05-10 | 2023-09-12 | 展讯通信(天津)有限公司 | 渲染方法、芯片、电子设备及存储介质 |
CN117271014A (zh) * | 2023-11-03 | 2023-12-22 | 中国邮政储蓄银行股份有限公司 | 基于web worker的数据处理方法和客户端 |
-
2023
- 2023-12-28 CN CN202311830940.9A patent/CN117473188B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190773A (zh) * | 2021-04-07 | 2021-07-30 | Oppo广东移动通信有限公司 | 显示数据的渲染方法、电子设备、移动终端及存储介质 |
CN115686700A (zh) * | 2021-07-30 | 2023-02-03 | 华为技术有限公司 | 渲染方法及电子设备 |
CN116029263A (zh) * | 2023-01-09 | 2023-04-28 | 广联达科技股份有限公司 | 一种dwg对象导入方法、装置、设备及介质 |
CN116185545A (zh) * | 2023-02-14 | 2023-05-30 | 上海壹佰米网络科技有限公司 | 一种页面渲染的方法及装置 |
CN116738089A (zh) * | 2023-05-10 | 2023-09-12 | 展讯通信(天津)有限公司 | 渲染方法、芯片、电子设备及存储介质 |
CN117271014A (zh) * | 2023-11-03 | 2023-12-22 | 中国邮政储蓄银行股份有限公司 | 基于web worker的数据处理方法和客户端 |
Also Published As
Publication number | Publication date |
---|---|
CN117473188A (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117473188B (zh) | 一种显示数据的渲染方法、装置、电子设备及存储介质 | |
US10120889B2 (en) | Prospective search of objects using k-d forest | |
US20140136468A1 (en) | Quantitative assessment of similarity of categorized data | |
US20130311445A1 (en) | Join processing device, data management device, and string similarity join system | |
US20130346445A1 (en) | Augmenting queries when searching a semantic database | |
CN108429701A (zh) | 网络加速系统 | |
EP3079077A1 (en) | Graph data query method and device | |
CN103744889B (zh) | 一种用于对问题进行聚类处理的方法与装置 | |
CN106789338B (zh) | 一种在动态大规模社交网络中发现关键人物的方法 | |
CN106708956B (zh) | 一种基于多url规则集的http数据匹配方法 | |
CN103810159B (zh) | 计算机翻译数据处理方法、系统及终端 | |
GB2498762A (en) | Computing user traffic at the website based on user actions | |
CN113987105B (zh) | 基于滑动窗口的标签感知图形流草图构建方法及应用 | |
WO2017000828A1 (zh) | 基于规则的数据对象验证方法、装置、系统及电子设备 | |
CN110222194A (zh) | 基于自然语言处理的数据图表生成方法和相关装置 | |
CN106909454B (zh) | 一种规则处理方法和设备 | |
JP2016029526A (ja) | 情報処理装置、及びプログラム | |
CN112085087A (zh) | 业务规则生成的方法、装置、计算机设备及存储介质 | |
CN110809066A (zh) | IPv6地址生成模型创建方法、装置及地址生成方法 | |
CN105138527B (zh) | 一种数据分类回归方法及装置 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN112231481A (zh) | 网址的分类方法、装置、计算机设备和存储介质 | |
RU2757592C1 (ru) | Способ и система для кластеризации документов | |
CN110347934A (zh) | 一种文本数据过滤方法、装置及介质 | |
CN104796478B (zh) | 一种资源推荐方法及装置 |
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 |