CN106888233A - 数据更新***及方法 - Google Patents

数据更新***及方法 Download PDF

Info

Publication number
CN106888233A
CN106888233A CN201510934225.9A CN201510934225A CN106888233A CN 106888233 A CN106888233 A CN 106888233A CN 201510934225 A CN201510934225 A CN 201510934225A CN 106888233 A CN106888233 A CN 106888233A
Authority
CN
China
Prior art keywords
service
business
server
unit
information
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
CN201510934225.9A
Other languages
English (en)
Other versions
CN106888233B (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.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology 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 Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201510934225.9A priority Critical patent/CN106888233B/zh
Publication of CN106888233A publication Critical patent/CN106888233A/zh
Application granted granted Critical
Publication of CN106888233B publication Critical patent/CN106888233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据更新***及方法,属于大规模集群***管理领域。该***包括:文件服务器、至少一个业务服务器和业务管理服务器;业务管理服务器在检测到更新指令后,向目标业务服务器转发更新指令;目标业务服务器在接收到更新指令后,根据业务标识从文件服务器获取待更新业务模块,并对待更新业务模块进行解析,将得到新业务单元的调用信息注册至目标业务服务器中容器的业务响应模块,以替换与标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用新业务单元。本发明可在不停止服务的情况下完成更新,不会对相应的业务请求造成影响,因此该种数据更新方式可在任意时间段进行更新,灵活性高、更新时间短且步骤简便。

Description

数据更新***及方法
技术领域
本发明涉及大规模集群***管理领域,特别涉及一种数据更新***及方法。
背景技术
集群***是一组相互独立的、通过高速网络互联的服务器所构成一个设备组,并以单一***的模式加以管理。当客户端与集群***相互作用时,集群***中的多个服务器相当于是一个独立的服务器。在集群***中的每一个服务器上都存储有处理不同业务的应用,即业务单元,当有新的应用加入或者要对旧的应用进行修改时,就需要对集群***进行更新。
现有技术中,在对集群***进行数据更新时,比如对某个应用进行更新时,首先需要在该集群***相应的服务器中停止运行旧应用,即停止该旧应用提供的服务,之后删除该旧应用并添加新应用,重启相应的服务器后便可运行更新后的新应用,即提供更新后的服务,进而完成数据的更新。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于数据更新的过程中需要停止提供服务,之后还需重启相应的服务器才能完成更新,使服务器能够提供更新后的服务。而为了不影响对业务请求的处理,通常情况下会在0点进行更新,因此上述数据更新方式限制性强、更新时间长且操作繁琐。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据更新***及方法。所述技术方案如下:
第一方面,提供了一种数据更新***,所述***包括文件服务器、至少一个业务服务器和业务管理服务器;
所述文件服务器用于存储待更新数据包,所述待更新数据包中包括待更新业务模块;
业务服务器包括容器和挂载至所述容器的至少一个业务模块,每一个业务模块包括至少一个业务单元,所述容器至少包括业务响应模块;
所述业务管理服务器用于在检测到更新指令后,向目标业务服务器转发所述更新指令,所述更新指令至少包括所述待更新业务模块的业务标识,所述目标业务服务器用于提供与所述业务标识对应的业务处理;
所述目标业务服务器用于在接收到所述更新指令后,根据所述业务标识从所述文件服务器获取所述待更新业务模块,并对所述待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;根据所述新业务单元的标识信息将所述调用信息注册至所述目标业务服务器中容器的业务响应模块,以替换与所述新业务单元的标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用所述新业务单元。
可选地,所述容器和所述至少一个业务模块均采用开放服务网关协议OSGI规范进行打包,使得所述容器和所述至少一个业务模块之间不存在耦合。
可选地,所述***还包括分布式管理服务器,所述分布式管理服务器中存储有所述至少一个业务服务器的节点信息,节点信息至少包括业务服务器的标识信息、端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器的业务响应模块后,将所述新业务单元的标识信息和版本信息注册至所述分布式管理服务器中,并删除所述分布式管理服务器中与所述旧业务单元的标识信息和版本信息。
可选地,所述目标业务服务器在检测到所述旧业务单元处于未被调用状态后,删除所述旧业务单元。
可选地,所述目标业务服务器的容器中还包括业务管理模块,所述业务管理模块用于根据所述更新指令解析所述待更新业务模块中业务单元的灰度值,所述灰度值指示了所述业务单元对与指定号码段对应的业务请求进行响应。
可选地,所述***还包显示装置,
所述显示装置用于显示业务监控页面,所述业务监控页面至少展示了所述***中全部业务服务器的标识信息和端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器的业务响应模块后,在所述业务监控页面上展示所述新业务单元的标识信息和版本信息。
第二方面,提供了一种数据更新方法,所述方法包括:
业务管理服务器在检测到更新指令后,向目标业务服务器转发所述更新指令,所述更新指令至少包括待更新业务模块的业务标识,所述目标业务服务器用于提供与所述业务标识对应的业务处理;
所述目标业务服务器在接收到所述更新指令后,根据所述业务标识从文件服务器获取所述待更新业务模块,并对所述待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;
所述目标业务服务器根据所述新业务单元的标识信息将所述调用信息注册至所述目标业务服务器中容器的业务响应模块,以替换与所述标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用所述新业务单元。
可选地,所述方法还包括:
所述目标业务服务器在检测到所述旧业务单元处于未被调用状态后,删除所述旧业务单元。
可选地,所述方法还包括:
所述目标业务服务器容器中的业务管理模块根据所述更新指令,解析所述待更新业务模块中所述新业务单元的灰度值,所述灰度值指示了所述新业务单元对与指定号码段对应的业务请求进行响应。
可选地,所述方法还包括:
在业务监控页面上,至少展示***中全部业务服务器的标识信息和端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器中容器的业务响应模块后,在所述业务监控页面上展示所述新业务单元的标识信息和版本信息。
本发明实施例提供的技术方案带来的有益效果是:
业务管理服务器在检测到更新指令后,向目标业务服务器转发更新指令,更新指令至少包括待更新业务模块的业务标识,目标业务服务器用于提供与业务标识对应的业务处理;目标业务服务器在接收到更新指令后,根据业务标识从文件服务器获取待更新业务模块,并对待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;目标业务服务器根据新业务单元的标识信息将调用信息注册至目标业务服务器中容器的业务响应模块,以替换与标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用新业务单元。由于在更新业务单元时,可在不停止服务的情况下完成更新,不会对相应的业务请求造成影响,因此该种数据更新方式可在任意时间段进行更新,灵活性高、更新时间短且步骤简便。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种数据更新***的结构示意图;
图1B是本发明实施例提供的一种业务服务器中的内部结构示意图;
图1C是本发明实施例提供的一种数据更新***的结构示意图;
图2是本发明实施例提供的一种数据交互流程图;
图3是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1A是本发明实施例提供的一种数据更新***的结构示意图。如图1A所示,该***包括:文件服务器、至少一个业务服务器和业务管理服务器。
其中,文件服务器用于存储待更新数据包,待更新数据包中包括待更新业务模块;
业务服务器包括具有不同版本信息的多个容器和挂载至每一个容器上的至少一个业务模块,每一个业务模块包括至少一个业务单元,每一个容器中至少包括业务响应模块。业务服务器的容器中还包括业务管理模块、上下文管理模块,该业务服务器还包括业务通用组件,该业务通信组件与业务模块均处于***中的业务环境。其中,该业务管理模块为容器的核心功能包,可为feinno-app-master组件,提供对外的命令行接入控制,用于对容器内包含的其他模块进行逐一启动并注册至容器中的上下文管理模块。当容器启动完成后,该业务管理模块还用于启动业务模块以及业务通用组件,并将二者注册至容器中的上下文管理器中,该业务通用组件可为feinno-imps组件。该上下文管理模块可为containercontext组件,用于管理业务单元的上下文对接,即其中存储了该容器中所有业务单元的调用关系,明确了每一个业务单元的上游业务和下游业务,保证了业务流程可正确执行。此外该容器中的全部业务单元的标识信息和调用信息均需注册至业务响应模块中,以为业务请求提供对应业务单元的调用入口。在进行数据更新时,业务管理模块用于根据更新指令解析待更新业务模块中业务单元的灰度值,灰度值指示了业务单元对与指定号码段对应的业务请求进行响应。
需要说明的是,业务服务器的容器中还包括库模块、协议处理模块、注册管理模块、业务引擎模块和同步模块,该五个模块为业务管理模块(feinno-app-master)和上下文管理模块(containercontex)提供底层支撑,保证了业务服务器中各模块的正常运行。其中,该库模块可为feinno-lib组件,用于存储函数的调用信息;该协议处理模块可为feinno-common组件,用于对业务请求进行协议处理;该注册管理模块可为feinno-ha组件,用于支撑业务管理模块执行对业务模块和业务单元的注册操作;业务引擎模块可为feinno-app-engine,用于为***中其他模块的实现提供支撑;该同步模块可为feinno-synczk,用于控制***中的业务流程。如图1B所示为业务服务器中的内部结构示意图。
业务管理服务器具有配置管理、远程执行、监控等功能,可通过部署SaltStack实现,提供命令行接口,通过获取管理员在命令行输入窗口中输入的命令,便可执行对***业务的更新部署。业务管理服务器上配置有一个主控端(maser端)和多个被控端(minion端),每一个被控端与一个业务服务器对接。业务管理服务器用于通过主控端向任一被控端发送指令,进而由任一被控端将指令传送至与其对接的业务服务器。其中,业务服务器通过业务管理模块接收业务管理服务器发送的指令。业务管理服务器还用于在检测到更新指令后,向目标业务服务器转发该更新指令,该更新指令至少包括该待更新业务模块的业务标识,目标业务服务器用于提供与业务标识对应的业务处理。
目标业务服务器,即正在更新业务模块的业务服务器,用于在业务管理模块接收到更新指令后,根据业务标识从文件服务器获取待更新业务模块,并对待更新业务模块进行解析,得到新业务单元(即应用)的标识信息、调用信息和版本信息。业务管理模块根据新业务单元的标识信息将调用信息注册至目标业务服务器中容器的业务响应模块,以替换与新业务单元的标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用新业务单元,该业务响应模块可为appcontainer。需要说明的是,目标业务服务器在检测到旧业务单元处于未被调用状态后,可删除旧业务单元,以减少内存的占用。
需要说明的是,本发明实施例提供的***为集群***,***中的每一个业务服务器可包括多个容器,该多个容器分别具有不同的版本信息,为业务模块提供处理不同业务请求的能力,比如若业务请求符合HTTP(HyperText TransferProtocol,超文本传输协议)协议规范,则该请求需要通过具有HTTP协议处理能力的容器来调用相应的业务模块进行处理。每一个容器和每一个业务模块均采用OSGI(Open Service Gateway Initiative,开放服务网关协议)规范进行打包,得到容器bundle和业务bundle,每一个bundle由一个独立的ClassLoader加载,使得在编码阶段就会保证不会有任何容器级bundle依赖业务bundle,这样在更新业务模块时,不会对其他业务模块和容器产生影响,进而能够在更新完成之后,彻底删除旧业务模块,减少内存的占用,提高更新的效率。
在本发明实施例中,该***还包括分布式管理服务器和显示装置,如图1C所示为本发明实施例一种数据更新***的结构示意图,其中包括分布式管理服务器和显示装置。其中,该分布式管理服务器可通过部署分布式协调服务zookeeper来实现,该分布式管理服务器中存储有至少一个业务服务器的节点信息,节点信息至少包括业务服务器的标识信息、端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;当更新业务模块时,在新业务单元的调用信息注册至目标业务服务器的业务响应模块后,将新业务单元的标识信息和版本信息注册至分布式管理服务器中,即注册至zookeeper中,并删除zookeeper中与新业务单元的标识信息相同的旧业务单元的标识信息和版本信息,终止该旧业务单元提供的服务。这样,由于旧业务单元在zookeeper中没有节点信息,因此***对接的业务请求,访问的都是新业务单元。当对处于等待调用状态或处于被调用状态的旧业务单元的调用都结束后,删除该旧业务单元。之后再从上下文管理器containercontext中删除该旧业务单元的注册信息。
其中该显示装置用于显示业务监控页面,业务监控页面至少展示了***中全部业务服务器的标识信息、端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;在新业务单元的调用信息注册至目标业务服务器的业务响应模块后,在业务监控页面上展示新业务单元的标识信息和版本信息。
图2是结合图1A、图1B和图1C所示的数据更新***提供的一种数据交互流程图,参见图2,本发明实施例提供的数据交互流程包括:
201、业务管理服务器在检测到更新指令后,向目标业务服务器转发该更新指令。
在本发明实施例中,在对***管理的过程中,需要对***中原有的业务单元进行修改、替换或者添加新的业务单元,比如***中出现漏洞、业务逻辑发生变化、传输协议发生变化、添加新的功能等,本发明实施例对此不进行具体限定。为了区分不同的业务单元并便于管理,一般会对每一个业务单元标注其版本信息,具有同一个标识信息的业务单元可具有不同的版本信息。
在进行数据更新时,首先需要开发人员通过计算机将待更新数据包上传至文件服务器,该待更新数据包中可包含多个待更新业务模块。之后,运维人员可通过显示设备调用业务管理服务的命令行输入窗口,并在其中输入更新指令,该更新指令中包括待更新数据包的标识信息,该待更新数据包的标识信息中至少包括该待更新数据包的包名和存储路径。业务管理服务器在检测到更新指令后,根据其中包含的待更新数据包的包名和存储路径,读取文件服务器中对应的待更新数据包。之后,对该待更新数据包进行解析,得到多个业务模块的业务标识。对于每一个业务模块的业务标识,业务管理服务器会在配置管理列表中获取与该业务模块的业务标识对应的目标业务服务器的标识信息,并向该目标业务服务器的标识信息对应的目标业务服务器转发更新指令。其中配置管理列表中存储了业务服务器的标识信息和业务模块的业务标识之间的对应关系。
需要说明的是,在业务管理服务器获取到与业务标识对应的目标业务服务器的标识信息后,将该业务标识添加至上述更新指令中,其中该业务标识中至少包括该待更新业务模块的存储路径。之后,业务管理服务器通过与该目标业务服务器的标识信息匹配的被控端,向目标业务服务器转发该更新指令。若待更新数据包中的待更新业务模块为新添加的业务模块,即当前全部业务管理服务器上均不存在与该待更新业务模块的业务标识对应的业务模块,则可在该待更新业务模块中直接添加与其对应的业务服务器的标识信息,也可在业务管理服务器中预先添加该待更新业务模块的业务标识与业务服务器的标识信息之间的对应关系,本发明实施例对此不进行具体限定。
需要说明的是,由于待更新数据包中可能包含多个待更新业务模块,而该多个待更新业务模块可能需要更新到不同的业务服务器,即该多个待更新业务模块对应不同的目标业务服务器,本发明实施例仅以一个目标业务服务器的数据更新过程为例进行解释说明。
202、目标业务服务器在接收到更新指令后,根据业务标识从文件服务器中获取对应的待更新业务模块,并对该待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息。
在本发明实施例中,目标业务服务器通过容器中的业务管理模块接收业务管理服务器发送的更新指令,并根据更新指令中业务标识指示的待更新业务模块的存储路径,从文件服务器中下载相应的待更新业务模块至目标业务服务器中。之后,业务管理模块对该待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息。其中,待更新业务模块中可包括多个新业务单元也可包括一个新业务单元,本发明实施例对此不进行具体限定。业务单元的调用信息用于提供该业务单元的调用入口,版本信息用于区分具有相同标识信息的业务单元。
203、目标业务服务器根据新业务单元的标识信息将该调用信息注册至业务响应模块,并将新业务单元的标识信息和版本信息注册至分布式管理服务器。
在本发明实施例中,在业务管理模块对待更新业务模块进行解析后,对于待更新模块中的每一个新业务单元,将该新业务单元的调用信息注册至业务响应模块,以替换与该新业务单元的标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用该新业务单元。在根据新业务单元进行更新时,业务管理模块首先在业务响应模块中查找,是否存在与该新业务单元匹配的注册信息,即是否存在与该新业务单元的标识信息匹配的旧业务单元的调用信息。若存在,则将新业务单元的调用信息直接将该旧业务单元的调用信息替换掉。由于在业务响应模块中,与业务单元匹配的调用信息是唯一的,因此当新业务单元的调用信息注册至业务响应模块后,若接收到相应的业务请求,则可直接调用该新业务单元进行响应,因此该业务单元的更新过程中无需先停止该业务单元提供的服务,再通过重启提供新的服务,此过程对用户来说是无感知的,不会影响用户的使用。其中,业务响应模块中存储的注册信息可通过一一映射的Map函数实现,也可通过其他方式实现,本发明实施例对此不进行具体限定。
需要说明的是,若业务管理模块未在业务响应模块中查找到与某一新业务单元的标识信息匹配的旧业务单元的调用信息,则确定该新业务单元为新添加的业务单元,直接将该新业务单元的调用信息添加至业务响应模块中。
需要说明的是,目标业务服务器在将新业务单元注册至业务响应模块后,为了便于***的分布式管理,还需将该新业务单元注册至分布式管理服务器,即:目标业务服务器在将新业务单元注册至业务响应模块后,将该新业务单元的添加消息发送至分布式管理服务器,其中该添加消息中至少包括该新业务单元的标识信息和版本信息;分布式管理服务器根据接收到的添加消息,将新业务单元的标识信息和版本信息作为注册信息存储起来。
需要说明的是,在对***中的业务单元进行更新时,为了保证新业务单元能够正确响应业务请求,可先对该新业务单元的功能进行测试,即将该新业务单元对应的服务先提供给部分用户,待该部分用户的业务请求均得到正确响应后,在将该新业务单元对应的服务提供给全部用户。为了实现上述需求,本发明实施例提供了灰度机制,即开发人员可在新业务单元中设置该新业务单元的灰度值,该灰度值可为指定号码段,指示了该新业务单元仅对与指定号码段对应的业务请求进行响应。在业务管理模块对待更新业务模块进行解析时,若新业务单元中包含灰度值,则将该灰度值进行存储。当业务服务器在接收到业务请求后,若检测到与该业务请求对应的新业务单元设置了灰度值,则判断该业务请求对应的号码是否包含在灰度值指示的指定号码段中,若是,则对该业务请求进行响应;若不是,则不对该业务请求进行响应。
204、显示装置在新业务单元的调用信息注册至目标业务服务器中容器的业务响应模块后,从分布式管理服务器获取该新业务单元的标识信息和版本信息,并在业务监控页面上展示该新业务单元的标识信息和版本信息。
在本发明实施例中,为了实时监控***的状态,以便更好的对***进行管理和维护,提供了显示装置,并且在该显示装置的业务监控页面上,展示了***中全部业务服务器的标识信息和端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数。其中,业务服务器的标识信息可为业务服务器的物理地址;通过业务服务器的端口信息可获知该业务服务器在进行不同的数据传输时使用的不同端口;业务单元的调用次数指示了该业务单元响应业务请求的次数,可包括响应成功的次数和响应失败的次数。
需要说明的是,该显示装置可与分布式管理服务器相连接,该业务监控页面上展示的信息,可通过读取分布式管理服务器中存储的业务服务器的节点信息来获取。当新业务单元的调用信息注册至目标业务服务器中容器的业务响应模块后,根据步骤203可知,分布式管理服务器中会注册该新业务单元的标识信息和版本信息,该显示装置可向分布式服务器读取新业务单元的标识信息和版本信息,并将读取的信息展示在业务监控页面上。此外,在该业务监控页面上还可提供查询功能,通过该查询功能获取指定业务服务器的信息或指定业务单元的信息,本发明实施例对此不进行具体限定。当显示装置检测到业务监控页面上查询按钮的点击操作时,获取待查询信息;该显示装置将该待查询信息发送至分布式管理服务器,由分布式管理服务器返回与该待查询信息匹配的结果。其中该待查询信息可为业务单元的标识信息,业务服务器的端口信息等,本发明实施例对此不进行具体限定。比如,若该待查询信息为业务单元的标识信息,则分布式管理服务器返回与该标识信息匹配的业务单元的标识信息、版本信息、调用次数等。
205、目标业务服务器在检测到旧业务单元处于未被调用状态后,删除该旧业务单元。
在本发明实施例中,在将新业务单元的调用信息注册到业务响应模块之后,与其对应的旧业务单元可能还处于被调用的状态,此时为了保证能够正常响应业务请求,还需在业务服务器中保留该旧业务单元。当业务服务器检测到该旧业务单元由被调用状态转换为未被调用状态后,将该旧业务单元删除,以保证该旧业务单元不占用内存,避免在业务单元不断更新的过程中造成内存的不断增加,进而影响更新的效率。
需要说明的是,在目标业务服务器删除该旧业务模块后,还需在分布式管理服务器中将该旧业务模块的注册信息删除,即:目标业务服务器在删除该旧业务模块后,将该旧业务单元的删除消息发送至分布式管理服务器,其中删除消息中至少包括该旧业务单元的标识信息和版本信息;分布式管理服务器在接收到删除消息后,根据删除消息中包含的旧业务单元的标识信息,将该旧业务单元的注册信息删除。
本发明实施例提供的***及方法,业务管理服务器在检测到更新指令后,向目标业务服务器转发更新指令,更新指令至少包括待更新业务模块的业务标识,目标业务服务器用于提供与业务标识对应的业务处理;目标业务服务器在接收到更新指令后,根据业务标识从文件服务器获取待更新业务模块,并对待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;目标业务服务器根据新业务单元的标识信息将调用信息注册至目标业务服务器中容器的业务响应模块,以替换与标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用新业务单元。由于在更新业务单元时,可在不停止服务的情况下完成更新,不会对相应的业务请求造成影响,因此该种数据更新方式可在任意时间段进行更新,灵活性高、更新时间短且步骤简便。
图3是本发明实施例提供的一种服务器的结构示意图。参照图3,服务器300包括处理组件322,其进一步包括一个或多个处理器,以及由存储器332所代表的存储器资源,用于存储可由处理部件322的执行的指令,例如应用程序。存储器332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件322被配置为执行指令,以执行上述数据更新方法。
服务器300还可以包括一个电源组件326被配置为执行服务器300的电源管理,一个有线或无线网络接口350被配置为将服务器300连接到网络,和一个输入输出(I/O)接口358。服务器300可以操作基于存储在存储器332的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据更新***,其特征在于,所述***包括文件服务器、至少一个业务服务器和业务管理服务器;
所述文件服务器用于存储待更新数据包,所述待更新数据包中包括待更新业务模块;
业务服务器包括容器和挂载至所述容器的至少一个业务模块,每一个业务模块包括至少一个业务单元,所述容器至少包括业务响应模块;
所述业务管理服务器用于在检测到更新指令后,向目标业务服务器转发所述更新指令,所述更新指令至少包括所述待更新业务模块的业务标识,所述目标业务服务器用于提供与所述业务标识对应的业务处理;
所述目标业务服务器用于在接收到所述更新指令后,根据所述业务标识从所述文件服务器获取所述待更新业务模块,并对所述待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;根据所述新业务单元的标识信息将所述调用信息注册至所述目标业务服务器中容器的业务响应模块,以替换与所述新业务单元的标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用所述新业务单元。
2.根据权利要求1所述的***,其特征在于,所述容器和所述至少一个业务模块均采用开放服务网关协议OSGI规范进行打包,使得所述容器和所述至少一个业务模块之间不存在耦合。
3.根据权利要求1所述的***,其特征在于,所述***还包括分布式管理服务器,所述分布式管理服务器中存储有所述至少一个业务服务器的节点信息,节点信息至少包括业务服务器的标识信息、端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器的业务响应模块后,将所述新业务单元的标识信息和版本信息注册至所述分布式管理服务器中,并删除所述分布式管理服务器中与所述旧业务单元的标识信息和版本信息。
4.根据权利要求1所述的***,其特征在于,所述目标业务服务器在检测到所述旧业务单元处于未被调用状态后,删除所述旧业务单元。
5.根据权利要求1所述的***,其特征在于,所述目标业务服务器的容器中还包括业务管理模块,所述业务管理模块用于根据所述更新指令解析所述待更新业务模块中业务单元的灰度值,所述灰度值指示了所述业务单元对与指定号码段对应的业务请求进行响应。
6.根据权利要求1所述的***,其特征在于,所述***还包显示装置,
所述显示装置用于显示业务监控页面,所述业务监控页面至少展示了所述***中全部业务服务器的标识信息和端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器的业务响应模块后,在所述业务监控页面上展示所述新业务单元的标识信息和版本信息。
7.一种数据更新方法,其特征在于,所述方法包括:
业务管理服务器在检测到更新指令后,向目标业务服务器转发所述更新指令,所述更新指令至少包括待更新业务模块的业务标识,所述目标业务服务器用于提供与所述业务标识对应的业务处理;
所述目标业务服务器在接收到所述更新指令后,根据所述业务标识从文件服务器获取所述待更新业务模块,并对所述待更新业务模块进行解析,得到新业务单元的标识信息、调用信息和版本信息;
所述目标业务服务器根据所述新业务单元的标识信息将所述调用信息注册至所述目标业务服务器中容器的业务响应模块,以替换与所述标识信息相同的旧业务单元的调用信息,使得后续响应业务请求时直接调用所述新业务单元。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述目标业务服务器在检测到所述旧业务单元处于未被调用状态后,删除所述旧业务单元。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述目标业务服务器容器中的业务管理模块根据所述更新指令,解析所述待更新业务模块中所述新业务单元的灰度值,所述灰度值指示了所述新业务单元对与指定号码段对应的业务请求进行响应。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在业务监控页面上,至少展示***中全部业务服务器的标识信息和端口信息、容器的标识信息和版本信息、业务单元的标识信息和版本信息、业务单元的调用次数;
在所述新业务单元的调用信息注册至所述目标业务服务器中容器的业务响应模块后,在所述业务监控页面上展示所述新业务单元的标识信息和版本信息。
CN201510934225.9A 2015-12-15 2015-12-15 数据更新***及方法 Active CN106888233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510934225.9A CN106888233B (zh) 2015-12-15 2015-12-15 数据更新***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510934225.9A CN106888233B (zh) 2015-12-15 2015-12-15 数据更新***及方法

Publications (2)

Publication Number Publication Date
CN106888233A true CN106888233A (zh) 2017-06-23
CN106888233B CN106888233B (zh) 2019-12-24

Family

ID=59173728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510934225.9A Active CN106888233B (zh) 2015-12-15 2015-12-15 数据更新***及方法

Country Status (1)

Country Link
CN (1) CN106888233B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357681A (zh) * 2017-06-26 2017-11-17 杭州铭师堂教育科技发展有限公司 基于salt的Zookeeper备份管理***及方法
CN107528878A (zh) * 2017-07-03 2017-12-29 阿里巴巴集团控股有限公司 数据处理***、数据处理控制装置及方法
CN108021614A (zh) * 2017-08-18 2018-05-11 口碑(上海)信息技术有限公司 一种用于页面动态加载的方法及***
CN109144534A (zh) * 2017-06-28 2019-01-04 北京京东尚科信息技术有限公司 服务模块动态更新方法、装置及电子设备
CN109901910A (zh) * 2019-01-17 2019-06-18 珠海金山网络游戏科技有限公司 基于分布式容器的文件拉取或推送方法及装置
CN110297675A (zh) * 2019-04-23 2019-10-01 五八有限公司 模块间相互调用的方法、装置、电子设备及存储介质
CN110413262A (zh) * 2019-07-23 2019-11-05 北京启迪区块链科技发展有限公司 一种业务功能的管理方法、装置及***
CN110505269A (zh) * 2019-06-21 2019-11-26 广州虎牙科技有限公司 业务处理***、业务处理方法以及服务器
CN110727500A (zh) * 2019-09-27 2020-01-24 上海依图网络科技有限公司 ***中的功能模块的集成方法、***、设备及介质
CN111159233A (zh) * 2019-12-18 2020-05-15 金蝶软件(中国)有限公司 分布式缓存方法、***、计算机设备以及存储介质
WO2020244513A1 (zh) * 2019-06-03 2020-12-10 中兴通讯股份有限公司 业务sbb的业务数据管理方法、装置、设备及存储介质
CN112433950A (zh) * 2020-11-30 2021-03-02 天津五八到家货运服务有限公司 自动搭建测试环境的方法、电子设备及存储介质
CN117971853A (zh) * 2024-03-28 2024-05-03 天津南大通用数据技术股份有限公司 一种模块热更新方法、装置及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034441A1 (en) * 2006-08-07 2008-02-07 Shoumen Saha Updating content within a container document for user groups
CN102170365A (zh) * 2010-02-26 2011-08-31 阿里巴巴集团控股有限公司 实现软件***热部署的方法及***
CN102360308A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 组件的分布式部署***和方法
WO2014098556A1 (en) * 2012-12-18 2014-06-26 Mimos Berhad System and method for dynamically allocating an application session manager at runtime

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080034441A1 (en) * 2006-08-07 2008-02-07 Shoumen Saha Updating content within a container document for user groups
CN102170365A (zh) * 2010-02-26 2011-08-31 阿里巴巴集团控股有限公司 实现软件***热部署的方法及***
CN102360308A (zh) * 2011-09-29 2012-02-22 用友软件股份有限公司 组件的分布式部署***和方法
WO2014098556A1 (en) * 2012-12-18 2014-06-26 Mimos Berhad System and method for dynamically allocating an application session manager at runtime

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357681B (zh) * 2017-06-26 2019-12-31 杭州铭师堂教育科技发展有限公司 基于salt的Zookeeper备份管理***及方法
CN107357681A (zh) * 2017-06-26 2017-11-17 杭州铭师堂教育科技发展有限公司 基于salt的Zookeeper备份管理***及方法
CN109144534A (zh) * 2017-06-28 2019-01-04 北京京东尚科信息技术有限公司 服务模块动态更新方法、装置及电子设备
CN107528878A (zh) * 2017-07-03 2017-12-29 阿里巴巴集团控股有限公司 数据处理***、数据处理控制装置及方法
CN107528878B (zh) * 2017-07-03 2020-11-06 创新先进技术有限公司 数据处理***、数据处理控制装置及方法
CN108021614A (zh) * 2017-08-18 2018-05-11 口碑(上海)信息技术有限公司 一种用于页面动态加载的方法及***
CN109901910A (zh) * 2019-01-17 2019-06-18 珠海金山网络游戏科技有限公司 基于分布式容器的文件拉取或推送方法及装置
CN109901910B (zh) * 2019-01-17 2021-12-07 珠海金山网络游戏科技有限公司 基于分布式容器的文件拉取或推送方法及装置
CN110297675A (zh) * 2019-04-23 2019-10-01 五八有限公司 模块间相互调用的方法、装置、电子设备及存储介质
WO2020244513A1 (zh) * 2019-06-03 2020-12-10 中兴通讯股份有限公司 业务sbb的业务数据管理方法、装置、设备及存储介质
US11882007B2 (en) 2019-06-03 2024-01-23 Xi'an Zhongxing New Software Co. Ltd. Service data management method and apparatus for SBB, device and storage medium
CN110505269A (zh) * 2019-06-21 2019-11-26 广州虎牙科技有限公司 业务处理***、业务处理方法以及服务器
CN110413262A (zh) * 2019-07-23 2019-11-05 北京启迪区块链科技发展有限公司 一种业务功能的管理方法、装置及***
CN110727500A (zh) * 2019-09-27 2020-01-24 上海依图网络科技有限公司 ***中的功能模块的集成方法、***、设备及介质
CN111159233A (zh) * 2019-12-18 2020-05-15 金蝶软件(中国)有限公司 分布式缓存方法、***、计算机设备以及存储介质
CN111159233B (zh) * 2019-12-18 2024-03-08 金蝶软件(中国)有限公司 分布式缓存方法、***、计算机设备以及存储介质
CN112433950A (zh) * 2020-11-30 2021-03-02 天津五八到家货运服务有限公司 自动搭建测试环境的方法、电子设备及存储介质
CN117971853A (zh) * 2024-03-28 2024-05-03 天津南大通用数据技术股份有限公司 一种模块热更新方法、装置及***

Also Published As

Publication number Publication date
CN106888233B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN106888233A (zh) 数据更新***及方法
US11057469B2 (en) Method and apparatus for service hosting of distributed storage system
KR20170020311A (ko) 무선 센서 네트워크
CN109842694B (zh) 一种同步mac地址的方法、网络设备和计算机可读存储介质
CN107590072A (zh) 一种应用开发和测试的方法和装置
CN109783151B (zh) 规则变更的方法和装置
CN106936623A (zh) 分布式缓存***及缓存集群的管理方法
CN111258627A (zh) 一种接口文档生成方法和装置
CN113315754B (zh) 容器出访防火墙智能联动方法及装置、设备、介质
CN107404509A (zh) 分布式服务配置***及信息管理方法
CN107203429A (zh) 一种基于分布式锁加载分布式任务的方法以及装置
CN107729213A (zh) 一种后台任务监控方法及装置
WO2023155819A1 (zh) 一种应用部署方法和***
CN111277481A (zh) 一种建立vpn隧道的方法、装置、设备及存储介质
CN102299814B (zh) 一种snmp代理上管理信息库的升级方法和***
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
CN109600254A (zh) 全链路日志的生成方法及相关***
CN107147651B (zh) 一种灰度发布***及其发布方法
JP2011076628A (ja) 装置へのコンテンツの分配を管理するシステムと方法
CN106657360A (zh) 一种Linux***下NIS服务器的同步方法和***
CN116800755A (zh) 基于Kubernetes的多形态软件交付装置、方法及计算机可读存储介质
CN105787359A (zh) 进程守护方法和装置
CN106557386A (zh) 基于kvm部署备份虚拟网卡虚拟机的方法、装置及***
CN107547607B (zh) 一种集群迁移方法及装置
CN115225645A (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.