logo好方法网

Android应用外存限额监控工具及其使用方法


技术摘要:
本发明公开了一种Android应用外存限额监控工具及其使用方法,该工具包括嵌入式关系数据库接口层、对象存储接口层和文件监控层。嵌入式关系数据库接口层用于LRU(最近最少使用)算法和数据库的对接以及保存上传至云对象存储的文件信息。对象存储接口层用于LRU算法和云对象  全部
背景技术:
近些年,在IT技术蓬勃的发展的浪潮下,计算机各项技术为不同领域的发展都起 到了巨大的推动作用。在不同的领域中,为了满足用户的使用需求,PC  端和手机端的各种 应用层出不穷。手机应用更新换代频繁,这些应用占据的存储空间从最初的几兆到现在的 几百兆甚至一两个吉字节。虽然手机存储空间也变得越来越大,但是应用使用过程中产生 的大量文件仍然会将有限的手机存储空间占满。虽然手机应用占据的存储空间越来越大, 但是不同应用产生的数据量是不一样的,例如,相册和社交软件之类的应用,由于使用的频 率很高,自然而然产生的数据量会更多。那么能否根据不同的应用设定不同的外存限额,一 方面更好地利用手机存储空间,另一方面更高效地管理应用产生的数据。 与此同时,云对象存储在IT技术发展的背景下迅速发展,凭借其海量,安全以及高 性能等特点脱颖而出。随着目前5G技术的到来,从云对象存储下载或者上传文件的网络传 输时间能得到极大的缩短,能进一步为云对象存储的发展和使用推波助澜。 虽然目前存在即拍即传的这些实际案例,但Android中并没有一个能用于对应用 外存限额监控的工具。但是在目前的手机应用产生如此大量的文件的背景之下,需要有一 款能用于Android应用外存限额的监控工具来协助文件系统管理手机应用占据的存储空 间。因此将云对象存储作为手机应用的后备存储空间为我们提供了解决手机存储空间有限 这个问题的思路。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提出了一种基于云对象存储后备 的Android应用外存限额监控工具及其使用方法,能监控应用对文件的操作,自动完成手机 应用文件从本地到云对象存储的取回和上传操作,实现限额管理,从而灵活管理手机文件, 节省手机存储空间。 为实现上述目的,本发明所提供的技术方案为:Android应用外存限额监控工具, 包括: 文件监控层,由配置文件、LRU算法和文件状态监控三部分组成,其使用文件监控 工具FileObserver监控应用中文件的状态变化,包括文件的打开、修改、写完成和删除状 态; 嵌入式关系数据库接口层,用于LRU算法和SQLite关系数据库的对接,并封装对数 据库操作的函数; 对象存储接口层,用于LRU算法和云对象存储的对接,并封装对云对象存储操作的 函数。 5 CN 111581165 A 说 明 书 2/6 页 进一步,所述嵌入式关系数据库接口层的后端为SQLite关系数据库,同时在该层 封装操作SQLite关系数据库的函数,包括增加、修改、删除和查询SQLite  关系数据库中字 段的函数,当文件监控层监控到应用删除本地文件时,会查询  SQLite关系数据库中是否有 该文件记录,当SQLite关系数据库中有该文件记录时,则需要同时删除本地文件和该文件 在SQLite关系数据库中的记录,当文件监控层监控到应用触发外存限额时,则需要将上传 至云对象存储的文件信息写入SQLite关系数据库中;所述SQLite关系数据库中用文件属性 表记录上传文件的属性,文件属性表中的字段包括文件名称以及文件最后的修改时间,所 述文件属性表中记录的文件信息用于判断文件在本地还是云对象存储中。 进一步,所述对象存储接口层的后端是一个云对象存储,所述云对象存储用于存 储手机应用从手机本地上传至云对象存储的文件;当文件监控层监控到应用打开文件时, 需要判断该文件是否在云对象存储中,当文件在云对象存储时,则需要先将文件从云对象 存储取回本地后再打开文件;当文件监控层监控到应用删除文件时,需要先判断文件是否 在云对象存储中,当文件在云对象存储时,则需同时删除该文件在本地和云对象存储的记 录,否则直接删除文件的本地记录即可;其中,判断文件是否在云对象存储是根据嵌入式关 系数据库中有无该文件记录来决定,当文件监控层监控到应用触发外存限额时,则需要根 据LRU算法将应用在本地文件夹中的部分文件上传到云对象存储中。 进一步,所述文件监控层中的配置文件能够根据不同的需求进行设置,开发人员 通过配置文件自定义手机应用外存限额大小,根据自定义的额度,能够对手机应用外存自 动进行限额管理,当应用所占存储空间超过指定外存限额时,文件监控层会自动完成对应 用文件从本地上传至云对象存储的操作;其中,所述配置文件包括应用外存限额以及云对 象存储的相关信息。 进一步,所述文件监控层中的LRU算法采用LinkedHashMap数据结构 实现,这里key代表文件名名称,value表示文件大小;当监控到文件的写完成状态时,需要 将文件的key和value存储进LinkedHashMap中,  LinkedHashMap中的记录用于应用触发外 存限额时选择从本地上传至云对象存储的文件;所有value值的和表示当前已使用的应用 外存大小。 进一步,所述文件状态监控会监控文件的修改状态,当应用修改文件时,会监控到 文件的修改状态,文件监控层会根据嵌入式关系数据库接口层中的文件记录判断文件是否 在云对象存储,如果文件在本地则能够直接修改,否则需要先从云对象存储将该文件下载 至本地才能修改。 进一步,所述文件状态监控会监控文件的写完成状态,当应用打开或者修改的文 件被关闭时,会监控到文件的写完成状态,此时文件监控层会获取当前文件的文件名称和 文件大小组成key和value存储进LRU算法的数据结构中,然后文件监控层会检测应用大小 是否超过指定外存限额,如果没有超过指定限额,则文件正常存储到应用在手机本地文件 目录下即可,否则,文件监控层会根据LRU算法中的记录将应用在本地文件夹中的部分文件 上传到云对象存储中。 进一步,所述文件状态监控会监控文件的打开状态,当应用打开文件时,会监控到 文件打开的状态,此时文件监控层会通知嵌入式关系数据库接口层检测文件属性表中是否 有该文件在云对象存储的记录,由此判断文件在本地还是云对象存储,如果文件在本地,则 6 CN 111581165 A 说 明 书 3/6 页 直接在本地中打开该文件,如果文件存在于云对象存储,则先从云对象存储中取回该文件, 并将该文件在SQLite关系数据库和云对象存储的记录删除,表示该文件已经存在于本地, 然后再打开该文件。 进一步,所述文件状态监控会监控文件的删除状态,当应用删除文件时,会监控到 文件的删除状态,此时文件监控层会通知嵌入式关系数据库接口层检测文件属性表中是否 有该文件在云对象存储的记录,如果文件在本地,直接删除该文件即可,如果文件在云对象 存储中,则需要同时删除该文件在SQLite关系数据库和云对象存储中的记录。 本发明也提供了上述Android应用外存限额监控工具的使用方法,包括以下步骤: S1、在开发环境中创建一个新项目,该新项目为Android应用的权限配置,此时,需 要在项目的配置文件中添加访问网络,获取网络状态,获取当前WIFI  接入状态以及WLAN热 点信息,获取写外存,获取读外存权限的申明; S2、设置应用对象,即Application对象,通过获取Application对象,能够让 Android应用外存限额监控工具得到当前应用的上下文环境,Application对象是Android 框架的一个系统组件,用来存储系统的一些信息,Android系统会为每个程序运行时创建一 个Application类的对象且仅创建一个,因为它是全局的单例的,所以通过Application对 象来进行一些数据传递、数据共享、数据缓存操作;在Android应用外存限额监控工具中,已 将Application实现了继承,使用时只需要在导入该Android应用外存限额监控工具之后, 在应用的相关文件中添加申明即可; S3、在Android应用开发文件夹app/libs中放置Android应用外存限额监控工具, 并在项目的build .gradle(Module:app)文件中添加对该文件的依赖,让开发者能调用 Android应用外存限额监控工具中的接口初始化配置文件; S4、开通并初始化云对象存储空间 Android应用外存限额监控工具采用第三方云对象存储作为后备,因此需要引入 第三方云对象存储的相关配置信息,同时需要在应用开发环境的  build .gradle(Module: app)文件中添加对第三方云对象存储的依赖,从而能够利用第三方云对象存储存储提供的 服务; S5、动态获取访问外部存储空间的权限 Android为了进一步保护手机的文件安全,获取手机外部存储空间的访问权限,除 了要在应用开发环境的文件中申明相关权限之外,还要提供动态访问外部存储空间的代 码;Android应用外存限额监控工具中封装了动态访问外部存储空间权限的函数,类名为 PermissionUtils,只需要在应用的主函数中调用该函数即可; S6、初始化配置文件并启动Android应用外存限额监控工具 Android应用外存限额监控工具成功导入之后,调用Android应用外存限额监控工 具中的接口初始化配置文件,包括应用外存限额以及云对象存储的相关信息,然后在 FileObserver的子类中填写应用在外部存储空间中的相关文件夹,最后启动监控即可实现 对应用在外存限额下的监控。 本发明与现有技术相比,具有如下优点与有益效果: 1、本发明工具使用云对象存储作为手机应用存储空间的后备。云对象存储综合了 文件存储和块存储的优点,同时具有了块存储的高速直接访问以及文件存储的数据共享优 7 CN 111581165 A 说 明 书 4/6 页 势,能提供高可靠性,跨平台性以及安全的数据共享的存储体系结构。 2、本发明工具能够自动监测手机应用对文件的操作,并利用配置信息中给定的应 用存储限定额度,根据监控应用对文件的不同操作状态完成不同的操作,自动完成对应用 文件从本地到云对象存储的上传或者取回操作,从而能更灵活的使用应用外存空间,对产 生较大数据量的应用有更明显的优化效果。 3、本发明工具使用非常方便,只需要在开发人员在应用的开发过程中导入该工具 到开发环境的指定文件夹下即可,根据自己的实际需求对应用外存设置不同的限额。 4、由于5G技术的到来,能极大地加快从云对象存储中下载和本地往云对象存储上 传文件的传输速度,减少了传输时延,为本发明工具的实际应用提供了很大推动作用。本发 明工具能充分利用5G网络的速度和云对象存储的海量高性能等特点为手机应用提供服务。 附图说明 图1是本实施例提供的Android应用外存限额监控工具架构图。 图2是本实施例提供的文件监控层工作流程图。
分享到:
收藏