CN111770022B - 基于链路监控的扩容方法、系统、设备及计算机存储介质 - Google Patents
基于链路监控的扩容方法、系统、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111770022B CN111770022B CN202010597674.XA CN202010597674A CN111770022B CN 111770022 B CN111770022 B CN 111770022B CN 202010597674 A CN202010597674 A CN 202010597674A CN 111770022 B CN111770022 B CN 111770022B
- Authority
- CN
- China
- Prior art keywords
- link
- abnormal
- link information
- server
- capacity expansion
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种基于链路监控的扩容方法,包括:与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构并将所述转换后的链路信息存储在预设存储区域中;周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理。本发明解决了整体链路所容易出现的流量激增引起的拥塞,减少了定位故障的时间成本且较于人工排查具有更高的速度层级。
Description
技术领域
本发明实施例涉及链路监控领域,尤其涉及一种基于链路监控的扩容方法、系统、设备及计算机可读存储介质。
背景技术
随着科技的进步速度越来越快,互联网的发展越来越迅猛,人们的生活已经逐渐与互联网相融,因而,部分例如平安金融等具有大量用户的应用软件,为支撑大量的用户进行在线阅览和功能使用,需要在各地部署服务器,一旦故障发生,牵连的机器可能是跨区域的,数万用户受到直接影响,传统方式人工跟踪排查,时效性第,问题持续蔓延,损失金额不可胜数。比如,前段时间,某银行推出一项限时银行存款奖励的活动,一时间用户在线人数和点击量激增,瞬间破万甚至百万的用户直接让该银行的服务器瘫痪,由于无法立刻知道服务器是从哪个节点开始瘫痪,盲目增加机器,扩容服务,把许多依然低流量的服务也一并扩容,不能很好地把其用在刀刃上,最后导致雪崩式的连锁瘫痪。
如何预防流量爆发,最及时地发现服务器链路节点问题是当下一个继续解决的问题。
发明内容
有鉴于此,本发明实施例的目的是提供一种基于链路监控的扩容方法、系统、计算机设备及计算机可读存储介质,解决现有技术中流量激增出现的拥塞和人工排查需时过长的技术问题。
为实现上述目的,本发明实施例提供了一种基于链路监控的扩容方法,所述方法执行于服务器端,所述方法包括以下步骤:
与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;
获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理。
优选的,所述周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理的步骤包括:
周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息;
根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流。
优选的,所述周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息的步骤为:
周期性调取所述预设存储区域中所存储的链路信息;
将所述链路信息输入至预置的卷积神经网络中分析,得到分析结果,所述卷积神经网络预先存储于区块链中;
若所述分析结果包含异常链路,获取所述异常链路所对应的链路信息。
优选的,所述卷积神经网络中卷积层与池化层的比例为4:1。
优选的,所述根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流的步骤包括:
抓取所述异常链路所对应的链路名称字段;
根据所述链路名称字段遍历预置的备用服务器登记表,查询匹配项所登记的上下游链路中是否存在所述备用服务器;
若存在,提取所述备用服务器名称以及指向路径;
根据预置的服务分流协议,将协议中所定义的需分流的服务名称与所述备用服务器名称一并封装,生成所述激活指令,沿所述指向路径发送至所述备用服务器;
所述备用服务器接收到所述激活指令后对其自身进行激活,并根据所述指令中的需分流服务名称,对所述异常链路中的相同名称服务进行分流承载。
本发明还提供一种基于链路监控的扩容方法,所述方法执行于客户端,所述方法包括:
拦截所述客户端所处节点的上游节点所发送的原始请求,根据所述原始请求信息生成请求订单;
根据所述客户端所处节点的链路信息,生成唯一标识符;
将所述唯一标识符与所述请求订单一并封装,生成索引订单。
优选的,所述将所述唯一标识符与所述请求订单一并封装,生成索引订单的步骤之后,还包括:
对所述索引订单进行数据序列化,向所述索引订单数据包头处添加预置字段,所述预置字段用于所述服务器端的数据合法校验。
本发明提供一种链路扩容系统,包括:
通信模块,用于与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;
获取模块,用于获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
转换模块,用于采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
扩容模块,用于周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理。
本发明还提供一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的基于链路监控的扩容方法的步骤。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的基于链路监控的扩容方法的步骤。
本发明所提供的基于链路监控的扩容方法、系统、计算机设备以及计算机可读存储介质,通过对整体链路中的各条链路中的各个节点借由安装客户端采集包含链路信息的索引订单,上传至服务器端,再经过一系列组件中的数据处理后,经由服务器端进行所有链路的逐条分析,对分析结果为异常的链路,借由其关联的索引订单中的链路信息,查找其上下游是否存在预置的备用服务器,对备用服务器发送激活指令使其承载异常链路的部分服务,终而异常链路变得不再拥塞进而恢复正常,自动解决了整体链路所容易出现的流量激增引起的拥塞,减少了定位故障和解决故障的时间成本且较于人工排查具有更高的速度层级。
附图说明
图1为本发明实施例一基于链路监控的扩容方法执行于服务器端的流程示意图;
图2为本发明基于链路监控的扩容方法中步骤400的另一实施方式的流程示意图;
图3为本发明基于链路监控的扩容方法中步骤410的另一实施方式的流程示意图;
图4为本发明基于链路监控的扩容方法中步骤420的另一实施方式的流程示意图;
图5为本发明基于链路监控的扩容方法中执行于客户端的流程示意图;
图6为本发明链路扩容系统实施例二的程序模块示意图;
图7为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1,示出了本发明实施例一之基于链路监控的扩容方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。本发明提供一种基于链路监控的扩容方法,所述方法执行于服务器端,所述方法如下:
步骤S100与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点。
具体的,一款计算机软件产品在实现其功能、交互或整体服务时,整个环节中会包含多条链路,其中链路中的各个节点即对应着各个装载了客户端的设备。而探针通常作为一段代码或者附加内容嵌入于应用软件安装包中,客户端节点对软件安装包安装成功后,该节点即完成了探针的嵌入。当客户端节点具有业务服务动作时,探针即可实时产生链路信息,通常探针作为一个进程下的一个线程运行,与服务器端进行通信,并上传所产生的链路信息。另外各节点之间不仅与服务端产生交互,还可以根据所设定的业务需求的上下游关系进行交互。
示例性的,平安银行某客户持有手机设备也就是节点A,此时该客户联系到平安银行员工小王,小王持有台式电脑也就是节点B,客户想申请贷款,通过手机设备节点A将申请订单发送至小王的台式电脑节点B中,小王在将客户申请订单通过台式电脑节点B发送至集团中心的服务器集群中(即服务端),这就是一条完整的链路,在该链路中,节点B不仅和处在下游的集团中心服务器集群进行交互,也与客户的手机设备节点A进行交互。
探针自身包括拦截器,过滤器以及监听器,而针对请求信号道以及响应信号道,拦截器和过滤器分别有两种,其具体用例如下:
(1)请求信号道拦截器拦截调用链路上游的原始请求;
(2)请求信号道过滤器需要识别出这个请求是属于什么类型的,包括http请求,RPC请求等等,再针对不同的请求做出相应的反映,组装链路索引结构;
(3)请求信号道监听器将会分裂出新的线程用来监听,只要在被请求者一方的服务处理中,发生了异常行为,抛出异常的动作时会被监听,做出反应;
(4)响应信号道拦截器将会拦截链路下游的原始响应;
(5)响应信号道过滤器接收到响应后,会找出请求发出时候到链路结构,并且把请求索引结构和响应结构进行组合,最后发送至全链路中的服务器前端。
在系统运行初期,服务器端与各条链路中所处于各个节点的客户端建立通信连接,进而与埋于各客户端内的探针建立通信,实时接收探针所上传的链路信息。
步骤200获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
具体的,所述探针会自发的上传索引订单至服务器端,具体的,服务器端可以是一台服务器,也可以是多台服务器所组成的服务器集群,为方便阐述,本发明将服务器端以多台服务器所组成的服务器集群进行阐述,并不对此进行限定。服务器端包括一台或多台作为服务器前端的服务器、用于数据暂存的消息中间件服务器、作为服务器队列的服务器、用于存储数据的存储服务器以及用于分析和预警的预警服务器,服务器前端会对索引订单中的链路信息进行采集,由于吞吐量较大,服务器前端会先将链路信息发送到消息中间件中,由于后续的服务器队列主动对消息中间件中拉取相应的链路信息,组装成不同存储系统所需要的数据结构。由于服务器前端配置为现有技术,本发明在此不再赘述。
另外,为便于更好的理解本发明所提供的实施例,在此对本发明结合上文进行一个前置性的概述总结如下:
将一款应用程序作为一个例子,经过广告推广它将会在很多设备上进行装载,如同上文所述,每个装载该应用程序的设备都将作为一个节点,装载应用程序的设备通过应用程序与服务端进行通信,这里所讲的服务端是上文中的服务器前端,消息中间件以及下文中的存储服务器、服务器队列机以及预警服务器的总称,它的功能是由节点设备所安装的探针所发送的系统链路信息(即上文所讲的索引订单),通过同一个标签的不同系统信息(由于一条链路中不同节点设备所装载的系统有可能不同),串联成一跳完整的集群链路信息进行存储和分析,进而得知哪条链路已处于或可能处于异常状态。
其次,优选的消息中间件为kafak组件。
步骤300采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
具体的,在执行本步骤的启动阶段,首先启动一个公用的线程池,根据不同的消息中间件,适配出不同的拉取数据的线程,并导入到公共的线程池中执行,由于消息中间件出于节约空间的考虑,本提案优选设计消息中间件传输链路信息至服务器队列采用二进制码进行高速传输。
服务器队列机在接收到所述二进制码的链路信息,将二进制流数据转成json结构,发送给存储服务器进行存储,其中,为便于理解,本实施例将预设存储区域以存储服务器进行替换描述,并不对此进行限定。
步骤400周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理。
具体的,接续上述示例,预警服务器承载着链路分析职能以及预警职能,其中,链路分析智能为对存储服务器所存储的链路信息进行分析,分析结果分为两种,一为发现异常链路,二为未发现异常链路。
预警服务器预先放置有卷积神经网络结构,技术人员预先对该模型输入大量的异常链路表现数据样本,经过大量训练得到异常链路模型,预警服务器将从存储服务器拉取得到的链路信息输入至卷积神经网络结构中进行分析,经过卷积层,池化层,以及重塑层的处理,最终经由全连接层所设置的损失函数输出最终的拟合结果,若拟合结果小于预置的阈值,则判定所述源输入的链路信息为异常链路,则对所述异常链路中所承载的服务进行扩容处理,并沿预置的传输路径向网关人员发送预警消息。
本发明所提供的基于链路监控的扩容方法,通过对整体链路中的各条链路中的各个节点借由客户端安装埋入探针,由探针上传包含链路信息的索引订单,上传至服务器端,再经过一系列组件中的数据处理后,经由服务器端预警进行所有链路的逐条分析,对分析结果为异常的链路,借由其关联的索引订单中的链路信息,查找其上下游是否存在预置的备用服务器,对备用服务器发送激活指令使其承载异常链路的部分服务,终而异常链路变得不再拥塞进而恢复正常,自动解决了整体链路所容易出现的流量激增引起的拥塞,减少了定位故障和解决故障的时间成本且较于人工排查具有更高的速度层级。
可选的,请参考图2,步骤400还包括:
步骤410周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息;
具体的,服务器端的预警服务器会周期性的调取存储服务器中的链路信息进行分析,本发明实施例优选的周期为0.2秒处理一条链路信息的分析,其中分析依赖与预警服务器中预置的卷积神经网络结果对每条输入的链路信息进行分析,得到分析结果,若分析结果为输入链路为异常链路,则获取存储服务器中异常链路所对应的链路信息。
步骤420根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流。
获取所述异常链路所关联的链路信息,根据链路信息获取其链路具体位置所相邻的上下游结构中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令,并使所述备用服务器激活对所述异常链路中所承载的服务进行扩容,进而应对突然出现的流量激增情况,增加了整体服务的稳定性。
示例性的,例如,在激活指令中同时添加对具体哪项服务的承载,进而使所述备用服务器在激活后根据所述激活指令中的目标承载服务的名称字段对异常链路中所承载的服务进行挑选加载和运行,而该步骤的前置方案只需在预警服务器中设置服务承载规则的协议,而无需在各备用服务器中植入具体承载哪项服务的协议。
可选的,请参考图3,步骤410还包括:
步骤411周期性调取所述预设存储区域中所存储的链路信息;
步骤412将所述链路信息输入至预置的卷积神经网络中分析,得到分析结果,所述卷积神经网络预先存储于区块链中;
步骤413若所述分析结果包含异常链路,获取所述异常链路所对应的链路信息。
具体的,可将所述链路信息进行封装,得到封装后的链路信息,并将封装后的链路输入至存储于区块链中的卷积神经网络,当然,所述卷积神经网络包括但不限于存储于区块链中,也可以存储于分布式服务器或本地服务器中,本发明在此不做限定,基于封装后链路信息得到对应的摘要信息,具体来说,摘要信息由封装后的链路信息进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至存储于区块链中的卷积神经网络可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证封装后的链路信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
可选的,所述卷积神经网络中卷积层与池化层的比例为4:1。
具体的,本发明针对存储于预警服务器的卷积神经网络的设计为,卷积层与池化层的比例为4:1,由于链路信息所涉及的要素例如传输数据大小,请求频率度等,在流量激增的情况下,其历史曲线的流量激增区间特征较为明显,因而可以添加更多的卷积层使其整体计算速度得到提升,且不会影响分析精度。
可选的,请参考图4,步骤420所述根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流的步骤包括:
步骤421抓取所述异常链路所对应的链路名称字段;
具体的,在得到分析结果为异常链路后,预警服务器抓取异常链路的链路名称字段,例如异常链路trace-01,那么01就是异常链路的名称字段,利用该名称字段进而查找该链路上下游链路的节点是否存在备用服务器。
步骤422根据所述链路名称字段遍历预置的备用服务器登记表,查询匹配项所登记的上下游链路中是否存在所述备用服务器;
具体的,预警服务器中存储有整体链路中所有链路节点的备用服务器的具体位置登记表,示例性的如下表:
若针对链路B的分析结果为异常链路,则遍历该表,查找链路B对应项的上下游链路是否登记有备用服务器,查找结果为存在备用服务器。
步骤423若存在,提取所述备用服务器名称以及指向路径;
接续上述示例,在查找结果为存在备用服务器后,提取备用服务器名称和指向路径,指向路径即为备用服务器在链路中的具体位置,能为链路B提供支持的备用服务器指向路径为W-02节点,名称字段为server03。
步骤424根据预置的服务分流协议,将协议中所定义的需分流的服务名称与所述备用服务器名称一并封装,生成所述激活指令,沿所述指向路径发送至所述备用服务器,所述备用服务器接收到所述激活指令后对其自身进行激活,并根据所述指令中的需分流服务名称,对所述异常链路中的相同名称服务进行分流承载。
具体的,预警服务器中还预置有服务分流协议,由于备用服务器并不知晓具体应该分流异常链路中哪些服务的承载,因此,在预警服务器在发送备用服务器的激活指令同时,根据服务分流协议,将需分流的服务名称封装至激活指令,以使备用服务器在接收到激活指令后不仅能够对其自身进行激活,还能根据所述指令中的需分流服务名称,对所述异常链路中的相同名称服务进行分流承载。本发明优选的服务分流协议为基于时间进行定义,示例性的如下表
时间 | 分流服务名称1 | 分流服务名称2 |
7:00-9:00 | 抽奖 | none |
11:00-12:00 | 贷款申请 | 投诉处理 |
如上表为一示例性的服务分流协议配置,例如,平安银行即将推出一抽奖活动于明天7:00-9:00,因而,明天7:00-9:00势必会产生流量激增情况,而产生拥塞的服务势必也是该抽奖功能实现所对应的服务,因此,预警服务器抽取当前时间,根据当前时间获得需要分流服务名称字段,将其封装至备用服务器的激活指令中。
请参考图5,本发明实施例还提供一种基于链路监控的扩容方法,所述方法执行于客户端,所述方法包括:
步骤500拦截所述客户端所处节点的上游节点所发送的原始请求,根据所述原始请求信息生成请求订单;
步骤510根据所述客户端所处节点的链路信息,生成唯一标识符;
步骤520将所述唯一标识符与所述请求订单一并封装,生成索引订单。
具体的,对埋置于客户端中的探针内部整体工作流程进行阐述:
首先,探针内部的信号道拦截器会拦截上游服务的原始请求并生成一张请求订单,并把这张订单发送至探针内部的信号道过滤器。过滤器接收到订单后,会生成一个分布式的Trace-id,即唯一标识符,该标识符保证该索引订单在整体链路中的唯一性,然后把请求订单,下游服务信息和索引结构以及唯一标识符封装在一起,生成一张索引订单。索引订单需要提交至整体链路中服务器集群中的服务器前端,其中索引订单包含了当前整条链路的所有信息,当探针拦截到上游请求的那一刻起,索引订单就开始组装了,在拦截请求的时候,索引订单中调价上游请求的内容信息,然后生成全局的唯一标识符,该标识符和以后在查询索引的时候的标识符是同样的,一般情况下,需要对该链路进行查询的人员,如程序开发者,业务测试者和运维人员可以选择性地保存响应的Trace-id,以便以后使用,然后还会启动监听器,在索引订单上加上下游系统运行的情况,最后,当下游系统运行完毕,索引订单还会添加下游系统响应的具体数据,因此,索引订单的具体内容包括请求头信息,返回的状态码,全局唯一标识符,下游系统的行为是否异常,传输数据大小,请求频率度等,在此不做限定。
可选的,步骤520之后还包括:
步骤210对所述索引订单进行数据序列化,向所述索引订单数据包头处添加预置字段,所述预置字段用于所述服务器端的数据合法校验。
具体的,当探针发送索引订单给服务器前端时,本发明设计为首先判断索引订单数据是否合法,判断的前提是,在探针序列化索引订单数据的时候,会在标志位添加6位二进制数,服务器前端接收所述索引订单,判断这6个标志位是否符合要求,若符合要求则进行下一步的解压缩,解码等流程,得到的是索引订单中示例化的链路信息,再加入回调函数,下一步经由预置的采样率将链路信息发送至消息中间件,最后执行回调函数,在链路收集的过程当中,有可能将发生线程过多的情况,为了防止死锁的发生,本发明优选设计每个采样线程最多只能执行五分钟。
实施例二
参阅图6,示出了本发明链路扩容系统实施例二的程序模块示意图。在本实施例中,链路扩容系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于链路监控的扩容方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述链路扩容系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
通信模块200,用于与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;
获取模块210,用于获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
转换模块220,用于采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
扩容模块230,用于周期性调取和分析所述预设存储区域中的链路信息,以确定所述多个链路是否包括异常链路,若所述多个链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理。
在示例性的实施例中,所述扩容模块230还进一步用于周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息;
根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流。
在示例性的实施例中,所述扩容模块230还进一步用于:
周期性调取所述预设存储区域中所存储的链路信息;
将所述链路信息输入至预置的卷积神经网络中分析,得到分析结果,所述卷积神经网络预先存储于区块链中;
若所述分析结果包含异常链路,获取所述异常链路所对应的链路信息。
在示例性的实施例中,所述扩容模块230中所预置的卷积神经网络中卷积层与池化层的比例为4:1。
在示例性的实施例中,所述扩容模块230还进一步用于抓取所述异常链路所对应的链路名称字段;
根据所述链路名称字段遍历预置的备用服务器登记表,查询匹配项所登记的上下游链路中是否存在所述备用服务器;
若存在,提取所述备用服务器名称以及指向路径;
根据预置的服务分流协议,将协议中所定义的需分流的服务名称与所述备用服务器名称一并封装,生成所述激活指令,沿所述指向路径发送至所述备用服务器;
所述备用服务器接收到所述激活指令后对其自身进行激活,并根据所述指令中的需分流服务名称,对所述异常链路中的相同名称服务进行分流承载。
实施例三
参阅图7,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是个人计算机、平板计算机、移动电话等,也可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等用于提供虚拟客户端的云设备。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及链路扩容系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例一的基于链路监控的扩容的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如链路扩容系统20,以实现实施例一的基于链路监控的扩容方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的链路扩容系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于链路扩容系统20,被处理器执行时实现实施例一的基于链路监控的扩容方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于链路监控的扩容方法,其特征在于,所述方法执行于服务器端,所述方法包括:
与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;
获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
周期性调取和分析所述预设存储区域中的链路信息,以确定所述多条链路是否包括异常链路,若所述多条链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理;
其中,对所述异常链路中承载的服务进行扩容处理的步骤包括:
获取所述异常链路关联的索引订单中的链路信息,查找其上下游是否存在预置的备用服务器,对备用服务器发送激活指令使其承载异常链路的部分服务,所述激活指令包含需分流的服务名称与所述备用服务器的名称。
2.根据权利要求1所述的扩容方法,其特征在于,所述周期性调取和分析所述预设存储区域中的链路信息,以确定所述多条链路是否包括异常链路,若所述多条链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理的步骤包括:
周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息;
根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流。
3.根据权利要求2所述的扩容方法,其特征在于,所述周期性调取和分析所述预设存储区域中的链路信息,若分析结果包含异常链路,获取所述异常链路所对应的链路信息的步骤为:
周期性调取所述预设存储区域中所存储的链路信息;
将所述链路信息输入至预置的卷积神经网络中分析,得到分析结果,所述卷积神经网络预先存储于区块链中;
若所述分析结果包含异常链路,获取所述异常链路所对应的链路信息。
4.根据权利要求3所述的扩容方法,其特征在于,所述卷积神经网络中卷积层与池化层的比例为4:1。
5.根据权利要求4所述的扩容方法,其特征在于,所述根据所述异常链路所对应的链路信息,查找所述异常链路所相邻的上下游链路中是否包含备用服务器,若包含,则向所述备用服务器发送激活指令进而完成扩容处理,所述备用服务器接收到所述激活指令后对其自身进行激活,并对所述异常链路所承载的服务进行分流的步骤包括:
抓取所述异常链路所对应的链路名称字段;
根据所述链路名称字段遍历预置的备用服务器登记表,查询匹配项所登记的上下游链路中是否存在所述备用服务器;
若存在,提取所述备用服务器名称以及指向路径;
根据预置的服务分流协议,将协议中所定义的需分流的服务名称与所述备用服务器名称一并封装,生成所述激活指令,沿所述指向路径发送至所述备用服务器;
所述备用服务器接收到所述激活指令后对其自身进行激活,并根据所述指令中的需分流服务名称,对所述异常链路中的相同名称服务进行分流承载。
6.一种基于链路监控的扩容方法,其特征在于,所述方法执行于客户端,所述方法包括:
拦截所述客户端所处节点的上游节点所发送的原始请求,根据所述原始请求信息生成请求订单;
根据所述客户端所处节点的链路信息,生成唯一标识符;
监听上下游系统行为是否异常,根据监听结果生成上下游系统运行情况;
将所述唯一标识符与所述请求订单、上下游系统运行情况一并封装,生成索引订单;
将所述索引订单上传至服务器端,以使:所述服务器端采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;所述服务器端周期性调取和分析所述预设存储区域中的链路信息,以确定所述链路是否是异常链路,若所述链路是异常链路,对所述异常链路中所承载的服务进行扩容处理;
其中,对所述异常链路中承载的服务进行扩容处理的步骤包括:
所述服务器端获取所述异常链路关联的索引订单中的链路信息,查找其上下游是否存在预置的备用服务器,对备用服务器发送激活指令使其承载异常链路的部分服务,所述激活指令包含需分流的服务名称与所述备用服务器的名称。
7.根据权利要求6所述的扩容方法,其特征在于,所述将所述唯一标识符与所述请求订单一并封装,生成索引订单的步骤之后,还包括:
对所述索引订单进行数据序列化,向所述索引订单数据包头处添加预置字段,所述预置字段用于所述服务器端的数据合法校验。
8.一种链路扩容系统,其特征在于,包括:
通信模块,用于与多条链路关联的多个客户端建立通信连接,每个客户端关联于相应链路中的一个节点;
获取模块,用于获取所述客户端上传的索引订单,所述索引订单包含所述客户端所处节点的链路信息;
转换模块,用于采集所述客户端所上传索引订单中的链路信息,将所述链路信息转换成预置的数据交换结构,以得到转换后的链路信息,并将所述转换后的链路信息存储在预设存储区域中;
扩容模块,用于周期性调取和分析所述预设存储区域中的链路信息,以确定所述多条链路是否包括异常链路,若所述多条链路包括异常链路,对所述异常链路中所承载的服务进行扩容处理;
所述扩容模块还用于:获取所述异常链路关联的索引订单中的链路信息,查找其上下游是否存在预置的备用服务器,对备用服务器发送激活指令使其承载异常链路的部分服务,所述激活指令包含需分流的服务名称与所述备用服务器的名称。
9.一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于链路监控的扩容方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至7中任一项所述的基于链路监控的扩容方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010597674.XA CN111770022B (zh) | 2020-06-28 | 2020-06-28 | 基于链路监控的扩容方法、系统、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010597674.XA CN111770022B (zh) | 2020-06-28 | 2020-06-28 | 基于链路监控的扩容方法、系统、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111770022A CN111770022A (zh) | 2020-10-13 |
CN111770022B true CN111770022B (zh) | 2023-04-25 |
Family
ID=72722139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010597674.XA Active CN111770022B (zh) | 2020-06-28 | 2020-06-28 | 基于链路监控的扩容方法、系统、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111770022B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346872B (zh) * | 2020-11-24 | 2023-09-26 | 中国工商银行股份有限公司 | 基于服务调用链路的云计算扩容方法及装置 |
CN113537960A (zh) * | 2021-07-19 | 2021-10-22 | 中国工商银行股份有限公司 | 一种异常资源转移链路的确定方法、装置和设备 |
CN115543941B (zh) * | 2022-12-01 | 2023-02-17 | 成都实时技术股份有限公司 | 一种数据存储优化处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155648A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种北向通知管理接口装置及其管理方法 |
CN105933149A (zh) * | 2016-04-19 | 2016-09-07 | 广东睿江云计算股份有限公司 | 一种电路链路质量监控的方法及装置 |
WO2019196825A1 (zh) * | 2018-04-13 | 2019-10-17 | 贵州白山云科技股份有限公司 | 基于区块链网络的资源获取方法和系统及存储介质和计算机设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11169592B2 (en) * | 2016-10-10 | 2021-11-09 | International Business Machines Corporation | SLA-based backup power management during utility power interruption in disaggregated datacenters |
CN108183927A (zh) * | 2017-11-22 | 2018-06-19 | 链家网(北京)科技有限公司 | 一种分布式系统中链路调用的监控方法及系统 |
CN110740155B (zh) * | 2018-07-18 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 分布式系统中的请求处理方法及装置 |
CN110928934A (zh) * | 2018-09-19 | 2020-03-27 | 北京京东尚科信息技术有限公司 | 一种用于业务分析的数据处理方法和装置 |
CN109873717A (zh) * | 2019-01-18 | 2019-06-11 | 深圳壹账通智能科技有限公司 | 监控方法、装置、计算机设备及存储介质 |
CN111143160B (zh) * | 2019-12-06 | 2022-09-09 | 江苏苏宁物流有限公司 | 一种系统全链路监控方法及装置 |
-
2020
- 2020-06-28 CN CN202010597674.XA patent/CN111770022B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012155648A1 (zh) * | 2011-05-13 | 2012-11-22 | 中兴通讯股份有限公司 | 一种北向通知管理接口装置及其管理方法 |
CN105933149A (zh) * | 2016-04-19 | 2016-09-07 | 广东睿江云计算股份有限公司 | 一种电路链路质量监控的方法及装置 |
WO2019196825A1 (zh) * | 2018-04-13 | 2019-10-17 | 贵州白山云科技股份有限公司 | 基于区块链网络的资源获取方法和系统及存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111770022A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111770022B (zh) | 基于链路监控的扩容方法、系统、设备及计算机存储介质 | |
US11201929B2 (en) | On-line browsing preference management | |
CN108965381A (zh) | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 | |
CN110046073B (zh) | 一种日志采集方法及装置、设备、存储介质 | |
CN111459986B (zh) | 数据计算系统及方法 | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN104917643A (zh) | 异常账号检测方法及装置 | |
CN108900374B (zh) | 一种应用于dpi设备的数据处理方法和装置 | |
CN110083391A (zh) | 调用请求监控方法、装置、设备及存储介质 | |
CN113157545A (zh) | 业务日志的处理方法、装置、设备及存储介质 | |
CN111740868B (zh) | 告警数据的处理方法和装置及存储介质 | |
US20200042424A1 (en) | Method, apparatus and system for processing log data | |
CN108540505B (zh) | 一种内容更新方法及装置 | |
CN113676563B (zh) | 内容分发网络服务的调度方法、装置、设备及存储介质 | |
CN110928934A (zh) | 一种用于业务分析的数据处理方法和装置 | |
CN102903043A (zh) | 支付服务器和支付通道获取方法 | |
CN112600952A (zh) | 一种移动端网络加速分流方法和系统 | |
CN103944779B (zh) | 一种wap业务性能监测方法及系统 | |
CN115883330B (zh) | 告警事件处理方法、系统、设备及存储介质 | |
CN112491650A (zh) | 动态分析服务之间调用环路情况的方法及相关设备 | |
CN113778709B (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN115333966A (zh) | 一种基于拓扑的Nginx日志分析方法、系统及设备 | |
CN116975102A (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 |