WO2023152965A1 - Data providing device, data providing method, and program - Google Patents

Data providing device, data providing method, and program Download PDF

Info

Publication number
WO2023152965A1
WO2023152965A1 PCT/JP2022/005660 JP2022005660W WO2023152965A1 WO 2023152965 A1 WO2023152965 A1 WO 2023152965A1 JP 2022005660 W JP2022005660 W JP 2022005660W WO 2023152965 A1 WO2023152965 A1 WO 2023152965A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
data
sequence
search
acquisition request
Prior art date
Application number
PCT/JP2022/005660
Other languages
French (fr)
Japanese (ja)
Inventor
晋二 古庄
Original Assignee
晋二 古庄
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 晋二 古庄 filed Critical 晋二 古庄
Priority to PCT/JP2022/005660 priority Critical patent/WO2023152965A1/en
Publication of WO2023152965A1 publication Critical patent/WO2023152965A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Definitions

  • the present invention relates to a data providing device, a data providing method and a program.
  • Patent Document 1 after creating virtual tabular data (view) by freely combining tabular data of a plurality of big data, desired data is searched and displayed from the virtual tabular data Techniques are disclosed. This technology realizes the above search and display by creating internal data called SVL (Sorted Value List), INV (Inverted Record Index) and IND (Indirect Record Index) from tabular data. .
  • SVL Standard Value List
  • INV Inverted Record Index
  • IND Indirect Record Index
  • tabular data is distributed on various database servers, and there is a need to freely combine and use these tabular data.
  • the manager of tabular data cannot freely change the arrangement of the tabular data (in other words, the tabular data cannot be arranged flexibly).
  • it is desired to present the data to the user as one piece of tabular data it may be divided into a plurality of tabular data in the internal system of the data presenter. For example, there are data for each month from January to December internally, but there is a case where it is desired to collectively present data for one year to the user.
  • An embodiment of the present invention has been made in view of the above points, and aims to hierarchize tabular data and enable flexible arrangement thereof.
  • a data providing device is a data providing device that is hierarchically arranged and includes a plurality of a request receiving unit configured to receive a data acquisition request in which the position of the combined sequence, which is a sequence obtained by combining the sequences of the a search unit configured to search for at least a value corresponding to a position and a sequence number of a sequence including a value corresponding to the position among a plurality of sequences that are sources of the combined sequence; and a response unit configured to transmit a search result retrieved by the search unit as a response to the data acquisition request to the source of the data acquisition request.
  • FIG. 4 is a diagram showing an example of multi-section search; It is a figure which shows an example of the whole structure of the data provision system which concerns on this embodiment. It is a figure which shows an example of the hardware constitutions of the data provision apparatus which concerns on this embodiment. It is a figure showing an example of functional composition of a data offer device concerning this embodiment. It is a flowchart which shows an example of the data provision process which concerns on this embodiment.
  • 4 is a diagram showing sequences in Example 1.
  • FIG. FIG. 4 is a diagram showing an example of a multiple sequence multi-section search in Example 1; FIG.
  • FIG. 10 is a diagram showing key information in Example 1, maximum key information smaller than the key information in each sequence, and the sum of cumulative numbers of their weights;
  • FIG. 10 is a diagram showing the result of sorting the key information and the maximum key information smaller than the key information in each series according to the sum of the cumulative numbers of weights in the first embodiment;
  • FIG. 10 is a diagram showing D5A data in Example 2;
  • FIG. 10 is a diagram showing an example of a weighted multiple sequence multi-section search in Example 2;
  • FIG. 10 is a diagram showing the result of sorting the key information and the maximum key information smaller than the key information in each sequence according to the sum of the cumulative numbers of weights in Example 2;
  • tabular data representing a group of data such as big data
  • a possible data providing system 1 will be described.
  • tabular data is also called “table” or “table data”
  • individual data constituting tabular data is also called “record”.
  • Each record is composed of one or more items, and such items are also called columns, fields, attributes, and the like.
  • tabular data is represented by internal data called SVL, ACM (Accumulation Array), INV and NNC (Natural Numbered Column).
  • SVL internal data
  • ACM Accelulation Array
  • INV Natural Numbered Column
  • SVL is a list-format data structure whose elements are values that appear in a certain item in tabular data in ascending order and are unique.
  • ACM is a data structure in the form of a list whose elements are values pointing to the positions next to the end position on INV of each element of SVL with respect to the item. Each element of this ACM gives the number of occurrences of values below the element on the SVL corresponding to the element.
  • INV is a data structure in the form of a list whose elements are transposed record numbers.
  • NNC is a data structure in the form of a list whose elements are natural numbers obtained by replacing appearance values in one column with storage positions on the SVL. NNC is necessary when giving a record number and reading a stored value of a column.
  • SVL and INV are all known data structures, detailed description thereof will be omitted.
  • SVL and INV are described in Patent Document 1 above.
  • the ACM is similar to the IND described in Patent Document 1 above.
  • the IND described in the above-mentioned Patent Document 1 uses a value indicating the start position on INV of each element of SVL as an element, whereas ACM, as described above, uses the value next to the end position on INV.
  • a value indicating a position is used as an element.
  • ACM is obtained by deleting the leading element of IND described in Patent Document 1 above.
  • a combination of a plurality of D5A data (that is, a combination of a plurality of D5A data vertically or horizontally or both by UNION, JOIN, etc.) will also be referred to as “virtual D5A data”.
  • virtual D5A data a combination of a plurality of D5A data vertically or horizontally or both by UNION, JOIN, etc.
  • real D5A data when it is explicitly not virtual D5A data, it is called “real D5A data”, and when it is simply written as "D5A data", it means real D5A data or virtual D5A data.
  • a function called a D5A hub is hierarchically (1 ), and responds to the data acquisition request from the upper hierarchy with the data acquired from the lower hierarchy to the request source.
  • the D5A hub is a function that implements the following (1) to (3).
  • the position of the item in the D5A data of the combination source of the virtual D5A data is specified
  • One data acquisition request is sent to the D5A hub or database server in the hierarchy of , and a value or the like corresponding to that position is obtained as a response.
  • the weighted multiple series multi-section search is a search technique that extends the multi-section search to multiple series and uses the weights given to the values of those series.
  • a series is a list format data structure, and SVL and INV, for example, correspond to the series. Note that a weighted multiple sequence multi-section search in which all weights are "1" may simply be called a "multiple sequence multi-section search".
  • the value of the SVL is the D5A data (actual D5A data or virtual D5A data) that is the combination source of the virtual D5A data. shall not have. That is, the SVL of the virtual D5A data is data in which the values appearing in a certain item are used as elements, and the values are listed in ascending order and in the order of the identification number that identifies the D5A data that is the connection source of the virtual D5A data. Shall be a structure.
  • a bisection search is a combination of the key value and the center position of the search range (or, if the number of elements in the search range is even and there is no center position, the two elements in the center of the search range). This is a search method that narrows down the search range according to the magnitude relationship with the value at the position of one of the elements).
  • a sequence having elements (Alice, Bob, Dolly, Helen, Kate, Louis, Peter, Tom) is searched, and the key value is "Kate".
  • "Helen” at the center position "3" is compared with the key value "Kate”. Since 'Helen' is smaller than 'Kate', the search range is from '4' to '7', and 'Louis' at the center position '5' is compared with the key value 'Kate'. do. Since 'Louis' is greater than 'Kate', then position '4' is the search range, and 'Kate' at position '4' matches the key value, so the key value 'Kate' was found It will be.
  • bisection search is a search method for searching for positions from values. Moreover, since the bisection search requires many searches, the number of times of communication with the database server also increases, and it is not necessarily an efficient search method.
  • Multi-section search is an extension of bi-section search.
  • the search range is divided into multiple sections, and the search range is narrowed down according to the magnitude relationship between the top element of each section and the key value. It is a search method.
  • a sequence having elements (Alice, Bob, Dolly, Helen, Kate, Louis, Peter, Tom) is searched, and the key value is "Kate".
  • the search range is divided into a plurality of sections (four sections in the example shown in FIG. 2), and then the leading elements of these sections are compared with the key value. , to identify the largest interval less than or equal to the key value.
  • a black circle means that the element is included
  • a white circle means that the element is not included. Therefore, each section is represented by a left-closed-right-opened half-open section.
  • the first section must include the first element of the search range, and the last section must include the last element of the search range.
  • the first segment is (Alice, Bob), the second segment is (Dolly, Helen, Kate), the third segment is (Louis, Peter), and the fourth segment is (Tom). Therefore, the largest section below the key value is the second section.
  • the search range is divided into a plurality of sections (three sections in the example shown in FIG. 2), and the leading elements of these sections are compared with the key value, Identify the largest interval less than or equal to the key value.
  • the first section is (Dolly)
  • the second section is (Helen)
  • the third section is (Kate)
  • the largest section below the key value is the third section and its first element. matches the key value. Therefore, the key value "Kate" is retrieved.
  • multi-section search is an efficient search method because the number of searches is less than bi-section search, and as a result, the number of communications with the database server is also reduced.
  • the multi-section search is a search technique for searching for positions from values, it is not possible to find the value corresponding to that position when the position is given.
  • the weighted multiple sequence multi-section search described in this embodiment extends the multi-section search to multiple sequences and utilizes the weights given to the values of those sequences.
  • the method is also different. In general, when there are multiple sequences (multiple sequences), even if the total size (that is, the size of the entire multiple sequences) is known, it is not obvious to find the value at the i-th position. The details of the weighted multiple sequence multi-section search will be described later.
  • FIG. 3 shows the overall configuration of the data providing system 1 according to this embodiment.
  • the data providing system 1 includes one or more data providing devices 10 (data providing devices 10-1 to 10-5 in the example shown in FIG. 3), one or more A database server 20 (database servers 20-1 to 20-3 in the example shown in FIG. 3) and one or more user terminals 30 are included.
  • Each data providing device 10, each database server 20, and each user terminal 30 are communicably connected via a communication network such as the Internet, for example.
  • the data providing devices 10 are hierarchically arranged with the user terminal 30 as the highest layer (0th layer) and each database server 20 as the lowest layer.
  • the user terminal 30 is on the 0th layer
  • the data providing device 10-1 is on the 1st layer
  • the data providing devices 10-2 to 10-4 are on the 2nd layer
  • the database servers 20-1 to 20 -3 is the third layer.
  • the data providing device 10-5 is the third layer, and although not shown, the database server 20 exists in a layer below the data providing device 10-5.
  • the data providing device 10 is a device that functions as a D5A hub. Each data providing device 10 is considered to have virtual D5A data that is a combination of D5A data existing one level below itself.
  • the data providing device 10-2 combines the D5A data 1000-1 to 1000-2 arranged in the database server 20-1 and the D5A data 1000-3 arranged in the database server 20-2 to obtain the D5A It is assumed to have data 1200-1.
  • the data providing device 10-3 is considered to have D5A data 1200-2 which is a combination of the D5A data 1000-4 to 1000-5 located in the database server 20-3.
  • the data providing device 10-1 receives the D5A data 1200-1 held by the data providing device 10-2, the D5A data 1200-2 held by the data providing device 10-3, and the data providing device 10-1.
  • 4 is considered to have D5A data 1200-3 that is a combination of D5A data 1200-3 that 4 has.
  • each data providing device 10 does not need to hold (all of) the virtual D5A data, which is a combination of the D5A data existing one level below itself, in memory.
  • virtual D5A data that is a combination of D5A data existing in the hierarchy one level lower, in response to a data acquisition request from the hierarchy one level higher for a certain item of the virtual D5A data.
  • a value can be returned in response to the data acquisition request from the hierarchy one level above.
  • the database server 20 is a server in which the actual D5A data is arranged.
  • D5A data 1000-1 to 1000-2 are arranged as actual D5A data in the database server 20-1.
  • D5A data 1000-3 is arranged in database server 20-2 as actual D5A data.
  • D5A data 1000-4 to 1000-5 are arranged in the database server 20-3 as actual D5A data.
  • the database server 20 transmits data obtained from its own real D5A data as a response to a data obtaining request from the data providing device 10 or the user terminal 30 one level higher.
  • the user terminal 30 sends a data acquisition request specifying the position of a certain series (for example, SVL or INV of a certain item of virtual D5A data) to the data providing device 10 or the database server 20 one level lower.
  • a terminal that sends
  • a PC personal computer
  • smart phone for example, a tablet terminal, a wearable device, or the like can be used.
  • FIG. 4 shows the hardware configuration of the data providing device 10 according to this embodiment.
  • the data providing device 10 according to the present embodiment is implemented with the same hardware configuration as a general computer or computer system, and includes an input device 101, a display device 102, an external I/F 103, and , a communication I/F 104 , a processor 105 and a memory device 106 . Also, each of these pieces of hardware is communicably connected via a bus 108 .
  • the input device 101 is, for example, a keyboard, mouse, touch panel, various physical buttons, and the like.
  • the display device 102 is, for example, a display, a display panel, or the like. Note that the data providing device 10 does not have to have at least one of the input device 101 and the display device 102 .
  • the external I/F 103 is an interface with an external device such as the recording medium 103a.
  • the data providing device 10 can perform reading and writing of the recording medium 103a via the external I/F 103.
  • FIG. Examples of the recording medium 103a include flexible disks, CDs (Compact Discs), DVDs (Digital Versatile Disks), SD memory cards (Secure Digital memory cards), USB (Universal Serial Bus) memory cards, and the like.
  • the communication I/F 104 is an interface for connecting the data providing device 10 to a communication network.
  • the processor 105 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the memory device 106 is, for example, various storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), and flash memory.
  • the data providing device 10 has the hardware configuration shown in FIG. 4, so that the data providing process described later can be realized.
  • the hardware configuration shown in FIG. 4 is an example, and the data providing device 10 may have, for example, a plurality of processors 105, a plurality of memory devices 106, Various hardware other than the illustrated hardware may be provided.
  • FIG. 5 shows the functional configuration of the data providing device 10 according to this embodiment.
  • the data providing device 10 has a request receiving section 201 , a searching section 202 and a result responding section 203 . These units are implemented by, for example, processing executed by one or more programs installed in the data providing device 10 by the processor 105 or the like.
  • the data providing device 10 according to this embodiment also has a storage unit 204 .
  • the storage unit 204 can be implemented by a memory device 106 such as a RAM, HDD, SSD, flash memory, or the like.
  • the request receiving unit 201 receives data acquisition requests from other data providing devices 10 or user terminals 30 one level higher.
  • this data acquisition request the sequence position i corresponding to a certain item of the virtual D5A data considered to be possessed by itself is specified.
  • Searching section 202 uses a weighted multiple sequence multi-section search to determine the value corresponding to position i specified in the data acquisition request, the sequence number of the sequence having that value, and the weight of that value within that sequence. Retrieve the running count, the value's weight within the sequence, and the value's position within the sequence. However, if all weights are "1", no weights need be retrieved.
  • the result response unit 203 obtains the value corresponding to the position i specified in the data acquisition request, the sequence number of the sequence having that value, the cumulative number of weights of that value within that sequence, and the value within that sequence.
  • the weight and its position in the sequence of values are sent as a response to the data acquisition request. However, if all weights are "1", no weights need be sent.
  • the storage unit 204 stores various data.
  • the storage unit 204 stores data representing intermediate calculation results and search results of the weighted multiple sequence multi-section search.
  • Data provision processing according to the present embodiment will be described with reference to FIG. In addition, below, the data provision process which a certain data provision apparatus 10 performs is demonstrated.
  • the request receiving unit 201 receives a data acquisition request from another data providing device 10 or user terminal 30 one level higher (step S101).
  • this data acquisition request the sequence position i corresponding to a certain item of the virtual D5A data considered to be possessed by itself is specified.
  • the retrieving unit 202 weights a certain series of D5A data held by the database server 20 or virtual D5A data considered to be held by another data providing device 10 one level below itself.
  • the value corresponding to position i the sequence number of the sequence having that value, the cumulative number of weights of that value within that sequence, the weight of that value within that sequence, and that value position in the series of (step S102).
  • the weights may not be retrieved. Note that the processing of this step will be described in detail in the first and second embodiments that will be described later.
  • the result response unit 203 transmits the value retrieved in step S102, the series number, the cumulative number of weights, the weight, and the position in the series as a response to the data acquisition request (step S103). However, when all the weights are "1" (Example 1 described later), the weights and positions in the sequence may not be transmitted.
  • Example 1 The weighted multiple sequence multi-section search in Example 1 will be described below.
  • the sequence to be searched is the SVL
  • the position i specified in the data acquisition request is the position i of the sequence (hereinafter also referred to as "combined sequence") in which a plurality of SVLs (sequences) are vertically combined.
  • the weight is a value given to each value included in the search target sequence.
  • the sizes of the sequences to be searched (in this embodiment, the size of each of sequences #0, #1 and #2 is “10" and the size of the combined sequence vertically combining them is "30") is known. and It is also assumed that which data providing device 10 (or database server 20) has which sequence number sequence is known. It should be noted that since the sequence to be searched is SVL, it is arranged in ascending order (duplicate values may exist).
  • searching section 202 performs multiple sequence multi-section search on sequences #0, #1, and #, the value, the sequence number of the sequence containing that value, the cumulative number of weights, and the value within the sequence. and sample the positions of For example, as shown in FIG. 8, each of sequences #0, #1, and #2 is divided into four sections (sections 1 to 4), and the leading elements of these sections are sampled.
  • sampling of an element is performed by sending a data acquisition request designating the position of the element in the series to the data providing device 10 (or database server 20) one level below having the series containing the element. Just send it.
  • the data providing device 10 (or the database server 20) in the next lower layer returns the value of the element, the series number, and the total number of weights as a response.
  • the key information in this embodiment is expressed in the format of (value, sequence number, cumulative number of weights of the value within the sequence, position of the value within the sequence). It should be noted that the position n is expressed in the form of "@n”.
  • searching section 202 uses the comparison key to find the maximum data smaller than each piece of key information, and weights the data for each piece of key information. Calculate the sum ⁇ of the accumulated numbers.
  • the data in the same series as the key information should be sampled at the position one position below. (value, sequence number) is used to sample the maximum data below the relevant key information by multi-section search.
  • the maximum data smaller than the key information in sequence #0 is (Frank, #0, 3, @2), and in sequence #1
  • each key information, the maximum data smaller than the key information in each of series #0, #1, and #2, and the sum ⁇ of the cumulative number of weights of these data are summarized as shown in FIG. become. Note that "-" means that there is no maximum data smaller than the key information and no sampling is performed.
  • the search unit 202 sorts (key information, the maximum data smaller than the key information in each series, and the sum ⁇ of the cumulative numbers of the weights of these data) by the value of ⁇ , and the result is It is held in the storage unit 204 .
  • sorting FIG. 9 in ascending order of ⁇ results in FIG. 10 .
  • This FIG. 10 (hereinafter, a table like this FIG. 10 will be referred to as a “key information table”) is held in the storage unit 204 .
  • the search unit 202 obtains search results by recursively performing a multi-sequence multi-section search on smaller intervals. Specific description will be made below according to the value of i.
  • the search result is (Dolly, #1, 6, @5)
  • the search result is (Kate, #0, 5, @4)
  • the search result is (Peter, #2, 9, @8)
  • Example 2 The weighted multiple sequence multi-section search in Example 2 will be described below.
  • the sequence to be searched is the SVL
  • the position i specified in the data acquisition request is the position i of the INV corresponding to the SVL (combined sequence) vertically combining a plurality of SVLs.
  • two data providing apparatuses 10 exist in the hierarchy one level below the data providing apparatus 10, and are assumed to have two virtual D5A data shown in FIG.
  • illustration of the NNC is omitted in FIG. SVL#0 and SVL#1 shown in FIG. 25 are hereinafter referred to as "series #0" and "series #1", respectively.
  • the weight of "Bob” at position "0" of SVL#0 is "2”
  • the weight of "Bob” at position "1” is "1”. That is, the sum of the weights of the positions j of the SVL is ACM[j].
  • sequences to be searched in this embodiment, the size of each of sequences #0 and #1 is "5" and the size of the combined sequence vertically combining them is "10"). It is also assumed that which data providing device 10 (or database server 20) has which sequence number sequence is known. It should be noted that since the sequence to be searched is SVL, it is arranged in ascending order (duplicate values may exist). Also, it should be noted that when the two virtual D5A data shown in FIG. 25 are vertically combined, the elements of INV can be appropriately read.
  • INV#1 when vertically combining virtual D5A data including SVL#0, ACM#0 and INV#0 in the front and virtual D5A data including SVL#1, ACM#1 and INV#1 in the back, INV#1
  • the elements can be read as “10”, “15”, “9”, “13", “14”, “8", "11", and "12” in order from the top.
  • the virtual D5A data including SVL#0, ACM#0 and INV#0 are vertically linked and the virtual D5A data including SVL#1, ACM#1 and INV#1 are linked vertically.
  • searching section 202 performs a multi-section search on sequences #0 and #1 to find the value, the sequence number of the sequence containing the value, the cumulative number of weights, and the position of the value within the sequence. to sample. For example, as shown in FIG. 26, each of the sequences #0 and #1 is divided into three sections (sections 1 to 3), and the leading elements of these sections are sampled.
  • the key information in this embodiment is represented in the format of (value, sequence number, cumulative number of weights of the value within the sequence, weight of the value, position of the value within the sequence).
  • searching section 202 uses the comparison key to find the maximum data that is smaller than each piece of key information, Calculate the sum ⁇ .
  • the data in the same series as the key information should be sampled at the position one position below. (value, sequence number) is used to sample the maximum data below the relevant key information by multi-section search.
  • the maximum data smaller than the key information is obtained (including the case where there is no maximum data smaller than the key information), and the weight is calculated.
  • the search unit 202 sorts (key information, the maximum data smaller than the key information in each series, and the sum ⁇ of the cumulative numbers of the weights of these data) by the value of ⁇ , and the result is It is held in the storage unit 204 .
  • a key information table as shown in FIG. 27 is held in the storage unit 204 in this embodiment.
  • represents the position of the value included in the key information corresponding to ⁇ in the INV corresponding to the combined sequence.
  • the search range shown in FIG. 28 becomes the search range of the weighted multiple sequence multi-section search.
  • data providing system 10 data providing device 20
  • database server 30 user terminal 101 input device 102 display device 103 external I/F 103a recording medium 104 communication I/F 105 processor 106 memory device 107 bus 201 request receiving unit 202 searching unit 203 result responding unit 204 storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The data providing device according to the embodiment is arranged hierarchically and includes: a request receiving unit configured to receive, from a layer one level above, a data acquisition request specifying the location of a concatenated series, that is, a series obtained by concatenating a plurality of series managed by other data providing devices or database servers existing on a layer one level below; a search unit configured to search for at least a value corresponding to the location from among values contained in the concatenated series and a series number of a series containing the value corresponding to the location from among the plurality of series that are concatenated to obtain the concatenated series; and a response unit configured to transmit a search result returned by the search unit to the request source of the data acquisition request as a response to the data acquisition request.

Description

データ提供装置、データ提供方法及びプログラムData providing device, data providing method and program
 本発明は、データ提供装置、データ提供方法及びプログラムに関する。 The present invention relates to a data providing device, a data providing method and a program.
 近年、各種センサ機器や観測機器等の発達により、センシング結果や観測結果等を表す大量のデータ(いわゆる、ビッグデータ)が得られるようになった。このため、ビッグデータに対して種々の操作(例えば、検索、結合、集計等)を行って、所望のデータを取り出すことが求められている。 In recent years, due to the development of various sensor devices and observation devices, it has become possible to obtain a large amount of data representing sensing results and observation results (so-called big data). Therefore, it is required to extract desired data by performing various operations (for example, retrieval, combination, aggregation, etc.) on big data.
 特許文献1には、複数のビッグデータの表形式データを自由に組み合わせて仮想的な表形式データ(ビュー)を作成した上で、その仮想的な表形式データから所望のデータを検索及び表示する技術が開示されている。この技術では、SVL(Sorted Value List)、INV(Inverted Record Index)及びIND(Indirect Record Index)と呼ばれる内部的なデータを表形式データから作成することで、上記の検索及び表示を実現している。 In Patent Document 1, after creating virtual tabular data (view) by freely combining tabular data of a plurality of big data, desired data is searched and displayed from the virtual tabular data Techniques are disclosed. This technology realizes the above search and display by creating internal data called SVL (Sorted Value List), INV (Inverted Record Index) and IND (Indirect Record Index) from tabular data. .
国際公開第2019/163610号WO2019/163610
 ここで、一般に、表形式データは様々なデータベースサーバ上に分散して配置されていることが想定され、これらの表形式データを自由に組み合わせて利用したいというニーズがある。しかしながら、或るデータベースサーバ上に存在する表形式データが別のデータベースサーバに移動された場合、ユーザがその表形式データを利用する際には移動後のデータベースサーバにアクセスする必要がある。このため、ユーザはその表形式データを利用できないことがある。一方で、このことは、表形式データの管理者がその表形式データの配置を自由に変更できない(言い換えれば、表形式データを柔軟に配置できない)ことを意味する。また、ユーザには1つの表形式データとして提示したいが、データ提示者の内部のシステムでは複数の表形式データに分かれている場合がある。例えば、内部では1月から12月までの各月のデータとして存在しているが、ユーザには1年のデータとして1つにまとめて提示したい場合がある。 Here, it is generally assumed that tabular data is distributed on various database servers, and there is a need to freely combine and use these tabular data. However, when tabular data existing on a certain database server is moved to another database server, the user needs to access the database server after the transfer when using the tabular data. Therefore, the tabular data may not be available to the user. On the other hand, this means that the manager of tabular data cannot freely change the arrangement of the tabular data (in other words, the tabular data cannot be arranged flexibly). Moreover, although it is desired to present the data to the user as one piece of tabular data, it may be divided into a plurality of tabular data in the internal system of the data presenter. For example, there are data for each month from January to December internally, but there is a case where it is desired to collectively present data for one year to the user.
 本発明の一実施形態は、上記の点に鑑みてなされたもので、表形式データを階層化して、それらの柔軟な配置を可能にすることを目的とする。 An embodiment of the present invention has been made in view of the above points, and aims to hierarchize tabular data and enable flexible arrangement thereof.
 上記目的を達成するため、一実施形態に係るデータ提供装置は、階層的に配置されるデータ提供装置であって、1つ下の階層に存在する他のデータ提供装置又はデータベースサーバが管理する複数の系列を結合した系列である結合系列の位置が指定されたデータ取得要求を1つ上の階層から受信するように構成されている要求受信部と、前記結合系列に含まれる値のうちの前記位置に対応する値と、前記結合系列の結合元となった複数の系列のうちの前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索するように構成されている検索部と、前記検索部により検索された検索結果を、前記データ取得要求に対する応答として、前記データ取得要求の要求元に送信するように構成されている応答部と、を有する。 In order to achieve the above object, a data providing device according to one embodiment is a data providing device that is hierarchically arranged and includes a plurality of a request receiving unit configured to receive a data acquisition request in which the position of the combined sequence, which is a sequence obtained by combining the sequences of the a search unit configured to search for at least a value corresponding to a position and a sequence number of a sequence including a value corresponding to the position among a plurality of sequences that are sources of the combined sequence; and a response unit configured to transmit a search result retrieved by the search unit as a response to the data acquisition request to the source of the data acquisition request.
 表形式データを階層化して、それらの柔軟な配置を可能になる。 By layering tabular data, it becomes possible to arrange them flexibly.
バイセクションサーチの一例を示す図である。It is a figure which shows an example of a bisection search. マルチセクションサーチの一例を示す図である。FIG. 4 is a diagram showing an example of multi-section search; 本実施形態に係るデータ提供システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the data provision system which concerns on this embodiment. 本実施形態に係るデータ提供装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the data provision apparatus which concerns on this embodiment. 本実施形態に係るデータ提供装置の機能構成の一例を示す図である。It is a figure showing an example of functional composition of a data offer device concerning this embodiment. 本実施形態に係るデータ提供処理の一例を示すフローチャートである。It is a flowchart which shows an example of the data provision process which concerns on this embodiment. 実施例1における系列を示す図である。4 is a diagram showing sequences in Example 1. FIG. 実施例1における多重系列マルチセクションサーチの一例を示す図である。FIG. 4 is a diagram showing an example of a multiple sequence multi-section search in Example 1; 実施例1におけるキー情報、各系列でそのキー情報よりも小さい最大のキー情報、及びそれらの重みの累計数の和を示す図である。FIG. 10 is a diagram showing key information in Example 1, maximum key information smaller than the key information in each sequence, and the sum of cumulative numbers of their weights; 実施例1におけるキー情報と各系列でそのキー情報よりも小さい最大のキー情報とを重みの累計数の和でソートした結果を示す図である。FIG. 10 is a diagram showing the result of sorting the key information and the maximum key information smaller than the key information in each series according to the sum of the cumulative numbers of weights in the first embodiment; 実施例1においてi=1のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=1 in Example 1; 実施例1においてi=1のときの信頼区間を示す図である。FIG. 4 is a diagram showing a confidence interval when i=1 in Example 1; 実施例1においてi=3のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=3 in Example 1; 実施例1においてi=3のときの信頼区間を示す図である。FIG. 4 is a diagram showing a confidence interval when i=3 in Example 1; 実施例1においてi=5~8のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=5 to 8 in Example 1; 実施例1においてi=5~8のときの信頼区間を示す図である。FIG. 4 is a diagram showing confidence intervals when i=5 to 8 in Example 1; 実施例1においてi=12~13のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=12 to 13 in Example 1; 実施例1においてi=12~13のときの信頼区間を示す図である。FIG. 4 is a diagram showing confidence intervals when i=12 to 13 in Example 1; 実施例1においてi=15~16のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=15 to 16 in Example 1; 実施例1においてi=15~16のときの信頼区間を示す図である。FIG. 4 is a diagram showing confidence intervals when i=15 to 16 in Example 1; 実施例1においてi=18~21のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=18 to 21 in Example 1; 実施例1においてi=18~21のときの信頼区間を示す図である。FIG. 10 is a diagram showing confidence intervals when i=18 to 21 in Example 1; 実施例1においてi=24~27のときの多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of a multiple sequence multi-section search when i=24 to 27 in Example 1; 実施例1においてi=24~27のときの信頼区間を示す図である。FIG. 10 is a diagram showing confidence intervals when i=24 to 27 in Example 1; 実施例2におけるD5Aデータを示す図である。FIG. 10 is a diagram showing D5A data in Example 2; 実施例2における重み付き多重系列マルチセクションサーチの一例を示す図である。FIG. 10 is a diagram showing an example of a weighted multiple sequence multi-section search in Example 2; 実施例2におけるキー情報と各系列でそのキー情報よりも小さい最大のキー情報とを重みの累計数の和でソートした結果を示す図である。FIG. 10 is a diagram showing the result of sorting the key information and the maximum key information smaller than the key information in each sequence according to the sum of the cumulative numbers of weights in Example 2; 実施例2においてi=12~14のときの重み付き多重系列マルチセクションサーチのサーチ範囲を示す図である。FIG. 10 is a diagram showing a search range of weighted multiple sequence multi-section search when i=12 to 14 in Example 2; 実施例2においてi=12~14のときの信頼区間を示す図である。FIG. 10 is a diagram showing confidence intervals when i=12 to 14 in Example 2;
 以下、本発明の一実施形態について説明する。以下の実施形態では、ビッグデータ等のデータ群を表す表形式データを階層化して、それらを柔軟に配置することを可能にすると共に、その表形式データに含まれるデータをユーザに提供することが可能なデータ提供システム1について説明する。なお、表形式データは「テーブル」又は「テーブルデータ」とも呼ばれ、表形式データを構成する個々のデータのことは「レコード」とも呼ばれる。また、各レコードは1以上の項目で構成されており、このような項目は、例えば、カラム、フィールド、属性等とも呼ばれる。 An embodiment of the present invention will be described below. In the following embodiments, it is possible to hierarchize tabular data representing a group of data such as big data, enable them to be arranged flexibly, and provide the data contained in the tabular data to the user. A possible data providing system 1 will be described. Note that tabular data is also called "table" or "table data", and individual data constituting tabular data is also called "record". Each record is composed of one or more items, and such items are also called columns, fields, attributes, and the like.
 ここで、表形式データは、SVL、ACM(Accumulation Array)、INV及びNNC(Natural Numbered Column)と呼ばれる内部的なデータで表現されているものとする。以下、SVL、ACM及びINVで表現された表形式データを「D5Aデータ」と呼ぶことにする。 Here, it is assumed that tabular data is represented by internal data called SVL, ACM (Accumulation Array), INV and NNC (Natural Numbered Column). Hereinafter, the tabular data represented by SVL, ACM and INV will be referred to as "D5A data".
 SVLとは、表形式データの或る項目に出現する値を昇順かつユニークにした値を要素とするリスト形式のデータ構造である。ACMとは、その項目に関して、SVLの各要素のINV上の終了位置の次の位置を指す値を要素とするリスト形式のデータ構造である。このACMの各要素は、当該要素に対応するSVL上の要素以下の値の出現回数を与えている。INVとは、転置レコード番号を要素とするリスト形式のデータ構造である。また、NNCとは、1つのカラム内の出現値をSVL上の格納位置で置き換えた自然数を要素とするリスト形式のデータ構造である。NNCはレコード番号を与えてカラムの格納値を読み出す際に必要となる。 SVL is a list-format data structure whose elements are values that appear in a certain item in tabular data in ascending order and are unique. ACM is a data structure in the form of a list whose elements are values pointing to the positions next to the end position on INV of each element of SVL with respect to the item. Each element of this ACM gives the number of occurrences of values below the element on the SVL corresponding to the element. INV is a data structure in the form of a list whose elements are transposed record numbers. NNC is a data structure in the form of a list whose elements are natural numbers obtained by replacing appearance values in one column with storage positions on the SVL. NNC is necessary when giving a record number and reading a stored value of a column.
 なお、SVL、ACM及びINVはいずれも既知のデータ構造であるため、その詳細な説明は省略するが、例えば、SVL及びINVは上記の特許文献1に記載されている。また、例えば、ACMは上記の特許文献1に記載されているINDに類似するものである。上記の特許文献1に記載されているINDがSVLの各要素のINV上の開始位置を指す値を要素としているのに対して、ACMは、上述したように、INV上の終了位置の次の位置を指す値を要素としている。言い換えれば、ACMは、上記の特許文献1に記載されているINDの先頭の要素を削除したものである。 Since SVL, ACM, and INV are all known data structures, detailed description thereof will be omitted. For example, SVL and INV are described in Patent Document 1 above. Also, for example, the ACM is similar to the IND described in Patent Document 1 above. The IND described in the above-mentioned Patent Document 1 uses a value indicating the start position on INV of each element of SVL as an element, whereas ACM, as described above, uses the value next to the end position on INV. A value indicating a position is used as an element. In other words, ACM is obtained by deleting the leading element of IND described in Patent Document 1 above.
 また、以下、複数のD5Aデータを組み合わせたもの(つまり、UNIONやJOIN等により複数のD5Aデータを縦若しくは横又はその両方で結合したもの)を「仮想D5Aデータ」とも呼ぶことにする。また、D5Aデータが仮想D5Aデータでないことを明示するときは「実D5Aデータ」と呼ぶことにし、単に「D5Aデータ」と表記した場合には実D5Aデータ又は仮想D5Aデータを表すものとする。 Also, hereinafter, a combination of a plurality of D5A data (that is, a combination of a plurality of D5A data vertically or horizontally or both by UNION, JOIN, etc.) will also be referred to as "virtual D5A data". Also, when the D5A data is explicitly not virtual D5A data, it is called "real D5A data", and when it is simply written as "D5A data", it means real D5A data or virtual D5A data.
 このとき、本実施形態に係るデータ提供システム1では、データベースサーバ上に配置された実D5Aデータとそれらの実D5Aデータを利用するユーザ端末との間に、D5Aハブと呼ぶ機能を階層的(1階層である場合も含む)に配置した上で、1つ上の階層からのデータ取得要求に対して1つ下の階層から取得したデータを要求元に応答する。D5Aハブとは、以下の(1)~(3)を実現する機能のことである。 At this time, in the data providing system 1 according to the present embodiment, a function called a D5A hub is hierarchically (1 ), and responds to the data acquisition request from the upper hierarchy with the data acquired from the lower hierarchy to the request source. The D5A hub is a function that implements the following (1) to (3).
 (1)仮想D5Aデータの或る項目のSVL又はINVの位置が指定されたデータ取得要求を1つ上の階層にあるD5Aハブ又はユーザ端末から受信する。 (1) Receive a data acquisition request specifying the position of the SVL or INV of a certain item of virtual D5A data from the D5A hub or user terminal located one level higher.
 (2)その位置に対応する値等のデータを1つ下の階層にあるD5Aハブ又はデータベースサーバから取得する。 (2) Acquire data such as values corresponding to the position from the D5A hub or database server one level below.
 (3)上記の(2)で取得したデータをデータ取得要求の要求元に応答として送信する。 (3) Send the data acquired in (2) above as a response to the requester of the data acquisition request.
 このとき、上記の(2)では、重み付き多重系列マルチセクションサーチと呼ぶ検索手法を用いて、仮想D5Aデータの結合元のD5Aデータにおける当該項目の位置が指定されたデータ取得要求を1つ下の階層にあるD5Aハブ又はデータベースサーバに送信し、その応答としてその位置に対応する値等を取得する。ここで、重み付き多重系列マルチセクションサーチとは、マルチセクションサーチを複数の系列に拡張し、それらの系列の値に付与された重みを利用する検索手法のことである。また、系列とはリスト形式のデータ構造のことであり、例えば、SVLやINVは系列に該当する。なお、すべての重みが「1」である重み付き多重系列マルチセクションサーチは単に「多重系列マルチセクションサーチ」と呼ばれてもよい。 At this time, in the above (2), using a search method called weighted multiple series multi-section search, the position of the item in the D5A data of the combination source of the virtual D5A data is specified One data acquisition request is sent to the D5A hub or database server in the hierarchy of , and a value or the like corresponding to that position is obtained as a response. Here, the weighted multiple series multi-section search is a search technique that extends the multi-section search to multiple series and uses the weights given to the values of those series. A series is a list format data structure, and SVL and INV, for example, correspond to the series. Note that a weighted multiple sequence multi-section search in which all weights are "1" may simply be called a "multiple sequence multi-section search".
 これにより、或るデータベースサーバ上に配置された実D5Aデータが別のデータベースサーバ上に移動されたとしても、ユーザは、その移動を意識することなく、その実D5Aデータから所望のデータ(レコード又はそのレコードに含まれる或る項目の値)を取得することが可能となる。このため、実D5Aデータの管理者は自由にデータベースサーバ上に実D5Aデータを配置することが可能となり、その結果、実D5Aデータの柔軟な配置が実現される。 As a result, even if real D5A data placed on a certain database server is moved to another database server, the user can retrieve desired data (records or It is possible to acquire the value of a certain item contained in the record. Therefore, the administrator of the real D5A data can freely arrange the real D5A data on the database server, and as a result, flexible arrangement of the real D5A data is realized.
 なお、仮想D5AデータのSVLでは、そのSVLの値が、仮想D5Aデータの結合元となったD5Aデータ(実D5Aデータ又は仮想D5Aデータ)のいずれのものであるかを区別するため、ユニーク性を持たないものとする。すなわち、仮想D5AデータのSVLは、或る項目に出現する値を要素として、それらの値を昇順、かつ、仮想D5Aデータの結合元となったD5Aデータを識別する識別番号順にリスト形式にしたデータ構造であるものとする。 In the SVL of the virtual D5A data, the value of the SVL is the D5A data (actual D5A data or virtual D5A data) that is the combination source of the virtual D5A data. shall not have. That is, the SVL of the virtual D5A data is data in which the values appearing in a certain item are used as elements, and the values are listed in ascending order and in the order of the identification number that identifies the D5A data that is the connection source of the virtual D5A data. Shall be a structure.
 <バイセクションサーチ及びマルチセクションサーチ>
 ここで、重み付き多重系列マルチセクションサーチの前提となるマルチセクションサーチとマルチセクションサーチの前提となるバイセクションサーチについて、その概略を説明する。なお、以下では、サーチ対象は、そのサイズが既知であり、かつ、値は昇順又は降順(重複値はあってもよい)に並んでいるものとする。
<Bisection search and multisection search>
Here, an outline of the multisection search that is the premise of the weighted multiple sequence multisection search and the bisection search that is the premise of the multisection search will be described. In the following, it is assumed that the size of the search target is known, and the values are arranged in ascending or descending order (duplicate values may exist).
 ・バイセクションサーチ
 バイセクションサーチとは、キー値とサーチ範囲の中央の位置(又は、サーチ範囲内の要素数が偶数で中央の位置が存在しない場合は、サーチ範囲の中央にある2つの要素のうちのいずれか一方の要素の位置)にある値との大小関係によりサーチ範囲を絞っていく検索手法である。
・Bisection search A bisection search is a combination of the key value and the center position of the search range (or, if the number of elements in the search range is even and there is no center position, the two elements in the center of the search range). This is a search method that narrows down the search range according to the magnitude relationship with the value at the position of one of the elements).
 例えば、図1に示すように、(Alice,Bob,Dolly,Helen,Kate,Louis,Peter,Tom)と要素に持つ系列をサーチ対象、キー値を「Kate」であるものとする。このとき、まず、系列の全体をサーチ範囲として、その中央の位置「3」にある「Helen」とキー値「Kate」とを比較する。「Helen」は「Kate」よりも小さいため、次に、位置「4」~「7」までをサーチ範囲として、その中央の位置「5」にある「Louis」とキー値「Kate」とを比較する。「Louis」は「Kate」よりも大きいため、次に、位置「4」がサーチ範囲となり、位置「4」にある「Kate」はキー値と一致するため、キー値「Kate」が検索されたことになる。 For example, as shown in FIG. 1, a sequence having elements (Alice, Bob, Dolly, Helen, Kate, Louis, Peter, Tom) is searched, and the key value is "Kate". At this time, first, with the entire series as the search range, "Helen" at the center position "3" is compared with the key value "Kate". Since 'Helen' is smaller than 'Kate', the search range is from '4' to '7', and 'Louis' at the center position '5' is compared with the key value 'Kate'. do. Since 'Louis' is greater than 'Kate', then position '4' is the search range, and 'Kate' at position '4' matches the key value, so the key value 'Kate' was found It will be.
 このように、バイセクションサーチは値から位置を検索するための検索手法である。また、バイセクションサーチは、サーチ回数も多いため、データベースサーバとの通信回数も多くなり、必ずしも効率的な検索手法とはいえない。 In this way, bisection search is a search method for searching for positions from values. Moreover, since the bisection search requires many searches, the number of times of communication with the database server also increases, and it is not necessarily an efficient search method.
 ・マルチセクションサーチ
 マルチセクションサーチとは、バイセクションサーチを拡張したものであり、サーチ範囲を複数の区間に分割し、それらの区間の先頭の要素とキー値との大小関係によりサーチ範囲を絞っていく検索手法である。
・Multi-section search Multi-section search is an extension of bi-section search. The search range is divided into multiple sections, and the search range is narrowed down according to the magnitude relationship between the top element of each section and the key value. It is a search method.
 例えば、図2に示すように、(Alice,Bob,Dolly,Helen,Kate,Louis,Peter,Tom)と要素に持つ系列をサーチ対象、キー値を「Kate」であるものとする。このとき、まず、系列全体をサーチ範囲として、そのサーチ範囲を複数の区間(図2に示す例では4つの区間)に分割した上で、それらの区間の先頭の要素とキー値とを比較し、キー値以下の最大の区間を特定する。なお、図2中で黒丸はその要素を含むこと、白丸はその要素を含まないことをそれぞれ意味し、したがって、各区間は左閉右開の半開区間で表されるものとする。ただし、最初の区間はサーチ範囲の先頭の要素を必ず含み、また最後の区間はサーチ範囲の最後の要素を含む区間であるものとする。 For example, as shown in FIG. 2, a sequence having elements (Alice, Bob, Dolly, Helen, Kate, Louis, Peter, Tom) is searched, and the key value is "Kate". At this time, first, with the entire sequence as the search range, the search range is divided into a plurality of sections (four sections in the example shown in FIG. 2), and then the leading elements of these sections are compared with the key value. , to identify the largest interval less than or equal to the key value. In FIG. 2, a black circle means that the element is included, and a white circle means that the element is not included. Therefore, each section is represented by a left-closed-right-opened half-open section. However, the first section must include the first element of the search range, and the last section must include the last element of the search range.
 図2に示す例では、第1区間は(Alice,Bob)、第2区間は(Dolly,Helen,Kate)、第3区間は(Louis,Peter)、第4区間は(Tom)である。このため、キー値以下の最大の区間は第2区間となる。 In the example shown in FIG. 2, the first segment is (Alice, Bob), the second segment is (Dolly, Helen, Kate), the third segment is (Louis, Peter), and the fourth segment is (Tom). Therefore, the largest section below the key value is the second section.
 次に、第2区間をサーチ範囲として、そのサーチ範囲を複数の区間(図2に示す例では3つの区間)に分割した上で、それらの区間の先頭の要素とキー値とを比較し、キー値以下の最大の区間を特定する。 Next, with the second section as the search range, the search range is divided into a plurality of sections (three sections in the example shown in FIG. 2), and the leading elements of these sections are compared with the key value, Identify the largest interval less than or equal to the key value.
 図2に示す例では第1区間は(Dolly)、第2区間は(Helen)、第3区間は(Kate)であり、キー値以下の最大の区間は第3区間であると共にその先頭の要素はキー値と一致する。このため、キー値「Kate」が検索されたことになる。 In the example shown in FIG. 2, the first section is (Dolly), the second section is (Helen), the third section is (Kate), and the largest section below the key value is the third section and its first element. matches the key value. Therefore, the key value "Kate" is retrieved.
 このように、マルチセクションサーチは、バイセクションサーチと比べてサーチ回数も少なく、その結果、データベースサーバとの通信回数も削減されるため、効率的な検索手法である。一方で、マルチセクションサーチは値から位置を検索するための検索手法であるため、位置が与えられたときにその位置に対応する値を求めることはできない。 In this way, multi-section search is an efficient search method because the number of searches is less than bi-section search, and as a result, the number of communications with the database server is also reduced. On the other hand, since the multi-section search is a search technique for searching for positions from values, it is not possible to find the value corresponding to that position when the position is given.
 本実施形態で説明する重み付き多重系列マルチセクションサーチは、マルチセクションサーチを複数の系列に拡張し、それらの系列の値に付与された重みを利用するものであるが、位置から値を求める検索手法であるという点も異なる。一般に、複数の系列(多重系列)が存在するときに、全体のサイズ(つまり、多重系列全体のサイズ)が分かっていたとしても、そのi番目の位置にある値を求めることを自明ではない。なお、重み付き多重系列マルチセクションサーチの詳細については後述する。 The weighted multiple sequence multi-section search described in this embodiment extends the multi-section search to multiple sequences and utilizes the weights given to the values of those sequences. The method is also different. In general, when there are multiple sequences (multiple sequences), even if the total size (that is, the size of the entire multiple sequences) is known, it is not obvious to find the value at the i-th position. The details of the weighted multiple sequence multi-section search will be described later.
 <データ提供システム1の全体構成>
 本実施形態に係るデータ提供システム1の全体構成を図3に示す。図3に示すように、本実施形態に係るデータ提供システム1には、1以上のデータ提供装置10(図3に示す例では、データ提供装置10-1~10-5)と、1以上のデータベースサーバ20(図3に示す例では、データベースサーバ20-1~20-3)と、1以上のユーザ端末30とが含まれる。なお、各データ提供装置10、各データベースサーバ20及び各ユーザ端末30は、例えば、インターネット等の通信ネットワークを介して通信可能に接続される。
<Overall Configuration of Data Providing System 1>
FIG. 3 shows the overall configuration of the data providing system 1 according to this embodiment. As shown in FIG. 3, the data providing system 1 according to the present embodiment includes one or more data providing devices 10 (data providing devices 10-1 to 10-5 in the example shown in FIG. 3), one or more A database server 20 (database servers 20-1 to 20-3 in the example shown in FIG. 3) and one or more user terminals 30 are included. Each data providing device 10, each database server 20, and each user terminal 30 are communicably connected via a communication network such as the Internet, for example.
 ここで、本実施形態に係るデータ提供システム1では、ユーザ端末30を最上位階層(0階層目)、各データベースサーバ20を最下位階層として、各データ提供装置10が階層的に配置されている。例えば、図3に示す例では、ユーザ端末30は0階層目、データ提供装置10-1は1階層目、データ提供装置10-2~10-4は2階層目、データベースサーバ20-1~20-3は3階層目である。また、データ提供装置10-5は3階層目であり、図示していないが、このデータ提供装置10-5よりも下位の階層にはデータベースサーバ20が存在する。 Here, in the data providing system 1 according to the present embodiment, the data providing devices 10 are hierarchically arranged with the user terminal 30 as the highest layer (0th layer) and each database server 20 as the lowest layer. . For example, in the example shown in FIG. 3, the user terminal 30 is on the 0th layer, the data providing device 10-1 is on the 1st layer, the data providing devices 10-2 to 10-4 are on the 2nd layer, and the database servers 20-1 to 20 -3 is the third layer. The data providing device 10-5 is the third layer, and although not shown, the database server 20 exists in a layer below the data providing device 10-5.
 データ提供装置10は、D5Aハブとして機能する装置である。各データ提供装置10は、自身の1つ下の階層に存在するD5Aデータを組み合わせた仮想D5Aデータを持っているものとみなされる。 The data providing device 10 is a device that functions as a D5A hub. Each data providing device 10 is considered to have virtual D5A data that is a combination of D5A data existing one level below itself.
 例えば、データ提供装置10-2は、データベースサーバ20-1に配置されているD5Aデータ1000-1~1000-2とデータベースサーバ20-2に配置されているD5Aデータ1000-3とを組み合わせたD5Aデータ1200-1を持っているものとみなされる。同様に、例えば、データ提供装置10-3は、データベースサーバ20-3に配置されているD5Aデータ1000-4~1000-5を組み合わせたD5Aデータ1200-2を持っているものとみなされる。同様に、例えば、データ提供装置10-1は、データ提供装置10-2が持っているD5Aデータ1200-1とデータ提供装置10-3が持っているD5Aデータ1200-2とデータ提供装置10-4が持っているD5Aデータ1200-3とを組み合わせたD5Aデータ1200-3を持っているものとみなされる。 For example, the data providing device 10-2 combines the D5A data 1000-1 to 1000-2 arranged in the database server 20-1 and the D5A data 1000-3 arranged in the database server 20-2 to obtain the D5A It is assumed to have data 1200-1. Similarly, for example, the data providing device 10-3 is considered to have D5A data 1200-2 which is a combination of the D5A data 1000-4 to 1000-5 located in the database server 20-3. Similarly, for example, the data providing device 10-1 receives the D5A data 1200-1 held by the data providing device 10-2, the D5A data 1200-2 held by the data providing device 10-3, and the data providing device 10-1. 4 is considered to have D5A data 1200-3 that is a combination of D5A data 1200-3 that 4 has.
 ただし、各データ提供装置10は、自身の1つ下の階層に存在するD5Aデータを組み合わせた仮想D5Aデータ(のすべて)をメモリ上に保持している必要はない。1つ下の階層に存在するD5Aデータを組み合わせた仮想D5Aデータを持っているものとみなされるとは、その仮想D5Aデータの或る項目に対する1つ上の階層からのデータ取得要求に対して、適宜、自身の1つ下の階層に存在する他のデータ提供装置10又はデータベースサーバ20に対してデータ取得要求を行うことで、1つ上の階層からのデータ取得要求に対して値を返信できることを意味する。 However, each data providing device 10 does not need to hold (all of) the virtual D5A data, which is a combination of the D5A data existing one level below itself, in memory. Considered to have virtual D5A data that is a combination of D5A data existing in the hierarchy one level lower, in response to a data acquisition request from the hierarchy one level higher for a certain item of the virtual D5A data, By appropriately making a data acquisition request to another data providing device 10 or database server 20 existing in the hierarchy one level below itself, a value can be returned in response to the data acquisition request from the hierarchy one level above. means
 データベースサーバ20は、実D5Aデータが配置されるサーバである。例えば、図3に示す例では、データベースサーバ20-1には、実D5AデータとしてD5Aデータ1000-1~1000-2が配置されている。同様に、データベースサーバ20-2には、実D5AデータとしてD5Aデータ1000-3が配置されている。同様に、データベースサーバ20-3には、実D5AデータとしてD5Aデータ1000-4~1000-5が配置されている。 The database server 20 is a server in which the actual D5A data is arranged. For example, in the example shown in FIG. 3, D5A data 1000-1 to 1000-2 are arranged as actual D5A data in the database server 20-1. Similarly, D5A data 1000-3 is arranged in database server 20-2 as actual D5A data. Similarly, D5A data 1000-4 to 1000-5 are arranged in the database server 20-3 as actual D5A data.
 また、データベースサーバ20は、1つ上の階層にあるデータ提供装置10又はユーザ端末30からのデータ取得要求に対して、自身が持つ実D5Aデータから取得したデータを応答として送信する。 In addition, the database server 20 transmits data obtained from its own real D5A data as a response to a data obtaining request from the data providing device 10 or the user terminal 30 one level higher.
 ユーザ端末30は、1つ下の階層にあるデータ提供装置10又はデータベースサーバ20に対して、或る系列(例えば、仮想D5Aデータの或る項目のSVL又はINV)の位置を指定したデータ取得要求を送信する端末である。なお、ユーザ端末30としては、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、ウェアラブルデバイス等を用いることができる。 The user terminal 30 sends a data acquisition request specifying the position of a certain series (for example, SVL or INV of a certain item of virtual D5A data) to the data providing device 10 or the database server 20 one level lower. is a terminal that sends As the user terminal 30, for example, a PC (personal computer), a smart phone, a tablet terminal, a wearable device, or the like can be used.
 なお、図3に示すデータ提供システム1の全体構成は一例であって、これに限られるものではなく、他の構成であってもよい。 Note that the overall configuration of the data providing system 1 shown in FIG. 3 is an example, and is not limited to this, and other configurations may be used.
 <データ提供装置10のハードウェア構成>
 本実施形態に係るデータ提供装置10のハードウェア構成を図4に示す。図4に示すように、本実施形態に係るデータ提供装置10は、一般的なコンピュータ又はコンピュータシステムと同様のハードウェア構成で実現され、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。また、これらの各ハードウェアは、バス108を介して通信可能に接続される。
<Hardware Configuration of Data Providing Device 10>
FIG. 4 shows the hardware configuration of the data providing device 10 according to this embodiment. As shown in FIG. 4, the data providing device 10 according to the present embodiment is implemented with the same hardware configuration as a general computer or computer system, and includes an input device 101, a display device 102, an external I/F 103, and , a communication I/F 104 , a processor 105 and a memory device 106 . Also, each of these pieces of hardware is communicably connected via a bus 108 .
 入力装置101は、例えば、キーボードやマウス、タッチパネル、各種物理ボタン等である。表示装置102は、例えば、ディスプレイや表示パネル等である。なお、データ提供装置10は、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。 The input device 101 is, for example, a keyboard, mouse, touch panel, various physical buttons, and the like. The display device 102 is, for example, a display, a display panel, or the like. Note that the data providing device 10 does not have to have at least one of the input device 101 and the display device 102 .
 外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。データ提供装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。 The external I/F 103 is an interface with an external device such as the recording medium 103a. The data providing device 10 can perform reading and writing of the recording medium 103a via the external I/F 103. FIG. Examples of the recording medium 103a include flexible disks, CDs (Compact Discs), DVDs (Digital Versatile Disks), SD memory cards (Secure Digital memory cards), USB (Universal Serial Bus) memory cards, and the like.
 通信I/F104は、データ提供装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等といった各種演算装置である。メモリ装置106は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等といった各種記憶装置である。 The communication I/F 104 is an interface for connecting the data providing device 10 to a communication network. The processor 105 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The memory device 106 is, for example, various storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), and flash memory.
 本実施形態に係るデータ提供装置10は、図4に示すハードウェア構成を有することにより、後述するデータ提供処理を実現することができる。なお、図4に示すハードウェア構成は一例であって、データ提供装置10は、例えば、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよいし、図示したハードウェア以外にも種々のハードウェアを有していてもよい。 The data providing device 10 according to the present embodiment has the hardware configuration shown in FIG. 4, so that the data providing process described later can be realized. Note that the hardware configuration shown in FIG. 4 is an example, and the data providing device 10 may have, for example, a plurality of processors 105, a plurality of memory devices 106, Various hardware other than the illustrated hardware may be provided.
 <データ提供装置10の機能構成>
 本実施形態に係るデータ提供装置10の機能構成を図5に示す。図5に示すように、本実施形態に係るデータ提供装置10は、要求受付部201と、検索部202と、結果応答部203とを有する。これら各部は、例えば、データ提供装置10にインストールされた1以上のプログラムが、プロセッサ105等に実行させる処理により実現される。また、本実施形態に係るデータ提供装置10は、記憶部204を有する。記憶部204は、例えば、RAM、HDD、SSD、フラッシュメモリ等といったメモリ装置106により実現可能である。
<Functional Configuration of Data Providing Device 10>
FIG. 5 shows the functional configuration of the data providing device 10 according to this embodiment. As shown in FIG. 5 , the data providing device 10 according to this embodiment has a request receiving section 201 , a searching section 202 and a result responding section 203 . These units are implemented by, for example, processing executed by one or more programs installed in the data providing device 10 by the processor 105 or the like. The data providing device 10 according to this embodiment also has a storage unit 204 . The storage unit 204 can be implemented by a memory device 106 such as a RAM, HDD, SSD, flash memory, or the like.
 要求受付部201は、1つ上の階層にある他のデータ提供装置10又はユーザ端末30からデータ取得要求を受信する。ここで、このデータ取得要求には、自身が持っているものとみなされる仮想D5Aデータの或る項目に対応する系列の位置iが指定されている。 The request receiving unit 201 receives data acquisition requests from other data providing devices 10 or user terminals 30 one level higher. Here, in this data acquisition request, the sequence position i corresponding to a certain item of the virtual D5A data considered to be possessed by itself is specified.
 検索部202は、重み付き多重系列マルチセクションサーチにより、当該データ取得要求に指定されている位置iに対応する値と、その値を持つ系列の系列番号と、その系列内におけるその値の重みの累計数と、その系列内におけるその値の重みと、その値の系列内の位置とを検索する。ただし、すべての重みが「1」である場合には重みは検索されなくてもよい。 Searching section 202 uses a weighted multiple sequence multi-section search to determine the value corresponding to position i specified in the data acquisition request, the sequence number of the sequence having that value, and the weight of that value within that sequence. Retrieve the running count, the value's weight within the sequence, and the value's position within the sequence. However, if all weights are "1", no weights need be retrieved.
 結果応答部203は、当該データ取得要求に指定されている位置iに対応する値とその値を持つ系列の系列番号とその系列内におけるその値の重みの累計数とその系列内におけるその値の重みとその値の系列内の位置とを当該データ取得要求に対する応答として送信する。ただし、すべての重みが「1」である場合には重みは送信されなくてもよい。 The result response unit 203 obtains the value corresponding to the position i specified in the data acquisition request, the sequence number of the sequence having that value, the cumulative number of weights of that value within that sequence, and the value within that sequence. The weight and its position in the sequence of values are sent as a response to the data acquisition request. However, if all weights are "1", no weights need be sent.
 記憶部204は、各種データを記憶する。例えば、記憶部204には、重み付き多重系列マルチセクションサーチの途中の計算結果や検索結果を表すデータ等が記憶される。 The storage unit 204 stores various data. For example, the storage unit 204 stores data representing intermediate calculation results and search results of the weighted multiple sequence multi-section search.
 <データ提供処理>
 本実施形態に係るデータ提供処理について、図6を参照しながら説明する。なお、以下では、或るデータ提供装置10が実行するデータ提供処理について説明する。
<Data provision processing>
Data provision processing according to the present embodiment will be described with reference to FIG. In addition, below, the data provision process which a certain data provision apparatus 10 performs is demonstrated.
 要求受付部201は、1つ上の階層にある他のデータ提供装置10又はユーザ端末30からデータ取得要求を受信する(ステップS101)。ここで、このデータ取得要求には、自身が持っているものとみなされる仮想D5Aデータの或る項目に対応する系列の位置iが指定されている。 The request receiving unit 201 receives a data acquisition request from another data providing device 10 or user terminal 30 one level higher (step S101). Here, in this data acquisition request, the sequence position i corresponding to a certain item of the virtual D5A data considered to be possessed by itself is specified.
 次に、検索部202は、自身よりも1つ下の階層にある他のデータ提供装置10が持っているものとみなされる仮想D5Aデータ又はデータベースサーバ20が持つD5Aデータの或る系列に対する重み付き多重系列マルチセクションサーチにより、位置iに対応する値と、その値を持つ系列の系列番号と、その系列内におけるその値の重みの累計数と、その系列内におけるその値の重みと、その値の系列内の位置とを検索する(ステップS102)。ただし、すべての重みが「1」である場合(後述する実施例1)には重みは検索されなくてもよい。なお、本ステップの処理については、後述する実施例1と実施例2で詳細に説明する。 Next, the retrieving unit 202 weights a certain series of D5A data held by the database server 20 or virtual D5A data considered to be held by another data providing device 10 one level below itself. By multi-sequence multi-section search, the value corresponding to position i, the sequence number of the sequence having that value, the cumulative number of weights of that value within that sequence, the weight of that value within that sequence, and that value position in the series of (step S102). However, when all the weights are "1" (Example 1 described later), the weights may not be retrieved. Note that the processing of this step will be described in detail in the first and second embodiments that will be described later.
 そして、結果応答部203は、上記のステップS102で検索された値と系列番号と重みの累計数と重みと系列内の位置とを当該データ取得要求に対する応答として送信する(ステップS103)。ただし、すべての重みが「1」である場合(後述する実施例1)では、重みと系列内の位置は送信されなくてもよい。 Then, the result response unit 203 transmits the value retrieved in step S102, the series number, the cumulative number of weights, the weight, and the position in the series as a response to the data acquisition request (step S103). However, when all the weights are "1" (Example 1 described later), the weights and positions in the sequence may not be transmitted.
 <実施例1>
 以下、実施例1における重み付き多重系列マルチセクションサーチについて説明する。本実施例では、サーチ対象の系列はSVL、データ取得要求に指定されている位置iは複数のSVL(系列)を縦に結合した系列(以下、「結合系列」ともいう。)の位置iであるものとする。また、本実施例では、当該データ提供装置10の1つ下の階層には3台のデータ提供装置10が存在し、図7に示す3つの仮想D5AデータのSVL(系列)を持つとみなされるものとする。ここで、重みとはサーチ対象の系列に含まれる各値に付与される値であり、サーチ対象の系列とデータ取得要求に指定されている位置iとがいずれもSVLである場合、その系列の重みとしてはすべて「1」を用いる。
<Example 1>
The weighted multiple sequence multi-section search in Example 1 will be described below. In this embodiment, the sequence to be searched is the SVL, and the position i specified in the data acquisition request is the position i of the sequence (hereinafter also referred to as "combined sequence") in which a plurality of SVLs (sequences) are vertically combined. Assume that there is In addition, in the present embodiment, there are three data providing devices 10 in the hierarchy one level below the data providing device 10, and they are considered to have the SVL (sequence) of the three virtual D5A data shown in FIG. shall be Here, the weight is a value given to each value included in the search target sequence. When both the search target sequence and the position i specified in the data acquisition request are SVL, "1" is used for all weights.
 サーチ対象の系列のサイズ(本実施例では、系列#0、#1及び#2の各々のサイズ「10」と、それらを順に縦に結合した結合系列のサイズ「30」)は既知であるものとする。また、どの系列番号の系列をどのデータ提供装置10(又はデータベースサーバ20)が持っているかも既知であるものとする。なお、サーチ対象の系列はSVLであるため昇順(重複値はあってもよい)に並んでいることに留意されたい。 The sizes of the sequences to be searched (in this embodiment, the size of each of sequences #0, #1 and #2 is "10" and the size of the combined sequence vertically combining them is "30") is known. and It is also assumed that which data providing device 10 (or database server 20) has which sequence number sequence is known. It should be noted that since the sequence to be searched is SVL, it is arranged in ascending order (duplicate values may exist).
 このとき、検索部202は、系列#0、#1及び#に対して多重系列マルチセクションサーチを行って、値とその値が含まれる系列の系列番号と重みの累計数と系列内におけるその値の位置とをサンプリングする。例えば、図8に示すように、系列#0、#1及び#2の各々を4つ区間(区間1~区間4)に分割し、それらの区間の先頭の要素をサンプリングする。ここで、要素のサンプリングは、その要素が含まれる系列を持つ1つ下の階層のデータ提供装置10(又はデータベースサーバ20)に対して、その系列におけるその要素の位置を指定したデータ取得要求を送信すればよい。これにより、1つ下の階層のデータ提供装置10(又はデータベースサーバ20)からその要素の値と系列番号と重みの累計数とが応答として返信される。 At this time, searching section 202 performs multiple sequence multi-section search on sequences #0, #1, and #, the value, the sequence number of the sequence containing that value, the cumulative number of weights, and the value within the sequence. and sample the positions of For example, as shown in FIG. 8, each of sequences #0, #1, and #2 is divided into four sections (sections 1 to 4), and the leading elements of these sections are sampled. Here, sampling of an element is performed by sending a data acquisition request designating the position of the element in the series to the data providing device 10 (or database server 20) one level below having the series containing the element. Just send it. As a result, the data providing device 10 (or the database server 20) in the next lower layer returns the value of the element, the series number, and the total number of weights as a response.
 図8に示す多重系列マルチセクションサーチにより、以下のデータがサンプリングされる。以下、このデータを「キー情報」と呼ぶことにする。本実施例におけるキー情報は、(値,系列番号,系列内におけるその値の重みの累計数,その系列内におけるその値の位置)の形式で表現される。なお、位置nは「@n」との形式で表すものとする。 The following data are sampled by the multi-sequence multi-section search shown in FIG. Hereinafter, this data will be called "key information". The key information in this embodiment is expressed in the format of (value, sequence number, cumulative number of weights of the value within the sequence, position of the value within the sequence). It should be noted that the position n is expressed in the form of "@n".
 (Elza,#0,1,@0)
 (Frank,#0,4,@3)
 (Louis,#0,7,@6)
 (Roy,#0,10,@9)
 (Alice,#1,1,@0)
 (Bob,#1,4,@3)
 (Elza,#1,7,@6)
 (Genny,#1,10,@9)
 (Alice,#2,1,@0)
 (Dolly,#2,4,@3)
 (Kate,#2,7,@6)
 (Tom,#2,10,@9)
 ここで、以下では、(値,系列番号,系列内におけるその値の重みの累計数)を「比較キー」と呼ぶことにする。
(Elza, #0, 1, @0)
(Frank, #0, 4, @3)
(Louis, #0,7,@6)
(Roy, #0, 10, @9)
(Alice, #1, 1, @0)
(Bob, #1, 4, @3)
(Elza, #1, 7, @6)
(Genny, #1, 10, @9)
(Alice, #2, 1, @0)
(Dolly, #2, 4, @3)
(Kate, #2, 7, @6)
(Tom, #2, 10, @9)
Here, hereinafter, (value, sequence number, total number of weights of that value in the sequence) will be referred to as a "comparison key".
 次に、検索部202は、系列#0、#1及び#2の各々において、比較キーを用いて、各キー情報よりも小さい最大のデータを求めると共に、キー情報毎にそれらのデータの重みの累計数の和Σを計算する。このとき、各キー情報よりも小さい最大のデータを求めるには、当該キー情報と同一系列のデータに関しては1つ下の位置にあるデータをサンプリングすればよく、当該キー情報と異なる系列のデータに関しては(値,系列番号)を用いてマルチセクションサーチにより当該キー情報以下の最大のデータをサンプリングすればよい。 Next, in each of series #0, #1, and #2, searching section 202 uses the comparison key to find the maximum data smaller than each piece of key information, and weights the data for each piece of key information. Calculate the sum Σ of the accumulated numbers. At this time, in order to obtain the maximum data that is smaller than each key information, the data in the same series as the key information should be sampled at the position one position below. (value, sequence number) is used to sample the maximum data below the relevant key information by multi-section search.
 例えば、キー情報(Elza,#0,1,@0)に関して、系列#0では当該キー情報よりも小さいデータは存在しない。一方で、系列#1では当該キー情報よりも小さい最大のデータは(Dolly,#1,6,@5)であり、系列#2では当該キー情報よりも小さい最大のデータは(Dolly,#2,4,@3)である。したがって、重みの累計数の和Σは、Σ=0+6+4=10となる。 For example, regarding the key information (Elza, #0, 1, @0), there is no data smaller than the key information in series #0. On the other hand, in series #1, the largest data smaller than the key information is (Dolly, #1, 6, @5), and in series #2, the largest data smaller than the key information is (Dolly, #2 , 4, @3). Therefore, the sum Σ of the accumulated numbers of weights is Σ=0+6+4=10.
 同様に、例えば、キー情報(Frank,#0,4,@3)に関して、系列#0では当該キー情報よりも小さい最大のデータは(Frank,#0,3,@2)、系列#1では当該キー情報よりも小さい最大のデータは(Elza,#1,7,@6)、系列#2では当該キー情報よりも小さい最大のデータは(Dolly,#2,4,@3)である。したがって、重みの累計数の和Σは、Σ=3+7+4=14となる。 Similarly, for example, with respect to key information (Frank, #0, 4, @3), the maximum data smaller than the key information in sequence #0 is (Frank, #0, 3, @2), and in sequence #1 The largest data smaller than the key information is (Elza, #1, 7, @6), and the largest data smaller than the key information in sequence #2 is (Dolly, #2, 4, @3). Therefore, the sum Σ of the accumulated numbers of weights is Σ=3+7+4=14.
 他のキー情報に関しても同様に、系列#0、#1及び#2の各々において、当該キー情報よりも小さい最大のデータを求めて(当該キー情報よりも小さい最大のデータが存在しない場合も含む)、重みの累計数の和Σが計算される。 Similarly, with respect to other key information, in each of series #0, #1, and #2, the maximum data smaller than the key information is obtained (including the case where the maximum data smaller than the key information does not exist). ), the sum Σ of the accumulated weights is calculated.
 以上により、各キー情報と、系列#0、#1及び#2の各々でそのキー情報よりも小さい最大のデータと、それらのデータの重みの累計数の和Σとをまとめると図9のようになる。なお、「-」はキー情報よりも小さい最大のデータが存在せず、サンプリングされない場合を意味する。 From the above, each key information, the maximum data smaller than the key information in each of series #0, #1, and #2, and the sum Σ of the cumulative number of weights of these data are summarized as shown in FIG. become. Note that "-" means that there is no maximum data smaller than the key information and no sampling is performed.
 次に、検索部202は、(キー情報,各系列の各々でそのキー情報よりも小さい最大のデータ,それらのデータの重みの累計数の和Σ)をΣの値によりソートし、その結果を記憶部204に保持する。例えば、Σの昇順により図9をソートすると図10のようになる。この図10(以下、この図10のようなテーブルを「キー情報テーブル」と呼ぶことにする。)が記憶部204に保持される。 Next, the search unit 202 sorts (key information, the maximum data smaller than the key information in each series, and the sum Σ of the cumulative numbers of the weights of these data) by the value of Σ, and the result is It is held in the storage unit 204 . For example, sorting FIG. 9 in ascending order of Σ results in FIG. 10 . This FIG. 10 (hereinafter, a table like this FIG. 10 will be referred to as a “key information table”) is held in the storage unit 204 .
 このとき、ΣはそのΣに対応するキー情報に含まれる値の結合系列における位置を表しているため、i=ΣとなるΣが存在する場合、検索部202は、そのΣに対応するキー情報を検索結果とする。すなわち、図10に示す例では、i=0、2、4、9、10、11、14、17、22、23、28、29である場合、検索部202は、i=Σに対応するキー情報を検索結果とする。 At this time, Σ represents the position of the value included in the key information corresponding to Σ in the combined series. is the search result. That is, in the example shown in FIG. 10, when i=0, 2, 4, 9, 10, 11, 14, 17, 22, 23, 28, 29, the search unit 202 retrieves the key corresponding to i=Σ Information is the search result.
 一方で、i=ΣとなるΣが存在しない場合、検索部202は、より小さい区間に対して再帰的に多重系列マルチセクションサーチを行うことで、検索結果を得る。以下、iの値に応じて具体的に説明する。 On the other hand, if there is no Σ such that i=Σ, the search unit 202 obtains search results by recursively performing a multi-sequence multi-section search on smaller intervals. Specific description will be made below according to the value of i.
 ・i=1のとき
 このとき、図10に示すキー情報テーブルの位置「0」にあるΣ=0のレコードと位置「1」のあるΣ=2のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「0」のレコードに含まれるキー情報の比較キー以上、かつ、位置「1」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=1のときは、図11に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=1 At this time, the record of Σ=0 at position “0” and the record of Σ=2 at position “1” of the key information table shown in FIG. determine the search range for Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at the position "0" is equal to or higher than the comparison key of the key information contained in the record at the position "1". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=1, the search range shown in FIG. 11 becomes the search range of the multiple sequence multi-section search.
 図11に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図12に示すように、(Alice,#1,1,@0)と(Alice,#1,2,@1)がサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図12に示すように、Σ=0のレコードに含まれるキー情報が先頭、かつ、Σ=2のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間(つまり、結合系列における位置が確定できる区間)となる。したがって、i=1のときの検索結果は、(Alice,#1,2,@1)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple sequence multi-section search on the search range shown in FIG. 11, (Alice, #1, 1, @0) and (Alice, #1, 2, @1) are obtained as shown in FIG. shall be sampled. At this time, when these sampling results are stably sorted using the value as a key, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval (that is, an interval whose position in the joint sequence can be determined). Therefore, the search result when i=1 is (Alice, #1, 2, @1). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=3のとき
 このとき、図10に示すキー情報テーブルの位置「1」にあるΣ=2のレコードと位置「2」のあるΣ=4のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「1」のレコードに含まれるキー情報の比較キー以上、かつ、位置「2」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=3のときは、図13に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=3 At this time, a multiple sequence multisection search is performed using the Σ=2 record at position “1” and the Σ=4 record at position “2” in the key information table shown in FIG. determine the search range for Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at the position "1" is greater than or equal to the comparison key of the key information contained in the record at the position "2". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=3, the search range shown in FIG. 13 becomes the search range of the multiple sequence multi-section search.
 図13に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図14に示すように、(Alice,#1,2,@1)と(Bob,#1,3,@2)と(Alice,#2,1,@0)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図14に示すように、Σ=2のレコードに含まれるキー情報が先頭、かつ、Σ=4のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=3のときの検索結果は、(Bob,#1,3,@2)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple sequence multi-section search on the search range shown in FIG. 13, (Alice, #1, 2, @1) and (Bob, #1, 3, @2) as shown in FIG. (Alice, #2, 1, @0) are sampled. At this time, when these sampling results are stably sorted using values as keys, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=3 is (Bob, #1, 3, @2). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=5~8のとき
 このとき、図10に示すキー情報テーブルの位置「2」にあるΣ=4のレコードと位置「3」のあるΣ=9のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「2」のレコードに含まれるキー情報の比較キー以上、かつ、位置「3」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=5~8のときは、図15に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=5 to 8 At this time, the record of Σ=4 at position “2” and the record of Σ=9 at position “3” of the key information table shown in FIG. Determines the search range for section search. Specifically, in each of the series #0, #1, and #2, the comparison key of the key information contained in the record at position "2" is greater than or equal to the comparison key of the key information contained in the record at position "3". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=5 to 8, the search range shown in FIG. 15 becomes the search range of the multiple sequence multi-section search.
 図15に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図16に示すように、(Bob,#1,3,@2)と(Bob,#1,4,@3)と(Dolly,#1,5,@4)と(Dolly,#1,6,@5)と(Alice,#2,1,@0)と(Bob,#2,2,@1)と(Dolly,#2,3,@2)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図16に示すように、Σ=4のレコードに含まれるキー情報が先頭、かつ、Σ=9のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=5のときの検索結果は(Bob,#2,2,@1)、i=6のときの検索結果は(Dolly,#1,5,@4)、i=7のときの検索結果は(Dolly,#1,6,@5)、i=8のときの検索結果は(Dolly,#2,3,@2)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multi-sequence multi-section search on the search range shown in FIG. 15, (Bob, #1, 3, @2) and (Bob, #1, 4, @3) as shown in FIG. (Dolly, #1, 5, @4), (Dolly, #1, 6, @5), (Alice, #2, 1, @0), (Bob, #2, 2, @1) and (Dolly , #2, 3, @2) are sampled. At this time, when these sampling results are stably sorted using the value as a key, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=5 is (Bob, #2, 2, @1), the search result when i=6 is (Dolly, #1, 5, @4), and the search result when i=7 is The search result is (Dolly, #1, 6, @5), and the search result when i=8 is (Dolly, #2, 3, @2). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=12~13のとき
 このとき、図10に示すキー情報テーブルの位置「5」にあるΣ=11のレコードと位置「6」のあるΣ=14のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「5」のレコードに含まれるキー情報の比較キー以上、かつ、位置「6」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=12~13のときは、図17に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=12 to 13 At this time, the record of Σ=11 at position “5” and the record of Σ=14 at position “6” of the key information table shown in FIG. Determines the search range for section search. Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at the position "5" is greater than or equal to the comparison key of the key information contained in the record at the position "6". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=12 to 13, the search range shown in FIG. 17 becomes the search range of the multiple sequence multisection search.
 図17に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図18に示すように、(Elza,#0,1,@0)と(Frank,#0,2,@1)と(Frank,#0,3,@2)と(Dolly,#1,6,@5)と(Elza,#1,7,@6)と(Dolly,#2,4,@3)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図18に示すように、Σ=11のレコードに含まれるキー情報が先頭、かつ、Σ=14のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=12のときの検索結果は(Frank,#0,2,@1)、i=13のときの検索結果は(Frank,#0,3,@2)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple series multi-section search on the search range shown in FIG. 17, (Elza, #0, 1, @0) and (Frank, #0, 2, @1) as shown in (Frank, #0,3,@2), (Dolly, #1,6,@5), (Elza, #1,7,@6) and (Dolly, #2,4,@3) are sampled shall have been At this time, when these sampling results are stably sorted using the value as a key, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=12 is (Frank, #0, 2, @1), and the search result when i=13 is (Frank, #0, 3, @2). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=15~16のとき
 このとき、図10に示すキー情報テーブルの位置「6」にあるΣ=14のレコードと位置「7」のあるΣ=17のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「6」のレコードに含まれるキー情報の比較キー以上、かつ、位置「7」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=15~16のときは、図19に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=15 to 16 At this time, using the Σ=14 record at position “6” and the Σ=17 record at position “7” in the key information table shown in FIG. Determines the search range for section search. Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at the position "6" is equal to or higher than the comparison key of the key information contained in the record at the position "7". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=15 to 16, the search range shown in FIG. 19 becomes the search range of the multiple sequence multi-section search.
 図19に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図20に示すように、(Frank,#0,3,@2)と(Frank,#0,4,@3)と(Elza,#1,7,@6)と(Frank,#1,8,@7)と(Frank,#1,9,@8)と(Dolly,#2,4,@3)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図20に示すように、Σ=14のレコードに含まれるキー情報が先頭、かつ、Σ=17のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=15のときの検索結果は(Frank,#1,8,@7)、i=16のときの検索結果は(Frank,#1,9,@8)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple series multi-section search on the search range shown in FIG. 19, (Frank, #0, 3, @2) and (Frank, #0, 4, @3) and (Elza, #1,7,@6), (Frank, #1,8,@7), (Frank, #1,9,@8) and (Dolly, #2,4,@3) are sampled shall have been At this time, when these sampling results are stably sorted using the value as a key, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=15 is (Frank, #1, 8, @7), and the search result when i=16 is (Frank, #1, 9, @8). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=18~21のとき
 このとき、図10に示すキー情報テーブルの位置「8」にあるΣ=17のレコードと位置「9」のあるΣ=22のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「8」のレコードに含まれるキー情報の比較キー以上、かつ、位置「9」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=18~21のときは、図21に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=18 to 21 At this time, using the record of Σ=17 at position “8” and the record of Σ=22 at position “9” of the key information table shown in FIG. Determines the search range for section search. Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at position "8" is equal to or higher than the comparison key of the key information contained in the record at position "9". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=18 to 21, the search range shown in FIG. 21 becomes the search range of the multiple sequence multi-section search.
 図21に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図22に示すように、(Frank,#0,4,@3)と(Kate,#0,5,@4)と(Kate,#0,6,@5)と(Frank,#1,8,@7)と(Frank,#1,9,@8)と(Genny,#1,10,@9)と(Dolly,#2,4,@3)と(Helen,#2,5,@4)と(Helen,#2,6,@5)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図22に示すように、Σ=17のレコードに含まれるキー情報が先頭、かつ、Σ=22のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=18のときの検索結果は(Helen,#2,5,@4)、i=19のときの検索結果は(Helen,#2,6,@5)、i=20のときの検索結果は(Kate,#0,5,@4)、i=21のときの検索結果は(Kate,#0,6,@5)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple series multi-section search on the search range shown in FIG. 21, (Frank, #0, 4, @3) and (Kate, #0, 5, @4) and (Kate, #0, 6, @5), (Frank, #1, 8, @7), (Frank, #1, 9, @8), (Genny, #1, 10, @9) and (Dolly , #2, 4, @3), (Helen, #2, 5, @4) and (Helen, #2, 6, @5) are sampled. At this time, when these sampling results are stably sorted using values as keys, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=18 is (Helen, #2, 5, @4), the search result when i=19 is (Helen, #2, 6, @5), and the search result when i=20 is The search result is (Kate, #0, 5, @4), and the search result when i=21 is (Kate, #0, 6, @5). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 ・i=24~27のとき
 このとき、図10に示すキー情報テーブルの位置「9」にあるΣ=23のレコードと位置「10」のあるΣ=28のレコードとを用いて、多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0、#1及び#2の各々において、位置「9」のレコードに含まれるキー情報の比較キー以上、かつ、位置「10」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=24~27のときは、図23に示すサーチ範囲が、多重系列マルチセクションサーチのサーチ範囲となる。
・When i=24 to 27 At this time, using the record of Σ=23 at position “9” and the record of Σ=28 at position “10” in the key information table shown in FIG. Determines the search range for section search. Specifically, in each of the series #0, #1 and #2, the comparison key of the key information contained in the record at the position "9" is equal to or higher than the comparison key of the key information contained in the record at the position "10". The search range is a half-open section (left-closed-right-open) below the key. As a result, when i=24 to 27, the search range shown in FIG. 23 becomes the search range of the multiple sequence multi-section search.
 図23に示すサーチ範囲に対して多重系列マルチセクションサーチを行うことで、図24に示すように、(Kate,#0,6,@5)と(Louis,#0,7,@6)と(Louis,#0,8,@7)と(Peter,#0,9,@8)と(Genny,#1,10,@9)と(Kate,#2,7,@6)と(Louis,#2,8,@7)と(Peter,#2,9,@8)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図24に示すように、Σ=23のレコードに含まれるキー情報が先頭、かつ、Σ=28のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。したがって、i=24のときの検索結果は(Louis,#0,8,@7)、i=25のときの検索結果は(Louis,#2,8,@7)、i=26のときの検索結果は(Peter,#2,9,@8)、i=27のときの検索結果は(Peter,#2,9,@8)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に多重系列マルチセクションサーチを行う。 By performing a multiple series multi-section search on the search range shown in FIG. 23, (Kate, #0, 6, @5) and (Louis, #0, 7, @6) as shown in (Louis, #0, 8, @7), (Peter, #0, 9, @8), (Genny, #1, 10, @9), (Kate, #2, 7, @6) and (Louis , #2, 8, @7) and (Peter, #2, 9, @8) are sampled. At this time, when these sampling results are stably sorted using the value as a key, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval. Therefore, the search result when i=24 is (Louis, #0, 8, @7), the search result when i=25 is (Louis, #2, 8, @7), and the search result when i=26 is The search result is (Peter, #2, 9, @8), and the search result for i=27 is (Peter, #2, 9, @8). If the interval is not a confidence interval, a recursive multi-sequence multi-section search is performed on the interval.
 <実施例2>
 以下、実施例2における重み付き多重系列マルチセクションサーチについて説明する。本実施例では、サーチ対象の系列はSVL、データ取得要求に指定されている位置iは複数のSVLを縦に結合したSVL(結合系列)に対応するINVの位置iであるものとする。また、本実施例では、当該データ提供装置10の1つ下の階層には2台のデータ提供装置10が存在し、図25に示す2つの仮想D5Aデータを持つとみなされるものとする。ただし、図25ではNNCの図示を省略している。以下、図25に示すSVL#0を「系列#0」、SVL#1を「系列#1」と呼ぶ。
<Example 2>
The weighted multiple sequence multi-section search in Example 2 will be described below. In this embodiment, it is assumed that the sequence to be searched is the SVL, and the position i specified in the data acquisition request is the position i of the INV corresponding to the SVL (combined sequence) vertically combining a plurality of SVLs. Also, in this embodiment, two data providing apparatuses 10 exist in the hierarchy one level below the data providing apparatus 10, and are assumed to have two virtual D5A data shown in FIG. However, illustration of the NNC is omitted in FIG. SVL#0 and SVL#1 shown in FIG. 25 are hereinafter referred to as "series #0" and "series #1", respectively.
 ここで、ACM[-1]=0と定義し、SVLの位置jの値の重みとして、ACM[j]-ACM[j-1]を用いるものとする。例えば、図25に示す例では、SVL#0の位置「0」の「Bob」の重みは「2」であり、位置「1」の「Bob」の重みは「1」である。つまり、SVLの位置jの重みの累計はACM[j]となる。 Here, ACM[-1]=0 is defined, and ACM[j]-ACM[j-1] is used as the weight of the value of position j in SVL. For example, in the example shown in FIG. 25, the weight of "Bob" at position "0" of SVL#0 is "2", and the weight of "Bob" at position "1" is "1". That is, the sum of the weights of the positions j of the SVL is ACM[j].
 サーチ対象の系列のサイズ(本実施例では、系列#0及び#1の各々のサイズ「5」と、それらを順に縦に結合した結合系列のサイズ「10」)は既知であるものとする。また、どの系列番号の系列をどのデータ提供装置10(又はデータベースサーバ20)が持っているかも既知であるものとする。なお、サーチ対象の系列はSVLであるため昇順(重複値はあってもよい)に並んでいることに留意されたい。また、図25に示す2つの仮想D5Aデータを縦に結合した場合、INVの要素は適宜読み替えられることに留意されたい。例えば、SVL#0、ACM#0及びINV#0を含む仮想D5Aデータを前方、SVL#1、ACM#1及びINV#1を含む仮想D5Aデータを後方として縦に結合した場合、INV#1の要素は上から順に「10」、「15」、「9」、「13」、「14」、「8」、「11」、「12」と読み替えられる。以下、SVL#0、ACM#0及びINV#0を含む仮想D5Aデータを前方、SVL#1、ACM#1及びINV#1を含む仮想D5Aデータを後方として縦に結合した場合を想定する。 It is assumed that the sizes of the sequences to be searched (in this embodiment, the size of each of sequences #0 and #1 is "5" and the size of the combined sequence vertically combining them is "10"). It is also assumed that which data providing device 10 (or database server 20) has which sequence number sequence is known. It should be noted that since the sequence to be searched is SVL, it is arranged in ascending order (duplicate values may exist). Also, it should be noted that when the two virtual D5A data shown in FIG. 25 are vertically combined, the elements of INV can be appropriately read. For example, when vertically combining virtual D5A data including SVL#0, ACM#0 and INV#0 in the front and virtual D5A data including SVL#1, ACM#1 and INV#1 in the back, INV#1 The elements can be read as "10", "15", "9", "13", "14", "8", "11", and "12" in order from the top. In the following, it is assumed that the virtual D5A data including SVL#0, ACM#0 and INV#0 are vertically linked and the virtual D5A data including SVL#1, ACM#1 and INV#1 are linked vertically.
 このとき、検索部202は、系列#0及び#1に対してマルチセクションサーチを行って、値とその値が含まれる系列の系列番号と重みの累計数と系列内におけるその値の位置とをサンプリングする。例えば、図26に示すように、系列#0及び#1の各々を3つ区間(区間1~区間3)に分割し、それらの区間の先頭の要素をサンプリングする。 At this time, searching section 202 performs a multi-section search on sequences #0 and #1 to find the value, the sequence number of the sequence containing the value, the cumulative number of weights, and the position of the value within the sequence. to sample. For example, as shown in FIG. 26, each of the sequences #0 and #1 is divided into three sections (sections 1 to 3), and the leading elements of these sections are sampled.
 図26に示す重み付き多重系列マルチセクションサーチにより、以下のデータがサンプリングされる。以下、このデータを「キー情報」と呼ぶことにする。本実施例におけるキー情報は、(値,系列番号,系列内におけるその値の重みの累計数,その値の重み、その系列内におけるその値の位置)の形式で表現される。 The following data are sampled by the weighted multiple series multi-section search shown in FIG. Hereinafter, this data will be called "key information". The key information in this embodiment is represented in the format of (value, sequence number, cumulative number of weights of the value within the sequence, weight of the value, position of the value within the sequence).
 (Bob,#0,2,2,@0)
 (Cathy,#0,5,2,@2)
 (Dolly,#0,8,2,@4)
 (Alice,#1,2,2,@0)
 (Cathy,#1,5,2,@2)
 (Elly,#1,8,1,@4)
 ここで、以下では、(値,系列番号,系列内におけるその値の重みの累計数)を「比較キー」と呼ぶことにする。
(Bob, #0, 2, 2, @0)
(Cathy, #0, 5, 2, @2)
(Dolly, #0, 8, 2, @4)
(Alice, #1, 2, 2, @0)
(Cathy, #1, 5, 2, @2)
(Elly, #1, 8, 1, @4)
Here, hereinafter, (value, sequence number, total number of weights of that value in the sequence) will be referred to as a "comparison key".
 次に、検索部202は、系列#0及び#1の各々において、比較キーを用いて、各キー情報よりも小さい最大のデータを求めると共に、キー情報毎にそれらのデータの重みの累計数の和Σを計算する。このとき、各キー情報よりも小さい最大のデータを求めるには、当該キー情報と同一系列のデータに関しては1つ下の位置にあるデータをサンプリングすればよく、当該キー情報と異なる系列のデータに関しては(値,系列番号)を用いてマルチセクションサーチにより当該キー情報以下の最大のデータをサンプリングすればよい。 Next, in each of series #0 and #1, searching section 202 uses the comparison key to find the maximum data that is smaller than each piece of key information, Calculate the sum Σ. At this time, in order to obtain the maximum data that is smaller than each key information, the data in the same series as the key information should be sampled at the position one position below. (value, sequence number) is used to sample the maximum data below the relevant key information by multi-section search.
 例えば、キー情報(Bob,#0,2,2,@0)に関して、系列#0では当該キー情報よりも小さいデータは存在しない。一方で、系列#1では当該キー情報よりも小さい最大のデータは(Alice,#1,2,2,@0)である。したがって、重みの累計数の和Σは、Σ=0+2=2となる。 For example, regarding the key information (Bob, #0, 2, 2, @0), there is no data smaller than the key information in series #0. On the other hand, in sequence #1, the maximum data smaller than the key information is (Alice, #1, 2, 2, @0). Therefore, the sum Σ of the accumulated numbers of weights is Σ=0+2=2.
 同様に、例えば、キー情報(Cathy,#0,5,2,@2)に関して、系列#0では当該キー情報よりも小さい最大のデータは(Bob,#0,3,1,@1)であり、系列#1では当該キー情報よりも小さい最大のデータは(Alice,#1,2,2,@0)である。したがって、重みの累計数の和Σは、Σ=3+2=5となる。 Similarly, for example, regarding key information (Cathy, #0, 5, 2, @2), the largest data smaller than the key information in series #0 is (Bob, #0, 3, 1, @1). There is, and in series #1, the largest data smaller than the key information is (Alice, #1, 2, 2, @0). Therefore, the sum Σ of the accumulated numbers of weights is Σ=3+2=5.
 他のキー情報に関しても同様に、系列#0及び#1の各々において、当該キー情報よりも小さい最大のデータを求めて(当該キー情報よりも小さい最大のデータが存在しない場合も含む)、重みの累計数の和Σが計算される。 Similarly, with respect to other key information, in each of series #0 and #1, the maximum data smaller than the key information is obtained (including the case where there is no maximum data smaller than the key information), and the weight is calculated.
 次に、検索部202は、(キー情報,各系列の各々でそのキー情報よりも小さい最大のデータ,それらのデータの重みの累計数の和Σ)をΣの値によりソートし、その結果を記憶部204に保持する。これにより、本実施例では、図27のようなキー情報テーブルが記憶部204に保持される。 Next, the search unit 202 sorts (key information, the maximum data smaller than the key information in each series, and the sum Σ of the cumulative numbers of the weights of these data) by the value of Σ, and the result is It is held in the storage unit 204 . As a result, a key information table as shown in FIG. 27 is held in the storage unit 204 in this embodiment.
 このとき、ΣはそのΣに対応するキー情報に含まれる値の、結合系列に対応するINVにおける位置を表しているため、i=ΣとなるΣが存在する場合、検索部202は、そのΣに対応するキー情報を検索結果とする。すなわち、図27に示す例では、i=0、2、5、8、11、15である場合、検索部202は、i=Σに対応するキー情報を検索結果とする。また、重みの大きさの範囲内であれば同一のSVL/ACMの要素に対応するINVの要素であり、INVの要素を特定できる。例えば、後述するように、i=12~14のとき、重み「2」を持つ(Dolly,#0,8,2,@4)はi=11,12に対応し、同様に重み「2」を持つ(Elly,#1,7,2,@3)はi=13,14に対応することになる。 At this time, Σ represents the position of the value included in the key information corresponding to Σ in the INV corresponding to the combined sequence. The search result is the key information corresponding to . That is, in the example shown in FIG. 27, when i=0, 2, 5, 8, 11, 15, the search unit 202 obtains the key information corresponding to i=Σ as the search result. Also, within the range of the magnitude of the weight, it is an INV element corresponding to the same SVL/ACM element, and the INV element can be specified. For example, as will be described later, when i=12 to 14, (Dolly, #0,8,2,@4) with weight "2" corresponds to i=11,12, and similarly weight "2". (Elly, #1,7,2,@3) will correspond to i=13,14.
 一方で、i=ΣとなるΣが存在しない場合、検索部202は、より小さい区間に対して再帰的に重み付き多重系列マルチセクションサーチを行うことで、検索結果を得る。これは重みが異なること以外は実施例1と同様であるため、以下、一例として、i=12~14のときについて説明する。 On the other hand, if there is no Σ such that i=Σ, search section 202 obtains a search result by recursively performing a weighted multiple sequence multi-section search on smaller intervals. Since this is the same as the first embodiment except that the weights are different, the case of i=12 to 14 will be described below as an example.
 ・i=12~14のとき
 このとき、図27に示すキー情報テーブルの位置「4」にあるΣ=11のレコードと位置「5」のあるΣ=15のレコードとを用いて、重み付き多重系列マルチセクションサーチのサーチ範囲を決定する。具体的には、各系列#0及び#1の各々において、位置「4」のレコードに含まれるキー情報の比較キー以上、かつ、位置「5」のレコードに含まれるキー情報の比較キー未満の半開区間(左閉右開)をサーチ範囲とする。これにより、i=12のときは、図28に示すサーチ範囲が、重み付き多重系列マルチセクションサーチのサーチ範囲となる。
・When i=12 to 14 At this time, the record of Σ=11 at position “4” and the record of Σ=15 at position “5” of the key information table shown in FIG. 27 are used to perform weighted multiplexing. Determine the search range for sequence multi-section search. Specifically, in each of the series #0 and #1, the comparison key of the key information included in the record at position "4" or more and less than the comparison key of the key information included in the record at position "5" A half-open section (left closed, right open) is set as a search range. As a result, when i=12, the search range shown in FIG. 28 becomes the search range of the weighted multiple sequence multi-section search.
 図28に示すサーチ範囲に対して重み付き多重系列マルチセクションサーチを行うことで、図29に示すように、(Dolly,#0,6,1,@3)と(Dolly,#0,8,2,@4)と(Cathy,#1,5,2,@2)と(Elly,#1,7,2,@3)とがサンプリングされたものとする。このとき、値をキーとして、これらのサンプリング結果に対して安定ソートすると、図29に示すように、Σ=11のレコードに含まれるキー情報が先頭、かつ、Σ=15のレコードに含まれるキー情報より小さい最大のデータを末尾とする区間が得られる。本実施例では、この区間内のすべての要素がサンプリングされているため、この区間は信頼区間となる。 By performing a weighted multiple sequence multi-section search on the search range shown in FIG. 28, (Dolly, #0, 6, 1, @3) and (Dolly, #0, 8, 2, @4), (Cathy, #1, 5, 2, @2) and (Elly, #1, 7, 2, @3) are sampled. At this time, when these sampling results are stably sorted using values as keys, as shown in FIG. An interval ending with the largest data smaller than the information is obtained. In this example, all elements within this interval have been sampled, so this interval is a confidence interval.
 このとき、(Dolly,#0,8,2,@4)は重みが「2」であるためi=11,12に対応し、(Elly,#1,7,2,@3)も重みが「2」であるためi=13,14に対応する。 At this time, (Dolly, #0, 8, 2, @4) has a weight of "2", so it corresponds to i=11, 12, and (Elly, #1, 7, 2, @3) also has a weight of Since it is "2", it corresponds to i=13,14.
 したがって、i=12のときの検索結果は(Dolly,#0,8,2,@4)、i=13,14のときの検索結果は(Elly,#1,7,2,@3)となる。なお、当該区間が信頼区間でない場合は、当該区間に対して再帰的に重み付き多重系列マルチセクションサーチを行う。 Therefore, the search result when i=12 is (Dolly, #0, 8, 2, @4), and the search result when i=13, 14 is (Elly, #1, 7, 2, @3). Become. If the interval is not a confidence interval, a recursive weighted multiple sequence multi-section search is performed on the interval.
 本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the specifically disclosed embodiments described above, and various modifications, alterations, combinations with known techniques, etc. are possible without departing from the scope of the claims. .
 1    データ提供システム
 10   データ提供装置
 20   データベースサーバ
 30   ユーザ端末
 101  入力装置
 102  表示装置
 103  外部I/F
 103a 記録媒体
 104  通信I/F
 105  プロセッサ
 106  メモリ装置
 107  バス
 201  要求受付部
 202  検索部
 203  結果応答部
 204  記憶部
1 data providing system 10 data providing device 20 database server 30 user terminal 101 input device 102 display device 103 external I/F
103a recording medium 104 communication I/F
105 processor 106 memory device 107 bus 201 request receiving unit 202 searching unit 203 result responding unit 204 storage unit

Claims (11)

  1.  階層的に配置されるデータ提供装置であって、
     1つ下の階層に存在する他のデータ提供装置又はデータベースサーバが管理する複数の系列を結合した系列である結合系列の位置が指定されたデータ取得要求を1つ上の階層から受信するように構成されている要求受信部と、
     前記結合系列に含まれる値のうちの前記位置に対応する値と、前記結合系列の結合元となった複数の系列のうちの前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索するように構成されている検索部と、
     前記検索部により検索された検索結果を、前記データ取得要求に対する応答として、前記データ取得要求の要求元に送信するように構成されている応答部と、
     を有するデータ提供装置。
    A data providing device arranged hierarchically,
    To receive a data acquisition request designating the position of a combined sequence, which is a sequence combining multiple sequences managed by other data providing devices or database servers existing in the hierarchy one level lower, from the hierarchy one level higher. a configured request receiver;
    Searching at least the value corresponding to the position among the values included in the combined sequence and the sequence number of the sequence containing the value corresponding to the position among the plurality of sequences from which the combined sequence is combined. a search unit configured to
    a response unit configured to transmit, as a response to the data acquisition request, a search result retrieved by the search unit to the source of the data acquisition request;
    A data providing device having
  2.  前記系列では、値に対して、重みと、前記値の昇順又は降順に前記重みを累計した累計値とが付与されており、
     前記検索部は、
     前記結合系列の結合元となった複数の系列の各々の系列全体を検索範囲として、前記検索範囲を1以上の区間に分割した上で、各区間の先頭の値をサンプリングし、
     前記サンプリングされた値と、前記値が含まれる系列の系列番号と、前記値に付与された累計値とを用いて、前記データ取得要求に指定された位置に対応する値と前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索するように構成されている、請求項1に記載のデータ提供装置。
    In the series, a weight and a cumulative value obtained by accumulating the weight in ascending or descending order of the value are given to the value,
    The search unit is
    dividing the search range into one or more sections with the entire series of each of the plurality of series that are the concatenation sources of the combined series as a search range, and sampling the leading value of each section;
    A value corresponding to the position specified in the data acquisition request and a value corresponding to the position using the sampled value, the sequence number of the sequence containing the value, and the accumulated value given to the value 2. The data providing device according to claim 1, configured to retrieve at least the sequence number of the sequence containing the value.
  3.  前記検索部は、
     前記サンプリングされた値に対応する累計値の中に、前記データ取得要求に指定された位置と一致する累計数が存在する場合、少なくとも前記サンプリングされた値と前記値が含まれる系列の系列番号とを検索結果とし、
     前記サンプリングされた値に対応する累計値の中に、前記データ取得要求に指定された位置と一致する累計数が存在しない場合、前記検索範囲よりも狭い検索範囲を1以上の区間に分割した上で、各区間の先頭の値をサンプリングし、
     前記サンプリングされた値と、前記値が含まれる系列の系列番号と、前記値に付与された累計値とを用いて、前記データ取得要求に指定された位置に対応する値と前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索するように構成されている、請求項2に記載のデータ提供装置。
    The search unit is
    if there is a cumulative number that matches the position specified in the data acquisition request among the cumulative values corresponding to the sampled values, at least the sampled values and the sequence number of the sequence containing the values; as the search result, and
    If there is no cumulative number that matches the position specified in the data acquisition request among the cumulative values corresponding to the sampled values, the search range narrower than the search range is divided into one or more sections. , sample the first value in each interval, and
    A value corresponding to the position specified in the data acquisition request and a value corresponding to the position using the sampled value, the sequence number of the sequence containing the value, and the accumulated value given to the value 3. The data providing device according to claim 2, configured to retrieve at least the sequence number of the sequence containing the value.
  4.  前記サンプリングされた値に対応する累計値の中に、前記データ取得要求に指定された位置と一致する累計数が存在しない場合、前記データ取得要求に指定された位置未満の最大の累計数と、前記データ取得要求に指定された位置を超える最小の累計数とを用いて、前記検索範囲よりも狭い検索範囲を決定した上で、前記検索範囲よりも狭い検索範囲を1以上の区間に分割した上で、各区間の先頭の値をサンプリングするように構成されている、請求項3に記載のデータ提供装置。 if there is no cumulative number matching the position specified in the data acquisition request among the cumulative values corresponding to the sampled values, a maximum cumulative number less than the position specified in the data acquisition request; A search range narrower than the search range is determined using the minimum cumulative number exceeding the position specified in the data acquisition request, and then the search range narrower than the search range is divided into one or more sections. 4. A data provider as claimed in Claim 3 and above, arranged to sample the value at the beginning of each interval.
  5.  前記系列はSVLであり、前記データ取得要求には、複数のSVLを結合したSVLの位置が指定される、請求項2乃至4の何れか一項に記載のデータ提供装置。 5. The data providing device according to any one of claims 2 to 4, wherein the sequence is SVL, and the data acquisition request specifies the position of SVL combining a plurality of SVLs.
  6.  前記重みはすべて1である、請求項5に記載のデータ提供装置。 The data providing device according to claim 5, wherein all of the weights are 1.
  7.  前記系列はSVLであり、前記データ取得要求には、複数のSVLを結合したSVLに対応するINVの位置が指定される、請求項2乃至4の何れか一項に記載のデータ提供装置。 5. The data providing device according to any one of claims 2 to 4, wherein said sequence is SVL, and said data acquisition request specifies the position of INV corresponding to SVL combining a plurality of SVLs.
  8.  前記複数のSVLを結合したSVLのj番目の値には、前記SVLに対応するACMの-1番目の要素の値を0として、前記SVLに対応するACMのj番目の要素の値とj-1番目の要素の値との差が前記重みとして付与されている、請求項7に記載のデータ提供装置。 For the j-th value of the SVL obtained by combining the plurality of SVLs, the value of the -1-th element of the ACM corresponding to the SVL is set to 0, and the value of the j-th element of the ACM corresponding to the SVL and j- 8. The data providing device according to claim 7, wherein a difference from the value of the first element is given as said weight.
  9.  前記データ取得要求に指定されている位置が、前記複数のSVLを結合したSVLに対応するINVの位置である場合、SVLのj番目の値は、INVの要素のうち、ACMのj-1番目の要素の値で表される位置から、ACMのj番目の要素の値で表される位置の1つ前の位置までの要素に対応する、請求項6に記載のデータ提供装置。 If the position specified in the data acquisition request is the position of the INV corresponding to the SVL combining the plurality of SVLs, the j-th value of the SVL is the j-1th ACM of the INV elements. 7. The data providing device according to claim 6, which corresponds to the element from the position represented by the value of the element of ACM to the position one position before the position represented by the value of the j-th element of ACM.
  10.  階層的に配置されるデータ提供装置が、
     1つ下の階層に存在する他のデータ提供装置又はデータベースサーバが管理する複数の系列を結合した系列である結合系列の位置が指定されたデータ取得要求を1つ上の階層から受信する要求受信手順と、
     前記結合系列に含まれる値のうちの前記位置に対応する値と、前記結合系列の結合元となった複数の系列のうちの前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索する検索手順と、
     前記検索手順により検索された検索結果を、前記データ取得要求に対する応答として、前記データ取得要求の要求元に送信する応答手順と、
     を実行するデータ提供方法。
    A data providing device arranged hierarchically,
    Receipt of a request to receive a data acquisition request specifying the position of a combined sequence, which is a sequence combining multiple sequences managed by another data providing device or database server existing in the hierarchy one level lower, from the hierarchy one level higher a procedure;
    Searching at least the value corresponding to the position among the values included in the combined sequence and the sequence number of the sequence containing the value corresponding to the position among the plurality of sequences from which the combined sequence is combined. a search procedure to
    a response procedure for transmitting a search result retrieved by the search procedure to a requester of the data acquisition request as a response to the data acquisition request;
    Data provision method to perform.
  11.  階層的に配置されるデータ提供装置に、
     1つ下の階層に存在する他のデータ提供装置又はデータベースサーバが管理する複数の系列を結合した系列である結合系列の位置が指定されたデータ取得要求を1つ上の階層から受信する要求受信手順と、
     前記結合系列に含まれる値のうちの前記位置に対応する値と、前記結合系列の結合元となった複数の系列のうちの前記位置に対応する値が含まれる系列の系列番号とを少なくとも検索する検索手順と、
     前記検索手順により検索された検索結果を、前記データ取得要求に対する応答として、前記データ取得要求の要求元に送信する応答手順と、
     を実行させるプログラム。
    In the hierarchically arranged data providing device,
    Receipt of a request to receive a data acquisition request specifying the position of a combined sequence, which is a sequence combining multiple sequences managed by another data providing device or database server existing in the hierarchy one level lower, from the hierarchy one level higher a procedure;
    Searching at least the value corresponding to the position among the values included in the combined sequence and the sequence number of the sequence containing the value corresponding to the position among the plurality of sequences from which the combined sequence is combined. a search procedure to
    a response procedure for transmitting a search result retrieved by the search procedure to a requester of the data acquisition request as a response to the data acquisition request;
    program to run.
PCT/JP2022/005660 2022-02-14 2022-02-14 Data providing device, data providing method, and program WO2023152965A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005660 WO2023152965A1 (en) 2022-02-14 2022-02-14 Data providing device, data providing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005660 WO2023152965A1 (en) 2022-02-14 2022-02-14 Data providing device, data providing method, and program

Publications (1)

Publication Number Publication Date
WO2023152965A1 true WO2023152965A1 (en) 2023-08-17

Family

ID=87564007

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005660 WO2023152965A1 (en) 2022-02-14 2022-02-14 Data providing device, data providing method, and program

Country Status (1)

Country Link
WO (1) WO2023152965A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015207026A (en) * 2012-08-29 2015-11-19 株式会社ターボデータラボラトリー Information processor, record position information specification method and information processing program
JP2018045441A (en) * 2016-09-14 2018-03-22 株式会社ターボデータラボラトリー Data integration method, data integration device, data processing system, and computer program
JP2019057082A (en) * 2017-09-20 2019-04-11 株式会社東芝 Data retrieval system, data retrieving method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015207026A (en) * 2012-08-29 2015-11-19 株式会社ターボデータラボラトリー Information processor, record position information specification method and information processing program
JP2018045441A (en) * 2016-09-14 2018-03-22 株式会社ターボデータラボラトリー Data integration method, data integration device, data processing system, and computer program
JP2019057082A (en) * 2017-09-20 2019-04-11 株式会社東芝 Data retrieval system, data retrieving method, and program

Similar Documents

Publication Publication Date Title
US20200050968A1 (en) Interactive interfaces for machine learning model evaluations
US11461286B2 (en) Fair sampling in a hierarchical filesystem
Yang et al. Implementation of a big data accessing and processing platform for medical records in cloud
US10459904B2 (en) Real time mapping of user models to an inverted data index for retrieval, filtering and recommendation
US8934723B2 (en) Presentation and organization of content
JP4930153B2 (en) Document search system, document number subsequence acquisition apparatus, and document search method
CN105408857A (en) Generating a multi-column index for relational databases by interleaving data bits for selectivity
US10162855B2 (en) Systems and methods for optimizing data analysis
AU2014201593A1 (en) Shared cache used to provide zero copy memory mapped database
JP2007058727A (en) Storage management system and method thereof
JP2010507843A (en) Personal music recommendation mapping
US7194477B1 (en) Optimized a priori techniques
US20180307744A1 (en) Named entity-based category tagging of documents
US20240004883A1 (en) Data ingestion with spatial and temporal locality
US11281647B2 (en) Fine-grained scalable time-versioning support for large-scale property graph databases
US10346482B1 (en) Context- and activity-aware content selection
US20140081982A1 (en) Method and Computer for Indexing and Searching Structures
WO2023152965A1 (en) Data providing device, data providing method, and program
CN107844592A (en) A kind of method and apparatus of query metadata
WO2019163610A1 (en) Information processing system and information processing method
CN108665221B (en) Performance data processing method and device, computer equipment and readable medium
JP7462191B2 (en) Search method and search device
Revathi et al. Big Data Processing with Hadoop
JP7418781B2 (en) Company similarity calculation server and company similarity calculation method
CN104978350B (en) The search method and system of binary features

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22925984

Country of ref document: EP

Kind code of ref document: A1