挂载存储卡的方法、装置及移动终端与流程

文档序号:12119756阅读:291来源:国知局
挂载存储卡的方法、装置及移动终端与流程

本发明实施例涉及存储技术,尤其涉及一种挂载存储卡的方法、装置及移动终端。



背景技术:

存储卡,也称为SD卡,是用于手机、数码相机、便携式电脑、MP3和其他数码产品上的独立存储介质,具有体积小、数据传输速度快、可热插拔等优良的特性。

在存储卡插入移动终端时,会由存储类的守护进程(Volume Daemon,vold)与磁盘加载服务程序(mountservice)进行交互来实现存储卡的挂载,在交互过程中,如果有一个环节卡住,就会导致后面的命令不能处理。磁盘加载服务程序与存储类的守护进程在开机过程中交互耗时较久,就容易导致系统无响应或者黑屏等系统异常情况出现。



技术实现要素:

有鉴于此,本发明实施例提供一种挂载存储卡的方法、装置及移动终端,以避免开机过程中挂载存储卡导致的系统异常。

第一方面,本发明实施例提供了一种挂载存储卡的方法,所述方法包括:

在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息;

在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作。

第二方面,本发明实施例还提供了一种挂载存储卡的装置,所述装置包括:

标记设置模块,用于在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息;

存储卡挂载模块,用于在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作。

第三方面,本发明实施例还提供了一种移动终端,包括存储卡插槽,所述移动终端还包括本发明任意实施例所述的挂载存储卡的装置。

本发明实施例的技术方案,通过在开机过程中识别到存储卡时,在磁盘加载服务中设置一个标记位并记录所述存储卡的相关信息,并在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作,从而避免了开机过程中挂载存储卡导致的系统无响应、系统黑屏等系统异常情况。

附图说明

图1是本发明实施例一提供的一种挂载存储卡的方法的流程图;

图2是本发明实施例二提供的一种挂载存储卡的方法的流程图;

图3是本发明实施例三提供的一种挂载存储卡的方法的流程图;

图4是本发明实施例四提供的一种挂载存储卡的方法的流程图;

图5是本发明实施例五提供的一种挂载存储卡的装置的结构示意图;

图6为本发明实施例六提供的一种移动终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种挂载存储卡的方法的流程图,本实施例可适用于在开机过程中挂载存储卡的情况,该方法可以由挂载存储卡的装置来执行,该装置可以由软件和/或硬件的方式来实现,该装置可以配置在手机、平板电脑或数码相机等移动终端中。该方法具体包括如下步骤:

步骤110,在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息。

其中,磁盘加载服务程序提供存储相关的功能,如挂载、卸载、格式化卷,激活USB大容量存储模式,监测存储卡及大容量存储模式状态的变化等。存储类的守护进程作为存储设备的管控中心,需要接收来自上层的磁盘加载服务程序的操作命令,磁盘加载服务程序驻留在系统服务的进程中,和存储类的守护进程作为两个不同的进程,它们之间的通信方式采用的是socket(套接字)通信。磁盘加载服务程序的挂载、卸载卷等操作通过socket传送到存储类的守护进程,存储类的守护进程再通过和内核层通信完成相应的功能。其中,socket用于描述IP地址和端口,是一个通信链的句柄,用来实现不同虚拟机或不同计算机之间的通信。

其中,所述存储卡包括T卡,T卡,即TF卡,又称microSD,是一种极细小的快闪存储器卡,由SanDisk(闪迪)公司发明创立。这种卡主要用于手机中,但因它拥有体积极小的优点,随着不断提升的容量,慢慢开始用于GPS(Global Positioning System,全球定位系统)设备、便携式音乐播放器和一些快闪存储器盘中。

用户在移动终端关机时插入存储卡,或者在开机过程中插入存储卡,那么移动终端在开机过程中会通过检测机制识别到存储卡。这时,为了使得损坏的存储卡不影响到开机的操作,在系统服务的磁盘加载服务程序中设置一个标记位,通过该标记位记录所述存储卡的相关信息,从而先不执行挂载存储卡的操作,而执行开机的操作(如唤醒系统、唤醒应用程序和开启触摸屏的显示等)。其中,所述存储卡的相关信息包括存储卡在内核层的路径等信息。

步骤120,在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作。

移动终端在开机过程中会唤醒各种应用程序。在开机完成后,系统会发起开机广播,用于指示开机完成。

在开机完成后,根据所述标记位和所述相关信息,得到存储卡在内核层的路径,从而由存储类的守护进程与系统服务中的磁盘加载服务程序进行交互来实现存储卡的挂载。如果开机完成后,标记位中没有存储卡的相关信息,表明没有存储卡插入移动终端,则不需要执行挂载存储卡的操作。

本实施例的技术方案,通过在开机过程中识别到存储卡时,在磁盘加载服务中设置一个标记位并记录所述存储卡的相关信息,并在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作,从而避免了开机过程中挂载存储卡导致的系统无响应、系统黑屏等系统异常情况。

实施例二

图2是本发明实施例二提供的一种挂载存储卡的方法的流程图,本实施例在上述实施例的基础上进行了优化,将“根据所述标记位和所述相关信息,执行挂载所述存储卡的操作”进一步优化为“根据所述标记位和所述相关信息识别到有存储卡时,启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复;当所述文件检测系统的运行时间到达预设时间时,关闭所述文件检测系统”。

现有技术中,移动终端在检测到存储卡插入时,会通过文件检测系统(file system check,fsck)对该存储卡进行检测并修复,有些损坏的存储卡经过文件检测系统的修复可以修复成功,有些则不能修复成功。对于不能修复成功的存储卡,移动终端会一直通过文件检测系统对该存储卡进行修复,这样,会导致系统卡顿、系统黑屏等系统异常情况,严重影响用户体验。为了解决移动终端在正常运行情况时存储卡插入导致的系统异常情况,本实施例在上述实施例的基础上提供了如下的解决方案。

本实施例提供的一种挂载存储卡的方法具体包括如下步骤:

步骤210,在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息。

步骤220,在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息识别到有存储卡时,启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复。

其中,文件检测系统用来检查和维护不一致的文件系统,如系统掉电或磁盘发生问题,可利用文件检测系统对文件系统进行检查并修复。损坏的存储卡是指存储卡上的文件系统损坏或者有问题。

在开机完成后,识别磁盘加载服务程序中的标记位,如果标记位中记录有存储卡在内核层的路径等相关信息,则根据相关信息识别到有存储卡插入移动终端,这时启动文件检测系统对存储卡上的文件系统进行检测,并针对检测到的损坏或有问题的文件系统进行修复。

步骤230,当所述文件检测系统的运行时间到达预设时间时,关闭所述文件检测系统。

设置预设时间,用来限定文件检测系统的运行时间,以避免文件检测系统运行时间过长导致系统卡顿等系统异常情况。

在启动文件检测系统对存储卡进行修复时,对文件检测系统的运行时间进行计时,如果文件检测系统的运行时间到达预设时间(比如90秒),则说明存储卡已经损坏,而且其中的损坏的文件系统通过文件检测系统不能修复成功,这时关闭所述文件检测系统,终止文件检测系统对存储卡中的文件系统的修复,不再挂载该存储卡,避免损坏的存储卡对移动终端造成故障等威胁。

其中,关闭所述文件检测系统可选包括:

根据所述文件检测系统的进程标识,判断所述文件检测系统的进程是否存在;

如果是,则杀掉所述文件检测系统的进程。

在进程标识表中查询文件检测系统的进程标识,根据文件检测系统的进程标识,判断当前运行的进程中是否存在所述文件检测系统的进程,如果还存在,说明存储卡上的文件系统有损坏且不能修复成功,这时杀掉所述文件检测系统的进程,以终止文件检测系统对存储卡的修复。如果根据文件检测系统的进程标识,判定当前运行的进程中已不存在所述文件检测系统的进程,则说明文件检测系统已对存储卡修复成功,可以挂载存储卡。

本实施例的技术方案,通过在接收到指示开机完成的开机广播之后,根据所述标记位和相关信息,启动文件检测系统对存储卡进行检测并修复,并在文件检测系统的运行时间到达预设时间时将其关闭。通过设置文件检测系统的超时机制,避免了文件检测系统对存储卡的修复时间太久,导致移动终端的系统卡顿、系统黑屏等系统异常情况。

实施例三

图3是本发明实施例三提供的一种挂载存储卡的方法的流程图,本实施例在上述实施例的基础上进行了优化,将“当所述文件检测系统的运行时间到达预设时间时,关闭所述文件检测系统”进一步优化为“在启动文件检测系统的同时,启动定时时间为所述预设时间的定时器;当所述定时器的定时时间到达所述预设时间时,关闭所述文件检测系统”。该方法具体包括如下步骤:

步骤310,在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息。

步骤320,在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息识别到有存储卡时,启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复。

步骤330,在启动文件检测系统的同时,启动定时时间为所述预设时间的定时器。

设置一个定时时间为预设时间的定时器。在启动文件检测系统的同时,启动该定时时间为预设时间的定时器,以对文件检测系统的运行时间进行超时限制。

步骤340,当所述定时器的定时时间到达所述预设时间时,关闭所述文件检测系统。

当定时器的定时时间到达所述预设时间时,关闭所述文件检测系统,避免文件检测系统的运行时间过长导致系统异常。

其中,关闭所述文件检测系统可选包括:

根据所述文件检测系统的进程标识,判断所述文件检测系统的进程是否存在;

如果是,则杀掉所述文件检测系统的进程。

