本发明专利技术提供了一种数据传输方法、装置及系统,其中,该方法包括:在接收到命令信息时查询前一命令信息是否已执行完毕;在前一命令信息未执行完毕的情况下,生成用于指示处于忙状态的指示信息;发送指示信息。通过本发明专利技术解决了现有技术中终端设备需要同时处理多个命令时,会导致命令冲突、状态混乱以及数据错乱的问题,从而实现了命令与响应的一一对应,保证了设备执行命令的正确性。
【技术实现步骤摘要】
本专利技术涉及通信
,具体涉及一种数据传输方法、装置及系统。
技术介绍
目前在操作MassStorage协议的USBKey时候,打开A软件操作某硬件欲取响应A’,B软件操作该硬件欲取相应B’,则命令期望出现的顺序是(括号内代表数据流向):A(PC→Device)A’(PC←Device)B(PC→Device)B’(PC←Device)而实际传输的数据并没有数据排列组织的机制,发送的命令和接收的命令可能会没有次序,则造成如下情况:A(PC→Device)B(PC→Device)即在命令A没有取到A’响应时,命令已经发送下来。由于USBKey设备属于嵌入式设备,RAM等资源很有限,很难做到开辟两块缓冲区用来接受两条命令,通常都是第一条命令放在缓冲区,而第二条命令再去进行接受处理的话,会覆盖RAM中第一条命令的存放,导致还没有进行处理的命令丢失。这样,USBKey就会运算出错,轻则导致数据混乱,重则使USBKey死机或扰乱其内部密钥、文件等,造成USBKey结构丢失导致作废。目前,针对USBKey的通信,只能默认一个控制软件打开一个设备,而多个软件操作一个硬件设备时,就会出现命令冲突、状态混乱以及数据错乱的情况。
技术实现思路
因此,本专利技术实施例要解决的技术问题在于克服现有技术中终端设备需要同时处理多个命令时,会导致命令冲突、状态混乱以及数据错乱的缺陷。为此,本专利技术实施例提供了如下技术方案:本专利技术实施例提供了一种数据传输方法,包括:在接收到命令信息时查询前一命令信息是否已执行完毕;在所述前一命令信息未执行完毕的情况下,生成用于指示处于忙状态的指示信息;发送所述指示信息。可选地,所述指示信息包括STALL握手包。可选地,在发送所述指示信息之后,还包括:在所述前一命令信息执行完毕之后,发送与所述前一命令信息对应的响应信息。本专利技术实施例还提供了一种数据传输方法,包括:向终端设备发送命令信息;判断是否接收到所述终端设备反馈的指示信息;其中,所述指示信息用于指示所述终端设备处于忙状态;在接收到所述终端设备反馈的所述指示信息时,等待预定时间之后再向所述终端设备发送所述命令信息。可选地,所述指示信息包括STALL握手包。可选地,在接收到所述终端设备反馈的指示信息之后包括:在所述终端设备执行完当前命令信息之后,从所述终端设备接收与所述当前命令信息对应的响应信息;其中,所述当前命令信息包括所述终端设备处于忙状态时正在执行的命令信息。可选地,等待预定时间之后再向所述终端设备发送所述命令信息之后包括:在向所述终端设备发送所述命令信息的次数超过预定阈值之后,暂停向所述终端设备发送所述命令信息。可选地,所述终端设备包括USBKey。本专利技术实施例提供了一种数据传输装置,包括:查询模块,用于在接收到命令信息时查询前一命令信息是否已执行完毕;生成模块,用于在所述前一命令信息未执行完毕的情况下,生成用于指示处于忙状态的指示信息;发送模块,用于发送所述指示信息。本专利技术实施例还提供了一种数据传输装置,包括:第一发送模块,用于向终端设备发送命令信息;判断模块,用于判断是否接收到所述终端设备反馈的指示信息;其中,所述指示信息用于指示所述终端设备处于忙状态;第二发送模块,用于在接收到所述终端设备反馈的所述指示信息时,等待预定时间之后再向所述终端设备发送所述命令信息。本专利技术实施例提供了一种数据传输系统,包括:第一设备和第二设备;其中,所述第一设备向所述第二设备发送命令信息;在所述第二设备未执行完当前命令信息时,向所述第一设备发送指示信息;其中,所述指示信息用于指示所述第二设备处于忙状态;所述当前命令信息包括所述第二设备处于忙状态时正在执行的命令信息;所述第一设备在接收到所述第二设备反馈的指示信息时,等待预定时间之后再向所述第二设备发送所述命令信息。可选地,所述第一设备包括个人计算机;所述第二设备包括USBKey。本专利技术实施例技术方案,具有如下优点:第一设备向第二设备发送命令信息,在第二设备未执行完当前命令信息时,也就是第二设备正处于忙状态时,向第一设备发送用于指示第二设备处于忙状态的指示信息,第一设备在接收到第二设备反馈的指示信息时,等待预定时间之后再向第二设备发送该命令信息。即,第二设备不能同时执行多个命令信息,在第二设备处于忙状态的情况下,拒绝执行其他新的命令信息,只有在第二设备将处于忙状态时正在执行的当前命令信息执行完毕之后,才会接收并执行新的命令信息,也就是说设备一次只能处理一条命令信息,相比于现有技术中多个控制软件同时操作一个设备,或者用户操作软件时后台还需有另外其他的进程监控设备的情况,可能会造成设备数据处理错乱或者通信崩溃,本专利技术实施例解决了现有技术中设备需要同时处理多个命令信息时,会导致命令冲突、状态混乱以及数据错乱的问题,从而实现了命令与响应的一一对应,保证了设备执行命令的正确性。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的数据传输方法的一个流程图;图2是根据本专利技术实施例的数据传输方法的另一个流程图;图3是根据本专利技术实施例的数据传输装置的一个结构框图;图4是根据本专利技术实施例的数据传输装置的另一个结构框图;图5是根据本专利技术实施例的数据传输系统的示意图;图6是根据本专利技术实施例的取随机指令数示意图;图7是根据本专利技术实施例的两条Out命令冲突示意图;图8是根据本专利技术实施例的命令冲突后组织重发并成功执行命令的示意图。具体实施方式下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。实施例1在本实施例中提供了一种数据传输方法,图1是根据本专利技术实施例的数据传输方法的一个流程图,如图1所示,该流程包括如下步骤:步骤S11,在接收到命令信息时查询前一命令信息是否已执行完毕本文档来自技高网...
【技术保护点】
一种数据传输方法,其特征在于,包括:在接收到命令信息时查询前一命令信息是否已执行完毕;在所述前一命令信息未执行完毕的情况下,生成用于指示处于忙状态的指示信息;发送所述指示信息。
【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:在接收到命令信息时查询前一命令信息是否已执行完毕;在所述前一命令信息未执行完毕的情况下,生成用于指示处于忙状态的指示信息;发送所述指示信息。2.根据权利要求1所述的方法,其特征在于,所述指示信息包括STALL握手包。3.根据权利要求1所述的方法,其特征在于,在发送所述指示信息之后,还包括:在所述前一命令信息执行完毕之后,发送与所述前一命令信息对应的响应信息。4.一种数据传输方法,其特征在于,包括:向终端设备发送命令信息;判断是否接收到所述终端设备反馈的指示信息;其中,所述指示信息用于指示所述终端设备处于忙状态;在接收到所述终端设备反馈的所述指示信息时,等待预定时间之后再向所述终端设备发送所述命令信息。5.根据权利要求4所述的方法,其特征在于,所述指示信息包括STALL握手包。6.根据权利要求4所述的方法,其特征在于,在接收到所述终端设备反馈的指示信息之后包括:在所述终端设备执行完当前命令信息之后,从所述终端设备接收与所述当前命令信息对应的响应信息;其中,所述当前命令信息包括所述终端设备处于忙状态时正在执行的命令信息。7.根据权利要求4所述的方法,其特征在于,等待预定时间之后再向所述终端设备发送所述命令信息之后包括:在向所述终端设备发送所述命令信息的次数超过预定阈值之后,暂...
【专利技术属性】
技术研发人员:付海涛,胡伯良,管延军,
申请(专利权)人:北京海泰方圆科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。