APP下载

移动云环境中基于节点自适应配置的可靠服务架构

2018-03-27

计算机测量与控制 2018年3期
关键词:副本管理器组件

(国网天津市电力公司 信息通信公司,天津 300010)

0 引言

移动云计算是一种在移动节点之外进行数据存储和处理的基础架构,即利用附近移动节点提供的分布式资源来使用获得的服务[1]。这种系统在教育和旅游等应用领域有很大的应用前景。然而,这些系统通常基于动态网络拓扑,其中链路断开和网络分区可能频繁发生,因此服务的可靠性通常会受到影响。现有的移动云计算服务模式主要分为三种[2-4]:传统的客户端-服务器模式,在对移动节点的处理上,是通过网络连接方式将其部分或者全部操作委托给云端处理,自身充当云端的常规客户端角色。第二种为基于局域移动云服务模式,主要是凭借本地网络节点之间的分布式结构,可以达到执行数据的存储和数据处理的目的。但是在缺乏稳定性的网络连接区域,会存在无法与外部云信息交流的问题,此时软件架构的成功建立就显得尤其重要。最后一种是混合服务模式,其中移动系统的节点由本地移动云组成,同时外部云也提供支持。

云计算中面向服务的体系结构(Service Oriented Architecture, SOA)[5]与软件即服务(Software as a Service, SaaS)的联系非常紧密,这是因为SOA是软件系统设计和开发的模型,云计算和SaaS分别负责软件的实现和交付。

由于现有的移动云计算服务模式会存在电池限制、有限的带宽、传输错误以及路由开销等问题,使得系统数据的可靠性、安全性、完整性受到不利影响,并且使维护的成本越来越高[6]。甚至,网络拓扑结构的动态性还会影响到网络节点的断开或关闭,导致出现链路故障,路由更改等。

基于此,本文提出了一种基于节点自适应配置的软件体系架构,旨在提供一个高效适应性的解决方案来支持移动云服务的可靠性。该方案是基于服务复制技术和上下文感知机制,通过自适应配置方法来激活/休眠服务副本。通过网络模拟实验,验证了所设计的软件架构的可行性,提高了网络的运行效率。另外,通过创建节点组,使得相邻节点可以共享同一个服务副本,这样为提高集群系统的可伸缩性提供了可能。

1 云计算

云计算作为一种新出现的商业计算模式,从发展历程来看,它是继分布式、并行处理、网格计算之后诞生的一种全新发展模式。云计算的主要服务形式有软件即服务(SaaS),平台即服务(PaaS)以及基础设施服务(IaaS)[7]。

SaaS即企业将开发的应用软件统一部署在自己的服务器上向用户提供服务,主要根据客户所定制的软件服务时间长短和耗费资源多少等因素收费。优势是用户不再需要像以前那样在资源使用和维护上花费大量资金和人力,只需通过互联网即可享受到相应的硬件和软件服务。PaaS即把开发环境作为一种服务来提供。企业提供开发环境、服务器平台、硬件资源等作为服务给客户,客户可以自主定制专属的应用程序并通过其服务器和互联网传递给其他用户。IaaS即企业提供云计算服务将内存、I/O设备、存储和计算能力整合成一个虚拟的资源池提供给客户,客户可以享受到资源的存储和计算以及虚拟化服务器等优势服务。从本质上讲,这是一种托管型硬件方式,而用户需付费才能使用企业的硬件设施。

2 提出的移动云可靠服务架构

本文提出了一种基于服务副本管理和节点自适应配置的移动云服务软件架构。该架构主要由四部分组成:通信中间件、监测系统、上下文管理器以及副本管理器,如图1所示。这些组成部分将配置到网络中每个节点中,并且通过协调工作来提供一个节能的解决方案,以满足移动云服务的可靠性。

通信中间件允许系统中不同实体之间的通信,解决移动环境的异质性问题。监控系统由不同的监控服务组成。上下文管理器负责监视每个节点及其环境,收集信息并对其进行处理和存储。副本管理器根据移动网络的当前状态实现业务副本的激活/休眠配置。

图1 移动云可靠服务架构的组成

2.1 通信中间件

通信中间件允许在两种不同实体在不同通信模式下进行通信[8],第一种模式是发布-订阅模式,例如,基于推送的通信模型,监控服务通知副本管理器对感兴趣的事件进行管理。感兴趣的事情如电池的电量级别降低5%,或活动副本不可到达;第二种模式是请求-响应模式,例如,副本管理器请求上下文管理器相关信息来评估节点承载服务副本的适当性,并获得反映它的分数。这两种模式的组合通常被称为SOA2.0,其中服务不仅是被动的实体,还包括能够主动接收和生成事件。

2.2 监测系统

监控系统包含一组监控服务,它感知节点相关的上下文信息,以此检测可能会影响服务可用性的潜在事件。 在提出的架构中,对节点能力(例如,剩余电量,存储,内存等)和网络拓扑结构进行监控。但是,监视上下文通常是以高能耗和高带宽为代价。一般而言,获取相关节点尤其是本地节点的信息很容易,但是由于动态网络拓扑需要连续的监测[9-10]。因此,经济成本会随网络的规模呈现指数增长。为此,本文采用路由协议提供的信息来估计网络拓扑结构。在每个节点中建立并维护一个路由表,其中包含相关可到达节点的信息,以及每个节点的网关和跳数。通过节点的直接连接,系统可以估计它在网络拓扑中的位置。

2.3 上下文管理器服务

上下文管理器服务负责处理和存储从检测系统接收到的信息。副本管理器通过使用此信息,更改调整副本的激活/休眠配置。

图2 自适应服务激活/休眠机制

图2显示了由上下文管理器管理的上下文模型。尽管所有节点共享相同的上下文模型,但信息存储主要在本地节点,只有节点的分数才能共享,以减少带宽消耗。另外,除了常见的上下文信息(如网络拓扑或电池能量)之外,本文还利用自适应配置算法提高了上下文模型的相关适应性。上下文相关信息模型主要可以分为三个子部分:节点特征,服务需求和网络拓扑。

2.4 副本管理器

副本管理器通过执行自适应配置算法以实现服务副本激活/休眠的有效配置。遵循基于组件的设计,即允许重用组件,甚至在运行时交换这些组件来动态调整其行为。如图3所示,它由三个主要组成部分组成:评估组件,控制组件和管理器组件。

图3 副本管理器的结构图

评估组件包含评估函数,用于协调器组件评估节点是否适合托管特定服务。评估是基于上下文管理器通过上下文信息接口提供的信息。 每个上下文函数的权重将取决于应用程序领域和具体情况。例如,如果系统的电池电量不足,则评估函数可以动态更改,以便为该上下文特征分配更高的优先级。 因此,可以定义不同的评估者组件来解决同一应用程序域中可能发生的不同情况。

控制组件包含一组描述副本管理器的触发器激活策略规则。其将通过事件监听接口提供的上下文事件作为输入。任何规则的触发都会激活协调组件,从而启动自适应配置过程。

当检测到可能影响服务质量属性的上下文更改时,管理组件将负责与系统中的其他管理员达成协议,目的是获知是否有一个更好的激活/休眠服务的副本。自适应配置完成后,通过服务激活接口执行副本的激活或休眠。

3 副本管理器中的自适应配置算法

副本管理器中不同副本执行自适应配置算法时,会根据移动网络的当前状态实现服务副本激活/休眠的高效配置。每个节点有三种可能的状态:“本地模式”,“客户端模式”或“服务器模式”。当相邻节点中没有可到达节点时,节点处于“本地模式”状态。而且,当上下文的改变触发自适应配置进程修改用于服务副本激活/休眠的当前配置时,该状态被用作初始状态。服务的可用性和系统对上下文信息变化的反应时间,与“本地模式”状态和新状态(“客户端模式”或“服务器模式”)之间转换所需的时间成正比。

