一种数据传输方法、系统及装置 【技术领域】
本发明涉及嵌入式软件技术领域,尤其涉及一种数据传输方法、系统及装置。
背景技术
随着无线网络技术的不断成熟,采用无线网络技术的通用串行总线(Universal Serial Bus,USB)数据卡由于其体积小、共用性强、数据传输质量好以及功能全得到了广泛的应用。
由于USB数据卡功能的不断增加和复杂化,为了同时并发多种业务,USB数据卡需要同时虚拟和枚举出多种功能设备,又称为接口(interface),例如可以为用于语音通话的VOUSB interface,用于收发短信的AT interface,用于实现微软上网规范的NIDS interface等,而实现的虚拟功能设备都是专用的,如果使用需要在与USB数据卡连接的设备,例如个人电脑(Personal Computer,PC)终端上安装对应的驱动。图1A为现有技术中的USB数据卡与PC终端的结构示意图,USB数据卡中包括语音通话功能模块,用于收发短信的收发短信功能模块,用于实现微软上网规范的上网功能模块,对于USB数据卡内的每个功能模块,在PC终端侧需要安装的对应驱动上网设备、收发短信设备以及语音电话设备等,从而实现读取USB数据卡各功能模块的数据,并通过PC终端的USB数据卡用户界面(User Interface,UI)软件将各驱动识别的数据分别发送到对应的功能模块上进行处理,例如发送到网功能模块、短信收发功能模块以及语音电话功能模块等。
而由于USB数据卡同时虚拟出多种功能设备,当该USB数据卡第一次连接到PC终端上时,PC终端需要安装与每个功能设备对应的驱动。为了实现安装驱动的自动化,可以将驱动整合在PC终端侧的UI软件中,在安装时只需安装整个UI软件即可,但是会在硬盘和注册表等位置留下相关信息,从而增加了使用的复杂度,并且增加系统中出现垃圾的可能性,从而影响数据的交互。同时由于每个驱动在安装的过程中都需要一定的安装时间,当需要安装的驱动较多时,会增加设备的等待时间,从而影响用户的体验,并且安装的驱动会占用系统的内存资源,随着安装的驱动的增多,PC终端中被占用的内存资源也相应的增加,从而影响PC终端的性能。同时由于安装的驱动比较多,驱动与PC终端中的其他软件不兼容的可能性会增加,当出现不兼容的问题时,会影响PC终端的正常使用。并且有的PC终端存在一定的安全等级,并不是所有的用户都可以对PC终端进行操作,从而使该PC终端上无法安装驱动,导致USB数据卡的不可用。
因此,由于现有技术中USB数据卡模拟功能设备,USB数据卡在与PC终端进行通信安装驱动时,存在较多的问题,影响PC终端的性能及数据传输的效率,并且还可能导致USB数据卡不可用。
【发明内容】
有鉴于此,本发明实施例提供一种数据传输的方法、系统及装置,用以解决现有技术USB数据卡由于安装驱动,导致的数据传输效率低的问题。
本发明实施例提供的一种数据发送方法,包括:
发送端确定进行数据的发送,将自身的每个功能模块待发送的数据按照预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带该对应功能模块地标识信息;
所述发送端将封装的所述每个协议帧数据发送到接收端。
本发明实施例提供的一种数据接收方法,包括
接收端确定进行数据的接收,获得发送端发送的每个协议帧数据;
将所述每个协议帧数据按照与发送端相同的预设协议解封,并根据所述每个协议帧数据携带的标识信息,将解封后的数据发送到接收端内的对应功能模块。
本发明实施例提供的一种数据传输系统,包括:
发送端,确定进行数据的发送,将自身的每个功能模块待发送的数据按照预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带该对应功能模块的标识信息,将封装的所述每个协议帧数据发送到接收端;
接收端,确定进行数据的接收,获得发送端发送的每个协议帧数据,将所述每个协议帧数据按照与发送端相同的预设协议解封,并根据所述每个协议帧数据携带的标识信息,将解封后的数据发送到其对应的功能模块。
本发明实施例提供的一种发送端,包括:
发送确定模块,用于在确定进行数据发送时,向MUX协议模块发送获取数据的指令;
发送端MUX协议模块,用于将各个功能模块待发送的数据,按照预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带该对应功能模块的标识信息,并将封装的每个协议帧数据发送到发送确定模块;
发送端各功能模块,用于将待发送的数据发送到MUX协议模块;
所述发送确定模块还用于,将封装的每个协议帧数据发送到接收端。
本发明实施例提供的一种接收端,包括:
接收确定模块,用于确定进行数据的接收,获得发送端发送的每个协议帧数据,并将获得的每个协议帧数据发送到MUX协议模块;
接收端MUX协议模块,用于将接收的每个协议帧数据按照与发送端相同的预设协议解封,并根据所述每个协议帧数据携带的标识信息,将解封后的数据发送到其对应的功能模块;
接收端各功能模块,用于接收解封后的数据,并进行相应的操作。
本发明实施例提供了一种数据传输的方法、系统及装置,数据发送方法包括:发送端将其自身的各功能模块的待发送的数据按照预设的协议封装为对应的协议帧数据,将每个协议帧数据发送到接收端。由于在本发明实施例将每个协议帧数据发送到接收端,由于每个终端都会有虚拟光驱,因此可以识别出发送端,并且由于发送的数据帧采用预定的协议封装,在接收端采用预定的协议解封即可,因此本发明实施例避免了在进行数据传输时安装驱动的不便之处,从而提高了数据的传输效率,并且提供了发送端和接收端的性能。
【附图说明】
图1A为现有技术中USB数据卡与PC终端的结构示意图;
图1B为本发明实施例提供的发送端进行数据发送的过程;
图2A为本发明实施例提供的接收端进行数据接收的过程;
图2B为本发明实施例提供的接收端进行数据接收的过程;
图3为本发明实施例提供的一种发送端的结构示意图;
图4为本发明实施例提供的一种接收端的结构示意图;
图5为本发明实施例提供的当发送端为USB数据卡时,USB数据卡进行数据发送的过程;
图6为本发明实施例提供的当发送端为PC终端时,发送端进行数据发送的过程;
图7为本发明实施例提供的当接收端为USB数据卡时,接收端端进行数据接收的过程;
图8为本发明实施例提供的当接收端为PC终端时,接收端端进行数据接收的过程;
图9为本发明实施例提供的的一种数据传输的系统的结构示意图;
图10为本发明实施例提供的当发送端为USB数据卡接收端为PC终端时,数据传输的过程;
图11为本发明实施例提供的当发送端为PC终端,接收端为USB数据卡时,数据传输的过程。
【具体实施方式】
本发明实施例为了有效地提高数据传输的效率,并且提高PC终端的性能,提供了一种数据发送方法,该方法包括:发送端在确定发送数据时,将其自身的各功能模块的待发送数据按照预设的协议封装为对应的协议帧数据,并且每个协议帧数据中携带该对应功能模块的标识信息,将每个协议帧数据发送到接收端。由于在本发明实施例将每个协议帧数据发送到接收端,由于发送的数据帧采用预定的协议封装,在接收端采用预定的协议解封即可,因此本发明实施例避免了在进行数据传输时安装驱动的不便之处,从而提高了数据的传输效率,并且提供了发送端和接收端的性能。由于每个PC终端都会有虚拟光驱,当在USB数据卡中设置了相应的CD-ROM设备,当USB数据卡与PC终端连接时,PC终端可自动读取USB数据卡。
本发明实施例中还提供了与上述数据发送方法对应的一种数据接收方法,当接收端确定进行数据接收时,获得发送端发送的每个协议帧数据,将每个协议帧数据按照与发送端相同的预设的协议解封,并根据每个协议帧数据携带的标识信息,将解封后的数据发送到接收端内的对应功能模块。在本发明实施例中接收端采用与发送端相同的协议,对接收的协议帧数据解封,由于每个协议帧数据中携带发送端每个功能模块的标识信息,因此接收端可以将解封后的发送端每个功能模块的数据,发送到接收端每个功能模块内进行相应的处理,从而实现了发送端与接收端之间的在不安装驱动状态下的数据传输,从而有效地提高了数据传输的效率,并且提供了发送端和接收端的性能。
下面结合说明书附图,对本发明实施例进行详细说明。
图1B为本发明实施例提供的发送端进行数据发送的过程,该过程包括以下步骤:
S101:发送端确定进行数据的发送,获取其自身的各个功能模块待发送的数据。
在本发明实施例中发送端可以是USB数据卡,也可以是PC终端。当发送端为USB数据卡时,USB数据卡接收PC终端下发的指令,当判断该指令为对数据进行发送操作的指令时,获取USB数据卡内各功能模块的待发送数据;当发送端为PC终端时,PC终端监控其内部的各功能模块,判断是否有数据需要发送,当判断需要进行数据发送时,下发进行数据发送的指令,获取其内部各功能模块需要发送的数据。
S102:发送端将获取的各功能模块的数据按照与接收端预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带对应功能模块的标识信息。
在本发明实施例中发送端与接收端预设对数据封装及解封的协议,使发送端与接收端采用相同的协议对数据进行封装和解封。在本发明实施例中该预设的协议可以为复用技术(Multiplexer,MUX)协议。
S103:发送端将封装后的每个协议帧数据发送到接收端。
在本发明实施例中发送端通过小型计算机系统接口(Small ComputerSystem Interface,SCSI)指令将封装后的每个协议帧数据发送到接收端。
在本发明实施例中,当发送端与接收端进行数据的传输时,发送端与接收端中的其中一个装置可以内置只读光盘(Compact Disc Read-Only Memory,CD-ROM)设备功能模块,而另一个装置可以内置虚拟光驱,当发送端与接收端连接时,发送端与接收端之间的识别方式可以为虚拟光驱对虚拟光盘的识别。由于一般的PC终端都会有内置的虚拟光驱,因此将与其连接的USB数据卡内置CD-ROM设备功能模块,则PC终端与USB数据卡的识别方式可以为虚拟光驱对虚拟光盘的识别。
在本发明实施例中当发送端为USB数据卡时,发送端按照预设的协议封装后的协议帧数据发送到接收端时,作为接收端的PC终端虚拟光驱读取发送端USB发送的协议帧数据,实现发送端对其封装后的协议帧数据的发送。当发送端为PC终端时,发送端按照预设的协议封装后的协议帧数据发送到接收端时,发送端通过虚拟光驱将封装后的协议帧数据发送到接收端。
图2A为本发明实施例提供的接收端进行数据接收的过程,该过程包括以下步骤:
S201:接收端确定进行数据接收时,获得发送端发送的每个协议帧数据。
在本发明实施例中接收端可以是USB数据卡,也可以是PC终端,当接收端为USB数据卡时,USB数据卡接收PC终端下发的指令,当判断该指令为对数据进行接收操作的指令时,接收PC终端发送的对应其内部各功能模块的协议帧数据;当接收端为PC终端时,PC终端监控其内部的各功能模块,判断是否有数据需要接收,当判断需要接收数据时,下发进行数据接收的指令,通接收USB数据卡发送的对应其内部各功能模块的协议帧数据。其中接收端获得的发送端通过SCSI指令发送的每个协议帧数据。
S202:接收端将接收的每个协议帧数据按照与发送端相同的预设协议解封。
在本发明实施例中为了实现发送端与接收端之间的数据交互,使发送端与接收端可以识别彼此接收的数据,在发送端与接收端之间进行协议的预设,使发送端与接收端采用相同的协议对数据进行封装和解封。
S203:接收端根据每个协议帧数据中携带的标识信息,将解封后的每个协议帧对应的数据发送到接收端对应的功能模块。
在本发明实施例中,由于发送端存在至少两个功能模块,而不同的功能模块使用不同的数据格式,例如两个功能模分别为A和B,每个功能模块对应的数据格式不同,当接收端接收到发送端采用预设的协议对每个功能模块的数据封装的协议帧数据后,将协议帧数据解封,获得发送端每个功能模块发出的原始数据,即对应功能模块A和B的不同格式的数据,由于在接收端也存在对应至少两个功能模块,例如分别为功能模块a和b,接收端根据协议帧数据中携带的标识信息,将解封后的每个协议帧数据发送到对应的功能模块进行处理,即采用功能模块a处理发送端功能模块A的数据,采用功能模块b处理发送端功能模块B的数据。
图2B为本发明实施例提供的USB数据卡与PC终端的结构示意图。在本发明实施例中在USB数据卡中每个功能模块与板侧的MUX协议模块连接,MUX协议模块可以对接收到的数据进行封装和解封处理,并且处理的过程基于MUX协议。板侧MUX协议模块与CD-ROM设备功能模块及大容量存储模块连接,封装后的协议帧数据通过大容量存储模块,以虚拟光盘的形式被PC终端读取,或PC终端发送的协议帧数据通过虚拟光盘被大容量存储模块读取。在PC终端中无需针对USB数据卡中的每个功能模块安装驱动,只需要一个虚拟光驱CD-ROM设备,读取虚拟光盘USB数据卡内的协议帧数据,数据管理模块将读取的数据经MUX协议模块解封后发送到对应的UI软件的业务功能模块拨号上网功能模块、短信收发功能模块以及语音电话拨号功能模块处理。
本发明实施例中发送端和接收端预设的协议可以为MUX协议,或实现发送端与接收端数据交互的其他协议。MUX协议为3GPP规范中的一部分,其提供了完成数据传输的发送端和接收端的数据交互格式的制定,及挂起与休眠等功能的规范。在本发明实施例中利用MUX协议规定的数据帧格式,实现对发送端不同功能模块的数据包,通过MUX协议规定的帧格式进行封装,统一以自定义SCSI指令的形式发送,以及实现接收端对发送端下发的MUX数据帧的解封和对发送端不同功能模块的数据分发。
在本发明实施例中将封装后的协议帧数据采用自定义SCSI指令的形式发送,其中,SCSI指令是由SCSI协议规定的一种用于大容量存储设备的指令集,其提供了信息查询,数据写入,数据读取等各种功能。SCSI指令允许用户自定义,用户可以通过自己规定地格式和用途添加新的自定义SCSI指令。在本发明实施例中使用自定义SCSI指令作为发送端与接收端进行数据交互和传输的方式。由于SCSI指令具有极高的数据带宽,并且可以满足多种数据业务并发时的大数据量传输,同时由于自定义SCSI指令可以由用户自己定义收发数据包的长度,因此采用SCSI指令具有一定的易用性。
本发明实施例中当发送端为USB数据卡时,USB数据卡可以以虚拟光盘的形式被接收端识别。由于识别虚拟光盘的CD-ROM设备类型不需要用户干预,不用提供第三方驱动程序,并且具有一定的数据带宽,从而使利用自定义SCSI指令来实现数据的收发也更易实现,并且在大容量存储设备中,CD-ROM具有自动运行虚拟光盘中的程序的功能,因此采用CD-ROM设备来可以有效的节省驱动安装的时间,从而提高数据传输的效率。
在本发明实施例中为了实现作为发送端和接收端的USB数据卡和PC终端之间的信息交互,发送端和接收端之间分别包括一个MUX协议模块,下面结合发送端和接收端的结构,分别对本发明实施例进行说明。
图3为本发明实施例提供的一种发送端的结构示意图,该发送端包括:发送确定模块31、发送端MUX协议模块32和发送端各功能模块33。
发送确定模块31,用于在确定进行数据发送时,向发送端MUX协议模块32发送获取数据的指令;
发送端MUX协议模块32,用于将各个功能模块待发送的数据,按照预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带该对应功能模块的标识信息,并将封装的每个协议帧数据发送到发送确定模块31;
发送端各功能模块33,用于将待发送的数据发送到发送端MUX协议模块32;
发送确定模块31还用于,将封装的每个协议帧数据发送到接收端。
在本发明实施例中发送端的发送确定模块31用于实现与接收端进行信息交互,当发送端为USB数据卡时,该发送确定模块31为大容量存储器(MassStorage)即第一发送单元311,该第一发送单元311用于接收PC终端下发的指令,当判断该指令为数据发送指令时,获取USB数据卡内各功能模块的待发送数据。USB数据卡内各个业务模块将需要上报给PC终端的数据发送到发送端MUX协议模块32,发送端MUX协议模块32按照MUX协议对数据帧的规定,将接收的每个功能模块的数据统一封装成固定格式的协议帧数据,并带有不同的业务功能模块的标识信息,之后发送端MUX协议模块32将该协议帧数据通过大容量存储器上报给PC终端。当该发送端为PC终端时,该发送确定模块31为数据管理模块即第二发送单元312,该第二发送单元312用于监控PC终端内部的各功能模块,判断是否进行数据发送,当判断需要进行数据发送时,下发进行数据发送的指令,获取PC终端内部各功能模块需要发送的数据。
图4为本发明实施例提供的一种接收端的结构示意图,接收端包括:接收确定模块41、接收端MUX协议模块42和接收端各功能模块43。
接收确定模块41,用于确定进行数据的接收,获得发送端发送的每个协议帧数据,并将获得的每个协议帧数据发送到接收端MUX协议模块42;
接收端MUX协议模块42,用于将接收的每个协议帧数据按照与发送端相同的预设协议解封,并根据所述每个协议帧数据携带的标识信息,将解封后的数据发送到其对应的接收端各功能模块43;
接收端各功能模块43,用于接收解封后的数据,并进行相应的操作。
在本发明实施例中接收端的接收确定模块41用于实现与发送端进行信息交互,当接收端为USB数据卡时,接收确定模块41为Mass Storage即第一确定单元411,该第一确定单元411用于接收PC终端下发的指令,当判断该指令为数据接收指令时,接收PC终端发送的对应其内部各功能模块的协议帧数据。当接收端为PC终端时,接收确定模块41为数据管理模块即第二确定单元412,该第二确定单元412用于监控PC终端内部的各功能模块,判断是否进行数据接收,当判断需要接收数据时,下发进行数据接收的指令,接收USB数据卡发送的对应其内部各功能模块的协议帧数据。
下面结合发送端的各模块对发送端进行数据发送的过程进行详细说明,图5为当发送端为USB数据卡时,USB数据卡进行数据发送的过程,该过程包括以下步骤:
S501:USB数据卡的Mass Storage接收PC终端下发的指令。
其中,该指令可以为SCSI指令。
S502:Mass Storage判断该指令是否为自定义的进行数据传输的指令,当判断结果为是时,进行S503,否则,进行S509。
S503:解析该指令,判断该指令进行的数据传输方向,当判断进行数据发送时,进行S504。
S504:Mass Storage向MUX协议模块发送获取数据的指令。
S505:MUX协议模块将各个功能模块发送的需要上报的数据,封装成满足MUX协议的协议帧数据。其中该协议帧数据中包括发送该数据的功能模块的标识信息,以标识该协议帧数据是哪个功能模块发送的数据。
S506:MUX协议模块将封装后的协议帧数据发送到Mass Storage。
S507:Mass Storage将接收的封装后的协议帧数据发送到PC终端。
在本发明实施例中Mass Storage将接收的封装后的协议帧数据通过SCSI指令发送到PC终端。
S508:Mass Storage向PC终端上报指令状态回复(Command StatusWrapper,CSW)数据包,响应PC终端对应其下发的数据发送指令,通知PC终端数据发送过程结束。
其中,该Mass Storage向PC终端上报SCSI指令的CSW数据包。
S509:Mass Storage按照非数据传输流程,即按照正常的流程处理该指令。
在本发明实施例中作为数据发送端的USB数据卡,无需枚举出多种实际的功能设备,只需要将不同的功能模块上报的数据统一按照预定的协议进行封装即可。
图6为本发明实施例中当发送端为PC终端时,发送端进行数据发送的过程,该过程包括以下步骤:
S601:PC终端的数据管理模块监控本终端的各功能模块,判断其各功能模块是否需要进行数据发送,当判断结果为是时,进行S602,否则,进行S601。
S602:PC终端的数据管理模块调用相应的功能模块,生成自定义的数据发送指令。
具体包括:PC终端调用应用程序接口(Application Program Interface,API),从而实现数据发送指令的生成,并且生成的数据发送指令为SCSI指令。
S603:PC终端的数据管理模块向MUX协议模块发送进行数据发送的指令。
S604:MUX协议模块将各功能模块需要发送的数据封装成满足MUX协议的协议帧数据,其中该协议帧数据中包括对应每个功能模块的标识信息,以标识该协议帧数据是哪个功能模块发送的数据。
S605:MUX协议模块将封装后的协议帧数据发送到数据管理模块。
S606:数据管理模块将接收的封装后的协议帧数据发送到USB数据卡。
在本发明实施例中,数据管理模块将接收的封装后的协议帧数据通过SCSI指令发送到USB数据卡。
S607:数据管理模块当接收到USB数据卡上报的CSW数据包时,确定此次数据发送过程结束。否则,数据管理模块处于等待状态,按照设定的时间间隔确定是否接收到USB数据卡上报的CSW数据包。
其中,数据管理模块接收到USB数据卡通过SCSI指令上报的CSW数据包。
图7为当接收端为USB数据卡时,接收端端进行数据接收的过程,该过程包括以下步骤:
S701:USB数据卡的Mass Storage接收PC终端下发的指令。
其中,该指令可以为SCSI指令。
S702:Mass Storage判断该指令是否为自定义的进行数据传输的指令,当判断结果为是时,进行S703,否则,进行S708。
S703:解析该指令,判断该指令进行的数据传输方向,当判断进行数据的接收时,进行S704。
S704:Mass Storage在USB数据卡内准备内存区(buffer),并采用该内存区接收发送端PC终端发送的数据。
Mass Storage采用内存区接收发送端PC终端通过SCSI指令发送的数据。
S705:Mass Storage将接收的数据发送到MUX协议模块。
S706:Mass Storage向发送端PC终端发送CSW数据包,通知发送端PC终端数据接收过程结束。
在本发明实施例中Mass Storage向发送端PC终端发送SCSI指令的CSW数据包。
S707:MUX协议模块采用与发送端PC终端相同的协议,将封装后的协议帧数据解封,并根据每个协议帧数据的标识信息,确定每个协议帧数据发送到的功能模块的信息。
S708:Mass Storage按照非数据传输流程,即按照正常的流程处理该指令。
例如当发送端PC终端包括拨号上网模块、短信模块、电话拨打模块等功能模块时,每个功能模块发送的数据需要接收端USB数据卡对应的功能模块进行处理,因此当接收端接收到发送端发送的每个功能模块的数据时,根据协议帧数据中携带的功能模块的标识信息,将解封后的数据发送到对应的功能模块进行处理。其中,协议帧数据中携带的功能模块的标识信息可以位于协议帧数据的帧头或帧尾位置。
当接收端为USB数据卡时,USB数据卡接收PC终端下发的协议帧数据是以自定义SCSI指令的形式由CD-ROM设备收取,接收到协议帧数据后首先去除SCSI指令的附加数据,将协议帧数据解封为符合MUX协议规定的数据,再根据协议帧数据上携带的符合MUX协议规定的各功能模块的标识信息,识别出协议帧数据属于哪个业务功能模块,再由MUX协议层将数据重新封装成符合该业务功能模块协议的数据包并递交给业务功能模块。如此就实现了各个业务功能模块统一利用CD-ROM来和PC侧交互数据的功能,而不需要给每一个业务功能模块都定义一个设备接口用于数据传送。
图8为当接收端为PC终端时,接收端端进行数据接收的过程,该过程包括以下步骤:
S801:PC终端的数据管理模块监控本终端的各功能模块,判断其各功能模块是否需要接收数据,当判断结果为是时,进行S802,否则,进行S801。
S802:PC终端的数据管理模块调用相应的功能模块,生成自定义的数据接收指令。
具体包括:PC终端调用API,从而实现数据接收指令的生成,并且生成的数据接收指令为SCSI指令。
S803:PC终端的数据管理模块在PC终端内准备内存区。
S804:PC终端的数据管理模块采用该内存区接收发送端USB数据卡发送的数据。
PC终端的数据管理模块采用内存区接收发送端USB数据卡通过SCSI指令发送的数据。
S805:PC终端的数据管理模块判断是否接收到发送端发送的CSW数据包,当判断接收到该CSW数据包时,进行S806,否则,进行S804。
S806:PC终端的数据管理模块将接收的数据发送到MUX协议模块。
S807:MUX协议模块采用与发送端USB数据卡相同的协议,将封装后的协议帧数据解封,并根据每个协议帧数据的标识信息,确定每个协议帧数据发送到的功能模块的信息。
图9为本发明实施例提供的一种数据传输的系统的结构示意图,该系统包括:
发送端,确定进行数据的发送,将自身的每个功能模块待发送的数据按照预设的协议封装为对应的每个协议帧数据,并且每个协议帧数据中携带该对应功能模块的标识信息,将封装的所述每个协议帧数据发送到接收端;
接收端,确定进行数据的接收,获得发送端发送的每个协议帧数据,将所述每个协议帧数据按照与发送端相同的预设协议解封,并根据所述每个协议帧数据携带的标识信息,将解封后的数据发送到其对应的功能模块。
由于发送端可以为USB数据卡,也可以为PC终端,当发送端为USB数据卡时,接收端为PC终端,发送端为PC终端时,接收端为USB数据卡。
下面结合发送端和接收端的各模块对数据传输的过程进行详细说明,图10为当发送端为USB数据卡,接收端为PC终端时,数据传输的过程,该过程包括以下步骤:
S1001:PC终端的数据管理模块通过监控其自身的各功能模块,确定其中一个或几个功能模块需要获取数据时,调用API生成自定义的数据传输指令。
该数据传输指令对于USB数据卡为数据发送指令,对于PC终端本身而言该指令为数据接收指令,并且生成的自定义的数据传输指令为SCSI指令。
S1002:PC终端的数据管理模块根据该数据传输指令,在内存中准备内存区,并将该数据传输指令发送到USB数据卡的Mass Storage。
S1003:USB数据卡的Mass Storage接收到该数据传输指令,确定进行数据的发送,向其MUX协议模块发送获取数据的指令。
S1004:USB数据卡的MUX协议模块将各个功能模块发送的需要上报的数据,封装成满足MUX协议的协议帧数据,并将封装后的数据发送到USB数据卡的Mass Storage。
S1005:USB数据卡的Mass Storage将封装后的协议帧数据发送到PC终端。并在该协议帧数据后向PC终端发送CSW数据包。
Mass Storage将封装后的协议帧数据通过SCSI指令发送到PC终端,并且向PC终端发送SCSI指令的CSW数据包。
S1006:PC终端的数据管理模块采用该内存区接收发送端USB数据卡发送的数据。
S1007:PC终端的数据管理模块判断是否接收到USB数据包发送的CSW数据包,当判断接收到该CSW数据包时,进行S1008,否则,进行S1006。
S1008:PC终端的数据管理模块将接收的数据发送到MUX协议模块。
S1009:PC终端的MUX协议模块采用与发送端USB数据卡相同的协议,将封装后的协议帧数据解封,并根据每个协议帧数据的标识信息,确定每个协议帧数据发送到的功能模块的信息。
图11为本发明实施例提供的当发送端为PC终端,接收端为USB数据卡时,数据传输的过程,该过程包括以下步骤:
S1101:PC终端的数据管理模块通过监控其自身的各功能模块,确定其中的一个或几个功能模块需要发送数据时,调用API生成自定义的数据传输指令。
该数据传输指令对于USB数据卡为数据接收指令,对于PC终端本身而言该指令为数据发送指令,并且生成的自定义的数据传输指令为SCSI指令。
S1102:PC终端的数据管理模块将该数据传输指令发送到USB数据卡。
S1103:USB数据卡的Mass Storage接收到该数据传输指令,确定进行数据的接收,在内存中准备内存区。
S1104:PC终端的数据管理模块向MUX协议模块发送进行数据发送的指令。
S1105:PC终端的MUX协议模块将各功能模块需要发送的数据封装成满足MUX协议的协议帧数据,其中该协议帧数据中包括对应的每个功能模块的标识信息,以标识该数据帧的数据是哪个功能模块发送的数据,并将封装后的协议帧数据发送到数据管理模块。
S1106:PC终端的数据管理模块将接收的封装后的协议帧数据发送到USB数据卡。
PC终端的数据管理模块将接收的封装后的协议帧数据通过SCSI指令发送到USB数据卡。
S1107:USB数据卡的Mass Storage采用准备的内存区接收发送端PC终端发送的数据。
S1108:USB数据卡的Mass Storage向PC终端发送CSW数据包,通知发送端PC终端数据接收过程结束。
Mass Storage向PC终端发送SCSI指令的CSW数据包。
其中,USB数据卡发送CSW数据包的时间不受本发明实施例限制,只要根据协议规定的时间完成CSW数据包的发送即可。
S1109:USB数据卡的MUX协议模块采用与发送端PC终端相同的协议,将封装后的协议帧数据解封,并根据每个协议帧数据的标识信息,确定每个协议帧数据发送到的功能模块的信息,将该每个协议帧数据发送到对应的功能模块进行处理。
本发明实施例提供了一种数据传输的方法、系统及装置,数据发送方法包括:发送端将其自身的各功能模块的待发送的数据按照预设的协议封装为对应的协议帧数据,将每个协议帧数据发送到接收端。由于在本发明实施例将每个协议帧数据发送到接收端,由于每个终端都会有虚拟光驱,因此可以识别出发送端,并且由于发送的数据帧采用预定的协议封装,在接收端采用预定的协议解封即可,因此本发明实施例避免了在进行数据传输时安装驱动的不便之处,从而提高了数据的传输效率,并且提供了发送端和接收端的性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。