数据访问的方法及服务器技术

技术编号:20329012 阅读:15 留言:0更新日期:2019-02-13 05:40
本发明专利技术实施例提供一种数据访问的方法及服务器,该方法包括:对于多个任务中任一任务,若当前检测到任一任务发起的数据访问请求且控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得任一任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。本发明专利技术实施例提供的方法,在多个任务访问同一指定数据时,通过接收多个任务中任一任务发送的数据访问请求,设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给任务,以使得任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。

【技术实现步骤摘要】
数据访问的方法及服务器
本专利技术涉及计算机
,尤其涉及一种数据访问的方法及服务器。
技术介绍
目前,各种分布式应用级和系统软件越来越普及。在分布式系统中,多个进程需要访问相同的数据或共享相同的计算资源。在相关技术中,多个进程在访问同一数据时,可能会出现如下情况:进程1需要获取某一时刻下的数据A,而进程1在获取数据A的过程中,可能会存在其它进程对数据A的具体数值进行了修改,从而导致进程1获取到的不是该时刻下的数据A,而获取到的是其它进程对该时刻下的数据A进行修改后的修改结果,进而导致进程1数据访问出错。
技术实现思路
针对现有技术中存在的问题,本专利技术实施例提供一种数据访问的方法及服务器。第一方面,本专利技术实施例提供一种数据访问的方法,包括:对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。第二方面,本专利技术实施例提供一种服务器,包括:判断模块,用于对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术第一方面实施例提供的数据访问的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术第一方面实施例提供的数据访问的方法的步骤。本专利技术实施例提供的方法,在多个任务访问同一指定数据时,通过接收多个任务中任一任务发送的数据访问请求,设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给任务,以使得任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。附图说明图1为本专利技术实施例提供的数据访问的方法的示意图;图2为本专利技术实施例提供的一种服务器的结构示意图;图3为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在分布式系统中,多个进程需要访问相同的数据或共享相同的计算资源,然而多个进程同时访问同一数据时,可能会出现访问错误,为了解决此问题,本专利技术实施例提供一种数据访问的方法,该方法可以用于数据访问的场景,例如网页浏览,也可以用于其它的场景,本专利技术对此不作具体限定。该方法可以由服务器或终端来执行,用于对接收到数据访问请求进行分析处理,本专利技术对此不作具体限定。图1为本专利技术实施例提供的数据访问的方法的示意图,如图1所示,该方法包括:步骤101、对于多个任务中任一任务,若当前检测到该任务发起的数据访问请求,则判断控制锁是否处于空闲状态。由上述说明可知,本专利技术实施例提供的方法可以由服务器执行。在此基础下,数据访问请求可以由终端发送。相应地,本专利技术实施例提供的方法可适用于如下场景:多个终端通过向服务器发送数据访问请求,以实现对服务器中存储的数据进行访问。当然,实际实施过程中,本专利技术实施例提供的方法也可以适用于其他场景,如多个终端共同访问同一终端存储的数据,此时本专利技术实施例提供的方法的执行主体为被访问的终端。需要说明的是,在多个终端共同访问同一服务器中存储的数据的场景下,本专利技术实施例提供的方法主要针对的是多个终端访问服务器上存储的同一数据。本专利技术实施例提供的方法还可以适用于多个进程访问同一数据的场景,此时多个进程可以是由服务器发起的,多个进程共同访问服务器存储的同一数据,此时,本专利技术实施例提供的方法的执行主体为服务器。需要说明的是,若多个进程是由终端发起的,多个进程共同访问终端存储的同一数据,此时,本专利技术实施例提供的方法的执行主体为终端。为了便于说明,以实施场景为多个终端访问同一服务器中存储的同一数据示例,对本专利技术实施例提供的方法进行说明。在步骤101中,多个任务可以为同一终端中的多个任务,也可以为不同终端对应的多个任务。若多个任务为同一终端中的多个任务,对于多个任务中任一任务,则服务器检测到该任务发起的数据访问请求是由同一终端发起的。若多个任务为不同终端对应的多个任务,对于多个任务中任一任务,则服务器检测到该任务发起的数据访问请求是由多个终端发起的。本专利技术实施例不对多个任务中任一任务的发起对象作具体限定。当服务器检测到任务发起的数据访问请求后,服务器判断控制锁的状态是否处于空闲状态。控制锁的状态包含占用状态和空闲状态两种,当控制锁处于占用状态时,服务器无法对控制锁进行分配操作,当控制锁处于空闲状态时,服务器可以对控制锁进行分配操作。步骤102、若控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得任一任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。在步骤102中,若服务器接收到多个任务中任一任务中的数据访问请求,多个任务中任一任务中的数据访问请求访问的是同一指定数据,且服务器检测到控制访问指定数据的控制锁处于空闲状态,则为发起数据访问的任务配置控制锁,同时服务器将控制锁的状态由空闲状态设置为占用状态,以使得指定数据只能被配置控制锁的任务访问。本专利技术实施例提供的方法,在多个任务访问同一指定数据时,通过接收多个任务中任一任务发送的数据访问请求,设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给任务,以使得任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。对于多个任务中任一任务,基于上述实施例的内容,作为一种可选的实施例,本专利技术实施例不对为所述任一任务分配所述控制锁之后的内容作具体限定,包括但不限于:若检测到该任务结束对所述指定数据的访问过程,则将所述控制锁设置为空闲状态。若服务器检测到该任务对指定数据的访问结束,则将分配给此任务的控制锁设置为空闲状态,使得服务器对控制锁进行再分配,将空闲状态的控制锁分配给其他任务,以使得任务执行数据访问的操作。本专利技术实施例提供的方法,在任务结束对指定数据的访问之后,将分配给任务的控制锁设置为空闲状态,有利于服务器对控制锁进行再分配,分配给其他任务进行数据访问操作。考虑到服务器将控制锁分配给任务,进行数据访问操作后,若该任务在执行时出现了无法结束对指定数据的访问操作的错误,从而使得服务器无法确定该任务是否结束对指定数据的访问。而服务器只有在确定该任务结束对指定数据的访问后,才能够收回控制锁,而其他任务只有在配置有控制锁的前提下才能实现数据访问。因此,在上述情形下,最终会影响到其他任务对指定数据的访问。针对上述情形,对于多个任务中任一任务,基本文档来自技高网...

【技术保护点】
1.一种数据访问的方法,其特征在于,包括:对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。

【技术特征摘要】
1.一种数据访问的方法,其特征在于,包括:对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。2.根据权利要求1所述的方法,其特征在于,所述为所述任一任务分配所述控制锁之后,还包括:若检测到所述任一任务结束对所述指定数据的访问过程,则将所述控制锁设置为空闲状态。3.根据权利要求1所述的方法,其特征在于,所述为所述任一任务分配所述控制锁之后,还包括:若所述任一任务对所述指定数据的访问时长超过预设阈值,则将所述控制锁设置为空闲状态。4.根据权利要求3所述的方法,其特征在于,所述预设阈值是由所述数据访问请求携带的、或者是预先设置的或者是基于所述多个任务在访问所述指定数据时的历史访问时长所确定的。5.根据权利要求3所述的方法,其特征在于,所述多个任务中每一任务发起数据访问请求的发起时刻是预先确定的,所述预设阈值是基于所述多个任务中每一任务的数据访问请求...

【专利技术属性】
技术研发人员:余九峰史英端
申请(专利权)人:北京天元创新科技有限公司
类型:发明
国别省市:北京,11

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

1