SE540909C2

Distributed data set storage and retrieval

Abstract

An apparatus comprising a processor component to: receive metadata of data organization within a data set; receive indications of which node devices will be storing the data set as multiple data blocks within a data file; and receive, from each node device, a pointer request to a location within the data file for storing a data set portion as a data block. In response to the data set including partitioned data, for each request for a pointer: determine the location within the data file; generate a map data map entry for the data block; generate therein a sub-block count of data sub-blocks within the data block; generate therein a subentry for each data sub-block including size and a hashed identifier derived from a partition label; and provide a pointer to the node device. In response to successful storage of all data blocks, store the map data in the data file.

SE540909C2, drawing sheet 1
Sheet 1 of 41

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

12 claims: 3 independent, 9 dependent

  1. 1
    CLAIMS LAGRING OCH HÄMTNING AV DISTRIBUERAD DATAMÄNGD PATENTKRAV 1. A computer-implemented method implemented using a processor component (1550) of a control device (1500), the method comprising:1. Datorimplementerat förfarande som implementeras med en processorkomponent (1550) hos en styrenhet (1500), varvid förfarandet innefattar: mottagning av, från åtminstone en nodenhet (1700) av flera nodenheter (1700) genom ett nätverk (1999), åtminstone en del av metadata (1335) som indikerar organiseringen av data inom en datamängd (1330);receiving, from at least one node device (1700) of multiple node devices (1700) via a network (1999), at least a portion of metadata (1335) indicative of organization of data within a data set (1330);mottagning av, från nämnda flertalet nodenheter (1700) genom nätverket (1999), indikationer om vilka nodenheter (1700) bland nämnda flertalet nodenheter (1700) ska involveras i en lagring av datamängden (1330) som flera datablock (1131) inom en datafil (1110) som upprätthålls av en eller flera lagringsenheter (1100), varvid: receiving, from the multiple node devices (1700) via the network (1999), indications of which node devices (1700) among the multiple node devices (1700) are to be involved in a storage of the data set (1330) as multiple data blocks within a data file (1110) maintained by one or more storage devices (1100), wherein: the organization of the multiple data blocks within the data file (1110) is indicated in map data (1510) that comprises multiple map entries;and each map entry of the multiple map entries corresponds to one or more data blocks of the multiple data blocks;organiseringen av nämnda flertalet datablock (1131) inom datafilen (1110) är indikerad i en mappningsdata (1510) som innefattar flera mappningsposter (1511);och varvid varje mappningspost (1511) av nämnda flertalet mappningsposter (1511) motsvarar ett eller flera datablock (1131) av nämnda flertalet datablock (1131);receiving, from each node device (1700) involved in the storage of the data set (1330) via the network (1999), a request for a pointer to a location within the data file (1110) at which the node device (1700) is to store at least one data set portion (1732) as a data block;in response to an indication received via the network (1999) from the at least one node device (1700) that the data set (1330) comprises partitioned data, wherein the data within the data set (1330) is organized into multiple partitions that are each distributable to a single node device (1700) and each map entry corresponds to a single data block, for each request for a pointer received from a node device (1700) involved in the storage of the data set (1330): mottagning av, från varje nodenhet (1700) involverad i lagringen av datamängden (1330) genom nätverket (1999), en begäran om en pekare till en plats inom datafilen (1110) på vilken nodenheten (1700) ska lagra åtminstone en datamängdsdel (1732) som ett datablock (1131);determining the location within the data file (1110) at which the node device (1700) is to store the data block;som svar på en indikation mottagen genom nätverket (1999) från nämnda åtminstone en nodenhet (1700) att datamängden (1330) innefattar partitionerad data, varvid nämnda data inom datamängden (1330) är organiserad i flera partitioner (1333) som var och en är fördelbar till en enda nodenhet 540 909 (1700) och varje mappningspost (1511) motsvarar ett enda datablock (1131), för vatje begäran om en pekare mottagen från en nodenhet (1700) involverad i lagringen av datamängden (1330): generating a map entry within the map data (1510) that corresponds to the data block;bestämning av platsen inom datafilen (1110) på vilken nodenheten (1700) ska lagra datablocket;generating within the map entry a data sub-block count indicative of a quantity of data sub-blocks to be stored by the node device (1700) within the data block, wherein each data sub-block 540 909 comprises a data set portion (1732) of the data set (1330) that is to be stored by the node device (1700);alstring av en mappningspost inom nämnda mappningsdata (1510) som motsvarar datablocket;alstring inom mappningsposten av en datadelblocksräkning indikativ om en kvantitet av datadelblock som ska lagras av nodenheten (1700) inom datablocket (1131), varvid varje datadelblock innefattar en datamängdsdel (1732) av datamängden (1330) som ska lagras av nodenheten (1700);generating within the map entry a separate map subentry for each of the data sub-blocks, wherein each map sub-entry comprises a sub-block size indicative of a size of a corresponding data set portion (1732) and a hashed identifier derived from a partition label of the partition to which the corresponding data set portion (1732) belongs;and providing a pointer to the node device (1700) via the network (1999), the pointer comprising an indication of the location at which the node device (1700) is to store the data block in the data file (1110);and in response to successful storage of all data blocks of the data set (1330) within the data file (1110) by all of the node devices (1700) involved in the storage of the data set (1330), storing the map data (1510) in the data file (1110). alstring inom mappningsposten (1511) av en separat mappningsdelpost (1513) för var och en av datadelblocken, varvid vatje mappningsdelpost (1513) innefattar en storlek av delblock indikativ av en storlek av en motsvarande datamängdsdel (1732) och en hashad identifierare härledd från en partitionsetikett hos partitionen (1333) till vilken den motsvarande datamängdsdelen (1732) tillhör;och tillhandahållning av en pekare till nodenheten (1700) genom nätverket (1999), varvid pekaren innefattar en indikation om platsen på vilken nodenheten (1700) ska lagra datablocket (1131) inom datafilen (1110);och som svar på framgångsrik lagring av alla datablock i datamängden (1330) inom datafilen (1110) av alla nodenheter (1700) involverade i lagringen av datamängden (1330), lagring av nämnda mappningsdata (1510) i datafilen (1110).
  2. 11
    A computer-program product tangibly embodied in a non-transitory machinereadable storage medium, the computer-program product including instructions operable to cause a processor component to perform the computer implemented method according to any of claims 1 to 10. 11. Datorprogramprodukt konkret förkroppsligad i ett icke-transient maskinläsligt lagringsmedium, varvid datorprogramprodukten innefattar instruktioner för att framkalla en processorkomponent att utföra det datorimplementerade förfarandet enligt någotdera av patentkraven 1 till 10.
  3. 12
    An apparatus comprising a processor component and a storage to store instructions that, when executed by the processor component, cause the processor component to perform the computer implemented method according to any of claims 1 to 10. 12. Anordning innefattande en processorkomponent och en lagringskomponent för att lagra instruktioner som, när de exekveras av processorkomponenten, framkallar processorkomponenten att utföra det datorimplementerade förfarandet enligt någotdera av patentkraven 1 till 10.