[发明专利]分布式父子关系元素查找方法有效
申请号: | 201910543604.3 | 申请日: | 2019-06-21 |
公开(公告)号: | CN110347886B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 李乐斌;陈洁 | 申请(专利权)人: | 政采云有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/901 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 父子 关系 元素 查找 方法 | ||
本发明公开了一种分布式父子关系元素查找方法,包含以下步骤:建立分布式缓存redis;将元素集合拆分成多个元素子集合并发送至不同的计算机;计算机计算其接收到的元素子集合中的每一个元素的父元素并将元素和其对应的父元素存入分布式缓存redis;通过分布式缓存redis从其接收到的元素子集合中查找出满足父子关系函数的元素;汇总多个计算机的查找结果综合判断。提供的分布式父子关系元素查找方法将元素集合拆分成多个元素子集合发送至不同的计算机处理,利用分布式缓存redis存储多个计算机的运算结果,再根据分布式缓存redis的key‑value映射的特性,大大减小了查找元素集合中满足父子关系的元素的时间。
技术领域
本发明涉及一种分布式父子关系元素查找方法。
背景技术
在一个元素集合中,例如对于元素集合{A,B,C},该元素集合中的元素满足f(A)=B,且f(B)=C,我们认为,该元素集合中的每个元素均满足父子关系函数f(x),元素A、B、C满足父子关系。其中,元素A是元素B的父元素,元素B是元素A的子元素,元素B是元素 C的父级,元素C是元素B的子级。而且元素A的父元素并未包含在元素集合中,我们称元素A为根,而元素C的子元素并未包含在元素集合中,那么元素C就是子结点。
在实际应用中,经常需要验证一个元素集合中的每个元素是否满足父子关系,现有的方法是对每个元素进行如下判断:验证每个元素的子元素或父元素是否存在于元素集合中,若该元素的父元素或子元素存在于该元素集合中,则该元素满足父子关系。
现有方法对于元素集合中的每一个元素的验证均需要将该元素代入父子关系函数f(x)中运算得到其子元素,并将该子元素与元素集合中剩下的元素进行对比以判断剩余元素中是否包含与子元素相等的元素。
具体而言,以元素集合{A,B,C}为例,若想要验证该元素集合中的元素是否满足父子关系函数f(x),则需要经过以下步骤:
验证元素A:验证f(A)是否等于B以及f(A)是否等于B,最多需要循环计算两次,验证元素 B:验证f(B)是否等于A以及f(B)是否等于C,最多需要循环计算两次,验证元素C:验证f(C)是否等于A以及f(C)是否等于B,最多需要循环计算两次,经过以上步骤可以判断元素A、元素B 和元素C是否满足父子关系函数f(x),验证一个元素个数为3的元素集合,最坏的可能性是进行6次对比查找运算,当元素个数为n时,最坏的可能性是需要进行n(n-1)次对比查找运算,假设元素集合中的元素个数较大,该运算量急剧增长,大大的耗费计算机的计算资源,同时,计算耗时非常长。
发明内容
为解决现有技术的不足,本发明提供了一种可以解决上述问题的分布式父子关系元素查找方法。
为了实现上述目标,本发明采用如下的技术方案:
一种分布式父子关系元素查找方法,用于从一元素集合中查找出满足某一父子关系函数的元素,包含以下步骤:
建立分布式缓存redis;
将所述元素集合拆分成多个元素子集合并将所述元素子集合发送至不同的计算机;
每个计算机计算其接收到的所述元素子集合中的每一个所述元素的父元素;
每个计算机将所述元素和其对应的所述父元素存入所述分布式缓存redis;
每个计算机通过所述分布式缓存redis从其接收到的所述元素子集合中查找出满足所述父子关系函数的所述元素;
汇总多个计算机的查找结果综合判断所述元素集合中满足所述父子关系函数的所述元素。
进一步地,将所述元素集合均分为多个所述元素子集合。
进一步地,每个计算机计算其接收到的所述元素子集合中的每一个所述元素的父元素的具体方法为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于政采云有限公司,未经政采云有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910543604.3/2.html,转载请声明来源钻瓜专利网。