服务器管理系统论文

2022-05-08

本论文主题涵盖三篇精品范文,主要包括《服务器管理系统论文(精选3篇)》的相关内容,希望能给你带来帮助!随着虚拟化技术的迅速发展,尤其是当今世界倡导低碳节能、环保绿色的节约型社会环境中,作为其重要应用领域的服务器虚拟化技术已经受到了越来越多的企业和媒体的关注。本文则以此为出发点,对虚拟化服务器管理系统的开发框架作了深入的研究。

服务器管理系统论文 篇1:

服务器管理系统双机热备管理软件的设计与实现

摘要:首先介绍了双机热备的原理,并着重分析了服务器中双机热备软件的通讯机制,程序架构以及软件的具体的实现方法。通过服务器的运行实验结果表明,所设计的程序不仅可以实现服务器中双机热备的主要功能,并具有良好的稳定性和高效性。

关键词:双机热备;服务器管理;通讯路径;心跳检测

中图法分类号:TP31文献标识码:A

Hot Standby Management Software Design and Implementation of Server Management System

ZHANG Lei, LI Yu-long, HU Lei

(Lanzhou Jiaotong University, College of Electronics and Information Engineering, Lanzhou 730070, China)

Key words: two-node cluster; server management; communication path; heartbeat detection

1 双机热备的定义及原理

1.1 传统双机热备的定义及原理

双机热备即目前通常所说的active/standby方式。双机热备是近年来服务器端的安全性、可用性的一次重大革命。从以前加大的硬件可用性,到现在的双机要备用,来保证服务器的不停机运行,是高可用性的一次重大的进步。

双机热备原理:是当一台服务器在工作时(称为主机)。另一台服务器处于备用状态(称为备机)。当主机因为某种原因出现故障,如死机,主机断电,病毒发作,硬盘损坏等,不能继续提供服务时,备用机能够在规定的时间内接替主机的服务,继续提供服务,从而使始终服务处于不停机状态。

1.2 服务器内部双机热备的定义

与传统的双机热备管理相比,服务器内部的双机热备管理软件具有同样的原理,并且又有其自身的特点。在大型的单一服务器设备中,比如刀片式服务器,一般都会作为重要的存储及计算设备应用于企业网络服务中,在加上其结构比较复杂,所以,服务器里面的管理软件担负了较为重要的责任。不仅要监控服务器中各个不同模块的状态,还要负责控制电源,散热等具体操作。这时候,如果只有一个管理模块,当其中出现某种问题时,很容易失去管理作用,这时候服务器就会因为没有冗余管理而丧失作用。给应用服务带来巨大的伤害。双机热备管理模块的应用可以很好的解决上述问题。

2 双机热备管理软件的策略设计

2.1 双管理模块的硬件结构

双管理模块在服务器中管理整个系统设备运行,可以是实现对服务器开关机,监控服务器中电源,散热系统,存储系统,以及最為关键的主板的运行及状态控制。双管理模块就是指在一个服务器配备两个管理模块,在两个管理模块中运行同样的管理软件。这两个管理模块一个为主,一个为从。主管理模块在插入机箱时由硬件在具体的位置上实现,并通过相应接口来通知运行软件,实现主管理模块对服务器系统的控制。而从管理模块通过插入相应的模块位置后,监听整个系统的运行,并在主管理模块出现问题的时随即成为主管理模块,来接替主管理模块完成对系统的管理。

2.2 双管理模块的软件结构

2.2.1 双机热备软件原理

双机热备软件首先提供了一个完全容错的软件解决方案,并提供数据、应用程序和通信资源的高度可用性。不需要任何特别的容错硬件就能够自动地提供错误检测和快速有效的主备倒换。

双管理模块中分别运行了两套完全一样的管理系统软件。如果服务器中单独使用任何一个管理模块,都可以独立的对系统进行管理。当同时插入两个管理模块时,管理模块软件中双机热备部分的软件就会根据硬件采集的信号,来决定哪一个为主,同时,另外一个就为从。

2.2.2 通讯策略

双机热备管理软件的通讯策略采用心跳故障检测(Heartbeat),也就是通过通信信号,也叫做心跳信号,作为主从管理软件的通讯机制。即通过每一个通信路径,在两个对等系统之间进行周期性的握手,如果连续没有收到的心跳信号到了一定的数目,则表示这一条通讯线路出现了问题,从而把这一条线路标记为失效。如果只定义了一条通信路径,当程序把这唯一的一条通信路径标为失效时,从管理模块便可判定主管理模块出现了异常,从而启动自己的管理进程来实现主从的切换。

然而,如果只用一条通讯线路的话,则会具有一定的错误风险,比如通讯线路的物理损坏,人为工作中的误操作等。这时候,冗余线路就十分的有效。当一条通讯线路没有心出现跳信号时,第二条路径则能够确定是系统故障还是通信路径有问题。多种通信路径可以帮助避免不必要的失效切换,减少因为错误的主备倒换带给整个服务器带来不必要的风险。

在这里,我们使用两条完全独立的通讯线路来实现心跳检测。

1) 网络socket,即套接字。使用支持TCP/IP的通讯协议网络硬件接口。

2) 串行口。

例如,如果两个服务器被一个串口连接起来,并且,从属服务器来的心跳信号无法被主模块管理软件所检测到,则下面之一可能是引起这一现象的原因:服务器的RS-232卡或者端口失败,电缆失效,主管理软件暂时挂起,主管理软件运行失败,失效切换只可能在最后一种情况下才发生。

3 双机热备软件具体实现

3.1 整体的运行机制

双管理模块根据插入的槽位位置,自动选择成为主或从管理模块。嵌入式linux系统运行后,负责双击热备的软件程序开始运行,会根据主从来选择不同的运行级别。分别转换为主为active,从为standby的状态,通过串口和网络两路通讯监听彼此的运行状态,在这里我们采用多线程编程来实现程序架构。

3.2 程序具体实现

程序的实现主要包含以下几个部分

1) 共享内存的初始化

共享内存的创建主要是为了实现管理系统在运行过程中系统信息的存储。这些信息包括系统现在的运行状态,以及服务器运行过程中各种配置参数的更改。当主管理软件出现异常时,可以实现从管理模块的无缝链接。服务器的各种信息,如电压,温度,以及运行及异常状态均会存储在共享内存中,并通过串口监听进行相互通讯。

2) 串口的创建及运行

首先对串口进行初始化操作,包括串口类型的选择,各项参数的具体配置。然后是对串口的读写操作功能的实现。根据主从管理模块的不同,对串口进行相应的操作。

3) socket的创建及初始化

socket通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。主从管理模块软件程序通常通过“套接字”向网络发出请求或者响应网络请求。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。

4)系统主进程的创建

通过硬件GPIO机制设置主从模块,由主进程选择系统运行,并开始双模块的的循环监听。

5)心跳检测程序的创建与运行。

3.3 双机热备软件逻辑处理过程

图3为双机热备程序的逻辑处理过程:主从管理模块通过socket和serial进行多线程循环监控。

4 程序运行结果及分析

服务器通电后,管理系统开始运行。这时,主管理模块能够顺利执行这个服务器的管理任务。同时,从管理模块则运行双机热备程序,负责监控主管理模块的运行状态。当串口和网络两路信号均出现异常时,从管理模块管理软件开始运行,负责管理整个服务器。在主备转换的过程中,服务器的有效信息会因为在双机热备的共享内存中有所备份,完全可以保证系统持续、稳定地运行。

5 总结

对于日益承担企事业单位核心业务的服务器系统来说,数据的高可用性和系统的连续运转能力极其重要,作为实时服务与数据保护解决方案,双机热备软件提供了数据的高可用性、系统异常时的自动切换。但是在双机热备过程中数据的恢复还需要进一步的研究,如何提高数据倒换的有效性和可用性,以及系统主从切换效率等方面还需要做进一步的优化研究。并且,在采用通讯链路这一点上,也可以做到更有效的采用MAC地址的方式,在提高通讯机制以及数据传输准确性上也需做进一步研究。

参考文献:

[1] 邢传星.VTS双机热备系统的可靠性研究与应用[D].中国优秀硕士学位论文全文数据库,2009.

[2] 姚颖熹.LINUX下双机数据热备份的设计与实现[D].电子科技大学,2001.

[3] 李大夜.基于linux的集群和心跳设计[D].哈尔滨工业大学,2006.

[4] 朱雄辉.嵌入式Linux的研究及其设备驱动程序的开发[D].西安电子科技大学,2002.

[5] 田灼.双机容错热备份系统研究与实现[D].哈尔滨理工大学,2003.

作者:张磊,李玉龙,胡磊

服务器管理系统论文 篇2:

基于Flex虚拟化服务器管理系统的研究

随着虚拟化技术的迅速发展,尤其是当今世界倡导低碳节能、环保绿色的节约型社会环境中,作为其重要应用领域的服务器虚拟化技术已经受到了越来越多的企业和媒体的关注。本文则以此为出发点,对虚拟化服务器管理系统的开发框架作了深入的研究。系统开发框架采用Flex技术完成界面显示,BlazeDS框架完成Flex与Java之间的数据通信,集成Spring与Hibernate技术的业务功能实现。

作者:卢旎

服务器管理系统论文 篇3:

图书馆服务器远程管理系统的设计与实现

〔摘 要〕提出了一种基于客户机/服务器模式的图书馆服务器远程管理系统的设计方法,它采用WinSocket信息访问技术,设计出客户端和服务器端两个子系统,给出了数据流图、实体关系图、功能模块图和程序流程图及其部分关键代码。系统可在机房无人值守时对服务器进行远程监控和维护,保障网络系统的正常运行。

〔关键词〕服务器远程管理;WinSocket;客户端/服务器模式;系统设计

Design and Realization of Server Remote Management System of Library

Yin Feng Chen Shunping Zhou Qianwei

(Library,Changsha University,Changsha 410003,China)

〔Key words〕server remote management;WinSocket;C/S;system design

目前远程控制技术显得越来越重要[1]。如:远程计算机维护、移动办公、远程教学等等。高校图书馆服务器储藏了大量丰富的数字资源,维护其正常运行非常重要。利用远程管理技术可在机房无人值守时对服务器进行监控和维护,以满足广大读者查询文献信息的需要[2]。本文利用基于TCP/IP网络协议的Socket通信技术设计了一个远程服务器管理系统,能够有效监控服务器的运行状态,确保图书馆信息网络系统的正常服务。

1 系统开发原理

本文采用Microsoft Visual C++ 6.0作为开发工具,因为VC++ 6.0中有关网络通信的Socket API函数丰富,功能强大,完全能够实现设计要求[3]

Socket(套接字)的原意是插座。在Socket下编程,应用程序一旦申请到一个Socket,就相当于获得一个与其他应用程序通信的输入输出接口,而该应用程序到底与哪个应用程序通信,取决于其IP地址[4]。执行跨机应用进程时要在网络的每一端建立套接字,2个套接字之间建立连接后,就可以通過套接字的“读”、“写”操作实现网络通信功能。Socket接口介于应用程序与硬件之间,它可以提供标准函数以符合不同的网络硬件规格[5]

对Socket的理解可以简化为:它是封装了数据流(Stream)的从机器到机器的一条软接线。通过这条软接线,并借助于线两端的收发程序,网络上的机器间实现了信息的交流与互通。分离在服务器端和客户端的应用程序可以通过调用Socket接口来执行预定的功能。所以,Socket接口的介入使得开发分布式应用程序变得更为简单。

套接字(socket)在网络软件设计中有着极大的应用。如果把机器比作房间,那么创建了Socket(套接字)的程序就是房间的后门[6]。只要了解该Socket接收数据的协议(后门的钥匙),就可以轻松地打开房门而进入该房间。为了网络信息服务的安全,我们有必要在服务器端控制来自客户的信息访问行为。Socket正是迎合这种需求而被广泛应用的一种网络信息访问技术。

2 系统分析

2.1 数据流分析

系统的数据传递(流动)是以建立了连接的客户端和服务器端为前提的。服务器端程序运行后时刻处于监听状态,一旦有客户端的连接请求,它就会去接收,并生成一个与来访客户端传送信息的Socket通信接口。利用这一特性,我们可以在客户端界面设计一些按钮,设置好自己感兴趣的各种服务器信息参数,然后点击按钮要求服务器执行一些远程操作,就如同在本地操作服务器一样。点击事件发生后,客户端捕捉这一消息并记录下来,然后生成相应的命令消息并保存于临时缓冲区。当协议要发送信息时,就把临时缓冲区的内容放到缓冲区并完成发送。服务器端通过协议把客户端发送过来的内容收存到接收缓冲区,然后分析缓冲区内的命令参数,进行相应的处理。其执行结果反馈给客户端显示。这样,一次通信过程就顺利完成了。下面是系统的数据流图(图1)。

2.2 实体关系分析

系统的实体可分为客户端和服务端两个。双方都有接收/发送缓冲区,通信用的Socket接口,通信端口等。不同的是,服务端有一个监听用的Socket对象、IP地址、命令解析器等;客户端有命令请求接收器(也叫消息池),并且一个服务端可以同时连接多个与之匹配的相应客户端。因此它们之间的关系是一对多的关系。系统的基本ER图如图2所示。

3 系统设计与实现

3.1 系统结构设计

系统分为4个模块,即管理员登录模块,文件上传、下载模块,进程管理模块和显示服务器参数模块。主要采用Winsocket编程接口来实现客户端和服务器之间的通信,用到的数据结构有文件属性结构、进程信息结构、鼠标信息结构等。系统要求先运行服务端程序,服务端程序主要是用SDK开发,没有具体的界面,是隐藏运行的。它有一个总(入口)开关函数负责客户端发送的命令消息的解析分解和分发处理。客户端有用户登录界面,使用者输入合法的用户名和密码才能登录到客户端,接下来才有可能实现对服务器的有效控制。菜单命令接口有文件上传、下载,运行服务器上的程序或者打开文件等。

管理员登录模块主要是验证用户身份的合法性。文件上传和下载是有效的管理服务器资源的一个最基本的途径。进程管理模块的主要功能是在本地客户端上用一个窗口显示远程服务器端上运行者的进程,并能对进程进行实时的观察监控,能对进程进行一些相应的管理,如暂停、结束等操作,能向服务器的屏幕上写一些文本信息,能控制服务器端鼠标的锁定与解锁,驾驭服务器上相关程序、文件的打开或者运行。显示服务器参数模块主要是显示当前正在运行的系统服务器端的一些计算机情况和操作系统信息等等,基本上是一些与远程服务器状态息息相关的的参数信息。

系统实现的主要技术难点在于怎样定义合理的数据结构来完成各种信息的传递与接收,因为文件的上传、下载涉及到文件格式的一致性问题。系统功能模块如图3所示。

3.2 客户端设计

客户端设计思路如流程图(图4)所示。

客户端部分关键代码如下:

void CZclientDlg::OnBtnProcess()

{ ∥进程管理按钮点击事件消息响应函数

UpdateData(TRUE);

BeginWaitCursor();

if(!pProcessDlg)

{ pProcessDlg=new CProcessManageDlg(this);

pProcessDlg->Create(IDD_DIALOG_PROCESSMANAGER,this);

pProcessDlg->ShowWindow(SW_HIDE);

}

else

{ pProcessDlg->m_ctlProcess.ResetContent(); }

strcpy(chrMission,″ ″);∥为命令留出一位(见readme文件)

chrMission[0]=16;∥设置命令

if(!ConnectSocket())

{ AfxMessageBox(″无法连接″);

return;

}

send(sktClient,chrMission,300,0);

MyProcessInfo ProcessInfo;

recv(sktClient,(char *)&ProcessInfo,sizeof(MyProcessInfo),0);

int nprocesscnt=0;∥统计服务器上的进程个数

while(ProcessInfo.bIsNext)

{ nprocesscnt++;

int index=pProcessDlg->m_ctlProcess.AddString(ProcessInfo.szExeFile);

pProcessDlg->m_ctlProcess.SetItemData(index,ProcessInfo.th32ProcessID);

recv(sktClient,(char *)&ProcessInfo,sizeof(MyProcessInfo),0);

}

char buffer[20];

itoa(nprocesscnt,buffer,10);∥把整型进程数转换成CString类型

pProcessDlg->SetDlgItemText(IDC_EDIT_COUNT,buffer);

pProcessDlg->ShowWindow(SW_SHOW);

pProcessDlg->SetActiveWindow();

pProcessDlg->SetFocus();

pProcessDlg->pDlg=this;

}

3.3 服务端设计

服务端程序要先于客户端程序运行,它负责监听客户端的连接请求和服务请求,为每一个有访问(这里具体为控制和管理)需求的客户端提供一个通信接口(这里具体为一个Socket对象),預备工作做完了,之后就是相互之间的数据、消息等的发送和接收,以及命令的执行和结果的反馈。服务端设计思路如流程图(图5)所示。由于篇幅所限,代码略去。

4 结 语

以上介绍了服务器远程管理系统的设计思路及其过程。本文设计的客户端是有具体运行界面的,主要用于实施各种对远程服务器的操作,比如终止可疑进程的运行,打开服务器上的文件或运行应用程序等。服务器端程序是一个隐藏运行的后台进程,主要技术用到了基于TCP/IP协议的WinSock网络编程接口,利用它可以与远程计算机建立连接,并实现向服务器屏幕发送消息、捕捉屏幕、文件传输和进程管理等功能。客户端可以实时了解当前表征服务器的运行状态的一些参数,如磁盘和内存等物理硬件的使用情况,当前运行的进程的有用信息,CPU使用率等。应用本文介绍的原理及方法,可设计出适用一般网络管理的服务器远程控制系统。

参考文献

[1]朱晓蕾,余达太,孙昌国,等.基于客户/服务器模式的远程控制系统[J].计算机工程与设计,2004,25(5):51-53.

[2]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006:523-556.

[3]马安鹏.Visual C++ 6程序设计导学[M].北京:清华大学出版社,2002:180-200.

[4]雷斌,等.Visual C++ 6.0网络编程技术[M].北京:人民邮电出版社,2000:33-43.

[5]陈伟,等.Visual C++网络高级编程[M].北京:人民邮电出版社,2001:19-31,69-74.

[6]谭术,郭聪辉.远程控制与攻击技术揭秘[M].北京:家庭电脑世界出版社,2004:117-145,189-194.

作者:尹 锋 陈顺平 周前伟

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:新媒体艺术设计论文下一篇:班主任工作研究论文