【技术实现步骤摘要】
本专利技术涉及一种USB海量存储设备
的一种上层应用软件与设备之间实现双向数据通讯的方法。特别是一种有用户登录安全认证和权限管理的操作系统如Windows2000、Windows XP以上版本,非授权用户如何使应用软件程序对USB海量存储设备发送命令,从而实现USB海量存储设备应用程序与USB海量存储设备进行命令交互和双向数据传输的方法。
技术介绍
为便于本专利技术理解相关术语解释如下1USB海量存储设备一种支持USB海量存储设备协议的可移动海量存储设备。如常见的闪存盘(USB Flash Disk),移动硬盘(USB Hard Disk)等设备。2.操作系统非授权用户是指操作系统登录用户由于操作系统对用户的默认权限管理,使以其身份创建或者运行的应用程序软件对系统设备没有读写或者写权限,从而不能通过操作系统提供的接口和方法实现与系统设备的命令交互和双向数据传输。3.SCSI是小型计算机系统接口(Small Computer System Interface)缩写,是计算机逻辑块设备与主机之间的命令控制和数据传输协议。4.RBC是精简块命令(Reduced Block Command)的英文缩写,是精简的SCSI命令集,是计算机逻辑块设备与主机之间的精简控制命令和数据传输协议。5.WRITE10是精简块命令集中主机对块设备的写命令码,为十六进制0x2A。6.READ10是精简块命令集中主机对块设备的读命令码,为十六进制0x28。7.LUN设备逻辑单元号。8.LBA设备读写的逻辑块地址。当前,随着USB海量存储设备的普及,许多应用需求也不断与之结合起 ...
【技术保护点】
一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于:所述命令交互和双向数据传输的方法是,利用操作系统任何用户通过通讯协议在USB海量存储设备的可读写区创建新文件并可向其写入和读取数据这一特性,在USB海量存储设备的可读写逻辑盘创建一个不可重复的新文件,然后把SCSI命令的参数和数据按规定格式存放在新文件的写入命令数据缓冲区里,USB海量存储设备的主控芯片应用程序接收到新文件的写入的SCSI写命令WRITE10以及指定写入长度的数据时,分析写入的数据发现不是普通的数据,而是含有规定格式的SCSI命令标识以及参数,则并不实际写入这些数据,而是执行其指定命令,如果命令执行正确,则返回应用层写入成功,否则返回错误信息,应用层在收到写入命令执行完毕后立即删除刚创建的文件,从USB海量存储设备读取数据,则需要采用两步才能够实现,第一步是创建新文件,后向新文件写入含有命令的规定格式数据,USB海量存储设备的主控芯片软件接收到此文件的SCSI命令WRITE10时通过分析发现,是需要向上层返回数据的特殊命令,因此将保留此WRITE10命令参数中设备逻辑单元号 ...
【技术特征摘要】
1一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于所述命令交互和双向数据传输的方法是,利用操作系统任何用户通过通讯协议在USB海量存储设备的可读写区创建新文件并可向其写入和读取数据这一特性,在USB海量存储设备的可读写逻辑盘创建一个不可重复的新文件,然后把SCSI命令的参数和数据按规定格式存放在新文件的写入命令数据缓冲区里,USB海量存储设备的主控芯片应用程序接收到新文件的写入的SCSI写命令WRITE10以及指定写入长度的数据时,分析写入的数据发现不是普通的数据,而是含有规定格式的SCSI命令标识以及参数,则并不实际写入这些数据,而是执行其指定命令,如果命令执行正确,则返回应用层写入成功,否则返回错误信息,应用层在收到写入命令执行完毕后立即删除刚创建的文件,从USB海量存储设备读取数据,则需要采用两步才能够实现,第一步是创建新文件,后向新文件写入含有命令的规定格式数据,USB海量存储设备的主控芯片软件接收到此文件的SCSI命令WRITE10时通过分析发现,是需要向上层返回数据的特殊命令,因此将保留此WRITE10命令参数中设备逻辑单元号(LUN)和设备读写的逻辑块地址(LBA)并返回执行完毕,第二步是上层应用程序紧接着发送一个SCSI命令READ10,此命令必须确保该命令参数的设备逻辑单元号(LUN)和设备读写的逻辑块地址(LBA)与第一步的WRITE10一样,这样USB海量存储设备的主控芯片软件在接收到READ10命令,发现其参数的设备逻辑单元号(LUN)和读写的逻辑块地址(LBA)与前一条WRITE10命令的一样,则返回前一条WRITE10数据缓冲区中指定的SCSI命令需要的数据,上述的正常读写命令都可以保证USB海量存储海量设备的主控芯片软件在分析SCSI命令WRITE10和READ10时,既可实现设备的正常读写命令,同时实现了操作系统非授权用户下,应用程序能够通过文件的读写操作,在其读写命令WRITE10和READ10数据缓冲区中承载其他SCSI命令和数据,实现应用程序与USB海量存储海量设备的命令交互。2根据权利要求1所述的一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于所述的在USB海量存储设备的可读写逻辑盘创建的新文件,文件名是采用每次计算获取的变化的全球唯一16字节的序列号字符串,并将新文件设为非共享读写属性,新文件,文件扩展名采用单独定义或者随机变化的扩展名。3根据权利要求1或2所述的一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于所述的在USB海量存储设备的可读写逻辑盘创建新文件的规定格式,其中WRITE10命令规定格式顺序为命令标识头、命令序列号、命令操作码、命令参数区、多余字节区、命令写入数据区,READ10命令规定格式顺序为命令标识头、命令序列号、多余字节区、命令写入数据区。4根据权利要求1或3所述的一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于所述的在USB海量存储设备的可读写逻辑盘创建的新文件规定格式的命令标识头,为0xx55aa55aa555342。5根据权利要求1或3所述的一种USB海量存储设备上应用程序与USB海量存储设备进行命令交互和双向数据传输的方法,其特征在于所述的在USB海量存储设备的可读写逻辑盘创建的新文件规定格式的命令序列号,为16字节唯一的序列号。6根据权利要求1或3所述的一种USB海...
【专利技术属性】
技术研发人员:祝绪阳,
申请(专利权)人:深圳市江波龙电子有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。