本实施例的技术方案,通过在启动文件检测系统的同时,启动定时时间为预设时间的定时器,并在定时时间到达所述预设时间时,关闭文件检测系统。通过设置定时器来对文件检测系统的运行时间进行限制,可以准确地控制文件检测系统的运行时间。

实施例四

图4是本发明实施例四提供的一种挂载存储卡的方法的流程图,本实施例在上述实施例的基础上进行了优化,在启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复之后,还进一步包括:当所述文件检测系统的运行时间没有到达所述预设时间时,挂载所述存储卡。该方法具体包括如下步骤:

步骤410,在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息。

步骤420,在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息识别到有存储卡时,启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复。

步骤430,当所述文件检测系统的运行时间到达预设时间时,关闭所述文件检测系统。

步骤440,当所述文件检测系统的运行时间没有到达所述预设时间时,挂载所述存储卡。

当所述文件检测系统的运行时间没有到达所述预设时间而停止了运行时,表明文件检测系统成功修复了存储卡的文件系统,这时,继续执行挂载存储卡的操作,存储卡挂载成功,用户可以访问存储卡上的文件。

本实施例的技术方案,通过文件检测系统的运行时间小于预设时间时挂载存储卡,实现了成功挂载存储卡而不影响系统的运行。

实施例五

图5是本发明实施例五提供的一种挂载存储卡的装置的结构示意图,如图5所示,本实施例所述的挂载存储卡的装置包括:标记设置模块510和存储卡挂载模块520。

其中,标记设置模块510,用于在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息;

存储卡挂载模块520,用于在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作。

优选的,所述存储卡挂载模块包括:

存储卡修复单元,用于根据所述标记位和所述相关信息识别到有存储卡时,启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复;

超时限制单元,用于当所述文件检测系统的运行时间到达预设时间时,关闭所述文件检测系统。

可选的,所述超时限制单元包括:

定时器启动子单元,用于在启动文件检测系统的同时,启动定时时间为所述预设时间的定时器;

超时限制子单元,用于当所述定时器的定时时间到达所述预设时间时,关闭所述文件检测系统。

可选的,所述超时限制子单元具体用于:

当所述定时器的定时时间到达所述预设时间时,根据所述文件检测系统的进程标识,判断所述文件检测系统的进程是否存在;

如果是,则杀掉所述文件检测系统的进程。

可选的,所述超时限制单元具体用于:

当所述文件检测系统的运行时间到达预设时间时,根据所述文件检测系统的进程标识,判断所述文件检测系统的进程是否存在;

如果是,则杀掉所述文件检测系统的进程。

可选的,所述存储卡挂载模块还包括:

存储卡挂载单元,用于在启动文件检测系统对所述存储卡进行检测并针对损坏的存储卡进行修复之后,当所述文件检测系统的运行时间没有到达所述预设时间时,挂载所述存储卡。

上述挂载存储卡的装置可执行本发明任意实施例所提供的挂载存储卡的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的挂载存储卡的方法。

实施例六

本实施例提供了一种移动终端,该移动终端可以包括本发明任意实施例提供的挂载存储卡的装置。图6为本发明实施例六提供的一种移动终端的结构示意图,如图6所示,该移动终端可以包括:存储器601、中央处理器(Central Processing Unit,以下简称CPU)602、外设接口603、RF(Radio Frequency,射频)电路605、音频电路606、扬声器611、电源管理芯片608、输入/输出(I/O)子系统609、触摸屏612、其他输入/控制设备610以及外部端口604,这些部件通过一个或多个通信总线或信号线607来通信。其中,所述外部端口604包括存储卡插槽。

应该理解的是,图示移动终端600仅仅是移动终端的一个范例,并且移动终端600可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的用于挂载存储卡的移动终端进行详细的描述,该移动终端以手机为例。

存储器601,所述存储器601可以被CPU602、外设接口603等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

外设接口603,所述外设接口603可以将设备的输入和输出外设连接到CPU602和存储器601。

I/O子系统609,所述I/O子系统609可以将设备上的输入输出外设,例如触摸屏602(相当于上述实施例中的屏幕)和其他输入/控制设备610,连接到外设接口603。I/O子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。

触摸屏612,所述触摸屏612是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

I/O子系统609中的显示控制器6091从触摸屏612接收电信号或者向触摸屏612发送电信号。触摸屏612检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

RF电路605,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路605接收并发送RF信号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。

音频电路606,主要用于从外设接口603接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器611。

扬声器611,用于将手机通过RF电路605从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片608,用于为CPU602、I/O子系统及外设接口所连接的硬件进行供电及电源管理。

本发明实施例提供的CPU602可执行如下操作:

在开机过程中识别到存储卡时,在磁盘加载服务程序中设置一个标记位,并记录所述存储卡的相关信息;

在接收到指示开机完成的开机广播之后,根据所述标记位和所述相关信息,执行挂载所述存储卡的操作。

上述移动终端可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1