CN106980515A - 一种应用升级方法及装置 - Google Patents

一种应用升级方法及装置 Download PDF

Info

Publication number
CN106980515A
CN106980515A CN201610974024.6A CN201610974024A CN106980515A CN 106980515 A CN106980515 A CN 106980515A CN 201610974024 A CN201610974024 A CN 201610974024A CN 106980515 A CN106980515 A CN 106980515A
Authority
CN
China
Prior art keywords
node
application
case
already present
present application
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.)
Granted
Application number
CN201610974024.6A
Other languages
English (en)
Other versions
CN106980515B (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
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 CN201610974024.6A priority Critical patent/CN106980515B/zh
Publication of CN106980515A publication Critical patent/CN106980515A/zh
Priority to TW106131152A priority patent/TWI690849B/zh
Priority to PCT/CN2017/106672 priority patent/WO2018077088A1/zh
Priority to PH12019500935A priority patent/PH12019500935A1/en
Priority to US16/395,990 priority patent/US10678532B2/en
Application granted granted Critical
Publication of CN106980515B publication Critical patent/CN106980515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种应用升级方法及装置,所述方法包括:获取被提交应用的应用名;在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。应用本申请实施例,应用管理模块在检测到用户提交了重名应用时,可以自动地对已存在的应用进行升级,由于无需人为参与,所以减少了应用升级所消耗的时间。

Description

一种应用升级方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用升级方法及装置。
背景技术
一个系统提供给用户的各种服务其实是由对应的各种应用来支持的。
通常,运行中的应用会一直接收其它数据源(如系统、应用、客户端等)回流的数据。以推荐场景为例,用户A查看了一篇文章,那么该行为数据(即查看这篇文章)就会通过日志回流到系统中,该系统解析日中后,查询用户A的好友信息;接着将用户A的行为数据和好友信息回流到推荐应用中;这样,推荐应用就可以基于回流数据给用户A的好友推荐类似于“您的好友A看过了XX文章”的信息。这种应用由于需要实时地给用户提供服务,所以对可用性要求较高。但是,一个应用不可避免的都会需要进行升级。
现有技术中,应用升级流程如图1所示,在升级过程中,各个环节都需要人工确认后进行操作,包括:
A1:人工停止老应用从数据源接收回流的数据;
A2:在人工确认所述老应用内未处理的数据处理完毕后,人工向应用管理模块提交关闭所述老应用的命令(即ki l l命令);
A3:在人工确定应用管理模块完全关闭所述老应用后,人工向应用管理模块提交启动新应用的命令(即start命令);
A4:等待应用管理模块启动完毕所述新应用。
如上所述,由于应用是停机升级,所以整个升级过程直到新应用启动完毕之前都无法给用户提供服务。而且,由于各个环节都需要人工参与,所以整个应用升级所需时间比较多,如图1中A1到A2之间耗时大于4分钟,A2到A3之间耗时大于3分钟,A3待A4之间耗时大于3分钟,整个升级过程耗时需要10分钟以上。
综上所述,现有技术中存在有应用升级耗时较多的问题。
发明内容
本申请提供的一种应用升级方法及装置,以解决现有技术中应用升级耗时较多的问题。
根据本申请实施例提供的一种应用升级方法,所述方法应用于应用管理模块,所述方法包括:
获取被提交应用的应用名;
在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;
在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;
在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
可选的,在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数,具体包括:
在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
可选的,所述应用包括JStorm应用;
所述进程包括jvm进程。
根据本申请实施例提供的一种关闭应用方法,所述方法应用于待升级的应用,所述方法包括:
在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点;
处理当前节点内的数据并发送到下游节点;
在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识;
在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点,返回执行所述处理当前节点内的数据并发送到下游节点的步骤;
在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
可选的,所述应用包括JStorm应用;
所述进程包括jvm进程。
根据本申请实施例提供的一种应用升级装置,所述装置应用于应用管理模块,所述装置包括:
获取单元,获取被提交应用的应用名;
调用单元,在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;
回收单元,在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;
启动单元,在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
可选的,所述调用单元,具体包括:
判断子单元,在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
调用子单元,在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
可选的,所述应用包括JStorm应用;
所述进程包括jvm进程。
根据本申请实施例提供的一种关闭应用装置,所述装置应用于待升级的应用,所述装置包括:
停止接收单元,在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点;
处理数据单元,处理当前节点内的数据并发送到下游节点;
广播标识单元,在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识;
控制单元,在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点后输入到所述处理数据单元中;
返回信息单元,在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
可选的,所述应用包括JStorm应用;
所述进程包括jvm进程。
本申请实施例中,对应用管理模块(Topology Manager,TM)进行改造,使得所述应用管理模块可以允许用户提交重名的应用。如此,在所述应用管理模块检测到用户提交了重名应用时,可以自动地对已存在的重名应用进行升级。这样,避免了现有技术中应用升级过程中需要人为参与所造成的耗时较多的问题,从而大大减少了应用升级所消耗的时间。本申请实施例还对应用的结束流程进行改造,使得任意节点在处理完毕其内的数据以及在接收到全部上游节点广播的结束标识的情况下,需要向下游全部节点广播结束标识;在全部节点都处理完数据后,根节点才可以向应用管理模块返回执行完毕信息,从而等待应用管理模块回收各节点对应的进程。如此,通过结束标识可以确保应用的每一个节点内的数据都处理完毕,保证了数据处理的完整性,避免人为确定数据处理完毕时可能遗漏的情况,而且由于没有人为参与,因此大大减少了应用升级所消耗的时间。
附图说明
图1是现有技术中应用升级方法的流程图;
图2是本申请一实施例提供的应用升级方法的流程图;
图3是本申请一实施例提供的提示信息示意图;
图4是本申请一实施例提供的应用中的各节点示意图;
图5是本申请一实施例提供的关闭应用方法的流程图;
图6是本申请提供的应用升级装置所在设备的一种硬件结构图;
图7是本申请一实施例提供的应用升级装置的模块示意图;
图8是本申请提供的关闭应用装置所在设备的一种硬件结构图;
图9是本申请一实施例提供的关闭应用装置的模块示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以下举例说明本申请实施例可以应用的JStorm的场景中。
Storm是一种开源的分布式容错实时计算系统,使用Storm可以降低并行批量处理数据的复杂度。一般的,Storm被用在对实时处理的系统中。
JStorm是用Java重新实现了类Storm的系统。JStorm继承了Storm的所有优点,并且JStorm比Storm更强大、更稳定、性能更好。
一般的,JStorm应用可以部署在系统的应用管理模块中(Topology Manager,TM)。JStorm应用与应用管理模块之间可以进行通信,并完成应用升级等功能。
请参见图2,为本申请一实施例提供的应用升级方法的流程图,该实施例从应用管理模块侧进行描述,包括以下步骤:
步骤110:获取被提交应用的应用名。
本实施例中,通过对应用管理模块进行改造,允许用户在应用管理模块中提交同名的应用。
所述应用管理模块在用户提交应用后,可以获取被提交应用的应用名。
步骤120:在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
本实施例中,如果用户提供的应用与已存在的应用重名,则说明需要对已存在的重名应用进行升级,并且所述应用管理器自动地进入升级流程,即触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
所述结束函数用于节点处理未处理完毕的数据进而等待回收该节点对应的进程。
步骤130:在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程。
本实施例中,应用管理模块在调用所述已存在的应用中各节点的结束函数后,需要等待所述已存在的应用中各节点处理未处理完毕的数据。
一般的,已存在的应用处理完数据后,会返回一个执行完毕信息;所以应用管理模块在接收到所述已存在的应用返回的执行完毕信息的情况下,则说明所述已存在的应用内未处理完的数据已经都处理完毕了,因此,可以回收所述各节点占用的进程。
步骤140:在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
本实施例中,应用管理模块在回收了所述已存在的应用所有节点占用的进程后,则说明所述已存在的应用已经完全关闭了,接着可以启动所述被提交应用了;
具体地,在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
在等待所述被提交应用中各节点对应的进程都启动后,则说明所述被提交应用已经启动。如此,整个应用升级过程结束。
通过本实施例,对应用管理模块进行改造,使得所述应用管理模块可以允许用户提交重名的应用。如此,在所述应用管理模块检测到用户提交了重名应用时,可以自动地对已存在的重名应用进行升级。这样,大大减少了应用升级所消耗的时间(可以缩短到3分钟左右),避免了现有技术中应用升级过程中需要人为参与所造成的耗时较多的问题。
上述实施例中,应用管理模块只要检测到提交应用出现重名时,会自动地对已存在的重名应用进行升级,即关闭老应用(已存在的应用),启动新应用(提交的应用)。这样,虽然可以大大缩短应用升级时间,但是在实际应用中,提交应用是人为操作的,而人为操作往往具有很多不确定因素,例如用户提交的应用虽然重名,但并不是升级老应用的,只是命名相同的另一个应用。这种情况下,通过上述实施例提供的应用升级方法,就会直接对老应用进行升级,这样就会出现升级错误。
为了解决这样问题,在本申请的另一个实施例中,所述步骤120,具体可以包括如下步骤:
在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
本实施例中与上述实施例相比,应用管理模块在检测到提交应用重名时,不会直接对已存在的应用进行升级,而是需要经过用户确定,用户确定后,可以返回一个升级命令。应用管理模块只有在接收到提交的针对所述已存在的应用的升级命令的情况下,才会触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
如图3所示的提示信息示意图中,应用管理模块可以输出一个用于确定的提示信息“您确定对应用进行升级吗”,还可以显示重名的已存在应用详情和重名的提交应用详情。
通过本实施例,对应用管理模块进行改造,使得所述应用管理模块可以允许用户提交重名的应用,并且将原本需要人工提交的两个命令简化为一个升级命令。如此,通过需要用户提交一个升级命令避免了上一实施例中的问题,而且依然可以避免了现有技术中应用升级过程中需要人为参与所造成的耗时较多的问题,从而大大减少了应用升级所消耗的时间。
在本申请所述的应用升级方法可以应用在JStorm场景中,即所述应用包括JStorm应用,而对应的,所述进程包括jvm进程。
一般的,应用处理输入的数据时,可以分为多个处理步骤,每一个处理步骤都可以视为一个节点。通常,每一个节点都会对应一个进程。其中,与数据源连接的节点可以称为根节点(spout),其它的节点可以称为子节点(bolt)。如图4所示的节点示意图中,节点1即为根节点,节点2、3、4、即为子节点。每一个数据都是按照节点的先后顺序处理的。
现有技术中,在关闭老应用时,需要人工确定老应用内未处理的数据处理完毕。然而,人工确定并不准确,而且需要依靠一定经验来判断,无法保证老应用内未处理的数据完全处理。
为了解决这一问题,请参见图5,为本申请一实施例提供的关闭应用方法的流程图,该实施例从待升级的应用侧进行描述,包括以下步骤:
步骤210:在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点。
本实施例中,如前所述,根节点了连接数据源,在关闭应用时,需要停止根节点接收数据源回流的数据。
步骤220:处理当前节点内的数据并发送到下游节点。
本实施例中,当前节点内未处理的数据需要进行处理,并将处理的数据发送到下游节点,图4中根节点1处理的数据,需要发送到下游节点即节点2。
步骤230:在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识。
本实施例中,所述结束标识用于表示节点内的数据处理完毕。例如节点2广播结束标识,说明节点2内的数据处理完毕。
当前节点将数据处理完毕后,需要判断是否接收到上游全部节点广播的结束标识;在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识。
步骤240:在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点,返回执行步骤220。
步骤250:在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
本实施例中,在最后一个节点接收到上游全部节点广播的结束标识后,可以通知根节点,然后,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
通过本实施例,对应用的结束流程进行改造,使得任意节点在处理完毕其内的数据以及在接收到全部上游节点广播的结束标识的情况下,需要向下游全部节点广播结束标识;在全部节点都处理完数据后,根节点才可以向应用管理模块返回执行完毕信息,从而等待应用管理模块回收各节点对应的进程。如此,通过结束标识可以确保应用的每一个节点内的数据都处理完毕,保证了数据处理的完整性,避免人为确定数据处理完毕时可能遗漏的情况,而且由于没有人为参与,因此大大减少了应用升级所消耗的时间。
本实施例中,通过对应用管理模块和应用升级流程的改造,在应用升级时,可以由应用管理模块和应用本身自动地完成升级,整个过程无需人工参与,实现了减少应用升级所需时间的目的。
在本申请所述的关闭应用方法可以应用在JStorm场景中,即所述应用包括JStorm应用,而对应的,所述进程包括jvm进程。
与前述应用升级方法实施例相对应,本申请还提供了一种应用升级装置的实施例。
本申请应用升级装置的实施例可以应用在应用管理模块。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请应用升级装置所在设备的一种硬件结构图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该应用升级的实际功能,还可以包括其他硬件,对此不再赘述。
参见图7,为本申请一实施例提供的应用升级装置的模块图,该实施例从应用管理模块侧进行描述,所述装置包括:获取单元310、调用单元320、回收单元330和启动单元340。
其中,获取单元310,获取被提交应用的应用名;
调用单元320,在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;
回收单元330,在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;
启动单元340,在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
在一个可选的实现方式中:
所述调用单元320,具体包括:
判断子单元,在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
调用子单元,在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
在一个可选的实现方式中:
所述应用包括JStorm应用;
所述进程包括jvm进程。
与前述关闭应用方法实施例相对应,本申请还提供了一种关闭应用装置的实施例。
本申请关闭应用装置的实施例可以应用在待升级的应用。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请关闭应用装置所在设备的一种硬件结构图,除了图8所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该关闭应用的实际功能,还可以包括其他硬件,对此不再赘述。
参见图9,为本申请一实施例提供的关闭应用装置的模块图,该实施例从待升级的应用侧进行描述,所述装置包括:停止接收单元410、处理数据单元420、广播标识单元430、控制单元440和返回信息单元450。
其中,停止接收单元410,在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点;
处理数据单元420,处理当前节点内的数据并发送到下游节点;
广播标识单元430,在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识;
控制单元440,在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点后输入到所述处理数据单元中;
返回信息单元450,在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
在一个可选的实现方式中:
所述应用包括JStorm应用;
所述进程包括jvm进程。
综上所述,本申请实施例中,对应用管理模块(Topology Manager,TM)进行改造,使得所述应用管理模块可以允许用户提交重名的应用。如此,在所述应用管理模块检测到用户提交了重名应用时,可以自动地对已存在的重名应用进行升级。这样,避免了现有技术中应用升级过程中需要人为参与所造成的耗时较多的问题,从而大大减少了应用升级所消耗的时间。本申请实施例还对应用的结束流程进行改造,使得任意节点在处理完毕其内的数据以及在接收到全部上游节点广播的结束标识的情况下,需要向下游全部节点广播结束标识;在全部节点都处理完数据后,根节点才可以向应用管理模块返回执行完毕信息,从而等待应用管理模块回收各节点对应的进程。如此,通过结束标识可以确保应用的每一个节点内的数据都处理完毕,保证了数据处理的完整性,避免人为确定数据处理完毕时可能遗漏的情况,而且由于没有人为参与,因此大大减少了应用升级所消耗的时间。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种应用升级方法,其特征在于,所述方法应用于应用管理模块,所述方法包括:
获取被提交应用的应用名;
在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;
在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;
在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
2.根据权利要求1所述的方法,其特征在于,在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数,具体包括:
在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
3.根据权利要求1所述的方法,其特征在于,所述应用包括JStorm应用;
所述进程包括jvm进程。
4.一种关闭应用方法,其特征在于,所述方法应用于待升级的应用,所述方法包括:
在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点;
处理当前节点内的数据并发送到下游节点;
在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识;
在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点,返回执行所述处理当前节点内的数据并发送到下游节点的步骤;
在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
5.根据权利要求1所述的方法,其特征在于,所述应用包括JStorm应用;
所述进程包括jvm进程。
6.一种应用升级装置,其特征在于,所述装置应用于应用管理模块,所述装置包括:
获取单元,获取被提交应用的应用名;
调用单元,在所述被提交应用与已存在的应用重名的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数;
回收单元,在接收到所述已存在的应用返回的执行完毕信息的情况下,回收所述各节点占用的进程;
启动单元,在回收完毕的情况下,触发预设的启动命令,从而启动所述被提交应用中各节点对应的进程。
7.根据权利要求6所述的装置,其特征在于,所述调用单元,具体包括:
判断子单元,在所述被提交应用与已存在的应用重名的情况下,判断是否接收到提交的针对所述已存在的应用的升级命令;
调用子单元,在接收到提交的针对所述已存在的应用的升级命令的情况下,触发预设的关闭命令,从而调用所述已存在的应用中各节点的结束函数。
8.根据权利要求6所述的装置,其特征在于,所述应用包括JStorm应用;
所述进程包括jvm进程。
9.一种关闭应用装置,其特征在于,所述装置应用于待升级的应用,所述装置包括:
停止接收单元,在被应用管理模块调用节点的结束函数后,停止根节点接收回流的数据,并将所述根节点确定为当前节点;
处理数据单元,处理当前节点内的数据并发送到下游节点;
广播标识单元,在当前节点内的数据处理完毕并且接收到上游全部节点广播的结束标识后,向所述当前节点的下游全部子节点广播结束标识;
控制单元,在当前节点存在下一个节点的情况下,将下一个节点确定为当前节点后输入到所述处理数据单元中;
返回信息单元,在当前节点为最后一个节点的情况下,所述根节点向所述应用管理模块返回执行完毕信息,从而等待所述应用管理模块回收各节点对应的进程。
10.根据权利要求9所述的装置,其特征在于,所述应用包括JStorm应用;
所述进程包括jvm进程。
CN201610974024.6A 2016-10-28 2016-10-28 一种应用升级方法及装置 Active CN106980515B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610974024.6A CN106980515B (zh) 2016-10-28 2016-10-28 一种应用升级方法及装置
TW106131152A TWI690849B (zh) 2016-10-28 2017-09-12 應用升級與關閉應用之方法及裝置
PCT/CN2017/106672 WO2018077088A1 (zh) 2016-10-28 2017-10-18 一种应用升级方法及装置
PH12019500935A PH12019500935A1 (en) 2016-10-28 2019-04-25 Method and apparatus for upgrading application
US16/395,990 US10678532B2 (en) 2016-10-28 2019-04-26 Method and apparatus for upgrading application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610974024.6A CN106980515B (zh) 2016-10-28 2016-10-28 一种应用升级方法及装置

Publications (2)

Publication Number Publication Date
CN106980515A true CN106980515A (zh) 2017-07-25
CN106980515B CN106980515B (zh) 2020-04-14

Family

ID=59340422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610974024.6A Active CN106980515B (zh) 2016-10-28 2016-10-28 一种应用升级方法及装置

Country Status (5)

Country Link
US (1) US10678532B2 (zh)
CN (1) CN106980515B (zh)
PH (1) PH12019500935A1 (zh)
TW (1) TWI690849B (zh)
WO (1) WO2018077088A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077088A1 (zh) * 2016-10-28 2018-05-03 阿里巴巴集团控股有限公司 一种应用升级方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007075846A2 (en) * 2005-12-19 2007-07-05 Propero Ltd. Method and system for providing virtualized application workspaces
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
CN105117265A (zh) * 2015-09-17 2015-12-02 北京金山安全软件有限公司 一种文件升级的方法、装置和终端
CN105528231A (zh) * 2016-01-21 2016-04-27 华中科技大学 一种基于中间辅助函数的软件动态升级方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784044B2 (en) * 2002-12-02 2010-08-24 Microsoft Corporation Patching of in-use functions on a running computer system
US8935429B2 (en) * 2006-12-19 2015-01-13 Vmware, Inc. Automatically determining which remote applications a user or group is entitled to access based on entitlement specifications and providing remote application access to the remote applications
US9697042B2 (en) * 2010-07-30 2017-07-04 Sap Se Extensibility of business process and application logic
GB2508599A (en) * 2012-12-04 2014-06-11 Ibm Software version management when downgrading software
CN105335183A (zh) * 2014-08-06 2016-02-17 乐视致新电子科技(天津)有限公司 一种软件升级方法及系统
CN105824618A (zh) * 2016-03-10 2016-08-03 浪潮软件集团有限公司 一种关于Storm使用的实时消息处理方法
CN105677433A (zh) * 2016-03-15 2016-06-15 深圳创维-Rgb电子有限公司 服务器程序热升级的方法及装置
CN106980515B (zh) * 2016-10-28 2020-04-14 阿里巴巴集团控股有限公司 一种应用升级方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
WO2007075846A2 (en) * 2005-12-19 2007-07-05 Propero Ltd. Method and system for providing virtualized application workspaces
CN105117265A (zh) * 2015-09-17 2015-12-02 北京金山安全软件有限公司 一种文件升级的方法、装置和终端
CN105528231A (zh) * 2016-01-21 2016-04-27 华中科技大学 一种基于中间辅助函数的软件动态升级方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077088A1 (zh) * 2016-10-28 2018-05-03 阿里巴巴集团控股有限公司 一种应用升级方法及装置
US10678532B2 (en) 2016-10-28 2020-06-09 Alibaba Group Holding Limited Method and apparatus for upgrading application

Also Published As

Publication number Publication date
TWI690849B (zh) 2020-04-11
CN106980515B (zh) 2020-04-14
US10678532B2 (en) 2020-06-09
PH12019500935A1 (en) 2019-12-02
US20190250904A1 (en) 2019-08-15
WO2018077088A1 (zh) 2018-05-03
TW201816605A (zh) 2018-05-01

Similar Documents

Publication Publication Date Title
CN109003078B (zh) 基于区块链的智能合约调用方法及装置、电子设备
US20190394101A1 (en) Automatic microservice problem detection in enterprise applications
RU2488166C2 (ru) Ориентируемая на обслуживание архитектура, основанная на конвейере
US20190332970A1 (en) Component releasing method, component creation method, and graphic machine learning algorithm platform
US8869111B2 (en) Method and system for generating test cases for a software application
WO2020211483A1 (zh) 区块链中智能合约的存储、执行方法及装置和电子设备
US7743281B2 (en) Distributed file fuzzing
CN111582827A (zh) 一种审批流程控制方法及系统
US7650346B2 (en) User-defined type consistency checker
CN107688487A (zh) 用于恢复数据库会话的状态的方法和系统
CN111290958B (zh) 一种调试智能合约的方法及装置
CN111598575B (zh) 业务流程控制方法、装置、电子设备和可读存储介质
CN110389765A (zh) 一种参数校验方法和参数校验系统
US20120317039A1 (en) On-demand purchase of virtual image licenses in a cloud computing environment
CN115495142A (zh) 云资源编排方法、装置、计算机设备及存储介质
US11537428B2 (en) Asynchronous execution of creative generator and trafficking workflows and components therefor
CN106980515A (zh) 一种应用升级方法及装置
CN108132832A (zh) 应用程序启动方法和装置
WO2016177075A1 (zh) 一种业务数据关联关系校验方法、装置及可读存储介质
CN112651716A (zh) 数据处理方法、设备及存储介质
CN113672205B (zh) 一种基于业务事件驱动的工作流框架
CN115390861A (zh) 资源部署方法、装置及设备和存储介质
CN106598687A (zh) 一种脚本预热方法和装置
US7886282B1 (en) Augmenting signature-based technologies with functional flow graphs
CN115511622A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200923

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

Patentee after: Innovative advanced technology Co.,Ltd.

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

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

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

Patentee after: Advanced innovation technology Co.,Ltd.

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

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right