CN113867940A - 一种内存管理方法和相关装置 - Google Patents
一种内存管理方法和相关装置 Download PDFInfo
- Publication number
- CN113867940A CN113867940A CN202111045179.9A CN202111045179A CN113867940A CN 113867940 A CN113867940 A CN 113867940A CN 202111045179 A CN202111045179 A CN 202111045179A CN 113867940 A CN113867940 A CN 113867940A
- Authority
- CN
- China
- Prior art keywords
- area
- memory
- target
- threshold
- transmission 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 192
- 238000007726 management method Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims abstract description 126
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 25
- 230000006399 behavior Effects 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种内存管理方法和相关装置,可以先确定该数据传输请求对应的传输数据,以及确定该传输数据对应的内存区域,该传输数据存储于未注册区域中。可以根据目标平台的数据复制速度和内存注册速度确定第一阈值,若该内存区域的区域大小超过第一阈值,说明注册区域所需的时间较长,可以在已注册内存区域中的目标区域,将该传输数据直接复制到该目标区域中生成待发送区域;若该内存区域的区域大小未超过该第一阈值,则说明注册区域所需的时间较短,可以直接对该传输数据对应的目标未注册内存区域进行注册来生成待发送区域,从而可以实现基于不同的内存区域需求进行合理调整,提高待发送区域的生成效率,进而提高数据传输的整体效率。
Description
技术领域
本申请涉及传输技术领域,特别是涉及一种内存管理方法和相关装置。
背景技术
随着互联网、云计算、物联网、移动互联网等技术的发展,尤其是移动互联网的到来,对网络的传输性能要求越来越高。用户希望更快和更轻量级的网络通信,这就对网络传输的带宽、时延有了更高的要求。RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中客户端与服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。
在相关技术中,由于RDMA的kernel bypass及DMA特性,要求各种RDMA操作的缓冲区都需要进行注册,才能达到DMA的使用要求。由于注册过程相对耗时,所以提前注册需要使用的内存区域是常用的方法。然而,相关技术中的注册方式效率较低,难以满足高效的传输需求。
发明内容
为了解决上述技术问题,本申请提供了一种内存管理方法,处理设备可以对复制数据的速度和注册内存的速度进行分析,合理选择生成待发送区域的方式,从而提高待发送区域的生成效率,进而提高数据发送效率。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种内存管理方法,所述方法包括:
获取目标平台发送的数据传输请求;
确定所述数据传输请求对应的传输数据,以及确定所述传输数据所需的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
根据所述待发送区域传输所述传输数据。
在一种可能的实现方式中,所述方法还包括:
确定所述目标平台对应的第二阈值,所述第二阈值是根据所述目标平台的平台处理资源确定的;
所述若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,包括:
若确定所述内存区域的区域大小未超过所述第一阈值,且所述目标平台的空闲处理资源超过所述第二阈值,对所述传输数据对应的所述目标未注册内存区域进行注册,生成所述待发送区域。
在一种可能的实现方式中,所述平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
在一种可能的实现方式中,所述方法还包括:
响应于所述传输数据传输完毕,且所述待发送区域是通过对所述目标未注册区域进行注册生成的,撤销对所述目标未注册区域的注册行为。
第二方面,本申请实施例公开了一种内存管理装置,所述装置包括获取单元、第一确定单元、第二确定单元、注册单元和发送单元:
所述获取单元,用于获取目标平台发送的数据传输请求;
所述第一确定单元,用于确定所述数据传输请求对应的传输数据,以及确定所述传输数据对应的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
所述第二确定单元,用于若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
所述注册单元,用于若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
所述发送单元,用于根据所述待发送区域传输所述传输数据。
在一种可能的实现方式中,所述装置还包括第三确定单元:
所述第三确定单元,用于确定所述目标平台对应的第二阈值,所述第二阈值是根据所述目标平台的平台处理资源确定的;
所述注册单元具体用于:
若确定所述内存区域的区域大小未超过所述第一阈值,且所述目标平台的空闲处理资源超过所述第二阈值,对所述传输数据对应的所述目标未注册内存区域进行注册,生成所述待发送区域。
在一种可能的实现方式中,所述平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
在一种可能的实现方式中,所述装置还包括撤销单元:
所述撤销单元,用于响应于所述传输数据传输完毕,且所述待发送区域是通过对所述目标未注册区域进行注册生成的,撤销对所述目标未注册区域的注册行为。
第三方面,本申请实施例公开了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任意一项所述的内存管理方法。
第四方面,一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行第一方面中任意一项所述的内存管理方法。
由上述技术方案可以看出,在获取目标平台发送的数据传输请求后,可以先确定该数据传输请求对应的传输数据,以及确定该传输数据对应的内存区域,该传输数据存储于未注册区域中。因此,在进行传输之前,需要先将生成一个具有该传输数据的已注册区域作为待发送区域。为了提高该待发送区域的生成效率,可以先确定该内存区域的区域大小是否超过第一阈值,该第一阈值是根据目标平台的数据复制速度和内存注册速度确定的,若该内存区域的区域大小超过第一阈值,则说明此时注册区域所需的时间较长,此时可以在已注册内存区域中的目标区域,将该传输数据直接复制到该目标区域中生成待发送区域,从而无需进行二次注册;若该内存区域的区域大小未超过该第一阈值,则说明此时注册区域所需的时间较短,可以直接对该传输数据对应的目标未注册内存区域进行注册来生成待发送区域,从而可以实现基于不同的内存区域需求进行合理调整,提高待发送区域的生成效率,进而提高数据传输的整体效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种内存管理方法的流程图;
图2为本申请实施例提供的一种实际应用场景中内存管理方法的示意图;
图3为本申请实施例提供的一种内存管理装置的框架图;
图4为本申请实施例提供的一种计算机设备的结构图;
图5为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
RDMA(RemoteDirect Memory Access)技术可以将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。为了兼容以太网,RDMA基于以太网定义了ROCE、IWARP两种实现,使得RDMA在传统以太网得以应用。
对用于支撑RDMA/Kernel bypass应用的OFED(OpenFabrics EnterpriseDistribution)软件栈,对用户提供了基于verbs的RDMA操作,SEND、RECV、WRITE、READ等。由于RDMA的kernel bypass及DMA特性,要求各种RDMA操作的缓冲区都需要使用verbs进行注册,才能达到DMA的使用要求。由于注册过程相对耗时,所以提前注册需要使用的内存区域是常用的方法。
但提前注册的区域,需要在一定时间内、或者一定条件下copy到目的地址,释放该注册的内存区域,以便于下一次RDMA操作使用。这种机制相当于又增加了一次copy动作,不仅占用CPU资源,有增加了耗时,降低了IOPS。由此可见,无论是都采用数据复制的方式还是都采用内存区域注册的方式来生成用于传输数据的内存区域,都会存在一定的效率浪费的问题。
为了解决上述技术问题,本申请提供了一种内存管理方法,处理设备可以对复制数据的速度和注册内存的速度进行分析,合理选择生成待发送区域的方式,从而提高待发送区域的生成效率,进而提高数据发送效率。
可以理解的是,该方法可以应用于处理设备上,该处理设备为能够进行内存管理的处理设备,例如可以为具有内存管理功能的终端设备或服务器。该方法可以通过终端设备或服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为计算机、手机等设备。服务器可以理解为是应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
接下来,将结合附图,对本申请实施例提供的一种内存管理方法进行介绍。
参见图1,图1为本申请实施例提供的一种内存管理方法的流程图,该方法包括:
S101:确定目标平台发送的数据传输请求。
其中,目标平台可以为任意数据存储平台,该数据传输请求用于请求从该目标平台传输数据。
S102:确定数据传输请求对应的传输数据,以及确定传输数据对应所需的内存区域的区域大小。
该传输数据是该数据传输请求所请求传输的数据,该内存区域的区域大小是指在进行RDMA传输时所需的区域大小。同时,该传输数据存储于未注册内存区域中,即在RDMA传输模式下,处理设备无法直接将该传输数据进行传输。
S103:若确定内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将传输数据复制到目标区域中,生成待发送区域。
可以理解的是,为了进行RDMA传输,需要传输区域位于已经注册的内存区域中,将该区域作为待发送区域进行数据传输。其中,生成待发送区域的方式可以由两种方式生成,一种是直接对该传输数据所在的未注册内存区域进行注册,一种是先找到一块已注册的内存区域,然后将需要进行传输的传输数据复制到该已注册区域中。然而,针对于不同的存储平台或者不同的内存区域大小,进行数据复制和内存注册的速度可能都有所不同,因此,为了提高待发送区域的生成速度,处理设备可以根据实际所需的区域大小和存储平台来确定生成待发送区域的具体方式。
其中,该第一阈值是根据目标平台的数据复制速度和内存能注册速度确定的,即该第一阈值可以用于衡量该目标平台在处理某一传输数据时,采用注册新内存区域方式和进行数据复制方式之间的速度差异。若该内存区域的区域大小超过第一阈值,则说明该内存区域较大,此时注册内存区域会耗费较长时间和资源,因此可以确定已注册内存区域中的目标区域,该已注册内存区域是指预先在该目标平台中进行注册过的内存区域,该目标区域可以为该已注册内存区域中满足数据传输需求的任意一个区域。处理设备可以将传输数据复制到该目标区域中,生成该待发送区域。
S204:若确定内存区域的区域大小未超过第一阈值,对传输数据对应的目标未注册内存区域进行注册,生成待发送区域。
若该内存区域的区域大小未超过第一阈值,则说明该内存区域较小,处理设备可以较快的对该区域大小的内存区域进行注册。此时,处理设备可以对该传输数据对应的目标未注册内存区域进行注册,生成待发送区域,该目标未注册内存区域是指存储有该传输数据的未注册内存区域。
S205:根据待发送区域传输传输数据。
由上述技术方案可以看出,在获取目标平台发送的数据传输请求后,可以先确定该数据传输请求对应的传输数据,以及确定该传输数据对应的内存区域,该传输数据存储于未注册区域中。因此,在进行传输之前,需要先将生成一个具有该传输数据的已注册区域作为待发送区域。为了提高该待发送区域的生成效率,可以先确定该内存区域的区域大小是否超过第一阈值,该第一阈值是根据目标平台的数据复制速度和内存注册速度确定的,若该内存区域的区域大小超过第一阈值,则说明此时注册区域所需的时间较长,此时可以在已注册内存区域中的目标区域,将该传输数据直接复制到该目标区域中生成待发送区域,从而无需进行二次注册;若该内存区域的区域大小未超过该第一阈值,则说明此时注册区域所需的时间较短,可以直接对该传输数据对应的目标未注册内存区域进行注册来生成待发送区域,从而可以实现基于不同的内存区域需求进行合理调整,提高待发送区域的生成效率,进而提高数据传输的整体效率。
可以理解的是,存储平台进行内存注册和数据复制的速度主要与平台自身的处理性能有关,而平台的处理性能除了与存储平台的硬件相关,与存储平台自身所剩余的处理资源也有很大关系。因此,在一种可能的实现方式中,处理设备可以确定该目标平台对应的第二阈值,该第二阈值是根据该目标平台的平台处理资源确定的。在确定待发送区域的生成方式时,处理设备可以结合该目标平台的处理资源来进行确定。若确定该内存区域的区域大小未超过该第一阈值,且该目标平台的空闲处理资源超过该第二阈值,则说明此时所需的内存区域较小,同时该目标平台也有足够的处理资源进行内存注册,因此只需较短的时间即可完成内存注册。同理,若该内存区域的区域大小超过第一阈值,且该目标平台的空闲处理资源未超过第二阈值,则说明此时所需的内存区域较大,同时该目标平台也不具有租机构的处理资源能够进行内存注册,此时可以通过数据复制的方式来生成待发送区域。
其中,在一种可能的实现方式中,该平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
此外,为了提高内存资源利用的效率和合理性,在一种可能的实现方式中,响应于该传输数据传输完毕,且该待发送区域是通过对目标未注册区域进行注册生成的,处理设备可以撤销对该目标未注册区域的注册行为,以便进行其他数据任务。。
接下来,将结合一种实际应用场景,对本申请实施例提供的一种内存管理方法进行介绍,参见图2,图2为本申请实施例提供的一种实际应用场景中内存管理方法的示意图,在该实际应用场景中,处理设备可以为用于管理存储平台的内存管理服务器。
内存管理服务器可以接收针对该存储平台的RDMA请求,该RDMA请求用于请求从该存储平台中发送数据。在接收到RDMA请求后,服务器可以先基于该存储平台的信息,例如注册内存的速度和数据复制的速度,确定该存储平台对应的第一阈值,以及根据该存储平台的平台处理资源确定第二阈值。其中,不同平台下,相同大小的内存,进行数据复制和内存注册的速度都有所不同。
然后,服务器可以启动资源监控模块,监控CPU和内存的的使用情况,随后可以启动注册内存管理模块,根据平台不同预先注册一定数量的不同大小的内存区域(MemoryRegion,简称MR)。服务器可以启动RDMA_CM模块监听,并建立新的连接,用于接收RDMA请求。
在接收RDMA请求后,服务器可以根据第一阈值和第二阈值对该RDMA请求进行判断,若内存区域的区域大小大于第一阈值,且剩余平台处理资源量小于第二阈值,则可以在已注册好的内存区域中获取内存块,然后将传输数据复制到该内存快中进行数据传输;若内存区域的区域大小小于第一阈值,且剩余凭条处理资源大于第二阈值,则可以直接将传输数据所在的内存区域注册为待发送区域进行数据发送,从而可以提高IO传输效率,降低时延,提升设备的IOPS。
基于上述实施例提供的一种内存管理方法,本申请实施例还提供了一种内存管理装置,参见图3,图3为本申请实施例提供的一种内存管理装置300的结构框图,该装置包括获取单元301、第一确定单元302、第二确定单元303、注册单元304和发送单元305:
所述获取单元301,用于获取目标平台发送的数据传输请求;
所述第一确定单元302,用于确定所述数据传输请求对应的传输数据,以及确定所述传输数据对应的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
所述第二确定单元303,用于若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
所述注册单元304,用于若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
所述发送单元305,用于根据所述待发送区域传输所述传输数据。
在一种可能的实现方式中,所述装置还包括第三确定单元:
所述第三确定单元,用于确定所述目标平台对应的第二阈值,所述第二阈值是根据所述目标平台的平台处理资源确定的;
所述注册单元304具体用于:
若确定所述内存区域的区域大小未超过所述第一阈值,且所述目标平台的空闲处理资源超过所述第二阈值,对所述传输数据对应的所述目标未注册内存区域进行注册,生成所述待发送区域。
在一种可能的实现方式中,所述平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
在一种可能的实现方式中,所述装置还包括撤销单元:
所述撤销单元,用于响应于所述传输数据传输完毕,且所述待发送区域是通过对所述目标未注册区域进行注册生成的,撤销对所述目标未注册区域的注册行为。
本申请实施例还提供了一种计算机设备,下面结合附图对该设备进行介绍。请参见图4所示,本申请实施例提供了一种设备,该设备还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端设备为手机为例:
图4示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图4,手机包括:射频(Radio Frequency,简称RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(Wireless Fidelity,简称WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图4中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图4对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图4中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器780还具有以下功能:
获取目标平台发送的数据传输请求;
确定所述数据传输请求对应的传输数据,以及确定所述传输数据所需的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
根据所述待发送区域传输所述传输数据。
本申请实施例还提供一种服务器,请参见图5所示,图5为本申请实施例提供的服务器800的结构图,服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于图5所示的服务器结构。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的内存管理方法中的任意一种实施方式。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种内存管理方法,其特征在于,所述方法包括:
获取目标平台发送的数据传输请求;
确定所述数据传输请求对应的传输数据,以及确定所述传输数据所需的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
根据所述待发送区域传输所述传输数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标平台对应的第二阈值,所述第二阈值是根据所述目标平台的平台处理资源确定的;
所述若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,包括:
若确定所述内存区域的区域大小未超过所述第一阈值,且所述目标平台的空闲处理资源超过所述第二阈值,对所述传输数据对应的所述目标未注册内存区域进行注册,生成所述待发送区域。
3.根据权利要求2所述的方法,其特征在于,所述平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述传输数据传输完毕,且所述待发送区域是通过对所述目标未注册区域进行注册生成的,撤销对所述目标未注册区域的注册行为。
5.一种内存管理装置,其特征在于,所述装置包括获取单元、第一确定单元、第二确定单元、注册单元和发送单元:
所述获取单元,用于获取目标平台发送的数据传输请求;
所述第一确定单元,用于确定所述数据传输请求对应的传输数据,以及确定所述传输数据对应的内存区域的区域大小,所述传输数据存储于未注册内存区域中;
所述第二确定单元,用于若确定所述内存区域的区域大小超过第一阈值,确定已注册内存区域中的目标区域,并将所述传输数据复制到所述目标区域中,生成待发送区域;
所述注册单元,用于若确定所述内存区域的区域大小未超过所述第一阈值,对所述传输数据对应的目标未注册内存区域进行注册,生成待发送区域,所述第一阈值是根据所述目标平台的数据复制速度和内存注册速度确定的;
所述发送单元,用于根据所述待发送区域传输所述传输数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括第三确定单元:
所述第三确定单元,用于确定所述目标平台对应的第二阈值,所述第二阈值是根据所述目标平台的平台处理资源确定的;
所述注册单元具体用于:
若确定所述内存区域的区域大小未超过所述第一阈值,且所述目标平台的空闲处理资源超过所述第二阈值,对所述传输数据对应的所述目标未注册内存区域进行注册,生成所述待发送区域。
7.根据权利要求6所述的装置,其特征在于,所述平台处理资源包括内存资源、处理器资源中的任意一种或多种的组合。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括撤销单元:
所述撤销单元,用于响应于所述传输数据传输完毕,且所述待发送区域是通过对所述目标未注册区域进行注册生成的,撤销对所述目标未注册区域的注册行为。
9.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-4中任意一项所述的内存管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-4中任意一项所述的内存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045179.9A CN113867940B (zh) | 2021-09-07 | 2021-09-07 | 一种内存管理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045179.9A CN113867940B (zh) | 2021-09-07 | 2021-09-07 | 一种内存管理方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867940A true CN113867940A (zh) | 2021-12-31 |
CN113867940B CN113867940B (zh) | 2024-01-12 |
Family
ID=78994647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111045179.9A Active CN113867940B (zh) | 2021-09-07 | 2021-09-07 | 一种内存管理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867940B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110898B1 (en) * | 2012-12-20 | 2015-08-18 | Emc Corporation | Method and apparatus for automatically detecting replication performance degradation |
CN107003904A (zh) * | 2015-04-28 | 2017-08-01 | 华为技术有限公司 | 一种内存管理方法、设备和系统 |
US20200089649A1 (en) * | 2018-09-13 | 2020-03-19 | Microsoft Technology Licensing, Llc | Transport Protocol and Interface for Efficient Data Transfer Over RDMA Fabric |
CN111225042A (zh) * | 2019-12-27 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 数据传输的方法、装置、计算机设备以及存储介质 |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN113326155A (zh) * | 2021-06-28 | 2021-08-31 | 深信服科技股份有限公司 | 一种信息处理方法、装置、系统和存储介质 |
-
2021
- 2021-09-07 CN CN202111045179.9A patent/CN113867940B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110898B1 (en) * | 2012-12-20 | 2015-08-18 | Emc Corporation | Method and apparatus for automatically detecting replication performance degradation |
CN107003904A (zh) * | 2015-04-28 | 2017-08-01 | 华为技术有限公司 | 一种内存管理方法、设备和系统 |
US20200089649A1 (en) * | 2018-09-13 | 2020-03-19 | Microsoft Technology Licensing, Llc | Transport Protocol and Interface for Efficient Data Transfer Over RDMA Fabric |
CN111400212A (zh) * | 2019-09-29 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种基于远程直接数据存取的传输方法、设备 |
CN111225042A (zh) * | 2019-12-27 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 数据传输的方法、装置、计算机设备以及存储介质 |
CN113326155A (zh) * | 2021-06-28 | 2021-08-31 | 深信服科技股份有限公司 | 一种信息处理方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113867940B (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3591940B1 (en) | Mirror image distribution method, and mirror image acquisition method and apparatus | |
EP3531290B1 (en) | Data backup method, apparatus, electronic device, storage medium, and system | |
CN107391259B (zh) | 资源处理方法和装置、计算机可读存储介质、移动终端 | |
WO2015090248A1 (zh) | 服务器的过载保护方法及装置 | |
US10225356B2 (en) | Method and terminal for receiving push information, storage medium | |
KR102185004B1 (ko) | 단말과 네트워크 디바이스 사이의 상호작용을 위한 방법 및 단말 | |
WO2021243884A1 (zh) | 一种网元确定方法和装置 | |
WO2014032559A1 (zh) | 下载文件的方法和装置 | |
US10922193B2 (en) | Data backup method, storage medium, and terminal | |
CN109992399B (zh) | 资源管理方法、装置、移动终端及计算机可读存储介质 | |
CN108270839B (zh) | 访问频率控制系统及方法 | |
US20160119695A1 (en) | Method, apparatus, and system for sending and playing multimedia information | |
CN116610372B (zh) | 一种中央处理器配置方法、装置及相关产品 | |
CN111314900B (zh) | 无线连接方法、无线连接装置及移动终端 | |
WO2017206851A1 (zh) | 安装任务的分配方法及移动终端 | |
CN113039517B (zh) | 一种音频资源调用的方法、装置及电子设备 | |
CN116596202A (zh) | 工单处理方法、相关装置及存储介质 | |
CN113867940B (zh) | 一种内存管理方法和相关装置 | |
CN107220344B (zh) | 文件处理方法及相关产品 | |
CN115065609A (zh) | B端SaaS系统混合部署方法及系统 | |
CN112261634B (zh) | 一种蓝牙传输控制方法、装置、终端设备和存储介质 | |
WO2017049930A1 (zh) | 一种资源使用方法及终端 | |
CN106294025B (zh) | 一种终端软体的下载方法和装置 | |
CN112214699A (zh) | 一种页面处理的方法及相关装置 | |
CN106358070B (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 |