CN108322541B - 一种自适应的分布式体系架构 - Google Patents
一种自适应的分布式体系架构 Download PDFInfo
- Publication number
- CN108322541B CN108322541B CN201810134198.0A CN201810134198A CN108322541B CN 108322541 B CN108322541 B CN 108322541B CN 201810134198 A CN201810134198 A CN 201810134198A CN 108322541 B CN108322541 B CN 108322541B
- Authority
- CN
- China
- Prior art keywords
- cluster
- service
- target service
- response time
- data
- 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
Links
Images
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/10—Protocols in which an application is distributed across nodes in the network
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5048—Automatic or semi-automatic definitions, e.g. definition templates
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种自适应的分布式体系架构,通过自适应地调整指定微服务实例规模的方式,能够应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。本发明站在分布式集群层级角度观察并发与性能的内在关系,具备良好的模型泛化能力,能广泛应用于不同结构及行为特征的分布式集群中,有效降低IDC运维及研发人员的工作强度。此外,本发明主干算法来自google deepmind团队基于Q Learning的改进,算法不需要出现正确的输入/输出对,也不需要精确校正次优化的行为,更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。
Description
技术领域
本发明属于互联网分布式系统技术领域,具体涉及一种自适应的分布式体系架构。
背景技术
随着互联网行业迈入云时代已十余年,各种规模和应用场景的云端分布式服务体系架构正在默默的创造价值,像Google、BATJ等巨头的为某些海量用户应用配置了成千上万的后端服务实例,分布在地球上各个机房中,这无疑增加了运维难度和工作量。当然,为解决此类问题,一直都有新的技术出现,例如针对双11,阿里云通过docker等虚拟化机制,迅速将互联网机房中的资源集中到热门业务上,但要做这类事总是有以下问题需要考虑:
1.什么时候或条件下投入多少资源到哪些业务中?
2.什么时候或条件下可以从哪些业务已占用的资源中回收多少资源转移给当前热门业务?
3.调整的过程是否及时有效?
在一条腿迈入AI时代的今天,这些事情能否不让人来干预了?通过考察目前业界流行的相关服务架构,如图1所示,其中负载均衡、业务路由模块、业务系统、基础服务等模块中,都大量存在相同配置、相同程序在不同实例(可以是实体机、虚拟机或docker环境)上同时运行的情况。这种分布式架构本身具有很强的可用性(其中几个实例离线不会影响到用户)、可扩展性(由于都是相同的配置和程序,方便于在其他实例上部署)、高性能(便于水平扩展即意味着吞吐量的提升很方便);在这种分布式架构中,可以通过自适应地调整指定微服务实例规模的方式,应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。但是这种分布式架构也存在着一些问题需要去克服:
(1)目前我们的分布式系统的确有海量历史的性能数据保存下来,但绝大部分数据都是服务正常的数据,少数的故障其原因也是多样的,例如是程序bug导致流程不正常、第三方的故障、上线过程中配置错误等一些无法通过改变系统规模来解决的原因;那些可以通过改变系统规模改进或避免事故的场景,要么无法从历史数据中识别出来,要么是极少数的几例。
(2)IDC运维及研发无法抽出大量时间或及时审查或过滤线上海量性能数据。
发明内容
鉴于上述,本发明提供了一种自适应的分布式体系架构,即通过自适应地调整指定微服务实例规模的方式,能够应对由于用户需求变更对云服务即保质又要控制成本的要求的挑战。
一种自适应的分布式体系架构,包括客户端、业务处理层以及数据持久层;用户通过所述客户端向业务处理层发送服务请求,所述业务处理层包括业务系统以及基础服务系统,业务系统用于对用户发送的请求进行具体的业务处理,基础服务系统用于对基础数据或基础服务提供全局服务,所述数据持久层用于对海量数据提供持久化和及时响应;
所述业务处理层还包括有自适应单元,对于业务系统、基础服务系统或数据持久层中的任一目标服务集群,所述自适应单元实时监控获取该目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据作为特征工程数据,使该目标服务集群处理响应时间占总响应时间的比例作为奖励工程数据,利用特征工程及奖励工程数据通过基于价值的强化学习方法预测出在保证服务质量前提下该目标服务集群下一周期内的最小集群规模,并依此通过调度控制该目标服务集群的规模。
进一步地,所述总响应时间为目标服务集群收到用户请求到回复该请求总的时间,其由目标服务集群自身处理响应时间和目标服务集群后端处理响应时间相加组成,后端处理响应时间为目标服务集群向其后端服务系统转发用户请求直至收到答复的时间。
进一步地,所述自适应单元包含有监控模块,其用于实时监控获取目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据,包括周期内目标服务集群的规模、周期内目标服务集群承载业务请求的总吞吐量平均值、目标服务集群在周期内的CPU使用量算术平均值、内存占用量算术平均值、磁盘IO总量算术平均值以及网络IO总量算术平均值。
进一步地,所述自适应单元包含有预处理模块,其将监控模块收集到的性能数据组合成特征向量的形式,同时通过以下公式计算出关于目标服务集群的奖励值R:
其中:α为预设的比例系数,ηk和ηk-1分别为当前周期和上一周期目标服务集群处理响应时间占总响应时间的比例,N为当前周期目标服务集群的规模,H为奖惩系数,若上一周期内目标服务集群扩容则H=-1,若上一周期内目标服务集群缩容则H=1。
进一步地,所述自适应单元包含有学习模块和执行模块,学习模块采用DQN(DeepQ Network)强化学习模型进行预测,即将所述特征向量以及奖励值R输入至DQN模型中预测出目标服务集群在下一周期内的最小集群规模,并由执行模块根据最小集群规模对目标服务集群进行扩容或缩容,通过上轮决策执行后形成当前周期的集群数据对下一周期的决策产生影响,从而形成回合制的行为反馈体系。
进一步地,所述业务处理层中还包含有防火墙及安全模块以及负载均衡及业务路由模块,所述负载均衡及业务路由模块位于业务系统的前级,用于将用户请求均匀分配给各服务器,使得服务集群负载均衡;所述防火墙及安全模块位于负载均衡及业务路由模块的前级,用于过滤非正常的请求以及来自非法IP地址的请求。
基于上述技术方案,本发明具有以下有益技术效果:
(1)本发明站在分布式集群层级角度观察并发与性能的内在关系,具备良好的模型泛化能力,能广泛应用于不同结构及行为特征的分布式集群中。
(2)本发明是一套无人值守的在线实时监控运维方案,可有效降低IDC运维及研发人员的工作强度。
(3)本发明主干算法来自google deepmind团队基于Q Learning的改进,算法不需要出现正确的输入/输出对,也不需要精确校正次优化的行为,更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。
附图说明
图1为现有流行的分布式体系服务架构示意图。
图2为改造前顺网分布式缓存hours的整体拓扑图。
图3为本发明系统的主干业务流程示意图。
图4为改造后顺网分布式缓存hours的整体拓扑图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
强化学习(Reinforcement Learning)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益,其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。强化学习和标准的监督式学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为;强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。
著名的AlphaGo就是以深度强化学习为核心算法的:
2016年3月,阿尔法围棋与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜;
2017年5月27日,在柯洁与阿尔法围棋的人机大战之后,阿尔法围棋团队宣布阿尔法围棋将不再参加围棋比赛;
2017年10月18日,DeepMind团队公布了最强版AlphaGo,代号AlphaGo Zero。
本发明利用的核心算法Q Learning是基于价值的一类强化学习算法,Watkins于1981年在《Learning from Delayed Rewards》其Ph.D.论文中提出,在1992年Watkins和Dayan证明其收敛性。最近使用Q Learning方法到深度学习中的应用来自Google DeepMind团队发表的《Playing Atari with Deep Reinforcement Learning》论文中,在这篇论文中DeepMind团队做了相关改进,使用神经网络去替换Q Learning算法中的Q表,从此就有了Deep Q Network(简称DQN)。在这篇论文中DeepMind团队指出,通过DQN学习后的AI在Atari2600款游戏中战胜了此领域的人类专家。
目前存在大量的DQN算法的改进版本:Double DQN、Prioritized DDQN、DuelingDQN、A3C、Distributional DQN、Noisy DQN以及最新的Rainbow DQN,在真实项目中随着优化的深入会根据实际场景选取相关变形版本,本发明为描述清楚问题及相关建模过程限定在原生态DQN相关实现上。
以下给出Q Leaning标准算法伪代码:
其中:s代表问题的特征集合,我们称为状态;a是基于当前状态为s时决策出来的进行下一步的行为内容;episode从某个状态开始,经过一系列行为a直到终止状态s'的完整场景;如果我们研究的对象是玩一款游戏,那1个episode就是完整玩这款游戏一轮;r为研究对象在分阶段过程中,根据规则从环境中得到的奖励(惩罚)值;alpha参数为奖励(惩罚)的衰减系数;Q(s,a)中的值表示在s状态条件下采用a行为后所有历史奖励(这些奖励值是通过上图方程从终止状态s'得到的奖励反向传递过来的)的权值。
Q Learning通过奖励的反向传递不断的优化着Q表,而程序在做决策时倾向于根据当前Q表奖励收益大的路径前进,这个Q表就是我们通过训练后得到的宝贵经验,即Q表是可以被复制。
而在现实环境中,我们的状态s可能是由很多维的特征组合起来的,如果通过朴素的Q Learning算法,我们对维度这张Q表需要大量的空间存放,且修改及查询需要很高的成本。为解决上述问题,DeepMind团队提出了DQN,以下给出DQN算法的伪代码:
其中:rj表示第j步的环境奖励(惩罚),gama表示奖励衰减系数。
DQN首先使用神经网络去替换了Q Learning中的Q表,通过神经网络的CNN算法去学习状态s及其采取的行为a后获得的Q值,伪代码中的Q就是指代一个神经网络,权重theta表示神经网络中权重张量。
在DQN中存在二个同构但独立的神经网络(相当于2张Q表),一个学习Q估计记作Q,一个学习Q目标记作Q^,初始化的时候这两个神经网络的权值张量都是一样的。为什么需要二个同构但独立的神经网络,原因是由于决策使用贪心算法,如果根据当前连续的行为得到的奖励立刻更新神经网络的权重张量,容易进入局部最优且降低学习的效果,通过2个独立的神经网络去除行为内的相关性从而提升学习效果。
此外运用了experience relay技术,即我们把t时刻的(St,At,Rt,S_t)序列保存下来,在神经网络学习的时候可以随机抽取历史上的一段连续行为来学习,目的是随机抽取这种做法打乱了经历之间的相关性,也使得神经网络更新更有效率。
在伪代码中就是phi(s1)即φ(s1),虽然不直接使用当前的行为,但取出来的历史连续行为本身还是有相关性的。
DQN中我们的决策依赖于学习Q估计这个神经网络,Q^作为基线模型存放历史数据。可以解释为:在第j步通过行为aj后状态变成sj+1,假设下一步状态为sj+1,求出历史数据(被绑定的基线模型Q^)中sj+1状态下最大的奖励传播值这个值来自Q^中状态为sj+1,a'对应的值,我们可以称之为下一步奖励估计。yj是本状态的奖励估计为,即本步从环境中得到的真实奖励+下一步奖励估计,这个yj数据组成成分来自环境和基线模型(历史数据);最后将这个yj作为目标值,通过神经网络的误差反向传递机制,去训练学习Q估计这个神经网络(学习中的神经网络Q控制本回合的决策)。
至此,我们通过深度强化学习的方法在如图2所示的顺网分布式缓存hours中给予实践应用,本发明方法具备广泛的应用场景的通用性,下面将介绍本发明方法在hours中的应用。
在本系统中通过监控目标微服务机器实时发布到开源搜索引擎ElasticSearch中的性能数据,学习目标微服务集群对其负责的业务实时并发量体现出来的性能特征,来预测保证服务质量的前提下集群的最小规模是多少。
通过分析目标及现有业务行为,我们总结出以下特征:
1.学习的标的物是:当前微服务集群,对业务并发量的响应产生的性能数据,具体采用哪些指标作为特征,稍后在Feature engineering中介绍。
2.每次我们调整集群规模的行为都会导致性能数据剧烈变化,即本问题存在回合制的行为反馈特征。
3.由于我们没有适合的目标数据集合,导致我们不能只使用监督学习去拟合,所以我们需要通过强化学习的方法让程序自己去学习,强化学习可以分为基于价值的学习和基于概率的学习,而本问题存在明显的价值取向,故选择基于价值的学习的算法。
4.本发明通过动态调整集群规模来应对业务并发量的变化,此特点表明目标问题是离散型问题,完全契合Q Learning(DQN的原型算法)适用于离散型学习的特点,可以通过集群规模的变化做回合制。因此本发明约定周期内只能通过增加(减少)一个实例、不变动这三种行为来调整集群规模,这样也更好的利用DQN的状态搜索特征,从而降低本方案的技术复杂度。
5.在许多DQN的应用场景中(AI打游戏),来自环境的奖励(惩罚)规则是否清晰,例如:打不同的怪,得不同的分数;被不同怪打几次,少多少血等。而本发明应用场景中奖励(惩罚)原始数据一定来自集群发布的性能数据,不可能来自人为处理过的数据(如果是人处理过的那可直接使用监督学习就OK了);取哪些性能数据怎么组织后变成奖励(惩罚)数据呢?此问题将在以下Reward engineering中介绍。
Feature engineering:
集群规模,我们是通过调整集群规模来控制集群总吞吐量和服务质量的,故必须加上。
集群承载业务QTPS,现实业务需求在周期内总吞吐量的算术平均值,表述的是需求方请求吞吐量。
集群对于承载业务吞吐量所反馈的性能指标:
CPU,即集群在周期内总CPU消耗算数平均值。
内存占用量,即集群在周期内总物理内存使用平均值
磁盘IO,即集群在周期内由于集群本身导致的磁盘IO总量算术平均值。
网络堆积IO,即集群在周期内由于集群本身导致的网络堆积IO总量算术平均值。
其中,集群规模和集群承载业务QTPS这两个特征正交可作为一组基,而各项性能指标是受激于这两个指标,是集群本身吞吐能力在性能维度的映射体现。
在hours中,我们控制的对象是缓存中间件集群,由于缓存中间件在业务上是CPU密集型操作,瓶颈指标是CPU,内存占有量、磁盘网络IO目前都不存在性能瓶颈,故性能指标中我们选取了CPU;因此可选特征为[集群个数、承载业务的QTPS、集群周期内总CPU算术平均值],由于承载业务的QTPS与集群周期内总CPU算术平均值,指标间存在线性相关性,优选后特征降维成[集群个数、集群周期内总CPU算术平均值],其中CPU值为[0,100]之间的自然数。
这样实时从ElasticSearch中取到的[当前集群规模、周期内集群CPU算术平均值]就是Q Learning算法中的状态S向量。在不同应用场景集群中可以向状态S向量中填入其他特征,这也是本发明具备广泛通用性的一个方面。
Reward engineering:
Reward工程是本发明中决定成败的关键过程,也是本发明有异于其他DQN算法应用的标志之一。
由于本项目应用目标是分布式缓存,而目前业界广泛应用的开源缓存方案是:redis及其变种、memcache和客户端交互都是半双工的(包括绝大多数的关系数据库),即一问一答,没有答不会再问了。由于交互是半双工的,则系统吞吐量直接收到回复响应时间控制,故评价分布式系统的2个主要性能指标:吞吐量、响应时间就规约成响应时间。
因此我们提出一个新的指标:后端处理占总处理响应时间占比。在hours应用场景中:总响应时间为中间件向客户端发送回复的时间减去中间件收到来自客户端请求的时间,即站在中间件的客户端角度上看处理一个请求的响应时间;中间件作为后端服务的反向代理,本身并不处理请求,而是通过策略路由请求到后端缓存能正确处理此请求的实例上,所以后端处理响应时间就是中间件站在后端客户端的角色上计的请求响应时间。
在图1中,如果我们研究的是业务中心层的用户中心集群,则用户中心从收到请求到回复的时间为总响应时间,而用户中心等待用户服务答复请求的时间为后端响应时间。因为站在用户中心来看用户服务就是他的后端,而用户服务的后端是后面数据持久层的数据库或缓存等。
得到了后端处理占总处理响应时间比(记作back)后,则本系统消耗响应时间占总响应时间比local=1–back,因此我们就用local作为Q Learning中的环境奖励值。
这时有人会问CPU是反映需求吞吐量的一个指标,而本系统消耗响应时间占总响应时间比也能反映需求吞吐量,2个数据表征的意义类似。事实上中间件CPU很高的情况下,本系统消耗响应时间占总响应时间比可能会很高(即瓶颈在中间件可能性高,但相应的缓存实例的CPU可能更高,瓶颈在中间件还是后端无法准确评估),而且缓存操作中也有许多慢操作,即很多情况下中间件CPU不高,但缓存实例已接近瓶颈,因此本系统消耗响应时间占总响应时间比是一个很强的判断集群能力的实时指标。
操作前本系统消耗响应时间占总响应时间比记作local(t-1),操作后本系统消耗响应时间占总响应时间比记作local(t)。
Delta local=local(t)-local(t-1)
基于以上信息整理,我们定下本系统行为奖惩规范如下:
当集群扩容(增加集群规模)行为:Delta local<0给予奖励;Delta local>0给予惩罚。
当集群缩容(减少集群规模)行为:Delta local>0且Delta local<可接受范围内,给予奖励;Delta local>可接受范围内给予惩罚。
设计奖励反馈函数需要满足以上的行为规范,由于我们期望是满足用户吞吐量的条件下,花费最小成本,故奖励函数设计如下:
def reward_engineering_function(raw_reward_delta,action,raw_reward_delta_bondary=0.05):
assert(action>=decrease_action and action<=increase_action)
assert(num>=2)
ifaction==decrease_action
return 20.0*(raw_reward_delta_bondary-raw_reward_delta)/np.log2(num)
return-20.0*raw_reward_delta/np.log2(num)
通过以上函数返回的值就是Q Learning(DQN)中的rj;对于环境奖励值,后期基于openAI团队和DeepMind团队提出的新方案,能通过关键决策环节的人工评分(极少需要人为干预)的方式来学习评分人的喜欢,即奖励函数也要自己学习。如果目标监控集群是全双工通讯的,无非就是多一个吞吐量的因素,对以上函数稍加改造亦能达到良好的效果。
图3为主干业务流程,此外每天需要定时导出tensorflow中的参数数据(即训练数据)到指定磁盘目录下,一天一个文件,此流程不属于主干业务流程就不画入图3了;即除了特征和奖励工程相关逻辑(加上数据输入输出相关接口),加一些无效数据过滤聚合工作外,主干算法流程就是DQN的流程,其算法细节详见DQN相关论文,图4为改造后的hours系统架构。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (2)
1.一种自适应的分布式体系架构,包括客户端、业务处理层以及数据持久层;用户通过所述客户端向业务处理层发送服务请求,所述业务处理层包括业务系统以及基础服务系统,业务系统用于对用户发送的请求进行具体的业务处理,基础服务系统用于对基础数据或基础服务提供全局服务,所述数据持久层用于对海量数据提供持久化和及时响应;其特征在于:
所述业务处理层还包括有自适应单元,对于业务系统、基础服务系统或数据持久层中的任一目标服务集群,所述自适应单元实时监控获取该目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据作为特征工程数据,使该目标服务集群处理响应时间占总响应时间的比例作为奖励工程数据,利用特征工程及奖励工程数据通过基于价值的强化学习方法预测出在保证服务质量前提下该目标服务集群下一周期内的最小集群规模,并依此通过调度控制该目标服务集群的规模;
所述总响应时间为目标服务集群收到用户请求到回复该请求总的时间,其由目标服务集群自身处理响应时间和目标服务集群后端处理响应时间相加组成,后端处理响应时间为目标服务集群向其后端服务系统转发用户请求直至收到答复的时间;
所述自适应单元包含有监控模块,其用于实时监控获取目标服务集群对其负责业务并发量及请求响应时间所体现的性能数据,包括周期内目标服务集群的规模、周期内目标服务集群承载业务请求的总吞吐量平均值、目标服务集群在周期内的CPU使用量算术平均值、内存占用量算术平均值、磁盘IO总量算术平均值以及网络IO总量算术平均值;
所述自适应单元包含有预处理模块,其将监控模块收集到的性能数据组合成特征向量的形式,同时通过以下公式计算出关于目标服务集群的奖励值R:
其中:α为预设的比例系数,ηk和ηk-1分别为当前周期和上一周期目标服务集群处理响应时间占总响应时间的比例,N为当前周期目标服务集群的规模,H为奖惩系数,若上一周期内目标服务集群扩容则H=-1,若上一周期内目标服务集群缩容则H=1;
所述自适应单元包含有学习模块和执行模块,学习模块采用DQN强化学习模型进行预测,即将所述特征向量以及奖励值R输入至DQN模型中预测出目标服务集群在下一周期内的最小集群规模,并由执行模块根据最小集群规模对目标服务集群进行扩容或缩容,通过上轮决策执行后形成当前周期的集群数据对下一周期的决策产生影响,从而形成回合制的行为反馈体系。
2.根据权利要求1所述的分布式体系架构,其特征在于:所述业务处理层中还包含有防火墙及安全模块以及负载均衡及业务路由模块,所述负载均衡及业务路由模块位于业务系统的前级,用于将用户请求均匀分配给各服务器,使得服务集群负载均衡;所述防火墙及安全模块位于负载均衡及业务路由模块的前级,用于过滤非正常的请求以及来自非法IP地址的请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810134198.0A CN108322541B (zh) | 2018-02-09 | 2018-02-09 | 一种自适应的分布式体系架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810134198.0A CN108322541B (zh) | 2018-02-09 | 2018-02-09 | 一种自适应的分布式体系架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108322541A CN108322541A (zh) | 2018-07-24 |
CN108322541B true CN108322541B (zh) | 2021-04-06 |
Family
ID=62903441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810134198.0A Active CN108322541B (zh) | 2018-02-09 | 2018-02-09 | 一种自适应的分布式体系架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322541B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087142A (zh) * | 2018-08-07 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 通过深度强化学习进行营销成本控制的方法及装置 |
CN110086888B (zh) * | 2019-05-15 | 2022-05-17 | 上海淇毓信息科技有限公司 | 基于RabbitMQ的多集群动态负载方法、装置、电子设备 |
CN110336600B (zh) * | 2019-06-26 | 2021-10-26 | 电子科技大学 | 一种针对多线性系统的分布式自适应系统辨识方法 |
CN111083743A (zh) * | 2019-12-31 | 2020-04-28 | 上海无线通信研究中心 | 一种基于5G接入网的分布式QoS预测方法、系统及装置 |
CN111984393A (zh) * | 2020-10-12 | 2020-11-24 | 浙江大华技术股份有限公司 | 分布式大规模实时数据调度引擎系统及其数据调度方法 |
CN114707093A (zh) * | 2020-10-20 | 2022-07-05 | 厦门快快网络科技有限公司 | 一种基于高并发分布式的微服务框架系统 |
CN112671865A (zh) * | 2020-12-16 | 2021-04-16 | 之江实验室 | 一种基于sdn的物联网微服务自动编排方法 |
CN112596995A (zh) * | 2020-12-26 | 2021-04-02 | 中国农业银行股份有限公司 | 一种基于集群架构的容量确定方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004671A (zh) * | 2010-11-15 | 2011-04-06 | 北京航空航天大学 | 一种云计算环境下数据中心基于统计模型的资源管理方法 |
US8762304B2 (en) * | 2009-11-03 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Policy scheduling |
CN106228314A (zh) * | 2016-08-11 | 2016-12-14 | 电子科技大学 | 基于深度增强学习的工作流调度方法 |
CN106371930A (zh) * | 2016-09-29 | 2017-02-01 | 汉兴德创(武汉)科技有限公司 | 一种云计算环境下负载均衡数据处理的实现方法 |
CN106453564A (zh) * | 2016-10-18 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 弹性云分布式海量请求处理的方法、装置及系统 |
CN107193652A (zh) * | 2017-04-27 | 2017-09-22 | 华中科技大学 | 容器云环境中流数据处理系统的弹性资源调度方法及系统 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107404409A (zh) * | 2017-09-01 | 2017-11-28 | 广西大学 | 面向突变负载的容器云弹性供给容器数量预测方法与系统 |
CN107480027A (zh) * | 2017-07-07 | 2017-12-15 | 上海诺悦智能科技有限公司 | 一种分布式深度学习运维系统 |
-
2018
- 2018-02-09 CN CN201810134198.0A patent/CN108322541B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762304B2 (en) * | 2009-11-03 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Policy scheduling |
CN102004671A (zh) * | 2010-11-15 | 2011-04-06 | 北京航空航天大学 | 一种云计算环境下数据中心基于统计模型的资源管理方法 |
CN106228314A (zh) * | 2016-08-11 | 2016-12-14 | 电子科技大学 | 基于深度增强学习的工作流调度方法 |
CN106371930A (zh) * | 2016-09-29 | 2017-02-01 | 汉兴德创(武汉)科技有限公司 | 一种云计算环境下负载均衡数据处理的实现方法 |
CN106453564A (zh) * | 2016-10-18 | 2017-02-22 | 北京京东尚科信息技术有限公司 | 弹性云分布式海量请求处理的方法、装置及系统 |
CN107193652A (zh) * | 2017-04-27 | 2017-09-22 | 华中科技大学 | 容器云环境中流数据处理系统的弹性资源调度方法及系统 |
CN107480027A (zh) * | 2017-07-07 | 2017-12-15 | 上海诺悦智能科技有限公司 | 一种分布式深度学习运维系统 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN107404409A (zh) * | 2017-09-01 | 2017-11-28 | 广西大学 | 面向突变负载的容器云弹性供给容器数量预测方法与系统 |
Non-Patent Citations (1)
Title |
---|
基于高斯过程回归和强化学习的云资源调度算法;李棕;《电子设计工程》;20170630;第25卷(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108322541A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322541B (zh) | 一种自适应的分布式体系架构 | |
Liu et al. | Adaptive asynchronous federated learning in resource-constrained edge computing | |
Xu et al. | BESIFL: Blockchain-empowered secure and incentive federated learning paradigm in IoT | |
CN109508422A (zh) | 多线程智能调度的高匿爬虫系统 | |
US20140380197A1 (en) | System and Methods for Managing Distributed Physics Simulation of Objects in a Virtual Environment | |
CN112102044B (zh) | 一种消息队列处理高并发秒杀商品的方法、系统及装置 | |
CN109543726A (zh) | 一种训练模型的方法及装置 | |
CN109063153A (zh) | 自底向上优化的搜索系统和方法 | |
Lu et al. | An Eigentrust dynamic evolutionary model in P2P file-sharing systems | |
CN108076103A (zh) | 一种消息处理方法、系统及消息生产者集群 | |
CN108182640A (zh) | 一种基于用户行为传播模型求解影响力最大化问题的方法 | |
D’Angelo et al. | Decentralized learning for self-adaptive QoS-aware service assembly | |
US8914505B2 (en) | Methods and apparatus for tuning a network for optimal performance | |
Cámara et al. | Evaluating trade-offs of human involvement in self-adaptive systems | |
CN113283778A (zh) | 一种基于安全性评价的分层汇聚联邦学习方法 | |
Wang et al. | Distributed and secure federated learning for wireless computing power networks | |
Billard et al. | Effects of delayed communication in dynamic group formation | |
Shen et al. | Area of simulation: Mechanism and architecture for multi-avatar virtual environments | |
Miralles et al. | Multi-Agent System adaptation in a Peer-to-Peer scenario | |
Beauprez et al. | A multi-agent negotiation strategy for reducing the flowtime | |
CN116764235A (zh) | 数据处理方法及相关装置 | |
Rokicki et al. | Just in time: Controlling temporal performance in crowdsourcing competitions | |
CN111324444B (zh) | 一种云计算任务调度方法及装置 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
Cui et al. | Bsela: A blockchain simulator with event-layered architecture |
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 |