CN103970671B - 用于在存储器中分配管理数据集的系统和方法 - Google Patents
用于在存储器中分配管理数据集的系统和方法 Download PDFInfo
- Publication number
- CN103970671B CN103970671B CN201410041298.0A CN201410041298A CN103970671B CN 103970671 B CN103970671 B CN 103970671B CN 201410041298 A CN201410041298 A CN 201410041298A CN 103970671 B CN103970671 B CN 103970671B
- Authority
- CN
- China
- Prior art keywords
- space
- managed
- data set
- memory space
- volume
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种在第二被管理空间中分配用于在第一被管理空间中的数据集的附加请求存储空间的系统和方法。接收用于在所述存储器的第一管理空间中的所请求的数据集的对附加存储空间的请求。修正量的存储空间至少包括当前被分配给第一被管理空间中的所请求数据集的空间量以及所请求附加存储空间。如果所述修正量的存储空间超过所述值,在所述存储器的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间。将所述数据集存储在第二被管理空间中的所分配存储空间中。
Description
技术领域
本发明涉及一种用于在第二管理空间中分配用于第一管理空间中的数据集的附加请求存储空间的计算机程序产品、系统以及方法。
背景技术
在某种计算机环境中,多个主机系统可以在诸如互联存储设备的存储系统中配置的容积中配置数据集,该互联存储设备例如直接访问存储设备(DASD)、冗余独立磁盘阵列(RAID)、简单磁盘簇(JBOD)等等。数据集由一些盘区(extent)构成,这些盘区可以包括任何聚集的轨道和数据存储单元。国际商用机器公司的操作系统采用卷目录表(VTOC)来提供关于配置在卷中的盘区的数据集的信息,其中VTOC表示用于存储器中卷的轨道的位置、盘区以及数据集。对于虚拟存储访问方法(VSAM)数据集,操作系统提供存储在数据集中的VSAM卷数据集(VVDS),以便提供关于VSM关键字序列数据集的信息。(Z/OS是IBM在美国或其它国家的注册商标)。
某些卷可以配置为扩展地址卷(EAV),扩展地址卷被划分为磁道管理空间以及磁柱面管理空间(cylinder-managed space)。在磁道管理空间中,卷上的存储空间按照磁道和磁柱面管理,并且每个数据集占用整数倍磁道。磁道管理空间还存在于非-EAV卷中。在磁柱面管理空间中,卷中的数据仅仅在包括磁柱面的单元中被管理。断点值(BPV)可以用来确定对数据集的请求是否指向磁道管理空间或磁柱面管理空间,使得如果尺寸大于BPV,则系统优选磁柱面管理空间用于该盘区。该规则适用于针对适合于磁柱面管理空间的数据集的初级或次级空间的每个请求。如果磁柱面管理空间不足,则系统使用磁道管理空间或使用这两种类型的空间。当盘空间的尺寸小于所述断点值,则系统优选使用磁道管理空间。如果空间不足,则系统使用磁柱面管理空间或使用这两种类型的空间。
发明内容
本发明提供了一种用于在第二被管理空间中分配用于第一被管理空间中的数据集的附加被请求存储空间的计算机程序产品、系统和方法。接收对附加存储空间的请求以便分配给在存储器中的第一被管理空间中存储的所请求的数据集。确定用于所请求数据集的修正量的存储空间,该修正量的存储空间至少包括当前被分配给第一被管理空间中的所请求数据集的空间量以及所请求附加存储空间。确定所述修正量的存储空间是否超过一个值。响应于确定所述修正量的存储空间超过所述值,在所述存储器的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间。所述数据集存储在第二被管理空间中的所分配存储空间中。
附图说明
图1图释了计算环境的实施例。
图2图释了卷存储空间的实施例。
图3图释了卷表的实施例。
图4图释了数据集记录的实施例。
图5图释了目录项的实施例。
图6A和6B图释了处理对用于数据集的附加存储空间的请求的操作的实施例。
图7图释了处理数据集的关闭的操作的实施例。
图8图释了其中可以实现所述实施例的计算环境。
具体实施方式
所描述的实施例提供了用于在第二被管理空间中分配用于驻留第一被管理空间中的数据集的附加存储空间。与卷的第二被管理空间相比,第一被管理空间用于存储比较小的数据。如果当前分配的空间和附加请求空间超过一个值,则被用于确定是否将数据存储在第二被管理空间,随后在第二被管理空间中分配空间以便存储用于所述数据集的当前被分配的数据和被写入附加请求空间的数据。要写入的新数据可以按照第二被管理空间中的被分配存储中间中的一定偏移写入所述数据集中的预先存在数据将被存储的位置之后的位置。用于第一被管理空间中的数据集的该预先存在数据可以在随后的时间被迁移,诸如在数据集关闭以便不能进行对数据集的当前访问时。
图1图释了计算环境的实施例。控制单元2,诸如存储控制单元或服务器,通过主机(未示出)管理对存储器8中的卷6中的数据集4的访问。存储在存储器8中以及作为目录10a加载到控制单元2的目录10提供关于存储在被配置为存储器8中的存储空间的卷6中的数据集4的信息。数据集4包括用于将被存储在数据的同一逻辑位置中的数据的集合,诸如来自单一应用、用户、企业等的数据。数据集4可以由分离的文件或记录构成,或者包括单一文件或记录。数据集4可以包括索引(indexed)数据集,该索引数据集根据被用于在数据集4中定位记录的主关键词被编索引。数据集索引提供了每个索引数据集10的索引。例如,在IBM z/OS DFSMS实现中,数据集可以包括用于IBM虚拟存储访问方法(VSAM)存储的关键词排序数据集(KSDS),其中,KSDS数据集中的每个记录都具有用于在数据集4中定位记录的唯一关键词。
控制单元2包括卷管理器12,用于管理数据集4在卷6中的存储。
每个卷6包括卷表14,其具有卷6所具有的关于卷6的信息,包括磁轨以及磁轨的盘区与数据集4的映射。卷表14可以存储在卷6中,诸如在该卷的第一较少记录中,如在卷目录表(VTOC)中的情况一样,或者可以存储为卷6之外的元数据。控制单元2可以维持卷表14a的副本以便用来管理卷6中的数据集4。在z/OS实用中,卷表14可以包括关于数据集在卷6中的位置的信息,诸如数据集中的盘区与卷中的存储位置的映射。在替换实施例中,卷表14可以包括其他类型的文件分配数据结构,其提供数据与存储位置的映射,或者逻辑和/或物理存储位置。采用这种方式,卷表14提供数据与卷6中的数据集4的映射。卷表14可以包括用于每个卷6的卷表记录,包括卷名称和表示具有配置在卷6中的盘区的数据集的数据集记录。每个数据集记录可以具有用于卷6中的每个数据集4的信息,包括一个或多个分派给数据集4的一个或多个盘区。所述盘区提供了与卷6中的磁道的映射。目录10还可以包括关于分配到卷6的数据集4的附加信息,诸如分配尺寸。
存储器8可以包括一个或多个诸如互联的存储设备(例如配置为DASD、RAID、JBOD、虚拟设备等等)的已知存储设备,作为固态存储设备(SSD),由固态电子设备构成,诸如电可擦除可编程只读存储器(EEPROM)、闪存、闪盘、随机存取存储器(RAM)驱动器、存储级内存(SCM)等等、磁盘、光盘、磁带等等。
控制单元2经过连接器16与存储器8通讯,连接器16可以包括一个或多个网络,诸如局域网(LAN)、存储区域网(SAN),广域网(WAN)、端对端网、无线网络等等。或者,连接器16可以包括总线接口,诸如外设部件互连标准(PCI)总线或串行接口。操作系统4可以包括已知的适当操作系统,诸如国际商用机器公司操作系统。(IBM和z/OS是美国和外国IBM的商标)。
图2提供了卷存储空间6的实施例,配置为第一被管理空间30a和第二被管理空间30b。第一被管理空间30a可以用于存储尺寸小于断点值(BPV)尺寸的数据集4a而第二被管理空间30b可以用来存储尺短大于断点值尺寸的数据集4b。在一个实施例中,数据被分配在第一被管理空间30a中的第一存储单元中以及分配在第二被管理空间30b中的第二存储单元中,以便第二存储单元包括多个第一存储单元,使得与第一被管理空间30a相比,较大的存储分配单元被用于第二被管理空间30b。
例如,在卷6包括扩展地址卷(EAV)的实施例中,卷可以配置为其中配置了磁道的多个磁柱面。在这种实施例中,第一被管理空间30a可以包括磁道管理空间,其中数据管理在磁道中和磁柱面中,并且每个数据集4a占用整数倍的磁道。第二被管理空间30b可以包括仅仅被管理成多个磁柱面单元磁柱面管理空间,其中每个数据集4b占用整数倍个多磁柱面单元。某些卷6可以被配置为EAV卷,具有第一被管理空间30a和第二被管理空间30b,而其他卷可以被配置为仅仅具有磁道管理空间。与第二被管理空间30b不同,第一被管理空间30a可以被分派卷6中的不同地址范围。
图3图释了维持在用于一个卷6i的卷表14i的实例的信息的结构。卷表实例14i包括卷名称50,也被称之为卷序列号,例如VOLSER,其提供了卷的唯一标识。卷名称50可以包括在卷6i中的卷表14i的名称中。卷表实例14i还包括一个或多个数据集记录541…54n,表示具有配置在由卷表实例14i所代表的卷6i中的盘区的数据集。卷表14i还包括一个或多个空闲空间记录56,标识了卷6i中可获得磁道的范围。
图4图释了数据集记录54的实施例,诸如包括在卷表24中的数据集541…54n。每个数据集记录54包括数据集名称60和分配给数据集54的一个或多个盘区62。盘区62提供了对由卷表20所标识的卷12中的磁道的映射。在映射中表示的磁道可以表达为盘、磁柱面、头部以及记录位置(CCHHR)。数据集54还可以包括盘区合并标志64,表示第一被管理空间30a中的数据集60的盘区是否需要被迁移到所指示的新位置66,其可以包括含有数据集60的当前卷6或另一个卷的第二被管理空间30b。
此处所使用的参考标记“n”可以指代其所附的元素的任何数量的实例,并且可以在用于不同元件时指代相同或不同熟练的实例。
数据集目录10提供了关于具有在一个或多个卷20中的盘区的数据集的信息。图5图释了目录10中目录项80的实施例,包括数据集名称82以及一个或多个卷84,其中数据集82分配空间。卷84可以按照来自所述卷的盘区被分派到数据集82的顺序列表,并且指示基本卷名称或别名卷名称。每个卷84可以识别被分配给数据集82的卷中的盘区86。用于一个卷84的盘区86可以按照被分配给数据集82的顺序列表。目录10可以通过包括数据集名称的关键词进行组织以便容许对数据集名称进行搜索,从而获得用于数据集名称的项目80。
当创建数据集4时,主机或控制单元2可以在目录10中创建项目(entry)80。主机随后可以定位第一卷并将盘区赋予该卷,并且在目录项80中指明所分配的盘区86用于所创建的数据集10。如果被分派给所述卷的当前盘区被充满的话,卷84将会被用于分派更多盘区。而且,如果被分派给数据集的当前卷被充满的话,可以为数据集分派新卷。
图6A和6B图释了由卷管理器12执行来处理对数据集4的附加空间的请求的操作的实施例。响应于处理来自访问方法的对附加存储空间的请求(框100),以便将数据写入第一被管理空间30a中的数据集,卷管理器12确定(框102)用于所请求数据集的修正量存储空间,该修正量存储空间至少包括当前被分配给第一被管理空间30a中的所请求数据集4a的空间量以及所请求的附加存储空间。如果(在框104处)在第一被管理空间30a中分配的附加存储空间量不会导致具有数据集4a的卷4a中的卷条件的结束,那么卷管理器12就在第一被管理空间30a中分配(在框106处)用于所请求数据集4a的所请求的附加存储空间。
如果在第一被管理空间30a中分配的附加存储空间量会导致具有数据集4a的卷4a中的卷条件的结束,那么卷管理器12则确定(在框108处)所述修正量存储空间是否会超过一个值。在一个实施例中,该比较值可以包括数据集尺寸的断点值(BPV),其确定数据集是被存储在第一被管理空间30a还是第二被管理空间30b中,如果(在框108处)修正量存储空间不超过所述值,则卷管理器12启动(在框110)处理以便执行EOV处理,从而将数据集4a扩展到附加卷的第一被管理空间30a中。或者,在当所述修正量存储空间不超过所述BPV时预先存在的数据可能保持在第一被管理空间30a中的同时,数据集可以被扩展到第二被管理空间30b以便存储所请求的附加存储空间。
如果(在框108处)修正量存储空间超过该值时,那么卷管理器12确定(在框112处)在卷6的第二被管理空间30b中分配修正量存储空间是否会导致具有数据集4a的卷6的卷条件结束。如果不会有卷的结束,那么卷管理器12就在具有数据集4a的当前卷6的第二被管理空间30b中的所分配存储空间中分配(在框114处)修正量存储空间。如果(从框112的“是”分支开始)会有卷的结束的情况,那么卷管理器12就在附加(新)卷的第二被管理空间30b中的所分配存储空间中分配(在框114处)修正量存储空间,因为在具有所请求数据集4a的当前卷中没有足够的存储空间。
在第二被管理空间30b中分配修正量存储空间之后(从框114或116开始),控制前进到框118以便设置新位置66来指示第二被管理空间30b中的所分配存储空间按以及具有所分配存储空间的(当前或附加)卷。盘区合并标志64被设置(在框120处)来指示将第一被管理空间30a中的所请求数据集4a中的预先存在数据合并到第二被管理空间30b中的新位置66。
在框114或116处在第二被管理空间30b中分配所请求附加存储空间以及设置新位置66和盘区合并标志64之后,控制前进到图6B中的框122,以便确定用于所请求数据集的所分配存储空间在第二被管理空间30b中的偏移,该偏移是所述访问方法将开始把用于所请求存储空间的写入数据进行写入的偏移。该偏移可以紧随第二被管理空间30b中的所分配存储空间中的一个位置,该位置是第一被管理空间30a中当前预先存在数据将要被存储的位置。为了确定该偏移,卷管理器12确定(在框122处)当前或新卷的第二被管理空间30b中的所分配存储空间的起始位置。卷管理器12确定(在框124处)在第一被管理空间30a中当前被分配给数据集4的空间所需要的存储位置的数量并根据起始位置加上所确定存储位置的数量确定(在框126处)在所分配存储空间中预先存在数据末端位置。该偏移被设置为(在框128处)紧随第二被管理空间30b中的预先存在数据末端位置的存储位置。卷管理器12将该偏移传递(在框130处)给访问方法,以便是用来将数据写入在所述偏移开始的数据集。
卷管理器12还可以更新(在框132处)卷表14和用于所请求数据集的数据集记录54,以便指示在第二被管理空间30b中的用于写入数据的附加分配存储空间。附加分配存储空间可以被指示在用于数据集的新盘区信息62中,以便指示在第二被管理空间30b中的存储地址以及具有附加分配的卷。在第二被管理空间30b中分配用于数据集4的附加数据的空间后,未来分配请求将被扩展到第二被管理空间30b。
在图6A和6B的实施例中,附加空间正被搜寻用于数据集4以便容纳来自写请求的写入数据。在替代实施例中,除了写请求的操作可以要求被分配给数据集的附加空间或将数据集4a扩展到第二被管理空间30b。
在一个实施例中,图6A和6B的操作可以通过在检测到添加附加存储空间会超过断点值时执行卷结束(EOV)例程来执行。当EOV例程望城,卷表12在框132处被更形以便指示用于保留在第一被管理空间30a中的数据集4的数据需要被迁移。在替换实施例中,在第二被管理空间30b中分配用于数据集4的附加存储空间的图6A和6B的操作可以被执行为操作中除了EOV操作的部分,或者可以被执行为通过添加附加存储空间是否会达到EOV以便在第二被管理空间30b中分配用于整个数据集4的空间。
图7图释了由卷管理器12执行来处理管理数据集4的操作的实施例。在访问方法之后处理(在方框150处)数据集4的关闭时,控制单元2或主机已经完成了对数据集4的存取,卷管理器12确定(在框152处)盘区合并标志64指示在第一被管理空间30a中合并数据集4的部分。如果没有,即没有设置盘区合并标志64,那么卷管理器12关闭数据集4。如果设置盘区合并标志64,卷管理器12确定(在框156处)用于依然保持在第一被管理空间30a中的数据集的数据的新位置66。卷管理器12按照顺序将在第一被管理空间30a中的当前分配给所请求数据集的空间中的数据迁移(在框158处)到在第二被管理存储空间30b中的从第二被管理空间30b中的所分配存储空间的开头开始被分配给所请求数据集4的空间中。卷表14被更新以便指明在第二被管理空间30b中的被分配用于数据集4的迁移数据的位置。
在迁移之后,第二被管理空间30b容纳数据集2的所有数据。因为图6A和6B的EOV操作不必移动第一被管理空间30a中的预先存在的数据并且该数据知道该数据集被关闭为止才会被迁移,因此向第二被管理空间30b的迁移不会就数据集4进行操作的访问方法的性能造成影响。
所描述的实施例提供了一些技术,当将附加空间添加到一数据集导致数据集的尺寸适合于第二被管理空间时,该技术用来为将用于对当前分配在第一被管理空间中的数据集的访问请求的附加存储空间分配到第二被管理空间中的存储空间。在这种情况下,存储空间被分配在第二被管理空间中以便容纳在第一被管理空间中当前被分配给所请求数据集的空间以及所请求的附加存储空间。为该访问方法提供偏移以便在第一被管理空间中的数据被移动到所分配的存储空间之前向第二被管理空间中的所分配空间进行写入。用于第一被管理空间中的数据集的数据可以之后迁入,诸如在数据集关闭时,使得在偏移量之前存储第一被管理空间中的用于数据集的当前存在数据。
图8图释了计算机系统302的实施例,其可以包括控制单元2的设备。可替代地,控制单元2可以实现为硬件和/或软件的组合。控制单元2和存储其8可以实现在云计算环境中,其中控制单元2和存储器8向所连接的主机提供存储服务。计算机节点302仅仅是适当的计算节点的一个实例,并不是为了建议对在此所描述的本发明的实施例的功能性的或用户的范围的任何限定。无论如何,计算机节点302能够被实施和/或执行在此以上所提到的人任何功能。
计算机节点302可以以多个其他通用或专用计算机系统环境或配置进行操作。可以适用于用于计算机节点302的已知计算机系统、环境、和/或配置的实例包括但不限于个人计算机系统、服务器计算机系统、薄客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器系统、机顶盒、可编程客户电子设备、网络PC、微计算机系统、框架计算机系统、以及分布式云计算环境,其可以包括任何上述系统或设备等。
计算机节点302可以描述成计算机系统可执行指令的总体语境中,诸如程序模块,可以有计算机系统执行。通常,程序模块包括能够执行特定任务或实施特定抽象数据类型的例程、程序、对象、组元、逻辑、数据结构等等。计算机节点302可以实践在分布式与计算环境中,其中人物采用通过通讯网络连接的远程处理设备来执行。在分布式云计算环境中,程序模块可以定位在包括内存存储设备的本地或远程计算机系统存储介质中。
如图8所示,计算机节点302显示为通用计算机设备形式。计算机系统/服务器302的组件包括但不限于一个或多个处理器或处理单元304、系统存储器306连接包括系统存储器306的各种系统组件到处理器304的总线308
总线308代表了任何即总类型总线结构中的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口以及处理器或使用各种总新架构的任何种类的本地总线。举例而非限制性地来说,这种架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围组件互联(PCI)总线。
计算机节点302通常包括多种计算机系统可读介质。这种介质可以是计算机节点302可以反问的任何可获得介质,并且其包括易失性和非易失性介质、可移除和不可以处介质,并且可以用于存储程序和程序所使用的数据。
系统存储器306可以包括具有易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)310和/或超高速缓存存储器312。计算机节点302还可以包括其他可移除/非可移除、易失性/非易失性计算机系统存储介质。仅仅举例来说,存储系统313可以提供来对不可移除、非易失性磁性介质(未示出并且通常称之为“硬盘”)进行读写。尽管没有示出,可以提供对不可移除、非易失性磁盘(例如,“软盘”)进行读写的磁盘驱动器、对诸如CD-ROM、DVD-ROM或其他光学介质的不可移除、非易失性光盘进行读写的光盘驱动器。在这些实例中,每个都可以通过一个或多个数据介质接口连接到总线308。如下面将会进一步描述的,存储器306可以包括至少一个程序产品,其具有一组(例如至少一个)程序模块,其被配置为执行本发明的实施例的功能。
具有一组(至少一个)程序模块316的程序/实用程序314可以通过例如但不限于操作系统、一个或多个应用程序、其他程序模块以及程序数据而被存储在存储器306中。操作系统、一个或多个应用程序、其他程序模块以及程序数据中的每一个或其组合可以包括网络环境的实现方式。程序模块316通过执行在此描述的发明的实施例的功能和/或方法,诸如登录(logging)程序8的操作。
计算机节点302还可以与一个或多个外部设备318进行通信,诸如键盘、指点设备、显示器等等;使得用户能够与o计算机节点302进行交互的一个或多个设备;和/或能够使得计算机系统/服务器302能够与一个或多个其他计算机设备通讯的任何设备(例如,网卡、调制解调器等等)。这种通讯能够经由输入/输出(I/O)接口322来实现。还有,计算机节点302能够经由网络适配器324与一个或多个网络通讯,诸如局域网(LAN)、广域网(WAN)、和/或公共网络(例如英特网)。如所描绘的,网络适配器324经由总线308与计算机系统/服务器302的其他组件通讯。需要理解的是,尽管没有示出,其他硬件和/或软件组件可以与计算机系统/服务器302结合使用。实例包括但不限于微代码、设备驱动器、冗余处理单元、外部盘驱动器阵列、RAID系统、磁带驱动器、以及数据文档存储系统等等。
所属技术领域的技术人员知道,本发明的各个方面可以使用标准程序和/或工程技术生成软件、固件、硬件或者任何上述的组合实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
计算机程序指令也可以加载到计算机、其他可编程数据处理装置或其他设备上,以便使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,从而产生计算机实施的处理,使得在计算机或其他可编程装置上执行的指令提供用于实施在流程图和/或方框示意图中框中所规定的功能/动作的处理。
术语“一实施例”、“一些实施例”、“该实施例”、“这些实施例”、“一个或多个(但不是全部)实施例”、“某些实施例”以及“一个实施例”意指“本发明的一个或多个(但不是全部)实施例”,除非有专门规定。
术语“包括”、“包含”、“具有”以及其各种变化表示形式意指“包括但不限于”,除非有专门规定。
术语“一”以及“该”意指“一个或多个”,除非有专门规定。
彼此通讯的设备不必彼此连续通讯连接,除非有专门规定。此外,彼此通讯的设备可以直接或通过一个或多个中间设备间接通讯。
具有彼此通讯的几个组件的实施例的描述不意味着需要所有这些组件。相反,描述了多种可选组件按来阐释本发明的可能实施例的广泛变化形式。
而且,尽管处理步骤、方法步骤、算法等可以按照顺序描述,但是这种处理、方法以及算法可以配置为以替换顺序进行工作。换句话说,所描述的步骤的顺序或次序并不必然表示要求步骤按照那种顺序执行。此处描述的处理的步骤可以以然和实际顺序执行。而且某些步骤还可以同时执行。
当在此描述单一设备或产品时,将很容易理解到可以使用多于一个的设备/产品(他们可以合作或不合作)替代单一设备/产品。类似地,如果在此描述了多于一个的设备或产品(他们可以合作或不合作),将很容易理解到可以使用单一设备/产品替代所述多于一个的设备或产品或不同数量的设备或产品,或者不同数量的设备或产品可以用来替代所显示数量的设备或产品。设备的功能性和/或特性可以替代地由没有清楚描述为具有这种功能性和/或特性的一个或多个其他设备来实施。因此,本发明的其他实施例不许包括该设备本身。
附图所示操作显示了按照某种顺序出现的某种情况。在替代性实施例中,某些操作可以按照不同顺序、修改的顺序、或删除了某些步骤的顺序来执行。而且可以向上述逻辑中增加步骤并且依然符合上述实施例。而且在此所描述的操作可以顺序发生,或者可以并行处理某些操作。还有,可以通过单一处理单元或者通过分布式处理单元来执行操作。
本发明各种实施例的上述描述用于进行阐述和描述。其并不是为了穷尽本发明或将本发明限制为所披露的精确形式。可以基于上述教导而存在多种修改形式和变化形式。可以想到,本发明的范围并不受该详细描述的限制,而是受其后所附权利要求书的限制。上述说明、实例以及数据提供了本发明的制造和使用的完整描述。因为在不脱离本发明的精神和范围的情况下可以做出多种本发明的实施例,因此本发明在于后面所附的权利要求书。
Claims (17)
1.一种在存储器中分配管理数据集的系统,包括:
处理器;以及
计算机可读存储介质,具有可由所述处理器执行以便执行操作的代码,所述操作包括:
接收对附加存储空间的请求,以便分配给存储在所述存储器的第一被管理空间中的所请求的数据集;
确定用于所请求数据集的修正量的存储空间,该修正量的存储空间至少包括当前被分配给第一被管理空间中的所请求数据集的空间量以及所请求附加存储空间;
确定在第一被管理空间中分配所请求的附加存储空间是否会导致具有数据集的卷的第一被管理空间中的卷条件的结束;
响应于确定出现所述卷条件的结束,所述卷条件的结束响应于在所述第一被管理空间中分配所请求附件存储空间而出现,执行:
确定所述修正量的存储空间是否超过一个值;
响应于确定所述修正量的存储空间超过所述值,在所述存储器的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间;以及
将所述数据集存储在第二被管理空间中的所分配存储空间中。
2.如权利要求1所述的系统,其中所述值包括断点值,用于确定是把正被添加到所述存储器的新数据集存储到第一被管理空间还是第二被管理空间,其中如果正被添加的所述新数据集需要比所述断点值少的空间,则所述新数据集存储在第一被管理空间,以及其中如果正被添加的所述新数据集需要比所述断点值多的空间,则所述新数据集存储在第二被管理空间,其中数据被分配使用第一存储单元被分配在第一数据集中,以及数据使用第二存储单元分配在第二被管理空间中,其中第二存储单元包括多倍第一存储单元。
3.如权利要求2所述的系统,其中第一被管理空间包括按照磁道和磁柱面管理的磁道管理空间,并且存储在所述磁道管理空间中的数据集占用整数倍磁道,并且其中第二被管理空间包括按照多个磁柱面单元管理的磁柱面管理空间,并且存储在所述磁柱面管理空间中的数据集占用整数倍磁柱面。
4.如权利要求1所述的系统,其中所述对附加存储空间的请求来自于一种访问方法,该方法寻求将数据添加到所述附加存储空间中的所请求数据集中,其中所述操作还包括:
确定用于所请求数据集的第一被管理空间中的所分配存储空间中的偏移;以及
将所述偏移传递给所述访问方法,其中所述访问方法开始写入所述数据,以便在所述第二被管理空间中以所述偏移添加到所请求的数据集。
5.如权利要求4所述的系统,其中所述操作还包括:
将存储在第一被管理空间中的所请求数据集迁移到用于将被存储在第二被管理空间中的所述偏移之前的所请求数据集的、第二被管理存储空间中的所分配的存储空间。
6.如权利要求1所述的系统,其中所述操作还包括:
在卷表中指示以执行对所请求数据集的合并;
关闭所请求数据集;
响应于关闭所请求数据集,确定所述卷表是否指示用于所请求数据集的合并;以及
响应于所述卷表指示合并,将当前分配给第一被管理空间中的所请求数据集的空间中的数据迁移到第二被管理空间中的所分配存储空间中。
7.一种在存储器中管理数据集的方法,包括:
接收对附加存储空间的请求,以便分配给存储在所述存储器的第一被管理空间中的所请求数据集;
确定用于所请求数据集的修正量的存储空间,该修正量的存储空间至少包括当前被分配给第一被管理空间中的所请求数据集的空间量以及所请求附加存储空间;
确定在第一被管理空间中分配所请求的附加存储空间是否会导致具有数据集的卷的第一被管理空间中的卷条件的结束;
响应于确定出现所述卷条件的结束,所述卷条件的结束响应于在所述第一被管理空间中分配所请求附件存储空间而出现,执行以下操作:
确定所述修正量的存储空间是否超过一个值;
响应于确定所述修正量的存储空间超过所述值,在所述存储器的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间;以及
将所述数据集存储在第二被管理空间中的所分配存储空间中。
8.如权利要求7所述的方法,其中所述值包括断点值,用于确定是把正被添加到所述存储器的新数据集存储到第一被管理空间还是第二被管理空间,其中如果正被添加的所述新数据集需要比所述断点值少的空间,则所述新数据集存储在第一被管理空间,以及其中如果正被添加的所述新数据集需要比所述断点值多的空间,则所述新数据集存储在第二被管理空间,其中数据被分配使用第一存储单元被分配在第一数据集中,以及数据使用第二存储单元分配在第二被管理空间中,其中第二存储单元包括多倍第一存储单元。
9.如权利要求8所述的方法,其中第一被管理空间包括按照磁道和磁柱面管理的磁道管理空间,并且存储在所述磁道管理空间中的数据集占用整数倍磁道,并且其中第二被管理空间包括按照多个磁柱面单元管理的磁柱面管理空间,并且存储在所述磁柱面管理空间中的数据集占用整数倍磁柱面。
10.如权利要求7所述的方法,其中所述对附加存储空间的请求来自于一种访问方法,该方法寻求将数据添加到所述附加存储空间中的所请求数据集中,其中所述方法还包括:
确定用于所请求数据集的第一被管理空间中的所分配存储空间中的偏移;以及
将所述偏移传递给所述访问方法,其中所述访问方法开始写入所述数据,以便在所述第二被管理空间中以所述偏移添加到所请求的数据集。
11.如权利要求10所述的方法,其中所述方法还包括:
将存储在第一被管理空间中的所请求数据集迁移到用于将被存储在第二被管理空间中的所述偏移之前的所请求数据集的、第二被管理存储空间中的所分配的存储空间。
12.如权利要求7所述的方法,其中所述方法还包括:
在卷表中指示以执行对所请求数据集的合并;
关闭所请求数据集;
响应于关闭所请求数据集,确定所述卷表是否指示用于所请求数据集的合并;以及
响应于所述卷表指示合并,将当前分配给第一被管理空间中的所请求数据集的空间中的数据迁移到第二被管理空间中的所分配存储空间中。
13.如权利要求7所述的方法,包括:
响应于确定所述卷条件的结束不会导致第一被管理空间中的卷条件的结束,在第一被管理空间中分配用于所请求数据集的所请求附加存储空间。
14.如权利要求7所述的方法,其中存储所请求数据集的所述卷包括第一卷,还包括:
响应于确定用于所请求数据集的存储空间小于所述值,将所请求数据集扩展到第二卷的第一被管理空间。
15.如权利要求7所述的方法,其中存储所请求数据集的所述卷包括第一卷,还包括:
确定在第二被管理空间中分配所述修正量的存储空间是否会导致卷条件的结束,其中响应于确定在第二被管理空间中分配所述修正量的存储空间不会导致卷条件的结束,执行在第一卷中的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间;以及
响应于确定在第二被管理空间中分配所述修正量的存储空间会导致卷条件的结束,在第二卷的第二被管理空间中的所分配存储空间中分配所述修正量的存储空间。
16.如权利要求10所述的方法,其中所述确定所述偏移包括:
确定用于所请求数据集的第二被管理空间中的所分配存储空间的起始位置;
确定在第一被管理空间中的当前分配给所请求数据集的空间所需要的存储位置的数量;以及
在所述起始位置加所确定的存储位置的数量处确定在第二被管理空间中的所分配存储空间中的预先存在的数据末端位置。
17.如权利要求16所述的方法,其中所述对附加存储空间的请求用于一种写请求,使得写数据添加到所请求数据集,其中在第二被管理空间中的所分配存储空间中存储所请求数据集还包括:
将所述写数据写入用于所请求数据集的、第二被管理空间中的所分配存储空间。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/757,638 US9665477B2 (en) | 2013-02-01 | 2013-02-01 | Allocating additional requested storage space for a data set in a first managed space in a second managed space |
US13/757,638 | 2013-02-01 | ||
US14/071,625 US9672144B2 (en) | 2013-02-01 | 2013-11-04 | Allocating additional requested storage space for a data set in a first managed space in a second managed space |
US14/071,625 | 2013-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970671A CN103970671A (zh) | 2014-08-06 |
CN103970671B true CN103970671B (zh) | 2017-04-12 |
Family
ID=51240200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410041298.0A Active CN103970671B (zh) | 2013-02-01 | 2014-01-28 | 用于在存储器中分配管理数据集的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970671B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9881072B2 (en) * | 2014-08-14 | 2018-01-30 | McAFEE, LLC. | Dynamic feature set management |
CN110941564B (zh) * | 2018-09-25 | 2022-03-04 | 杭州海康威视数字技术股份有限公司 | 一种存储空间分配方法、装置、电子设备以及存储介质 |
CN112765107A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于调整存储空间的方法、设备和计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717888A (en) * | 1995-06-02 | 1998-02-10 | International Business Machines Corporation | Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries |
CN101957728A (zh) * | 2009-07-15 | 2011-01-26 | 国际商业机器公司 | 用于向本地物理卷复制远程虚拟卷的装置和方法 |
CN102696009A (zh) * | 2010-02-01 | 2012-09-26 | 国际商业机器公司 | 存储介质之间的数据迁移 |
-
2014
- 2014-01-28 CN CN201410041298.0A patent/CN103970671B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717888A (en) * | 1995-06-02 | 1998-02-10 | International Business Machines Corporation | Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries |
CN101957728A (zh) * | 2009-07-15 | 2011-01-26 | 国际商业机器公司 | 用于向本地物理卷复制远程虚拟卷的装置和方法 |
CN102696009A (zh) * | 2010-02-01 | 2012-09-26 | 国际商业机器公司 | 存储介质之间的数据迁移 |
Also Published As
Publication number | Publication date |
---|---|
CN103970671A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657358B2 (en) | Assessing user performance in a community of users of data storage resources | |
US9684702B2 (en) | Database redistribution utilizing virtual partitions | |
CN104636080B (zh) | 存储系统及用于其的方法 | |
US10242050B2 (en) | Database caching in a database system | |
CN103064639B (zh) | 数据存储方法及装置 | |
US20180121129A1 (en) | Data layout schemas for seamless data migration | |
CN105468473A (zh) | 数据迁移方法及数据迁移装置 | |
US10956051B2 (en) | Data-packed storage containers for streamlined access and migration | |
CN105718217A (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
US10346362B2 (en) | Sparse file access | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
US10650013B2 (en) | Access operation request management | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 | |
CN110134338A (zh) | 一种分布式存储系统及其数据冗余保护方法和相关设备 | |
US20200026647A1 (en) | Method, apparatus and computer program product for managing cache | |
CN107408132A (zh) | 在列存储中的插入和点查询操作的有效性能 | |
CN113806300A (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN110147203A (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN103970671B (zh) | 用于在存储器中分配管理数据集的系统和方法 | |
CN108304142A (zh) | 一种数据管理方法和装置 | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
US11789622B2 (en) | Method, device and computer program product for storage management | |
CN107948229A (zh) | 分布式存储的方法、装置及系统 | |
CN104133970A (zh) | 一种数据空间管理方法及装置 | |
CN111684779B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |