CN110278202A - 一种文件上传系统 - Google Patents

一种文件上传系统 Download PDF

Info

Publication number
CN110278202A
CN110278202A CN201910524167.0A CN201910524167A CN110278202A CN 110278202 A CN110278202 A CN 110278202A CN 201910524167 A CN201910524167 A CN 201910524167A CN 110278202 A CN110278202 A CN 110278202A
Authority
CN
China
Prior art keywords
file
information
matrix
fragment
module
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.)
Granted
Application number
CN201910524167.0A
Other languages
English (en)
Other versions
CN110278202B (zh
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.)
Nanjing Keyuan Information Technology Co Ltd
Original Assignee
Nanjing Keyuan Information Technology 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 Nanjing Keyuan Information Technology Co Ltd filed Critical Nanjing Keyuan Information Technology Co Ltd
Priority to CN201910524167.0A priority Critical patent/CN110278202B/zh
Publication of CN110278202A publication Critical patent/CN110278202A/zh
Application granted granted Critical
Publication of CN110278202B publication Critical patent/CN110278202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种文件上传系统,包括:前端浏览器,获取待上传的文件,获取文件的文件大小信息,将文件大小信息向后台服务器传输;后台服务器,当文件的文件大小信息超过预设文件大小阈值信息时,则向前端浏览器传输分片处理指令;前端浏览器,接收到分片处理指令后,对文件进行分片处理,将分片处理后获取的多个子文件向存储服务器传输;存储服务器,接收到子文件后,向前端浏览器传输子文件对应的关键字段;前端浏览器,根据文件对关键字段进行组装,形成关键字段组,向后台服务器传输;后台服务器,将关键字段组向存储服务器传输;存储服务器,根据关键字段组对多个子文件进行分配合并,形成文件进行存储。

Description

一种文件上传系统
技术领域
本发明涉及信息传输技术领域,特别涉及一种文件上传系统。
背景技术
在现代通信技术领域中,信息的共享和文件的传输越来越普遍,所以对于文件的传输速度的要求也越来越高。
目前对于文件的上传,基本都是通过前端浏览器获取文件,并将文件传输给后台服务器,后台服务器再将文件传输给存储服务器进行存储;上述技术方案中文件经过前端浏览器和后台服务器的两次传输,才能实现对文件的上传,两次文件的传输不仅会消耗大量的流量和带宽,尤其是当传输较大文件时,还会严重影响文件的上传速度;
因此,急需一种文件上传系统。
发明内容
为解决上述技术问题,本发明提供一种文件上传系统,用以降低文件上传所需的流量,加快文件的上传速度。
本发明实施例中提供了一种文件上传系统,所述系统包括:前端浏览器、后台服务器和存储服务器;其中,
所述前端浏览器,用于获取待上传的文件,并获取所述文件的文件大小信息,并将所述文件大小信息向所述后台服务器传输;
所述后台服务器,用于将所述文件大小信息与预设文件大小阈值信息进行比对,当所述文件的文件大小信息超过所述预设文件大小阈值信息时,则向所述前端浏览器传输分片处理指令;
所述前端浏览器,用于接收到所述分片处理指令后,对所述文件进行分片处理,并将分片处理后获取的多个子文件向所述存储服务器传输;
所述存储服务器,用于接收到所述前端浏览器传输的所述子文件后,向所述前端浏览器传输所述子文件对应的关键字段;
所述前端浏览器,用于根据所述文件对所述关键字段进行组装,形成关键字段组,并向所述存储服务器传输;
所述存储服务器,用于根据所述关键字段组对所述前端浏览器传输的多个所述子文件进行分配合并,形成所述文件进行存储。
在一个实施例中,所述前端浏览器,还用于根据所获取的待上传的文件,获取所述文件的文件特征信息,并将所述文件特征信息向所述存储服务器传输;
所述文件特征信息,包括所述文件的大小信息、文件类型信息以及文件sha256摘要信息。
在一个实施例中,所述后台服务器,还用于当所述文件的文件大小信息不超过所述预设文件大小阈值信息时,向所述前端浏览器传输直接上传指令;
所述前端浏览器接收到所述后台服务器传输的所述直接上传指令时,将所述文件向所述存储服务器传输进行存储。
在一个实施例中,所述后台服务器,还用于将所述文件的文件大小信息向所述存储服务器传输;所述存储服务器,用于根据所述文件大小信息预留出相应大小的存储空间。
在一个实施例中,所述前端浏览器,包括获取模块、分片模块和子文件生成模块;
所述获取模块,用于获取所述文件的文件类型,并将所述文件和所述文件的文件类型向所述分片模块传输;
所述分片模块,包括文本分片单元、图片分片单元、音频分片单元、视频分片单元;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为文本类型时,将所述文件向所述文本分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为图片类型时,将所述文件向所述图片分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为音频类型时,将所述文件向所述音频分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为视频类型时,将所述文件向所述视频分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述子文件生成模块,用于根据所述分片模块传输的分片处理后的所述文件生成子文件。
在一个实施例中,所述文本分片单元,用于根据所述预设文件大小阈值信息对所述文件按照文件大小进行分片处理;
所述图片分片单元,用于获取所述文件中的图片节点,并根据所述图片节点对所述文件进行分片处理;
所述音频分片单元,用于获取所述文件中的音频频率信息,并根据所述音频频率信息对所述文件进行分片处理;
所述视频分片单元,用于获取所述文件中的视频时长信息,并根据预设视频时长间隔对所述文件进行分片处理。
在一个实施例中,所述前端浏览器向所述存储服务器传输所述子文件的具体步骤包括:
所述前端浏览器向所述存储服务器传输文件传输指令;
所述存储服务器,接收到所述前端浏览器传输的所述文件传输指令时,将所述存储服务器的ID信息向所述前端浏览器传输;
所述前端浏览器,用于根据所述存储服务器的ID信息从所述前端浏览器的存储器中查找与所述存储服务器的ID信息相对应的加密算法;所述前端浏览器,还用于根据所述加密算法对所述子文件进行加密处理,并将加密处理后的子文件向所述存储服务器传输;
所述存储服务器,根据预设的解密算法对所述前端浏览器传输的所述加密处理后的子文件进行解密处理,获取所述子文件;
所述前端浏览器的存储器内存储有所述存储服务器的ID信息和所述存储服务器的ID信息对应的所述加密算法。
在一个实施例中,所述存储服务器,还包括文件读取模块、文件名生成模块、文件存储模块;
所述文件读取模块,用于获取所述文件的文件类型、存储时间和文件大小,并向所述文件名生成模块传输;
所述文件名生成模块,用于根据所述文件的文件类型、存储时间和文件大小生成文件名,并向所述文件存储模块传输;
所述文件存储模块,用于创建文件夹,并将所述文件名作为所述文件夹的文件名称,将所述文件存储于所述文件夹内。
在一个实施例中,所述前端浏览器向所述存储服务器传输所述子文件时,对所述子文件的冗余信息进行剔除处理,处理具体步骤具体为:
步骤S1、将所述文件转变为机器所能识别的二进制机器码;
步骤S2、将所述二进制机器码按每个字节进行切割,每一个字节形成一条数据,则共有P条数据,每条数据含有8位数值,则形成P行8列的矩阵B;
S3、对所述矩阵B进行列的优化,其具体步骤如下所述;
S301、构建运算矩阵Y,所述矩阵Y的初始值为矩阵B,同时构建标识向量M,所述M的初始值为空;
S302、利用公式(1)判断所述矩阵Y的第一列是否需要剔除;
CF=sum(Y1)
if CF=P then K=1,T=[1,0]
else if CF=0 then K=1,T=[0,0]
else if Y1≠Y2 then K=1,T=[0,1]
else K=0,T=[0,0]
M=[M,T]
(1)
其中,CF,T为中间参数,sum为求和,Y1为矩阵Y的第一列的值,if…then…为判断if和then之间的条件是否满足,如果满足条件则运行then后面的计算,如果不满足,则运行下一行的else后面的运行,Y1≠Y2为矩阵Y的所有行的第一列的值都不等于第二列的值,[M,T]为将T的值,添加到向量M的后面,K为判断函数,若K=0,则进行步骤S4,若K等于1则,将矩阵Y的第一列的值删除,然后将删除第1列后的矩阵Y重复步骤S302;
S4、对已经剔除了所有需要剔除的重复列后的矩阵Y进行第二次信息剔除,其中具体步骤如下所述;
S401、构建信息矩阵Q,首先将矩阵Y的第一行的值,作为矩阵Q的第一条数据,矩阵Y的第二行的值,赋值给待检测向量J,同时构建位置向量Z,Z的第一个值为1,同时剔除矩阵Y的前两行;
S402、利用公式(2)调整信息矩阵Q,和位置向量I;
GL=[CL1,CL2,……CLlength(Q)]
max z=max(GL)
if max z=1then Z=[Z,find(GL=1)]
else Q=Q.add(J),Z=[Z,length(Q)+1]
(2)
其中,GLc、GL、max z为中间参数,length()为统计括号内的值的数量,若括号内为向量则统计向量的值的个数,若括号内为矩阵,则统计矩阵的行数,Ji为向量J的第i个值,Qc,i为矩阵Q的第c行第i列的值,max(GL)为求GL的最大值,find(GL=1)为找到向量GL中为1的值所对应的位置,[Z,find(GL=1)]为将find(GL=1)的值添加到向量Z的后面,Q.add(J)为将向量J添加到矩阵Q的最后一行,[Z,length(Q)+1]为将length(Q)+1添加到向量Z的后面;
S403、判断矩阵Y是否为空,若不是,则将矩阵Y的第一行赋值给待检测向量J,同时删除矩阵Y的第一行,重复步骤S403,若矩阵Y为空,则运行步骤S5;
S5、将信息矩阵Q、位置向量Z和标识向量M作为冗余信息剔除处理后的信息,进行传输,同时需要使用所述信息时,利用冗余信息剔除处理的反向操作进行还原。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明所提供一种文件上传系统的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种文件上传系统,如图1所示,系统包括:前端浏览器11、后台服务器12和存储服务器13;其中,
前端浏览器11,用于获取待上传的文件,计算文件的文件大小信息,并将文件大小信息向后台服务器12传输;
后台服务器12,用于将文件大小信息与预设文件大小阈值信息进行比对,当文件的文件大小信息超过预设文件大小阈值信息时,则向前端浏览器11传输分片处理指令;
前端浏览器11,用于接收到分片处理指令后,对文件进行分片处理,并将分片处理后获取的多个子文件向存储服务13器传输;
存储服务器13,用于接收到前端浏览器11传输的子文件后,向前端浏览器11传输子文件对应的关键字段;
前端浏览器11,用于根据文件对关键字段进行组装,形成关键字段组,并向存储服务器13传输;
存储服务器13,用于根据关键字段组对前端浏览器11传输的多个子文件进行分配合并,形成文件进行存储。
上述系统的工作原理在于:前端浏览器11获取待上传文件,并获取该文件的文件大小信息,并将文件大小信息向后台服务器12传输;后台服务器12将文件大小信息与预设文件大小阈值信息(例如预设文件大小阈值信息为:25MB)进行比对,当文件的文件大小信息超过预设文件大小阈值信息时,向前端浏览器11传输分片处理指令;前端浏览器11对文件进行分片处理,获取文件的多个子文件,并将多个子文件向存储服务器13传输;存储服务器13接收到子文件后向前端浏览器11返回子文件对应的关键字段;前端浏览器11,根据文件对关键字段进行组装,形成关键字段组,并将关键字段组向存储服务器13传输;存储服务器13根据关键字段组对前端浏览器11传输的多个子文件进行分配合并,形成文件进行存储。
上述系统的有益效果在于:通过前端浏览器,实现了对待上传文件和待上传文件的文件大小信息的获取;并通过后台服务器根据文件的文件大小信息判断是否对文件进行分片处理,当判断需进行分片处理时,则向前端浏览器传输分片处理指令;前端浏览器接收到分片处理指令时,对文件进行分片处理,实现对文件的切片,获取子文件,并将子文件向存储服务器传输;从而实现了前端浏览器对文件的切片以及传输;存储服务器接收到子文件后,向前端浏览器返回关键字段,前端浏览器根据文件对关键字段进行组装,形成关键字段组,向存储服务器传输;存储服务器根据关键字段组对多个子文件进行分配合并,形成文件进行存储;从而实现了对文件的上传,上述系统通过判断文件的文件大小信息超过预设文件大小阈值信息时对文件进行分片处理,形成子文件向存储服务器传输;存储服务器根据关键字段组,实现对多个子文件合并,进而实现对文件的获取存储,通过对文件进行分片传输,解决了传统技术中传输文件所需的消耗大量的流量和带宽的缺陷,进而提高了文件的上传速度,同时也有效地提高了系统的传输效率。
在一个实施例中,前端浏览器,还用于根据所获取的待上传的文件,获取文件的文件特征信息,并将文件特征信息向存储服务器传输;
文件特征信息,包括文件的大小信息、文件类型信息以及文件sha256摘要信息。通过上述技术方案实现了存储服务器对文件的特征信息的获取。
在一个实施例中,后台服务器,还用于当文件的文件大小信息不超过预设文件大小阈值信息时,向前端浏览器传输直接上传指令;
前端浏览器接收到后台服务器传输的直接上传指令时,将文件向存储服务器传输进行存储。上述技术方案中通过后台服务器,将文件的文件大小信息与预设文件大小阈值信息比对,判断是否对文件进行分片处理,当文件的文件大小信息不超过预设文件大小阈值信息时,则将文件向存储服务器传输进行存储,避免对较小的文件进行分片处理,影响文件的上传效率。
在一个实施例中,后台服务器,还用于将文件的文件大小信息向存储服务器传输;存储服务器,用于根据文件大小信息预留出相应大小的存储空间。上述技术方案中后台服务器,还用于将文件的文件大小信息向存储服务器传输,存储服务器根据文件大小信息预留出相应大小的存储空间,方便对前端浏览器传输的文件进行存储,避免因预留存储空间不足,影响文件的上传。
在一个实施例中,前端浏览器,包括获取模块、分片模块和子文件生成模块;
获取模块,用于获取文件的文件类型,并将文件和文件的文件类型向分片模块传输;
分片模块,包括文本分片单元、图片分片单元、音频分片单元、视频分片单元;
分片模块,用于接收到获取模块传输的文件的文件类型为文本类型时,将文件向文本分片单元传输进行分片处理,并将分片处理后的文件向子文件生成模块传输;
分片模块,用于接收到获取模块传输的文件的文件类型为图片类型时,将文件向图片分片单元传输进行分片处理,并将分片处理后的文件向子文件生成模块传输;
分片模块,用于接收到获取模块传输的文件的文件类型为音频类型时,将文件向音频分片单元传输进行分片处理,并将分片处理后的文件向子文件生成模块传输;
分片模块,用于接收到获取模块传输的文件的文件类型为视频类型时,将文件向视频分片单元传输进行分片处理,并将分片处理后的文件向子文件生成模块传输;
子文件生成模块,用于根据分片模块传输的分片处理后的文件生成子文件。上述技术方案中通过获取模块实现了对文件的文件类型的获取,并根据文件类型将文件发往分片模块中相应的分片单元进行分片处理,子文件生成模块根据传输的分片处理后的文件生成子文件,从而实现了系统对文件的分片处理,并且通过分片模块中的文本分片单元、图片分片单元、音频分片单元以及视频分片单元,实现了对不同类型文件的分片处理;从而通过文件生成模块,实现了对不同类型文件的子文件的生成。
在一个实施例中,文本分片单元,用于根据预设文件大小阈值信息对文件按照文件大小进行分片处理;
图片分片单元,用于获取文件中的图片节点,并根据图片节点对文件进行分片处理;
音频分片单元,用于获取文件中的音频频率信息,并根据音频频率信息对文件进行分片处理;
视频分片单元,用于获取文件中的视频时长信息,并根据预设视频时长间隔对文件进行分片处理。上述技术方案中通过文本分片单元、图片分片单元、音频分片单元以及视频分片单元,实现了对不同文件类型的文件的分片处理,进一步方便了系统对文件的快速传输。
在一个实施例中,前端浏览器向存储服务器传输子文件的具体步骤包括:
前端浏览器向存储服务器传输文件传输指令;
存储服务器,接收到前端浏览器传输的文件传输指令时,将存储服务器的ID信息向前端浏览器传输;
前端浏览器,用于根据存储服务器的ID信息从前端浏览器的存储器中查找与存储服务器的ID信息相对应的加密算法;前端浏览器,还用于根据加密算法对子文件进行加密处理,并将加密处理后的子文件向存储服务器传输;
存储服务器,根据预设的解密算法对前端浏览器传输的加密处理后的子文件进行解密处理,获取子文件;
前端浏览器的存储器内存储有存储服务器的ID信息和存储服务器的ID信息对应的加密算法。上述技术方案中前端浏览器向存储服务器传输文件传输指令,存储服务器将存储服务器的ID信息向前端浏览器传输,前端浏览器根据存储服务器的ID信息从前端浏览器的存储器中查找与存储服务器的ID信息相对应的加密算法,并采用所获取的加密算法对子文件进行加密处理后向存储服务器传输,存储服务器采用预设的解密算法对传输的加密处理后的子文件进行解密处理,获取子文件;从而实现了前端浏览器将子文件向存储服务器的加密传输,进一步提高了文件传输的安全性。
在一个实施例中,存储服务器,还包括文件读取模块、文件名生成模块、文件存储模块;
文件读取模块,用于获取文件的文件类型、存储时间和文件大小,并向文件名生成模块传输;
文件名生成模块,用于根据文件的文件类型、存储时间和文件大小生成文件名,并向文件存储模块传输;
文件存储模块,用于创建文件夹,并将文件名作为文件夹的文件名称,将文件存储于文件夹内。上述技术方案中存储服务器对文件进行存储时,通过文件读取模块获取文件的文件类型、存储时间和文件大小;文件名生成模块根据文件的文件类型、存储时间和文件大小生成文件名;文件存储模块创建文件夹并将该文件名作为该文件夹的文件名称,将文件存储于该文件夹内;从而实现了存储服务器对文件存储时的文件夹的创建以及文件夹的文件名称的生成,并且根据文件类型、存储时间和文件大小生成文件名,方便了工作人员对存储服务器内的文件进行查询和管理。
在一个实施例中,前端浏览器向存储服务器传输子文件时,对子文件的冗余信息进行剔除处理,处理具体步骤具体为:
步骤S1、将文件转变为机器所能识别的二进制机器码;
步骤S2、将二进制机器码按每个字节进行切割,每一个字节形成一条数据,则共有P条数据,每条数据含有8位数值,则形成P行8列的矩阵B;
S3、对矩阵B进行列的优化,其具体步骤如下;
S301、构建运算矩阵Y,矩阵Y的初始值为矩阵B,同时构建标识向量M,M的初始值为空;
S302、利用公式(1)判断矩阵Y的第一列是否需要剔除;
CF=sum(Y1)
if CF=P then K=1,T=[1,0]
else if CF=0 then K=1,T=[0,0]
else if Y1≠Y2 then K=1,T=[0,1]
else K=0,T=[0,0]
M=[M,T]
(1)
其中,CF,T为中间参数,sum为求和,Y1为矩阵Y的第一列的值,if…then…为判断if和then之间的条件是否满足,如果满足条件则运行then后面的计算,如果不满足,则运行下一行的else后面的运行,Y1≠Y2为矩阵Y的所有行的第一列的值都不等于第二列的值,[M,T]为将T的值,添加到向量M的后面,K为判断函数,若K=0,则进行步骤S4,若K等于1则,将矩阵Y的第一列的值删除,然后将删除第1列后的矩阵Y重复步骤S302;
S4、对已经剔除了所有需要剔除的重复列后的矩阵Y进行第二次信息剔除,其中具体步骤如下;
S401、构建信息矩阵Q,首先将矩阵Y的第一行的值,作为矩阵Q的第一条数据,矩阵Y的第二行的值,赋值给待检测向量J,同时构建位置向量Z,Z的第一个值为1,同时剔除矩阵Y的前两行;
S402、利用公式(2)调整信息矩阵Q,和位置向量I;
GL=[CL1,CL2,……CLlength(Q)]
max z=max(GL)
if max z=1then Z=[Z,find(GL=1)]
else Q=Q.add(J),Z=[Z,length(Q)+1]
(2)
其中,GLc、GL、max z为中间参数,length()为统计括号内的值的数量,若括号内为向量则统计向量的值的个数,若括号内为矩阵,则统计矩阵的行数,Ji为向量J的第i个值,Qc,i为矩阵Q的第c行第i列的值,max(GL)为求GL的最大值,find(GL=1)为找到向量GL中为1的值所对应的位置,[Z,find(GL=1)]为将find(GL=1)的值添加到向量Z的后面,Q.add(J)为将向量J添加到矩阵Q的最后一行,[Z,length(Q)+1]为将length(Q)+1添加到向量Z的后面;
S403、判断矩阵Y是否为空,若不是,则将矩阵Y的第一行赋值给待检测向量J,同时删除矩阵Y的第一行,重复步骤S403,若矩阵Y为空,则运行步骤S5;
S5、将信息矩阵Q、位置向量Z和标识向量M作为冗余信息剔除处理后的信息,进行传输,同时需要使用信息时,利用冗余信息剔除处理的反向操作进行还原。通过上述技术方案,可以在不损失任何信息量的情况下,大幅度的减少文件的存储空间,提高存储效率,同时,对文件上传的时候能大幅度的提高速度,减少传输时所需流量的大小,减少内部带宽、临时占用,同时所述技术不需要增加额外的设备,仅仅需要简单的一些计算则能实现,在不增加成本的情况下,能大幅度提升智能效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种文件上传系统,其特征在于,所述系统包括:前端浏览器、后台服务器和存储服务器;其中,
所述前端浏览器,用于获取待上传的文件,并获取所述文件的文件大小信息,并将所述文件大小信息向所述后台服务器传输;
所述后台服务器,用于将所述文件大小信息与预设文件大小阈值信息进行比对,当所述文件的文件大小信息超过所述预设文件大小阈值信息时,则向所述前端浏览器传输分片处理指令;
所述前端浏览器,用于接收到所述分片处理指令后,对所述文件进行分片处理,并将分片处理后获取的多个子文件向所述存储服务器传输;
所述存储服务器,用于接收到所述前端浏览器传输的所述子文件后,向所述前端浏览器传输所述子文件对应的关键字段;
所述前端浏览器,用于根据所述文件对所述关键字段进行组装,形成关键字段组,并向所述存储服务器传输;
所述存储服务器,用于根据所述关键字段组对所述前端浏览器传输的多个所述子文件进行分配合并,形成所述文件进行存储。
2.如权利要求1所述的系统,其特征在于,
所述前端浏览器,还用于根据所获取的待上传的文件,获取所述文件的文件特征信息,并将所述文件特征信息向所述存储服务器传输;
所述文件特征信息,包括所述文件的大小信息、文件类型信息以及文件sha256摘要信息。
3.如权利要求1所述的系统,其特征在于,
所述后台服务器,还用于当所述文件的文件大小信息不超过所述预设文件大小阈值信息时,向所述前端浏览器传输直接上传指令;
所述前端浏览器接收到所述后台服务器传输的所述直接上传指令时,将所述文件向所述存储服务器传输进行存储。
4.如权利要求1所述的系统,其特征在于,
所述后台服务器,还用于将所述文件的文件大小信息向所述存储服务器传输;所述存储服务器,用于根据所述文件大小信息预留出相应大小的存储空间。
5.如权利要求1所述的系统,其特征在于,
所述前端浏览器,包括获取模块、分片模块和子文件生成模块;
所述获取模块,用于获取所述文件的文件类型,并将所述文件和所述文件的文件类型向所述分片模块传输;
所述分片模块,包括文本分片单元、图片分片单元、音频分片单元、视频分片单元;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为文本类型时,将所述文件向所述文本分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为图片类型时,将所述文件向所述图片分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为音频类型时,将所述文件向所述音频分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述分片模块,用于接收到所述获取模块传输的所述文件的文件类型为视频类型时,将所述文件向所述视频分片单元传输进行分片处理,并将分片处理后的所述文件向所述子文件生成模块传输;
所述子文件生成模块,用于根据所述分片模块传输的分片处理后的所述文件生成子文件。
6.如权利要求5所述的系统,其特征在于,
所述文本分片单元,用于根据所述预设文件大小阈值信息对所述文件按照文件大小进行分片处理;
所述图片分片单元,用于获取所述文件中的图片节点,并根据所述图片节点对所述文件进行分片处理;
所述音频分片单元,用于获取所述文件中的音频频率信息,并根据所述音频频率信息对所述文件进行分片处理;
所述视频分片单元,用于获取所述文件中的视频时长信息,并根据预设视频时长间隔对所述文件进行分片处理。
7.如权利要求1所述的系统,其特征在于,
所述前端浏览器向所述存储服务器传输所述子文件的具体步骤包括:
所述前端浏览器向所述存储服务器传输文件传输指令;
所述存储服务器,接收到所述前端浏览器传输的所述文件传输指令时,将所述存储服务器的ID信息向所述前端浏览器传输;
所述前端浏览器,用于根据所述存储服务器的ID信息从所述前端浏览器的存储器中查找与所述存储服务器的ID信息相对应的加密算法;所述前端浏览器,还用于根据所述加密算法对所述子文件进行加密处理,并将加密处理后的子文件向所述存储服务器传输;
所述存储服务器,根据预设的解密算法对所述前端浏览器传输的所述加密处理后的子文件进行解密处理,获取所述子文件;
所述前端浏览器的存储器内存储有所述存储服务器的ID信息和所述存储服务器的ID信息对应的所述加密算法。
8.如权利要求1所述的系统,其特征在于,
所述存储服务器,还包括文件读取模块、文件名生成模块、文件存储模块;
所述文件读取模块,用于获取所述文件的文件类型、存储时间和文件大小,并向所述文件名生成模块传输;
所述文件名生成模块,用于根据所述文件的文件类型、存储时间和文件大小生成文件名,并向所述文件存储模块传输;
所述文件存储模块,用于创建文件夹,并将所述文件名作为所述文件夹的文件名称,将所述文件存储于所述文件夹内。
9.如权利要求1所述的系统,其特征在于,
所述前端浏览器向所述存储服务器传输所述子文件时,对所述子文件的冗余信息进行剔除处理,处理具体步骤具体为:
步骤S1、将所述文件转变为机器所能识别的二进制机器码;
步骤S2、将所述二进制机器码按每个字节进行切割,每一个字节形成一条数据,则共有P条数据,每条数据含有8位数值,则形成P行8列的矩阵B;
S3、对所述矩阵B进行列的优化,其具体步骤如下所述;
S301、构建运算矩阵Y,所述矩阵Y的初始值为矩阵B,同时构建标识向量M,所述M的初始值为空;
S302、利用公式(1)判断所述矩阵Y的第一列是否需要剔除;
CF=sum(Y1)
if CF=P then K=1,T=[1,0]
else if CF=0 then K=1,T=[0,0]
else if Y1≠Y2then K=1,T=[0,1]
else K=0,T=[0,0]
M=[M,T]
(1)
其中,CF,T为中间参数,sum为求和,Y1为矩阵Y的第一列的值,if…then…为判断if和then之间的条件是否满足,如果满足条件则运行then后面的计算,如果不满足,则运行下一行的else后面的运行,Y1≠Y2为矩阵Y的所有行的第一列的值都不等于第二列的值,[M,T]为将T的值,添加到向量M的后面,K为判断函数,若K=0,则进行步骤S4,若K等于1则,将矩阵Y的第一列的值删除,然后将删除第1列后的矩阵Y重复步骤S302;
S4、对已经剔除了所有需要剔除的重复列后的矩阵Y进行第二次信息剔除,其中具体步骤如下所述;
S401、构建信息矩阵Q,首先将矩阵Y的第一行的值,作为矩阵Q的第一条数据,矩阵Y的第二行的值,赋值给待检测向量J,同时构建位置向量Z,Z的第一个值为1,同时剔除矩阵Y的前两行;
S402、利用公式(2)调整信息矩阵Q,和位置向量I;
GL=[CL1,CL2,……CLlength(Q)]
max z=max(GL)
if max z=1 then Z=[Z,find(GL=1)]
else Q=Q.add(J),Z=[Z,length(Q)+1]
(2)
其中,GLc、GL、max z为中间参数,length()为统计括号内的值的数量,c=1,2,3……length(Q);若括号内为向量则统计向量的值的个数,若括号内为矩阵,则统计矩阵的行数,Ji为向量J的第i个值,Qc,i为矩阵Q的第c行第i列的值,max(GL)为求GL的最大值,find(GL=1)为找到向量GL中为1的值所对应的位置,[Z,find(GL=1)]为将find(GL=1)的值添加到向量Z的后面,Q.add(J)为将向量J添加到矩阵Q的最后一行,[Z,length(Q)+1]为将length(Q)+1添加到向量Z的后面;
S403、判断矩阵Y是否为空,若不是,则将矩阵Y的第一行赋值给待检测向量J,同时删除矩阵Y的第一行,重复步骤S403,若矩阵Y为空,则运行步骤S5;
S5、将信息矩阵Q、位置向量Z和标识向量M作为冗余信息剔除处理后的信息,进行传输,同时需要使用所述信息时,利用冗余信息剔除处理的反向操作进行还原。
CN201910524167.0A 2019-06-18 2019-06-18 一种文件上传系统 Active CN110278202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910524167.0A CN110278202B (zh) 2019-06-18 2019-06-18 一种文件上传系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910524167.0A CN110278202B (zh) 2019-06-18 2019-06-18 一种文件上传系统

Publications (2)

Publication Number Publication Date
CN110278202A true CN110278202A (zh) 2019-09-24
CN110278202B CN110278202B (zh) 2020-07-31

Family

ID=67961006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910524167.0A Active CN110278202B (zh) 2019-06-18 2019-06-18 一种文件上传系统

Country Status (1)

Country Link
CN (1) CN110278202B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995796A (zh) * 2019-11-20 2020-04-10 中国建设银行股份有限公司 一种基于专线的数据传输方法及装置
CN111797417A (zh) * 2020-07-06 2020-10-20 上海明略人工智能(集团)有限公司 文件的上传方法和装置、存储介质及电子装置
CN112153428A (zh) * 2020-11-04 2020-12-29 上海连尚网络科技有限公司 视频的处理方法和装置
CN113055433A (zh) * 2021-02-02 2021-06-29 新华三信息技术有限公司 一种文件传输方法、装置、设备及机器可读存储介质
CN113407489A (zh) * 2021-06-18 2021-09-17 杭州安恒信息技术股份有限公司 一种数据导入方法、装置、设备及计算机可读存储介质
WO2022001445A1 (zh) * 2020-06-30 2022-01-06 京东方科技集团股份有限公司 视频推送、播放方法、装置、系统及存储介质
CN114401454A (zh) * 2022-01-17 2022-04-26 北京鼎普科技股份有限公司 视频上传分片方法及装置
CN114676142A (zh) * 2022-05-30 2022-06-28 佳瑛科技有限公司 对电子表格进行加密存储的方法和系统及介质
CN117459525A (zh) * 2023-12-20 2024-01-26 宁德时代新能源科技股份有限公司 文件上传方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677673A (zh) * 2013-12-23 2014-03-26 Tcl集团股份有限公司 一种文件分类批量上传的方法及系统
CN103701937A (zh) * 2014-01-14 2014-04-02 上海斐讯数据通信技术有限公司 一种上传大文件的方法
CN103873505A (zh) * 2012-12-12 2014-06-18 中国电信股份有限公司 向云存储服务器离线上传的方法、系统与装置
CN105847777A (zh) * 2016-03-24 2016-08-10 湖南拓视觉信息技术有限公司 一种传输三维深度图像的方法及装置
CN106603686A (zh) * 2016-12-23 2017-04-26 郑州云海信息技术有限公司 一种基于分布式存储系统的文件传输方法
WO2017158124A1 (en) * 2016-03-16 2017-09-21 Ebay Sweden Services Ab Processing of tabular data
CN108959292A (zh) * 2017-05-19 2018-12-07 北京京东尚科信息技术有限公司 一种数据上传方法、系统和计算机可读存储介质
CN109831506A (zh) * 2019-01-31 2019-05-31 百度在线网络技术(北京)有限公司 文件上传方法、装置、终端、服务器及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873505A (zh) * 2012-12-12 2014-06-18 中国电信股份有限公司 向云存储服务器离线上传的方法、系统与装置
CN103677673A (zh) * 2013-12-23 2014-03-26 Tcl集团股份有限公司 一种文件分类批量上传的方法及系统
CN103701937A (zh) * 2014-01-14 2014-04-02 上海斐讯数据通信技术有限公司 一种上传大文件的方法
WO2017158124A1 (en) * 2016-03-16 2017-09-21 Ebay Sweden Services Ab Processing of tabular data
CN105847777A (zh) * 2016-03-24 2016-08-10 湖南拓视觉信息技术有限公司 一种传输三维深度图像的方法及装置
CN106603686A (zh) * 2016-12-23 2017-04-26 郑州云海信息技术有限公司 一种基于分布式存储系统的文件传输方法
CN108959292A (zh) * 2017-05-19 2018-12-07 北京京东尚科信息技术有限公司 一种数据上传方法、系统和计算机可读存储介质
CN109831506A (zh) * 2019-01-31 2019-05-31 百度在线网络技术(北京)有限公司 文件上传方法、装置、终端、服务器及可读存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995796A (zh) * 2019-11-20 2020-04-10 中国建设银行股份有限公司 一种基于专线的数据传输方法及装置
WO2022001445A1 (zh) * 2020-06-30 2022-01-06 京东方科技集团股份有限公司 视频推送、播放方法、装置、系统及存储介质
CN111797417A (zh) * 2020-07-06 2020-10-20 上海明略人工智能(集团)有限公司 文件的上传方法和装置、存储介质及电子装置
CN112153428A (zh) * 2020-11-04 2020-12-29 上海连尚网络科技有限公司 视频的处理方法和装置
CN113055433A (zh) * 2021-02-02 2021-06-29 新华三信息技术有限公司 一种文件传输方法、装置、设备及机器可读存储介质
CN113407489A (zh) * 2021-06-18 2021-09-17 杭州安恒信息技术股份有限公司 一种数据导入方法、装置、设备及计算机可读存储介质
CN114401454A (zh) * 2022-01-17 2022-04-26 北京鼎普科技股份有限公司 视频上传分片方法及装置
CN114676142A (zh) * 2022-05-30 2022-06-28 佳瑛科技有限公司 对电子表格进行加密存储的方法和系统及介质
CN117459525A (zh) * 2023-12-20 2024-01-26 宁德时代新能源科技股份有限公司 文件上传方法、装置、设备和介质
CN117459525B (zh) * 2023-12-20 2024-04-12 宁德时代新能源科技股份有限公司 文件上传方法、装置、设备和介质

