CN108985629B - 业务链中业务节点的执行方法、装置及服务器 - Google Patents

业务链中业务节点的执行方法、装置及服务器 Download PDF

Info

Publication number
CN108985629B
CN108985629B CN201810783773.XA CN201810783773A CN108985629B CN 108985629 B CN108985629 B CN 108985629B CN 201810783773 A CN201810783773 A CN 201810783773A CN 108985629 B CN108985629 B CN 108985629B
Authority
CN
China
Prior art keywords
service
value
service node
chain
regulation
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.)
Active
Application number
CN201810783773.XA
Other languages
English (en)
Other versions
CN108985629A (zh
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
Advanced New Technologies Co 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810783773.XA priority Critical patent/CN108985629B/zh
Publication of CN108985629A publication Critical patent/CN108985629A/zh
Application granted granted Critical
Publication of CN108985629B publication Critical patent/CN108985629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0607Regulated

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种业务链中业务节点的执行方法、装置及服务器,在业务链中业务节点的执行方法中,获取当前业务链中待执行的业务节点。判断该业务节点是否与同类业务链中其它业务节点存在依赖关系。如果是,则获取相应的链式锁值。根据该链式锁值,执行或者等待执行业务节点。若业务节点被执行,则根据预设的调整步长,对链式锁值进行调整,以控制其它业务节点处于等待执行状态。在业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。

Description

业务链中业务节点的执行方法、装置及服务器
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种业务链中业务节点的执行方法、装置及服务器。
背景技术
在业务执行过程中,业务系统(如,交易系统或者支付系统)通常会接收到同一用户针对相同业务发起的多笔业务订单。以汽车采购业务为例来说,当用户从多个商家购买汽车时,则可以生成多笔不同的业务订单。针对每笔业务订单,业务系统都需要执行相应的业务流程,该业务流程通常由不同的环节串接起来。上述由不同环节串接起来的业务流程可以称为业务链,而业务流程中的环节可以称为业务节点。通常,与同一用户针对相同业务发起的多笔业务订单对应的业务链可以称为同类业务链。
需要说明的是,同类业务链之间可以包含相同的业务节点,且这些业务节点之间可能存在相互依赖的关系。传统技术中,为确保业务订单的正确执行,同类业务链之间的业务节点是串行执行的。以业务链X和业务链Y为同类业务链为例来说,先执行业务链X中的各个业务节点,之后再执行业务链Y中的各个业务节点。因此,需要提供一种更高效地业务链中业务节点的执行方案。
发明内容
本说明书一个或多个实施例描述了一种业务链中业务节点的执行方法、装置及服务器,可以提高业务节点的执行效率。
第一方面,提供了一种业务链中业务节点的执行方法,包括:
获取当前业务链中待执行的业务节点;
判断所述业务节点是否与同类业务链中其它业务节点存在依赖关系;
如果是,则获取相应的链式锁值;
根据所述链式锁值,执行或者等待执行所述业务节点;
若所述业务节点被执行,则根据预设的调整步长,对所述链式锁值进行调整,以控制所述其它业务节点处于等待执行状态;
在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
第二方面,提供了一种业务链中业务节点的执行装置,包括:
获取单元,用于获取当前业务链中待执行的业务节点;
判断单元,用于判断所述获取单元获取的所述业务节点是否与同类业务链中其它业务节点存在依赖关系;
所述获取单元,还用于在所述判断单元判断存在所述依赖关系时获取相应的链式锁值;
执行单元,用于根据所述获取单元获取的所述链式锁值,执行或者等待执行所述业务节点;
调整单元,用于若所述业务节点被执行,则根据预设的调整步长,对所述链式锁值进行调整,以控制所述其它业务节点处于等待执行状态;
恢复单元,用于在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
第三方面,提供了一种服务器,包括:
接收器,用于当前业务链中待执行的业务节点;
至少一个处理器,用于判断所述业务节点是否与同类业务链中其它业务节点存在依赖关系;如果是,则获取相应的链式锁值;根据所述链式锁值,执行或者等待执行所述业务节点;若所述业务节点被执行,则根据预设的调整步长,对所述链式锁值进行调整,以控制所述其它业务节点处于等待执行状态;在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
本说明书一个或多个实施例提供的业务链中业务节点的执行方法、装置及服务器,获取当前业务链中待执行的业务节点。判断该业务节点是否与同类业务链中其它业务节点存在依赖关系。如果是,则获取相应的链式锁值。根据该链式锁值,执行或者等待执行业务节点。若业务节点被执行,则根据预设的调整步长,对链式锁值进行调整,以控制其它业务节点处于等待执行状态。在业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。由此可以看出,本说明书实施例提供的方案可以只对同类业务链中与待执行的业务节点存在依赖关系的业务节点的执行进行控制。对不存在依赖关系的业务节点,则可以与当前执行的业务节点并行执行,由此,可以提高业务节点的执行效率。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的业务链中业务节点的执行方法的应用场景示意图;
图2为本说明书一个实施例提供的业务链中业务节点的执行方法流程图;
图3为本说明书一个实施例提供的业务链中业务节点的执行装置示意图;
图4为本说明书提供的服务器示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
本说明书提供的业务链中业务节点的执行方法可以应用于如图1所示的场景中。图1中,业务链X和业务链Y可以为相互影响的两条同类业务链。其中,同类业务链可以是指业务链之间所包含的业务节点以及业务节点之间的排序相同。举例来说,当同一用户发起两笔汽车采购业务时,业务系统就可以生成两笔汽车采购业务订单。为完成该两笔汽车采购业务订单,所执行的两条汽车采购业务链即为同类业务链。
上述相互影响可以理解为:业务链X中的一个或多个业务节点的执行可以依赖于业务链Y中的一个或多个业务节点;或者,业务链X中的一个或多个业务节点被业务链Y中的一个或多个业务节点所依赖。在本说明书中,被依赖的业务节点可以称为被串行节点,而依赖于其它业务节点的业务节点可以称为串行节点。
以业务链为汽车采购业务链为例来说,一条汽车采购业务链可以包括如下三个业务节点:“买家用户下单”,“买家资金归集”和“资金拨付给卖家”。具体地,买家用户下单完且资金归集完后,会先锁定买家的账户,再做资金足额的判定,判定成功后再将资金拨付给卖家。由此可以看出,当存在两条汽车采购业务链时,后一条汽车采购业务链中“资金拨付给卖家”的执行是依赖于前一条汽车采购业务链中“买家用户下单”和“买家资金归集”的执行的。所以,上述“资金拨付给卖家”可以称为串行节点,而“买家用户下单”和“买家资金归集”可以称为被串行节点。
图1中,业务节点B和D被业务节点J依赖,也即业务节点J依赖于业务节点B和D,因此,业务节点B和D可以称为被串行节点,业务节点J可以称为串行节点。此外,业务节点G和I被业务节点E依赖,也即业务节点E依赖于业务节点G和I,因此,业务节点G和I可以称为被串行节点,业务节点E可以称为串行节点。
应理解,图1示出的内容仅为了示例性目的,并且本说明书决不被限制于图中明确示出和这里描述的特殊示例性实施例。如,图1中可以包括3条、4条甚至更多的业务链。此外,每条业务链中还可以包括更多的业务节点等。
图2为本说明书一个实施例提供的业务链中业务节点的执行方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,交易系统或者支付系统等。如图2所示,所述方法具体可以包括:
步骤202,获取当前业务链中待执行的业务节点。
该待执行的业务节点可以为当前业务链中任一业务节点。如,可以为上述业务链X或者业务链Y中的任一业务节点。
步骤204,判断该业务节点是否与同类业务链中其它业务节点存在依赖关系。
以业务链X为例来说,针对待执行的业务节点,可以判断其是否与业务链Y中的业务节点存在依赖关系。需要说明的是,在本说明书中,业务节点之间的依赖关系是预先设定好的。以图1为例来说,业务节点B和D与业务节点J存在依赖关系。业务节点G和I与业务节点E存在依赖关系。
步骤206,如果是,则获取相应的链式锁值。
此处的链式锁值可以是预先设定好的。通过该链式锁值可以确保存在依赖关系的业务节点之间互斥执行,而被依赖的多个业务节点之间的执行又相互不受影响。
还以图1为例来说,如果当前业务链为业务链X,且待执行的业务节点为:业务节点B、D或者E,则获取相应的链式锁值。如果当前业务链为业务链Y,且待执行的业务节点为:业务节点G、I或者J,则获取相应的链式锁值。
可以理解的是,如果不存在依赖关系,如,当前待执行业务节点为:业务节点A、C、F以及H中的任一业务节点时,直接执行该业务节点。
步骤208,根据链式锁值,执行或者等待执行业务节点。
具体地,如果当前业务链中待执行的业务节点依赖于同类业务链中其它业务节点,也即如果当前业务链中待执行的业务节点为串行节点,则判断链式锁值是否是第一数值(如,0)。若是,则执行该业务节点;否则等待执行该业务节点。如果当前业务链中待执行的业务节点被同类业务链中其它业务节点依赖,也即如果当前业务链中待执行的业务节点为被串行节点,则判断链式锁值是否是第二数值(如,-1);若是,则等待执行该业务节点;否则执行该业务节点。
还以图1为例来说,若待执行的业务节点为:业务节点E或者J,则可以判断链式锁值是否为0。如果是0,则执行该业务节点。如果不是0,则等待执行该业务节点。若待执行的业务节点为:业务节点B、D、G或者I,则可以判断链式锁值是否是-1。如果是,则可以等待执行业务节点。如果不是,则执行该业务节点。
步骤210,若业务节点被执行,则根据预设的调整步长,对链式锁值进行调整。
上述预设的调整步长可以包括上调步长和下调步长。对不同类型(如串行节点或者被串行节点)的业务节点,其对应的上调步长和下调步长可以相同,也可以不同。但对同类型的业务节点,其对应的上调步长和下调步长的绝对值是相等的。以下以串行节点的上调步长为+1,下调步长为-1;被串行节点的上调步长为+N,下调步长为-N,其中,N为正整数为例进行说明。
具体地,如果被执行的业务节点依赖于同类业务链中其它业务节点,也即如果被执行的业务节点为串行节点,则根据与串行节点对应的下调步长,对链式锁值进行下调处理,得到第二数值。如果被执行的业务节点被同类业务链中其它业务节点依赖,也即如果被执行的业务节点为被串行节点,则根据与被串行节点对应的上调步长,对链式锁值进行上调处理,得到第三数值。该第三数值可以与第一数值不同。
还以图1为例来说,若业务节点E被执行,则可以对链式锁值执行减1操作。如上所述,在业务节点E被执行时,对应的链式锁值可以为0。在对0执行减1操作之后,得到-1。需要说明的是,在链式锁值为-1时,业务节点G和I是等待执行的。同理,业务节点J执行时,业务节点B和D是等待执行的。由此,可以实现当串行节点执行时,被串行节点等待执行。
此外,若业务节点B或者D被执行,则可以对链式锁值执行加N操作。如上所述,在业务节点B(或者D)被执行时,对应的链式锁值不为-1,假设为X(X≠-1)。在对X执行加N操作之后,得到X+N。需要说明的是,由于X不等于-1,所以,X+N不为0。而在链式锁值不为0时,业务节点J是等待执行的。需要说明的是,在对X执行加N操作之后,如果X+N不为-1,则业务节点D(或者B)是可以被执行的。此外,在业务节点G(或者)I被执行时,业务节点E是等待执行的,而业务节点I(或者G)则可以是并行执行的。由此,可以实现当被串行节点执行时,串行节点等待执行,而其它被串行节点可以并行执行。
综上,本说明书实施例提供的方法通过调整链式锁值,可以确保同类业务链中,串行节点与被串行节点之间互斥执行。此外,在被执行的业务节点为被串行节点时,调整后的链式锁值又不会对其它被串行节点的执行进行限制,也即多个被串行节点之间可以并行执行,从而可以提高业务链中业务节点的执行效率。
步骤212,在业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
具体地,当调整后的链式锁值为第二数值时,上述调整前的数值可以是根据与串行节点对应的上调步长,对第二数值进行上调处理得到的。可以理解的是,该调整前的数值可以为上述第一数值。当调整后的链式锁值为第三数值时,上述将调整后的链式锁值可以是根据与被串行节点对应的下调步长,对第三数值进行下调处理后得到的。可以理解的是,该调整前的数值可以为上述不同于第二数值的任一数值。
如前述例子,在业务节点E或者J执行时,调整后的链式锁值可以为-1。因此,在业务节点E或者J完成后,可以对-1执行加1操作,从而将-1恢复为0。可以理解的是,链式锁值恢复为0之后,业务节点G和I或者业务节点B和D的执行可以不再受到控制。
在业务节点B(或者D)执行时,调整后的链式锁值可以为X+N。因此,在业务节点B(或者D)执行完成后,可以对X+N执行减N操作,从而将X+N恢复为X。可以理解的是,链式锁值恢复为X之后,业务节点J的执行可以不再受到控制。同理,业务节点G(或者I)执行完成后,业务节点E的执行也可以不再受到控制。
应理解,上述第一数值、第二数值以及串行节点的上调步长和下调步长仅为了示例性目的,并且本说明书决不被限制于这里描述的特殊示例性实施例。
需要说明的是,当本说明书上述实施例提供的业务链中业务节点的生成方法应用于交易系统或者支付系统时,可以提高交易系统或者支付系统的每秒事务处理量(Transaction Per Second,TPS),TPS是衡量系统处理能力的重要指标。
以执行采购链中的业务节点为例来说,在执行“资金拨付给卖家”时,可以获取链式锁值。如果是0则获取锁成功,并将链式锁值设定为-1,执行完成后,将链式锁值设定为0;如果不是0则等待。在执行“买家用户下单”或者“买家资金归集”时,可以获取链式锁值。如果不为-1则执行,且将链式锁值设定为当前值+N,执行完成后更新链式锁值为当前值-N,如果为-1则等待。由此,可以实现多条采购链中串行节点和被串行节点互斥执行,而被串行节点之间的执行相互不受影响,从而可以提高业务节点的执行效率。
与上述业务链中业务节点的执行方法对应地,本说明书一个实施例还提供的一种业务链中业务节点的执行装置,如图3所示,该装置可以包括:
获取单元302,用于获取当前业务链中待执行的业务节点。
此处的业务链可以为采购链,其中的业务节点可以包括:买家用户下单,买家资金归集和资金拨付给卖家。
判断单元304,用于判断获取单元302获取的业务节点是否与同类业务链中其它业务节点存在依赖关系。
获取单元302,还用于在判断单元304判断存在依赖关系时获取相应的链式锁值。
执行单元306,用于根据获取单元302获取的链式锁值,执行或者等待执行业务节点。
执行单元306具体可以用于:
如果业务节点依赖于其它业务节点,则判断链式锁值是否是第一数值。若是,则执行业务节点。否则等待执行业务节点。
如果业务节点被其它业务节点依赖,则判断链式锁值是否是第二数值。若是,则等待执行业务节点。否则执行业务节点。
调整单元308,用于若业务节点被执行,则根据预设的调整步长,对链式锁值进行调整,以控制其它业务节点处于等待执行状态。
此处的预设的调整步长可以包括上调步长和下调步长。
调整单元308具体可以用于:
如果业务节点依赖于其它业务节点,则根据下调步长,对链式锁值进行下调处理,得到第二数值。
如果业务节点被其它业务节点依赖,则根据上调步长,对链式锁值进行上调处理,得到第三数值。第三数值与第一数值不同。
恢复单元310,用于在业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
当调整后的链式锁值为第二数值时,调整前的数值为第一数值。第一数值是根据下调步长对应的上调步长,对第二数值进行上调处理后得到的。
当调整后的链式锁值为第三数值时,调整前的数值为不同于第二数值的任一数值。该任一数值是根据上调步长对应的下调步长,对第三数值进行下调处理后得到的。
在一个例子中,上述第一数值可以为0,上述第二数值可以为-1,上述下调步长可以为-1,上述上调步长可以为+N,其中,N为正整数。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的业务链中业务节点的获取装置,获取单元302获取当前业务链中待执行的业务节点。判断单元304判断业务节点是否与同类业务链中其它业务节点存在依赖关系。在存在依赖关系时,获取单元302获取相应的链式锁值。执行单元306根据链式锁值,执行或者等待执行业务节点。若业务节点被执行,则调整单元308根据预设的调整步长,对链式锁值进行调整,以控制其它业务节点处于等待执行状态。在业务节点执行完成后,恢复单元310将调整后的链式锁值恢复为调整前的数值。由此,可以提高业务节点的执行效率。
与上述业务链中业务节点的执行方法对应地,本说明书实施例还提供了一种服务器,如图4所示,该服务器可以包括:
接收器402,用于当前业务链中待执行的业务节点。
至少一个处理器404,用于判断业务节点是否与同类业务链中其它业务节点存在依赖关系。如果是,则获取相应的链式锁值。根据链式锁值,执行或者等待执行业务节点。若业务节点被执行,则根据预设的调整步长,对链式锁值进行调整,以控制其它业务节点处于等待执行状态。在业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
本说明书一个实施例提供的服务器,可以提高业务节点的执行效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (13)

1.一种业务链中业务节点的执行方法,其特征在于,包括:
获取当前业务链中待执行的业务节点;
判断所述业务节点是否与同类业务链中其它业务节点存在依赖关系;
如果是,则获取相应的链式锁值,并判断所述业务节点是否依赖于所述其它业务节点;
如果所述业务节点依赖于所述其它业务节点,则在所述链式锁值是第一数值的情况下,执行所述业务节点,并根据下调步长,对所述链式锁值进行下调处理,以控制所述其它业务节点处于等待执行状态;
如果所述业务节点被所述其它业务节点依赖,则在所述链式锁值不是第二数值的情况下,执行所述业务节点,并根据上调步长,对所述链式锁值进行上调处理,以控制所述其它业务节点处于等待执行状态;
在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果所述业务节点依赖于所述其它业务节点,则在所述链式锁值不是所述第一数值的情况下,等待执行所述业务节点;
如果所述业务节点被所述其它业务节点依赖,则在所述链式锁值是所述第二数值的情况下,等待执行所述业务节点。
3.根据权利要求2所述的方法,其特征在于,
下调处理后的所述链式锁值为所述第二数值;
上调处理后的所述链式锁值为第三数值;所述第三数值与所述第一数值不同。
4.根据权利要求3所述的方法,其特征在于,
当下调处理后的所述链式锁值为所述第二数值时,所述调整前的数值为所述第一数值;所述第一数值是根据所述下调步长对应的上调步长,对所述第二数值进行上调处理后得到的;
当上调处理后的所述链式锁值为所述第三数值时,所述调整前的数值为不同于所述第二数值的任一数值;所述任一数值是根据所述上调步长对应的下调步长,对所述第三数值进行下调处理后得到的。
5.根据权利要求3或4所述的方法,其特征在于,所述第一数值为0,所述第二数值为-1,所述下调步长为-1,所述上调步长为+N,其中,N为正整数。
6.根据权利要求1所述的方法,其特征在于,所述业务链为采购链,所述业务节点包括:买家用户下单,买家资金归集和资金拨付给卖家。
7.一种业务链中业务节点的执行装置,其特征在于,包括:
获取单元,用于获取当前业务链中待执行的业务节点;
判断单元,用于判断所述获取单元获取的所述业务节点是否与同类业务链中其它业务节点存在依赖关系;
所述获取单元,还用于在所述判断单元判断存在所述依赖关系时获取相应的链式锁值,并判断所述业务节点是否依赖于所述其它业务节点;
执行单元,用于如果所述业务节点依赖于所述其它业务节点,则在所述链式锁值是第一数值的情况下,执行所述业务节点,并根据下调步长,对所述链式锁值进行下调处理,以控制所述其它业务节点处于等待执行状态;
如果所述业务节点被所述其它业务节点依赖,则在所述链式锁值不是第二数值的情况下,执行所述业务节点,并根据上调步长,对所述链式锁值进行上调处理,以控制所述其它业务节点处于等待执行状态;
恢复单元,用于在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
8.根据权利要求7所述的装置,其特征在于,所述执行单元还用于,
如果所述业务节点依赖于所述其它业务节点,则在所述链式锁值不是所述第一数值的情况下,等待执行所述业务节点;
如果所述业务节点被所述其它业务节点依赖,则在所述链式锁值是所述第二数值的情况下,等待执行所述业务节点。
9.根据权利要求8所述的装置,其特征在于,
下调处理后的所述链式锁值为所述第二数值;
上调处理后的所述链式锁值为第三数值;所述第三数值与所述第一数值不同。
10.根据权利要求9所述的装置,其特征在于,
当下调处理后的所述链式锁值为所述第二数值时,所述调整前的数值为所述第一数值;所述第一数值是根据所述下调步长对应的上调步长,对所述第二数值进行上调处理后得到的;
当上调处理后的所述链式锁值为所述第三数值时,所述调整前的数值为不同于所述第二数值的任一数值;所述任一数值是根据所述上调步长对应的下调步长,对所述第三数值进行下调处理后得到的。
11.根据权利要求9或10所述的装置,其特征在于,所述第一数值为0,所述第二数值为-1,所述下调步长为-1,所述上调步长为+N,其中,N为正整数。
12.根据权利要求7所述的装置,其特征在于,所述业务链为采购链,所述业务节点包括:买家用户下单,买家资金归集和资金拨付给卖家。
13.一种服务器,其特征在于,包括:
接收器,用于当前业务链中待执行的业务节点;
至少一个处理器,用于判断所述业务节点是否与同类业务链中其它业务节点存在依赖关系;如果是,则获取相应的链式锁值,并判断所述业务节点是否依赖于所述其它业务节点;如果所述业务节点依赖于所述其它业务节点,则在所述链式锁值是第一数值的情况下,执行所述业务节点,并根据下调步长,对所述链式锁值进行下调处理,以控制所述其它业务节点处于等待执行状态;如果所述业务节点被所述其它业务节点依赖,则在所述链式锁值不是第二数值的情况下,执行所述业务节点,并根据上调步长,对所述链式锁值进行上调处理,以控制所述其它业务节点处于等待执行状态;在所述业务节点执行完成后,将调整后的链式锁值恢复为调整前的数值。
CN201810783773.XA 2018-07-17 2018-07-17 业务链中业务节点的执行方法、装置及服务器 Active CN108985629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810783773.XA CN108985629B (zh) 2018-07-17 2018-07-17 业务链中业务节点的执行方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810783773.XA CN108985629B (zh) 2018-07-17 2018-07-17 业务链中业务节点的执行方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN108985629A CN108985629A (zh) 2018-12-11
CN108985629B true CN108985629B (zh) 2022-04-08

Family

ID=64549833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810783773.XA Active CN108985629B (zh) 2018-07-17 2018-07-17 业务链中业务节点的执行方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN108985629B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110838976B (zh) * 2019-10-28 2021-06-29 支付宝(杭州)信息技术有限公司 业务链路交叉的执行方法及装置和电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333507A (zh) * 2000-07-14 2002-01-30 国际商业机器公司 分布式计算机系统中协调器服务的非中断性迁移
CN102279774A (zh) * 2011-08-22 2011-12-14 中兴通讯股份有限公司 利用同步函数调用机制实现多线程消息交互的方法和装置
CN102279888A (zh) * 2011-08-24 2011-12-14 北京新媒传信科技有限公司 一种任务调度方法和系统
CN103279385A (zh) * 2013-06-01 2013-09-04 北京华胜天成科技股份有限公司 一种云计算环境中集群任务调度方法及系统
CN103455368A (zh) * 2013-08-27 2013-12-18 华为技术有限公司 一种死锁检测方法、节点及系统
CN105468450A (zh) * 2015-12-29 2016-04-06 华为技术有限公司 任务调度方法及系统
CN106487569A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 一种业务消息处理方法及装置
CN106681811A (zh) * 2016-12-08 2017-05-17 腾讯科技(深圳)有限公司 基于线程池的多线程调度方法及装置
CN108228240A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 多任务队列中任务的处理方法和装置
CN108268319A (zh) * 2016-12-31 2018-07-10 中国移动通信集团河北有限公司 任务调度方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8863136B2 (en) * 2011-05-19 2014-10-14 International Business Machines Corporation Lock control in multiple processor systems
WO2014014944A2 (en) * 2012-07-16 2014-01-23 Sony Corporation Managing multi-threaded operations in a multimedia authoring environment
US9250976B2 (en) * 2012-10-19 2016-02-02 International Business Machines Corporation Tiered locking of resources

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333507A (zh) * 2000-07-14 2002-01-30 国际商业机器公司 分布式计算机系统中协调器服务的非中断性迁移
CN102279774A (zh) * 2011-08-22 2011-12-14 中兴通讯股份有限公司 利用同步函数调用机制实现多线程消息交互的方法和装置
CN102279888A (zh) * 2011-08-24 2011-12-14 北京新媒传信科技有限公司 一种任务调度方法和系统
CN103279385A (zh) * 2013-06-01 2013-09-04 北京华胜天成科技股份有限公司 一种云计算环境中集群任务调度方法及系统
CN103455368A (zh) * 2013-08-27 2013-12-18 华为技术有限公司 一种死锁检测方法、节点及系统
CN106487569A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 一种业务消息处理方法及装置
CN105468450A (zh) * 2015-12-29 2016-04-06 华为技术有限公司 任务调度方法及系统
CN106681811A (zh) * 2016-12-08 2017-05-17 腾讯科技(深圳)有限公司 基于线程池的多线程调度方法及装置
CN108228240A (zh) * 2016-12-14 2018-06-29 北京国双科技有限公司 多任务队列中任务的处理方法和装置
CN108268319A (zh) * 2016-12-31 2018-07-10 中国移动通信集团河北有限公司 任务调度方法、装置及系统

Also Published As

Publication number Publication date
CN108985629A (zh) 2018-12-11

Similar Documents

Publication Publication Date Title
CN107797854B (zh) 交易文件处理方法、装置、存储介质和计算机设备
CN110349035B (zh) 业务处理系统以及方法
US9779398B2 (en) Selecting a contactless payment card
CN108985629B (zh) 业务链中业务节点的执行方法、装置及服务器
CN106875167B (zh) 电子支付过程中资金交易路径的检测方法和装置
CN108959465B (zh) 业务数据的存储、读取方法、装置及服务器
CN111275358A (zh) 派单匹配方法、装置、设备及存储介质
CN110826606A (zh) 要素匹配方法、装置、服务器及可读存储介质
Elliott et al. A dupire equation for a regime-switching model
CN112347425B (zh) 基于时间序列的密集子图检测的方法和系统
CN114090204A (zh) 一种资源预测方法及装置
CN112073538A (zh) 一种在区块链中实现多节点交易并行执行的方法及系统
CN112418864A (zh) 一种数据发送的方法及装置
CN114255127A (zh) 一种分布式系统的账务一致性处理方法及装置
CN110222095B (zh) 一种应用于区块链的电商数据查询方法和用户设备
CN113888328A (zh) 一种非同质化资产组跨链交易方法、设备及储存介质
CN116090718A (zh) 基于bpmn的流程处理方法及装置
CN110782238B (zh) 异常资源转移组合识别方法、装置、设备及介质
CN113065874A (zh) 银行卡交易限额的设置方法及装置
CN112650741A (zh) 异常数据的识别与修正方法、系统、设备及可读存储介质
US11222407B2 (en) Apparatus, method and computer program for processing a piecewise-smooth signal
CN110765144A (zh) 分布式异构数据库数据处理方法及装置
CN110896524A (zh) 网络结构监测方法、装置
CN110489275B (zh) 一种单据信息的处理方法及相关设备
CN109522303A (zh) 基于Excel配置的数据采集方法、装置及计算机设备

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
TA01 Transfer of patent application right

Effective date of registration: 20200927

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: 20200927

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

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant