Data storage and query method, device and database system

文档序号:7552 发布日期:2021-09-17 浏览:25次 中文

1. A method of data storage, comprising:

in response to receiving first data to be stored, writing the first data into a memory layer of a database system;

generating a memory data index of the storage data in the memory layer according to a first hash-based indexing mechanism, wherein the memory data index is stored in the memory layer in association with the corresponding storage data,

when the data stored in the memory layer satisfies a first predetermined condition,

writing second data in the memory layer into a storage layer of a data storage medium of the database system, wherein the second data comprises part or all of storage data in the memory layer,

and generating a data index file of the storage layer based on the full storage data in the storage layer after the data writing operation according to a second indexing mechanism based on the perfect hash, and loading the data index file of the storage layer to the memory layer.

2. The data storage method of claim 1, further comprising:

updating the stored data in the storage tier with the second data when the storage tier stores old data.

3. The data storage method of claim 1, wherein the storage layers of the data storage medium comprise at least two layered storage layers,

and for each layered storage layer, when the data stored in the layered storage layer meets a second preset condition, the stored data of the layered storage layer is written into the lower layered storage layer, and the data index file of the lower layered storage layer is generated according to the total stored data of the lower layered storage layer after the data writing operation.

4. The data storage method of claim 3, wherein the data index file loaded into the memory tier comprises a data index file of a hierarchical storage tier where storage data changes.

5. The data storage method of claim 3, wherein after the storage data of a layered storage tier is written to a lower layered storage tier, the corresponding storage data is deleted from the layered storage tier.

6. The data storage method of claim 1, wherein the data index is recorded in a hash table in the memory layer in association with corresponding stored data,

writing the first data into a memory layer of a database system comprises:

writing the first data into a current service hash table in a memory layer of a database system, an

The data storage method further comprises the following steps:

and when the current service hash table is full of memory data with specified data volume, sealing the current service hash table into a sealed hash table.

7. The data storage method of claim 6, further comprising:

and after the first data are written into a current service hash table in a memory layer of the database system, updating the stored data of the current service hash table by using the first data.

8. A data storage method according to claim 6, wherein said second data comprises stored data in part or all of a sealed hash table.

9. The data storage method of claim 1, further comprising:

and after writing the second data in the memory layer into a storage layer of a data storage medium of the database system, deleting the second data from the memory layer.

10. The data storage method of claim 1, wherein the first hash-based indexing mechanism comprises a normal hash-based indexing mechanism or a perfect hash-based indexing mechanism.

11. A data storage method according to claim 3, wherein the first or second predetermined condition comprises one of the following predetermined conditions:

the data volume of the stored data reaches a predetermined value;

and the free memory space ratio of the memory layer or the free storage space ratio of the layered storage layer is not more than a preset value.

12. A method of data query, comprising:

in response to receiving a data query request initiated by a user, generating a memory data index according to the data query request according to a first indexing mechanism based on Hash;

using the generated memory data index to perform data query in the memory data of the memory layer of the database system;

responding to the situation that no matched data is inquired in the memory data of the memory layer, and generating a perfect hash value according to the data inquiry request according to a second indexing mechanism based on perfect hash;

performing data index query in a data index file of a storage layer of a data storage medium of the database system stored in the memory layer by using the generated perfect hash value;

responding to the matched data index inquired in the data index file, and initiating data reading to the data storage medium according to the matched data index; and

providing the query data to the user after reading the query data from the data storage medium.

13. The data query method of claim 12, wherein the data is stored in the memory layer in the form of a hash table, and the memory layer stores a current service hash table and at least one sealed hash table,

and the data query aiming at the hash table of the memory layer is sequentially carried out from new to old according to the creation time of the hash table.

14. The data querying method of claim 12, wherein the storage tiers of the data storage medium include at least two hierarchical storage tiers, and the data index query for the hierarchical storage tiers is performed sequentially from top to bottom according to the hierarchy of the hierarchical storage tiers starting from a top storage tier.

15. A data storage device comprising:

the memory writing unit is used for writing first data into a memory layer of the database system in response to receiving the first data to be stored;

the memory index generating unit is used for generating a memory data index of the storage data in the memory layer according to a first indexing mechanism based on Hash, and the memory data index and the corresponding storage data are stored in the memory layer in a correlation manner;

a storage medium writing unit, configured to write second data in the memory layer into a storage layer of a data storage medium of the database system when the data stored in the memory layer satisfies a first predetermined condition, where the second data includes part or all of the stored data in the memory layer;

an index file generation unit that generates a data index file of the storage layer based on the full storage data in the storage layer subjected to the data write operation in accordance with a second indexing mechanism based on the perfect hash, and

and the index file loading unit is used for loading the data index file of the storage layer to the memory layer.

16. The data storage device of claim 15, further comprising:

and a storage medium data updating unit that updates the storage data in the storage layer using the second data when the storage layer stores old data.

17. The data storage device of claim 15, wherein the storage layers of the data storage medium comprise at least two layered storage layers,

wherein, for each hierarchical storage layer, when the data stored in the hierarchical storage layer satisfies a second predetermined condition, the storage medium writing unit writes the data stored in the hierarchical storage layer into a lower hierarchical storage layer, and the index file generating unit generates the data index file of the lower hierarchical storage layer based on the total data of the lower hierarchical storage layer after the data writing operation.

18. The data storage device of claim 17, wherein the data index file loaded into the memory tier comprises a data index file of a hierarchical storage tier storing changes in data.

19. The data storage device of claim 17, further comprising:

and a storage medium data deleting unit configured to delete the corresponding storage data from the lower hierarchical storage layer after the storage data in the hierarchical storage layer is written in the lower hierarchical storage layer.

20. The data storage device of claim 15, wherein the data index is recorded in a hash table in the memory layer in association with corresponding stored data,

the memory writing unit writes the first data into a current service hash table in a memory layer of the database system, an

The data storage device further includes:

and the memory data sealing unit is used for sealing the current service hash table into a sealing hash table when the current service hash table is full of memory data with specified data volume.

21. The data storage device of claim 20, further comprising:

and the memory data updating unit is used for updating the stored data of the current service hash table by using the first data after the first data is written into the current service hash table.

22. The data storage device of claim 15, further comprising:

and the memory data deleting unit deletes the second data from the memory layer after writing the second data in the memory layer into the memory layer of the data storage medium of the database system.

23. A data query apparatus, comprising:

the memory index generating unit responds to a received data query request initiated by a user and generates a memory data index according to the data query request according to a first indexing mechanism based on Hash;

the memory data query unit is used for performing data query in the memory data of the memory layer of the database system by using the generated memory data index;

the perfect hash value generating unit is used for responding to that matched data are not inquired in the memory data of the memory layer, and generating a perfect hash value according to the data inquiry request according to a second indexing mechanism based on perfect hash;

the index file query unit is used for performing data index query in the data index file of the storage layer of the data storage medium of the database system stored in the memory layer by using the generated perfect hash value;

the storage medium reading unit responds to the matched data index inquired in the data index file and initiates data reading to the data storage medium according to the matched data index; and

and the query data providing unit is used for providing the query data to the user after reading the query data from the data storage medium.

24. A database system, comprising:

a data storage device as claimed in any one of claims 15 to 22;

the data querying device of claim 23;

a memory layer; and

a data storage medium.

25. A data storage device comprising:

at least one processor for executing a program code for the at least one processor,

a memory coupled to the at least one processor, an

A computer program stored in the memory, the computer program being executable by the at least one processor to implement a data storage method as claimed in any one of claims 1 to 11.

26. A computer readable storage medium storing executable instructions that when executed cause a processor to perform a data storage method as claimed in any one of claims 1 to 11.

27. A computer program product comprising a computer program for execution by a processor to implement a data storage method as claimed in any one of claims 1 to 11.

28. A data query apparatus, comprising:

at least one processor for executing a program code for the at least one processor,

a memory coupled to the at least one processor, an

A computer program stored in the memory, the computer program being executable by the at least one processor to implement the data query method of any one of claims 12 to 14.

29. A computer readable storage medium storing executable instructions that when executed cause a processor to perform a data query method as claimed in any one of claims 12 to 14.

30. A computer program product comprising a computer program for execution by a processor to implement a data query method as claimed in any one of claims 12 to 14.

Background

In a conventional data storage mechanism, a data storage system stores data to be stored in a database storage device, such as a magnetic disk, and generates a corresponding data index file according to the stored data. When data query is carried out, after a data query request is received, index query is carried out in the data index file to obtain a corresponding data index, and then the queried data index is used for obtaining query data from the database storage device. In some conventional data storage schemes, a data index generation mechanism based on prefix ordering, a data index generation mechanism based on normal hashing, or a data index generation mechanism based on perfect hashing may be employed to generate the data index file.

The prefix ordering based data index generation mechanism and the normal hash based data index generation mechanism may be applicable to data storage for online real-time update data. However, the data index generation mechanism based on prefix sorting adopts a binary search mechanism for query, and the query efficiency is. For the data index mechanism based on the common hash, because the hash index with the conflict exists, the hash conflict needs to be solved through mechanisms such as an open linked list and linear exploration when the data is queried, so that the query efficiency is higher than that of the data index mechanism based on the common hashIn the extreme case

The perfect hash-based data index generation mechanism establishes a perfect hash index by performing perfect hash calculation on a volume data set, so that data query can be subsequently performed through the perfect hash index, and the query efficiency is. However, the data index generation mechanism based on the perfect hash is only suitable for an offline query scenario, only stock data can be queried, and incremental data cannot be added in real time.

Disclosure of Invention

In view of the foregoing, embodiments of the present specification provide data storage and querying solutions. In the data storage and query scheme, a database system comprises a memory layer and a data storage medium. When data storage is carried out, new data to be stored are stored in a memory layer of the database system, a data index is generated based on the stored data of the memory layer, and the stored data and the data index are correspondingly put together to be stored in a memory as memory data. And only when the data stored in the memory layer meets a preset condition, writing the stored data of the memory layer into a data storage medium of the database system, generating a data index file of the data storage medium according to the stored data of the data storage medium by using an indexing mechanism based on perfect hash, and loading the generated data index file into the memory layer for data query. When data query is carried out, a memory data index used for memory layer query is generated according to a key in a data query request, data query is carried out in memory data of a memory layer by using the memory data index, and when matched data does not exist in the memory data, a perfect hash value is generated according to an index mechanism based on perfect hash according to the key in the data query request. Then, the generated perfect hash value is used to perform a data index query on a data index file of the data storage medium stored in the memory layer, thereby obtaining a matched data index. And then, initiating data reading to the data storage medium according to the obtained matching data index, so that the data storage medium can read the query data from the corresponding storage position and return the query data to the memory layer. According to the data storage and query scheme, data reading operation aiming at the data storage medium is not needed when data is queried in the memory layer, and when the data is required to be read from the data storage medium, data index query is firstly carried out in the data index file stored in the memory layer according to the perfect hash value determined based on the data query request, and data reading is initiated to the data storage medium after the data index query result is obtained. Because the data index in the data index file is determined according to the indexing mechanism based on the perfect hash, the data index has uniqueness, so that the query result can be accurately hit by one operation in the data storage medium, the data query operation in the data storage medium can be completed by only one storage medium data reading operation, and the data query efficiency is further improved.

According to an aspect of an embodiment of the present specification, there is provided a data storage method including: in response to receiving first data to be stored, writing the first data into a memory layer of a database system; generating a memory data index of the storage data in the memory layer according to a first indexing mechanism based on Hash, wherein the memory data index and the corresponding storage data are stored in the memory layer in a correlation manner; when the data stored in the memory layer meets a first preset condition, writing second data in the memory layer into a storage layer of a data storage medium of the database system, wherein the second data comprises part or all of the stored data in the memory layer, generating a data index file of the storage layer based on the total stored data in the storage layer after data writing operation according to a second indexing mechanism based on perfect hash, and loading the data index file of the storage layer into the memory layer.

Optionally, in an example of the above aspect, the data storage method may further include: updating the stored data in the storage tier with the second data when the storage tier stores old data.

Optionally, in an example of the above aspect, the storage layers of the data storage medium include at least two layered storage layers, where for each layered storage layer, when the data stored in the layered storage layer satisfies a second predetermined condition, the data stored in the layered storage layer is written to a lower layered storage layer, and the data index file of the lower layered storage layer is generated according to the total amount of stored data of the lower layered storage layer after the data writing operation.

Optionally, in an example of the above aspect, the data index file loaded into the memory layer includes a data index file of a hierarchical storage layer in which storage data changes.

Alternatively, in one example of the above aspect, after the storage data of a hierarchical storage tier is written to a lower hierarchical storage tier, the corresponding storage data is deleted from the hierarchical storage tier.

Optionally, in an example of the foregoing aspect, the writing the first data into the memory layer of the database system includes: writing the first data into a current service hash table in a memory layer of a database system, wherein the data storage method further comprises the following steps: and when the current service hash table is full of memory data with specified data volume, sealing the current service hash table into a sealed hash table.

Optionally, in an example of the above aspect, the data storage method may further include: and after the first data are written into a current service hash table in a memory layer of the database system, updating the stored data of the current service hash table by using the first data.

Optionally, in an example of the above aspect, the second data includes stored data in part or all of the sealed hash table.

Optionally, in an example of the above aspect, the data storage method may further include: and after writing the second data in the memory layer into a storage layer of a data storage medium of the database system, deleting the second data from the memory layer.

Optionally, in an example of the above aspect, the hash-based first indexing mechanism comprises a normal hash-based first indexing mechanism or a perfect hash-based first indexing mechanism.

Optionally, in one example of the above aspect, the first predetermined condition or the second predetermined condition comprises one of the following predetermined conditions: the data volume of the stored data reaches a predetermined value; and the free memory space ratio of the memory layer or the free storage space ratio of the layered storage layer is not more than a preset value.

According to another aspect of embodiments of the present specification, there is provided a data query method including: in response to receiving a data query request initiated by a user, generating a memory data index according to the data query request according to a first indexing mechanism based on Hash; using the generated memory data index to perform data query in the memory data of the memory layer of the database system; responding to the situation that no matched data is inquired in the memory data of the memory layer, and generating a hash value according to the data inquiry request according to a second indexing mechanism based on perfect hash; using the perfect hash value to perform data index query in a data index file of a storage layer of a data storage medium of the database system stored in the memory layer; responding to the matched data index inquired in the data index file, and initiating data reading to the data storage medium according to the matched data index; and providing the query data to the user after reading the query data from the data storage medium.

Optionally, in an example of the above aspect, the data is stored in the memory layer in a form of a hash table, and the memory layer stores a current service hash table and at least one sealed hash table, wherein data queries of the hash table of the memory layer are sequentially performed from new to old according to a hash table creation time.

Optionally, in one example of the above aspect, the storage tiers of the data storage medium include at least two hierarchical storage tiers, and the data index queries for the hierarchical storage tiers are sequentially performed from top to bottom according to a hierarchy of the hierarchical storage tiers, starting from a top storage tier.

According to another aspect of embodiments of the present specification, there is provided a data storage device including: the memory writing unit is used for writing first data into a memory layer of the database system in response to receiving the first data to be stored; the memory index generating unit is used for generating a memory data index of the storage data in the memory layer according to a first indexing mechanism based on Hash, and the memory data index and the corresponding storage data are stored in the memory layer in a correlation manner; a storage medium writing unit, configured to write second data in the memory layer into a storage layer of a data storage medium of the database system when the data stored in the memory layer satisfies a first predetermined condition, where the second data includes part or all of the stored data in the memory layer; the storage layer comprises an index file generating unit and an index file loading unit, wherein the index file generating unit generates a data index file of the storage layer based on the full storage data in the storage layer after data writing operation according to a second indexing mechanism based on perfect hash, and the index file loading unit loads the data index file of the storage layer to the memory layer.

Optionally, in an example of the above aspect, the data storage device further includes: and a storage medium data updating unit that updates the storage data in the storage layer using the second data when the storage layer stores old data.

Alternatively, in one example of the above aspect, the storage layers of the data storage medium include at least two layered storage layers, wherein, for each layered storage layer, when the data stored in the layered storage layer satisfies a second predetermined condition, the storage medium writing unit writes the stored data of the layered storage layer to a lower layered storage layer, and the index file generating unit generates the data index file of the lower layered storage layer based on the entire stored data of the lower layered storage layer after the data writing operation.

Optionally, in an example of the above aspect, the data index file loaded into the memory layer includes a data index file of a hierarchical storage layer in which storage data changes.

Optionally, in an example of the above aspect, the data storage device further includes: and a storage medium data deleting unit configured to delete the corresponding storage data from the lower hierarchical storage layer after the storage data in the hierarchical storage layer is written in the lower hierarchical storage layer.

Optionally, in an example of the above aspect, the data index is recorded in a hash table in the memory layer in association with corresponding stored data, the memory writing unit writes the first data into a currently serving hash table in the memory layer of the database system, and the data storage apparatus further includes: and the memory data sealing unit is used for sealing the current service hash table into a sealing hash table when the current service hash table is full of memory data with specified data volume.

Optionally, in an example of the above aspect, the data storage device further includes: and the memory data updating unit is used for updating the stored data of the current service hash table by using the first data after writing the first data into the current service hash table in the memory layer of the database system.

Optionally, in an example of the above aspect, the data storage device further includes: and the memory data deleting unit deletes the second data from the memory layer after writing the second data in the memory layer into the memory layer of the data storage medium of the database system.

According to another aspect of embodiments of the present specification, there is provided a data query apparatus including: the memory index generating unit responds to a received data query request initiated by a user and generates a memory data index according to the data query request according to a first indexing mechanism based on Hash; the memory data query unit is used for performing data query in the memory data of the memory layer of the database system by using the generated memory data index; the perfect hash value generating unit is used for responding to that matched data are not inquired in the memory data of the memory layer, and generating a perfect hash value according to the data inquiry request according to a second indexing mechanism based on perfect hash; the index file query unit is used for performing data index query in the data index file of the storage layer of the data storage medium of the database system stored in the memory layer by using the perfect hash value; the storage medium reading unit responds to the matched data index inquired in the data index file and initiates data reading to the data storage medium according to the matched data index; and a query data providing unit that provides the query data to the user after reading the query data from the data storage medium.

According to another aspect of embodiments of the present specification, there is provided a database system including: a data storage device as described above; a data querying device as described above; a memory layer; and a data storage medium.

According to another aspect of embodiments of the present specification, there is provided a data storage device including: at least one processor, a memory coupled to the at least one processor, and a computer program stored in the memory, the at least one processor executing the computer program to implement the data storage method as described above.

According to another aspect of embodiments of the present specification, there is provided a computer-readable storage medium storing executable instructions that, when executed, cause a processor to perform a data storage method as described above.

According to another aspect of embodiments of the present specification, there is provided a computer program product comprising a computer program which is executed by a processor to implement the data storage method as described above.

According to another aspect of embodiments of the present specification, there is provided a data query apparatus including: at least one processor, a memory coupled to the at least one processor, and a computer program stored in the memory, the at least one processor executing the computer program to implement the data query method as described above.

According to another aspect of embodiments of the present specification, there is provided a computer-readable storage medium storing executable instructions that, when executed, cause a processor to perform a data query method as described above.

According to another aspect of embodiments of the present specification, there is provided a computer program product comprising a computer program which is executed by a processor to implement the data query method as described above.

Drawings

A further understanding of the nature and advantages of the present disclosure may be realized by reference to the following drawings. In the drawings, similar components or features may have the same reference numerals.

FIG. 1 illustrates an example schematic of a database system according to embodiments of the present description.

FIG. 2 illustrates an example flow diagram of a data storage method in accordance with an embodiment of the present description.

FIG. 3 illustrates an example schematic of data to be stored according to an embodiment of this specification.

FIG. 4 illustrates an example flow diagram of a data consolidation process according to embodiments of the present description.

Fig. 5 illustrates an example schematic of a hash table according to an embodiment of this specification.

Fig. 6 illustrates an example schematic of data stored by a memory layer in accordance with an embodiment of the present description.

FIG. 7 illustrates an example schematic of storing data in a database system in accordance with an embodiment of the present description.

FIG. 8 illustrates an example schematic of a data storage medium having a hierarchical storage layer structure in accordance with embodiments of the present description.

FIG. 9 shows an example schematic diagram of a storage layer data write and data index file generation process according to an embodiment of the present description.

FIG. 10 illustrates an example flow diagram of a data query process in accordance with an embodiment of the present specification.

FIG. 11 illustrates an example block diagram of a data storage device in accordance with an embodiment of this specification.

FIG. 12 illustrates an example block diagram of a data query device in accordance with an embodiment of this specification.

FIG. 13 illustrates an example schematic diagram of a data storage device implemented based on a computer system in accordance with an embodiment of the present description.

FIG. 14 illustrates an example schematic diagram of a computer-system-implemented data query device in accordance with an embodiment of the present description.

Detailed Description

The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and thereby implement the subject matter described herein, and are not intended to limit the scope, applicability, or examples set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as needed. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. In addition, features described with respect to some examples may also be combined in other examples.

As used herein, the term "include" and its variants mean open-ended terms in the sense of "including, but not limited to. The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first," "second," and the like may refer to different or the same object. Other definitions, whether explicit or implicit, may be included below. The definition of a term is consistent throughout the specification unless the context clearly dictates otherwise.

Before describing embodiments according to the present specification in conjunction with the accompanying drawings, a brief description will be given of several terms mentioned in the embodiments of the specification.

The term "indexing mechanism based on common hash" refers to that data is hashed by using a common hash function, and the obtained hash value is used as a data index of the data in the database system. Hash collisions (Hash Collision) may occur by performing the Hash calculation according to a general Hash function. In other words, for two different data, performing hash calculation according to a common hash function may result in the same hash value.

The term "Perfect Hash-based indexing mechanism" refers to performing Hash calculation on data by using a Perfect Hash Function (Perfect Hash Function), where a resulting Hash value corresponds to a Hash slot in a Hash table of a database system, and the Hash slot is used for storing a data index of the data. Perfect Hash operation is a Hash operation without Hash collision, which maps N input integer data sets to M integer spaces based on a Perfect Hash Function (Perfect Hash Function), wherein,. In the perfect hash operation, for a given data set, the hash values obtained by processing any of keys 1 and keys 2 by the perfect hash function H are different, that is,

in this specification, data stored in a database system may include, for example, but is not limited to, key-value data and the like. For simplicity of explanation, the following description will be given taking key-value data as an example of data.

A database storage device, a data storage method, a data storage apparatus, a data query method, and a data query apparatus according to embodiments of the present specification will be described below with reference to the accompanying drawings.

FIG. 1 illustrates an example schematic diagram of a database system 100 in accordance with embodiments of the present description. The database system 100 may also be referred to as a server side of a database application for providing data storage services and data query services.

As shown in FIG. 1, database system 100 includes a memory layer 110 and at least one data storage medium 120. The memory layer 110 may include a memory pool consisting of at least one memory. The memory layer 110 may also be referred to as an internal memory and a main memory, and temporarily stores operation data in a CPU of the computing device and data exchanged with an external data storage medium such as a Disk (Disk). The data storage medium 120 may also be referred to as an external memory. When a computing device reads data in data storage medium 120, it is necessary to read the data in data storage medium 120 into a memory by initiating a data read operation, such as an IO operation, to the data storage medium. The data storage medium 120 may be, for example, various nonvolatile storage media such as a magnetic disk device, a memory card, and the like. Magnetic disks refer to memories that store data using magnetic recording techniques. Examples of magnetic disks may include various forms of (Soft Disk) floppy disks and Hard disks (Hard disks), for example.

Database system 100 also includes data storage 130. The data storage 130 is configured to store data to be stored to the memory layer 110 or the data storage medium 120 of the database storage device.

FIG. 2 illustrates an example flow diagram of a data storage method in accordance with an embodiment of the present description.

As shown in FIG. 2, at 210, it is monitored whether first data to be stored is received. The first data may be, for example, data to be stored that is input by a user via a client device of the database application. If the first data to be stored is not received, the monitoring is continued.

FIG. 3 illustrates an example schematic of data to be stored according to an embodiment of this specification. As shown in fig. 3, the data to be stored is key-value pair data. Each piece of Key-Value pair data may include a Key-Value pair (i.e., Key-Value) consisting of 1 Key (Key) and at least one Value (Value). In the example of fig. 3, the Key of each Key-value pair data is a data ID, e.g., a user's identification number, registration number, system number, etc. Value _1 represents the user's name, Value _2 represents the user's age, and Value _5 represents the user's occupation, etc.

If the first data to be stored is received, the first data is written to a memory layer of the database system at 220 in response to receiving the first data to be stored.

At 230, a memory data index of the stored data in the memory layer is generated according to the first hash-based indexing mechanism, and the generated memory data index is stored in the memory layer in association with the corresponding stored data. Here, when the storage data is key value data, the memory data index may be a hash value obtained by performing a hash calculation on a key of each piece of data, for example.

In some examples, the hash-based first indexing mechanism may include a normal hash-based first indexing mechanism or a perfect hash-based first indexing mechanism.

In the case that the data index is generated by the first indexing mechanism based on the common hash, the corresponding memory data index may be obtained by performing hash calculation only on the stored data that has undergone data update in the memory layer. Alternatively, hash calculation may be performed on all stored data in the memory layer to obtain the corresponding memory data index. In the case of generating a data index based on the first indexing mechanism with perfect hash, hash calculation needs to be performed on all stored data in the memory layer (i.e., the full amount of data of the memory layer) to obtain a corresponding memory data index.

Further optionally, in some examples, the stored data in the memory tier may be updated using the first data in the event that the memory tier stores old data. For example, the first data may be merged with old data stored by the memory layer. FIG. 4 illustrates an example flow diagram of a data consolidation process according to embodiments of the present description. As shown in fig. 4, when data merging is performed, for the same Key, if the Value of Value is updated, the old data, for example, the data corresponding to ID1, is replaced with the new data. Alternatively, if the first data has a Key that does not exist in the old data, the data corresponding to the Key, for example, the data corresponding to ID5, is incremented. Then, based on the updated stored data in the memory layer, a corresponding memory data index is generated using a first hash-based indexing mechanism.

Optionally, in some examples, the memory data index may be recorded in a hash table in the memory layer in association with the corresponding stored data. The data stored in the hash table may also be referred to as in-memory data. Fig. 5 illustrates an example schematic of a hash table according to an embodiment of this specification. The Hash values a1 through a5 shown in fig. 5 may be Hash slot numbers corresponding to storage locations in the memory tier, for example, slot 2, slot 0, slot 2, slot 3, and slot N among storage slots 0-N in the memory tier, for example. Here, the hash slot number corresponds to a memory data index of the memory layer of the data.

In the case of storing data in a hash table in the memory tier, an empty hash table (HashTable) may be created in the memory tier, and then the created empty hash table may be used as a current service hash table of the memory tier for data storage. In this case, in response to receiving the first data to be stored, the first data is written to the current service hash table. In some examples, in a case where the current service hash table stores old data, after the first data is written to the current service hash table in the memory layer of the database system, the stored data of the current service hash table may be updated using the first data. The stored data update process may refer to the data consolidation process described above with reference to fig. 4.

Further, if the current service hash table is full of memory data of a prescribed data amount, for example, assuming that each hash table can store 1M data, after the current service hash table is full of 1M data, the current service hash table is sealed into a sealed hash table (FrozenHashTable), and a new empty hash table is created in the memory layer to serve as the current service hash table. For the sealed hash table, the Value of the stored data and the data index are not changed. In other words, even if new data to be subsequently written includes the same data as the Key in the FrozenHashTable, the data of the corresponding Key in the FrozenHashTable is not updated. If the current serving hash table is not full of memory data of the specified data amount, the current serving hash table continues to serve as the current serving hash table to continue storing data. Fig. 6 illustrates an example schematic of data stored by a memory layer in accordance with an embodiment of the present description. In the example of fig. 6, the memory layer 110 stores 2 sealed hash tables and 1 current service hash table.

Returning to FIG. 2, at 240, it is determined whether the data stored in the memory layer satisfies a first predetermined condition. In this specification, the first predetermined condition may include that the data amount of the stored data reaches a predetermined value, for example, 128M. Here, the value of the predetermined value may be determined based on the data capacity of the memory layer. Alternatively, the first predetermined condition may include that the free memory space fraction of the memory layer is not greater than a predetermined value, for example 5%. If the data stored in the memory layer does not meet the first predetermined condition, the process returns to 210 to continue monitoring whether new data to be stored is received.

If the data stored in the memory tier meets a first predetermined condition, then at 250, the second data in the memory tier is written to a storage tier of a data storage medium of the database system. Here, the second data may include part or all of the storage data in the memory layer. For example, in one example, all of the stored data in the memory layer may be written to a storage layer of the data storage medium. In this case, the second data includes all stored data in the memory layer. In another example, in the case where the memory layer employs a hash table to store data, part or all of the stored data in the sealed hash table may be written to the storage layer of the data storage medium. In this case, the second data includes part or all of the stored data in the sealed hash table.

Alternatively, after writing the second data to the storage layer of the data storage medium, the second data may be deleted from the memory layer, thereby freeing the corresponding storage space in the memory layer.

After the second data is written to the storage layer of the data storage medium, at 260, a data index file for the storage layer is generated based on the full storage data in the storage layer after the data write operation in accordance with a second indexing mechanism based on a perfect hash. Here, the total storage data in the storage layer refers to all storage data stored in the storage layer after the data write operation. For example, where no data was previously stored in the storage layer, the full amount of stored data in the storage layer is the second data written by the data write operation. In the case where the old data is previously stored in the storage layer, the entire amount of storage data in the storage layer is storage data in which the second data is subjected to data merging processing with the old data in the storage layer.

FIG. 7 illustrates an example schematic of storing data in a database system in accordance with an embodiment of the present description. In the example of fig. 7, the HashTable and PerfectHashTable correspond to data in the memory tier, the slots in the HashTable and PerfectHashTable correspond to memory data indexes in the memory tier that are generated based on the first indexing mechanism, and the PerfectHashIndex corresponds to a data index file of the data storage medium that is generated based on the second indexing mechanism. The PerfectHashIndex has a plurality of hash slot positions, each hash slot position is used for storing a corresponding offset value of the storage data, wherein the offset value represents the offset of the storage position of the storage data in a hash file of the data storage medium relative to the head address of the hash file. The hash slot for storing the offset value corresponding to each data is determined according to the stored data according to a second indexing mechanism based on a perfect hash. For example, in the case where the stored data is key-value data, the hash slot for storing the offset value corresponding to each data is determined according to the key of the stored data according to the second indexing mechanism based on the perfect hash. In the example of fig. 7, the hash file is composed of the stored data arranged in order based on the perfect hash value, or the stored data arranged in order based on the perfect hash value and the data index file.

In the perfect hash index generated according to the second indexing mechanism based on perfect hash, any Key in the data set is mapped to a hash slot in the data index file without collision, and the offset of the corresponding stored data (Key & Value pair) in the hash file is stored at the hash slot. According to the storage mode, when data is inquired, a corresponding hash Value can be generated through a Key, hash calculation is carried out through a perfect hash function used when a hash file is generated, so that a corresponding hash slot position is found, then an offset of a corresponding Key & Value pair in the hash file is taken from the hash slot position, and Key & Value pair data are read from a data storage medium based on the offset.

After the data index file for the storage tier of the data storage medium is generated as described above, the data index file for the storage tier is loaded to the memory tier at 270. After the memory layer receives the loaded data index file, if the memory layer previously stores the data index file of the storage layer, the memory layer replaces the previously stored data index file of the storage layer with the received data index file. For example, assuming that the storage layer previously stores the storage layer data index file F1 before the memory layer writes data into the storage layer, after the memory layer writes data into the storage layer, a new data index file F2 is generated based on the second indexing mechanism of the perfect hash, and the new data index file F2 is loaded into the memory layer. Upon receiving the new data index file F2, the memory layer replaces the previously stored data index file F1 with the new data index file F2.

Further optionally, in some examples, the second data may be used to update the stored data in the storage tier as the storage tier stores old data. A data index file for the storage tier is then generated based on the updated storage data in the storage tier.

Further, in some examples, the data storage medium may be layered into at least two layered storage layers, each of the at least two layered storage layers constituting a hierarchical relationship therebetween, thereby constituting a layered storage layer structure. FIG. 8 illustrates an example schematic of a data storage medium having a hierarchical storage layer structure in accordance with embodiments of the present description. In the example of FIG. 8, the data storage medium includes 3 hierarchical storage layers, namely, hierarchical storage L0, hierarchical storage layer L1, and hierarchical storage layer L2. The layered storage L0 is a top storage layer of a layered storage layer structure, the layered storage L1 is a lower layered storage layer of the layered storage L0, and the layered storage L2 is a lower layered storage layer of the layered storage L1. In layering the data storage media, the storage space allocated to layered storage L0, layered storage layer L1, and layered storage layer L2 increases sequentially from top to bottom from the top storage layer, i.e., storage space of layered storage layer L2 > storage space of layered storage layer L1 > storage space of layered storage layer L0.

In the case of a data storage medium having a hierarchical storage tier structure, each hierarchical storage tier has a respective data index file. In addition, for each hierarchical storage tier, the data stored in the hierarchical storage tier may be written to an underlying hierarchical storage tier when the data stored in the hierarchical storage tier satisfies a second predetermined condition. Then, in the lower layered storage tier, the written storage data and the current storage data of the lower layered storage tier are used to regenerate the data index file of the lower layered storage tier according to a second indexing mechanism based on a perfect hash. In other words, the written storage data and the current storage data of the lower layered storage tier are used to obtain the full storage data of the lower layered storage tier, and then the data index file of the lower layered storage tier is regenerated according to the second indexing mechanism based on the perfect hash based on the full storage data. In this specification, the second predetermined condition may include that the data amount of the stored data reaches a predetermined value, for example, 128M. Here, the value of the predetermined value may be determined based on the data capacity of the memory layer. Note that the predetermined value set is different for different hierarchical storage layers. As the level of the hierarchical storage layer increases, the set predetermined value becomes larger. Alternatively, the second predetermined condition may include the free memory space fraction of the tiered storage tier not being greater than a predetermined value, such as 5%.

FIG. 9 illustrates an example schematic of a storage layer data write and data index file generation process 900 according to an embodiment of this specification. Fig. 9 shows the data processing of only a single layered storage layer.

As shown in FIG. 9, at 910, the current hierarchical storage tier receives storage data written by an upper hierarchical storage tier. In the case where the hierarchical storage tier is the top storage tier L0, the received storage data is the second data written by the memory tier.

At 920, a storage data update is made to the current hierarchical storage layer using the storage data written by the upper hierarchical storage layer. For example, the storage data written by the upper hierarchical storage tier is data merged with the old data of the current hierarchical storage tier. The data merging process may refer to the data merging process described above with reference to fig. 4.

At 930, it is determined whether the updated stored data satisfies a second predetermined condition.

When the updated storage data does not satisfy the second predetermined condition, at 940, a data index file for the current hierarchical storage layer is generated in accordance with a second indexing mechanism based on the perfect hash based on the updated storage data (i.e., the full storage data of the current hierarchical storage layer after the data write operation).

When the data amount of the updated storage data satisfies a second predetermined condition, the storage data of the current hierarchical storage layer is written to an upper hierarchical storage layer of the current hierarchical storage layer at 950.

The data processing procedure shown in fig. 9 is performed layer by layer from top to bottom starting from the top layer until the storage data of a certain hierarchical storage layer does not satisfy the second predetermined condition or reaches the lowest hierarchical storage layer.

In addition, optionally, after the storage data of the hierarchical storage layer is written into the lower hierarchical storage layer, the corresponding storage data may also be deleted from the hierarchical storage layer.

In addition, optionally, the data index file loaded into the memory layer may only include the data index file of the hierarchical storage layer in which the storage data in the data storage medium is changed. Then, the memory layer updates the data index file by using the loaded data index file. For example, assuming that there are three layered storage tiers L0, L1, and L2, if, at the time of memory data writing, writing of memory data to the layered storage tier L0 and writing of data of the layered storage tier L0 to the layered storage tier L1 occur, the storage data of the layered storage tiers L0 and L1 changes, and thus the data index files of the layered storage tiers L0 and L1 are updated, that is, the data index file of the layered storage tier L0 is emptied or deleted, and the data index file of the layered storage tier L1 is updated to a new data index file, whereby the data storage medium can load the updated data index files of the layered storage tiers L0 and L1 to the memory tier, or load the updated data index file of the layered storage tier L1 to the memory tier while informing that no data is stored in the layered storage tier L0, whereby the memory tier can replace the stored corresponding data index files with the updated data index files of the layered storage tiers L0 and L1, or replace the previously stored corresponding data index file with the updated data index file of the layered storage layer L1 while deleting the stored data index file of the layered storage layer L0.

The data storage process according to the embodiment of the present specification is described above with reference to the drawings. After the data is stored in the database system according to the data storage method, data query can be performed in response to a data query request initiated by a user.

FIG. 10 illustrates an example flow diagram of a data query process 1000 in accordance with an embodiment of the present specification.

As shown in fig. 10, at 1010, in response to receiving a user-initiated data query request, an in-memory data index is generated from the data query request according to a first hash-based indexing mechanism. For example, where the storage data is key-value data, the memory data index may be generated from the key in the data query request in accordance with a first hash-based indexing mechanism.

At 1020, a data query is performed in the memory data of the memory tier of the database system using the memory data index. Since the storage data (e.g., Key-Value pair) is stored in the memory layer corresponding to the memory data index, a data query can be directly performed in the memory data of the memory layer based on the memory data index. If the memory data of the memory layer has the matched memory data index, the query data corresponding to the matched memory data index can be directly obtained from the memory layer.

At 1030, it is determined whether matching data is found in the memory data in the memory layer. If the matching data is found in the memory data of the memory layer, the found matching data is provided to the user as a query result at 1090.

If it is determined that no matching data is found in the memory data of the memory layer, a perfect hash value is generated according to the data query request according to a second indexing mechanism based on the perfect hash at 1040. For example, in the case where the stored data is key-value data, a perfect hash value may be generated from the key in the data query request according to a second indexing mechanism based on perfect hashes.

At 1050, in the memory layer, a data index query is performed in a data index file of a storage layer of a data storage medium of the database system stored in the memory layer using the perfect hash value. Specifically, first, a perfect hash value is used to query the data index file for the presence of a matching hash slot. If there is a matching hash slot, the data index (i.e., offset value) stored in the hash slot is obtained from the matching hash slot. And if the matched hash operation does not exist, the matched data index does not exist in the data index file.

At 1060, a determination is made as to whether a matching data index is queried in the data index file. If no matching data index is queried in the data index file, then at 1070, query results are returned to the user where no query data exists. Alternatively, in one example, no processing may be performed, i.e., no feedback message is provided to the user.

If a matching data index is queried in the data index file, at 1080, a data read is initiated to the data storage medium based on the matching data index. The data storage medium obtains query data from a corresponding storage location of the storage layer based on the received matching data index, and returns the obtained query data to the memory layer. At 1090, the query data is provided to the user after being read from the data storage medium.

In addition, optionally, the data may be stored in the memory layer in the form of a hash table. Under the condition that the memory layer stores the current service hash table and at least one seal hash table, when the memory layer is used for data query, the data query can be sequentially performed from new to old according to the hash table creation time of the hash table in the memory layer. Specifically, first, data query is performed on the current service hash table, and if corresponding query data is queried, the data query is finished. And if the corresponding query data is not queried, sequentially querying the seal hash tables from the newly created seal hash table until the corresponding query data is queried or all the seal hash tables are queried. In one example, the hash table creation time may be characterized by a hash table timestamp.

Further, optionally, where the storage tiers of the data storage medium include at least two tiered storage tiers, the data index file for each storage tier may also have a storage tier level identification. Correspondingly, for the data index query of the hierarchical storage layer, the data index query can be performed in the respective corresponding data index files from top to bottom in sequence from the top storage layer according to the hierarchy of the hierarchical storage layer until the corresponding data index is queried or the data index files of all the hierarchical storage layers are queried.

According to the data storage and data query scheme, firstly, data query is conducted in the memory layer, under the condition that query data does not exist in the memory layer, data index query is conducted in the data index file of the memory layer of the data storage medium loaded in the memory layer, and after the corresponding data index is queried in the data index file, data reading is initiated to the data storage medium by using the queried data index, so that the corresponding query data can be obtained by one-time data reading operation aiming at the data storage medium, and therefore the data query efficiency is improved.

FIG. 11 illustrates an example block diagram of a data storage device 1100 in accordance with embodiments of this specification. As shown in fig. 11, the data storage device 1100 may include a memory writing unit 1110, a memory index generating unit 1120, a storage medium writing unit 1130, an index file generating unit 1140, and an index file loading unit 1150.

The memory writing unit 1110 is configured to write the first data into a memory layer of the database system in response to receiving the first data to be stored. The memory index generation unit 1120 is configured to generate a memory data index of the storage data in the memory layer according to a first hash-based indexing mechanism. The generated memory data index is stored in the memory layer in association with the corresponding stored data.

The storage medium writing unit 1130 is configured to write the second data in the memory layer into the storage layer of the data storage medium of the database system when the data stored in the memory layer is full of the first predetermined condition. Here, the second data includes part or all of the storage data in the memory layer.

The index file generation unit 1140 is configured to generate a data index file for the storage layer based on the full storage data in the storage layer after the data write operation according to a second indexing mechanism based on a perfect hash. The index file loading unit 1150 is configured to load the data index file of the storage layer to the memory layer.

Furthermore, in some examples, the data storage device 1100 may also include a storage medium data update unit (not shown). The storage medium data update unit updates the storage data in the storage layer using the second data when the storage layer stores old data.

Further, in some examples, the storage layers of the data storage medium include at least two layered storage layers. For each hierarchical storage layer, when the data stored in the hierarchical storage layer satisfies a second predetermined condition, the storage medium writing unit 1130 writes the stored data of the hierarchical storage layer to a lower hierarchical storage layer, and the index file generating unit 1140 generates a data index file for the lower hierarchical storage layer based on the entire stored data of the lower hierarchical storage layer after the data writing operation.

Furthermore, in some examples, in a case that the storage layer of the data storage medium includes at least two layered storage layers, the index file loading unit 1150 may be configured to load the data index file of the layered storage layer in which the storage data is changed to the memory layer, so as to update the data index file by the memory layer.

Furthermore, in some examples, the data storage device 1100 may further include a storage medium data deletion unit (not shown). After the storage data of the layered storage layer is written to the lower layered storage layer, the storage medium data deleting unit deletes the corresponding storage data from the layered storage layer. Optionally, after the storage medium data deleting unit deletes the corresponding storage data from the hierarchical storage layer, the corresponding data index file may also be deleted.

Further, in some examples, a hash table is created in the memory layer, and the data index is recorded in the hash table in the memory layer in association with the corresponding stored data. Accordingly, the memory writing unit 1110 writes the first data into the current service hash table in the memory layer of the database system. In addition, the data storage device 1100 further includes a memory data sealing unit (not shown). When the current service hash table is full of memory data with specified data volume, the memory data sealing unit seals the current service hash table into a sealing hash table.

Furthermore, in some examples, the data storage device 1100 may also include a memory data update unit (not shown). After the first data is written into the current service hash table in the memory layer of the database system, the memory data updating unit uses the first data to update the stored data of the current service hash table.

Furthermore, in some examples, the data storage device 1100 may also include a memory data deletion unit (not shown). And after the second data in the memory layer is written into the memory layer of the data storage medium of the database system, the memory deleting unit deletes the second data from the memory layer.

In addition, it is noted that the memory writing unit and the storage medium writing unit may be implemented by the same unit or different units. Similarly, the memory index generating unit 1120 and the index file generating unit 1140 may be implemented by the same unit or different units. The storage medium data deleting unit and the memory data deleting unit, and the storage medium data updating unit and the memory data updating unit can be realized by the same unit or different units.

FIG. 12 illustrates an example block diagram of a data query device 1200 in accordance with embodiments of this specification. As shown in fig. 12, the data query apparatus 1200 includes a memory index generation unit 1210, a memory data query unit 1220, a perfect hash value generation unit 1230, an index file query unit 1240, a storage medium reading unit 1250, and a query data providing unit 1260.

The memory index generating unit 1210 is configured to generate a memory data index according to a first hash-based indexing mechanism according to a data query request in response to receiving the data query request initiated by a user. The memory data query unit 1220 is configured to perform data query on the memory data of the memory layer of the database system using the memory data index.

The perfect hash value generating unit 1230 is configured to generate a perfect hash value according to the data query request according to a second indexing mechanism based on the perfect hash in response to that no matching data is queried in the memory data of the memory layer. The index file querying unit 1240 is configured to perform a data index query in the data index file of the storage layer of the data storage medium of the database system stored in the memory layer using the perfect hash value. The storage medium reading unit 1250 is configured to initiate data reading to the data storage medium according to the matched data index in response to querying the matched data index in the data index file. And the data storage medium acquires the query data at the corresponding storage position according to the matched data index. After reading the query data from the data storage medium, the query data providing unit 1260 provides the query data to the user.

It is noted that, in some examples, the memory data query unit 1220 and the index file query unit 1240 may be implemented by the same unit or different units.

As described above with reference to fig. 1 to 12, a data storage method, a data storage apparatus, a data query method, and a data query apparatus according to an embodiment of the present specification are described. The above query storage device and data query device may be implemented by hardware, or may be implemented by software, or a combination of hardware and software.

FIG. 13 illustrates a schematic diagram of a data storage device 1300 implemented based on a computer system according to an embodiment of the present description. As shown in fig. 13, data storage device 1300 may include at least one processor 1310, storage (e.g., non-volatile storage) 1320, memory 1330, and communication interface 1340, and the at least one processor 1310, storage 1320, memory 1330, and communication interface 1340 are connected together via a bus 1360. The at least one processor 1310 executes at least one computer-readable instruction (i.e., the elements described above as being implemented in software) stored or encoded in memory.

In one embodiment, computer-executable instructions are stored in the memory that, when executed, cause the at least one processor 1310 to: in response to receiving first data to be stored, writing the first data into a memory layer of the database system; generating a memory data index of storage data in a memory layer according to a first indexing mechanism based on Hash, wherein the memory data index and corresponding storage data are stored in the memory layer in a correlation manner; when the data stored in the memory layer meets a first preset condition, writing second data in the memory layer into a storage layer of a data storage medium of the database system, wherein the second data comprises part or all of stored data in the memory layer, generating a data index file of the storage layer based on the full amount of stored data in the storage layer after the data writing operation according to a second indexing mechanism based on perfect Hash, and loading the data index file of the storage layer into the memory layer.

It should be appreciated that the computer-executable instructions stored in the memory, when executed, cause the at least one processor 1310 to perform the various operations and functions described above in connection with fig. 1-9 and 11 in the various embodiments of the present specification.

FIG. 14 shows a schematic diagram of a data query device 1400 implemented based on a computer system according to an embodiment of the present description. As shown in fig. 14, data querying device 1400 may comprise at least one processor 1410, storage (e.g., non-volatile storage) 1420, memory 1430, and communication interface 1440, and at least one processor 1410, storage 1420, memory 1430, and communication interface 1440 are coupled together via bus 1460. The at least one processor 1410 executes at least one computer-readable instruction (i.e., the elements described above as being implemented in software) stored or encoded in memory.

In one embodiment, computer-executable instructions are stored in the memory that, when executed, cause the at least one processor 1410 to: in response to receiving a data query request initiated by a user, generating a memory data index according to the data query request according to a first indexing mechanism based on Hash; using the memory data index to perform data query in the memory data of the memory layer of the database system; in response to that no matched data is inquired in the memory data of the memory layer, generating a perfect hash value according to a data inquiry request according to a second indexing mechanism based on perfect hash; using the perfect hash value to perform data index query in a data index file of a storage layer of a data storage medium of the database system stored in the memory layer; responding to the matched data index inquired in the data index file, and initiating data reading to the data storage medium according to the matched data index; and providing the query data to the user after reading the query data from the data storage medium.

It should be understood that the computer-executable instructions stored in the memory, when executed, cause the at least one processor 1410 to perform the various operations and functions described above in connection with fig. 10 and 12 in the various embodiments of the present specification.

According to one embodiment, a program product, such as a machine-readable medium (e.g., a non-transitory machine-readable medium), is provided. A machine-readable medium may have instructions (i.e., elements described above as being implemented in software) that, when executed by a machine, cause the machine to perform various operations and functions described above in connection with fig. 1-12 in the various embodiments of the present specification. Specifically, a system or apparatus may be provided which is provided with a readable storage medium on which software program code implementing the functions of any of the above embodiments is stored, and causes a computer or processor of the system or apparatus to read out and execute instructions stored in the readable storage medium.

In this case, the program code itself read from the readable medium can realize the functions of any of the above-described embodiments, and thus the machine-readable code and the readable storage medium storing the machine-readable code form part of the present invention.

Examples of the readable storage medium include floppy disks, hard disks, magneto-optical disks, optical disks (e.g., CD-ROMs, CD-R, CD-RWs, DVD-ROMs, DVD-RAMs, DVD-RWs), magnetic tapes, nonvolatile memory cards, and ROMs. Alternatively, the program code may be downloaded from a server computer or from the cloud via a communications network.

According to one embodiment, a computer program product is provided that includes a computer program that, when executed by a processor, causes the processor to perform the various operations and functions described above in connection with fig. 1-12 in the various embodiments of the present specification.

It will be understood by those skilled in the art that various changes and modifications may be made in the above-disclosed embodiments without departing from the spirit of the invention. Accordingly, the scope of the invention should be determined from the following claims.

It should be noted that not all steps and units in the above flows and system structure diagrams are necessary, and some steps or units may be omitted according to actual needs. The execution order of the steps is not fixed, and can be determined as required. The apparatus structures described in the above embodiments may be physical structures or logical structures, that is, some units may be implemented by the same physical entity, or some units may be implemented by a plurality of physical entities, or some units may be implemented by some components in a plurality of independent devices.

In the above embodiments, the hardware units or modules may be implemented mechanically or electrically. For example, a hardware unit, module or processor may comprise permanently dedicated circuitry or logic (such as a dedicated processor, FPGA or ASIC) to perform the corresponding operations. The hardware units or processors may also include programmable logic or circuitry (e.g., a general purpose processor or other programmable processor) that may be temporarily configured by software to perform the corresponding operations. The specific implementation (mechanical, or dedicated permanent, or temporarily set) may be determined based on cost and time considerations.

The detailed description set forth above in connection with the appended drawings describes exemplary embodiments but does not represent all embodiments that may be practiced or fall within the scope of the claims. The term "exemplary" used throughout this specification means "serving as an example, instance, or illustration," and does not mean "preferred" or "advantageous" over other embodiments. The detailed description includes specific details for the purpose of providing an understanding of the described technology. However, the techniques may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described embodiments.

The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:数据一致性确定方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!