CN103809921B - Usb存储设备在进行usb映射时的加速方法 - Google Patents
Usb存储设备在进行usb映射时的加速方法 Download PDFInfo
- Publication number
- CN103809921B CN103809921B CN201410055322.6A CN201410055322A CN103809921B CN 103809921 B CN103809921 B CN 103809921B CN 201410055322 A CN201410055322 A CN 201410055322A CN 103809921 B CN103809921 B CN 103809921B
- Authority
- CN
- China
- Prior art keywords
- usb
- data
- data block
- storage device
- usb storage
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种USB存储设备在进行USB映射时的加速方法,在USB存储设备关联一个磁盘加速的过滤驱动;通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,使得USB存储设备的操作系统进行的少量多次的传输,转化为少次大量的传输;增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数,从而提高访问的加速。本发明大大提高USB存储设备应用USB映射技术时的传输速度,减少了其网络通信次数,提高了USB映射的性能;提升用户体验。
Description
技术领域
本发明涉及计算机通讯技术领域,尤其涉及一种USB存储设备在进行USB映射时的加速方法。
背景技术
USB映射技术是一种将本地USB设备通过网络重定向到远程计算机,使得远程计算机的用户可以使用该USB设备。USB映射技术的实现细节可以参考现有技术公开的一种“USB映射方法”,见公开号为101035039,公开日为2007-09-12的中国专利,该USB映射方法包括服务器端和客户端,服务器和客户端用网络相连接,连接在客户端的真实的USB设备被映射为服务器端的一个虚拟的USB设备的方法,这种方法大大减轻了研发人员在终端上的USB设备驱动的开发工作,同时也极大的方便了客户,客户只需要在服务器端安装设备供应商提供的驱动程序,就可以使用终端接入的USB设备了。
目前这项技术目前广泛运用于桌面云计算领域。USB映射技术在进行USB存储设备(如U盘,移动硬盘等设备)的映射时,存在整体传输性能不足的缺陷,导致这个缺陷的原因是USB 2.0协议内规定设备必须在125微秒内完成一次读或者写操作,而USB映射技术本身需要通过网络传输数据,而网络传输都一般具有1毫秒以上的延迟,而当前主流的操作系统对于USB存储设备的读写操作往往是少量多次进行,所以在传输大量数据的时候,由于传输次数过多,以及单次传输的延迟过大,会导致整体传输性能会被大大减慢。实际应用中出现的具体情况就是大容量的存储设备打开的速度慢,进行大文件读写的速度慢。即读写速度的取决因素有两个:单次传输的延迟,与整体传输次数。
现有的远程计算机的操作系统需要访问通过USB映射技术重定向过来的本地计算机的USB存储设备中的文件,具体的流程步骤如下:
1)通过远程计算机的操作系统内部的文件系统模块将具体的文件信息转化为磁盘位置信息;
2)然后使用磁盘驱动程序来操作本地USB存储设备;
3)如果USB存储设备有关联磁盘过滤驱动,则相关的读写请求会先由磁盘过滤驱动进行处理;
4)USB映射技术会将磁盘驱动程序对USB设备的操作请求发送到本地计算机的USB存储设备上。
这样在传输大量数据的时候,由于传输次数过多,以及单次传输的延迟过大,会导致整体传输性能会被大大减慢。
发明内容
本发明要解决的技术问题,在于提供一种USB存储设备在进行USB映射时的加速方法,其提高USB存储设备应用USB映射技术时的传输速度,减少了其网络通信次数,提高了USB映射的性能。
本发明是这样实现的:一种USB存储设备在进行USB映射时的加速方法,在USB存储设备关联一个磁盘加速的过滤驱动;通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,使得USB存储设备的操作系统进行的少量多次的传输,转化为少次大量的传输;增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数,从而提高访问的加速。
进一步地,通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,具体的处理流程分为读操作的加速流程和写操作的加速流程,
所述读操作的加速流程为:远程计算机上建立一个后台程序,该后台程序收集远程计算机与本地计算机的网络延迟时间T,每秒定时通知所述磁盘加速的过滤驱动;
磁盘加速的过滤驱动获取到实时的网络延迟时间T,统计出在上一个T时间段内远程计算机频繁的读取USB存储设备连续数据块大小S;
在磁盘加速的过滤驱动监测到远程计算机的操作系统需要读取一个数据块大小S1时,判断大小为S1的数据块是否已缓存,未缓存,则判断数据块大小S1是否小于连续数据块大小S;是小于,则直接将读取请求数据的大小修改为S,直接通过USB映射技术从USB存储设备上读取一个S大小的数据块,返回给远程计算机的操作系统S1大小的数据块,使用剩余数据建立缓存;所述剩余数据为S大小的数据块减去返回的S1大小的数据块;否,则通过USB映射技术从USB存储设备上读取一个S1大小的数据块;已缓存,直接从USB存储设备缓存中读取一个S1大小的数据块返回,不通过USB映射技术去USB存储设备上读取数据;
所述写操作的加速流程为:统计出在上一个T时间段内远程计算机频繁的写入USB存储设备连续数据块大小S;
在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,USB存储设备的写入缓存是否为空,是为空,则判断数据块大小S1是否小于连续数据块大小S,是小于,则缓存数据块,并启动一等待定时器,返回给远程计算机写入成功;否,则通过USB映射技术从USB存储设备上写入一个S1大小的数据块;不为空,则写入缓存中有数据,判断缓存中的数据与当前写入数据块中的数据是否连续;不连续,则将缓存中数据通过USB映射技术写入到USB存储设备中,停止所述的等待定时器;并将数据块大小S1写入数据缓存中,再通过USB映射技术写入到USB存储设备中;连续,则将缓存中的数据与写入S1大小的数据块进行拼起来,并判断拼接后的数据长度是否小于S,是小于,则,拼接的数据一起缓存,重置所述等待定时器的时间;不小于,则缓存的拼接后的数据通过USB映射技术写入到USB存储设备中,停止所述等待定时器。
进一步地,所述等待定时器的时间到达预设时间值,则缓存中的数据直接通过USB映射技术写入到USB存储设备中;并停止所述等待定时器的计时。
本发明具有如下优点:本发明为一种USB存储设备在进行USB映射时的加速方法,通过增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数。将少量多次的传输转化为少次大量的传输。最后根据实际的网络情况调整,保证用户处于当前可以达到的最快传输速度。从而大大提高USB存储设备应用USB映射技术时的传输速度,减少了其网络通信次数,提高了USB映射的性能;提升用户体验。
附图说明
图1为本发明读操作的加速流程示意图。
图2为本发明写操作的加速流程示意图。
具体实施方式
请参阅图1和图2所示,一种USB存储设备在进行USB映射时的加速方法,在USB存储设备关联一个磁盘加速的过滤驱动;通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,使得USB存储设备的操作系统进行的少量多次的传输,转化为少次大量的传输;增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数,从而提高访问的加速。
其中,通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,具体的处理流程分为读操作的加速流程和写操作的加速流程,
所述读操作的加速流程为:远程计算机上建立一个后台程序,该后台程序收集远程计算机与本地计算机的网络延迟时间T,精确到毫秒,每秒定时通知所述磁盘加速的过滤驱动;
磁盘加速的过滤驱动获取到实时的网络延迟时间T,统计出在上一个T时间段内远程计算机频繁的读取USB存储设备连续数据块大小S;该统计的方式可以是但不限于下面所列举的方法:计算T时间内读取连续数据块的加权平均大小值,该加权平均大小值即为权重,该权重与读取连续数据块的数据包数量相关,读取连续数据块的数据包越多,权重越大;S在获取到T之后计算一次,也就是每秒计算一次。
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要读取一个数据块大小S1时,且这个数据块大小S1未缓存,且S1小于S,则直接将相关的读取请求数据的大小修改为S。则可以直接通过USB映射技术从本地USB存储设备上读取一个S大小的数据块,返回给远程计算机的操作系统S1大小的数据块,使用剩余数据建立缓存;所述剩余数据为S大小的数据块—(即减去)返回的S1大小的数据块;
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要读取一个数据块大小S1时,且这个数据块大小S1未缓存,且S1大于等于S,则不进行特殊处理;则通过USB映射技术从USB存储设备上读取一个S1大小的数据块;
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要读取一个数据块大小S1时,且这个数据块大小S1已缓存,直接从USB存储设备缓存中读取一个S1大小的数据块返回,不通过USB映射技术去USB存储设备上读取数据;
这样通过上述读操作的步骤,原先通过数个读操作才能够读取出的数据块,只需要通过第一个读操作即可完成从设备到远程计算机的网络传输过程,并在远程计算机上建立缓存,后续读操作只需要从缓存直接读取数据,不需要进行网络传输,这样能大大减少了其网络通信次数,提高了性能。
所述写操作的加速流程为:统计出在上一个T时间段内远程计算机频繁的写入USB存储设备连续数据块大小S;该统计的方式可以是但不限于下面所列举的方法:计算T时间内写入连续数据块的加权平均大小值,该加权平均大小值即为权重,该权重与写入连续数据块的数据包数量相关,写入连续数据块的数据包越多,权重越大;S在获取到T之后计算一次,也就是每秒计算一次。
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,且USB存储设备的写入缓存为空,且S1小于S,则缓存数据块,并启动一个等待定时器,并直接返回给远程计算机写入成功。
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,且USB存储设备的写入缓存为空,且S1大于S,则不进行特殊处理;通过USB映射技术从USB存储设备上写入一个S1大小的数据块;
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,且USB存储设备的写入缓存中有数据,但是缓存中的数据与当前写入数据块中的数据不连续,则将缓存中的数据通过USB映射技术写入到本地USB存储设备中,停止所述的等待定时器;并将数据块大小S1写入数据缓存中,再通过USB映射技术写入到USB存储设备中。
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,且写入缓存中有数据,但是缓存中的数据与当前写入数据块中的数据连续,则将缓存中的数据与写入S1大小的数据块进行拼起来,且拼接起来的总的数据长度小于S,则拼接的数据一起缓存,重置等待定时器的时间。
如果在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,且写入缓存中有数据,但是缓存中的数据与当前写入数据块中的数据连续,则将缓存中的数据与写入S1大小的数据库进行拼起来,且拼接起来的总的数据长度大于S,则缓存的拼接后的数据通过USB映射技术写入到本地USB存储设备中,停止原先启动过的等待定时器。
如果所述等待定时器的时间到达预设时间值,则缓存中的数据直接通过USB映射技术写入到USB存储设备中;并停止所述等待定时器的计时。
通过上述写操作步骤,原先通过数个写操作才能够写入的数据块,只需要通过最后一个写操作即可完成从设备到远程计算机的网络传输过程,之前的写操作都只是在远程计算机上建立缓存,不需要进行网络传输,大大减少了其网络通信次数,提高了性能。
总之,本发明通过增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数。将少量多次的传输转化为少次大量的传输。最后根据实际的网络情况调整,保证用户处于当前可以达到的最快传输速度。从而大大提高USB存储设备应用USB映射技术时的传输速度,减少了其网络通信次数,提高了USB映射的性能;提升用户体验。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (3)
1.一种USB存储设备在进行USB映射时的加速方法,其特征在于:在USB存储设备关联一个磁盘加速的过滤驱动;通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,使得USB存储设备的操作系统进行的少量多次的传输,转化为少次大量的传输;增加每一次传输的数据量,保证在传输的数据内容不变的情况下,减少整体传输次数,从而提高访问的加速;
通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,具体的处理流程为读操作的加速流程;
所述读操作的加速流程为:远程计算机上建立一个后台程序,该后台程序收集远程计算机与本地计算机的网络延迟时间T,每秒定时通知所述磁盘加速的过滤驱动;
磁盘加速的过滤驱动获取到实时的网络延迟时间T,统计出在上一个T时间段内远程计算机频繁的读取USB存储设备连续数据块大小S;
在磁盘加速的过滤驱动监测到远程计算机的操作系统需要读取一个数据块大小S1时,判断大小为S1的数据块是否已缓存,若未缓存,则判断数据块大小S1是否小于连续数据块大小S;若小于,则直接将读取请求数据的大小修改为S,直接通过USB映射技术从USB存储设备上读取一个S大小的数据块,返回给远程计算机的操作系统S1大小的数据块,使用剩余数据建立缓存;所述剩余数据为S大小的数据块减去返回的S1大小的数据块;若不小于,则通过USB映射技术从USB存储设备上读取一个S1大小的数据块;若已缓存,直接从USB存储设备缓存中读取一个S1大小的数据块返回,不通过USB映射技术去USB存储设备上读取数据。
2.根据权利要求1所述的USB存储设备在进行USB映射时的加速方法,其特征在于:通过该磁盘加速的过滤驱动实现对于USB存储设备访问的加速,具体的处理流程进一步包括写操作的加速流程,
所述写操作的加速流程为:统计出在上一个T时间段内远程计算机频繁的写入USB存储设备连续数据块大小S;
在磁盘加速的过滤驱动监测到远程计算机的操作系统需要写入一个数据块大小S1时,判断USB存储设备的写入缓存是否为空,是为空,则判断数据块大小S1是否小于连续数据块大小S,若小于,则缓存数据块,并启动一等待定时器,返回给远程计算机写入成功;若不小于,则通过USB映射技术从USB存储设备上写入一个S1大小的数据块;若不为空,则写入缓存中有数据,判断缓存中的数据与当前写入数据块中的数据是否连续;若不连续,则将缓存中数据通过USB映射技术写入到USB存储设备中,停止所述的等待定时器;并将数据块大小S1写入数据缓存中,再通过USB映射技术写入到USB存储设备中;若连续,则将缓存中的数据与写入S1大小的数据块进行拼起来,并判断拼接后的数据长度是否小于S,若小于,则拼接的数据一起缓存,重置所述等待定时器的时间;若不小于,则缓存的拼接后的数据通过USB映射技术写入到USB存储设备中,停止所述等待定时器。
3.根据权利要求2所述的USB存储设备在进行USB映射时的加速方法,其特征在于:所述等待定时器的时间到达预设时间值,则缓存中的数据直接通过USB映射技术写入到USB存储设备中;并停止所述等待定时器的计时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410055322.6A CN103809921B (zh) | 2014-02-19 | 2014-02-19 | Usb存储设备在进行usb映射时的加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410055322.6A CN103809921B (zh) | 2014-02-19 | 2014-02-19 | Usb存储设备在进行usb映射时的加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103809921A CN103809921A (zh) | 2014-05-21 |
CN103809921B true CN103809921B (zh) | 2017-01-25 |
Family
ID=50706765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410055322.6A Active CN103809921B (zh) | 2014-02-19 | 2014-02-19 | Usb存储设备在进行usb映射时的加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103809921B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN101253489A (zh) * | 2005-09-09 | 2008-08-27 | 微软公司 | 远程系统的即插即用设备重定向 |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
CN102819427A (zh) * | 2005-09-09 | 2012-12-12 | 微软公司 | 远程系统的即插即用设备重定向的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892493B2 (en) * | 2010-12-17 | 2014-11-18 | Microsoft Corporation | Compatibility testing using traces, linear temporal rules, and behavioral models |
-
2014
- 2014-02-19 CN CN201410055322.6A patent/CN103809921B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101253489A (zh) * | 2005-09-09 | 2008-08-27 | 微软公司 | 远程系统的即插即用设备重定向 |
CN102819427A (zh) * | 2005-09-09 | 2012-12-12 | 微软公司 | 远程系统的即插即用设备重定向的方法和系统 |
CN101035039A (zh) * | 2007-04-20 | 2007-09-12 | 福建升腾资讯有限公司 | Usb映射方法 |
CN102270186A (zh) * | 2011-07-21 | 2011-12-07 | 华中科技大学 | 一种虚拟桌面外部设备支持系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103809921A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4234060A1 (en) | Service processing method and apparatus, and storage medium | |
CN103853620B (zh) | 一种众核处理器进程间相互通信的方法、装置及系统 | |
EP3255553A1 (en) | Transmission control method and device for direct memory access | |
US10176125B2 (en) | Dynamically adjusting read data return sizes based on interconnect bus utilization | |
CN107527317A (zh) | 基于图像处理的数据传输系统 | |
CN113453045A (zh) | 网络带宽预测方法、系统、设备及存储介质 | |
CN103795647A (zh) | 数据采集方法、数据采集器和系统 | |
WO2023029846A1 (zh) | 多媒体资源上传方法、装置、电子设备以及可读存储介质 | |
CN114090495A (zh) | 数据处理的方法、网卡和服务器 | |
CN115543761A (zh) | 一种支持iops突发的方法、装置、电子设备及可读存储介质 | |
CN103856558B (zh) | 一种用于终端应用的数据处理方法和装置 | |
EP1970815A1 (en) | Data transfering apparatus and information processing system | |
CN103809921B (zh) | Usb存储设备在进行usb映射时的加速方法 | |
CN107959659A (zh) | 一种流媒体播放控制方法、装置及电子设备 | |
EP3734459B1 (en) | Method and system for prioritizing critical data object storage during backup operations | |
EP3734458A1 (en) | Method and system for prioritizing critical data object storage during backup operations | |
CN103530173A (zh) | 动态权重事件处理系统和方法 | |
CN107846328B (zh) | 基于并发无锁环形队列的网络速率实时统计方法 | |
CN116074406A (zh) | 指令发送方法及装置 | |
CN115002885A (zh) | 标签数据采集方法、装置、电子设备及存储介质 | |
CN109284257A (zh) | 一种日志写入方法、装置、电子设备及存储介质 | |
US11055156B2 (en) | Processing of a message stream | |
CN209690899U (zh) | 基于usb的fpga通信控制装置及fpga | |
CN108737223B (zh) | 基于负载均衡的健康咨询方法、装置、平台和存储介质 | |
CN110119364B (zh) | 一种输入/输出批量提交的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |