利索能及
我要发布
收藏
专利号: 2019109358715
申请人: 杭州海康威视系统技术有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种传输数据的方法,其特征在于,应用于发送端,所述发送端的内存区包括数据内存区和控制内存区,所述发送端的控制内存区中存储有接收端的数据内存区的地址信息,所述方法包括:

获取目标数据,存储至所述数据内存区;

根据所述目标数据的数据量,在所述控制内存区的第二队列中获取所述目标数据所要写入的目标内存块的地址信息,其中,所述第二队列用于存储未分配的内存的地址信息,所述目标内存块属于所述接收端;从所述第二队列中删除所述目标内存块的地址信息;

将所述目标数据的发送任务添加至所述控制内存区的第一队列,其中,所述发送任务中包括所述目标内存块的地址信息;

当在所述第一队列中开始处理所述目标数据的发送任务时,根据所述目标内存块的地址信息,通过单边写操作将所述目标数据写入所述目标内存块;

在检测到所述目标数据的发送任务处理完成后,在所述第一队列中删除所述目标数据的发送任务,将所述目标数据对应的等待任务添加至所述控制内存区的第三队列,其中,所述第三队列用于存放已完成发送的发送任务;

通过所述控制内存区,接收所述接收端在处理完所述目标数据后通过单边写操作发送的确认消息,将所述目标内存块的地址信息恢复至所述第二队列中。

2.根据权利要求1所述的方法,其特征在于,所述在接收到所述确认消息后,将所述目标内存块的地址信息恢复至所述第二队列,包括:在接收到所述确认消息后,如果所述第三队列中存在所述目标内存块的相邻的内存块,且所述相邻的内存块已对应有确认消息,则将所述目标内存块与所述相邻的内存块进行合并,将合并后的内存块的地址信息恢复至所述第二队列。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于合并后的内存块的容量,在所述第三队列中确定所述合并后的内存块所属的内存等级;

将所述合并后的内存块的地址信息,更新至所述第三队列中所述内存等级对应地址信息区。

4.根据权利要求2所述的方法,其特征在于,所述将合并后的内存块的地址信息恢复至所述第二队列,包括:

如果达到合并周期,或者所述第二队列的内存空间不足,则将合并后的内存块的地址信息恢复至所述第二队列。

5.一种传输数据的方法,其特征在于,应用于接收端,所述接收端的内存区包括数据内存区和控制内存区,所述方法包括:在发送端通过单边写操作在所述数据内存区的目标内存块写入目标数据时,在所述控制内存区的第四队列中,添加所述目标内存块的任务记录;在确定所述发送端通过单边写操作在目标内存块写入所述目标数据后,在所述第四队列中删除所述任务记录,在所述控制内存区的第五队列中,添加所述任务记录;

当检测到对所述目标数据处理完成时,在所述第五队列中删除所述目标数据的任务记录,在所述控制内存区的第六队列中,添加所述任务记录;

在对所述目标数据处理完成后,如果所述第六队列中任务记录的数目达到第一数值或者所述第六队列中任务记录占用的空间达到第二数值,在所述控制内存区,通过单边写操作向所述发送端的控制内存区发送所述第六队列中所有任务记录的确认消息。

6.一种传输数据的装置,其特征在于,应用于发送端,所述发送端的内存区包括数据内存区和控制内存区,所述发送端的控制内存区中存储有接收端的数据内存区的地址信息,所述装置包括:

获取模块,用于获取目标数据;

存储模块,用于存储所述目标数据至所述数据内存区;

所述获取模块,还用于根据所述目标数据的数据量,在所述控制内存区的第二队列中获取所述目标数据所要写入的目标内存块的地址信息,其中,所述第二队列用于存储未分配的内存的地址信息,所述目标内存块属于所述接收端;从所述第二队列中删除所述目标内存块的地址信息;

添加模块,用于将所述目标数据的发送任务添加至所述控制内存区的第一队列,其中,所述发送任务中包括所述目标内存块的地址信息;

写入模块,用于当在所述第一队列中开始处理所述目标数据的发送任务时,根据所述目标内存块的地址信息,通过单边写操作将所述目标数据写入所述目标内存块;

所述添加模块,还用于在检测到所述目标数据的发送任务处理完成后,在所述第一队列中删除所述目标数据的发送任务,将所述目标数据对应的等待任务添加至所述控制内存区的第三队列,其中,所述第三队列用于存放已完成发送的发送任务;

接收模块,用于通过所述控制内存区,接收所述接收端在处理完所述目标数据后通过单边写操作发送的确认消息;

所述添加模块,还用于将所述目标内存块的地址信息恢复至所述第二队列中。

7.一种传输数据的装置,其特征在于,应用于接收端,所述接收端的内存区包括数据内存区和控制内存区,所述装置包括:添加模块,用于在发送端通过单边写操作在所述数据内存区的目标内存块写入目标数据时,在所述控制内存区的第四队列中,添加所述目标内存块的任务记录;

处理模块,用于在确定所述发送端通过单边写操作在所述目标内存块写入所述目标数据后,在所述第四队列中删除所述任务记录,在所述控制内存区的第五队列中,添加所述任务记录;当检测到对所述目标数据处理完成时,在所述第五队列中删除所述目标数据的任务记录,在所述控制内存区的第六队列中,添加所述任务记录;

发送模块,用于在对所述目标数据处理完成后,如果所述第六队列中任务记录的数目达到第一数值或者所述第六队列中任务记录占用的空间达到第二数值,在所述控制内存区,通过单边写操作向所述发送端的控制内存区发送所述第六队列中所有任务记录的确认消息。

8.一种传输数据的系统,其特征在于,所述系统包括发送端和接收端,其中:所述发送端,如权利要求6所述发送端;

所述接收端,如权利要求7所述的接收端。