平码五不中公式规律
  • / 18
  • 下载费用:30 金币  

动态碎片分配调整.pdf

关 键 ?#21097;?/dt>
动态 碎片 分配 调整
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580033526.2

申请日:

2015.07.06

公开号:

CN106663028A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 著录事项变更IPC(主分类):G06F 9/48变更事项:申请人变更前:谷歌公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||实质审查的生效IPC(主分类):G06F 9/48申请日:20150706|||公开
IPC分类号: G06F9/48 主分类号: G06F9/48
申请人: 谷歌公司
发明人: J.S.赫维茨; E.R.基尔皮肖夫; J.普杰西瓦克-格尔博维克; K.J.戈德曼
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.07.09 US 14/327,338
专利代理机构: ?#26412;?#24066;柳沈律师事务所 11105 代理人: 邵亚丽
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580033526.2

授权公告号:

||||||

法律状态公告日:

2018.03.20|||2017.06.06|||2017.05.10

法律状态类型:

著录事项变更|||实质审查的生效|||公开

摘要

本公开涉及在并行处理操作期间动态调整碎片分配。一种示例方法包括确定由多个任务执行的输入数据集的批量数据处理作业的目标完成时间,多个任务的每个处理不同的输入碎片,不同的输入碎片包括输入数据集的不同部分;识别估计的完成时间大于批量数据处理作业的目标完成时间的第一任务;以及将第一输入碎片分裂成第一分裂输入碎片和不同于第一分裂输入碎片的第二分裂输入碎片,第一分裂输入碎片包括第一输入碎片的第一部分,并?#19994;?#20108;分裂输入碎片包括不同于第一部分的第一输入碎片的第二部分。

权利要求书

1.一种由一个或多个处理器执行的计算机实现的方法,该方法包括:
确定输入数据集的批量数据处理作业的目标完成时间,批量数据处理作业由多个任务
执行,多个任务的每个处理不同的输入碎片,不同的输入碎片包括输入数据集的不同部分;
从多个任务中,识别第一任务,第一任务具有大于批量数据处理作业的目标完成时间
的估计完成时间,估计完成时间代表第一任务将完成处理由第一任务处理的第一输入碎片
处的输入数据集的该部分的估计时间;以及
将第一输入碎片分裂成第一分裂输入碎片和不同于第一分裂输入碎片的第二分裂输
入碎片,第一分裂输入碎片包括第一输入碎片的第一部分,并?#19994;?#20108;分裂输入碎片包括不
同于第一部分的第一输入碎片的第二部分。
2.根据权利要求1所述的方法,还包括:
指派第一分裂输入碎片由第二任务处理;以及
将第二分裂输入碎片插入到未指派的碎片的池中以等待由可用的任务处理。
3.根据权利要求2所述的方法,其中第二任务是第一任务并?#19994;?#19977;任务是与批量数据
处理作业相关联的空闲任务。
4.根据权利要求1所述的方法,还包括:
识别批量数据处理作业已经进入尾声状态,在尾声状态中,与输入数据集相关联的所
有碎片正在由任务处理并且存在与批量处理作业相关联的至少一个空闲任务,其中在识别
批量数据处理作业已经进入尾声状态之后,执行识别第一任务和分裂第一输入碎片。
5.根据权利要求1所述的方法,其中多个任务的每个包括估计完成时间,估计完成时间
代表任务将完成处理它的输入碎片的估计时间。
6.根据权利要求5所述的方法,其中至少部分地基于批量数据处理作业的多个任务的
估计完成时间而确定目标完成时间。
7.根据权利要求5所述的方法,还包括至少部分地基于下面的至少一个,确定多个任务
的每个的估计完成时间:对于多个任务的每个、剩余将要处理的输入碎片的一部分的大小,
对于已经关于多个任务的每个而处理的输入碎片的一部分、与多个任务的每个相关联的处
理速?#21097;?#25110;者对于关于多个任务的每个在时间窗口内处理的输入碎片的一部分、与多个任
务的每个相关联的近期处理速率。
8.根据权利要求1所述的方法,其中基于下面的至少一个确定目标完成时间:与批量数
据处理作业相关联的历史信息,或者与其他批量数据处理作业相关联的历史信息。
9.根据权利要求1所述的方法,其中目标完成时间是由批量数据处理作业的管理员指
定用于结束批量数据处理作业的截止时间。
10.根据权利要求1所述的方法,其中识别第一任务和分裂第一输入碎片由第一任务本
身执行。
11.根据权利要求10所述的方法,其中识别第一任务包括:
由第一任务从与批量数据处理作业相关联的监管器处理接收目标完成时间;以及
由第一任务比较目标完成时间与估计完成时间以确定在目标完成时间之前第一任务
将不会完成。
12.根据权利要求11所述的方法,其中分裂第一任务包括:
由第一任务将在目标完成时间之前第一任务将不能够处理的第一输入碎片的一部分
的指示发?#36879;?#30417;管器处理;以及
由监管器处理将第一输入碎片的该部分指派给空闲任务进行处理。
13.根据权利要求1所述的方法,其中确定批量数据处理作业的目标完成时间包括计算
多个任务的估计完成时间以及与批量数据处理作业相关联的一个或多个空闲任务的估计
完成时间的平均,其中一个或多个空闲任务的估计完成时间具有值0。
14.一种存储指令的非临时性、计算机可读介?#21097;?#24403;执行时指令可操作以使得至少一个
处理器执行操作,包括:
确定输入数据集的批量数据处理作业的目标完成时间,批量数据处理作业由多个任务
执行,多个任务的每个处理不同的输入碎片,不同的输入碎片包括输入数据集的不同部分;
从多个任务中,识别第一任务,第一任务具有大于批量数据处理作业的目标完成时间
的估计完成时间,估计完成时间代表第一任务将完成处理由第一任务处理的第一输入碎片
处的输入数据集的该部分的估计时间;以及
将第一输入碎片分裂成第一分裂输入碎片和不同于第一分裂输入碎片的第二分裂输
入碎片,第一分裂输入碎片包括第一输入碎片的第一部分,并?#19994;?#20108;分裂输入碎片包括不
同于第一部分的第一输入碎片的第二部分。
15.根据权利要求14所述的计算机可读介?#21097;?#36824;包括:
指派第一分裂输入碎片由第二任务处理;以及
将第二分裂输入碎片插入到未指派的碎片的池中以等待由可用的任务处理。
16.根据权利要求15所述的计算机可读介?#21097;?#20854;中第二任务是第一任务并?#19994;?#19977;任务
是与批量数据处理作业相关联的空闲任务。
17.根据权利要求14所述的计算机可读介?#21097;?#25805;作还包括:
识别批量数据处理作业已经进入尾声状态,在尾声状态中,与输入数据集相关联的所
有碎片正在由任务处理并且存在与批量处理作业相关联的至少一个空闲任务,其中在识别
批量数据处理作业已经进入尾声状态之后,执行识别第一任务和分裂第一输入碎片。
18.根据权利要求14所述的计算机可读介?#21097;?#20854;中多个任务的每个包括估计完成时间,
估计完成时间代表任务将完成处理它的输入碎片的估计时间。
19.根据权利要求18所述的计算机可读介?#21097;?#20854;中至少部分地基于批量数据处理作业
的多个任务的估计完成时间而确定目标完成时间。
20.一种系统,包括:
存储器,用于存储数据;以及
一个或多个处理器,可操作以执行操作,包括:
确定输入数据集的批量数据处理作业的目标完成时间,批量数据处理作业由多个任务
执行,多个任务的每个处理不同的输入碎片,不同的输入碎片包括输入数据集的不同部分;
从多个任务中,识别第一任务,第一任务具有大于批量数据处理作业的目标完成时间
的估计完成时间,估计完成时间代表第一任务将完成处理由第一任务处理的第一输入碎片
处的输入数据集的该部分的估计时间;以及
将第一输入碎片分裂成第一分裂输入碎片和不同于第一分裂输入碎片的第二分裂输
入碎片,第一分裂输入碎片包括第一输入碎片的第一部分,并?#19994;?#20108;分裂输入碎片包括不
同于第一部分的第一输入碎片的第二部分。

说明书

动态碎片分配调整

背景技术

大规模数据处理可以包括并行处理,其通常涉及同时在大数据集的每个元素上执
行一些操作。数据集可以分裂成?#38386;?#30340;集合,称作“碎片?#20445;?#24182;且由单独的处理和/或设备并
行处理。

发明内容

本公开涉及在并行处理操作期间动态调整碎片分配。

一般来说,在本说明书中描述的主题的一个革新方面能够在方法中实施,方法包
括下面的动作:确定输入数据集的批量数据处理作业的目标完成时间,批量数据处理作业
由多个任务执行,多个任务的每个处理不同的输入碎片,不同的输入碎片包括输入数据集
的不同部分;从多个任务中,识别具有大于批量数据处理作业的目标完成时间的估计的完
成时间的第一任务,估计的完成时间代表第一任务将完成处理由第一任务处理的第一输入
碎片处的输入数据集的该部分的估计时间;以及将第一输入碎片分裂成第一分裂输入碎片
和不同于第一分裂输入碎片的第二分裂输入碎片,第一分裂输入碎片包括第一输入碎片的
第一部分,并?#19994;?#20108;分裂输入碎片包括不同于第一部分的第一输入碎片的第二部分。

该方面的其他实施例包括相应的系统、装置以及编码在计算机存储设备上、被配
置为执行方法的动作的计算机程序。

能够实现在该说明书中描述的主题的特定实施例以实现下面的优点的一个或多
个。通过在处理作业期间动态地适配碎片分配,可以更好地优化碎片分配,因为关于每个特
定碎片的更多信息可用,诸如它的大小、复杂度、平均处理速率或者其他信息。以这种方式
适配碎片分配也?#24066;?#20998;配响应观察到的条件而改变,诸如任务(例如,计算资源)处理碎片
比预期更慢或者另外的处理资源正在变?#27599;?#29992;。

在该说明书中描述的主题的一个或多个实施例的?#38468;?#22312;下面的附随附图和描述
中陈述。主题的其他特征、方面和优点将?#29992;?#36848;、附图和权利要求书中变得明白。

附图说明

图1是在并行处理操作期间动态调整碎片分配能够发生的环境的框图。

图2A-2B是在碎片分裂之前和之后的系统配置的框图。

图3是在并行处理操作期间动态调整碎片分配的示例处理的顺序图。

图4是在并行处理操作期间动态调整碎片分配的示例处理的流程图。

图5是示例计算设备的框图。

在各种附图中相同的附图标记和名称指示相同的元素。

具体实施方式

大规模并行数据处理应用必须分发大的输入数据集用于由任务池(例如,计算资
源)进行处理。这可以通过将输入数据集划分成?#38386;?#30340;集合或者“碎片?#20445;?#24182;且将碎片指派给
可用的任务来执行。在涉及异质性输入数据集、任务执行环境、网络条件或者其他变化因素
的情况下,可能难以均匀地划分输入数据集,使得每个任务在相似量的时间内处理它的被
指派的碎片。大相径庭的碎片处理时间可以导致比其他碎片花费更长时间进行处理的“落
后者”碎片。如果特定作业在完成之前需要所有碎片被处理,那么落后者碎片可以主导该特
定作业的总体运行时间。而且,如果任务的计算结果没有提交到诸如远程磁盘这样的永久
存储器,那么落后者碎片可能是成问题的。因为前述异质性,输入数据集的特定区段可能处
理起来非常慢或者可能包含比预期的更多的记录。如果处理该碎片的任务在输出持久化之
前失败,那么所有的进展可能丢失。如果系统等待直到在提交工作之前处理整个碎片,那么
大量的工作可能需要重做。大的碎片大小可以加剧这种问题。

小的碎片大小也引入问题,诸如与指派和管理更大量的碎片有关的另外的开销,
以及当处理时任务需要寻?#19994;?#27599;个碎片的开始而不是顺序地读取较大的碎片。

因此,本公开描述在并行处理操作期间动态调整碎片分配的技术。一个示例包括
未认领碎片的中央储存库、任务池和监管器。最初,监管器将输入数据集分割成足够的碎片
使得每个任务忙碌。然后每个任务监控它自己的进展同时处理它的碎片。基于每个任务观
察到的内容,它发布关于它将什么时候完成它的碎片的处理的估计。监管器观察这些估计。
如果不存在剩余的未认领的碎片并且至少一个任务不忙碌,那么并行处理操作已经进入
“尾声”状态。在一些情况下,当这发生时,假定完美的碎片切分/负载均衡,监管器基于来自
任务的发布的估计来估计作业什么时候应当结束。该估计对应于每个任务同时结束,并且
可以是每个任务的估计的剩余时间的平均,将空闲任务的剩余时间计为零。监管器将关于
操作什么时候应当完成的该估计(“截止时间”或者“目标完成时间”)发布给任务。在一些情
况下,监管器可以(而不是当操作进入尾声状态时或者除?#35828;?#25805;作进入尾声状态时之外还)
遍及执行而提供周期性的估计。

当接收到目标完成时间时,每个任务估计在目标完成时间之前能够处理它的碎片
的多少。如果任务能够在目标完成时间之前完成处理,那么它继续照常处理。如果不能,那
么任务估计在目标完成时间之前它能够处理碎片的多少。例如,任务可以假定它的平均处
理速率将保持恒定。基于该估计,任务将它的碎片分裂成前缀和后缀。前缀包含在目标完成
日期之前任务期望完成的碎片的部分。后缀包含任务不期望完成的部分。任务将后缀返回
给监管器。空闲任务然后从返回的后缀中认领碎片进行处理。注意,操作能够在执行期间进
入和?#39034;?#35813;“尾声”状态多次,并且发布估计的完成时间以及任务分裂的循环能够在执行期
间发生多次。

另一个示例方法包括确定由多个任务执行的输入数据集的批量数据处理作业的
目标完成时间。多个任务的每个处理代表输入数据集的不同部分的输入碎片。从多个任务
中,处理第一输入碎片的第一任务被识别具有比批量数据处理作业的目标完成时间大的估
计完成时间。作为响应,第一输入碎片被分裂成多个不同的输入碎片,每个包括第一输入碎
片的一部分。然后可以将不同的输入碎片指派给不同的任务来完成。

这些特征和另外的特征将在下面更详细地描述。

图1是在并行处理操作期间动态调整碎片分配能够发生的环境100的框图。如所
示,环境100包括并行处理操作101,并行处理操作101包括处理多个碎片104a-n的多个任务
102a-n。并行处理操作101由监管器108监管。在操作中,输入数据集110分裂成碎片104a-n
以便由任务102a-n处理。任务102a-n处理碎片104a-n以产生输出数据集112。

环境100包括并行处理操作101。在一些实现方式中,并行处理操作101可以是任何
类型的分布式处理应用,诸如,例如,?#25104;?#35268;约、管线、分布式查询或者另一种类型的应用。
并行处理操作101可以被配置为跨越通过经由网络通信而连接的一个或多个服务器而执
行。在一些情况下,除了被描绘为将输入数据集110分裂成碎片104a-n用于由任务102a-n处
理的那些之外,并行处理操作101还可以包括另外的组件。在一些情况下,监管器108可以执
行该操作。任务102a-n?#37096;?#20197;执行分裂操作。

并行处理操作101包括任务102a-n。在操作中,任务102a-n处理相关联的碎片
104a-n。在一些情况下,任务102a-n可以每个在各个碎片104a-n上执行相同的处理操作。任
务102a-n可以是在一个或多个服务器上执行的软件处理。在一些情况下,任务102a线程可
以包括不同类型的组件,诸如,例如,?#25104;?#22120;、规?#35745;?reducer)、置乱器(shuffler)、组合
器、管线对象或者其他类型的组件。

监管器108通过与任务102a-n通信来监管并行处理操作101。在一些实现方式中,
监管器108是在服务器或者服务器的集合上执行的软件处理或者软件处理的集合。监管器
108可以经由网络(未示出)与任务102a-n通信。通信可以包括状态信息从任务102a-n到监
管器108的交换。通信?#37096;?#20197;包括来自监管器108、关于并行处理操作101的统计的指示,诸
如目标完成时间(下面?#33268;?。在一些情况下,监管器108可以控制任务102a-n的操作,诸如,
例如,暂停任务102a-n、继续进行任务102a-n、将碎片指派给任务102a-n、分裂任务102a-n
或者其他操作。

如所示,并行处理操作101处理输入数据集110。输入数据集110可以包括结构化或
者非结构化数据(诸如,例如,键值对、文件、数据库行、数据库列或者其他类型的数据)的任
何组合。类似地,由并行处理操作101产生的输出数据集112可以包括结构化或者非结构化
数据(诸如,例如,键值对、文件、数据库行、数据库列或者其他类型的数据)的任何组合。在
一些情况下,包括在输出数据集112中的数据的类型可以与包括在输入数据集110中的数据
的类型相同。输出数据集112?#37096;?#20197;是与输入数据集110不同的类型。在一些实现方式中,诸
如,例如,对于执行关于输入数据集110中的每个记录的操作(例如,数据库更新)的操作,并
行处理操作101可以不产生输出数据集。

图2A-B是在碎片分裂之前(200)和之后(210)的系统配置的框图。如图2A中所示,
监管器202与一个或多个任务204a-c通信。任务204a-c处理一个或多个碎片206a-c。在208,
任务204a-c将它们各自的估计完成时间通信至监管器202。例如,任务204a将估计完成时间
4分钟通信至监管器202。任务204b将估计完成时间3分钟通信至监管器202。任务204c将估
计完成时间13分钟通信至监管器202。如所示,任务212在配置200中是空闲的(亦即,没有处
理碎片)。因为存在空闲任务(212)并且没有碎片还要被分派,所以图2A中所示的作业处于
尾声状态。

作为接收来自任务204a-c的估计完成时间的响应,在209,监管器202确定与任务
204a-c相关联的并行处理操作的目标完成时间。在该情况下,监管器202确定目标完成时间
是5分钟。监管器202可以通过将每个任务204a-c以及空闲任务212的估计完成时间取平均
来确定目标完成时间,空闲任务212可以看作具有完成时间0。在一些情况下,监管器202可
以基于关于包括任务204a-c和212的并行处理操作而指定的目标完成时间,诸如由并行处
理操作的管理员指定的截止时间,来确定目标完成时间。在一些实现方式中,目标完成时间
代表假定任务204a-c同时完成,并行处理操作的预期完成时间。目标完成时间?#37096;?#20197;代表
任务240a-c和212的报告的完成时间的加权平均。目标完成时间?#37096;?#20197;由监管器202根据其
他过程或算法确定。

在一些情况下,208和209处任务204a-c和212以及监管器202之间的通信经由网络
(未示出)发生。通信可以根据一个或多个联网协议执行,诸如,例如,超文本传输协议
(HTTP)、简单网络管理协议(SNMP)、远程过程调用(RPC)或者其他协议。

图2B示出碎片206c分裂之后的系统配置210。在操作中,任务204c可以接收来自监
管器202的目标完成时间。任务204c可以比较目标完成时间5分钟和它的估计完成时间13分
钟,并且确定在目标完成时间之前它将不会结束处理碎片206c。作为响应,任务204c可以将
碎片206c分裂成分裂碎片214a-b,每个包含碎片206c的一部分。任务204c可以继续处理分
裂碎片214a。分裂碎片214b可以由(先前空闲的)任务212处理。在一些情况下,分裂碎片
214b可以由任务204c发?#36879;?#30417;管器202。监管器202然后可以将碎片214b指派给任务212。监
管器202?#37096;?#20197;将分裂碎片214b放置到诸如任务212这样的空闲任务可以领取分裂碎片
214b进行处理的位置。在一些情况下,该碎片分裂可以由监管器202,诸如通过发?#36879;?#20219;务
204c的消息而发起。虽然图2B示出碎片206c分裂成两个新的碎片,但是在一些情况下,碎片
206c可以分裂成多于两个碎片。

图3是在并行处理操作期间动态调整碎片分配的示例处理300的顺序图。图3提供
关于图2A-B中示出的操作的更多?#38468;凇?#22312;305,任务204a将它的估计完成时间(4分钟)发送
给监管器202。在310,任务204b将它的估计完成时间(3分钟)发?#36879;?#30417;管器202。在315,任务
204c将它的估计完成时间(13分钟)发?#36879;?#30417;管器202。在一些情况下,该通信可以如关于图
2A-B描述的而发生。在320,监管器202基于来自任务204a-c的估计完成时间确定目标完成
时间。再次,可以如关于图2A-B描述的,计算目标完成时间。在325-335,监管器202将目标完
成时间(5分钟)发?#36879;?#20219;务204a-c。该通信可以如关于图2A-B描述的而发生。

在340,任务204c确定它的估计完成时间(13分钟)大于它从监管器202接收的目标
完成时间(5分钟)。作为响应,任务204c分裂它的相关联的碎片206c(345)。在350,任务204c
将分裂碎片214b发?#36879;?#30417;管器202。在355,任务204c继续处理分裂碎片214a。在360,监管器
202将碎片214b指派给任务212。

图4是在并行处理操作期间动态调整碎片分配的示例处理400的流程图。在405,确
定输入数据集的批量数据处理作业的目标完成时间。批量数据处理作业可以由多个任务执
行,每个任务处理包括输入数据集的不同部分的输入碎片。

在410,从多个任务中识别具有大于批量处理作业的目标完成时间的估计完成时
间的第一任务。在一些情况下,目标完成时间是由批量数据处理作业的管理员指定用于结
束批量数据处理作业的截止时间。第一任务的估计完成时间代表第一任务将完成处理由第
一任务处理的第一输入碎片处的输入数据集的该部分的估计时间。在一些情况下,多个任
务的每个包括估计完成时间,估计完成时间代表任务将完成处理它的输入碎片的估计时
间,并且目标完成时间是批量数据处理作业的多个任务的估计完成时间的平均。在一些情
况下,可以考虑与批量数据处理作业相关联的空闲任务,诸如,例如,通过将估计完成时间
零指派到那些任务来确定估计完成时间。可以至少部分地基于下面来确定多个任务的每个
的估计完成时间,即对于多个任务的每个、剩余将要处理的输入碎片的一部分的大小,对于
已经关于多个任务的每个而处理的输入碎片的一部分、与多个任务的每个相关联的处理速
?#21097;?#25110;者对于关于多个任务的每个在时间窗口内处理的输入碎片的一部分、与多个任务的
每个相关联的近期处理速?#21097;?#25110;者其他信息。

在415,第一输入碎片分裂成第一分裂输入碎片以及第二、不同的分裂输入碎片。
分裂输入碎片的每个包括第一输入碎片的不同部分。在一些情况下,指派第一分裂输入碎
片由第二任务处理,并且指派第二分裂输入碎片由不同于第二任务的第三任务处理。在一
些实现方式中,第二任务是第一任务,并?#19994;?#19977;任务是与批量数据处理作业相关联的空闲
任务。

在一些情况下,识别第一任务以及分裂第一输入碎片由第一任务自身执行。在这
种情况下,第一任务可以从与批量数据处理作业相关联的监管器处理接收目标完成时间,
并且将它与它的估计完成时间相比较以确定在目标完成时间之前它将不会完成。第一任务
可以将在目标完成时间之前第一任务将不能处理的第一输入碎片的一部分的指示发?#36879;?br />监管器处理,并且作为响应,监管器处理可以将第一输入碎片的该部分指派给空闲任务进
行处理。识别第一任务并且分裂第一输入碎片?#37096;?#20197;由监管器处理执行。

在一些情况下,方法400包括识别批量数据处理作业已经进入尾声状态,在尾声状
态中,与输入数据集相关联的所有未完成的碎片都正在由任务处理并且存在可用来处理碎
片的空闲任务。在这种情况下,可以在识别批量数据处理作业已经进入尾声状态之后执行
识别第一任务和分裂第一输入碎片。

图5是可以作为客户端或者作为服务器或者多个服务器,用?#35789;?#29616;在本文献中描
述的系统和方法的计算设备500、550的框图。计算设备500旨在代表各种形式的数字计算
机,诸如笔记本电脑、台式机、工作站、个人数?#31181;?#29702;、服务器、刀片服务器、大型机或者其他
适当的计算机。计算设备550旨在代表各种形式的移动设备,诸如个人数?#31181;?#29702;、蜂窝式电
话、智能电话以及其他类似的计算设备。另外,计算设备500或者550能够包括通用串行总线
(USB)闪存驱动器。USB闪存驱动器可以存储操作系统和其他应用。USB闪存驱动器能够包括
输入/输出组件,诸如无线收发器或者可以插入另一个计算设备的USB端口中的USB连接器。
这里示出的组件、它们的连接和关系以及它们的功能意在仅是示例性的,并且不意在限制
在本文献中描述和/或要求保护的本发明的实现方式。

计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504和高速
扩展端口510的高速接口508以及连接到低速总线514和存储设备506的低速接口512。组件
502、504、506、508、510和512的每个使用各种总线互连,并且可以安装在常见的主板上或者
在适当的情况下以其他方式安装。处理器502能够处理在计算设备500内执行的指令,包括
存储在存储器504中或者存储设备506上、在诸如耦合到高速接口508的显示器516这样的外
部输入/输出设备上显示用于GUI的图形信息的指令。在其他实现方式中,在适当的情况下,
可以连同多个存储器以及多种类型的存储器使用多个处理器和/或多个总线。而且,可以连
接多个计算设备500,每个设备提供必要操作的部分(例如,作为服务器库、一组刀片服务器
或者多处理器系统)。

存储器504存储计算设备500内的信息。在一种实现方式中,存储器504是一个或多
个?#36164;源?#20648;单元。在另一种实现方式中,存储器504是一个或多个?#19988;资源?#20648;单元。存
储器504?#37096;?#20197;是诸如磁盘或者光盘这样的另一种形式的计算机可读介质。

存储设备506能够为计算设备500提供海量存储。在一种实现方式中,存储设备506
可以是或者包含计算机可读介?#21097;?#35832;如软盘设备、硬盘设备、光盘设备或者磁带设备、闪存
或者其他类似的固态存储设备、或者设备阵列,包括在存储区域网或者其他配置中的设备。
计算机程序产品能够在信息载体中?#34892;?#22320;实施。计算机程序产品?#37096;?#20197;包含当执行时,执
行诸如上面描述的那些的一个或多个方法的指令。信息载体是计算机或者机器可读介?#21097;?br />诸如存储器504、存储设备506或者处理器502上的存储器。

高速接口508为计算设备500管理带宽密集型操作,而低速接口512管理较低带宽
密集型操作。这种功能分配仅是示例性的。在一种实现方式中,高速接口508耦合到存储器
504、显示器516(例如,通过图形处理器或者加速器),以及耦合到可以接受各种扩展卡(未
示出)的高速扩展端口510。在该实现方式中,低速接口512耦合到存储设备506和低速扩展
端口514。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可
以耦合到一个或多个输入/输出设备,诸如键盘、指点设备、扫描仪,或者例如通过网络适配
器耦合到诸如交换机或路由器这样的联网设备。

计算设备500可以以许多不同的形式实现,如在图中所示。例如,它可以作为标准
服务器520实现,或者在一组这种服务器中实现多次。它?#37096;?#20197;作为机架服务器系统524的
部分而实现。另外,它可以在诸如笔记本电脑522这样的个人计算机中实现。作为替换,来自
计算设备500的组件可以与诸如设备550这样的移动设备(未示出)中的其他组件组合。这种
设备的每个可以包含计算设备500、550的一个或多个,并且整个系统可以由彼?#36865;?#20449;的多
个计算设备500、550构成。

除了别的组件之外,计算设备550包括处理器552、存储器564、诸如显示器554这样
的输入/输出设备、通信接口566以及收发器568。设备550?#37096;?#20197;提供有诸如微型硬盘这样
的存储设备或者其他设备来提供另外的存储。组件550、552、564、554、566和568的每个使用
各种总线互连,并且组件的几个可以安装在常见的主板上或者在适当的情况下以其他方式
安装。

处理器552能够执行计算设备550内的指令,包括存储在存储器564中的指令。处理
器可以作为包括单独的以及多个模拟和数字处理器的芯片的芯片集实现。另外,处理器可
以使用许多体?#21040;?#26500;的任何?#35789;?#29616;。例如,处理器552可以是CISC(复杂指令集计算机)处理
器、RISC(精简指令集计算机)处理器、或者MISC(最小指令集计算机)处理器。处理器可以提
供例如设备550的其他组件的协同,诸如用户接口的控制、由设备550运行的应用以及设备
550的无线通信。

处理器552可以通过控制接口558以及耦合到显示器554的显示接口556与用户通
信。显示器554可以是,例如,TFT(薄膜晶体管液晶显示器)显示器或者OLED(有机发光二极
管)显示器或者其他适当的显示技术。显示接口556可以包括用于驱动显示器554将图形和
其他信息展示给用户的适当的电路系统。控制接口558可以接收来自用户的命令并且转换
它们用于提交给处理器552。另外,可以提供外部接口562与处理器552通信,以便使得设备
550能够与其他设备进行附近区域通信。在一些实现方式中,外部接口562可以提供例如有
线通信,或者在其他实现方式中,提供无线通信,并且?#37096;?#20197;使用多个接口。

存储器564存储计算设备550内的信息。存储器564能够作为一个或多个计算机可
读介质、一个或多个?#36164;源?#20648;单元或者一个或多个?#19988;资源?#20648;单元的一个或多个实
现。?#37096;?#20197;提供扩展存储器574并且扩展存储器574通过扩展接口572连接到设备550,扩展
接口572可以包括例如SIMM(单列直插存储模块)卡接口。这种扩展存储器574可以为设备
550提供额外的存储空间,或者?#37096;?#20197;为设备550存储应用或者其他信息。具体地,扩展存储
器574可以包括执行或者补充上面描述的处理的指令,并且?#37096;?#20197;包括安全信息。因此,例
如,扩展存储器574可以提供作为设备550的安全模块,并且可以使用?#24066;?#35774;备550的安全使
用的指令进行编程。另外,安全应?#27599;?#20197;经由SIMM卡,连同另外的信息一起提供,诸如以不
可非法入侵的方式将识别信息放置在SIMM卡上。

如下面所?#33268;?#30340;,存储器564可以包括,例如,闪存和/或NVRAM存储器。在一种实现
方式中,计算机程序产品在信息载体中?#34892;?#22320;实施。计算机程序产品包含当执行时,执行诸
如上面描述的那些的一个或多个方法的指令。信息载体是可以例如经由收发器568或者外
部接口562接收的计算机或者机器可读介?#21097;?#35832;如存储器564、扩展存储器574或者处理器
552上的存储器。

设备550可以通过通信接口566无线地通信,在必要的情况下,通信接口566可以包
括数?#20013;?#21495;处理电路系统。通信接口566可以提供各种模式或者协议下的通信,其中诸如
GSM语音呼?#23567;MS、EMS或者MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS。这种
通信可以例如通过射频收发器568而发生。另外,近程通信可以诸如使用蓝牙、WiFi或者其
他这种收发器(未示出)而发生。另外,GPS(全球定位系统)接收器模块570可以提供另外的
导航以及位置相关的无线数据给设备550,这可以在适当的情况下由在设备550上运行的应
用使用。

设备550?#37096;?#20197;使用音频编码解码器560可听地通信,音频编码解码器560可以接
收来自用户的口头信息并且将它转换成可使用的数?#20013;?#24687;。音频编码解码器560可以诸如
通过例如在设备550的手?#21482;?#20013;的扬声器,类似地为用户生成可听的声音。这种声音可以包
括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且?#37096;?br />以包括由在设备550上操作的应用生成的声音。

计算设备550可以以许多不同的形式实现,如图中所示。例如,它可以作为蜂窝式
电话580实现。它?#37096;?#20197;作为智能电话582、个人数?#31181;?#29702;或者其他类似的移动设备的部分
而实现。

在各种实现方式中,如果先前的操作未成功(例如,如果没有执行确定),那么不执
行“响应”另一个操作或者“作为”另一个操作的“结果”(例如,确定或者识别)而执行的操
作。“自动”执行的操作是没有用户?#31245;?例如,?#31245;?#30340;用户输入)而执行的操作。本文献中使
用有条件的语言描述的特征可以描述可选的实现方式。在一些示例中,从第一设备“传输”
到第二设备包括第一设备将数据放置到网络中由第二设备接收,但是可以不包括第二设备
接收数据。相反地,从第一设备“接收”可以包括从网络接收数据,但是可以不包括第一设备
传输数据。

由计算系统“确定”能够包括计算系统请求另一个设备执行确定并且将结果提供
给计算系统。而且,由计算系统“显示”或者“展示”能够包括计算系统发送数据用于使得另
一个设备显示或者展示所引用的信息。

在该说明书中描述的主题和操作的实施例能够在数字电子电路系统,或者在计算
机软件、固件或者硬件中,包括在本说明书中公开的结构以及它们的结构等同物,或者它们
的一个或多个的组合中实现。在本说明书中描述的主题的实施例能够作为一个或多个计算
机程序,亦即,计算机程序指令的一个或多个模块实现,它们编码在计算机存储介质上用于
由数据处理装置执行或者控制数据处理装置的操作。作为替代或者另外地,程序指令能够
编码在人工生成的传播信号上,例如,机器生成的电气、光学或者电磁信号,生成该信号以
编码信息用于传输到适当的接收器设备,用于由数据处理装置执行。计算机存储介质能够
是计算机可读存储设备、计算器可读存储基板、随机或者串行存取存储阵列或者设备,或者
它们的一个或多个的组合,或者包括在其中。而且,当计算机存储介质不是传播信号时,计
算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的来源或目的地。计
算机存储介质也能够是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或者其他存
储设备),或者包括在其中。

在本说明书中描述的操作能够作为由数据处理装置在存储在一个或多个计算机
可读存储设备上或者从其他来源接收的数据上执行的操作?#35789;?#29616;。

术语“数据处理装置”包括用于处理数据的所有种类的装置、设备和机器,作为示
例包括可编程处理器、计算机、片上系统、或者前述的多个或者组合。装置能够包括专用逻
辑电路系统,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,装
置也能够包括为?#33268;?#20013;的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、
数据库管理系统、操作系统、跨平台运行环境、虚拟机或者它们的一个或多个的组合的代
码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和
网格计算基础设施。

计算机程序(也称作程序、软件、软件应用、脚本或者代码)能够以任何形式的编程
语言编写,包括编译或者解释语言、声明式或者过程式语言,并且它能够以任何形式部署,
包括作为独立程序或者作为模块、组件、子例程、对象或者适合于在计算环?#25345;?#20351;用的其他
单元。计算机程序可以,但是不需要,对应于文件系?#25345;?#30340;文件。程序能够存储在保存其他
程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在?#33268;?br />中的程序专用的单个文件中,或者在多个协同的文件中(例如,存储一个或多个模块、子程
序或者代码的部分的文件)。能够部署计算机程序在一个计算机上或者在位于一个场所或
者跨越多个场所而分布并且由通信网络互连的多个计算机上执行。

在本说明书中描述的处理和逻辑流程能够由一个或多个可编程处理器执行,一个
或多个可编程处理器执行一个或多个计算机程序以通过在输入数据上操作并且生成输出
来执行动作。处理和逻辑流程也能够由专用逻辑电路系统执行,并且装置也能够作为专用
逻辑电路系统而实现,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。

作为示例,适合于计算机程序的执行的处理器包括通用和专用微处理器两者,以
及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器
或者随机存取存储器或者二者的指令和数据。计算机的必需元件是用于根据指令执行动作
的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机也将包括,或者操
作地耦合以接收来自用于存储数据的一个或多个海量存储设备的数据或者传送数据到该
一个或多个海量存储设备,或者二者,海量存储设备例如磁性、磁光盘或者光盘。然而,计算
机不需要具有这种设备。而且,计算机能够在另一个设备中实施,例如,移动电话、个人数字
助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或者便携式存
储设备(例如,通用串行总线(USB)闪存驱动器),仅举几个例子。适合于存储计算机程序指
令和数据的设备包括所?#34892;?#24335;的?#19988;资源?#20648;器、介质和存储设备,作为示例,包括半导体
存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或者可移除磁盘;磁光盘;
以及CDROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路系统补充,或者合并在专用
逻辑电路系?#25345;小?br />

为了提供与用户的交互,在本说明书中描述的主题的实施例能够在计算机上实
现,计算机具有显示设备,例如,CRT(阴极射线管)或者LCD(液晶显示)监控器,用于显示信
息给用户,以及键盘和指点设备,例如,鼠标或轨迹球,由此用户能够提供输入到计算机。其
他种类的设备同样能够用来提供与用户的交互;例如,提供给用户的反馈能够是任何形式
的传感反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且来自用户的输入能够以任何形
式接收,包括声学、语音或者触觉输入。另外,计算机能够通过发送文档到由用户使用的设
备并且接收来自由用户使用的设备的文档与用户交互;例如,通过响应从网络浏览器接收
的请求,发送网页到用户的用户设备上的网络浏览器。

在本说明书中描述的主题的实施例能够在包括后端组件的计算系?#25345;校?#20363;如,作
为数据服务器,或者在包括中间件组件的计算系?#25345;校?#20363;如,作为应用服务器,或者在包括
前端组件的计算系?#25345;校?#20363;如,作为具有图形用户界面或者网络浏览器的用户计算机,通过
图形用户界面或者网络浏览器,用户能够与在本说明书中描述的主题的实现方式交互,或
者一个或多个这种后端、中间件或者前端组件的任何组合而实现。系统的组件能够通过任
何形式或介质的数字数据通信,例如通信网络互连。通信网络的示例包括?#38047;?#32593;(“LAN”)和
广域网(“WAN”)、互联网络(例如,因特网)以及对等网络(例如,自组织对等网络)。

计算系统能够包括用户和服务器。用户和服务器通常?#29420;?#24444;此并?#19994;?#22411;地通过通
信网络交互。用户和服务器的关?#21040;?#21161;于在各自的计算机上运行并且具有到彼此的用户-
服务器关系的计算机程序而出现。在一些实施例中,服务器将数据(例如,HTML页面)传输到
用户设备(例如,为了显示数据给与用户设备交互的用户以及接收来自该用户的用户输
入)。在用户设备处生成的数据(例如,用户交互的结果)能够从服务器处的用户设备接收。

虽然本说明书包含许多具体的实现?#38468;冢?#20294;是这些不应当解释为对于任何发明的
?#27573;?#25110;者可以要求保护的内容的限制,而是解释为针对特定发明的特定实施例的特征的描
述。在单独的实施例的上下文中在本说明书中描述的某些特征也能够在单个实施例中组合
实现。相反地,在单个实施例的上下文中描述的各种特征也能够单独地或者以任何适当的
子组合在多个实施例中实现。而且,虽然特征可以在上面描述为在某些组合中起作用,并且
甚至最初如此要求,但是来?#36816;?#35201;求保护的组合的一个或多个特征在某些情况下能够从组
合中去除,并且所要求保护的组合可以指向子组合或者子组合的变型。

类似地,虽然操作在附图中以特定的次序描绘,但是这不应当理解为需要这种操
作以所示的特定次序或者以顺序的次序执行,或者需要执行所有例示的操作,以实现期望
的结果。在某些情况下,多任务和并行处理可以是有利的。而且,在上面描述的实施例中各
种系统组件的分离不应当理解为在所有实施例?#34892;?#35201;这种分离,并且应当理解,所描述的
程序组件和系统能够通常在单个软件产?#20998;?#38598;成在一起或者封装到多个软件产?#20998;小?br />

因此,已经描述了主题的特定实施例。其他实施例在下面的权利要求的?#27573;?#20869;。在
一些情况下,在权利要求书?#34892;?#36848;的动作能够以不同的次序执行并且?#21248;?#23454;现期望的结
果。另外,在附图中描绘的处理不一定需要所示的特定次序,或者顺序的次序,以实现期望
的结果。在某些实现方式中,多任务和并行处理可以是有利的。

关于本文
本文标题:动态碎片分配调整.pdf
链接地址:http://www.pqiex.tw/p-6091827.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 g高博国际娱乐官网 极速杰克游戏 福彩3d图谜字谜汇总九 亚盘分析技巧 uu加速器下载 万购彩合法 类似免费赚钱中心 双色球19087预测号码 彩票app大全 有哪些手机视频可以赚钱的app软件下载