基于路径与网络质量相结合的动态迁移算法
2017-07-31王子珍李晋军宋秋贵
王子珍, 李晋军, 宋秋贵, 陈 兵
(北方自动控制技术研究所, 山西 太原 030001)
基于路径与网络质量相结合的动态迁移算法
王子珍, 李晋军, 宋秋贵, 陈 兵
(北方自动控制技术研究所, 山西 太原 030001)
针对现有旅级指挥信息系统中存在服务器单点失效问题, 设计并实现了基于路径与网络质量相结合的服务动态迁移机制. 该机制基于分布式指挥系统, 是服务器集群技术的应用. 该算法有以下特点: 可以针对不同请求分析网络质量, 确定网络资源, 制定动态阀值, 形成节点候选方案; 引入时间距离, 并与负载组合, 选择最佳迁移路径; 取消前端服务器, 实现系统容错, 同时实现服务动态迁移. 经实验证明, 该算法与轮循算法相比, 性能提高49.65%, 一定程度上节约了时间成本. 该算法已应用到旅级指挥信息系统中.
服务迁移; 网络质量; 路径; 面向服务的体系结构(SOA)
0 引 言
外贸炮兵指挥信息系统经过十几年的发展, 技术已趋于成熟. 但随着信息装备的不断进步, 战场信息种类日益增加, 呈现出各军兵种信息系统发展不平衡的特点以及未来战场趋于多样化的态势. 目前军贸市场上营连级的指挥系统由于存在扩展性差、 灵活性低、 互通互操作能力弱的缺点而无法满足多兵种合成作战的需求, 已经不能适应国际市场的用户要求, 因此旅级合成指挥信息系统应运而生.
传统“烟囱式”的指挥信息系统, 采用集中式的系统结构, 主要以应用软件的形式提供指挥平台, 并不会出现服务器单点失效问题. 旅级指挥信息系统采用分布式体系结构, 基于面向服务的体系结构(Service Oriented Architecture, SOA), 利用WCF服务实现平台, 通过C/S模式为指挥人员提供指挥平台, 该系统能够很好地解决信息孤岛问题, 具有低耦合、 互通互操作能力强等特点[1], 但同时不可避免的会出现因服务器故障或网络堵塞而造成通信中断的问题, 因此建立一种端到端的服务迁移机制成为旅级指挥信息系统不可缺少的重要方面.
现有的热门服务迁移技术主要有移动agent技术和服务集群技术. 在移动agent技术中, agent能根据当前主机的状态, 自助选择下一个负载轻的主机移动, 并根据需要产生副本或子agent, 对数据资源进行“就近处理”, 但在指挥信息系统中, 若采用此方法会加剧其带宽不足的问题, 容易产生额外流量, 而且由于该技术的移动性, 会在一定程度上会降低指挥信息系统的稳定性, 进而降低其可靠性.
服务集群技术, 主要实现高可靠性技术中的容错[2], 采用冗余技术, 通过设置前端服务器, 将客户端请求分发给后端服务器, 在原服务器失效时, 前端服务器能够及时且主动地进行服务迁移, 并保证迁移过程中不会服务中断. 因此, 服务集群技术为指挥系统提供了新的通信保障.
本文从面向SOA的指挥信息系统入手, 利用服务集群技术, 将前端服务器功能归集到客户端中, 提出基于路径与网络质量相结合的动态迁移算法, 解决系统中由于服务器故障或网络堵塞等原因造成的通信中断, 同时满足用户的功能性需求和非功能性需求, 实现端到端的良好通信.
1 基于路径与网络质量相结合的动态迁移模型
1.1 SOA架构
基于路径与网络质量相结合的动态迁移模型是基于SOA的指挥信息系统软件架构的组成部分之一, 其中, SOA是本文中服务迁移模型结构的决定性因素.
SOA是面向服务的架构, 实质上是服务的集合. 该架构以服务和共享为核心, 基于开放的标准和协议, 具有松耦合、 支持系统整合和业务流程随需而变等特点, 为指挥信息系统的设计开发提供了新的理念和解决途径. 采用SOA架构能够很好地解决传统“烟囱式”结构的指挥信息系统的信息孤岛问题.
1.2 集群技术在指挥信息系统中的应用
集群技术是一种维护网络通信稳定性的方法, 其系统主要由前端服务器和后端服务器组成[3], 通过将用户的请求按照一定的资源分配策略定向到后端服务器中, 实现网络资源分发和网络通信容错.
将集群技术应用到指挥信息系统中, 并通过其物理节点的服务副本冗余存储, 可实现对故障节点的切换, 保证网络质量. 由指挥信息系统的特殊性决定, 需取消前端服务器, 并将前端服务器功能归集到客户端中, 避免因前端服务器故障而导致系统瘫痪, 实现系统容错, 同时实现服务动态迁移.
1.3 基于SOA的指挥信息系统软件体系结构的搭建
本节通过分析现有指挥信息系统体系框架, 结合SOA架构特点及集群技术要求, 搭建基于SOA的指挥信息系统软件体系结构, 并在此基础上设计实现服务动态迁移.
由图 1 所示, 基于SOA的指挥信息系统体系结构共分为3层, 基础资源层主要提供操作系统和数据库等; 服务层分为服务管理层和基础服务层, 通过对基础服务层中粒度较细的服务进行注册和发现, 实现指挥系统组合流程; 系统应用层主要是操作人员与系统的交互接口.
为防止因服务器单点失效, 指挥系统无法及时应对而出现通信中断, 系统服务质量降低的情况, 增加服务迁移模块, 实现保证网络质量和路径最优化的服务迁移机制, 解决了由于服务器故障或网络堵塞等导致的网络质量问题, 进一步满足用户需求、 改善系统性能.
1.4 服务动态迁移模型的搭建
本节基于SOA架构的指挥信息系统以及服务集群技术, 搭建服务动态迁移模型, 如图 2 所示.
图 2 服务动态迁移模型Fig.2 The model of dynamic migration for service
客户端由3部分组成, 由用户发出客户请求, 迁移管理器制定动态阀值, 分析网络质量, 形成初步候选节点方案; 状态监控器中的心跳监测负责与服务器周期性连接[4], 实时获取服务器负载状况, 并存入状态报告, 选取最小负载节点作为迁移目标.
服务器心跳监测模块获取负载信息, 并反馈客户端[5]. 各服务器部署相同服务副本, 并行完成客户端请求.
2 算法描述
2.1 问题描述
服务动态迁移从以下两方面考虑满足用户需求[6].
2.1.1 功能性需求
服务动态迁移需保证用户请求不因单点失效而中断, 因此通过对该请求所需资源的分析计算, 以及制定动态阀值, 形成适用于该请求的候选节点方案, 此方案中的任意节点均能完成客户请求.
2.1.2 非功能性需求
在完成客户请求的前提下, 服务动态迁移需进一步满足非功能性需求. 针对候选节点中的各服务器, 将负载值与时间距离合理重组, 选择最小负载真实状况值的节点作为下一目标服务器, 实现路径优化, 提高服务集群性能.
因此, 基于路径与网络质量相结合的服务动态迁移过程分为网络质量分析阶段和路径选择阶段.
2.2 网络质量分析
在基于集群技术的服务迁移模型中, 通过网络质量分析来确定所需下一目标服务器节点的资源, 确定本次请求的动态负载阀值, 以此为标准对服务器集群节点进行筛选, 为路径选择提供基本方案[7].
2.2.1 设定负载阈值
各请求对目标服务器负载要求不一致, 根据服务本身对负载计算中5个参数的不同要求, 制定动态阈值. 负载高于阈值的节点在本次服务迁移中不作为候选节点.
2.2.2 带宽计算
各请求对网络带宽占用的要求不同, 需对目标迁移节点筛选. 设服务访问数据流量为T-service-i, 传输网络带宽为T-net, 当前带宽利用率为α, 服务器集群中共m个节点,n个副本, 以时间为衡量标准, 确定可接受执行时间的最大值, 在满足负载标准的前提下再次筛选候选节点. 节点i中服务j的访问所需时间最大值为
i=1,2,…,m; α∈[0,1].
带宽占有率α的计算如式(2), 其中Ti为节点i的当前流量,
同时满足以上条件的节点, 作为服务迁移的候选节点, 下一步进行路径选择.
2.3 路径选择
在基于集群系统的服务迁移模型中, 路径选择方式有随机、 轮循和最小负载等[8]. 前两种是非自适应策略, 不考虑各物理节点的实际负载状况, 实现较为简单, 不够高效. 最小负载法基于各节点真实的负载状况做出动态选择, 但忽略了节点与客户端之间的时间距离因素, 容易加大网络带宽时延. 三种算法均不适用于指挥信息系统服务迁移模型, 因此本文通过引入时间距离, 实现负载与时间距离重组的路径选择机制来制定迁移路径.
2.3.1 负载计算
负载值由服务器心跳监测模块周期性信息查询并反馈给客户端[9]. 负载信息查询得到每个节点上的各项信息, 如: CPU利用率CPUi%、 当前用户连接数Ci、 响应时间RTi、 内存利用率MEMi%和当前流量Ti.
由于服务类型不同, 导致对各节点的负载影响会有差异[10]. 因此引入参数值λ以强调该服务对各部分的不同影响程度. 根据以上参数可得到该节点的负载值L(Si)
L(Si)=λ1×CPUi%+λ2×MEMi%+
λ3×Ci+λ4×RTi+λ5×Ti,
式中:n为该集群系统中服务器物理节点个数.
2.3.2 时间距离
每个服务器节点中, 都有待处理请求队列存放该节点请求处理任务. 时间距离是服务器要处理目标请求所需等待的时间开销[11], 每个服务请求所需的开销由服务副本决定, 其数学计算公式为
由以上两部分数据得到节点的真实状况值Ri,Ri计算方式如下所示, 其中W为各项指标的权重
Ri=W1L(Si)+W2D(Si).
2.4 算法流程
输入: 客户端服务请求.
输出: 目标服务器节点Sq.
a) 客户端发起请求, 访问服务i;
b) 根据客户端请求设定阈值ρ;
c) 计算网络带宽利用率α以及最大服务访问时间Taccess;
d) 选取节点Sm加入候选节点集合J中,Sm节点以及提供访问的服务i满足以下条件:
L(Sm)<ρ,
Tm-service-i e) 服务器心跳监测模块计算节点真实状况值Ri, 并报告客户端, 存入状态报告. 此过程周期性完成; f) 从集合J中选取节点Sq作为下一目标节点,Sq满足以下条件(假设集合J的大小为m): Rq=min{R1,R2,…,Rm}; g) 访问节点Sq中服务i, 完成客户端请求. 3.1 环境介绍 仿真实验环境模拟分布式系统搭建. 硬件环境有: 3台服务器物理节点组成服务集群系统, 部署有全部服务, 服务器中服务能够完成客户端所有请求; 2台客户端提供系统请求, 发起对各节点的访问. 服务器节点所用计算机为: Inter Xeon CPU E5-2603 V3 1.6 GHz /8 GB/ Windows Server 2008 R2 Enterprise; 客户端所用计算机为: i7 3.4 G/4 G/IDE/100 M PCI VS2015/win7 Pro客户端程序. 将服务迁移模块安装在客户端中, 每台客户端每隔10 s与3台服务器建立一次TCP连接. 服务器中共包含20个基础服务, 设计3个组合流程服务, 由基础服务随机组合构成, 多次运行统计正常运行时间, 求其平均值分别为10, 18, 16 s. 3.2 对比试验 比较轮循迁移算法与本算法迁移的性能. 关闭一台服务器, 模拟集群系统中的服务器单点失效, 客户端通过WAST对服务器进行匀速访问, 以响应时间为性能参考指标, 记录每运行20次组合流程为1次试验, 每个组合流程共做5次试验, 记录不同迁移算法所需的时间成本如图 3 所示. 图 3 实验结果对比图 从以上实验数据分析可得: 采用轮循迁移算法3个组合流程的平均响应时间为: 30.16, 37.08, 33.22 s; 采用路径与网络质量相结合的动态迁移算法之后, 其平均响应时间为: 11.90, 20.11, 18.36 s, 相比而言, 性能平均提高了49.65%. 本算法结合指挥信息系统实际需求, 将服务集群技术中的前端服务器归集到客户端, 并通过多参数的负载均衡算法以及对时间距离的定义, 实现了服务动态迁移以及迁移路径优化. 实验结果表明, 基于路径与网络质量相结合的动态迁移算法比轮循迁移算法有较大的性能提升, 并已应用于当前旅级指挥信息系统. [1]刘银良, 甘宁, 田建宇. 陆军指挥控制系统软件服务化实现方法[J]. 火力与指挥控制, 2013(Z1): 63-65. Liu Yinliang, Gan Ning, Tian Jianyu. The Realized method of land army command and control system software based on SOA[J]. Fire Control & Command Control, 2013(Z1): 63-65. (in Chinese) [2]金学猛. 面向SOA指挥控制系统信息交互安全机制研究[D]. 沈阳: 沈阳理工大学, 2013. [3]任侠. 基于动态自适应负载均衡的服务器集群优化策略[J]. 工程控制计算机, 2015, 28(12): 38-41. Ren Xia. Load balance based server selection in web server cluster system scheme[J]. Industrial Control Computer, 2015, 28(12): 38-41. (in Chinese ) [4]郑金娥, 杜乐, 尚世峰. STLBM: 一种基于服务自主迁移的网格负载均衡模型[J]. 微计算机应用, 2009, 30(5): 29-35. Zheng Jine, Du Le, Shang Shifeng. A grid load balance model based on autonomic service migration[J]. Micro-Computer Applications, 2009, 30(5): 29-35. (in Chinese ) [5]蔡启申, 张勇, 杨成伟. Web服务在线迁移系统研究与实现[J]. 华中科技大学学报(自然科学版), 2011, 39(Z1): 6-9. Cai Qishen, Zhang Yong, Yang Chengwei. Research and implementation of Web service online migration[J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2011, 39(Z1): 6-9. (in Chinese) [6]Urgaonkar R, Wang S Q, He T, et al. Dynamic service migration and workload scheduling in edge-clouds[J]. Performance Evaluation, 2015, 91(C): 205-228. [7]Guérout T, Medjiah S, Costa G D, et al. Quality of service modeling for green scheduling in clouds[J]. Sustainable Computing Informatics and Systems, 2014, 4(4): 225-240. [8]刘媛妮, 郑宇统, 赵国锋. 面向服务的未来互联网服务迁移机制[J]. 计算机应用研究, 2014, 31(12): 3828-3832. Liu Yuanni, Zheng Yutong, Zhao Guofeng. Service migration in service-oritned future Internet[J]. Application Research of Computers, 2014, 31(12): 3828-3832. (in Chinese) [9]宁维宇. 面向服务的未来互联网服务迁移策略的研究[D]. 北京: 北京邮电大学, 2014. [10]邓珍荣, 唐兴兴, 黄文明. 一种Web服务器集群负载均衡调度算法[J]. 计算机应用与软件, 2013, 30(10): 53-56. Deng Zhenrong, Tang Xingxing, Huang Wenming. A load balancing scheduling algorithm for web server cluster[J]. Computer Applications and Software, 2013, 30(10): 53-56. (in Chinese) [11]谷培影, 沈项军, 蒋中秋. 基于移动agent的无结构P2P网络拓扑重连方法研究 [J]. 计算机应用研究, 2013, 30(1): 234-237. Gu Peiying, Shen Xiangjun, Jiang Zhongqiu. Topology adaptive approach based on mobile agent in unstructured P2P networks[J]. Application Research of Computers, 2013, 30(1): 234-237. (in Chinese) Algorithm of Dynamic Migration Based on Path and Quality of Internet WANG Zi-zhen, LI Jin-jun, SONG Qiu-gui, CHEN Bing (North Automatic Control Technology Institute, Taiyuan 030001, China) Focusing on the problem of the single point failure within server of Brigaded Command Information System, the dynamic service migration mechanism based on path and quality of Internet is designed and achieved. The mechanism is the application of Web-server System, which is based on distributed command system. The algorithm existed features below: Aiming at different request, the quality of net is analyzed, resource and threshold are confirmed and node candidate scheme is caming into being; Introduce the time distance and combine with the load to select the best migration path; Canceling front server, realizing system fault tolerance and service dynamic migration. According to the experiments, the performance of the algorithm is 49.65% higher than round robin algorithm, and the time cost is saved. The algorithm has been applied to Brigaded Command Information System. service migration; quality of Internet; path; service oriented architecture 2016-05-23 王子珍(1993-), 女, 硕士生, 主要从事系统工程的研究. 1673-3193(2017)02-0173-05 TP393 A 10.3969/j.issn.1673-3193.2017.02.0143 仿真测试
4 结 语