掌桥专利:专业的专利平台
掌桥专利
首页

局域网中大容量附件的存储、预览方法及系统

文献发布时间:2024-04-18 20:02:18


局域网中大容量附件的存储、预览方法及系统

技术领域

本发明涉及局域网中附件处理技术领域,更具体地说,它涉及局域网中大容量附件的存储、预览方法及系统。

背景技术

文件存储是指将数据以文件的形式保存在计算机系统或其他存储设备中的过程;文件存储是一种常见的数据存储方式,用于存储和组织各种类型的数据,包括文本、图像、音频、视频等;文件存储在企业、组织、个人日常生活中扮演着重要角色,企业可以使用文件存储来存储和管理各种类型的文件,如办公文档、档案、报告、合同、客户数据等,并可以支持多用户的共享和协作,提高团队的工作效率。

现阶段文件存储的主要方案是本地存储、服务器存储、云存储或者云网盘:本地存储的缺点是资料管理标准不统一,导致资料凌乱,在共享和协作方面也不方便;服务器存储需要业主自建机房成本高,维护难度大,还需要专业人员维护、修理、升级;云存储和云网盘,存在大文件网络传输慢,以及租用成本高的问题,且对数据和文件的控制力相对较低,导致企业或组织在保护数据方面会面临一些局限性;且以上存储方式仅支持常规文件的在线预览,对于一些较专业性的文件需要用户下载到本地再打开查看编辑。

发明内容

本发明的目的在于提供局域网中大容量附件的存储、预览方法及系统,以解决上述背景技术中存在的问题。

本发明的上述技术目的是通过以下技术方案得以实现的:

第一方面,本申请提供了局域网中大容量附件的存储方法,存储方法包括以下具体步骤:

获取待存储文件的唯一标识码,并对唯一标识码进行hash运算,得到待存储文件对应的哈希值;

根据哈希值和局域网中预置网络存储器配置的哈希槽的数量,计算得到哈希值除以哈希槽的数量的余数,并将该余数确定为待存储文件的目标存储编号;

根据预置网络存储器中配置的各个第一存储节点,以及各个第一存储节点管理的哈希槽的序号区间,得到哈希槽的序号为目标存储编号的目标存储节点;

控制预置网络存储器将待存储文件分配至目标存储节点管理的序号为目标存储编号的哈希槽中;

基于预设的资源共享协议,将存储于预置网络存储器中的各个目标文件共享至局域网中。

本发明的有益效果是:本方案中,通过选用预置网络存储器来存储资料,在实施时简单快捷,不用花大成本建立机房,且拥有数据的绝对控制权;且利用配置完成的预置网络存储器的存储节点和哈希槽数量配置,结合hash运算对该待存储文件的md5码进行运算,哈希值在和配置的哈希槽数量取余的方法实现存储数据的均匀分布。

本方案中,采用该存储方法存储的目标文件,同一台终端设备支持对外网访问,而存储于局域网配置的预置网络存储器中的附件仅在局域网内预览和编辑等操作,从而增强对目标文件的保密性。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,上述预置网络存储器的配置具体为:

读取预置网络存储器中的第一存储节点的数量和哈希槽的数量,将各个哈希槽均匀分配至每个第一存储节点进行管理,并得到每个第一存储节点与各个哈希槽的对应关系。

采用上述进一步方案的有益效果是:通过对预置网络存储器中的存储节点和哈希槽进行划分和配置,实现存储数据的均匀分布,从而实现目标文件的局域网本地存储和文件信息存储,同时解决了本地存储资料凌乱,共享协作不方便,自建机房或云存储成本高,维护难度大,且具有对数据和文件的绝对控制力。

进一步,上述存储方法还包括:

当预置网络存储器将待存储文件分配至目标存储节点出现多次上传失败时,判断该目标存储节点为节点下线状态;

将为节点下线状态的目标存储节点管理的多个哈希槽均匀分配至其他目标存储节点,并判断为节点下线状态的目标存储节点是否具有容灾机制;

若为节点下线状态的目标存储节点具有容灾机制,基于容灾机制对该目标存储节点存储的目标文件进行数据恢复,并将进行数据恢复后得到的目标文件转移至其他目标存储节点。

进一步,上述存储方法还包括:在第一存储节点数量不足时,进行第一存储节点的新增,具体为:

根据现存的第一存储节点的剩余数量,配置第一数量的新增存储节点;

从现存的第一存储节点中取出部分数量的哈希槽并分配至各个新增存储节点,并将存放于取出的哈希槽中的目标文件转移至分配的新增存储节点,其中,新增存储节点管理的哈希槽的数量与现存的第一存储节点管理的哈希槽的数量之间满足预设条件。

采用上述进一步方案的有益效果是:通过对为节点下线状态的目标存储节点的存储节点,以及新增存储节点的处理,实现了在预置网络存储器中的存储节点的动态伸缩,并使各个存储节点对应的哈希槽的数量始终保持相对的平衡,即在哈希槽的数量上差距较小,由此保证了存储数据可以均匀的分配到各个槽位(哈希槽),以及各个存储节点上。

第二方面,本申请提供了局域网中大容量附件的预览方法,用于预览第一方面中任一项存储于预置网络存储器中的目标文件,预览方法包括以下具体步骤:

获取在局域网中针对目标文件的预览指令,根据预览指令判断在打开局域网的浏览器中是否存在与目标文件的文件格式相符的应用程序,并得到判断结果;

若判断结果为存在与文件格式相符的应用程序,调用与文件格式相符的应用程序对目标文件进行在线预览;

若判断结果为不存在与文件格式相符的应用程序,根据目标文件在预置网络存储器中的文件目录路径,利用配置好的终端设备定位至目标文件所在的目标目录中,并调用终端设备中与文件格式相符的应用程序进行本地预览。

本发明的有益效果是:本方案中,针对常规文件和非常规文件分别采取不同的预览方式,包括在线预览和本地预览,在不需用户下载的情况下,将浏览器不能够打开的专业性文件的预览交由用户电脑(配置完成的终端设备)处理,解决了传统方式中需要对预览的文件进行下载的弊端,省时省力,操作过程也更加的便捷。

进一步,上述终端设备的配置过程具体为:

在终端设备的用户注册表中添加预设的路径协议,路径协议表征了终端设备与局域网之间的交互内容;

将预置的可执行文件存放至终端设备的指定目录中,可执行文件基于路径协议接收文件目录路径,并定位到目标文件所在的目标目录中。

第三方面,本申请提供了局域网中大容量附件的存储系统,应用于第一方面中任一项的局域网中大容量附件的存储方法,包括:

第一模块,用于获取待存储文件的唯一标识码,并对唯一标识码进行hash运算,得到待存储文件对应的哈希值;

第二模块,用于根据哈希值和局域网中预置网络存储器配置的哈希槽的数量,计算得到哈希值除以哈希槽的数量的余数,并将该余数确定为待存储文件的目标存储编号;

第三模块,用于根据预置网络存储器中配置的各个第一存储节点,以及各个第一存储节点管理的哈希槽的序号区间,得到哈希槽的序号为目标存储编号的目标存储节点;

第四模块,用于控制预置网络存储器将待存储文件分配至目标存储节点管理的序号为目标存储编号的哈希槽中;

第五模块,用于基于预设的资源共享协议,将存储于预置网络存储器中的各个目标文件共享至局域网中。

第四方面,本申请提供了局域网中大容量附件的预览系统,应用于第二方面中任一项的局域网中大容量附件的预览方法,包括:

第六模块,用于获取在局域网中针对目标文件的预览指令,根据预览指令判断在打开局域网的浏览器中是否存在与目标文件的文件格式相符的应用程序,并得到判断结果;

第七模块,用于若判断结果为存在与文件格式相符的应用程序,调用与文件格式相符的应用程序对目标文件进行在线预览;

第八模块,用于若判断结果为不存在与文件格式相符的应用程序,根据目标文件在预置网络存储器中的文件目录路径,利用配置好的终端设备定位至目标文件所在的目标目录中,并调用终端设备中与文件格式相符的应用程序进行本地预览。

第五方面,本申请提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面或第二方面中任一项的方法。

第六方面,本申请提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面或第二方面中任一项的方法。

与现有技术相比,本发明至少具有以下的有益效果:

在本申请中,通过选用预置网络存储器来存储资料,在实施时简单快捷,不用花大成本建立机房,且拥有数据的绝对控制权;且利用配置完成的预置网络存储器的存储节点和哈希槽数量配置,结合hash运算对该待存储文件的md5码(唯一标识码)进行运算,哈希值在和配置的哈希槽数量取余的方法实现存储数据的均匀分布;同时采用的存储方法存储的目标文件,同一台终端设备支持对外网访问,而存储于局域网配置的预置网络存储器中的附件仅在局域网内预览和编辑等操作,从而增强对目标文件的保密性。

在本申请中,通过对预置网络存储器中的存储节点和哈希槽进行划分和配置,实现存储数据的均匀分布,从而实现目标文件的局域网本地存储和文件信息存储,同时解决了本地存储资料凌乱,共享协作不方便,自建机房或云存储成本高,维护难度大,且具有对数据和文件的绝对控制力;同时通过对为节点下线状态的目标存储节点的存储节点,以及新增存储节点的处理,实现了在预置网络存储器中的存储节点的动态伸缩,并使各个存储节点对应的哈希槽的数量始终保持相对的平衡,即在哈希槽的数量上差距较小,由此保证了存储数据可以均匀的分配到各个槽位(哈希槽),以及各个存储节点上。

在本申请中,针对常规文件和非常规文件分别采取不同的预览方式,包括在线预览和本地预览,在不需用户下载的情况下,将浏览器不能够打开的专业性文件的预览交由用户电脑(配置完成的终端设备)处理,解决了传统方式中需要对预览的文件进行下载的弊端,省时省力,操作过程也更加的快捷方便。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明实施例中存储方法的方法流程图;

图2为本发明实施例中预览方法的方法流程图;

图3为本发明实施例中存储系统的连接示意图;

图4为本发明实施例中预览系统的连接示意图;

图5为本发明实施例中终端设备的配置过程的流程图;

图6为本发明实施例中下线的存储节点的处理流程图;

图7为本发明实施例中新增存储节点的处理流程图;

图8为本发明实施例中目标文件的预览流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明实施例的描述中,“多个”代表至少2个。

实施例1:

本实施例提供局域网中大容量附件的存储方法,如图1所示,存储方法包括以下具体步骤:

S1,获取待存储文件的唯一标识码,并对唯一标识码进行hash运算,得到待存储文件对应的哈希值。

其中,唯一标识码可以是待存储文件的md5码,md5码是每个文件特有的代码,且每个文件的md5码都不同,因此md5码可以区别出不同的资料文件;对md5码进行hash运算可以使用CRC-16算法对该文件md5码进行hash运算来得到一个hash值(哈希值),由于md5码的唯一性,因此计算得到的哈希值也就具有唯一性。

S2,根据哈希值和局域网中预置网络存储器配置的哈希槽的数量,计算得到哈希值除以哈希槽的数量的余数,并将该余数确定为待存储文件的目标存储编号。

可选的,上述预置网络存储器的配置具体为:

S21,读取预置网络存储器中的第一存储节点的数量和哈希槽的数量,将各个哈希槽均匀分配至每个第一存储节点进行管理,并得到每个第一存储节点与各个哈希槽的对应关系。

其中,预置网络存储器,在系统使用时需要配置好存储节点和哈希槽数量;具体的,哈希槽的数量需远大于存储节点数量,例如,存储节点的数量为5,哈希槽的数量可以为5000,则每个存储节点平均负责1000个哈希槽;预置网络存储器初始时尽量均匀分配好哪个存储节点负责哪些哈希槽,当然,可以允许有较小的数量差异,可以是:存储节点A负责编号为0-199,999-1199,1999-2199,2999-3199,3999-4199的哈希槽,存储节点B负责编号为200-399,1200-1399,2200-2399,3200-3399,4200-4399的哈希槽,存储节点C、存储节点D、存储节点E负责管理的哈希槽的序号以此类推,即存储节点A-存储节点E每个存储节点负责管理100个哈希槽;这样,再将文件进行存储时可以实现存储数据的均匀分布。

S3,根据预置网络存储器中配置的各个第一存储节点,以及各个第一存储节点管理的哈希槽的序号区间,得到哈希槽的序号为目标存储编号的目标存储节点。

具体的,当有新文件上传时,使用CRC-16算法对该文件md5码进行hash运算得到一个hash值(哈希值),然后将hash值来除以哈希槽的纵数量并取余数,并将该余数确定为目标存储编号,也就是该文件需要存储在以目标存储编号为序号的哈希槽中;其中,如上所述,例如有5000个哈希槽,5个存储节点,且每个存储节点管理1000个哈希槽,在进行计算时,若得到的该文件的哈希值为9999,9999除以5000商为1,余数为4999,则该文件就应该存储在序号为4999的哈希槽中;这样每个文件都会对应一个编号在0-4999之间的哈希槽;通过这个取余值并对应了的哈希槽的序号,再去找到对应的哈希槽所对应的存储节点;并且每次的运算结果跟文件md5码有关系,因为每次传入的文件md5码不一样,且哈希槽是尽量均匀分配给存储节点的,所以可以保证存储数据均匀的分配到各个槽位,各个存储节点上。

需要说明的是,当存储量需求很大时,则可以部署更多的存储节点,通过基于哈希槽来保证存储数据的均匀分布和存储节点的动态伸缩性,数据容灾方面,可在存储节点中做双盘实时自动备份和异地灾备。

S4,控制预置网络存储器将待存储文件分配至目标存储节点管理的序号为目标存储编号的哈希槽中。

其中,在上传文件时,通过调用局域网中的文件上传服务上传至局域网的预置网络存储器,预置网络存储器可以是nas或其他存储器,过程中文件上传服务根据业务场景创建分类目录并返回文件存储信息(存储节点、目录等);具体的,利用配置完成网络存储设备(NAS)的存储节点和哈希槽数量配置,结合CRC-16算法对该文件md5码进行hash运算,hash值在和配置的哈希槽数量取余的方法实现存储数据的均匀分布。

S5,基于预设的资源共享协议,将存储于预置网络存储器中的各个目标文件共享至局域网中。

其中,资源共享协议可以是SMB协议,此作为常见的网络数据共享协议在此不再赘述;具体的,预置网络存储器通过SMB协议将文件共享至局域网中,用户需要查看、编辑、删除文件时通过主动触发唤起本地资源管理器并自动打开指定网络共享目录进行操作,通过双击网络共享目录中的文件即可打开查看。

可选的,上述存储方法还可以包括:

S6,当预置网络存储器将待存储文件分配至目标存储节点出现多次上传失败时,判断该目标存储节点为节点下线状态。

其中,节点下线状态则说明该存储节点已经不能够再继续使用,则需要将该不用使用的存储节点中的存储数据进行转移。

S7,将为节点下线状态的目标存储节点管理的多个哈希槽均匀分配至其他目标存储节点,并判断为节点下线状态的目标存储节点是否具有容灾机制。

其中,当某个存储节点确定为不能使用时,则将为节点下线状态的目标存储节点管理的多个哈希槽均匀分配至其他的目标存储节点,如图6所示,可以在文件两次上传失败后将该存储节点确定为节点下线状态,并执行将该节点负责的哈希槽平均分配至其他节点的操作。同时执行是够具有容灾机制的判断。

S8,若为节点下线状态的目标存储节点具有容灾机制,基于容灾机制对该目标存储节点存储的目标文件进行数据恢复,并将进行数据恢复后得到的目标文件转移至其他目标存储节点。

其中,该节点下线状态的目标存储节点在具有容灾机制时,如图6所示,则基于容灾机制对该节点存储的数据进行恢复,在数据恢复后将该节点数据转移到其他节点。

可选的,上述存储方法还可以包括:在第一存储节点数量不足时,进行第一存储节点的新增,具体为:

S9,根据现存的第一存储节点的剩余数量,配置第一数量的新增存储节点;如图7所示,在需要进行存储节点的新增时,先进行新增存储节点的相关信息配置;

S10,从现存的第一存储节点中取出部分数量的哈希槽并分配至各个新增存储节点,并将存放于取出的哈希槽中的目标文件转移至分配的新增存储节点,其中,新增存储节点管理的哈希槽的数量与现存的第一存储节点管理的哈希槽的数量之间满足预设条件。

其中,进行存储节点的新增后,将各正常存储节点各取出部分哈希槽分配给新增节点,如图7所示,再将取出的哈希槽中的存储的文件转移至新增节点,由此结束此节点的新增流程。

实施例2:

本实施例提供局域网中大容量附件的预览方法,用于预览实施例1中任一项存储于预置网络存储器中的目标文件,如图2所示,预览方法包括以下具体步骤:

S101,获取在局域网中针对目标文件的预览指令,根据预览指令判断在打开局域网的浏览器中是否存在与目标文件的文件格式相符的应用程序,并得到判断结果。

