CN105739959A - 一种应用编程时对外部存储器管理操作的方法 - Google Patents
一种应用编程时对外部存储器管理操作的方法 Download PDFInfo
- Publication number
- CN105739959A CN105739959A CN201410755600.9A CN201410755600A CN105739959A CN 105739959 A CN105739959 A CN 105739959A CN 201410755600 A CN201410755600 A CN 201410755600A CN 105739959 A CN105739959 A CN 105739959A
- Authority
- CN
- China
- Prior art keywords
- external memory
- memory storage
- application
- application programming
- managing process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应用编程时对外部存储器管理操作的方法,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;所述的中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;通过在系统存储器驱动和应用程序之间,增加一个统一管理、操作外部数据存储器的中间层,避免了应用编程中操作外部存储器时的进程间同步和互斥的操作,极大地简化了应用程序的代码编写,提高了系统运行的稳定性和出现问题时的排查效率。本发明实现对于应用编程而言,在通过调用该应用程序接口动态库提供的接口进行操作外部存储器时,无需考虑与其它进程之间的交互,认为本应用进程对外部存储器是独占的,随时可进行相关操作,从而简化操作过程。
Description
技术领域
本发明涉及一种应用编程时对外部存储器管理操作的方法,特别是涉及一种基于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发送的命令,包括外部存储器挂载命令、外部存储器卸载命令、外部存储器格式化的存储器管理操作命令、需要使用外部存储器的应用进程的注册命令、需要使用外部存储器的应用进程注销等内部管理操作命令。
上述实施例仅用来进一步说明本发明的一种应用编程时对外部存储器管理操作的方法,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。
Claims (3)
1.一种应用编程时对外部存储器管理操作的方法,其特征在于,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;
所述中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;
其中,所述的守护进程,用来接收外部存储器的插拔事件的信号,并将外部存储器的插拔事件的信号通知外部存储器管理进程;
所述的外部存储器管理进程,在收到系统中外部存储器的插拔事件的信号后,对外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号通过应用程序接口动态库发送到对应的应用进程;
所述的应用程序接口动态库,将来自应用进程的命令发送至外部存储器管理进程。
2.根据权利要求1所述的一种应用编程时对外部存储器管理操作的方法,其特征在于:所述的外部存储器管理进程包括如下步骤:
(1)所述的外部存储器管理进程进行进程初始化操作,包括对进程资源进行初始化、对所述的守护进程发出信号的响应处理进行注册以及将扫描外部存储器的状态默认设置为需要扫描;
(2)所述的外部存储器管理进程对是否需扫描存储器信息进行判断,如果判断为无需扫描,则进入步骤(3),否则进入步骤(4);
(3)所述的外部存储器管理进程处理应用程序通过应用程序接口动态库发送过来的命令,并对命令进行相应的处理和反馈;当所述的外部存储器管理进程处理完所有命令后,转到步骤(2);
(4)所述的外部存储器管理进程通过proc文件系统和sys文件系统扫描外部存储器的插拔状态,并记录所有外部存储器的状态;
(5)所述的外部存储器管理进程将最新扫描所得的外部存储器的插拔状态与之前的外部存储器的插拔状态进行对比,判断外部存储器是否有变化,如果有变化则向已注册的所有应用进程发送外部存储器的新状态;当所述的外部存储器管理进程完成新状态通知后,转到步骤(2)。
3.根据权利要求2所述的一种应用编程时对外部存储器管理操作的方法,其特征在于:所述的步骤(3)中,外部存储器管理进程处理应用程序通过所述的应用程序接口动态库发送过来的命令,包括外部存储器挂载命令、外部存储器卸载命令、外部存储器格式化的存储器管理操作命令、需要使用外部存储器的应用进程的注册命令、需要使用外部存储器的应用进程注销命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410755600.9A CN105739959B (zh) | 2014-12-10 | 2014-12-10 | 一种应用编程时对外部存储器管理操作的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410755600.9A CN105739959B (zh) | 2014-12-10 | 2014-12-10 | 一种应用编程时对外部存储器管理操作的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105739959A true CN105739959A (zh) | 2016-07-06 |
CN105739959B CN105739959B (zh) | 2019-11-26 |
Family
ID=56238730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410755600.9A Active CN105739959B (zh) | 2014-12-10 | 2014-12-10 | 一种应用编程时对外部存储器管理操作的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105739959B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920338A (zh) * | 2018-06-28 | 2018-11-30 | 青岛海信电器股份有限公司 | 一种指示文件系统状态的方法及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198937A (zh) * | 2005-06-17 | 2008-06-11 | 麦克罗维西恩公司 | 安全存储管理系统和方法 |
CN103530124A (zh) * | 2013-10-18 | 2014-01-22 | 中安消技术有限公司 | 一种在Linux系统下共享热插拔设备的方法与装置 |
-
2014
- 2014-12-10 CN CN201410755600.9A patent/CN105739959B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198937A (zh) * | 2005-06-17 | 2008-06-11 | 麦克罗维西恩公司 | 安全存储管理系统和方法 |
CN103530124A (zh) * | 2013-10-18 | 2014-01-22 | 中安消技术有限公司 | 一种在Linux系统下共享热插拔设备的方法与装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920338A (zh) * | 2018-06-28 | 2018-11-30 | 青岛海信电器股份有限公司 | 一种指示文件系统状态的方法及终端 |
CN108920338B (zh) * | 2018-06-28 | 2021-09-03 | 海信视像科技股份有限公司 | 一种指示文件系统状态的方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105739959B (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718281B (zh) | 一种触摸屏固件升级方法及装置 | |
CN107122321A (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
CN107957852B (zh) | 一种提升固态硬盘性能一致性的方法 | |
CN104794014A (zh) | 系统运行的方法及智能终端 | |
US10949111B2 (en) | Updating operating system images of inactive compute instances | |
CN110520844A (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN105320578A (zh) | 一种备份和恢复app的方法及装置 | |
CN104346264A (zh) | 系统事件日志处理系统及方法 | |
US20120271983A1 (en) | Computing device and data synchronization method | |
US20170286128A1 (en) | BOOT online upgrading device and method | |
CN102419753B (zh) | 信息处理设备、信息处理方法和信息处理系统 | |
CN104808953B (zh) | 控制数据存储的方法、装置及移动终端 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN104866388A (zh) | 数据处理方法及装置 | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN105739959A (zh) | 一种应用编程时对外部存储器管理操作的方法 | |
CN106844234B (zh) | 数据写入方法及装置、双活系统 | |
US9588918B2 (en) | Storage control devices and method therefor to invoke address thereof | |
US20120185713A1 (en) | Server, storage medium, and method for controlling sleep and wakeup function of the server | |
CN106775456B (zh) | 一种数据处理方法、装置及系统 | |
CN109508151A (zh) | 一种提升固态硬盘性能的方法 | |
CN101833485B (zh) | 一种基于快照的系统防护方法 | |
CN103761203A (zh) | 一种用于不同硬件设备的通用连接方法 | |
CN109309588B (zh) | 保证动态化配置数据一致性的方法和装置 | |
CN103139643B (zh) | 一种应用程序的启动方法和数字电视终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |