[发明专利]一种用于传输多核处理器和磁盘阵列间数据的方法及系统有效
申请号: | 201210484583.0 | 申请日: | 2012-11-23 |
公开(公告)号: | CN103838517B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 郭秀岩;张武;查奇文;尚秋里 | 申请(专利权)人: | 中国科学院声学研究所;北京中科华影传媒技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京法思腾知识产权代理有限公司11318 | 代理人: | 杨小蓉,杨青 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 传输 多核 处理器 磁盘阵列 数据 方法 系统 | ||
技术领域
本发明涉及一种多核处理器访问磁盘阵列数据的高速传输技术实现方法,具体涉及一种用于传输多核处理器和磁盘阵列间数据的方法及系统。
背景技术
随着计算机技术和网络技术的不断发展,传统单核处理器由于功耗、并发、散热等方面的问题已经不能满足新兴网络应用对处理器性能的需求,因此更加适合高并发、低延时网络应用的多核处理器逐渐被广泛应用。多核处理器使用并行的物理处理核心提高处理器的并发性,并且各个处理核心可以使用较低的主频以降低处理器功耗,而且多个低主频处理器在扩展性和实现难度上都明显优于通用处理器。所以,计算机网络技术中开始广泛的使用多核处理器来替代通用处理器。
在各类网络视频应用中,磁盘阵列设备都是必不可少的组成部分,尤其是基于iSCSI的磁盘阵列以其使用简单、性能突出等特性得到更加广泛的应用,因此针对多核处理器对iSCSI磁盘阵列的性能优化,是提升网络视频应用系统服务质量的关键之一。对iSCSI磁盘阵列的访问需要iSCSIHost端的配合,iSCSIHost端通常在通用操作系统中实现,而操作系统和上层应用之间的数据交互需要经过多次的数据拷贝,TCP/IP协议栈的数据收发也需要多次数据拷贝的支持,因此会降低iSCSI磁盘阵列的访问效率。
发明内容
本发明的目的在于,为克服上述问题,本发明提供了一种用于传输多核处理器和磁盘阵列间数据的方法和系统。
为了实现上述目的,本发明提供一种用于传输多核处理器和磁盘阵列间数据的系统,其特征在于,所述的系统包含:设置于多核处理器上的由上向下的如下各层:上层应用、SCSI子系统层、iSCSI子系统层和TCP/IP协议栈子系统层;
所述上层应用,用于使用磁盘阵列访问接口执行对iSCSI磁盘阵列的操作,且用于发起对磁盘阵列的数据写入和数据读取操作,当数据写入时用于申请存储数据的物理内存,当数据读取时由该上层应用层将数据链表中内存释放;
所述SCSI子系统层,用于负责完成上层应用的操作到SCSI命令字之间的相互转换,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;
所述iSCSI子系统层,用于负责完成SCSI命令字到iSCSI命令字的相互转换以及iSCSI数据的封装和接卸,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;
所述TCP/IP协议栈子系统层,用于负责完成iSCSI磁盘数据的发送和接收,当数据写入时用于申请存储数据的物理内存,当数据读取时将数据链表中内存释放;
其中,上述各层之间采用核间消息进行通信,该核间消息包含:存放数据或待存放数据的内存的物理地址和数据长度;当上层应用、SCSI子系统、iSCSI子系统和TCP/IP协议栈子系统修改物理内存中数据内容导致数据长度变化时,仅改变核间消息中指向内存的指针位置和内存中数据的长度。
上述上层应用、SCSI子系统层、iSCSI子系统层和TCP/IP协议栈子系统层中的任意一层均运行于一个或多个处理器上的简单执行环境中。
上述TCP/IP协议栈子系统层与外部的iSCSI磁盘阵列连接进行数据交互。
基于上述系统,本发明还提供了一种用于传输多核处理器和磁盘阵列间数据的方法,所述方法包含:
步骤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磁盘阵列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科华影传媒技术有限公司,未经中国科学院声学研究所;北京中科华影传媒技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210484583.0/2.html,转载请声明来源钻瓜专利网。