WO2014114112A1 - 一种产生数据的方法和装置 - Google Patents
一种产生数据的方法和装置 Download PDFInfo
- Publication number
- WO2014114112A1 WO2014114112A1 PCT/CN2013/085193 CN2013085193W WO2014114112A1 WO 2014114112 A1 WO2014114112 A1 WO 2014114112A1 CN 2013085193 W CN2013085193 W CN 2013085193W WO 2014114112 A1 WO2014114112 A1 WO 2014114112A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- matrix
- vector
- vector set
- data generation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Definitions
- the present invention relates to the field of computers, and in particular, to a method and apparatus for generating data. Background technique
- Big Data is often used to describe a large amount of unstructured and semi-structured data created by a company. Now the research on big data has been extended to all aspects of life, through the analysis of big data. Discover and get more valuable information. Big data has become the subject of many current industry research.
- the existing large-scale data generation technologies mainly include the following: Based on Hadoop (a distributed system infrastructure, users can develop distributed programs without knowing the underlying details of the distributed) benchmarking program, using completely random The way to generate large-scale data; or, generate data using a zipfian distribution, or generate data according to a uniform distribution and a Gaussian distribution.
- Embodiments of the present invention provide a method and apparatus for generating data, which are capable of generating big data using small-scale sample data, while retaining the characteristic rules of the original small-scale data, improving the reference value of the generated big data, and No large-scale movement of data is required, which saves storage and network overhead.
- the embodiment of the present invention adopts the following technical solutions:
- a method for generating data is provided, where the method includes:
- the data generation policy is sent to the slave node, such that the slave node generates second data according to the data generation policy, and uploads the second data to the file system.
- the sample data is a matrix of m rows and n columns, where m represents a total number of first objects, n represents a total number of second objects, and elements in the matrix are r ( u, i ) , the r ( u, i ) represents the score of the i-th second object by the uth first object.
- the formulating a data generation policy according to the obtained sample data includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the first reference vector set in the m row vector of the matrix.
- the formulating the data generation policy according to the obtained sample data further includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- J3 ⁇ 4 'J clusters the n-column vector of the matrix, and uses the vector in the center point of the cluster processing result as the first reference vector set. ;
- the generating the first data according to the data generation policy includes: according to the second or the third possible implementation manner,
- each vector in the second vector set does not include an empty element
- the third vector set is added to the matrix to form a new matrix, and the new matrix is used as the first data.
- the method when the data generating policy is sent to the slave node, the method also includes:
- the method further includes:
- completion generation data message sent by the slave node is not received within the time interval, specifying that other slave nodes other than the slave node generate data according to the data generation policy and generate data Upload to the file system.
- a method of generating data comprising:
- the data generation strategy includes: m rows and n columns, where m represents the total number of first objects, n represents the total number of second objects, and the elements in the matrix are r ( u, i ), and the r ( u, i ) represents the first The score of the i first object to the i-th second object.
- the data generation policy received from the primary node includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the second reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the second reference vector set in the m row vector of the matrix.
- the data generation policy received from the primary node includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- J3 ⁇ 4 'J clusters the n-column vector of the matrix, and the vector in the center point of the clustering processing result is used as the second reference vector set. ;
- J3 ⁇ 4 'J clusters the m row vectors of the matrix, and uses the vector in the center point of the clustering processing result as the second reference vector set.
- the generating the second data according to the data generation policy includes:
- Position information according to non-empty elements in each of the reference vectors and the The fifth vector set generates a sixth vector set
- the sixth vector set is added to the matrix to form a new matrix, and the new matrix is used as the second data.
- an apparatus for generating data comprising:
- a policy making unit configured to: generate a data generation policy according to the obtained sample data; the first data generating unit is configured to generate first data according to the data generation policy, and upload the first data to a file system;
- a policy distribution unit configured to send the data generation policy to the slave node, so that the slave node generates second data according to the data generation policy, and uploads the second data to the file system.
- the sample data is a matrix of m rows and n columns, where m represents a total number of first objects, n represents a total number of second objects, and elements in the matrix are r ( u, i ) , the r ( u, i ) represents the score of the i-th second object by the uth first object.
- the policy making unit is specifically configured to:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the first reference vector set in the m row vector of the matrix.
- the policy making unit is further configured to:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- the determined data is generated in a direction that extends in the longitudinal direction of the matrix, then at the moment At least one row of the m row vectors of the array is selected as the first reference vector set.
- the first data generating unit includes:
- a first location recording unit configured to record location information of a non-empty element in each vector in the first reference vector set, and send the location information to a first vector generating unit; And selecting, according to the non-empty elements in each vector in the first reference vector set, a first vector set, where each vector in the first vector set does not include an empty element;
- the first vector generating unit is further configured to generate a second vector set according to the first vector set by using vector similarity, where each vector in the second vector set does not include an empty element;
- the first vector generating unit is further configured to generate a third vector set according to the location information of the non-empty element in each of the reference vectors and the second vector set, and send the third vector set to the first a synthesis subunit;
- a first synthesis subunit configured to receive the third vector set from the first vector generation unit, add the third vector set to the matrix to form a new matrix, and use the new matrix as the first data.
- the policy distribution unit is further configured to:
- the policy distribution unit is further configured to:
- completion generation data message sent by the slave node is not received within the time interval, specifying that other slave nodes other than the slave node generate data according to the data generation policy and generate data Upload to the file system.
- an apparatus for generating data comprising: a policy receiving unit, configured to receive a data generation policy from the primary node;
- a second data generating unit configured to generate second data according to the data generation policy, and upload the second data to a file system.
- the data generation policy includes: a matrix of m rows and n columns, where m represents a total number of first objects, and n represents a total number of second objects, the matrix The middle element is r ( u, i ), and the r ( u, i ) represents the score of the i-th second object by the uth first object.
- the data generating policy received by the policy receiving unit includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the second reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the second reference vector set in the m row vector of the matrix.
- the data generating policy received by the policy receiving unit includes:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, clustering the n-column vector of the matrix, and using a vector in a center point of the clustering processing result as a second reference vector set; or
- J3 ⁇ 4 'J clusters the m row vectors of the matrix, and uses the vector in the center point of the clustering processing result as the second reference vector set.
- the second data generating unit includes:
- a second location recording unit configured to record location information of a non-empty element in each vector in the second reference vector set, and send the location information to a second vector generation unit;
- a second vector generating unit configured to select a non-empty element in each vector in the second reference vector set as a fourth vector set, where each vector in the fourth vector set does not include an empty element;
- the second vector generating unit is further configured to generate a fifth vector set according to the fourth vector set by using vector similarity, where each vector in the fifth vector set does not include an empty element;
- the second vector generating unit is further configured to generate a sixth vector set according to the location information of the non-empty element in each of the reference vectors and the fifth vector set, and send the sixth vector set to a second synthesis subunit;
- a second synthesis subunit configured to receive the sixth vector set from the second vector generation unit, add the sixth vector set to the matrix to form a new matrix, and use the new matrix as the second data.
- the present invention provides a method and apparatus for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, retains the characteristic rules of the original small-scale data, improves the reference value of the generated big data, and avoids large-scale movement of data, effectively saving storage and network overhead. .
- FIG. 1 is a schematic flowchart of a method for generating data according to an embodiment of the present invention
- FIG. 2 is a schematic flowchart of a method for generating data according to an embodiment of the present invention
- FIG. 3 is a schematic diagram of generating data according to an embodiment of the present invention
- FIG. 4 is a schematic diagram of a method for generating data according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of a method for generating data according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of an apparatus for generating data according to an embodiment of the present invention
- FIG. 7 is a schematic structural diagram of another apparatus for generating data according to another embodiment of the present invention
- FIG. 6 is a schematic structural diagram of an apparatus for generating data according to an embodiment of the present invention
- FIG. 7 is a schematic structural diagram of another apparatus for generating data according to another embodiment of the present invention.
- FIG. 8 is a schematic structural diagram of an apparatus for generating data according to an embodiment of the present invention
- FIG. 9 is a schematic structural diagram of an apparatus for generating data according to an embodiment of the present invention
- FIG. 10 is a schematic diagram of a device for generating data according to an embodiment of the present invention
- FIG. 11 is a schematic structural diagram of an apparatus for generating data according to an embodiment of the present invention.
- An embodiment of the present invention provides a method for generating data. As shown in FIG. 1, the method based on the primary node side includes:
- the data generation strategy here is an algorithm for generating data for all nodes including a master node and a slave node, and is a method obtained by the master node according to data generation requirements and sample data types, and sends the method to at least one
- the slave node in order to include the master node and the at least one slave node, generates a large-scale data that meets the requirements
- the data generation policy specifically includes:
- the selected direction of expansion in the sample data for example, can be extended in the horizontal or vertical direction;
- Another embodiment of the present invention provides a method for generating data. As shown in FIG. 2, the method based on the slave node includes:
- the above file system is a computer cluster.
- a distributed file system solution may be adopted.
- the file system is used to receive and store data generated by the master node and the slave node, and the data is Integrate a complete large-scale data matrix.
- the above-mentioned master node and slave node may be a relationship between a server and a client.
- the master node sends a data generation policy to the slave node
- the slave node receives a data generation policy sent by the master node, and the master node generates a policy according to the data generation policy.
- Data, and the generated data is sent to the file system
- the slave node also generates data according to the data generation policy, and sends the generated data to the file system.
- the present invention provides a method and apparatus for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, retains the characteristic rules of the original small-scale data, improves the reference value of the generated big data, and avoids large-scale movement of data, effectively saving storage and network overhead. .
- Another embodiment of the present invention provides a method for generating data. As shown in FIG. 4, the method includes: 301. A primary node formulates a data generation policy according to the obtained sample data.
- the sample data may be a matrix of m rows and n columns, where m represents the total number of first objects, n represents the total number of second objects, and the elements in the matrix are r ( u , i ) , r ( u, i ) indicates the score of the i-th second object to the i-th second object.
- the data generation strategy according to the obtained sample data may specifically include:
- the data generation strategy includes an algorithm for generating data by all nodes including the master node and the slave node, and is performed by the master node according to the data generation requirement and the sample data type. And obtaining a method, and sending the method to the at least one slave node, so as to include the master node and the at least one slave node to generate the large-scale data that meets the requirements, where the data generation policy specifically includes:
- the selected direction of expansion in the sample data for example, can be extended in the horizontal or vertical direction;
- the master node sends a data generation policy to the slave node.
- the master node determines that the direction of data generation is a horizontal extension along the matrix and/or a longitudinal extension along the matrix.
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- At least one row is selected as the first reference vector set in the m row vector of the matrix.
- results of row expansion of the matrix are shown in Table 2, and the results of column expansion of the matrix are shown in Table 3.
- the data generation strategy based on the obtained sample data may have another implementation manner:
- Determining the direction in which the data is generated is a lateral extension along the matrix and/or a longitudinal extension along the matrix;
- the determined data generation direction is extended along the horizontal direction of the matrix, clustering the n-column vector of the matrix, and using the vector in the center point of the clustering processing result as the first reference vector set; or If the determined data generation direction is extended along the longitudinal direction of the matrix, the m-row vector of the matrix is clustered, and the vector in the center point of the clustering processing result is used as the first reference vector set.
- the clustering process can classify the selected vectors in the matrix according to the predetermined size, perform the averaging operation in each classification, and use all the obtained average values as the elements in the reference vector set.
- the master node records location information of non-empty elements in each vector in the first reference vector set.
- the position information of the non-empty element in each vector is the sequence number of the above element in the row or column of the matrix.
- the position information of the elements in the above reference vector is: 2, 4, 5.
- the master node selects the first vector set according to the non-empty elements in each vector in the first reference vector set, and each vector in the first vector set does not include an empty element.
- the first vector set can be obtained from all the vectors in the reference vector set.
- the master node generates a second vector set according to the first vector set by using vector similarity, where each vector in the second vector set does not include an empty element.
- the distance from the point near each element in the vector set to the element in the first vector, d represents the distance between two points in the space
- Xl , yi , a represent the elements in the first vector set.
- the obtained distance is compared with a prescribed value, and a point whose distance is smaller than a prescribed value is selected, wherein the specified value is transmitted from the master node to the slave node.
- the elements in a vector of the first vector set are 3, 5, 1, and the specified value is 2, and according to the above formula, points (2, 4, 1) and points (3, 5, The spatial distance of 1, ) is less than the specified distance 2, so the coordinate values 2, 4, 1 of the point (2, 4, 1) can be used as elements in the second vector.
- the coordinate value of the obtained point is greater than or equal to the minimum value of the existing value in the matrix, and is less than or equal to the maximum value of the existing value in the matrix.
- the second vector set can be obtained from all the vectors in the first vector set.
- the master node generates a third vector set according to the location information of the non-empty element in each vector in the reference vector and the second vector set.
- the selected first vector set is the second row, wherein the elements are 3, 5, 1.
- the position of the matrix in which the element is located is shown in the third row of Table 6.
- the elements in the second vector generate a third vector according to the position information, for example, the obtained position information of the vector shown in Table 4 is 2, 4, 5, according to The position information of the vector shown in Table 4 is 2, 4, 5 and the vector (2, 4, 1) in the second vector set obtained in step 306.
- the vector that can be obtained is shown in Table 7: Table 7
- the third vector set can be obtained according to all the vectors in the second vector set.
- the master node adds a third vector set to the matrix to form a new matrix, and uses the new matrix as the first data.
- the vector (2, 4, 1) in the third vector set obtained in 307 is added to the original matrix to form a new matrix as shown in Table 8:
- the master node uploads the formed new matrix to the file system.
- the master node sends the amount of data that the node needs to generate data to the slave node at a time interval from the node to the master node to return the completed data message.
- the simultaneous transmission also includes the value specified in the generated data to generate data that meets the requirements.
- the master node receives the complete data generation message from the slave node according to the time interval. Completing the generated data message includes the data generated from the node and the generated data.
- the slave node sends the data generation result to the master node at a specified time interval.
- the data generation result may be: "The current local node has been generated. The data is 2789, the completion rate is 87%. ,, or "This node has completed the data generation task”.
- the master node uploads the generated matrix to the file system.
- the slave node other than the slave node is configured to generate data according to the data generation policy and upload the generated data to the file system.
- the master node When the master node does not receive the data generation information sent by the slave node within the specified time interval, the slave node is considered to be faulty. Therefore, the master node terminates the data generation task of the slave node and reselects in the other node. From the node, the data generation policy is repeatedly transmitted, and the data generation information of the corresponding node is received.
- An embodiment of the present invention provides a method for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, improving the reference value of the generated big data, and avoiding large-scale movement of data, effectively saving storage and network. Overhead.
- Another embodiment of the present invention provides a method for generating data. As shown in FIG. 5, the method includes:
- the slave node receives a data generation policy from the master node.
- the data generation policy received from the node is exactly the same as the data generation policy provided in the 301, and is not described here.
- the slave node determines that the direction of data generation is a lateral expansion along the matrix and/or a longitudinal extension along the matrix.
- the determined data generation direction is a horizontal extension along the matrix
- at least one column of the n-column vector of the matrix is selected as the second reference vector set
- At least one row is selected as the second reference vector set in the m row vector of the matrix.
- Determining the direction in which the data is generated is a lateral extension along the matrix and/or a longitudinal extension along the matrix;
- the determined data generation direction is extended along the longitudinal direction of the matrix, the m row vectors of the matrix are clustered, and the vector in the center point of the clustering processing result is used as the second reference vector set.
- the slave node records location information of a non-empty element in each vector in the second reference vector set.
- the position information of the non-empty element in each vector is the sequence number of the above element in the row or column of the matrix.
- the slave node generates a fifth vector set according to the fourth vector set by using vector similarity, and each vector in the fifth vector set does not include an empty element.
- the slave node generates a sixth vector set according to the location information of the non-empty element in each vector in the reference vector and the fifth vector set.
- the slave node adds the sixth vector set to the matrix to form a new matrix, and uses the new matrix as the second data.
- the slave node uploads the second data to the file system.
- An embodiment of the present invention provides a method for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, improving the reference value of the generated big data, and avoiding large-scale movement of data, effectively saving storage and network. Overhead.
- An embodiment of the present invention provides a device for generating data 01. As shown in FIG. 6, the device includes:
- the strategy making unit 011 is configured to formulate a data generation strategy based on the obtained sample data.
- a first data generating unit 012 configured to generate first data according to a data generation policy, and Upload the first data to the file system.
- the policy distribution unit 013 is configured to send a data generation policy to the slave node, to generate second data from the node according to the data generation policy, and upload the second data to the file system.
- the sample data is a matrix of m rows and n columns, wherein m represents the total number of the first objects, n represents the total number of the second objects, and the elements in the matrix are r ( u, i ), and r ( u, i ) represents the u The score of the first object to the i-th second object.
- the policy formulation unit 011 can be specifically configured to:
- Determining the direction in which the data is generated is a lateral extension along the matrix and/or a longitudinal extension along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- At least one row is selected as the first reference vector set in the m row vector of the matrix.
- the policy formulation unit 011 can also be used to:
- Determining the direction in which the data is generated is a lateral extension along the matrix and/or a longitudinal extension along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- At least one row is selected as the first reference vector set in the m row vector of the matrix.
- the first data generating unit 012 includes:
- the first location recording sub-unit 0121 is configured to record location information of a non-empty element in each vector in the first reference vector set, and send the location information to the first vector generation unit 013.
- the first vector generating unit 0122 is configured to select a first vector set according to the non-empty element in each vector in the first reference vector set, and send the first vector set to the second generating sub-unit 0123, each of the first vector set Vectors do not contain empty elements.
- the first vector generating unit 0122 is configured to generate a second vector set according to the first vector set by using vector similarity, and each vector in the second vector set does not include an empty element.
- the first vector generating unit 0122 is further configured to: according to the non-vector in each of the reference vectors The position information of the empty element and the second vector set generate a third vector set, and the third vector set is sent to the first synthesis sub-unit 0123.
- the first synthesis sub-unit 0123 is configured to receive the third vector set, add the third vector set to the matrix to form a new matrix, and use the new matrix as the first data.
- the policy distribution unit 011 can also be used to:
- the data generation result is received from the slave node, and the completion of the generated data message includes the amount of data generated by the node and the information generated by the completed data.
- the policy distribution unit 011 can also be used to:
- the slave nodes other than the slave node are specified to generate data according to the data generation policy and upload the generated data to the file system.
- An embodiment of the present invention provides a device for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, improving the reference value of the generated big data, and avoiding large-scale movement of data, effectively saving storage and network. Overhead.
- Another embodiment of the present invention provides another apparatus for generating data 02. As shown in FIG. 8, the apparatus includes:
- the policy receiving unit 021 is configured to receive a data generation policy from the primary node.
- the second data generating unit 022 is configured to generate second data according to the data generation policy, and upload the second data to the file system.
- the sample data of the generated data generation strategy is a matrix of m rows and n columns, where m represents the total number of the first objects, n represents the total number of the second objects, and the elements in the matrix are r ( u, i ) , r ( u, i ) indicates the score of the i-th second object to the i-th second object.
- the policy receiving unit 021 has the received data generation policy including: determining that the direction of data generation is a horizontal expansion along a matrix and/or a longitudinal extension along a matrix; If the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the second reference vector set; or
- At least one row is selected as the second reference vector set in the m row vector of the matrix.
- the data generating policy received by the policy receiving unit 021 includes: determining that the direction of data generation is a horizontal expansion along the matrix and/or a longitudinal extension along the matrix;
- the n-column vector of the matrix is clustered, and the vector in the center point of the clustering processing result is used as the second reference vector set;
- the determined data generation direction is extended along the longitudinal direction of the matrix, the m row vectors of the matrix are clustered, and the vector in the center point of the clustering processing result is used as the second reference vector set.
- the second data generating unit 022 includes:
- the second location recording unit 0221 is configured to record location information of a non-empty element in each vector in the second reference vector set, and send the location information to the second vector generation unit 023.
- the second vector generating unit 0222 is configured to select a non-empty element in each vector in the second reference vector set as a fourth vector set, and each vector in the fourth vector set does not include an empty element.
- the second vector generating unit 0222 is configured to generate a fifth vector set according to the fourth vector set by using the vector similarity, where each vector in the fifth vector set does not include an empty element.
- the second vector generating unit 0222 is further configured to generate a sixth vector set according to the location information of the non-empty element in each vector in the reference vector and the fifth vector set, and send the sixth vector set to the second synthesis sub-unit 0223 .
- the second synthesis sub-unit 0223 is configured to receive the sixth vector set from the second vector generation unit 0222, add the sixth vector set to the matrix to form a new matrix, and use the new matrix as the second data.
- An embodiment of the present invention provides a device for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, and improving the reference value of the generated big data. When large-scale movement of data is avoided, storage and network overhead are effectively saved.
- the embodiment of the present invention further provides a device 03 for generating data, which can be used as a master node. As shown in FIG.
- the device 03 includes: a bus 031, and a memory 032, a transmitter 033, and a receiver 034 connected to the bus 031.
- the processor 035 is configured to store an instruction, the processor 035 executes the instruction to formulate a data generation policy according to the obtained sample data, and the processor 035 executes the instruction to generate the first data according to the data generation policy. And uploading the first data to a file system; the processor 035 executing the instruction to send the data generation policy to the slave node, so that the slave node generates the second data according to the data generation policy, and The second data is uploaded to the file system.
- the processor 035 executes the instruction for formulating a data generation policy according to the obtained sample data, including:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the first reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the first reference vector set in the m row vector of the matrix.
- the processor 035 executes the instruction for formulating a data generation policy according to the obtained sample data, including:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- J3 ⁇ 4 'J clusters the n-column vector of the matrix, and uses the vector in the center point of the cluster processing result as the first reference vector set. ;
- the determined data generation direction is extended along the longitudinal direction of the matrix, the m row vectors of the matrix are clustered, and the vector in the center point of the clustering result is used as the first reference vector set.
- the processor 035 is configured to generate the first data according to the data generation policy, including:
- each vector in the second vector set does not include an empty element
- the third vector set is added to the matrix to form a new matrix, and the new matrix is used as the first data.
- the method includes:
- the method further includes:
- completion generation data message sent by the slave node is not received within the time interval, specifying that other slave nodes other than the slave node generate data according to the data generation policy and generate data Upload to the file system.
- the device for generating data formulates a data generation policy according to the obtained sample data, generates first data according to the data generation policy, uploads the first data to a file system, and The data generation policy is sent to the slave node, so that the slave node generates second data according to the data generation policy, and uploads the second data to the file system, thereby being able to generate the required big data.
- An embodiment of the present invention provides a device for generating data, by which a master node formulates a data generation policy according to sample data, and distributes the data generation policy to at least one slave node, so that the master node and the slave node generate data according to the data generation policy. And upload the generated data to the file system. It can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, and improving the reference value of the generated big data. When large-scale movement of data is avoided, storage and network overhead are effectively saved.
- the embodiment of the present invention further provides a device for generating data 04, which can be used as a slave node.
- the device 04 includes: a bus 041, and a memory 042, a transmitter 043, and a receiver 044 connected to the bus 041.
- the processor 045 is configured to store an instruction
- the processor 045 is configured to receive a data generation policy from the primary node
- the processor 045 is configured to generate the second data according to the data generation policy, and Uploading the second data to the file system.
- the processor 045 executes the instruction for generating a data generation policy from the primary node, including:
- n the total number of second objects
- the elements in the matrix are r ( u, i )
- the r ( u, i ) represents the uth The score of an object on the i-th second object.
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- the determined data generation direction is a horizontal extension along the matrix, at least one column of the n-column vector of the matrix is selected as the second reference vector set; or
- the determined data generation direction is a longitudinal extension along the matrix, at least one row is selected as the second reference vector set in the m row vector of the matrix.
- the processor 045 executes the instruction for generating a data generation policy from the primary node, including:
- Determining the direction in which the data is generated is a lateral extent along the matrix and/or a longitudinal extent along the matrix;
- J3 ⁇ 4 'J clusters the n-column vector of the matrix, and the vector in the center point of the clustering processing result is used as the second reference vector set. ;
- J3 ⁇ 4 'J clusters the m row vectors of the matrix, and uses the vector in the center point of the clustering processing result as the second reference vector set.
- the processor 045 is configured to generate the second data according to the data generation policy, including: Recording location information of non-null elements in each vector in the second reference vector set; selecting non-empty elements in each vector in the second reference vector set as a fourth vector set, each of the fourth vector set Vectors do not contain empty elements;
- the sixth vector set is added to the matrix to form a new matrix, and the new matrix is used as the second data.
- the apparatus for generating data can generate a data generation policy from a master node, generate second data according to the data generation policy, and upload the second data to the file system, thereby generating Big data required.
- An embodiment of the present invention provides a method for generating data, by receiving a data generation policy from a primary node, generating second data according to the data generation policy, and uploading the second data to the file system, thereby generating
- the required big data can generate large data by using small-scale sample data, while retaining the characteristic rules of the original small-scale data, improving the reference value of the generated big data, and avoiding large-scale movement of data, effective Save on storage and network overhead.
- the disclosed methods, apparatus, and systems may be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
- the components displayed for the unit may or may not be physical units, ie may be located in one place, or may be distributed over multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
- each functional unit in various embodiments of the present invention may be integrated into one processing unit
- each unit may be physically included separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
- the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
- the above software functional units are stored in a storage medium and include a number of instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform some of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory), a random access memory (Random Access Memory), a disk or an optical disk, and the like.
- the medium of the program code includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory), a random access memory (Random Access Memory), a disk or an optical disk, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
Abstract
本发明提供一种产生数据的方法和装置,涉及计算机领域,能够利用小规模的样本数据生成大数据,同时还保留了原有小规模数据的特征规律,提高了生成的大数据的参考价值,并且不需要进行数据的大规模移动,有效节省了存储和网络开销。其方法为:通过主节点根据样本数据制定数据生成的策略,并将数据生成的策略分发至至少一个从节点,以便主节点和从节点根据数据生成策略产生数据,并将产生的数据上传至文件系统。使得最终产生的数据具有样本数据的数值规律,并且在此基础上提高了生成数据的参考价值,同时避免了数据的大规模移动,有效的节省了存储和网络开销。本发明用于产生大数据。
Description
一种产生数据的方法和装置 本申请要求于 2013 年 01 月 24 日提交中国专利局、 申请号为 201310027416.8、 发明名称为"一种产生数据的方法和装置 "的中国专利申请 的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及计算机领域, 尤其涉及一种产生数据的方法和装置。 背景技术
随着互联网的不断发展, 大数据 (Big Data )通常用来形容一个公 司创造的大量非结构化和半结构化数据, 现在对大数据的研究已经扩 展到生活的方方面面, 通过对大数据进行分析发掘, 进而获得更有价 值的信息。 大数据已成为当前很多行业研究的主题。
在对大数据进行处理时, 需要处理的数据量是极其庞大的, 然而 处于保密性的考虑, 大数据处理方案的提供者只能得到小规模的样本 数据, 往往不能获取到实际的大数据来进行测试, 并且获取和传输大 数据的过程中, 会占用更多的资源, 对相应的存储和网络资源都有较 高的要求。
现有大规模数据生成技术主要包括以下几种: 基于 Hadoop (—个 分布式系统基础架构, 用户可以在不了解分布式底层细节的情况下, 开发分布式程序) 基准测试程序集, 利用完全随机的方式来产生大规 模的数据; 或者, 采用 zipfian分布生成数据, 或按照均勾分布和高斯 分布生成数据。
但是上述三种现有技术生成的大数据都不能反应样本数据的原有 的规律性, 使得新生成的数据参考性较低。
发明内容
本发明的实施例提供一种产生数据的方法和装置, 能够利用小规 模的样本数据生成大数据, 同时还保留了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 并且不需要进行数据的大规模移动, 有效节省了存储和网络开销。
为达到上述目的, 本发明的实施例采用如下技术方案: 第一方面, 提供一种产生数据的方法, 所述方法包括:
根据已获得的样本数据制定数据生成策略;
根据所述数据生成策略生成第一数据, 并将所述第一数据上传至 文件系统;
将所述数据生成策略发送至从节点, 以便所述从节点根据所述数 据生成策略生成第二数据, 并将所述第二数据上传至所述文件系统。
在第一种可能的实现方式中, 结合第一方面, 所述样本数据为 m 行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个第一对象对第 i个第二对象的评分。
在第二种可能的实现方式中, 结合第一种可能的实现方式, 所述 根据已获得的样本数据制定数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
在第三种可能的实现方式中, 结合第一种可能的实现方式, 所述 根据已获得的样本数据制定数据生成策略还包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集。
在第四种可能的实现方式中, 根据第二种或第三种可能的实现方 式, 所述根据所述数据生成策略生成第一数据包括:
记录所述第一参考向量集中每个向量中的非空元素的位置信息; 根据所述第一参考向量集中每个向量中的非空元素选取第一向量 集, 所述第一向量集中的每个向量不包含空元素;
利用向量相似性根据所述第一向量集生成第二向量集, 所述第二 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述 第二向量集生成第三向量集;
将所述第三向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第一数据。
在第五种可能的实现方式中, 结合第一方面至第一方面的第四种 可能的实现方式中的任意一项, 在所述将所述数据生成策略发送至从 节点时, 所述方法还包括:
将所述从节点需要生成数据的数据量及所述从节点向主节点返回 完成生成数据消息的时间间隔至所述从节点;
按照所述时间间隔, 从所述从节点接收所述数据生成结果, 所述 完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成 的信息。
在第六中可能的实现方式中, 结合第五种可能的实现方式, 所述 方法还包括:
若在所述时间间隔内, 没有接收到所述从节点发送的所述完成生 成数据消息, 则指定除所述从节点之外的其他从节点按照所述数据生 成策略生成数据并将生成的数据上传至所述文件系统。
第二方面, 提供一种产生数据的方法, 所述方法包括:
从主节点接收数据生成策略;
根据所述数据生成策略生成第二数据, 并将所述第二数据上传至 文件系统。
在第一种可能的实现方式中, 结合第二方面, 所述数据生成策略
中包括: m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二 对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个 第一对象对第 i个第二对象的评分。
在第二种可能的实现方式中, 结合第一种可能的实现方式, 所述 从主节点接收的数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第二参考向量集。
在第三种可能的实现方式中, 结合第一种可能的实现方式, 所述 从主节点接收的数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集。
在第四种可能的实现方式中, 结合第二种或第三种可能的实现方 式, 所述根据所述数据生成策略生成第二数据包括:
记录所述第二参考向量集中每个向量中的非空元素的位置信息; 选取所述第二参考向量集中每个向量中的非空元素作为第四向量 集, 所述第四向量集中的每个向量不包含空元素;
利用向量相似性根据所述第四向量集生成第五向量集, 所述第五 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述
第五向量集生成第六向量集;
将所述第六向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第二数据。
第三方面, 提供一种产生数据的装置, 所述装置包括:
策略制定单元, 用于根据已获得的样本数据制定数据生成策略; 第一数据生成单元, 用于根据所述数据生成策略生成第一数据, 并将所述第一数据上传至文件系统;
策略分发单元, 用于将所述数据生成策略发送至从节点, 以便所 述从节点根据所述数据生成策略生成第二数据, 并将所述第二数据上 传至所述文件系统。
在第一种可能的实现方式中, 结合第三方面, 所述样本数据为 m 行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个第一对象对第 i个第二对象的评分。
在第三种可能的实现方式中, 结合第二可能的实现方式, 所述策 略制定单元具体用于:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
在第四种可能的实现方式中, 结合第二种可能的实现方式, 所述 策略制定单元还用于:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩
阵的 m行向量中选取至少一行作为第一参考向量集。
在第五种可能的实现方式中, 结合第二或第三种可能的实现方式, 所述第一数据生成单元包括:
第一位置记录单元, 用于记录所述第一参考向量集中每个向量中 的非空元素的位置信息, 并将所述位置信息发送至第一向量生成单元; 第一向量生成单元, 用于根据所述第一参考向量集中每个向量中 的非空元素选取第一向量集, 所述第一向量集中的每个向量不包含空 元素;
所述第一向量生成单元还用于利用向量相似性根据所述第一向量 集生成第二向量集, 所述第二向量集中的每个向量不包含空元素;
所述第一向量生成单元还用于根据所述参考向量中每个向量中的 非空元素的位置信息以及所述第二向量集生成第三向量集, 将所述第 三向量集发送至第一合成子单元;
第一合成子单元, 用于从所述第一向量生成单元接收所述第三向 量集, 将所述第三向量集加入所述矩阵中形成新矩阵, 将所述新矩阵 作为所述第一数据。
在第六种可能的实现方式中, 结合第一方面至第一方面的第五种 可能的实现方式中的任意一项, 所述策略分发单元还用于:
将所述从节点需要生成数据的数据量及所述从节点向主节点返回 完成生成数据消息的时间间隔至所述从节点;
按照所述时间间隔, 从所述从节点接收所述数据生成结果, 所述 完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成 的信息。
在第七种可能的实现方式中, 结合第六种可能的实现方式, 所述 策略分发单元还用于:
若在所述时间间隔内, 没有接收到所述从节点发送的所述完成生 成数据消息, 则指定除所述从节点之外的其他从节点按照所述数据生 成策略生成数据并将生成的数据上传至所述文件系统。
第四方面, 提供一种产生数据的装置, 所述装置包括:
策略接收单元, 用于从主节点接收数据生成策略;
第二数据生成单元, 用于根据所述数据生成策略生成第二数据, 并将所述第二数据上传至文件系统。
在第一种可能的实现方式中, 结合第四方面, 所述数据生成策略 中包括: m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二 对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个 第一对象对第 i个第二对象的评分。
在第二种可能的实现方式中, 结合第一种可能的实现方式, 所述 策略接收单元接收到的所述数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第二参考向量集。
在第三种可能的实现方式中, 结合第一种可能的实现方式, 所述 策略接收单元接收到的所述数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集。
在第四种可能的实现方式中, 结合第四方面的第二种或第四方面 第三种可能的实现方式, 所述第二数据生成单元包括:
第二位置记录单元, 用于记录所述第二参考向量集中每个向量中 的非空元素的位置信息, 并将所述位置信息发送至第二向量生成单元;
第二向量生成单元, 用于选取所述第二参考向量集中每个向量中 的非空元素作为第四向量集, 所述第四向量集中的每个向量不包含空 元素;
所述第二向量生成单元还用于利用向量相似性根据所述第四向量 集生成第五向量集, 所述第五向量集中的每个向量不包含空元素;
所述第二向量生成单元还用于根据所述参考向量中每个向量中的 非空元素的位置信息以及所述第五向量集生成第六向量集, 并将所述 第六向量集发送至第二合成子单元;
第二合成子单元, 用于从所述第二向量生成单元接收所述第六向 量集, 将所述第六向量集加入所述矩阵中形成新矩阵, 将所述新矩阵 作为所述第二数据。
本发明提供一种产生数据的方法和装置, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 还保留了原 有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同时避 免了数据的大规模移动, 有效的节省了存储和网络开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面 将对实施例或现有技术描述中所需要使用的附图作筒单地介绍, 显而 易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域 普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些 附图获得其他的附图。
图 1为本发明实施例提供另一种产生数据的方法的流程示意图; 图 2为本发明实施例提供一种产生数据的方法的流程示意图; 图 3为本发明实施例提供一种产生数据的方法的系统结构示意图; 图 4为本发明实施例提供一种产生数据的方法的示意图;
图 5为本发明实施例提供一种产生数据的方法的示意图;
图 6本发明实施例提供一种产生数据的装置的结构示意图;
图 7 为本发明另一实施例提供另一种产生数据的装置的结构示意 图;
图 8为本发明实施例提供一种产生数据的装置的结构示意图; 图 9为本发明实施例提供一种产生数据的装置的结构示意图; 图 10为本发明实施例提供一种产生数据的装置的结构示意图; 图 11为本发明实施例提供一种产生数据的装置的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方 案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部 分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例提供一种产生数据的方法, 如图 1 所示, 基于主节 点侧的方法包括:
101、 根据已获得的样本数据制定数据生成策略。
此处的数据生成策略为包含主节点和从节点在内的所有节点生成 数据的算法, 是由主节点根据数据生成需求和对样本数据类型进行分 析得到的方法, 并将该方法发送给至少一个从节点, 以便包括主节点 和至少一个从节点生成符合要求的大规模数据, 数据生成策略具体包 括:
选取出的在样本数据中进行扩展的方向, 例如可以在横向或纵向 进行扩展;
根据扩展方向选取出的作为参考向量的向量集合。
102、 根据数据生成策略生成第一数据, 并将所述第一数据上传至 文件系统。
103、 将数据生成策略发送至从节点。
需要说明的是, 主节点向从节点发送数据生成策略和主节点本身 根据数据生成策略生成数据两个步骤之间没有特定的时间先后顺序,
本发明实施例提供另一种产生数据的方法, 如图 2 所示, 基于从 节点侧的方法包括:
201、 从主节点接收数据生成策略。
202、 根据数据生成策略生成第二数据, 并将第二数据上传至所述 文件系统。
上述的文件系统为一个计算机集群, 为便于设备存储和用户访问, 可以采用分布式文件系统的方案, 在本发明中文件系统用来接收并存 储主节点和从节点生成的数据, 并将上述数据整合成一个完整的大规 模数据矩阵。
上述的主节点和从节点可以为服务器和客户机的关系, 如图 3 所 示, 主节点向从节点发送数据生成策略, 从节点接收主节点发送的数 据生成策略, 主节点根据数据生成策略生成数据, 并将生成的数据发 送至文件系统, 从节点也根据数据生成策略生成数据, 并将生成的数 据发送至文件系统。
本发明提供一种产生数据的方法和装置, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 还保留了原 有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同时避 免了数据的大规模移动, 有效的节省了存储和网络开销。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技 术方案, 下面通过具体的实施例, 对本发明实施例提供的另一种产生 数据的方法进行详细说明。
本发明实施例提供另一种产生数据的方法, 如图 4, 该方法包括: 301、 主节点根据已获得的样本数据制定数据生成策略。
示例性的, 上述样本数据可以为一个 m行 n列的矩阵, 其中 m表 示第一对象的总数, n表示第二对象的总数, 矩阵中元素为 r ( u , i ) , r ( u, i ) 表示第 u个第一对象对第 i个第二对象的评分。
其中, 根据已获得的样本数据制定数据生成策略可以具体包括: 数据生成策略包括主节点和从节点在内的所有节点生成数据的算 法, 是由主节点根据数据生成需求和对样本数据类型进行分析得到的 方法, 并将该方法发送给至少一个从节点, 以便包括主节点和至少一 个从节点生成符合要求的大规模数据, 数据生成策略具体包括:
选取出的在样本数据中进行扩展的方向, 例如可以在横向或纵向 进行扩展;
根据扩展方向选取出的作为参考向量的向量集合。
302、 主节点将数据生成策略发送至从节点。
303、主节点确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵 的纵向扩展。
若确定的数据生成的方向为沿矩阵的横向扩展, 则在矩阵的 n 列 向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则在矩阵的 m行 向量中选取至少一行作为第一参考向量集。
例如, 对矩阵进行行扩展后的结果如表 2 所示、 对矩阵进行列扩 展后的结果如表 3所示。
3 r r r r r
4 r r r r r m r r r r r
• . . m+a r r r r r
表 3
上述沿着矩阵的某一方向扩展, 即在原有矩阵的基础上, 在行或 列上生成新的数据, 构成新的矩阵。 其中在行或列上生成新数据的步 骤, 没有特定的先后顺序, 两者发生顺序可互有先后, 也可以同时发 生。
优选的, 根据已获得的样本数据制定的数据生成策略还可以有另 一种实现方式:
确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则对矩阵的 n 列 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第一参 考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则对矩阵的 m行 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第一参 考向量集。
其中, 采用聚类处理可以将矩阵中选取的向量按照事先规定的大 小进行分类, 在每个分类中进行求平均值的运算, 并以最终得到的所 有平均值作为参考向量集中的元素。
304、 主节点记录第一参考向量集中每个向量中的非空元素的位置 信息。
其中, 每个向量中非空元素的位置信息为上述元素在矩阵的行或 列中所在的序号。
示例性的, 为了方便说明, 如表 4 所示, 选取的参考向量集中的 一个向量进行说明:
表 4
305、 主节点根据第一参考向量集中每个向量中的非空元素选取第 一向量集, 第一向量集中的每个向量不包含空元素。
示例性的, 根据表 4所示向量中的非空元素为 3、 5、 1 , 因此, 新 生成向量中包含的元素为 3、 5、 1 , 如表 5所示。
表 5
3 1 同理, 按照上述方法就可以根据参考向量集中所有向量得到第一 向量集。
306、 主节点利用向量相似性根据第一向量集生成第二向量集, 所 述第二向量集中的每个向量不包含空元素。
利用向量相似性根据第一向量集生成第二向量具体包括: 首先, 根据公式 d = ^/(Xl X2)2 + ( yi y2)2 + ... + (Zl Z2)2得到与第一向量集 中各元素附近的点到第一向量中各元素的距离, d表示空间中两点的距 离, Xl, yi, a表示第一向量集中的各个元素。
其次, 将得到的距离与规定的数值进行比较, 并选取距离小于规 定的数值的点, 其中, 规定的数值是由主节点向从节点发送的。
最后, 将已选取的点的坐标值作为第二向量中的元素。
示例性的, 假设选取第一向量集的某一向量中的元素为 3、 5、 1, 规定的数值为 2, 根据上述公式, 得到点 (2, 4, 1 )与点 (3, 5, 1, ) 的空间距离为 小于规定的距离 2, 因此, 点 (2, 4, 1 ) 的坐标值 2、 4、 1 可以作为第二向量中的元素。 其中, 得到的点的坐标值的取值要 大于等于矩阵中已有数值的最小值, 并且小于等于矩阵中已有数值的 最大值。
同理, 按照上述方法就可以根据第一向量集中所有向量得到第二 向量集。
307、 主节点根据参考向量中每个向量中的非空元素的位置信息以 及第二向量集生成第三向量集。
示例性的, 选取的第一向量集为第 2行, 其中, 元素为 3, 5, 1。 元素所在矩阵的位置如表 6中第三行所示。
表 6
而后, 根据之前记录的参考向量集中的位置信息, 将第二向量中的 元素根据位置信息生成第三向量, 例如, 已得到的表 4所示向量的位置 信息为 2、 4、 5, 则根据表 4所示向量的位置信息为 2、 4、 5以及步骤 306中已得到的第二向量集中的向量 ( 2, 4, 1 ) 可以得到的向量如表 7 所示:
表 7
同理, 按照上述方法就可以根据第二向量集中所有向量得到第三 向量集。
308、 主节点将第三向量集加入矩阵中形成新矩阵, 将新矩阵作为 第一数据。
示例性的, 将 307中得到的第三向量集中的向量 (2, 4, 1 ) 添加 到原有的矩阵中, 形成新矩阵如表 8所示:
表 8
310、 主节点将从节点需要生成数据的数据量及从节点向主节点返 回完成生成数据消息的时间间隔发送至从节点。
其中, 同时发送的还包括在生成数据所规定的数值, 以便生成符 合要求的数据。
311、 主节点按照时间间隔, 从从节点接收完成生成数据消息。 完 成生成数据消息包括从节点已生成的数据量和已完成数据生成的信 示例性的, 从节点在规定时间间隔向主节点发送数据生成结果, 该数据生成结果可以为: "当前本节点已生成数据 2789组, 完成率为 87%。 ,, 或 "本节点已完成数据生成任务" 。
312、 主节点从节点将生成的矩阵上传至文件系统。
313、 主节点若在时间间隔内, 没有接收到从节点发送的完成生成 数据消息, 则指定除从节点之外的其他从节点按照数据生成策略生成 数据并将生成的数据上传至文件系统。
其中, 当主节点在规定的时间间隔内没有接受到从节点发送的数 据生成信息, 则认为该从节点存在故障, 因此, 主节点将终止该从节 点的数据生成任务, 并在其他节点中重新选择从节点, 重复发送数据 生成策略, 并接收对应节点的数据生成信息。
本发明实施例提供一种产生数据的方法, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 同时还保留 了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同 时避免了数据的大规模移动, 有效的节省了存储和网络开销。
本发明实施例还提供另一种产生数据的方法, 如图 5 所示, 该方 法包括:
401、 从节点从主节点接收数据生成策略。
其中, 从节点接收到的数据生成策略与 301 中提供的数据生成策 略完全相同, 这里不再赘述。
402、从节点确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵 的纵向扩展。
具体的, 若确定的数据生成的方向为沿矩阵的横向扩展, 则在矩 阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则在矩阵的 m行 向量中选取至少一行作为第二参考向量集。
可选的, 还可以通过以下方式:
确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则对矩阵的 n 列 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第二参
考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则对矩阵的 m行 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第二参 考向量集。
403、 从节点记录第二参考向量集中每个向量中的非空元素的位置 信息。
其中, 每个向量中非空元素的位置信息为上述元素在矩阵的行或 列中所在的序号。
404、 从节点选取第二参考向量集中每个向量中的非空元素作为第 四向量集, 第四向量集中的每个向量不包含空元素。
405、 从节点利用向量相似性根据第四向量集生成第五向量集, 第 五向量集中的每个向量不包含空元素。
406、 从节点根据参考向量中每个向量中的非空元素的位置信息以 及第五向量集生成第六向量集。
407、 从节点将第六向量集加入矩阵中形成新矩阵, 将新矩阵作为 第二数据。
408、 从节点将第二数据上传至文件系统中。
以上 402~408中的详细内容, 与上个实施例中 303~309 的实现方 法完全相同, 在此不再赘述。
本发明实施例提供一种产生数据的方法, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 同时还保留 了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同 时避免了数据的大规模移动, 有效的节省了存储和网络开销。
本发明实施例提供一种产生数据的装置 01 , 如图 6所示, 该装置 包括:
策略制定单元 011 , 用于根据已获得的样本数据制定数据生成策 略。
第一数据生成单元 012, 用于根据数据生成策略生成第一数据, 并
将第一数据上传至文件系统。
策略分发单元 013 , 用于将数据生成策略发送至从节点, 以便从节 点根据数据生成策略生成第二数据, 并将第二数据上传至文件系统。
其中, 上述样本数据为 m行 n列的矩阵, 其中 m表示第一对象的 总数, n表示第二对象的总数, 矩阵中元素为 r ( u, i ) , r ( u, i ) 表 示第 u个第一对象对第 i个第二对象的评分。
可选的, 策略制定单元 011可以具体用于:
确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则在矩阵的 n 列 向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则在矩阵的 m行 向量中选取至少一行作为第一参考向量集。
可选的, 策略制定单元 011还可以用于:
确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则在矩阵的 n 列 向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则在矩阵的 m行 向量中选取至少一行作为第一参考向量集。
可选的, 如图 7所示, 第一数据生成单元 012包括:
第一位置记录子单元 0121 , 用于记录第一参考向量集中每个向量 中的非空元素的位置信息, 并将位置信息发送至第一向量生成单元 013。
第一向量生成单元 0122, 用于根据第一参考向量集中每个向量中 的非空元素选取第一向量集, 并将第一向量集发送至第二生成子单元 0123 , 第一向量集中的每个向量不包含空元素。
第一向量生成单元 0122, 用于利用向量相似性根据第一向量集生 成第二向量集, 第二向量集中的每个向量不包含空元素。
第一向量生成单元 0122, 还用于根据参考向量中每个向量中的非
空元素的位置信息以及第二向量集生成第三向量集, 将第三向量集发 送至第一合成子单元 0123。
第一合成子单元 0123 , 用于接收第三向量集, 将第三向量集加入 矩阵中形成新矩阵, 将新矩阵作为第一数据。
可选的, 策略分发单元 011还可以用于:
将从节点需要生成数据的数据量及从节点向主节点返回完成生成 数据消息的时间间隔至从节点;
按照时间间隔, 从从节点接收数据生成结果, 完成生成数据消息 包括从节点已生成的数据量和已完成数据生成的信息。
可选的, 策略分发单元 011还可以用于:
若在时间间隔内, 没有接收到从节点发送的完成生成数据消息, 则指定除从节点之外的其他从节点按照数据生成策略生成数据并将生 成的数据上传至文件系统。
本发明实施例提供一种产生数据的装置, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 同时还保留 了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同 时避免了数据的大规模移动, 有效的节省了存储和网络开销。
本发明另一实施例提供另一种产生数据的装置 02, 如图 8所示, 该装置包括:
策略接收单元 021 , 用于从主节点接收数据生成策略。
第二数据生成单元 022, 用于根据数据生成策略生成第二数据, 并 将第二数据上传至文件系统。
其中, 生成数据生成策略的样本数据为一 m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象的总数, 矩阵中元素为 r ( u, i ) , r ( u, i ) 表示第 u个第一对象对第 i个第二对象的评分。
其中, 策略接收单元 021具接收到的所述数据生成策略包括: 确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则在矩阵的 n 列 向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则在矩阵的 m行 向量中选取至少一行作为第二参考向量集。
可选的, 策略接收单元 021接收到的所述数据生成策略包括: 确定数据生成的方向为沿矩阵的横向扩展和 /或沿矩阵的纵向扩 展;
若确定的数据生成的方向为沿矩阵的横向扩展, 则对矩阵的 n 列 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第二参 考向量集; 或
若确定的数据生成的方向为沿矩阵的纵向扩展, 则对矩阵的 m行 向量进行聚类处理, 并将聚类处理结果的中心点中的向量作为第二参 考向量集。
可选的, 如图 9所示, 第二数据生成单元 022包括:
第二位置记录单元 0221 , 用于记录第二参考向量集中每个向量中 的非空元素的位置信息, 并将位置信息发送至第二向量生成单元 023。
第二向量生成单元 0222, 用于选取第二参考向量集中每个向量中 的非空元素作为第四向量集, 第四向量集中的每个向量不包含空元素。
第二向量生成单元 0222, 用于利用向量相似性根据第四向量集生 成第五向量集, 第五向量集中的每个向量不包含空元素。
第二向量生成单元 0222, 还用于根据参考向量中每个向量中的非 空元素的位置信息以及第五向量集生成第六向量集, 并将第六向量集 发送至第二合成子单元 0223。
第二合成子单元 0223 ,用于从第二向量生成单元 0222接收第六向 量集, 将第六向量集加入矩阵中形成新矩阵, 将新矩阵作为第二数据。
本发明实施例提供一种产生数据的装置, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 同时还保留 了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同
时避免了数据的大规模移动, 有效的节省了存储和网络开销。 本发明实施例还提供了一种产生数据的装置 03 , 可作为主节点, 如图 10所示, 该装置 03包括: 总线 031 , 以及连接到总线 031的存储 器 032、 发射器 033、 接收器 034、 处理器 035 ; 其中存储器 032用于 存储指令, 处理器 035 执行该指令用于根据已获得的样本数据制定数 据生成策略; 处理器 035 执行该指令用于根据所述数据生成策略生成 第一数据, 并将所述第一数据上传至文件系统; 处理器 035 执行该指 令用于将所述数据生成策略发送至从节点, 以便所述从节点根据所述 数据生成策略生成第二数据, 并将所述第二数据上传至所述文件系统。
在本发明实施例中, 可选的, 该处理器 035 执行该指令用于根据 已获得的样本数据制定数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
在本发明实施例中, 可选的, 该处理器 035 执行该指令用于根据 已获得的样本数据制定数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集。
在本发明实施例中, 可选的, 该处理器 035 执行该指令用于根据 所述数据生成策略生成第一数据包括:
记录所述第一参考向量集中每个向量中的非空元素的位置信息;
根据所述第一参考向量集中每个向量中的非空元素选取第一向量 集, 所述第一向量集中的每个向量不包含空元素;
利用向量相似性根据所述第一向量集生成第二向量集, 所述第二 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述 第二向量集生成第三向量集;
将所述第三向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第一数据。
在本发明实施例中, 可选的, 该处理器 035 执行该指令用于将所 述数据生成策略发送至从节点时, 所述方法包括:
将所述从节点需要生成数据的数据量及所述从节点向主节点返回 完成生成数据消息的时间间隔发送至所述从节点;
按照所述时间间隔, 从所述从节点接收所述数据生成结果, 所述 完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成 的信息。
在本发明实施例中, 可选的, 该处理器 035 执行该指令用于将所 述数据生成策略发送至从节点时, 所述方法还包括:
若在所述时间间隔内, 没有接收到所述从节点发送的所述完成生 成数据消息, 则指定除所述从节点之外的其他从节点按照所述数据生 成策略生成数据并将生成的数据上传至所述文件系统。
因此, 本发明实施例的产生数据的装置, 根据已获得的样本数据 制定数据生成策略, 根据所述数据生成策略生成第一数据, 并将所述 第一数据上传至文件系统, 以及将所述数据生成策略发送至从节点, 以便所述从节点根据所述数据生成策略生成第二数据, 并将所述第二 数据上传至所述文件系统, 从而能够产生所需的大数据。
本发明实施例提供一种产生数据的装置, 通过主节点根据样本数 据制定数据生成的策略, 并将数据生成的策略分发至至少一个从节点, 以便主节点和从节点根据数据生成策略产生数据, 并将产生的数据上 传至文件系统。 能够利用小规模的样本数据生成大数据, 同时还保留 了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同
时避免了数据的大规模移动, 有效的节省了存储和网络开销。
本发明实施例还提供了一种产生数据的装置 04, 可作为从节点, 如图 11所示, 该装置 04包括: 总线 041 , 以及连接到总线 041的存储 器 042、 发射器 043、 接收器 044、 处理器 045 ; 其中存储器 042用于 存储指令, 处理器 045 执行该指令用于从主节点接收数据生成策略; 处理器 045 执行该指令还用于根据所述数据生成策略生成第二数据, 并将所述第二数据上传至所述文件系统。
在本发明实施例中, 可选的, 该处理器 045 执行该指令用于从主 节点接收的数据生成策略包括:
m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象 的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个第一 对象对第 i个第二对象的评分。
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第二参考向量集。
在本发明实施例中, 可选的, 该处理器 045 执行该指令用于从主 节点接收的数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集。
在本发明实施例中, 可选的, 该处理器 045 执行该指令用于根据 所述数据生成策略生成第二数据包括:
记录所述第二参考向量集中每个向量中的非空元素的位置信息; 选取所述第二参考向量集中每个向量中的非空元素作为第四向量 集, 所述第四向量集中的每个向量不包含空元素;
利用向量相似性根据所述第四向量集生成第五向量集, 所述第五 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述 第五向量集生成第六向量集;
将所述第六向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第二数据。
因此, 本发明实施例的产生数据的装置, 通过从主节点接收数据 生成策略, 并根据所述数据生成策略生成第二数据, 并将所述第二数 据上传至所述文件系统, 从而能够产生所需的大数据。
本发明实施例提供一种产生数据的方法, 从通过主节点接收数据 生成策略, 并根据所述数据生成策略生成第二数据, 并将所述第二数 据上传至所述文件系统, 从而能够产生所需的大数据, 能够利用小规 模的样本数据生成大数据, 同时还保留了原有小规模数据的特征规律, 提高了生成的大数据的参考价值, 同时避免了数据的大规模移动, 有 效的节省了存储和网络开销。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的方法, 装置, 和系统, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是 示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时 可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一 个系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦 合或通信连接, 可以是电性, 机械或其它的形式。 为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元
中, 也可以是各个单元单独物理包括, 也可以两个或两个以上单元集成在一 个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用硬件加 软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机 可读取存储介质中。 上述软件功能单元存储在一个存储介质中, 包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括: U盘、 移动硬盘、 只读存储器(Read-Only Memory, 筒称 ROM ) 、 随机存取存储 器(Random Access Memory, 筒称 RAM ) 、 磁碟或者光盘等各种可以存储 程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可 轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发 明的保护范围应以所述权利要求的保护范围为准。
Claims
1、 一种产生数据的方法, 其特征在于, 所述方法包括:
根据已获得的样本数据制定数据生成策略;
根据所述数据生成策略生成第一数据, 并将所述第一数据上传至 文件系统;
将所述数据生成策略发送至从节点, 以便所述从节点根据所述数 据生成策略生成第二数据, 并将所述第二数据上传至所述文件系统。
2、 根据权利要求 1所述的方法, 其特征在于, 所述样本数据为 m 行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个第一对象对第 i个第二对象的评分。
3、 根据权利要求 2所述的方法, 其特征在于, 所述根据已获得的 样本数据制定数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
4、 根据权利要求 2所述的方法, 其特征在于, 所述根据已获得的 样本数据制定数据生成策略还包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第一参考向量集。
5、 根据权利要求 3或 4所述的方法, 其特征在于, 所述根据所述 数据生成策略生成第一数据包括:
记录所述第一参考向量集中每个向量中的非空元素的位置信息; 根据所述第一参考向量集中每个向量中的非空元素选取第一向量 集, 所述第一向量集中的每个向量不包含空元素;
利用向量相似性根据所述第一向量集生成第二向量集, 所述第二 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述 第二向量集生成第三向量集;
将所述第三向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第一数据。
6、 根据权利要求 1至 5任意一项所述的方法, 其特征在于, 在所 述将所述数据生成策略发送至从节点时, 所述方法还包括:
将所述从节点需要生成数据的数据量及所述从节点向主节点返回 完成生成数据消息的时间间隔发送至所述从节点;
按照所述时间间隔, 从所述从节点接收所述数据生成结果, 所述 完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成 的信息。
7、 根据权利要求 6所述的方法, 其特征在于, 所述方法还包括: 若在所述时间间隔内, 没有接收到所述从节点发送的所述完成生 成数据消息, 则指定除所述从节点之外的其他从节点按照所述数据生 成策略生成数据并将生成的数据上传至所述文件系统。
8、 一种产生数据的方法, 其特征在于, 所述方法包括:
从主节点接收数据生成策略;
根据所述数据生成策略生成第二数据, 并将所述第二数据上传至 文件系统。
9、 根据权利要求 8所述的方法, 其特征在于, 所述数据生成策略 中包括: m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二 对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个 第一对象对第 i个第二对象的评分。
10、 根据权利要求 9 所述的方法, 其特征在于, 所述从主节点接 收的数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的
纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第二参考向量集。
11、 根据权利要求 9 所述的方法, 其特征在于, 所述从主节点接 收的数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集。
12、 根据权利要求 10或 11 所述的方法, 其特征在于, 所述根据 所述数据生成策略生成第二数据包括:
记录所述第二参考向量集中每个向量中的非空元素的位置信息; 选取所述第二参考向量集中每个向量中的非空元素作为第四向量 集, 所述第四向量集中的每个向量不包含空元素;
利用向量相似性根据所述第四向量集生成第五向量集, 所述第五 向量集中的每个向量不包含空元素;
根据所述参考向量中每个向量中的非空元素的位置信息以及所述 第五向量集生成第六向量集;
将所述第六向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作 为所述第二数据。
13、 一种产生数据的装置, 其特征在于, 所述装置包括: 策略制定单元, 用于根据已获得的样本数据制定数据生成策略; 第一数据生成单元, 用于根据所述数据生成策略生成第一数据, 并将所述第一数据上传至文件系统;
策略分发单元, 用于将所述数据生成策略发送至从节点, 以便所
述从节点根据所述数据生成策略生成第二数据, 并将所述第二数据上 传至所述文件系统。
14、 根据权利要求 13所述的装置, 其特征在于, 所述样本数据为 m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第二对象的总 数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i )表示第 u个第一对象 对第 i个第二对象的评分。
15、 根据权利要求 14所述的装置, 其特征在于, 所述策略制定单 元具体用于:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
16、 根据权利要求 14所述的装置, 其特征在于, 所述策略制定单 元具体用于:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩 阵的 n列向量中选取至少一列作为第一参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第一参考向量集。
17、 根据权利要求 15或 16所述的装置, 其特征在于, 所述第一 数据生成单元包括:
第一位置记录单元, 用于记录所述第一参考向量集中每个向量中 的非空元素的位置信息, 并将所述位置信息发送至第一向量生成单元; 第一向量生成单元, 用于根据所述第一参考向量集中每个向量中 的非空元素选取第一向量集, 所述第一向量集中的每个向量不包含空 元素;
所述第一向量生成单元, 还用于利用向量相似性根据所述第一向 量集生成第二向量集, 所述第二向量集中的每个向量不包含空元素;
所述第一向量生成单元, 还用于从根据所述参考向量中每个向量 中的非空元素的位置信息以及所述第二向量集生成第三向量集, 将所 述第三向量集发送至第一合成子单元;
第一合成子单元, 用于从所述第一向量生成单元接收所述第三向 量集, 将所述第三向量集加入所述矩阵中形成新矩阵, 将所述新矩阵 作为所述第一数据。
18、 根据权利要求 12至 17任意一项所述的装置, 其特征在于, 所述策略分发单元还用于:
将所述从节点需要生成数据的数据量及所述从节点向主节点返回 完成生成数据消息的时间间隔至所述从节点;
按照所述时间间隔, 从所述从节点接收所述数据生成结果, 所述 完成生成数据消息包括所述从节点已生成的数据量和已完成数据生成 的信息。
19、 根据权利要求 18所述的装置, 其特征在于, 所述策略分发单 元还用于:
若在所述时间间隔内, 没有接收到所述从节点发送的所述完成生 成数据消息, 则指定除所述从节点之外的其他从节点按照所述数据生 成策略生成数据并将生成的数据上传至所述文件系统。
20、 一种产生数据的装置, 其特征在于, 所述装置包括:
策略接收单元, 用于从主节点接收数据生成策略;
第二数据生成单元, 用于根据所述数据生成策略生成第二数据, 并将所述第二数据上传至文件系统。
21、 根据权利要求 20所述的装置, 其特征在于, 所述数据生成策 略中包括: m行 n列的矩阵, 其中 m表示第一对象的总数, n表示第 二对象的总数, 所述矩阵中元素为 r ( u, i ) , 所述 r ( u, i ) 表示第 u 个第一对象对第 i个第二对象的评分。
22、 根据权利要求 21所述的装置, 其特征在于, 所述策略接收单 元接收到的所述数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, 则在所述矩
阵的 n列向量中选取至少一列作为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, 则在所述矩 阵的 m行向量中选取至少一行作为第二参考向量集。
23、 根据权利要求 21所述的装置, 其特征在于, 所述策略接收单 元接收到的所述数据生成策略包括:
确定数据生成的方向为沿所述矩阵的横向扩展和 /或沿所述矩阵的 纵向扩展;
若确定的数据生成的方向为沿所述矩阵的横向扩展, J¾ 'J对所述矩 阵的 n 列向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集; 或
若确定的数据生成的方向为沿所述矩阵的纵向扩展, J¾ 'J对所述矩 阵的 m行向量进行聚类处理, 并将聚类处理结果的中心点中的向量作 为第二参考向量集。
24、 根据权利要求 22或 23所述的装置, 其特征在于, 所述第二 数据生成单元包括:
第二位置记录单元, 用于记录所述第二参考向量集中每个向量中 的非空元素的位置信息, 并将所述位置信息发送至第二向量生成单元; 第二向量生成单元, 用于选取所述第二参考向量集中每个向量中 的非空元素作为第四向量集, 所述第四向量集中的每个向量不包含空 元素;
所述第二向量生成单元还用于利用向量相似性根据所述第四向量 集生成第五向量集, 所述第五向量集中的每个向量不包含空元素;
所述第二向量生成单元还用于根据所述参考向量中每个向量中的 非空元素的位置信息以及所述第五向量集生成第六向量集, 并将所述 第六向量集发送至第二合成子单元;
第二合成子单元, 用于从所述第二向量生成单元接收所述第六向量集, 将所述第六向量集加入所述矩阵中形成新矩阵, 将所述新矩阵作为所述 第二数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310027416.8A CN103970738B (zh) | 2013-01-24 | 2013-01-24 | 一种产生数据的方法和装置 |
CN201310027416.8 | 2013-01-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014114112A1 true WO2014114112A1 (zh) | 2014-07-31 |
Family
ID=51226888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/085193 WO2014114112A1 (zh) | 2013-01-24 | 2013-10-14 | 一种产生数据的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103970738B (zh) |
WO (1) | WO2014114112A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226557A (zh) * | 2008-02-22 | 2008-07-23 | 中国科学院软件研究所 | 一种高效的关联主题模型数据处理方法及其系统 |
CN102054043A (zh) * | 2010-12-30 | 2011-05-11 | 畅捷通软件有限公司 | 大数据生成方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711572B2 (en) * | 2000-06-14 | 2004-03-23 | Xosoft Inc. | File system for distributing content in a data network and related methods |
CN102314460B (zh) * | 2010-07-07 | 2014-05-14 | 阿里巴巴集团控股有限公司 | 数据分析方法、系统及服务器 |
-
2013
- 2013-01-24 CN CN201310027416.8A patent/CN103970738B/zh not_active Expired - Fee Related
- 2013-10-14 WO PCT/CN2013/085193 patent/WO2014114112A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226557A (zh) * | 2008-02-22 | 2008-07-23 | 中国科学院软件研究所 | 一种高效的关联主题模型数据处理方法及其系统 |
CN102054043A (zh) * | 2010-12-30 | 2011-05-11 | 畅捷通软件有限公司 | 大数据生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103970738A (zh) | 2014-08-06 |
CN103970738B (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102227B2 (en) | Image-based faceted system and method | |
US9426233B2 (en) | Multi-objective server placement determination | |
US11487771B2 (en) | Per-node custom code engine for distributed query processing | |
Sun et al. | The cost-efficient deployment of replica servers in virtual content distribution networks for data fusion | |
Feng et al. | Topology-aware virtual network embedding based on multiple characteristics | |
CN111027736A (zh) | 多目标优化下的微服务组合部署与调度方法 | |
KR102450411B1 (ko) | 블록체인 기반 트랜잭션 처리 방법, 장치 및 그 시스템 | |
JP2005353039A5 (zh) | ||
CN109788020A (zh) | 一种坐席分配方法及相关设备 | |
CN101901252A (zh) | 一种整合多个网站中同一用户数据的方法及整合平台 | |
Hassanzadeh-Nazarabadi et al. | Decentralized utility-and locality-aware replication for heterogeneous DHT-based P2P cloud storage systems | |
TWI581115B (zh) | 主動偏好學習方法與系統 | |
JP7349506B2 (ja) | K-最近傍探索のための分散型インメモリ空間データストア | |
US8977616B2 (en) | Methods, apparatuses and computer program products for generating indexes using a journal in a key value memory device | |
CN105610941B (zh) | 一种移动网络中基于节点分组的数据分片缓存方法 | |
CN110971533B (zh) | 用于数据通信的方法、服务器装置、客户端装置和介质 | |
CN108289115B (zh) | 一种信息处理方法及系统 | |
CN110505276B (zh) | 对象匹配方法、装置及系统、电子设备及存储介质 | |
CN105430062B (zh) | 一种基于兴趣-相关度的移动p2p网络数据预取方法 | |
CN112967145A (zh) | 入群信息生成方法、装置、电子设备及存储介质 | |
Krishna Priya et al. | Crossover-based improved sine cosine algorithm for multimedia content distribution in cloud environment | |
EP4312164A1 (en) | Apparatus and method for training a learning model in a communication network | |
WO2014114112A1 (zh) | 一种产生数据的方法和装置 | |
CN114416871A (zh) | 基于区块链的数据处理方法、装置、设备、系统及介质 | |
CN115988075A (zh) | 一种基于人工鱼群算法的云数据迁移方法及装置 |
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: 13873000 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13873000 Country of ref document: EP Kind code of ref document: A1 |