基于P2P分布式存储的双机热备份系统设计和实现

2017-08-10 09:52蒋怡琳李国祥
现代计算机 2017年15期
关键词:双机备份客户端

蒋怡琳,李国祥

(广西财经学院教务处,南宁 530003)

基于P2P分布式存储的双机热备份系统设计和实现

蒋怡琳,李国祥

(广西财经学院教务处,南宁 530003)

随着社会信息化程度越来越高,信息数据对企业的重要性也随之越来越大,保证信息数据的可靠性和安全性成为企业竞争的核心。为了适应社会发展变化,提出一套基于P2P分布式存储的双机热备份系统,对系统进行设计并实现,系统利用心跳协议保证主存储系统与备用存储系统的联系,以此提高企业数据库的安全性和可靠性,保证数据不丢失,确保企业服务不间断。

P2P分布式存储;双机热备;心跳协议;文件备份

0 引言

随着社会信息化的不断深入,社会对计算机系统的依赖越来越大,信息的可靠性和即时性成了企业竞争的关键。大数据分析技术发展到今天,数据中隐藏的信息慢慢被挖掘,这部分信息影响着企业未来的决策,因此数据在企业的发展过程中起着举足轻重的作用。如何保障数据的安全性也成为企业需要着重考虑的问题。网络传输的发展,使得数据存储从传统的小型化存储发展到现在的高可用性、易扩展性的存储技术[1]。但这些数据在面对非抵抗性的外部影响时,显得尤为脆弱,无论是系统的硬件、数据和系统都会受到很大程度的破坏,甚至是不可恢复的损坏,直接导致数据丢失。

数据备份作为提高数据可用性与可靠性的基本方法,其目的是为了系统崩溃时能够快速的进行恢复。本文基于P2P分布式存储技术设计并开发了一套双机热备份系统。该系统实现文件的上传、下载以及文件更新、备份等功能,以此保证企业数据的安全性。

1 关键性技术

基于P2P的分布式存储[2],P2P是Peer-to-Peer的缩写,即为对等联网,所有的网络节点通过网络互连,相互共享节点的CPU、打印机、存储能力等。每个节点既是资源的提供者同时也是资源的共享者,以此达到资源最大化共享[3]。

在基于P2P的分布式存储中,每个节点是一个大的存储服务器,负责存储和管理本节点的文件,同时每个节点又是客户端,可以从其余节点上获取自己需要的文件,具体的特点有分散性、高性能、负载均衡等[4]。

双机热备份技术[5]是一种通过结合软件和硬件的容错技术应用方案。容错是指当发生某些原因导致系统出现了数据文件损坏或者丢失,不能提供服务时,系统能够恢复到发生故障前的状态,连续正常运行的技术。在这个容错方案中,应用程序安装在两台数据服务器上,这两台数据服务器处于不同的地理位置,通过整个网络系统进行数据集中管理和数据备份。数据集中管理指的是通过在数据服务器端安装双机热备份系统,将所有数据直接从存储设备读取和存储,极大地保护了数据的安全性和保密性[6-7]。当任意一台服务器出现故障不能提供正常服务时,备份机通过网络主动替代主机工作,保证网络服务不间断。

双机热备份系统采用“心跳”方法保证主机与备份机的联系[7]。所谓“心跳”,指的是主机与备份机之间约定安装一定的时间间隔发送确认信息,以此表明各自当前的状态,若两者均能正常收到心跳信息,表明均正常运行,一旦备份机收不到主机的“心跳”,表明主机系统发生故障,主机可能已经停止工作,此时系统资源将转移到备用系统上,备用系统将替代主机提供服务,以保证数据服务运行不间断。

2 系统设计

2.1 双机热备份系统的组成

备份系统由三部分组成:主服务器Tracker,存储服务器Storage和备份服务器。

系统中每个服务器的具体功能如下:

(1)主服务器Tracker

主服务器Tracker保存文件存储系统中所有文件的相关信息,管理文件元数据,负责管理和协调各个存储服务器Storage。但主服务器Tracker不负责存储文件,也不负责具体的文件上传下载工作,这样就大大减轻了Tracker的负担,避免Tracker成为系统的瓶颈。

(2)存储服务器Storage

存储服务器Storage负责存储文件,以及文件的上传下载工作。存储服务器Storage之间是平等的,且具有很强的自主性,可以对本地所存储的文件资源进行管理,并根据文件的下载频率或者其他相关信息,在其余节点上冗余存储文件,保证了文件在多个节点上都有冗余,当某个节点发生故障时,用户可以从其余节点下载文件,保证了文件有稳定的来源,用户可以安全可靠地进行下载,并为多源下载提供了可能。

(3)备份服务器

备份服务器是备份系统的核心,它与存储服务器Storage随时保持文件的同步,当有文件上传到存储服务器的时候,存储服务器会将新上传的文件立刻同步到备份服务器上,保证在存储服务器发生突发状况宕机时,备份服务器能立刻运行,即文件信息的同步备份。

2.2 双机热备份系统的设计

双机热备份系统使用互为备份的两台服务器,其中只有一台存储服务器为客户端提供服务,人为设置一台存储服务器为工作机(主存储服务器),相应的另一台服务器就作为备份用机(备份服务器)。当系统在正常的工作的情况下,工作机为客户端提供服务,与此同时工作机与备份用机都发送心跳报告给主服务器Tracker,此段时间,备用机作为待机状态。这时当多个客户端同时发出请求的时候,存储器也就是工作机响应客户端的请求,在数据操作完之后将信息与备份机同步。当工作机出现故障,也即心跳停止,主服务器Tracker认为主存储服务器发生了故障,这时备用服务器接管工作机的工作,继续支持系统的运营。

由于它们之间的相互通信是通过发送心跳报告给主服务器Tracker的方式,由于这段心跳时间的存在,系统会有短暂的空白时间。当第一次心跳发出之后第二次心跳发出之前的这个时间段之间,是属于系统的空白时间。主存储服务器发生由于某种故障,导致主存储服务器宕机,而在下一次心跳达到之前的这段时间,这段时间客户端的所有请求服务器是无法响应的,即使得到主服务器的响应,但是客户端是无法于主存储器进行通信。因为这段时间内,主服务器还不知道主机的工作状态是否正常。因此心跳时间的设置也就直接影响了系统的间断时间。

服务器备份的实际工作方式是,服务器1(Server1)处于激活状态(Active),服务器2(Server2)处于备用状态(Standby),由于Server1处于Active状态,则“服务1”服务由Server1所提供。主服务器同时接受存储服务器即服务器1和备份服务器即服务器2的心跳线路,当服务器1由于某些突发情况在设定时间内没有发送心跳信息的时候,也即当Server1由于物理故障或软件故障而不能提供“服务1”服务,这时主服务器不能再接收到Server1的心跳报告,于是主服务器Tracker会认为Server1已经死亡,这时Server2将接管Server1提供服务进程。在Server2提供服务的同时,当Server1恢复到正常工作状态能提供服务时,Server1会发送心跳报告给主服务器Tracker,这时Tracker服务器会默认Server1为备份服务器,也即Server1与Server2的主次位置已经发生交换。

3 双机热备备份系统的实现

程序实现双机热备分系统时,程序主要功能由storage包,tracker包和user包组成。分别表示存储服务器的各个功能实现,主服务器Tracker的功能实现和客户端的功能实现。双机热备的备份流程主要由三部分组成:第一部分主要是以客户机为中心,主要描述了它与主服务器Tracker和主存储器之间的信息交换和传递的过程。第二部分主要是以主存储器为中心,主要描述了它与主服务器Tracker和备份服务器之间的信息交换和传递。第三部分是当主存储服务器由于某种原因发生宕机的现象也即主存储服务器失效,备份机继续提供服务的情况。下面具体说明三个部分。

第一部分:

①客户端读取配置文件的过程,在配置文件中主要写明了主服务器的IP和访问端口以及缓存的大小。

②客户端在获取主服务器的IP和端口号之后,向主服务器发送请求协议,说明其需要服务的类型,主要有上传、下载等。

③主服务器在监听端口的过程中,当接收到一个新的连接时会创建一个Socket来处理。在解析协议之后,主服务器会通过查询存储服务器的状态表将设定的主存储器的IP和端口号反馈给客户端,让客户端去连接主存储服务器。在程序中,默认状态1为可用状态。

④在客户端获得主服务器的信息反馈之后,就已得到了主存储器的IP和端口号,这时,客户端会根据IP和端口号将发送请求协议给主存储服务器,并等待主存储服务器的反馈信息。

⑤主存储器会监听端口,直到接收到一个连接时就为其创建一个线程处理这个连接。先解析客户端发送过来的协议,若为上传请求则调用处理上传请求的函数。之后返回给客户端文件上传应存储的地址。

⑥客户端获取反馈之后,与主存储器形成连接,传输文件流。

这时,第一部分的关于客户端的文件流传输应该完成。

第二部分:

(1)主存储器和备份存储器首先会读取配置文件。获取主服务器的IP。

(2)在存储器获取主服务器IP之后向主服务器发送心跳信息,同时报告本机的一些基本信息。信息包括有本机(存储服务器)的IP地址、端口号、状态、剩余空间和总存储空间等。

(3)主服务器收到心跳以及信息报告后,就会知道该存储服务器为正常运行状态,并将其加入到Storage⁃List这个队列里面去。并将这个队列信息反馈给该存储服务器。

(4)在主存储服务器没有宕机的情况下,主存储服务器是处于活动状态也即Active,也就是说只有主服务器是有数据的存储变化的。因此在主存储服务器收到主服务器的队列信息后,会发送协议请求给备份服务器,以实现信息的同步。

(5)备份服务器的端口监听到连接之后,会将同步文件应该存储的地址反馈给主存储服务器,让主存储服务器将文件流发送至该地址。

(6)主存储服务器与备份服务器完成数据的同步也即完成数据的备份。

第三部分:在主存储服务器不再发送心跳信息的时候,主服务器经过一段时间没有接收到默认主存储服务器的报告,而这时备份存储服务器仍然在发送心跳信息的情况下,主服务器就会将备份存储服务器设置为主存储服务器,将其IP和端口号发送给客户端,让客户端去主动连接备份存储服务器。

由以上三个部分组成了双机热备份系统的整体运行情况。

4 系统测试

4.1 测试环境

测试系统由两台服务器组成,其中存储服务器两台,客户机两台,考虑到节点服务器的负载量较少,所以选择其中一台客户机同时作为节点服务器。另外各服务器通过华为HG520s路由交换机互连。所有的实验数据都是实现文件上传所做的记录。

客户机A同时为节点交换机,客户机B,存储器C, D。各服务器配置如表1所示:

表1 服务器配置表

服务器和客户端所在的主机分别配置了IP,它们通过路由交换机相连组成局域网,这就模拟了一个在局域网上进行备份速度的测试环境。

4.2 双机热备系统的备份速度

在整个测试的过程中,我们分别使用文件大小为1K,10K,100K,1000K的文件作为备份文件,而文件的数量则是以2的指数增长,即从128个文件到4096个文件。

收集双机热备份系统在文件大小和文件数量不断变化下,备份时间的变化情况。如图1所示:

图1 双机热备份系统备份速度

由图1显示可以看出,相同的备份文件数量,随着文件大小的变化,备份时间相差的并不明显。

5 结语

本文基于P2P分布式存储设计并实现了双机热备份系统,备份系统由主服务器Tracker,存储服务器Stor⁃age和备份服务器组成,当主存储服务器因为其他原因宕机不能提供服务时,通过心跳协议联系,由备份服务器及时接管存储服务器的工作,继续支持系统的运行,提高企业数据库的安全性和可靠性。

[1]付印金,肖侬,廖湘科,et al.Application-Aware Client-Side Data Reduction and Encryption of Personal Data in Cloud Backup Services [J].Journal of Computer Science and Technology,2013,28(6):1012-1024.

[2]Guidi B,Amft T,Salve A D,et al.DiDuSoNet:A P2P Architecture for Distributed Dunbar-based Social Networks[J].Peer-to-Peer Networking and Applications,2016,9(6):1-18.

[3]Park G S,Song H.A Novel Hybrid P2P and Cloud Storage System For Retrievability And Privacy Enhancement[J].Peer-to-Peer Networking and Applications,2016,9(2):299-312.

[4]Wang S,Zhu X,Sun Q,et al.Low-Cost Web Service Discovery Based on Distributed Decision Tree in P2P Environments[J].Wireless Personal Communications,2013,73(4):1477-1493.

[5]Toka L,Michiardi P.Analysis of User-driven Peer Selection In Peer-to-peer Backup and Storage Systems[J].Telecommunication Systems,2011,47(1):49-63.

[6]Neelaveni P,Vijayalakshmi M.FC-LID:File Classifier Based Linear Indexing for Deduplication in Cloud Backup Services[M].Distributed Computing and Internet Technology.2016.

[7]Li X,Qian L.A Hybrid Disaster-tolerant Model with DDFTechnology for Moosefs Open-Source Distributed File System[J].Journal of Super Computing,2016:1-17.

Design and Implementation of Dual Computer hot Backup System Based on P2P Distributed Storage

JIANG Yi-lin,LI GUO-xiang

(Department of Academic Affairs,Guangxi University of Finance and Economics,Nanning 530003)

With the degree of social information is getting higher and higher,the importance of information data to the enterprise is also growing,to en⁃sure the reliability and security of information data become the core of enterprise competition.In order to adapt to social development and change,designs and implements dual computer hot backup system based on P2P distributed storage,the system uses heartbeat protocol to ensure the connection between the primary storage system and the standby storage system,to improve the security and reliability of enter⁃prise database,to ensure that the data is not lost and business services uninterrupted.

蒋怡琳(1987-),女,广西桂林人,硕士研究生,助理研究员,研究方向为分布式存储、大数据

2017-03-06

2017-05-16

广西财经学院青年教师科研发展基金研究项目(No.2016QNA03)

1007-1423(2017)15-0076-05

10.3969/j.issn.1007-1423.2017.15.020

李国祥(1984-),男,山东济宁人,硕士研究生,讲师,研究方向为人工智能、图像处理

P2P Distributed Storage;Dual Computer Hot Backup;Heartbeat Protocol;Backup

猜你喜欢
双机备份客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
液氧煤油发动机氧系统双机耦合振荡频率特性
如何只备份有用数据而不备份垃圾数据
Windows10应用信息备份与恢复
双机、双桨轴系下水前的安装工艺
旧瓶装新酒天宫二号从备份变实验室
新华社推出新版客户端 打造移动互联新闻旗舰
SQL Server 2005数据库的备份类型与策略
蓝天双雄——歼八II双机编队