CN107368356A - 一种业务请求处理方法和装置 - Google Patents

一种业务请求处理方法和装置 Download PDF

Info

Publication number
CN107368356A
CN107368356A CN201610313407.9A CN201610313407A CN107368356A CN 107368356 A CN107368356 A CN 107368356A CN 201610313407 A CN201610313407 A CN 201610313407A CN 107368356 A CN107368356 A CN 107368356A
Authority
CN
China
Prior art keywords
operational order
service request
resource
existing
conflict relationship
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
CN201610313407.9A
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610313407.9A priority Critical patent/CN107368356A/zh
Publication of CN107368356A publication Critical patent/CN107368356A/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/466Transaction processing
    • 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/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种业务请求处理方法和装置,其中,该方法包括:提取业务请求中的操作指令和所需资源;获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;根据确定的冲突关系确定是否允许所述业务请求执行。利用本申请实施例提供的技术方案,可以解决现有技术中共用同一资源的业务只能采用串行的方式执行而导致的业务总流程运行时长过长,处理效率低下的技术问题,达到了有效提高业务处理效率的技术效果。

Description

一种业务请求处理方法和装置
技术领域
本申请属于计算机网络技术领域,尤其涉及一种业务请求处理方法和装置。
背景技术
随着网络技术的不断发展,通过互联网处理的业务也越来越多。在目前的服务器产品,业务规模化程度也越来越高,在业务规模化后,并行的业务操作变得很常见,有些业务操作并行是允许的,有些业务操作是需要排队的,有些业务操作是需要拒绝的。
例如:虚拟机A在挂载磁盘B时,虚拟机A和磁盘B就是资源实体,挂载磁盘(指令)是一种业务操作,这种业务操作进行时,虚拟机A上更换操作系统业务(指令)不允许进行,续费业务(指令)允许进行,磁盘B上磁盘扩容业务(指令)不允许进行,续费业务允许进行。
目前对于这种存在业务冲突的情况,一般采用的处理方式是在资源实体上增加互斥锁,从而使得资源实体上有一项业务操作在执行时,会加锁,然后就不再允许其它的写操作。这种方式会导致一个资源同一时刻只能有一种业务操作能进行,然而,在实际情况中,一个资源在进行一个业务操作时,其它的业务操作有的是能并行的,有的是不能并行的,并行操作可以有效的业务操作所需执行的时间,如果完全抛弃可以并行执行的业务操作,显然会导致业务操作的总时长被延长。
例如,如图1和图2所示,资源R1上能进行业务操作A、业务操作B和业务操作C,业务操作A、业务操作B和业务操作C均需要5分钟完成,如果使用互斥锁操作,则整个业务操作A、业务操作B和业务操作C需要顺序完成,总共需要15分钟。经过分析后发现,业务操作A与业务操作B和C不能并行执行,但是业务操作B和业务操作C是可以并行执行的,如果仅采用互斥锁的方式,显然会增加整个业务流程的运行时长。
针对现有技术中共用同一资源的业务只能采用串行的方式执行而导致的业务总流程运行时长过长的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种业务请求处理方法和装置,以有效提高业务处理效率。
本申请提供一种业务请求处理方法和装置是这样实现的:
一种业务请求处理方法,所述方法包括:
提取业务请求中的操作指令和所需资源;
获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
根据确定的冲突关系确定是否允许所述业务请求执行。
一种业务请求处理装置,所述装置包括:
提取模块,用于提取业务请求中的操作指令和所需资源;
获取模块,用于获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
第一确定模块,用于确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
第二确定模块,用于根据确定的冲突关系确定是否允许所述业务请求执行。
本申请提供的业务请求处理方法和装置,为了避免多个业务共用同一资源造成资源冲突情况的发生,不是采用在资源上设置互斥锁的方式,而是提取业务请求中的操作指令和所需资源,然后确定业务请求与所需资源上的既有操作指令是否存在冲突,以确定是否允许业务请求执行,即,先判断业务请求所需资源上是否已经有业务在执行,如果没有自然是可以直接执行当前的业务请求的,如果有业务执行,那么就确定资源上正在执行的资源与当前请求的业务之间是否构成冲突,如果不构成冲突,那么可以并行执行,如果构成冲突,则无法并行执行,从而在保证多个业务共用同一资源时不会造成资源冲突,又可以使得整个业务流程所需时间尽可能缩短,从而解决了现有技术中共用同一资源的业务只能采用串行的方式执行而导致的业务总流程运行时长过长,处理效率低下的技术问题,达到了有效提高业务处理效率的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的串行处理示意图;
图2是本申请实施例的并行处理示意图;
图3是本申请提供的业务请求处理方法一种实施例的方法流程图;
图4是本申请提供的业务请求处理系统的模块示意图;
图5是本申请提供的上层业务发起冲突检测的流程示意图;
图6是本申请提供的指令调度流程示意图;
图7是本申请提供的业务请求处理装置一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图对本申请所述的业务请求处理方法和装置进行详细的说明。图3是本申请提出的业务请求处理方法的一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块结构。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例提供的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
在对本申请实施例的业务请求处理方法具体说明之前,先对几个常规性概念解释如下,以便更好地理解本申请:
1)资源:抽象的业务领域概念,例如:虚拟机,磁盘等都可以是资源。
2)指令:抽象的业务操作概念,例如:更换操作系统等。
3)关系:指令之间的关系,在本申请中关系可以有并行,互斥,等待等。
4)资源实体:指代具体的资源,例如:虚拟机A,磁盘B。
5)指令实例:一次具体的操作,例如:虚拟机A发生的一次更换操作系统指令。
6)互斥锁:是一种信号量,用来防止两个进程或线程在同一时刻访问相同的共享资源。
然而,值得注意的是,上述对名词进行解释的时候主要是以虚拟机和磁盘作为资源进行举例说明的,本申请不限于此,还可以是其它的资源。
具体的如图3所示,本申请提供的业务请求处理方法的一种实施例可以包括:
S1:提取业务请求中的操作指令和所需资源;
所谓的业务请求就是一次业务操作的请求,例如:当资源为虚拟机和磁盘时,请求挂磁盘,这个请求挂磁盘就是业务请求。
在接收到业务请求后,为了判断该业务请求是否可以被执行,即,是否存在冲突,可以从资源的角度出发,即,判断其所需的资源是否空闲,或者是对于非空闲的资源,上面既有的操作指令是否能和业务请求中的操作指令并行存在,如果可以并行存在,那么该业务请求也是可以执行的。也就是说,可以先确定所需资源是否空闲,如果所需资源非空闲,则获取所需资源上的既有操作指令,如果空闲,那么可以直接执行该业务请求,因为不存在资源冲突的问题。
因此,在获取到业务请求后,就可以提取出其中的操作指令和所需资源,即,从该业务请求中提取中指令中所携带的操作,以及执行该操作所需的资源,以便从资源的角度出去确定该业务请求是否可以被执行。
S2:获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
在获取到业务请求所需资源后,就可以确定中该资源上的既有操作指令,当然如果所需资源为空闲,那么也就相当于没有既有操作指令,如果该资源非空闲,那么上面的既有操作指令可能是正在执行的操作指令,也可能是排队等待执行的操作指令,无论是哪种既有操作指令,现在相对业务请求中的操作指令都存在冲突的可能。其中,正在执行的操作指令指的就是正在占用该资源的操作指令,等待执行的操作指令就是等待占用该资源的操作指令,两者的存在都会影响业务请求中的操作指令的执行。
S3:确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
在该步骤中,是为了确定业务请求中的操作指令与资源上既有操作指令之间是否存在冲突,即,对于该资源,已经有既有操作指令的情况下,业务请求中的操作指令是需要被拒绝,还是需要等待,或者是运行并行执行,这就是所谓的判断两者之间的冲突关系。
为了实现对冲突关系的判断,可以预先设定预配置的指令关系,这些预配置的指令关系所体现的是在资源上某操作指令在执行的时候,哪些操作是允许并行的,哪些操作是需要等待的,哪些操作是完全拒绝的。这样,在知道了资源和资源上的既有操作指令后,就可以读取该资源和操作指令所对应的预配置的指令关系,例如,以下是几个预配置的指令关系的示意性表述:
关系1:虚拟机上启动操作时,允许挂磁盘,卸磁盘,其中,虚拟机就是资源,启动就是既有操作指令;
关系2:虚拟机上挂磁盘时,允许启动,不允许卸磁盘,其中,虚拟机是资源,挂磁盘是既有操作指令;
关系3:虚拟机上卸磁盘时,允许启动,不允许挂磁盘,其中,虚拟机是资源,卸磁盘是既有操作指令;
关系4:磁盘上,挂磁盘到虚拟机时,不允许卸磁盘,其中,磁盘是资源,挂磁盘是既有操作指令。
关系5:磁盘上,从虚拟机卸下时,不允许挂载,其中,磁盘是资源,卸载是既有操作指令。
即,可以按照既有操作指令作用于所需资源时,对目标指令,产生关系的方式来表示预配置的指令关系。
这样在查找到对应的预配置的指令关系后,就可以将操作指令与查找到的各个预配置指令关系中的目标指令一一进行匹配,查找出匹配的指令关系,以该查找出的指令关系作为业务请求中的操作指令与既有操作指令之间的冲突关系。
也就是说,可以按照以下方式确定业务请求中的操作指令与既有操作指令之间的冲突关系:获取既有操作指令和所需资源的预配置的指令关系,根据预配置的指令关系,确定业务请求中的操作指令与既有操作指令之间的冲突关系。在所述预配置的指令关系有多条,每一条预配置的指令关系对应一个目标指令的情况下,可以将所述业务请求中的操作指令与所述多条预配置的指令关系中的目标指令进行匹配,将与所述业务请求中的操作指令相匹配的目标指令对应的指令关系作为所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
进一步的,冲突关系可以包括以下之一:允许并行、互斥拒绝和等待;相应的,如果冲突关系为允许并行,那么就允许业务请求并行执行,如果冲突关系为互斥拒绝,那么就拒绝执行该业务请求,如果冲突关系为等待,那么就将该业务请求设置为排队等待执行。
S4:根据确定的冲突关系确定是否允许所述业务请求执行。
正如上述所说的在确定了冲突关系后,就可以知道是否执行业务请求,例如:如果冲突关系为允许并行,那么就允许业务请求并行执行,如果冲突关系为互斥拒绝,那么就拒绝业务请求执行,如果冲突关系为等待,那么就将该业务请求设置为排队等待执行。
在实际实现的时候,一个操作指令可能需要多个资源,每个所需资源上也可能有多个既有操作指令,在这种情况下,可以采用逐一遍历判断的方式,即,在业务请求所需资源有多个的情况下,可以包括:逐一获取多个所需资源中各个所需资源上的既有操作指令;在所需资源上的既有操作指令有多个的情况下,可以逐一确定业务请求中的操作指令与多个既有操作指令中各个操作指令之间的冲突关系,直至遍历完所有的所需资源,以及各个资源上的各个既有操作指令,只有所有的所需资源都不冲突才能算作该业务请求中的操作指令不冲突,如果有一个资源或者是一个资源中的既有操作指令存在冲突,那么也算作该业务请求中的操作指令存在冲突。
在上例中,为了避免多个业务共用同一资源造成资源冲突情况的发生,不是采用在资源上设置互斥锁的方式,而是提取业务请求中的操作指令和所需资源,然后确定业务请求与所需资源上的既有操作指令是否存在冲突,以确定是否允许业务请求执行,从而在保证多个业务共用同一资源时不会造成资源冲突,又可以使得整个业务流程所需时间尽可能缩短,从而解决了现有技术中共用同一资源的业务只能采用串行的方式执行而导致的业务总流程运行时长过长,处理效率低下的技术问题,达到了有效提高业务处理效率的技术效果。
举例而言,如果当前的业务请求A请求了资源R,资源R上目前有一个正在执行的操作B和一个等待执行的操作C,如果判断结果是:A和B不构成冲突,那么这时就可以同时执行A和B,如果A和B构成冲突,A和C不构成冲突,那么就可以在执行完B之后,并行执行A和C,如果A和B构成冲突,A和C也构成冲突,那么就可以在执行完B之后,执行C,然后在执行完C后再执行A。
如果采用现有的互斥锁的方式,无论是那种情况都只能是采用在执行完B之后,执行C,然后在执行完C后再执行A,然而通过本申请实施例所提供的方式,对于A和B不构成冲突,或者是A和B构成冲突但是A和C不构成冲突这两种情况,都可以有效缩短A、B和C执行的总时间。
下面结合一个具体实施例对上述业务请求处理方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
本申请实施例是为了解决虚拟机上多业务操作并行时,对虚拟机,磁盘等资源的并行操作进行调度,从而提高业务处理的效率,将多个资源实体上的多种业务之间的关系抽象细化和管理调度,使得调度更高效。具体的,基于抽象的资源和指令概念,提供管理能力,以及基于资源上的指令之间的关系,将能力进行深度抽象,使得调度更为高效。
如图4所示为业务请求处理系统的模块示意图,该业务请求处理系统包括:冲突检测、指令调度和运维管理,其中,上层业务通过冲突检测模块检查当前指令实例是否能执行等,指令调度模块根据策略调度处于等待状态的指令实例执行,系统运维人员通过运维控制台对指令,资源以及指令资源关系进行管理。
下面以虚拟机和磁盘为例进行说明,上层业务使用冲突检测时,需要预先在系统内配置业务操作、资源以及它们之间的关系。举例说明如下:
虚拟机上支持业务操作:启动,挂磁盘,卸磁盘;
磁盘上支持业务操作:挂磁盘,卸磁盘;
从业务操作的角度看:
启动,只需要操作一个资源对象:虚拟机;
挂磁盘,卸磁盘则需要操作两个资源对象:虚拟机和磁盘。
然后,基于业务操作和资源配置相互之间的关系,可以生成如下关系:
关系1:虚拟机上启动操作时,允许挂磁盘,卸磁盘;
关系2:虚拟机上挂磁盘时,允许启动,不允许卸磁盘;
关系3:虚拟机上卸磁盘时,允许启动,不允许挂磁盘;。
关系4:磁盘上,挂磁盘到虚拟机时,不允许卸磁盘;
关系5:磁盘上,从虚拟机卸下时,不允许挂载。
通过上述关系就可以实现冲突检测。
如图5所示为上层业务发起冲突检测的流程示意图,对该流程说明如下:
a)从当前请求中提取操作指令B和所需资源R(可以是多个资源:R1、R2);
b)根据所需资源获取当前该资源上已经在执行或者等待执行的操作指令A(可以有多个操作指令:A1,A2);
c)根据资源上的操作指令A以及所需资源R获取预配置的指令关系,其中,预配置的指令关系可以按照如下格式表示:操作指令A,作用于资源R时,对目标指令B(目标指令B可以是表达式),产生关系C,其中,关系C可以包含:允许并行,互斥拒绝,等待等。
d)使用预配置的指令关系中的目标指令B匹配当前请求中的操作指令B,得到匹配关系,如果匹配关系是互斥拒绝,则当前请求指令被拒绝;如果匹配关系是允许并行,则继续循环遍历,如果匹配关系是等待,则记录状态为等待,继续循环遍历。
这个过程的原则是:一旦发现互斥拒绝,则直接结束,设置结果为该指令被拒绝,如果是并行或者等待,则记录并行或等待,继续循环直到最后一个,在这个过程中,只要有一个等待,则该指令就需要排队。
e)根据当前请求的操作指令B以及所需资源R,获取预配置的指令关系,其中,预配置的指令关系可以按照如下格式表示:操作指令B,作用于资源R时,对目标指令A(目标指令A可以是表达式),产生关系C,使用预配置的指令关系中的目标指令A匹配资源R上正在执行或等待的操作指令A,如果匹配成功,则比较结果。结果应用的原则参考上述步骤d,如果将步骤d作为是正向的冲突检测,那么步骤e可以认为是反向的冲突检测,即,先检查资源上的既有指令是否对请求指令产生关系,再检查请求指令对当前资源上执行的指令是否产生关系。
f)在冲突检测完成后,请求指令为等待或者允许并行时,系统需要持久化指令实例以及持久化指令实例和资源的关系。
如图6所示为指令调度流程示意图,调度的目标是处于等待状态的指令,实现时,并不从指令维度入手,而是从资源维度入手,检查等待队列不为空的资源,获取到等待队列的第一个指令,检查指令依赖的资源是否都空闲,如果空闲,通知业务,否则做冲突检测,如果允许执行,则通知上层业务,如果不允许,则继续检查下一个资源。
基于同一发明构思,本发明实施例中还提供了一种业务请求处理装置,如下面的实施例所述。由于业务请求处理装置解决问题的原理与业务请求处理方法相似,因此业务请求处理装置的实施可以参见业务请求处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图7是本发明实施例的业务请求处理装置的一种结构框图,如图7所示,可以包括:提取模块701、获取模块702、第一确定模块703和第二确定模块704,下面对该结构进行说明。
提取模块701,可以用于提取业务请求中的操作指令和所需资源;
获取模块702,可以用于获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
第一确定模块703,可以用于确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
第二确定模块704,可以用于根据确定的冲突关系确定是否允许所述业务请求执行。
在一个实施方式中,第一确定模块703可以包括:第一获取单元,用于获取所述既有操作指令和所述所需资源的预配置的指令关系;第一确定单元,用于根据所述预配置的指令关系,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
在一个实施方式中,第一确定模块703具体可以用于在所述预配置的指令关系有多条,每一条预配置的指令关系对应一个目标指令的情况下,将所述业务请求中的操作指令与所述多条预配置的指令关系中的目标指令进行匹配,将与所述业务请求中的操作指令相匹配的目标指令对应的指令关系作为所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
在一个实施方式中,获取模块702具体可以用于在所述业务请求所需资源有多个的情况下,逐一获取多个所需资源中各个所需资源上的既有操作指令;第一确定模块703具体可以用于在所述所需资源上的既有操作指令有多个的情况下,逐一确定所述业务请求中的操作指令与多个既有操作指令中各个操作指令之间的冲突关系。
在一个实施方式中,获取模块702可以包括:第二确定单元,用于确定所述所需资源是否空闲;第二获取单元,用于在确定所述所需资源非空闲的情况下,获取所述所需资源上的既有操作指令。
在本申请实施例中,为了避免多个业务共用同一资源造成资源冲突情况的发生,不是采用在资源上设置互斥锁的方式,而是提取业务请求中的操作指令和所需资源,然后确定业务请求与所需资源上的既有操作指令是否存在冲突,以确定是否允许业务请求执行,即,先判断业务请求所需资源上是否已经有业务在执行,如果没有自然是可以直接执行当前的业务请求的,如果有业务执行,那么就确定资源上正在执行的资源与当前请求的业务之间是否构成冲突,如果不构成冲突,那么可以并行执行,如果构成冲突,则无法并行执行,从而在保证多个业务共用同一资源时不会造成资源冲突,又可以使得整个业务流程所需时间尽可能缩短,从而解决了现有技术中共用同一资源的业务只能采用串行的方式执行而导致的业务总流程运行时长过长,处理效率低下的技术问题,达到了有效提高业务处理效率的技术效果。
本申请中各个实施例所涉及的上述描述仅是本申请中的一些实施例中的应用,在某些标准、模型、方法的基础上略加修改后的实施方式也可以实行上述本申请各实施例的方案。当然,在符合本申请上述各实施例的中所述的处理方法步骤的其他无创造性的变形,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochipPIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (12)

1.一种业务请求处理方法,其特征在于,所述方法包括:
提取业务请求中的操作指令和所需资源;
获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
根据确定的冲突关系确定是否允许所述业务请求执行。
2.根据权利要求1所述的方法,其特征在于,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系,包括:
获取所述既有操作指令和所述所需资源的预配置的指令关系;
根据所述预配置的指令关系,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
3.根据权利要求2所述的方法,其特征在于,所述预配置的指令关系表示为:所述既有操作指令作用于所述所需资源时,所述业务请求中的操作指令的冲突关系。
4.根据权利要求3所述的方法,其特征在于,所述冲突关系包括以下之一:允许并行、互斥拒绝和等待;
相应的,根据确定的冲突关系确定是否允许所述业务请求执行,包括:
当所述冲突关系为允许并行时,确定允许所述业务请求并行执行;
当所述冲突关系为互斥拒绝时,确定拒绝所述业务请求执行;
当所述冲突关系为等待时,确定所述业务请求排队等待执行。
5.根据权利要求2所述的方法,其特征在于,在所述预配置的指令关系有多条,每一条预配置的指令关系对应一个目标指令的情况下,根据所述预配置的指令关系,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系,包括:
将所述业务请求中的操作指令与所述多条预配置的指令关系中的目标指令进行匹配,将与所述业务请求中的操作指令相匹配的目标指令对应的指令关系作为所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
6.根据权利要求1所述的方法,其特征在于:
在所述业务请求所需资源有多个的情况下,获取所述所需资源上的既有操作指令,包括:逐一获取多个所需资源中各个所需资源上的既有操作指令;
和/或,
在所述所需资源上的既有操作指令有多个的情况下,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系,包括:逐一确定所述业务请求中的操作指令与多个既有操作指令中各个操作指令之间的冲突关系。
7.根据权利要求1至6中任一项所述的方法,其特征在于,获取所述所需资源上的既有操作指令,包括:
确定所述所需资源是否空闲;
如果所述所需资源非空闲,则获取所述所需资源上的既有操作指令。
8.一种业务请求处理装置,其特征在于,所述装置包括:
提取模块,用于提取业务请求中的操作指令和所需资源;
获取模块,用于获取所述所需资源上的既有操作指令,其中,所述既有操作指令包括:正在执行的操作指令和/或等待执行的操作指令;
第一确定模块,用于确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系;
第二确定模块,用于根据确定的冲突关系确定是否允许所述业务请求执行。
9.根据权利要求8所述的装置,其特征在于,所述第一确定模块包括:
第一获取单元,用于获取所述既有操作指令和所述所需资源的预配置的指令关系;
第一确定单元,用于根据所述预配置的指令关系,确定所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块具体用于在所述预配置的指令关系有多条,每一条预配置的指令关系对应一个目标指令的情况下,将所述业务请求中的操作指令与所述多条预配置的指令关系中的目标指令进行匹配,将与所述业务请求中的操作指令相匹配的目标指令对应的指令关系作为所述业务请求中的操作指令与所述既有操作指令之间的冲突关系。
11.根据权利要求8所述的装置,其特征在于:
所述获取模块具体用于在所述业务请求所需资源有多个的情况下,逐一获取多个所需资源中各个所需资源上的既有操作指令;
所述第一确定模块具体用于在所述所需资源上的既有操作指令有多个的情况下,逐一确定所述业务请求中的操作指令与多个既有操作指令中各个操作指令之间的冲突关系。
12.根据权利要求8至11中任一项所述的装置,其特征在于,所述获取模块包括:
第二确定单元,用于确定所述所需资源是否空闲;
第二获取单元,用于在确定所述所需资源非空闲的情况下,获取所述所需资源上的既有操作指令。
CN201610313407.9A 2016-05-12 2016-05-12 一种业务请求处理方法和装置 Pending CN107368356A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610313407.9A CN107368356A (zh) 2016-05-12 2016-05-12 一种业务请求处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610313407.9A CN107368356A (zh) 2016-05-12 2016-05-12 一种业务请求处理方法和装置

Publications (1)

Publication Number Publication Date
CN107368356A true CN107368356A (zh) 2017-11-21

Family

ID=60303651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610313407.9A Pending CN107368356A (zh) 2016-05-12 2016-05-12 一种业务请求处理方法和装置

Country Status (1)

Country Link
CN (1) CN107368356A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683692A (zh) * 2018-03-16 2018-10-19 阿里巴巴集团控股有限公司 一种业务请求处理方法及装置
CN109460285A (zh) * 2018-11-01 2019-03-12 郑州云海信息技术有限公司 一种虚拟化平台中存储系统的挂载方法及相关装置
CN109901933A (zh) * 2019-01-18 2019-06-18 口碑(上海)信息技术有限公司 业务系统的操作方法及装置、存储介质、电子装置
CN111124566A (zh) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 一种bmc用户界面操作的管理方法、设备及可读介质
WO2022127741A1 (zh) * 2020-12-18 2022-06-23 中兴通讯股份有限公司 指令执行方法、系统、网络设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645944A (zh) * 2013-12-25 2014-03-19 中国工商银行股份有限公司 一种批量数据冲突检测方法、装置及系统
CN104980468A (zh) * 2014-04-09 2015-10-14 深圳市腾讯计算机系统有限公司 处理业务请求的方法、装置及系统
CN105068865A (zh) * 2015-07-28 2015-11-18 新华瑞德(北京)网络科技有限公司 任务调度方法和装置
CN105511958A (zh) * 2014-10-11 2016-04-20 阿里巴巴集团控股有限公司 任务的调度方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645944A (zh) * 2013-12-25 2014-03-19 中国工商银行股份有限公司 一种批量数据冲突检测方法、装置及系统
CN104980468A (zh) * 2014-04-09 2015-10-14 深圳市腾讯计算机系统有限公司 处理业务请求的方法、装置及系统
CN105511958A (zh) * 2014-10-11 2016-04-20 阿里巴巴集团控股有限公司 任务的调度方法及装置
CN105068865A (zh) * 2015-07-28 2015-11-18 新华瑞德(北京)网络科技有限公司 任务调度方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683692A (zh) * 2018-03-16 2018-10-19 阿里巴巴集团控股有限公司 一种业务请求处理方法及装置
CN108683692B (zh) * 2018-03-16 2021-05-11 创新先进技术有限公司 一种业务请求处理方法及装置
CN109460285A (zh) * 2018-11-01 2019-03-12 郑州云海信息技术有限公司 一种虚拟化平台中存储系统的挂载方法及相关装置
CN109901933A (zh) * 2019-01-18 2019-06-18 口碑(上海)信息技术有限公司 业务系统的操作方法及装置、存储介质、电子装置
CN109901933B (zh) * 2019-01-18 2022-02-25 口碑(上海)信息技术有限公司 业务系统的操作方法及装置、存储介质、电子装置
CN111124566A (zh) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 一种bmc用户界面操作的管理方法、设备及可读介质
WO2022127741A1 (zh) * 2020-12-18 2022-06-23 中兴通讯股份有限公司 指令执行方法、系统、网络设备及存储介质

Similar Documents

Publication Publication Date Title
CN107368356A (zh) 一种业务请求处理方法和装置
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
CN107368507A (zh) 一种基于区块链的共识方法及装置
CN113785273A (zh) 使用智能网络接口卡和通用存储装置的多租户优化无服务器布置
KR20180077260A (ko) 신경망의 실행 순서 결정
CN109447253B (zh) 显存分配的方法、装置、计算设备及计算机存储介质
US11016805B2 (en) Programmatically applying labels to nodes in cluster orchestration platforms
JP2010267264A (ja) コンポーネント・ベース・アプリケーションに対して実行可能なコードを構築する方法、その方法を実行するプログラムを含むコンピュータ可読の記憶媒体、およびコンパイラ
CN105095425B (zh) 一种数据库的跨库结转方法及装置
CN110648124B (zh) 在区块链中并发执行交易的方法和装置
CN103699437A (zh) 一种资源调度方法及设备
CN106528065B (zh) 一种线程获取方法及设备
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN103019806A (zh) 一种异步任务处理方法和装置
CN108241531A (zh) 一种在集群中为虚拟机分配资源的方法和装置
CN110781200B (zh) 一种区块链异常数据的处理方法、装置、设备和介质
Kononov et al. Quantity-based buffer-constrained two-machine flowshop problem: active and passive prefetch models for multimedia applications
US11301515B2 (en) Method and apparatus for generating data based on query content
CN112529711A (zh) 基于区块链虚拟机复用的交易处理方法及装置
CN112380195A (zh) 一种基于事务时序有向图的sql交互数据预处理方法与装置
CN107153561A (zh) 一种更新扩展卡中固件的方法、装置及系统
WO2016091068A1 (zh) 一种特殊指令的执行方法及装置
CN109120731A (zh) 一种通用型通讯方法、系统及装置
CN109033134A (zh) 一种消息处理方法、装置、存储介质及计算机设备
CN113065055B (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
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20171121

RJ01 Rejection of invention patent application after publication