CN118051345A - 内存管理方法、装置、设备、介质及产品 - Google Patents

内存管理方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN118051345A
CN118051345A CN202410376686.8A CN202410376686A CN118051345A CN 118051345 A CN118051345 A CN 118051345A CN 202410376686 A CN202410376686 A CN 202410376686A CN 118051345 A CN118051345 A CN 118051345A
Authority
CN
China
Prior art keywords
application
low
application container
metadata
cache list
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.)
Pending
Application number
CN202410376686.8A
Other languages
English (en)
Inventor
吴少伯
李卓
申冠豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202410376686.8A priority Critical patent/CN118051345A/zh
Publication of CN118051345A publication Critical patent/CN118051345A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提供了一种内存管理方法、装置、设备、介质及产品,涉及计算机技术领域,其中方法包括:接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。采用上述步骤可以提高了解析引擎的启动速度。

Description

内存管理方法、装置、设备、介质及产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种内存管理方法、装置、设备、介质及产品。
背景技术
低代码平台通过可视化的开发方式,显著减少了编写代码的需求,从而加速了应用程序的开发和交付。这种平台使业务人员也能参与到软件逻辑设计中,通过简单的拖拽操作即可构建页面。其核心功能包括界面设计器、模型设计器和流程设计器等,这些功能在平台的解析引擎的作用下,能够渲染页面和解析模型。
解析引擎是低代码平台的关键组件,负责逻辑处理和容器管理。低代码平台中可以部署低代码应用,低代码应用在部署至平台中时,会通过解析引擎加载低代码应用相关的元数据到内存中,并创建对应的应用容器,导致内存占用过大。而解析引擎启动时需要较大内存,而内存被应用容器占用,因此,引擎启动速度较慢。
发明内容
本申请提供的一种内存管理方法、装置、设备、介质及产品,能够提高低代码平台中的解析引擎的启动速度。
第一方面,本申请实施例提供一种内存管理方法,方法包括:
接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
第二方面,本申请提供一种内存管理装置,该装置包括:
接收模块,用于接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
响应模块,用于响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
查找模块,用于在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
存储模块,用于在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面中任意一个实施例中的内存管理方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面中任意一个实施例中的内存管理方法。
第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现如上述第一方面中任意一个实施例中的内存管理方法。
在本申请实施例的内存管理方法、装置、设备、介质及产品,其中,方法包括:接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。在本实施例中,通过只有在接收到低代码应用的运行请求且缓存列表中不存在第一应用容器时,才对低代码应用的元数据进行实例化,得到第一应用容器,并存储至内存中,以及在缓存列表中存在第一应用容器的情况下,直接使用第一应用容器。能够降低对低代码平台中的内存的占用率。避免了现有技术中的一次性将低代码平台中所有的低代码应用的元数据均部署至内存中,而导致低代码平台中的解析引擎启动缓慢的问题,提高了解析引擎的启动速度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的内存管理方法的流程示意图;
图2示出了本申请一个实施例提供的内存管理方法中步骤103的细化流程示意图;
图3(a)示出了本申请一个实施例提供的内存管理方法中对元数据实例化的细化流程示意图;
图3(b)示出了本申请一个实施例提供的内存管理方法中释放第一缓存列表的细化流程示意图;
图4是本申请实施例提供的一种内存管理装置的结构示意图;
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
另外,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要说明的是,本申请实施例中对数据的获取、存储、使用和处理等,均符合国家法律法规的相关规定。
需要说明的是,在本申请实施例中,可能提及某些软件、组件、模型等业界已有方案,应当将它们认为是示范性的,其目的仅仅是为了说明本申请技术方案实施中的可行性,但并不意味着申请人已经或者必然用到了该方案。
为了解决现有技术问题,本申请实施例提供了一种内存管理方法、装置、设备、介质及产品。下面首先对本申请实施例所提供的内存管理方法进行介绍。
图1示出了本申请一个实施例提供的内存管理方法的流程示意图。如图1所示,该方法具体可以包括如下步骤:
步骤101,接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
上述的低代码应用指的是通过低代码开发方式创建的应用程序。在低代码应用需要运行时,低代码应用发送携带有应用标识的运行请求至低代码平台中的解析引擎中。其中,运行请求可以为超文本传输协议请求,即http请求。
步骤102,响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
上述应用标识与第一元数据存在映射关系,且第一元数据是存在于低代码平台的数据库中,第一元数据指的是与低代码应用相对应的配置数据,为用于描述和构建低代码应用的数据。在数据库中,第一元数据以逻辑单元的形式封存在数据库中,以便调用。
步骤103,在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
内存库中的应用容器具体是通过第一缓存列表进行存储的。因此在对第一元数据进行实例化之前,需要先判断内存库中的第一缓存列表中是否存储有与第一元数据对应的第一应用容器。在第一缓存列表中存在与第一元数据对应的第一应用容器的情况下,直接调用第一应用容器;在第一缓存列表中不存在与第一元数据对应的第一应用容器的情况下,再对第一元数据进行实例化,得到第一应用容器。能够实现动态进行应用内存的创建,按需分配内存。提高解析引擎的启动速度;
步骤103,在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
上述实例化的过程即为将数据库中的第一元数据加载至内存库的过程。通过实例化,将第一元数据加载至内存库中,并在内存库中生成第一应用容器,其中,应用容器提供一个隔离的、可管理的环境来存储和运行低代码应用的第一元数据。
本实施例中提供的内存管理方法包括:接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。在本实施例中,通过只有在接收到低代码应用的运行请求且缓存列表中不存在第一应用容器时,才对低代码应用的元数据进行实例化,得到第一应用容器,并存储至内存中,以及在缓存列表中存在第一应用容器的情况下,直接使用第一应用容器。能够降低对低代码平台中的内存的占用率。避免了现有技术中的一次性将低代码平台中所有的低代码应用的元数据均部署至内存中,而导致低代码平台中的解析引擎启动缓慢的问题,提高了解析引擎的启动速度。
在本申请的一实施例中,所述对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并肩所述第一应用容器存储至内存之后,所述方法还包括:
释放所述第一缓存列表中满足第一条件的至少一个第二应用容器。
由于低代码平台中存在有很多使用频率很低的低代码应用,如果使用频率很低,就会导致内存中限制了大量不被使用的应用容器占用内存,造成浪费。因此,在本实施例中可以对满足释放的第一条件的第二应用容器进行释放,以保证低代码平台中的内存不被浪费。上述释放即为在第一缓存列表中对第二应用容器进行删除。
具体的,第一体条件可以为闲置时间,在一实施例中,图2示出了本申请一个实施例提供的内存管理方法的另一流程示意图。
所述释放所述第一缓存列表中满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中最后一次调用所述第二应用容器的第一时间;
在所述第一时间与当前时间的间隔时间大于第一时长的情况下,删除所述第二应用容器。
在本实施例中,当第一缓存列表中的第二应用容器长时间未被调用时,说明与第二应用容器对应的低代码应用为闲置应用,此时,可以将该第二应用容器在第一缓存列表中删除。具体的,可以通过扫描第一缓存列表中每一个应用容器的最后调用时间,即第一时间来判断应用容器是否为闲置的。若第一时间大于第一时长,则删除对应的第二应用容器。
在本实施例中,通过获取第一缓存列表中的应用容器的最后一次调用的第一时间,从而判断该应用容器是否为闲置容器,并进行删除,能够提高内存利用率。
第一条件还可以为使用频率,在一实施例中,所述释放所述第一缓存列表找那个满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中的所述第二应用容器的调用次数;
在所述调用次数小于预设次数的情况下,删除所述第二应用容器。
在本实施例中,当第一缓存列表中的第二应用容器的调用频率较低时,说明该应用容器并不是重要的,为了避免占用内存,可以对调用次数较低的第二应用容器进行删除。另外,可以在第一缓存列表中设置定时器,通过定时器定时对第一缓存列表进行扫描,获取第二应用容器的调用次数,从而实现对内存的定时清理。
第一条件还可以为存储时间,在一实施例中,所述释放所述第一缓存列表中满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中的所述第二应用容器的存储时间;
在所述存储时间大于第二时长的情况下,删除所述第二应用容器。
在本实施例中,为保证内存资源的充足,可以将采用“先入先出”的方案来释放内存。具体的,可以定时获取第一缓存列表中第二应用容器的存储时间,再判断存储时间是否达到最大存储时间,在达到最大存储时间的情况下删除对应的第二容器。从而保证内存的利用率。
通过上述释放内存的方法,能够完整的对内存库中的应用容器的生命周期进行管理,避免了随着应用过多导致的内存膨胀,做到内存的动态回收。
在另一实施例中,为了降低上述释放内存对启动低代码应用的影响,防止重要的应用容器被删除,可以对第一缓存列表进行分级处理,具体的,可以将第一缓存列表划分为一级第一缓存列表和二级第一缓存列表,其中,一级第一缓存列表的级别高于二级第一缓存列表。再将调用频率较高的应用容器存储至一级第一缓存列表,调用频率较低的应用容器存储至二级第一缓存列表。为保证重要的应用容器不会被删除,因此在一级第一缓存列表中采用上述实施例中的判断是否为闲置的方案以及根据调用次数删除应用容器的方案。在二级第一缓存列表中采用上述实施例中的“先入先出”即判断存储时间来删除应用容器的方案。
在本实施例中,通过设置不同级别的第一缓存列表,采用不同的释放内存的方案,能够将较为所述响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据,包括:
响应于所述运行请求,利用所述应用标识,从数据库中的第二缓存列表中获取所述低代码应用的第一元数据,其中,所述第二缓存列表存储有调用频率大于预设频率的第二元数据。
严格的释放方案布置在一级第一缓存列表中;较为不严格的释放方案布置在级别较低二级第一缓存列表中,即使误删也不会造成较为严重的影响,从而降低了对低代码应用的使用影响。
在本申请的一实施例中,所述响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据,包括:
响应于所述运行请求,利用所述应用标识,从数据库中的第二缓存列表中获取所述低代码应用的第一元数据,其中,所述第二缓存列表存储有调用频率大于预设频率的第二元数据。
在本实施例中,第二缓存表存储于数据库中,用于存储调用频率大于预设频率的第二元数据。在解析引擎接收到运行请求时,可以根据应用标识在第二缓存列表中进行查找第一元数据,在第二缓存列表中不存在第一元数据后,再从数据库中查找第一元数据。将调用频率大于预设频率的元数据存储在缓存列表中,能够提高第一元数据的查找效率。另外,还可以对第二缓存列表进行动态管理,将调用频率较低的的元数据匆匆第二缓存列表中释放,从而实现第二缓存列表的高效调用。
图3示出了本申请一个实施例提供的内存管理装置的总体流程示意图,如图3(a)所示,首先低代码应用发送运行请求(即http)至解析引擎(即Laucher),然后解析引擎获取运行请求中的应用标识(即appCode),根据应用标识在第一缓存列表(LRU的map)中查找第一应用容器(即ReleaseContainer)并判断第一缓存列表中是否存在第一应用容器,在存在第一应用容器时,直接调用;在不存在第一应用容器时,进行实例化(即ReleaseContainer初始化)。
如图3(b)所示,首先解析引擎调用设置在第一缓存列表中定时器,间隔10分钟一次对第一缓存列表进行扫描(即扫描LRU的map),然后得到空闲的第二应用容器(即空闲的ReleaseContainer),最后对第二应用容器进行删除(即回收方法reclaim)。
图4示出了本申请一个实施例提供的内存管理装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,内存管理装置400可以包括:
接收模块401,用于接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
响应模块402,用于响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
查找模块403,用于在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
存储模块404,用于在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
可选地,内存管理装置400还包括:
释放模块,用于释放所述第一缓存列表中满足第一条件的至少一个第二应用容器。
可选地,所述释放模块,还包括:
第一获取子模块,用于获取所述第一缓存列表中最后一次调用所述第二应用容器的第一时间;
第一删除子模块,用于在所述第一时间与当前时间的间隔时间大于第一时长的情况下,删除所述第二应用容器。
可选地,所述释放模块,还包括:
第二获取子模块,用于获取所述第一缓存列表中的所述第二应用容器的调用次数;
第二删除子模块,用于在所述调用次数小于预设次数的情况下,删除所述第二应用容器。
可选地,所述释放模块,还包括:
第三获取子模块,用于获取所述第一缓存列表中的所述第二应用容器的存储时间;
第三删除子模块,用于在所述存储时间大于第二时长的情况下,删除所述第二应用容器。
可选地,响应模块402具体用于:
响应于所述运行请求,利用所述应用标识,从数据库中的第二缓存列表中获取所述低代码应用的第一元数据,其中,所述第二缓存列表存储有调用频率大于预设频率的第二元数据。
本申请实施例提供的内存管理装置400能够实现前述方法实施例实现的各个过程,为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5示出了本申请实施例提供的电子设备的硬件结构示意图。
设备可以包括处理器501以及存储有程序指令的存储器502。
处理器501执行程序时实现上述任意各个方法实施例中的步骤。
示例性的,程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列程序指令段,该指令段用于描述程序在设备中的执行过程。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器501通过读取并执行存储器502中存储的程序指令,以实现上述实施例中的任意一种方法。
在一个示例中,电子设备还可包括通信接口503和总线510。其中,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
通信接口503,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线510包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种方法。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网格被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种内存管理方法,其特征在于,方法包括:
接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
2.如权利要求1所述的内存管理方法,其特征在于,所述对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中之后,所述方法还包括:
释放所述第一缓存列表中满足第一条件的至少一个第二应用容器。
3.如权利要求2所述的内存管理方法,其特征在于,所述释放所述第一缓存列表中满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中最后一次调用所述第二应用容器的第一时间;
在所述第一时间与当前时间的间隔时间大于第一时长的情况下,删除所述第二应用容器。
4.如权利要求2所述的内存管理方法,其特征在于,所述释放所述第一缓存列表中满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中的所述第二应用容器的调用次数;
在所述调用次数小于预设次数的情况下,删除所述第二应用容器。
5.如权利要求2所述的内存管理方法,其特征在于,所述释放所述第一缓存列表中满足第一条件的至少一个第二应用容器,包括:
获取所述第一缓存列表中的所述第二应用容器的存储时间;
在所述存储时间大于第二时长的情况下,删除所述第二应用容器。
6.如权利要求1所述的内存管理方法,其特征在于,所述响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据,包括:
响应于所述运行请求,利用所述应用标识,从数据库中的第二缓存列表中获取所述低代码应用的第一元数据,其中,所述第二缓存列表存储有调用频率大于预设频率的第二元数据。
7.一种内存管理装置,其特征在于,所述装置包括:
接收模块,用于接收对低代码应用的运行请求,所述运行请求包括所述低代码应用的应用标识;
响应模块,用于响应于所述运行请求,利用所述应用标识,从数据库中获取所述低代码应用的第一元数据;
查找模块,用于在所述内存中的第一缓存列表中查找与所述第一元数据对应的第一应用容器,所述第一应用容器用于运行所述低代码应用,所述第一缓存列表中包括元数据与应用容器之间的映射关系;
存储模块,用于在所述第一缓存列表中不存在所述第一应用容器的情况下,对所述第一元数据进行实例化,得到所述低代码应用的第一应用容器,并将所述第一应用容器存储至内存中。
8.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-6中任意一项所述的内存管理方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6中任意一项所述的内存管理方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-6中任意一项所述的内存管理方法。
CN202410376686.8A 2024-03-29 2024-03-29 内存管理方法、装置、设备、介质及产品 Pending CN118051345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410376686.8A CN118051345A (zh) 2024-03-29 2024-03-29 内存管理方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410376686.8A CN118051345A (zh) 2024-03-29 2024-03-29 内存管理方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN118051345A true CN118051345A (zh) 2024-05-17

Family

ID=91053823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410376686.8A Pending CN118051345A (zh) 2024-03-29 2024-03-29 内存管理方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN118051345A (zh)

Similar Documents

Publication Publication Date Title
CN112650478A (zh) 一种嵌入式软件开发平台动态构建方法、系统及设备
CN112685117A (zh) 系统语言国际化维护方法、装置及计算机可读存储介质
CN113360803A (zh) 基于用户行为的数据缓存方法、装置、设备及存储介质
CN113535226B (zh) 应用下载方法、终端、服务器、计算机设备以及存储介质
CN111258905A (zh) 缺陷定位方法、装置和电子设备及计算机可读存储介质
CN108897858B (zh) 分布式集群索引分片的评估方法及装置、电子设备
CN118051345A (zh) 内存管理方法、装置、设备、介质及产品
CN109067864B (zh) 通知消息推送方法、装置及电子设备
JP4549571B2 (ja) フォールスパス検出装置、フォールスパス検出方法およびそのプログラム
CN114201466B (zh) 防缓存击穿方法、装置、设备及可读存储介质
CN116263858A (zh) 一种生成码流文件的方法、装置、计算机存储介质及终端
CN109976896B (zh) 业务排重处理方法和装置
CN114637969A (zh) 目标对象的鉴权方法及装置
CN109542806B (zh) 总线数据解析方法、装置及存储介质
CN111143294B (zh) 电力采集终端数据检索方法、装置和电子设备
CN108509478B (zh) 规则引擎文件的拆分调用方法、电子装置及存储介质
CN117931758A (zh) 日志处理方法、装置、设备、可读存储介质和车辆
CN110365342A (zh) 波形解码方法及装置
CN105677756A (zh) 一种文件系统中有效利用缓存的方法和装置
CN111324732A (zh) 模型训练方法、文本处理方法、装置及电子设备
CN110213314B (zh) 确定存储节点的方法、装置、服务器
CN117608690A (zh) 应用程序启动方法、装置、设备、介质及产品
CN115357526A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN117194058A (zh) 线程同步方法、装置、设备及计算机存储介质
CN113515592A (zh) 文本预测方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination