CN111352762A - 一种进程访问确定方法和相关装置 - Google Patents

一种进程访问确定方法和相关装置 Download PDF

Info

Publication number
CN111352762A
CN111352762A CN202010143232.8A CN202010143232A CN111352762A CN 111352762 A CN111352762 A CN 111352762A CN 202010143232 A CN202010143232 A CN 202010143232A CN 111352762 A CN111352762 A CN 111352762A
Authority
CN
China
Prior art keywords
target resource
access
target
identifier
flag
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.)
Pending
Application number
CN202010143232.8A
Other languages
English (en)
Inventor
何仲君
柳正龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202010143232.8A priority Critical patent/CN111352762A/zh
Publication of CN111352762A publication Critical patent/CN111352762A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种进程访问确定方法和相关装置,在允许多进程访问资源的计算机环境中,为资源设置多个访问标识位作为确定该资源是否被访问的依据。针对目标资源,若第一进程访问目标资源,从目标资源所对应多个访问标志位中确定与第一进程对应的目标标志位。将目标标志位设置为第一标识,若确定第一进程出现异常,将目标标志位设置为第二标识。由此,即使有进程在访问目标资源时出现异常,可以将该进程对应的访问标志位设置为第二标识以明示,其他进程在访问目标资源时,可以通过目标资源所对应多个访问标志位是否均为第二标识来准确确定是否有进程正在访问目标资源,从而降低了异常进程对其他进程在资源访问上的影响。

Description

