[发明专利]一种同构环境下的RPC数据传输方法及系统有效
申请号: | 201310159080.0 | 申请日: | 2013-05-02 |
公开(公告)号: | CN104135496B | 公开(公告)日: | 2017-08-18 |
发明(设计)人: | 王芳;冯丹;朱挺炜;万勇 | 申请(专利权)人: | 华中科技大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/861 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同构 环境 rpc 数据传输 方法 系统 | ||
1.一种同构环境下的RPC数据传输方法,涉及的发送端和接收端属于同构设备,该方法具体为:
发送端的发送缓存由头部发送缓存和数据发送缓存构成,发送端发送数据的具体过程为:
计算所有待发送数据块的长度之和记为数据总长度,所有待发送数据块包括数据结构体和其包含的所有指针项指向数据块;
根据数据块长度将所有数据块分类为小数据块和大数据块,先对各小数据块的发送顺序编号,再接着小数据块对各大数据块的发送顺序编号,将各小数据块拷贝到数据发送缓存;
计算所有发送顺序号小于数据结构体发送顺序号的数据块长度之和,记为数据结构体的偏移;
将数据总长度、数据结构体的发送顺序号和数据结构体的偏移写入位于头部发送缓存中的RPC报文头部;
将数据结构体包含的各指针项指向数据块的发送顺序号以及该指针项指向数据块的长度写入其对应的指针项内容,完成数据结构体的编码;
发送端将头部发送缓存中的RPC报文头部发送给接收端,并将数据发送缓存中的数据块整体发送给接收端,然后将数据结构体的指针项指向的大数据块按照发送顺序号顺序发送给接收端;
接收端的接收缓存由头部接收缓存和数据接收缓存构成,接收端接收数据的具体过程为:
接收端将发送端发送的RPC报文头部接收到头部接收缓存,依据RPC报文头部解析出数据总长度、数据结构体的发送顺序号和数据结构体的偏移;
依据数据总长度建立相应大小的数据接收缓存,将发送端发送的数据块接收到数据接收缓存;
求取数据接收缓存的起始地址和数据结构体的偏移之和得到数据结构体在数据接收缓存的地址,进而求取其含有的各指针项在数据接收缓存的地址;依据数据接收缓存的起始地址和数据结构体的各指针项内容计算各指针项指向数据块在数据接收缓存中的地址;根据数据结构体的各指针项在数据接收缓存的地址找到指针项,将其内容对应替换为计算得到的指针项指向数据块在数据接收缓存中的地址,完成数据接收缓存的解码。
2.根据权利要求1所述的一种同构环境下的RPC数据传输方法,其特征在于,所述各指针项指向数据块在数据接收缓存中的地址的计算方法为:
设数据结构体中的第i个指针项,其所指向的数据块的发送顺序号为Ni,其指向的数据块长度为LNi,则其指向的数据块在数据接收缓存中的地址Addri=Addr0+L1+L2+…+LNi-1,其中Addr0为数据接收缓存的首地址,L1、L2、…LNi-1为发送顺序号分别为1、2…Ni-1的数据块的长度。
3.一种同构环境下的RPC数据传输系统,包括属于同构设备的发送端和接收端;
所述发送端的发送缓存由头部发送缓存和数据发送缓存构成,发送端包括:
发送端第一模块,用于计算所有待发送数据块的长度之和记为数据总长度,所有待发送数据块包括数据结构体和其包含的所有指针项指向数据块;
发送端第二模块,用于根据数据块长度将所有数据块分类为小数据块和大数据块,先对各小数据块的发送顺序编号,再接着小数据块对各大数据块的发送顺序编号,将各小数据块拷贝到数据发送缓存;
发送端第三模块,用于计算所有发送顺序号小于数据结构体发送顺序号的数据块长度之和,记为数据结构体的偏移;
发送端第四模块,用于将数据总长度、数据结构体的发送顺序号和数据结构体的偏移写入位于头部发送缓存中的RPC报文头部;
发送端第五模块,用于将数据结构体包含的各指针项指向数据块的发送顺序号以及该指针项指向数据块的长度写入其对应的指针项内容,完成数据结构体的编码;
发送端第六模块,用于发送端将头部发送缓存中的RPC报文头部发送给接收端,并将数据发送缓存中的数据块整体发送给接收端,然后将数据结构体的指针项指向的大数据块按照发送顺序号顺序发送给接收端;
所述接收端的接收缓存由头部接收缓存和数据接收缓存构成,接收端包括:
接收端第一模块,接收端将发送端发送的RPC报文头部接收到头部接收缓存,依据RPC报文头部解析出数据总长度、数据结构体的发送顺序号和数据结构体的偏移;
接收端第二模块,用于依据数据总长度建立相应大小的数据接收缓存,将发送端发送的数据块接收到数据接收缓存;
接收端第三模块,用于求取数据接收缓存的起始地址和数据结构体的偏移之和得到数据结构体在数据接收缓存的地址,进而求取其含有的各指针项在数据接收缓存的地址;依据数据接收缓存的起始地址和数据结构体的各指针项内容计算各指针项指向数据块在数据接收缓存中的地址;根据数据结构体的各指针项在数据接收缓存的地址找到指针项,将其内容对应替换为计算得到的指针项指向数据块在数据接收缓存中的地址,完成数据接收缓存的解码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310159080.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:服务提供方法及装置
- 下一篇:一种集成交互式白板与视频会议的嵌入式系统