一种文件处理方法及系统技术方案

技术编号:14658520 阅读:40 留言:0更新日期:2017-02-17 00:17
本申请公开了一种文件处理方法及系统,方法包括:接收文件存储请求,文件存储请求中至少包括:待存储的文件实体;在已存储的文件中查找是否存在与文件实体相同的目标文件;如果存在,在预设的记录集合中添加与文件实体相对应的文件记录,并将文件记录与所述目标文件建立映射关系;如果不存在,将文件实体进行存储,在记录集合中添加与文件实体相对应的文件记录,并将文件记录与文件实体建立映射关系。本申请通过将文件实体与文件信息分开存储,对存储过的文件实体不再进行存储,而是将对应的文件记录进行登记,只存储没有存储过的文件实体,由此,对文件实体只进行一次存储操作,从而避免了文件冗余。

【技术实现步骤摘要】

本申请涉及文件处理
,特别涉及一种文件处理方法及系统
技术介绍
随着技术的发展,网络中需要存储的文件越来越多。通常将文件存储到文件服务系统中。但现有技术中在存储文件时,会出现文件重复存储,造成文件冗余的情况。
技术实现思路
有鉴于此,本申请的目的是提供一种文件处理方法及系统,用以解决现有技术中会存在文件重复存储,造成文件冗余的技术问题。本申请提供了一种文件处理方法,包括:接收文件存储请求,所述文件存储请求中至少包括:待存储的文件实体;在已存储的文件中查找是否存在与所述文件实体相同的目标文件;如果存在,在预设的记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述目标文件建立映射关系;如果不存在,将所述文件实体进行存储,在所述记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述文件实体建立映射关系。上述方法,优选的,将所述文件实体进行存储,包括:判断所述文件实体是否为图片类型的文件实体;如果所述文件实体为图片类型的文件实体,若需要进行压缩存储,则基于所述文件实体,生成压缩图,将所述压缩图进行存储;如果所述文件实体不是图片类型的文件实体,直接将所述文件实体进行存储。上述方法,优选的,还包括:接收文件查询请求,所述文件查询请求至少包括:查询文件标识;在所述记录集合中搜索是否存在与所述查询文件标识相对应的第一文件记录;如果存在,在已存储的文件中获取与所述第一文件记录具有映射关系的文件实体。上述方法,优选的,还包括:接收文件删除请求,所述文件删除请求至少包括:删除文件标识;在所述记录集合中搜索是否存在与所述删除文件标识相对应的第二文件记录;如果存在,判断与所述第二文件记录具有映射关系的文件实体被引用的次数是否大于1;如果大于1,删除所述记录集合中的第二文件记录;如果不大于1,删除与所述第二文件记录具有映射关系的文件实体并删除所述记录集合中的第二文件记录。上述方法,优选的,所述已存储的文件以MongoDB的分布式存储方式进行存储。本申请还提供了一种文件处理系统,包括:第一接收单元,用于接收文件存储请求,所述文件存储请求中至少包括:待存储的文件实体;文件查找单元,用于在已存储的文件中查找是否存在与所述文件实体相同的目标文件,如果存在,运行记录添加单元及第一关系建立单元,如果不存在,运行文件存储单元、记录添加单元及第二关系建立单元;记录添加单元,用于在预设的记录集合中添加与所述文件实体相对应的文件记录;第一关系建立单元,用于将所述文件记录与所述目标文件建立映射关系;文件存储单元,用于将所述文件实体进行存储;第二关系建立单元,用于将所述文件记录与所述文件实体建立映射关系。上述系统,优选的,所述文件存储单元具体用于:判断所述文件实体是否为图片类型的文件实体,如果所述文件实体为图片类型的文件实体,若需要进行压缩存储,则基于所述文件实体,生成压缩图,将所述压缩图进行存储,如果所述文件实体不是图片类型的文件实体,直接将所述文件实体进行存储。上述系统,优选的,还包括:文件查询单元,用于接收文件查询请求,所述文件查询请求至少包括:查询文件标识;在所述记录集合中搜索是否存在与所述查询文件标识相对应的第一文件记录,如果存在,在已存储的文件中获取与所述第一文件记录具有映射关系的文件实体。上述系统,优选的,还包括:文件删除单元,用于接收文件删除请求,所述文件删除请求至少包括:删除文件标识;在所述记录集合中搜索是否存在与所述删除文件标识相对应的第二文件记录,如果存在,判断与所述第二文件记录具有映射关系的文件实体被引用的次数是否大于1,如果大于1,删除所述记录集合中的第二文件记录,如果不大于1,删除与所述第二文件记录具有映射关系的文件实体并删除所述记录集合中的第二文件记录。上述系统,优选的,所述文件存储单元具体用于将所述文件实体以MongoDB的分布式存储方式进行存储。由上述方案可知,本申请提供的一种文件处理方法及系统,通过将文件实体与文件信息分开存储,对存储过的文件实体不再进行存储,而是将对应的文件记录进行登记,只存储没有存储过的文件实体,由此,对文件实体只进行一次存储操作,从而避免了文件冗余。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为文件服务系统中的网络结构布局图;图2为本申请实施例一提供的一种文件处理方法的流程图;图3、图4及图5分别为本申请实施例一的部分流程图;图6为本申请实施例二提供的一种文件处理系统的结构示意图;图7为本申请实施例二提供的一种文件处理系统的另一结构示意图。具体实施方式图1所示为文件服务系统中的网络结构布局图,其中包括有客户端、服务器及数据库,用户可以通过输入用户名及密码登录到客户端,客户端与服务器相连接,服务器通过rest接口对外提供服务器,而服务器与数据库相连接,数据库中存储有各种文件的数据。客户端可以通过HTTP(HyperTextTransferProtocol,超文本传输协议)请求,调用服务器上的reset接口,对数据库中的文件进行操作。以下方案为图1中服务器对客户端进行文件存储、查找及删除等操作的实现方案,如下:图2所示为本申请实施例一提供的一种文件处理方法的实现流程图,本实施例在图1中的服务器上实现,其中可以包括有以下步骤:步骤201:接收文件存储请求。其中,文件存储请求中至少包括:待存储的文件实体。本实施例中,用户登录客户端后,通过在客户端进行相应的输入操作,基于需要存储的文件实体生成文件存储请求,并基于HTTP协议向服务器发送文件存储请求,由服务器接收这一文件存储请求。步骤202:在已存储的文件中查找是否存在与文件实体相同的目标文件,如果存在,执行步骤203~步骤204,如果不存在,执行步骤205、步骤203及步骤206。其中,本实施例中可以首先根据文件实体,提取或确定文件实体的文件特征,如文件名、文件扩展名、文件大小及文件的md5值中的一个或多个等,进而通过数据访问接口在数据库中根据这些文件特征搜索或查找与待存储的文件实体相同的目标文件。步骤203:在预设的记录集合中添加与文件实体相对应的文件记录。其中,这里的文件记录可以基于文件实体的文件特征来生成,如文件信息ID,作为唯一表征本次引用该文件实体的标识符。在数据库中,多个文件实体可以以组的形式保存,每个组具有组ID。步骤204:将添加的文件记录与目标文件建立映射关系。也就是说,如果在数据库中已经存在与待存储的文件实体相同的目标文件,则不需要再次将文件实体上传,而是只在服务器中的记录集合中添加相应的文件记录,以表征数据库中已经存在这个文件实体。这里的记录集合可以以文件信息表的形式存在,记录集合中的文件记录即文件信息表中的一条文件信息记录。本实施例中将添加的文件记录与目标文件建立映射关系时,可以利用指针的数据结构的指向原理,将文件记录指向目标文件,使得基于文件记录能够找到其指向的目标文件。由此,在本实施例中,服务器中的文件记录与数据库中的文件实体具有映射关系,其中,文件记录与文件实体之间为多对一本文档来自技高网...
一种文件处理方法及系统

【技术保护点】
一种文件处理方法,其特征在于,包括:接收文件存储请求,所述文件存储请求中至少包括:待存储的文件实体;在已存储的文件中查找是否存在与所述文件实体相同的目标文件;如果存在,在预设的记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述目标文件建立映射关系;如果不存在,将所述文件实体进行存储,在所述记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述文件实体建立映射关系。

【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:接收文件存储请求,所述文件存储请求中至少包括:待存储的文件实体;在已存储的文件中查找是否存在与所述文件实体相同的目标文件;如果存在,在预设的记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述目标文件建立映射关系;如果不存在,将所述文件实体进行存储,在所述记录集合中添加与所述文件实体相对应的文件记录,并将所述文件记录与所述文件实体建立映射关系。2.根据权利要求1所述的方法,其特征在于,将所述文件实体进行存储,包括:判断所述文件实体是否为图片类型的文件实体;如果所述文件实体为图片类型的文件实体,若需要进行压缩存储,则基于所述文件实体,生成压缩图,将所述压缩图进行存储;如果所述文件实体不是图片类型的文件实体,直接将所述文件实体进行存储。3.根据权利要求1所述的方法,其特征在于,还包括:接收文件查询请求,所述文件查询请求至少包括:查询文件标识;在所述记录集合中搜索是否存在与所述查询文件标识相对应的第一文件记录;如果存在,在已存储的文件中获取与所述第一文件记录具有映射关系的文件实体。4.根据权利要求1所述的方法,其特征在于,还包括:接收文件删除请求,所述文件删除请求至少包括:删除文件标识;在所述记录集合中搜索是否存在与所述删除文件标识相对应的第二文件记录;如果存在,判断与所述第二文件记录具有映射关系的文件实体被引用的次数是否大于1;如果大于1,删除所述记录集合中的第二文件记录;如果不大于1,删除与所述第二文件记录具有映射关系的文件实体并删除所述记录集合中的第二文件记录。5.根据权利要求1所述的方法,其特征在于,所述已存储的文件以MongoDB的分布式存储方式进行存储。6.一种文件处理系统,其特征在于,包括:第一接收单元,用于接收文件存储请求,所述文件存储请求中至少包...

【专利技术属性】
技术研发人员:江春华杨志鹏罗新伟陈显龙孙敏杰刘海
申请(专利权)人:北京恒华伟业科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1