CN111857575A - 计算平台内存空间确定方法、装置、设备及存储介质 - Google Patents
计算平台内存空间确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111857575A CN111857575A CN202010590819.3A CN202010590819A CN111857575A CN 111857575 A CN111857575 A CN 111857575A CN 202010590819 A CN202010590819 A CN 202010590819A CN 111857575 A CN111857575 A CN 111857575A
- Authority
- CN
- China
- Prior art keywords
- node
- target
- data
- memory
- target data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种计算平台内存空间确定方法、装置、设备及存储介质。该方法包括:通过接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的,保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
Description
技术领域
本发明属于自动驾驶技术领域,尤其涉及一种计算平台内存空间确定方法、装置、设备及存储介质。
背景技术
自动驾驶技术中最重要的问题就是安全问题、计算能力问题,随着自动驾驶技术的发展,自动驾驶过程中的安全性问题成为自动驾驶落地首要解决的难题。
车辆在自动驾驶过程中,需要获取许多数据并有大量程序对其进行高频的处理,如信号灯的实时数据、车辆传感器实时获取的车辆行驶的道路环境的数据、车辆获取的来自于云端或路侧端的数据等,且车辆中的多个模块需要同时调用这些数据,以完成对车辆的控制。由于自动驾驶算法中存在大量数据和程序的高频运行,导致相关数据或程序的传递过程出现许多问题,如:内存开销大、消息丢失等,无法保证车辆在自动驾驶过程中数据调用的可靠性,进而导致了车辆在自动驾驶过程中的安全性和可靠性均较低。
发明内容
本发明实施例提供一种内存空间的分配方法、装置、设备及存储介质,能够保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
第一方面,提供了一种计算平台内存空间确定方法,该方法包括:
接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;
根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;
其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的。
在一种可能实现方式中,该方法还包括:
当目标数据的调用进程完成时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
在一种可能实现方式中,该方法还包括:
当目标节点存储目标数据的时间长度为第一目标节点存储目标数据的开始时间与预设时间长度的和时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
在一种可能实现方式中,内存节点树中的每个节点还包括节点的对应的内存段的起点值;
根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点,包括:
根据每个节点的最大剩余容量和目标数据的数据大小,确定内存节点树中的多个第二目标节点;每个第二目标节点的最大剩余容量不小于目标数据的数据大小且小于目标数据的数据大小的预设倍数;
确定多个第二目标节点中最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。
在一种可能实现方式中,该方法还包括:
在当第一目标节点存储目标数据的时间长度为第一目标节点存储目标数据的开始时间与预设时间长度的和时,向第一目标节点发送数据释放指令之前,方法还包括:
根据目标数据的数据大小、双倍速率DDR内存参数和目标数据的预设的最大调用周期,确定预设时间长度。
在一种可能的实现方式中,根据目标数据的数据大小、双倍速率DDR内存参数和目标数据的预设的最大调用周期,确定预设时间长度包括:
根据目标数据的数据大小和双倍速率DDR内存参数中的第一参数,确定第一时间长度;
根据目标数据的预设的最大调用周期和双倍速率DDR内存参数中的第二参数,确定第二时间长度;
根据目标数据的数据大小和双倍速率DDR内存参数中的第三参数,确定第三时间长度;
根据第一时间长度、第二时间长度和第三时间长度,确定预设时间长度。
在一种可能实现方式中,在目标数据的数据大小不是整数的情况下,根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点,包括:
确定目标数据的数据大小对应的整数数值,目标数据的数据大小对应的整数数值大于目标数据的数据大小;
根据目标数据的数据大小对应的整数数值和每个节点的最大剩余容量,确定存储目标数据的第一目标节点。
第二方面,提供了一种计算平台内存空间确定装置,该装置包括:
接收模块,用于接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;
确定模块,用于根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;
其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的。
在一种可能实现方式中,该装置还包括:
发送模块,用于当目标数据的调用进程完成时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
在一种可能实现方式中,该装置还包括:
发送模块,用于当目标节点存储目标数据的时间长度为第一目标节点存储目标数据的开始时间与预设时间长度的和时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
在一种可能实现方式中,内存节点树中的每个节点还包括节点的起点值;确定模块,具体用于:
根据每个节点的最大剩余容量和目标数据的数据大小,确定内存节点树中的多个第二目标节点;每个第二目标节点的最大剩余容量不小于目标数据的数据大小且小于目标数据的数据大小的预设倍数;
确定多个第二目标节点中最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。
在一种可能实现方式中,确定模块,还用于根据目标数据的数据大小、双倍速率DDR内存参数和目标数据的预设的最大调用周期,确定预设时间长度。
在一种可能的实现方式中,确定模块,具体用于:
根据目标数据的数据大小和双倍速率DDR内存参数中的第一参数,确定第一时间长度;
根据目标数据的最大调用周期和双倍速率DDR内存参数中的第二参数,确定第二时间长度;
根据目标数据的预设的数据大小和双倍速率DDR内存参数中的第三参数,确定第三时间长度;
根据第一时间长度、第二时间长度和第三时间长度,确定预设时间长度。
在一种可能实现方式中,在目标数据的数据大小不是整数的情况下,确定模块,具体用于:
确定目标数据的数据大小对应的整数数值,目标数据的数据大小对应的整数数值大于目标数据的数据大小;
根据目标数据的数据大小对应的整数数值和每个节点的最大剩余容量,确定存储目标数据的第一目标节点。
第三方面,提供了一种电子设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面或者第一方面的任一可能实现方式中的方法。
第四方面,提供了一种计算机存储介质,该计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或者第一方面的任一可能实现方式中的方法。
基于提供的计算平台内存空间确定方法、装置、设备及存储介质,通过接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的,保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种计算平台内存确定***的结构示意图;
图2是本发明实施例提供的一种内存节点树的结构示意图;
图3是本发明实施例提供的另一种内存节点树的结构示意图;
图4是本发明实施例提供的又一种内存节点树的结构示意图;
图5是本发明实施例提供的一种计算平台内存确定方法的流程示意图;
图6是本发明实施例提供的一种计算平台内存确定装置的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
车辆在自动驾驶过程中,需要获取许多数据,如信号灯的实时数据、车辆传感器实时获取的车辆行驶的道路环境的数据、车辆获取的来自于云端或路侧端的数据等,且车辆中的多个模块需要同时调用这些数据,已完成对车辆的控制。由于自动驾驶算法中存在多个数据传递的节点,导致上述数据的传递过程出现许多问题,如:内存开销大、消息丢失等,无法保证车辆在自动驾驶过程中数据调用的可靠性,进而导致了车辆在自动驾驶过程中的安全性和可靠性均较低。
因此,本发明实施例提供了一种计算平台内存空间确定方法、装置、设备及存储介质,能够保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
本发明实施例提供的计算平台内存空间确定方法的执行主体可以为计算平台内存空间确定***,首先对本发明实施例提供的计算平台内存空间确定***进行详细介绍。
图1是本发明实施例提供的以中计算平台内存空间确定***100的结构示意图。
如图1所示,本发明实施例提供的计算平台内存空间确定***100可以包括:控制模块101、接收模块102、判断模块103和内存模块104。
控制模块101,用于接收接收模块102发送的内存申请请求并根据内存申请请求操作内存完成内存空间申请、内存节点树的建立和确定内存节点树中存储目标数据的目标节点。控制模块101,还用于接收判断模块103发送的释放信息,并根据释放信息向内存模块104发送内存释放指令,还用于计时。内存模块104接收到内存释放指令后,内存节点树中存储向内存发送内存释放指令。
接收模块102是计算平台内存空间确定***的一个对外接口,用于完成外部目标数据的接收,以及计算目标数据的大小。
判断模块103是内存确定***的一个对外接口,主要完成目标数据调用状态的判断,向控制模块101申请内存释放。
下面对本发明实施例提供的内存节点树的建立方法进行详细阐述。
如图2所示,内存节点树上包括内存空间、节点和叶子节点。其中,内存空间是内存节点树的根节点。节点是一个内存段具有起点值和终点值,是上一级节点的子节点,是下一级节点的父节点。例如,如图3所示,根节点为1,根节点被划分成了两个节点,分别是节点11和节点12,那么节点11和节点12则为根节点1的子节点。而节点11被分成节点111和节点112,那么节点11则为节点111和节点112的父节点。
下面以二分法为例,介绍建立空间节点树的具体过程。
节点的内存段可以表示为[a,b],如果b-a=1,则该内存段对应的节点为叶子节点。如果b>a,则该内存段对应的节点可以继续被划分为两个子节点。其中,左子节点的内存段对应的区间为[a,(a+b)/2],右子节点的内存段对应的区间为[[(a+b)/2]+1,b]。
在内存节点树中,每一个节点的参数具包括起点值、终点值、最大剩余长度S。由于每一个节点都有自己的起点值、终点值、最大剩余长度,那么只有连续的叶子节点的最大剩余长度能够表示连续的剩余长度。因此,可以采用根据子节点的参数,更新父节点的参数的方法。节点的参数包含:起点值、终点值、最大剩余长度、第一连续空间起点、第一连续空间终点,第一连续空间长度……第i连续空间起点、第i连续空间终点,第i连续空间长度。[a,b,S,a1,b1,S1,a2,b2,S2,……ai,bi,Si……],如图4所示。由于连续的叶子节点的最大剩余长度能够表示连续的剩余长度,因此,在存储目标数据,能够根据连续的叶子节点的最大剩余长度确定存储目标数据的至少一个子节点,为高效率、高效能的内存申请奠定了基础。
基于上述实施例提供的计算平台内存空间确定***和内存节点树,下面对本发明实施例提供的计算平台内存空间确定方法进行详细介绍。
图5是本发明实施例提供的一种计算平台内存空间确定方法的流程示意图。
如图5所示,本发明实施例提供的计算平台内存空间确定方法可以包括:
S501:接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小。
内存空间请求是指向内存空间申请存储目标数据的内存空间的请求。其中,内存空间请求可以是目标进程发送的。目标数据需要存储到内存空间中。该目标数据能够被多个目标进程调用。内存空间请求包括目标数据的数据大小,从而能够确定存储目标数据对应的内存空间的大小。
S502:根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点。
最大剩余容量是内存节点树中每个节点都具有的参数属性。目标数据的数据大小可以是整数,还可以不是整数。
需要说明的是,第一目标节点对应的叶子节点之间是连续的,且叶子节点的最大剩余容量为1。在这里,当第一目标节点只有一个时,那么第一目标节点对应的叶子节点一定是连续。当第一目标节点有多个时,多个第一目标节点对应的叶子节点也是连续的。例如,节点11和节点12,节点11对应的叶子节点为111,112,113,114。节点12对应的叶子节点包括121,122,123,124。其中,叶子节点122的最大剩余容量为0,而目标数据的数据大小为6.6,那么节点11和节点12则为不连续的内存空间。又例如,目标数据的数据大小为5,而叶子节点122的最大剩余容量为0,但是叶子节点111,112,113,114和121为连续的叶子节点,且能够存储目标数据,那么则节点11和节点12为存储目标数据的连续的节点,也即第一目标节点。
可选的,可以通过下述步骤确定存储目标数据的第一目标节点:
根据每个节点的最大剩余容量和目标数据的数据大小,确定内存节点树中的多个第二目标节点;每个第二目标节点的最大剩余容量不小于目标数据的数据大小且小于目标数据的数据大小的预设倍数;
确定多个第二目标节点中最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。
可以对内存节点树中的每个节点进行遍历,例如,从内存节点树的根节点开始,从上到下从左到右对内存节点树中的每个节点进行遍历,从而能够确定多个第二目标节点。在这里,每个第二目标节点的最大剩余容量均不能小于目标数据的数据大小,且小于目标数据的数据大小的预设倍数。例如,目标数据的数据大小为12.5k,预设倍数为2,则第二目标节点的最大剩余容量S满足下述条件:12.5k<S<2*12.5k。在这里,目标数据的数据大小既可以是整数,也可以不是整数。
从满足条件的第二目标节点中,确定最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。也即,第一目标节点满足下述条件:Si=min{Si1,Si2,……,Sii},且第一目标节点对应的内存段的起点值满足下述条件:ai=min{ai1,ai2,……,aii}。
在这里,第一目标节点可以有多个。
可选的,在目标数据的数据大小不是整数的情况下,可以通过下述步骤确定存储目标数据的第一目标节点:
确定目标数据的数据大小对应的整数数值,目标数据的数据大小对应的整数数值大于目标数据的数据大小;
根据目标数据的数据大小对应的整数数值和每个节点的最大剩余容量,确定存储目标数据的第一目标节点。
为了能够目标数据能够完整存储,针对目标数据的数据大小不是整数的情况,还可以对目标数据的数据大小向上取整,得到目标数据的数据大小对应的整数数值。也即,目标数据的数据大小小于该整数数值。接下来,可以对内存节点树中的每个节点进行遍历,例如,从内存节点树的根节点开始,从上到下从左到右对内存节点树中的每个节点进行遍历,从而能够确定多个第二目标节点。在这里,每个第二目标节点的最大剩余容量均不能小于目标数据的数据大小,且小于目标数据的数据大小的预设倍数。例如,目标数据的数据大小为12.5k,则其对应的整数数值为13.预设倍数为2,则第二目标节点的最大剩余容量S满足下述条件:13k<S<2*13k。
最后,还可以从满足条件的第二目标节点中,确定最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。也即,第一目标节点满足下述条件:Si=min{Si1,Si2,……,Sii},且第一目标节点对应的内存段的起点值满足下述条件:ai=min{ai1,ai2,……,aii}。
可选的,为了在保证数据不丢失的情况下,还要保证内存能够按需且及时释放,本发明实施例还可以包括下述步骤:
当目标数据的调用进程完成时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
在这里,可以根据目标数据的调用进程来确定是否需要向第一目标节点发送数据释放指令,从而使第一目标节点释放该目标数据。
例如,目标数据的调用进程的状态包括0、1和2。当调用进程为0时,则表示调用进程处于还未开始调用目标数据的状态;当调用进程为1时,则表示调用进程处于调用目标数据的状态;当调用进程为2时,则表示调用进程处于结束的状态;
其中,当计算平台内存空间确定成功之前,调用进程的状态为0;当内存确定完成并且目标数据存储完成时,调用进程的状态为1。
例如,可以按照数据订阅策略,制定进程订阅状态的机制。当申请订阅该目标数据的进程都完成了订阅之后,返回订阅状态信息,并确定调用进程的状态为2,向第一目标节点发送数据释放指令,进行内存释放。
可选的,为了在保证数据不丢失的情况下,还要保证内存能够及时释放,本发明实施例还可以包括下述步骤:
当目标节点存储目标数据的时间长度为第一目标节点存储目标数据的开始时间与预设时间长度的和时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
例如,可以设定内存释放的预设时间长度Tmax,记录第一目标节点存储目标数据的时间点t0,当t=t0+Tmax时,发出内存释放的指令第一目标节点,对目标数据进行释放。
t是控制模块计算的,管理模块中有计时器,从t0开始计时。
在这里,Tmax与目标数据的数据大小、内存条的特性参数、数据订阅机制等有关。
可选的,可以采用下述方式确定预设时间长度:
根据目标数据的数据大小、双倍速率DDR内存参数和目标数据的最大调用周期,确定预设时间长度。
其中,内存参数包括内存条的写参数、内存条的读参数和内存条的擦除参数。目标数据的最大调用周期是指按照预设的数据调用配置策略调用该数据的进程的最大调用周期。
具体地,根据目标数据的数据大小和双倍速率DDR内存参数中的第一参数,确定第一时间长度;
根据目标数据的最大调用周期和双倍速率DDR内存参数中的第二参数,确定第二时间长度;
根据目标数据的预设的数据大小和双倍速率DDR内存参数中的第三参数,确定第三时间长度;
根据第一时间长度、第二时间长度和第三时间长度,确定预设时间长度。
t1=f(M,DDRWrite):M表示待存数据的大小,DDRWrite表示内存条的第一参数,也即内存条的写参数,t1是M和DDRWrite的函数。
t2=t4+f(M,DDRRead):t4表示按照预设的数据调用配置策略调用该数据的进程的最大调用周期,DDRRread是第二参数,也即内存条的读参数,t2是t4、M和DDRRead的函数。
t3=f(M,DDROver),M表示待存数据的大小,DDROver是第三参数,也即内存条的擦除参数,t3是M和DDROver的函数。
预设时间长度Tmax=t1+t2+t3。
需要说明的是,本发明实施例提供的计算平台内存空间确定方法还可以应用于其他场景下的计算平台内存空间确定的场景中。
本发明实施例提供的计算平台内存空间确定方法,通过接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的,保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
图6是本发明实施例提供的一种计算平台内存空间确定装置的结构示意图。
如图6所示,本发明实施例提供的一种计算平台内存空间确定装置,可以包括:接收模块601,确定模块602。
接收模块601,用于接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;
确定模块602,用于根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;
其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的。
可选的,在本发明的一个实施例中,该装置还包括:
发送模块603,用于当目标数据的调用进程完成时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
可选的,在本发明的一个实施例中,该装置还包括:
发送模块603,用于当目标节点存储目标数据的时间长度为第一目标节点存储目标数据的开始时间与预设时间长度的和时,向第一目标节点发送数据释放指令,以用于第一目标节点释放目标数据。
可选的,在本发明的一个实施例中,内存节点树中的每个节点还包括节点的起点值;确定模块602,具体用于:
根据每个节点的最大剩余容量和目标数据的数据大小,确定内存节点树中的多个第二目标节点;每个第二目标节点的最大剩余容量不小于目标数据的数据大小且小于目标数据的数据大小的预设倍数;
确定多个第二目标节点中最大剩余容量最小且起点值最小的第二目标节点为第一目标节点。
可选的,在本发明的一个实施例中,确定模块602,还用于根据所述目标数据的数据大小、双倍速率DDR内存的参数和所述目标数据的最大调用周期,确定所述预设时间长度。
可选的,在本发明的一个实施例中,确定模块602,具体用于:
根据所述目标数据的数据大小和双倍速率DDR内存参数中的第一参数,确定第一时间长度;
根据所述目标数据的最大调用周期和双倍速率DDR内存的第二参数,确定第二时间长度;
根据所述目标数据的数据大小和双倍速率DDR内存参数中的第三参数,确定第三时间长度;
根据所述第一时间长度、所述第二时间长度和所述第三时间长度,确定所述预设时间长度。
可选的,在本发明的一个实施例中,在目标数据的数据大小不是整数的情况下,确定模块602,具体用于:
确定目标数据的数据大小对应的整数数值,目标数据的数据大小对应的整数数值大于目标数据的数据大小;
根据目标数据的数据大小对应的整数数值和每个节点的最大剩余容量,确定存储目标数据的第一目标节点。
本发明实施例提供的计算平台内存空间确定装置,通过接收目标进程的内存空间请求;内存空间请求包括目标数据的数据大小;根据预先建立的内存空间的内存节点树中每个节点的最大剩余容量和目标数据的数据大小,确定存储目标数据的第一目标节点;其中,内存节点树的最后一级节点为叶子节点;第一目标节点对应的叶子节点之间是连续的,保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性。
本发明实施例提供的计算平台内存空间确定装置执行图4所示的方法中的各个步骤,并能够达到保证车辆在自动驾驶过程中数据调用的可靠性,从而提高车辆在自动驾驶过程中的安全性和可靠性的技术效果,为简洁描述,再此不在详细赘述。
图7示出了本发明实施例提供的一种电子设备的硬件结构示意图。
在电子设备可以包括处理器701以及存储有计算机程序指令的存储器702。
具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。在特定实施例中,存储器702包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现图5所示实施例中的任意一种计算平台内存空间确定方法。
在一个示例中,电子设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
通信接口703,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线710包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该电子设备可以执行本发明实施例中的计算平台内存空间确定方法,从而实现图5描述的计算平台内存空间确定方法。
另外,结合上述实施例中的计算平台内存空间确定方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种计算平台内存空间确定方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种计算平台内存空间确定方法,其特征在于,所述方法包括:
接收目标进程的内存空间请求;所述内存空间请求包括目标数据的数据大小;
根据预先建立的所述内存空间的内存节点树中每个节点的最大剩余容量和所述目标数据的数据大小,确定存储所述目标数据的第一目标节点;
其中,所述内存节点树的最后一级节点为叶子节点;所述第一目标节点对应的叶子节点之间是连续的。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标数据的调用进程完成时,向所述第一目标节点发送数据释放指令,以用于所述第一目标节点释放所述目标数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一目标节点存储所述目标数据的时间长度为所述第一目标节点存储所述目标数据的开始时间与预设时间长度的和时,向所述第一目标节点发送数据释放指令,以用于所述第一目标节点释放所述目标数据。
4.根据权利要求1所述的方法,其特征在于,所述内存节点树中的每个节点还包括节点的对应的内存段的起点值;
所述根据预先建立的所述内存空间的内存节点树中每个节点的最大剩余容量和所述目标数据的数据大小,确定存储所述目标数据的第一目标节点,包括:
根据所述每个节点的最大剩余容量和所述目标数据的数据大小,确定所述内存节点树中的多个第二目标节点;每个所述第二目标节点的最大剩余容量不小于所述目标数据的数据大小且小于所述目标数据的数据大小的预设倍数;
确定多个所述第二目标节点中最大剩余容量最小且起点值最小的第二目标节点为所述第一目标节点。
5.根据权利要求3所述的方法,其特征在于,在当所述第一目标节点存储所述目标数据的时间长度为所述第一目标节点存储所述目标数据的开始时间与预设时间长度的和时,向所述第一目标节点发送数据释放指令之前,所述方法还包括:
根据所述目标数据的数据大小、双倍速率DDR内存的参数和所述目标数据的预设的最大调用周期,确定所述预设时间长度。
6.根据权利要求3所述的方法,其特征在于,所述根据所述目标数据的数据大小、双倍速率DDR内存参数和所述目标数据的预设的最大调用周期,确定所述预设时间长度包括:
根据所述目标数据的数据大小和双倍速率DDR内存参数中的第一参数,确定第一时间长度;
根据所述目标数据的预设的最大调用周期和双倍速率DDR内存参数中的第二参数,确定第二时间长度;
根据所述目标数据的数据大小和双倍速率DDR内存参数中的第三参数,确定第三时间长度;
根据所述第一时间长度、所述第二时间长度和所述第三时间长度,确定所述预设时间长度。
7.根据权利1-6任一项所述的方法,其特征在于,在所述目标数据的数据大小不是整数的情况下,所述根据预先建立的所述内存空间的内存节点树中每个节点的最大剩余容量和所述目标数据的数据大小,确定存储所述目标数据的第一目标节点,包括:
确定所述目标数据的数据大小对应的整数数值,所述目标数据的数据大小对应的整数数值大于所述目标数据的数据大小;
根据所述目标数据的数据大小对应的整数数值和所述每个节点的最大剩余容量,确定存储所述目标数据的第一目标节点。
8.一种计算平台内存空间确定装置,其特征在于,所述装置包括:
接收模块,用于接收目标进程的内存空间请求;所述内存空间请求包括目标数据的数据大小;
确定模块,用于根据预先建立的所述内存空间的内存节点树中每个节点的最大剩余容量和所述目标数据的数据大小,确定存储所述目标数据的第一目标节点;
其中,所述内存节点树的最后一级节点为叶子节点;所述第一目标节点对应的叶子节点之间是连续的。
9.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590819.3A CN111857575A (zh) | 2020-06-24 | 2020-06-24 | 计算平台内存空间确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590819.3A CN111857575A (zh) | 2020-06-24 | 2020-06-24 | 计算平台内存空间确定方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857575A true CN111857575A (zh) | 2020-10-30 |
Family
ID=72988240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590819.3A Pending CN111857575A (zh) | 2020-06-24 | 2020-06-24 | 计算平台内存空间确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857575A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012870A (zh) * | 2010-11-18 | 2011-04-13 | 清华大学 | 内存分配方法 |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN108446187A (zh) * | 2018-03-07 | 2018-08-24 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN108628753A (zh) * | 2017-03-24 | 2018-10-09 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
-
2020
- 2020-06-24 CN CN202010590819.3A patent/CN111857575A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012870A (zh) * | 2010-11-18 | 2011-04-13 | 清华大学 | 内存分配方法 |
CN106294190A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种存储空间管理方法及装置 |
CN108628753A (zh) * | 2017-03-24 | 2018-10-09 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN108446187A (zh) * | 2018-03-07 | 2018-08-24 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN110309368A (zh) * | 2018-03-26 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210226919A1 (en) | Information processing method, information processing system, and non-transitory computer-readable recording medium storing a program | |
CN108833122A (zh) | 车载通信控制器的唤醒方法、装置及存储介质 | |
CN108958787B (zh) | 区块链***升级方法、装置、设备及存储介质 | |
US11516045B2 (en) | Anomaly determination method, anomaly determination device, and recording medium | |
US10274919B2 (en) | Method, device and computer program product for programming a plurality of control units | |
CN112249035B (zh) | 基于通用数据流架构的自动驾驶方法、装置及设备 | |
CN111291365A (zh) | 联盟链***的智能合约管理方法、装置、设备及存储介质 | |
CN114185678A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN112698857A (zh) | 一种数据刷写的方法及设备 | |
CN116743779B (zh) | 组态数据同步更新方法、装置和内生安全工业控制器 | |
CN111857575A (zh) | 计算平台内存空间确定方法、装置、设备及存储介质 | |
CN112788106B (zh) | 一种应用于区块链的区块生成控制方法及相关装置 | |
CN111182050B (zh) | 一种实现应用与服务器间通信的方法与设备 | |
CN112764818B (zh) | 设备管理方法、装置、电子设备及可读存储介质 | |
JP7485052B2 (ja) | 管理装置、サーバ装置、ホワイトリスト更新プログラム | |
CN114240651A (zh) | 跨链交易发送方法、装置、设备和存储介质 | |
CN114675822A (zh) | Autosar软件组件开发方法、装置、设备及存储介质 | |
CN110688677B (zh) | 用于执行智能合约的方法和装置 | |
CN113721938A (zh) | 适应电力物联网的边边协同任务处理方法、装置及*** | |
CN111176674A (zh) | 一种osgi插件升级的方法、装置、电子设备及存储介质 | |
CN113162796A (zh) | 一种设备更新方法、装置及设备更新*** | |
CN115484105B (zh) | 攻击树的建模方法、装置、电子设备及可读存储介质 | |
TWI845172B (zh) | 網狀網路中改善傳輸路徑的方法、電子裝置及電腦可讀儲存媒體 | |
CN111338680B (zh) | 从站的固件升级方法、固件升级装置及终端 | |
CN116781389B (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 |