网络储存系统的数据传输方法

文档序号:7975419阅读:197来源:国知局
专利名称:网络储存系统的数据传输方法
技术领域
本发明涉及一种网络储存系统的数据传输方法,尤其涉及一种在具有客户 端及服务器端的网络储存系统中通过私有通讯协议在客户端及服务器端之间 建立数据传输连接并进行数据传输的方法。
背景技术
目前,网络储存系统在计算机领域有着广泛地应用,特别是在网络传输速 率飞速提升的今天,随着千兆网络的出现,以往网络传输速率的限制已经不再 是提高系统运行速度的瓶颈。网络储存系统具有节约成本、部署简单、维护方 便、可依据实际需要快速切换系统、各虚拟磁盘使用时互不干扰等诸多优点。 越来越多的网络储存系统甚至已朝着无碟化的方向发展,例如刀锋型服务器
(Blade Server)系统、高效能计算(High Performance Computing,简称HPC)
集群系统等。
现有技术中,为了使网络储存系统有效加以实现,所需解决的一个关键性 问题是如何确保对虚拟磁盘数据传输的高效性与可靠性,因为通常对虚拟磁盘 数据的访问具有突发性高、单位时间内数据传输量大、某些访问操作持续时间 长等问题。
为了适应现有技术中网络储存系统所运行的网络环境的特点,同时,为了 有效解决上述现有技术的网络储存系统中所存在的问题以彻底实现虚拟磁盘 储存的特殊需求,因此,亟待提供一种新的网络储存系统的数据传输方法。

发明内容
为了解决上述现有技术中的问题,本发明的目的在于提供一种网络储存系 统的数据传输方法,用以在具有客户端及服务器端的网络储存系统中通过私有 通讯协议在客户端及服务器端之间建立数据传输连接并进行数据传输。
本发明所提供的一种网络储存系统的数据传输方法,包含以下歩骤
预先分别在客户端与服务器端设置一个私有通讯协议;客户端通过广播的 方式寻找服务器端,服务器端接收到广播信息后进行答复,并将服务器端的网 际网络通讯协议(IP)地址返回给客户端,客户端依照得到的服务器端的IP地址 向服务器端发送连接请求;服务器端收到连接请求后进行答复,当客户端收到 服务器端返回的表明同意建立连接的答复后,于客户端与服务器端之间正式建 立一个数据传输连接;以及通过私有通讯协议在客户端与服务器端之间进行相 关数据的接收和发送。
另外,本发明所提供的一种网络储存系统的数据传输方法,还包含当客户 端或服务器端需要断开数据传输连接时,由需要断开连接的一方发出一个断开 连接通知信息后中断数据传输连接的步骤。
此外,本发明所提供的一种网络储存系统的数据传输方法中客户端进行数 据发送的进程中进一步包含如下步骤
客户端将待发送的数据分组,并依照顺序发送一组数据;客户端通过调用 网络设备接口接收服务器端的数据接收响应,并判断服务器端是否有响应到 达,有响应到达则证明数据发送的操作成功,而后继续发送下一组数据直至剩
余数据全部发送成功,否则进入等待响应的状态;在等待响应期间,客户端实 时判断是否有响应返回,有响应返回则等待数据发送进程被唤醒后继续发送下 一组数据直至剩余数据全部发送成功,否则继续等待服务器端的数据接收响应 并判断等待响应时间是否大于等于一个预定时长;若等待响应时间小于预定时 长,则继续等待服务器端的数据接收响应;以及若等待响应时间大于等于预定 时长,则客户端准备重新发送此组数据并预先判断数据重发次数是否大于一个 预先设定的最大重发次数,若大于最大重发次数则发出数据发送操作失败的信 息,而后结束数据发送进程,若小于等于最大重发次数则重新发送此组数据。 再者,本发明所提供的一种网络储存系统的数据传输方法中服务器端进行
数据接收与发送的进程中还进一步包含如下步骤
起始化变量及结构,注册私有通讯协议并绑定网卡;判断是否有数据需要 发送,如果有数据需要发送则依据待发送数据的长度进行数据分组后,按照分 组顺序逐个数据组进行发送,直至全部数据发送完成;如果没有数据需要发送 则判断是否有数据需要接收,如果有数据需要接收则服务器端通过私有通讯协 议依据接收数据的类型进行相应的数据接收及处理;以及当服务器端既无数据需要发送也无数据需要接收时,判断服务器端的数据收、发进程是否需要结束, 如果需要结束,则向客户端发送断开连接通知信息,并释放网卡,而后注销私 有通讯协议且结束数据收、发进程,否则继续执行数据收、发进程。
综上所述,本发明的一种网络储存系统的数据传输方法的优点在于
1、 本发明的方法适合于网络磁盘的大数据量吞吐;
2、 本方法能够在数据丢包的情况下进行数据的超时重新传输;
3、 本发明方法所采用的私有通讯协议中可对待传输的数据包进行有效地 控制,因而不会发生数据混乱;
4、 本发明的方法中,当发送数据失败时,对数据重发控制灵活,可长时 间重试发送,保持了操作的连续性。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为本发明的一种网络储存系统的数据传输方法的整体方法流程图; 图2为本发明的方法中客户端进行数据发送的方法流程图; 图3为本发明的方法中服务器端进行数据接收与发送的方法流程图;以及 图4为本发明方法中服务器端通过私有通讯协议依据接收数据的类型进 行相应的数据接收及处理的方法流程图。 其中,附图标记
步骤100在客户端与服务器端分别设置私有通讯协议 步骤101客户端透过广播方式寻找服务器端
步骤102服务器端接收到广播信息后进行答复,并将服务器端的IP地 址返回给客户端
步骤103客户端依照服务器端的IP地址向服务器端发送连接请求 步骤104服务器端收到连接请求后进行答复
步骤105客户端收到服务器端返回的表明同意建立连接的答复后,于客 户端与服务器端的间建立数据传输连接
步骤106通过私有通讯协议在客户端与服务器端之间进行相关数据的 接收和发送
步骤107由客户端或服务器端中需要断开连接的一方发出断开连接通 知信息后中断数据传输连接
步骤200将待发送的数据分组
步骤201依照顺序发送一组数据
步骤202接收数据接收响应
步骤203判断是否有响应到达
步骤204判断是否还有待发送的剩余数据组
步骤205进入等待响应状态
步骤206判断是否有响应返回
步骤207判断等待响应时间是否大于等于一预定时长 步骤208判断数据重发次数是否大于一最大重发次数 步骤209发出数据发送操作失败的信息 步骤210重新发送此组数据
步骤300起始化变量及结构,注册私有通讯协议并绑定网卡
步骤301判断是否有数据需要发送
步骤302依据待发送数据的长度进行数据分组
步骤303按分组顺序逐个数据组进行发送直至此数据全部发送完成
步骤304判断是否有数据需要接收
步骤305依据接收数据的类型进行相应的数据接收及处理
步骤306判断数据收、发进程是否需要结束
步骤307发送断开连接通知信息,释放网卡并注销私有通讯协议
步骤3051判断是否收到客户端发送的服务器搜寻请求
步骤3052发送一个包含服务器端的IP地址的答复
步骤3053判断是否收到客户端发送的客户端登记信息
步骤3054发送一个登记此客户端的答复
步骤3055判断是否收到客户端发送的断开连接通知信息
步骤3056注销对应的客户端
步骤3057判断是否收到客户端发送的磁盘数据
步骤305S发送一个数据接收的答复
步骤3059判断是否收到客户端发送的接收数据的答复
具体实施例方式
以下,将结合附图对本发明的较佳实施方式作详细说明。
请参考图1,此图为本发明的一种网络储存系统的数据传输方法的整体方 法流程图,如图所示,本发明的一种网络储存系统的数据传输方法系包含以下
预先分别在客户端与服务器端设置一个私有通讯协议,以保证客户端及服
务器端对私有通讯协议的信息包的正确解析(步骤IOO),其中,私有通讯协
议的执行进程大体上可分为连接、数据收发、断开连接三个阶段,其中又可规 定发起连接的一方为客户端,另外一方为服务器端,其具体操作步骤请参见如
下步骤的描述;
客户端通过广播的方式寻找服务器端(步骤101);
服务器端接收到广播信息后进行答复,并将服务器端的网际网络通讯协议 (IP)地址返回给客户端(步骤102);
客户端依照得到的服务器端的IP地址向服务器端发送连接请求(步骤 103);
服务器端收到连接请求后进行答复(步骤104);
当客户端收到服务器端返回的表明同意建立连接的答复后,于客户端与服 务器端之间正式建立一数据传输连接(步骤105);
通过私有通讯协议在客户端与服务器端之间进行相关数据的接收和发送
(步骤106);以及
当客户端或服务器端需要断开数据传输连接时,由需要断开连接的一方发
出一个断开连接通知信息后中断数据传输连接(步骤107)。
现在请参考图2,此图为本发明的方法中客户端进行数据发送的方法流程 图,如图所示,本发明方法中客户端进行数据发送的进程中进一步包含如下步
客户端在有数据需要发送的情况下主动向服务器端发起数据连接请求,并 于数据传输连接建立之后,客户端将待发送的数据分组(步骤200),并依照 顺序发送一组数据(步骤201);
客户端通过调用网络设备接口接收服务器端的数据接收响应(步骤202), 并判断服务器端是否有响应到达(步骤203),有响应到达则证明发送此组数
据的操作成功,而后判断是否还有待发送的剩余数据组(步骤204),如果有 则返回步骤201,以继续发送下一组数据直至剩余数据全部发送成功,如果没 有待发送的剩余数据组则结束数据发送进程,若无响应到达则进入等待响应的 状态(步骤205);
在等待响应期间,客户端实时判断是否有响应返回(步骤206),有响应 返回则等待数据发送进程被唤醒后返回步骤204,否则继续等待服务器端的数 据接收响应并判断等待响应时间是否大于等于一个预定时长(步骤207);
若等待响应时间小于此预定时长,则返回步骤205以继续等待服务器端的 数据接收响应;以及
若等待响应时间大于等于预定时长,则客户端准备重新发送此组数据并预 先判断此数据重发次数是否大于一个预先设定的最大重发次数(步骤208), 若大于最大重发次数则可判定网络数据传输出现故障,并发出数据发送操作失 败的信息(步骤209),而后结束数据发送进程,若小于等于最大重发次数则 重新发送此组数据(步骤210),而后返回步骤202。
然后,请参考图3,此图为本发明的方法中服务器端进行数据接收与发送 的方法流程图,如图所示,本发明方法中服务器端进行数据接收与发送的进程 中进一步包含如下步骤
起始化变量及结构,设置私有通讯协议并绑定网卡(步骤300);
判断是否有数据需要发送(步骤301),如果有数据需要发送则进入数据 发送处理流程,因为磁盘输入/输出(I叩iit/Output,简称1/0)的数据量一般 较大,所以首先要依照待发送处理的数据长度进行数据分组(步骤302),再 按照分组顺序逐个数据组进行发送,直至此被分组后的数据全部发送完成(步 骤303),然后返回步骤301,其中依据待发送数据的长度进行数据分组依照 最大长度原则按固定值直接对待发送数据进行分割;
如果没有数据需要发送则判断是否有数据需要接收(步骤304),如果有 数据需要接收则服务器端通过私有通讯协议依据接收数据的类型进行相应的 数据接收及处理(步骤305),待相应的数据接收及处理完成后,返回步骤301; 以及
当服务器端既无数据需要发送也无数据需要接收时,判断服务器端的数据 收、发进程是否需要结束(步骤306),如果需要结束,则向客户端发送断开连接通知信息,释放网卡并注销私有通讯协议(步骤307),而后结束数据收、 发进程,否则返回步骤301,以继续执行相应的数据收、发进程。
最后,请参考图4,此图表示了本发明方法中服务器端通过私有通讯协议
依据接收数据的类型进行相应的数据接收及处理的方法流程图,如图所示,上 述步骤305 (即服务器端通过私有通讯协议依据接收数据的类型进行相应的数 据接收及处理的步骤)中进一步包含如下步骤
判断是否收到客户端发送的服务器搜寻请求(步骤3051),当服务器端 接收到客户端发送的服务器搜寻请求后,向客户端发送一个包含服务器端的 IP地址的答复(步骤3052),而后返回步骤301,否则执行步骤3053;
判断是否收到客户端发送的客户端登记信息(步骤3053),当服务器端 接收到客户端发送的客户端登记信息后,向客户端发送一个登记此客户端的答 复(步骤3054),而后返回步骤301,否则执行步骤3055;
判断是否收到客户端发送的断开连接通知信息(步骤3055),当服务器 端接收到客户端发送的断开连接通知信息后,注销对应的客户端(步骤3056 ), 而后返回步骤301,否则执行步骤3057;
判断是否收到客户端发送的磁盘数据(步骤3057),当服务器端接收到 客户端发送的磁盘数据后,向客户端发送一个数据接收的答复(步骤3058), 而后返回步骤301,否则执行步骤3059;
判断是否收到客户端发送的接收数据的答复(步骤3059),当服务器端 接收到客户端发送的接收数据的答复后,执行上述的步骤303,否则返回步骤 301。
综上所述,本发明的一种网络储存系统的数据传输方法所采用的私有通讯 协议没有进行更多的层次划分,这样做免去了各层之间的转发及相应的数据封 装/解析处理,从一定程度上获得了较高的数据吞吐效率。同时简单的数据收、 发逻辑关系减少了控制流程方面的相互影响,使网络数据传输更加便捷、安全、 可靠。
此外,本发明的方法中尝试接收响应失败后会立即进入接收响应的等待状 态,这与轮询的方式相比大大縮减了现有的通讯协议程序占用处理器时间片的 数量。当有响应信息到达时,数据发送进程立即被唤醒,私有通讯协议程序会 对待发送的数据以最快的速度做出反应,减少了不必要的等待时间。如果网络
传输出现差错而一直没有接收到响应信息,客户端会在超时后重新发送上一组 数据,直至达到最大重发次数,这个最大重发次数能够根据需要灵活设定,从 而可以实现超长时间重试发送,保持了操作的持续性, 一旦网络状态恢复正常 相关操作还可以继续进行。
与现有的iSCSI (Small Computer Systems Interface,小型计算机系统 接口)网络通讯协议的应用相比,现有的标准网络通讯协议在网络断开60秒 钟以上再恢复数据放松即宣告操作失败,而利用本发明方法中的私有通讯协议 能够根据需要调整等待时间及数据重发次数,其重试发送时间可以远远大于现 有的标准网络通讯协议,从而使得虚拟磁盘储存服务的抗网络干扰能力变得很 强。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1. 一种网络储存系统的数据传输方法,用以在具有客户端及服务器端的网络储存系统中通过一私有通讯协议在该客户端及该服务器端之间建立数据传输连接并进行数据传输,其特征在于,该方法包含以下步骤预先分别在该客户端与该服务器端设置一私有通讯协议;该客户端通过广播的方式寻找该服务器端,并于取得该服务器端返回的网际网络通讯协议IP地址后,向该服务器端发送连接请求;该服务器端收到该连接请求后进行答复,并当该客户端收到该服务器端返回的表明同意建立连接的答复后,于该客户端与该服务器端之间正式建立一数据传输连接;以及通过该私有通讯协议在该客户端与该服务器端之间进行相关数据的接收和发送。
2、 根据权利要求1所述的网络储存系统的数据传输方法,其特征在于, 还包含如下步骤当该客户端或该服务器端需要断开该数据传输连接时,由需要断开连接的 一方发出 一断开连接通知信息后中断该数据传输连接。
3、 根据权利要求2所述的网络储存系统的数据传输方法,其特征在于,该客户端进行数据发送的进程中进一步包含如下步骤该客户端将待发送的数据分组,并依照顺序发送一组数据; 该客户端通过调用网络设备接口接收该服务器端的数据接收响应,并判断该服务器端是否有响应到达,有响应到达则继续发送下一组数据直至剩余数据全部发送成功,否则进入等待响应的状态;在等待响应期间,该客户端实时判断是否有响应返回,有响应返回则等待该数据发送进程被唤醒后继续发送下一组数据直至该剩余数据全部发送成功,否则继续等待该服务器端的数据接收响应并判断等待响应时间是否大于等于一预定时长;若该等待响应时间小于该预定时长,则继续等待该服务器端的数据接收响 应;以及若该等待响应时间大于等于该预定时长,则该客户端准备重新发送该组数据并预先判断该数据重发次数是否大于一预先设定的最大重发次数,若大于该 最大重发次数则发出数据发送操作失败的信息,而后结束该数据发送进程,若 小于等于该最大重发次数则重新发送该组数据。
4、 根据权利要求2所述的网络储存系统的数据传输方法,其特征在于,该服务器端进行数据接收与发送的进程中进一步包含如下步骤 起始化变量及结构,注册该私有通讯协议并绑定网卡;判断是否有数据需要发送,如果有数据需要发送则依据该待发送数据的长 度进行数据分组后,按照该分组顺序逐个数据组进行发送,直至全部数据发送 完成;如果没有数据需要发送则判断是否有数据需要接收,如果有数据需要接收 则该服务器端通过该私有通讯协议依据接收数据的类型进行相应的数据接收 及处理;以及当该服务器端既无数据需要发送也无数据需要接收时,判断该服务器端的 数据收、发进程是否需要结束,如果需要结束,则向该客户端发送该断开连接 通知信息,并释放该网卡,而后注销该私有通讯协议且结束数据收、发进程, 否则继续执行该数据收、发进程。
5、 根据权利要求4所述的网络储存系统的数据传输方法,其特征在于, 依据该待发送数据的长度进行数据分组依照最大长度原则按固定值直接对该 待发送数据进行分割。
6、 根据权利要求4所述的网络储存系统的数据传输方法,其特征在于, 该服务器端通过该私有通讯协议依据接收数据的类型进行相应的数据接收及 处理的步骤中进一步包含如下步骤当该服务器端接收到该客户端发送的服务器搜寻请求后,向该客户端发送 一包含该服务器端的IP地址的答复。
7、 根据权利要求4所述的网络储存系统的数据传输方法,其特征在于,该服务器端通过该私有通讯协议依据接收数据的类型进行相应的数据接收及 处理的步骤中进一步包含如下步骤当该服务器端接收到该客户端发送的客户端登记信息后,向该客户端发送 一登记该客户端的答复。
8、 根据权利要求4所述的网络储存系统的数据传输方法,其特征在于,该服务器端通过该私有通讯协议依据接收数据的类型进行相应的数据接收及 处理的步骤中进一步包含如下步骤当该服务器端接收到该客户端发送的断开连接通知信息后,注销该客户端。
9、根据权利要求4所述的网络储存系统的数据传输方法,其特征在于, 该服务器端通过该私有通讯协议依据接收数据的类型进行相应的数据接收及处理的步骤中进一步包含如下步骤当该服务器端接收到该客户端发送的磁盘数据后,向该客户端发送一数据 接收的答复。
全文摘要
一种网络储存系统的数据传输方法,用以在具有客户端及服务器端的网络储存系统中通过私有通讯协议在客户端及服务器端之间建立稳定的数据传输连接并进行数据传输,本方法主要包含以下步骤在客户端与服务器端分别设置私有通讯协议;客户端通过广播方式寻找服务器端,并与服务器端建立数据传输连接;以及通过私有通讯协议在客户端与服务器端之间进行相关数据的接收和发送。
文档编号H04L29/06GK101207617SQ200610170790
公开日2008年6月25日 申请日期2006年12月22日 优先权日2006年12月22日
发明者威 刘, 刘文函, 王云松, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1