节点之间的自适应配置基于以下消息的交换:(1)SCORE(得分),节点通过这个消息来传达分数,即通过副本管理器中的评估组件来实施评估功能获得,分数范围限制在0至1之间,1表示最佳分数;(2)SERVER_REQUEST(服务请求),当请求节点想要建立客户端-服务器连接时,使用该消息与接收者节点进行连接,其中请求节点将作为客户端而接收者节点作为服务器。 接收者节点是否响应此请求,取决于将谁作为服务器。 如果有另一个节点可以作为服务器,从接收节点的角度来看,它将拒绝这个请求。 否则,它会接受它;(3)SERVER_REJECTION(服务拒绝),这个消息用来回应SERVER_REQUEST信息,表示接收者节点拒绝该请求,即拒绝作为发送者节点的服务器;(4)SERVER_ACCEPTANCE(服务接受),此消息用于响应SERVER_REQUEST消息,表示接收者节点接受这个请求并作为发行者节点的服务器。

用于副本激活/休眠的自适应配置算法的伪代码如算法1所示。

算法1:用于副本激活/休眠的自适应配置算法。

1)myscore =计算得分Score();

3)等待直到 (接受到得分的数量 =N或 定时器到期);

4)candidateNode= 计算BestNode();

5)if candidateNode = myID then

6) state := SERVER_MODE;

7)else

8) 发送请求到 candidateNode;

9) 等待直到(candidateNode 响应 或 定时器到期);

10)if定时器到期then

式中:N为GA操作代数;Nmax为最大GA代数;Pc(1)和Pm(1)为初始交叉率和初始变异率;c和m为Pc和Pm的比例系数

11) 返回步骤 8;

12)elseif接受到SERVER_ACCEPTANCEthen

13) serverID = candidateNode;

14) state = CLIENT_MODE;

15)elseifSERVER_REJECTION具有附加信息then

17) candidateNode =计算BestNode();

18)elseERVER_REJECTION没有附加信息then

19) 等待T个时刻;

20) 返回步骤8;

当一个节点开始自适应配置时,第一步是计算它的分数并将其广播到组群中。然后,节点进入被动模式,等待接收其邻居的分数。当节点收到邻居节点的所有分数或者定时器到期时,节点计算其中最合适的节点作为服务器。在计算最佳节点时,节点将选择得分最高的节点,该节点可以是其本身。当最好的节点 是节点本身时,它将直接进入“服务器模式”,其余节点都采取相同的决定。这种方法避免了服务器必须将其选择结果传送给其余节点,从而改善了系统带宽。定时器的使用是因为消息丢失,如果一个节点在特定时间内没有收到邻居节点的分数,就可以认为该消息已经丢失。

4 实验及分析

4.1 实验设置

为验证本文提出的云计算可靠服务软件架构体系,构建了一个实验场景,用来展示系统如何根据其计算要求来配置服务的激活。在这个例子中有两个服务:服务A和服务B。两者都通过XML文件来给出他们的需求。场景中存在4个节点,各节点的属性如表1所示。图4给出了该实验场景中,具有不同计算需求的两种服务下,系统架构中的副本配置过程。

表1 场景中各节点的属性

图4 具有不同计算需求的两种服务的系统架构中的副本配置

4.2 结果分析

实验场景中,服务A需要处理能力,而服务B需要存储能力。通过对XML文件进行解析,将需求引入到评估函数中。在此例中,默认的评估函数为,

(1)

式中,dC表示节点直接连接的数量,其是从节点路由表提供的信息中获得。N表示组群中的归一化节点数,范围为0到1。rB表示归一化的节点剩余电量。W1和W2分别表示每个上下文特征的权重系数。本文中,W1和W2的值分别设置为0.6和0.4。

利用式(1),将得到的每个服务的具体情况作为一个间隔函数,其中根据候选节点提供的计算需求范围,将评估函数乘以一个权重(Hi和Pi)。本文中,H1和P1的值分别设置为0.5和0.9。式(2)和式(3)分别表示服务A和服务B的评估函数,即:

(2)

(3)

在确定每个服务器的评估函数后,开始执行自适应配置系统,步骤如下:

1)初始化。在自适应配置算法执行前,所有节点均处于“本地模式”状态。此时,两个服务的自适应配置过程将并行执行。

2)评估。所有节点进行自我评估,并把分数传递给相邻节点。评估结果如表2所示。

表2 节点对服务A和B的评估得分

3)节点选择。根据评分结果,节点1和节点4将分别转换为服务A和服务B的主机。应该注意的是,由于其存储能力,在其他条件下,节点3将是服务B更好的候选者。但是,在这种情况下,节点3的电池电量不足,导致选择节点4作为主机。

4)最后,获得配置结果。即节点1托管服务A,节点2,3和4作为客户端。节点4托管服务B,节点1,2和3作为客户端。如本场景所示,定义服务的计算需求有助于调整系统的行为,并为副本的激活/休眠提供更合理的配置,以满足节点的计算特性。

5 结束语

本文提出了一个基于服务副本管理和节点自适应配置的服务软件架构,通过自适应配置算法来激活或休眠副本,有效地缓解了移动系统的动态性问题,从而提高了系统的可靠性。尤其对于无法使用通用网络基础设施的偏远地区来说,通常需要通过移动云中的数据存储和处理服务来支持不同工作组之间的协作。下一步的工作计划中,将对利用集群技术扩展架构以及在不同路由协议下的移动模型进行具体研究,以提高系统的可扩展性和灵活性。

[1] 柳 兴, 袁超伟, 杨 震,等. 移动云计算中基于移动代理的用户切换与接入控制[J]. 北京邮电大学学报, 2014, 37(2):88-92.

[2] 崔 勇, 宋 健, 缪葱葱,等. 移动云计算研究进展与趋势[J]. 计算机学报, 2017, 40(2):273-295.

[3] Fernando N, Loke S W, Rahayu W. Mobile cloud computing: A survey[J]. Future Generation Computer Systems, 2013, 29(1):84-106.

[4] Khan A U R, Othman M, Madani S A, et al. A Survey of Mobile Cloud Computing Application Models[J]. IEEE Communications Surveys & Tutorials, 2014, 16(1):393-413.

[5] 王荣军, 胡立强. 基于云计算与SOA的IT支撑系统整合研究[J]. 电信技术, 2013, 1(7):11-15.

[6] 张 露, 尚艳玲. 云计算环境下资源调度系统设计与实现[J]. 计算机测量与控制, 2017, 25(1):131-134.

[7] Dinh H T, Lee C, Niyato D, et al. A survey of mobile cloud computing: architecture, applications, and approaches[J]. Wireless Communications & Mobile Computing, 2013, 13(18):1587-1611.

[8] Abolfazli S, Sanaei Z, Shiraz M, et al. MOMCC: Market-oriented architecture for Mobile Cloud Computing based on Service Oriented Architecture[A]. IEEE International Conference on Communications in China Workshops[C]. IEEE, 2012:8-13.

[9] 王素贞, 杜治娟. 基于移动Agent的移动云计算系统构建方法[J]. 计算机应用, 2013, 33(5):1276-1280.

[10] Felemban M, Basalamah S, Ghafoor A. A distributed cloud architecture for mobile multimedia services[J]. IEEE Network, 2013, 27(5):20-27.

猜你喜欢

副本管理器组件
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
启动Windows11任务管理器的几种方法
一种嵌入式软件组件更新方法的研究与实现
应急状态启动磁盘管理器
通用(OA)办公自动化系统的组件运用
一种基于3 阶段实现的高性能云存储计算*
使用卷影副本保护数据
面向流媒体基于蚁群的副本选择算法①
Windows文件缓冲处理技术概述