System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及android车机领域,尤其涉及一种磁盘管理服务的优化方法、装置、电子设备及存储介质。
技术介绍
1、随着汽车的智能化,车内外置存储设备使用越来越多,比如内置dvr,u盘音乐播放等功能,但是当外置存储设备拔出、插入以及异常时,车机则可能会出现卡顿,黑屏等问题,通过进一步分析android磁盘管理服务,其本质是单一线程持有volume全局锁机制,当用户插入外置存储设备时则对应线程持有volume全局锁,其他进程等待volume全局锁释放后才能继续执行操作,极大增加android车机使用阶段卡黑等问题的风险。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种磁盘管理服务的优化方法、装置、电子设备及存储介质。
2、第一方面,本申请提供了一种磁盘管理服务的优化方法,包括:
3、若内核usb驱动程序检测到车辆外置存储设备插入,触发卷管理器通过守护进程的第一子进程进行所述车辆外置存储设备的文件挂载操作,并执行所述车辆外置存储设备的文件系统检查操作;
4、利用所述第一子进程对应的第一父进程启动第一子线程,所述第一子线程启动后等待所述第一子进程执行所述车辆外置存储设备的文件系统检查操作完成,所述第一子线程的第一父线程等待唤醒;
5、若所述第一子线程在预设时间段内未监听到所述第一子进程执行所述车辆外置存储设备的文件系统检查操作完成,对所述第一父线程进行超时唤醒;
6、若所述第一父线程被超时唤醒
7、可选地,所述方法还包括:
8、若所述第一子线程在预设时间段内监听到所述第一子进程执行所述车辆外置存储设备的文件系统检查操作完成,对所述第一父线程进行信号唤醒;
9、若所述第一父线程被所述子线程的信号唤醒,则所述第一子进程完成所述车辆外置存储设备的挂载操作。
10、可选地,若内核usb驱动程序检测到车辆外置存储设备插入,所述方法还包括:
11、所述内核usb驱动程序向所述守护进程发送通知消息;
12、所述守护进程解析所述通知消息,根据解析后的通知消息判断事件类型,若所述事件类型为插入事件,向卷管理器上报所述插入事件;
13、在所述卷管理器监听到所述插入事件时,读取所述车辆外置存储设备及其分区信息,将所述插入事件上报至存储空间管理器,以使所述存储空间管理器检查是否支持所述车辆外置存储设备的文件系统。
14、可选地,所述方法还包括:
15、若内核usb驱动程序检测到车辆外置存储设备拔出,触发卷管理器通过守护进程的第二子进程进行所述车辆外置存储设备的移除操作,并执行所述车辆外置存储设备的资源释放操作;
16、若容器内存在未释放资源的当前运行进程,利用所述第二子进程的第二父进程启动第二子线程,所述第二子线程在启动后等待所述第二子进程执行所述车辆外置存储设备的资源释放操作完成,所述第二子线程的第二父线程等待唤醒;
17、若所述第二子线程在预设时间段内未监听到所述第二子进程执行所述车辆外置存储设备的资源释放操作完成,对所述第二父线程进行超时唤醒;
18、若所述第二父线程被超时唤醒,通知所述第二子进程结束所述车辆外置存储设备的移除操作,并杀死未释放资源的进程,完成所述车辆外置存储设备的资源释放操作。
19、可选地,所述方法还包括:
20、若所述第二子线程在预设时间段内监听到所述第二子进程执行所述车辆外置存储设备的资源释放操作完成,对所述第二父线程进行信号唤醒;
21、若所述第二父线程被所述第二子线程的信号唤醒,则所述第二子进程完成所述车辆外置存储设备的资源释放操作。
22、可选地,若内核usb驱动程序检测到车辆外置存储设备拔出,所述方法还包括:
23、所述守护进程的主进程获取当前运行进程的进程数量,根据线程池中空闲线程的数量进行事件分发;
24、每个空闲的第三子线程收到分发事件后,分别获取相应的当前运行进程的资源路径,将各所述当前运行进程对应的资源路径与所述车辆外置存储设备进行路径匹配;
25、若任一所述当前运行进程对应的资源路径与所述车辆外置存储设备的路径匹配,将所述当前运行进程加入容器回收所述第三子线程,并通知所述当前运行进程释放资源。
26、可选地,所述方法还包括:
27、若内核usb驱动程序检测到车辆外置存储设备插入,存储空间管理器向应用程序发送设备挂载通知;
28、若所述应用程序监测到错误码,根据所述错误码的数值发出相应的提示信息,所述错误码是在所述第一父线程被超时唤醒时,由所述第一父线程设置的。
29、第二方面,本申请提供了一种磁盘管理服务的优化装置,包括:
30、触发执行模块,用于若内核usb驱动程序检测到车辆外置存储设备插入,触发卷管理器通过守护进程的第一子进程进行所述车辆外置存储设备的文件挂载操作,并执行所述车辆外置存储设备的文件系统检查操作;
31、启动等待模块,用于利用所述第一子进程对应的第一父进程启动第一子线程,所述第一子线程启动后等待所述第一子进程执行所述车辆外置存储设备的文件系统检查操作完成,所述第一子线程的第一父线程等待唤醒;
32、超时唤醒模块,用于若所述第一子线程在预设时间段内未监听到所述第一子进程执行所述车辆外置存储设备的文件系统检查操作完成,对所述第一父线程进行超时唤醒;
33、通知挂载模块,用于若所述第一父线程被超时唤醒,通知所述第一子进程结束所述车辆外置存储设备的挂载操作。
34、第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
35、存储器,用于存放计算机程序;
36、处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的磁盘管理服务的优化方法。
37、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有磁盘管理服务的优化方法的程序,所述磁盘管理服务的优化方法的程序被处理器执行时实现第一方面任一所述的磁盘管理服务的优化方法的步骤。
38、本专利技术的有益效果:
39、本申请实施例通过在车辆外置存储设备插入时,在fscheck文件系统检查阶段采用异步的第一子线程、第一父线程,并通过condition pv操作进行同步,在第一父线程被超时唤醒时,及时通知第一子进程结束车辆外置存储设备的挂载操作,实现android文件系统与外置存储设备硬件状态解耦合,避免长时间等待第一子进程执行车辆外置存储设备的文件系统检查操作,减少等待时长,实现通过优化磁盘管理服务减少在外置存储设备插入场景的耗时,避免车辆外置存储设备插入时用户操作界面卡黑问题,保障用户极致体验本文档来自技高网...
【技术保护点】
1.一种磁盘管理服务的优化方法,其特征在于,包括:
2.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,若内核USB驱动程序检测到车辆外置存储设备插入,所述方法还包括:
4.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的磁盘管理服务的优化方法,其特征在于,若内核USB驱动程序检测到车辆外置存储设备拔出,所述方法还包括:
7.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
8.一种磁盘管理服务的优化装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有磁盘管理服务的
...【技术特征摘要】
1.一种磁盘管理服务的优化方法,其特征在于,包括:
2.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,若内核usb驱动程序检测到车辆外置存储设备插入,所述方法还包括:
4.根据权利要求1所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的磁盘管理服务的优化方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的磁盘管理服务的优化方法,其特征在于,若内核usb驱动程序检测到...
【专利技术属性】
技术研发人员:易政,曹俊,邹刚,
申请(专利权)人:重庆长安汽车股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。