一种基于分布式文件系统的数据同步方法和装置与流程

文档序号:16781562发布日期:2019-02-01 19:10阅读:185来源:国知局
一种基于分布式文件系统的数据同步方法和装置与流程

本申请属于分布式处理技术领域,具体地,涉及一种基于分布式文件系统的数据同步方法和装置。



背景技术:

随着人们生活质量的不断提高,对互联网的应用也在不断的普及。为了更加方便的为我们提供服务,互联网络的应用也在不断的发展和演进,与此同时所带来的网络安全性问题也就越来越多,使之对市场上网络安全类产品的需求不断的增加。在众多的网络安全类问题之中,文件被意外删除而导致的重要信息改变或丢失的情况最为严重,为此国内外的网站对网页防意外删除技术领域的研究也在不断的进行着。

在网页防篡改系统出现的初期,其内部结构非常的简单、功能模块划分也较少。远然能够解决网站的一些基本的安全性问题,但有着许多的不足之处。如果当黑客采用规模大型的、动作连续的篡改活动去攻击某个重要网站的时候此时的防篡改系统将无法完成对网站的保护功能。随着人们对互联网的依赖性越来越强,对网页的访问量越来越大,在这种情况下要想保护网站的安全简单的防篡改系统将无力应对。因此,为了有效的防止网页被篡改,保护网站的安全,网页防篡改系统也在逐步的发展和完善。随着防篡改技术的逐步提高,防篡改系统的内部结构也变的越来越复杂,功能模块的划分也越来越多。此时的防篡改系统正是通过各模块间的相互作用,彼此配合,完成整个防篡改系统的功能。各模块间的联系密切、环环相扣、缺一不可。

因此,在网页防篡改系统中,有必要对本文实现的分布式文件同步系统进行更加的优化,使之通过更加简单的系统信息配置操作就能够完成对文件的多机发布的功能,提高系统使用的简单性;同步系统有必要在提高文件传输效率的设计方面展开更进一步的深入研究工作,充分优化系统的功能,使之能够更好的与防篡改系统相融合,发挥其应有的功能。



技术实现要素:

本发明请求保护一种基于分布式文件系统的数据同步方法,整体上采用物理服务器和虚拟服务器与双服务器交互通信的工作模式用于数据交互的同步校验,内部采用内存数据和元数据集群相分离的模式,各方服务器执行对应工作,对数据同步达到同步及时,更新准确的技术效果。

一种基于分布式文件系统的数据同步方法,其特征在于:

数据服务器采用双服务器工作模式与物理服务器和虚拟服务器同时进行通信交互的过程中,监测所述物理服务器和所述虚拟服务器的工作状态;

其中,所述通信交互包括:与所述物理服务器进行信号交互,与所述物理服务器和所述虚拟服务器同时进行数据交互;

建立基于数据库的内存集群和元数据集群,分布式文件系统的内存数据存储到该集群中的分布式数据库,同时,存储该集群中的分布式数据库的元数据进行处理操作;

所述数据服务器若确定所述物理服务器出现故障且所述虚拟服务器正常工作,则向所述虚拟服务器发送单服务器工作模式切换指令;

自动化物理服务器到虚拟服务器,根据应用逻辑架构定义的虚拟机资源分层管理,计算资源的智能分配,在线动态扩展资源;

所述数据服务器接收所述虚拟服务器返回的第一确认响应,并采用单服务器工作模式继续与所述虚拟服务器进行所述信号交互和所述数据交互;

虚拟服务器的数据节点创建临时数据块,根据接收的信号差异写入数据至该临时数据块,以临时数据块的内容替换原数据节点内部的文件内容,实现数据同步。

通过上述发明内容可以看出,本发明采用物理服务器和虚拟服务器与双服务器交互通信的工作模式,两服务器各司其职分别负责,在必要情况下切换到单服务器工作模式,有效保证了系统的运行效率;同时,数据库内部基于内存集群和元数据集群对数据同步的内容进行聚类处理,分别对待,有效保证了数据同步资源的合理分配和数据同步的准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明所涉及的一种基于分布式文件系统的数据同步方法的工作流程图。

附图2为本发明所涉及的一种基于分布式文件系统的数据同步装置的结构模块图。

具体实施方式

本发明首先保护一种基于分布式文件系统的数据同步方法,参照附图1,为该方法的工作流程图,其特征在于:

数据服务器采用双服务器工作模式与物理服务器和虚拟服务器同时进行通信交互的过程中,监测所述物理服务器和所述虚拟服务器的工作状态,其中,所述通信交互包括:与所述物理服务器进行信号交互,与所述物理服务器和所述虚拟服务器同时进行数据交互;

建立基于数据库的内存集群和元数据集群,分布式文件系统的内存数据存储到该集群中的分布式数据库,同时,存储该集群中的分布式数据库的元数据进行处理操作;

所述数据服务器若确定所述物理服务器出现故障且所述虚拟服务器正常工作,则向所述虚拟服务器发送单服务器工作模式切换指令;

自动化物理服务器到虚拟服务器,根据应用逻辑架构定义的虚拟机资源分层管理,计算资源的智能分配,在线动态扩展资源;

所述数据服务器接收所述虚拟服务器返回的第一确认响应,并采用单服务器工作模式继续与所述虚拟服务器进行所述信号交互和所述数据交互;

虚拟服务器的数据节点创建临时数据块,根据接收的信号差异写入数据至该临时数据块,以临时数据块的内容替换原数据节点内部的文件内容,实现数据同步。

其中优选的,所述物理服务器和虚拟服务器同时进行通信交互的过程中还包括:

与虚拟服务器建立跳连接,使得虚拟服务器可了解到自己的当前状态,包括当前状态、负载、更新等情况,同时等待虚拟服务器发送任务请求,接收到虚拟服务器发送的连接客户端请求后,与客户端建立连接监听客户端的操作请求,及时作出响应;

当前物理服务器从客户端提交了更新后,数据缓存服务器会将更新同步到物理服务器,完成后再将更新消息提交给虚拟服务器,由虚拟服务器控制其它数据缓存服务器与物理服务器进行同步。

在对小文件进行同步的时候一般会有两个步骤:首先到元数据结点获得小文件索引所在的数据结点位置和数据文件的流。这其中写的时候获得的是数据文件的输出流,读的时候获得的是数据文件的输入流。小文件进行操作的时候,如果连续访问的小文件隶属于同一个目录,那么它们这些信息是相同的。系统通过在客户端缓存目录对应的索引位置信息和该目录下的数据文件的输入流、输出流,减少与元数据结点交互从而提高文件的访问速度,同时也不需要频繁要求元数据结点修改更新标志,只有当更新标志出现变化时才需要进行。缓存在客户端索引位置的信息数默认为20,用户可以自行设置。缓存默认使用lru淘汰策略,因为在客户端不存在多个线程的情况,所以对缓存没有采用锁机制。

由于客户端缓存了小文件索引位置和更新标志的信息,这样就不需要频繁地与元数据结点访问,让系统的性能得到了很大的提高,但是却给各个数据结点中索引的一致性带来了问题。根据选择规则,索引位置映射表中主数据结点作为创建索引的位置,它的内容是最新的。客户端1如对副本数据结点1进行查询后,它在缓存中更新标志变为为n,并对元数据结点映射表对应的项进行修改。此时有客户端2获取了映射表的信息,得知副本数据结点1更新标志位n。此时客户端1创建索引使得副本数据结点1的更新标志变为y,而客户端2并不能主动知道,所以它将看不到客户端1刚刚创建的小文件。

进一步优选的,所述数据节点中的同步控制节点根据客户端输入的源路径从源文件系统的元数据节点获取拷贝列表,创建线程池并根据该拷贝列表为每个线程分配源文件,该拷贝列表为源路径下的所有源文件的列表,包括各源文件的文件名、大小以及文件路径。

同步控制节点的各线程从源文件系统的元数据节点获取各线程被分配的源文件的元数据,根据源文件的元数据从相应的源数据节点中分别获取源文件包含的各数据块的校验码。

同步控制节点的各线程从目标文件系统的元数据节点获取各源文件对应的目标文件的元数据,比较源和目标文件的大小,根据比较结果,向目标文件系统的元数据节点申请创建或删除目标文件的数据块,使得目标文件大小与源文件一致。

同步控制节点的各线程从目标文件系统的元数据节点重新获取各目标文件的元数据,根据各目标文件的元数据从相应的目标数据节点获取各目标文件包含的所有数据块的校验码。

同步控制节点的各线程根据各自的源和目标文件的元数据以及所有源和目标数据块的校验码生成文件校验码列表,该文件校验码列表包括:数据块的序号、源数据块id、源数据块校验码、源数据节点id和目标数据块id、目标数据块校验码、目标数据节点id以及目标数据块是否为新创建数据块的标记位。

可以选择随机对源数据空间进行分割,对跨度较长的维平均分割,对每个维聚类切分等等,大型分布式文件系统的集群通常跨越多个机架,不同机架上的计算机之间的通信需要通过交换机,传输代价大。而大多数情况下,不同机架两个计算机之间的带宽较同一机架内的两个计算机间的小。目前分布式文件系统的复本策略为将复本保存在两个不同的机架上,可以防止一个机架出问题的时候会丢失数据,同时当读数据时,可以使用就近原则,访问离客户端计算机最近的存放源数据的节点,或利用不同机架间的带宽减少读取时间。将计算移动到数据存储节点附近,较之移动数据到计算节点附近显然更高效,移动运算的代价低过移动数据。

进一步地,优选的,所述分布式文件系统采用mapreduce线程工作,所述mapreduce程序根据用户给出的创建目录的个数,每个目录下创建小文件的数量在分布式文件系统中创建与目录个数一样多的控制文件作为map函数的输入文件。

测试的map函数,主要利用海量小文件存储系统的创建指定数量和大小的小文件和使用海量小文件存储系统读小文件的接口读取写测试时所创建目录下的所有小文件。

写测试和读测试使用相同的reduce函数,该函数统计各个map的输出数据,如mapreduce程序测试文件的总大小,总数量,总运行时间等,并将这些数据存放到分布式文件系统中。

结果分析函数会从分布式文件系统中将reduce统计的结果数据读出,并通过给定的公式计算出,分布式文件系统或海量小文件存储系统的写入和读取小文件的速度等。

在每次mapreduce程序运行结束后,需要记录海量小文件存储系统和分布式文件系统在系统中的内存占有率。

进一步优选的,所述元数据集群,授权用户访问数据缓存服务器集群,快速的为客户端与数据服务器建立连接;实时监测每个数据缓存服务器的状态,依据状态信息来为用户分配能够提供最优服务的数据缓存服务器。同时利用缓存一致性策略来确保用户数据在数据缓存服务器集群中的一致性和稳定性;元数据集群受控于虚拟服务器,负责跟客户端进行数据的交互,实时的对每个用户数据状态进行监控。同时将状态信息提交给虚拟服务器,确保控制服务器对用户数据状态的可追踪性。与事务控制服务器间建立着心跳连接,将自身的网络可用带宽、cpu利用率等影响服务质量的因素传递给虚拟服务器。

在存储系统中,一个物理的文件就对应着一个逻辑的表示,组成的元数据信息。当进行文件读取的时候,就会先进行逻辑文件的读取,然后再根据所组成的元数据信息序列,从存储系统中取出与其相对应的那个数据块,最终将其物理文件的副本进行还原。数据文件通过key/value的数据结构来存储小文件的数据,不仅降低了海量小文件在分布式文件系统中元数据的规模,同时提高了小文件的访问速度(通过减少与元数据节点的交互),更有利于基于mapreduce的数据处理,为分布式计算提供了支持。

将客户端在同一目录下存储的小文件全部保存到该目录下的数据文件中,该数据文件是分布式文件系统中的文件。同时生成索引,记录小文件在数据文件中的具体位置及其他相关信息,并将索引交由各个数据结点来维护管理并且数据结点向客户端提供索引服务。元数据结点需要记录用来维护小文件索引的数据结点。当客户端需要向数据结点提出某个目录下小文件的索引服务请求时需先从分布式文件系统中获取数据结点的位置。客户端缓存机制会缓存维护小文件索引的数据结点位置和数据文件信息,减少访问元数据结点的次数从而大大提高了小文件的访问速度。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1