[发明专利]一种用于传输多核处理器和磁盘阵列间数据的方法及系统有效
申请号: | 201210484583.0 | 申请日: | 2012-11-23 |
公开(公告)号: | CN103838517B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 郭秀岩;张武;查奇文;尚秋里 | 申请(专利权)人: | 中国科学院声学研究所;北京中科华影传媒技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京法思腾知识产权代理有限公司11318 | 代理人: | 杨小蓉,杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种用于传输多核处理器和磁盘阵列间数据的方法及系统,所述方法包含步骤101)由上向下基于多核处理器分别设置如下各层上层应用、SCSI子系统层、iSCSI子系统层和TCP/IP协议栈子系统层;步骤102)所述上层应用、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统均能够访问多核处理器所管理的全部的内存物理地址空间,并将存储了多核处理器和磁盘阵列间待传输数据的内存的物理地址和所述传输数据长度封装在上述各层的核间消息中相互传递;其中,当上层应用、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统修改内存中存储的传输数据时,则修改上述各层核间消息中指向内存的指针位置和内存中数据的长度。 | ||
搜索关键词: | 一种 用于 传输 多核 处理器 磁盘阵列 数据 方法 系统 | ||
【主权项】:
一种用于传输多核处理器和磁盘阵列间数据的方法,基于一种用于传输多核处理器和磁盘阵列间数据的系统实现,所述的系统包含:设置于多核处理器上的由上向下的如下各子系统:上层应用子系统、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统;所述上层应用子系统,用于使用磁盘阵列访问接口执行对iSCSI磁盘阵列的操作,且用于发起对磁盘阵列的数据写入和数据读取操作,当数据写入时用于申请存储数据的物理内存,当数据读取时由该上层应用子系统将数据链表中内存释放;所述SCSI子系统,用于负责完成上层应用子系统的操作到SCSI命令字之间的相互转换,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;所述iSCSI子系统,用于负责完成SCSI命令字到iSCSI命令字的相互转换以及iSCSI数据的封装和接卸,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;所述TCP/IP协议栈子系统,用于负责完成iSCSI磁盘数据的发送和接收,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;其中,上述各子系统之间采用核间消息进行通信,该核间消息包含:存放数据或待存放数据的内存的物理地址和数据长度;当上层应用子系统、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统修改物理内存中数据内容导致数据长度变化时,仅改变核间消息中指向内存的指针位置和内存中数据的长度;所述方法包含:步骤101)上层应用子系统发送对数据的请求信息,并由上层应用子系统、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统中的某子系统为待处理的数据申请物理内存空间,并将请求信息和请求得到的物理内存空间的地址信息封装为核间信息传输至TCP/IP协议栈子系统;步骤102)由TCP/IP协议栈子系统完成对iSCSI磁盘数据的发送和接收其中,所述步骤101)进一步包含:步骤101‑1)上层应用子系统向iSCSI磁盘阵列写入数据的步骤,具体为:由上层应用子系统将待存储的数据存入多核处理器分配的物理内存中;将存储上述数据的物理内存的地址和存储的数据的长度信息封装为核间信息,该核间信息依次经由SCSI子系统、iSCSI子系统传输至TCP/IP协议栈子系统,并由TCP/IP协议栈子系统将核间信息封装为IP数据包发送至iSCSI磁盘阵列;步骤101‑2)上层应用子系统读取iSCSI磁盘阵列的数据的步骤,具体为:上层应用子系统发起数据读取请求,并将该请求依次经由SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统传输后封装为IP数据包,再将IP数据包发送至iSCSI磁盘阵列;由TCP/IP协议栈子系统驱动多核处理器分配内存,该内存用于存储iSCSI磁盘阵列返回的数据,并将数据传送至应用层;所述步骤101‑1)进一步包含:(101‑1‑1)上层应用子系统根据待写入数据的长度申请内存,由多核处理器返回内存的物理地址,然后上层应用子系统将待发送给磁盘阵列的数据先预存入多核处理器分配的内存中;(101‑1‑2)上层应用子系统将内存的物理地址和内存中数据的长度存储于核间消息中,并将核间消息提交给SCSI子系统;(101‑1‑3)SCSI子系统生成SCSI命令字,将SCSI命令字、内存的物理地址和内存中数据长度存储于核间消息中,并将核间消息提交给iSCSI子系统;(101‑1‑4)iSCSI子系统根据iSCSI协议申请内存填写iSCSI协议报文首部,并将iSCSI协议报头所在内存和待发送数据所在内存连接为链表,同时链表中还保存对应内存中数据的长度,然后iSCSI子系统将链表首指针填写到核间消息中发送给TCP/IP子系统;(101‑1‑5)TCP/IP子系统根据TCP协议和IP协议申请内存填写TCP报文首部和IP包头,并依次发送IP包头和TCP报文首部所在内存中的数据、iSCSI协议报头所在内存中的数据、待发送数据所在物理内存中的数据,并释放上述内存。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科华影传媒技术有限公司,未经中国科学院声学研究所;北京中科华影传媒技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210484583.0/,转载请声明来源钻瓜专利网。