文件映射方法及装置和文件推荐方法及装置制造方法

文档序号:6623013阅读:170来源:国知局
文件映射方法及装置和文件推荐方法及装置制造方法
【专利摘要】本发明公开了一种文件映射方法及装置和文件推荐方法及装置,包括利用布鲁姆过滤器对经过哈希运算的文件的关键字进行处理后生成文件标识;将文件标识的海明码距离满足预设条件的文件,利用纠错码存储到物理上相同或临近的节点,其中预设条件为海明码距离的大小与文件是否相似之间的对应关系。本发明通过在文件标识中融入文件内容信息以及利用纠错码,实现了将相似的文件存储到了物理上相同或临近的节点。这样,在本发明文件推荐方法中,由于相似的文件存储到了物理上相同或临近的节点,因此仅仅需要判断与用户兴趣相似的文件及临近的其他文件是否为用户感兴趣的文件即可,而不需要对整个系统中的所有文件进行逐一判断,从而提高了文件推荐的效率。
【专利说明】文件映射方法及装置和文件推荐方法及装置

【技术领域】
[0001] 本发明涉及文件共享技术,尤指一种文件映射方法及装置和文件推荐方法及装 置。

【背景技术】
[0002] 通过网盘等用于文件共享的应用系统,用户在贡献自身文件资源的同时,也能获 取别人贡献的资源。在目前的文件共享应用系统中,用户登陆后,系统会根据用户贡献的文 件、文件下载历史等信息,为用户推荐其可能感兴趣的文件列表。
[0003] 在现有文件共享应用系统中,文件由文件标识id和用于表达文件主题内容的元 数据来表示。其中,文件标识id -般随机生成;元数据包括一系列的、表征文件内容的关键 字。
[0004] 为了能给用户推荐其感兴趣的文件,文件共享应用系统需要维护用户的搜索和共 享历史,记录用户搜索和分享过的文件的关键字,举例来看,假设为某用户维护的关键字为 {网络,计算机,系统结构}。那么,当系统在判断是否要为该用户推荐文件A(表述为{id a, K= {kl,k2,....}})时,首先需要计算为该用户维护的关键字{网络,计算机,系统结构} 和文件A的关键字集合K的相似度;如果某个&与该用户的关键字匹配,则判断出文件A为 该用户感兴趣的文件。
[0005] 现有的文件标识id中不包含文件的内容信息。文件标识id采用随机生成的方式 产生,也就是说,文件标识id是一串没有具体含义的记号,无法表征文件的特征。在现有给 用户推荐其感兴趣的文件的方法中,当需要判断文件是否为用户感兴趣的文件时,需要通 过文件标识id这个记号获取文件的元数据信息,再从元数据中提取出文件的关键字信息, 然后再按照上述方法判断是否适合推荐。
[0006] 而在文件共享系统中,文件不呈现聚集性的特征,文件的存储位置由文件标识id 的散列函数来决定。由于文件标识id不具备任何含义,因此,相似文件的实际映射位置可 能会大相径庭,基于这种文件映射方式,当为用户推荐其感兴趣的文件时,需要对共享文件 系统中所有的文件进行扫描,并比对文件的关键字集合与用户的关键字集合,从而判断出 某一文件是否是用户感兴趣的。这显然给文件推荐的实现带来了一定的困难,而且大大降 低了文件推荐的效率。


【发明内容】

[0007] 为了解决上述技术问题,本发明提供了一种文件映射方法及装置和文件推荐方法 及装置,能够使得文件的存储呈现聚集性的特征,提高文件推荐效率。
[0008] 为了达到本发明目的,本发明提供了一种文件映射方法,包括:利用布鲁姆过滤器 对经过哈希运算的文件的关键字进行处理后生成文件标识;
[0009] 将文件标识间海明码距离满足预设条件的文件,利用纠错码存储到物理上相同或 临近的节点,其中所述预设条件为海明码距离的大小与文件是否相似之间的对应关系。
[0010] 所述文件的关键字包括S个,s为大于1的自然数;所述生成文件标识包括:
[0011] 计算所述S个关键字的一致性哈希在布鲁姆过滤器中的s次插入操作。
[0012] 所述将文件标识间海明码距离满足预设条件的文件,利用纠错码存储到物理上相 同或临近的节点包括:
[0013] 利用纠错码建立所述节点的节点标识至纠错节点标识的一一映射关系;
[0014] 在所有的纠错节点标识中,选择一个与所述文件标识海明码距离最小的、并且值 最小的纠错节点标识,将所述文件标识存储在与该纠错节点标识对应的节点标识表示的物 理节点上。
[0015] 本发明还提供了一种文件映射装置,至少包括第一生成模块和映射模块,其中,
[0016] 第一生成模块,用于对文件的关键字进行哈希运算,利用布鲁姆过滤器对经过哈 希运算的关键字进行处理后生成文件标识。
[0017] 映射模块,用于获取文件标识间的海明码距离,并将获得的海明码距离满足预设 条件的文件,利用纠错码存储到物理上相同或临近的节点,其中所述预设条件为海明码距 离的大小与文件是否相似之间的对应关系。
[0018] 本发明又提供了一种文件推荐方法,包括:
[0019] 对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣向量;
[0020] 利用纠错码确定生成的用户的兴趣向量表征的文件的存储位置;
[0021] 根据生成的用户的兴趣向量和存储位置上的文件标识的相似度,确定用户感兴趣 的文件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关键字进行处理后 生成文件标识。
[0022] 所述生成用户的兴趣向量包括:所述与用户兴趣相关的各关键字分别经过哈希运 算后的结果组成的、长度为所述与用户兴趣相关的关键字个数的兴趣向量U。
[0023] 所述确定生成的用户的兴趣向量表征的文件的存储位置包括:
[0024] 利用布鲁姆过滤器对经过哈希运算的用户兴趣相关的关键字进行处理后生成表 征用户兴趣的文件的文件标识;
[0025] 利用纠错码建立所述节点的节点标识至纠错节点标识的一一映射关系;
[0026] 在所有的纠错节点标识中,选择一个与所述表征用户兴趣的文件的文件标识的海 明码距离最小的、并且值最小的纠错节点标识,将所述表征用户兴趣的文件的文件标识存 储在与该纠错节点标识对应的节点标识表示的物理节点上。
[0027] 所述确定用户感兴趣的文件包括:
[0028] 计算所述用户的兴趣向量U和所述确定出的存储位置上的文件的文件标识的海 明码距离,当海明码距离小于或等于预先设置的距离阈值时,确定二者相似度高,且该文件 标识对应的文件为用户感兴趣的文件。
[0029] 本发明再提供了一种文件推荐装置,至少包括第二生成模块、处理模块和确定模 块,其中,
[0030] 第二生成模块,用于对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣 向量;
[0031] 处理模块,用于利用纠错码概念确定生成的用户的兴趣向量表征的文件的存储位 置;
[0032] 确定模块,用于根据生成的用户的兴趣向量和存储位置上的文件标识的相似度, 确定用户感兴趣的文件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关 键字进行处理后生成文件标识。
[0033] 与现有技术相比,本发明包括利用布鲁姆过滤器对经过哈希运算的文件的关键字 进行处理后生成文件标识;将文件标识的海明码距离满足预设条件的文件,利用纠错码存 储到物理上相同或临近的节点,其中所述预设条件为海明码距离的大小与文件是否相似之 间的对应关系。本发明通过在文件标识中融入文件内容信息以及利用纠错码,实现了将相 似的文件存储到了物理上相同或临近的节点。这样,在本发明文件推荐方法中,由于相似的 文件存储到了物理上相同或临近的节点,因此仅仅需要判断与用户兴趣相似的文件及临近 的其他文件是否为用户感兴趣的文件即可,而不需要对整个系统中的所有文件进行逐一判 断,这样显然提高了文件推荐的效率。
[0034] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。

【专利附图】

【附图说明】
[0035] 附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本 申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0036] 图1为本发明文件映射方法的流程图;
[0037] 图2为本发明文件映射装置的组成结构示意图;
[0038] 图3为本发明文件推荐方法的流程图;
[0039] 图4为本发明文件推荐装置的组成结构示意图。

【具体实施方式】
[0040] 为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。
[0041] 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中 执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺 序执行所示出或描述的步骤。
[0042] 图1为本发明文件映射方法的流程图,如图1所示,包括:
[0043] 步骤100 :利用布鲁姆过滤器对经过哈希运算的文件的关键字进行处理后生成文 件标识。
[0044] 文件内容通常由一系列的关键字来表征。因此,具有多个相同关键字的两个文件 可定义为相似文件。对于由关键字集合K= {kl,k2,...,ki,...,ks}表示的文件,按照本 步骤的方法,文件标识的生成就是:计算s个关键字的一致性哈希在布鲁姆过滤器中的s次 插入操作,s为大于1的自然数,可通过公式(1)表示为 :
[0045] id = 0 U h{kl} U h{k2} U . . . U h {ks} (1)
[0046] 在公式⑴中,0表示布鲁姆过滤器的初始状态,是长度为n的0向量。h{ks}为 关键字ks经过哈希运算后的结果,其值为长度为η的向量Us。U表示布鲁姆过滤器中定义 的插入操作。公式(2)表示了对某关键字ks的插入操作,即是对U运算的定义,公式(2) 中的运算符" I "表示或运算,Ut表示另一个参与插入操作的向量:
[0047] Ut U Us = < ult|uls, u2t|u2s, . . . ,unt|uns>(2)
[0048] 可见,通过本发明公式(1)生成的文件标识id表征了文件内容。也就是说,任何 两个共享了较多关键字的文件,其文件标识id较为相似。而且,本领域技术人员容易知道, 文件标识id较为相似的文件间,其文件标识id的海明码距离较小。其中,海明码距离的大 小与文件是否相似之间的关系是根据实际情况预先设置的预设条件,这里并不做限定,只 要文件标识id之间的海明码距离满足预设条件的文件就认为是相似的文件,其海明码距 离也是较小的。海明码距离的计算属于本领域技术人员的公知技术,具体实现并不用于限 定本发明的保护范围,这里不再赘述。
[0049] 在本发明的文件标识生成中,通过引入布鲁姆过滤器,将表征文件内容的关键字 信息融入到了文件标识中。
[0050] 步骤101 :将文件标识间海明码距离满足预设条件的文件,利用纠错码存储到物 理上相同或临近的节点,其中,预设条件为海明码距离的大小与文件是否相似之间的对应 关系。
[0051] 在文件共享系统中,已有结论表明用户的兴趣较为稳定,即用户共享的资源和希 望获取的资源具有相似性。如果能够将相似文件存储在物理上相同或相邻的节点上,那么 当用户贡献了某个文件资源时,依据兴趣稳定论,用户感兴趣的文件资源与该文件实际存 储位置相同或临近。
[0052] 在现有类似于Dynamo的系统中,文件被映射到比文件标识id大的第一个节点上 (节点id随机生成),可表示为:id - >successor (id)。文件标识id的相似性是由海明码 距离表示的,但是,海明码距离小的两个文件,并不意味着文件标识id的值的大小接近。比 如:文件标识id分别为1011111和0011111的两个文件,它们之间的海明码距离为2,但是 文件标识id的值却相差64。也就是说,按照现有通常的文件映射方式,具备相似文件标识 id的文件也是不能被映射至物理上相同或相邻的节点上的。
[0053] 现代通信理论提出的纠错码(error code)概念,即在一串长为k的码字后增加长 为(n-k)的纠错码,当长为k的码字发生传输错误时,可以根据(n-k)位的纠错码将其纠 正。针对纠错码,目前已有结论证明,对于长度为k的码字空间,总是能找到一个矩阵G k#n, 使得这一码字空间能扩展为长度为η的码字空间。也即以下公式(3)表示的条件成立。
[0054] Gk*n = (I | Α),使得 V = {ν | ν = u. G,u = <ul,u2, · · ·,uk>,ui = Oorl} (3)
[0055] 且在公式⑶中,任意的vl、v2 e V,vl.v2 e V,即V为一个大小为2k的空间。公 式(3)的具体实现内容可以参见彭代渊编著的《信息论与编码理论》的第八章中的内容,是 本领域技术人员容易理解的,这里不再赘述。
[0056] 通过公式(3),利用纠错码建立k维空间的节点标识node_id至η维空间的纠错节 点标识node_err_id的一一映射关系,也就是说,本步骤利用纠错码,为每个物理节点定义 了 η维的纠错节点标识node_err_id,并且纠错节点标识node_err_id与节点标识node_id 是 对应的关系。
[0057] 在文件存储系统中,将文件存储到物理节点的过程,其实就是文件标识id与节点 标识node_id之间的映射过程,本步骤具体包括:
[0058] 利用纠错码建立节点的节点标识node_id至纠错节点标识node_err_id的--映 射关系;在所有的纠错节点标识node_err_id中,选择一个与文件标识id海明码距离最小 的、并且值最小的纠错节点标识node_err_id,,将所述文件标识id存储在与该纠错节点标 识node_err_id对应的节点标识node_id表示的物理节点上。
[0059] 这样实现了尽量地将相似文件映射至同一个纠错节点标识node_err_id上,并 且,文件标识id唯一地映射到了纠错节点标识node_err_id上。而且,由于纠错节点标识 node_err_id和节点标识node_id之间是一个--映射的过程,由公式(3)可见,纠错节点 标识node_err_id有唯一的节点标识node_id与其对应,这样,实现了文件标识id存储在 节点标识node_id表示的物理节点上。
[0060] 通过本发明图1所示的方法,通过在文件标识id中融入文件内容信息以及利用纠 错码概念,实现了将相似的文件存储到了物理上相同或临近的节点。
[0061] 图2为本发明文件映射装置的组成结构示意图,如图2所示,至少包括第一生成模 块和映射模块,其中,
[0062] 第一生成模块,用于对文件的关键字进行哈希运算,利用布鲁姆过滤器对经过哈 希运算的关键字进行处理后生成文件标识。
[0063] 映射模块,用于获取文件标识间的海明码距离,并将获得的海明码距离满足预设 条件的文件,利用纠错码存储到物理上相同或临近的节点,其中预设条件为海明码距离的 大小与文件是否相似之间的对应关系。
[0064] 图3为本发明文件推荐方法的流程图,如图3所示,包括:
[0065] 步骤300 :对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣向量。 [0066] 为了能给用户推荐其感兴趣的文件,文件共享应用系统会维护用户的搜索和共享 历史,记录用户搜索和分享过的文件的关键字,比如某用户维护的关键字为{网络,计算 机,系统结构}等。
[0067] 本步骤中的获得用户的兴趣向量U包括:与用户兴趣相关的关键字个数的各关键 字分别经过哈希运算后的结果组成的、长度为与用户兴趣相关的关键字个数的的兴趣向量 U,具体实现属于本领域技术人员按照本发明的记载容易实现的,这里不再赘述。
[0068] 步骤301 :利用纠错码确定生成的用户的兴趣向量表征的文件的存储位置。本步 骤的具体实现就是按照图1所示的步骤101的方法进行实现即可,包括:利用布鲁姆过滤器 对经过哈希运算的用户兴趣相关的关键字进行处理后生成表征用户兴趣的文件的文件标 识;
[0069] 利用纠错码建立节点的节点标识node_id至纠错节点标识node_err_id的--映 身寸关系;
[0070] 在所有的纠错节点标识node_err_id中,选择一个与所述表征用户兴趣的文件的 文件标识的海明码距离最小的、并且值最小的纠错节点标识node_ err_id,将所述表征用户 兴趣的文件的文件标识存储在与该纠错节点标识node_err_id对应的节点标识node_id表 示的物理节点上。
[0071] 步骤302 :根据生成的用户的兴趣向量和存储位置上的文件标识的相似度,确定 用户感兴趣的文件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关键字 进行处理后生成文件标识。
[0072] 本步骤中,计算用户的兴趣向量U和由步骤301所确定的存储位置上的文件的文 件标识id的海明码距离,当海明码距离小于或等于预先设置的距离阈值时,确定二者相似 度高,且该文件标识对应的文件为用户感兴趣的文件。其中,距离阈值是根据实际应用环境 确定的,属于本领域技术人员知道的,这里不再赘述。
[0073] 由于本发明中,通过在文件标识中融入文件内容信息以及利用纠错码概念,实现 了将相似的文件存储到了物理上相同或临近的节点。因此,在本发明图3所示的文件推荐 方法中,仅仅需要判断与用户兴趣相似的文件及临近的其他文件是否为用户感兴趣的文件 即可,而不需要对整个系统中的所有文件进行逐一判断,这样显然提高了文件推荐的效率。
[0074] 图4为本发明文件推荐装置的组成结构示意图,如图4所示,至少包括第二生成模 块、处理模块和确定模块,其中,
[0075] 第二生成模块,用于对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣 向量;
[0076] 处理模块,用于利用纠错码概念确定生成的用户的兴趣向量表征的文件的存储位 置。
[0077] 确定模块,用于根据生成的用户的兴趣向量和存储位置上的文件标识的相似度, 确定用户感兴趣的文件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关 键字进行处理后生成文件标识。。
[〇〇78] 虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的 实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭 露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明 的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1. 一种文件映射方法,其特征在于,包括:利用布鲁姆过滤器对经过哈希运算的文件 的关键字进行处理后生成文件标识; 将文件标识间海明码距离满足预设条件的文件,利用纠错码存储到物理上相同或临近 的节点,其中所述预设条件为海明码距离的大小与文件是否相似之间的对应关系。
2. 根据权利要求1所述的文件映射方法,其特征在于,所述文件的关键字包括s个,s 为大于1的自然数;所述生成文件标识包括: 计算所述s个关键字的一致性哈希在布鲁姆过滤器中的s次插入操作。
3. 根据权利要求1或2所述的文件映射方法,其特征在于,所述将文件标识间海明码距 离满足预设条件的文件,利用纠错码存储到物理上相同或临近的节点包括: 利用纠错码建立所述节点的节点标识至纠错节点标识的一一映射关系; 在所有的纠错节点标识中,选择一个与所述文件标识海明码距离最小的、并且值最小 的纠错节点标识,将所述文件标识存储在与该纠错节点标识对应的节点标识表示的物理节 点上。
4. 一种文件映射装置,其特征在于,至少包括第一生成模块和映射模块,其中, 第一生成模块,用于对文件的关键字进行哈希运算,利用布鲁姆过滤器对经过哈希运 算的关键字进行处理后生成文件标识; 映射模块,用于获取文件标识间的海明码距离,并将获得的海明码距离满足预设条件 的文件,利用纠错码存储到物理上相同或临近的节点,其中所述预设条件为海明码距离的 大小与文件是否相似之间的对应关系。
5. -种文件推荐方法,其特征在于,包括: 对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣向量; 利用纠错码确定生成的用户的兴趣向量表征的文件的存储位置; 根据生成的用户的兴趣向量和存储位置上的文件标识的相似度,确定用户感兴趣的文 件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关键字进行处理后生成 文件标识。
6. 根据权利要求5所述的文件推荐方法,其特征在于,所述生成用户的兴趣向量包括: 所述与用户兴趣相关的各关键字分别经过哈希运算后的结果组成的、长度为所述与用户兴 趣相关的关键字个数的兴趣向量U。
7. 根据权利要求5所述的文件推荐方法,其特征在于,所述确定生成的用户的兴趣向 量表征的文件的存储位置包括: 利用布鲁姆过滤器对经过哈希运算的用户兴趣相关的关键字进行处理后生成表征用 户兴趣的文件的文件标识; 利用纠错码建立所述节点的节点标识至纠错节点标识的一一映射关系; 在所有的纠错节点标识中,选择一个与所述表征用户兴趣的文件的文件标识的海明码 距离最小的、并且值最小的纠错节点标识,将所述表征用户兴趣的文件的文件标识存储在 与该纠错节点标识对应的节点标识表示的物理节点上。
8. 根据权利要求5?7任一项所述的文件推荐方法,其特征在于,所述确定用户感兴趣 的文件包括: 计算所述用户的兴趣向量U和所述确定出的存储位置上的文件的文件标识的海明码 距离,当海明码距离小于或等于预先设置的距离阈值时,确定二者相似度高,且该文件标识 对应的文件为用户感兴趣的文件。
9. 一种文件推荐装置,其特征在于,至少包括第二生成模块、处理模块和确定模块,其 中, 第二生成模块,用于对与用户兴趣相关的关键字进行哈希运算并生成用户的兴趣向 量; 处理模块,用于利用纠错码概念确定生成的用户的兴趣向量表征的文件的存储位置; 确定模块,用于根据生成的用户的兴趣向量和存储位置上的文件标识的相似度,确定 用户感兴趣的文件,其中,文件标识为利用布鲁姆过滤器对经过哈希运算的文件的关键字 进行处理后生成文件标识。
【文档编号】G06F17/30GK104102748SQ201410390122
【公开日】2014年10月15日 申请日期:2014年8月8日 优先权日:2014年8月8日
【发明者】王淑玲, 张云勇, 房秉毅 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1