发明内容
本发明提供了一种处理来自计算机的操作指令的方法和一种接口设备,用以解决现有技术中,由于USB设备中只有单一的存储介质,所以在用于需要使用不同的存储介质时,需要进行手动转换的技术问题。
一方面,本申请实施例提供了一种处理来自计算机的操作指令的方法,包括:
通过所述接口协议栈模块,接收所述计算机的操作系统发出第一操作指令,所述第一操作指令用于对所述至少一个存储介质中的一个或多个存储介质或对所述存储功能模块进行操作;
对所述第一操作指令进行处理,获得第二操作指令;
基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或对与所述存储介质对应的存储介质状态位进行操作。
可选的,当所述第一操作指令为加载/卸载指令时,所述第二操作指令为所述加载/卸载指令。
可选的,所述基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或对与所述存储介质对应的存储介质状态位进行操作,具体为:
基于所述加载/卸载指令,将所述介质状态标志位的第一值修改为第二值。
可选的,所述将所述介质状态标志位的第一值修改为第二值之后,还包括:
接收所述操作系统下发的查询指令,所述查询指令用于查询所述介质状态标志位对应的存储介质是否就绪;
基于所述质状态标志位的第二值,向所述接口协议栈模块返回查询值,所述查询值用于表示所述存储功能模块对应的存储介质就绪或者未就绪;
基于所述查询值,向所述操作系统返回数值,其中,所述数值为第一数值或第二数值,所述第一数值表示所述存储介质就绪,所述第二数值表示所述存储介质未就绪。
可选的,如所述数值为第二数值,则向所述操作系统返回数值后,还包括:
接收操作系统下发的存储介质状态查询指令,向所述操作系统返回消息,所述消息表明存储介质没有接入。
可选的,当所述第一操作指令为用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,所述通过所述接口协议栈模块,对所述第一操作指令进行处理,获得第二操作指令,具体为:
判断所述用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的第一逻辑单元号与所述存储功能模块702中的第二逻辑单元号是否相同,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质;
当所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到计算机接口指令中的逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令。
可选的,所述基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或对与所述存储介质对应的存储介质状态位进行操作,其中,所述操作具体为:
基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,选择与所述逻辑单元号对应的存储介质,以供所述操作系统进行读或写操作。
可选的,当所述第一操作指令为用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,在所述接收所述计算机的操作系统发出的第一操作指令之前,还包括:
获取所述操作系统下发的标准接口查询指令,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问一种存储介质,则向所述操作系统返回所述接口设备中只存在一种存储介质的消息,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问多种存储介质,则向所述操作系统返回所述接口设备中存在多个存储介质的消息。
可选的,所述选择与所述逻辑单元号对应的存储介质之后,还包括:
拉低第一存储介质组合接口上的数据电压,移除所述第一存储介质组合使用的端口,所述第一存储介质组合是指正在工作的存储介质组合;
调整用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,得到对应于第二存储介质组合的逻辑单元号;
恢复所述接口数据线的电压,基于所述对应于第二存储介质组合的逻辑单元号,建立所述第二存储介质组合与所述操作系统的连接,进而将所述第一存储介质组合转换为所述第二存储介质组合。
本实施例中的技术方案至少实现了如下的技术效果:
本申请实施例的技术方案中,通过对接口协议栈模块上操作系统下发的加载/卸载指令的获取,并进行处理,解决了现有技术中,使用不同类型的存储介质时,需要对存储介质进行更换的技术问题,实现了在所述接口设备与操作系统连接时,就能够对存储介质进行加载/卸载的技术效果。
通过对接口协议栈模块上操作系统下发的用于对存储介质排列顺序动态调整的计算机接口指令的获取,判断所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号与存储功能模块中的第二逻辑单元号是否相同,如果相同,使所述第二操作指令为所述用于对存储介质排列顺序动态调整的计算机接口指令;如果不相同,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质,解决了现有技术中,存储介质的排列顺序固定,不能动态调整的问题,达到了可以对存储介质的排列顺序进行动态调整的效果。
同时,通过拉低电压,调整逻辑单元号,以及恢复电压,解决了现有技术中,不能实现存储介质组合转换的技术问题,达到了平滑转换存储介质组合的技术效果。
另一方面,本申请实施例提供了一种接口设备,包括:
至少两个独立的存储介质;
接口协议栈模块,用于获得计算机操作系统发出的第一操作指令,所述第一操作指令用于对所述至少两个存储介质中的一个或多个存储介质或对所述存储功能模块进行操作;还用于对所述第一操作指令进行处理,获得第二操作指令;
存储功能模块,与所述接口协议栈模块和所述至少两个存储介质连接,用于基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或对与所述存储介质对应的存储介质状态位进行操作。
可选的,当所述第一操作指令为加载/卸载指令时,所述第二操作指令为所述加载/卸载指令。
可选的,所述存储功能模块至少包括:状态位修改模块,用于基于所述加载/卸载指令,将所述介质状态标志位的第一值修改为第二值。
可选的,所述存储功能模块还包括:
介质状态查询模块,用于在所述将所述介质状态标志位的第一值修改为第二值之后,接收所述操作系统下发的查询指令,所述查询指令用于查询所述介质状态标志位对应的存储介质是否就绪;并基于所述质状态标志位的第二值,向所述接口协议栈模块返回查询值,所述查询值用于表示所述存储功能模块对应的存储介质就绪或者未就绪。
所述状态查询模块与所述接口协议栈模块相连接,接口协议栈模块基于所述查询值,向所述操作系统返回数值,其中,所述数值为第一数值或第二数值,所述第一数值表示所述存储介质就绪,所述第二数值表示所述存储介质未就绪。
可选的,所述存储功能模块还包括:
介质详细状态查询指令处理模块,用于当所述数值为第二数值时,在向所述操作系统返回数值后,接收操作系统下发的存储介质状态查询指令,向所述操作系统返回消息,所述消息表明存储介质没有接入。
可选的,所述接口协议栈模块具体包括:
指令获取模块,用于获取所述第一操作指令;
逻辑单元号区分模块,用于区分所述第一操作指令中的逻辑单元号;
判断模块,用于当所述第一操作指令为用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,判断所述用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的第一逻辑单元号与所述存储功能模块中的第二逻辑单元号是否相同,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质;
可选的,所述接口协议栈模块还包括:
逻辑单元号修改模块,用于当所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到计算机接口指令中的逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令。
可选的,所述存储功能模块还包括::
存储介质选择模块:用于基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,从所属至少两个存储介质中选择与所述逻辑单元号对应的存储介质,以供所述操作系统进行读或写操作。
可选的,所述接口协议栈还包括:
介质数量查询指令处理模块,用于当所述第一操作指令为用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,在所述接收所述计算机的操作系统发出的第一操作指令之前,获取所述操作系统下发的标准接口查询指令,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问一种存储介质,则向所述操作系统返回所述接口设备中只存在一种存储介质的消息,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问多种存储介质,则向所述操作系统返回所述接口设备中存在多个存储介质的消息。
可选的,所述接口协议栈模块还包括:
存储介质组合转换模块,用于在所述选择与所述逻辑单元号对应的存储介质之后,拉低第一存储介质组合接口上的数据电压,移除所述第一存储介质组合使用的端口,所述第一存储介质组合是指正在工作的存储介质组合;调整用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,得到对应于第二存储介质组合的逻辑单元号;恢复所述接口数据线的电压,基于所述对应于第二存储介质组合的逻辑单元号,建立所述第二存储介质组合与所述操作系统的连接,进而将所述第一存储介质组合转换为所述第二存储介质组合。
本发明的实施例中的技术方案至少实现了如下的技术效果:
本申请实施例的技术方案中,通过指令获取模块,对接口协议栈模块上操作系统下发的加载/卸载指令的获取,指令处理模块对所述指令进行处理,解决了现有技术中,使用不同类型的存储介质时,需要对存储介质进行更换的技术问题,实现了在所述接口设备与操作系统连接时,就能够对存储介质进行加载/卸载的技术效果。
通过指令获取模块,对接口协议栈模块上操作系统下发的用于对存储介质排列顺序动态调整的计算机接口指令的获取;通过逻辑单元号区分模块,区分所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号;通过判断模块判断所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号与存储功能模块中的第二逻辑单元号是否相同;通过逻辑单元号修改模块,在所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质。解决了现有技术中,存储介质的排列顺序固定,不能动态调整的问题,达到了可以对存储介质的排列顺序进行动态调整的效果。
通过指令获取模块对接口协议栈模块上操作系统下发的转换所述存储介质组合的指令,通过数据交互中断模块断开存储介质组合与操作系统的连接,通过指令修改模块修改用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,并通过电压恢复模块建立所述第二存储介质组合与所述操作系统的连接,解决了现有技术中,不能实现存储介质组合转换的技术问题,达到了平滑转换存储介质组合的技术效果。
同时,通过存储介质转换模块,拉低电压,调整逻辑单元号,以及恢复电压,解决了现有技术中,不能实现存储介质组合转换的技术问题,达到了平滑转换存储介质组合的技术效果。
具体实施方式
下面对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其他实施例,均属于本发明的保护范围。
本申请实施例技术方案中涉及到的接口设备,包括:与计算机连接的接口协议栈模块,与所述接口协议栈模块连接的存储功能模块,及与所述存储功能模块连接的二个或二个以上的存储介质。具体参见图1,操作系统通过计算机接口指令协议与所述接口协议栈模块或存储功能模块进行通信,以实现对所述二个或二个以上的存储介质进行操作,当然,本申请实施例的技术方案还可以应用于其他接口。
在本申请下述的实施例中,将以USB存储介质为具体例子说明,对于与USB存储介质中的存储功能模块连接的存储介质的数量,将以两个为具体例子进行说明,其中一个存储介质为磁盘设备;另一个存储介质为CDROM。当然此处以两个为例子,仅用于说明和解释本发明,并不用于限定本发明的保护范围。
参见图2,为本申请实施例中提供的一种处理来自计算机的操作指令的方法,应用于包括有与计算机连接的USB协议栈模块,及与所述USB协议栈模块连接的至少一个存储功能模块的USB设备中,包括步骤:
步骤201,通过所述USB协议栈模块,接收所述计算机的操作系统发出第一操作指令,所述第一操作指令用于对所述至少一个存储介质中的一个或多个存储介质进行操作。
步骤202,通过所述USB协议栈模块,对所述第一操作指令进行处理,获得第二操作指令。
步骤203,基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或与所述存储介质对应的存储介质状态位进行操作。
在具体实施过程中,所述第一操作指令可以是来自计算机操作系统中的各种操作指令,在本申请实施例中,下面将分别以所述第一操作指令为:
加载/卸载指令,用于对存储介质排列顺序动态调整的计算机接口指令;或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令为例子,详细进行说明。
实施例一:
参见图3,当所述第一操作指令为加载/卸载指令时,一种处理来自计算机的操作指令的方法,具体包括:
步骤3101,通过所述USB协议栈模块,获得所述加载/卸载指令。
步骤3102,对所述加载/卸载指令进行处理,获得第二操作指令,其中,所述第二操作指令即为所述加载/卸载指令。
步骤3103,基于所述加载/卸载指令,对所述与所述存储介质对应的存储介质状态位进行操作。
在具体实施过程中,步骤3103具体为:
基于所述加载/卸载指令,将所述介质状态标志位的第一值修改为第二值。其中,所述第一值、第二值用于标识所述存储介质是处于加载还是卸载状态,具体来讲,所述第一值可以是0,此时可用0来表示所述存储介质在卸载状态;显然在所述第一值为0时,所述第二值为1,此时1表示所述存储介质在加载状态,当然,本申请所属技术领域的技术人员还可以将所述第一值和第二值设置成其他两个不同的值,只要通过这两个值能区分所述存储介质是加载还是卸载状态就可以。
在本实施例中,就以0和1作为例子来对本实施例中的技术方案进行详细描述,当所述第二操作指令为加载指令时,如所述第一值为0,即所述存储介质处于卸载状态,则将0修改为1,如所述第一值为1,则不修改所述第一值,此时,所述第一值与所述第二值相同;当所述第二操作指令为卸载指令时,如所述第一值为1,则将1修改为0,如所述第一值为0,则不修改所述第一值,此时,所述第一值与所述第二值相同。
步骤3104,基于所述质状态标志位的第二值,向所述USB协议栈模块返回查询值,所述查询值用于表示所述存储功能模块对应的存储介质就绪或者未就绪。在具体实施过程中,当返回0时,代表所述存储介质处于卸载状态,当返回1时,代表所处存储介质处于加载状态。
步骤3105,基于所述查询值,向所述操作系统返回数值,其中,所述数值为第一数值或第二数值,所述第一数值表示所述存储介质就绪,所述第二数值表示所述存储介质未就绪。在具体实施过程中,当返回0时,代表所述存储介质处于卸载状态,当返回1时,代表所处存储介质处于加载状态。
步骤3106,接收操作系统下发的存储介质状详细态查询指令,向所述操作系统返回消息,所述消息表明存储介质没有接入。
在具体实施过程中,所处存储介质状态查询指令可以为“0103”,当然,也可以为本领域技术人员可以想到的其他指令,所述返回的消息可以为“NoMedia”,当然,也可以为本领域技术人员可以想到的其他指令,同时,也可以根据系统环境的差异,不执行步骤1107。
本实施例中的技术方案至少实现了如下的技术效果:
本申请实施例的技术方案中,通过对USB协议栈模块上操作系统下发的加载/卸载指令的获取,并进行处理,解决了现有技术中,使用不同类型的存储介质时,需要对存储介质进行更换的技术问题,实现了在所述USB设备与操作系统连接时,就能够对存储介质进行加载/卸载的技术效果。
实施例二:
参见图4,当所述第一操作指令为用于对存储介质排列顺序动态调整的计算机接口指令时:
步骤4101,获取所述用于对存储介质排列顺序动态调整的计算机接口指令。
对所述用于对存储介质排列顺序动态调整的计算机接口指令进行处理,获得第二操作指令,具体为:
步骤41021,判断所述用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的第一逻辑单元号与所述存储功能模块中的第二逻辑单元号是否相同,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质。
步骤41022,当所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到计算机接口指令中的逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令。
步骤4103,基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,选择与所述逻辑单元号对应的存储介质,以供所述操作系统进行读或写操作。
步骤4104对存储介质组合转换具体为:步骤41041,拉低第一存储介质组合接口上的数据电压,移除所述第一存储介质组合使用的端口,所述第一存储介质组合是指正在工作的存储介质组合。
步骤4105,调整用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,得到对应于第二存储介质组合的逻辑单元号。
步骤4106,恢复所述接口数据线的电压,基于所述对应于第二存储介质组合的逻辑单元号,建立所述第二存储介质组合与所述操作系统的连接,进而将所述第一存储介质组合转换为所述第二存储介质组合。
参见图5,在存储功能模块中,存在两种存储介质,分别为磁盘设备和CDROM,将磁盘设备的逻辑单元号设置为2,将CDROM的逻辑单元号设置为1,所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中,磁盘设备的逻辑单元号为1,CDROM设备的逻辑单元号为2;
步骤5101,USB协议栈接收所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令。
步骤5102,识别所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,确定所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号为1、CDROM的逻辑单元号为2;判断所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令的磁盘设备的逻辑单元号、CDROM的逻辑单元号,与存储功能模块中的磁盘设备、CDROM的逻辑单元号不同,将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2,将CDROM的逻辑单元号修改为1。
步骤5103,基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,选择与所述逻辑单元号对应的存储介质,分别为磁盘设备和CDROM,以供所述操作系统进行读或写操作。
本实施例中的技术方案至少实现了如下的技术效果:
通过对USB协议栈模块上操作系统下发的用于对存储介质排列顺序动态调整的计算机接口指令的获取,判断所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号与存储功能模块中的第二逻辑单元号是否相同,如果相同,使所述第二操作指令为所述用于对存储介质排列顺序动态调整的计算机接口指令;如果不相同,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质,解决了现有技术中,存储介质的排列顺序固定,不能动态调整的问题,达到了可以对存储介质的排列顺序进行动态调整的效果。
实施例三:
当第一操作指令为用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,则在实施例二的步骤202之前,包括:获取所述操作系统下发的标准USB查询指令,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问一种存储介质,则向所述操作系统返回所述USB设备中只存在一种存储介质的消息,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问多种存储介质,则向所述操作系统返回所述USB设备中存在多个存储介质的消息,本实施例中,其余步骤与实施例二相同。
在具体实施过程中,所述消息可以数字,可以用0代表所述USB设备中存在一种存储介质,用1代表所述USB设备中存在两种存储介质,用2代表所述USB设备中存在三种存储介质等,当然,也可以用其他方式表示所述USB设备中存在的存储介质的数量,下面以用0代表所述USB设备中存在一种存储介质,用1代表所述USB设备中存在两种存储介质来说明。
在具体是实施过程中,当操作系统需要访问两种存储介质时,则接收到操作系统的标准USB查询指令后,向所述操作系统回复1,表示所述USB设备中存在两种存储介质;当操作系统需要访问一种存储介质时,则接收到操作系统的标准USB查询指令后,向所述操作系统返回0,标识所述USB设备中存在一种存储介质。下面以当操作系统仅需要访问一种存储介质时作为例子说明,参见图6,所述操作系统访问CDROM,且所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中CDROM的逻辑单元号为1与所述存储功能模块中的CDROM的逻辑单元号相同,则将所述指令发送给存储功能模块。
步骤6101,接收操作系统查询存储介质数量的指令,并向所述操作系统回复0,告知操作系统所述USB设备中只有一种存储介质。
步骤6102,USB协议栈模块接收所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令。
步骤6103,识别所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,确定所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号为1、CDROM的逻辑单元号为2;判断所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令的磁盘设备的逻辑单元号、CDROM的逻辑单元号,与存储功能模块中的磁盘设备、CDROM的逻辑单元号不同,将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2,将CDROM的逻辑单元号修改为1。
步骤6104,基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,选择与所述逻辑单元号对应的存储介质,分别为磁盘设备和CDROM,以供所述操作系统进行读或写操作。
当然,当所述操作系统访问磁盘设备,且所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中,磁盘设备的逻辑单元号为1,与所述存储功能模块702中磁盘设的逻辑单元号不相同时,则将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2,其余步骤相同。
本实施例中的技术方案至少实现了,以下的技术效果:
通过回复操作系统的标准USB指令,以及获取对USB协议栈模块上操作系统下发的用于实现单个或者多个不同类型存储介质的组合的计算机接口指令的,根据操作系统的需求,向所述操作系统返回所述USB设备中存储介质的数量,判断所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号与存储功能模块中的第二逻辑单元号是否相同,如果相同,使所述第二操作指令为所述用于对存储介质排列顺序动态调整的计算机接口指令;如果不相同,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质,解决了现有技术中,不能实现存储介质动态组合的问题,达到了可以对存储介质动态组合的效果。
同时,通过拉低电压,调整逻辑单元号,以及恢复电压,解决了现有技术中,不能实现存储介质组合转换的技术问题,达到了平滑转换存储介质组合的技术效果。
参见图7,为本申请实施例中提供的一种USB存储介质,包括:
至少两个独立的存储介质,具体来讲在本申请实施例中为两个存储介质,一个是磁盘设备703;另一个是CDROM 704;
USB协议栈模块701,用于获得计算机操作系统600发出的第一操作指令,所述第一操作指令用于对所述至少两个存储介质中的一个或多个存储介质或对所述存储功能模块702进行操作;还用于对所述第一操作指令进行处理,获得第二操作指令;
存储功能模块702,与所述USB协议栈模块701和所述至少两个存储介质连接,用于基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或对与所述存储介质对应的存储介质状态位进行操作。其中,USB协议栈模块701,具体包括:
指令获取模块7011,用于获得计算机操作系统发出的第一操作指令,所述第一操作指令用于对所述至少两个存储介质中的一个或多个存储介质或对所述存储功能模块702进行操作;还包括指令处理模块7012,用于对所述第一操作指令进行处理,获得第二操作指令。
其中,存储功能模块702,基于所述第二操作指令,对所述至少一个存储介质中的一个或多个存储介质或与所述存储介质对应的存储介质状态位进行操作。
在具体实施过程中,所述第一操作指令可以是来自计算机操作系统中的各种操作指令,在本申请实施例中,下面将分别以所述第一操作指令为:
加载/卸载指令;用于对存储介质排列顺序动态调整的计算机接口指令;或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令为例子,详细进行说明。
实施例四:
当所述第一操作指令为加载/卸载指令时,所述指令获取模块获取所述加载/卸载指令。
所述指令处理模块处理所述加载/卸载指令,得到所述第二操作指令为所述加载/卸载指令。
所述指令处理模块与存储功能模块702中的介质状态位修改模块相连接,所述指令处理模块基于所述加载/卸载指令将所述介质状态标志位的第一值修改为第二值。其中,所述第一值、第二值用于标识所述存储介质是处于加载还是卸载状态,具体来讲,所述第一值可以是0,此时可用0来表示所述存储介质在卸载状态;显然在所述第一值为0时,所述第二值为1,此时1表示所述存储介质在加载状态,当然,本申请所属技术领域的技术人员还可以将所述第一值和第二值设置成其他两个不同的值,只要通过这两个值能区分所述存储介质是加载还是卸载状态就可以。
所述存储功能模块702还包括:
介质状态查询模块与所述USB协议栈模块701相连接,用于向所述USB协议栈模块701返回查询值,所述查询值用于表示所述存储功能模块702对应的存储介质就绪或者未就绪,在具体实施过程中,当返回0时,代表所述存储介质处于卸载状态,当返回1时,代表所处存储介质处于加载状态。
所述USB协议栈模块701基于所述查询值,向所述操作系统返回数值,其中,所述数值为第一数值或第二数值,所述第一数值表示所述存储介质就绪,所述第二数值表示所述存储介质未就绪,在具体实施过程中,当返回0时,代表所述存储介质处于卸载状态,当返回1时,代表所处存储介质处于加载状态。
所述存储功能模块702还包括:
介质详细状态查询指令处理模块,用于当所述数值为第二数值时,在向所述操作系统返回数值后,接收操作系统下发的存储介质状态查询指令,向所述操作系统返回消息,所述消息表明存储介质没有接入。
在具体实施过程中,所处存储介质状态查询指令可以为“0x03”,当然,也可以为本领域技术人员可以想到的其他指令,所述返回的消息可以为“NoMedia”,当然,也可以为本领域技术人员可以想到的其他指令,同时,也可以根据系统环境的差异,不设置介质详细状态查询指令处理模块。
本发明的实施例中的技术方案至少实现了如下的技术效果:
本申请实施例的技术方案中,通过操作指令获得模块,对USB协议栈模块701上操作系统下发的加载/卸载指令的获取,指令处理模块对所述指令进行处理,解决了现有技术中,使用不同类型的存储介质时,需要对存储介质进行更换的技术问题,实现了在所述USB设备与操作系统连接时,就能够对存储介质进行加载/卸载的技术效果。
实施例五:
当所述第一操作指令为用于当所述第一操作指令为用于对存储介质排列顺序动态调整的计算机接口指令时,所述USB协议栈模块701具体包括:
指令获取模块,用于获取操作系统下发的用于对存储介质排列顺序动态调整的计算机接口指令;
指令处理模块,具体包括:
逻辑单元号区分模块,用于区分所述第二操作指令中的逻辑单元号;
判断模块,用于当所述第一操作指令为用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时,判断所述用于对存储介质排列顺序动态调整的计算机接口指令或用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的第一逻辑单元号与所述存储功能模块702中的第二逻辑单元号是否相同,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质;
可选的,所述指令处理模块还包括:
逻辑单元号修改模块,用于当所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到计算机接口指令中的逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令。
在具体实施过程中,在存储功能模块702中,存在两种存储介质的逻辑单元号,分别为磁盘设备703和CDROM704,将磁盘设备703的逻辑单元号设置为2,将CDROM704的逻辑单元号设置为1,所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中,磁盘设备的逻辑单元号为1,CDROM设备的逻辑单元号为2。USB协议栈接收所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令后,逻辑单元号区分模块识别所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,确定所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号为1、CDROM的逻辑单元号为2;判断模块判断所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令的磁盘设备的逻辑单元号、CDROM的逻辑单元号,与存储功能模块702中的磁盘设备703、CDROM704的逻辑单元号不同;逻辑单元号修改模块则将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2,将CDROM的逻辑单元号修改为1。
存储功能模块702中包括:存储介质选择模块,用于基于所述用于对存储介质排列顺序动态调整的计算机接口指令中的逻辑单元号,选择与所述逻辑单元号对应的存储介质,以供所述操作系统进行读或写操作。
还包括:设备组合转换模块,用于拉低第一存储介质组合接口上的数据电压,移除所述第一存储介质组合使用的端口,所述第一存储介质组合是指正在工作的存储介质组合;
调整用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,得到对应于第二存储介质组合的逻辑单元号;
恢复所述接口数据线的电压,基于所述对应于第二存储介质组合的逻辑单元号,建立所述第二存储介质组合与所述操作系统的连接,进而将所述第一存储介质组合转换为所述第二存储介质组合。
本发明的实施例中的技术方案至少实现了如下的技术效果:
通过操作指令获得模块,对USB协议栈模块701上操作系统下发的用于对存储介质排列顺序动态调整的计算机接口指令的获取;通过判断模块判断所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号与存储功能模块702中的第二逻辑单元号是否相同;通过修改模块,在所述第一逻辑单元号与所述第二逻辑单元号不相同时,将所述用于对存储介质排列顺序动态调整的计算机接口指令中的第一逻辑单元号修改为第二逻辑单元号,得到逻辑单元号为所述第二逻辑单元号的用于对存储介质排列顺序动态调整的计算机接口指令,其中,所述第一逻辑单元号、第二逻辑单元号对应于同一种存储介质。解决了现有技术中,存储介质的排列顺序固定,不能动态调整的问题,达到了可以对存储介质的排列顺序进行动态调整的效果。
实施例六:
当所述第一操作指令为用于实现单个或者多个不同类型存储介质的组合的计算机接口指令时:
所述USB设备中包括的介质数量查询模块,获取所述操作系统下发的标准USB查询指令,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问一种存储介质,则向所述操作系统返回所述USB设备中只存在一种存储介质的消息,如果所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令访问多种存储介质,则向所述操作系统返回所述USB设备中存在多个存储介质的消息,本实施例中,其余步骤与实施例二相同。
在具体实施过程中,所述消息可以数字,可以用0代表所述USB设备中存在一种存储介质,用1代表所述USB设备中存在两种存储介质,用2代表所述USB设备中存在三种存储介质等,当然,也可以用其他方式表示所述USB设备中存在的存储介质的数量,下面以用0代表所述USB设备中存在一种存储介质,用1代表所述USB设备中存在两种存储介质来说明。
当操作系统需要访问两种存储介质时,则接收到操作系统的标准USB查询指令后,向所述操作系统回复1,表示所述USB设备中存在两种存储介质;下面以当操作系统仅需要访问一种存储介质时作为例子说明。所述操作系统访问CDROM704,且所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中CDROM704的逻辑单元号为1与所述存储功能模块702中的CDROM704的逻辑单元号相同,则不对所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令做出修改;所述操作系统访问磁盘设备703,且所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中,磁盘设备的逻辑单元号为1,与所述存储功能模块702中磁盘设的逻辑单元号不相同,则将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2。
所述USB设备还包括:
存储介质组合转换模块,用于:
拉低第一存储介质组合接口上的数据电压,移除所述第一存储介质组合使用的端口,所述第一存储介质组合是指正在工作的存储介质组合;恢复所述接口数据线的电压,基于所述对应于第二存储介质组合的逻辑单元号,建立所述第二存储介质组合与所述操作系统的连接,进而将所述第一存储介质组合转换为所述第二存储介质组合。
在具体实施过程中,调整用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,得到对应于第二存储介质组合的逻辑单元号;
在所述存储功能模块702中,存在两种存储介质,分别为磁盘设备703和CDROM704,将磁盘设备703的逻辑单元号设置为2,将CDROM704的逻辑单元号设置为1,所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中,磁盘设备的逻辑单元号为1,CDROM设备的逻辑单元号为2;接收操作系统下发的标准USB查询指令,并向所述操作系统返回1,表示存储功能模块702中存在两种存储介质;USB协议栈接收所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令后,识别所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号,确定所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号为1、CDROM的逻辑单元号为2,判断所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令的磁盘设备的逻辑单元号、CDROM的逻辑单元号,与存储功能模块702中的磁盘设备703、CDROM704的逻辑单元号不同,则将所述用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中磁盘设备的逻辑单元号修改为2,将CDROM的逻辑单元号修改为1。
本实施例中的技术方案至少实现了一下的技术效果:
通过操作指令获得模块对USB协议栈模块701上操作系统下发的转换所述存储介质组合的指令,通过数据交互中断模块断开存储介质组合与操作系统的连接,通过指令修改模块修改用于实现单个或者多个不同类型存储介质的组合的计算机接口指令中的逻辑单元号。
同时,通过存储介质转换模块,拉低电压,调整逻辑单元号,以及恢复电压,解决了现有技术中,不能实现存储介质组合转换的技术问题,达到了平滑转换存储介质组合的技术效果。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。