Also Published As

Publication number Publication date
CN110278202B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN110278202A (zh) 一种文件上传系统
CN101807207B (zh) 一种基于内容差异比较的文档共享方法
CN102122285B (zh) 一种数据缓存系统中的数据查询系统和数据查询方法
CN101019105B (zh) 使用条带化来存储数据的方法及装置
CN101859323B (zh) 密文全文检索系统
CN100512194C (zh) 链路聚合方法、装置、mac帧收发方法和系统
US11522673B2 (en) Method and device for blockchain full sharding based on a P2P storage network and a multi-layer architecture
CN101155296B (zh) 数据传输的方法
CN104393951B (zh) 一种基于排队的遥感载荷通用数据处理系统
CN107295070B (zh) 文件大小异构的分布式编码缓存放置方法及系统
CN106416194A (zh) 用于网络译码及高速缓存辅助内容分配的装置及方法
CN107046812A (zh) 一种数据保存方法和装置
US10110676B2 (en) Parallel transparent restructuring of immutable content in a distributed object storage system
CN101562556A (zh) 一种降低网络编码代价的方法、装置及系统
CN106354865A (zh) 一种同步主从数据库的方法、装置和系统
CN103326925A (zh) 一种消息推送方法及装置
CN111723126A (zh) 基于区块链的冷热时序数据分类处理方法及存储系统
CN112804046B (zh) 一种基于区块链私钥映射的无载体隐写方法及系统
CN102055786A (zh) 一种文件下载的方法、服务器、下载端和系统
Koloniari et al. Bloom-based filters for hierarchical data
CN105208096A (zh) 分布式缓存系统和方法
CN101447926A (zh) 基于点对点的数据传输系统及方法
CN107908713A (zh) 一种基于Redis集群的分布式动态杜鹃过滤系统及其过滤方法
CN102855292B (zh) 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法
CN109885536A (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
GR01 Patent grant
GR01 Patent grant