CN105069081B - 一种共享资源的访问方法及装置 - Google Patents
一种共享资源的访问方法及装置 Download PDFInfo
- Publication number
- CN105069081B CN105069081B CN201510463467.4A CN201510463467A CN105069081B CN 105069081 B CN105069081 B CN 105069081B CN 201510463467 A CN201510463467 A CN 201510463467A CN 105069081 B CN105069081 B CN 105069081B
- Authority
- CN
- China
- Prior art keywords
- access
- shared resource
- request
- file
- exclusive
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000007717 exclusion Effects 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims description 84
- 230000006399 behavior Effects 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 9
- 238000009434 installation Methods 0.000 claims description 8
- 108010001267 Protein Subunits Proteins 0.000 claims description 6
- 230000005611 electricity Effects 0.000 claims description 2
- 239000000700 radioactive tracer Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 241001455214 Acinonyx jubatus Species 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开一种共享资源的访问方法及装置。共享资源的访问方法包括:接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。应用本发明,可以提升共享资源的访问速度。
Description
技术领域
本发明涉及计算机资源访问技术,尤其涉及一种共享资源的访问方法及装置。
背景技术
目前,安卓(Android)操作系统以其操作简单且方便快捷的特性,越来越为用户所接受,已普遍应用于用户的工作以及生活中,在Android操作系统中,存在许多共享资源,用户之间通过资源共享,可以实现资源的最佳利用。对于共享资源,需要避免共享资源的并发访问,即避免多个线程或进程同时访问和操作共享资源而引起的各线程或进程之间相互覆盖共享资源,导致被访问的共享资源处于不一致的状态。例如,多个客户端不能对Android操作系统的共享资源进行一些特定的同时操作,举例来说,在客户端上传一共享文件时,其他客户端不能同时执行删除该共享文件的操作,再例如,在一客户端执行共享文件的写操作时,其他客户端不能同时执行该共享文件的写操作。
为了避免共享资源的访问冲突,现有技术中一般基于共享资源的数据格式,采用Java技术,通过Native层的C++代码进行进程间互斥,以实现进程间互斥,从而实现客户端之间访问操作的互斥,即通过在第一共享资源中设置访问互斥条件,当某一客户端执行第一访问操作以访问第一共享资源时,查询该第一共享资源中设置的访问互斥条件,如果当前待访问的客户端的第一访问操作与设置的第一共享资源访问互斥条件相匹配,则拒绝该当前待访问的客户端的访问请求。这样,可以保证第一共享资源在某一时刻只能被一客户端进行访问操作,如果有其他客户端请求访问,且该访问为互斥访问,则拒绝当前请求访问该第一共享资源的其他客户端。
但上述共享资源的访问方法,由于需要与共享资源数据格式相兼容,只能通过Native层的C++代码进行进程间互斥,需要使用c++的函数库,即共享库(SO,SharedObject)文件进行代码编程,在接收到共享资源访问请求后,再从共享资源中导出共享资源访问互斥条件进行比较,由于访问互斥条件作为共享资源的一部分并将随同共享资源下发至客户端,从而增大了共享资源对应的Android安装包(APK,Android Package)的大小,增加了所需的存储空间,降低了共享资源的访问速度,使得下载共享资源所需的时间延长。
发明内容
有鉴于此,本发明实施例提供一种共享资源的访问方法及装置,提升共享资源的访问速度。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种共享资源的访问方法,包括:
接收访问共享资源的请求;
在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;
如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。
作为另一实施例,在所述接收访问共享资源的请求之前,所述方法进一步包括:
预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
作为另一实施例,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
查询是否预先存储有用于标记所述共享资源的访问互斥文件,
如果未存储有,接受所述访问共享资源的请求,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;
如果存储有,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中。
作为另一实施例,所述方法进一步包括:
如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求。
在所述如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一之后,拒绝所述访问共享资源的请求之前,所述方法进一步包括:
查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;如果否,执行所述拒绝所述访问共享资源的请求的步骤。
作为另一实施例,所述在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:
比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,执行所述拒绝所述访问共享资源的请求的步骤。
作为另一实施例,所述在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:
查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果否,执行所述拒绝所述访问共享资源的请求的步骤。
作为另一实施例,在接受所述访问共享资源的请求之后,所述方法进一步包括:
在所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。
作为另一实施例,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
查询并获取所述共享资源文件对应的应用安装的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,接受所述访问共享资源的请求。
第二方面,本发明实施例提供一种共享资源的访问装置,所述装置包括:查询模块、共享资源访问模块以及拒绝访问模块,其中,
所述查询模块,用于接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果是,通知所述共享资源访问模块,如果否,通知所述拒绝访问模块;
所述共享资源访问模块,用于在接收到所述查询模块发送的通知之后,接受所述访问共享资源的请求以对所述共享资源进行访问;
所述拒绝访问模块,用于在接收到所述查询模块发送的通知之后,拒绝所述访问共享资源的请求。
作为另一实施例,所述装置进一步包括:
映射关系构建模块,用于预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
作为另一实施例,所述查询模块包括:接收单元、查询单元、第一处理单元以及第二处理单元,其中,
所述接收单元,用于接收访问共享资源的请求;
所述查询单元,用于依据接收的请求查询是否存储有用于标记所述共享资源的访问互斥文件;
所述第一处理单元,用于在所述查询单元未存储有访问互斥文件时,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作,通知所述共享资源访问模块;
所述第二处理单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中,通知所述共享资源访问模块。
作为另一实施例,所述第二处理单元进一步用于如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求,通知所述拒绝访问模块。
作为另一实施例,所述第二处理单元包括:获取子单元、判断子单元以及接受处理子单元,其中,
所述获取子单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作;
所述判断子单元,用于判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果是,通知所述拒绝处理子单元;如果否,通知所述接受处理子单元;
所述拒绝处理子单元,用于接收通知,拒绝所述访问共享资源的请求,通知所述拒绝访问模块。
作为另一实施例,所述第二处理单元进一步包括:查询子单元以及创建子单元,其中,
所述查询子单元,用于拦截所述判断子单元通知所述拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,通知所述创建子单元,如果否,通知所述拒绝处理子单元;
所述创建子单元,用于接收通知,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作。
作为另一实施例,所述第二处理单元进一步包括:优先级比较子单元以及优先级处理子单元,其中,
所述优先级比较子单元,用于拦截所述查询子单元通知所述拒绝处理子单元的通知,比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
所述优先级处理子单元,如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,通知所述创建子单元,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,通知所述拒绝处理子单元。
作为另一实施例,所述第二处理单元进一步包括:操作时间查询子单元以及操作时间处理子单元,其中,
所述操作时间查询子单元,用于拦截优先级处理子单元通知拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
所述操作时间处理子单元,如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,通知所述创建子单元,如果否,通知所述拒绝处理子单元。
作为另一实施例,该装置进一步包括:
操作监测模块,用于在监测到所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。
作为另一实施例,所述查询模块包括:接收单元、互斥状态查询单元、第三处理单元以及第四处理单元,其中,
所述接收单元,用于接收访问共享资源的请求;
所述互斥状态查询单元,用于查询并获取所述共享资源文件中的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,通知所述第三处理单元,否则,通知所述第四处理单元;
所述第三处理单元,用于接收通知,接受所述访问共享资源的请求。
所述第四处理单元,用于接收通知,拒绝所述访问共享资源的请求。
第三方面,本发明实施例还提供了一种电子设备,可以包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:
接收访问共享资源的请求;
在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;
如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。
第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种共享资源的访问方法。
第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种共享资源的访问方法。
在本发明中,通过在标记共享资源的访问互斥文件中设置该共享资源的互斥操作,查询模块在接收到访问共享资源的请求后,通过判断接收的请求对应的操作与当前访问共享资源对应的操作是否为互斥操作,从而决定共享资源访问模块以及拒绝访问模块是否允许接收的访问共享资源的请求。由于将访问互斥文件从共享资源文件中分离开来,可以降低共享资源对应的Android安装包的大小,从而能够有效提升共享资源的访问速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一共享资源的访问方法流程示意图;
图2为本发明实施例二共享资源的访问方法流程示意图;
图3为本发明实施例共享资源的访问装置结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例共享资源的访问方法总体流程包括:
接收访问共享资源的请求;
在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;
如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。
本步骤中,客户端或服务器在共享资源后,通过在用于标记所述共享资源的访问互斥文件中设置该共享资源的互斥操作,即在访问互斥文件中存储共享资源的互斥操作,例如,写操作与读操作的互斥操作,以及,上传操作与删除操作的互斥操作等,所述访问互斥文件与所述共享资源相互独立,在接收到访问共享资源的请求后,通过调用访问互斥文件,直接可以判断接收的请求对应的操作与当前访问共享资源对应的操作是否为互斥操作,从而决定是否允许接收的访问共享资源的请求。由于访问互斥文件与所述共享资源相互独立,无需遵循共享资源数据格式,使得在访问互斥文件中设置互斥操作的代码,可以采用多种语言实现,无需仅使用c++的SO函数库在共享资源文件中进行代码编程,同时,访问互斥文件不随共享资源下发,可以降低共享资源对应的Android安装包(APK,AndroidPackage)的大小,能够有效提升共享资源的访问速度,所需的存储空间小。
作为一可选实施例,在所述接收访问共享资源的请求之前,所述方法进一步包括:
预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
本发明实施例中,设置共享资源的互斥操作与设置访问互斥条件相同。
作为一可选实施例,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
A11,查询是否预先存储有用于标记所述共享资源的访问互斥文件,
A12,如果未存储有,接受所述访问共享资源的请求,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;
如果存储有,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中。
本步骤中,互斥操作是指为了避免共享资源访问冲突,不能同时执行的操作,例如,在客户端上传一共享文件时,其他客户端不能同时执行删除该共享文件的操作,则针对同一共享文件的上传操作与删除操作构成互斥操作,如果当前操作为上传操作,则在存储的访问互斥文件中,包含的互斥操作为删除操作,当然,实际应用中,一个操作也可能对应一个或多个互斥操作。再例如,在一客户端执行共享文件的写操作时,其他客户端不能同时执行该共享文件的写操作,则针对同一共享文件的写操作与读操作构成互斥操作,访问互斥文件中包含有一个或多个互斥操作。
本发明实施例中,所述方法进一步包括:
如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求。
在拒绝所述访问共享资源的请求的同时,之前或之后,该方法可以进一步包括:
在发送所述访问共享资源的请求的客户端界面提示有共享资源访问互斥的提醒信息。
作为一可选实施例,在所述如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一之后,拒绝所述访问共享资源的请求之前,该方法还可以进一步包括:
查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,接受所述访问共享资源的请求,为了避免后续中该存储的访问互斥文件对访问共享资源的请求的误判,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;如果否,执行所述拒绝所述访问共享资源的请求的步骤。
本步骤中,在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,该方法还可以进一步包括:
A21,比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
A22,如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,执行所述拒绝所述访问共享资源的请求的步骤。
本步骤中,可以通过操作系统将存储的访问互斥文件中包含的访问共享资源的操作终止;或,操作系统将存储的访问互斥文件中包含的访问共享资源的操作对应的进程杀死,从而终止所述第一优先级对应的操作。
作为另一可选实施例,在如果否之后,执行所述拒绝所述访问共享资源的请求的步骤之前,该方法还可以进一步包括:
A31,查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
A32,如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果否,执行所述拒绝所述访问共享资源的请求的步骤。
作为另一可选实施例,在接受所述访问共享资源的请求之后,该方法还可以进一步包括:
在所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。
本发明实施例中,作为另一可选实施例,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
查询并获取所述共享资源文件对应的应用安装的用于标识互斥操作的内容提供者(Content Provider)的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,接受所述访问共享资源的请求。
本步骤中,通过在共享资源对应的应用中,例如,服务器中安装用于标识互斥操作的Content Provider,利用Content Provider中设置的互斥状态,即互斥操作,其他发送访问共享资源请求的客户端或应用通过查询该共享资源的Content Provider中存储的互斥状态,从而确定是否接受所述访问共享资源的请求。
本发明实施例中,Content Provider是Android操作系统中的四大组件之一。主要用于对外共享数据,并通过设置的互斥状态对共享进行控制,也就是通过ContentProvider将应用(客户端或服务器)中的数据共享给其他应用(客户端或服务器)访问,通过Content Provider对请求的操作与当前操作是否为互斥状态进行判断,如果不为互斥状态,其他应用可以对指定应用中的数据进行操作,数据可以存储于文件系统、SQLite数据库或其它存储容器中。
作为另一可选实施例,该方法还可以进一步包括:
B11,如果所述访问共享资源的请求中包含的访问共享资源的操作为互斥状态包含的互斥操作之一;
B12,比较当前访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
B13,如果第二优先级的优先级别高于第一优先级的优先级别,触发操作系统终止所述第一优先级对应的操作,执行所述接受所述访问共享资源的请求,如果不是,拒绝所述访问共享资源的请求。
以下以访问共享资源时需要创建访问互斥文件为例,对发明实施例共享资源的访问方法作详细说明。
图1为本发明实施例一共享资源的访问方法流程示意图。参见图1,该方法包括:
步骤101,接收第一访问操作请求;
本步骤中,客户端或服务器在共享资源后,可以接受其他客户端或服务器的访问操作请求,并对接收的访问操作是否与该共享资源当前的访问操作为互斥操作进行判断。
步骤102,查询是否存储有用于标记该第一访问操作对应的共享资源的访问互斥文件,如果有,执行步骤103,否则,执行步骤111;
本步骤中,如果存储有共享资源对应的访问互斥文件,表明该共享资源当前有访问操作。如果未存储有共享资源对应的访问互斥文件,表明该共享资源当前没有访问操作,因而,不会与第一访问操作发生访问冲突。
步骤103,提取存储的访问互斥文件中包含的互斥操作,判断第一访问操作是否为互斥操作之一,如果是,执行步骤104,否则,执行步骤111;
步骤104,查询存储的访问互斥文件中的进程标识符(PID,Process ID)对应的进程是否被操作系统杀死,如果是,执行步骤105,否则,执行步骤106;
本步骤中,PID是由进程执行一访问操作时的标识。由于访问共享资源的操作在未完成时,该共享资源的操作对应的进程有可能被意外结束,从而导致创建的用于标记所述共享资源的访问互斥文件未被删除。因而,通过在访问互斥文件中记录该共享资源的操作所在进程的PID,如果记录的访问互斥文件中的PID对应的进程被操作系统杀死,表明该进程已结束,不会发生资源访问冲突。
步骤105,接受第一访问操作对共享资源的访问,删除存储的访问互斥文件,执行步骤111;
本步骤中,如果记录的访问互斥文件中的PID对应的进程被操作系统杀死,接受第一访问操作对共享资源的访问,删除存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作以及第一访问操作对应进程的PID。
步骤106;拒绝第一访问操作,结束流程,等待下一访问操作请求;
步骤111,创建用于标记该共享资源的访问互斥文件;
本步骤中,较佳地,创建的访问互斥文件存储在内置或外置SD卡上,以确保多个应用(客户端)都有权限访问。
步骤112,将所述第一访问操作对应的互斥操作以及第一访问操作对应的PID写入创建的访问互斥文件;
步骤113,客户端通过第一访问操作访问共享资源;
步骤114,第一访问操作访问共享资源完毕,退出共享资源访问,删除为第一访问操作创建的访问互斥文件。
图2为本发明实施例二共享资源的访问方法流程示意图。参见图2,以猎豹清理大师进行图片瘦身操作和图片备份操作为例,设图片瘦身操作为第一访问操作,图片备份操作为第二访问操作,访问的同一图片资源设为图片共享资源。该方法包括:
步骤201,猎豹清理大师接收第一访问操作,查询到未存储有图片共享资源的访问互斥文件,创建用于标记该图片共享资源的访问互斥文件,并将当前进程的PID写入到创建的访问互斥文件中;
本步骤中,由于未查询到存储有图片共享资源的访问互斥文件,表明当前未有图片共享资源访问,因而,在接收到第一访问操作后,创建用于标记该图片共享资源的访问互斥文件,并将第一访问操作对应的进程的PID写入到访问互斥文件中。
步骤202,接收第二访问操作,查询获取第二访问操作对应的图片共享资源的访问互斥文件,提取访问互斥文件中的PID,确认操作系统中存在该PID对应的进程,拒绝该第二访问操作;
本步骤中,在第一访问操作未完成时,接收到第二访问操作。第二访问操作对应的图片共享资源与第一访问操作对应的图片共享资源为同一图片共享资源,第二访问操作对应的图片共享资源的访问互斥文件为猎豹清理大师为第一访问操作创建的用于标记该图片共享资源的访问互斥文件。
实际应用中,可以在发送第二访问操作的客户端界面提示有任务互斥的提醒信息。
步骤203,在第一访问操作执行中,第一访问操作对应的进程被操作系统杀掉,接收到第三访问操作,查询第三访问操作对应的图片共享资源的访问互斥文件,提取访问互斥文件中的PID,确认操作系统中不存在该PID对应的进程,允许该第三访问操作,删除存储的访问互斥文件并构建新的访问互斥文件;
本步骤中,在第一访问操作未完成时,如果当前进程被操作系统终止,则访问互斥文件仍然存在,在接收到第三访问操作后,查询获取第三访问操作对应的图片共享资源的访问互斥文件,提取访问互斥文件中的PID,确认该PID无效(该PID对应的进程已被操作系统杀掉,互斥无效),表明不需要执行互斥操作,接受该第三访问操作,即对图片共享资源执行图片备份操作。
步骤204,第三访问操作完成,退出图片共享资源的访问,删除为该第三访问操作构建的访问互斥文件。
本步骤中,在第三访问操作完成后,删除创建的用于标记该图片共享资源的访问互斥文件。这样,在后续图片共享资源访问中,当接收到第四访问操作,查询是否存在第四访问操作对应的图片共享资源的访问互斥文件,可以确认未查询到,接受该第四访问操作。
由上述可见,本发明实施例共享资源的访问方法,通过为共享资源设置互斥操作,在接收到对共享资源的访问操作请求时,查询接收的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为设置的互斥操作,在为互斥操作时,拒绝接收的访问操作请求,从而可以有效地解决Android操作系统中两个应用或两个进程访问同一共享资源时存在的互斥问题,避免同时访问和修改同一共享资源带来的同步问题。
图3为本发明实施例共享资源的访问装置结构示意图。参见图3,所述装置包括:查询模块301、共享资源访问模块302以及拒绝访问模块303,其中,
所述查询模块301,用于接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果是,通知所述共享资源访问模块302,如果否,通知所述拒绝访问模块303;
所述共享资源访问模块302,用于在接收到所述查询模块301发送的通知之后,接受所述访问共享资源的请求以对所述共享资源进行访问;
所述拒绝访问模块303,用于在接收到所述查询模块301发送的通知之后,拒绝所述访问共享资源的请求。
本发明实施例中,作为一可选实施例,该装置还可以进一步包括:
映射关系构建模块(图中未示出),用于预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
作为一可选实施例,所述查询模块301包括:接收单元、查询单元、第一处理单元以及第二处理单元(图中未示出),其中,
所述接收单元,用于接收访问共享资源的请求;
所述查询单元,用于依据接收的请求查询是否存储有用于标记所述共享资源的访问互斥文件;
所述第一处理单元,用于在所述查询单元未存储有访问互斥文件时,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作,通知所述共享资源访问模块302;
所述第二处理单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中,通知所述共享资源访问模块302。
本发明实施例中,所述第二处理单元进一步用于如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求,通知所述拒绝访问模块303;
作为一可选实施例,所述第二处理单元包括:获取子单元、判断子单元以及接受处理子单元,其中,
所述获取子单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作;
所述判断子单元,用于判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果是,通知所述拒绝处理子单元;如果否,通知所述接受处理子单元;
本发明实施例中,较佳地,在通知所述拒绝访问模块303的消息中,进一步包括用于在发送所述访问共享资源的请求的客户端界面显示的有共享资源访问互斥的提醒信息。
所述拒绝处理子单元,用于接收通知,拒绝所述访问共享资源的请求,通知所述拒绝访问模块303。
所述接受处理子单元,用于接收通知,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中,通知所述共享资源访问模块302。
作为另一可选实施例,所述第二处理单元还可以进一步包括:查询子单元以及创建子单元,其中,
所述查询子单元,用于拦截所述判断子单元通知所述拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,通知所述创建子单元,如果否,通知所述拒绝处理子单元;
所述创建子单元,用于接收通知,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作。
本发明实施例中,作为再一可选实施例,所述第二处理单元还可以进一步包括:优先级比较子单元以及优先级处理子单元,其中,
所述优先级比较子单元,用于拦截所述查询子单元通知所述拒绝处理子单元的通知,比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
所述优先级处理子单元,如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,通知所述创建子单元,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,通知所述拒绝处理子单元。
本发明实施例中,作为再一可选实施例,所述第二处理单元还可以进一步包括:操作时间查询子单元以及操作时间处理子单元,其中,
所述操作时间查询子单元,用于拦截优先级处理子单元通知拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
所述操作时间处理子单元,如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,通知所述创建子单元,如果否,通知所述拒绝处理子单元。
本发明实施例中,较佳地,该装置还可以进一步包括:
所述操作监测模块304,用于在监测到所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。
本发明实施例中,作为另一可选实施例,所述查询模块301包括:接收单元、互斥状态查询单元、第三处理单元以及第四处理单元(图中未示出),其中,
所述接收单元,用于接收访问共享资源的请求;
所述互斥状态查询单元,用于查询并获取所述共享资源文件对应的应用安装的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,通知所述第三处理单元,否则,通知所述第四处理单元;
所述第三处理单元,用于接收通知,接受所述访问共享资源的请求。
所述第四处理单元,用于接收通知,拒绝所述访问共享资源的请求。
作为一可选实施例,所述查询模块301还可以进一步包括:拦截单元、优先级比较单元以及优先级处理单元,其中,
所述拦截单元,用于拦截所述互斥状态查询单元通知所述第四处理单元的通知,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为互斥状态包含的互斥操作之一,如果是,通知所述优先级比较单元,如果否,通知所述第三处理单元;
所述优先级比较单元,用于比较当前访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
所述优先级处理单元,用于在第二优先级的优先级别高于第一优先级的优先级别时,触发操作系统终止所述第一优先级对应的操作,通知所述第三处理单元,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,通知所述第四处理单元。
本发明实施例还提供了一种电子设备,可以包括:
一个或者多个处理器;
存储器;
一个或者多个模块,所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时进行如下操作:
接收访问共享资源的请求;
在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;
如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。
本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种共享资源的访问方法。
本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种共享资源的访问方法。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种共享资源的访问方法,其特征在于,所述方法包括:
接收访问共享资源的请求;
在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;
如果否,接受所述访问共享资源的请求以对所述共享资源进行访问,如果是,拒绝所述访问共享资源的请求。
2.根据权利要求1所述的方法,其特征在于,在所述接收访问共享资源的请求之前,所述方法进一步包括:
预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
3.根据权利要求1所述的方法,其特征在于,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
查询是否预先存储有用于标记所述共享资源的访问互斥文件,
如果未存储有,接受所述访问共享资源的请求,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;
如果存储有,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一,拒绝所述访问共享资源的请求。
5.根据权利要求4所述的方法,其特征在于,在所述如果判断所述访问共享资源的请求中包含的访问共享资源的操作为所述互斥操作之一之后,拒绝所述访问共享资源的请求之前,所述方法进一步包括:
查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作;如果否,执行所述拒绝所述访问共享资源的请求的步骤。
6.根据权利要求5所述的方法,其特征在于,在执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:
比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,执行所述拒绝所述访问共享资源的请求的步骤。
7.根据权利要求5所述的方法,其特征在于,在执行所述拒绝所述访问共享资源的请求的步骤之前,所述方法进一步包括:
查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,执行所述接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件的步骤,如果否,执行所述拒绝所述访问共享资源的请求的步骤。
8.根据权利要求1至7任一项所述的方法,其特征在于,在接受所述访问共享资源的请求之后,所述方法进一步包括:
在所述访问共享资源的请求中包含的访问共享资源的操作退出后,删除创建的用于标记所述共享资源的访问互斥文件。
9.根据权利要求1所述的方法,其特征在于,所述查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作;如果否,接受所述访问共享资源的请求,包括:
查询并获取所述共享资源文件对应的应用安装的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,接受所述访问共享资源的请求。
10.一种共享资源的访问装置,其特征在于,所述装置包括:查询模块、共享资源访问模块以及拒绝访问模块,其中,
所述查询模块,用于接收访问共享资源的请求,在预先设置的用于标记所述共享资源的访问互斥文件中,查询所述访问共享资源的请求中包含的访问共享资源的操作与当前访问所述共享资源的操作是否为预先设置的互斥操作,如果否,通知所述共享资源访问模块,如果是,通知所述拒绝访问模块;
所述共享资源访问模块,用于在接收到所述查询模块发送的通知之后,接受所述访问共享资源的请求以对所述共享资源进行访问;
所述拒绝访问模块,用于在接收到所述查询模块发送的通知之后,拒绝所述访问共享资源的请求。
11.根据权利要求10所述的装置,其特征在于,所述查询模块包括:接收单元、查询单元、第一处理单元以及第二处理单元,其中,
接收单元,用于接收访问共享资源的请求;
查询单元,用于依据接收的请求查询是否存储有用于标记所述共享资源的访问互斥文件;
第一处理单元,用于在所述查询单元未存储有访问互斥文件时,创建用于标记所述共享资源的访问互斥文件,创建的所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作,通知所述共享资源访问模块;
第二处理单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作,判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果是,拒绝所述访问共享资源的请求,通知所述拒绝访问模块;如果否,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中,通知共享资源访问模块。
12.根据权利要求11所述的装置,其特征在于,所述第二处理单元包括:获取子单元、判断子单元、拒绝处理子单元以及接受处理子单元,其中,
所述获取子单元,用于在所述查询单元存储有访问互斥文件时,获取存储的访问互斥文件中包含的互斥操作;
所述判断子单元,用于判断所述访问共享资源的请求中包含的访问共享资源的操作是否为所述互斥操作之一,如果是,通知所述拒绝处理子单元;如果否,通知所述接受处理子单元;
所述拒绝处理子单元,用于接收通知,拒绝所述访问共享资源的请求,通知所述拒绝访问模块;
所述接受处理子单元,用于接收通知,接受所述访问共享资源的请求,并将所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作添加到所述存储的访问互斥文件中,通知所述共享资源访问模块。
13.根据权利要求12所述的装置,其特征在于,所述第二处理单元进一步包括:查询子单元以及创建子单元,其中,
所述查询子单元,用于拦截所述判断子单元通知所述拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作是否被操作系统杀死,如果是,通知所述创建子单元,如果否,通知所述拒绝处理子单元;
所述创建子单元,用于接收通知,接受所述访问共享资源的请求,删除所述存储的访问互斥文件,创建用于标记所述共享资源的访问互斥文件,所述访问互斥文件中包含所述访问共享资源的请求中包含的访问共享资源的操作对应的互斥操作。
14.根据权利要求13所述的装置,其特征在于,所述第二处理单元进一步包括:优先级比较子单元以及优先级处理子单元,其中,
所述优先级比较子单元,用于拦截所述查询子单元通知所述拒绝处理子单元的通知,比较存储的访问互斥文件中包含的访问共享资源的操作对应的第一优先级别以及所述访问共享资源的请求中包含的访问共享资源的操作对应的第二优先级;
所述优先级处理子单元,如果第二优先级的优先级别高于第一优先级的优先级别,触发所述操作系统终止所述第一优先级对应的操作,通知所述创建子单元,如果所述第二优先级的优先级别低于或者等于所述第一优先级的优先级别,通知所述拒绝处理子单元。
15.根据权利要求13所述的装置,其特征在于,所述第二处理单元进一步包括:操作时间查询子单元以及操作时间处理子单元,其中,
所述操作时间查询子单元,用于拦截优先级处理子单元通知拒绝处理子单元的通知,查询存储的访问互斥文件中包含的访问共享资源的操作对应的操作时间是否超过预先设置的可操作时间阈值;
所述操作时间处理子单元,如果是,触发所述操作系统终止所述存储的访问互斥文件中包含的访问共享资源的操作,通知所述创建子单元,如果否,通知所述拒绝处理子单元。
16.根据权利要求10所述的装置,其特征在于,所述查询模块包括:接收单元、互斥状态查询单元、第三处理单元以及第四处理单元,其中,
所述接收单元,用于接收访问共享资源的请求;
所述互斥状态查询单元,用于查询并获取所述共享资源文件中的用于标识互斥操作的内容提供者的互斥状态,如果所述访问共享资源的请求中包含的访问共享资源的操作不为互斥状态包含的互斥操作之一,通知所述第三处理单元,否则,通知所述第四处理单元;
所述第三处理单元,用于接收通知,接受所述访问共享资源的请求;
所述第四处理单元,用于接收通知,拒绝所述访问共享资源的请求。
17.根据权利要求10所述的装置,其特征在于,所述装置进一步包括:
映射关系构建模块,用于预先在设置的存储磁盘中构建所述访问互斥文件,并在用于接收访问共享资源的请求对应的处理器中,设置构建的所述访问互斥文件所在存储路径与共享资源的映射关系。
18.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-9任一项所述的共享资源的访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510463467.4A CN105069081B (zh) | 2015-07-31 | 2015-07-31 | 一种共享资源的访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510463467.4A CN105069081B (zh) | 2015-07-31 | 2015-07-31 | 一种共享资源的访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105069081A CN105069081A (zh) | 2015-11-18 |
CN105069081B true CN105069081B (zh) | 2019-05-07 |
Family
ID=54498451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510463467.4A Expired - Fee Related CN105069081B (zh) | 2015-07-31 | 2015-07-31 | 一种共享资源的访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069081B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250212A (zh) * | 2016-07-29 | 2016-12-21 | 努比亚技术有限公司 | 资源访问方法及装置 |
CN107544854B (zh) * | 2017-09-21 | 2020-08-28 | 广州市千钧网络科技有限公司 | 一种跨进程数据的同步存取方法及系统 |
CN112486694B (zh) * | 2020-11-30 | 2023-07-25 | 浪潮通用软件有限公司 | 一种基于Redis的网络锁处理方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601478A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 用于在被争夺的互斥锁上被动态限定的自旋线程的方法与系统 |
CN1945539A (zh) * | 2006-10-19 | 2007-04-11 | 华为技术有限公司 | 计算机集群系统中共享资源锁分配方法与计算机及集群系统 |
CN101697136A (zh) * | 2009-10-27 | 2010-04-21 | 金蝶软件(中国)有限公司 | 一种资源控制方法和装置 |
CN102262559A (zh) * | 2010-05-24 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 一种资源共享的方法及系统 |
-
2015
- 2015-07-31 CN CN201510463467.4A patent/CN105069081B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601478A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 用于在被争夺的互斥锁上被动态限定的自旋线程的方法与系统 |
CN1945539A (zh) * | 2006-10-19 | 2007-04-11 | 华为技术有限公司 | 计算机集群系统中共享资源锁分配方法与计算机及集群系统 |
CN101697136A (zh) * | 2009-10-27 | 2010-04-21 | 金蝶软件(中国)有限公司 | 一种资源控制方法和装置 |
CN102262559A (zh) * | 2010-05-24 | 2011-11-30 | 腾讯科技(深圳)有限公司 | 一种资源共享的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105069081A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109003605B (zh) | 智能语音交互处理方法、装置、设备及存储介质 | |
CN108664650B (zh) | 一种区块链网络的事务处理方法、装置、设备及存储介质 | |
CN110489417A (zh) | 一种数据处理方法及相关设备 | |
US4825354A (en) | Method of file access in a distributed processing computer network | |
CN102426594B (zh) | 对数据库进行操作的方法和系统 | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习系统 | |
CN110598441B (zh) | 用户隐私保护方法及装置 | |
CN103955405B (zh) | 一种应用管理方法及其装置 | |
CN104932941B (zh) | 一种分布式消息处理系统及其中的设备和方法 | |
CN106933871A (zh) | 短链接处理方法、装置及短链接服务器 | |
CN106599111B (zh) | 一种数据管理方法及存储系统 | |
WO2016033966A1 (zh) | 应用数据的保护方法及装置 | |
CN107315972B (zh) | 一种大数据非结构化文件动态脱敏方法及系统 | |
CN105069081B (zh) | 一种共享资源的访问方法及装置 | |
CN103442090A (zh) | 一种数据分散存储的云计算系统 | |
US10673789B2 (en) | Bot-invocable software development kits to access legacy systems | |
CN108512807B (zh) | 一种数据传输中的数据脱敏方法及数据脱敏服务器 | |
CN108809855A (zh) | 消息管理方法、装置及电子设备 | |
CN104239508B (zh) | 数据查询方法和装置 | |
CN106648909A (zh) | 一种磁盘锁的管理方法、装置和系统 | |
CN106598692A (zh) | 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器 | |
CN110781505B (zh) | 系统构建方法及装置、检索方法及装置、介质和设备 | |
CN107577538A (zh) | 容器资源管理方法及系统 | |
US20170300129A1 (en) | Keypress processing method and apparatus for terminal | |
CN108173839A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190507 |
|
CF01 | Termination of patent right due to non-payment of annual fee |