一种应用编程时对外部存储器管理操作的装置制造方法及图纸

技术编号:13304249 阅读:75 留言:0更新日期:2016-07-09 22:26
本发明专利技术公开了一种应用编程时对外部存储器管理操作的装置,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;所述的中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;通过在系统存储器驱动和应用程序之间,增加一个统一管理、操作外部数据存储器的中间层,避免了应用编程中操作外部存储器时的进程间同步和互斥的操作,极大地简化了应用程序的代码编写,提高了系统运行的稳定性和出现问题时的排查效率。本发明专利技术实现对于应用编程而言,在通过调用该应用程序接口动态库提供的接口进行操作外部存储器时,无需考虑与其它进程之间的交互,认为本应用进程对外部存储器是独占的,随时可进行相关操作,从而简化操作过程。

【技术实现步骤摘要】

本专利技术涉及一种应用编程时对外部存储器管理操作的方法,特别是涉及一种基于Linux系统的外部存储器管理方法。
技术介绍
在某些功能比较复杂的嵌入式产品中,往往同时需要管理U盘、SD卡和硬盘等外部数据存储器,在基于Linux的产品中,当嵌入式程序的多个应用进程中可能都需要同时对这些外部存储器进行操作(如格式化、挂载、卸载和新设备通知等)时,要求每个应用进程在编程时都需要充分考虑与其它进程之间的互斥操作,使应用编程中涉及到外部存储器的步骤较为烦琐,管理也较为复杂。
技术实现思路
本专利技术的目的在于克服现有技术之不足,提供一种应用编程时对外部存储器管理操作的方法,使得对于应用编程而言,调用该动态库提供的接口进行操作外部存储器时,无需考虑与其它进程之间的交互,而是认为本应用进程对外部存储器是独占的,随时可进行相关操作,从而简化操作过程。本专利技术解决其技术问题所采用的技术方案是:一种应用编程时对外部存储器管理操作的方法,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;所述中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;其中,所述的守护进程,用来接收外部存储器的插拔事件的信号,并将外部存储器的插拔事件的信号通知外部存储器管理进程;所述的外部存储器管理进程,在收到系统中外部存储器的插拔事件的信号后,对外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号通过应用程序接口动态库发送到对应的应用进程;所述的应用程序接口动态库,将来自应用进程的命令发送至外部存储器管理进程。优选的,所述的外部存储器管理进程包括如下步骤:(1)所述的外部存储器管理进程进行进程初始化操作,包括对进程资源进行初始化、对所述的守护进程发出信号的响应处理进行注册以及将扫描外部存储器的状态默认设置为需要扫描;(2)所述的外部存储器管理进程对是否需扫描存储器信息进行判断,如果判断为无需扫描,则进入步骤(3),否则进入步骤(4);(3)所述的外部存储器管理进程处理应用程序通过应用程序接口动态库发送过来的命令,并对命令进行相应的处理和反馈;当所述的外部存储器管理进程处理完所有命令后,转到步骤(2);(4)所述的外部存储器管理进程通过proc文件系统和sys文件系统扫描外部存储器的插拔状态,并记录所有外部存储器的状态;(5)所述的外部存储器管理进程将最新扫描所得的外部存储器的插拔状态与之前的外部存储器的插拔状态进行对比,判断外部存储器是否有变化,如果有变化则向已注册的所有应用进程发送外部存储器的新状态;当所述的外部存储器管理进程完成新状态通知后,转到步骤(2)。优选的,所述的步骤(3)中外部存储器管理进程处理应用程序通过所述的应用程序接口动态库发送过来的命令,包括外部存储器挂载命令、外部存储器卸载命令、外部存储器格式化的存储器管理操作命令、需要使用外部存储器的应用进程的注册命令、需要使用外部存储器的应用进程注销命令。本专利技术的有益效果是:1、通过在系统存储器驱动和应用程序之间,增加一个统一管理、操作外部数据存储器的中间层,避免了应用编程中操作外部存储器时的进程间同步和互斥的操作,极大地简化了应用程序的代码编写;2、由于对外部存储器的操作都集在一个进程中统一进行,可避免因应用编程不慎而导致的错误操作,提高了系统运行的稳定性和出现问题时的排查效率。以下结合附图及实施例对本专利技术作进一步详细说明;但本专利技术的一种应用编程时对外部存储器管理操作的方法不局限于实施例。附图说明图1是本专利技术的中间层的结构框图;图2是本专利技术的外部存储器管理进程运行的流程图。具体实施方式实施例参见图1所示,本专利技术的一种应用编程时对外部存储器管理操作的方法,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;所述中间层,包括守护进程10、外部存储器管理进程20和应用程序接口动态库30;其中,所述的守护进程10,用来接收外部存储器的插拔事件的信号,并将外部存储器的插拔事件的信号通知外部存储器管理进程20;所述的外部存储器管理进程20,在收到系统中外部存储器的插拔事件的信号后,对外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号通过应用程序接口动态库30发送到对应的应用进程;所述的应用程序接口动态库30,将来自应用进程的命令发送至外部存储器管理进程20。参见图2所示,本专利技术的一种应用编程时对外部存储器管理操作的方法中所述的外部存储器管理进程20包括如下步骤:(1)所述的外部存储器管理进程20进行进程初始化201操作,包括对进程资源进行初始化、对所述的守护进程发出信号的响应处理进行注册以及将扫描外部存储器的状态默认设置为需要扫描;(2)所述的外部存储器管理进程20对是否需扫描存储器信息202进行判断,如果判断为无需扫描,则进入步骤(3),否则进入步骤(4);(3)所述的外部存储器管理进程20处理应用程序通过应用程序接口动态库发送过来的命令203,并对命令进行相应的处理和反馈;当所述的外部存储器管理进程处理完所有命令后,转到步骤(2);(4)所述的外部存储器管理进程通过proc文件系统和sys文件系统扫描外部存储器的插拔状态204,并记录所有外部存储器的状态;(5)所述的外部存储器管理进程20将最新扫描所得的外部存储器的插拔状态与之前的外部存储器的插拔状态进行对比,判断外部存储器是否有变化205,如果有变化则向已注册的所有应用进程发送外部存储器的新状态206;当所述的外部存储器管理进程20完成新状态通知后,转到步骤(2)。更进一步的,所述的步骤(3)中外部存储器管理进程20处理应用程序通过所述的应用程序接口动态库30发送的命令,包括外部存储器挂载命令、外部存储器卸载命令、外部存储器格式化的存储器管理操作命令、需要使用外部存储器的应用进程的注册命令、需要使用外部存储器的应用进程注销等内部管理操作命令。上述实施例仅用来进一步说明本专利技术的一种应用编程时对外部存储器管理操作的方法,但本专利技术并不局限于实施例,凡是依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本专利技术技术方案的保护范围内。本文档来自技高网...

【技术保护点】
一种应用编程时对外部存储器管理操作的方法,其特征在于,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;所述中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;其中,所述的守护进程,用来接收外部存储器的插拔事件的信号,并将外部存储器的插拔事件的信号通知外部存储器管理进程;所述的外部存储器管理进程,在收到系统中外部存储器的插拔事件的信号后,对外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号通过应用程序接口动态库发送到对应的应用进程;所述的应用程序接口动态库,将来自应用进程的命令发送至外部存储器管理进程。

【技术特征摘要】
1.一种应用编程时对外部存储器管理操作的方法,其特征在于,包括在Linux
系统的系统存储器驱动和应用程序之间增加的一个中间层;
所述中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;
其中,所述的守护进程,用来接收外部存储器的插拔事件的信号,并将外部存储
器的插拔事件的信号通知外部存储器管理进程;
所述的外部存储器管理进程,在收到系统中外部存储器的插拔事件的信号后,对
外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号
通过应用程序接口动态库发送到对应的应用进程;
所述的应用程序接口动态库,将来自应用进程的命令发送至外部存储器管理进
程。
2.根据权利要求1所述的一种应用编程时对外部存储器管理操作的方法,其特
征在于:所述的外部存储器管理进程包括如下步骤:
(1)所述的外部存储器管理进程进行进程初始化操作,包括对进程资源进行初
始化、对所述的守护进程发出信号的响应处理进行注册以及将扫描外部存储器的状态
默认设置为需要扫描;
(2)所述的外部存储器管理进程对是否需扫描存储器信息进行判断,如果判断

【专利技术属性】
技术研发人员:郑福弟任赋李培明陈从华杨磊
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:福建;35

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

1