CN109643248A - 用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 - Google Patents
用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 Download PDFInfo
- Publication number
- CN109643248A CN109643248A CN201780039386.9A CN201780039386A CN109643248A CN 109643248 A CN109643248 A CN 109643248A CN 201780039386 A CN201780039386 A CN 201780039386A CN 109643248 A CN109643248 A CN 109643248A
- Authority
- CN
- China
- Prior art keywords
- task
- computation module
- data processing
- processing system
- component
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法。本发明涉及一种方法,借助于该方法,对于特定任务(分割部分)的责任的分配适合于高度分布式数据处理系统。
Description
本发明涉及一种用于在高度分布式数据处理系统中将任务分配给可用的计算组件的方法。
背景技术
在其中多个计算机组件贡献它们自己的数据处理和存储部分的分布式数据处理系统中,对于要处理的事务子集和要存储的数据子集的明确责任,即对于要实施的任务的责任,必须分配给各个组件。因此,使用分割技术将数据总量和事务总量分解为子集(部分、分割部分(partition,部分、分割、分区))。在该过程中,每个请求和每个数据项(即每项任务)被分派来自有限范围的值的唯一编号(散列值),并且限定从任何给定散列值到负责组件的映射。然后,该组件负责处理请求和/或存储数据项。由于需要区分不同的责任,例如:数据和索引,系统中需要多组责任装置。
数据处理系统的所有组件必须能够确定负责任务的组件,以便触发在那里处理和存储。
众所周知,使用(从...到…)值范围限定分割,这允许灵活和详细的分割。缺点是需要在系统中的所有组件中保持一致的路由表,否则对这些值范围的改变将导致错误分派。
在高度分布式系统中,这种一致的路由表提出了特殊的挑战。因此,为了一致地分配所涉及的组件的分割,甚至在路由表的更新不一致的情况下,需要替代的分割程序。
发明内容
本发明的目的是提出一种方法,使用该方法,在高度分布式数据处理系统中,对处理的数据的特定子集(分割部分、任务)的责任的分派自动且动态地适合于可用的计算组件。本发明的另外的目的是分割任务,使得可以将有效的算法应用于冗余副本的同步。
根据本发明,该目的通过根据权利要求1的方法实现。
本发明的有利配置从从属权利要求得出。
基于附图中示出的示例性实施方式更详细地解释本发明,附图以示意图的形式示出了根据本发明的方法的顺序。
根据本发明,在用于在高度分布式数据处理系统中通过在处置任务的源组件QZ将任务分配给可用的计算组件的方法中,根据需要对该任务进行分割,并且将由此获得的子任务的一部分授权给附加计算组件ZZ。
例如,当因为处于分割部分的数据量太高或者太多的访问请求在进行而需要释放计算组件时,在数据处理系统中触发任务(分割)划分。
在转移期间必须保证所涉及的计算机组件正确处理受影响的任务。
为每个计算组件分配控制单元,该控制单元完成对多个组件的管理任务。随后将负责源组件的控制单元指定为源管理器QM。此单元是分割过程的触发(器)。
要从源组件接管任务的目标组件是由另外的控制单元(目标管理器ZM)管理。由于每个控制单元可以管理多个组件,因此源管理器QM和目的地管理器ZM也可以由一个控制组件实现。
可以例如基于这些组件的物理或虚拟位置来实施将组件分配给控制单元,使得例如一个控制单元负责虚拟或物理主机上的所有组件。
每台服务器的组件及它们的控制单元的数量取决于其性能能力。
根据本发明的方法的顺序如下:
第一步包括认识到任务分割的需要。有许多不同的可能触发因素:
-存在没有分配的分割部分的目标组件,
-在两个组件之间分派的分割部分在大小上的显著差异,
-按访问请求(TPS负载)的单独组件的过载,
-由于存储的对象(存储)导致的单独组件的过分配。
如果通过负责控制组件——源管理器QM——已经检测到一个这样的触发因素,则在下一步骤中识别潜在的目标组件ZZ。
用于检测触发因素的控制组件的信息源主要是数据处理系统的任务路由表,其存在于所有组件中并且例如基于流言传播(Gossip)协议分布,以及由组件报告存储器和CPU分配。
任务路由表包含所有组件的分割部分,并且因此可以根据大小对这些分割部分进行排序。在按总分割部分大小排序的组件列表中,可以将最大的与最小的进行比较,并且然后决定是否需要对任务进行分割。
为了以并行并以分布式方式实施该操作,同时检查具有大的总分割部分的多个组件和具有小的总分割部分的多个组件作为潜在的候选者,其中它总是发起该过程的负责源组件QZ的控制单元QM。
例如,如果在系统中识别出没有任务的组件,则在没有任何另外条件的情况下,识别出具有高于平均大小的任务(分割部分)的另一组件并请求分割以及释放其任务。
由于可以为一个组件分配多项任务,因此所有分配的任务的和与利用比较相关。任务因此被最终识别,其适用于负载平衡并且可以被转移(Q->Z)。
此后,从源组件QZ和所选择的目标组件两者获得对所提议的分割的同意,并且暂时阻止另外的类似请求。
这给予两个组件拒绝所提议的分割的选项。对于此可能的原因可能是,例如,涉及转移的分割过程已经起作用并且组件正在等待该进程的结束,或者组件上的应用因为技术原因当前无法转移它们的状况(DB对象或状态)。
只有当两个组件QZ、ZZ以及负责目标组件ZZ的控制单元ZM同意时,才实施分割。
在转移结束后,在任务路由表中确认新的任务分派,并且该程序被终止。
图1示出了在该方法期间在源管理器QM、源组件QZ、目标管理器ZM、目标组件ZZ的四个参与组件之间的通信。
必须将对任何组件的任务/分割分配的修改以路由传送给数据处理系统的所有组件。
优选地,基于所谓的流言传播协议进行该信息的交换。据此,仅在一段时间(通常是几秒)之后在系统中一致地更新改变,使得直到那时同步使用旧的和新的路由表而不会因此发生任何处理错误。
只有特定的负责控制单元可以更新对路由表中组件的分割分配的改变,以便避免改变的不一致和冲突,即在分割过程中源组件QZ的迁移分割的删除由源管理器QM在系统中分布并且将该分割添加到目标组件ZZ由目标管理器ZM分布在系统中。
如果相关源组件中存在对处理重要的条件,诸如存储的数据项、索引等,则需要将该关于分割的信息从源组件QZ转移到目标组件ZZ。在该转移期间,在系统中对于特定事务的责任保留在源组件QZ中或已属于目标组件ZZ。因此,在这段时间期间,从目标组件ZZ到源组件QZ的转发请求的过程必须是起作用的,反之亦然,直到转移已经结束以及任务路由表已被更新。
根据要转移的数据类型,组件负责唯一的分配和数据的一致修改,直到转移已经完全结束。
使用根据本发明的方法,特别是通过添加或移除资源,在满负载下容易地处置数据处理系统的配置的改变
在操作期间实施系统的扩展以包括另一资源,而无需人工干预。新资源启动空组件(蓝图),这些组件提供有单独的登录通道和授权。经由登录通道,新组件使其自己被系统知晓并被授权。同时,在运行的系统将新组件记录在流言传播表中。在用于同步系统配置的下一个流言传播事务之一中,新组件被集成并随当前任务路由表一起供应。
然后使用根据本发明的方法为新组件分配任务。
对于分割的任务可能还需要再次组合。对于此的触发因素的示例如下:
-系统组件正停止服务,在此之前必须将此组件的所有任务转移到其他组件,或
-整合分散的系统。
在这种情况下,有两种可能的程序:
-将分割部分迁移到其他组件,而不改变分割部分的大小。(合并)
-作为步骤1的结果,统一先前共享的分割部分。(统一)
为了允许负载和数据的均匀分布,另外细分组件内的任务(分割部分)也是有利的,例如以另外将本地分割部分分解为4x1/4分割部分。因此,代替分割,也可以实施这些分割片段中之一的迁移。然后,用于更精细的细分的触发因素取决于分割部分可以拆分成的组件数量(这由于流言传播而在所有组件中都知晓)。然后,s阶段分割意味着:
-获取此分割组的组件总数
-向上舍入到2的幂。
-确定基数为2的对数
-将s添加到此值。
-在二进制任务树中对此位深度进行分割
示例:200个组件并且s=2,向上舍入到2的幂=256,对数基数2=8,加上s=2,给出10位深度,因此1024个分割部分。然后每个组件具有4-6个子分割部分(大约1024/200)。
使用此二进制分割是为了在分割的冗余副本之间实现有效的同步。
数据集的冗余副本产生于这样的事实:多次提供用于其分割的值范围(例如3x)。所有访问请求和数据都在这些副本中并行实施。由于这可能导致在状态和数据存储期间在这些副本之间存在差异,例如,由于数据传输错误,必须修复这些差异。
根据本发明的方法的特别有利的设计可用于执行该修复。
这涉及为每项任务分配特征值,并且基于特征值实施将任务分配给数据处理系统的计算组件。
特征值根据每项任务的内容确定,例如,客户的名称、客户编号或电话号码并且例如表示为64位二进制值。该值可以基于多项式除法来计算,这也在数据的循环冗余校验中提供。
然后,基于这些特征值实施将任务分配给计算组件,其中为每个组件分配限定的值范围。
由于下述事实,限定是以特别简单的方式进行的,所述事实为:特征值的某些部分例如一些最高有效位(前缀)指定地址空间,因此4位可用于分配16个不同的计算组件,8位寻址有256个组件等等。因此,即使对于非常大的数据处理系统,本示例的64位二进制值也是相当足够的。
对于示例特征值0x76912635011e355a,二进制表示的最高有效位是:011101101001......
具有前缀010*的组件与特征值的前3位不匹配,但另一方面,具有前缀01110*的组件与前5位匹配。因此,该组件也负责该任务。
现在可以利用二进制树结构更加简单和快速地进行对负责特定任务的计算组件的搜索,其中从最高有效位开始,每个位表示树结构的分支点。
通过限定从任意二进制起始点(散列前缀)开始的同步程序,分割的二进制树结构也可以用于上述副本之间差异的修复,利用它可以关于对数复杂度识别和修复差异。
在这种情况下,为每个数据项计算内容特征值(摘要)并在树中聚合/组合直到同步节点,以便能够通过比较两个子摘要(0和1)来决定在树中的每个级别上差异是否位于子树的左侧(0)或右侧(1)。
在使用这些子摘要值的同步伙伴之间的交换中,可以在对话中识别具有对数复杂度的数据集中的第一差别。
二进制树结构支持通过下述方式将根据本发明的任务分割为两半(分割划分):所述方式为将二进制任务树中的一个分割条目替换为前缀已扩展了一位的两个新条目。
因此,可以将总值范围视为块状物,通过将部分减半而越来越精细地划分。然后,结果部分代表分布在组件上的分割部分。
本发明的方法使得能够在完全操作中以及即使在最大负载下进行重新分割,并且因此即使在不一致的分布式任务树的情况下确保两个无错误操作,其中要释放的计算机组件即使在从另一组件转移其一半数据期间也没有比以前负载重,此外在有限量的时间之后确保完全重新分割的状态。
Claims (5)
1.一种用于在高度分布式数据处理系统中将任务分配给可用的计算组件的方法,其特征在于,在处置所述任务的源组件(QZ)根据需要拆分该任务,并将因此获得的子任务的一部分授权给目标组件(ZZ)。
2.根据权利要求1所述的方法,其特征在于,基于对所述数据处理系统的可用的计算组件的利用来确定分割任务的需要。
3.根据权利要求1或2所述的方法,其特征在于,一个计算组件处置多项任务。
4.根据权利要求1或2所述的方法,其特征在于,为每项任务分配特征值,并且基于所述特征值实施将任务分配给所述数据处理系统的计算组件。
5.根据权利要求3所述的方法,其特征在于,所述特征值的二进制表示用作用于搜索负责计算组件的基础,其中从所述特征值的最高有效位开始,在二进制树结构中搜索用于所述负责计算组件的条目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT505662016 | 2016-06-22 | ||
ATA50566/2016 | 2016-06-22 | ||
PCT/EP2017/065375 WO2017220721A1 (de) | 2016-06-22 | 2017-06-22 | Verfahren zur automatischen und dynamischen zuteilung der zuständigkeit für aufgaben an die verfügbaren rechenkomponenten in einem hochverteilten datenverarbeitungssystem |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109643248A true CN109643248A (zh) | 2019-04-16 |
Family
ID=59276702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780039386.9A Pending CN109643248A (zh) | 2016-06-22 | 2017-06-22 | 用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11086689B2 (zh) |
EP (1) | EP3475819B1 (zh) |
CN (1) | CN109643248A (zh) |
WO (1) | WO2017220721A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643248A (zh) | 2016-06-22 | 2019-04-16 | 阿托斯汇聚创造者有限责任公司 | 用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 |
US11411843B2 (en) * | 2019-08-14 | 2022-08-09 | Verizon Patent And Licensing Inc. | Method and system for packet inspection in virtual network service chains |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080259939A1 (en) * | 2007-04-18 | 2008-10-23 | Siemens Aktiengesellschaft | Method for distributing resources to network nodes in a decentralized data network |
CN101441557A (zh) * | 2008-11-08 | 2009-05-27 | 腾讯科技(深圳)有限公司 | 基于动态数据拆分的分布式并行计算的系统及其方法 |
CN101512527A (zh) * | 2006-10-05 | 2009-08-19 | 国际商业机器公司 | 用于处理请求的数据处理系统和方法 |
US20160055038A1 (en) * | 2014-08-21 | 2016-02-25 | International Business Machines Corporation | Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5907511B2 (ja) * | 2010-06-09 | 2016-04-26 | アデルフォイ リミテッド | オーディオメディア認識のためのシステム及び方法 |
US20160179581A1 (en) * | 2014-12-19 | 2016-06-23 | Netapp, Inc. | Content-aware task assignment in distributed computing systems using de-duplicating cache |
CN109643248A (zh) | 2016-06-22 | 2019-04-16 | 阿托斯汇聚创造者有限责任公司 | 用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 |
-
2017
- 2017-06-22 CN CN201780039386.9A patent/CN109643248A/zh active Pending
- 2017-06-22 WO PCT/EP2017/065375 patent/WO2017220721A1/de unknown
- 2017-06-22 US US16/312,968 patent/US11086689B2/en active Active
- 2017-06-22 EP EP17735027.9A patent/EP3475819B1/de active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512527A (zh) * | 2006-10-05 | 2009-08-19 | 国际商业机器公司 | 用于处理请求的数据处理系统和方法 |
US20080259939A1 (en) * | 2007-04-18 | 2008-10-23 | Siemens Aktiengesellschaft | Method for distributing resources to network nodes in a decentralized data network |
CN101441557A (zh) * | 2008-11-08 | 2009-05-27 | 腾讯科技(深圳)有限公司 | 基于动态数据拆分的分布式并行计算的系统及其方法 |
US20160055038A1 (en) * | 2014-08-21 | 2016-02-25 | International Business Machines Corporation | Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies |
Also Published As
Publication number | Publication date |
---|---|
WO2017220721A1 (de) | 2017-12-28 |
US20190227852A1 (en) | 2019-07-25 |
EP3475819A1 (de) | 2019-05-01 |
EP3475819B1 (de) | 2021-08-11 |
US11086689B2 (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140625B2 (en) | Method for operating a fixed prefix peer to peer network | |
EP2288111A1 (en) | Managing client requests for data | |
CN102419770B (zh) | 文件共享系统及实现文件共享的方法、文件索引服务设备 | |
US7844775B2 (en) | Distribution of data in a distributed shared storage system | |
CN109597853B (zh) | 业务场景元素序列号生成方法、装置、介质和计算机设备 | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
US20130283287A1 (en) | Generating monotone hash preferences | |
WO2006067026A1 (en) | Method for remembering resource allocation in grids | |
CN1602480A (zh) | 管理附装在数据网络上的存储器资源 | |
CN109643248A (zh) | 用于在高度分布式数据处理系统中自动且动态地将对于任务的责任分配给可用的计算组件的方法 | |
US7647592B2 (en) | Methods and systems for assigning objects to processing units | |
US11019139B2 (en) | Ranked session affinity to improve load balancing efficiency for stateful requests | |
US10749902B2 (en) | Method and apparatus for organizing elements of a server application in a client-server system | |
US8850440B2 (en) | Managing the processing of processing requests in a data processing system comprising a plurality of processing environments | |
JP4995300B2 (ja) | サーバ選択制御装置、サービス要求装置、サーバ選択制御方法、サービス要求方法、サーバ選択制御プログラム、サービス要求プログラム、サービス提供システムおよびサービス提供方法 | |
KR101654969B1 (ko) | 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치 | |
US20090083745A1 (en) | Techniques for Maintaining Task Sequencing in a Distributed Computer System | |
US20100125619A1 (en) | Deterministic selection of domain controllers in a multi-master database distributed directory service | |
KR20160142102A (ko) | 분산 스트림 처리 서비스 병합 방법 및 장치 | |
CN109347991A (zh) | 文件分发方法、装置、设备及介质 | |
US20220261389A1 (en) | Distributing rows of a table in a distributed database system | |
CN110275924B (zh) | 异步数据处理方法、装置及计算机可读存储介质 | |
CN112948106B (zh) | 任务分配方法及装置 | |
CN117041264B (zh) | 一种基于数据处理的区块链资源管理系统及方法 | |
CN111338752B (zh) | 容器调整方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190416 |