存储装置识别方法、电子设备、系统及介质与流程

文档序号:18409398发布日期:2019-08-10 00:49阅读:162来源:国知局
存储装置识别方法、电子设备、系统及介质与流程
本发明涉及智能设备
技术领域
,尤其涉及存储装置识别方法、电子设备、系统及介质。
背景技术
:现有技术方案中,在进行存储装置(如:移动硬盘)的动态装卸时,通常采用nas(networkattachedstorage,网络附属存储)技术,或者采用支持外置存储的开源路由方式等业内普遍应用的成熟技术,在用户插入存储装置后,主要进行如下操作:1.内核驱动识别设备,并调用应用程序mdev;2.mdev调用脚本进行设备挂载;3.脚本完成挂载后,通过进程间通讯广播消息。上述方式存在下列问题:1)内核hotplug(热插拔)机制可能未执行mdev,导致挂载脚本未执行,因此,在存储装置插入后未能被识别并使用。2)对于未能直接识别块设备信息的存储装置无法进行挂载。3)存储装置在高速i/o(input/output,输入/输出)中途可能掉盘,并无法自动恢复。技术实现要素:本发明的主要目的在于提供存储装置识别方法、电子设备、系统及介质,旨在解决对存储装置的自动挂载,避免存储装置未被识别给设备运行造成影响。为实现上述目的,本发明提供一种存储装置识别方法,所述方法包括:在电子设备启动后,监听热插拔事件;当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区;识别各个分区的文件系统类型;根据各个分区的文件系统类型为各个分区创建线程;当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载。优选地,所述监听到所述热插拔事件包括:当监听到netlink消息时,确定监听到所述热插拔事件;及/或当检测到有存储装置在所述电子设备启动后首次接入时,确定监听到所述热插拔事件。优选地,执行各个分区的线程包括:根据各个分区的文件系统类型确定各个分区的修复工具;控制各个分区的修复工具修复各个分区;当检测到有第一分区修复完成时,挂载所述第一分区至配置目录;修改所述第一分区的状态为已挂载状态;退出所述第一分区的线程。优选地,所述方法还包括:当在各个分区中有第二分区的文件系统类型不确定时,为所述第二分区遍历所有修复工具。优选地,在获取所述热插拔事件对应的目标存储装置后,所述方法还包括:将所述目标存储装置保存至配置列表;其中,所述配置列表用于记录连接所述电子设备的所有存储装置。优选地,所述方法还包括:每隔预设时间间隔,遍历所述配置列表中的所有存储装置,及所述所有存储装置中每个存储装置的分区;当有存储装置掉盘及/或有分区丢失时,发出警报。为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述存储装置识别方法。优选地,所述电子设备为组成内容分发网络或者区块链网络的节点。为实现上述目的,本发明进一步提供一种存储装置识别系统,所述系统包括:监听单元,用于在电子设备启动后,监听热插拔事件;获取单元,用于当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区;识别单元,用于识别各个分区的文件系统类型;创建单元,用于根据各个分区的文件系统类型为各个分区创建线程;广播单元,用于当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载。优选地,所述监听单元监听到所述热插拔事件包括:当监听到netlink消息时,确定监听到所述热插拔事件;及/或当检测到有存储装置在所述电子设备启动后首次接入时,确定监听到所述热插拔事件。优选地,所述系统还包括执行单元,所述执行单元执行各个分区的线程包括:根据各个分区的文件系统类型确定各个分区的修复工具;控制各个分区的修复工具修复各个分区;当检测到有第一分区修复完成时,挂载所述第一分区至配置目录;修改所述第一分区的状态为已挂载状态;退出所述第一分区的线程。优选地,所述系统还包括:遍历单元,用于当在各个分区中有第二分区的文件系统类型不确定时,为所述第二分区遍历所有修复工具。优选地,所述系统还包括:保存单元,用于在获取所述热插拔事件对应的目标存储装置后,将所述目标存储装置保存至配置列表;其中,所述配置列表用于记录连接所述电子设备的所有存储装置。优选地,所述遍历单元,还用于每隔预设时间间隔,遍历所述配置列表中的所有存储装置,及所述所有存储装置中每个存储装置的分区;所述系统还包括:报警单元,用于当有存储装置掉盘及/或有分区丢失时,发出警报。为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有存储装置识别程序,所述存储装置识别程序可被一个或者多个处理器执行,以实现所述的存储装置识别方法。为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行所述存储装置识别方法。综上所述,本发明能够在电子设备启动后,监听热插拔事件,当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区,识别各个分区的文件系统类型,并根据各个分区的文件系统类型为各个分区创建线程,当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载,从而实现对存储装置的自动挂载,避免存储装置未被识别给设备运行造成影响。附图说明图1为本发明一实施例的流程示意图;图2为本发明一实施例揭露的电子设备的内部结构示意图;图3为本发明存储装置识别系统的功能模块示意图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。主要元件符号说明电子设备1存储器12处理器13存储装置识别系统11监听单元110获取单元111识别单元112创建单元113广播单元114执行单元115遍历单元116保存单元117报警单元118具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提供一种存储装置识别方法。参照图1,图1为本发明一实施例的流程示意图。根据不同的需求,该流程示意图中步骤的顺序可以改变,某些步骤可以省略。所述存储装置识别方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述电子设备的硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。在一实施例中,该方法包括:s10,在电子设备启动后,监听热插拔事件。在本发明的至少一个实施例中,所述电子设备监听热插拔事件可以包括,但不限于以下一种或者多种方式的组合:(1)所述电子设备监听netlink消息。(2)所述电子设备检测是否有存储装置在所述电子设备启动后首次接入。通过上述实施方式,能够在所述电子设备启动后,立刻监听所述热插拔事件,以便在监听到所述热插拔事件后,对所述热插拔事件进行及时响应,提高处理效率。s11,当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区。在本发明的至少一个实施例中,所述目标存储装置包括,但不限于:移动硬盘。在本发明的至少一个实施例中,一个存储装置可以包括多个分区,本发明对所述分区的数量不限制。例如:所述目标存储装置的分区数量可以为2个。在本发明的至少一个实施例中,对应于不同的监听方式,所述电子设备监听到所述热插拔事件可以包括,但不限于以下一种或者多种情况的组合:(1)当监听到netlink消息时,所述电子设备确定监听到所述热插拔事件。具体地,所述netlink消息由所述电子设备的内核驱动发出,用于提示所述电子设备监听到所述热插拔事件。通过上述实施方式,能够在内核netlink消息异常或丢失时,执行对所述目标存储装置的正常挂载。(2)当检测到有存储装置在所述电子设备启动后首次接入时,所述电子设备确定监听到所述热插拔事件。具体地,所述电子设备可以采用一个守护进程检测是否有存储装置在所述电子设备启动后首次接入,本发明不限制。通过上述实施方式,在使用所述目标存储装置时,当所述目标存储装置在驱动层面掉盘后,能够自动重新挂载。进一步地,所述电子设备获取所述热插拔事件对应的目标存储装置包括:所述电子设备检测底层设备的磁盘信息,以确定所述热插拔事件对应的目标存储装置。其中,所述磁盘信息包括usb(universalserialbus,通用串行总线)设备节点名等。在本发明的至少一个实施例中,在获取所述热插拔事件对应的所述目标存储装置后,所述方法还包括:所述电子设备将所述目标存储装置保存至配置列表。其中,所述配置列表用于记录连接所述电子设备的所有存储装置。通过上述实施方式,能够对所述电子设备连接的所有存储装置进行存档,便于后续执行匹配等操作时使用。在本发明的至少一个实施例中,所述方法还包括:每隔预设时间间隔,所述电子设备遍历所述配置列表中的所有存储装置,及所述所有存储装置中每个存储装置的分区,当有存储装置掉盘及/或有分区丢失时,所述电子设备发出警报。其中,所述掉盘是指在阵列卡中组的raid(redundantarraysofindependentdrives,磁盘阵列),在工作过程中,出现的磁盘丢失而导致分区被脱机的现象。通常来说,掉盘是可以恢复的,比如重新插拔(或者重启)。例如:当所述电子设备在运行的时候“卡死”,重启了主板检测不到固态驱动器时,所述电子设备确定出现掉盘现象。具体地,所述预设时间间隔可以进行自定义配置,如:3小时、30分钟等,本发明不限制。进一步地,所述电子设备发出警报的方式包括,但不限于以下一种或者多种的组合:(1)所述电子设备发出提示音。(2)所述电子设备进行指示灯提醒。(3)所述电子设备发出弹框提醒。通过上述实施方式,能够在所述目标存储装置及/或分区发生异常时及时提醒用户注意,进而能够有效避免有存储装置或分区被遗漏时给用户的使用带来影响。s12,识别各个分区的文件系统类型。在本发明的至少一个实施例中,每个分区都具有对应的文件系统类型。具体地,所述文件系统类型可以包括,但不限于:ntfs类型、fat32类型、ext4类型等。其中,每种文件系统类型具有不同的特性。例如:所述ext4类型为日志式文件系统,支持1eb(1024*1024tb),最大单文件16tb,且支持连续写入可减少文件碎片;所述fat32类型采用32位的文件分配表,支持最大分区128gb,最大文件4gb;所述ntfs类型支持最大分区2tb,最大文件2tb,安全性和稳定性非常好,不易出现文件碎片。相应地,对于不同的文件系统类型,采用不同的方法管理磁盘空间,且各有优劣。在本发明的至少一个实施例中,所述电子设备识别各个分区的文件系统类型包括:所述电子设备检测各个分区的块设备信息,并从所述块设备信息中调取各个分区的文件系统类型。其中,所述块设备信息包括,但不限于以下一种或者多种信息的组合:文件系统类型、文件系统的预设标签、文件的大小等。s13,根据各个分区的文件系统类型为各个分区创建线程。可以理解的而是,鉴于不同文件系统类型的不同特性,具备不同文件系统类型的各个分区的线程也将有所不同,以便利用不同线程对各个分区进行针对性处理。因此,所述电子设备根据各个分区的文件系统类型为各个分区创建线程,本发明对具体创建方式不限制。s14,当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载。在本发明的至少一个实施例中,所述电子设备执行各个分区的线程包括:所述电子设备根据各个分区的文件系统类型确定各个分区的修复工具,并控制各个分区的修复工具修复各个分区,当检测到有第一分区修复完成时,所述电子设备挂载所述第一分区至配置目录,并修改所述第一分区的状态为已挂载状态,所述电子设备退出所述第一分区的线程。具体地,不同文件系统类型的分区对应于不同的修复工具,所述修复工具用于修复各个分区。进一步地,所述配置目录可以进行自定义配置,本发明不限制。在本发明的至少一个实施例中,所述方法还包括:当在各个分区中有第二分区的文件系统类型不确定时,所述电子设备为所述第二分区遍历所有修复工具。通过上述实施方式,能够在未直接识别到文件系统类型时,对所述目标存储装置进行模糊挂载,避免遗漏。在本发明的至少一个实施例中,所述电子设备能够当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载,进而在多盘多分区的情况下,能够统筹规范磁盘状态,并将每个磁盘的磁盘状态同步到磁盘消费模块。其中,所述磁盘消费模块是指利用所述目标存储装置执行具体任务的各个业务模块的集成。在本发明的至少一个实施例中,所述方法还包括:当监听到所述热插拔事件时,发出提示信息,并在广播所述目标存储装置已完成挂载后,关闭所述提示信息。例如:当监听到所述热插拔事件时,所述电子设备可以以呼吸灯闪烁的方式发出所述提示信息,并在广播所述目标存储装置已完成挂载后,所述电子设备关闭闪烁的呼吸灯。通过上述实施方式,能够让用户更加直观的看到所述目标存储装置连接状态的变化,用户体验更佳。在本发明的至少一个实施例中,上述存储装置识别方法可以以守护进程的方式实现,由于守护进程可以在所述电子设备启动后,常驻后台运行,并一直进行守护,对异常情况的反应更加及时,因此能够更好的处理对所述目标存储装置的识别问题。综上所述,本发明能够在电子设备启动后,监听热插拔事件,当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区,识别各个分区的文件系统类型,并根据各个分区的文件系统类型为各个分区创建线程,当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载,从而实现对存储装置的自动挂载,避免存储装置未被识别给设备运行造成影响。参见图2,在本实施例中,所述电子设备1是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述电子设备1还可以是但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备、桌上型计算机、云端服务器等计算设备等。所述电子设备1所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。所述电子设备1可以是组成内容分发网络或者区块链网络的节点。所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如存储装置识别程序。本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如存储装置识别程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。处理器13在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器12中存储的程序代码或处理数据,例如执行存储装置识别程序等。所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个存储装置识别方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14。或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:在电子设备启动后,监听热插拔事件;当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区;识别各个分区的文件系统类型;根据各个分区的文件系统类型为各个分区创建线程;当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载。该总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成监听单元110、获取单元111、识别单元112、创建单元113、广播单元114、执行单元115、遍历单元116、保存单元117及报警单元118。进一步地,电子设备还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。可选地,该电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。图2仅示出了具有组件12-13,以及存储装置识别程序的电子设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种存储装置识别方法,所述处理器13可执行所述多个指令从而实现:在电子设备启动后,监听热插拔事件;当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区;识别各个分区的文件系统类型;根据各个分区的文件系统类型为各个分区创建线程;当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载。根据本发明优选实施例,所述处理器13还执行多个指令包括:当监听到netlink消息时,确定监听到所述热插拔事件;及/或当检测到有存储装置在所述电子设备启动后首次接入时,确定监听到所述热插拔事件。根据本发明优选实施例,所述处理器13还执行多个指令包括:根据各个分区的文件系统类型确定各个分区的修复工具;控制各个分区的修复工具修复各个分区;当检测到有第一分区修复完成时,挂载所述第一分区至配置目录;修改所述第一分区的状态为已挂载状态;退出所述第一分区的线程。根据本发明优选实施例,所述处理器13还执行多个指令包括:当在各个分区中有第二分区的文件系统类型不确定时,为所述第二分区遍历所有修复工具。根据本发明优选实施例,所述处理器13还执行多个指令包括:将所述目标存储装置保存至配置列表;其中,所述配置列表用于记录连接所述电子设备的所有存储装置。根据本发明优选实施例,所述处理器13还执行多个指令包括:每隔预设时间间隔,遍历所述配置列表中的所有存储装置,及所述所有存储装置中每个存储装置的分区;当有存储装置掉盘及/或有分区丢失时,发出警报。参照图3,为本发明存储装置识别系统的功能模块示意图。所述存储装置识别系统11包括监听单元110、获取单元111、识别单元112、创建单元113、广播单元114、执行单元115、遍历单元116、保存单元117及报警单元118。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。在电子设备启动后,监听单元110监听热插拔事件。在本发明的至少一个实施例中,所述监听单元110监听热插拔事件可以包括,但不限于以下一种或者多种方式的组合:(1)所述监听单元110监听netlink消息。(2)所述监听单元110检测是否有存储装置在所述电子设备启动后首次接入。通过上述实施方式,能够在所述电子设备启动后,立刻监听所述热插拔事件,以便在监听到所述热插拔事件后,对所述热插拔事件进行及时响应,提高处理效率。当监听到所述热插拔事件时,获取单元111获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区。在本发明的至少一个实施例中,所述目标存储装置包括,但不限于:移动硬盘。在本发明的至少一个实施例中,一个存储装置可以包括多个分区,本发明对所述分区的数量不限制。例如:所述目标存储装置的分区数量可以为2个。在本发明的至少一个实施例中,对应于不同的监听方式,所述监听单元110监听到所述热插拔事件可以包括,但不限于以下一种或者多种情况的组合:(1)当监听到netlink消息时,所述监听单元110确定监听到所述热插拔事件。具体地,所述netlink消息由所述电子设备的内核驱动发出,用于提示所述电子设备监听到所述热插拔事件。通过上述实施方式,能够在内核netlink消息异常或丢失时,执行对所述目标存储装置的正常挂载。(2)当检测到有存储装置在所述电子设备启动后首次接入时,所述监听单元110确定监听到所述热插拔事件。具体地,所述监听单元110可以采用一个守护进程检测是否有存储装置在所述电子设备启动后首次接入,本发明不限制。通过上述实施方式,在使用所述目标存储装置时,当所述目标存储装置在驱动层面掉盘后,能够自动重新挂载。进一步地,所述获取单元111获取所述热插拔事件对应的目标存储装置包括:所述获取单元111检测底层设备的磁盘信息,以确定所述热插拔事件对应的目标存储装置。其中,所述磁盘信息包括usb(universalserialbus,通用串行总线)设备节点名等。在本发明的至少一个实施例中,在获取所述热插拔事件对应的所述目标存储装置后,所述方法还包括:保存单元117将所述目标存储装置保存至配置列表。其中,所述配置列表用于记录连接所述电子设备的所有存储装置。通过上述实施方式,能够对所述电子设备连接的所有存储装置进行存档,便于后续执行匹配等操作时使用。在本发明的至少一个实施例中,所述方法还包括:每隔预设时间间隔,遍历单元116遍历所述配置列表中的所有存储装置,及所述所有存储装置中每个存储装置的分区,当有存储装置掉盘及/或有分区丢失时,报警单元118发出警报。其中,所述掉盘是指在阵列卡中组的raid(redundantarraysofindependentdrives,磁盘阵列),在工作过程中,出现的磁盘丢失而导致分区被脱机的现象。通常来说,掉盘是可以恢复的,比如重新插拔(或者重启)。例如:当所述电子设备在运行的时候“卡死”,重启了主板检测不到固态驱动器时,所述报警单元118确定出现掉盘现象。具体地,所述预设时间间隔可以进行自定义配置,如:3小时、30分钟等,本发明不限制。进一步地,所述报警单元118发出警报的方式包括,但不限于以下一种或者多种的组合:(1)所述报警单元118发出提示音。(2)所述报警单元118进行指示灯提醒。(3)所述报警单元118发出弹框提醒。通过上述实施方式,能够在所述目标存储装置及/或分区发生异常时及时提醒用户注意,进而能够有效避免有存储装置或分区被遗漏时给用户的使用带来影响。识别单元112识别各个分区的文件系统类型。在本发明的至少一个实施例中,每个分区都具有对应的文件系统类型。具体地,所述文件系统类型可以包括,但不限于:ntfs类型、fat32类型、ext4类型等。其中,每种文件系统类型具有不同的特性。例如:所述ext4类型为日志式文件系统,支持1eb(1024*1024tb),最大单文件16tb,且支持连续写入可减少文件碎片;所述fat32类型采用32位的文件分配表,支持最大分区128gb,最大文件4gb;所述ntfs类型支持最大分区2tb,最大文件2tb,安全性和稳定性非常好,不易出现文件碎片。相应地,对于不同的文件系统类型,采用不同的方法管理磁盘空间,且各有优劣。在本发明的至少一个实施例中,所述识别单元112识别各个分区的文件系统类型包括:所述识别单元112检测各个分区的块设备信息,并从所述块设备信息中调取各个分区的文件系统类型。其中,所述块设备信息包括,但不限于以下一种或者多种信息的组合:文件系统类型、文件系统的预设标签、文件的大小等。创建单元113根据各个分区的文件系统类型为各个分区创建线程。可以理解的而是,鉴于不同文件系统类型的不同特性,具备不同文件系统类型的各个分区的线程也将有所不同,以便利用不同线程对各个分区进行针对性处理。因此,所述创建单元113根据各个分区的文件系统类型为各个分区创建线程,本发明对具体创建方式不限制。当检测到各个分区的线程都执行完毕时,广播单元114广播所述目标存储装置已完成挂载。在本发明的至少一个实施例中,执行单元115执行各个分区的线程包括:所述执行单元115根据各个分区的文件系统类型确定各个分区的修复工具,并控制各个分区的修复工具修复各个分区,当检测到有第一分区修复完成时,所述执行单元115挂载所述第一分区至配置目录,并修改所述第一分区的状态为已挂载状态,所述执行单元115退出所述第一分区的线程。具体地,不同文件系统类型的分区对应于不同的修复工具,所述修复工具用于修复各个分区。进一步地,所述配置目录可以进行自定义配置,本发明不限制。在本发明的至少一个实施例中,所述方法还包括:当在各个分区中有第二分区的文件系统类型不确定时,所述遍历单元116为所述第二分区遍历所有修复工具。通过上述实施方式,能够在未直接识别到文件系统类型时,对所述目标存储装置进行模糊挂载,避免遗漏。在本发明的至少一个实施例中,所述广播单元114能够当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载,进而在多盘多分区的情况下,能够统筹规范磁盘状态,并将每个磁盘的磁盘状态同步到磁盘消费模块。其中,所述磁盘消费模块是指利用所述目标存储装置执行具体任务的各个业务模块的集成。在本发明的至少一个实施例中,所述方法还包括:当监听到所述热插拔事件时,所述监听单元110发出提示信息,并在广播所述目标存储装置已完成挂载后,所述监听单元110关闭所述提示信息。例如:当监听到所述热插拔事件时,所述监听单元110可以以呼吸灯闪烁的方式发出所述提示信息,并在广播所述目标存储装置已完成挂载后,所述监听单元110关闭闪烁的呼吸灯。通过上述实施方式,能够让用户更加直观的看到所述目标存储装置连接状态的变化,用户体验更佳。在本发明的至少一个实施例中,上述存储装置识别方法可以以守护进程的方式实现,由于守护进程可以在所述电子设备启动后,常驻后台运行,并一直进行守护,对异常情况的反应更加及时,因此能够更好的处理对所述目标存储装置的识别问题。综上所述,本发明能够在电子设备启动后,监听热插拔事件,当监听到所述热插拔事件时,获取所述热插拔事件对应的目标存储装置及所述目标存储装置的各个分区,识别各个分区的文件系统类型,并根据各个分区的文件系统类型为各个分区创建线程,当检测到各个分区的线程都执行完毕时,广播所述目标存储装置已完成挂载,从而实现对存储装置的自动挂载,避免存储装置未被识别给设备运行造成影响。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、移动硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态移动硬盘solidstatedisk(ssd))等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1