数据传输方法

文档序号:7974080阅读:118来源:国知局
专利名称:数据传输方法
技术领域
本发明涉及一种数据传输方法,特别涉及一种应用于网络数据处 理装置的数据传输方法。
背景技术
随着数据处理装置的软硬件功能与网络技术与网络架构的蓬勃发 展与普及,不管是个人、家庭、学校、企业或政府等机关团体,对于 通过网络执行数据处理与传输的依赖度也相应增加。相比于以往,当 前通过网络进行大量数据的传输己相当普遍。
由于通过网络进行传输的数据流量增加,处理该些数据的数据处 理装置,如网络服务器、应用于网络架构中的文件服务器及/或储存服 务器,亦须相应的提高其数据处理速度或储存数据容量,能快速的应 付大量工作需求。
应付大量的工作需求最直接的方法是提高前述数据处理装置的硬 件能力,亦即直接更换速度更快或容量更大的硬件,但此种方式未必 符合使用者的经济条件。且事实上,数据处理装置中的各个硬件的能 力是否能够尽可能的发挥,多半会取决于执行的操作系统或如驱动程 序等应用程序所提供的处理程序。因此,如何能够通过改进该些程序 的处理程序,以提高该数据处理装置的硬件能力,成为本领域所不得 不面对的技术问题。
以前述应用于网络系统的储存服务器为例,该储存服务器中多半
会建置多个如RAID架构的硬盘装置,以提供与其相连的网络伺服或终 端装置,通过网络联机,利用该硬盘装置进行数据存取。
举例而言,当有工作(如数据封包的传输)欲自网络终端装置通 过网络传送至该储存服务器并储存至该硬盘装置时,该工作必须通过 该储存服务器提供的网络工作处理驱动程序,在各个协议层间进行数 据传输,最后再通过该储存服务器的数据总线,将工作传送至该硬盘
装置予以储存。
现有于多个协议层间进行数据传输的方式利用单--执行线程
(Single-thread)的方式,当有工作需在各协议层间做数据传输时, 执行线程会依据该工作要求依序在各协议层间传输,而执行线程必须 完成该工作才能执行下一个工作。然此种单一执行线程的方式一旦发 生工作无法顺利完成时,即无法执行其它的工作,进而导致系统资源 的浪费。
为解决单一执行线程方法所产生的资源浪费,还提出利用多执行 线程(Multi-threads)的方式,每当有工作进入该储存服务器时,该 驱动程序产生-一个用以处理该工作的执行线程,并依各工作的要求依 据在各协议层间做数据传输,当完成工作时,始将该执行线程从驱动 程序中释放。然由于各协议层的执行速度不尽相同,所以当执行线程 遇到处理的瓶颈时,必须被迫等待。该驱动程序为避免等待造成的资 源浪费,故会将系统资源置换(Swap)给其它程序执行。但置换次数 过多,会造成数据传输效率与系统能力的降低,此外,过多的执行线 程亦会造成数据传输与系统能力的降低。
综上所述,如何提供一种在不变更现有的网络数据处理装置硬件 架构下,能更有效率的利用该网络数据处理装置的系统资源,并增加 网络数据处理装置处理网络数据传输的速度,成为亟待解决的技术问 题。

发明内容
为解决前述现有技术的种种缺陷,本发明提供一种能更有效率的 利用该网络数据处理装置的系统资源,并增加网络数据处理装置处理 网络数据传输的速度的数据传输方法。
本发明的数据传输方法应用于网络数据处理装置中,用以执行网 络系统的传输协议层间的数据传输,其主要包括于该驱动程序中建 立用以载入串接所有待处理工作的信息的全域指针,并于该待处理工 作的数据结构中建立用以表示该待处理工作当前执行状态的状态变 量;设定该执行线程的数量以及该执行线程于该全域指标中自始搜寻
所有待处理工作中当前处于可执行状态的可执行工作的r.作执行次
数;于该驱动程序接收到新进工作时,将该新进工作的信息串接至该 全域指标中并唤醒待机的该执行线程;以及令该执行线程依据该工作 执行次数,于该全域指标中自始搜寻该可执行工作并予以执行,且每 执行完成该可执行工作的- 一 个处理步骤即转换执行次 一 个可执行工 作,并于达到设定的工作执行次数后停止执行并恢复至待机状态。
相比于现有应用于网络数据处理装置的技术,本发明的数据传输 方法,通过前述流程步骤所设定执行线程数量与执行线程执行次数, 即能依据不同网络数据处理装置调整其数据处理能力,进而实现更有 效率的利用该网络数据处理装置的系统资源,并增加网络数据处理装 置处理网络数据传输的速度。


图1为本发明的数据传输方法执行时的流程图;以及
图2为本发明的数据传输方法中的全域指针的结构示意图。
附图标记说明
task广task 10 工作
S10 S13 步骤
具体实施例方式
以下为通过特定的具体实施例说明本发明的实施方式,本领域技 术人员可由本说明书所公开的内容轻易地了解本发明的其它优点与功 效。本发明亦可通过其它不同的具体实施例加以施行或应用,本说明 书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下 进行各种修改与变更。
请参阅图1,其为本发明的数据传输方法执行时的流程图。本发明 的数据传输方法应用于网络数据处理装置中,用以通过至少一个执行 线程执行网络系统的传输协议层间的工作。该网络数据处理装置可例 如但不限定为网络服务器、应用于网络架构中的文件服务器或储存服 务器,于本实施例中,以储存服务器为例予以说明。
此外,该储存服务器通过光纤传输线连接至网络,该网络可例如但不限定为因特网、企业内网络或企业间网络。于本发明的其它实施 例中,该储存服务器亦能应用于无线网络架构中,通过该无线网络架 构与前述的网络相互连结。
再者,该储存服务器中具有由多个硬盘装置所组成的SCSI规格的
RAID,用以提供通过该网络与该储存服务器相互连接的网络服务器或 客户端等网络数据处理装置与该RAID间进行数据存取。
该传输协议层则可例如为包括光纤传输线通过驱动程序与该储存 服务器的SCSI总线间的第一传输协议层;以及该SCSI总线与该RAID 间的第二传输协议层。
如图1所示,在步骤S10中,于该网络数据处理装置中用以执行 数据总线与外部网络间的数据传输的驱动程序中建立用以载入串接所 有待处理工作的信息的全域指针,并于该待处理工作的数据结构中建 立用以表示该待处理工作当前执行状态的状态变量。
于本实施例中,该驱动程序系用以驱动该网络数据处理装置中, 负责执行网络数据传输的单元或模块,该单元或模块可为内建于该网 络数据处理装置的网络连接芯片,或接置于该网络数据处理装置的网 络连接卡。该全域指标是由该驱动程序所建立,并于该驱动程序运作 时,暂存在该网络数据处理装置的随机存取内存或前述的硬盘装置等 储存装置中,用以挂载串接所有待处理工作的信息,而该工作则为网 络传输的数据封包,每 个数据封包为一个工作。该全域指针的结构 示意图如图2所示,设共有10个待处理工作task 1、ask 10。
另一方面,于该待处理工作的数据结构中建立用以表示该工作当 前执行状态的状态变量,则是指于该待处理数据封包中增加--'个用以 显示该数据封包当前执行状态的状态变量。
在歩骤Sll中,设定该执行线程的数量以及该执行线程于该全域
指标中自始搜寻所有待处理工作中当前处于可执行状态的可执行工作 的工作执行次数。承前所述,该执行线程数量的设定可依据该储存服 务器的中央处理器数量而定,于本实施例中,该储存伺服器具有四个 中央处理器,因此,共设定有分别对应该四个中央处理器的第一至第 四执行线程。
此外,于本实施例中,该执行线程被设定为从待机状态被唤醒时,直接确认该全域指标,并自该全域指标的起始端,搜寻"。前处于可执 行状态的可执行工作并予以执行。请参阅图2,于本实施例屮,该执行
线程会从该全域指标的起始端,亦即task 1开始搜寻当前处于可执行
状态的可执行工作。
再者,前述执行线程每-一次工作执行仅执行每-寸可执行工作的 一个处理步骤,于本实施例中,每一个处理步骤是指光纤传输线通过 驱动程序与该储存服务器的SCSI总线间的第---传输协议层间的数据封 包传输或该SCSI总线与该RAID间的第二传输协议层间的数据封包传 输,因此,设定该工作执行次数即为设定该执行线程被唤醒后至恢复 待机状态所须处理的步骤数。于木实施例中,设该工作执行次数为三 次。
在歩骤S12中,于该驱动程序接收到新进工作时,将该新进工作 的信息串接至该全域指标中并唤醒待机的该执行线程。承前所述,于 本实施例中,当该驱动程序接收到通过该光纤传输线所传输欲储存至 该储存服务器的RAID的多个数据封包时,令该驱动程序依封包进入的 先后顺序,将该些数据封包串接至前述所设定的全域指标中并唤醒前 述所设定的执行线程。
在歩骤S13中,令该执行线程依据该工作执行次数于该全域指标 中自始搜寻当前处于可执行状态的可执行工作并予以执行,且每执行 完成该可执行工作的一个歩骤即转换执行次---个处于可执行状态的可 执行工作,并于达到设定的工作执行次数后停止执行并恢复至待机状 态。承前所述,令前述所设定的四个执行线程分别自该全域指标所串 接的第一个可执行工作(数据封包)开始,依序搜寻当前处于可执行 状态的可执行工作并予以执行,且每执行完成该可执行工作的一个歩 骤即转换执行次一个处于可执行状态的可执行工作,并于达到前述所 设定的工作执行次数三次后停止执行并恢复至待机状态,亦即将该执 行线程先前所占用的资源释放出来。
举例而言,设于本实施例中,task 1 1:〗前的可执行工作为必需在 前述第一传输协议层间传输;task 2目前的可执行工作为必需在前述 第二传输协议层间传输;task 3目前的可执行工作亦为必需在前述第 二传输协议层间传输,且task 1与task 2分别在第一与第二执行线
程执行中,而task3未被执行,则第三执行线程被唤醒后,会于该全 域指标中自始搜寻当前处于可执行状态的可执行工作并予以执行,亦 即,从task 1以下降开始搜寻到task 3并予以执行。此外,假设该
第- 执行线程执行完task 1的可执行工作后,依序搜寻到task 5与 task 7的可执行工作并予以执行,由于该执行线程于该全域指标中自 始搜寻当前处于可执行状态的工作执行次数为三次,故该第一执行线 程执行完task 7的可执行工作后,即恢复至待机状态,亦即将该执行 线程先前所占用的资源释放出来。
综上所述,本发明的数据传输方法,通过前述流程歩骤所设定执 行线程数量与执行线程执行次数,即能依据不同网络数据处理装置调 整其数据处理能力,进而实现更有效率的利用该网络数据处理装置的 系统资源,并增加网络数据处理装置处理网络数据传输的速度。
上述实施例仅为例示性说明本发明的原理及其技术效果,而非用 于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范 畴下,对上述实施例进行修改与变化。因此,本发明的权利保护范围, 应前后述的权利要求书所列。
权利要求
1、一种数据传输方法,应用于网络数据处理装置中,该网络数据处理装置包括执行数据总线与外部网络间的数据传输的驱动程序,用以通过至少一个执行线程执行网络系统的传输协议层间的工作,其特征在于,主要包括于该驱动程序中建立用以载入串接所有待处理工作的信息的全域指针,并于该待处理工作的数据结构中建立用以表示该待处理工作当前执行状态的状态变量;设定该执行线程的数量以及该执行线程于该全域指标中自始搜寻所有待处理工作中当前处于可执行状态的可执行工作的工作执行次数;于该驱动程序接收到新进工作时,将该新进工作的信息串接至该全域指标中并唤醒待机的该执行线程;以及令该执行线程依据该工作执行次数,于该全域指标中自始搜寻该可执行工作并予以执行,且每执行完成该可执行工作的一个处理步骤即转换执行次一个可执行工作,并于达到设定的工作执行次数后停止执行并恢复至待机状态。
2. 根据权利要求1所述的数据处理方法,其特征在于,该网络数 据处理装置具有接受该驱动程序所驱动,用以负责执行网络数据传输 的单元或模块。
3. 根据权利要求2所述的数据处理方法,其特征在于,该单元或 模块为内建于该网络数据处理装置的网络连接芯片、以及接置于该网 络数据处理装置的网络连接卡。
4. 根据权利要求1所述的数据处理方法,其特征在于,该工作为 数据封包。
5. 根据权利要求1所述的数据处理方法,其特征在于,该网络数据处理装置具有至少一中央处理器,且该执行线程数量的设定系相应 于该储存服务器的中央处理器的数量。
6.根据权利要求1所述的数据处理方法,其特征在于,该网络数 据处理装置为选自网络服务器、应用于网络架构中的文件服务器或储 存服务器。
全文摘要
一种数据传输方法,应用于网络数据处理装置中,包括于该驱动程序中建立用以载入串接所有待处理工作的信息的全域指针,并于该待处理工作的数据结构中建立用以表示其当前执行状态的状态变量;设定该执行线程的数量以及该执行线程于该全域指标中自始搜寻所有待处理工作中当前处于可执行状态的可执行工作的工作执行次数;于该驱动程序接收到新进工作时,将该新进工作的信息串接至该全域指标中并唤醒待机的该执行线程;以及令该执行线程依据该工作执行次数,于该全域指标中自始搜寻该可执行工作并予以执行,且每执行完成该可执行工作的一个处理步骤即转换执行次一个可执行工作,并于达到设定的工作执行次数后停止执行并回复至待机状态。
文档编号H04L29/06GK101193114SQ20061016334
公开日2008年6月4日 申请日期2006年12月1日 优先权日2006年12月1日
发明者卓昆辉 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1