CN105739959B - 一种应用编程时对外部存储器管理操作的装置 - Google Patents
一种应用编程时对外部存储器管理操作的装置 Download PDFInfo
- Publication number
- CN105739959B CN105739959B CN201410755600.9A CN201410755600A CN105739959B CN 105739959 B CN105739959 B CN 105739959B CN 201410755600 A CN201410755600 A CN 201410755600A CN 105739959 B CN105739959 B CN 105739959B
- Authority
- CN
- China
- Prior art keywords
- external memory
- storage management
- application programming
- management process
- application
- 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.)
- Active
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 (2)
1.一种应用编程时对外部存储器管理操作的装置,其特征在于,包括在Linux系统的系统存储器驱动和应用程序之间增加的一个中间层;
所述中间层,包括守护进程、外部存储器管理进程和应用程序接口动态库;
其中,所述的守护进程,用来接收外部存储器的插拔事件的信号,并将外部存储器的插拔事件的信号通知外部存储器管理进程;
所述的外部存储器管理进程,在收到系统中外部存储器的插拔事件的信号后,对外部存储器的插拔事件情况进行实时更新,并将最新的外部存储器的插拔事件的信号通过应用程序接口动态库发送到对应的应用进程;
所述的应用程序接口动态库,将来自应用进程的命令发送至外部存储器管理进程;
所述的外部存储器管理进程包括如下步骤:
(1)所述的外部存储器管理进程进行进程初始化操作,包括对进程资源进行初始化、对所述的守护进程发出信号的响应处理进行注册以及将扫描外部存储器的状态默认设置为需要扫描;
(2)所述的外部存储器管理进程对是否需扫描存储器信息进行判断,如果判断为无需扫描,则进入步骤(3),否则进入步骤(4);
(3)所述的外部存储器管理进程处理应用程序通过应用程序接口动态库发送过来的命令,并对命令进行相应的处理和反馈;当所述的外部存储器管理进程处理完所有命令后,转到步骤(2);
(4)所述的外部存储器管理进程通过proc文件系统和sys文件系统扫描外部存储器的插拔状态,并记录所有外部存储器的状态;
(5)所述的外部存储器管理进程将最新扫描所得的外部存储器的插拔状态与之前的外部存储器的插拔状态进行对比,判断外部存储器是否有变化,如果有变化则向已注册的所有应用进程发送外部存储器的新状态;当所述的外部存储器管理进程完成新状态通知后,转到步骤(2)。
2.根据权利要求1所述的一种应用编程时对外部存储器管理操作的装置,其特征在于:所述的步骤(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 CN105739959A (zh) | 2016-07-06 |
CN105739959B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920338B (zh) * | 2018-06-28 | 2021-09-03 | 海信视像科技股份有限公司 | 一种指示文件系统状态的方法及终端 |
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系统下共享热插拔设备的方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105739959A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3309667A1 (en) | Electronic device having plurality of fingerprint sensing modes and method for controlling the same | |
US20160081028A1 (en) | Information processing method and electronic device supporting the same | |
US20200401547A1 (en) | Daisy chain connection system and system control method | |
KR102205836B1 (ko) | 태스크 스케줄링 방법 및 장치 | |
US10853503B2 (en) | Selective encoding method and electronic device using same | |
EP2919115B1 (en) | Task migration method and apparatus | |
CN106484464B (zh) | 调谐器芯片驱动方法和电子设备 | |
CN103729275B (zh) | 硬盘固件修复系统及硬盘固件修复方法 | |
CN104199706A (zh) | 一种eMMC的固件升级方法及其设备 | |
CN103365667A (zh) | 一种在主机系统中安装操作系统的方法和装置 | |
CN107992407A (zh) | 使用u盘对安卓终端设备调试的系统及方法 | |
US20120271983A1 (en) | Computing device and data synchronization method | |
US20140172484A1 (en) | Electronic device and work handover method | |
CN107526593A (zh) | 基于动态链接库的bmc功能定制方法 | |
CN105354071A (zh) | 一种嵌入式软件兼容硬件的方法 | |
CN103019755A (zh) | 嵌入式系统中多cpu的无线程序下载方法 | |
US9325576B2 (en) | Dynamic server to server configuration and initialization | |
CN106547861A (zh) | 一种智能管理机器节点的数据库的方法及装置 | |
CN104808953B (zh) | 控制数据存储的方法、装置及移动终端 | |
CN105739959B (zh) | 一种应用编程时对外部存储器管理操作的装置 | |
JP2019500664A (ja) | セキュアエレメント内のアプリケーションを管理する方法 | |
CN106067049A (zh) | 一种基于nfc技术的安卓客户端读卡方法 | |
CN104079432A (zh) | 网络设备异常的处理方法和装置 | |
CN105159714B (zh) | 一种pmic初始化方法和电子设备 | |
US20170111608A1 (en) | Method for recording execution screen and electronic device for processing the same |
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 |