【技术实现步骤摘要】
一种基于异步环形缓冲区的数据读取、写入方法及装置
本申请涉及数据处理
,特别是涉及一种基于异步环形缓冲区的数据读取、写入方法及装置。
技术介绍
对计算机系统产品而言,产品升级是平常而且重要的。比如,当旧版本的产品存在已知bug时,通常需要在新版本中完成bug的修复,并利用新版本的产品来更新旧版本的产品,实现产品升级。又比如,当需要在旧版本产品上添加新功能时,用户通常使用升级功能把具有新功能的新版本产品(更新文件/升级文件)下载到本地中,以利用新版本的产品更新旧版本的产品。目前,对于一般计算机系统产品而言,固件程序都存放在flash硬件芯片中,在进行产品升级时,就是通过升级工具把新版本的固件二进制文件下载存入产品内的flash硬件芯片内。一般的过程是:升级工具把二进制文件分拆成多个数据包通过硬件总线发送到产品系统内,产品系统把数据包缓存到内存中,二进制接收完毕后,再把二进制数据写入flash硬件芯片中,完成升级。但是,实际应用中,存在部分系统产品的内存比较小,而升级文件可能相对比较大。比如:对于Expan ...
【技术保护点】
1.一种基于异步环形缓冲区的数据写入方法,其特征在于,所述方法包括:/n根据异步环形缓冲区的最大缓存空间大小以及所述异步环形缓冲区的读指针以及写指针,确定所述异步环形缓冲区的剩余存储空间大小;/n若所述剩余存储空间大小不小于待写入数据的数据大小,则根据所述写指针将所述待写入数据写入所述异步环形缓冲区的剩余存储空间;/n其中,当所述待写入数据写入至所述异步环形缓冲区中可写入数据的尾地址处并且所述待写入数据未写入完全时,所述待写入数据在所述异步环形缓冲区中可写入数据的首地址处继续写入;/n根据所述异步环形缓冲区的写指针以及所述待写入数据的数据大小,更新所述异步环形缓冲区的写指针。/n
【技术特征摘要】
1.一种基于异步环形缓冲区的数据写入方法,其特征在于,所述方法包括:
根据异步环形缓冲区的最大缓存空间大小以及所述异步环形缓冲区的读指针以及写指针,确定所述异步环形缓冲区的剩余存储空间大小;
若所述剩余存储空间大小不小于待写入数据的数据大小,则根据所述写指针将所述待写入数据写入所述异步环形缓冲区的剩余存储空间;
其中,当所述待写入数据写入至所述异步环形缓冲区中可写入数据的尾地址处并且所述待写入数据未写入完全时,所述待写入数据在所述异步环形缓冲区中可写入数据的首地址处继续写入;
根据所述异步环形缓冲区的写指针以及所述待写入数据的数据大小,更新所述异步环形缓冲区的写指针。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述待写入数据写入所述异步环形缓冲区之前,申请互斥锁锁定数据写入操作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在完成将所述待写入数据写入所述异步环形缓冲区之后,释放所述互斥锁。
4.根据权利要求1所述的方法,其特征在于,所述异步环形缓冲区的最大缓存空间的地址用一维数组表征,所述一维数组的长度为所述最大缓存空间的地址长度。
5.一种基于异步环形缓冲区的数据读取方法,其特征在于,所述方法包括:
根据异步环形缓冲区的最大缓存空间大小以及所述异步环形缓冲区的读指针以及写指针,确定所述异步环形缓冲区的缓存数据大小;
比较所述缓存数据大小以及目标读取数据大小,确定目标数据大小,所述目标数据大小为所述缓存数据大小与所述目标读取数据大小中的较小值;
根据所述读指针以及所述目标数据大小,读取所述异步环形缓冲区中的缓存数据;
其中,当读取至所述异步环形缓冲区中可读取数据的尾地址处并且所述待读取数据未读取完全时,在所述异步环形缓冲区中可读取数据的首地址处继续读取所述待读取数据;
根据所述读指针以及所述目标数据大小,更新所述异步环形缓冲区的读指针。
6.根据权利要求5所述的方法,其...
【专利技术属性】
技术研发人员:张羽,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。