[发明专利]一种基于HashMap数据结构的分布式比较方法在审
申请号: | 202010805202.9 | 申请日: | 2020-08-12 |
公开(公告)号: | CN111949660A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 刘南雁 | 申请(专利权)人: | 光大兴陇信托有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;H04L29/08 |
代理公司: | 北京中和立达知识产权代理事务所(普通合伙) 11756 | 代理人: | 杨磊 |
地址: | 730030 甘肃*** | 国省代码: | 甘肃;62 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hashmap 数据结构 分布式 比较 方法 | ||
1.一种基于HashMap数据结构的分布式比较方法,其特征在于,所述方法包括:
获取原始数据和目标数据;
采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较;
将所述原始数据中与所述目标数据中标号相同的元素进行比较,当比较一致时,则将所述元素标记为一致元素,并将所述一致元素向结果集传输;并将所述原始数据中的与所述目标数据中的所述一致元素删除;
当所述原始数据中与所述目标数据中的标号相同的元素比较不一致时,则将所述原始数据中的所述元素与所述目标数据中的所述元素标记为更新元素,并将所述更新元素向所述结果集传输;并将所述原始数据中的所述更新元素和所述目标数据中的所述更新元素删除;
当所述原始数据中存在有所述目标数据中不包含的元素时,则将所述元素标记为删除元素,并将所述删除元素向所述结果集传输;并将所述原始数据中的所述删除元素删除;
当所述目标数据中存在有所述原始数据中不包含的元素时,则将所述元素标记为新增元素,并将所述新增元素向所述结果集传输;并将所述目标数据中的所述新增元素删除;
将所述结果集向数据接收端传输。
2.如权利要求1所述的方法,其特征在于,将所述结果集向数据接收端传输之前还包括:
根据所述元素的标号,对所述结果集中的元素进行排序处理。
3.如权利要求1所述的方法,其特征在于,采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较之后,还包括:
获取多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;具体包括:
获取单节点共享计算池的模型,计算所述单节点共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;具体包括
设m为HashMap中某个链表的大小,O(1)为选中所述链表所耗费的时间,O(m-1)/m-1表示所述链表的平均比较次数;N为要比较的所述元素的个数,i为HashMap中所述元素的索引,H为两个所述元素比较所需的时间,设定为时间常数;P为所述单节点共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;
采用所述多节点共享计算池时,采用加速比是S(N)来进行度量,所述加速比公式定义为:
采用多节点共享计算池时进行数据比较所需的平均时间K为:
将上述两个公式推广到所述基于HashMap数据结构的分布式比较方法中,可以得到下述修正后的加速比公式:
4.如权利要求1所述的方法,其特征在于,采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较的过程中包括:
采用水平负载均衡器选择所述共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较;具体包括:
通过与所述共享计算池一一对应的检测节点,对所述共享计算池的工作状态信息进行检测;
所述检测节点,用于检测所述共享计算池的当前工作状态信息和预设时间周期内的工作量信息,并将所述当前工作状态信息和所述工作量信息向所述水平负载均衡器传输;
所述水平负载均衡器,用于对所述当前工作状态信息赋予第一权重信息、对所述工作量信息赋予第二权重信息;并通过所述当前工作状态信息以及与所述当前工作状态信息对应的第一权重信息、所述工作量信息以及与所述工作量信息对应的第二权重信息,获取所述共享计算池的工作状态值;所述水平负载均衡器,还用于根据各所述多节点共享计算池的所述工作状态值,选择所述共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于光大兴陇信托有限责任公司,未经光大兴陇信托有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010805202.9/1.html,转载请声明来源钻瓜专利网。