CN111949660B - 一种基于HashMap数据结构的分布式比较方法 - Google Patents
一种基于HashMap数据结构的分布式比较方法 Download PDFInfo
- Publication number
- CN111949660B CN111949660B CN202010805202.9A CN202010805202A CN111949660B CN 111949660 B CN111949660 B CN 111949660B CN 202010805202 A CN202010805202 A CN 202010805202A CN 111949660 B CN111949660 B CN 111949660B
- Authority
- CN
- China
- Prior art keywords
- elements
- shared computing
- computing pool
- information
- target data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000001514 detection method Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 39
- 230000005856 abnormality Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000004140 cleaning Methods 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种基于HashMap数据结构的分布式比较方法,方法包括:获取原始数据和目标数据;采用多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较;将比较获取的一致元素、更新元素、删除元素和新增元素向结果集传输;并将原始数据中的与目标数据中的一致元素、原始数据中的更新元素和目标数据中的更新元素、原始数据中的删除元素和目标数据中的新增元素删除;最后将结果集向数据接收端传输;通过上述方法实现了对元素比较结果一致、更新、新增、删除四种状态的判断;并且在元素比较完成之后,便将相比较的元素从原始数据和目标数据中删除,进一步地提高了对原始数据和目标数据中的元素的比较效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于HashMap数据结构的分布式比较方法。
背景技术
目前,在金融行业软件中,经常需要对比业务数据的一致性,获取数据的比较结果,比较结果为一致、更新、新增、删除四种状态,并将获取的比较结果供业务模块处理。而金融数据的特点是数据量大、数据元素关系和属性复杂(存在一对多,多对多的关系,元素属性通常超过30个),使用传统的线性表、哈希表或数据库比对的方式无法满足性能要求。
HashMap(哈希映射)在存储元素时,如果出现哈希值取余冲突,元素会存入到链表中,在大数据量存储时,索引的计算时间会变长,同时链表中的数据量会非常大,严重影响HashMap查找效率,在比对新增、修改、一致性的元素比较时,因可以采用正向比较(即遍历目标数据的方法,通过KEY在原始数据中进行查找)方法进行比较,所消耗的时间较长,但需要查找目标元素在原始数据中是否删除时,传统方法需要再反向查找一次(即遍历原始数据,在目标数据中进行查找,如果找不到该元素,则标记为删除),使得消耗的时间进一步加长。
因此,急需一种基于HashMap数据结构的分布式比较方法。
发明内容
为解决上述技术问题,本发明提供一种基于HashMap数据结构的分布式比较方法,用以提高对元素的比较效率。
本发明实施例中提供了一种基于HashMap数据结构的分布式比较方法,所述方法包括:
获取原始数据和目标数据;
采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较;
将所述原始数据中与所述目标数据中标号相同的元素进行比较,当比较一致时,则将所述元素标记为一致元素,并将所述一致元素向结果集传输;并将所述原始数据中的与所述目标数据中的所述一致元素删除;
当所述原始数据中与所述目标数据中的标号相同的元素比较不一致时,则将所述原始数据中的所述元素与所述目标数据中的所述元素标记为更新元素,并将所述更新元素向所述结果集传输;并将所述原始数据中的所述更新元素和所述目标数据中的所述更新元素删除;
当所述原始数据中存在有所述目标数据中不包含的元素时,则将所述元素标记为删除元素,并将所述删除元素向所述结果集传输;并将所述原始数据中的所述删除元素删除;
当所述目标数据中存在有所述原始数据中不包含的元素时,则将所述元素标记为新增元素,并将所述新增元素向所述结果集传输;并将所述目标数据中的所述新增元素删除;
将所述结果集向数据接收端传输。
在一个实施例中,将所述结果集向数据接收端传输之前还包括:
根据所述元素的标号,对所述结果集中的元素进行排序处理。
在一个实施例中,采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较之后,还包括:
获取多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;具体包括:
获取单节点共享计算池的模型,计算所述单节点共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;具体包括
设m为HashMap中某个链表的大小,O(1)为选中所述链表所耗费的时间,O(m-1)/m-1表示所述链表的平均比较次数;N为要比较的所述元素的个数,i为HashMap中所述元素的索引,H为两个所述元素比较所需的时间,可设定为时间常数;P为所述单节点共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较所耗费的时间;
采用所述多节点共享计算池时,采用加速比S(N)来进行度量,所述加速比公式定义为:
采用多节点共享计算池时进行数据比较所需的平均时间K为:
将上述两个公式推广到所述基于HashMap数据结构的分布式比较方法中,可以得到下述修正后的加速比公式:
在一个实施例中,采用多节点共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较的过程中,还包括:
采用水平负载均衡器选择所述共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较;具体包括:
通过与所述共享计算池一一对应的检测节点,对所述共享计算池的工作状态信息进行检测;
所述检测节点,用于检测所述共享计算池的当前工作状态信息和预设时间周期内的工作量信息,并将所述当前工作状态信息和所述工作量信息向所述水平负载均衡器传输;
所述水平负载均衡器,用于对所述当前工作状态信息赋予第一权重信息、对所述工作量信息赋予第二权重信息;并通过所述当前工作状态信息以及与所述当前工作状态信息对应的第一权重信息、所述工作量信息以及与所述工作量信息对应的第二权重信息,获取所述共享计算池的工作状态值;所述水平负载均衡器,还用于根据各所述多节点共享计算池的所述工作状态值,选择所述共享计算池,对所述原始数据中的元素与所述目标数据中的元素进行比较。
在一个实施例中,所述水平负载均衡器,还用于当所述多节点共享计算池的所述工作状态值达到第一上限值时,则停止对所述原始数据中的元素与所述目标数据中的元素的比较;
当所述多节点共享计算池的所述工作状态值低于所述第一上限值时,通过所述检测节点于检测所述共享计算池的配置信息,并将所述配置信息向所述水平均衡负载器传输;所述水平均衡负载器,还用于根据所述共享计算池的配置信息、所述当前工作状态信息和所述工作量信息,获取所述共享计算池的第二上限值;当所述共享计算池的所述工作状态值高于所述第二上限值时,则停止将所述原始数据中的元素与所述目标数据中的元素向所述共享计算池传输进行比较;当所述共享计算池的所述工作状态值低于所述第二上限值时,则将所述原始数据中的元素与所述目标数据中的元素向所述共享计算池传输进行比较。
在一个实施例中,所述检测节点,还用于在空闲时对所述共享计算池的数据处理能力进行检测;具体包括:获取所述检测节点内预设的标准元素比较对;将所述标准元素比较对向所述共享计算池传输;获取所述共享计算池的输出结果和元素处理时间;分别对所述输出结果和所述元素处理时间进行检测;
当所述输出结果与所述检测节点内预设的所述标准元素比较对相对应的标准比较结果不一致时,则将所述共享计算池停用,并向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障;
当所述输出结果与所述检测节点内预设的所述标准元素比较对相对应的标准比较结果一致时,检测所述共享计算池空闲时的冗余信息,并根据所述冗余信息和所述配置信息,对所述共享计算池的数据处理能力进行评估;根据评估获取的所述共享计算池的数据处理信息,判断所述元素处理时间是否异常,当判断存在异常时,对所述共享计算池的冗余信息进行智能清理,重复上述步骤,进行重新检测,再次判断所述元素处理时间是否异常,当判断存在异常时,则将所述共享计算池停用,向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障。
在一个实施例中,对所述共享计算池的冗余信息进行智能清理的过程中,具体包括:
扫描所述共享计算池的注册列表,识别所述冗余信息;具体包括:
获取所述共享计算池内的信息的标识位;当所述标识位为冗余值时,所述标识位对应的所述信息为所述冗余信息,并将所述冗余信息删除;当所述标识位不是所述冗余值时,所述信息包括所述冗余信息的关联信息和存储地址信息;根据所述冗余信息的所述关联信息和所述存储地址信息,获取所述冗余信息,并将所述冗余信息删除。
在一个实施例中,将所述共享计算池停用,向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障之后,还包括:
将所述共享计算池的标识信息向所述水平负载均衡器传输;
所述水平负载均衡器将不再选择所述标识信息对应的所述共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较;
工作人员对所述共享计算池进行重新配置后,将所述共享计算池加载用于对所述原始数据中的元素与所述目标数据中的元素的比较。
在一个实施例中,工作人员对所述共享计算池进行重新配置后,将所述共享计算池加载用于对所述原始数据中的元素与所述目标数据中的元素的比较的过程中,具体包括:
所述水平负载均衡器,用于对新加载的所述共享计算池分配所述检测节点;所述检测节点通过将所述标准元素比较对向所述共享计算池传输;获取所述共享计算池的输出结果和元素处理时间;并分别对所述输出结果和所述元素处理时间进行检测;当检测合格后,将所述共享计算池的所述标识信息向所述水平负载均衡器传输;所述水平负载均衡器接收到所述标识信息后,将所述标识信息对应的所述共享计算池用于对所述原始数据中的元素与所述目标数据中的元素进行比较。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明所提供一种基于HashMap数据结构的分布式比较方法的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种基于HashMap数据结构的分布式比较方法,如图1所示,方法包括:
获取原始数据和目标数据;
采用多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较;
将原始数据中与目标数据中标号相同的元素进行比较,当比较一致时,则将元素标记为一致元素,并将一致元素向结果集传输;并将原始数据中的与目标数据中的一致元素删除;
当原始数据中与目标数据中的标号相同的元素比较不一致时,则将原始数据中的元素与目标数据中的元素标记为更新元素,并将更新元素向结果集传输;并将原始数据中的更新元素和目标数据中的更新元素删除;
当原始数据中存在有目标数据中不包含的元素时,则将元素标记为删除元素,并将删除元素向结果集传输;并将原始数据中的删除元素删除;
当目标数据中存在有原始数据中不包含的元素时,则将元素标记为新增元素,并将新增元素向结果集传输;并将目标数据中的新增元素删除;
将结果集向数据接收端传输。
上述方法的工作原理在于:获取原始数据和目标数据;采用多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较;将原始数据中与目标数据中标号相同的元素进行比较,当比较一致时,则将元素标记为一致元素,并将一致元素向结果集传输;并将原始数据中的与目标数据中的一致元素删除;当原始数据中与目标数据中的标号相同的元素比较不一致时,则将原始数据中的元素与目标数据中的元素标记为更新元素,并将更新元素向结果集传输;并将原始数据中的更新元素和目标数据中的更新元素删除;当原始数据中存在有目标数据中不包含的元素时,则将元素标记为删除元素,并将删除元素向结果集传输;并将原始数据中的删除元素删除;当目标数据中存在有原始数据中不包含的元素时,则将元素标记为新增元素,并将新增元素向结果集传输;并将目标数据中的新增元素删除;最后将结果集向数据接收端传输。
上述方法的有益效果在于:通过采用多节点共享计算池,将原始数据中的元素与目标数据中的元素进行比较,将元素分发到共享计算池中进行处理,有效地提高了对原始数据中的元素与目标数据中的元素进行比较的效率;并且在原始数据中的元素与目标数据中的元素比较一致时,则将元素标记为一致元素,并将一致元素向结果集传输;并将原始数据中的与目标数据中的一致元素删除;当原始数据中与目标数据中的标号相同的元素比较不一致时,则将原始数据中的元素与目标数据中的元素标记为更新元素,并将更新元素向结果集传输;并将原始数据中的更新元素和目标数据中的更新元素删除;当原始数据中存在有目标数据中不包含的元素时,则将元素标记为删除元素,并将删除元素向结果集传输;并将原始数据中的删除元素删除;当目标数据中存在有原始数据中不包含的元素时,则将元素标记为新增元素,并将新增元素向结果集传输;并将目标数据中的新增元素删除;通过上述步骤实现了对元素比较结果一致、更新、新增、删除四种状态的判断;与传统技术相比,在元素比较完成之后,便将相比较的元素从原始数据和目标数据中删除,降低了链表的平均比较次数;并且通过对元素的比较,原始数据和目标数据中的元素逐步减少,同时也使得对原始数据和目标数据中的元素查找所耗费的时间成本逐步降低,最后将结果集传输给数据接收端,从而实现原始数据中的元素和目标数据中的元素的比较,进一步地提高了对原始数据和目标数据中的元素的比较效率。
在一个实施例中,上述方法是一个基于Java的ConcurrentHashMap(线程安全的哈希表)数据结构的分布式比较框架,相比于传统的数据比较算法性能有较大提升,并可应用于多个金融系统中。
在一个实施例中,将结果集向数据接收端传输之前还包括:
根据元素的标号,对结果集中的元素进行排序处理。上述技术方案中将结果集中的元素,根据元素的标号进行排序,从而实现了对结果集中的元素的整理,进一步方便了数据接收端对结果集中元素的接收。
在一个实施例中,采用多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较之后,还包括:
获取多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较所耗费的时间;具体包括:
获取单节点共享计算池的模型,计算单节点共享计算池对原始数据中的元素与目标数据中的元素进行比较所耗费的时间;具体包括
设m为HashMap中某个链表的大小,O(1)为选中链表所耗费的时间,O(m-1)/m-1表示链表的平均比较次数;N为要比较的元素的个数,i为HashMap中元素的索引,H为两个元素比较所需的时间,可设定为时间常数;P为单节点共享计算池对原始数据中的元素与目标数据中的元素进行比较所耗费的时间;
采用多节点共享计算池时,采用加速比S(N)来进行度量,加速比公式定义为:
采用多节点共享计算池时进行数据比较所需的平均时间K为:
将上述两个公式推广到基于HashMap数据结构的分布式比较方法中,可以得到下述修正后的加速比公式:
上述技术方案中通过建立单节点共享计算池的模型,实现了对单节点共享计算池对原始数据中的元素与目标数据中的元素进行比较所耗费的时间的获取;并通过加速比公式和获取的单节点共享计算池对元素处理所耗费的时间,实现了采用多节点共享计算池对原始数据中的元素与目标数据中的元素进行比较所耗费的时间的获取。
在一个实施例中,采用多节点共享计算池,对原始数据中的元素与目标数据中的元素进行比较过程中,还包括:
采用水平负载均衡器选择共享计算池,对原始数据中的元素与目标数据中的元素进行比较;具体包括:
通过与共享计算池一一对应的检测节点,对共享计算池的工作状态信息进行检测;
检测节点,用于检测共享计算池的当前工作状态信息和预设时间周期内的工作量信息,并将当前工作状态信息和工作量信息向水平负载均衡器传输;
水平负载均衡器,用于对当前工作状态信息赋予第一权重信息、对工作量信息赋予第二权重信息;并通过当前工作状态信息以及与当前工作状态信息对应的第一权重信息、工作量信息以及与工作量信息对应的第二权重信息,获取共享计算池的工作状态值;水平负载均衡器,还用于根据多节点共享计算池的工作状态值,选择共享计算池,对原始数据中的元素与目标数据中的元素进行比较。上述技术方案中通过检测节点,实现了对共享计算池的当前工作状态信息和预设时间周期内的工作量信息的检测,并向水平负载均衡器传输;水平负载均衡器通过对当前工作状态信息赋予第一权重信息、对工作量信息赋予第二权重信息,实现了对共享计算池的工作状态值的获取;进一步地,水平负载均衡器根据多节点共享计算池的工作状态值,选择共享计算池,对原始数据中的元素与目标数据中的元素进行比较。
在一个实施例中,水平负载均衡器,还用于当多节点共享计算池的工作状态值达到第一上限值时,则停止对原始数据中的元素与目标数据中的元素的比较;
当多节点共享计算池的工作状态值低于第一上限值时,通过检测节点检测共享计算池的配置信息,并将配置信息向水平均衡负载器传输;水平均衡负载器,还用于根据共享计算池的配置信息、当前工作状态信息和工作量信息,获取共享计算池的第二上限值;当共享计算池的工作状态值高于第二上限值时,则停止将原始数据中的元素与目标数据中的元素向共享计算池传输进行比较;当共享计算池的工作状态值低于第二上限值时,则将原始数据中的元素与目标数据中的元素向共享计算池传输进行比较。上述技术方案中通过水平负载均衡器在判断多节点共享计算池的工作状态值达到第一上限值时,判断多节点共享计算池为满负荷工作状态,则停止对原始数据中的元素与目标数据中的元素的比较,避免共享计算池处理的元素任务过多,影响正常运行;当多节点共享计算池的工作状态值低于第一上限值时,通过检测节点检测共享计算池的配置信息,并将配置信息向水平均衡负载器传输;水平均衡负载器根据共享计算池的配置信息、当前工作状态信息和工作量信息,获取共享计算池的第二上限值;当共享计算池的工作状态值高于第二上限值时,则判断该共享计算池为满负荷工作状态,停止将原始数据中的元素与目标数据中的元素向该共享计算池传输进行比较;当共享计算池的工作状态值低于第二上限值时,则将原始数据中的元素与目标数据中的元素向共享计算池传输进行比较;从而通过上述技术方案实现了水平负载均衡器根据共享计算池的工作状态值,对是否向共享计算池传输原始数据中的元素与目标数据中的元素向共享计算池传输进行比较的判断。
在一个实施例中,检测节点,还用于在空闲时对共享计算池的数据处理能力进行检测;具体包括:获取检测节点内预设的标准元素比较对;将标准元素比较对向共享计算池传输;获取共享计算池的输出结果和元素处理时间;分别对输出结果和元素处理时间进行检测;
当输出结果与检测节点内预设的标准元素比较对相对应的标准比较结果不一致时,则将共享计算池停用,并向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障;
当输出结果与检测节点内预设的标准元素比较对相对应的标准比较结果一致时,检测共享计算池空闲时的冗余信息,并根据冗余信息和配置信息,对共享计算池的数据处理能力进行评估;根据评估获取的共享计算池的数据处理信息,判断元素处理时间是否异常,当判断存在异常时,对共享计算池的冗余信息进行智能清理,重复上述步骤,进行重新检测,再次判断元素处理时间是否异常,当判断存在异常时,则将共享计算池停用,向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障。上述技术方案中通过检测节点,实现了空闲时对共享计算池的数据处理能力的检测;检测节点将预设的标准元素比较对向共享计算池传输,共享计算池处理后,获取输出结果和元素处理时间,并分别对输出结果和元素处理时间进行检测;当输出结果与检测节点内预设的标准元素比较对相对应的标准比较结果不一致时,则判断共享计算池元素比对错误,将共享计算池停用,并向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障;当输出结果与检测节点内预设的标准元素比较对相对应的标准比较结果一致时,检测共享计算池空闲时的冗余信息,并根据冗余信息和配置信息,对共享计算池的数据处理能力进行评估;根据评估获取的共享计算池的数据处理信息,判断元素处理时间是否异常,当判断存在异常时,对共享计算池的冗余信息进行智能清理,重复上述步骤,进行重新检测,再次判断元素处理时间是否异常,当判断存在异常时,则将共享计算池停用,向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障,从而通过上述技术方案中的检测节点实现了在空闲时对共享计算池的检测,并在检测异常时,将共享计算池停用,向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障。
在一个实施例中,对共享计算池的冗余信息进行智能清理的过程中,具体包括:
扫描共享计算池的注册列表,识别冗余信息;具体包括:
获取共享计算池内的信息的标识位;当标识位为冗余值时,标识位对应的信息为冗余信息,并将冗余信息删除;当标识位不是冗余值时,信息包括冗余信息的关联信息和存储地址信息;根据冗余信息的关联信息和存储地址信息,获取冗余信息,并将冗余信息删除。上述技术方案中通过判断共享计算池内的信息的标识位是否为冗余值,实现了对标识位对应的信息是否为冗余信息的判断,当标识位为冗余值时,则将标识位对应的冗余信息删除;当标识位不是冗余值时,根据冗余信息的关联信息和存储地址信息,获取冗余信息,并将冗余信息删除;从而通过上述技术方案实现了对共享计算池内的冗余信息的智能清理。
在一个实施例中,将共享计算池停用,向工作人员传输共享计算池的标识信息,以提醒工作人员共享计算池发生故障之后,还包括:
将共享计算池的标识信息向水平负载均衡器传输;
水平负载均衡器将不再选择标识信息对应的共享计算池对原始数据中的元素与目标数据中的元素进行比较;
工作人员对共享计算池进行重新配置后,将共享计算池加载用于对原始数据中的元素与目标数据中的元素的比较。上述技术方案中在共享计算池发生故障后,将发生故障的共享计算池的标识信息向水平负载均衡器传输,水平负载均衡器根据传输的标识信息,将不再选择标识信息对应的共享计算池对原始数据中的元素与目标数据中的元素进行比较,从而实现了在共享计算池发生故障后不再对共享计算池分配元素比较任务的功能;并且在工作人员对共享计算池进行重新配置后,将共享计算池加载用于对原始数据中的元素与目标数据中的元素的比较,实现了对共享计算池的重新加载工作。
在一个实施例中,工作人员对共享计算池进行重新配置后,将共享计算池加载用于对原始数据中的元素与目标数据中的元素的比较的过程中,具体包括:
水平负载均衡器,用于对新加载的共享计算池分配检测节点;检测节点通过将标准元素比较对向共享计算池传输;获取共享计算池的输出结果和元素处理时间;并分别对输出结果和元素处理时间进行检测;当检测合格后,将共享计算池的标识信息向水平负载均衡器传输;水平负载均衡器接收到标识信息后,将标识信息对应的共享计算池用于对原始数据中的元素与目标数据中的元素进行比较。上述技术方案中在工作人员对共享计算池进行重新配置后,水平负载均衡器对新加载的共享计算池分配检测节点;检测节点通过将标准元素比较对向共享计算池传输,获取共享计算池的输出结果和元素处理时间;并分别对输出结果和元素处理时间进行检测;当检测合格后,将共享计算池的标识信息向水平负载均衡器传输;水平负载均衡器接收到标识信息后,将标识信息对应的共享计算池用于对原始数据中的元素与目标数据中的元素进行比较,从而通过上述技术方案实现了工作人员对共享计算池进行重新配置后,通过水平负载均衡器分配的检测节点,实现了对重新配置后的共享计算池的检测,并在检测合格后,将共享计算池的标识信息向水平负载均衡器传输;水平负载均衡器根据传输的标识信息,将重新配置后的共享计算池用于对原始数据中的元素与目标数据中的元素进行比较,进一步实现了对上述方法中共享计算池节点的增加。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
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所述的方法,其特征在于,
所述检测节点,还用于在空闲时对所述共享计算池的数据处理能力进行检测;具体包括:获取所述检测节点内预设的标准元素比较对;将所述标准元素比较对向所述共享计算池传输;获取所述共享计算池的输出结果和元素处理时间;分别对所述输出结果和所述元素处理时间进行检测;
当所述输出结果与所述检测节点内预设的所述标准元素比较对相对应的标准比较结果不一致时,则将所述共享计算池停用,并向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障;
当所述输出结果与所述检测节点内预设的所述标准元素比较对相对应的标准比较结果一致时,检测所述共享计算池空闲时的冗余信息,并根据所述冗余信息和所述配置信息,对所述共享计算池的数据处理能力进行评估;根据评估获取的所述共享计算池的数据处理信息,判断所述元素处理时间是否异常,当判断存在异常时,对所述共享计算池的冗余信息进行智能清理,重复上述步骤,进行重新检测,再次判断所述元素处理时间是否异常,当判断存在异常时,则将所述共享计算池停用,向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障。
5.如权利要求4所述的方法,其特征在于,对所述共享计算池的冗余信息进行智能清理的过程包括:
扫描所述共享计算池的注册列表,识别所述冗余信息;具体包括:
获取所述共享计算池内的信息的标识位;当所述标识位为冗余值时,所述标识位对应的所述信息为所述冗余信息,并将所述冗余信息删除;当所述标识位不是所述冗余值时,所述信息包括所述冗余信息的关联信息和存储地址信息;根据所述冗余信息的所述关联信息和所述存储地址信息,获取所述冗余信息,并将所述冗余信息删除。
6.如权利要求4所述的方法,其特征在于,将所述共享计算池停用,向工作人员传输所述共享计算池的标识信息,以提醒工作人员所述共享计算池发生故障之后还包括:
将所述共享计算池的标识信息向所述水平负载均衡器传输;
所述水平负载均衡器将不再选择所述标识信息对应的所述共享计算池对所述原始数据中的元素与所述目标数据中的元素进行比较;
工作人员对所述共享计算池进行重新配置后,将所述共享计算池加载用于对所述原始数据中的元素与所述目标数据中的元素的比较。
7.如权利要求1所述的方法,其特征在于,工作人员对所述共享计算池进行重新配置后,将所述共享计算池加载用于对所述原始数据中的元素与所述目标数据中的元素的比较的过程包括:
所述水平负载均衡器,用于对新加载的所述共享计算池分配所述检测节点;所述检测节点通过将所述标准元素比较对向所述共享计算池传输;获取所述共享计算池的输出结果和元素处理时间;并分别对所述输出结果和所述元素处理时间进行检测;当检测合格后,将所述共享计算池的所述标识信息向所述水平负载均衡器传输;所述水平负载均衡器接收到所述标识信息后,将所述标识信息对应的所述共享计算池用于对所述原始数据中的元素与所述目标数据中的元素进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805202.9A CN111949660B (zh) | 2020-08-12 | 2020-08-12 | 一种基于HashMap数据结构的分布式比较方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805202.9A CN111949660B (zh) | 2020-08-12 | 2020-08-12 | 一种基于HashMap数据结构的分布式比较方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949660A CN111949660A (zh) | 2020-11-17 |
CN111949660B true CN111949660B (zh) | 2024-04-12 |
Family
ID=73333387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805202.9A Active CN111949660B (zh) | 2020-08-12 | 2020-08-12 | 一种基于HashMap数据结构的分布式比较方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949660B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824881A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种基于负载均衡的重复数据删除数据放置方法器 |
CN105824720A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种面向数据连续读取的重删纠删混合系统的数据放置方法器 |
CN106843773A (zh) * | 2017-02-16 | 2017-06-13 | 天津书生云科技有限公司 | 存储方法和分布式存储系统 |
CN107562763A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 数据变化的显示方法及装置 |
CN108989106A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种分布式集群的数据处理方法、装置及系统 |
CN109343959A (zh) * | 2018-09-27 | 2019-02-15 | 视辰信息科技(上海)有限公司 | 多用户计算和IO密集型SaaS系统及应用方法 |
WO2019220251A1 (en) * | 2018-05-14 | 2019-11-21 | Abi Lab - Centro Di Ricerca E Innovazione Per La Banca | Automatic inter-bank reconciliation system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2417763A1 (en) * | 2000-08-04 | 2002-02-14 | Infoglide Corporation | System and method for comparing heterogeneous data sources |
US10244048B2 (en) * | 2017-04-28 | 2019-03-26 | International Business Machines Corporation | Sender system status-aware load balancing |
-
2020
- 2020-08-12 CN CN202010805202.9A patent/CN111949660B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824881A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种基于负载均衡的重复数据删除数据放置方法器 |
CN105824720A (zh) * | 2016-03-10 | 2016-08-03 | 中国人民解放军国防科学技术大学 | 一种面向数据连续读取的重删纠删混合系统的数据放置方法器 |
CN107562763A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 数据变化的显示方法及装置 |
CN106843773A (zh) * | 2017-02-16 | 2017-06-13 | 天津书生云科技有限公司 | 存储方法和分布式存储系统 |
WO2019220251A1 (en) * | 2018-05-14 | 2019-11-21 | Abi Lab - Centro Di Ricerca E Innovazione Per La Banca | Automatic inter-bank reconciliation system |
CN108989106A (zh) * | 2018-07-17 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种分布式集群的数据处理方法、装置及系统 |
CN109343959A (zh) * | 2018-09-27 | 2019-02-15 | 视辰信息科技(上海)有限公司 | 多用户计算和IO密集型SaaS系统及应用方法 |
Non-Patent Citations (4)
Title |
---|
基于Web界面的计算池体系结构的设计;王丹;杜俊;;石河子科技;20170610(第03期);全文 * |
基于网格计算池模型的作业调度策略研究;高连军, 张颖超, 孙瑞嘉;计算机工程与应用;20070401(第28期);全文 * |
基于重复数据删除技术的雾存储数据去冗余方案;陈思佳;温蜜;陈珊;;计算机应用与软件;20200212(第02期);全文 * |
视频服务节点共享资源池的分布式最优控制;宋辰;奚宏生;;计算机工程;20150315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949660A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100465900C (zh) | 信息系统、负载控制方法、负载控制程序和记录媒体 | |
US7191198B2 (en) | Storage operation management program and method and a storage management computer | |
CN101176073B (zh) | 不同服务器出现故障时调整服务器配置参数的装置和方法 | |
FI90475B (fi) | Reaaliaikainen hajautettu tietokannan käsittelyjärjestelmä | |
US9378067B1 (en) | Automated load balancing across the distributed system of hybrid storage and compute nodes | |
US7574620B2 (en) | Method for operating an arrangement of a plurality of computers in the event of a computer failure | |
CN109951537B (zh) | 一种面向区块链的负载均衡分发方法 | |
US8484510B2 (en) | Enhanced cluster failover management | |
US8301599B2 (en) | Cluster arrangement | |
US8949653B1 (en) | Evaluating high-availability configuration | |
CN102075368A (zh) | 一种业务故障诊断方法、装置和系统 | |
CN112650580A (zh) | 一种基于边缘计算的工业大数据监测系统 | |
CN116755939B (zh) | 一种基于系统资源的智能化数据备份任务规划方法及系统 | |
CN114154035A (zh) | 一种动环监控的数据处理系统 | |
CN108388490A (zh) | 一种测试高端服务器内存的方法及系统 | |
CN117271525A (zh) | 一种特种陶瓷数据长期存储系统及方法 | |
CN102880500B (zh) | 一种任务树的优化方法和装置 | |
CN111949660B (zh) | 一种基于HashMap数据结构的分布式比较方法 | |
CN117950858A (zh) | 一种集群动态均衡扩展的方法和系统 | |
US11544117B2 (en) | Methods and arrangements for automated improving of quality of service of a data center | |
CN115493652A (zh) | 一种设备运行状态监测方法、装置和监测设备 | |
CN107592260A (zh) | 基于快速重路由的vpws bypass保护倒换方法及系统 | |
CN113900886A (zh) | 一种异常日志监控方法 | |
US20240004893A1 (en) | Method For Copying Spanner Databases From Production To Test Environments | |
US10108691B2 (en) | Atomic clustering operations for managing a partitioned cluster online |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |