一种基于ipfs的相似文件检索方法、电子设备及存储介质
文献发布时间:2023-06-19 13:29:16
技术领域
本发明涉及文件检索方法领域,更具体的说是,涉及一种基于ipfs的相似文件检索方法、电子设备及存储介质。
背景技术
IPFS一般指星际文件系统,星际文件系统是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。
IPFS(InterPlanetary File System,星际文件系统)是一个将现有的成功系统分布式哈希表(Distributed Hash Tables(DHTs))、BitTorrent、版本控制系统Git、自认证文件系统(Self-CertifiedFilesystems-SFS)与区块链相结合的文件存储和内容分发网络协议。这些系统的综合优势给它带来的显著特性:永久的、去中心化保存和共享文件(区块链模式下的存储DHTs);点对点超媒体:P2P保存各种各样类型的数据(BitTorrent);版本化:可追溯文件修改历史(Git-Merkle DAG默克尔有向无环图));内容可寻址:通过文件内容生成独立哈希值来标识文件,而不是通过文件保存位置来标识,相同内容的文件在系统中只会存在一份,节约存储空间。
IPFS是一个对等的分布式文件系统,它尝试为所有计算设备连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。
该文件系统可以通过多种方式访问,包括FUSE与HTTP。将本地文件添加到IPFS文件系统可使其面向全世界可用。文件表示基于其哈希,因此有利于缓存。文件的分发采用一个基于BitTorrent的协议。其他查看内容的用户也有助于将内容提供给网络上的其他人。IPFS有一个称为IPNS的名称服务,它是一个基于PKI的全局名字空间,用于构筑信任链,这与其他NS兼容,并可以映射DNS、.onion、.bit等到IPNS。
目前,传统文件查重手段主要依靠原文比对或词频检索,效率低下,也不存在检索相似文件的功能;在文件重复度检测方面,不论是清除冗余数据还是检测盗版文件,论文查重,都需要对文件的重复度进行检测。
发明内容
本发明的目的是提供一种基于ipfs的相似文件检索方法、电子设备及存储介质。
本发明要解决的是现有文件重复度检测方法存在的问题。
与现有技术相比,本发明技术方案及其有益效果如下:
一种基于ipfs的相似文件检索方法,包括以下步骤:步骤一,将文件进行分割成块,并形成若干dag结构,dag结构的重复度等价于文件的重复度;步骤二,对每一dag结构的links中的hash进行再压缩后拼接成复合hash,将dag结构的重复度等价于复合hash的重复度;步骤三,维护复合hash和cid的映射关系;步骤四,在搜索引擎中维护复合hash;步骤五,在搜索引擎中搜索一特定的复合hash,得到与该复合hash重复度高的其他复合hash,通过步骤三维护的映射关系,找到文件在ipfs中的cid,进而查找到相似文件。
作为进一步改进的,步骤一中的将文件进行分割成块,采用ipfs内置的rubin分块算法,根据文件的特征和指定的块大小来进行分块。
作为进一步改进的,文件的特征包括词语、句子和段落。
作为进一步改进的,步骤三中的维护复合hash和cid的映射关系,将复合hash和cid以键值对的形式保存在非关系型数据库或以表的形式保存在关系型数据库中,或者以json格式存储在搜索引擎中。
作为进一步改进的,搜索引擎为elastic search。
一种电子设备,包括:通信器,用于与外部通信;存储器,用于存储计算机程序;处理器,连接所述通信器及存储器,用于运行所述计算机程序以执行所述的一种基于ipfs的相似文件检索方法。
一种计算机可读存储介质,存储有计算机程序;所述计算机程序运行时执行所述的一种基于ipfs的相似文件检索方法。
本发明的有益效果为:
本发明基于ipfs给出一套完整的文件重复度检测方法,解决了以往文件查重需要文本对比或词频分析导致的效率低下问题,并且可以方便的对相似文件进行检索,并计算出相似度。本发明将文件的重复度转化为复合hash的重复度,并利用搜索引擎管理复合hash,ipfs系统管理文件。
附图说明
图1是本发明实施例提供的一种基于ipfs的相似文件检索方法的步骤图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
参照图1所示,一种基于ipfs的相似文件检索方法,包括以下步骤:步骤一,将文件进行分割成块,并形成若干dag结构,dag结构的重复度等价于文件的重复度;步骤二,对每一dag结构的links中的hash进行再压缩后拼接成复合hash,将dag结构的重复度等价于复合hash的重复度;步骤三,维护复合hash和cid的映射关系;步骤四,在搜索引擎中维护复合hash;步骤五,在搜索引擎中搜索一特定的复合hash,得到与该复合hash重复度高的其他复合hash,通过步骤三维护的映射关系,找到文件在ipfs中的cid,进而查找到相似文件。
步骤一中的将文件进行分割成块,采用ipfs内置的rubin分块算法,根据文件的特征和指定的块大小来进行分块。
需要说明的是,块的大小决定了重复度检测的精度,分块的多少决定了检测的速度。因此需要根据精度和速度的需求对块的大小进行调整,具体数值需要根据系统要求进行调试。
步骤二中对hash进行再压缩的长度可以根据需要进行调节;需要说明的是,步骤二会不同程度损失精度(视再压缩长度的不同),导致额外的hash碰撞,将根块的重复度近似的转化为复合hash的重复度。
文件根据文件的特征进行分块,文件的特征包括词语、句子和段落。
步骤三中的维护复合hash和cid的映射关系,将复合hash和cid以键值对的形式保存在非关系型数据库或以表的形式保存在关系型数据库中,或者以json格式存储在搜索引擎中。
本实施例中,搜索引擎为elastic search。
需要说明的是,文件内容重复较多的两个文件视为相似文件,具体阈值可以根据需求调整,本发明将文件内容的重复度近似的等价于复合hash的重复度,通过符合hash的重复度来判断文件是否为相似文件。
本发明基于ipfs给出一套完整的文件重复度检测方法,解决了以往文件查重需要文本对比或词频分析导致的效率低下问题,并且可以方便的对相似文件进行检索,并计算出相似度。本发明将文件的重复度转化为复合hash的重复度,并利用搜索引擎管理复合hash,ipfs系统管理文件。
一种电子设备,包括:通信器,用于与外部通信;存储器,用于存储计算机程序;处理器,连接所述通信器及存储器,用于运行所述计算机程序以执行所述的一种基于ipfs的相似文件检索方法。
一种计算机可读存储介质,存储有计算机程序;所述计算机程序运行时执行所述的一种基于ipfs的相似文件检索方法。
以上实施例仅用以解释说明本发明的技术方案而非对其限制。本领域技术人员应当理解,未脱离本发明精神和范围的任何修改和等同替换,均应落入本发明权利要求的保护范围中。
- 一种基于ipfs的相似文件检索方法、电子设备及存储介质
- 一种基于词频和语义计算专利文献相似度的智能检索方法、装置、电子设备及其存储介质