CN104461978B - 单向数据传输的方法及装置 - Google Patents
单向数据传输的方法及装置 Download PDFInfo
- Publication number
- CN104461978B CN104461978B CN201410574654.5A CN201410574654A CN104461978B CN 104461978 B CN104461978 B CN 104461978B CN 201410574654 A CN201410574654 A CN 201410574654A CN 104461978 B CN104461978 B CN 104461978B
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- usb
- unit
- output end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种单向数据传输的方法和装置,包括预置用于发送数据的应用的数据输出端设备和用于接收数据的应用的数据接收端设备,两设备通过预置USB线连接,预置USB线包括通信连接的第一、第二模拟USB设备单元且分别连接于数据输出端设备和数据接收端设备,该方法包括:当检测到第一数据后,获取第一模拟USB设备单元的端点信息;将第一数据拆分为多个数据包并选取第一数据包发到第一模拟USB设备单元的输出端点,以便该输出端点接收第一数据包并缓存,再将第一数据包通过预置通道传送到第二模拟USB设备单元的输入端点并缓存后再传送到数据接收端设备,直至第一数据被传到数据接收端设备。该方法可降低设备成本,提高数据传输效率。
Description
技术领域
本发明涉及数据传输领域,特别涉及一种单向数据传输的方法及装置。
背景技术
根据数据传递的方向,数据传输可分为单向数据传输和双向数据传输。现有实现单向数据传输的方式主要包括以下两种,一种是光单向传输,另一种是光像单向传输。
其中,光单向传输是通过在数据输出网络中预设光发生器,在数据接收网络中预设光接收器,且光发生器与光接收器可通过光纤相连接,此种方式虽然数据传输速度比较快,但是安装过程复杂,操作不方便,设备成本也较高,而且安装完成后仅能在上述固定的两个网络间进行数据传输,不能实现即插即传,实现方式不够灵活;
光像单向传输是通过在数据输出网络预置的二维码图片生成装置将数据转换为二维码图片并传送到数据接收网络,通过数据接收网络中预置的解析装置将二维码图片解析并转换为原始数据,此种方式虽然安装及操作过程简单,成本也相对低,且可实现即插即传,但数据传输速度非常慢,只适合小数据量的传输。
在涉及数据传输的工作中,根据对数据机密性的要求,很多时候需要以单向数据传输的方式进行数据传输,比如要将数据从低密级网络传输到高密级网络,同时保证高密级网络中的数据不能流向低密级网络的情况。
针对此情况,现有的做法是将高密级网络与低密级网络通过一个单向数据传输网闸连接于一起,先将数据导入到低密级网络中,再将数据从低密级网络通过单向数据传输网闸传输到高密级网络,此种方式存在的问题是单向数据传输网闸的成本比较高,且安装、操作过程都比较复杂。
总之,如何更好的实现单向数据传输,成为迫切需要本领域技术人员解决的技术问题。
发明内容
本发明提供了一种单向数据传输的方法及装置,无需使用单向数据传输网闸,可降低设备成本,而且可实现即插即传,提高数据传输效率。
根据本发明的一方面,本发明提出了一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态的情况下,在数据输出端设备侧,包括:
当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息;
根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
进一步的,所述预置USB线中还包括信号处理单元,在将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备之后,还包括:
接收由信号处理单元发送来的指示数据接收端设备成功接收第一数据包的应答信号,以便根据所述应答信号继续传输剩余的数据包。
进一步的,所述预置USB线中还包括信号处理单元,所述数据输出端设备还包括计时器,
在将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备之后,还包括:
启动计时器,如果在预设时间后没有接收到来自信号处理单元的指示数据接收端设备成功接收第一数据包的应答信号,则重新发送所述第一数据包。
本发明还提出了一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态的情况下,在预置USB线侧,包括:
通过第一模拟USB设备单元的输出端点接收所述数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中;
识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中;
将第二缓存中的第一数据包传送到所述数据接收端设备。
进一步的,所述预置USB线中还包括初始化单元,所述方法还包括:
通过所述初始化单元将预置通道的数据传输方向初始化为预设方向;
所述预设方向为从第一模拟USB设备单元到第二模拟USB设备单元。
进一步的,所述预置USB线中还包括信号处理单元,所述方法还包括:
通过所述信号处理单元接收所述数据接收端设备发送来的指示成功接收第一数据包的应答信号,并将所述应答信号发送给所述数据输出端设备。
本发明另外提出了一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态的情况下,在数据接收端设备侧,包括:
获取第二模拟USB设备单元的端点信息;
根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
进一步的,所述预置USB线中还包括信号处理单元,
在接收从第二模拟USB设备单元的输入端点对应的缓存中传送来的所述第一数据包,并存储于预置文件存储目录下之后,还包括:
向所述信号处理单元发送指示成功接收第一数据包的应答信号。
进一步的,所述方法还包括,所述第二应用先启动于所述第一应用。
根据本发明的另一方面,本发明提出了一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
所述数据输出端设备中,包括:
第一获取单元,用于当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息;
数据发送单元,用于根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
本发明还提出了一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在预置USB线中,包括:
第二接收单元,用于通过第一模拟USB设备单元的输出端点接收所述数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中;
第一传送单元,用于识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中;
第二传送单元,用于将第二缓存中的第一数据包传送到所述数据接收端设备。
本发明另外提出了一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其中,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
所述数据接收端设备中,包括:
第二获取单元,用于获取第二模拟USB设备单元的端点信息;
第三接收单元,用于根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明实施例的单向数据传输的方法和装置,通过在数据输出端设备中预置用于发送数据的第一应用,在数据接收端设备预置用于接收数据的第二应用,将数据输出端设备与数据接收端设备通过预置USB线连接,且在预置USB线中设有第一模拟USB设备单元和第二模拟USB设备单元,其中,第一模拟USB设备单元和第二模拟USB设备单元分别连接于数据输出端设备和数据接收端设备,该第一模拟USB设备单元与第二模拟USB设备单元通过预置通道通信连接,在第一应用和第二应用均处于启动状态的情况下,根据获取到的第一模拟USB设备单元的端点信息,将需要发送的数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,该输出端点接收到第一数据包后进行缓存,然后将该第一数据包通过预置通道传送到第二模拟USB设备单元的输入端点并缓存后,该输入端点在将第一数据包传送到数据接收端设备,直至第一数据包含的所有数据包都被传送到数据接收设备,通过利用USB设备的批量传输端点(即第一模拟USB设备单元的输出端点和第二模拟USB设备单元的输入端点)以批量传输方式,实现数据的单向传输(即从数据输出端设备到第一模拟USB设备单元到第二模拟USB设备单元到数据接收端设备),该方法无需使用现有价格较高的单向数据传输网闸,仅使用一条USB线即可实现对数据进行单向传输,可大大降低设备成本,而且还可实现即插即传,提高安装、操作的效率,进而提高数据传输效率,此外由于通过批量传输方式进行传输,还可保证较高的数据传输速度。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明单向数据传输的方法第一实施例的流程示意图;
图2是本发明单向数据传输的方法第二实施例的流程示意图;
图3是本发明单向数据传输的方法第三实施例的流程示意图;
图4是本发明单向数据传输的装置第一实施例的结构示意图;
图5是本发明单向数据传输的装置第二实施例的结构示意图;
图6是本发明单向数据传输的装置第三实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
首先对USB的相关概念进行简单介绍以更好地理解本申请。
USB 全名叫通用串行总线(USB,Universal Serial Bus),是一种主从结构的系统。只能发生在USB主机与USB设备之间,USB主机与USB主机、USB设备与USB设备之间不能直接互连和交换数据。USB主机叫做Host,USB从机叫做Device(也叫做USB设备)。虽然USB定义了数据在总线上传输的基本单位是数据包,但是不能随意地使用数据包来传输数据,必须按照一定的关系把这些不同的数据包组织成事务(Transaction)才能传输数据。USB事务传输类型包括:控制传输(Control Transfers)、批量传输(BulkDataTransfers)、中断传输(Interrupt Data Transfers)和同步传输(Isochronous DataTransfers)四种不同类型,其中:
控制传输:为通过控制端点(比如端点0)进行数据传输,属于双向传输,用来控制对USB 设备不同部分的访问,通常用于配置设备、获取设备信息、发送命令到设备、获取设备的状态报告等,每个USB 设备都会有一个的控制端点,被USB内核用来在设备插入时进行设备的配置,USB协议保证有足够的带宽留给控制端点传送数据到USB设备。
批量传输:通过批量端点(比如端点1和端点2,对应于输出(out)端点和输入(in)端点)进行数据传输,主要用来传输和接收没有带宽和间隔时间要求的大量数据,可确保没有数据丢失,但并不保证传输会在特定的时间内完成,如果USB总线上没有足够的空间来发送整个批量数据包,则会被分为多个数据包进行传输,比如U 盘、打印机等使用的就是批量传输方式。
中断传输:通过中断端点(比如端点3)进行数据传输,属于单向传输且对于USB主机来说只有输入的方式,用来当USB主机向USB设备请求数据时,以一个固定的速率传送少量的数据,比如USB 键盘、USB 鼠标等使用的就是这种数据传输方式,它还用以传送数据到USB设备来控制USB设备,通过并不用来传送大量数据,USB协议保证有足够的带宽留给中断端点传送数据到SUB设备。
等时传输:通过等时端点进行数据传呼,用来传输大量的数据,但并不保证数据能够到达,等时端点用在可以处理数据丢失的设备中,可以稳定的速率发送和接收数据,比如音频设备、视频设备等则以此种传输方式。
上述端点(Endpoint)是USB 设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传输。一个具体的端点,只能工作在一种传输模式下。通常,我们把工作在什么模式下的端点就叫做什么端点。例如,控制端点、批量端点、中断端点、等时端点等等。
在本发明实施例中,涉及到的执行主体包括数据输出端设备、数据接收端设备和预置USB线。
在本实施例中,在数据输出端设备中预置有用于发送数据的第一应用,在数据接收端设备预置有用于接收数据的第二应用,并将数据输出端设备与数据接收端设备通过预置USB线相连接。
该预置USB线中包括预先设置的第一模拟USB设备单元和第二模拟USB设备单元,该第一模拟USB设备单元通过预置USB线的第一接头连接于数据输出端设备,第二模拟USB设备单元通过预置USB线的第二接头连接于数据接收端设备,且第一模拟USB设备单元与第二模拟USB设备单元通过预置通道通信连接,比如可通过直接内存存取(DMA, DirectMemory Access)通道相连接,以更好的实现数据的先进先出,进而提高数据传输效率。
在进行数据传输之前,可使第一应用和第二应用都处于启动状态,比如在数据输出端设备侧的第一应用启动后,可显示第一应用的预置发送页面,在数据接收端设备侧的第二应用启动后,可显示第二应用的预置接收页面,当然也可根据实际需要显示其他预置页面或也可不显示任何页面。
在具体实现过程中,数据输出端设备、数据接收端设备和预置USB线各自独立,同时有相互联系,共同实现本发明实施例提供的技术方案。为了便于描述,下面分别从数据输出端设备侧、数据接收端设备侧和预置USB线侧的角度出发,对本发明实施例进行介绍。
参看图1,为本发明单向数据传输的方法第一实施例的流程示意图。
在数据输出端设备侧,该方法包括如下步骤:
S101,当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息。
比如,该第一应用可包括预置发送页面,该预设数据预存位置即可为该预置发送页面,当用户将想要传送的第一数据(比如某一文件)通过选取或拖入到该预置发送页面,则可检测到该预置发送页面中包含该第一数据,此时则为检测到第一数据。
再比如,可预先设置该数据输出端设备的预设文件目录即为预设数据预存位置,当用户将想要传送的第一数据存储于该预设文件目录下,即可通过第一应用检测到该预设文件目录下包括第一数据,也即检测到第一数据。
该第一模拟USB设备单元可看做一个普通的具有多个端点的USB设备,获取第一模拟USB设备单元的端点信息,也就是获取该第一模拟USB设备单元的控制端点、批量端点、中断端点、等时端点等端点的信息,以便后续根据获取到的第一模拟USB设备单元的端点信息,将第一数据发送到选择的端点,以实现与选择的端点相应的传输模式进行数据传输。S102,根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
由于USB设备的输出端点及输入端点对应的缓存最大为512KB,因此可将第一数据拆分为多个512KB的数据包,并可任意选取或根据预置顺序选取一个数据包作为第一数据包。
由于USB的批量传输模式为通过USB设备的输入端点和输出端点进行的传输,由该方法实施例中所选择传输到的端点可知,该步骤的数据传输过程是利用了第一模拟USB设备单元的批量端点(即输出端点),以批量传输模式对第一数据包进行传输,由于每个数据包的长度为512字节,因此可实现较高的数据传输速度,此外,由于USB设备的输入端点只能从USB主机向USB设备传送数据,因此该传输过程是单向的,即从数据输出端设备到第一模拟USB设备单元。
此外,可在预置USB线中设置有信号处理单元,以在将第一数据包发送到数据接收端设备之后,该数据输出端设备可接收由该信号处理单元发送来的指示数据接收端设备成功接收第一数据包的应答信号,通过该应答信号的接收,可及时了解数据传输情况,且可根据该应答信号选取第一数据中剩余的数据包继续传输,直至第一数据的所有数据全部传输完毕。
进一步的,在该数据输出端设备还可设置计时器,当将第一数据包发送到数据接收端设备之后,还可启动该计时器,如果在预设时间后没有接收到来自信号处理单元的指示数据接收端设备成功接收第一数据的应答信号,也就是说该数据接收端设备没能成功接收到该第一数据包,该数据输出端设备则可对所述第一数据包进行重新发送,直至该第一数据包被数据接收端设备成功地接收,通过是否接收到应答信号的确认机制,以进一步保证数据的正确接收。
其中,该预设时间可根据需要进行设置,比如可设置为30秒等。
另一方面,本发明实施例还从数据预置USB线的角度提供了一种单向数据传输的方法。
参看图2所示,为本发明单向数据传输的方法第二实施例的流程示意图。
在该实施例中,在预置USB线侧,该方法包括如下步骤:
S201,通过第一模拟USB设备单元的输出端点接收数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中。
第一模拟USB设备单元包括多个端点,且每个端点都对应有相应的缓存,在该步骤中,仅使用该第一模拟USB设备单元的输出端点来接收第一数据包,并且将接收到的第一数据包缓存于与该输出端点对应的第一缓存中。
S201,识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中。
在该步骤中,先识别出第二模拟USB设备单元的输入端点,然后根据识别出的第二模拟USB设备单元的输入端点,将第一缓存中的第一数据包通过预置通道传送到第二模拟USB设备单元的输入端点,并将该第一数据包缓存入于该第二模拟USB设备单元的输入端端点对应的第二缓存中。
该预置通道可为DMA通道,具体可通过在预置USB线中预置DMA控制单元,以实现第一模拟USB设备单元与第二模拟USB设备单元之间的通信连接、数据传输等。
S203,将第二缓存中的第一数据包传送到数据接收端设备,由于上述输入端点只能从USB设备向USB主机传送数据,因此可实现将第一数据包从该输入端点对应的第二缓存中单向传送到数据接收端设备。
进一步的,该预置USB线中还可设置初始化单元,以通过该初始化单元将预置通道的数据传输方向初始化为预设方向,其中,该预设方向可为从第一模拟USB设备单元到第二模拟USB设备单元,以进一步保证数据单向传输的实现。
进一步的,该预置USB线中还包括信号处理单元,可用来接收在数据接收端设备成功接收到第一数据包后发送来的指示成功接收第一数据包的应答信号,并可将该指示成功接收第一数据包的应答信号发送给数据输出端设备,以使得数据输出端设备侧及时得知数据传输的结果,以进行进一步的操作。
另一方面,本发明实施例还从数据接收端设备的角度提供了一种单向数据传输的方法。
参看图3所示,为本发明单向数据传输的方法第三实施例的流程示意图。
在本实施例中,在数据接收端设备侧,该方法包括如下步骤:
S301,获取第二模拟USB设备单元的端点信息。
该第二模拟USB设备单元可看做一个普通的具有多个端点的USB设备,获取第二模拟USB设备单元的端点信息,也就是获取该第二模拟USB设备单元的控制端点、批量端点、中断端点、等时端点等端点的信息,以便后续根据获取到的第二模拟USB设备单元的端点信息,根据选择的端点来接收数据。
S302,根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
根据对第二模拟USB设备单元的端点信息的获取结果,检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,如果检测结果为包含第一数据包,则可接收从第二模拟USB设备单元的输入端点所对应的第二缓存中传送过来的第一数据包,并且将第一数据包存储于预置文件存储目录下,由于USB的输入端点仅能实现从USB设备到USB主机的数据传输,因此可保证该数据传输过程的单向性。
进一步的,该预置USB线中还可预置信号处理单元,基于此,在接收从第二模拟USB设备单元的输入端点对应的缓存中传送来的所述第一数据包,并存储于预置文件存储目录下之后,还可向信号处理单元发送指示成功接收第一数据包的应答信号,以便信号处理单元在接收到该应答信号后,将该应答信号发送给数据输出端设备,以便数据输出端设备侧可及时了解数据发送情况并进行进一步的操作。
进一步的,在要进行数据传输之前,可将第一应用与第二应用同时启动,优选是将第二应用先启动于第一应用,以使用于第二应用先处于运行状态,以避免在有数据从数据输出端设备传输过来的情况下,数据接收端设备还没有处于接收状态的情况发生,以更好的保证数据的接收。
本发明实施例的单向数据传输的方法,通过在数据输出端设备中预置用于发送数据的第一应用,在数据接收端设备预置用于接收数据的第二应用,将数据输出端设备与数据接收端设备通过预置USB线连接,且在预置USB线中设有第一模拟USB设备单元和第二模拟USB设备单元,其中,第一模拟USB设备单元和第二模拟USB设备单元分别连接于数据输出端设备和数据接收端设备,该第一模拟USB设备单元与第二模拟USB设备单元通过预置通道通信连接,在第一应用和第二应用均处于启动状态的情况下,根据获取到的第一模拟USB设备单元的端点信息,将需要发送的数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点并缓存,然后将该第一数据包通过预置通道传送到第二模拟USB设备单元的输入端点并缓存后,再传送到数据接收端设备,直至第一数据包含的所有数据包都被传送到数据接收设备,通过利用USB设备的批量传输端点(即第一模拟USB设备单元的输出端点和第二模拟USB设备单元的输入端点)以批量传输方式,实现数据的单向传输(即从数据输出端设备到第一模拟USB设备单元到第二模拟USB设备单元到数据接收端设备),该方法无需使用现有价格较高的单向数据传输网闸,仅使用一条USB线即可实现对数据进行单向传输,可大大降低设备成本,而且还可实现即插即传,提高安装、操作的效率,进而提高数据传输效率,此外由于通过批量传输方式进行传输,还可保证较高的数据传输速度。
对应上述本发明单向数据传输的方法实施例,还提供了单向数据传输的装置实施例,下面结合附图进行具体说明。
图4示出了本发明单向数据传输的装置第一实施例的结构示意图。
在数据输出端设备中,包括:
第一获取单元41,用于当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息。
数据发送单元42,用于根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
进一步的,在预置USB线中还包括信号处理单元,基于此,该数据输出端设备中,还可包括:
第一接收单元,用于接收由信号处理单元发送来的数据接收端设备成功接收第一数据包的应答信号,以便根据所述应答信号选取剩余的数据包进行传输。
进一步的,该数据输出端设备中还可包括计时器,基于此,所述数据发送单元,还可用于:
启动计时器,如果在预设时间后没有接收到来自信号处理单元的指示数据接收端设备成功接收第一数据包的应答信号,则重新发送所述第一数据包。
图5示出了本发明单向数据传输的装置第二实施例的结构示意图。
在预置USB线中,包括:
第二接收单元51,用于通过第一模拟USB设备单元的输出端点接收所述数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中。
第一传送单元52,用于识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中。
第二传送单元53,用于将第二缓存中的第一数据包传送到所述数据接收端设备。
进一步的,该预置USB线中还可包括初始化单元,用于通过所述初始化单元将预置通道的数据传输方向初始化为预设方向,其中,所述预设方向为从第一模拟USB设备单元到第二模拟USB设备单元。
进一步的,该预置USB线中还包括信号处理单元,用于通过所述信号处理单元接收所述数据接收端设备发送来的指示成功接收第一数包的应答信号,并将该应答信号发送给所述数据输出端设备。
参看图6所示,为本发明单向数据传输的装置第三实施例的流程示意图。
在数据接收端设备中,包括:
第二获取单元61,用于获取第二模拟USB设备单元的端点信息。
第三接收单元62,用于根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
进一步的,该预置USB线中还可包括信号处理单元,基于此,该数据接收端设备中,还可包括:
消息发送单元,用于向所述信号处理单元发送指示成功接收第一数据包的应答信号。
进一步的,所述第二应用先启动于所述第一应用。
本发明实施例的单向数据传输的装置,通过在数据输出端设备中预置用于发送数据的第一应用,在数据接收端设备预置用于接收数据的第二应用,将数据输出端设备与数据接收端设备通过预置USB线连接,且在预置USB线中设有第一模拟USB设备单元和第二模拟USB设备单元,其中,第一模拟USB设备单元和第二模拟USB设备单元分别连接于数据输出端设备和数据接收端设备,该第一模拟USB设备单元与第二模拟USB设备单元通过预置通道通信连接,在第一应用和第二应用均处于启动状态的情况下,根据获取到的第一模拟USB设备单元的端点信息,将需要发送的数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,该输出端点接收到第一数据包后进行缓存,然后将该第一数据包通过预置通道传送到第二模拟USB设备单元的输入端点并缓存后,该输入端点再第一数据包传送到数据接收端设备,直至第一数据包含的所有数据包都被传送到数据接收设备,通过利用USB设备的批量传输端点(即第一模拟USB设备单元的输出端点和第二模拟USB设备单元的输入端点)以批量传输方式,实现数据的单向传输(即从数据输出端设备到第一模拟USB设备单元到第二模拟USB设备单元到数据接收端设备),该方法无需使用现有价格较高的单向数据传输网闸,仅使用一条USB线即可实现对数据进行单向传输,可大大降低设备成本,而且还可实现即插即传,提高安装、操作的效率,进而提高数据传输效率,此外由于通过批量传输方式进行传输,还可保证较高的数据传输速度。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的在单向数据传输的方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态且第二应用先于第一应用启动的情况下,在数据输出端设备侧,包括:
当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息;
根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
2.如权利要求1所述的方法,其特征在于,所述预置USB线中还包括信号处理单元,
在将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备之后,还包括:
接收由信号处理单元发送来的指示数据接收端设备成功接收第一数据包的应答信号,以便根据所述应答信号继续传输剩余的数据包。
3.如权利要求1所述的方法,其特征在于,所述预置USB线中还包括信号处理单元,所述数据输出端设备还包括计时器,
在将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备之后,还包括:
启动计时器,如果在预设时间后没有接收到来自信号处理单元的指示数据接收端设备成功接收第一数据包的应答信号,则重新发送所述第一数据包。
4.一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态且第二应用先于第一应用启动的情况下,在预置USB线侧,包括:
通过第一模拟USB设备单元的输出端点接收所述数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中;
识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中;
将第二缓存中的第一数据包传送到所述数据接收端设备。
5.如权利要求4所述的单向数据传输的方法,其特征在于,所述预置USB线中还包括初始化单元,所述方法还包括:
通过所述初始化单元将预置通道的数据传输方向初始化为预设方向;
所述预设方向为从第一模拟USB设备单元到第二模拟USB设备单元。
6.如权利要求4所述的单向数据传输的方法,其特征在于,所述预置USB线中还包括信号处理单元,所述方法还包括:
通过所述信号处理单元接收所述数据接收端设备发送来的指示成功接收第一数据包的应答信号,并将所述应答信号发送给所述数据输出端设备。
7.一种单向数据传输的方法,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在第一应用和第二应用均处于启动状态且第二应用先于第一应用启动的情况下,在数据接收端设备侧,包括:
获取第二模拟USB设备单元的端点信息;
根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
8.如权利要求7所述的单向数据传输的方法,其特征在于,所述预置USB线中还包括信号处理单元,
在接收从第二模拟USB设备单元的输入端点对应的缓存中传送来的所述第一数据包,并存储于预置文件存储目录下之后,还包括:
向所述信号处理单元发送指示成功接收第一数据包的应答信号。
9.如权利要求7所述的单向数据传输的方法,其特征在于,还包括,所述第二应用先启动于所述第一应用。
10.一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
所述数据输出端设备中,包括:
第一获取单元,用于当在预设数据预存位置检测到第一数据后,获取第一模拟USB设备单元的端点信息;
数据发送单元,用于根据获取结果将所述第一数据拆分为多个预置大小的数据包,在多个数据包中选取第一数据包发送到第一模拟USB设备单元的输出端点,以便所述第一模拟USB设备单元的输出端点接收第一数据包并进行缓存,再将所述第一数据包通过所述预置通道传送到第二模拟USB设备单元的输入端点并进行缓存后再传送到所述数据接收端设备,直至第一数据的所有数据包都被传送到所述数据接收端设备。
11.一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
在预置USB线中,包括:
第二接收单元,用于通过第一模拟USB设备单元的输出端点接收所述数据输出端设备发送来的第一数据包并存入与第一模拟USB设备单元的输出端点对应的第一缓存中;
第一传送单元,用于识别第二模拟USB设备单元的输入端点,根据识别结果将第一缓存中的第一数据包通过预置通道传送到所述第二模拟USB设备单元的输入端点并存入与其对应的第二缓存中;
第二传送单元,用于将第二缓存中的第一数据包传送到所述数据接收端设备。
12.一种单向数据传输的装置,包括数据输出端设备和数据接收端设备,其特征在于,所述数据输出端设备中预置有用于发送数据的第一应用,所述数据接收端设备预置有用于接收数据的第二应用,所述数据输出端设备与所述数据接收端设备通过预置USB线相连接,
所述预置USB线中包括第一模拟USB设备单元和第二模拟USB设备单元,所述第一模拟USB设备单元通过预置USB线的第一接头连接于所述数据输出端设备,所述第二模拟USB设备单元通过预置USB线的第二接头连接于所述数据接收端设备,所述第一模拟USB设备单元与所述第二模拟USB设备单元通过预置通道通信连接,
所述数据接收端设备中,包括:
第二获取单元,用于获取第二模拟USB设备单元的端点信息;
第三接收单元,用于根据获取结果检测第二模拟USB设备单元的输入端点对应的第二缓存中是否包含所述第一数据包,若是,则接收从第二缓存中传送来的所述第一数据包,并存储于预置文件存储目录下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410574654.5A CN104461978B (zh) | 2014-10-24 | 2014-10-24 | 单向数据传输的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410574654.5A CN104461978B (zh) | 2014-10-24 | 2014-10-24 | 单向数据传输的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461978A CN104461978A (zh) | 2015-03-25 |
CN104461978B true CN104461978B (zh) | 2021-02-19 |
Family
ID=52908058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410574654.5A Active CN104461978B (zh) | 2014-10-24 | 2014-10-24 | 单向数据传输的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461978B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935988B (zh) * | 2015-06-10 | 2018-05-08 | 青岛海信电器股份有限公司 | 一种显示电视信号的方法及电视接收设备 |
CN106301709B (zh) * | 2016-08-02 | 2019-11-05 | 芯启源电子科技有限公司 | Usb电子装置及数据包重传控制方法和系统 |
CN110113504A (zh) * | 2018-02-01 | 2019-08-09 | 上海钢盾信息科技有限公司 | 一种图像传输的方法及图像传输的装置 |
CN112307527A (zh) * | 2019-08-01 | 2021-02-02 | 周兴昌 | 一种传输数据的方法及结构 |
CN111813727B (zh) * | 2020-08-21 | 2020-12-08 | 南京沁恒微电子股份有限公司 | 一种实时高效的usb数据传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355409A (zh) * | 2011-08-16 | 2012-02-15 | 中国科学院计算技术研究所 | 数据的单向传输系统 |
CN102541793A (zh) * | 2011-12-26 | 2012-07-04 | 浙江大学 | 一种基于usb的高速双机数据交换方法及数据交换装置 |
CN202535385U (zh) * | 2012-04-27 | 2012-11-14 | 衡水鑫考信息科技有限责任公司 | 一种网络安全隔离设备 |
CN103634293A (zh) * | 2013-10-29 | 2014-03-12 | 暨南大学 | 一种基于双硬件的数据安全传输方法及系统 |
-
2014
- 2014-10-24 CN CN201410574654.5A patent/CN104461978B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355409A (zh) * | 2011-08-16 | 2012-02-15 | 中国科学院计算技术研究所 | 数据的单向传输系统 |
CN102541793A (zh) * | 2011-12-26 | 2012-07-04 | 浙江大学 | 一种基于usb的高速双机数据交换方法及数据交换装置 |
CN202535385U (zh) * | 2012-04-27 | 2012-11-14 | 衡水鑫考信息科技有限责任公司 | 一种网络安全隔离设备 |
CN103634293A (zh) * | 2013-10-29 | 2014-03-12 | 暨南大学 | 一种基于双硬件的数据安全传输方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于PL-2301实现网络隔离下的双机通信;王峰;《信息安全与通信保密》;20110630(第06期);105-107 * |
Also Published As
Publication number | Publication date |
---|---|
CN104461978A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461978B (zh) | 单向数据传输的方法及装置 | |
EP1155370B1 (en) | Method and apparatus for extending the range of the universal serial bus protocol | |
US9875206B2 (en) | Methods and devices for extending USB 3.0-compliant communication | |
US11403246B2 (en) | Methods and devices for extending USB 3.0-compliant communication over an extension medium | |
US10261930B2 (en) | System, device and method for transmitting signals between different communication interfaces | |
EP1750401A1 (en) | USB 1.1 over a high speed link | |
CA2880979C (en) | Usb 3.0 link layer timer adjustment to extend distance | |
JP2008533572A (ja) | 長い伝送遅延の存在下でusb大容量記憶装置の性能を改善する方法及び装置 | |
EP3343337A1 (en) | Method and device for controlling screen between terminals, and storage medium | |
CN106933771B (zh) | 延伸等时传输通用串行总线的传输范围的方法 | |
JP2007088775A (ja) | 無線通信システム、無線通信装置及び方法 | |
US9832279B2 (en) | Station, target apparatus, initiator apparatus, communication system, and communication method | |
KR20120072134A (ko) | 가상 데스크톱 가속 장치 및 방법 | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
CN102346717B (zh) | 一种ipmi消息传输装置、系统及计算机设备 | |
WO2018196223A1 (zh) | 一种数据处理方法及相关设备 | |
JP2008217272A (ja) | 遠隔操作システム、遠隔操作方法およびプログラム | |
CN116383116A (zh) | 一种基于spi总线的通信方法及装置 | |
CN107102874B (zh) | 一种应用程序并发安装方法及系统 | |
CN110572440A (zh) | 用于数据传输的方法及装置、家电设备、存储介质 | |
JP5998343B2 (ja) | デバイスサーバシステム、デバイスサーバおよびプログラム | |
US11520728B2 (en) | Techniques for configuring endpoints within a USB extension environment | |
US20210157757A1 (en) | Data conversion device and data conversion system | |
KR20170025967A (ko) | 네트워크 패킷을 송수신 받을 수 있는 장치 및 그 방법 | |
TW200534108A (en) | Control method and device of a remote USB host |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |