CN114185484A - 一种文档存储集群化的方法、装置、设备和介质 - Google Patents
一种文档存储集群化的方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN114185484A CN114185484A CN202111297292.6A CN202111297292A CN114185484A CN 114185484 A CN114185484 A CN 114185484A CN 202111297292 A CN202111297292 A CN 202111297292A CN 114185484 A CN114185484 A CN 114185484A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- user
- data
- data block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文档存储集群化的方法、装置、设备和介质,方法包括:文件存储过程:通过nginx服务器接收用户上传的文件,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器以数据块的形式分布存储在Hadoop服务器集群各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、顺序和存储地址;文件下载过程:通过所述nginx服务器接收用户的文件下载请求,并根据负载均衡原则转发给所述文档***服务器集群中的任意一文档***服务器,请求Hadoop服务器集群获取该文件,根据各个数据块的存储地址从获得该文件对应的所有数据块并重新合成文件后返回给用户。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种文档存储集群化的方法、装置、设备和介质。
背景技术
通常情况下,文档是直接存储在服务器本地存储上,且单点保存,只有一个文件备份(即文件本身),这样,若是服务器宕机或者存储器损坏,则不可避免地导致文件丢失,这样会造成不可挽回的后果。
在此基础上,通常会发展成利用一个热备服务器,来实时同步主服务器上的文件数据,如采用rsync来实现文件比对和同步,一旦主服务器不可用或者存储损坏,备份服务器可以接替主服务器提供文件数据服务。然而目前现有技术采用主备实时同步的方案,实际上并不是真正的同步,数据依然有很大的风险丢失,数据同步存在一定的间隔性,且主备方式增加了数据维护成本的增加。
发明内容
本发明要解决的技术问题,在于提供一种文档存储集群化的方法、装置、设备和介质,采用数据块形式完全分布式存储在Hadoop服务器集群的至少两台机器上,每个数据块可以具有至少两份,无需进行数据同步,由软件实现数据的分布式存储。
第一方面,本发明提供了一种文档存储集群化的方法,包括:
文件存储过程:通过nginx服务器接收用户上传的文件,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器;所述文档***服务器将文件统一保存到Hadoop服务器集群中,所述文件是以数据块的形式分布存储在Hadoop服务器集群各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在至少两个Hadoop服务器进行备份;
文件下载过程:通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给所述文档***服务器集群中的任意一文档***服务器;由所述文档***服务器请求Hadoop服务器集群获取该文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。。
第二方面,本发明提供了一种文档存储集群化的装置,包括:
nginx服务模块,用于通过nginx服务器接收用户上传的文件,以及用于通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器;
文档服务模块,在上传文件时用于所述文档***服务器将文件是以数据块的形式分布存储在Hadoop服务器集群的各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在至少两个Hadoop服务器进行备份;以及在文件下载时用于所述文档***服务器请求Hadoop服务器集群获取文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:文件是以数据块的形式采用分布式存储在Hadoop服务器集群的各个Hadoop服务器上,使文档服务器集群化,能够提升本***的用户并发数和吞吐量,大大提高了性能;且文件的分布式存储还保证了数据的高可用性和完整性;数据块的分布式存储导致在Hadoop服务器集群上无法直接读取文件,只能通过文档***服务器根据存储地址进行读取,大大提高了数据的安全性;且每个数据块还在多个Hadoop服务器上进行备份,同样提高了数据的安全性和高可用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明***的框架示意图;
图2为本发明实施例一中方法中的流程图;
图3为本发明实施例二中装置的结构示意图;
图4为本发明实施例三中电子设备的结构示意图;
图5为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种文档存储集群化的方法、装置、设备和介质,采用数据块形式完全分布式存储在Hadoop服务器集群的至少两台机器上,每个数据块可以具有至少两份,无需进行数据同步,且在Hadoop服务器集群上是无法直接读取文件,极大地保障了数据的安全性。
本申请实施例中的技术方案,总体思路如下:文件是以数据块的形式采用分布式存储在Hadoop服务器集群的各个Hadoop服务器上,使文档服务器集群化,能够提升本***的用户并发数和吞吐量,大大提高了性能;且文件的分布式存储还保证了数据的高可用性和完整性;数据块的分布式存储导致在Hadoop服务器集群上无法直接读取文件,只能通过文档***服务器进行读取,大大提高了数据的安全性;且每个数据块还在多个Hadoop服务器上进行备份,同样提高了数据的安全性和高可用性。
在介绍具体实施例之前,先介绍本申请实施例方法所对应的***框架,如图1所示,***分为如下几个部分:
nginx服务器,统一接收用户请求,并转发到后端文档服务器上。
文档***服务器集群,包括至少两台文档服务器,用于统一处理用户的日常请求,以及承担文件操作业务,根据业务性质对接各个数据服务器,如Hadoop服务器集群、数据库服务器、文档转换服务器集群、redis缓存服务器集群等。
Hadoop服务器集群,包括至少两台Hadoop服务器,用于文件数据块的存储,保证文件分布式存储和Hadoop集群高可用。Hadoop是一个由Apache基金会所开发的分布式***基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件***(Distributed File System),其中一个组件是HDFS(Hadoop DistributedFile System)。HDFS具有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它可以提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX(Portable Operating System Interface ofUNIX,可移植操作***接口)的要求,可以以流的形式访问(streaming access)文件***中的数据。
数据库主备***,用于保存用户的业务数据,部署两台服务器,分别为主数据库服务器和备数据库服务器,避免了单点故障,保证了高可用性。
文档转换服务器集群,可以是一台或多台文档转换服务器,用于部署文档转换服务,作为用户预览文件所需服务;
redis缓存服务器集群,作为用户session会话的集群共享,包括至少两台redis缓存服务器,保存用户会话信息,无论用户的请求被文档***服务器集群转发到哪一台redis缓存服务器上,都可以从统一的redis缓存服务器集群上读取到用户的会话信息,保证用户请求能够发送到redis缓存服务器集群中的任意一台机器上,而不会被强制重新登录。因为本发明***是集群分布式架构,所以用户每次请求都会通过nginx服务器转发到不同的文档服务器,如果用户登录验证在文档服务器A上,并直接将会话信息保存在文档服务器A上,那么下次请求发到文档服务器B上,而文档服务器B上是没有用户保存的会话信息,所以会导致用户验不通过,从而返回重新登录的信息,所以将用户登录的会话信息保存在一个共享的redis服务器集群中,那么每台文档服务器都从redis服务器集群上获取用户的会话信息,可以做到会话集群共享,不会被强制重新登录。
实施例一
如图2所示,本实施例提供一种文档存储集群化的方法,包括:
文件存储过程:通过nginx服务器接收用户上传的文件,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器;所述文档***服务器将文件统一保存到Hadoop服务器集群中,所述文件是以数据块的形式分布存储在Hadoop服务器集群各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在多个Hadoop服务器具有备份;这样当某台存储服务器挂掉的时候,数据块可以从其他服务器读取,确保某台服务器的数据损坏,在其他服务器能找到备份进行恢复。
文件下载过程:通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给所述文档***服务器集群中的任意一文档***服务器;由所述文档***服务器请求Hadoop服务器集群获取该文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。其中,所述负载均衡原则即nginx负载均衡原则,具有四种配置,包括ip hash、轮询、权重、最少连接,且配置支持手动配置修改,在一具体实施例中可采用轮询方式进行负载均衡转发,轮询方式也是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除。
其中,作为本实施例的一种更优或更为具体的实现方式,所述方法还包括数据块定义过程、用户会话管理过程、文件预览服务过程以及数据恢复过程。
数据块定义过程进一步包括:
(1)手动配置过程,即通过所述nginx服务器提供手动配置界面供用户对一个文件的数据块个数进行手动配置,则数据块的大小为文件数据大小与数据块个数的商;例如:一个30MB的文件,若手动配置数据块个数为6个,那么数据块的大小为5MB,则文件会被拆分成6个相同大小的数据块保存。
(2)自动配置过程,所述数据块的大小是根据磁盘的数据传输时间和寻址时间的平衡原则来自动设置的,所述平衡原则是寻址时间为数据传输时间的1%,即最佳数据传输时间Tc是平均寻址时间Tx的100倍,则所述数据块block的大小的计算方式为:
式中,Vc为普遍数据传输速度。
一般来说,文件数据块的个数可以手动配置,由于关于数据块的大小会影响寻址速度和传输速度,如果设置过大,从磁盘传输数据的时间会明显大于寻址时间,导致程序在处理这块数据时变得非常慢;如果设置过小,一方面,一个文件会被分割为大量的小文件,存放大量小文件会占用Hadoop的NameNode组件中大量内存来存储元数据,而NameNode的内存是有限的,因此不可取;另一方面,由于数据块过小,寻址时间增长,导致程序一直在找block的开始位置。因此,块适当设置大一些,减少寻址时间,那么传输一个有多个块组成的文件的时间主要取决于磁盘的传输速度。因此自动配置过程要根据磁盘的数据传输时间和寻址时间的平衡原则来自动设置的。
例如:Hadoop的HDFS中平均寻址时间Tx大概为10ms;经过大量测试发现,寻址时间为传输时间的1%时,为最佳状态,所以最佳传输时间Tc为:10ms/0.01=1000s=1s,目前磁盘普遍的传输速度Vc为100MB/s,则最佳block大小计算:100MB/s*1s=100MB;所以可以设置block大小为128MB。
用户会话管理过程:在用户上传文件或下载文件之前,通过nginx服务器接收用户的登录请求,并根据负载均衡原则将登录请求转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器从数据库主备***中获取该用户信息进行校验;若校验成功,则将用户的登录信息保存在redis服务器集群中作为用户的会话信息凭证,最后返回登录成功信息;登录成功后,通常会通过Jackrabbit组件获取用户文件列表,展示用户文件列表,从而供用户选择文件进行下载。
其中,所述redis服务器集群为用户session会话的集群共享,无论用户的登录请求被nginx服务器转发到哪一台文档***服务器上,该文档***服务器都能从统一的redis缓存服务器集群中上读取到用户的会话信息。
文件预览服务过程:在所述文件存储过程或所述文件下载过程中,通过nginx服务器接收用户的文件预览请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器根据负载均衡原则,将该文件对应的所有数据块转发给文档转换服务器集群,由所述文档转换服务器集群对数据块进行格式转换成可预览的格式后进行预览展示;
数据恢复过程:如前所述,由于每个数据块同时在多个Hadoop服务器具有备份,因此当Hadoop服务器集群中某台Hadoop服务器的数据损坏时,所述文档***服务器根据NameNode组件记录的该数据块的存储地址从其他Hadoop服务器读取对损坏的数据块进行恢复。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
如图3所示,在本实施例中提供了一种文档存储集群化的装置,包括:
nginx服务模块,用于通过nginx服务器接收用户上传的文件,以及用于通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给所述文档***服务器集群中的任意一文档***服务器;
文档服务模块,在上传文件时用于所述文档***服务器将文件是以数据块的形式分布存储在Hadoop服务器集群的各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在多个Hadoop服务器具有备份;以及在文件下载时用于所述文档***服务器请求Hadoop服务器集群获取文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。
其中,作为本实施例的一种更优或更为具体的实现方式,所述装置还包括:数据块定义模块、用户会话管理模块、文件预览服务模块以及数据恢复模块,
数据块定义模块用于提供下述过程:
(1)手动配置过程,即通过所述nginx服务器提供手动配置界面供用户对一个文件的数据块个数进行手动配置,则数据块的大小为文件数据大小与数据块个数的商;
(2)自动配置过程,所述数据块的大小是根据磁盘的数据传输时间和寻址时间的平衡原则来自动设置的,所述平衡原则是寻址时间为数据传输时间的1%,即最佳数据传输时间Tc是平均寻址时间Tx的100倍,则所述数据块block的大小的计算方式为:
式中,Vc为普遍数据传输速度。
用户会话管理模块,用于在用户上传文件或下载文件之前,通过nginx服务器接收用户的登录请求,并根据负载均衡原则将登录请求转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器从数据库主备***中获取该用户信息进行校验;若校验成功,则将用户的登录信息保存在redis服务器集群中作为用户的会话信息凭证,最后返回登录成功信息;
其中,所述redis服务器集群为用户session会话的集群共享,无论用户的登录请求被nginx服务器转发到哪一台文档***服务器上,该文档***服务器都能从统一的redis缓存服务器集群中上读取到用户的会话信息。
文件预览服务模块,用于在所述文件存储过程或所述文件下载过程中,通过nginx服务器接收用户的文件预览请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器根据负载均衡原则,将该文件对应的所有数据块转发给文档转换服务器集群,由所述文档转换服务器集群对数据块进行格式转换成可预览的格式后进行预览展示;
数据恢复模块,当Hadoop服务器集群中某台Hadoop服务器的数据损坏时,所述文档***服务器根据NameNode组件记录的该数据块的存储地址从其他Hadoop服务器读取对损坏的数据块进行恢复。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图4所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图5所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:文件是以数据块的形式采用分布式存储在Hadoop服务器集群的各个Hadoop服务器上,使文档服务器集群化,能够提升本***的用户并发数和吞吐量,大大提高了性能;且文件的分布式存储还保证了数据的高可用性和完整性;数据块的分布式存储导致在Hadoop服务器集群上无法直接读取文件,只能通过文档***服务器根据存储地址进行读取,大大提高了数据的安全性;且每个数据块还在多个Hadoop服务器上进行备份,同样提高了数据的安全性和高可用性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种文档存储集群化的方法,其特征在于:包括:
文件存储过程:通过nginx服务器接收用户上传的文件,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器;所述文档***服务器将文件统一保存到Hadoop服务器集群中,所述文件是以数据块的形式分布存储在Hadoop服务器集群各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在至少两个Hadoop服务器进行备份;
文件下载过程:通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给所述文档***服务器集群中的任意一文档***服务器;由所述文档***服务器请求Hadoop服务器集群获取该文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。
3.根据权利要求1所述的一种文档存储集群化的方法,其特征在于:还包括:
用户会话管理过程:在用户上传文件或下载文件之前,通过nginx服务器接收用户的登录请求,并根据负载均衡原则将登录请求转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器从数据库主备***中获取该用户信息进行校验;若校验成功,则将用户的登录信息保存在redis服务器集群中作为用户的会话信息凭证,最后返回登录成功信息;
其中,所述redis服务器集群为用户session会话的集群共享,无论用户的登录请求被nginx服务器转发到哪一台文档***服务器上,该文档***服务器都能从统一的redis缓存服务器集群中上读取到用户的会话信息。
4.根据权利要求1所述的一种文档存储集群化的方法,其特征在于:还包括:
文件预览服务过程:在所述文件存储过程或所述文件下载过程中,通过nginx服务器接收用户的文件预览请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器根据负载均衡原则,将该文件对应的所有数据块转发给文档转换服务器集群,由所述文档转换服务器集群对数据块进行格式转换成可预览的格式后进行预览展示;
数据恢复过程:当Hadoop服务器集群中某台Hadoop服务器的数据损坏时,所述文档***服务器根据NameNode组件记录的该数据块的存储地址从其他Hadoop服务器读取对损坏的数据块进行恢复。
5.一种文档存储集群化的装置,其特征在于:包括:
nginx服务模块,用于通过nginx服务器接收用户上传的文件,以及用于通过所述nginx服务器展示文件列表,接收用户的文件下载请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意一文档***服务器;
文档服务模块,在上传文件时用于所述文档***服务器将文件是以数据块的形式分布存储在Hadoop服务器集群的各个Hadoop服务器上,并通过NameNode组件记录数据块的个数、各个数据块的顺序和存储地址,其中,每个数据块同时在至少两个Hadoop服务器进行备份;以及在文件下载时用于所述文档***服务器请求Hadoop服务器集群获取文件,根据NameNode组件记录的各个数据块的存储地址从各个Hadoop服务器中通过流的方式获得该文件对应的所有数据块,并根据数据块的个数和各个数据块的顺序重新合成文件,并将文件通过所述nginx服务器返回给用户。
7.根据权利要求5所述的一种文档存储集群化的装置,其特征在于:还包括:
用户会话管理模块,用于在用户上传文件或下载文件之前,通过nginx服务器接收用户的登录请求,并根据负载均衡原则将登录请求转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器从数据库主备***中获取该用户信息进行校验;若校验成功,则将用户的登录信息保存在redis服务器集群中作为用户的会话信息凭证,最后返回登录成功信息;
其中,所述redis服务器集群为用户session会话的集群共享,无论用户的登录请求被nginx服务器转发到哪一台文档***服务器上,该文档***服务器都能从统一的redis缓存服务器集群中上读取到用户的会话信息。
8.根据权利要求5所述的一种文档存储集群化的装置,其特征在于:还包括:
文件预览服务模块,用于在所述文件存储过程或所述文件下载过程中,通过nginx服务器接收用户的文件预览请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器根据负载均衡原则,将该文件对应的所有数据块转发给文档转换服务器集群,由所述文档转换服务器集群对数据块进行格式转换成可预览的格式后进行预览展示;
数据恢复模块,用于当Hadoop服务器集群中某台Hadoop服务器的数据损坏时,所述文档***服务器根据NameNode组件记录的该数据块的存储地址从其他Hadoop服务器读取对损坏的数据块进行恢复。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297292.6A CN114185484A (zh) | 2021-11-04 | 2021-11-04 | 一种文档存储集群化的方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297292.6A CN114185484A (zh) | 2021-11-04 | 2021-11-04 | 一种文档存储集群化的方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185484A true CN114185484A (zh) | 2022-03-15 |
Family
ID=80601868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111297292.6A Withdrawn CN114185484A (zh) | 2021-11-04 | 2021-11-04 | 一种文档存储集群化的方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185484A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905131A (zh) * | 2022-11-09 | 2023-04-04 | 中国人民解放军32039部队 | 一种航天测控重传数据处理方法和*** |
CN116094804A (zh) * | 2023-01-10 | 2023-05-09 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
CN116760835A (zh) * | 2023-08-15 | 2023-09-15 | 深圳华锐分布式技术股份有限公司 | 分布式存储方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294585A (zh) * | 2016-07-28 | 2017-01-04 | 四川新环佳科技发展有限公司 | 一种云计算平台下的存储方法 |
US20180101525A1 (en) * | 2016-10-11 | 2018-04-12 | Canon Kabushiki Kaisha | Information processing apparatus, document display method, document display system, and medium |
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及***、可读存储介质和终端 |
CN110191128A (zh) * | 2019-05-30 | 2019-08-30 | 山东浪潮商用***有限公司 | 一种基于hdfs的税务文件共享***及实现方法 |
CN112800019A (zh) * | 2021-03-03 | 2021-05-14 | 国网甘肃省电力公司 | 基于Hadoop分布式文件***的数据备份方法及*** |
CN113032357A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 文件的存储方法、装置和服务器 |
-
2021
- 2021-11-04 CN CN202111297292.6A patent/CN114185484A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294585A (zh) * | 2016-07-28 | 2017-01-04 | 四川新环佳科技发展有限公司 | 一种云计算平台下的存储方法 |
US20180101525A1 (en) * | 2016-10-11 | 2018-04-12 | Canon Kabushiki Kaisha | Information processing apparatus, document display method, document display system, and medium |
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及***、可读存储介质和终端 |
CN110191128A (zh) * | 2019-05-30 | 2019-08-30 | 山东浪潮商用***有限公司 | 一种基于hdfs的税务文件共享***及实现方法 |
CN112800019A (zh) * | 2021-03-03 | 2021-05-14 | 国网甘肃省电力公司 | 基于Hadoop分布式文件***的数据备份方法及*** |
CN113032357A (zh) * | 2021-04-29 | 2021-06-25 | 中国工商银行股份有限公司 | 文件的存储方法、装置和服务器 |
Non-Patent Citations (1)
Title |
---|
范旭辉: "基于Hadoop的工业大数据存储分析***", 《科技创新与应用》, pages 1 - 4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115905131A (zh) * | 2022-11-09 | 2023-04-04 | 中国人民解放军32039部队 | 一种航天测控重传数据处理方法和*** |
CN115905131B (zh) * | 2022-11-09 | 2023-10-27 | 中国人民解放军32039部队 | 一种航天测控重传数据处理方法和*** |
CN116094804A (zh) * | 2023-01-10 | 2023-05-09 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
CN116094804B (zh) * | 2023-01-10 | 2023-09-08 | 广东红餐科技有限公司 | 基于Lvs服务器集群避免用户重复登录的方法 |
CN116760835A (zh) * | 2023-08-15 | 2023-09-15 | 深圳华锐分布式技术股份有限公司 | 分布式存储方法、设备及介质 |
CN116760835B (zh) * | 2023-08-15 | 2023-10-20 | 深圳华锐分布式技术股份有限公司 | 分布式存储方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114185484A (zh) | 一种文档存储集群化的方法、装置、设备和介质 | |
CN110532247B (zh) | 数据迁移方法和数据迁移*** | |
WO2017050141A1 (zh) | 基于分布式存储的文件分发***及方法 | |
US9560165B2 (en) | BT offline data download system and method, and computer storage medium | |
US20150237113A1 (en) | Method and system for file transmission | |
CN111182067B (zh) | 一种基于星际文件***ipfs的数据写入方法及设备 | |
CN107291750B (zh) | 一种数据迁移方法和装置 | |
WO2017096968A1 (zh) | 日志上传方法及装置 | |
WO2016138474A1 (en) | Data migration systems and methods including archive migration | |
CN109040252A (zh) | 文件传输方法、***、计算机设备和存储介质 | |
CN106156359A (zh) | 一种云计算平台下的数据同步更新方法 | |
CN106446168B (zh) | 一种面向分布式数据仓库的加载客户端实现方法 | |
CN104348859B (zh) | 文件同步方法、装置、服务器、终端及*** | |
CN112202853B (zh) | 数据同步方法、***、计算机设备和存储介质 | |
CN112866406B (zh) | 一种数据存储方法、***、装置、设备及存储介质 | |
CN111694791A (zh) | 一种分布式基础框架中的数据存取方法及装置 | |
CN102255866A (zh) | 一种数据下载方法及装置 | |
CN103077034A (zh) | 混合虚拟化平台java应用迁移方法与*** | |
CN110620798B (zh) | Ftp连接的控制方法、***、设备和存储介质 | |
CN114401261A (zh) | 文件下载方法及装置 | |
CN112364026A (zh) | 分布式数据分片存储读取的方法 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN116389233B (zh) | 容器云管理平台主备切换***、方法、装置和计算机设备 | |
CN105022779A (zh) | 一种利用Filesystem API实现HDFS文件存取方法 | |
CN112667393B (zh) | 分布式任务计算调度框架搭建的方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220315 |
|
WW01 | Invention patent application withdrawn after publication |