自动监测USB磁盘的方法技术

技术编号:2916426 阅读:248 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种自动监测USB磁盘的方法,包括:读取已接入USB磁盘的第一设备文件;当第一设备文件中表示接口类型的字段值为预定值时,对第一计数器的值进行累计;读取新接入USB磁盘的第二设备文件;当第二设备文件中表示接口类型的字段值为预定值时,对第二计数器的值进行累计;当第一计数器的值小于第二计数器的值时,判定有新USB磁盘接入;当第一计数器的值大于第二计数器的值时,判定已移除新USB磁盘。该方法越过热插拨机制,可以支持不同的Linux发布版本,实现了不同内核版本和不同发行版本间完全兼容的USB磁盘的自动监测和自动复制有效内容的功能。

【技术实现步骤摘要】

本专利技术涉及一种监测USB磁盘的方法,特别涉及一种越过热插播机制的自动监测USB磁盘的方法
技术介绍
通用串行总线(USB)磁盘是一种支持热插拔(Hotplug)技术的硬件设备,所谓热插拔就是在不断电的情况下,实现计算机硬件设备的安装与卸载,这种技术是由计算机软件和硬件共同配合而实现的。只要系统支持Hotplug技术,就可以自动检测到USB盘(以下简称U盘)的插入和拔出动作,操作系统都会向用户级程序发送有关这些动作的通知,如果想实现自动复制技术,只要应用程序捕获这些通知,进行相应的技术处理即可。在利用Hotplug技术实现的U盘自动监测和自动复制可以根据如下内容实现:当U盘插入计算机时,Linux操作系统的后台会依次发生如下事件:1、内核检测到新硬件插入,然后分别通知“hotplug”程序和管理硬件设备的工具集合(udev),前者用来装入相应的内核模块,而后者在设备路径中创建相应的设备节点。2、udev创建了相应的设备节点之后,会将这一消息通知硬件抽象层(hal)的守护程序(hald),当然udev还得保证新创建的设备节点可以被普通用户访问。3、hotplug装入了相应的内核模块之后,会把这一消息通知给hald。4、hald在收到hotplug和udev发出的消息之后,认为新硬件已经正式-->被系统认可,此时它会通过一系列精心编写的规则文件,把发现新硬件的消息发送出去,同时还会为相应的设备节点创建合适的挂接点。5、卷管理器会监听发现新硬件的消息,根据所插入的硬件(区分U盘和数码相机等)不同,卷管理器会先将相应的设备节点挂载到hald创建的挂载点上,然后再打开不同的应用程序。上述过程中涉及的hotplug用来处理内核产生的hotplug事件,这个软件包还在引导时检测现存的硬件并在运行的内核中加载相关模块,这里比较关键的是hotplug路径下的所有代理(agent)脚本,这些脚本将被hotplug调用以响应内核产生的各种不同的热插拔事件,通过改写相应的agent文件,就可以实现U盘的自动复制功能了。由此可见,利用hotplug技术实现热插拔,就是通过改写agent脚本来实现的,但是不同发布版本的agent脚本的编写风格大不相同,因此很难做到统一。而且上述描述的只是针对2.6内核的,在2.4内核下虽然步骤差不多,但是最后调用的可能不是agent脚本,这就存在了很大的不一致,所以利用hotplug技术很难做到完全的通用化。也就是说,不同的Linux发布版本对其提供的支持方式是不同,利用Hotplug提供的自动监测机制去实现自动复制磁盘中有效内容的方法,很难在不同的发布版本中做到统一,且不同版本的内核对Hotplug的支持程度也不同,这也使得在不同版本内核上的兼容性很难实现。
技术实现思路
本专利技术的目的是通过一些实施例提供一种自动监测USB磁盘的方法,以支持不同的Linux发布版本,并且能实现不同内核版本和不同发行版本间完全兼容的USB磁盘的自动监测和自动复制有效内容的功能。本专利技术的前述实施例提供的一种监测USB磁盘的方法,包括:读取已接入USB磁盘的第一设备文件;-->当第一设备文件中表示接口类型的字段值为预定值时,对第一计数器的值进行累计;读取新接入USB磁盘的第二设备文件;当第二设备文件中表示接口类型的字段值为预定值时,对第二计数器的值进行累计;当第一计数器的值小于第二计数器的值时,判定有新USB磁盘接入,并通过分区文件获得新接入的USB磁盘的名称,同时将第二计数器的值保存在第一设备文件的第一计数器中;当第一计数器的值大于第二计数器的值时,判定已移除新USB磁盘,并将第二计数器的值保存在第一设备文件的第一计数器中;当第一计数器的值等于第二计数器的值时,判定无新USB磁盘接入或移除。上述方法越过热插拨机制,可以支持不同的Linux发布版本,并且实现了不同内核版本和不同发行版本间完全兼容的USB磁盘的自动监测和自动复制有效内容的功能。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明图1为本专利技术一些实施例自动监测USB磁盘方法的流程图;图2为本专利技术另一些实施例自动复制USB磁盘有效内容方法的流程图。具体实施方式图1为本专利技术一些实施例自动监测USB磁盘方法的流程图,如图1所示,该方法包括:步骤101、读取已接入USB磁盘的第一设备文件;此处读取已接入USB磁盘的第一设备文件为/proc/bus/usb/devices;-->步骤102、当第一设备文件中表示接口类型的字段值为预定值时,对第一计数器的值进行累计;表示接口类型的字段值可以由用户自行定义,此处,用I表示,预定值也可以由用户自行定义,此处为0或8,系统只要读取到以I开头的字段值为0或8,第一计数器的值则会进行累计,否则,第一计数器的值保持不变;步骤103、读取新接入USB磁盘的第二设备文件;此处读取的第二设备文件也是/proc/bus/usb/devices;步骤104、当第二设备文件中表示接口类型的字段值为预定值时,对第二计数器的值进行累计;此处接口类型仍然用I表示,预定值仍然用0或8表示,因此,系统只要读取到以I开头的字段值为0或8,第二计数器的值则会进行累计,否则,第二计数器的值保持不变;步骤105、当第一计数器的值小于第二计数器的值时,判定有新USB磁盘接入,并通过分区文件获得新接入的USB磁盘的名称,同时将第二计数器的值保存在第一设备文件的第一计数器中;此处所用的分区文件为/proc/partitions,当第一计数器的值小于第二计数器的值时,说明有新USB磁盘接入,此时通过/proc/partitions获得新接入的USB磁盘的名称,同时将第二计数器的值保存在第一计数器中;步骤106、当第一计数器的值大于第二计数器的值时,判定已移除新USB磁盘,并将第二计数器的值保存在第一设备文件的第一计数器中;当第一计数器和第二计数器的值不同时,需将第二计数器的值保存在第一计数器中,对第一计数器中的数据进行更新;步骤107、当第一计数器的值等于第二计数器的值时,判定无新USB磁盘接入或移除。其中,上述步骤105-步骤107为可并列执行的步骤,因此它们的执行顺序除上述顺序外还可以为:步骤106、步骤105、步骤107;步骤106、步骤-->107、步骤105;当然并不局限于上述执行顺序,可以根据需要,任意调节上述步骤105-步骤107的执行顺序。上述操作是作为一个守护进程,运行在系统后台不断检测/proc/bus/usb/devices和/proc/partitions这两个文件的,其进程优先级低于普通应用程序,因而,可以降低资源占用率,同时也不会影响其他进程的执行。为了获得已接入和新接入USB磁盘的数量,实现自动监测USB磁盘的功能,在上述操作之前,需正确地安装USB驱动。上述方法越过热插拨机制,可以支持不同的Linux发布版本,并且实现了不同内核版本和不同发行版本间完全兼容的USB磁盘的自动监测功能。图2为本专利技术另一些实施例自动复制USB磁盘有效内容方法的流程图,该方法在获得新接入的USB磁盘的名称之后还包括:步骤201、读取并察看该新接入的USB磁盘的分区信息;当获得新接入的USB磁盘的本文档来自技高网
...

【技术保护点】
一种自动监测USB磁盘的方法,其特征在于,包括: 读取已接入USB磁盘的第一设备文件; 当第一设备文件中表示接口类型的字段值为预定值时,对第一计数器的值进行累计; 读取新接入USB磁盘的第二设备文件; 当第二设备文件中表示接口类型的字段值为预定值时,对第二计数器的值进行累计; 当第一计数器的值小于第二计数器的值时,判定有新USB磁盘接入,并通过分区文件获得新接入的USB磁盘的名称,同时将第二计数器的值保存在第一设备文件的第一计数器中; 当第一计数器的值大于第二计数器的值时,判定已移除新USB磁盘,并将第二计数器的值保存在第一设备文件的第一计数器中; 当第一计数器的值等于第二计数器的值时,判定无新USB磁盘接入或移除。

【技术特征摘要】
1、一种自动监测USB磁盘的方法,其特征在于,包括:读取已接入USB磁盘的第一设备文件;当第一设备文件中表示接口类型的字段值为预定值时,对第一计数器的值进行累计;读取新接入USB磁盘的第二设备文件;当第二设备文件中表示接口类型的字段值为预定值时,对第二计数器的值进行累计;当第一计数器的值小于第二计数器的值时,判定有新USB磁盘接入,并通过分区文件获得新接入的USB磁盘的名称,同时将第二计数器的值保存在第一设备文件的第一计数器中;当第一计数器的值大于第二计数器的值时,判定已移除新USB磁盘,并将第二计数器的值保存在第一设备文件的第一计数器中;当第一计数器的值等于第二计数器的值时,判定无新USB磁盘接入或移除。2、根据权利要求1所述的自动监测USB磁盘的方法,其特征在于,在所述通过分区文件获得新接入的USB磁盘的名称之后还包括:读取并察看该新接入的USB磁盘的分区信息;判断该分区信息是否满足预定条件,若满足,则将该新接入的USB磁盘挂接到文件系统中,否则,提示操作结束;判断磁盘中是否有特定需要复制的文件,若有...

【专利技术属性】
技术研发人员:赵鑫磊
申请(专利权)人:神州亿品科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1