Data storage method, device and storage medium

By layering 3D data and introducing it into reference objects, the problem of large storage space consumption of 3D data is solved, and the compressed storage and efficient querying of multi-dimensional model data are realized, saving storage resources and reducing user access costs.

CN115168657BActive Publication Date: 2026-02-13ALIBABA CLOUD COMPUTING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210761296.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-06-24
Filing Date
2022-06-29
Publication Date
2026-02-13
Estimated Expiration
2042-06-29

AI Technical Summary

Technical Problem

The large volume of 3D data results in significant storage space consumption and high storage resource consumption. Existing middleware models cannot effectively utilize database indexes for data querying, and user access costs are high.

Method used

The multidimensional model data of spatial objects is divided into multi-layer entity object model data, and reference objects are introduced to store multiple target entity objects that can be merged in each layer of entity objects. The model data is shared through reference objects to achieve compressed storage.

Benefits of technology

It achieves compressed storage of multi-dimensional model data, reduces storage resource consumption, improves data query efficiency, supports database index access, and reduces user costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115168657B_ABST
    Figure CN115168657B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a data storage method, device and storage medium. In the embodiment of the present application, the multi-dimensional model data of a spatial object is divided into model data of multiple layers of entity objects from the constituent elements of the spatial object, and for the model data of each layer of entity objects, a reference object is introduced to compressively store a plurality of target entity objects that can be stored in combination in each layer of entity objects. On the one hand, the plurality of target entity objects can share one copy of model data, the compressive storage of the model data of each layer of entity objects is realized, the storage amount of the model data of the spatial object can be reduced, and storage resources can be saved. On the other hand, the upper layer entity objects in the spatial object can also share one copy of the model data of the lower layer entity objects, the storage amount of the model data of the spatial object can be further reduced, storage resources can be saved, and double compression of the multi-dimensional model data of the spatial object is realized.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data storage, and in particular to a data storage method, device and storage medium. BACKGROUND

[0002] With the rapid development of earth observation technology, Internet of Things and digital twin technology, multi-dimensional spatial data represented by building information model (BIM), geographic information system (GIS) and space-time mobile object has shown explosive growth. Among them, three-dimensional space-time data is the most important data resource and plays an increasingly important role. As the foundation of data storage and calculation, the database needs to effectively manage the three-dimensional data model. However, due to the large amount of three-dimensional data, the three-dimensional data occupies a large storage space and consumes a lot of storage resources. SUMMARY

[0003] The present application provides a data storage method, device and storage medium for compressing and storing multi-dimensional data to save storage resources.

[0004] The present application provides a data storage method, comprising:

[0005] Obtaining model data of multi-layer entity objects contained in a spatial object from multi-dimensional model data of the spatial object;

[0006] For any layer entity object, determining a plurality of target entity objects that can be stored together from the any layer entity object according to model data of the any layer entity object;

[0007] Storing model data of a first entity object in the plurality of target entity objects;

[0008] Determining a first conversion parameter between a second entity object and the first entity object according to model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects;

[0009] Creating a reference object of the second entity object according to the first conversion parameter and a storage address of the model data of the first entity object;

[0010] Storing the reference object of the second entity object to represent the model data of the second entity object.

[0011] The present application also provides a computing device, comprising a memory and a processor; wherein the memory is configured to store a computer program;

[0012] The processor is coupled to the memory and is configured to execute the computer program to perform the steps of the above-mentioned data storage method.

[0013] The embodiment of the present application further provides a computer readable storage medium storing computer instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps in the data storage method.

[0014] The embodiment of the present application further provides a database engine, comprising: a computer program; and when the computer program is executed by one or more processors, the one or more processors are caused to perform the following steps:

[0015] obtaining model data of a plurality of target entity objects which can be stored in combination;

[0016] storing model data of a first entity object in the plurality of target entity objects;

[0017] determining feature data of the first entity object according to the model data of the first entity object;

[0018] determining a first conversion parameter between a second entity object and the first entity object according to the model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects;

[0019] writing the feature data of the second entity object, the first conversion parameter and a storage address of the model data of the first entity object into a data structure of a reference object respectively, to obtain a reference object of the second entity object;

[0020] storing the reference object of the second entity object to represent the model data of the second entity object.

[0021] In the embodiment of the present application, in order to realize the compressed storage of the multi-dimensional model data of the multi-dimensional model, the multi-dimensional model data of the spatial object is divided into model data of a plurality of layers of entity objects from the constituent elements of the spatial object, and for the model data of each layer of entity objects, a reference object is introduced to compress store a plurality of target entity objects which can be stored in combination in each layer of entity objects. On the one hand, the plurality of target entity objects can share one copy of model data, the compressed storage of the model data of each layer of entity objects is realized, the storage amount of the model data of the spatial object is reduced, and the storage resources are saved. On the other hand, the upper layer entity objects in the spatial object can also share one copy of the model data of the lower layer entity objects, the storage amount of the model data of the spatial object is further reduced, the storage resources are saved, and the double compression of the multi-dimensional model data of the spatial object is realized. BRIEF DESCRIPTION OF DRAWINGS

[0022] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application. In the drawings:

[0023] Figure 1 A flowchart of a data storage method provided by an embodiment of the application;

[0024] Figure 2 A data structure diagram of a reference object provided by an embodiment of the application;

[0025] Figure 3 And Figure 4 A reference object storage process diagram of an entity object provided by an embodiment of the application;

[0026] Figure 5 A creation process diagram of a reference object provided by an embodiment of the application;

[0027] Figure 6 A reference object query process diagram provided by an embodiment of the application;

[0028] Figure 7 A framework diagram of a database management system provided by an embodiment of the application;

[0029] Figure 8 A structure diagram of a computing device provided by an embodiment of the application. DETAILED DESCRIPTION

[0030] In order to make the objects, technical solutions and advantages of the application clearer, the technical solutions of the application will be described below in conjunction with specific embodiments of the application and corresponding drawings. Obviously, the described embodiments are only some of the embodiments of the application, not all the embodiments. Based on the embodiments in the application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the application.

[0031] Due to the large amount of three-dimensional data, the three-dimensional data occupies a large storage space and consumes a large amount of storage resources. Some three-dimensional model data storage schemes currently use middleware mode to store three-dimensional model data. However, the storage mode of the middleware cannot support the data types and database functions, and has the following problems:

[0032] (1) cannot use the database common query language to access the operation of three-dimensional model data. For example, cannot use structured query language (Structured Query Language, SQL) access operation. Access three-dimensional model data needs software development kit (SDK) programming, cannot directly use the general query language supported by the database (such as SQL language) for three-dimensional model data access, resulting in high cost of use and learning for users.

[0033] (2) middleware mode query three-dimensional model data involves reference, need to interact with the database many times, the data query efficiency is low.

[0034] (3) middleware mode cannot use database index for data query or calculation because it is not a database data type.

[0035] The present application inventors found that in the natural world, many objects are completely the same in structure, shape and appearance, only different in position, for example, two structures, shapes and appearances of completely the same building, and for example, the same building shape and appearance completely the same, set in different floors of the door, etc. If each object stores a copy of multi-dimensional model data, the data volume is very large, resulting in high storage resource consumption.

[0036] Based on the above, in some embodiments of the present application, in view of the problem of large storage space occupation of multi-dimensional model data, in order to realize the compression storage of multi-dimensional model data of multi-dimensional model, from the constituent elements of spatial object, the multi-dimensional model data of spatial object is divided into the model data of multi-layer entity object, and for the model data of each layer entity object, the reference object is introduced to compress and store the multiple target entity objects that can be combined and stored in each layer entity object. On the one hand, multiple target entity objects can share a copy of model data, realizing the compression storage of model data of each layer entity object, which can reduce the storage amount of model data of spatial object and save storage resources. On the other hand, the upper layer entity object in the spatial object can also share a copy of model data of the lower layer entity object, which can further reduce the storage amount of model data of spatial object and save storage resources, realizing the double compression of multi-dimensional model data of spatial object. For example, for the geometric entity layer, multiple geometric entity objects with the same material can share the same material data; for multiple materials, multiple materials with the same texture can share the same texture data, etc.

[0037] The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0038] It should be noted that the same reference numbers are used in the following drawings and embodiments to represent the same or similar objects and therefore, once an object is defined in one drawing or embodiment, it need not be discussed further in subsequent drawings and embodiments.

[0039] Figure 1 A flowchart of a data storage method according to an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, the data storage method includes the following steps. Figure 1

[0040] 101. Obtaining model data of multi-layer entity objects contained in a spatial object from multi-dimensional model data of the spatial object.

[0041] 102. For any layer entity object, determining a plurality of target entity objects that can be stored together from the layer entity object according to model data of the layer entity object.

[0042] 103. Storing model data of a first entity object in the plurality of target entity objects.

[0043] 104. Determining conversion parameters between a second entity object and the first entity object according to model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects.

[0044] 105. Creating a reference object of the second entity object according to the conversion parameters and a storage address of the model data of the first entity object.

[0045] 106. Storing the reference object of the second entity object to represent model data of the second entity object.

[0046] In an embodiment of the present application, a spatial object refers to an entity objectively existing in a real world. For example, the spatial object can be a time-space moving object such as a person, a vehicle, an animal, etc. Of course, the spatial object can also be a time-space non-moving object such as a building, an article (furniture, household appliances, stationery, etc.), food, etc.

[0047] In an embodiment of the present application, multi-dimensional model data of a spatial object refers to information used to describe multiple dimensions of the spatial object, which can represent a three-dimensional physical object (i.e., a spatial object) in a real world in a digital world. In an embodiment of the present application, multi-dimensional refers to 2 dimensions or more than 2 dimensions, and usually refers to three or more dimensions.

[0048] ​The multi-dimensional model data of the spatial object can include geometric attribute information and visual attribute information of the spatial object. The geometric attribute information refers to three-dimensional spatial data for describing the spatial object, such as XYZ three-dimensional spatial coordinate information, position information, and a correlation between geometric objects contained by the spatial object, and the like. The visual attribute information is used to describe information about how the spatial object is visualized, and generally includes texture, material information, and a correlation with geometric objects, and the like. The texture refers to a texture of an object surface, that is, a concave-convex groove of the object surface, and also includes a color pattern on a smooth surface of the object, and is generally referred to as some picture format. The material is used to render all visual attributes of a model surface, including ambient light, diffuse reflection light, specular reflection light, and various lighting models and various maps, and the like.

[0049] The multi-dimensional model data of the spatial object is different for different spatial objects. In some embodiments, the spatial object is a building. Accordingly, the multi-dimensional model data of the spatial object can be BIM data. The BIM data can describe geometric information, professional attributes, and state information of building components, and also includes state information of non-component objects (such as space and motion behavior).

[0050] In step 101 of the embodiment, the obtained multi-dimensional model data of the spatial object can be multi-dimensional model data of the same spatial object, or multi-dimensional model data of multiple spatial objects. The multiple refers to two or more. The multiple spatial objects can belong to the same spatial object, for example, have the same appearance and shape, but are different in position, such as multiple doors with the same appearance and shape but different in setting position; or multiple tables with the same appearance and shape but different in placement position, and the like. Of course, the multiple spatial objects can also be different spatial objects. For example, the multiple spatial objects can include a building, furniture, a computer, and the like.

[0051] In the embodiment of the present application, the spatial object is divided into multiple-layer entity objects based on constituent elements of the spatial object. In the real world, a spatial object is generally composed of multiple-layer entity objects. The multiple layers refer to two or more layers. The entity objects contained by the spatial object can include any entity content for describing the spatial object.

[0052] For a space object, the multi-layer entity object generally includes a texture layer, a material layer, a geometric entity layer and a component layer. The texture layer and the material layer belong to a visual layer; the geometric entity layer and the component layer belong to a geometric layer. For example, the space object can include a visual layer entity object and a geometric layer entity object. The visual layer entity object refers to an object that can reflect the visual attributes of the space object, such as the texture and material of the space object. The geometric layer entity object refers to an object that can reflect the spatial geometric characteristics of the space object, such as the geometric entities included in the space object. For example, the space object is a table, and the table includes four table legs and a table top. Correspondingly, the geometric layer entity object included in the space object can be the four table legs and the table top; the visual layer entity object of the space object can be the texture and material of the table top, and the texture and material of the four table legs.

[0053] In the embodiment of the present application, the component layer entity object refers to a space object composed of geometric entities; the geometric entity layer is a geometric entity included in the space object. The material layer entity object includes the material included in the space object. The texture layer includes the texture included in the space object. Generally, there is an association relationship between the multi-layer entity objects. Generally, the bottom layer entity object is the texture layer, and the texture layer is composed of texture maps. The upper layer entity object of the texture layer is the material layer, and the material entity of the material layer can be represented by material information and texture information. The upper layer entity object of the material layer is the geometric entity layer, and the geometric entity of the geometric entity layer can be represented by the geometric entity and the material of the geometric entity. The upper layer entity object of the geometric entity layer is the component layer, and the component layer entity object is represented by the geometric entity. For example, a table can include a table top and four table legs. The component layer entity object is the table, the geometric entity layer entity object is the table top and the four table legs. The material layer entity object is the material of the table top and the table legs. The texture layer entity object is the texture of the material of the table top and the table legs.

[0054] Based on the above-mentioned constituent elements of the space object, in step 101, the model data of the multi-layer entity object included in the space object can be obtained from the multi-dimensional model data of the space object, so as to divide the multi-dimensional model data of the space object into the model data of each layer entity object from the dimension of the constituent elements of the space object.

[0055] Considering that the shape and appearance of each layer entity object included in the space object can be the same for the space object, the model data of different entity objects is the same except the position information. For example, the space object is a car, and the model data of the four wheels of the car is the same except the deployment position. In the embodiment of the present application, in order to compress and store the multi-dimensional model data of the space object and save storage resources, further, in step 102, for any layer entity object, a plurality of target entity objects that can be stored in combination can be determined from the layer entity object according to the model data of the layer entity object.

[0056] In some embodiments, the entity objects included in the space object can comprise visual layer entity objects, such as textures, materials, etc. Accordingly, the visual attribute data of the visual layer entity objects included in the space object can be obtained from the multi-dimensional model data of the space object as the model data of the visual layer entity objects. The visual attribute data of the textures can be a texture map. The visual attribute data of the materials can comprise material information and a texture map of the materials, etc.

[0057] Accordingly, for the textures, the texture map corresponding to the textures included in the space object can be obtained from the multi-dimensional model data of the space object as the model data of the textures. For the materials, the material information and the texture map of the materials included in the space object can be obtained from the multi-dimensional model data of the space object as the model data of the materials.

[0058] Further, the similarity between the visual layer entity objects can be calculated according to the visual attribute data of the visual layer entity objects. For example, for the textures, the similarity between the texture maps can be calculated. Alternatively, the mean square error of the pixel values corresponding to the same pixel coordinates of the texture maps can be calculated as the similarity between the texture maps. The smaller the mean square error of the pixel values corresponding to the same pixel coordinates of the texture maps, the greater the similarity.

[0059] For the materials, it can be determined whether the materials are the same. If the materials are the same, the similarity between the texture maps of the materials can be calculated as the similarity of the materials. If the materials are different, the similarity can be determined as 0.

[0060] Further, the target visual layer entity objects that can be stored together can be selected from the visual layer entity objects included in the space object as the target entity objects according to the similarity between the visual layer entity objects. For example, the visual layer entity objects with a similarity greater than or equal to a set similarity threshold can be selected from the visual layer entity objects as the target visual layer entity objects, etc. In this embodiment, the target visual layer entity objects can be determined as the target entity objects in step 102.

[0061] In some embodiments, the entity objects included in the spatial object can include geometric layer entity objects of the spatial object, such as geometric entities included in the spatial object, and the like. For example, for a car, the geometric layer entity objects can include four wheels, a car body, a car door, and the like. For the geometric layer entity objects, geometric attribute data of the geometric layer entity objects included in the spatial object can be obtained from the multi-dimensional model data of the spatial object. The geometric attribute data refers to data reflecting geometric features of the geometric layer entity objects, and can include size information, spatial coordinate information, position information, spatial reference information, and the like of the geometric layer entity objects. The spatial coordinate information of the geometric layer entity objects refers to coordinate distribution information of the geometric layer entity objects, and can include position coordinates of key points in the geometric layer entity objects, and the like.

[0062] Further, geometric similarity of different geometric layer entity objects can be calculated according to the geometric attribute information of the geometric layer entity objects. For example, mean square error between size information of different geometric layer entity objects can be calculated as the geometric similarity of different geometric layer entity objects. The smaller the mean square error between the size information of different geometric layer entity objects, the greater the geometric similarity of different geometric layer entity objects. Alternatively, mean square error between spatial coordinate information of different geometric layer entity objects can be calculated as the geometric similarity of different geometric layer entity objects. The smaller the mean square error between the spatial coordinate information of different geometric layer entity objects, the greater the geometric similarity of different geometric layer entity objects.

[0063] After the geometric similarity of the geometric layer entity objects is determined, a plurality of target geometric layer entity objects that can be stored by merging can be selected from the geometric layer entity objects included in the spatial object as target entity objects according to the geometric similarity of different geometric layer entity objects. For example, a plurality of geometric layer entity objects with geometric similarity greater than or equal to a set threshold can be selected from the geometric layer entity objects included in the spatial object as the plurality of target geometric layer entity objects that can be stored by merging. The plurality refers to two or more. In this embodiment, the plurality of target geometric layer entity objects can be determined as the plurality of target entity objects in step 102.

[0064] Since the plurality of target entity objects have partially or completely identical model data, in order to reduce the data storage amount, in step 103, model data of a first entity object in the plurality of target entity objects can be stored. In the embodiments of the present application, the first entity object can be a partial entity object of the plurality of target entity objects. Preferably, the first entity object is one entity object in the plurality of target entity objects. For example, an arbitrary entity object can be selected from the plurality of target entity objects as the first entity object, and model data of the first entity object is stored.

[0065] In the embodiments of the present application, the storage position of the model data of the first entity object is not limited. In some embodiments, as shown in FIG. 1, the model data of the first entity object can be stored in the spatial object.Figure 2 As shown, the model data of the first entity object can be stored in an external storage system, such as a file storage system, an object storage system, and the like. In some other embodiments, the model data of the first entity object can also be stored in a database, such as the tables C1-C3 in the database 1000. In this case, the model data of the first entity object can be stored in the database in the form of a data table. Figure 2

[0066] Since the model data of the plurality of target entity objects can not be exactly the same. For example, for textures, the pixel matrices of the plurality of texture maps can be in a matrix inversion relationship, and the like. For another example, the plurality of geometric layer entity objects can have the same appearance and shape but different positions, and the like. Based on this, in order to be able to query other entity objects (defined as second entity objects) in addition to the first entity object in the plurality of target entity objects, in the embodiments of the present application, the concept of a reference object is introduced. The reference object is a self-defined data structure, which is used to represent the model data of the second entity object in the database. The data structure of the reference object is as shown in Figure 2 The reference object can include a conversion parameter (T) and an entity object locator (U). The conversion parameter is used to represent a conversion method of how to convert the entity object referenced by the reference object to the reference object. In some embodiments, the conversion parameter can be an affine transformation coefficient (Affine) of the entity object referenced by the reference object converted to the reference object, and the like. In some embodiments, the entity object represented by the reference object is exactly the same as the model data of the referenced entity object, and the conversion parameter can be empty.

[0067] The entity object locator (U) represents how to access the model data of the entity object, and is used to store information of how to access the model data of the entity object. In some embodiments, the entity object locator U can be in an inline form, which is used to store the model data of the entity object. For example, the model data of the entity object can be stored in a binary form. In some other embodiments, the entity object locator U can point to an external address, which is used to store the storage address of the model data of the entity object referenced by the reference object. For example, a file address on a file system or an object storage system as shown in the database 1000; or a storage address of an entry or a data table in the database, and the like. Since the inline form stores the model data of the entity object in the reference object, and does not reduce the amount of stored data, in the embodiments of the present application, the scheme of storing the storage address of the model data of the entity object by the entity object locator U is mainly protected. Figure 2

[0068] ​​Based on the data structure of the reference object, in the embodiment of the present application, for the second entity object other than the first entity object in the plurality of target entity objects which can be stored in each layer of entity objects, the conversion parameter between the second entity object and the first entity object can be determined according to the model data of the plurality of target entity objects in step 104. In the embodiment of the present application, the specific implementation of determining the conversion parameter between the second entity object and the first entity object is not limited.

[0069] In some embodiments, the plurality of target entity objects are a plurality of geometric layer entity objects, and the first entity object is a first geometric layer entity object; the second entity object is any geometric layer entity object other than the first geometric layer entity object in the plurality of geometric layer entity objects, which is defined as a second geometric layer entity object. Accordingly, the affine transformation coefficient between the first geometric layer entity object and the second geometric layer entity object can be calculated according to the spatial coordinate information and the position information of the first geometric layer entity object and the second geometric layer entity object, as the conversion parameter T between the first geometric layer entity object and the second geometric layer entity object.

[0070] In other embodiments, the plurality of target entity objects are a plurality of visual layer entity objects, and the first entity object is a first visual layer entity object; the second entity object is any visual layer entity object other than the first visual layer entity object in the plurality of visual layer entity objects, which is defined as a second visual layer entity object. Accordingly, the conversion parameter between the first visual layer entity object and the second visual layer entity object can be calculated according to the visual attribute data of the first visual layer entity object and the second visual layer entity object. For example, the pixel conversion matrix between a plurality of texture maps can be calculated according to the pixel information of the plurality of texture maps, as the conversion parameter between the plurality of texture maps, and so on. In some embodiments, for the visual layer entity object, the conversion parameter between the first visual layer entity object and the second visual layer entity object can be empty.

[0071] After the conversion parameter between the first entity object and the second entity object is determined, based on the data structure of the reference object, Figure 2 According to the conversion parameter between the first entity object and the second entity object and the storage address of the model data of the first entity object, the reference object of the second entity object can be created in step 105 based on the data structure of the reference object as shown in the figure. Specifically, the conversion parameter between the first entity object and the second entity object and the storage address of the model data of the first entity object can be written into the data structure of the reference object according to the data structure of the reference object, so as to obtain the reference object of the second entity object. In the embodiment, the second entity object is the entity object represented by the reference object in step 105; and the first entity object is the entity object referenced by the reference object in step 105.

[0072] Further, in step 106, a reference object of the second entity object can be stored. The reference object can represent model data of the second entity object. Since the reference object of the second entity object includes the conversion parameter between the first entity object and the second entity object and the storage address of the model data of the first entity object, the data amount of the reference object of the second entity object is much smaller than the data amount of the model data of the second entity object. Therefore, the data storage method provided in the embodiments of the present application can reduce the data amount of the multi-dimensional model data of the spatial object, realize compressed storage of the multi-dimensional model data of the spatial object, and help save storage resources.

[0073] In the embodiments of the present application, the reference object of the second entity object can be stored in a database or an external storage system. Subsequently, when the second entity object is accessed, the model data of the first entity object can be obtained according to the storage address of the model data of the first entity object recorded in the reference object of the second entity object, and the model data of the second entity object can be calculated according to the conversion parameter T between the first entity object and the second entity object recorded in the reference object of the second entity object, so as to realize access to the second data object.

[0074] In the embodiments of the present application, the spatial object is split into multi-layer entity objects based on constituent elements of the spatial object. The multi-layer entity objects store associated relationships therebetween. In the embodiments of the present application, the associated relationships between the multi-layer entity objects can also be determined according to the multi-dimensional model data of the spatial object. For example, the associated relationship between a material and a texture, the associated relationship between a geometric entity and a material, and the associated relationship between an assembly (spatial object) and a geometric entity, and the like.

[0075] Further, the reference relationship between the reference objects of the multi-layer entity objects can be established according to the associated relationships between the multi-layer entity objects. For example, a material references a reference object of a texture layer; a geometric entity references a reference object of a material layer, and the like. Further, the reference relationship between the reference objects of the multi-layer entity objects can be stored. The reference relationship between the reference objects of any two adjacent entity objects can be stored in a data table of the reference object of the upper entity object of the two adjacent entity objects. The reference relationship between the reference objects of any two adjacent entity objects can be represented by the identifier of the data table in which the reference object of the lower entity object referenced by the upper entity object is located and the identifier of the reference object of the lower entity object in the data table. For example, Figure 3 In the embodiments of the present application, the reference relationship between the material with the material identifier (MID) of 1 and the texture with the texture identifier (TID) of 1 can be represented by {t3, 1, s1}. In the formula, t3 represents the identifier of the texture table in which the texture with the texture identifier (TID) of 1 is located; 1 represents the texture identifier (TID) of 1. s1 represents the conversion parameter between the reference object of the texture with the texture identifier (TID) of 1 and the referenced entity object.

[0076] For example, such as Figure 3 As shown, the texture table (t3) stores texture information. Textures can be stored in an external storage system or database by referencing objects. The material table (t2) stores material information. Materials can contain corresponding textures. Through the reference relationship between materials and textures, a texture can be contained by one or more materials. The geometry table (t1) stores the most basic geometric information, such as the geometry of a tabletop and a table leg. The component table (t0) stores component information, such as a table being a component. The reference relationship between a table and its tabletop and legs can be represented as {t1,1,x1}, {t1,2,x2}, ..., {t1,2,xn}. Here, t1 represents the data table t1 containing the geometric entities tabletop and legs referenced by the table; 1 and 2 represent the GIDs of the geometric entities tabletop and legs referenced by the table in data table t1, respectively. x1-xn represent the conversion parameters between the referenced objects and the entity objects corresponding to the geometric entities tabletop and legs referenced by the table. Of course, the reference relationship between the table and the material can be represented as {t2,1,q1} and {t2,2,q2}. Here, t2 represents the data table t2 where the material referenced by the table resides; 1 and 2 represent the MID values ​​1 and 2 of the material's identifier in data table t1, respectively. q1 and q2 represent the conversion parameters between the referenced object and the entity object corresponding to the material referenced by the table. Thus, for a table, the referenced objects can contain a tabletop and four table legs, along with their corresponding material and texture information.

[0077] exist Figure 3 In this context, the application table contains the final space objects, and multiple space objects can be placed in different locations by referencing these objects. For example, Figure 3 The reference relationship between tables and components can be represented as {t0,1,w1}, {t0,2,w2}, ..., {t0,1,wN}. Here, t0 represents the data table t0 where the components referenced by the spatial objects table1-N in the application table reside; 1 indicates that the component's CID in data table t0 is 1; w1-wN represent the conversion parameters between the component reference objects and the component entity objects referenced by the spatial objects table1-N in the application table.

[0078] Based on the multi-level entity object reference relationship, when accessing a higher-level entity object, the model data of the corresponding lower-level entity object can be determined based on this relationship, thus obtaining the complete model data of the higher-level entity object. For example, for a geometric entity, the material data of the geometric entity can be determined based on the reference relationship between the geometric entity's referenced object and the material's referenced object. Figure 3As shown, for the space object table 1 in the application table, through the reference relationship {t0, 1, w1} between the table 1 and the component, the component referenced by the table 1 is the component reference object with the CID of 1; further, according to the storage address of the entity object referenced by the component reference object with the CID of 1 recorded in the component reference object with the CID of 1, the model data of the entity object referenced by the component reference object with the CID of 1 can be obtained; then, according to the model data of the entity object referenced by the component reference object with the CID of 1 and the conversion parameter between the component reference object with the CID of 1 and the entity object, the model data of the entity object referenced by the component reference object with the CID of 1 is converted to obtain the model data of the component entity object with the CID of 1, and further the model data of the table 1 is obtained.

[0079] The data storage method provided by the embodiments of the present application divides the multi-dimensional model data of the space object into the model data of the multi-layer entity object from the constituent elements of the space object, and for the model data of each layer of entity object, the reference object is introduced to compress store the plurality of target entity objects that can be stored in each layer of entity object. On the one hand, the plurality of target entity objects can share one copy of model data, the compression storage of the model data of each layer of entity object is realized, the storage amount of the model data of the space object is reduced, and the storage resource is saved; on the other hand, the upper layer of entity object in the space object can also share one copy of the model data of the lower layer of entity object, the storage amount of the model data of the space object is further reduced, the storage resource is saved, and the double compression of the multi-dimensional model data of the space object is realized. For example, for the geometric entity layer, a plurality of geometric entity objects with the same material can share the same material data; for a plurality of materials, a plurality of materials with the same texture can share one copy of texture data, and so on.

[0080] It is worth noting that the data storage method provided by the embodiments of the present application can be executed by the database engine. For the database engine, when accessing the database, the database can be accessed according to the index in the database. Based on this, in the embodiments of the present application, in order to realize the access query of the reference object, the index of the reference object can also be created.

[0081] In the embodiments of the present application, in order to realize the fast query of the reference object, the index of the reference object corresponding to the entity object can be created according to the characteristic data of the entity object. The characteristic data of the entity object refers to the characteristic information of the entity object, and the entity object can be locked according to the characteristic data of the entity object. For example, for the geometric layer entity object, the characteristic data of the entity object can be the three-dimensional bounding box of the geometric layer entity object, the spatial reference information of the geometric layer entity object, and the like. The spatial reference information of the geometric layer entity object is the spatial reference information of the spatial coordinate information of the geometric layer entity object. For the visual layer entity object, the characteristic data of the visual layer entity object can be the visual characteristic information of the visual layer entity object. For example, for the texture, the characteristic data of the texture can be the size of the texture map, the pixel depth of the texture map, and the compression method of the texture map, and the like. For the material, the characteristic data of the material can be the material information, such as wood, glass, and the like.

[0082] Based on the above analysis, in the embodiments of the present application, in order to realize the fast query of the reference object, the characteristic data of the first entity object can also be determined according to the model data of the first entity object in which the model data is stored in any layer entity object.

[0083] In some embodiments, any layer entity object is a texture layer, and the first entity object is a texture. Accordingly, the texture map of the texture and the compression method of the texture map can be obtained from the texture data corresponding to the texture; the size and the pixel depth of the texture map can be determined according to the texture map; and further, the size, the pixel depth, and the compression method of the texture map can be determined as the characteristic data of the texture.

[0084] In other embodiments, any layer entity object is a material layer, and the first entity object is a material. Accordingly, the material identifier and the texture identifier associated with the material can be obtained from the material data corresponding to the material as the characteristic data of the material. The texture identifier can be the characteristic data of the texture, or can be other information uniquely representing a texture, such as a texture ID.

[0085] In still other embodiments, any layer entity object is a geometric layer entity object. The geometric layer entity object can include a geometric entity of a geometric entity layer and / or a spatial object of an assembly layer. For the geometric layer entity object, the three-dimensional bounding box data of the geometric layer entity object can be determined according to the geometric attribute data of the geometric layer entity object; the spatial reference information of the geometric layer entity object can be obtained from the geometric attribute data of the geometric layer entity object; and then the spatial reference information and the three-dimensional bounding box of the geometric layer entity object are determined as the characteristic data of the geometric layer entity object.

[0086] After the feature data of the first entity object is determined, since there is a conversion parameter between the first entity object and the second entity object, the feature data of the second entity object can be determined according to the conversion parameter between the second entity object and the first entity object and the feature data of the first entity object. Specifically, the feature parameter of the first entity object can be converted by using the conversion parameter between the second entity object and the first entity object to obtain the feature parameter of the second entity object.

[0087] Further, as shown in Figure 2 the feature parameter of the second entity object can also be written into the data structure of the reference object, such as the position of the feature parameter F, to obtain the reference object of the second entity object.

[0088] In order to realize the access to the reference object, in the embodiments of the present application, the index of the reference object of the second entity object can also be established according to the feature data of the second entity object, and the index of the reference object is stored. Specifically, the index of the reference object can be stored in the database. In this way, when the reference object is accessed, the index of the reference object can be used to realize fast query.

[0089] The data storage method provided by the embodiments of the present application will be exemplarily described in combination with a specific embodiment. As shown in Figure 4 the multi-layer entity objects of the space object can include a texture layer, a material layer, a geometry layer, an assembly layer and an application layer. Correspondingly, a texture table, a material table, a geometry table, an assembly table and an application table can be respectively created. These data tables are respectively used to store the reference object of the entity object in the layer. The reference object of each layer entity object can be stored by using the data structure shown in Figure 2 .

[0090] For the above-mentioned texture table, material table, geometry table, assembly table and application table, an index of each data table can also be created according to the type of the feature data of the reference object stored by each data table. Then, the reference object of the entity object of the corresponding layer stored by each data table can be determined according to the multi-dimensional model data of the space object actually obtained, and the reference object of the corresponding layer is written into the corresponding data table. For the data tables corresponding to the entity objects of two adjacent layers, the data table of the upper layer entity object can refer to the reference object of the lower layer entity object by using the reference object. For example, the material table can refer to the reference object in the texture table by using the reference object of the texture, so that the material contains the texture. For another example, the assembly table can refer to the reference object of the geometry entity in the geometry table and the reference object of the material in the material table, so that the assembly contains the material and the geometry information, and so on. The application table is used to store the final space object, and the multi-dimensional model data of the space object can be obtained by querying the application table.

[0091] The embodiments of the present application provide not only the data storage method, but also a reference object creation method. The reference object creation method provided by the embodiments of the present application is exemplarily described below. As shown in Figure 5 The embodiments of the present application can create the corresponding reference object in response to a user request, in addition to creating the reference object in the data storage process. The user can specify which entity object or which entity objects to create the reference object for. Alternatively, as shown in Figure 5 The user can specify which entity object or which entity objects to create the reference object for by sending a reference object creation request to the database engine. The reference object creation request can be in a language format supported by the database, such as SQL language. The reference object creation request can include the identification of the entity object referenced by the reference object to be created, the storage address of the model data of the entity object referenced by the reference object to be created, and the conversion parameter between the entity object referenced by the reference object to be created and the entity object represented by the reference object to be created. In the embodiments of the present application, in order to facilitate description and differentiation, the entity object referenced by the reference object to be created is defined as a third entity object, and the entity object represented by the reference object to be created is defined as a fourth entity object.

[0092] The database engine can obtain the reference object creation request, and determine the third entity object referenced by the reference object to be created and the conversion parameter between the third entity object and the fourth entity object represented by the reference object to be created according to the reference object creation request. Specifically, as shown in Figure 5 The database engine can perform semantic analysis on the reference object creation request to obtain the information contained in the reference object creation request, such as the identification of the third entity object referenced by the reference object to be created, the storage address of the model data of the third entity object, and the conversion parameter between the third entity object and the fourth entity object represented by the reference object to be created.

[0093] Alternatively, the parser of the database engine can compile the reference object creation request into an Abstracted Syntax Tree (AST), and in the process, perform error detection on the statements of the reference object creation request to ensure that the input request statements have no syntax and lexical errors. For example, whether there is a keyword spelling error, whether there is an extra punctuation symbol, whether the entire statement is legal, and the like.

[0094] Further, the nodes of the above-mentioned Abstracted Syntax Tree can be checked in sequence, and the metadata of the related tables and the metadata of the attributes can be attached to the syntax tree, and finally a syntax tree with semantics (bound AST) is generated. Further, the information contained in the reference object creation request can be obtained according to the syntax tree with semantics.

[0095] Further, the optimizer of the database engine can generate a logical operator tree (LOT) according to the semantic syntax tree. Optionally, the semantic syntax tree nodes can be mapped to operator nodes to obtain the logical operator tree. Each node on the logical operator tree is referred to as a logical operator. Further, a physical operator corresponding to each logical operator can be extended to obtain a physical execution tree. Further, a physical execution tree with the minimum cost can be selected from the physical execution tree as an execution plan. The minimum cost can be the shortest path, the minimum memory consumption, the minimum calculation amount, or the shortest calculation time, and the like. In the embodiments of the present application, the execution plan mainly refers to an execution plan for creating a reference object.

[0096] In the embodiments of the present application, in order to create the reference object, the model data storage address of the third entity object referenced by the to-be-created reference object and the conversion parameter between the third entity object and the fourth entity object represented by the to-be-created reference object can be used to create the to-be-created reference object (corresponding to Figure 5 creating a reference object). Specifically, the model data storage address of the third entity object and the conversion parameter between the third entity object and the fourth entity object represented by the to-be-created reference object can be written into the data structure of the reference object to obtain the to-be-created reference object.

[0097] In some embodiments, the feature data of the third entity object referenced by the to-be-created reference object can also be obtained. The feature data of the third entity object can be read from the model data of the third entity object, or can be calculated according to the model data of the third entity object. Specifically, as shown in Figure 5 , the corresponding storage space (corresponding to Figure 5 query entry) can be queried according to the model data storage address of the third entity object referenced by the to-be-created reference object; and the model data (corresponding to Figure 5 read entry) of the third entity object can be read from the storage space corresponding to the model data of the third entity object. Further, the feature data of the third entity object can be determined according to the model data of the third entity object. For details about determining the feature data of the third entity object according to the model data of the third entity object, reference can be made to the related content of the above embodiments, which will not be described herein again.

[0098] Further, as shown in Figure 5 , the feature data of the fourth entity object can be determined according to the feature data of the third entity object and the conversion parameter between the third entity object and the fourth entity object represented by the to-be-created reference object; further, the feature data of the fourth entity object, the conversion parameter between the fourth entity object represented by the to-be-created reference object, and the model data storage address of the third entity object can be written intoFigure 2 The data structure of the referenced object is shown, and then the to-be-created referenced object (corresponding to Figure 5 The referenced object is created.

[0099] In the embodiments of the present application, the to-be-created referenced object is also stored. The to-be-created referenced object can represent the model data of the fourth entity object. For the fourth entity object, the model data of the fourth entity object does not need to be stored, and only the referenced object of the fourth entity object (corresponding to Figure 5 The referenced object is stored, and subsequently, the model data of the fourth entity object can be restored according to the referenced object of the fourth entity object, so as to reduce the amount of stored data and realize data compression storage.

[0100] In the embodiments of the present application, the index (corresponding to Figure 5 The index of the to-be-created referenced object is also stored, so as to realize fast access and query when the referenced object is accessed subsequently.

[0101] In addition to providing a data storage method, the embodiments of the present application also provide a referenced object query method, which will be described below in combination with Figure 6 The referenced object query method provided by the embodiments of the present application is exemplarily described.

[0102] As Figure 6 shown, the user can realize database access or query by sending a data query request to the database engine. The data query request can be in a language format supported by the database, such as SQL language. The data query request can include an index filtering condition and a query intention. The index filtering condition can include a geometric layer filtering condition, a visual layer filtering condition, and a joint filtering condition, but is not limited thereto. The query intention can reflect the query requirement and subsequent calculation requirement. For example, some query intentions are aggregation queries. In the embodiments of the present application, the database engine can obtain the data query request, and parse the data query request to determine the index filtering condition included in the data query request and the query intention of the data query request. The process of parsing the data query request can be completed by a parser of the database engine, and the specific implementation process can refer to the parsing process of the referenced object creation request described above, which will not be described herein again.

[0103] Further, the target referenced object meeting the data query request requirement can be determined according to the index filtering condition and the index of the referenced object. Specifically, the optimizer of the database engine can generate an execution plan according to the index filtering condition, and the executor can execute the execution plan generated by the optimizer one by one to query in the index of the referenced object, so as to obtain the target referenced object meeting the data query request requirement (corresponding to Figure 6The query reference object). Further, the query result of the data query request can be determined according to the target reference object and the query intent. Specifically, the executor performs the specific steps of the execution plan to calculate the target reference object according to the query intent to obtain the query result of the data query request.

[0104] Specifically, the data of the target reference object required for executing the query intent can be obtained according to the query intent. In some embodiments, it can be determined whether the feature data of the entity object represented by the target reference object stored in the data structure of the target reference object satisfies the calculation requirement of the query intent; if so, the feature data of the entity object represented by the target reference object can be obtained from the data structure of the target reference object; and the feature data of the entity object represented by the target reference object is calculated according to the query intent to obtain the query result. Specifically, the feature data of the entity object represented by the target reference object can be used to construct an in-memory computing model according to the query intent; and data calculation is performed using the in-memory computing model to obtain the query result corresponding to the data query request (corresponding to Figure 6 Calculation when the feature data satisfies the query intent.

[0105] In other embodiments, if the result of the determination is that the feature data of the entity object represented by the target reference object stored in the data structure of the target reference object does not satisfy the calculation requirement of the query intent, the model data of the entity object referenced by the target reference object can be obtained according to the storage address recorded in the data structure of the target reference object (corresponding to Figure 6 Reading model data). After that, the model data of the entity object represented by the target reference object can be determined according to the model data of the entity object referenced by the target reference object and the conversion parameter recorded by the target reference object (corresponding to Figure 6 Data conversion). After that, the query result of the data query request can be determined according to the model data of the entity object represented by the target reference object and the query intent. Specifically, the model data of the entity object represented by the target reference object can be used to construct an in-memory computing model according to the query intent; and data calculation is performed using the in-memory computing model to obtain the query result corresponding to the data query request (corresponding to Figure 6 Calculation when the feature data does not satisfy the query intent.

[0106] After that, the query result corresponding to the data query request can be returned to the user, thereby realizing access to the reference object in the database.

[0107] The above data storage method, reference object creation method and reference object query method provided by the embodiments of the present application can be integrated in a database engine. For users, all data types can be queried and analyzed using a language supported by the database (such as SQL language), which is friendly to users and can reduce the learning cost of users.

[0108] The reference object is cited as a data type in the database, an index can be created, and the index mechanism inside the database can be fully utilized when the reference object is accessed, which helps to improve the query performance. On the other hand, the above data storage, reference object creation and reference object query processes are all carried out in the database, without the need to transmit the original data to the middleware for calculation and write back to the database, which helps to improve the calculation performance.

[0109] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can also be executed by different devices as the execution subject. For example, the execution subject of steps 101 and 102 can be device A; for another example, the execution subject of step 101 can be device A, and the execution subject of step 102 can be device B; and the like.

[0110] In addition, in some of the processes described in the above embodiments and the accompanying drawings, a plurality of operations appearing in a specific order are included, but it should be clearly understood that these operations can be executed or executed in parallel without the order in which they appear in this text. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel.

[0111] Correspondingly, the embodiments of the present application also provide a computer readable storage medium storing computer instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps of the above data storage method, and / or the reference object creation method, and / or the reference object query method.

[0112] The embodiments of the present application also provide a computer program product, comprising: a computer program. When the computer program is executed by one or more processors, it causes the one or more processors to perform the steps of the above data storage method, and / or the reference object creation method, and / or the reference object query method. In the embodiments of the present application, the specific implementation form of the computer program product is not limited. In some embodiments, the computer program product can be implemented as a database engine, a database management system, etc.

[0113] For the database engine, it can include: a computer program. When the computer program is executed by one or more processors, it causes the one or more processors to perform the following steps:

[0114] S1, obtaining model data of a plurality of target entity objects that can be stored in combination;

[0115] S2, storing the model data of a first entity object in the plurality of target entity objects;

[0116] S3, determine feature data of the first entity object according to the model data of the first entity object;

[0117] S4, determine a first conversion parameter between the second entity object and the first entity object according to the model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects;

[0118] S5, write the feature data of the second entity object, the first conversion parameter and the storage address of the model data of the first entity object into a data structure of a reference object respectively, to obtain a reference object of the second entity object;

[0119] S6, store the reference object of the second entity object to represent the model data of the second entity object.

[0120] Wherein, for the implementation of determining the plurality of target entity objects that can be stored together, please refer to the related content of the above-mentioned embodiments, which will not be repeated here. The plurality of target entity objects can be the plurality of target entity objects that can be stored together in each layer entity object of the same space object; can also be the plurality of target entity objects that can be stored together in different space objects, of course, can also be the plurality of space objects that can be stored together, and so on. For the plurality of space objects that can be stored together, the plurality of space objects that can be stored together can be determined according to the similarity between the visual attribute data and the geometric attribute data of the space object. For the description of steps S1-S5, please refer to the related content of the above-mentioned embodiments, which will not be repeated here.

[0121] The database engine provided by the embodiment can introduce the reference object to compress store the plurality of target entity objects that can be stored together in each layer entity object, on the one hand, the plurality of target entity objects can share a copy of model data, the compression storage of the model data of each layer entity object is realized, the storage amount of the model data of the space object can be reduced, and the storage resources can be saved.

[0122] Figure 7 The architecture schematic diagram of the database management system provided by the embodiment of the application is shown in the figure. Figure 7 As shown, the database management system can be deployed on any computing device, and the database management is performed through the input / output (Input / Output, I / O) interface, processor and network adapter of the computing device. The database management system can access external storage systems such as network storage systems, object storage systems, etc. through the network adapter.

[0123] As shown in the figure, Figure 7As shown, the database management system can include a parser, an optimizer and an executor. The parser is a translation system of the database, which is used to translate the SQL statement in text format into a syntax tree structure that can be recognized by the database during execution. The optimizer is a component that optimizes the performance of the actual execution process of SQL, which solves the problem of how the database does the operation represented by the SQL statement. The input of the optimizer is the syntax tree generated by the parser, and the output is the execution plan. The executor is a component in the database engine that performs operations, and components that complete various specific operations can be called executors. The executor executes the execution plan generated by the optimizer step by step, and performs operations and calculations according to the specific steps of the execution plan.

[0124] In the embodiments of the present application, the parser, the optimizer and the executor constitute the database engine, which can execute the above-mentioned data storage method, and / or the steps in the reference object creation method and / or the reference object query method to obtain the data table of the multi-layer entity object. As shown in Figure 7 The texture table, the material table, the geometry table, the component table and the application table, etc. The database engine can also establish an index for each data table. The data table of each layer of entity object can be stored in the file system inside the database, or stored in the storage system outside the database through a network adapter, such as Figure 7 The network storage system, the object storage system, etc.

[0125] Figure 8 The structural schematic diagram of the computing device provided in the embodiments of the present application is shown in Figure 8 As shown, the computing device includes a memory 80a and a processor 80b; wherein the memory 80a is configured to store a computer program.

[0126] The processor 80b is coupled to the memory 80a and is configured to execute the computer program to: obtain model data of a multi-layer entity object contained in a spatial object from multi-dimensional model data of the spatial object; determine a plurality of target entity objects that can be stored from the multi-layer entity object according to the model data of the multi-layer entity object; store model data of a first entity object in the plurality of target entity objects; determine a first conversion parameter between a second entity object and the first entity object according to the model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects; create a reference object of the second entity object according to the first conversion parameter and a storage address of the model data of the first entity object; and store the reference object of the second entity object to represent the model data of the second entity object.

[0127] Optionally, the processor 80b stores the model data of the first entity object in the plurality of target entity objects in the memory 80a; and / or stores the model data of the first entity object in an external storage system via the communication component 80c.

[0128] Correspondingly, the processor 80b stores the reference object of the second entity object in the memory 80a; and / or stores the reference object of the second entity object in an external storage system via the communication component 80c.

[0129] In some embodiments, the processor 80b is further configured to: determine feature data of the first entity object according to the model data of the first entity object; and determine feature data of the second entity object according to the feature data of the first entity object and the first conversion parameter. Correspondingly, the processor 80b, when creating the reference object of the second entity object, is specifically configured to: write the feature data of the second entity object, the first conversion parameter and the storage address of the model data of the first entity object into a data structure of the reference object respectively, to obtain the reference object of the second entity object.

[0130] In some embodiments, the processor 80b is further configured to: establish an index of the reference object according to the feature data of the second entity object; and store the index of the reference object.

[0131] Optionally, the processor 80b stores the index of the reference object in the memory 80a and / or an external storage system.

[0132] In other embodiments, the processor 80b is further configured to: determine an association relationship between the multi-layer entity objects according to the multi-dimensional model data of the spatial object; establish a reference relationship between the reference objects of the multi-layer entity objects according to the association relationship between the multi-layer entity objects; and store the reference relationship between the reference objects of the multi-layer entity objects.

[0133] Optionally, the processor 80b stores the reference relationship between the reference objects of the multi-layer entity objects in the memory 80a and / or an external storage system.

[0134] In some embodiments of the present application, the multi-layer entity objects include visual layer entity objects. Correspondingly, when the processor 80b obtains the model data of the multi-layer entity objects contained in the spatial object from the multi-dimensional model data of the spatial object, the processor 80b is specifically configured to: obtain visual attribute data of the visual layer entity objects from the multi-dimensional model data of the spatial object as the model data of the visual layer entity objects.

[0135] Accordingly, the processor 80b is specifically configured to: calculate the similarity between the visual layer entity objects according to the visual attribute data of the visual layer entity objects; and select the target visual layer entity objects that can be stored in a combined manner from the visual layer entity objects included in the visual layer according to the similarity between the visual layer entity objects, as the target entity objects, when determining the target entity objects that can be stored in a combined manner from any layer entity object according to the model data of the any layer entity object.

[0136] In some embodiments, the visual layer includes a texture layer, and the target visual layer entity object includes a texture. The processor 80b is specifically configured to: obtain the texture map of the texture and the compression mode of the texture map from the texture data corresponding to the texture; determine the size and the pixel depth of the texture map according to the texture map of the texture; and determine the size, the pixel depth and the compression mode of the texture map as the feature data of the texture, when determining the feature data of the first entity object according to the model data of the first entity object.

[0137] In some other embodiments, the visual layer includes a material layer, and the target visual layer entity object includes a material. The processor 80b is specifically configured to: obtain the material identifier and the texture identifier associated with the material from the material data corresponding to the material as the feature data of the material, when determining the feature data of the first entity object according to the model data of the first entity object.

[0138] In some other embodiments of the present application, the multi-layer entity object includes a geometry layer entity object. The processor 80b is specifically configured to: obtain the geometry attribute data of the geometry layer entity object included in the spatial object from the multi-dimensional model data of the spatial object as the model data of the geometry layer entity object, when obtaining the model data of the multi-layer entity object included in the spatial object from the multi-dimensional model data of the spatial object.

[0139] Accordingly, the processor 80b is specifically configured to: calculate the geometric similarity between the geometry layer entity objects according to the geometry attribute data of the different geometry layer entity objects; and select the target geometry layer entity objects that can be stored in a combined manner from the geometry layer entity objects included in the spatial object according to the geometric similarity between the different geometry layer entity objects, when determining the target entity objects that can be stored in a combined manner from any layer entity object according to the model data of the any layer entity object.

[0140] Accordingly, the first entity object is a geometry layer entity object. The processor 80b is specifically configured to: determine the three-dimensional bounding box data of the geometry layer entity object according to the geometry attribute data of the geometry layer entity object; obtain the spatial reference information of the geometry layer entity object from the geometry attribute data of the geometry layer entity object; and determine the spatial reference information and the three-dimensional bounding box of the geometry layer entity object as the feature data of the geometry layer entity object, when determining the feature data of the first entity object according to the model data of the first entity object.

[0141] In the embodiment of the present application, the processor 80b is further configured to: acquire a data query request through the communication component 80c; parse the data query request to determine an index filtering condition contained in the data query request and a query intention of the data query request; determine a target reference object meeting the requirement of the data query request according to the index filtering condition and the stored index of the reference object; and determine a query result of the data query request according to the target reference object and the query intention.

[0142] Optionally, when determining the query result of the data query request according to the target reference object and the query intention, the processor 80b is specifically configured to: determine whether the characteristic data of the third entity object corresponding to the target reference object stored in the data structure of the target reference object meets the calculation requirement of the query intention; if the determination result is yes, acquire the characteristic data of the third entity object from the data structure of the target reference object; and calculate the characteristic data of the third entity object according to the query intention to obtain the query result. Correspondingly, if the determination result is no, acquire the model data of the fourth entity object according to the storage address of the model data of the fourth entity object recorded in the data structure of the target reference object; determine the model data of the third entity object according to the model data of the fourth entity object and the conversion parameter recorded in the target reference object; and determine the query result of the data query request according to the model data of the third entity object and the query intention.

[0143] In the embodiment of the present application, the processor 80b is further configured to: acquire a reference object creation request through the communication component 80c; determine a fifth entity object referenced by a to-be-created reference object and a second conversion parameter between the fifth entity object and a sixth entity object represented by the to-be-created reference object according to the reference object creation request; create the to-be-created reference object according to the second conversion parameter and the storage address of the fifth entity object; and store the to-be-created reference object to represent the model data of the sixth entity object.

[0144] Optionally, the processor 80b is further configured to: acquire the characteristic data of the fifth entity object; and determine the characteristic data of the sixth entity object according to the characteristic data of the fifth entity object and the second conversion parameter.

[0145] Correspondingly, when creating the to-be-created reference object according to the second conversion parameter and the storage address of the fifth entity object, the processor 80b is specifically configured to: write the characteristic data of the sixth entity object, the second conversion parameter and the storage address of the fifth entity object into the data structure of the reference object to obtain the to-be-created reference object.

[0146] Optionally, the processor 80b is further configured to: establish an index of the to-be-created reference object according to the feature data of the sixth entity object; and store the index of the to-be-created reference object. The storage location of the index of the to-be-created reference object can refer to the storage location of the index of the reference object of the second entity object.

[0147] In some optional embodiments, as shown in FIG. 8, the computing device can further include a power supply component 80d, and the like. In some embodiments, the computing device can be implemented as a terminal device such as a computer. Accordingly, the computing device can further include a display component 80e, an audio component 80f, and the like. Figure 8 Figure 8 In some optional embodiments, as shown in FIG. 8, the computing device can further include a power supply component 80d, and the like. In some embodiments, the computing device can be implemented as a terminal device such as a computer. Accordingly, the computing device can further include a display component 80e, an audio component 80f, and the like. Figure 8 Figure 8 In some optional embodiments, as shown in FIG. 8, the computing device can further include a power supply component 80d, and the like. In some embodiments, the computing device can be implemented as a terminal device such as a computer. Accordingly, the computing device can further include a display component 80e, an audio component 80f, and the like.

[0148] The computing device provided by the embodiment divides the multi-dimensional model data of the spatial object into model data of multiple layers of entity objects from the constituent elements of the spatial object, and for the model data of each layer of entity objects, introduces reference objects to compress store multiple target entity objects that can be stored in each layer of entity objects. On the one hand, the multiple target entity objects can share one copy of the model data, the model data of each layer of entity objects is compressed and stored, the storage amount of the model data of the spatial object is reduced, and the storage resources are saved. On the other hand, the upper layer entity objects in the spatial object can also share one copy of the model data of the lower layer entity objects, the storage amount of the model data of the spatial object is further reduced, the storage resources are saved, and the multi-dimensional model data of the spatial object is compressed twice.

[0149] In the embodiment of the present application, the memory is used to store the computer program and can be configured to store other various data to support the operation on the device where it is located. Among them, the processor can execute the computer program stored in the memory to realize the corresponding control logic. The memory can be realized by any type of volatile or non-volatile storage device or their combination, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0150] ​​In embodiments of the present application, the processor can be any hardware processing device that can execute the logic of the above-described methods. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU), or a microcontroller unit (MCU); it can also be a programmable device such as a field-programmable gate array (FPGA), a programmable array logic (PAL), a generic array logic (GAL), a complex programmable logic device (CPLD), etc.; or it can be an advanced RISC machines (ARM) processor or a system on chip (SOC), etc., but is not limited thereto.

[0151] In embodiments of the present application, the communication component is configured to facilitate wired or wireless communication between the device in which it is located and other devices. The device in which the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, 4G, 5G, or a combination thereof. In an example embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component can also be implemented based on near field communication (NFC) technology, radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra wideband (UWB) technology, Bluetooth (BT) technology, or other technology.

[0152] In embodiments of the present application, the display component can include a liquid crystal display (LCD) and a touch panel (TP). If the display component includes a touch panel, the display component can be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense a touch, a slide, and a gesture on the touch panel. The touch sensor can not only sense a boundary of a touch or a slide action, but also detect a duration and a pressure related to the touch or slide action.

[0153] In embodiments of the present application, the power supply component is configured to provide power to various components of the device in which it is located. The power supply component can include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0154] In the embodiments of the present application, the audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) that is configured to receive an external audio signal when the device in which the audio component is located is in an operation mode, such as a calling mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory or transmitted via the communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals. For example, for a device with a language interaction function, voice interaction with a user can be realized through the audio component.

[0155] It should be noted that the "first", "second", and the like descriptions herein are used to distinguish different messages, devices, modules, and the like, and do not represent the order of sequence, nor limit the "first" and "second" to be different types.

[0156] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) containing computer-usable program code.

[0157] The present application is described with reference to flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as a combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing apparatus produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 an apparatus that implements the functions specified in one or more flows and / or blocks.

[0158] These computer program instructions can also be stored in a computer-readable memory that can direct the computer or other programmable data processing apparatus to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including instruction apparatus, which implements the functions specified in the flowcharts and / or block diagrams. Figure 1 one or more flows and / or blocks Figure 1 an apparatus that implements the functions specified in one or more flows and / or blocks.

[0159] These computer program instructions can also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 Figure 1

[0160] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0161] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) about which the computer stores the information. The memory is an example of computer readable media.

[0162] The computer's storage media can be implemented using any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Examples of storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. In accordance with the teachings herein, computer readable media does not include transitory media, such as modulated data signals and carrier waves.

[0163] It is also important to note that the terms "comprises", "comprising", or other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.

[0164] ​​The above merely provides an example of the present application, but is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application should be included in the scope of claims of the present application.

Claims

1. A data storage method, characterized by, The method comprises: obtaining model data of multi-layer entity objects contained in the spatial object from multi-dimensional model data of the spatial object; determining, for any one layer entity object, a plurality of target entity objects that can be stored in combination from the any one layer entity object according to model data of the any one layer entity object; storing model data of a first entity object in the plurality of target entity objects; determining a first conversion parameter between a second entity object and the first entity object according to model data of the plurality of target entity objects; the second entity object is an entity object other than the first entity object in the plurality of target entity objects; creating a reference object of the second entity object according to the first conversion parameter and a storage address of the model data of the first entity object; the reference object of the second entity object comprises a conversion parameter and an entity object locator; the conversion parameter represents a conversion method of converting the second entity object to the reference object of the second entity object; and the entity object locator is used to store access information of the model data of the second entity object; storing the reference object of the second entity object to represent the model data of the second entity object.

2. The method of claim 1, wherein, The method further comprises: determining feature data of the first entity object according to the model data of the first entity object; determining feature data of the second entity object according to the feature data of the first entity object and the first conversion parameter; the creating the reference object of the second entity object according to the first conversion parameter and the storage address of the model data of the first entity object comprises: writing the feature data of the second entity object, the first conversion parameter and the storage address of the model data of the first entity object into a data structure of the reference object respectively to obtain the reference object of the second entity object.

3. The method of claim 2, wherein, The method further comprises: establishing an index of the reference object of the second entity object according to the feature data of the second entity object; storing the index of the reference object of the second entity object.

4. The method of claim 1, wherein, The method further comprises: determining an association relationship between the multi-layer entity objects according to the multi-dimensional model data of the spatial object; establishing a reference relationship between reference objects of the multi-layer entity objects according to the association relationship between the multi-layer entity objects; storing the reference relationship between the reference objects of the multi-layer entity objects.

5. The method of claim 1, wherein, The multi-layer entity objects comprise visual layer entity objects; and the obtaining model data of the multi-layer entity objects contained in the spatial object from multi-dimensional model data of the spatial object comprises: obtaining visual attribute data of the visual layer entity objects from the multi-dimensional model data of the spatial object as the model data of the visual layer entity objects; the determining, for any one layer entity object, a plurality of target entity objects that can be stored in combination from the any one layer entity object according to model data of the any one layer entity object comprises: calculating similarity between a plurality of visual layer entity objects according to visual attribute data of the plurality of visual layer entity objects; and According to the similarity between the plurality of visual layer entity objects, a plurality of target visual layer entity objects capable of being stored in a combined manner are selected from the plurality of visual layer entity objects contained in the spatial object as the plurality of target entity objects.

6. The method of claim 1, wherein, The multi-layer entity object includes a geometric layer entity object; the model data of the multi-layer entity object contained in the spatial object is obtained from the multi-dimensional model data of the spatial object, including: The geometric attribute data of the geometric layer entity object contained in the spatial object is obtained from the multi-dimensional model data of the spatial object as the model data of the geometric layer entity object; According to the model data of any layer entity object, a plurality of target entity objects capable of being stored in a combined manner are determined from the any layer entity object, including: According to the geometric attribute data of different geometric layer entity objects, the geometric similarity of different geometric layer entity objects is calculated; According to the geometric similarity of different geometric layer entity objects, a plurality of target geometric layer entity objects capable of being stored in a combined manner are selected from the geometric layer entity objects contained in the spatial object.

7. The method of claim 6, wherein, The first entity object is a geometric layer entity object; the model data of the first entity object is determined according to the model data of the first entity object, including: According to the geometric attribute data of the geometric layer entity object, the three-dimensional bounding box data of the geometric layer entity object is determined; The spatial reference information of the geometric layer entity object is obtained from the geometric attribute data of the geometric layer entity object; The spatial reference information and the three-dimensional bounding box of the geometric layer entity object are determined as the feature data of the geometric layer entity object.

8. The method of claim 3, wherein, Including: Obtaining a data query request; The data query request is parsed to determine the index filtering condition contained in the data query request and the query intention of the data query request; According to the index filtering condition and the index of the stored reference object, a target reference object meeting the requirement of the data query request is determined; According to the target reference object and the query intention, the query result of the data query request is determined.

9. The method of claim 8, wherein, According to the target reference object and the query intention, the query result of the data query request is determined, including: Judging whether the feature data of the third entity object corresponding to the target reference object stored in the data structure of the target reference object meets the calculation requirement of the query intention; If the judgment result is yes, the feature data of the third entity object is obtained from the data structure of the target reference object; According to the query intention, the feature data of the third entity object is calculated to obtain the query result.

10. The method of claim 9, wherein, Further including: If the judgment result is no, the model data of the fourth entity object is obtained according to the storage address of the model data of the fourth entity object recorded in the data structure of the target reference object; According to the model data of the fourth entity object and the conversion parameter recorded by the target reference object, the model data of the third entity object is determined; According to the model data of the third entity object and the query intention, the query result of the data query request is determined.

11. The method of claim 1, wherein, Further including: Obtaining a reference object creation request; According to the reference object creation request, a fifth entity object to be referenced by the to-be-created reference object is determined, and a second conversion parameter between the fifth entity object and a sixth entity object represented by the to-be-created reference object is determined; According to the second conversion parameter and a storage address of the fifth entity object, the to-be-created reference object is created; The to-be-created reference object is stored to represent model data of the sixth entity object.

12. The method of claim 11, wherein, Further comprising: Obtaining feature data of the fifth entity object; According to the feature data of the fifth entity object and the second conversion parameter, feature data of the sixth entity object is determined; The second conversion parameter and the storage address of the fifth entity object, the to-be-created reference object is created, comprising: The feature data of the sixth entity object, the second conversion parameter and the storage address of the fifth entity object are written into a data structure of a reference object to obtain the to-be-created reference object.

13. A computing device, comprising: Comprising: A memory and a processor; wherein the memory is configured to store a computer program; The processor is coupled to the memory and is configured to execute the computer program to perform the steps in the method of any one of claims 1-12.

14. A computer readable storage medium having stored thereon computer instructions, wherein, When the computer instructions are executed by one or more processors, the one or more processors are caused to perform the steps in the method of any one of claims 1-12.

15. A database engine, characterized by Comprising: A computer program; when the computer program is executed by one or more processors, the one or more processors are caused to perform the following steps: Obtain model data of a plurality of target entity objects that can be merged and stored; Store model data of a first entity object in the plurality of target entity objects; According to the model data of the first entity object, feature data of the first entity object is determined; According to the model data of the plurality of target entity objects, a first conversion parameter between a second entity object and the first entity object is determined; the second entity object is an entity object other than the first entity object in the plurality of target entity objects; The feature data of the second entity object, the first conversion parameter and the storage address of the model data of the first entity object are written into a data structure of a reference object respectively to obtain a reference object of the second entity object; the reference object of the second entity object comprises: a conversion parameter and an entity object locator; the conversion parameter represents a conversion method of converting the second entity object to the reference object of the second entity object; and the entity object locator is configured to store access information of the model data of the second entity object; The reference object of the second entity object is stored to represent model data of the second entity object.

Citation Information

Patent Citations

  • System and method for realizing three-dimensional visual data model of urban geographic information

    CN113112598A

  • Body object-based pipe network model parametric modeling and efficient display method

    CN113658310A