CN114265788A - 一种内存管理的装置、方法、设备和介质 - Google Patents

一种内存管理的装置、方法、设备和介质 Download PDF

Info

Publication number
CN114265788A
CN114265788A CN202111544930.XA CN202111544930A CN114265788A CN 114265788 A CN114265788 A CN 114265788A CN 202111544930 A CN202111544930 A CN 202111544930A CN 114265788 A CN114265788 A CN 114265788A
Authority
CN
China
Prior art keywords
data packet
memory capacity
residual
recorded
slave
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
CN202111544930.XA
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.)
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology 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 Beijing Eswin Computing Technology Co Ltd, Guangzhou Quanshengwei Information Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202111544930.XA priority Critical patent/CN114265788A/zh
Publication of CN114265788A publication Critical patent/CN114265788A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本申请实施例提供了一种内存管理的装置、方法、电子设备及计算机可读存储介质,涉及嵌入式领域。包括可应用于SDIO总线的主机端和从机端的装置,其中主机端的装置包括记录模块和收发模块:记录模块用于获取并记录剩余内存容量,该剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量;收发模块用于接收主机端的业务层发送的携带第一数据包的传输指令,以及还用于若第一数据包的数据量不大于记录的剩余内存容量,向从机端发送第一数据包,以及记录模块还用于更新记录的剩余内存容量。因此,即便处于网络不顺畅的环境下,主机端仍然可以根据通过该装置确保传输数据过程的确定性和可靠性,从而避免网络不顺畅对业务层造成的不利影响。

Description

