CN111158583A - Boolean type variable storage method, device, equipment and storage medium for graph calculation - Google Patents
Boolean type variable storage method, device, equipment and storage medium for graph calculation Download PDFInfo
- Publication number
- CN111158583A CN111158583A CN201911162953.7A CN201911162953A CN111158583A CN 111158583 A CN111158583 A CN 111158583A CN 201911162953 A CN201911162953 A CN 201911162953A CN 111158583 A CN111158583 A CN 111158583A
- Authority
- CN
- China
- Prior art keywords
- preset
- boolean variables
- storage space
- bit
- boolean
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 title claims abstract description 19
- 238000013500 data storage Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to the technical field of big data, and discloses a Boolean type variable storage method, device, equipment and storage medium for graph computation, which are used for improving the storage resource utilization rate of node attributes and edge attributes. The Boolean type variable storage method for graph calculation comprises the following steps: acquiring preset Boolean variables of nodes and preset Boolean variables of edges; allocating storage space to the preset Boolean variables of the nodes and the preset Boolean variables of the edges according to the preset sequence to obtain a first storage space and a second storage space; sequentially storing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into a first storage space and a second storage space according to a preset sequence; when the preset Boolean variables of the reading nodes and the preset Boolean variables of the edges are detected, values of the preset Boolean variables of the reading nodes and values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to a preset sequence.
Description
Technical Field
The present invention relates to the field of node storage, and in particular, to a boolean variable storage method, apparatus, device, and storage medium for graph computation.
Background
In recent years, with diversification of data, great increase in data volume, and breakthrough in computing power, graph computation has been a problem of studying how to efficiently compute, store, and manage graph data among these large amounts of data. The graph data mainly comprises node attributes and edge attributes, the graph data structure expresses the relevance among the data, and the storage of a large number of node attributes and edge attributes is involved in the graph calculation.
There are a large number of boolean variables in the node attribute and the edge attribute, for example, whether a node belongs to a particular class, whether an edge between two nodes exists, or not. Boolean-type variables are generally stored in integer form, and in a typical graph computing environment, such as GraphX/Giraph, the Boolean-type variables are often stored as int32 type or int64 type, and a single Boolean-type variable occupies 32 bits or 64 bits of memory space. By using the existing method for storing the Boolean variables, a large amount of storage resources are consumed by large-scale graph data, and the storage efficiency of the graph data is reduced.
Disclosure of Invention
The invention mainly aims to solve the technical problems that a great amount of resources are consumed and the storage and reading efficiency is low due to the fact that the int32 type or int64 type is adopted to store Boolean type variables in graph calculation.
To achieve the above object, a first aspect of the present invention provides a boolean variable storage method for graph computation, including: acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, wherein the preset Boolean type variable is used for indicating the value of the preset Boolean type variable; allocating storage spaces to preset Boolean variables of the nodes and preset Boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, wherein the values of the preset Boolean variables occupy 1 bit; sequentially writing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence; when the preset Boolean variables of the nodes and the preset Boolean variables of the edges are detected to be read, the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to the preset sequence.
Optionally, in a first implementation manner of the first aspect of the present invention, the allocating storage spaces to the preset boolean variables of the nodes and the preset boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, where a value of the preset boolean variable occupies 1 bit, includes: setting the value of the preset Boolean type variable to be 1 or 0, wherein the 1 is used for indicating that the value of the preset Boolean type variable is logic true, and the 0 is used for indicating that the value of the preset Boolean type variable is logic false; setting the storage bit number of the preset Boolean type variable to be 1 according to the value of the preset Boolean type variable; counting the number of the preset Boolean variables to obtain M preset Boolean variables of the node and N preset Boolean variables of the edge, wherein M and N are positive integers; distributing M bits to M preset Boolean variables of the nodes according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the M bits as a first storage space; and distributing N bits to the N preset Boolean variables of the edge according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the N bits as a second storage space.
Optionally, in a second implementation manner of the first aspect of the present invention, the allocating M bits to M preset boolean variables of the node according to a preset order and a storage bit number of the preset boolean variable, and setting the M bits as a first storage space includes: sequentially dividing preset node data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a first start bit and a first end bit, wherein the preset node data storage space is used for storing the preset type variable of the node; recording the first start bit and the first end bit; and calculating M preset Boolean variables of the node to obtain M bits, and setting the M bits as a first storage space.
Optionally, in a third implementation manner of the first aspect of the present invention, the allocating N bits to the N preset boolean variables on the edge according to a preset order and the number of storage bits of the preset boolean variable, and setting the N bits as the second storage space includes: sequentially dividing a preset edge data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a second start bit and a second end bit, wherein the preset edge data storage space is used for storing the preset type variable of the edge; recording the second start bit and the second end bit; and calculating N preset Boolean variables of the edge to obtain N bits, and setting the N bits as a second storage space.
Optionally, in a fourth implementation manner of the first aspect of the present invention, sequentially storing the values of the preset boolean variables of the nodes and the values of the preset boolean variables of the edges in the first storage space and the second storage space according to a preset sequence includes: reading a first start bit and a first end bit corresponding to M preset Boolean variables of the node; sequentially writing the values of the M preset Boolean variables of the node into the first storage space according to the corresponding first start bit and the corresponding first end bit; reading a second starting bit and a second ending bit corresponding to the N preset Boolean variables of the edge respectively; and sequentially writing the values of the N preset Boolean variables of the edge into the second storage space according to the corresponding second start bit and the corresponding second end bit.
Optionally, in a fifth implementation manner of the first aspect of the present invention, when it is detected that the preset boolean variable of the node and the preset boolean variable of the edge are read, sequentially reading the value of the preset boolean variable of the node and the value of the preset boolean variable of the edge from the first storage space and the second storage space according to the preset sequence includes: when the preset Boolean variables of the nodes are detected to be read, determining a first starting bit and a first ending bit of the preset Boolean variables of the nodes, and sequentially reading values of the preset Boolean variables of the nodes from the first storage space according to a preset sequence according to the first starting bit and the first ending bit; when the preset Boolean variables of the edge are detected to be read, determining a second starting bit and a second ending bit of the preset Boolean variables of the edge, and sequentially reading the values of the preset Boolean variables of the edge from the second storage space according to a preset sequence according to the second starting bit and the second ending bit; and sequentially assigning the values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to the preset sequence.
Optionally, in a sixth implementation manner of the first aspect of the present invention, the counting the number of the preset boolean variables to obtain M preset boolean variables of the node and N preset boolean variables of the edge, where M and N are both positive integers includes: reading the preset Boolean type variable from preset parameters; and determining the number of preset Boolean variables of the node as M and the number of preset Boolean variables of the edge as N, wherein M and N are positive integers.
A second aspect of the present invention provides a boolean variable storage device for graph computation, including: the device comprises an acquisition unit, a calculation unit and a control unit, wherein the acquisition unit is used for acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, and the preset Boolean type variable is used for indicating the value of the preset Boolean type variable; the distribution unit is used for distributing storage space to the preset Boolean variables of the nodes and the preset Boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, and the values of the preset Boolean variables occupy 1 bit; a storage unit, configured to store values of the preset boolean variables of the nodes and values of the preset boolean variables of the edges in the first storage space and the second storage space in sequence according to a preset order; and the reading unit is used for sequentially reading the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges from the first storage space and the second storage space according to the preset sequence when the preset Boolean variables of the nodes and the preset Boolean variables of the edges are detected to be read.
Optionally, in a first implementation manner of the second aspect of the present invention, the allocation unit further includes: the first setting subunit is configured to set a value of the preset boolean variable to 1 or 0, where 1 is used to indicate that the value of the preset boolean variable is logically true, and 0 is used to indicate that the value of the preset boolean variable is logically false; the second setting subunit is used for setting the storage bit number of the preset Boolean type variable to be 1 according to the value of the preset Boolean type variable; a counting subunit, configured to count the number of the preset boolean variables to obtain M preset boolean variables of the node and N preset boolean variables of the edge, where M and N are positive integers; a first allocating subunit, configured to allocate M bits to M preset boolean variables of the node according to a preset sequence and a storage bit number of the preset boolean variable, and set the M bits as a first storage space; and the second allocating subunit is used for allocating N bits to the N preset Boolean variables of the edge according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the N bits as a second storage space.
Optionally, in a second implementation manner of the second aspect of the present invention, the first allocating subunit is specifically configured to: sequentially dividing preset node data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a first start bit and a first end bit, wherein the preset node data storage space is used for storing the preset type variable of the node; recording the first start bit and the first end bit; and calculating M preset Boolean variables of the node to obtain M bits, and setting the M bits as a first storage space.
Optionally, in a third implementation manner of the second aspect of the present invention, the second assignment subunit is specifically configured to: sequentially dividing a preset edge data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a second start bit and a second end bit, wherein the preset edge data storage space is used for storing the preset type variable of the edge; recording the second start bit and the second end bit; and calculating N preset Boolean variables of the edge to obtain N bits, and setting the N bits as a second storage space.
Optionally, in a fourth implementation manner of the second aspect of the present invention, the storage unit is specifically configured to: reading a first start bit and a first end bit corresponding to M preset Boolean variables of the node; sequentially writing the values of the M preset Boolean variables of the node into the first storage space according to the corresponding first start bit and the corresponding first end bit; reading a second starting bit and a second ending bit corresponding to the N preset Boolean variables of the edge respectively; and sequentially writing the values of the N preset Boolean variables of the edge into the second storage space according to the corresponding second start bit and the corresponding second end bit.
Optionally, in a fifth implementation manner of the second aspect of the present invention, the reading unit is specifically configured to: when the preset Boolean variables of the nodes are detected to be read, determining a first starting bit and a first ending bit of the preset Boolean variables of the nodes, and sequentially reading values of the preset Boolean variables of the nodes from the first storage space according to a preset sequence according to the first starting bit and the first ending bit; when the preset Boolean variables of the edge are detected to be read, determining a second starting bit and a second ending bit of the preset Boolean variables of the edge, and sequentially reading the values of the preset Boolean variables of the edge from the second storage space according to a preset sequence according to the second starting bit and the second ending bit; and sequentially assigning the values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to the preset sequence.
Optionally, in a sixth implementation manner of the second aspect of the present invention, the statistics subunit is specifically configured to: reading the preset Boolean type variable from preset parameters; and determining the number of preset Boolean variables of the node as M and the number of preset Boolean variables of the edge as N, wherein M and N are positive integers.
A third aspect of the present invention provides a boolean variable storage device for graph computation, comprising: a memory having instructions stored therein and at least one processor, the memory and the at least one processor interconnected by a line; the at least one processor invokes the instructions in the memory to cause the Boolean-type variable storage device of the graph computation to perform the method of the aspects described above.
A fourth aspect of the present invention provides a computer-readable storage medium having stored therein instructions which, when run on a computer, cause the computer to perform the method of the first aspect described above.
A fifth aspect of the invention provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the first aspect described above.
According to the technical scheme, the invention has the following advantages:
in the technical scheme provided by the invention, a preset Boolean type variable of a node and a preset Boolean type variable of an edge are obtained, wherein the preset Boolean type variable is used for indicating the value of the preset Boolean type variable; allocating storage spaces to preset Boolean variables of the nodes and preset Boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, wherein the values of the preset Boolean variables occupy 1 bit; sequentially storing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence; when the preset Boolean variables of the nodes and the preset Boolean variables of the edges are detected to be read, the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to the preset sequence. In the embodiment of the invention, the values of the preset Boolean variables of the nodes and the edges are stored and read according to the preset sequence by adopting 1 bit, so that the utilization rate of the storage resources of the node attributes and the edge attributes is improved, and the data storage efficiency and the reading efficiency in graph calculation are improved.
Drawings
FIG. 1 is a diagram illustrating an embodiment of a Boolean type variable storage method for graph computation according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating another embodiment of a Boolean type variable storage method for the graph calculation according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of one embodiment of a Boolean-type variable storage device of the graph calculation in an embodiment of the present invention;
FIG. 4 is a schematic diagram of another embodiment of a Boolean-type variable storage device of the graph calculation in an embodiment of the present invention;
fig. 5 is a schematic diagram of an embodiment of a boolean variable storage device for graph computation according to an embodiment of the present invention.
Detailed Description
The embodiment of the invention provides a Boolean type variable storage method, a Boolean type variable storage device, Boolean type variable storage equipment and a storage medium for graph calculation, which are used for storing and reading values of preset Boolean type variables of nodes and edges according to a preset sequence by adopting 1 bit, so that the utilization rate of storage resources of node attributes and edge attributes is improved, and the data storage efficiency and the data reading efficiency in graph calculation are improved.
In order to make the technical field of the invention better understand the scheme of the invention, the embodiment of the invention will be described in conjunction with the attached drawings in the embodiment of the invention.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims, as well as in the drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprises," "comprising," or "having," and any variations thereof, are intended to cover non-exclusive inclusions, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
For understanding, a specific flow of the embodiment of the present invention is described below, and referring to fig. 1, an embodiment of the boolean variable storage method calculated by the graph in the embodiment of the present invention includes:
101. acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, wherein the preset Boolean type variable is used for indicating the value of the preset Boolean type variable;
the server acquires preset Boolean variables of the nodes and preset Boolean variables of the edges, wherein the preset Boolean variables are used for indicating values of the preset Boolean variables. The preset Boolean type variable is a variable with two logic states, the preset Boolean type variable comprises a logic true value and a logic false value, if the value of the preset Boolean type variable is 0, the preset Boolean type variable is represented as logic false, and if the value of the preset Boolean type variable is not 0, the preset Boolean type variable is represented as logic true.
For example, in the graph calculation, a preset boolean variable B of a node a identifies whether a target user has a subject calendar, and when the server detects that the value of the preset boolean variable B is 1, the server determines that the target user has the subject calendar; and when the server detects that the value of the preset Boolean type variable B is 0, the server determines that the target user does not have the subject calendar.
The nodes are used to represent bodies connected in the graph, and the nodes are associated with each other by edges.
102. Allocating storage space to preset Boolean type variables of nodes and preset Boolean type variables of edges according to a preset sequence to obtain a first storage space and a second storage space, wherein the value of the preset Boolean type variables occupies 1 bit;
the server allocates storage space to the preset Boolean variables of the nodes and the preset Boolean variables of the edges according to the preset sequence to obtain a first storage space and a second storage space, and the value of the preset Boolean variables occupies 1 bit. The storage space of the graph data comprises a preset node data storage space and a preset edge data storage space, the server divides the preset node data storage space and the preset edge data storage space according to the value of a preset Boolean variable to obtain a first storage space and a second storage space, wherein the first storage space consists of a first start bit and a first end bit of the preset Boolean variable of the node, and the second storage space consists of a second start bit and a second end bit of the preset Boolean variable of the edge.
Note that a BIT (BIT) is a BIT in a binary digit and is a minimum unit of an information amount. The value of the preset Boolean type variables comprises logic true and logic false, and each preset Boolean type variable is stored by adopting 1 bit, so that the total number of storage spaces occupied by the preset Boolean type variables of the nodes and the preset Boolean type variables of the edges is equal to the number of the corresponding preset Boolean type variables.
103. Sequentially storing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into a first storage space and a second storage space according to a preset sequence;
and the server sequentially stores the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence. Specifically, the server reads a first start bit and a first end bit corresponding to respective preset boolean variables of the node; sequentially writing the values of the preset Boolean variables of the nodes into a first storage space according to the corresponding first start bit and the corresponding first end bit; the server reads a second starting bit and a second ending bit which correspond to the preset Boolean variables of the edge respectively; and sequentially writing the values of the N preset Boolean variables of the edge into a second storage space according to the corresponding second start bit and the second end bit. For example, the values of the 3 preset boolean variables A, B and C on the edge are stored in the 99 th bit, the 100 th bit and the 101 th bit of the preset edge data storage space, the values of the preset boolean variables A, B and C are 0, 1 and 0, the server stores the preset orders C, A and B, and the server stores the preset orders according to the order of C, A and B, that is, the server writes the value 0 of the preset boolean variable C on the edge into the 99 th bit, writes the value 0 of the preset boolean variable a on the edge into the 100 th bit, and writes the value 1 of the preset boolean variable B on the edge into the 101 bits. Wherein, the 99 th bit, the 100 th bit and the 101 th bit of the preset edge data storage space are the second storage spaces of the preset boolean variables C, A and B.
It should be noted that the first storage space and the second storage space are used for storing values of the preset boolean variables, and names of the preset boolean variables need to be stored separately.
104. When the preset Boolean variables of the reading nodes and the preset Boolean variables of the edges are detected, values of the preset Boolean variables of the reading nodes and values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to a preset sequence.
When the preset Boolean variables of the reading nodes and the preset Boolean variables of the edges are detected, the server sequentially reads values of the preset Boolean variables of the reading nodes and values of the preset Boolean variables of the edges from the first storage space and the second storage space according to a preset sequence. Specifically, the server determines a first start bit and a first end bit of a preset boolean variable of a node, and sequentially reads values of the preset boolean variable of the node from a first storage space according to the first start bit and the first end bit in a preset order; the server determines a second starting bit and a second ending bit of the preset Boolean variables of the edge, and sequentially reads values of the preset Boolean variables of the edge from the second storage space according to the second starting bit and the second ending bit in a preset sequence; and sequentially assigning values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to a preset sequence. For example, the values 0, 1 and 0 of the preset boolean variables A, B and C of the node G are respectively stored in the 100 th bit, the 101 th bit and the 99 th bit in the preset node data storage space, when the server reads data, the server assigns the data 0 taken from the 99 th bit to the preset boolean variable C, assigns the data 0 taken from the 100 th bit to the preset boolean variable a, and assigns the data 1 taken from the 101 th bit to the preset boolean variable B.
It is understood that the server reads the values of the preset boolean variables in the preset order in turn, which is the same as the preset order of step 103.
In the embodiment of the invention, the values of the preset Boolean variables of the nodes and the edges are stored and read according to the preset sequence by adopting 1 bit, so that the utilization rate of the storage resources of the node attributes and the edge attributes is improved, and the data storage efficiency and the reading efficiency in graph calculation are improved.
Referring to fig. 2, another embodiment of the boolean variable storage method of the present invention includes:
201. acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, wherein the preset Boolean type variable is used for indicating the value of the preset Boolean type variable;
the server acquires preset Boolean variables of the nodes and preset Boolean variables of the edges, wherein the preset Boolean variables are used for indicating values of the preset Boolean variables. The preset Boolean type variable is a variable with two logic states, the preset Boolean type variable comprises a logic true value and a logic false value, if the value of the preset Boolean type variable is 0, the preset Boolean type variable is represented as logic false, and if the value of the preset Boolean type variable is not 0, the preset Boolean type variable is represented as logic true.
The nodes are used to represent bodies connected in the graph, and the nodes are associated with each other by edges. The server adopts the value of the preset Boolean type variable with the integer as the node and the value of the preset Boolean type variable with the edge, and the number of the values of the preset Boolean type variable is 2.
202. Setting the value of a preset Boolean type variable to be 1 or 0, wherein 1 is used for indicating that the value of the preset Boolean type variable is logic true, and 0 is used for indicating that the value of the preset Boolean type variable is logic false;
the server sets the value of the preset Boolean type variable to be 1 or 0, wherein 1 is used for indicating that the value of the preset Boolean type variable is logic true, and 0 is used for indicating that the value of the preset Boolean type variable is logic false. For example, a preset boolean variable B of a node a in graph calculation identifies whether a target user has a subject calendar, and when the server detects that the value of the preset boolean variable B is 1, the server determines that the target user has the subject calendar; and when the server detects that the value of the preset Boolean type variable B is 0, the server determines that the target user does not have the subject calendar.
It should be noted that the server uses 1 to indicate that the value of the preset boolean variable is logically true, and may also use a non-0 number such as 2, 3, or 4 to indicate that the value of the preset boolean variable is logically true, and the specific details are not limited herein.
203. Setting the storage bit number of the preset Boolean type variable to be 1 according to the value of the preset Boolean type variable;
the server sets the storage bit number of the preset Boolean type variable to be 1 according to the value of the preset Boolean type variable, wherein the value of the preset Boolean type variable is 1 and 0, and the value number of the preset Boolean type variable is 2, so that the logarithm value 1 obtained by calculating the value number 2 of the preset Boolean type variable with 2 as the base is set as the storage bit number of the preset Boolean type variable. For example, for 3 preset boolean variables A3, a4, and a5 of node a, the server divides 1 bit for each preset boolean variable A3, a4, and a5, respectively, for storage.
Note that a BIT (BIT) is a unit of information amount and is transliterated from an english BIT. And simultaneously, the bits in the binary digits and the measurement unit of the information quantity are the minimum unit of the information quantity, and the bit number of the signal is equal to a logarithmic value of which the value quantity of the signal is base on 2.
204. Counting the number of the preset Boolean variables to obtain M preset Boolean variables of the nodes and N preset Boolean variables of the edges, wherein M and N are positive integers;
the server counts the number of the preset Boolean variables to obtain M preset Boolean variables of the nodes and N preset Boolean variables of the edges, wherein M and N are positive integers. Specifically, the server reads preset boolean variables from preset parameters; the server determines that the number of preset Boolean variables of the nodes is M and the number of preset Boolean variables of the edges is N, wherein M and N are positive integers.
It should be noted that the server records the preset boolean variables of the nodes and the preset boolean variables of the edges through preset parameters, and the preset parameters are also used for indicating the preset boolean variables of the nodes and the preset order of storage and reading of the preset boolean variables of the edges.
205. Distributing M bits to M preset Boolean variables of the nodes according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the M bits as a first storage space;
the server distributes M bits to M preset Boolean variables of the nodes according to the preset sequence and the storage bit number of the preset Boolean variables, and sets the M bits as a first storage space. Specifically, the server divides preset node data storage space in sequence according to a preset sequence according to the storage bit number of preset boolean variables to obtain a first start bit and a first end bit, and the preset node data storage space is used for storing preset type variables of nodes; the server records a first start bit and a first end bit; the server calculates M preset Boolean variables of the nodes to obtain M bits, and the M bits are set as a first storage space. For example, the server divides the preset node data storage space for the 3 preset boolean variables a1, a2, and A3 of the node a to obtain that the first start bit and the first end bit of the preset boolean variable a1 are 50, the first start bit and the first end bit of the preset boolean variable a2 are 51, and the first start bit and the first end bit of the preset boolean variable A3 are 52, where the positions of the first start bit and the first end bit are the same.
It should be noted that, for the global graph data, the server presets a group of variables to store a first start bit and a first end bit of a preset boolean variable of a node according to a preset order.
206. Distributing N bits according to the preset sequence and the N preset Boolean variables on the opposite sides of the storage bit number of the preset Boolean variables, and setting the N bits as a second storage space;
and the server allocates N bits according to the preset sequence and the N preset Boolean variables on the opposite sides of the storage bit number of the preset Boolean variables, and sets the N bits as a second storage space. Specifically, the server divides the preset edge data storage space in sequence according to the preset sequence according to the storage bit number of the preset boolean variable to obtain a second start bit and a second end bit, and the preset edge data storage space is used for storing the preset type variable of the edge; the server records a second starting bit and a second ending bit; and the server calculates the N preset Boolean variables of the edge to obtain N bits, and sets the N bits as a second storage space. For example, the server divides the preset edge data storage space by 3 preset boolean variables B1, B2, and B3 of the side B, and obtains that the second start bit and the second end bit of the preset boolean variable B1 are 200, the second start bit and the second end bit of the preset boolean variable a2 are 201, and the second start bit and the second end bit of the preset boolean variable B3 are 202, where the positions of the second start bit and the second end bit are the same.
It should be noted that, for the global map data, the server presets a group of variables and stores a second start bit and a second end bit of a preset boolean variable of the edge according to a preset order.
207. Sequentially storing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into a first storage space and a second storage space according to a preset sequence;
and the server sequentially stores the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence. Specifically, the server reads a first start bit and a first end bit corresponding to each of M preset boolean variables of the node; the server sequentially writes the values of M preset Boolean variables of the node into a first storage space according to the corresponding first start bit and the corresponding first end bit; the server reads a second starting bit and a second ending bit which respectively correspond to the N preset Boolean variables of the edge; and the server sequentially writes the values of the N preset Boolean variables of the edge into a second storage space according to the corresponding second start bit and the second end bit.
For example, the values of the 3 preset boolean variables A, B and C on the edge are respectively stored at the 99 th bit, the 100 th bit and the 101 th bit of the preset edge data storage space, the values of the preset boolean variables A, B and C are 0, 1 and 0, and the server sequentially stores the values according to the sequence of the preset sequences C, A and B, that is, the server writes the value 0 of the preset boolean variable C on the edge into the 99 th bit, writes the value 0 of the preset boolean variable a on the edge into the 100 th bit, and writes the value 0 of the preset boolean variable B on the edge into the 101 bit. Wherein, the 99 th bit, the 100 th bit and the 101 th bit of the preset edge data storage space are the second storage spaces of the preset boolean variables C, A and B.
It should be noted that the first storage space and the second storage space are used to store values of the preset boolean variables, and names of the preset boolean variables are separately stored in the memory.
208. When the preset Boolean variables of the reading nodes and the preset Boolean variables of the edges are detected, values of the preset Boolean variables of the reading nodes and values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to a preset sequence.
When the preset Boolean variables of the reading nodes and the preset Boolean variables of the edges are detected, the server sequentially reads values of the preset Boolean variables of the reading nodes and values of the preset Boolean variables of the edges from the first storage space and the second storage space according to a preset sequence. Specifically, when the preset boolean variable of the read node is detected, the server determines a first start bit and a first end bit of the preset boolean variable of the node, and sequentially reads values of the preset boolean variable of the node from the first storage space according to the first start bit and the first end bit in a preset sequence; when the preset Boolean variables of the read edge are detected, the server determines a second starting bit and a second ending bit of the preset Boolean variables of the edge, and sequentially reads the values of the preset Boolean variables of the edge from the second storage space according to the second starting bit and the second ending bit in a preset sequence; and the server sequentially assigns the values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to a preset sequence.
For example, the values 0, 1 and 0 of the preset boolean variables A, B and C of the node G are respectively stored in the 100 th bit, the 101 th bit and the 99 th bit of the preset node data storage space, when the server reads data, the server assigns the data 0 taken from the 99 th bit to the preset boolean variable C, assigns the data 0 taken from the 100 th bit to the preset boolean variable a, and assigns the data 1 taken from the 101 th bit to the preset boolean variable B.
It is understood that the preset sequence of reading the values of the preset boolean variables by the server in turn according to the preset sequence is the same as the preset sequence of step 207.
In the embodiment of the invention, the values of the preset Boolean variables of the nodes and the edges are stored and read according to the preset sequence by adopting 1 bit, so that the utilization rate of the storage resources of the node attributes and the edge attributes is improved, and the data storage efficiency and the reading efficiency in graph calculation are improved.
In the above description of the boolean variable storage method for graph computation in the embodiment of the present invention, the following description of the boolean variable storage device for graph computation in the embodiment of the present invention refers to fig. 3, where one embodiment of the boolean variable storage device for graph computation in the embodiment of the present invention includes:
an obtaining unit 301, configured to obtain a preset boolean variable of a node and a preset boolean variable of an edge, where the preset boolean variable is used to indicate a value of the preset boolean variable;
the allocation unit 302 is configured to allocate a storage space to a preset boolean variable of a node and a preset boolean variable of an edge according to a preset sequence to obtain a first storage space and a second storage space, where a value of the preset boolean variable occupies 1 bit;
a storage unit 303, configured to store values of preset boolean variables of nodes and values of preset boolean variables of edges in the first storage space and the second storage space in sequence according to a preset order;
the reading unit 304 is configured to, when detecting that the preset boolean variable of the read node and the preset boolean variable of the edge are present, sequentially read a value of the preset boolean variable of the node and a value of the preset boolean variable of the edge from the first storage space and the second storage space according to a preset sequence.
In the embodiment of the invention, the values of the preset Boolean variables of the nodes and the edges are stored and read according to the preset sequence by adopting 1 bit, so that the utilization rate of the storage resources of the node attributes and the edge attributes is improved, and the data storage efficiency and the reading efficiency in graph calculation are improved.
Referring to fig. 4, another embodiment of the boolean variable storage device calculated in the embodiment of the present invention includes:
an obtaining unit 301, configured to obtain a preset boolean variable of a node and a preset boolean variable of an edge, where the preset boolean variable is used to indicate a value of the preset boolean variable;
the allocation unit 302 is configured to allocate a storage space to a preset boolean variable of a node and a preset boolean variable of an edge according to a preset sequence to obtain a first storage space and a second storage space, where a value of the preset boolean variable occupies 1 bit;
a storage unit 303, configured to store values of preset boolean variables of nodes and values of preset boolean variables of edges in the first storage space and the second storage space in sequence according to a preset order;
the reading unit 304 is configured to, when detecting that the preset boolean variable of the read node and the preset boolean variable of the edge are present, sequentially read a value of the preset boolean variable of the node and a value of the preset boolean variable of the edge from the first storage space and the second storage space according to a preset sequence.
Optionally, the allocating unit 302 may further include:
a first setting subunit 3021, configured to set a value of the preset boolean variable to 1 or 0, where 1 is used to indicate that the value of the preset boolean variable is logically true, and 0 is used to indicate that the value of the preset boolean variable is logically false;
a second setting subunit 3022, configured to set the number of storage bits of the preset boolean variable to 1 according to the value of the preset boolean variable;
a statistics subunit 3023, configured to count the number of preset boolean variables, to obtain M preset boolean variables of a node and N preset boolean variables of an edge, where M and N are positive integers;
a first allocating subunit 3024, configured to allocate M bits to M preset boolean variables of a node according to a preset order and a storage bit number of the preset boolean variable, and set the M bits as a first storage space;
a second allocating subunit 3025, configured to allocate N bits according to the preset order and the N preset boolean variables on the opposite side of the number of storage bits of the preset boolean variable, and set the N bits as a second storage space.
Optionally, the first allocating subunit 3024 may be further specifically configured to:
sequentially dividing preset node data storage space according to the storage bit number of preset Boolean variables and a preset sequence to obtain a first start bit and a first end bit, wherein the preset node data storage space is used for storing the preset type variables of the nodes;
recording a first start bit and a first end bit;
and calculating M preset Boolean variables of the node to obtain M bits, and setting the M bits as a first storage space.
Optionally, the second sub-distribution subunit 3025 may be further specifically configured to:
sequentially dividing a preset edge data storage space according to the storage bit number of a preset Boolean type variable and a preset sequence to obtain a second start bit and a second end bit, wherein the preset edge data storage space is used for storing the preset type variable of an edge;
recording a second start bit and a second end bit;
and calculating the N preset Boolean variables of the edge to obtain N bits, and setting the N bits as a second storage space.
Optionally, the storage unit 303 may be further specifically configured to:
reading a first start bit and a first end bit corresponding to M preset Boolean variables of a node;
sequentially writing the values of M preset Boolean variables of the node into a first storage space according to the corresponding first start bit and the corresponding first end bit;
reading a second starting bit and a second ending bit corresponding to the N preset Boolean variables of the edge respectively;
and sequentially writing the values of the N preset Boolean variables of the edge into a second storage space according to the corresponding second start bit and the second end bit.
Optionally, the reading unit 304 may be further specifically configured to:
when the preset Boolean variables of the reading nodes are detected, determining a first starting bit and a first ending bit of the preset Boolean variables of the nodes, and sequentially reading the values of the preset Boolean variables of the nodes from a first storage space according to a preset sequence according to the first starting bit and the first ending bit;
when the preset Boolean variables of the read edge are detected, determining a second start bit and a second end bit of the preset Boolean variables of the edge, and sequentially reading the values of the preset Boolean variables of the edge from a second storage space according to a preset sequence according to the second start bit and the second end bit;
and sequentially assigning values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to a preset sequence.
Optionally, the statistics subunit 3023 may be further specifically configured to:
reading preset Boolean variables from preset parameters;
and determining the number of preset Boolean variables of the nodes as M and the number of preset Boolean variables of the edges as N, wherein M and N are positive integers.
In the embodiment of the invention, the values of the preset Boolean variables of the nodes and the edges are stored and read according to the preset sequence by adopting 1 bit, so that the utilization rate of the storage resources of the node attributes and the edge attributes is improved, and the data storage efficiency and the reading efficiency in graph calculation are improved.
Fig. 3 and 4 above describe the boolean variable storage device for graph computation in the embodiment of the present invention in detail from the perspective of a modular functional entity, and the boolean variable storage device for graph computation in the embodiment of the present invention is described in detail from the perspective of hardware processing.
Fig. 5 is a schematic structural diagram of a boolean variable storage device for graph computation, where the boolean variable storage device 500 for graph computation may have a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 501 (e.g., one or more processors) and a memory 509, and one or more storage media 508 (e.g., one or more mass storage devices) for storing applications 509 or data 509. Memory 509 and storage medium 508 may be, among other things, transient storage or persistent storage. The program stored on the storage medium 508 may include one or more modules (not shown), each of which may include a series of instruction operations in a boolean variable store computed on a graph. Still further, the processor 501 may be configured to communicate with a storage medium 508 to execute a series of instruction operations in the storage medium 508 on the boolean variable storage device 500 for graph computation.
The boolean variable storage device 500 for graph computations may also include one or more power supplies 502, one or more wired or wireless network interfaces 503, one or more input-output interfaces 504, and/or one or more operating systems 505, such as Windows server, Mac OS X, Unix, Linux, FreeBSD, and so forth. Those skilled in the art will appreciate that the boolean variable storage device architecture of the graph computation shown in fig. 5 does not constitute a limitation of the boolean variable storage device of the graph computation, and may include more or fewer components than shown, or combine certain components, or a different arrangement of components.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the embodiments provided in the present invention, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (10)
1. A Boolean-type variable storage method for graph computation is characterized by comprising the following steps:
acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, wherein the preset Boolean type variable is used for indicating the value of the preset Boolean type variable;
allocating storage spaces to preset Boolean variables of the nodes and preset Boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, wherein the values of the preset Boolean variables occupy 1 bit;
sequentially storing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence;
when the preset Boolean variables of the nodes and the preset Boolean variables of the edges are detected to be read, the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges are sequentially read from the first storage space and the second storage space according to the preset sequence.
2. The method according to claim 1, wherein the allocating storage spaces to the preset boolean variables of the nodes and the preset boolean variables of the edges according to a preset order to obtain a first storage space and a second storage space, and the taking of the preset boolean variables by 1 bit includes:
setting the value of the preset Boolean type variable to be 1 or 0, wherein the 1 is used for indicating that the value of the preset Boolean type variable is logic true, and the 0 is used for indicating that the value of the preset Boolean type variable is logic false;
setting the storage bit number of the preset Boolean type variable to be 1 according to the value of the preset Boolean type variable;
counting the number of the preset Boolean variables to obtain M preset Boolean variables of the node and N preset Boolean variables of the edge, wherein M and N are positive integers;
distributing M bits to M preset Boolean variables of the nodes according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the M bits as a first storage space;
and distributing N bits to the N preset Boolean variables of the edge according to a preset sequence and the storage bit number of the preset Boolean variables, and setting the N bits as a second storage space.
3. The boolean variable storage method of graph computation according to claim 2, characterized in that said allocating M bits to M preset boolean variables of the nodes according to a preset order and a number of storage bits of the preset boolean variables and setting the M bits to a first storage space comprises:
sequentially dividing preset node data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a first start bit and a first end bit, wherein the preset node data storage space is used for storing the preset type variable of the node;
recording the first start bit and the first end bit;
and calculating M preset Boolean variables of the node to obtain M bits, and setting the M bits as a first storage space.
4. The boolean variable storage method for graph computation according to claim 2, characterized in that said assigning N bits to N preset boolean variables of the edge according to a preset order and a number of storage bits of the preset boolean variables and setting the N bits to a second storage space comprises:
sequentially dividing a preset edge data storage space according to the storage bit number of the preset Boolean type variable and a preset sequence to obtain a second start bit and a second end bit, wherein the preset edge data storage space is used for storing the preset type variable of the edge;
recording the second start bit and the second end bit;
and calculating N preset Boolean variables of the edge to obtain N bits, and setting the N bits as a second storage space.
5. The method for storing boolean variables for graph computation according to any one of claims 1 to 4, wherein the sequentially storing values of the preset boolean variables for the nodes and values of the preset boolean variables for the edges in the first storage space and the second storage space according to a preset order includes:
reading a first start bit and a first end bit corresponding to M preset Boolean variables of the node;
sequentially writing the values of the M preset Boolean variables of the node into the first storage space according to the corresponding first start bit and the corresponding first end bit;
reading a second starting bit and a second ending bit corresponding to the N preset Boolean variables of the edge respectively;
and sequentially writing the values of the N preset Boolean variables of the edge into the second storage space according to the corresponding second start bit and the corresponding second end bit.
6. The method according to any one of claims 1 to 4, wherein, when it is detected that the preset Boolean variables of the nodes and the preset Boolean variables of the edges are read, sequentially reading values of the preset Boolean variables of the nodes and values of the preset Boolean variables of the edges from the first storage space and the second storage space in the preset order includes:
when the preset Boolean variables of the nodes are detected to be read, determining a first starting bit and a first ending bit of the preset Boolean variables of the nodes, and sequentially reading values of the preset Boolean variables of the nodes from the first storage space according to a preset sequence according to the first starting bit and the first ending bit;
when the preset Boolean variables of the edge are detected to be read, determining a second starting bit and a second ending bit of the preset Boolean variables of the edge, and sequentially reading the values of the preset Boolean variables of the edge from the second storage space according to a preset sequence according to the second starting bit and the second ending bit;
and sequentially assigning the values of the preset Boolean variables of the nodes and the preset Boolean variables of the edges to the corresponding preset Boolean variables according to the preset sequence.
7. The method of claim 2, wherein the counting the number of the preset boolean variables to obtain M preset boolean variables of the node and N preset boolean variables of the edge, where M and N are both positive integers includes:
reading the preset Boolean type variable from preset parameters;
and determining the number of preset Boolean variables of the node as M and the number of preset Boolean variables of the edge as N, wherein M and N are positive integers.
8. A graph-computation boolean-type variable storage device, characterized by comprising:
the device comprises an acquisition unit, a calculation unit and a control unit, wherein the acquisition unit is used for acquiring a preset Boolean type variable of a node and a preset Boolean type variable of an edge, and the preset Boolean type variable is used for indicating the value of the preset Boolean type variable;
the distribution unit is used for distributing storage space to the preset Boolean variables of the nodes and the preset Boolean variables of the edges according to a preset sequence to obtain a first storage space and a second storage space, and the values of the preset Boolean variables occupy 1 bit;
the storage unit is used for sequentially writing the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges into the first storage space and the second storage space according to a preset sequence;
and the reading unit is used for sequentially reading the values of the preset Boolean variables of the nodes and the values of the preset Boolean variables of the edges from the first storage space and the second storage space according to the preset sequence when the preset Boolean variables of the nodes and the preset Boolean variables of the edges are detected to be read.
9. A graph-computing boolean variable storage device, characterized in that the graph-computing boolean variable storage device comprises: a memory having instructions stored therein and at least one processor, the memory and the at least one processor interconnected by a line;
the at least one processor invokes the instructions in the memory to cause the graph-computed boolean variable storage device to perform the method of any one of claims 1-7.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that: the computer program realizing the steps of the method according to any one of claims 1-7 when executed by a processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162953.7A CN111158583A (en) | 2019-11-25 | 2019-11-25 | Boolean type variable storage method, device, equipment and storage medium for graph calculation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162953.7A CN111158583A (en) | 2019-11-25 | 2019-11-25 | Boolean type variable storage method, device, equipment and storage medium for graph calculation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158583A true CN111158583A (en) | 2020-05-15 |
Family
ID=70556118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911162953.7A Pending CN111158583A (en) | 2019-11-25 | 2019-11-25 | Boolean type variable storage method, device, equipment and storage medium for graph calculation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158583A (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439853A (en) * | 2009-03-02 | 2012-05-02 | 三菱电机研究实验室股份有限公司 | Belief propagation processor |
CN104615677A (en) * | 2015-01-20 | 2015-05-13 | 同济大学 | Graph data access method and system |
CN106777351A (en) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | Computing system and its method are stored based on ART tree distributed systems figure |
CN108334888A (en) * | 2017-01-20 | 2018-07-27 | 微软技术许可有限责任公司 | For the compressed encoding of bit sequence |
CN109189994A (en) * | 2018-06-27 | 2019-01-11 | 北京中科睿芯科技有限公司 | A kind of CAM structure storage system calculating application towards figure |
CN109886412A (en) * | 2019-01-11 | 2019-06-14 | 合肥本源量子计算科技有限责任公司 | A kind of the persistent storage method, apparatus and storage medium of quantum program |
US10432639B1 (en) * | 2017-05-04 | 2019-10-01 | Amazon Technologies, Inc. | Security management for graph analytics |
-
2019
- 2019-11-25 CN CN201911162953.7A patent/CN111158583A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439853A (en) * | 2009-03-02 | 2012-05-02 | 三菱电机研究实验室股份有限公司 | Belief propagation processor |
CN104615677A (en) * | 2015-01-20 | 2015-05-13 | 同济大学 | Graph data access method and system |
CN106777351A (en) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | Computing system and its method are stored based on ART tree distributed systems figure |
CN108334888A (en) * | 2017-01-20 | 2018-07-27 | 微软技术许可有限责任公司 | For the compressed encoding of bit sequence |
US10432639B1 (en) * | 2017-05-04 | 2019-10-01 | Amazon Technologies, Inc. | Security management for graph analytics |
CN109189994A (en) * | 2018-06-27 | 2019-01-11 | 北京中科睿芯科技有限公司 | A kind of CAM structure storage system calculating application towards figure |
CN109886412A (en) * | 2019-01-11 | 2019-06-14 | 合肥本源量子计算科技有限责任公司 | A kind of the persistent storage method, apparatus and storage medium of quantum program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3944175B2 (en) | Dynamic processor reallocation between partitions in a computer system. | |
EP2153330B1 (en) | Arrangements for memory allocation | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
CN107533435B (en) | Storage space allocation method and storage equipment | |
CN108804383B (en) | Support point parallel enumeration method and device based on measurement space | |
US11210022B2 (en) | Method, electronic device and computer readable storage medium of storage management | |
CN113867644B (en) | Disk array optimization method, disk array optimization device, computer equipment and storage medium | |
CN111338579B (en) | Read-write cache optimization method, system, terminal and storage medium based on storage pool | |
CN109788013B (en) | Method, device and equipment for distributing operation resources in distributed system | |
US10896056B2 (en) | Cluster expansion method and apparatus, electronic device and storage medium | |
CN116483740B (en) | Memory data migration method and device, storage medium and electronic device | |
CN107220166B (en) | A kind of statistical method and device of CPU usage | |
CN111158583A (en) | Boolean type variable storage method, device, equipment and storage medium for graph calculation | |
CN104657216A (en) | Resource allocation method and device for resource pool | |
US8756396B1 (en) | Conversion of in-memory data representations | |
CN115658561B (en) | Power distribution terminal memory management method and device, electronic equipment and storage medium | |
CN107656697B (en) | Method and device for operating data on storage medium | |
CN110046040B (en) | Distributed task processing method and system and storage medium | |
US20180267714A1 (en) | Managing data in a storage array | |
CN109901931A (en) | A kind of reduction function numbers determine method, apparatus and system | |
JPS5883377A (en) | Buffer memory control system | |
CN109344043A (en) | A kind of method for analyzing performance and relevant apparatus | |
CN111290850B (en) | Data storage method, device and equipment | |
CN115374188B (en) | Resource state query method and device, electronic equipment and storage medium | |
CN109144231B (en) | Virtualized power management method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |