CN101753608A - 分布式系统的调度方法及系统 - Google Patents

分布式系统的调度方法及系统 Download PDF

Info

Publication number
CN101753608A
CN101753608A CN200810239118A CN200810239118A CN101753608A CN 101753608 A CN101753608 A CN 101753608A CN 200810239118 A CN200810239118 A CN 200810239118A CN 200810239118 A CN200810239118 A CN 200810239118A CN 101753608 A CN101753608 A CN 101753608A
Authority
CN
China
Prior art keywords
data
services
state
scheduler
task
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.)
Granted
Application number
CN200810239118A
Other languages
English (en)
Other versions
CN101753608B (zh
Inventor
钱岭
郭磊涛
赵鹏
徐萌
罗治国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN 200810239118 priority Critical patent/CN101753608B/zh
Publication of CN101753608A publication Critical patent/CN101753608A/zh
Application granted granted Critical
Publication of CN101753608B publication Critical patent/CN101753608B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式系统的调度方法及系统,其中,该方法包括:数据调度器接收调度请求,该调度请求包括对数据的读取操作;数据保存在分布式系统中的至少一个提供数据服务的实体上;数据调度器确定该调度请求对应的各数据服务的状态,并在各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;各数据服务为至少一个相同的数据服务。本发明可有效解决现有技术的分布式调度方式中资源浪费、任务处理效率低等缺陷,实现资源合理利用、提高任务处理效率。

Description

分布式系统的调度方法及系统
技术领域
本发明涉及计算机领域的数据业务技术,具体地,涉及一种分布式系统的调度方法及系统。
背景技术
任务调度是网格计算(Grid Computing)、大型分布式数据库系统(Distributed Database System)、以及云计算(Cloud Computing)系统的一个关键问题。在传统的网格计算中,任务调度的成本较高,调度策略是将数据迁移到任务所在计算节点。在分布式数据库系统和云计算系统中,数据迁移的成本较高,多数采用将任务分配到数据所在节点的调度策略。
分布式环境系统,例如云计算系统的特点是:海量数据分布式存储和访问;用于数据一次存储,多次查询的场合。图1为现有技术中云计算系统的分层结构示意图,如图1所示,云计算系统一般分三个层次:分布式文件存统、分布式数据系统、分布式任务调度系统。其中,分布式数据库系统将数据表分割为小表(Tablet),每个小表将表中不同的列族(Column Family)保存为一个文件,一个小表可能对应一个或多个文件,小表相当于对应的文件的索引,这些文件被冗余存放在下层的分布式文件系统上。图1描述了一个包含两个文件列族(CF1,CF2),被分成两个小表(小表-1和小表-2)存储,每个文件被存储两份的视图,其中一份为活跃数据,另一份为非活跃数据。
图2为现有技术中分布式环境的任务调度系统示意图,如图2所示,每个节点上都运行了分布式任务系统、分布式数据系统和分布式文件系统,可以提供对应的任务和数据(文件、小表等)服务,由任务调度器(分配任务到负荷低的节点)、小表调度器(分配数据到数据数目较少的队列)、文件调度器(按照节点存储能力等参数分配文件)分别进行对任务、小表、文件的调度。
图2为具有两个任务(Job1和Job2)的分布式系统,其中Job1使用“Tablet-1”作为输入,出于优化的目的,Job1被调度到“Tablet-1”所在的数据节点1上,但“Tablet-1”的物理文件可能被存储到不同的节点上。如果将Job1调度到节点2上,则Job1和Tablet-1数据服务器不在一起,造成的延迟和网络开销更大。系统中还存在两个冗余节点3和节点4,保存了非活跃的文件,但是并没有任务执行。
在实现本发明过程中,发明人发现现有技术中的分布式调度方式至少存在如下问题:
1.资源浪费
现有技术中未利用海量数据的应用读写特征提高数据访问性能,造成了资源的大量浪费。
2.任务处理效率低、速度慢
现有技术中,如图2所示,为了保证系统能够同时支持读写操作,每个小表(Tablet)只交给一个数据服务器来处理,所有针对这个小表的操作都必须由这一个数据服务器处理,并发能力有限,效率低,速度慢。
3.增加网络开销
现有方案在数据量较少,任务调度不频繁的情况下可以进行任务调度。如图2所示,“Tablet-1”的数据文件可能被分配到不同的节点,虽然访问透明,但是在海量数据的分布式存储系统中,数据量较多、调度复杂的情况下,访问异地文件会造成较大的数据流量、增加网络开销。
发明内容
本发明的第一目的是针对现有技术的分布式调度方式中资源浪费等缺陷,提出一种分布式系统的调度方法,以避免资源浪费。
本发明的第二目的是针对现有技术的分布式调度方式中资源浪费等缺陷,提出一种分布式环境的调度系统,以合理利用资源。
为实现上述第一目的,根据本发明的一个方面,提供了一种分布式系统的调度方法。
根据本发明实施例的分布式环境的调度方法,包括:
步骤A:数据调度器接收调度请求,该调度请求包括对数据的读取操作;数据保存在分布式系统中的至少一个提供数据服务的实体上;
步骤B:该数据调度器确定该调度请求对应的各数据服务的状态,并在各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;各数据服务为至少一个相同的数据服务。
上述方案中,在步骤A之前,还可以包括:数据调度器确定并保存各数据服务的状态信息,该状态信息包括:读取、写入、空闲。
优选地,步骤B中数据调度器确定并保存各数据服务的状态信息的操作具体可以包括:数据调度器由设置的数据锁确定并保存各数据服务的状态;数据锁用于标识各数据服务的状态信息,且各数据服务的数据锁信息相同。
其中,该数据调度器可以包括:文件调度器,或者文件调度器和小表调度器。
优选地,在步骤A之前,还可以包括:任务调度器接收任务后,确定任务的操作类型和任务对应的数据服务,向数据调度器发送调度请求;其中,操作类型包括读取、写入操作。
优选地,步骤B之后,还可以包括:任务调度器接收同意对各数据服务进行读取操作的调度响应后,任务对所述数据服务进行读取操作,包括:任务调度器将任务调度到数据服务所在节点或相邻节点或其他节点,进行该读取操作。
优选地,步骤A之前,还可以包括:任务调度器接收任务后,确定任务的操作类型和任务对应的数据服务;向预先设置的全局调度器发送调度请求,全局调度器向数据调度器发送调度请求;其中,操作类型包括读取、写入操作。
为实现上述第二目的,根据本发明的另一个方面,提供了一种分布式环境的调度系统。
根据本发明实施例的分布式环境的调度系统,包括:
任务调度器,用于接收任务后,确定任务的操作类型和任务对应的数据服务,发送包括对数据的读取操作的调度请求,数据保存在分布式系统中的至少一个提供数据服务的实体上;接收同意对各数据服务进行读取操作的调度响应后,任务对所述数据服务进行读取操作;
数据调度器,用于接收调度请求,确定该调度请求对应的各数据服务的状态,并在各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;各数据服务为至少一个相同的数据服务。
优选地,数据调度器可以包括:文件调度器;或者,文件调度器和小表调度器。
优选地,上述系统还可以包括:全局调度器,用于对所述任务调度器、小表调度器和文件调度器进行跨层全局调度,具体可以包括:
全局调度器接收任务调度器发送的调度请求,并发送至小表调度器;全局调度器接收小表调度器返回的调度请求对应的各数据服务所在的小表,并向文件调度器发送调度请求及小表;全局调度器接收文件调度器返回的任务对应的数据服务的调度响应,向小表调度器发送查询提供数据服务所在的小表的状态信息;全局调度器接收小表调度器对提供数据服务所在的小表的调度响应后,将调度响应发送给任务调度器。
优选地,小表调度器接收查询提供数据服务所在的小表的状态信息后,将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致,且将数据服务所在的小表调度到数据服务所在节点或相邻节点或其他节点;和/或任务调度器接收调度响应后,从小表调度器获得提供数据服务的小表所在的节点,将任务调度到数据服务的小表所在节点或相邻节点或其他节点,执行任务的操作。
本发明各实施例的分布式系统的调度方法及系统,数据调度器在接收到调度请求后,可以确定各数据服务的状态,并在调度请求所对应的数据服务为空闲或读取时,同意对一个或多个相同的数据服务进行读取操作,与现有技术中只能读取一个数据服务器,其它备份的冗余数据没有任务执行不同,本发明可以避免资源的浪费,并且,由于在调度请求为读取操作时,可以同时读取多份数据服务,本发明可以提供更多资源供并发任务的同时处理、提高任务处理效率,解决现有技术中同一份数据只能由一个数据服务器提供,网络占用多的技术问题。
本发明还有一些实施例的分布式系统的调度方法及系统,提供了使用全局调度器进行全面调度任务,尽量使任务、数据(小表和文件)服务位于同一节点,达到使数据服务器更快的访问文件,任务更快的访问数据服务器,可以提高任务的处理速度,并且由于不经过网络访问数据,对网络的占用也更少,减少网络开销,可以达到全局优化的效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术中云计算系统的分层结构示意图;
图2为现有技术中分布式环境的任务调度系统示意图;
图3为根据本发明实施例一分布式系统的调度方法流程图;
图4为根据本发明实施例二分布式系统的调度方法解析示意图;
图5为根据本发明实施例三分布式系统的调度方法流程图;
图6为根据本发明实施例四分布式系统的调度方法解析示意图
图7为根据本发明实施例五分布式系统的调度方法流程图;
图8为根据本发明实施例六分布式系统的调度方法及调度系统解析示意图;
图9为根据本发明实施例七分布式环境的调度系统的系统结构示意图;
图10为根据本发明实施例八分布式环境的调度系统的系统结构示意图;
图11为根据本发明实施例九分布式环境的调度系统的系统结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
基于现有分布式计算环境中结构化数据、任务的特性,本发明实施例提供了一种分布式系统的调度方法及系统,从任务、数据二个层次,或者从任务、小表、文件三个层次上进行调度策略,并对各种调度策略进行了详细阐述和解释说明,从而实现在分布式计算环境中结构化数据、任务的调度方式优化。下面通过图3-图11对本发明的各实施例进行说明
实施例一
根据本发明实施例,提供了一种分布式系统的调度方法,图3为根据本发明实施例一分布式系统的调度方法流程图,如图3所示,本实施例包括:
步骤S102:数据调度器接收调度请求,该调度请求包括对数据的读取操作,其中,数据保存在分布式系统中的至少一个提供数据服务的实体上;
步骤S104:数据调度器确定该调度请求对应的各数据服务的状态,本实施例中状态信息包括:读取、写入、空闲;
步骤S105:判断是否为空闲或读取状态,是则执行步骤S106,否则执行步骤S107;
步骤S106:发送同意对各数据服务进行读取操作的调度响应;各数据服务为至少一个相同的数据服务,结束;
步骤S107:此时,数据服务的状态为写入,可以采用如下两种方式:①发送不同意对各数据服务进行操作的调度响应。②发送同意对正在执行写入操作的数据服务进行读取操作的调度响应,即数据服务正在执行写入操作,则可以对其进行读取操作,以保持读取的数据服务是最新的,其他未进行写入操作的数据服务不能进行读取操作。
本实施例中,数据调度器在接收到调度请求后,确定各数据服务的状态,并在调度请求所对应的数据服务为空闲或读取时,同意对一个或多个相同的数据服务进行读取操作,与现有技术中备份的冗余数据节点没有任务执行,节点空闲相比,可以避免资源的浪费。本实施例由于可以同时读取多份数据服务,本实施例可以在多个数据服务上提供并发任务的同时处理、提高资源利用率、加速任务处理,可有效解决现有技术中只交给一个数据服务器来处理,其它任务如果还想调用该数据服务时,只能等待该任务执行完毕,才能执行其它任务,不能提供并发任务的同时处理,并发能力及效率低、速度慢等缺点。
实施例二
图4为根据本发明实施例二分布式系统的调度方法解析示意图,如图4所示,本实施例以文件调度器为数据调度器、分布式环境系统为两层结构为例进行说明,系统包括任务调度器和文件调度器,节点1保存有文件CF1(包括CF1.1、CF1.2两部分),节点2和节点3保存该文件的备份,即每份文件具有3个副本(可以不区分主从备份),分别存储在节点1、节点2和节点3上,3个副本的数据服务的状态信息需要保持一致,即数据服务的状态包括:读取、写入、空闲。
假设任务调度器收到某任务(也可称应用)的调度请求,需要调度某文件CF1(包括CF1.1、CF1.2两部分),则发送调度请求至文件调度器,文件调度器中保存有各文件的数据服务的状态信息,在查询到CF1的数据服务状态为读取或空闲时,文件调度器可以发送同意读取CF1的调度响应,并将CF1的3个副本,即节点1-节点3提供数据服务,如图4所示,任务调度器还可以将任务调度到提供数据服务的节点上,以减少异地访问网络开销,并且任务可以同时读取3份副本,提供并发任务的处理效率。
本实施例中文件调度器对数据服务的其它状态可以采用不同的调度策略,发送不同的调度响应,具体包括:
1.文件CF1的数据服务状态为写入:发送不同意对各数据服务进行操作的调度响应,或者发送同意对正在执行写入操作的数据服务(如节点1)进行读取操作的调度响应,具体说明见实施例一;
2.文件CF1的数据服务状态为写入状态,且调度请求中携带优先信息,具有高优先级:发送同意对数据服务进行读取操作的调度响应,并修改CF1的各数据服务的状态信息为读取;
3.文件CF1的数据服务状态为读取状态,且调度请求为写入操作,则可采用两种方式:
a.正在执行读取操作的任务执行完毕后,发送同意对文件CF1进行写入操作的调度响应,并修改文件CF1各数据服务的状态信息为写入;
b.发送同意对文件CF1进行写入操作的调度响应,并将正在执行读取操作的任务(如节点2和节点3读取文件CF1)转移至进行写入操作的数据服务上(假如写入操作选择节点1提供数据服务),并修改文件CF1各数据服务的状态信息为写入;
4.文件CF 1的数据服务状态为空闲状态,发送同意对文件CF1进行读取/写入操作的调度响应,并修改文件CF1各数据服务的状态信息对应为读取/写入。
本实施例以数据调度器为文件调度器为例进行说明,但本领域技术人员应当了解,如果任务调度器调度的数据服务为小表或目录,则本实施例中的文件调度器可以变为小表调度器或目录调度器,其调度过程可以采用相同的调度策略,在此不对相同或类似的技术方案进行重复说明。
本实施例同样可以提供并发任务的处理效率及避免资源浪费,且任务调度器可以将任务调度到提供数据服务的节点上,以减少异地访问网络开销。同时在对同一份数据(如:该份数据的3个副本)存在读写请求时,可根据应用的要求优先处理某项任务。
实施例三
图5为根据本发明实施例三分布式系统的调度方法流程图,本实施例以数据调度器包括小表调度器和文件调度器、分布式环境系统为三层数据结构为例进行说明,系统包括任务调度器、小表调度器、文件调度器,如图5所示,本实施例包括:
步骤S202:任务调度器接收任务后,确定该任务的操作类型和任务对应的数据服务,比如输入输出的小表名称,是读取还是写入操作等,向小表调度器发送该调度请求;
步骤S204:小表调度器接收调度请求后,确定调度请求对应的各数据服务所在的小表,若所述小表调度器保存有所述小表的数据服务的状态信息,则根据所述状态信息发送对应小表的调度响应;否则向文件调度器发送调度请求及数据服务所在的小表;
步骤S206:文件调度器接收调度请求,及各数据服务所在的小表后;
步骤S208:文件调度器确定该调度请求对应的各数据服务的状态信息,根据状态信息向小表调度器发送对应的调度响应,打开提供的数据服务的文件资源,具体可参见图4实施例中文件调度器对数据服务的状态采用各种调度策略,发送不同的调度响应的相关说明;
步骤S210:小表调度器接收文件调度器的调度响应后,确定各数据服务所在的小表的状态信息,发送对应小表的调度响应,具体包括:将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致,即文件各副本及其对应的各小表的状态信息最终保持一致;如果文件资源的数据服务状态打开,则对应小表的数据服务状态也同时打开,这样可以提供更多的并发任务处理资源;
步骤S212:任务调度器接收调度响应后,任务对各数据服务进行读取/写入操作;任务调度器可以将任务调度到提供数据服务所在节点或相邻节点或其他节点,进行任务对应的操作;
步骤S214:任务操作完成后,任务调度器向小表调度器发送状态更新消息;
步骤S216:小表调度器将各小表的数据服务状态进行更新,向任务调度器返回更新确认结果,更新的过程具体包括:
a.任务读取操作完成后且没有其它任务时,小表的各数据服务状态更新为空闲状态;
b.任务写入操作完成后且没有其它任务时,小表的各数据服务状态更新为空闲状态;
c.任务写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,小表的各数据服务状态更新为读取状态;
步骤S218:任务调度器接收小表调度器的确认更新结果,向文件调度器发送状态更新消息;
步骤S220:文件调度器将各文件的数据服务状态进行更新,向任务调度器返回更新确认结果,更新的过程同步骤S216类似;
步骤S222:任务调度器接收文件调度器的确认更新结果,结束。
本实施例中,文件调度器先发送文件的调度响应,提供对应文件服务,然后通知小表调度器,小表调度器发送对应小表的调度响应,提供小表服务。文件调度器是在各文件副本上提供服务后,告知小表调度器此时有更多资源,小表调度器需要在这些资源上提供对应的小表服务。在任务执行完毕时(1)任务调度器请求小表调度器更新状态(2)小表调度器确认变更结果,比如释放对文件副本的占用(3)任务调度器请求文件调度器更新状态(4)文件调度器确认变更结果。
本实施例与上述各实施例具有类似的效果,同样可以提供并发任务的处理效率及避免资源浪费、减少网络开销,并且本实施例对三层数据结构实现时的具体调度策略进行了详细说明,以增加本发明的可实施性。
实施例四
图6为根据本发明实施例四分布式系统的调度方法解析示意图。如图6所示,本实施例同样以数据调度器包括小表调度器和文件调度器、分布式环境系统为三层数据结构为例进行说明,系统包括任务调度器、小表调度器、文件调度器,也可看作对图5的解释说明,节点1保存有文件CF1(包括CF1.1、CF1.2两部分),节点2和节点3保存该文件的备份,即每份文件具有3个副本,文件CF1对应的目录为Tablet-1,且具有3个副本,分别存储在节点1、节点2和节点3上,每个节点上文件副本及小表副本的数据服务的状态信息均保持一致。
假设任务调度器收到某任务(也可称应用)的调度请求,需要调度某数据表,则发送调度请求至小表调度器,从小表调度器可以获得调度请求对应的小表“Tablet-1”,然后小表调度器查询文件调度器,获得Tablet-1对应的文件CF1,并查询文件CF1的数据服务的状态信息,在查询到CF1的数据服务状态为读取或空闲时,文件调度器可以向小表调度其发送同意读取CF1的调度响应,并在文件CF1的3个副本上提供服务后,告知小表调度器此时有更多资源,小表调度器在这些资源上提供对应的小表服务,打开小表副本,同时将对应的小表调度到文件副本所在的节点。如图6所示,任务调度器进一步将任务调度到提供小表和文件服务的节点上,以减少异地访问网络开销,并且任务可以同时读取3份副本,提供并发任务的处理效率。
本发明上述各实施例中数据调度器(文件调度器,或者文件调度器和小表调度器)确定并保存各数据服务的状态信息具体可以包括:由设置的数据锁确定并保存各数据服务的状态;该数据锁可以设置于各份数据(多个相同副本)的初始字段中,当然也可以根据需要设置于其它位置,数据锁用于标识所述各数据服务的状态信息,且各相同数据服务的数据锁信息相同。通过数据锁确定各数据服务的状态,可以实现任务对分布式系统中各相同数据服务的访问,但本领域普通技术人员应当了解,数据锁只是一种具体的实现方式,在具体应用时可以采用除数据锁之外的其他方式标识数据服务的状态来实现。
云计算、网格等分布式文件系统中均会将一个文件保存多个副本(如:在不同数据服务器上保存三个副本),这些副本用于保证数据的可靠性,即当一个节点损坏时,不会造成系统数据的丢失。为了保证文件的一致性,减少同步开销,各副本是不能被同时写入的,但是在保证数据是读取操作的时候,可以充分利用各副本数据进行读取操作。下面对数据服务状态采用数据锁的方式进行说明:
可以在两个层次采用数据锁:一是在文件系统层次,如文件数据副本锁(File Replica Lock,简称RFL);另一个是在应用层次,如数据服务器层次,如小表副本锁(Tablet Replica Lock,简称RTL)。各数据副本锁(即本文中的数据锁)作为数据服务的标识,可以有三个状态,分别是读取“Read”、写入“Write”和空闲“Free”。数据锁会应用于数据服务相关的所有副本数据。锁的初始状态为“Free”,则可以进行“Read”或“Write”操作,某种操作完成后,则自动对该锁进行更新,释放资源。数据锁可以是粗粒度的锁,即在几十分钟、几个小时、甚至几天的范围内有效。
1.文件调度器维护一个数据锁,如:RFL。当外部应用直接访问文件系统时,比如一个基于“MapReduce”的应用,如果应用不修改原始输入文件,则文件调度器可以利用各文件副本将“Map”任务调度到所有原始输入文件副本所在的文件服务器节点,保证系统中有更多的资源可以供并发任务使用,控制被闲置的副本数据投入计算中,提高数据利用率。
2.应用自身维护一个数据锁,如:RTL。比如小表调度器(TabletScheduler)可以从文件系统获知文件所在的节点,并在文件数据锁为“Read”时,修改对应小表的数据锁,将查询任务分配给文件副本所在节点的数据服务器(Tablet Server)上。
从面临跨层优化问题来说,应用参与数据锁的调度可能更有意义,因为任务将基于数据服务器提供的数据访问能力,同时,由于分布式文件系统同时对外提供文件服务,应用使用小表的数据锁之前,必须保证文件的数据锁的状态是一致的,但具体实现时可以在文件调度器及小表调度器分别增设数据锁。
本文各实施例中,在数据调度器中增加数据服务的状态信息,可以保证数据服务的一致性,减少同步开销,同时,可以从更高的层面调度任务,尽量使任务、数据(文件,或者小表和文件)位于同一节点,任务处理速度更快,而且不经过网络访问数据,对网络的占用更少,可以达到全局优化的效果,图5及图6对进行全局优化的调度进行了说明,下面的图7及图8对根据预设的全局调度器实现全局优化的调度进行详细说明。
实施例五
图7为根据本发明实施例五分布式系统的调度方法流程图,本实施例需要在系统中预设一个全局调度器进行跨层调度,如图7所示,本实施例的调度方法包括:
步骤S302:任务调度器接收任务后,确定任务的操作类型和对应的数据;向预先设置的全局调度器发送该调度请求;
步骤S304:全局调度器向小表调度器发送调度请求;
步骤S306:小表调度器接收调度请求后,确定调度请求对应的各数据所在的小表,其中,数据保存在分布式系统中的至少一个提供数据服务的实体上,如每个小表对应保存在分布式环境系统中的至少一个小表服务器(或节点)上,每份文件保存在分布式环境系统中的至少一个文件服务器(或节点)上;小表调度器将小表集合发送至全局调度器;
步骤S308:全局调度器获得数据服务所在的小表,向文件调度器发送调度请求及对应的各数据服务所在的小表;
步骤S310:文件调度器接收调度请求及对应的小表;
步骤S312:文件调度器确定该调度请求对应的各数据服务的状态信息,根据该状态信息发送调度响应,具体可参见图4-图6实施例中文件调度器根据状态发送不同调度响应的说明;
步骤S314:全局调度器接收文件调度器的调度响应后,向小表调度器发送查询提供数据服务所在的小表的状态信息;
步骤S316:小表调度器接收该查询状态信息,将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致,打开对应的小表;
步骤S318:小表调度器从文件调度器查询获得提供数据服务的文件所在节点;
步骤S320:小表调度器将数据服务所在的小表调度到数据服务所在节点上,向全局调度器发送对应小表的调度响应;
步骤S322:全局调度器接收小表调度器和文件调度器的调度响应后,将调度响应发送给任务调度器;
步骤S324:任务调度器接收调度响应;
步骤S326:任务调度器从小表调度器查询获得提供数据服务的小表所在的节点;
步骤S328:任务调度器将任务调度到提供文件及小表数据服务所在节点,通知任务进行执行操作;
步骤S330:任务操作完成后,任务调度器向全局调度器发送任务操作完成消息;
步骤S332:全局调度器向小表调度器发送状态更新消息;
步骤S334:小表调度器将各小表的数据服务状态进行更新,向全局调度器返回更新确认结果,更新的过程具体包括:
a.任务读取操作完成后且没有其它任务时,小表的各数据服务状态更新为空闲状态,释放对文件各副本的占用;
b.任务写入操作完成后且没有其它任务时,小表的各数据服务状态更新为空闲状态,释放对文件的占用;
c.任务写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,小表的各数据服务状态更新为读取状态;
步骤S336:全局调度器接收小表调度器的确认更新结果,向文件调度器发送状态更新消息;
步骤S338:文件调度器将各文件的数据服务状态进行更新,向全局调度器返回更新确认结果,更新的过程同步骤S334类似;
步骤S340:全局调度器接收文件调度器的确认更新结果,通知任务调度器;
步骤S342:任务调度器接收文件调度器的确认更新结果,结束。
本实施例在图5实施例的基础上,加入了全局调度器进行全局调度,全局任务调度器(Global Scheduler)负责完成任务、小表和文件的跨层全局调度。全局任务调度器并不负责具体某个层面的调度,具体层面的调度由文件调度器、小表调度器和任务调度器完成,全局调度器负责跨层次的任务相关事务安排。
现有技术中涉及结构化数据的任务调度,为了保证层间的透明度,任务调度器和数据调度器(小表调度器、文件调度器)之间并不进行通信,可能导致调度结果不是根据数据位置优化的,无法从更高的层面进行调度。本实施例中新增一个可以配置的全局调度器,可以实现云计算等分布式系统中任务、数据小表、数据文件存储的综合调度,将任务、小表和文件调度到同一个节点,可以提高数据访问性能、减少网络流量,提高系统任务吞吐率,实现全局优化。
本实施例使用全局调度器可以从更高的层面调度任务,尽量使任务、数据和文件位于同一个节点。由于处于同一个节点,数据服务器可以更快的访问文件,而任务也更快的访问数据服务器,任务的处理速度更快,并且由于不经过网络访问数据,对网络的占用也更少,通过全局调度器,可以达到全局优化的效果。
实施例六
图8为根据本发明实施例六分布式系统的调度方法及调度系统解析示意图。如图8所示,展示了全局调度器和其它调度器的关系,具体工作流程如下:
1.应用向任务调度器提交任务,包括任务的描述信息,比如输入输出的数据表名称、是读取还是写入操作等;
2.如果涉及到某个表A的读操作,任务调度器向全局调度器提交调度请求;
3.全局调度器首先询问小表调度器,获得数据表A对应的小表集合,假设其中具有小表a;
4.对于小表a,全局调度器询问文件调度器小表a相关的文件的状态,如果为文件的数据服务状态(如:数据锁)为空闲,则将该状态修改为读取“Read”状态,文件调度器会将每个文件的各个数据副本放入可以分配的文件集合,并进行分配;
5.全局调度器对于已经获取调度请求文件的数据服务状态对应的每个小表a,全局调度器向小表调度器询问每个小表a的状态,如果为空闲,则将该状态修改为读取“Read”状态,与文件的状态保持一致,小表调度器会将每个小表a的各个数据副本放入可以分配的小表集合,并进行分配;
6.小表调度器从文件调度器查询获取文件副本的节点位置,并将对应的小表a分配到文件副本的节点上运行;
6’.此时,全局调度器已经完成了跨层的文件、小表的调度,全局调度器通知任务调度器,可以开始调度任务;
7’任务调度器从小表调度器中查询获得可用的小表服务器资源,并将计算任务分配到可用小表副本的节点上,如果每个节点上的任务数过多,则可以就近分配到临近的节点上;
7.任务调度器通知应用开始执行。
如图8所示,文件的数据服务状态(如:文件副本锁RFL)及小表的数据服务状态(如:小表副本锁RTL)可以分别存储在文件调度器和小表调度器中,也可以存储在全局调度器中。在具体应用时,分别存储在文件调度器和小表调度器中为优选方式,全局调度器只负责跨层全局调度,并不负责具体某个层面的调度。
本实施例通过上述流程,任务可以被调度到小表和文件所在的节点上运行,当任务位于同一个节点上时,可以采用更进一步的优化方法来提高性能,比如不使用消耗系统资源较多的TCP/IP协议,而使用更为高效的进程间通信协议,比如“UnixSocket”等等。
当应用处理结束后,任务调度器可以释放对副本资源的占用,具体过程是:任务调度器通知全局调度器,由全局调度器首先通知小表调度器释放对每个小表副本资源的占用;然后由全局调度器通知文件调度器释放对文件备份资源的占用,如果没有其它应用占用各数据服务资源,则所有的数据锁状态都会变成空闲“Free”。
本实施例的调度方法和系统中,增加全局调度器后,运算性能可以显著提高,数据服务器可以更快的访问文件,任务也更快的访问数据服务器,任务处理速度快、网络占用更少,可以达到全局优化的效果。
综上所述,上述各方法的一个或多个实施例具有以下优点或有益效果:
1.合理充分利用资源:在保证数据服务是读取操作的时候,可以充分利用各副本数据进行读取操作,避免节点空闲和浪费。
2.任务处理速度快、效率高:在数据服务的多份副本所在节点提供数据访问服务,可以为更多的任务提供同一份数据,提高并发任务的处理效率,对网络占用也较小,提高系统任务并发率和吞吐率。
3.减少同步开销:在数据调度器中增加数据服务的状态信息,可以保证数据服务的一致性,减少同步开销。
4.能够实现全局调度优化、提高计算性能:可以从更高的层面调度任务,尽量使任务、数据(文件,或者小表和文件)位于同一节点,不经过网络访问数据,对网络的占用更少,可以达到全局优化的效果。
5.避免数据冲突:由于对各数据服务的操作均有记录,如对对文件和小表的数据服务均有相同的数据服务状态记录,不会出现数据冲突。
上述一些方法实施例可以直接从底层分布式文件系统获得文件的位置,并将小表服务器调度到文件所在节点,同时将任务调度到数据所处的小表服务器和数据服务器(即提供数据服务的节点)上,这种调度方式不需要监测网络流量,并且利用启用所有的副本数据来增加提供数据服务的数量,可以提高并发程度。
现有技术中很多应用,比如经营分析系统、数据挖掘系统、搜索引擎等系统中,数据的读写操作一般发生在不同的数据表上。即使在分析过程中,有新增数据也可以通过写入其他的数据表来保证数据的并发性。本发明上述各方法实施例针对数据读写不同时进行的应用,可以采用粗粒度的数据锁管理所有小表、文件服务器等对数据的操作,可以为更多的任务提供同一份数据读取服务,提高并发任务的数量,缩短整个处理的完成时间。
实施例七
图9为根据本发明实施例七分布式环境的调度系统的系统结构示意图。如图9所示,本实施例包括:
任务调度器2,用于接收任务后,确定该任务的操作类型和任务对应的数据服务,发送包括对数据的读取操作的调度请求,数据保存在分布式系统中的至少一个提供数据服务的实体上;接收到数据调度器4返回的同意对各数据服务进行读取操作的调度响应后,任务对提供的数据服务进行读取操作;
数据调度器4,用于接收该调度请求,确定该调度请求对应的各数据服务的状态,并在各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;各数据服务为至少一个相同的数据服务。其中,调度系统中,数据保存在分布式系统中的至少一个提供数据服务的实体上,如每个小表数据可以对应保存在分布式环境系统中的至少一个小表服务器(或节点)上,每份文件数据可以保存在分布式环境系统中的至少一个文件服务器(或节点)上。
其中,数据调度器4可以包括:数据服务状态模块42,用于标识各数据服务的状态,可以采用各数据服务的初始字段中设置的数据锁确定各数据服务的状态,且各相同数据服务的数据锁信息相同,数据服务的状态包括:读取、写入、空闲。数据服务状态模块42还包括:
状态存储子模块,用于保存并设置提供各数据服务的状态为任务的操作类型,具体包括:
1.若收到调度请求时数据服务的状态为空闲且任务为读取/写入操作的调度响应,保存并设置所述各数据服务的状态为读取/写入;
2.若收到调度请求时数据服务的状态为写入,且调度请求中携带优先信息,则发送同意对数据服务进行读取操作的调度响应,并保存并设置各提供数据服务的状态信息为读取;
3.若收到调度请求时数据服务的状态为读取状态,且调度请求为写入操作,则:
a.正在执行读取操作的数据服务执行完毕后,发送同意对数据服务进行写入操作的调度响应,保存并设置各提供数据服务的状态信息为写入;
b.正在执行读取操作的数据服务转移至进行写入操作的数据服务上,发送同意对数据服务进行写入操作的调度响应,保存并设置各数据服务的状态信息为写入;
4.若收到调度请求时数据服务的状态为读取状态,且调度请求仍为读取操作,各数据服务的状态信息仍保持为读取。
本实施例中,数据调度器4还可以包括:状态更新触发模块44,用于根据接收到的任务操作完成消息向数据服务状态模块42发送状态更新消息,包括:任务对数据服务进行写入/读取操作完成后没有其它任务时,向数据服务状态模块42发送更新该数据服务为空闲状态的状态更新消息;任务对数据服务进行写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,向数据服务状态模块42发送更新为读取状态的状态更新消息。
本实施例中的数据调度器4的功能及与任务调度器2的交互可参见图3-图6实施例中的相关说明,以实现避免资源浪费,合理利用各数据副本提供数据读取服务,提供任务并发处理速度,在此不对相同或类似技术内容进行重复说明。
实施例八
图10为根据本发明实施例八分布式环境的调度系统的系统结构示意图。如图10所示,本实施例系统包括任务调度器2、小表调度器3及文件调度器5,其中文件调度器5和小表调度器3均为数据调度器,其内部结构与图9实施例相类似,其中,小表调度器3包括:数据服务状态模块32,内部存储有小表对应的数据锁RTL;及状态更新触发模块34。文件调度器5包括:数据服务状态模块52,内部存储有文件对应的数据锁RFL;及状态更新触发模块54。
本实施例为三层数据结构,具体可参见图5-图6中关于三层数据结构中任务调度的方法说明,实现三层优化调度,可以将文件、小表及任务调度到同一提供数据服务的节点上,减少网络开销。
实施例九
图11为根据本发明实施例九分布式环境的调度系统的系统结构示意图,本实施例与图10相比,还包括:全局调度器,用于对任务调度器、小表调度器和文件调度器进行跨层全局调度:
全局调度器进行跨层全局调度,具体包括:
1.全局调度器接收任务调度器发送的调度请求,并发送至小表调度器;
2.全局调度器接收所述小表调度器返回的调度请求对应的各数据服务所在的小表,并向文件调度器发送所述调度请求及所述小表;
3.全局调度器接收文件调度器返回的任务对应的数据服务的调度响应,向小表调度器发送查询提供数据服务所在的小表的状态信息;
4.小表调度器接收查询信息后,将提对应小表的状态信息更改为与数据服务的状态信息一致,还可以将小表调度到数据服务所在节点或相邻节点或其他节点;
5.全局调度器接收小表调度器的调度响应后,将调度响应发送给任务调度器,以进行任务执行。
任务调度器接收调度响应后,还可以从小表调度器获得提供数据服务的小表所在的节点,并将任务调度到提供服务的小表所在节点或相邻节点或其他节点。全局调度器的调度过程及与其余三个调度器的交互过程可参见图7-图8实施例的相关说明,能够实现全局调度优化、提高计算性能,使任务、小表和文件位于同一节点,不经过网络访问数据,对网络的占用更少,达到全局优化的有益效果。
上述各方法实施例可以在具备图9-图11结构图所示结构的系统中实现。
综上所述,本发明各实施例的分布式系统的调度方法及系统,可以避免资源的浪费,提供并发任务的同时处理、提高任务处理效率,网络占用少。本发明还有一些实施例的分布式系统的调度方法及系统,提供了全面调度任务,尽量使任务、数据(小表和文件)服务位于同一节点,达到使数据服务器更快的访问文件,任务更快的访问数据服务器,可以提高任务的处理速度,并且由于不经过网络访问数据,对网络的占用也更少,减少网络开销,可以达到全局优化的效果。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种分布式系统的调度方法,其特征在于,包括:
步骤A:数据调度器接收调度请求,所述调度请求包括对数据的读取操作;所述数据保存在分布式系统中的至少一个提供数据服务的实体上;
步骤B:所述数据调度器确定所述调度请求对应的各数据服务的状态,并在所述各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;所述各数据服务为至少一个相同的数据服务。
2.根据权利要求1所述的方法,其特征在于,在所述步骤A之前,还包括:所述数据调度器确定并保存各数据服务的状态信息,所述状态信息包括:读取、写入、空闲。
3.根据权利要求2所述的方法,其特征在于,所述步骤B中数据调度器确定并保存各数据服务的状态信息的操作具体包括:
所述数据调度器由设置的数据锁确定并保存各数据服务的状态;
所述数据锁用于标识所述各数据服务的状态信息,且所述各相同数据服务的数据锁信息相同。
4.根据权利要求3所述的方法,其特征在于,所述数据调度器包括文件调度器,所述步骤B还包括:
若所述状态为写入状态,则发送不同意对各数据服务进行操作的调度响应,或者发送同意对正在执行写入操作的数据服务进行读取操作的调度响应;
若所述状态为写入状态且所述调度请求中携带优先信息,则发送同意对数据服务进行读取操作的调度响应,并修改所述各数据服务的状态信息为读取;
若所述状态为读取状态且所述调度请求为写入操作,则正在执行读取操作的数据服务执行完毕后,发送同意对数据服务进行写入操作的调度响应,并修改所述各数据服务的状态信息为写入;或者发送同意对数据服务进行写入操作的调度响应,并将正在执行读取操作的数据服务转移至进行写入操作的数据服务上,并修改所述各数据服务的状态信息为写入;
若所述状态为空闲状态,发送同意对数据服务进行读取或写入操作的调度响应,并修改所述各数据服务的状态信息对应为读取或写入。
5.根据权利要求3所述的方法,其特征在于,所述数据调度器包括小表调度器和文件调度器,所述方法具体包括:
小表调度器接收包括对数据服务进行读取操作的调度请求后,确定所述调度请求对应的各数据服务所在的小表,若所述小表调度器保存有所述小表的数据服务的状态信息,则根据所述状态信息发送对应小表的调度响应;否则
文件调度器接收包括对数据服务进行读取操作的调度请求,及所述小表调度器发送的所述调度请求对应的各数据服务所在的小表后,确定所述调度请求对应的各数据服务的状态信息,根据所述状态信息发送调度响应,具体包括:
若所述状态为空闲时,发送同意对各数据服务进行读取或写入操作的调度响应,并修改所述各数据服务的状态信息为读取或写入;
若所述状态为写入状态,则发送不同意对各数据服务进行操作的调度响应,或者发送同意对正在执行写操作的数据服务进行读取操作的调度响应;
若所述状态为写入状态且所述调度请求中携带优先信息,则发送同意对数据服务进行读取操作的调度响应,并修改所述各数据服务的状态信息为读取;
若所述状态为读取状态且所述调度请求为写入操作,则正在执行读取操作的数据服务执行完毕后,发送同意对数据服务进行写入操作的调度响应,并修改所述各数据服务的状态信息为写入;或者发送同意对数据服务进行写入操作的调度响应,并将正在执行读取操作的数据服务转移至进行写入操作的数据服务上,并修改所述各数据服务的状态信息为写入;
若所述状态为读取状态且所述调度请求为读取操作,发送同意对数据服务进行读取操作的调度响应;
所述小表调度器接收所述调度响应后,确定各数据服务所在的小表的状态信息,发送对应小表的调度响应,具体包括:将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述步骤A之前,还包括:
任务调度器接收任务后,确定所述任务的操作类型和所述任务对应的数据服务,向所述数据调度器发送所述调度请求;
其中,所述操作类型包括读取、写入操作。
7.根据权利要求6所述的方法,其特征在于,在所述步骤B之后,还包括:
任务调度器接收同意对各数据服务进行读取操作的调度响应后,所述任务对所述数据服务进行读取操作,包括:所述任务调度器将所述任务调度到所述数据服务所在节点或相邻节点或其他节点,进行所述读取操作。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
所述任务对所述数据服务进行读取操作完成后,所述任务调度器向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为空闲状态;
所述任务对所述数据服务进行写入操作完成后且没有其它任务时,所述任务调度器向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为空闲状态;
所述任务对所述数据服务进行写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,所述任务调度器向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为读取状态。
9.根据权利要求1-5中任一项所述的方法,其特征在于,所述步骤A之前,还包括:
任务调度器接收任务后,确定所述任务的操作类型和所述任务对应的数据服务;向预先设置的全局调度器发送所述调度请求,所述全局调度器向所述数据调度器发送所述调度请求;
其中,所述操作类型包括读取、写入操作。
10.根据权利要求9所述的方法,其特征在于,所述数据调度器包括小表调度器和文件调度器,所述步骤B具体包括:
小表调度器接收所述调度请求后,确定所述调度请求对应的各数据服务所在的小表,并将所述小表发送至所述全局调度器;
所述全局调度器向所述文件调度器发送所述调度请求及对应的各数据服务所在的小表;
所述文件调度器接收所述调度请求及所述小表后,确定所述调度请求对应的各数据服务的状态信息,根据所述状态信息发送调度响应,具体包括:
若所述状态为空闲时,发送同意对各数据服务进行读取/写入操作的调度响应,并修改所述各数据服务的状态信息为对应的读取/写入;
若所述状态为写入状态,则发送不同意对各数据服务进行操作的调度响应,或者发送同意对正在执行写操作的数据服务进行读取操作的调度响应;
若所述状态为写入状态且所述调度请求中携带优先信息,则发送同意对数据服务进行读取操作的调度响应,并修改所述各数据服务的状态信息为读取;
若所述状态为读取状态且所述调度请求为写入操作,则正在执行读取操作的数据服务执行完毕后,发送同意对数据服务进行写入操作的调度响应,并修改所述各数据服务的状态信息为写入;或者发送同意对数据服务进行写入操作的调度响应,并将正在执行读取操作的数据服务转移至进行写入操作的数据服务上,并修改所述各数据服务的状态信息为写入;
若所述状态为读取状态且所述调度请求为读取操作,发送同意对数据服务进行读取操作的调度响应。
11.根据权利要求10所述的方法,其特征在于,在所述步骤B之后,还包括:
所述全局调度器接收所述调度响应,向所述小表调度器发送查询提供数据服务所在的小表的状态信息;
所述小表调度器接收所述查询状态信息,确定所述数据服务所在的小表的状态信息,向所述全局调度器发送对应小表的调度响应,具体包括:将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致;
所述小表调度器将所述数据服务所在的小表调度到所述数据服务所在节点或相邻节点或其他节点。
12.根据权利要求11所述的方法,其特征在于,在所述步骤B之后,还包括:
全局调度器接收所述小表调度器的调度响应后,将所述调度响应发送给所述任务调度器,所述任务调度器从所述小表调度器获得提供数据服务的小表所在的节点,所述任务调度器将所述任务调度到所述数据服务所在节点或相邻节点或其他节点,执行所述任务的操作。
13.根据权利要求9-12中任一项所述的方法,其特征在于,还包括:
所述任务对所述数据服务进行的读取操作完成后,所述全局调度器根据接收到的任务调度器发送的读取操作完成消息向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为空闲状态;
所述任务对所述数据服务进行写入操作完成后且没有其它任务时,所述全局调度器根据接收到的任务调度器发送的写入操作完成消息向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为空闲状态;
所述任务对所述数据服务进行写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,所述全局调度器根据接收到的任务调度器发送的写入操作完成,继续执行读取操作消息向所述数据调度器发送状态更新消息,以通知所述数据调度器将对应的各数据服务状态更新为读取状态。
14.一种分布式环境的调度系统,其特征在于,包括:
任务调度器,用于接收任务后,确定所述任务的操作类型和所述任务对应的数据服务,发送包括对数据的读取操作的调度请求,所述数据保存在分布式系统中的至少一个提供数据服务的实体上;接收同意对各数据服务进行读取操作的调度响应后,所述任务对所述数据服务进行读取操作;
数据调度器,用于接收所述调度请求,确定所述调度请求对应的各数据服务的状态,并在所述各数据服务为空闲或读取状态时,发送同意对各数据服务进行读取操作的调度响应;所述各数据服务为至少一个相同的数据服务。
15.根据权利要求14所述的系统,其特征在于,所述数据调度器包括:
数据服务状态模块,用于标识各数据服务的状态,由设置的数据锁确定并保存各数据服务的状态,且所述各相同数据服务的数据锁信息相同;
所述数据服务的状态包括:读取、写入、空闲。
16.根据权利要求15所述的系统,其特征在于,所述数据服务状态模块包括:
状态存储子模块,用于保存并设置提供各数据服务的状态为所述任务的操作类型,具体包括:
若所述状态为空闲且任务为读取/写入操作的调度响应,保存并设置所述各数据服务的状态为读取/写入;
若所述状态为写入状态且所述调度请求中携带优先信息,保存并设置所述各数据服务的状态信息为读取;
若所述状态为读取状态且所述调度请求为写入操作,则正在执行读取操作的数据服务执行完毕后,保存并设置所述各数据服务的状态信息为写入;或者正在执行读取操作的数据服务转移至进行写入操作的数据服务上时,保存并设置所述各数据服务的状态信息为写入;
若所述状态为读取状态且所述调度请求为读取操作,保存所述各数据服务的状态信息为读取。
17.根据权利要求15所述的系统,其特征在于,所述数据调度器还包括:
状态更新触发模块,用于根据接收到的任务操作完成消息向所述数据服务状态模块发送状态更新消息,具体包括:
所述任务对所述数据服务进行写入/读取操作完成后没有其它任务时,发送更新为空闲状态的状态更新消息;
所述任务对所述数据服务进行写入操作完成后且写入操作的数据服务上同时执行的读取操作未完成时,发送更新为读取状态的状态更新消息。
18.根据权利要求14-17中任一项所述的系统,其特征在于,所述数据调度器包括:文件调度器;或者,文件调度器和小表调度器。
19.根据权利要求18所述的系统,其特征在于,还包括:
全局调度器,用于对所述任务调度器、小表调度器和文件调度器进行跨层全局调度,具体包括:
所述全局调度器接收所述任务调度器发送的调度请求,并发送至所述小表调度器;
所述全局调度器接收所述小表调度器返回的调度请求对应的各数据服务所在的小表,并向所述文件调度器发送所述调度请求及所述小表;
所述全局调度器接收所述文件调度器返回的所述任务对应的数据服务的调度响应,向所述小表调度器发送查询提供数据服务所在的小表的状态信息;
所述全局调度器接收所述小表调度器对所述提供数据服务所在的小表的调度响应后,将所述调度响应发送给所述任务调度器。
20.根据权利要求19所述的系统,其特征在于,所述小表调度器接收所述查询提供数据服务所在的小表的状态信息后,将提供数据服务所在的小表的状态信息修改为与提供数据服务的状态信息一致,且将所述数据服务所在的小表调度到所述数据服务所在节点或相邻节点或其他节点;和/或
所述任务调度器接收所述调度响应后,从所述小表调度器获得提供数据服务的小表所在的节点,将所述任务调度到所述数据服务的小表所在节点或相邻节点或其他节点,执行所述任务的操作。
21.根据权利要求19所述的系统,其特征在于,所述全局调度器根据接收到的任务调度器发送的任务操作完成消息向所述数据调度器发送状态更新消息,以通知所述数据调度器对各数据服务状态进行更新。
CN 200810239118 2008-12-09 2008-12-09 分布式系统的调度方法及系统 Active CN101753608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810239118 CN101753608B (zh) 2008-12-09 2008-12-09 分布式系统的调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810239118 CN101753608B (zh) 2008-12-09 2008-12-09 分布式系统的调度方法及系统

Publications (2)

Publication Number Publication Date
CN101753608A true CN101753608A (zh) 2010-06-23
CN101753608B CN101753608B (zh) 2013-06-05

Family

ID=42480002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810239118 Active CN101753608B (zh) 2008-12-09 2008-12-09 分布式系统的调度方法及系统

Country Status (1)

Country Link
CN (1) CN101753608B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986661A (zh) * 2010-11-04 2011-03-16 华中科技大学 一种改进的虚拟机群下MapReduce数据处理方法
CN102014282A (zh) * 2010-10-25 2011-04-13 深圳市融创天下科技发展有限公司 一种分布式视频转码调度方法及系统
CN102265277A (zh) * 2011-06-01 2011-11-30 华为技术有限公司 数据存储系统的操作方法和装置
WO2012034273A1 (en) * 2010-09-15 2012-03-22 Empire Technology Development Llc Task assignment in cloud computing environment
CN102761528A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 数据管理系统及方法
CN103458036A (zh) * 2013-09-03 2013-12-18 杭州华三通信技术有限公司 一种集群文件系统的访问装置和方法
CN103491158A (zh) * 2013-09-18 2014-01-01 万达信息股份有限公司 一种就近计算的云计算架构
CN103887889A (zh) * 2014-04-23 2014-06-25 太原理工大学 Iec61850服务中基于acsi-fc的映射方法
CN103905515A (zh) * 2012-12-28 2014-07-02 北大方正集团有限公司 一种分布式互联网信息下载系统及方法
CN105516263A (zh) * 2015-11-28 2016-04-20 华为技术有限公司 存储系统中数据分发方法、装置、计算节点及存储系统
WO2016082370A1 (zh) * 2014-11-25 2016-06-02 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
CN105824697A (zh) * 2016-03-23 2016-08-03 浪潮通信信息系统有限公司 一种基于队列的分布式多级调度方法
CN106354747A (zh) * 2016-08-15 2017-01-25 成都轻车快马网络科技有限公司 用于大数据的服务提供方法
CN106375382A (zh) * 2016-08-26 2017-02-01 苏州蓝海彤翔系统科技有限公司 数据分配的方法、系统、控制服务器及节点客户端
CN106844020A (zh) * 2016-12-01 2017-06-13 明博教育科技股份有限公司 不同任务遍历大量共享数据的高效处理方法及系统
CN107515784A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种在分布式系统中计算资源的方法与设备
CN108093003A (zh) * 2016-11-21 2018-05-29 深圳市优朋普乐传媒发展有限公司 一种基于位图的数据交互方法、装置及系统
CN108234481A (zh) * 2017-12-29 2018-06-29 上海品顺信息科技有限公司 一种控制多机分布式访问外部系统的方法及分布式系统
CN108924124A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种文件访问方法、装置、设备及可读存储介质
CN109885622A (zh) * 2019-01-18 2019-06-14 广州虎牙信息科技有限公司 一种数据处理设备、系统以及多节点数据处理方法
CN110299984A (zh) * 2019-06-05 2019-10-01 上海易点时空网络有限公司 适用于车载多媒体的空闲发现方法及装置
CN110489222A (zh) * 2019-08-22 2019-11-22 深圳前海微众银行股份有限公司 任务调度方法、系统、集群服务器及可读存储介质
CN110636120A (zh) * 2019-09-09 2019-12-31 广西东信易联科技有限公司 一种基于业务请求的分布式资源协调系统及其方法
CN112491986A (zh) * 2016-02-29 2021-03-12 华为技术有限公司 一种分布式系统中命令分发方法、装置及系统
CN113810479A (zh) * 2021-08-31 2021-12-17 山石网科通信技术股份有限公司 服务协调系统以及服务协调方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI614617B (zh) * 2014-08-26 2018-02-11 Chunghwa Telecom Co Ltd 用於即時運算平台可多人共享及動態加卸載之任務分派器與方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100347675C (zh) * 2004-06-29 2007-11-07 北京大学 应用服务器的性能优化方法
CN100456744C (zh) * 2006-07-13 2009-01-28 华为技术有限公司 一种数据调度方法及系统
CN101202761B (zh) * 2007-12-04 2010-11-03 赵晓宇 一种分布式资源调度系统及其方法

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012034273A1 (en) * 2010-09-15 2012-03-22 Empire Technology Development Llc Task assignment in cloud computing environment
US8887169B2 (en) 2010-09-15 2014-11-11 Empire Technology Development Llc Task assignment in cloud computing environment
CN102014282A (zh) * 2010-10-25 2011-04-13 深圳市融创天下科技发展有限公司 一种分布式视频转码调度方法及系统
CN102014282B (zh) * 2010-10-25 2013-07-03 深圳市融创天下科技股份有限公司 一种分布式视频转码调度方法及系统
CN101986661A (zh) * 2010-11-04 2011-03-16 华中科技大学 一种改进的虚拟机群下MapReduce数据处理方法
CN101986661B (zh) * 2010-11-04 2014-06-04 华中科技大学 一种改进的虚拟机群下MapReduce数据处理方法
CN102761528A (zh) * 2011-04-28 2012-10-31 中兴通讯股份有限公司 数据管理系统及方法
WO2012145963A1 (zh) * 2011-04-28 2012-11-01 中兴通讯股份有限公司 数据管理系统及方法
CN102265277A (zh) * 2011-06-01 2011-11-30 华为技术有限公司 数据存储系统的操作方法和装置
US9639588B2 (en) 2011-06-01 2017-05-02 Huawei Technologies Co., Ltd. Operation method and apparatus for data storage system
CN102265277B (zh) * 2011-06-01 2014-03-05 华为技术有限公司 数据存储系统的操作方法和装置
CN103905515A (zh) * 2012-12-28 2014-07-02 北大方正集团有限公司 一种分布式互联网信息下载系统及方法
CN103458036B (zh) * 2013-09-03 2017-02-15 杭州华三通信技术有限公司 一种集群文件系统的访问装置和方法
CN103458036A (zh) * 2013-09-03 2013-12-18 杭州华三通信技术有限公司 一种集群文件系统的访问装置和方法
CN103491158A (zh) * 2013-09-18 2014-01-01 万达信息股份有限公司 一种就近计算的云计算架构
CN103887889A (zh) * 2014-04-23 2014-06-25 太原理工大学 Iec61850服务中基于acsi-fc的映射方法
CN105656973B (zh) * 2014-11-25 2018-11-13 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
WO2016082370A1 (zh) * 2014-11-25 2016-06-02 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
CN105656973A (zh) * 2014-11-25 2016-06-08 中国科学院声学研究所 一种分布式节点组内任务调度方法及系统
US10474504B2 (en) 2014-11-25 2019-11-12 Institute Of Acoustics, Chinese Academy Of Sciences Distributed node intra-group task scheduling method and system
CN105516263A (zh) * 2015-11-28 2016-04-20 华为技术有限公司 存储系统中数据分发方法、装置、计算节点及存储系统
CN105516263B (zh) * 2015-11-28 2019-02-01 华为技术有限公司 存储系统中数据分发方法、装置、计算节点及存储系统
CN112491986A (zh) * 2016-02-29 2021-03-12 华为技术有限公司 一种分布式系统中命令分发方法、装置及系统
CN112491986B (zh) * 2016-02-29 2022-07-29 华为技术有限公司 一种分布式系统中命令分发方法、装置及系统
CN105824697A (zh) * 2016-03-23 2016-08-03 浪潮通信信息系统有限公司 一种基于队列的分布式多级调度方法
CN107515784A (zh) * 2016-06-16 2017-12-26 阿里巴巴集团控股有限公司 一种在分布式系统中计算资源的方法与设备
CN106354747B (zh) * 2016-08-15 2019-08-16 成都轻车快马网络科技有限公司 用于大数据的服务提供方法
CN106354747A (zh) * 2016-08-15 2017-01-25 成都轻车快马网络科技有限公司 用于大数据的服务提供方法
CN106375382A (zh) * 2016-08-26 2017-02-01 苏州蓝海彤翔系统科技有限公司 数据分配的方法、系统、控制服务器及节点客户端
CN108093003A (zh) * 2016-11-21 2018-05-29 深圳市优朋普乐传媒发展有限公司 一种基于位图的数据交互方法、装置及系统
CN106844020A (zh) * 2016-12-01 2017-06-13 明博教育科技股份有限公司 不同任务遍历大量共享数据的高效处理方法及系统
CN108234481A (zh) * 2017-12-29 2018-06-29 上海品顺信息科技有限公司 一种控制多机分布式访问外部系统的方法及分布式系统
CN108234481B (zh) * 2017-12-29 2020-10-30 上海品顺信息科技有限公司 一种控制多机分布式访问外部系统的方法及分布式系统
CN108924124A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种文件访问方法、装置、设备及可读存储介质
CN109885622A (zh) * 2019-01-18 2019-06-14 广州虎牙信息科技有限公司 一种数据处理设备、系统以及多节点数据处理方法
CN110299984A (zh) * 2019-06-05 2019-10-01 上海易点时空网络有限公司 适用于车载多媒体的空闲发现方法及装置
CN110489222A (zh) * 2019-08-22 2019-11-22 深圳前海微众银行股份有限公司 任务调度方法、系统、集群服务器及可读存储介质
CN110636120A (zh) * 2019-09-09 2019-12-31 广西东信易联科技有限公司 一种基于业务请求的分布式资源协调系统及其方法
CN110636120B (zh) * 2019-09-09 2022-02-08 广西东信易联科技有限公司 一种基于业务请求的分布式资源协调系统及其方法
CN113810479A (zh) * 2021-08-31 2021-12-17 山石网科通信技术股份有限公司 服务协调系统以及服务协调方法
CN113810479B (zh) * 2021-08-31 2023-11-07 山石网科通信技术股份有限公司 服务协调系统以及服务协调方法

Also Published As

Publication number Publication date
CN101753608B (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN101753608B (zh) 分布式系统的调度方法及系统
US8661457B2 (en) Pipeline across isolated computing environments
US20190272264A1 (en) System And Method For Large-scale Data Processing Using An Application-independent Framework
US8392482B1 (en) Versioning of database partition maps
CN100533437C (zh) 将数据库从源计算机系统复制到目标计算机系统的方法
CN103106152B (zh) 基于层次存储介质的数据调度方法
JP3851272B2 (ja) ステートフル・プログラム・エンティティの作業負荷管理
JP5765416B2 (ja) 分散ストレージシステムおよび方法
US9430264B2 (en) System and method for managing resources in virtualized environment based on resource state information and policy information
US7650331B1 (en) System and method for efficient large-scale data processing
CN101382953B (zh) 在用户空间访问文件系统的接口系统与文件读、写方法
JP6652646B2 (ja) 選択的リソースマイグレーションを用いるネットワーク接続型メモリ
CN102142024A (zh) 在分布式数据库中使用递增捕捉来进行逻辑数据备份和回退
US20090265305A1 (en) Partial Indexes for Multi-Node Database
CN102360314A (zh) 一种数据中心资源管理系统和方法
JP2003296171A (ja) 電子帳票管理方法及びプログラム
CN109885642B (zh) 面向全文检索的分级存储方法及装置
CN101770412A (zh) 一种连续数据缓存系统及其数据缓存方法
CN101290590A (zh) 一种嵌入式操作系统中切换任务的方法和单元
CN115083538B (zh) 一种药物数据的处理系统、运行方法及数据处理方法
CN103384882A (zh) 在服务器的共享组中管理使用权的方法
WO2013153029A1 (en) Method and system for managing and processing data in a distributed computing platform
Babu et al. Dynamic colocation algorithm for Hadoop
US9875120B2 (en) Virtualized components in computing systems
CN113254437A (zh) 一种批处理作业处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170120

Address after: Kolding road high tech Zone of Suzhou City, Jiangsu Province, No. 78 215163

Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY CO., LTD.

Patentee after: China Mobile Communications Co., Ltd.

Patentee after: China Mobile Communications Corp.

Address before: 100032 Beijing Finance Street, No. 29, Xicheng District

Patentee before: China Mobile Communications Corp.