一种内存管理的装置、方法、设备和介质
技术领域
本申请涉及嵌入式领域,具体而言,本申请涉及一种内存管理的装置、方法、电子设备及计算机可读存储介质。
背景技术
SDIO-wifi模块是一种符合wifi无线网络标准的低内存嵌入式设备,内置无线网络协议等,可通过SDIO总线与用户主平台(例如,没有wifi功能的手机)相连接,从而实现将用户主平台的数据包传输到无线网络中。
然而,在遇到网络不顺畅时,SDIO-wifi模块无法及时将数据包通过wifi接口发送出去,最后导致缓存区爆满,该情形即为阻塞。由于主平台的传输层对SDIO-wifi模块的阻塞状态并不知晓,只要主平台的业务层有数据传输需求,就只能向SDIO-wifi模块发送数据包。SDIO-wifi模块接收到数据包之后,只能将其置于消息队列中,而消息队列一满,就需要通过丢包操作,来为新的数据包腾空间。而丢包意味着数据传输任务失败,对于低内存嵌入式设备,这种数据传输失败发生的机率极大,且数据传输任务失败也影响着业务层的正常业务往来。
因此,如何解决网络不顺畅对业务层的不利影响,是目前急需解决的技术问题。
发明内容
本申请实施例的目的旨在能解决网络不顺畅对业务层造成的不利影响的问题。
根据本申请实施例的第一方面,提供了一种内存管理的装置,应用于SDIO总线的主机端,SDIO总线的另一端为从机端,该装置包括:记录模块、收发模块,其中,
记录模块,用于响应于SDIO总线的初始化操作,获取并记录剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量;
收发模块,用于接收主机端的业务层发送的携带第一数据包的传输指令;
收发模块,还用于若第一数据包的数据量不大于记录的剩余内存容量,向从机端发送第一数据包,以及记录模块,还用于更新记录的剩余内存容量。
在一种可能的实现方式中,该收发模块还用于:
若第一数据包的数据量大于记录的剩余内存容量,向业务层反馈发送失败的消息,以便于业务层处理第一数据包。
在一种可能的实现方式中,记录模块在更新记录的剩余内存容量中,具体用于:
在发送第一数据包之后,将记录的剩余内存容量与第一数据包的数据量之差作为新的记录的剩余内存容量。
在一种可能的实现方式中,收发模块,还用于若记录的剩余内存容量满足预设条件,向从机端发送查询请求,其中,预设条件包括以下至少一项:第一数据包的数据量大于记录的剩余内存容量,或者,记录的剩余内存容量小于或者等于预设值;
记录模块,还用于响应于从机端反馈的当前的剩余内存容量,根据当前的剩余内存容量更新记录的剩余内存容量。
在一种可能的实现方式中,记录模块还用于:
若接收到从机端发送的携带剩余内存容量的第二数据包,根据第二数据包中携带的剩余内存容量更新记录的剩余内存容量。
根据本申请实施例的第二方面,提供了另一种内存管理的装置,应用于SDIO总线的从机端,SDIO总线的另一端为主机端,该装置包括:收发模块、缓存模块,其中,
收发模块,用于响应于SDIO总线的初始化操作,向主机端反馈剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量;
缓存模块,用于若接收到主机端发送的第一数据包,在内存空间中缓存第一数据包。
在一种可能的实现方式中,该装置还包括:
获取模块,用于若接收到主机端发送的查询请求,获取当前的剩余内存容量;
收发模块,还用于向主机端反馈当前的剩余内存容量。
在一种可能的实现方式中,该装置还包括:
获取模块,用于获取当前的剩余内存容量;
处理模块,用于将当前的剩余内存容量添加至第三数据包中,得到第二数据包,其中,第三数据包为从机端通过预设接口接收的数据包;
收发模块,还用于将第二数据包反馈给主机端。
根据本申请实施例的第三方面,提供了一种内存管理的方法,该方法应用于SDIO总线的主机端,SDIO总线的另一端为从机端,该方法包括:
响应于SDIO总线的初始化操作,获取并记录剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量;
接收主机端的业务层发送的携带第一数据包的传输指令;
若第一数据包的数据量不大于记录的剩余内存容量,向从机端发送第一数据包,以及更新记录的剩余内存容量。
根据本申请实施例的第四方面,提供了一种内存管理的方法,该方法应用于SDIO总线的从机端,SDIO总线的另一端为主机端,该方法包括:
响应于SDIO总线的初始化操作,向主机端反馈剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量;
若接收到主机端发送的第一数据包,在内存空间中缓存第一数据包。
根据本申请实施例的第五方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行计算机程序以实现本申请实施例第三方面或者第四方面所示方法的步骤。
根据本申请实施例的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第三方面或者第四方面所示方法的步骤。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种内存管理的装置,分别应用于SDIO总线的主机端和从机端。其中,主机端的装置包括记录模块和收发模块:在针对SDIO总线的初始化操作中,获取从机端中用于缓存第一数据包的内存空间的剩余内存容量,记录模块对其进行记录,在初始化阶段主机端对剩余内存容量进行获取和记录是实施内存管理的一项关键手段,为业务层的数据传输任务提供初始阶段的支持。收发模块在每一次发送第一数据包之前,只有确定第一数据包的数据量不大于记录的剩余内存容量时,才进行发送操作。在每一次发送第一数据包之后,记录模块还需要对剩余内存容量进行更新,该更新手段也是内存管理的一项关键手段,为接下来传输其他第一数据包提供了明确的依据。因此,即便处于网络不顺畅的环境下,主机端仍然可以根据通过该装配置的一系列手段确保传输数据过程的确定性和可靠性,从而避免网络不顺畅对业务层造成的不利影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种内存管理的装置的结构示意图;
图2为本申请实施例提供的另一种内存管理的装置的结构示意图;
图3为本申请实施例提供的一种内存管理的方法的流程示意图;
图4为本申请实施例提供的另一种内存管理的方法的流程示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
SDIO(Secure Digital Input and Output)总线:遵循SDIO协议的总线接口,为SDIO卡提供高速输入输出能力。SDIO总线有两端,一端为主机端(host端),另一端是从机端(device端),所有的通信都是由host端发送命令开始的。另外,主机端可以为手机等设备;从机端可以为有wifi功能、GPS功能、Bluetooth功能的嵌入式设备或者模块等。借助于SDIO总线,手机等设备也可以具备上述功能。
针对于现有技术存在的网络不顺畅对业务层造成的不利影响的问题,本申请提供了一种内存管理的装置、方法、电子设备及计算机可读存储介质,用于解决该技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
参见图1,本申请实施例还提供了一种内存管理的装置的结构示意图,该装置100应用于SDIO总线的主机端,SDIO总线的另一端为从机端,该装置100包括:记录模块110、收发模块120,其中,
记录模块110,用于响应于SDIO总线的初始化操作,获取并记录剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量。
其中,主机端中包括传输层、业务层,该传输层通过SDIO总线与从机端相连接,并执行具体的数据交互。该业务层包括至少一个应用,该至少一个应用通过向传输组件发送传输指令或者查询指令等来指示传输组件执行相应的操作。
其中,在从机端中存在至少两个相互独立的内存空间,其中一个内存空间用于缓存第一数据包。
具体地,在SDIO总线的初始化阶段,主机端的传输层启动查询任务,以获取从机端的剩余内存容量。其中,该查询任务具体可以为,向从机端发送查询请求,从机端获取当前的剩余内存容量并进行反馈,传输层接收从机端反馈的当前的剩余内存容量,即查询任务执行完毕。
收发模块120,用于接收主机端的业务层发送的携带第一数据包的传输指令。
具体地,传输层接收到业务层发送的携带第一数据包的传输指令。其中,该传输指令中,可以携带第一数据包本身,也可以携带第一数据包的信息,该信息包括但不限于:第一数据包的数据量大小、第一数据包的存储位置等。
根据传输指令,获取第一数据包的数据量。
收发模块120,还用于若第一数据包的数据量不大于记录的剩余内存容量,向从机端发送第一数据包,以及记录模块110,还用于更新记录的剩余内存容量。
在一种可能的实现方式中,记录模块110在更新记录的剩余内存容量中,具体用于:在发送第一数据包之后,将记录的剩余内存容量与第一数据包的数据量之差作为新的记录的剩余内存容量。
具体地,若第一数据包的数据量不大于记录的剩余内存容量,传输层执行传输第一数据包的任务,并在传输成功之后,按照第一数据包的数据量相应地减少记录的剩余内存容量。其中,每次需传输第一数据包,其数据量可以相同或者不同,其数据量应根据业务层的具体业务来确定。
示例性地,从机端缓存第一数据包的内存空间的最大容量为16kb,在响应SDIO总线的初始化操作之后,获取并记录的剩余内存容量为16kb,第一数据包的数据量为2kb,则更新后,记录的剩余内存容量为14kb。
在一种可能的实现方式中,收发模块120还可以用于:
若第一数据包的数据量大于记录的剩余内存容量,向业务层反馈发送失败的消息,以便于业务层处理第一数据包。
具体地,若第一数据包的数据量大于记录的剩余内存容量,传输层可以拒绝传输第一数据包,并向业务层反馈发送失败的消息,该消息中,可以携带记录的剩余内存容量。业务层接收到该消息之后,可以自行处理该第一数据包。该自行处理可以包括:丢弃第一数据包,或者丢弃第一数据包并在预定时间内再次发送传输指令,以传输同样的第一数据包。
由于传输层无论发送成功或者发送失败,都向业务层进行了反馈。尤其在发送失败的情形下,业务层还可以根据发送失败的消息进一步地采取直接丢包或者丢包并进行重传的操作,继而从业务层自身需求的角度来控制数据传输的过程,因此,即便因网络不顺畅导致数据传输过程的失败,业务层依旧可以在需要的情况下通过重传来弥补。
本申请提供了一种内存管理的装置,应用于SDIO总线的主机端,SDIO总线的另一端为从机端。在针对SDIO总线的初始化操作中,获取从机端中用于缓存第一数据包的内存空间的剩余内存容量,记录模块对其进行记录,在初始化阶段主机端对剩余内存容量进行获取和记录是实施内存管理的一项关键手段,为业务层的数据传输任务提供初始阶段的支持。收发模块在每一次发送第一数据包之前,只有确定第一数据包的数据量不大于记录的剩余内存容量时,才进行发送操作。在每一次发送第一数据包之后,记录模块还需要对剩余内存容量进行更新,该更新手段也是内存管理的一项关键手段,为接下来传输其他第一数据包提供了明确的依据。因此,即便处于网络不顺畅的环境下,主机端仍然可以根据通过该装配置的一系列手段确保传输数据过程的确定性和可靠性,从而避免网络不顺畅对业务层造成的不利影响。
由于从机端的剩余内存容量始终是有限的,所记录的剩余内存容量始终有用尽的时刻,仅通过初始化时获取并记录的方式,只能在一定时间内维持,一旦记录的剩余内存容量逼近极限,则传输层会一直向业务层反馈发送失败的消息,该情形同样也对业务层的正常业务造成不利影响。因此,如下,
本申请实施例还提供了一种可能的实现方式,若记录的剩余内存容量满足预设条件,启动查询任务,在查询任务完成之后,更新记录的剩余内存容量。
具体地,收发模块120,还用于若记录的剩余内存容量满足预设条件,向从机端发送查询请求,其中,预设条件包括以下至少一项:第一数据包的数据量大于记录的剩余内存容量,或者,记录的剩余内存容量小于或者等于预设值;记录模块110,还用于响应于从机端反馈的当前的剩余内存容量,根据当前的剩余内存容量更新记录的剩余内存容量。
具体地,在传输层接收传输指令的一次过程中,若第一数据包的数据量大于记录的剩余内存容量,传输层需要启动查询任务。具体地,可以向从机端发送查询请求,从机端获取当前的剩余内存容量,并向主机端进行反馈。传输层接收到反馈的当前的剩余内存容量之后,将该当前的剩余内存容量进行记录,以替代原有的记录的剩余内存容量。
其中,传输层可以在向业务层反馈发送失败的消息之后,启动查询任务。传输层也可以在根据查询任务更新记录的剩余内存容量之后,再次确定是否传输第一数据包,具体地:在更新完记录的剩余内存容量之后,传输层在第一数据包的数据量不大于该记录的剩余内存容量条件下,发送该第一数据包,并在发送成功之后,反馈发送成功的消息;或者,传输层在第一数据包的数据量大于该记录的剩余内存容量的条件下,向业务层反馈发送失败的消息。
示例性地,向从机端连续发送数据包,直至主机端记录的剩余内存容量为0.9kb,不足1kb。此时,传输层又接收到业务层发送的传输指令,所携带的第一数据包的数据量为5kb,由于记录的剩余内存容量0.9kb小于第一数据包的数据量5kb,则传输层需启动查询任务,以更新记录的剩余内存容量。若当前网络环境很差,导致从机端处于阻塞状态,则反馈的当前的剩余内存容量为0.9kb,更新后,记录的剩余内存容量还是为0.9kb;若当前网络环境良好,从机端处于正常工作状态,接收到的第一数据包均全部发出,则反馈的当前的剩余内存容量为16kb,更新后,记录的剩余内存容量为16kb。
具体地,传输层按照预设频率对记录的剩余内存容量进行检测,若检测到记录的剩余内存容量小于或者等于预设值,也可以向从机端发送查询请求。
其中,该预设值可以是基于日常数据总结的经验值,也可以直接为零。若该预设值大于零,则在记录的剩余内存容量若小于或者等于该预设值时,需启动查询任务。若该预设值等于零,在记录的剩余内存容量等于零时,需启动查询任务。应当指出,本领域技术人员可以根据需求自行设置预设值。
本申请实施例还提供了一种可能的实现方式,记录模块110还用于:
若接收到从机端发送的携带剩余内存容量的第二数据包,根据第二数据包中携带的剩余内存容量更新记录的剩余内存容量。
具体地,从机端和主机端之间是双向传输,因此,传输层不仅根据传输指令发送第一数据包,还接收从机端发送的第二数据包,并将该第二数据包反馈给业务层。其中,该第二数据包的包头中携带有从机端当前的剩余内存容量。
示例性地,从机端在向主机端发送第二数据包的过程中:如果缓存第一数据包的内存空间中没有内存释放,则第二数据包中携带的剩余内存容量与主机端记录的剩余内存容量相同,并且更新后,记录的剩余内存容量不变;如果缓存第一数据包的内存空间中有多个数据包已经发送到wifi接口处,表示该内存空间中有内存释放,则第二数据包中携带的剩余内存容量比主机端记录的剩余内存容量要大,并且更新后,记录的剩余内存容量改变了。
由于主机端启动查询任务(通过SDIO总线发送查询请求,以及通过SDIO总线接收从机端反馈的当前的剩余内存容量),会占据SDIO总线有限的带宽,因此,根据从机端反馈的第二数据包中携带的剩余内存容量,对记录的剩余内存容量进行更新,可以有效减少因记录的剩余内存容量满足预设条件时,启动查询任务的频次,进而节约有限的带宽资源。
参见图2,本申请实施例还提供了另一种内存管理的装置的结构示意图,该装置200应用于SDIO总线的从机端,SDIO总线的另一端为主机端,该装置200包括:收发模块210、缓存模块220,其中,
收发模块210,用于响应于SDIO总线的初始化操作,向主机端反馈剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量。
其中,从机端中包括至少两个相互独立的内存空间,用于缓存第一数据包的内存空间,以及用于缓存第三数据包的内存空间。其中,该第一数据包为主机端发送给从机端,需通过从机端的预设接口发送出去的数据包;该第三数据包为从机端通过预设接口接收并需要发送给主机端的数据包。应当指出,所示至少两个独立的内存空间,其内存容量可以相等,也可以不等,本领域技术人员可以根据需求自行设置。
其中,若从机端的预设接口空闲,可以通过该预设接口发送该第一数据包,则缓存该第一数据包的内存空间的剩余内存空间相应的增加了。
示例性地,若从机端为SDIO-wifi模块,则该预设接口可以为SDIO-wifi模块的wifi接口。
缓存模块220,用于若接收到主机端发送的第一数据包,在内存空间中缓存第一数据包。
本申请实施例还提供了一种可能的实现方式,该装置200还包括:
获取模块230,用于若接收到主机端发送的查询请求,获取当前的剩余内存容量;收发模块210,还用于向主机端反馈当前的剩余内存容量。
具体地,在接收到主机端发送的查询请求之后,获取缓存第一数据包的内存空间的当前的剩余内存容量,并通过SDIO总线向主机端反馈该当前的剩余内存容量。
本申请实施例还提供了一种可能的实现方式,该装置200还包括:
获取模块230,用于获取当前的剩余内存容量。
具体地,获取缓存第一数据包的内存空间的当前的剩余内存容量。
处理模块240,用于将当前的剩余内存容量添加至第三数据包中,得到第二数据包,其中,第三数据包为从机端通过预设接口接收的数据包。
具体地,将当前的剩余内存容量添加至第三数据包的包头中,将处理后的第三数据包确定为第二数据包。
在现有技术中,一个数据包不仅包括业务数据,还包括其他数据。该其他数据中包括但不限于:数据包的标识信息、源地址、目标地址等,在本申请实施例中,该其他数据可以包括剩余内存容量。示例性地,在数据包的包头中放置前述的其他数据。
收发模块210,还用于将第二数据包反馈给主机端。
参见图3,本申请实施例还提供了一种内存管理的方法的流程示意图,该方法应用于SDIO总线的主机端,SDIO总线的另一端为从机端。该方法包括:
S310,响应于SDIO总线的初始化操作,获取并记录剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量。
S320,接收主机端的业务层发送的携带第一数据包的传输指令。
S330,若第一数据包的数据量不大于记录的剩余内存容量,向从机端发送第一数据包,以及更新记录的剩余内存容量。
其中,更新记录的剩余内存容量的具体过程可以包括:在发送第一数据包之后,按照第一数据包的数据量减少记录的剩余内存容量。
在一种可能的实现方式中,若第一数据包的数据量大于记录的剩余内存容量,向业务层反馈发送失败的消息,以便于业务层处理第一数据包。
本申请提供了一种内存管理的方法,应用于SDIO总线的主机端,SDIO总线的另一端为从机端,在针对SDIO总线的初始化操作中,获取从机端中用于缓存第一数据包的内存空间的剩余内存容量,并对其进行记录,在初始化阶段主机端对剩余内存容量进行获取和记录是实施内存管理的一项关键手段,为业务层的数据传输任务提供初始阶段的支持。在每一次发送第一数据包之前,只有确定第一数据包的数据量不大于记录的剩余内存容量时,主机端才进行发送操作。在每一次发送第一数据包之后,还需要对剩余内存容量进行更新,该更新手段也是内存管理的一项关键手段,为接下来传输其他第一数据包提供了明确的依据。因此,即便出现了网络不顺畅,主机端仍然可以根据内存管理的一系列手段来确保传输数据的确定性和可靠性,从而避免网络不顺畅对业务层造成的不利影响。
本申请实施例还提供了一种可能的实现方式,该方法还包括:
若记录的剩余内存容量满足预设条件,启动查询任务;在查询任务完成之后,更新记录的剩余内存容量。
本申请实施例还提供了一种可能的实现方式,该方法还包括:
若接收到从机端发送的携带剩余内存容量的第二数据包,根据第二数据包中携带的剩余内存容量更新记录的剩余内存容量。
由于主机端启动查询任务(通过SDIO总线发送查询请求,以及通过SDIO总线接收从机端反馈的当前的剩余内存容量),会占据SDIO总线有限的带宽,因此,根据从机端反馈的第二数据包中携带的剩余内存容量,对记录的剩余内存容量进行更新,可以有效减少因记录的剩余内存容量满足预设条件时,启动查询任务的频次,进而节约有限的带宽资源。
参见图4,本申请实施例还提供了另一种内存管理的方法的流程示意图。其中,该方法应用于SDIO总线的从机端,SDIO总线的另一端为主机端,包括:
S410,响应于SDIO总线的初始化操作,向主机端反馈剩余内存容量,其中,剩余内存容量为从机端中用于缓存第一数据包的内存空间的剩余容量。
S420,若接收到主机端发送的第一数据包,在内存空间中缓存第一数据包。
本申请实施例还提供了一种可能的实现方式,该方法还包括:
若接收到主机端发送的查询请求,获取当前的剩余内存容量;向主机端反馈当前的剩余内存容量。
本申请实施例还提供了一种可能的实现方式,该方法还包括S430-S450(图中均未示出),具体地:
S430,获取当前的剩余内存容量。
S440,将当前的剩余内存容量添加至第三数据包中,得到第二数据包。
S450,将第二数据包反馈给主机端。
需要说明的是,基于SDIO协议确定的主机端和从机端之间的通信方式和通信过程,可以参考现有技术,鉴于篇幅限制,本申请实施例就不做具体说明。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行计算机程序以实现本申请实施例所示的一种内存管理的方法的步骤。
参见图5,本申请实施例还提供了一种电子设备具体示例,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004,收发器5004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。
处理器5001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器5003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器5003用于存储执行本申请实施例的计算机程序,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:SDIO总线两端的从机端和主机端
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例所示的一种内存管理的方法的步骤。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (12)

1.一种内存管理的装置,其特征在于,应用于SDIO总线的主机端,所述SDIO总线的另一端为从机端,所述装置包括:记录模块、收发模块,其中,
所述记录模块,用于响应于所述SDIO总线的初始化操作,获取并记录剩余内存容量,其中,所述剩余内存容量为所述从机端中用于缓存第一数据包的内存空间的剩余容量;
所述收发模块,用于接收所述主机端的业务层发送的携带第一数据包的传输指令;
所述收发模块,还用于若所述第一数据包的数据量不大于记录的剩余内存容量,向所述从机端发送所述第一数据包,以及所述记录模块,还用于更新所述记录的剩余内存容量。
2.根据权利要求1所述的装置,其特征在于,所述收发模块还用于:
若所述第一数据包的数据量大于所述记录的剩余内存容量,向所述业务层反馈发送失败的消息,以便于所述业务层处理所述第一数据包。
3.根据权利要求1所述的装置,其特征在于,所述记录模块在更新所述记录的剩余内存容量中,具体用于:
在发送所述第一数据包之后,将所述记录的剩余内存容量与所述第一数据包的数据量之差作为新的记录的剩余内存容量。
4.根据权利要求1-3任一项所述的装置,其特征在于,
所述收发模块,还用于若所述记录的剩余内存容量满足预设条件,向所述从机端发送查询请求,其中,所述预设条件包括以下至少一项:第一数据包的数据量大于所述记录的剩余内存容量,或者,所述记录的剩余内存容量小于或者等于预设值;
所述记录模块,还用于响应于所述从机端反馈的当前的剩余内存容量,根据所述当前的剩余内存容量更新所述记录的剩余内存容量。
5.根据权利要求1-3任一项所述的装置,其特征在于,所述记录模块还用于:
若接收到所述从机端发送的携带剩余内存容量的第二数据包,根据所述第二数据包中携带的剩余内存容量更新所述记录的剩余内存容量。
6.一种内存管理的装置,其特征在于,应用于SDIO总线的从机端,所述SDIO总线的另一端为主机端,所述装置包括:收发模块、缓存模块,其中,
所述收发模块,用于响应于所述SDIO总线的初始化操作,向所述主机端反馈剩余内存容量,其中,所述剩余内存容量为所述从机端中用于缓存第一数据包的内存空间的剩余容量;
所述缓存模块,用于若接收到所述主机端发送的所述第一数据包,在所述内存空间中缓存所述第一数据包。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于若接收到所述主机端发送的查询请求,获取当前的剩余内存容量;
所述收发模块,还用于向所述主机端反馈所述当前的剩余内存容量。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取当前的剩余内存容量;
处理模块,用于将所述当前的剩余内存容量添加至第三数据包中,得到第二数据包,其中,所述第三数据包为所述从机端通过预设接口接收的数据包;
所述收发模块,还用于将所述第二数据包反馈给所述主机端。
9.一种内存管理的方法,其特征在于,应用于SDIO总线的主机端,所述SDIO总线的另一端为从机端,所述方法包括:
响应于所述SDIO总线的初始化操作,获取并记录剩余内存容量,其中,所述剩余内存容量为所述从机端中用于缓存第一数据包的内存空间的剩余容量;
接收所述主机端的业务层发送的携带第一数据包的传输指令;
若所述第一数据包的数据量不大于记录的剩余内存容量,向所述从机端发送所述第一数据包,以及更新记录的剩余内存容量。
10.一种内存管理的方法,其特征在于,应用于SDIO总线的从机端,所述SDIO总线的另一端为主机端,所述方法包括:
响应于所述SDIO总线的初始化操作,向所述主机端反馈剩余内存容量,其中,所述剩余内存容量为所述从机端中用于缓存第一数据包的内存空间的剩余容量;
若接收到所述主机端发送的所述第一数据包,在所述内存空间中缓存所述第一数据包。
11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求9或者10任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9或者10任一项所述方法的步骤。
CN202111544930.XA 2021-12-16 2021-12-16 一种内存管理的装置、方法、设备和介质 Pending CN114265788A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111544930.XA CN114265788A (zh) 2021-12-16 2021-12-16 一种内存管理的装置、方法、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111544930.XA CN114265788A (zh) 2021-12-16 2021-12-16 一种内存管理的装置、方法、设备和介质

