CN102170365B - 实现软件***热部署的方法及*** - Google Patents

实现软件***热部署的方法及*** Download PDF

Info

Publication number
CN102170365B
CN102170365B CN2010101143697A CN201010114369A CN102170365B CN 102170365 B CN102170365 B CN 102170365B CN 2010101143697 A CN2010101143697 A CN 2010101143697A CN 201010114369 A CN201010114369 A CN 201010114369A CN 102170365 B CN102170365 B CN 102170365B
Authority
CN
China
Prior art keywords
service
processing engine
processing
business rule
unit
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
CN2010101143697A
Other languages
English (en)
Other versions
CN102170365A (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
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 CN2010101143697A priority Critical patent/CN102170365B/zh
Priority to US12/932,065 priority patent/US8762983B2/en
Priority to PCT/US2011/000299 priority patent/WO2011106079A1/en
Priority to JP2012554998A priority patent/JP5674825B2/ja
Priority to EP11747805.7A priority patent/EP2539814B1/en
Publication of CN102170365A publication Critical patent/CN102170365A/zh
Priority to HK12100210.0A priority patent/HK1161452A1/xx
Application granted granted Critical
Publication of CN102170365B publication Critical patent/CN102170365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

一种实现软件***热部署的方法和***,其用于完成软件处理***中核心业务的热部署,该方法包括:(1)在软件***中设置用以处理核心业务的第一业务处理引擎和第二业务处理引擎,所述第一业务处理引擎连接对应的第一业务规则存储单元,第二业务处理引擎连接对应的第二业务规则存储单元;(2)设置第一业务处理引擎和第二业务处理引擎的其中之一为运行状态,另一个处于等待状态;(3)当软件***的处理设置发生变化时,更新处于等待状态的业务处理引擎对应的处理设置;(4)将处于等待状态的业务处理引擎设定为运行状态,并将原处于运行状态的业务处理引擎设定为等待状态。本申请真正实现了软件***核心业务的动态更新,提高了***可用性,并有效节约了升级成本。

Description

实现软件***热部署的方法及***
技术领域
本申请涉及一种热部署的方法及***,尤其涉及一种热部署时不停止对外提供服务的软件***热部署的方法及***。
背景技术
对于大型的业务关键型***,如金融***、电子商务***等,***可用性是一个非常关键的指标,通常需要24小时不间断服务。***一旦停止,就有可能会带来巨大的损失。然而,这类***的业务规则又复杂多变,经常需要进行各种各样的升级,在业务规则发生变化时,需要重新启动***来进行***升级,这样就极大的降低了***可用性。
为了避免在***升级时重新启动***进而造成损失,实现软件***热部署的方法应运而生,所谓热部署是指在软件***运行时升级软件,而不需要重新启动***。在申请号为200610123883.0的中国专利中提到一种实现热部署的方法,就是将升级前的服务器进行备份,同时对外提供服务,等升级完毕后再切换到升级后的web服务器,从而对外表现为热部署。这种实现热部署的方法需要提供两台服务器来实现热部署。
在上述的专利申请文件中,还公开了一种实现热部署的方法。现介绍如下:
在现有***通常采用的基于浏览器/服务器(Browser/Server,简称B/S)架构的平台中,一般采用基于Java的Web服务器,该服务器采用MVC架构(model(模式)、view(视图)、control(控制))模式,就是将其分为以下几个层次:视图层、控制层和模式层。其中:
视图层:为用户交互界面,也就是Web的界面。视图层一般都是静态的文本文件或JSP(Java Server Page,简称JSP)页面,根据JavaEE的规范,如果它们被修改,不需要重新启动Web应用就可以生效。
控制层:用于从用户接收请求,将模式层和视图层进行匹配,共同完成用户的请求。由于这部分与业务逻辑无关,仅仅是对视图层请求的转发至相应的模型层处理,因此控制层的变化仅仅在转发的配置上,转发规则上基本不会发生变化。如果转发的配置发生改变,只需要重新加载一下配置文件就可以完成,而不需要重启。
模式层:用于业务流程/状态的处理以及业务规则的制定,是业务逻辑模块。在传统的Web服务端,所有的模式层都被加载至同一个Web应用的类加载器中。因此要更新已加载的类,就需要重新加载Web应用的类加载器,这就导致了添加\更新、删除模块要重新启动Web应用。而申请号为200610123883.0中公开的方案是在传统的基于MVC的Web服务器端,将开放式服务网关架构于B/S架构服务器端,并将B/S架构服务器端的模式层置于开放式服务网关架构的各个子模块中,由于开放式服务网关架构的各个子模块都具有自己的类加载器,在某个模块发生变化的时候,仅仅需要重新启动模块自身的类加载器即可,从而避免重新启动Web应用的类加载器,因而使用Web应用的类加载器的热部署得以实现。上述实现热部署的方式虽然能够实现热部署,但是,还是存在以下的问题:
第一种将整个服务器备份为另一个服务器来实现热部署的方法,需要增设新的服务器,由此增加成本。
第二种引入开放式服务网关架构来实现热部署,需要将模式层设置在开放式服务网关架构的各个子模块当中,当模式层发生改变时,虽然web应用的类加载器能够实现热部署,但是开放式服务网关架构的各个子模块同样需要重新启动,不能完全意义上实现热部署。而且,需要对现有的***进行大量的改动,存在稳定性不高,安全性差的问题,只适合在没有运行的业务***上适用,不适合现已运行的***上的应用。
也就是说,在成本低且改动小的情况下,现有的软件***中不停机的情况下如何进行软件更新是目前还需要解决的课题。
发明内容
本申请的目的在于提供一种实现软件***热部署的方法,以解决现有技术中***升级时不能对外提供服务且升级成本高、稳定性不高的技术问题。
本申请的另一目的在于提供一种实现软件***热部署的***,以解决现有技术中***升级时不能对外提供服务且升级成本高、稳定性不高的技术问题。
一种实现软件***热部署的***,包括服务器和数据库,所述服务器与所述数据库连接,
所述数据库进一步包括:
第一业务规则存储单元:用于存储业务规则;
第二业务规则存储单元:用于存储业务规则;
所述服务器进一步包括:
第一业务处理引擎,连接第一业务规则存储单元,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态;
第二业务处理引擎,连接第二业务规则存储单元,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态;
并且,第一业务处理引擎/第二业务处理引擎始终是一个处于运行状态,一个处于等待状态。
检测到软件***的处理设置发生变化时,先直接更新对应的设置进一步包括:
检测对应的业务规则存储单元存储的规则是否发生变化,若是,则直接更新对应的业务规则存储单元。
检测到软件***的处理设置发生变化时,先直接更新对应的设置进一步包括:
检测本业务处理引擎的处理设置是否发生变化,若是,则直接更新本业务处理引擎。
另外,本***还包括:
输入数据处理单元,分别连接第一业务处理引擎和第二业务处理引擎,用于接收业务处理请求,并将业务处理请求发送至处于运行状态的业务处理引擎;
输出数据处理单元:分别连接第一业务处理引擎和第二业务处理引擎,用于接收处于运行状态的业务处理引擎输出业务处理结果。
还有,第一业务处理引擎/第二业务处理引擎进一步包括:
业务处理单元:分别连接输入数据处理单元和输出数据处理单元,用于判断从输入数据处理单元接收到的业务处理请求是否符合对应业务规则存储单元存储的规则,并将结果输出至输出数据处理单元;
扫描处理单元,用于检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化;
更新处理单元:用于直接更新对应的业务规则存储单元存储的规则和/或更新本处理引擎;
交换处理单元:用于当本业务处理引擎处于等待状态时,在接收到更新处理单元的更新信号后向另一业务处理引擎发送下线通知,再将本业务处理引擎设置为运行状态使业务处理单元工作,并向扫描处理单元发送停止工作信号;在接收到另一业务处理引擎发送的下线通知时,将本业务处理引擎设置为等待状态,并分别向业务处理单元发送停止工作信号和向扫描处理单元发送启动工作信息。
第一业务规则存储单元/第二业务规则存储单元,设置在对应的第一业务处理引擎/第二业务处理引擎中。
本***还可以包括热部署处理单元,其分别连接第一业务处理引擎和第二业务处理引擎,用于决定第一业务处理引擎和第二业务处理引擎当前所处的状态。
第一业务处理引擎/第二业务处理引擎进一步包括:
业务处理单元:分别连接输入数据处理单元和输出数据处理单元,用于判断从输入数据处理单元接收到的业务处理请求是否符合对应的业务规则存储单元存储的规则,并将判断的结果输出至输出数据处理单元;
扫描处理单元,用于检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化;
更新处理单元:用于直接更新第一业务规则存储单元/第二业务规则存储单元存储的规则或直接更新本处理引擎;
交换处理单元:连接热部署处理单元,用于当本业务处理引擎处于等待状态时,在接收更新处理单元的更新信号后,通过热部署处理单元向另一业务处理引擎发送下线通知,再将本业务处理引擎设置为运行状态使业务处理单元工作,并向扫描处理单元发送停止工作信号;在接收到另一业务处理引擎通过热部署处理单元发送的下线通知时,将本业务处理引擎设置为等待状态,并发送停止工作信号至业务处理单元以及使扫描处理单元停止工作。
所述交换处理单元进一步包括:
状态子单元:用于保存当前业务处理引擎处于运行状态还是等待状态;
激活子单元:用于在接收更新处理单元的更新信号后,并通过热部署处理单元向另一业务处理引擎或直接向另一业务处理引擎发送下线通知,再将本业务处理引擎设置为运行状态使业务处理单元工作,再发送停止工作信号至扫描处理单元;
下线处理子单元:在接收到另一业务处理引擎/热部署处理单元发送下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元以及使扫描处理单元工作。
所述交换处理单元还包括:
更新处理触发子单元:用于在本业务处理引擎处于等待状态时,当接收扫描处理单元的扫描信号后向更新处理单元发送激活信号。
本***还包括:
下线更新子单元:连接下线处理子单元,用于接收到下线处理子单元下发的触发信号后,直接将本引擎对应的业务规则存储单元进行更新或更新本引擎。
所述数据库还包括:
标记处理单元:用于对所述业务规则进行更新方式标记处理,标记所述业务规则为自动更新业务规则或触发式更新业务规则。
一种实现软件***热部署的方法,用于完成软件处理***中核心业务的热部署,包括:
(1)在软件***中设置用以处理核心业务的第一业务处理引擎和第二业务处理引擎,所述第一业务处理引擎连接对应的第一业务规则存储单元,第二业务处理引擎连接对应的第二业务规则存储单元;
(2)设置第一业务处理引擎和第二业务处理引擎的其中之一为运行状态,另一个处于等待状态;
(3)当软件***的处理设置发生变化时,更新处于等待状态的业务处理引擎对应的处理设置;
(4)将处于等待状态的业务处理引擎设定为运行状态,并将原处于运行状态的业务处理引擎设定为等待状态。
步骤(4)之后还包括:
处于等待状态的业务处理引擎更新对应的业务规则存储单元存储的规则。
本方法还包括:
步骤(3)之前还包括:设置业务规则库,每一次业务规则发生变化时,直接更新业务规则库;
步骤(3)业务规则发生变化进一步包括:处于等待状态的第一业务处理引擎/第二业务处理引擎检测业务规则库和其对应的业务规则存储单元中存储的规则,若存在不相同,则业务规则发生变化。
本方法中步骤(4)进一步包括:
处于等待状态的业务处理引擎向另一业务处理引擎发送下线通知,并将本业务处理引擎设置处于运行状态,停止检测业务规则库和其对应的业务规则存储单元中存储的规则是否相同的扫描操作;
第一业务处理引擎/第二业务处理引擎接收到下线通知后,开始检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化。
本方法还包括:
在接收到另一业务处理引擎发送下线通知时,将本业务处理引擎设置为等待状态。
本方法还包括:
设置热部署处理单元;
第一业务处理引擎/第二业务处理引擎,检测业务规则发生变化和/或处理引擎的处理设置发生变化时,直接更新对应的业务规则存储单元和/或直接更新本处理引擎,并向热部署处理单元发送请求;
热部署处理单元将发出请求的业务处理引擎所处的状态设置为运行状态,并将另一业务处理引擎所处的状态设置为等待状态,并向该业务处理引擎发出下线通知;
另一个业务处理引擎接收到下线通知后,更新本业务处理引擎对应的业务规则存储单元中的规则。
本申请可以在每台服务器内设置两个业务处理引擎,每个服务器***内交替运行着两个业务处理引擎,一个处于运行状态时,另一个处于等待状态,对于用户的业务请求,只有处于运行状态的业务处理引擎可以接受处理。当***的业务规则发生变化,需要进行更新时,处于等待状态的业务处理引擎以新业务规则进行更新后激活并与处于运行状态的业务处理引擎进行业务交换,接受处理用户的业务请求,同时,将原来处于运行状态的业务处理引擎下线,使之处于等待状态,等待下一次更新,从而实现了软件***核心业务功能的热部署。与现有技术相比,本申请具有以下有益效果:
1、本申请在升级***时所有服务器可同时进行升级,不需要重新启动***,并且在更新过程中仍然可以对外提供服务,单台服务器也可实现热部署,真正实现了动态更新,提高了***可用性。最为重要的是,本申请在升级时,不需要对整个服务器进行启动,只需要启动对应的业务处理引擎即可,非常方便,而且也节省升级的时间。
2、本申请实现了所有服务器同时升级,因此不必再备份服务器,有效节约了升级成本。
附图说明
图1为本申请实现软件***热部署的***的结构原理图;
图2为本申请第二业务处理引擎/第一业务处理引擎内部结构的一实例原理图;
图3为交换处理单元的具体细分结构示意图;
图4为本申请的一种实现软件***热部署的***的第二实例的原理结构示例图;
图5为图4中第二业务处理引擎/第一业务处理引擎内部结构的原理图;
图6为图4中***的另一原理示意图;
图7为基于图4结构实现软件***热部署的流程示意图。
具体实施方式
以下结合附图,具体说明本申请。
考虑到通过两个服务器来实现整个软件***的热部署,需要增加一个新的设备,增加新的成本。为此,本申请只需要设置一新的业务处理引擎即可实现同样的功能,不需要额外增加硬件成本。
第一实例
请参阅图1,其为本申请的一种实现软件***热部署的***的第一实例的原理结构示例图。它包括服务器11和数据库12。服务器11与数据库12连接。
数据库12进一步包括:
业务规则库21,用于存储业务规则。业务规则主要是指数据需要满足的条件。数据可以是一个也可以是多个,同样,需要满足的条件也可以是多个。业务规则库21经常需要更新,可以由用户直接输入。
第一业务规则存储单元22:连接业务规则库21,用于存储业务规则。
第二业务规则存储单元23:连接业务规则库21,用于存储业务规则。
业务规则库21中存储有所有的业务规则。当需要修改业务规则时,操作者直接修改业务规则库21中的内容。需要说明的是,第一业务规则存储单元22与后续谈到的第一业务处理引擎32相对应,第二业务规则存储单元23与后续谈到的第二业务处理引擎33相对应。
服务器11进一步:
输入数据处理单元31,用于接收业务处理请求。输入数据处理单元31可以接收到很多接口发送的业务处理请求,可以将上述业务处理请求处理成统一格式的数据包发送给后续处于运行状态的业务处理引擎。也就是说,输入数据处理单元31类似于预处理操作。预处理操作包括接收业务处理请求,从中解析出对应的数据。比如,有二个接口发送业务处理请求,其中一个发送的内容包括A1、A2、A3、A4,而另一个接口发送的业务处理请求包括A2、A3、A4、A5。输入数据处理单元31接收到业务处理请求,先判断是哪个接口发送的,并从中解析出对应的内容,并将该些内容发送至后续的处于运行状态的业务处理引擎进行规则判定。
第一业务处理引擎32,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态。第一业务处理引擎32处于运行状态时,不只做判断接收到的请求符合存储单元存储的规则这一操作,还可以根据对判断结果进行归总计算等操作。总之,第一业务处理引擎32根据输入处理具体的业务逻辑,并产生业务处理结果
软件***的处理设置发生变化包括业务规则发生变化,还包括处理引擎的处理设置发生变化。
第一业务处理引擎32根据输入处理具体的业务逻辑,并产生业务处理结果至少包括以下工作:先判断接收到的业务处理请求是否符合对应业务规则存储单元的规则,再根据判断的结果按照预先设定的流程进行处理,最后再将业务处理结果返回。
举个例子来说,比如,业务处理请求为A,对应的业务规则存储单元存储的规则为A>1时,直接输出该业务处理结果,否则将其求反后再输出。也就是说,第一业务处理引擎32预先设定好各种操作流程,后根据具体的业务处理请求进行处理,并按照对应的操作流程进行操作。
第二业务处理引擎33,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第二业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态。也就是说,当处于等待状态时,检测业务规则和/或处理引擎的处理设置是否发生变化,如果有变化,直接更新第二业务规则存储单元23和/或本处理引擎33,然后将本业务处理引擎33设置为运行状态。
第一业务处理引擎32和第二业务处理引擎33至少需要处理接收到的业务处理请求是否是符合预先设定的规则。为了实现热部署,本申请采用至少两个业务处理引擎来完成该热部署功能。在本实例中,是两个业务处理引擎采用主动方式完成热部署功能。
输出数据处理单元34,用于输出业务处理结果。主要是处于运行状态的业务处理引擎处理好业务处理请求后,并将结果发送至输出数据处理单元34,以便输出数据处理单元34能够将其转换成按照预先设定的格式后返回至对应的请求端或者是发送至对应的结果地。
软件***中包括上述模块,用于判断某些请求是否符合预先设定的规则。软件***可以完成各种功能,该些模块只不过是其中若干组成模块。
另外,在本申请中,业务规则库21是作为一个参考业务规则库,当需要修改业务规则时,直接在业务规则库21中进行修改,当需要检测规则是否发生变化时,第一业务规则存储单元22和第二业务规则存储单元23是和业务规则库21去做比较,若有不同,则说明已修改。这种方式,***的稳定性最好。
当然,还有其它的实现方式,比如,修改业务规则是直接修改处于等待状态下的业务处理引擎对应的业务规则存储单元22,一旦有修改,表明规则发生了变化。这种实现方式虽然***稳定性稍差,但是同样也能实现类似的功能。
并且,第二业务处理引擎33/第一业务处理引擎32始终是一个处于运行状态,一个处于等待状态。从硬件上有多种实现方式。比如,服务器上设置一控制器,用于控制第一业务处理引擎32和第二业务处理引擎33的状态,使它们一个处于运行状态,一个处于等待状态。比如,第一业务处理引擎32和第二业务处理引擎33上分别设置一状态控制单元,即第一业务处理引擎32上设置第一状态控制单元,第二业务处理引擎33上设置一第二状态控制单元,通过第一状态控制单元和第二状态控制单元的相互通信,控制两个业务处理引擎一个处于运行状态,一个处理等待状态。
请参阅图2,其为本申请第二业务处理引擎33/第一业务处理引擎32内部结构的一实例原理图。
该第二业务处理引擎33/第一业务处理引擎32进一步包括:
业务处理单元41:用于分别连接输入数据处理单元31和输出数据处理单元34,并根据输入处理具体的业务逻辑,并产生业务处理结果,后将结果输出至输出数据处理单元34。该业务处理单元41主要是比对该业务处理请求中携带的数据是否符合对应的第一业务规则存储单元22/第二业务规则存储单元23存储的规则。还是以上述有二个接口发送业务处理请求为例,第一业务规则存储单元22/第二业务规则存储单元23中可以分别存储A1、A2、A3、A4、A5这些字段需要满足的条件,当接收到输入数据处理单元31发送的数据时,分别判断对应的字段是否满足对应的条件,并将结果传送至输出数据处理单元34。根据输入处理具体的业务逻辑,并产生业务处理结果包括但不限于以下步骤:判断从输入数据处理单元31接收到的业务处理请求是否符合对应业务规则存储单元存储的规则。
扫描处理单元42,用于检测业务规则和/或处理引擎的处理设置是否发生变化。扫描处理单元42可以分别检测对应的业务规则存储单元和/或对应的引擎的处理设置是否发生变化。在本实例中,扫描处理单元42可以只检测对应的业务规则。扫描处理单元42检测业务规则库21中存储的内容及本处理引擎的设定是否发生变化,若发生变化,发出更新触发信号至后续的交换处理单元44,由交换处理单元44来控制向更新处理单元43发送更新触发信号。或者是,扫描处理单元42检测到发生变化后,发出更新触发信号至后续的更新处理单元43,由更新处理单元43在更新完毕操作后再发送至后续的交换处理单元44。
更新处理单元43:用于直接更新第一业务规则存储单元22/第二业务规则存储单元23存储的规则,使之与业务规则库21一致。以及,更新处理单元43直接更新本处理引擎。也就是说,更新处理单元43的更新操作可以包括仅更新对应的业务规则存储单元中的存储规则,使之和业务规则库21中存储的规则一致。更新处理单元43还可以将对应的处理引擎进行重新启动的操作,使修改后的处理引擎的设置生效。
另外,更新处理单元43的触发可以由扫描处理单元42发起,就是接收到扫描处理单元42发送的触发信号后进行更新操作,并在更新操作完毕后发送更新完毕信号至后续的交换处理单元44。更新处理单元43的触发也可以由交换处理单元44发起,就是接收到交换处理单元44发送的触发信号后进行更新操作,并在更新操作完毕后发送更新完毕信号至交换处理单元44。
在本实例中,业务处理单元41和扫描处理单元42不会同时工作,在处理引擎处于等待状态时,扫描处理单元42在工作。在处理引擎处于运行状态时,业务处理单元41在工作。在本实例中,由交换处理单元44来决定扫描处理单元42和业务处理单元41谁处于工作状态。
具体地说,可以下述的实例来具体实现:
A1:当扫描处理单元42在工作状态时,假设检测到业务规则库21中的规则有更改,则可以发送触发信号至更新处理单元43;
A2:更新处理单元43将对应的业务规则存储单元中的业务规则更新至与业务规则库21一致,更新处理单元43将更新完成的更新完毕信号发送至交换处理单元44;
A3:交换处理单元44接收到更新完毕信号后向另一业务处理引擎发送下线通知,再将本业务处理引擎设置处于运行状态,并发送停止工作信号至扫描处理单元42,使业务处理单元41工作。
当本业务引擎处于运行状态时,交换处理单元44接收到另一业务处理引擎发送的下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元41,并使扫描处理单元42工作。另外,还需要使更新处理处理单元43进行更新操作。
或者,也可以通过下述的另一实例来具体实现:
B1:当扫描处理单元42在工作状态时,假设检测到业务规则库21中的规则有更改,则可以发送触发信号至交换处理单元44;
B2:交换处理单元44接收到触发信号,发送信号至更新处理单元43,由更新处理单元43进行更新操作,并返回更新完毕信号至交换处理单元44;
B3:交换处理单元44接收到更新完毕信号后,向另一业务处理引擎发送下线通知,再将本业务处理引擎设置处于运行状态,发送停止工作信号至扫描处理单元42,使业务处理单元41工作。
还有,当本业务引擎处于运行状态时,交换处理单元44接收到另一业务处理引擎发送的下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元41,并使扫描处理单元42工作。另外,还需要使更新处理单元43进行更新操作。
在本实例中,第一业务规则存储单元22/第二业务规则存储单元23,可以集成在对应的第一业务处理引擎32/第二业务处理引擎33中,而不是单独设置在数据库中。
在本实例中,通过第一业务处理引擎32和第二业务处理引擎33来主动决定当前处于运行状态下是哪个业务处理引擎。
请参阅图3,其为本实例中交换处理单元可进一步细化为:
状态子单元441:用于保存当前业务处理引擎处于运行状态还是等待状态。
更新处理触发子单元442:用于在本业务处理引擎处于等待状态时,接收扫描处理单元42的信号后,发送触发信号至更新处理单元43来激活更新处理单元43的更新操作。
激活子单元443:用于在接收更新处理单元43的更新完毕信号后,向另一业务处理引擎发送下线通知,再将本业务处理引擎的状态子单元441设置为本处理引擎为运行状态,发送停止工作信号至扫描处理单元42。
下线处理子单元444:在接收到另一业务处理引擎发送的下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元41,使扫描处理单元42工作。
下线更新子单元445:连接下线处理子单元444,用于接收到下线处理子单元444下发的触发信号后,发送触发信号至更新处理单元43。
当由扫描处理单元42直接通知更新处理单元43进行更新操作时,更新处理触发子单元442可以省略。
基于上述的结构,本实例公开了一种对应的热部署的流程(请参阅图4)。
S110:设置第一业务处理引擎和第二业务处理引擎,所述第一业务处理引擎和第二业务处理引擎分别对应第一业务规则存储单元和第二业务规则存储单元。第一业务规则存储单元和第二业务规则存储单元同样是用于存储规则。第一业务处理引擎和第一业务规则存储单元对应,主要是指第一业务处理引擎根据输入处理具体的业务逻辑,并产生业务处理结果,根据输入处理具体的业务逻辑包括一个操作:判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则。从逻辑上来看,第一业务处理引擎是连接第一业务规则存储单元,或者是将第一业务规则存储单元直接设置在第一业务处理引擎中,第二业务处理引擎也是如此,在此就不同详细叙述。
在本实例中,若设置有业务规则库,则初始状态下,第一业务规则存储单元的内容与业务规则库中的内容完全相同,同理,第二业务规则存储单元的内容与业务规则库中的内容也完全相同。
若没有设置业务规则库,则在初始状态下,第一业务规则存储单元和第二业务规则存储单元分别存储所有的业务规则。
S120:在软件处理***中设置第一业务处理引擎和第二业务处理引擎其中之一为等待状态,另一个为运行状态。
设置为运行状态的业务处理引擎根据输入处理具体的业务逻辑,并产生业务处理结果。该步骤包括设置为运行状态的业务处理引擎检测接收到的业务处理请求是否符合对应业务规则存储单元存储的规则,并将结果输出。
设置在等待状态的业务处理引擎实时或定周期检测业务规则和/或本处理引擎的处理设置是否发生变化。
当有业务规则库存在时,所述业务规则发生变化是指对应的业务规则存储单元的规则和业务规则库存储的规则不一致。
当没有业务规则库存在时,一旦对应的业务规则存储单元的规则被修改、被删除等变化时,就可以启动后续的步骤。
S130:设置在等待状态的业务处理引擎检测到软件***的设置发生变化时,更新对应的软件***设置。
软件***的设置发生变化包括业务规则的变化和本业务处理引擎的处理设置发生变化。
S140:设置在等待状态的业务处理引擎向另一个业务处理引擎发送下线通知,并将本业务处理引擎设置为运行状态。根据输入处理具体的业务逻辑,并产生业务处理结果。该步骤包括设置为运行状态的业务处理引擎检测接收到的业务处理请求是否符合对应业务规则存储单元存储的规则,并将结果输出
S150:另一个业务处理引擎停止检测接收到的业务处理请求是否符合本业务规则存储单元存储的规则的操作,再将本业务处理引擎设置为等待状态,后将软件***进行更新操作。设置为等待状态的业务处理引擎是需要实时或定周期检测业务规则和/或本处理引擎的处理设置是否发生变化。
通过上述的实例可知,不需要重新启动即可以完成更新,并且,本申请还具有稳定性强,变动小的技术效果。
第二实例
请参阅图5,其为本申请的另一个实例。在该实例中,是通过热部署处理单元来控制当前处于运行状态下的是哪个业务处理引擎。
本申请也包括数据库和服务器。服务器进一步包括输入数据处理单元51、第一业务处理引擎52、第二业务处理引擎53、输出数据处理单元54之外,还包括一热部署处理单元55。热部署处理单元55分别连接第一业务处理引擎52和第二业务处理引擎53,用于接收到请求时,更改发出请求所在的第一业务处理引擎52/第二业务处理引擎53的状态,并向该业务处理引擎发出下线通知。这种情况下,是由热部署处理单元55来控制第一业务处理引擎52、第二业务处理引擎53哪个处于运行状态,哪个处于等待状态。
第一业务处理引擎52/第二业务处理引擎53可以如第一实施例一样包括业务处理单元、交换处理单元、更新处理单元和扫描处理单元。第一业务处理引擎52/第二业务处理引擎53还可以只包括业务处理单元、扫描处理单元和更新单元,交换处理单元的功能集成在热部署处理单元55即可。
当第一业务处理引擎52/第二业务处理引擎53可以如第一实施例一样包括业务处理单元、交换处理单元、更新处理单元和扫描处理单元时,第一业务处理引擎52/第二业务处理引擎53进一步包括:
业务处理单元:用于分别连接输入数据处理单元51和输出数据处理单元54,并判断从输入数据处理单元51接收到的业务处理请求是否符合本业务规则存储单元存储的规则,并将结果输出至输出数据处理单元53。
扫描处理单元,用于检测业务规则和/或处理引擎的处理设置是否发生变化。
更新处理单元:扫描处理单元检测到业务规则和/或处理引擎的处理设置发生变化时,用于直接更新第一业务规则存储单元22/第二业务规则存储单元23和/或直接更新本处理引擎。
交换处理单元:用于接收到热部署处理单元55的指令后,使业务处理单元61工作,或者是使扫描处理单元62工作。
第一业务处理引擎52/第二业务处理引擎53还可以只包括业务处理单元、扫描处理单元和更新单元。热部署处理单元55分别连接各个处理引擎的业务处理单元、扫描处理单元和更新单元。也就是说,热部署处理单元55控制各个单元的工作。
假设第一业务处理引擎52包括第一业务处理单元521、第一扫描处理单元522和第一更新单元523。第二业务处理引擎53包括第二业务处理单元531、第二扫描处理单元531和第二更新处理单元533。并且,假设第一业务处理引擎52处于运行状态,第二业务处理引擎53处于等待状态。
热部署处理单元55接收到第二扫描处理单元531的触发信号后,使第二更新单元533的更新操作,当接收到第二更新单元533的更新完毕信号后,发送停止工作信号至第一业务处理单元521和第二扫描处理单元,并使第一扫描处理单元522和第一业务处理单元工作。
通过上述的实例可知,不需要重新启动即可以完成更新,并且,本申请还具有稳定性强,变动小的技术效果。
请参阅图7,其为本实例实现软件***热部署的对应方法的流程图。它包括:
S210:在软件***中设置用以处理核心业务的第一业务处理引擎和第二业务处理引擎,所述第一业务处理引擎和第二业务处理引擎分别对应第一业务规则存储单元和第二业务规则存储单元。
第一业务规则存储单元和第二业务规则存储单元同样是用于存储规则。第一业务处理引擎和第一业务规则存储单元对应,主要是指第一业务处理引擎根据输入处理具体的业务逻辑,并产生业务处理结果,根据输入处理具体的业务逻辑包括一个操作:判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则。从逻辑上来看,第一业务处理引擎是连接第一业务规则存储单元,或者是将第一业务规则存储单元直接设置在第一业务处理引擎中,第二业务处理引擎也是如此,在此就不同详细叙述。
S220:在软件处理***中设置第一业务处理引擎和第二业务处理引擎其中之一为运行状态,一个处于等待状态。
S230:当软件***的处理设置发生变化时,更新对应的软件***的处理设置。
S240:将处于等待状态的业务处理引擎设定为运行状态,并将原处于运行状态的业务处理引擎设定为等待状态。
在第一业务处理引擎和第二业务处理引擎通过热部署处理单元来实现热部署时,其可以通过以下步骤来实现:
设置热部署处理单元;
第一业务处理引擎/第二业务处理引擎,检测业务规则发生变化或处理引擎的处理设置发生变化时,直接更新第二业务规则存储单元或直接更新本处理引擎,并向热部署处理单元发送请求;
热部署处理单元更改发出请求所在的第一业务处理引擎/第二业务处理引擎处于运行状态,并更新另一业务处理引擎处于等待状态,并向该业务处理引擎发出下线通知;
另一个业务处理引擎接收到下线通知后,将本业务处理引擎设置为等待状态,并更新本业务处理引擎对应的业务规则存储单元中的规则或更新对应的业务处理引擎的软件设定的更新。
应用例
目前,检测一个公司或一个人的信用,是一件非常重要的事情,本申请就可以适用到网络信用认证体系中。
输入数据处理单元接收需要进行信用认证的请求,第一业务处理引擎和第二业务处理引擎中其中处于运行状态的业务处理引擎对其进行认证。当业务规则库的规则(主要是指个人信用规则)发生变化时,可以在不停止业务处理引擎工作时完成各引擎的规则更新,具有极强的实用性。
本申请在服务器内设置两个业务处理引擎,每个服务器***内交替运行着两个业务处理引擎,一个处于运行状态时,另一个处于等待状态,对于用户的业务请求,只有处于运行状态的业务处理引擎可以接受处理。当***的业务规则发生变化,需要进行更新时,处于等待状态的业务处理引擎以新业务规则进行更新后激活并与处于运行状态的业务处理引擎进行业务交换,接受处理用户的业务请求,同时,将原来处于运行状态的业务处理引擎下线,使之处于等待状态,等待下一次更新,从而实现了软件***核心业务功能的热部署。一般来说,处于等待状态的业务处理引擎更新新的业务规则后需要重新启动该业务处理引擎。
与现有技术相比,本申请具有以下有益效果:
1、本申请在升级***时所有服务器可同时进行升级,不需要重新启动***,并且在更新过程中仍然可以对外提供服务,单台服务器也可实现热部署,真正实现了动态更新,提高了***可用性。
2、本申请实现了所有服务器同时升级,因此不必再备份服务器,有效节约了升级成本。
以上公开的仅为本申请的几个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。

Claims (19)

1.一种实现软件***热部署的***,包括服务器和数据库,所述服务器与所述数据库连接,其特征在于:
所述数据库进一步包括:
第一业务规则存储单元:用于存储业务规则;
第二业务规则存储单元:用于存储业务规则;
所述服务器进一步包括:
第一业务处理引擎,连接第一业务规则存储单元,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第一业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态;
第二业务处理引擎,连接第二业务规则存储单元,用于当其处于运行状态时,判断接收到的业务处理请求是否符合第二业务规则存储单元存储的规则;当其处于等待状态时,检测到软件***的处理设置发生变化时,先直接更新对应的设置,再将本业务处理引擎设置为运行状态;
并且,第一业务处理引擎/第二业务处理引擎始终是一个处于运行状态,一个处于等待状态。
2.如权利要求1所述的***,其特征在于,软件***的处理设置发生变化进一步包括:对应的业务规则存储单元存储的规则发生变化。
3.如权利要求1或2所述的***,其特征在于,软件***的处理设置发生变化进一步包括:本业务处理引擎的处理设置发生变化。
4.如权利要求1所述的***,其特征在于,还包括:
输入数据处理单元,分别连接第一业务处理引擎和第二业务处理引擎,用于接收业务处理请求,并将业务处理请求发送至处于运行状态的业务处理引擎;
输出数据处理单元:分别连接第一业务处理引擎和第二业务处理引擎,用于接收处于运行状态的业务处理引擎输出业务处理结果。
5.如权利要求4所述的***,其特征在于,第一业务处理引擎/第二业务处理引擎进一步包括:
业务处理单元:分别连接输入数据处理单元和输出数据处理单元,用于判断从输入数据处理单元接收到的业务处理请求是否符合对应业务规则存储单元存储的规则,并将结果输出至输出数据处理单元;
扫描处理单元,用于检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化;
更新处理单元:用于直接更新对应的业务规则存储单元存储的规则和/或更新本处理引擎;
交换处理单元:用于决定本业务处理引擎处于等待状态还是处于空闲状态。
6.如权利要求5所述的***,其特征在于,还包括:
业务规则库,分别连接第一业务规则存储单元和第二业务规则存储单元,用于接收并保存业务规则的修改,作为第一业务规则存储单元和第二业务规则存储单元的参考业务规则库。
7.如权利要求5所述的***,其特征在于,交换处理单元进一步包括:
状态子单元:用于保存当前业务处理引擎处于运行状态还是等待状态;
更新处理触发子单元:用于在本业务处理引擎处于等待状态时,接收扫描处理单元的信号后,发送触发信号至更新处理单元来激活更新处理单元的更新操作;
激活子单元:用于在接收更新处理单元的更新完毕信号后,向另一业务处理引擎发送下线通知,再将本业务处理引擎的状态子单元设置为本处理引擎为运行状态,发送停止工作信号至扫描处理单元;
下线处理子单元:在接收到另一业务处理引擎发送的下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元,使扫描处理单元工作;
下线更新子单元:连接下线处理子单元,用于接收到下线处理子单元下发的触发信号后,发送触发信号至更新处理单元。
8.如权利要求1所述的***,其特征在于,还包括热部署处理单元,其分别连接第一业务处理引擎和第二业务处理引擎,用于决定第一业务处理引擎和第二业务处理引擎当前所处的状态。
9.如权利要求8所述的***,其特征在于,第一业务处理引擎/第二业务处理引擎进一步包括:
业务处理单元:分别连接输入数据处理单元和输出数据处理单元,用于判断从输入数据处理单元接收到的业务处理请求是否符合对应的业务规则存储单元存储的规则,并将判断的结果输出至输出数据处理单元;
扫描处理单元,用于检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化;
更新处理单元:用于直接更新第一业务规则存储单元/第二业务规则存储单元存储的规则或直接更新本处理引擎;
交换处理单元:连接热部署处理单元,用于当本业务处理引擎处于等待状态时,在接收更新处理单元的更新信号后,通过热部署处理单元向另一业务处理引擎发送下线通知,再将本业务处理引擎设置为运行状态使业务处理单元工作,并向扫描处理单元发送停止工作信号;在接收到另一业务处理引擎通过热部署处理单元发送的下线通知时,将本业务处理引擎设置为等待状态,并发送停止工作信号至业务处理单元以及使扫描处理单元停止工作。
10.如权利要求9所述的***,其特征在于,所述交换处理单元进一步包括:
状态子单元:用于保存当前业务处理引擎处于运行状态还是等待状态;
激活子单元:用于在接收更新处理单元的更新信号后,并通过热部署处理单元向另一业务处理引擎或直接向另一业务处理引擎发送下线通知,再将本业务处理引擎设置为运行状态使业务处理单元工作,再发送停止工作信号至扫描处理单元;
下线处理子单元:在接收到另一业务处理引擎/热部署处理单元发送下线通知时,将本业务处理引擎设置为等待状态,发送停止工作信号至业务处理单元以及使扫描处理单元工作。
11.如权利要求10所述的***,其特征在于,所述交换处理单元还包括:
更新处理触发子单元:用于在本业务处理引擎处于等待状态时,当接收扫描处理单元的扫描信号后向更新处理单元发送激活信号。
12.如权利要求1所述的***,其特征在于,所述数据库还包括:
标记处理单元:用于对所述业务规则进行更新方式标记处理,标记所述业务规则为自动更新业务规则或触发式更新业务规则。
13.一种实现软件***热部署的方法,用于完成软件处理***中核心业务的热部署,其特征在于,包括:
(1)在软件***中设置用以处理核心业务的第一业务处理引擎和第二业务处理引擎,所述第一业务处理引擎和第二业务处理引擎分别对应第一业务规则存储单元和第二业务规则存储单元;
(2)设置第一业务处理引擎和第二业务处理引擎的其中之一为运行状态,另一个处于等待状态;
(3)当软件***的处理设置发生变化时,更新处于等待状态的业务处理引擎对应的处理设置;
其中,软件***的处理设置发生变化包括:业务规则存储单元存储的规则发生变化;预先设置业务规则库,每一次业务规则发生变化时,直接更新业务规则库;
(4)将处于等待状态的业务处理引擎设定为运行状态,并将原处于运行状态的业务处理引擎设定为等待状态。
14.如权利要求13所述的方法,其特征在于,(4)之后还包括:
处于等待状态的业务处理引擎更新对应的软件***。
15.如权利要求13或14所述的方法,其特征在于,软件***的处理设置发生变化包括
本业务处理引擎的处理设置发生变化。
16.如权利要求13所述的方法,其特征在于,
步骤(3)业务规则发生变化进一步包括:处于等待状态的第一业务处理引擎/第二业务处理引擎检测业务规则库和其对应的业务规则存储单元中存储的规则,若存在不相同,则业务规则发生变化。
17.如权利要求16所述的方法,其特征在于,步骤(4)进一步包括:
处于等待状态的业务处理引擎向另一业务处理引擎发送下线通知,并将本业务处理引擎设置处于运行状态,停止检测业务规则库和其对应的业务规则存储单元中存储的规则是否相同的扫描操作;
第一业务处理引擎/第二业务处理引擎接收到下线通知后,开始检测对应的业务规则存储单元存储的业务规则是否发生变化和/或本处理引擎的处理设置是否发生变化。
18.如权利要求17所述的方法,其特征在于,还包括:
在接收到另一业务处理引擎发送下线通知时,将本业务处理引擎设置为等待状态。
19.如权利要求13所述的方法,其特征在于,
设置热部署处理单元;
第一业务处理引擎/第二业务处理引擎,检测业务规则发生变化和/或处理引擎的处理设置发生变化时,直接更新对应的业务规则存储单元和/或直接更新本处理引擎,并向热部署处理单元发送请求;
热部署处理单元将发出请求的业务处理引擎所处的状态设置为运行状态,并将另一业务处理引擎所处的状态设置为等待状态,并向该业务处理引擎发出下线通知;
另一个业务处理引擎接收到下线通知后,更新本业务处理引擎对应的业务规则存储单元中的规则。
CN2010101143697A 2010-02-26 2010-02-26 实现软件***热部署的方法及*** Active CN102170365B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2010101143697A CN102170365B (zh) 2010-02-26 2010-02-26 实现软件***热部署的方法及***
US12/932,065 US8762983B2 (en) 2010-02-26 2011-02-17 Hot deployment of software
PCT/US2011/000299 WO2011106079A1 (en) 2010-02-26 2011-02-18 Hot deployment of software
JP2012554998A JP5674825B2 (ja) 2010-02-26 2011-02-18 ソフトウェアのホットデプロイメント
EP11747805.7A EP2539814B1 (en) 2010-02-26 2011-02-18 Hot deployment of software
HK12100210.0A HK1161452A1 (en) 2010-02-26 2012-01-09 Method and system for hot deployment of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101143697A CN102170365B (zh) 2010-02-26 2010-02-26 实现软件***热部署的方法及***

Publications (2)

Publication Number Publication Date
CN102170365A CN102170365A (zh) 2011-08-31
CN102170365B true CN102170365B (zh) 2013-12-25

Family

ID=44491350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101143697A Active CN102170365B (zh) 2010-02-26 2010-02-26 实现软件***热部署的方法及***

Country Status (6)

Country Link
US (1) US8762983B2 (zh)
EP (1) EP2539814B1 (zh)
JP (1) JP5674825B2 (zh)
CN (1) CN102170365B (zh)
HK (1) HK1161452A1 (zh)
WO (1) WO2011106079A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182241A (zh) * 2013-05-24 2014-12-03 华为终端有限公司 一种网页应用程序更新方法及通信设备
CN105446709B (zh) * 2014-07-29 2019-06-21 阿里巴巴集团控股有限公司 一种Java应用处理方法及装置
CN104375868B (zh) * 2014-11-26 2018-05-18 浪潮(北京)电子信息产业有限公司 一种适用于海量存储***快速部署的方法和设备
US9952953B2 (en) 2015-11-02 2018-04-24 Microsoft Technology Licensing Llc Non-monotonic eventual convergence for desired state configuration
CN106888233B (zh) * 2015-12-15 2019-12-24 北京新媒传信科技有限公司 数据更新***及方法
CN106990975B (zh) 2016-01-21 2021-07-23 斑马智行网络(香港)有限公司 一种应用热部署方法、装置和***
CN107291487A (zh) * 2016-04-13 2017-10-24 平安科技(深圳)有限公司 ***配置文件修改方法和***
CN106502751B (zh) * 2016-11-15 2020-06-09 南京白下高新技术产业园区投资发展有限责任公司 热部署装置和方法
CN108616597B (zh) * 2018-05-09 2021-06-15 四川华创世纪科技有限公司 一种实现服务永不中断的分布式运行方法
CN108833147B (zh) * 2018-05-31 2020-11-24 京东数字科技控股有限公司 一种配置信息的更新方法和装置
US10430179B1 (en) * 2019-03-07 2019-10-01 Capital One Services, Llc Methods and systems for managing application configurations
CN111078263A (zh) * 2019-12-13 2020-04-28 深圳市随手科技有限公司 基于Drools规则引擎的热部署方法、***、服务器及存储介质
US11979496B2 (en) * 2021-09-15 2024-05-07 Microsoft Technology Licensing, Llc Secret rotation in a cloud service
WO2023043564A1 (en) * 2021-09-15 2023-03-23 Microsoft Technology Licensing, Llc. Secret rotation in a cloud service

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051316B2 (en) * 1999-10-05 2006-05-23 Borland Software Corporation Distributed computing component system with diagrammatic graphical representation of code with separate delineated display area by type
US7178056B2 (en) * 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US7216158B2 (en) * 2002-01-18 2007-05-08 Bea Systems, Inc. System, method and interface for controlling server lifecycle
US7721277B1 (en) * 2004-06-08 2010-05-18 Oracle America, Inc. Hot deployment of shared modules in an application server
JP2007047884A (ja) * 2005-08-05 2007-02-22 Recruit Co Ltd 情報処理システム
US7756972B2 (en) * 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US8364843B2 (en) * 2006-01-09 2013-01-29 Cisco Technology, Inc. Method and system for minimizing disruption during in-service software upgrade
CN101192937B (zh) 2006-11-24 2010-05-12 华为技术有限公司 一种可热部署的方法及其***
WO2008074348A1 (en) * 2006-12-19 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for providing services in a service provisioning network
US7640332B2 (en) * 2006-12-27 2009-12-29 Hewlett-Packard Development Company, L.P. System and method for hot deployment/redeployment in grid computing environment
JP4625473B2 (ja) * 2007-01-15 2011-02-02 株式会社日立製作所 冗長切り替え方法
JP2008217201A (ja) * 2007-03-01 2008-09-18 Nec Corp 自動アップデート方法
US8271998B2 (en) * 2007-04-27 2012-09-18 International Business Machines Corporation Dynamic discovery and definition of mappings of parameters used by service oriented architecture services at runtime
US7865535B2 (en) * 2007-05-18 2011-01-04 International Business Machines Corporation Apparatus, system, and method for a data server-managed web services runtime
JP5061739B2 (ja) * 2007-06-12 2012-10-31 日本電気株式会社 データ処理装置、二重化装置、その障害時系切替方法および障害時系切替プログラム
US7822840B2 (en) * 2007-10-23 2010-10-26 International Business Machines Corporation Method and apparatus for dynamic web service client application update
US8327351B2 (en) * 2009-04-30 2012-12-04 Sap Ag Application modification framework

Also Published As

Publication number Publication date
JP5674825B2 (ja) 2015-02-25
EP2539814A1 (en) 2013-01-02
EP2539814A4 (en) 2015-04-29
WO2011106079A1 (en) 2011-09-01
JP2013520748A (ja) 2013-06-06
HK1161452A1 (en) 2012-08-24
US20110214113A1 (en) 2011-09-01
EP2539814B1 (en) 2016-10-12
CN102170365A (zh) 2011-08-31
US8762983B2 (en) 2014-06-24

Similar Documents

Publication Publication Date Title
CN102170365B (zh) 实现软件***热部署的方法及***
JP5075736B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
CN102023973A (zh) 一种应用缓存服务器与数据库同步的方法、装置和***
CN102681871A (zh) 一种基于通信接口的固件升级***
CN102769709B (zh) 一种用于向用户提供服务联系信息的方法与装置
CN106990975A (zh) 一种应用热部署方法、装置和***
CN105208127A (zh) 一种网页缓存处理方法及***以及智能终端
CN103186404A (zh) ***固件更新方法与使用该方法的服务器***
CN103729247A (zh) 数据获取请求的处理方法、***及服务器
CN110740155B (zh) 分布式***中的请求处理方法及装置
CN103036855A (zh) 一种权限管理的实现设备和方法
CN102271057A (zh) 参数更新方法和设备
CN102945193B (zh) 一种运行数据的恢复方法及电子设备
KR101424568B1 (ko) 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법
CN114201458B (zh) 一种信息更新方法、微服务***及计算机可读存储介质
CN108829415A (zh) 模型加载方法、服务器及计算机可读存储介质
CN102467394A (zh) 多核热补丁的实现方法及***
CN107168774B (zh) 一种基于本地存储的虚拟机迁移方法及***
CN104021033A (zh) 一种繁忙处理节点的散列方法和***
CN110263305A (zh) 配置文件对比方法、装置、设备及存储介质
CN112685613B (zh) 一种资源包查询的方法、装置及信息处理***
CN112445574B (zh) 应用容器多集群迁移方法及装置
CN106776119A (zh) 服务实例的重启方法、装置及服务器
JP5466740B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
CN114968505A (zh) 任务处理***、方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1161452

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1161452

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20191209

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

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

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right