一种共享资源的访问方法及装置制造方法及图纸

技术编号:12356298 阅读:88 留言:0更新日期:2015-11-20 11:38
本发明专利技术的实施例公开一种共享资源的访问方法及装置。共享资源的访问方法包括:接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。应用本发明专利技术,可以提升共享资源的访问速度。

【技术实现步骤摘要】

本专利技术涉及计算机资源访问技术,尤其涉及一种共享资源的访问方法及装置
技术介绍
目前,安卓(Android)操作系统以其操作简单且方便快捷的特性,越来越为用户所接受,已普遍应用于用户的工作以及生活中,在Android操作系统中,存在许多共享资源,用户之间通过资源共享,可以实现资源的最佳利用。对于共享资源,需要避免共享资源的并发访问,即避免多个线程或进程同时访问和操作共享资源而引起的各线程或进程之间相互覆盖共享资源,导致被访问的共享资源处于不一致的状态。例如,多个客户端不能对Android操作系统的共享资源进行一些特定的同时操作,举例来说,在客户端上传一共享文件时,其他客户端不能同时执行删除该共享文件的操作,再例如,在一客户端执行共享文件的写操作时,其他客户端不能同时执行该共享文件的写操作。为了避免共享资源的访问冲突,现有技术中一般基于共享资源的数据格式,采用Java技术,通过Native层的C++代码进行进程间互斥,以实现进程间互斥,从而实现客户端之间访问操作的互斥,即通过在第一共享资源中设置访问互斥条件,当某一客户端执行第一访问操作以访问第一共享资源时,查询该第一共享资源中设置的访问互斥条件,如果当前待访问的客户端的第一访问操作与设置的第一共享资源访问互斥条件相匹配,则拒绝该当前待访问的客户端的访问请求。这样,可以保证第一共享资源在某一时刻只能被一客户端进行访问操作,如果有其他客户端请求访问,且该访问为互斥访问,则拒绝当前请求访问该第一共享资源的其他客户端。但上述共享资源的访问方法,由于需要与共享资源数据格式相兼容,只能通过Native层的C++代码进行进程间互斥,需要使用c++的函数库,即共享库(SO,SharedObject)文件进行代码编程,在接收到共享资源访问请求后,再从共享资源中导出共享资源访问互斥条件进行比较,由于访问互斥条件作为共享资源的一部分并将随同共享资源下发至客户端,从而增大了共享资源对应的Android安装包(APK,Android Package)的大小,增加了所需的存储空间,降低了共享资源的访问速度,使得下载共享资源所需的时间延长。
技术实现思路
有鉴于此,本专利技术实施例提供一种共享资源的访问方法及装置,提升共享资源的访问速度。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种共享资源的访问方法,包括:接收访问共享资源的请求;在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。作为另一实施例,在所述接收访问共享资源的请求之前,所述方法进一步包括:预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系O作为另一实施例,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:查询是否预先存储有用于标记所述共享资源的访问互斥文件,如果未存储有,接受所述访问共享资源的请求,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;如果存储有,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中。作为另一实施例,所述方法进一步包括:如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求。在所述如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一之后,拒绝所述访问共享资源的请求之前,所述方法进一步包括:查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;如果否,执行所述拒绝所述访问共享资源的请求的步骤。作为另一实施例,所述在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,执行所述拒绝所述访问共享资源的请求的步骤。作为另一实施例,所述在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果否,执行所述拒绝所述访问共享资源的请求的步骤。作为另一实施例,在接受所述访问共享资源的请求之后,所述方法进一步包括:在所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。作为另一实施例,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:查询并获取所述共享资源文件对应的应用安装的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,接受所述访问共享资源的请求。第二方面,本专利技术实施例提供一种共享资源的访问装置,所述装置包括:查询模块、共享资源访问模块以及拒绝访问模块,其中,所述查询模块,用于接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果是,通知所述共享资源访问模块,如果否,通知所述拒绝访问模块;所述共享资源访问模块,用于在接收到所述查询模块发送的通知之后,接受所述访问共享资源的请求以对所述共享资源进行访问;所述拒绝访问模块,用于在接收到所述查询模块发送的通知之后,拒绝所述访问共享资源的请求。作为另一实施例,所述装置进一步包括:映射关系构建模块,用于预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问本文档来自技高网
...

【技术保护点】
一种共享资源的访问方法,其特征在于,所述方法包括:接收访问共享资源的请求;在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘新典
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

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

1