CN106713469A - 用于分布式容器的动态加载方法、装置及系统 - Google Patents
用于分布式容器的动态加载方法、装置及系统 Download PDFInfo
- Publication number
- CN106713469A CN106713469A CN201611245165.0A CN201611245165A CN106713469A CN 106713469 A CN106713469 A CN 106713469A CN 201611245165 A CN201611245165 A CN 201611245165A CN 106713469 A CN106713469 A CN 106713469A
- Authority
- CN
- China
- Prior art keywords
- service
- logic
- message
- container
- field
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种用于分布式容器的动态加载方法,包括:接收针对预定服务的消息,该消息包括操作码字段,该操作码字段指示该消息为服务更新消息或服务请求消息;根据该预定服务的服务类型将该消息转发至一逻辑容器,该逻辑容器中包含用于该预定服务的逻辑组件;以及若该操作码指示该消息为服务更新消息,则由该逻辑容器执行逻辑更新操作,若该操作码指示该消息为服务请求消息,则由该逻辑容器执行用于该预定服务的该逻辑组件的装载。根据本方面的方案,侧重逻辑变化后的逻辑分离,并通过消息机制封装变化后的逻辑,进而完成业务逻辑的平滑变更,实现动态加载,达到服务不间断、多版本并行的效果,让用户更平滑的使用产品提供的服务。
Description
技术领域
本发明涉及分布式应用系统技术领域,尤其涉及用于分布式容器的动态加载方法、装置及系统。
背景技术
分布式接口服务层基于C/S(客户端/服务器)模型架构,使用进程组、多线程模型相配合的方式最大化发挥硬件的性能,满足应用需求方对数据的高并发访问需求,接口和服务的管理功能,方便与主库进行集成。分布式接口层提供基于Webservice的接口,供管理工具和其他平台集成,接口服务集群支持大量并发连接的分布式处理,服务器的高可用机制,提供负载均衡、Stand by、以及对等分布的能力。
根据传统分布式容器的加载方案,业务和逻辑相互关联。任何业务的逻辑修改,都需要修改服务端程序逻辑的代码,进而进入变更部署的流程---编译、测试、部署等一套流程,需要较大的成本才能完成。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
传统上,任何业务的逻辑修改,都需要修改服务端程序逻辑的代码,进而进入变更部署的流程---编译、测试、部署等一套流程,需要较大的成本才能完成。本发明侧重逻辑变化后的逻辑分离,并通过消息机制封装变化后的逻辑,通过消息机制动态加载修改后的逻辑,在拥有逻辑解析组建或容器的体制内避免了通用程序逻辑修改的步骤----编译、打包、部署。
根据本发明的一方面,提供了一种用于分布式容器的动态加载方法,包括:
接收针对预定服务的消息,该消息包括操作码字段,该操作码字段指示该消息为服务更新消息或服务请求消息;
根据该预定服务的服务类型将该消息转发至一逻辑容器,该逻辑容器中包含用于该预定服务的逻辑组件;以及
若该操作码指示该消息为服务更新消息,则由该逻辑容器执行逻辑更新操作,若该操作码指示该消息为服务请求消息,则由该逻辑容器执行用于该预定服务的该逻辑组件的装载。
根据本发明的另一方面,提供了一种用于分布式容器的动态加载装置,包括:
服务调度模块,接收来自客户端的针对预定服务的消息,该消息包括操作码字段,该操作码字段指示该消息为服务更新消息或服务请求消息;以及
多个逻辑容器,每个逻辑容器中包含用于至少一种服务的至少一个逻辑组件;
该服务调度模块根据该预定服务的服务类型将该消息转发至一预定逻辑容器,该预定逻辑容器中包含用于该预定服务的逻辑组件,
若该操作码指示该消息为服务更新消息,则该预定逻辑容器执行逻辑更新操作,若该操作码指示该消息为服务请求消息,则该预定逻辑容器执行用于该预定服务的该逻辑组件的装载。
根据本发明的再一方面,提供了一种用于分布式容器的动态加载系统,包括:客户端;以及如上所述的服务调度模块和逻辑容器,该客户端发送该针对预定服务的消息。
根据本方面的方案,侧重逻辑变化后的逻辑分离,并通过消息机制封装变化后的逻辑,进而完成业务逻辑的平滑变更,实现动态加载,达到服务不间断、多版本并行的效果,让用户更平滑的使用产品提供的服务。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了分布式接口服务层基于C/S模型架构的逻辑模型;
图2示出了分布式框架的部署概图;
图3示出了实时业务引擎的逻辑概图;
图4示出了实时业务引擎的运行时;
图5示出了根据本发明的一方面的用于分布式容器的动态加载装置;以及
图6示出了根据本发明的一方面的用于分布式容器的动态加载方法。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
图1示出了分布式接口服务层基于C/S模型架构的逻辑模型。该模型架构的关键组件包括分布式框架、实时业务引擎、开发模拟器和管理工具几部分。
关于分布式框架,harmonizes完成Master/Slave结构、p2p对等工作组的服务端通信。关于实时业务引擎,maestroes服务的执行容器完成服务注册、部署、管理、执行。分布式框架和实时业务引擎在下文作简单介绍。
开发模拟器完成客户端开发服务开发、发布、测试。以SDK模拟器为例,为合作伙伴、开发人员api的开发、上传的sdk开发包,将api的开发和发布流程抽象后统一管理。注重接口的易用性,延展性。
管理工具对整个接口服务集群进行管理,包括状态中心、配置管理、集群监控等。管理工具提供整个框架的管理界面,检测各个业务引擎的负载,提供控制台服务,完成对体系内的客户端发送管理指令。
图2示出了分布式框架的部署概图。协议模型完成框架内的参与方与交互机制的抽象,提供基本的服务端、客户端管理、通信、业务逻辑包装的消息序列。该框架内部通信采用自定义的tcp/ip消息,对外是提供有模式的http消息,协议模型完成节点间的通信,完成管理和服务调用的功能,同时提供协议的注册机制,容许自定义协议及其对应的消息编解码处理。
服务端基于TCP/IP,UDP协议,能管理体系内的客户端和业务引擎。支持框架内的业务集群的分布式,Master/Slave模型、对等网络模型,负载均衡、Stand by等。服务端主要完成高可用服务器的保证,满足大规模并发连接的调度,保证服务稳定、不间断运行。
客户端在协议模型的框架下,接收服务端路由过来的消息并转发给业务引擎,触发逻辑的执行。分布式框架的客户端完成服务端发来的数据请求,并调用服务组件完成逻辑的处理,和服务端一起完成组件的分布和调度、容错处理。
图3示出了实时业务引擎的逻辑概图。图4示出了实时业务引擎的运行时。从图中可以看出,服务容器主要包括服务加载模块、监控模块、以及核心模块。
服务加载模块中主要有服务策略和服务注册表。监控模块中主要有线程池监控、日志监控、队列监控、服务策略修改等等。核心模块中主要有线程池、日志、通信、数据库连接池、队列、锁机制。
线程池管理提供线程池的创建、扩容、销毁等操作。在业务引擎内部,根据请求的负载和本机的处理能力,决定动态增减线程池的容量,保证机器性能的合理化利用,最大化处理效率。在逻辑执行时,从请求队列获取一个请求的逻辑模板,其中绑定了业务请求,申请线程资源执行。作为上下文统计,将一个业务逻辑执行的起始时间,业务逻辑步骤的起始时间记录,为性能优化提供参考数据。
内存数据库负责逻辑执行过程中涉及的数据重新建模,支撑更快速的逻辑流程的执行,内存数据库完成一部分的缓冲功能,能提供数据的动态建模,满足应用对数据的实时要求。
采用了业务请求序列化,保证数据“一次确认后”的完整性,数据不丢失。当获得这个请求后,确认“机制内保存成功”后,响应接收成功,服务端缓存不再保证该条消息在下次请求时存在。特别地,在进程意外重启后,能重新反序列化业务请求,继续业务逻辑的执行。相应地,也采用了结果序列化,逻辑结果的序列化,保证结果的正确发送,在意外退出进程后重新启动时,重新发送异步结果集。同时提供内存数据库的数据备份、同步、重新加载、数据立方体生成等,以实现模型数据序列化。
上文简要描述了根据本发明的动态加载方案的应用环境。
图5描述了根据本发明的一方面的用于分布式容器的动态加载装置500。如图所示,动态加载装置500可包括服务调度模块和多个逻辑容器521、522、523。尽管图5中仅示出了3个逻辑容器,然而这仅仅是出于示例目的,事实上可以存在更少或更多的逻辑容器。
逻辑容器521-523中的每一个逻辑容器中存储有至少一个逻辑组件。一个逻辑组件表示一种特定服务的执行逻辑。以“银行账户余额提醒”作为服务的示例,如何实现银行账户余额提醒(例如,余额提醒消息中有何内容)这一服务即为该服务的逻辑。每个服务有各自的逻辑,这些逻辑以逻辑组件的形式存储在某一个逻辑容器中。
根据本发明的一方面,采用了消息机制来传递服务的请求和服务的更新。
当客户端请求发起预定服务时,客户端可发起一个服务请求消息。作为示例,该消息可封装在TCP/IP协议中。服务请求消息的格式可如以下表1所示:
表1
msglength | version | sequence | requestModule | serviceModule | operCmd |
消息长度 | 版本 | 序列 | 请求方 | 服务方 | 操作 |
2000 | 1.0 | 133 | 0x700 | 0x100 | 001 |
服务请求消息中含有操作码字段(operCmd)字段,该操作码字段指示该消息的用途,例如001的操作码指示该消息为服务请求消息。服务模块(serviceModule)字段指示该消息所针对的服务的信息,例如该服务的类型,该服务的能力等等。版本号(Version)字段指示该消息所针对的服务(即用于该服务的逻辑组件)的版本号。
服务调度模块510在收到来自客户端的这样的一条消息后,基于该消息所针对的该预定服务的类型将其转发给预定的逻辑容器。如前所述,各个逻辑容器521-523中装有不同的逻辑组件以用于不同的服务。服务调度模块510可将该消息转发给包含用于该预定服务的逻辑组件的逻辑容器,假设为逻辑容器521。实践中,例如服务调度模块510可通过服务请求消息的服务模块来判断该预定服务的类型,从而知晓哪个逻辑容器包含有用于该预定服务的逻辑组件。
以逻辑容器521包含有用于该预定服务的逻辑组件为例,逻辑容器521在收到该消息时,首先解读其操作码字段,通过操作码判断出该消息服务请求消息。
如前所述,每个逻辑容器中可能包含有用于不同服务的逻辑组件。因此,逻辑容器521可基于消息中的版本号字段和服务模块字段执行服务匹配,由此确定用于该预定服务的逻辑组件,然后装载用于该预定服务的逻辑组件。
在实践中,逻辑组件的一个典型形式是编译后的类(class)文件。例如,逻辑容器521可通过java类装载器来装置该逻辑组件。
以上描述了通过消息机制实现服务的请求。
当客户端希望更新用于预定服务的逻辑时,客户端可以发起针对该预定服务的服务更新消息。作为示例,该消息可封装在TCP/IP协议中。服务请求消息的格式可如以下表2所示:
表2
服务更新消息中含有操作码字段(operCmd)字段,该操作码字段指示该消息的用途,例如003的操作码指示该消息为服务更新消息。服务模块(serviceModule)字段指示该消息所针对的服务的信息,例如该服务的类型,该服务的能力等等。版本号(Version)字段指示该消息所针对的服务(即用于该服务的逻辑组件)的版本号。
特别地,服务更新消息包含逻辑块字段,逻辑块字段中包含表示类文件的二进制逻辑表示字段。该二进制逻辑表示字段可被解析为表示新的逻辑组件的类文件。
服务调度模块510在收到来自客户端的这样的一条消息后,基于该消息所针对的该预定服务的类型将其转发给预定的逻辑容器。如前所述,各个逻辑容器521-523中装有不同的逻辑组件以用于不同的服务。服务调度模块510可将该消息转发给包含用于该预定服务的逻辑组件的逻辑容器,假设为逻辑容器521。实践中,例如服务调度模块510可通过服务请求消息的服务模块来判断该预定服务的类型,从而知晓哪个逻辑容器包含有用于该预定服务的逻辑组件。
以逻辑容器521包含有用于该预定服务的逻辑组件为例,逻辑容器521在收到该消息时,首先解读其操作码字段,通过操作码判断出该消息服务更新消息。
如前所述,每个逻辑容器中可能包含有用于不同服务的逻辑组件。因此,逻辑容器521可基于消息中的服务模块字段执行服务匹配,以确定服务更新的对象。
在确定服务更新对象后,逻辑容器521进一步基于消息中的版本号确定是否需要执行逻辑更新操作。例如,逻辑容器521中所包含的用于该预定服务的逻辑组件具有一个原版本号,逻辑容器521可可将该消息中的版本号与该原版本号比较,在不一致的情况下才执行逻辑更新操作,在一致的情况下不执行更新操作。
一旦确定需要执行逻辑更新操作,则逻辑容器521可解析逻辑块字段中的逻辑块以替换进程中的已有代码段,例如替换原本包含在逻辑容器521中的现有的用于该预定服务的逻辑组件。
实践中,逻辑容器521可基于一个专门用于解析的数据库来将该二进制逻辑块解析为类文件。例如该用于解析的数据库中存储有二进制逻辑表示字段与预存逻辑的对应关系。预存逻辑可以为码字、代码、小程序等形式,本发明并不对预存逻辑的形式不做限制。基于此对应关系,逻辑容器521可以执行解析。
图6是示出了根据本发明的一方面的用于分布式容器的动态加载方法600。该动态加载方法600可包括以下步骤:
步骤610:接收针对预定服务的消息,该消息包括操作码字段,该操作码字段指示该消息为服务更新消息或服务请求消息。
步骤620:根据该预定服务的服务类型将该消息转发至一逻辑容器,该逻辑容器中包含用于该预定服务的逻辑组件。
步骤630:若该操作码指示该消息为服务更新消息,则由该逻辑容器执行逻辑更新操作,若该操作码指示该消息为服务请求消息,则由该逻辑容器执行用于该预定服务的该逻辑组件的装载。
实践中,当该操作码字段指示该消息为服务更新消息时,该消息还包括版本号,该逻辑容器进一步基于该版本号确定需要执行逻辑更新操作。进一步地,逻辑容器中用于该预定服务的该逻辑组件存在原版本号,该逻辑容器可将该消息中的版本号与原版本号比较,若不一致则执行逻辑更新操作,若一致则不执行逻辑更新操作。
该消息还包括指示服务方的服务模块字段,当操作码字段指示该消息为服务更新消息时,该逻辑容器可基于该服务模块字段执行服务匹配以确定服务更新的对象。特别地,服务更新消息可包括逻辑块字段,该逻辑容器可解析该逻辑块字段中的逻辑块以替换进程中的已有代码段。
在一实例中,逻辑块字段包括表示类文件的二进制逻辑表示字段。该逻辑容器可基于用于解析的数据库将该二进制逻辑表示字段解析为类文件,并通过类装载器的方式替换进程中已有的代码,其中,用于解析的数据库中存储有二进制逻辑表示字段与预存逻辑的对应关系。预存逻辑可以为码字、代码、小程序等形式,本发明并不对预存逻辑的形式不做限制。
另一方面,当该操作码字段指示该消息为服务请求消息时。该逻辑容器可基于版本号字段和服务模块字段执行服务匹配,以装载用于该预定服务的逻辑组件。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
根据本发明的另一方面,还提供了一种用于分布式容器的动态加载系统,该动态加载系统可包括上述的动态加载装置和客户端。
本发明通过消息机制将代表业务逻辑的class文件封装成消息,以较低成本实现服务的不间断运行、多版本服务并行运行等等。特别地,代表逻辑class二进制文件很容易扩展成需要的二进制逻辑表示,实现任意类型的逻辑表示,并在体系内实现通过消息服务以及版本号、操作命令字operCmd等消息原语实现服务的不间断运行、更新,以满足灵活多变的业务需求。
例如某业务场景如下,当客户的银行账户发生变化时通知客户:
“您的账户收入2000元”。
一般情况下,该信息已满足普通用户的需要,知道自己的账户发生了变化及变化的金额。但是对于业务变化频繁的人,需要知道是谁让自己的账户发生了变化,需要形如以下的信息:
“您的账户收入来自尾号为0587的刘**转账收入2000元”。
那么这种情况下,需要修改服务端程序逻辑的代码,进而进入变更部署的流程---编译、测试、部署等一套流程,需要较大的成本才能完成如此小规模的变化。
本发明侧重逻辑变化后的逻辑分离,并通过消息机制封装变化后的逻辑,进而完成业务逻辑的平滑变更,达到服务不间断、多版本并行的效果。
一段时间后,客户发现这样的信息仍不能满足自己的需要,对于整数数字的转帐很容易猜测自己账户的余额,但大量类似333,689,957之类的收入,很难猜测账户的余额,需求如下:
“您的账户收入来自尾号为0587的刘**转账收入989元,当前余额为3892990元”。
本发明就是管理类似变化的需求,并将变化的逻辑通过消息机制在体制内流转,实现动态加载、多版本服务并行,让用户更平滑的使用产品提供的服务。
本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (15)
1.一种用于分布式容器的动态加载方法,包括:
接收针对预定服务的消息,所述消息包括操作码字段,所述操作码字段指示所述消息为服务更新消息或服务请求消息;
根据所述预定服务的服务类型将所述消息转发至一逻辑容器,所述逻辑容器中包含用于所述预定服务的逻辑组件;以及
若所述操作码指示所述消息为服务更新消息,则由所述逻辑容器执行逻辑更新操作,若所述操作码指示所述消息为服务请求消息,则由所述逻辑容器执行用于所述预定服务的所述逻辑组件的装载。
2.如权利要求1所述的动态加载方法,其特征在于,当所述操作码字段指示所述消息为服务更新消息时,所述消息还包括版本号,所述逻辑容器进一步基于所述版本号确定需要执行逻辑更新操作。
3.如权利要求2所述的动态加载方法,其特征在于,所述逻辑容器中用于所述预定服务的所述逻辑组件存在原版本号;
所述逻辑容器进一步基于所述版本号确定需要执行逻辑更新操作,包括:
则将所述消息中的版本号与所述原版本号比较,若不一致则执行逻辑更新操作。
4.如权利要求1所述的动态加载方法,其特征在于,所述消息还包括指示服务方的服务模块字段,当所述操作码字段指示所述消息为服务更新消息时,所述逻辑容器基于所述服务模块字段执行服务匹配以确定服务更新的对象。
5.如权利要求4所述的动态加载方法,其特征在于,当所述操作码字段指示所述消息为服务更新消息时,所述消息还包括逻辑块字段,所述逻辑容器解析所述逻辑块字段中的逻辑块以替换进程中的已有代码段。
6.如权利要求5所述的动态加载方法,其特征在于,所述逻辑块字段包括表示类文件的二进制逻辑表示字段,所述逻辑容器基于用于解析的数据库将所述二进制逻辑表示字段解析为类文件,并通过类装载器的方式替换进程中已有的代码,其中,用于解析的数据库中存储有二进制逻辑表示字段与预存逻辑的对应关系。
7.如权利要求1所述的动态加载方法,其特征在于,当所述操作码字段指示所述消息为服务请求消息时,所述消息还包括版本号字段和指示服务方的服务模块字段,所述逻辑容器基于所述版本号字段和所述服务模块字段执行服务匹配,以装载用于所述预定服务的逻辑组件。
8.一种用于分布式容器的动态加载装置,包括:
服务调度模块,接收来自客户端的针对预定服务的消息,所述消息包括操作码字段,所述操作码字段指示所述消息为服务更新消息或服务请求消息;以及
多个逻辑容器,每个逻辑容器中包含用于至少一种服务的至少一个逻辑组件;
所述服务调度模块根据所述预定服务的服务类型将所述消息转发至一预定逻辑容器,所述预定逻辑容器中包含用于所述预定服务的逻辑组件,
若所述操作码指示所述消息为服务更新消息,则所述预定逻辑容器执行逻辑更新操作,若所述操作码指示所述消息为服务请求消息,则所述预定逻辑容器执行用于所述预定服务的所述逻辑组件的装载。
9.如权利要求8所述的动态加载装置,其特征在于,当所述操作码字段指示所述消息为服务更新消息时,所述消息还包括版本号,所述逻辑容器进一步基于所述版本号确定需要执行逻辑更新操作。
10.如权利要求9所述的动态加载方法,其特征在于,所述预定逻辑容器中用于所述预定服务的所述逻辑组件存在原版本号;
所述预定逻辑容器将所述消息中的版本号与所述原版本号比较,若不一致则执行逻辑更新操作。
11.如权利要求8所述的动态加载装置,其特征在于,所述消息还包括指示服务方的服务模块字段,当所述操作码字段指示所述消息为服务更新消息时,所述预定逻辑容器基于所述服务模块字段执行服务匹配以确定服务更新的对象。
12.如权利要求11所述的动态加载装置,其特征在于,当所述操作码字段指示所述消息为服务更新消息时,所述消息还包括逻辑块字段,所述预定逻辑容器解析所述逻辑块字段中的逻辑块以替换进程中的已有代码段。
13.如权利要求12所述的动态加载装置,其特征在于,所述逻辑块字段包括表示类文件的二进制逻辑表示字段,所述预定逻辑容器基于用于解析的数据库将所述二进制逻辑表示字段解析为类文件,并通过类装载器的方式替换进程中已有的代码,其中,用于解析的数据库中存储有二进制逻辑表示字段与预存逻辑的对应关系。
14.如权利要求8所述的动态加载装置,其特征在于,当所述操作码字段指示所述消息为服务请求消息时,所述消息还包括版本号字段和指示服务方的服务模块字段,所述预定逻辑容器基于所述版本号字段和所述服务模块字段执行服务匹配,以装载用于所述预定服务的逻辑组件。
15.一种用于分布式容器的动态加载系统,包括:
客户端;以及
如权利要求8-14中任一项所述的服务调度模块和逻辑容器,所述客户端发送所述针对预定服务的消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611245165.0A CN106713469B (zh) | 2016-12-29 | 2016-12-29 | 用于分布式容器的动态加载方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611245165.0A CN106713469B (zh) | 2016-12-29 | 2016-12-29 | 用于分布式容器的动态加载方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106713469A true CN106713469A (zh) | 2017-05-24 |
CN106713469B CN106713469B (zh) | 2019-12-13 |
Family
ID=58903972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611245165.0A Active CN106713469B (zh) | 2016-12-29 | 2016-12-29 | 用于分布式容器的动态加载方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106713469B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304201A (zh) * | 2017-09-14 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 对象更新方法、装置及设备 |
CN111026091A (zh) * | 2019-12-27 | 2020-04-17 | 中国科学技术大学 | 分布式望远镜设备远程控制和观测系统 |
CN112035174A (zh) * | 2019-05-16 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 运行web服务的方法、装置及计算机存储介质 |
CN112631797A (zh) * | 2020-12-18 | 2021-04-09 | 京东数字科技控股股份有限公司 | 配置业务系统的方法和装置 |
CN113176938A (zh) * | 2021-05-25 | 2021-07-27 | 深圳前海微众银行股份有限公司 | 客户服务的调度方法、系统、终端设备以及存储介质 |
CN113282373A (zh) * | 2021-06-03 | 2021-08-20 | 青岛海尔科技有限公司 | 用于分布式并发应用服务的方法、装置和设备 |
CN113938379A (zh) * | 2021-09-29 | 2022-01-14 | 浪潮云信息技术股份公司 | 一种动态加载云平台日志采集配置的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000677A (zh) * | 2007-01-19 | 2007-07-18 | 华为技术有限公司 | 营销业务推荐的匹配方法及系统 |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理系统和方法 |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN103049321A (zh) * | 2012-12-27 | 2013-04-17 | 中国建设银行股份有限公司 | 智能化任务处理装置以及智能任务处理方法 |
CN104239037A (zh) * | 2014-08-25 | 2014-12-24 | 中国电子科技集团公司第二十九研究所 | 一种业务功能可重构的软件框架 |
CN105391789A (zh) * | 2015-11-26 | 2016-03-09 | 南京莱斯信息技术股份有限公司 | 一种基于jsp模板的动态服务实现方法 |
-
2016
- 2016-12-29 CN CN201611245165.0A patent/CN106713469B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000677A (zh) * | 2007-01-19 | 2007-07-18 | 华为技术有限公司 | 营销业务推荐的匹配方法及系统 |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理系统和方法 |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN103049321A (zh) * | 2012-12-27 | 2013-04-17 | 中国建设银行股份有限公司 | 智能化任务处理装置以及智能任务处理方法 |
CN104239037A (zh) * | 2014-08-25 | 2014-12-24 | 中国电子科技集团公司第二十九研究所 | 一种业务功能可重构的软件框架 |
CN105391789A (zh) * | 2015-11-26 | 2016-03-09 | 南京莱斯信息技术股份有限公司 | 一种基于jsp模板的动态服务实现方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304201A (zh) * | 2017-09-14 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 对象更新方法、装置及设备 |
CN112035174A (zh) * | 2019-05-16 | 2020-12-04 | 杭州海康威视数字技术股份有限公司 | 运行web服务的方法、装置及计算机存储介质 |
CN111026091A (zh) * | 2019-12-27 | 2020-04-17 | 中国科学技术大学 | 分布式望远镜设备远程控制和观测系统 |
CN111026091B (zh) * | 2019-12-27 | 2022-09-30 | 中国科学技术大学 | 分布式望远镜设备远程控制和观测系统 |
CN112631797A (zh) * | 2020-12-18 | 2021-04-09 | 京东数字科技控股股份有限公司 | 配置业务系统的方法和装置 |
CN112631797B (zh) * | 2020-12-18 | 2024-09-20 | 京东科技控股股份有限公司 | 配置业务系统的方法和装置 |
CN113176938A (zh) * | 2021-05-25 | 2021-07-27 | 深圳前海微众银行股份有限公司 | 客户服务的调度方法、系统、终端设备以及存储介质 |
CN113282373A (zh) * | 2021-06-03 | 2021-08-20 | 青岛海尔科技有限公司 | 用于分布式并发应用服务的方法、装置和设备 |
CN113938379A (zh) * | 2021-09-29 | 2022-01-14 | 浪潮云信息技术股份公司 | 一种动态加载云平台日志采集配置的方法 |
CN113938379B (zh) * | 2021-09-29 | 2024-06-04 | 浪潮云信息技术股份公司 | 一种动态加载云平台日志采集配置的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106713469B (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713469A (zh) | 用于分布式容器的动态加载方法、装置及系统 | |
CN102754411B (zh) | 使用客户端-服务器网桥管理对象 | |
CN104520814B (zh) | 用于配置云计算系统的系统和方法 | |
CN108833161B (zh) | 一种建立基于雾计算的智能合约微服务模型的方法 | |
Kakivaya et al. | Service fabric: a distributed platform for building microservices in the cloud | |
CN108932588B (zh) | 一种前后端分离的水电站群优化调度系统及方法 | |
Flores et al. | Evidence-aware mobile computational offloading | |
CN105531688B (zh) | 提供作为其它服务的资源的服务 | |
EP3622447A1 (en) | Interoperation of machine learning algorithms | |
WO2018206374A1 (en) | Load balancing of machine learning algorithms | |
CN103473696A (zh) | 一种收集、分析和分发网络商业信息的方法和系统 | |
CN104754008B (zh) | 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法 | |
CN106657314A (zh) | 跨数据中心数据同步系统及方法 | |
He et al. | Programming framework and infrastructure for self-adaptation and optimized evolution method for microservice systems in cloud–edge environments | |
CN108681569A (zh) | 一种数据自动分析系统及其方法 | |
CN113590576A (zh) | 数据库参数调整方法、装置、存储介质以及电子设备 | |
CN110457307A (zh) | 元数据管理系统、用户集群创建方法、装置、设备和介质 | |
Zhang et al. | A parallel strategy for convolutional neural network based on heterogeneous cluster for mobile information system | |
US20100218202A1 (en) | Method and Apparatus for Case-Based Service Composition | |
CN110233904A (zh) | 设备更新方法、装置、系统、存储介质以及计算机设备 | |
CN116915700A (zh) | 一种前端微服务聚合技术解决方法 | |
Ding et al. | An antibody network inspired evolutionary framework for distributed object computing | |
Fu et al. | Configuring competing classifier chains in distributed stream mining systems | |
CN109671475A (zh) | HL7v3数据持久化方法、存储介质、电子设备及系统 | |
Hamida et al. | Integrated CHOReOS middleware-Enabling large-scale, QoS-aware adaptive choreographies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |