数据处理方法及装置、电子设备、存储介质制造方法及图纸

技术编号:34448048 阅读:14 留言:0更新日期:2022-08-06 16:45
本申请提供了一种数据处理方法及装置、电子设备、存储介质,其中,方法包括:获取目标应用程序对应的有向无环图;针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点;合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集;根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量;删除所述可回收变量;从而实现及时准确地删除生命周期结束后的变量,以清空此类变量所占的内存空间。以清空此类变量所占的内存空间。以清空此类变量所占的内存空间。

【技术实现步骤摘要】
数据处理方法及装置、电子设备、存储介质


[0001]本申请涉及计算机
,特别是涉及数据处理方法及装置、电子设备、存储介质。

技术介绍

[0002]在一些需要存储上下文数据的场景中,例如低代码平台等,有的数据会在不同的阶段中进行使用,并且有的数据在某个阶段往后便不会继续使用。对于这类在某个阶段往后便不会继续使用的数据,若不进行处理,则会一直占用内存空间,增加设备(如服务器)的运行成本。
[0003]相关技术中,在对这类在某个阶段往后便不会继续使用的数据的处理,是通过手动配置回收的方式,该方式存在维护成本高,且容易出错等问题。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0005]鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的数据处理方法及装置、电子设备、存储介质,包括:
[0006]一种数据处理方法,所述方法包括:
[0007]获取目标应用程序对应的有向无环图;
[0008]针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点;
[0009]合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集;
[0010]根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量;
>[0011]删除所述可回收变量。
[0012]可选地,所述获取目标应用程序对应的有向无环图,包括:
[0013]获取所述目标应用程序包括的多个程序节点;
[0014]根据所述程序节点,以及程序节点的执行顺序,生成所述目标应用程序对应的有向图;
[0015]当所述有向图中存在有向环时,对所述有向图进行去环处理,得到所述目标应用程序对应的有向无环图;
[0016]当所述有向图中不存在有向环时,则确定所述有向图为所述目标应用程序对应的有向无环图。
[0017]可选地,所述当所述有向图中存在有向环时,对所述有向图进行去环处理,得到所述目标应用程序对应的有向无环图,包括:
[0018]对所述有向图进行深度优先遍历,确定各个节点所属的组;
[0019]根据所述各个节点所属的组对所述有向图进行去环处理,得到对应的有向无环图;所述有向无环图中的节点为组节点,所述有向图中形成同一个环的节点归入到所述有向无环图中的同一个组节点中。
[0020]可选地,所述对所述有向图进行深度优先遍历,确定各个节点所属的组,包括:
[0021]对所述有向图进行深度优先遍历,将已遍历的节点存储于第一集合中,并采用双向链表记录已遍历的深度路径;
[0022]在遍历每个节点时,判断所述第一集合中是否存在当前遍历的当前节点,若是,则根据所述双向链表记录的已遍历的深度路径,确定所述当前节点之后的节点;
[0023]将所述当前节点之后的节点合并到所述当前节点所在的组中。
[0024]可选地,所述针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点,包括:
[0025]对所述有向无环图进行深度优先遍历,确定从所述有向无环图根组节点到各个叶子组节点对应的多条路径;
[0026]针对所述目标应用程序的每个变量,获取所述有向无环图中使用所述变量的目标路径;
[0027]针对每条所述目标路径,确定当所述目标应用程序按照所述目标路径运行时,所述目标路径中最后使用所述变量的最终组节点。
[0028]可选地,所述合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集,包括:
[0029]合并所述最终组节点,得到第一组节点集,所述第一组节点集包含每条目标路径对应的最终组节点、以及对应的最终组节点之前的组节点;
[0030]根据所述有向无环图和所述第一组节点集合,确定不再使用所述变量的可回收组节点集,所述可回收组节点集是所述第一组节点集在所述有向无环图中的补集,或,所述可回收组节点集是所述第一组节点集在所述变量对应的目标路径中的补集。
[0031]可选地,所述合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集合,包括:
[0032]合并所述最终组节点,得到第一组节点集,所述第一组节点集包含每条目标路径对应的最终组节点、以及对应的最终组节点之前的组节点;
[0033]获取每条所述目标路径中位于对应的最终组节点之后、第一个未在所述第一组节点集中的组节点,以得到可回收组节点集。
[0034]可选地,所述根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量,包括:
[0035]获取包含所述当前组节点的目标可回收组节点集;
[0036]将所述目标可回收组节点集对应的变量确定为可回收变量。
[0037]可选地,所述根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量,包括:
[0038]合并各个变量对应的可回收组节点集,得到可回收组节点集集合;
[0039]采用反向映射机制对各个变量对应的可回收组节点集进行处理,得到所述可回收
组节点集集合中、每个组节点对应的可回收变量集,所述可回收变量集包含对应的组节点不再使用的所有变量;
[0040]当所述当前组节点在所述可回收组节点集集合内时,则根据所述当前组节点对应的可回收变量集确定可回收变量。
[0041]一种数据处理装置,所述装置包括:
[0042]有向无环图获取模块,用于获取目标应用程序对应的有向无环图;
[0043]最终组节点确定模块,用于针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点;
[0044]可回收节点确定模块,用于合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集;
[0045]可回收变量确定模块,用于根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量;
[0046]可回收变量删除模块,用于删除所述可回收变量。
[0047]可选地,所述有向无环图获取模块,包括:
[0048]程序节点获取模块,用于获取所述目标应用程序包括的多个程序节点;
[0049]基于程序节点生成有向图模块,用于根据所述程序节点,以及程序节点的执行顺序,生成所述目标应用程序对应的有向图;
[0050]去环处理模块,用于当所述有向图中存在有向环时,对所述有向图进行去环处理,得到所述目标应用程序对应的有向无环图;
[0051]有向无本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取目标应用程序对应的有向无环图;针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点;合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集;根据每个变量对应的可回收组节点集,确定所述目标应用程序当前所在的当前组节点对应的可回收变量;删除所述可回收变量。2.根据权利要求1所述的方法,其特征在于,所述获取目标应用程序对应的有向无环图,包括:获取所述目标应用程序包括的多个程序节点;根据所述程序节点,以及程序节点的执行顺序,生成所述目标应用程序对应的有向图;当所述有向图中存在有向环时,对所述有向图进行去环处理,得到所述目标应用程序对应的有向无环图;当所述有向图中不存在有向环时,则确定所述有向图为所述目标应用程序对应的有向无环图。3.根据权利要求2所述的方法,其特征在于,所述当所述有向图中存在有向环时,对所述有向图进行去环处理,得到所述目标应用程序对应的有向无环图,包括:对所述有向图进行深度优先遍历,确定各个节点所属的组;根据所述各个节点所属的组对所述有向图进行去环处理,得到对应的有向无环图;所述有向无环图中的节点为组节点,所述有向图中形成同一个环的节点归入到所述有向无环图中的同一个组节点中。4.根据权利要求3所述的方法,其特征在于,所述对所述有向图进行深度优先遍历,确定各个节点所属的组,包括:对所述有向图进行深度优先遍历,将已遍历的节点存储于第一集合中,并采用双向链表记录已遍历的深度路径;在遍历每个节点时,判断所述第一集合中是否存在当前遍历的当前节点,若是,则根据所述双向链表记录的已遍历的深度路径,确定所述当前节点之后的节点;将所述当前节点之后的节点合并到所述当前节点所在的组中。5.根据权利要求1所述的方法,其特征在于,所述针对所述目标应用程序的每个变量,确定所述有向无环图每条使用所述变量的目标路径中、最后使用所述变量的最终组节点,包括:对所述有向无环图进行深度优先遍历,确定从所述有向无环图根组节点到各个叶子组节点对应的多条路径;针对所述目标应用程序的每个变量,获取所述有向无环图中使用所述变量的目标路径;针对每条所述目标路径,确定当所述目标应用程序按照所述目标路径运行时,所述目标路径中最后使用所述变量的最终组节点。
6.根据权利要求5所述的方法,其特征在于,所述合并所述最终组节点,以确定每条所述目标路径中不再使用所述变量的组节点,得到可回收组节点集,包括:合并所述最终组节点,得到第一组节点集,所述第一组节点集包含每条目标路径对应的最终组节点、以及对应...

【专利技术属性】
技术研发人员:李建民
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1