S102,若判断结果为存在与文件格式相符的应用程序,调用与文件格式相符的应用程序对目标文件进行在线预览。

S103,若判断结果为不存在与文件格式相符的应用程序,根据目标文件在预置网络存储器中的文件目录路径,利用配置好的终端设备定位至目标文件所在的目标目录中,并调用终端设备中与文件格式相符的应用程序进行本地预览。

可选的,上述终端设备的配置过程具体为:

S1031,在终端设备的用户注册表中添加预设的路径协议,路径协议表征了终端设备与局域网之间的交互内容。

S1032,将预置的可执行文件存放至终端设备的指定目录中,可执行文件基于路径协议接收文件目录路径,并定位到目标文件所在的目标目录中。

其中,在进行终端设备的配置时,首先添加一个协议到用户注册表,配置好协议内容及接收参数,如图5所示,其次下载一个EXE可执行文件到指定目录(该可执行文件可通过传入的路径参数打开资源管理器并定位到目标目录;当配置过程有异常时,则在终端设备的窗口中弹出配置失败窗口,反正则弹出配置成功窗口,由此来结束终端设备的配置过程;具体地,添加到用户注册表的协议可以利用smb协议,结合注册表修改程序实现在web网页上唤起终端设备的资源管理器,实现网络共享目录的本地预览。

其中,针对常规文件和非常规文件分别采取不同的预览方式,包括在线预览和本地预览,如图8所示,在实际操作时,在局域网中进行文件浏览时,首先,打开存储文件的文件列表,针对文件列表中每个文件类型进行判断若支持在线预览,则在浏览截面中展示“在线预览”的按钮,否则展示“本地预览”的按钮,此时也就进行了在浏览器中是否存在与目标文件的文件格式相符的应用程序的判断;其次,用户点击意向的操作按钮,选择为在线浏览时,在该浏览窗口或新窗口通过文件预览服务进行目标文件的在线查看;最后,选择为在本地浏览时,浏览器的网页弹出是否唤起本地资源管理器,当然,选择否则结束预览流程,在选择是时,则传入该文件目录路径至注册表自定义协议中,自定义协议通过dos命令唤起资源管理器并打开目标目录,最后用户通过本地软件对目标文件进行查看、编辑;具体的,由此在不需用户下载的情况下,将浏览器不能够打开的专业性文件的预览交由用户电脑(配置完成的终端设备)处理,解决了传统方式中需要对预览的文件进行下载的弊端,省时省力,操作过程也更加的便捷。

实施例3:

本实施例提供局域网中大容量附件的存储系统,应用于实施例1中任一项的局域网中大容量附件的存储方法,如图3所示,包括:

第一模块,用于获取待存储文件的唯一标识码,并对唯一标识码进行hash运算,得到待存储文件对应的哈希值。

第二模块,用于根据哈希值和局域网中预置网络存储器配置的哈希槽的数量,计算得到哈希值除以哈希槽的数量的余数,并将该余数确定为待存储文件的目标存储编号。

第三模块,用于根据预置网络存储器中配置的各个第一存储节点,以及各个第一存储节点管理的哈希槽的序号区间,得到哈希槽的序号为目标存储编号的目标存储节点。

第四模块,用于控制预置网络存储器将待存储文件分配至目标存储节点管理的序号为目标存储编号的哈希槽中。

第五模块,用于基于预设的资源共享协议,将存储于预置网络存储器中的各个目标文件共享至局域网中。

实施例4:

本实施例提供局域网中大容量附件的预览系统,应用于实施例2中任一项的局域网中大容量附件的预览方法,如图4所示,包括:

第六模块,用于获取在局域网中针对目标文件的预览指令,根据预览指令判断在打开局域网的浏览器中是否存在与目标文件的文件格式相符的应用程序,并得到判断结果。

第七模块,用于若判断结果为存在与文件格式相符的应用程序,调用与文件格式相符的应用程序对目标文件进行在线预览。

第八模块,用于若判断结果为不存在与文件格式相符的应用程序,根据目标文件在预置网络存储器中的文件目录路径,利用配置好的终端设备定位至目标文件所在的目标目录中,并调用终端设备中与文件格式相符的应用程序进行本地预览。

实施例5:

本实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现实施例1或实施例2中任一项的方法。

实施例6:

本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行实施例1或实施例2中任一项的方法。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116580939