Publications (1)

Publication Number Publication Date
CN114265788A true CN114265788A (zh) 2022-04-01

Family

ID=80827561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111544930.XA Pending CN114265788A (zh) 2021-12-16 2021-12-16 一种内存管理的装置、方法、设备和介质

Country Status (1)

Country Link
CN (1) CN114265788A (zh)

Similar Documents

Publication Publication Date Title
CN110460412B (zh) 用于数据传输的方法和rdma网卡
CN108989432B (zh) 用户态的文件发送方法、文件接收方法和文件收发装置
CN110808948B (zh) 远程过程调用方法、装置及系统
CN101222374A (zh) 一种实现业务升级的系统、装置及方法
JP7046983B2 (ja) パケット伝送方法及び装置
CN105141603A (zh) 通信数据传输方法及系统
CN113014510B (zh) 惯导系统分布式测试中数据缓存方法及装置
CN110912805B (zh) 消息读取状态的同步方法、终端、服务端及系统
CN113238856B (zh) 一种基于rdma的内存管理方法及装置
CN112039835B (zh) 自适应轮询时间估算方法、装置、设备及存储介质
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN108234595B (zh) 日志传输方法及系统
CN114265788A (zh) 一种内存管理的装置、方法、设备和介质
CN116204487A (zh) 远程数据访问方法及装置
CN105912477B (zh) 一种目录读取的方法、装置及系统
CN115176453A (zh) 报文缓存方法、内存分配器及报文转发系统
CN113641604A (zh) 一种数据传输方法及系统
CN114721717B (zh) 基于双系统的手机管理系统mdm指令调用方法和装置
CN110932980B (zh) 通信方法、终端及计算机可读存储介质
CN112019645B (zh) 基于toe的网络地址管理方法及装置
CN114125818B (zh) 业务参数传输方法、装置、系统、电子设备和存储介质
CN111917572B (zh) 交易请求的处理方法、装置、电子设备及可读存储介质
CN113157610B (zh) 数据保存方法及装置、存储介质、电子装置
CN108304214B (zh) 一种立即数的完整性的校验方法及装置
CN114189489A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing

Applicant after: Beijing yisiwei Computing Technology Co.,Ltd.

Applicant after: GUANGZHOU QUANSHENGWEI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing

Applicant before: Beijing yisiwei Computing Technology Co.,Ltd.

Applicant before: GUANGZHOU QUANSHENGWEI INFORMATION TECHNOLOGY Co.,Ltd.