基于一体化水电管控平台的ARV负载均衡系统及方法技术方案

技术编号:18137762 阅读:32 留言:0更新日期:2018-06-06 11:24
本发明专利技术公开了一种基于一体化水电管控平台的ARV负载均衡系统及方法,在客户端和服务端分别构建统一入口代理模块,客户端通过统一的代理模块访问服务,服务端代理模块统一接收所有客户端的请求,在服务端代理模块构建拦截器,通过对服务调用返回结果进行拦截,拦截器根据接口规范定义快速预估此次服务响应所需资源,保存于负载统计表中,服务端代理模块查询负载统计表,按照最小负载最短响应时间原则进行服务器切换,确保客户端的请求得到安全响应。本发明专利技术通过独立的拦截器对数据访问总线进行拦截,可以异步统计各接口实现的资源和性能状况,在不影响系统运行的情况下,真实的得出资源损耗情况,提高了真实负载统计的准确率。

【技术实现步骤摘要】
基于一体化水电管控平台的ARV负载均衡系统及方法
本专利技术涉及一种基于一体化水电管控平台的ARV负载均衡系统及方法,属于水电智能管控

技术介绍
目前研发的大规模分布式访问软件系统很多,随着目前电力行业智能化的要求越来越高,系统进行大规模并行访问的存取和维护变得越来越频繁,系统整体性能面临越来越大的挑战。工程现场常有客户端请求和计算卡顿现象,纠其原因,基本都是由于服务端需要超负荷进行大量的服务响应而造成服务器资源紧张,导致性能下降。目前迫切需要建立一套负载均衡机制,用于服务请求的负载分流,以提升系统的整体运行效率,加快服务响应速度。传统的负载均衡方法有的算法将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,忽视了服务器之间的差异性;有的算法按照连接数或者机器资源统计进行分配,直到机器遇到卡顿或者临界状况才会切换服务对象,然而不幸的是目前很多系统基于虚拟机进行构建,系统资源消耗信息本就不易准确获取,反而容易造成错误的资源消耗判断。更为要紧的是由于水电厂监控行业对于数据处理的实时性要求,根据负载的实时情况进行判断进行切换不能很好满足系统中存在的实时请求处理滞后问题。代理拦截是基于高级语言元数据反射机制的一种设计模式,它在调用功能函数的外层设立一个接口,接口定义与功能函数一致,在接口实现时进行函数调用预处理和功能函数调用。这一模式通常用来在实现功能的同时对功能函数的上下文环境进行管理。由于接口与功能函数的一致性,这一代理接口对于客户端来说与直接调用功能函数相比并不会感觉到差异性,因此这一机制对于客户端来说是透明的。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的缺陷,提供一种基于一体化水电管控平台的ARV负载均衡系统及方法,通过代理拦截对数据访问总线进行拦截,可以异步统计各接口实现的资源和性能状况,在不影响系统运行的情况下,真实的得出资源损耗情况,提高真实负载统计的准确率。为解决上述技术问题,本专利技术提供一种基于一体化水电管控平台的ARV负载均衡系统,所述系统分为客户端和服务端;所述客户端包括各类在线工作站应用客户端、实时计算应用客户端、报警应用客户端、移动应用客户端以及第三方应用客户端;所述服务端包括各专业服务器,各专业服务器通过业务接口统一向外发布;在客户端和服务端分别构建统一入口代理模块,客户端通过统一的代理模块访问服务;服务端代理模块统一接收所有客户端的请求,在服务端代理模块构建一个拦截器,通过对服务调用返回结果进行拦截,拦截器分析服务调用接口,根据接口规范定义快速预估此次服务响应所需资源,所有计算结果均被置于拦截器的负载统计表中,服务端代理模块查询负载统计表,按照最小负载最短响应时间响应的服务器进行处理的原则进行服务器切换,将客户端的访问请求加入选定的服务器的请求队列中,并标记其请求处理ID;服务器执行完成任务后,将其处理时间,返回实际数据总量等记录下来,通过ID找到预估资源消耗进行对比。前述的各专业服务器被划分为不同的业务功能模块,业务功能模块横向又被划分成各自的数据访问层和业务逻辑层;所述数据访问层负责从数据库中提取原始采集或整编数据,业务逻辑层负责将数据访问层获取的基础数据根据业务需求组织包装成业务数据模型;业务数据模型直接被序列化为二进制数据传送到同构客户端。前述的在客户端和服务端的代理模块上基于高级语言的反射机制构建代理切面,其中,客户端代理切面分别在提交申请和获得服务结果两个环节建立时标来计算服务响应时间;服务端代理切面用来统计服务队列等待资源数以及当前执行任务的消耗资源数。前述的服务端代理模块中的拦截器通过解析服务调用接口的访问请求,分析固定的参数,包括请求数据类型,时间范围,数据特征以及滑动时长,预估出此次服务响应所需资源。基于一体化水电管控平台的ARV负载均衡系统的ARV负载均衡方法,包括以下步骤:1)首先定义每个服务节点的业务负载权重向量V(i)={type(i)},单位时间频率向量H(i)={cnt(i)},处理数据容量向量D(i)={data(i)},另外构建参考向量R(i)={Res(i)};其中,i表示第i个服务节点;2)在服务节点上建立loadht表和loaddt表分别代表单位时间内业务调用频率以及涉及的数据量;建立请求队列统计表reqt,统计的信息包含请求类型、预计等待时间,定义负载量阈值L0;3)从所有服务节点中选择没有超过负载量阈值的服务节点集合Nl∈{Ni|Ni∈N且Li<L0},其中,Ni表示第i个服务节点,Li表示第i个服务节点的负载量,N表示所有的服务节点;如果Nl的集合为空,则停止请求处理,将请求置于处理机请求等待队列中,否则进入步骤4);4)对Nl中的所有服务节点,对负载量向量进行模运算,根据负载策略选择模长最小的m个服务节点集合Nm={Ni|Ni∈Nl且||Li||=min(||L1||,||L2||,…||Ln||)},然后进入步骤5),||Li||表示第i个服务节点的模,n为服务节点数;5)对于服务节点集合Nm,查询队列统计表reqt,计算总的等待时间,选择等待时间最短的t个服务节点集合Nt={Ni|Ni∈Nm且Ti=min(T1,T2,…Tm)},Ti表示第i个服务节点的等待时间;6)从Nt中随机选择一个服务节点Ni,如果该节点的等待队列为空,直接进行处理,算法结束;如果等待队列不为空,将请求置于等待队列中,更新loadht表和loaddt表。前述的当把一个请求执行完成后,服务端的拦截器针对各接口统计得到接口评估权重,在一个时间范围内得到各接口的评估权重向量Di,在一个时间段内得到一个侯选权重向量集D={D1,D2,…,Di,…,Dn},最近一次学习得到的权重系数为T={λ1',λ2',...,λk',...,λ'm},计算权重系数的相似度,当相似度超过某一个阀值时,需要重新对各接口进行权重更新,其中,n为总时间,m为接口数。前述的相似度的计算如下:其中,similarity(Di,T)为相似度,λk'为最近一次学习得到的第k接口的权重系数,为第i时间第k接口的资源权重系数。前述的权重更新,具体为:当所有时间的相似值similarity(Di,T)值相加小于某个阀值S的时候,系统判定需要对接口权重进行更新修改,将D的每一维的向量跟T中的每一维度进行相比运算,再将D中的所有的比值进行累加,达到最大的那一维是最需要进行权重更新的向量维Di,根据得到的接口偏移量,按照接口偏移量对该维进行修正,然后将修正后的权重向量更新至该台服务器的权重列表中。本专利技术的有益效果为:(1)通过独立的拦截器对数据访问总线进行拦截,可以异步统计各接口实现的资源和性能状况,在不影响系统运行的情况下,真实的得出资源损耗情况,提高了真实负载统计的准确率;(2)通过将请求队列中的资源预估置于负载均衡评估体系当中,可以把握未来一段时间的服务器资源使用情况,使负载均衡机制具备了预测性;(3)充分利用了接口服务的规范准则和系统结构特征,通过反射获取应用进程的资源信息,从进程这一粒度进行分析,极大地提高了信息数据提取的准确度,完全屏蔽了各服务器之间的物理性能差异;(4)完全采用自动的学习方法,解决了人工参与监督提取和更新的重复和单调本文档来自技高网...
基于一体化水电管控平台的ARV负载均衡系统及方法

【技术保护点】
基于一体化水电管控平台的ARV负载均衡系统,其特征在于,所述系统分为客户端和服务端;所述客户端包括各类在线工作站应用客户端、实时计算应用客户端、报警应用客户端、移动应用客户端以及第三方应用客户端;所述服务端包括各专业服务器,各专业服务器通过业务接口统一向外发布;在客户端和服务端分别构建统一入口代理模块,客户端通过统一的代理模块访问服务;服务端代理模块统一接收所有客户端的请求,在服务端代理模块构建一个拦截器,通过对服务调用返回结果进行拦截,拦截器分析服务调用接口,根据接口规范定义快速预估此次服务响应所需资源,所有计算结果均被置于拦截器的负载统计表中,服务端代理模块查询负载统计表,按照最小负载最短响应时间响应的服务器进行处理的原则进行服务器切换,将客户端的访问请求加入选定的服务器的请求队列中,并标记其请求处理ID;服务器执行完成任务后,将其处理时间,返回实际数据总量等记录下来,通过ID找到预估资源消耗进行对比。

【技术特征摘要】
1.基于一体化水电管控平台的ARV负载均衡系统,其特征在于,所述系统分为客户端和服务端;所述客户端包括各类在线工作站应用客户端、实时计算应用客户端、报警应用客户端、移动应用客户端以及第三方应用客户端;所述服务端包括各专业服务器,各专业服务器通过业务接口统一向外发布;在客户端和服务端分别构建统一入口代理模块,客户端通过统一的代理模块访问服务;服务端代理模块统一接收所有客户端的请求,在服务端代理模块构建一个拦截器,通过对服务调用返回结果进行拦截,拦截器分析服务调用接口,根据接口规范定义快速预估此次服务响应所需资源,所有计算结果均被置于拦截器的负载统计表中,服务端代理模块查询负载统计表,按照最小负载最短响应时间响应的服务器进行处理的原则进行服务器切换,将客户端的访问请求加入选定的服务器的请求队列中,并标记其请求处理ID;服务器执行完成任务后,将其处理时间,返回实际数据总量等记录下来,通过ID找到预估资源消耗进行对比。2.根据权利要求1所述的基于一体化水电管控平台的ARV负载均衡系统,其特征在于,所述各专业服务器被划分为不同的业务功能模块,业务功能模块横向又被划分成各自的数据访问层和业务逻辑层;所述数据访问层负责从数据库中提取原始采集或整编数据,业务逻辑层负责将数据访问层获取的基础数据根据业务需求组织包装成业务数据模型;业务数据模型直接被序列化为二进制数据传送到同构客户端。3.根据权利要求1所述的基于一体化水电管控平台的ARV负载均衡系统,其特征在于,在客户端和服务端的代理模块上基于高级语言的反射机制构建代理切面,其中,客户端代理切面分别在提交申请和获得服务结果两个环节建立时标来计算服务响应时间;服务端代理切面用来统计服务队列等待资源数以及当前执行任务的消耗资源数。4.根据权利要求1所述的基于一体化水电管控平台的ARV负载均衡系统,其特征在于,服务端代理模块中的拦截器通过解析服务调用接口的访问请求,分析固定的参数,包括请求数据类型,时间范围,数据特征以及滑动时长,预估出此次服务响应所需资源。5.基于权利要求1至4任意一项所述的基于一体化水电管控平台的ARV负载均衡系统的ARV负载均衡方法,其特征在于,包括以下步骤:1)首先定义每个服务节点的业务负载权重向量V(i)={type(i)},单位时间频率向量H(i)={cnt(i)},处理数据容量向量D(i)={data(i)},另外构建参考向量R(i)={Res(i)};其中,i表示第i个服务节点;2)在服务节点上建立loadht表和loaddt表分别代表单位时间内业务调用频率以及涉及的数据量;建立请求队列统计表reqt,统计的信息包含请求类型、预计等待时间,定义负载量阈值L0;3)从所有服务节点...

【专利技术属性】
技术研发人员:陈意花胜强蔡杰郑健兵吴宁丁琳向南李宁宁周锡琅
申请(专利权)人:南瑞集团有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1