CN114185484A - 一种文档存储集群化的方法、装置、设备和介质 - Google Patents

一种文档存储集群化的方法、装置、设备和介质 Download PDF

Info

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
Application number
CN202111297292.6A
Other languages
English (en)
Inventor
张辉
吴桂荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Centerm Information Co Ltd
Original Assignee
Fujian Centerm Information Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Centerm Information Co Ltd filed Critical Fujian Centerm Information Co Ltd
Priority to CN202111297292.6A priority Critical patent/CN114185484A/zh
Publication of CN114185484A publication Critical patent/CN114185484A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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的大小的计算方式为:
Figure BDA0003336965370000061
式中,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的大小的计算方式为:
Figure BDA0003336965370000081
式中,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服务器返回给用户。
2.根据权利要求1所述的一种文档存储集群化的方法,其特征在于:还包括数据块定义过程,该数据块定义过程进一步包括:
(1)手动配置过程,即通过所述nginx服务器提供手动配置界面供用户对一个文件的数据块个数进行手动配置,则数据块的大小为文件数据大小与数据块个数的商;
(2)自动配置过程,所述数据块的大小是根据磁盘的数据传输时间和寻址时间的平衡原则来自动设置的,所述平衡原则是寻址时间为数据传输时间的1%,即最佳数据传输时间Tc是平均寻址时间Tx的100倍,则所述数据块block的大小的计算方式为:
Figure FDA0003336965360000011
式中,Vc为普遍数据传输速度。
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服务器返回给用户。
6.根据权利要求5所述的一种文档存储集群化的装置,其特征在于:还包括数据块定义模块,用于提供下述过程:
(1)手动配置过程,即通过所述nginx服务器提供手动配置界面供用户对一个文件的数据块个数进行手动配置,则数据块的大小为文件数据大小与数据块个数的商;
(2)自动配置过程,所述数据块的大小是根据磁盘的数据传输时间和寻址时间的平衡原则来自动设置的,所述平衡原则是寻址时间为数据传输时间的1%,即最佳数据传输时间Tc是平均寻址时间Tx的100倍,则所述数据块block的大小的计算方式为:
Figure FDA0003336965360000031
式中,Vc为普遍数据传输速度。
7.根据权利要求5所述的一种文档存储集群化的装置,其特征在于:还包括:
用户会话管理模块,用于在用户上传文件或下载文件之前,通过nginx服务器接收用户的登录请求,并根据负载均衡原则将登录请求转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器从数据库主备***中获取该用户信息进行校验;若校验成功,则将用户的登录信息保存在redis服务器集群中作为用户的会话信息凭证,最后返回登录成功信息;
其中,所述redis服务器集群为用户session会话的集群共享,无论用户的登录请求被nginx服务器转发到哪一台文档***服务器上,该文档***服务器都能从统一的redis缓存服务器集群中上读取到用户的会话信息。
8.根据权利要求5所述的一种文档存储集群化的装置,其特征在于:还包括:
文件预览服务模块,用于在所述文件存储过程或所述文件下载过程中,通过nginx服务器接收用户的文件预览请求,并根据负载均衡原则转发给后端的文档***服务器集群中的任意之一文档***服务器;由所述文档***服务器根据负载均衡原则,将该文件对应的所有数据块转发给文档转换服务器集群,由所述文档转换服务器集群对数据块进行格式转换成可预览的格式后进行预览展示;
数据恢复模块,用于当Hadoop服务器集群中某台Hadoop服务器的数据损坏时,所述文档***服务器根据NameNode组件记录的该数据块的存储地址从其他Hadoop服务器读取对损坏的数据块进行恢复。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
CN202111297292.6A 2021-11-04 2021-11-04 一种文档存储集群化的方法、装置、设备和介质 Withdrawn CN114185484A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国工商银行股份有限公司 文件的存储方法、装置和服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
范旭辉: "基于Hadoop的工业大数据存储分析***", 《科技创新与应用》, pages 1 - 4 *

Cited By (6)

* Cited by examiner, † Cited by third party
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