CN109324877A - 数据访问的方法及服务器 - Google Patents

数据访问的方法及服务器 Download PDF

Info

Publication number
CN109324877A
CN109324877A CN201810929639.6A CN201810929639A CN109324877A CN 109324877 A CN109324877 A CN 109324877A CN 201810929639 A CN201810929639 A CN 201810929639A CN 109324877 A CN109324877 A CN 109324877A
Authority
CN
China
Prior art keywords
task
control lock
data
data access
access request
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
CN201810929639.6A
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.)
Beijing Tianyuan Creative Technology Ltd
Original Assignee
Beijing Tianyuan Creative Technology Ltd
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 Beijing Tianyuan Creative Technology Ltd filed Critical Beijing Tianyuan Creative Technology Ltd
Priority to CN201810929639.6A priority Critical patent/CN109324877A/zh
Publication of CN109324877A publication Critical patent/CN109324877A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

数据访问的方法及服务器
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据访问的方法及服务器。
背景技术
目前,各种分布式应用级和系统软件越来越普及。在分布式系统中,多个进程需要访问相同的数据或共享相同的计算资源。在相关技术中,多个进程在访问同一数据时,可能会出现如下情况:进程1需要获取某一时刻下的数据A,而进程1在获取数据A的过程中,可能会存在其它进程对数据A的具体数值进行了修改,从而导致进程1获取到的不是该时刻下的数据A,而获取到的是其它进程对该时刻下的数据A进行修改后的修改结果,进而导致进程1数据访问出错。
发明内容
针对现有技术中存在的问题,本发明实施例提供一种数据访问的方法及服务器。
第一方面,本发明实施例提供一种数据访问的方法,包括:
对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。
第二方面,本发明实施例提供一种服务器,包括:
判断模块,用于对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面实施例提供的数据访问的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面实施例提供的数据访问的方法的步骤。
本发明实施例提供的方法,在多个任务访问同一指定数据时,通过接收多个任务中任一任务发送的数据访问请求,设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给任务,以使得任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。
附图说明
图1为本发明实施例提供的数据访问的方法的示意图;
图2为本发明实施例提供的一种服务器的结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在分布式系统中,多个进程需要访问相同的数据或共享相同的计算资源,然而多个进程同时访问同一数据时,可能会出现访问错误,为了解决此问题,本发明实施例提供一种数据访问的方法,该方法可以用于数据访问的场景,例如网页浏览,也可以用于其它的场景,本发明对此不作具体限定。该方法可以由服务器或终端来执行,用于对接收到数据访问请求进行分析处理,本发明对此不作具体限定。图1为本发明实施例提供的数据访问的方法的示意图,如图1所示,该方法包括:
步骤101、对于多个任务中任一任务,若当前检测到该任务发起的数据访问请求,则判断控制锁是否处于空闲状态。
由上述说明可知,本发明实施例提供的方法可以由服务器执行。在此基础下,数据访问请求可以由终端发送。相应地,本发明实施例提供的方法可适用于如下场景:多个终端通过向服务器发送数据访问请求,以实现对服务器中存储的数据进行访问。当然,实际实施过程中,本发明实施例提供的方法也可以适用于其他场景,如多个终端共同访问同一终端存储的数据,此时本发明实施例提供的方法的执行主体为被访问的终端。需要说明的是,在多个终端共同访问同一服务器中存储的数据的场景下,本发明实施例提供的方法主要针对的是多个终端访问服务器上存储的同一数据。
本发明实施例提供的方法还可以适用于多个进程访问同一数据的场景,此时多个进程可以是由服务器发起的,多个进程共同访问服务器存储的同一数据,此时,本发明实施例提供的方法的执行主体为服务器。需要说明的是,若多个进程是由终端发起的,多个进程共同访问终端存储的同一数据,此时,本发明实施例提供的方法的执行主体为终端。
为了便于说明,以实施场景为多个终端访问同一服务器中存储的同一数据示例,对本发明实施例提供的方法进行说明。
在步骤101中,多个任务可以为同一终端中的多个任务,也可以为不同终端对应的多个任务。若多个任务为同一终端中的多个任务,对于多个任务中任一任务,则服务器检测到该任务发起的数据访问请求是由同一终端发起的。若多个任务为不同终端对应的多个任务,对于多个任务中任一任务,则服务器检测到该任务发起的数据访问请求是由多个终端发起的。本发明实施例不对多个任务中任一任务的发起对象作具体限定。当服务器检测到任务发起的数据访问请求后,服务器判断控制锁的状态是否处于空闲状态。控制锁的状态包含占用状态和空闲状态两种,当控制锁处于占用状态时,服务器无法对控制锁进行分配操作,当控制锁处于空闲状态时,服务器可以对控制锁进行分配操作。
步骤102、若控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得任一任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。
在步骤102中,若服务器接收到多个任务中任一任务中的数据访问请求,多个任务中任一任务中的数据访问请求访问的是同一指定数据,且服务器检测到控制访问指定数据的控制锁处于空闲状态,则为发起数据访问的任务配置控制锁,同时服务器将控制锁的状态由空闲状态设置为占用状态,以使得指定数据只能被配置控制锁的任务访问。
本发明实施例提供的方法,在多个任务访问同一指定数据时,通过接收多个任务中任一任务发送的数据访问请求,设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给任务,以使得任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。
对于多个任务中任一任务,基于上述实施例的内容,作为一种可选的实施例,本发明实施例不对为所述任一任务分配所述控制锁之后的内容作具体限定,包括但不限于:若检测到该任务结束对所述指定数据的访问过程,则将所述控制锁设置为空闲状态。
若服务器检测到该任务对指定数据的访问结束,则将分配给此任务的控制锁设置为空闲状态,使得服务器对控制锁进行再分配,将空闲状态的控制锁分配给其他任务,以使得任务执行数据访问的操作。
本发明实施例提供的方法,在任务结束对指定数据的访问之后,将分配给任务的控制锁设置为空闲状态,有利于服务器对控制锁进行再分配,分配给其他任务进行数据访问操作。
考虑到服务器将控制锁分配给任务,进行数据访问操作后,若该任务在执行时出现了无法结束对指定数据的访问操作的错误,从而使得服务器无法确定该任务是否结束对指定数据的访问。而服务器只有在确定该任务结束对指定数据的访问后,才能够收回控制锁,而其他任务只有在配置有控制锁的前提下才能实现数据访问。因此,在上述情形下,最终会影响到其他任务对指定数据的访问。针对上述情形,对于多个任务中任一任务,基于上述实施例的内容,作为一种可选的实施例,本发明实施例不对为该任务分配控制锁之后的内容作具体限定,包括但不限于:若该任务对指定数据的访问时长超过预设阈值,则将控制锁设置为空闲状态。
例如,将预设阈值确定为100秒,当服务器监测到任务对指定数据的访问时长超过100秒,则服务器结束该任务对指定数据的访问,将此任务的控制锁由占用状态设置为空闲状态。
本发明实施例提供的方法,通过若任务对指定数据的访问时长超过预设阈值,则将控制锁设置为空闲状态,从而提高了控制锁的利用效率,进而提升了访问数据的效率。
基于上述实施例的内容,作为一种可选的实施例,本发明实施例不对预设阈值的确定方式作具体限定,包括但不限于:预设阈值是由数据访问请求携带的、或者是预先设置的或者是基于多个任务在访问指定数据时的历史访问时长所确定的。
服务器接收到多个任务中任一任务中的数据访问请求时,访问请求中还可以包含预设阈值,预设阈值用来控制数据访问时长,若数据访问时长超过预设阈值,则服务器结束此任务的数据访问,并将此任务的控制锁设置为空闲状态。
预设阈值可以是预先设置的,一般的,可以是由用户设置,服务器获取到的。预设阈值也可以是服务器基于多个任务在访问指定数据时的历史访问时长所确定的。
例如,若多个任务为不同终端对应的多个任务,对于多个任务中任一任务,则服务器检测到该任务发起的数据访问请求是由多个终端发起的,服务器可以基于多个任务在访问指定数据时的历史访问时长的平均值确定该任务的预设阈值。
本发明实施例提供的方法,通过设置预设阈值,使用预设阈值控制数据访问时长,提升了访问数据的效率。
基于上述实施例的内容,作为一种可选的实施例,本发明实施例提供一种数据访问的方法,该方法包括:多个任务中每一任务发起数据访问请求的发起时刻是预先确定的,预设阈值是基于多个任务中每一任务的数据访问请求发起时刻所确定的。
在上述情形中,服务器接收到多个任务中任一任务中的数据访问请求,多个任务中任一任务中的数据访问请求访问的是同一指定数据,并且多个任务中每一任务发起数据访问请求的发起时刻是预先确定的。
若服务器检测到控制访问指定数据的控制锁处于空闲状态,则将多个任务中每一任务发起数据访问请求的发起时刻按照时间排序,依次确定第一任务、第二任务及第N任务,N的大小取决于定时预约任务的数量,将发起时刻最早的定时预约任务确定为第一任务,为第一任务配置控制锁,同时基于与第一任务数据访问请求发起时刻最接近的第二任务的数据访问请求发起时刻,确定第一任务数据访问的预设阈值。具体地,可将预设阈值设置为第二任务的数据访问请求发起时刻与第一任务数据访问发起时刻的差值。
若第一任务对指定数据的访问时长超过预设阈值,则结束第一任务对指定数据的访问,并将控制锁设置为空闲状态,使得服务器检测到控制访问指定数据的控制锁处于空闲状态,则服务器将控制锁分配给第二任务,同时基于与第二任务数据访问请求发起时刻最接近的第三任务的数据访问请求发起时刻确定第二任务数据访问的预设阈值,将预设阈值设置为第三任务的数据访问请求发起时刻与第二任务数据访问发起时刻的差值。若第二任务对指定数据的访问时长超过预设阈值,则结束第二任务对指定数据的访问,并将控制锁设置为空闲状态,使得服务器检测到控制访问指定数据的控制锁处于空闲状态,则服务器将控制锁分配给第三任务,服务器重复上述操作,直至第N-1个任务完成对指定数据的访问,服务器检测到第N-1个任务的控制锁状态变为空闲状态,则服务器将控制锁分配给第N个任务,由于第N个任务为多个任务中最后一个任务,则设置第N个预设阈值的方法可以为自行设置的,也可以为服务器基于多个任务在访问指定数据时的历史访问时长的平均值确定的。
本发明实施例提供的方法,预设阈值是基于多个任务中每一任务的数据访问请求发起时刻所确定的,使得多个任务中每个任务均可以顺利获得控制锁,通过设置预设阈值,使用预设阈值控制数据访问时长,提升了访问数据的效率。
对于多个任务中任一任务,基于上述实施例的内容,作为一种可选的实施例,若当前检测到该任务发起的数据访问请求且控制锁处于占用状态,则设置等待时长,以使得该任务经过等待时长后再次发起数据访问请求。
若服务器接收到多个任务中任一任务中的数据访问请求,多个任务中任一任务中的数据访问请求访问的是同一指定数据,且服务器检测到控制访问指定数据的控制锁处于占用状态,则服务器将控制锁被占用的信息反馈至终端,以使得终端将接收到的用户设置的等待时长发送至服务器,服务器接收到终端发送的用户设置的等待时长后,将在该任务经过等待时长后,发送反馈消息至终端,以使得终端上的任务再次发起数据访问请求。
本发明实施例提供的方法,若检测到任务发起的数据访问请求且控制锁处于占用状态,则通过设置等待时长,以使得任务经过等待时长后再次发起数据访问请求,进而提升了数据访问的效率。
基于上述实施例的内容,作为一种可选的实施例,本发明实施例不对控制锁的类型作具体限定,包括但不限于:控制锁为Redis锁。
本发明实施例中,当指定数据添加Redis锁后,其他线程无法对指定数据进行读写操作。由于基于缓存的实现机制,在性能方面表现好,并且可以支持集群部署,解决单点问题,本发明实施例基于Redis锁来实现控制锁。
图2为本发明实施例提供的一种服务器的结构示意图,如图2所示,该服务器包括检测模块21和处理模块22。其中,检测模块21用于对于多个任务中任一任务,检测所述任一任务发起的数据访问请求,处理模块22用于若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁;并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。
具体地,检测模块21用于对于多个任务中任一任务,检测所述任一任务发起的数据访问请求。
若处理模块22当前检测到任一任务发起的数据访问请求且控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得该任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。
需要说明的是,发起数据访问请求的多个任务中的一个任务可以是由终端发起的,也可以是服务器发起的。终端可以是具有处理器的各种电子设备,包括但不限于智能手机、平板电脑、电子阅读器、台式计算机和笔记本电脑等。
当检测模块21检测到任务发起的数据访问请求后,处理模块22判断控制锁的状态是否处于空闲状态。控制锁的状态包含占用状态和空闲状态两种,当控制锁处于占用状态时,处理模块22无法对控制锁进行分配操作,当控制锁处于空闲状态时,处理模块22可以对控制锁进行分配操作。
若检测模块21接收到多个任务中任一任务中的数据访问请求,多个任务中任一任务中的数据访问请求访问的是同一指定数据,且控制访问指定数据的控制锁处于空闲状态,则处理模块22为发起数据访问的任务配置控制锁,同时处理模块22将控制锁的状态由空闲状态设置为占用状态,以使得指定数据只能被配置控制锁的任务访问。
本发明实施例提供的服务器,在多个任务访问同一指定数据时,通过检测模块检测多个任务中任一任务发送的数据访问请求,通过处理模块设置控制锁,控制任务访问所述指定数据,再判断控制锁是否处于空闲状态,若控制锁处于空闲状态,则将控制锁分配给该任务,以使得该任务执行数据访问的操作,从而保证了同一时段只有一个任务对指定数据进行访问。
图3为本发明实施例提供的一种电子设备的结构示意图,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现数据访问的方法的步骤。
具体地,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和总线340,其中,处理器310,通信接口320,存储器330通过总线340完成相互间的通信。通信接口340可以用于电子设备之间的信息传输。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:对于多个任务中任一任务,若当前检测到任一任务发起的数据访问请求且控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得任一任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现数据访问的方法的步骤。例如包括:对于多个任务中任一任务,若当前检测到任一任务发起的数据访问请求且控制锁处于空闲状态,则为任一任务分配控制锁,并将控制锁设置为占用状态,以使得任一任务访问指定数据;其中,控制锁用于控制多个任务访问指定数据。
本发明电子设备实施例和非暂态计算机可读存储介质实施例是用于执行数据访问的方法实施例的,具体的流程和详细的内容,请参照上述数据访问的方法实施例,此处不再赘述。
另外,本领域内的技术人员应当理解的是,在本发明的申请文件中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明的说明书中,说明了大量具体细节。然而应当理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据访问的方法,其特征在于,包括:
对于多个任务中任一任务,若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁,并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。
2.根据权利要求1所述的方法,其特征在于,所述为所述任一任务分配所述控制锁之后,还包括:
若检测到所述任一任务结束对所述指定数据的访问过程,则将所述控制锁设置为空闲状态。
3.根据权利要求1所述的方法,其特征在于,所述为所述任一任务分配所述控制锁之后,还包括:
若所述任一任务对所述指定数据的访问时长超过预设阈值,则将所述控制锁设置为空闲状态。
4.根据权利要求3所述的方法,其特征在于,所述预设阈值是由所述数据访问请求携带的、或者是预先设置的或者是基于所述多个任务在访问所述指定数据时的历史访问时长所确定的。
5.根据权利要求3所述的方法,其特征在于,所述多个任务中每一任务发起数据访问请求的发起时刻是预先确定的,所述预设阈值是基于所述多个任务中每一任务的数据访问请求发起时刻所确定的。
6.根据权利要求1所述的方法,其特征在于,还包括:
若当前检测到所述任一任务发起的数据访问请求且控制锁处于占用状态,则设置等待时长,以使得所述任一任务经过所述等待时长后再次发起数据访问请求。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述控制锁为Redis锁。
8.一种服务器,其特征在于,包括:
检测模块,用于对于多个任务中任一任务,检测所述任一任务发起的数据访问请求;
处理模块,用于若当前检测到所述任一任务发起的数据访问请求且控制锁处于空闲状态,则为所述任一任务分配所述控制锁;并将所述控制锁设置为占用状态,以使得所述任一任务访问指定数据;其中,所述控制锁用于控制所述多个任务访问所述指定数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述数据访问的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述数据访问的方法的步骤。
CN201810929639.6A 2018-08-15 2018-08-15 数据访问的方法及服务器 Pending CN109324877A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810929639.6A CN109324877A (zh) 2018-08-15 2018-08-15 数据访问的方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810929639.6A CN109324877A (zh) 2018-08-15 2018-08-15 数据访问的方法及服务器

Publications (1)

Publication Number Publication Date
CN109324877A true CN109324877A (zh) 2019-02-12

Family

ID=65263405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810929639.6A Pending CN109324877A (zh) 2018-08-15 2018-08-15 数据访问的方法及服务器

Country Status (1)

Country Link
CN (1) CN109324877A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522830A (zh) * 2020-04-27 2020-08-11 益萃网络科技(中国)有限公司 资源分配方法、计算机设备和存储介质
CN112184312A (zh) * 2020-09-28 2021-01-05 建信金融科技有限责任公司 一种触达频率控制方法、装置、设备及介质
CN112289432A (zh) * 2020-10-27 2021-01-29 贵州精准医疗电子有限公司 一种基于呼吸机sd卡的远程控制方法及相关产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954411A (zh) * 2014-03-31 2015-09-30 腾讯科技(深圳)有限公司 分布式系统共享网络资源的方法、终端及系统
CN107181789A (zh) * 2017-03-31 2017-09-19 北京奇艺世纪科技有限公司 一种分布式锁实现方法及装置
US9817703B1 (en) * 2013-12-04 2017-11-14 Amazon Technologies, Inc. Distributed lock management using conditional updates to a distributed key value data store
CN107544850A (zh) * 2016-06-29 2018-01-05 百度在线网络技术(北京)有限公司 用于控制分布式锁的方法和装置
CN107656815A (zh) * 2016-07-26 2018-02-02 北京京东尚科信息技术有限公司 用于控制分布式锁的方法和装置
CN107818018A (zh) * 2016-09-14 2018-03-20 北京京东尚科信息技术有限公司 分布式锁的控制方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817703B1 (en) * 2013-12-04 2017-11-14 Amazon Technologies, Inc. Distributed lock management using conditional updates to a distributed key value data store
CN104954411A (zh) * 2014-03-31 2015-09-30 腾讯科技(深圳)有限公司 分布式系统共享网络资源的方法、终端及系统
CN107544850A (zh) * 2016-06-29 2018-01-05 百度在线网络技术(北京)有限公司 用于控制分布式锁的方法和装置
CN107656815A (zh) * 2016-07-26 2018-02-02 北京京东尚科信息技术有限公司 用于控制分布式锁的方法和装置
CN107818018A (zh) * 2016-09-14 2018-03-20 北京京东尚科信息技术有限公司 分布式锁的控制方法和装置
CN107181789A (zh) * 2017-03-31 2017-09-19 北京奇艺世纪科技有限公司 一种分布式锁实现方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522830A (zh) * 2020-04-27 2020-08-11 益萃网络科技(中国)有限公司 资源分配方法、计算机设备和存储介质
CN111522830B (zh) * 2020-04-27 2023-06-09 浙江坤盈科技有限公司 资源分配方法、计算机设备和存储介质
CN112184312A (zh) * 2020-09-28 2021-01-05 建信金融科技有限责任公司 一种触达频率控制方法、装置、设备及介质
CN112289432A (zh) * 2020-10-27 2021-01-29 贵州精准医疗电子有限公司 一种基于呼吸机sd卡的远程控制方法及相关产品

Similar Documents

Publication Publication Date Title
CN108683604B (zh) 并发访问控制方法、终端设备及介质
US11165667B2 (en) Dynamic scaling of storage volumes for storage client file systems
CA3000422C (en) Workflow service using state transfer
US8424007B1 (en) Prioritizing tasks from virtual machines
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN106209682B (zh) 业务调度方法、装置和系统
CN109451051B (zh) 服务请求处理方法、装置、电子设备及存储介质
CN109144700B (zh) 超时时长的确定方法、装置、服务器和数据处理方法
CN109862101B (zh) 跨平台应用启动方法、装置、计算机设备和存储介质
CN105493045A (zh) 虚拟计算实例迁移
US20160269479A1 (en) Cloud virtual server scheduling method and apparatus
CN109324877A (zh) 数据访问的方法及服务器
CN110753084B (zh) 上链数据读取方法、缓存服务器及计算机可读存储介质
CN115277566B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
US9619288B2 (en) Deploying software in a multi-instance node
US7555621B1 (en) Disk access antiblocking system and method
CN112699040B (zh) 压力测试方法、装置、设备及计算机可读存储介质
CN104182683A (zh) 一种联机事务的监控方法、装置及系统
CN114296953A (zh) 一种多云异构系统及任务处理方法
US7908377B2 (en) Computer system and data sharing method
CN109002286A (zh) 基于同步编程的数据异步处理方法及装置
CN117407159A (zh) 内存空间的管理方法及装置、设备、存储介质
CN116795492A (zh) 云平台的资源调度方法、装置、设备及可读存储介质
CN108920278B (zh) 资源分配方法及装置
CN116483274A (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: 20190212