一种进程访问确定方法和相关装置
技术领域
本申请涉及计算机领域,特别是涉及一种进程访问确定方法和相关装置。
背景技术
在计算机技术环境中,同一个资源可以被多个进程访问。当一个资源被多个进程同时访问时,只能实施读操作等不影响其他正在访问的进程的操作,而不能实施修改、删除等操作。
相关技术中,采用引用计数的方式来确定资源是否被访问,通过计数值来标识资源当前的访问数量。例如当一个进程需要对一个资源进行访问时,确定该资源对应的计数值大于0,从而明确该资源目前正在被访问,此时这个进程不能对该资源实施影响其他访问者的操作。
然而,在允许多进程访问资源的计算机环境中,若果有进程在访问资源时异常终止,该资源的引用计数无法减去该进程之前所增加的计数值,导致该资源的引用计数一直大于0,且难以恢复正确。
发明内容
为了解决上述技术问题,本申请提供了一种进程访问确定方法和相关装置,降低了异常进程对其他进程在资源访问上的影响,提高了资源访问效率。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种进程访问确定方法,所述方法包括:
若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
可选的,所述方法还包括:
为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中线程访问所述目标资源的访问数量;
当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识;
当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
可选的,所述方法还包括:
当所述多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。
可选的,通过多个比特的存储空间作为所述多个访问标志位,一个比特的存储空间用于作为一个访问标志位。
可选的,通过链表作为所述多个访问标志位,所述链表的一个表项用于作为一个访问标志位。
另一方面,本申请实施例提供了一种进程访问确定装置,所述装置包括第一确定单元、第一设置单元和第二确定单元:
所述第一确定单元,用于若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
所述第一设置单元,用于将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
所述第一设置单元,还用于若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
所述第二确定单元,用于当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
可选的,所述装置还包括第二设置单元和计数单元:
所述第二设置单元,用于为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中线程访问所述目标资源的访问数量;
所述计数单元,用于当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识;
所述计数单元还用于当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
可选的,所述第二确定单元,还用于当所述多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。
可选的,通过多个比特的存储空间作为所述多个访问标志位,一个比特的存储空间用于作为一个访问标志位。
可选的,通过链表作为所述多个访问标志位,所述链表的一个表项用于作为一个访问标志位。
另一方面,本申请实施例提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
由上述技术方案可以看出,在允许多进程访问资源的计算机环境中,为资源设置多个访问标识位作为确定该资源是否被访问的依据,多个访问标志位分别对应访问该资源的不同进程。针对目标资源,若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位。将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源。由此,即使有进程在访问目标资源时出现异常,可以将该进程对应的访问标志位设置为第二标识以明示,其他进程在访问目标资源时,可以通过目标资源所对应多个访问标志位是否均为第二标识来准确确定是否有进程正在访问目标资源,从而避免了异常进程对其他进程在资源访问上的影响,提高了***健壮性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种进程访问场景示意图;
图2为本申请实施例提供的一种进程访问确定方法的方法流程;
图3为本申请实施例提供的一种进程内引用计数与访问标志位的标识设置的流程图之一;
图4为本申请实施例提供的一种进程内引用计数与访问标志位的标识设置的流程图之一;
图5为本申请实施例提供的一种进程访问确定装置的装置结构图;
图6为本申请实施例中服务器的一个结构示意图;
图7为本申请实施例中终端的一个结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在允许多进程访问资源的计算机环境中,相关技术中的引用计数方式会因为访问资源的进程突然异常导致引用计数错误,其他进程无法获知资源是否被访问的正确信息,从而难以实施一些改动操作,降低了进程访问资源的效率。
为此,本申请实施例提供了一种进程访问确定方法和相关装置,在允许多进程访问资源的计算机环境中,为资源设置多个访问标识位作为确定该资源是否被访问的依据,多个访问标志位分别对应访问该资源的不同进程。
本申请实施例可以通过具有数据处理能力的处理设备执行。该处理设备能够获取资源被进程访问的相关信息,并作出相应处理,该处理设备例如可以为服务器。该方法可以通过服务器独立执行,也可以应用于终端设备和服务器通信的网路场景,通过终端设备和服务器配合执行。其中,终端设备可以为计算机、个人数字助理(Personal DigitalAssistant,简称PDA)、平板电脑等设备。服务器可以理解为是应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。同时,在硬件环境上,本技术已经实现的环境有:ARM架构处理器、X86架构处理器;在软件环境上,本技术已经实现的环境有:Android平台、Windows xp及以上操作***或Linux操作***。
如图1所示的计算机环境中,有多个进程可以访问目标资源100,目标资源100可以是文件、数据包、参数等各种可能的数据形式。目标资源100被配置有多个访问标志位200。
若第一进程300访问目标资源100,处理设备可以从所述目标资源100所对应多个访问标志位200中确定与所述第一进程300对应的目标标志位201。将所述目标标志位201设置为第一标识,所述第一标识用于标识所述目标标志位201对应的所述第一进程300正在访问所述目标资源100。
若确定所述第一进程300出现异常,处理设备可以从将所述目标标志位201设置为第二标识,所述第二标识用于标识所述目标标志位201对应的所述第一进程300停止访问所述目标资源100。
由此,即使有进程在访问目标资源时出现异常,可以将该进程对应的访问标志位设置为第二标识以明示,其他进程在访问目标资源时,可以通过目标资源所对应多个访问标志位是否均为第二标识来准确确定是否有进程正在访问目标资源。
例如,当第二进程访问目标资源100时,若确定目标资源100对应的多个访问标志位200均为第二标识,那么可以明确目标资源100目前未被其他进程访问,第二进程可以对目标资源100进行修改、删除的操作。从而降低了异常进程对其他进程在资源访问上的影响,提高了资源访问效率。
图2为本申请实施例提供的一种进程访问确定方法的方法流程图,所述方法包括:
S201:若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位。
目标资源可以被多个进程访问,例如同时访问或先后访问等。第一进程为可以访问该目标资源的多个进程中的一个。
目标资源具有对应的多个访问标志位,其中,一个访问标志位用于对应一个访问该目标资源的进程。目标资源的访问标志位的作用是用于标识所对应进程是否正在访问该目标资源。而目标资源所对应多个访问标志位用于从整体角度体现访问该目标资源的全部进程的访问情况。
目标资源的访问标志位可以通过不同的标识来体现所对应进程对目标资源的访问情况。在本申请实施例中,通过第一标识和第二标识进行区分,其中,第一标识用于体现进程正在访问,第二标识用于体现进程停止访问。本申请实施例不限定第一标识和第二标识的具体形式,只要可以实现区分即可,例如第一标识可以为1,第二标识可以为0。
第一标识和第二标识的具体使用方式会在后续步骤中详细说明。
目标资源的多个访问标志位可以是预先设置的,例如针对每一个资源,可以预先设置N个访问标志位。不同资源所对应的访问标志位的数量可以相同,也可以不同。
本申请不限定访问标志位的形式,例如可以至少包括以下两种形式之一。
在一种可能的实现方式中,通过多个比特(N bits)的存储空间(例如共享内存)作为所述多个访问标志位,一个比特的存储空间用于作为一个访问标志位。通过该方式确定访问标志位,在性能上可以达到较优效果。
在一种可能的实现方式中,通过链表作为所述多个访问标志位,所述链表的一个表项用于作为一个访问标志位。通过该方式确定访问标志位,可以适应访问进程上限不确定的情况。
S202:将所述目标标志位设置为第一标识。
当目标资源所对应多个访问标志位中的一个访问标志位作为目标标志位分配给第一进程后,目标标志位中设置的标识就可以体现目前第一进程对目标资源的访问情况。
由于目前第一进程正在访问目标资源,且暂未出现异常,故将目标标志位设置为第一标识,该第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源。
S203:若确定所述第一进程出现异常,将所述目标标志位设置为第二标识。
这里所指的异常是指在第一进程正在访问目标资源期间,第一进程非正常终止。由于在计算机环境中,其他进程或者后台可以确定出某一进程出现异常,故当第一进程被发现出现异常时,可以通过访问标志位的分配关系确定出第一进程正在访问目标资源,且被分配了目标标志位。将目标标志位设置为第二标识,该第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源。
由此,即使出现进程在访问资源时发生异常的情况,也可以通过设置所对应访问标志位的标识来进行明示,使得其他进程能够了解资源被进程访问的实际情况。解决了原本引用计数所无法解决的问题。
这里所述的异常可以是指进程异常停止,非正常终止等情况。
需要注意的是,如果当所述第一进程停止访问所述目标资源,即正常停止访问所述目标资源,第一进程可以自行将所述目标标志位设置为第二标识,以便明示其他希望访问该目标资源的进程。
S204:当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
如果访问目标资源的某一进程在访问过程中出现异常,那么该进程对应的访问标志位不会保持为用于体现正在访问的第一标识,而会被从第一标识设置为第二标识。
并不是只有异常进程才会将其对应的访问标志位设置为第二标识,只要是停止访问目标资源的进程,其对应的访问标志位均会被设置为第二标识。
也就是说,当进程在访问目标资源时出现异常或停止访问目标资源时,其对应的标志位都会设置为第二标识。
故当某一进程,例如第二进程需要访问目标资源时,若确定目标资源所对应的多个访问标志位均被设置为第二标识,则可以确定目前目标资源未被进程访问,第二进程可以在有需要的情况下对目标资源执行修改、删除操作。
同理,在一种可能的实现方式中,当目标资源所对应的多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。若在这种情况下有进程需要访问目标资源,该进程将目前自身只有读取目标资源的权限,而不具有对目标资源修改、删除操作的权限,否则会对正在访问目标资源的其他进程造影响。
由此可见,即使有进程在访问目标资源时出现异常,可以将该进程对应的访问标志位设置为第二标识以明示,其他进程在访问目标资源时,可以通过目标资源所对应多个访问标志位是否均为第二标识来准确确定是否有进程正在访问目标资源,从而降低了异常进程对其他进程在资源访问上的影响,提高了资源访问效率。
需要说明的是,本申请实施例还提供了一种进程内的引用计数机制,并基于该机制实现进程对自身分配的访问标志位进行标识设置。例如针对访问目标资源的第一进程,其可以通过自身维护的引用计数(针对目标资源)的计数值,该计数值可以体现第一进程中线程访问目标资源的访问数量。在第一进程自身未出现异常的情况下,对目标标志位的标识进行合理设置,以通过正确设置标识来维护自身访问目标资源的实际情况。
在一种可能的实现方式中,以第一进程为例,为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中访问所述目标资源的线程数量。
当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识。
例如图3所示的场景,该场景中,第一数值为1,第一标识为1,每增加一个线程对目标资源的访问,计数值加1。
当第一进程中增加一个线程访问目标资源,将第一进程对应目标资源的计数值加1,若增加后的计数值等于1,证明第一进程从没有线程访问目标资源的情况下开始有线程访问目标资源了,将目标标志位设置为1。
如果增加后的计数值不等于1,证明在增加访问目标资源的线程之前,第一进程中已经有其他线程正在访问目标资源,则可以不对目标标志位进行操作。
当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
例如图4所示的场景,该场景中,第二数值为0,第二标识为0,每减少一个线程对目标资源的访问,计数值减1。
当第一进程中减少一个线程访问目标资源,将第一进程对应目标资源的计数值减1,若减少后的计数值等于0,证明第一进程中没有线程访问目标资源了,将目标标志位设置为0。
如果减少后的计数值不等于0,证明第一进程在减少了访问目标资源的线程后,还有线程仍在访问目标资源,则可以不对目标标志位进行操作。
通过进程内的引用计数和多个进程共用的访问标志位结合而成的引用计数方法,可以准确标识资源被访问情况,避免异常进程带来的问题。
在多进程环境下即使进程异常终止也能保证引用计数的正确性。并且由于只在进程内引用计数发生0和非0状态变化时才需要修改多进程共用的访问标志位,而且修改最简单的位操作,性能与常规的引用计数基本相当。通过给进程编号,访问标记中不用额外记录每个进程的计数,简化了访问标记的结构和加、减、清理计数操作。
图5为本申请实施例提供了一种进程访问确定装置的装置结构图,所述装置包括第一确定单元501、第一设置单元502和第二确定单元503:
所述第一确定单元,用于若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
所述第一设置单元,用于将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
所述第一设置单元,还用于若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
所述第二确定单元,用于当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
可选的,所述装置还包括第二设置单元和计数单元:
所述第二设置单元,用于为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中线程访问所述目标资源的访问数量;
所述计数单元,用于当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识;
所述计数单元还用于当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
可选的,所述第二确定单元,还用于当所述多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。
可选的,通过多个比特的存储空间作为所述多个访问标志位,一个比特的存储空间用于作为一个访问标志位。
可选的,通过链表作为所述多个访问标志位,所述链表的一个表项用于作为一个访问标志位。
由此可见,即使有进程在访问目标资源时出现异常,可以将该进程对应的访问标志位设置为第二标识以明示,其他进程在访问目标资源时,可以通过目标资源所对应多个访问标志位是否均为第二标识来准确确定是否有进程正在访问目标资源,从而降低了异常进程对其他进程在资源访问上的影响,提高了资源访问效率。
通过进程内的引用计数和多个进程共用的访问标志位结合而成的引用计数方法,可以准确标识资源被访问情况,避免异常进程带来的问题。
在多进程环境下即使进程异常终止也能保证引用计数的正确性。并且由于只在进程内引用计数发生0和非0状态变化时才需要修改多进程共用的访问标志位,而且修改最简单的位操作,性能与常规的引用计数基本相当。通过给进程编号,访问标记中不用额外记录每个进程的计数,简化了访问标记的结构和加、减、清理计数操作。
本申请实施例还提供一种设备,该设备具体可以是服务器,图6是本申请实施例提供的一种服务器结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作***641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图6所示的服务器结构。
其中,CPU 622用于执行如下步骤:
若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
可选的,CPU622还用于执行本申请实施例提供的进程访问确定方法的任意一种实现方式的步骤。
本申请实施例还提供了另一种设备,该设备具体可以是终端,该终端可以为台式机desktop、笔记本电脑等等,如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。以终端为desktop为例:
图7示出的是与本申请实施例提供的终端相关的desktop部分结构的框图。参考图7,desktop包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的desktop结构并不构成对desktop的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对desktop的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:Low NoiseAmplifier,英文缩写:LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行desktop的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据desktop的使用所创建的数据(比如音频数据等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与desktop的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及desktop的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现desktop的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现desktop的输入和输出功能。
desktop还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在desktop移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别desktop姿态的应用、振动识别相关功能(比如计步器、敲击)等;至于desktop还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与desktop之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一desktop,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,desktop通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于desktop的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是desktop的控制中心,利用各种接口和线路连接整个desktop的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行desktop的各种功能和处理数据,从而对desktop进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
desktop还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理***与处理器780逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,desktop还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器780还具有以下功能:
若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
可选的,所述处理器780还用于执行本申请的进程访问确定方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种进程访问确定方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种进程访问确定方法中的任意一种实施方式。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种进程访问确定方法,其特征在于,所述方法包括:
若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中线程访问所述目标资源的访问数量;
当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识;
当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。
4.根据权利要求1-3任意一项所述的方法,其特征在于,通过多个比特的存储空间作为所述多个访问标志位,一个比特的存储空间用于作为一个访问标志位。
5.根据权利要求1-3任意一项所述的方法,其特征在于,通过链表作为所述多个访问标志位,所述链表的一个表项用于作为一个访问标志位。
6.一种进程访问确定装置,其特征在于,所述装置包括第一确定单元、第一设置单元和第二确定单元:
所述第一确定单元,用于若第一进程访问目标资源,从所述目标资源所对应多个访问标志位中确定与所述第一进程对应的目标标志位;所述多个访问标志位分别对应访问所述目标资源的不同进程;
所述第一设置单元,用于将所述目标标志位设置为第一标识,所述第一标识用于标识所述目标标志位对应的所述第一进程正在访问所述目标资源;
所述第一设置单元,还用于若确定所述第一进程出现异常,将所述目标标志位设置为第二标识,所述第二标识用于标识所述目标标志位对应的所述第一进程停止访问所述目标资源;
所述第二确定单元,用于当所述多个访问标志位均被设置为所述第二标识时,确定所述目标资源未被进程访问。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括第二设置单元和计数单元:
所述第二设置单元,用于为所述第一进程设置对应所述目标资源的计数值;所述计数值的数值用于标识所述第一进程中线程访问所述目标资源的访问数量;
所述计数单元,用于当所述第一进程中第一线程访问所述目标资源时,增加所述计数值,若增加后的所述计数值等于第一数值,将所述目标标志位设置为第一标识;
所述计数单元还用于当所述第一进程中第二线程停止访问所述目标资源时,减少所述计数值,若减少后的所述计数值等于第二数值,将所述目标标志位设置为第二标识;所述第二数值小于所述第一数值。
8.根据权利要求6所述的装置,其特征在于,所述第二确定单元,还用于当所述多个访问标志位中至少一个访问标志位被设置为所述第一标识时,确定所述目标资源被进程访问。
9.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-5任一项所述的方法。
CN202010143232.8A 2020-03-04 2020-03-04 一种进程访问确定方法和相关装置 Pending CN111352762A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010143232.8A CN111352762A (zh) 2020-03-04 2020-03-04 一种进程访问确定方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010143232.8A CN111352762A (zh) 2020-03-04 2020-03-04 一种进程访问确定方法和相关装置

Publications (1)

Publication Number Publication Date
CN111352762A true CN111352762A (zh) 2020-06-30

Family

ID=71192562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010143232.8A Pending CN111352762A (zh) 2020-03-04 2020-03-04 一种进程访问确定方法和相关装置

Country Status (1)

Country Link
CN (1) CN111352762A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2829847A1 (fr) * 2001-09-20 2003-03-21 Cp8 Procede de controle d'acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d'un tel procede
US20030135537A1 (en) * 2002-01-12 2003-07-17 Mortensen Mikael Semaphore system based on process events
US20090044194A1 (en) * 2007-08-09 2009-02-12 Pradeep Kumar Rathi Multithreaded lock management
US20130080672A1 (en) * 2011-09-27 2013-03-28 Kaminario Technologies Ltd. System, method and computer program product for access control
CN106326014A (zh) * 2016-08-24 2017-01-11 杭州费尔斯通科技有限公司 一种资源访问方法及装置
US20170286107A1 (en) * 2014-09-08 2017-10-05 Arm Limited Shared resources in a data processing apparatus for executing a plurality of threads
CN108170489A (zh) * 2016-12-07 2018-06-15 腾讯科技(深圳)有限公司 一种快速加载资源的方法及装置
US20200401463A1 (en) * 2019-06-24 2020-12-24 International Business Machines Corporation Self-managed lock access
CN114912103A (zh) * 2021-02-09 2022-08-16 华为技术有限公司 一种访问控制方法及相关装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2829847A1 (fr) * 2001-09-20 2003-03-21 Cp8 Procede de controle d'acces a des ressources partagees dans un systeme embarque et systeme embarque pour la mise en oeuvre d'un tel procede
US20030135537A1 (en) * 2002-01-12 2003-07-17 Mortensen Mikael Semaphore system based on process events
CN1703676A (zh) * 2002-01-12 2005-11-30 英特尔公司 基于进程事件的信号量***
US20090044194A1 (en) * 2007-08-09 2009-02-12 Pradeep Kumar Rathi Multithreaded lock management
US20130080672A1 (en) * 2011-09-27 2013-03-28 Kaminario Technologies Ltd. System, method and computer program product for access control
US20170286107A1 (en) * 2014-09-08 2017-10-05 Arm Limited Shared resources in a data processing apparatus for executing a plurality of threads
CN106326014A (zh) * 2016-08-24 2017-01-11 杭州费尔斯通科技有限公司 一种资源访问方法及装置
CN108170489A (zh) * 2016-12-07 2018-06-15 腾讯科技(深圳)有限公司 一种快速加载资源的方法及装置
US20200401463A1 (en) * 2019-06-24 2020-12-24 International Business Machines Corporation Self-managed lock access
CN114912103A (zh) * 2021-02-09 2022-08-16 华为技术有限公司 一种访问控制方法及相关装置

Similar Documents

Publication Publication Date Title
CN108089977B (zh) 一种应用程序的异常处理方法、装置及移动终端
CN106502703B (zh) 一种函数调用方法和装置
CN108595218B (zh) 一种加载***动态库的方法和装置
CN110196795B (zh) 检测移动终端应用运行状态的方法及相关装置
CN109976611B (zh) 终端设备的控制方法及终端设备
CN108900386B (zh) 告警信息的产生方法、装置及电子设备
CN109144723B (zh) 一种分配存储空间的方法和终端
CN111966491B (zh) 统计占用内存的方法及终端设备
CN110837343A (zh) 处理快照的方法、装置及终端
CN107908492B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN112231144A (zh) 一种数据处理方法、装置及电子设备
US10853092B2 (en) Method and device for sound effect processing
CN105278942B (zh) 组件管理方法及装置
CN108089935B (zh) 一种应用程序的管理方法及移动终端
CN106709330B (zh) 记录文件执行行为的方法及装置
WO2019072179A1 (zh) 应用程序运行控制方法及装置
CN110245017B (zh) 资源标识的分配方法和设备
CN105528220B (zh) 加载动态共享对象的方法和装置
CN109902484B (zh) 一种关联应用的处理方法以及终端
CN107122204B (zh) 应用的卸载状态检测方法及装置
CN113821142B (zh) 一种界面窗口的管理方法以及相关装置
CN115794524A (zh) 一种校验方法、装置、电子设备及可读存储介质
CN111352762A (zh) 一种进程访问确定方法和相关装置
CN115348256A (zh) 入账数据下传方法、装置、存储介质及电子设备
CN110442361B (zh) 一种灰度发布方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200630