Micro-service-based low-coding platform

Through a low-code platform based on microservices, the OSGB data encapsulation format and locking module are used to solve the problem of multi-person collaborative editing of the three-dimensional graphics engine, realize parallel editing and writing of multiple users, and improve work efficiency in the cloud environment and Reduces hardware costs.

CN119292566APending Publication Date: 2025-01-10AEROSPACE SCI & IND GRP INTELLIGENT TECH RES INST CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411252524.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The existing three-dimensional graphics engine and low-code graphics development platform cannot realize multiple people editing a scene at the same time, resulting in low work efficiency and high hardware costs in a cloud environment, which cannot solve the problem of multiple users writing files at the same time.

Method used

Adopt a low-code platform based on microservices, including the underlying database, cloud database, cloud microservice and multiple clients, and use OSGB data encapsulation format to store three-dimensional scene data, and lock modules and microservices (such as Renderer and SceneLoader) , NodeSetter, etc.) realizes parallel editing and writing of multiple users, and supports simultaneous access and operation of multiple clients.

Benefits of technology

It realizes the ability of multiple users to edit and write to the same scene at the same time, improves the working efficiency of the cloud-native three-dimensional graphics engine, reduces hardware costs, and ensures data accuracy and integrity through microservice architecture and data consistency mechanism.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292566A_ABST
    Figure CN119292566A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computer information security, and discloses a micro-service-based low-coding platform. The platform comprises an underlying database, a cloud database end, a cloud micro-server end, a cloud rendering end and a plurality of clients, the underlying database is used for storing three-dimensional scene data, the underlying database adopts an OSGB data encapsulation format, the cloud database end is used for providing cloud storage and access services of the three-dimensional scene data, and the cloud rendering end is used for providing the cloud micro-server end. The cloud micro server side is used for providing a plurality of micro services, the cloud rendering side is used for executing rendering and stream pushing of a three-dimensional scene according to three-dimensional scene data, and the plurality of client sides are used for calling the micro services by a user and accessing the cloud database side at the same time. Therefore, the platform capable of enabling the three-dimensional graphic engine to simultaneously perform scene editing operation and writing can run in a local or cloud native environment, multiple users can simultaneously edit and open the same scene, and multiple users can simultaneously write.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer information security technology, and in particular to a low-code platform based on microservices. Background Art

[0002] Because a single file is stored, all existing 3D graphics engines and low-code graphics development platforms cannot allow multiple people to edit a scene at the same time. Only one person can operate and write to disk, and then others can open and operate, write to disk, and then open it again, and so on. Therefore, for scene editing, multiple people cannot work in parallel, which will hinder the cloudification of 3D graphics engines. In fact, the existing 3D engines running on the cloud achieve multi-user effects through N virtual machines, which not only consumes a lot of resources, but also does not solve the problem of writing a file at the same time.

[0003] All existing 3D graphics engine graphics platforms have the problem that multiple users cannot edit at the same time, and multiple people cannot write or operate, which is not conducive to team collaboration. This problem will be more prominent in a cloud environment, greatly affecting the work efficiency of cloud-native 3D graphics engines and increasing hardware costs by dozens of times. Summary of the invention

[0004] The present invention provides a low-code platform based on microservices, which can solve the problems in the prior art.

[0005] The present invention provides a low-code platform based on microservices, wherein the platform includes an underlying database, a cloud database end, a cloud microservice end, a cloud rendering end and multiple clients, wherein the underlying database is used to store three-dimensional scene data, and the underlying database adopts the OSGB data encapsulation format, the cloud database end is used to provide cloud storage and access services for three-dimensional scene data, the cloud microservice end is used to provide multiple microservices, the cloud rendering end is used to perform rendering and streaming of three-dimensional scenes according to the three-dimensional scene data, and the multiple clients are used for users to call the microservices and access the cloud database end at the same time.

[0006] Preferably, the three-dimensional scene data includes multiple data elements, each of which is stored in an independent object manner and has a unique ID and a position index.

[0007] Preferably, the platform also includes a locking module for locking the cloud database end when it is necessary to change the data element corresponding to a certain ID, add a data element, or delete a data element.

[0008] Preferably, the microservices include a Renderer microservice, a SceneLoader microservice, a SceneMerger microservice, a NodeSetter microservice, a NodeTransformer microservice, a NodeConfigurator microservice, a MeshSetter microservice, a TextureSetter microservice, and a MeshSimplifier microservice, wherein:

[0009] After the user calls the Renderer microservice, the cloud rendering end loads and renders the data elements visible in the current field of view through the Renderer microservice, and pushes the stream to the client. The Renderer microservice supports interactive roaming and data element selection operations;

[0010] After the user calls the SceneLoader microservice, the underlying database converts the local or network 3D scene data to be loaded through the SceneLoader microservice, and adds the converted data to the cloud database end;

[0011] After the user calls the SceneMerger microservice, the underlying database adds the local or network tile data to be loaded to the cloud database end through the SceneMerger microservice;

[0012] After the user calls the NodeSetter microservice, the data element corresponding to a certain ID is changed, a new data element is added, or a data element is deleted;

[0013] After the user calls the NodeTransformer microservice, the scaling, position, and posture parameters of the data element in three-dimensional space are controlled;

[0014] After the user calls the NodeConfigurator microservice, he controls the rendering properties of the data element;

[0015] After the user calls the MeshSetter microservice, the geometric data content of the data element is set;

[0016] After the user calls the TextureSetter microservice, the texture properties of the data element are controlled;

[0017] Users call the MeshSimplifier microservice to control the polygon simplification properties of data elements.

[0018] Preferably, the data format of the local or network three-dimensional scene data to be loaded is at least one of the following: fbx, gltf, obj, ply and usd.

[0019] Preferably, the data format of the local or network tile data to be loaded is at least one of the following: OSGB and 3dtiles.

[0020] Preferably, the rendering attributes include at least one of the following: whether to display a grid, a name, and a file name.

[0021] Preferably, the geometry data content includes at least one of the following: vertices, normals, texture coordinates and indices.

[0022] Preferably, the texture attributes include at least one of the following: UV, texture format, texture size and Atlas.

[0023] Preferably, the polygon reduction attribute includes at least one of the following: LOD and number of polygons.

[0024] Through the above technical solution, a platform is provided that enables the three-dimensional graphics engine to perform scene editing operations and writing in parallel. It can run in a local or cloud-native environment, and multiple users can edit and open the same scene at the same time, and multiple users can write at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The included drawings are used to provide a further understanding of the embodiments of the present invention, which constitute a part of the specification, are used to illustrate the embodiments of the present invention, and together with the text description, explain the principles of the present invention. Obviously, the drawings in the following description are only some embodiments of the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0026] Figure 1 A schematic diagram of a microservice-based low-code platform according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0027] It should be noted that, in the absence of conflict, the embodiments in this application and the features in the embodiments can be combined with each other. The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is by no means intended to limit the present invention and its application or use. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0028] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.

[0029] Unless otherwise specifically stated, the relative arrangement of the parts and steps described in these embodiments, numerical expressions and numerical values ​​do not limit the scope of the present invention. At the same time, it should be understood that, for ease of description, the sizes of the various parts shown in the accompanying drawings are not drawn according to the actual proportional relationship. The technology, method and equipment known to ordinary technicians in the relevant field may not be discussed in detail, but in appropriate cases, the technology, method and equipment should be regarded as a part of the authorization specification. In all examples shown and discussed here, any specific value should be interpreted as being merely exemplary, rather than as a limitation. Therefore, other examples of exemplary embodiments may have different values. It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once a certain item is defined in an accompanying drawing, it does not need to be further discussed in subsequent drawings.

[0030] Figure 1 A schematic diagram of a microservice-based low-code platform according to an embodiment of the present invention is shown.

[0031] For example, the platform described in the present invention may be a microservice-based OSG VERSE (product name) low-code platform.

[0032] like Figure 1 As shown, an embodiment of the present invention provides a low-code platform based on microservices, wherein the platform includes an underlying database, a cloud database end, a cloud microservice end, a cloud rendering end and multiple clients, wherein the underlying database is used to store three-dimensional scene data, and the underlying database adopts an OSGB (open scene graph binary) data encapsulation format, the cloud database end is used to provide cloud storage and access services for three-dimensional scene data, the cloud microservice end is used to provide multiple microservices, the cloud rendering end is used to perform rendering and streaming of three-dimensional scenes according to the three-dimensional scene data, and the multiple clients are used for users to call the microservices and access the cloud database end at the same time.

[0033] Among them, the three-dimensional scene data is imported into the cloud database and can be stored in the cloud database for a long time.

[0034] Through the above technical solution, a platform is provided that enables a three-dimensional graphics engine to perform scene editing operations and writing in parallel. It can run in a local or cloud-native environment (that is, it supports cloud databases and cloud microservices, improving resource utilization efficiency and system scalability). Multiple users can edit and open the same scene at the same time, and multiple users can write at the same time.

[0035] Specifically, the microservice architecture is applied to the 3D graphics engine. The specific implementation details of the backend database are encapsulated through the universal data encapsulation format OSGB, which enables the 3D graphics engine to easily access, modify, insert, and delete any 3D scene data at the same time. It can maximize the cloudification of the 3D graphics engine and make it a software system that can be deployed in the cloud natively rather than just a software system that runs locally.

[0036] Therefore, by introducing the microservice architecture into the field of 3D graphics engine, independent deployment and expansion of services can be achieved, improving the flexibility and maintainability of the system. The use of the open scene graph binary format (OSGB) as the data encapsulation format simplifies the access, modification, insertion and deletion operations of the 3D graphics engine on data.

[0037] In addition, multi-user concurrent editing allows multiple users to edit and write the same 3D scene at the same time, solving the limitations of traditional 3D graphics engines in multi-person collaboration. The platform is a low-code platform that simplifies the development process and lowers the technical threshold, allowing non-professionals to participate in the construction and editing of 3D scenes, thereby improving development efficiency. In addition, the platform supports multiple clients to access and operate 3D scenes at the same time, enhancing the platform's collaboration capabilities and user experience.

[0038] According to an embodiment of the present invention, the three-dimensional scene data includes multiple data elements, each of which is stored in an independent object manner and has a unique ID and a position index.

[0039] That is, the data elements in the 3D scene data are stored as independent "objects" (i.e., stored as scene objects) and saved to the database item with a unique ID; at the same time, the position index can be recorded at the beginning of the database and its parent object for fast listing and query. Multiple users can access the cloud database at the same time, query the header data and build the object structure diagram of the current scene, so as to start the corresponding microservice to perform scene changes and editing operations.

[0040] Therefore, efficient and fast access and query of three-dimensional scene data can be achieved through the strategy of unique ID and location index.

[0041] According to one embodiment of the present invention, the platform also includes a locking module for performing a locking operation on the cloud database end when it is necessary to change a data element corresponding to a certain ID, add a data element, or delete a data element.

[0042] Multiple users can simultaneously obtain the specific content of a scene object with any ID. When you need to change a scene object with a certain ID, or add / delete a scene object, you can first lock the database, and then unlock it after the change, addition, or deletion operation is completed so that other users can access it again.

[0043] Adopt data consistency and locking mechanism, and ensure data consistency and integrity through database locking mechanism in scenarios with multi-user concurrent operations.

[0044] According to an embodiment of the present invention, the microservice includes a Renderer microservice, a SceneLoader microservice, a SceneMerger microservice, a NodeSetter microservice, a NodeTransformer microservice, a NodeConfigurator microservice, a MeshSetter microservice, a TextureSetter microservice, and a MeshSimplifier microservice, wherein:

[0045] After the user calls the Renderer microservice, the cloud rendering end loads and renders the data elements visible in the current field of view through the Renderer microservice, and pushes the stream to the client. The Renderer microservice supports interactive roaming and data element selection operations;

[0046] That is, the Renderer microservice is responsible for loading and rendering scene objects visible in the current field of view, streaming them to the client, and supporting interactive roaming and object selection operations.

[0047] After the user calls the SceneLoader microservice, the underlying database converts the local or network 3D scene data to be loaded through the SceneLoader microservice, and adds the converted data to the cloud database end;

[0048] That is, the local or network scene data to be loaded can be converted into a standard format and then added to the cloud database.

[0049] After the user calls the SceneMerger microservice, the underlying database adds the local or network tile data to be loaded to the cloud database end through the SceneMerger microservice;

[0050] After the user calls the NodeSetter microservice, the data element corresponding to a certain ID is changed, a new data element is added, or a data element is deleted;

[0051] For example, you can specify the ID of a scene object and then replace it with a new scene object, or change its parent object to move the scene object to another location in the graph structure, or delete it directly.

[0052] After the user calls the NodeTransformer microservice, the scaling, position, and posture parameters of the data element in three-dimensional space are controlled;

[0053] For example, you can specify the ID of a scene object and control its scale, position, and attitude parameters in three-dimensional space.

[0054] After the user calls the NodeConfigurator microservice, he controls the rendering properties of the data element;

[0055] For example, you can specify the ID of a scene object and control its rendering properties.

[0056] After the user calls the MeshSetter microservice, the geometric data content of the data element is set;

[0057] For example, you can specify the ID of a scene object and then set its geometry data content.

[0058] After the user calls the TextureSetter microservice, the texture properties of the data element are controlled;

[0059] For example, you can specify the ID of a scene object and control its texture properties.

[0060] Users call the MeshSimplifier microservice to control the polygon simplification properties of data elements.

[0061] For example, you can specify the ID of a scene object and control its polygon reduction properties.

[0062] Therefore, an independent microservice design is adopted, and each microservice is responsible for different functions, such as rendering, scene loading, node setting, etc., to achieve modularization and independence of functions. Specifically, through microservices such as SceneLoader, SceneMerger and MeshSetter, dynamic loading, conversion, simplification and attribute control of scene data are achieved.

[0063] Furthermore, when any of the above and newly expanded cloud microservices access the cloud database, they can first lock the database, then accurately jump to process some underlying data, save and unlock after making changes. Users call the cloud microservice through the client, and after performing the desired operation, they can view the results from the Renderer microservice.

[0064] According to an embodiment of the present invention, the data format of the local or network three-dimensional scene data to be loaded is at least one of the following: fbx, gltf, obj, ply and usd.

[0065] According to an embodiment of the present invention, the data format of the local or network tile data to be loaded is at least one of the following: OSGB and 3dtiles.

[0066] According to an embodiment of the present invention, the rendering attribute includes at least one of the following: whether to display a grid, a name, and a file name.

[0067] According to an embodiment of the present invention, the geometric data content includes at least one of the following: vertices, normals, texture coordinates, and indices.

[0068] According to an embodiment of the present invention, the texture attribute includes at least one of the following: UV, texture format, texture size and Atlas.

[0069] According to an embodiment of the present invention, the polygon reduction attribute includes at least one of the following: LOD and the number of polygons.

[0070] The preferred embodiments of the present invention are described below:

[0071] Example 1: Composition and operation of the OSG VERSE low-code platform based on microservices

[0072] 1. Composition or constitution

[0073] 1. OSGB database (underlying database): stores 3D scene data. Each data element is stored as an independent object with a unique ID. OSGB data encapsulation is used to simplify data access and operation.

[0074] 2. Cloud database: provides cloud storage and access services for data.

[0075] 3. Cloud microservice side: contains multiple microservices, such as Renderer, SceneLoader, NodeSetter, etc., which can realize independent deployment and expansion of services.

[0076] 4. Cloud rendering end: responsible for scene rendering and streaming.

[0077] 5. Multi-client: Users interact with the platform through the client, supporting multiple people to edit the same scene at the same time, and the platform can run in a cloud environment.

[0078] 2. Structure

[0079] 1. Microservice architecture: Each microservice runs independently and is responsible for specific functions.

[0080] 2. Data structure: 3D scene data is stored in the form of objects, each of which has a unique ID and location index.

[0081] 3. Working Process

[0082] 1. Scene import: Users import 3D scene data into the cloud database through the SceneLoader microservice.

[0083] 2. Data access: The user queries the database and builds an object structure diagram of the current scene.

[0084] 3. Editing operation: Users edit scene objects through microservices such as NodeSetter and NodeTransformer.

[0085] 4. Rendering and display: The Renderer microservice loads the scene objects visible in the current field of view, renders them and streams them to the client.

[0086] 5. Data synchronization: All changes are synchronized through the cloud database to maintain data consistency.

[0087] 4. Effects

[0088] 1. Multi-person collaboration: Multiple users can edit the same scene at the same time without having to wait for others to complete their operations.

[0089] 2. Cloud-native deployment: The platform can run efficiently in a cloud environment, reducing hardware costs.

[0090] 3. Low-code: Simplify the development process so that non-professionals can also participate in the construction and editing of 3D scenes.

[0091] 4. Data consistency mechanism: ensure data consistency through database locking.

[0092] 5.Multi-client support: allows multiple clients to access and operate simultaneously.

[0093] 6. Dynamic data loading: Dynamic loading and simplification of data is achieved through microservices such as SceneLoader.

[0094] 7. Microservice architecture and OSGB data encapsulation work together to achieve efficient management and access of data.

[0095] 8. Multi-user concurrent editing combined with cloud-native support provides collaboration and scalability.

[0096] 9. Data consistency mechanism ensures the accuracy and integrity of data in a multi-user environment.

[0097] 10. Multi-client support enhances the platform's collaboration capabilities and user experience.

[0098] 11. Dynamic data loading improves the efficiency and flexibility of scene loading.

[0099] It can be seen from the above embodiments that the microservice-based low-code platform described in the present invention can be edited by multiple users at the same time, and can be written or operated by multiple people, which improves work efficiency in the cloud environment and reduces costs.

[0100] In the description of the present invention, it is necessary to understand that the directions or positional relationships indicated by directional words such as "front, back, up, down, left, right", "lateral, vertical, perpendicular, horizontal" and "top, bottom" are usually based on the directions or positional relationships shown in the drawings. They are only for the convenience of describing the present invention and simplifying the description. Unless otherwise specified, these directional words do not indicate or imply that the devices or elements referred to must have a specific direction or be constructed and operated in a specific direction. Therefore, they cannot be understood as limiting the scope of protection of the present invention. The directional words "inside and outside" refer to the inside and outside relative to the contours of each component itself.

[0101] For ease of description, spatially relative terms such as "above", "above", "on the upper surface of", "above", etc. may be used here to describe the spatial positional relationship between a device or feature and other devices or features as shown in the figure. It should be understood that spatially relative terms are intended to include different orientations of the device in use or operation in addition to the orientation described in the figure. For example, if the device in the accompanying drawings is inverted, the device described as "above other devices or structures" or "above other devices or structures" will be positioned as "below other devices or structures" or "below other devices or structures". Thus, the exemplary term "above" can include both "above" and "below". The device can also be positioned in other different ways (rotated 90 degrees or in other orientations), and the spatially relative descriptions used here are interpreted accordingly.

[0102] In addition, it should be noted that the use of terms such as "first" and "second" to limit components is only for the convenience of distinguishing the corresponding components. If not otherwise stated, the above terms have no special meaning and therefore cannot be understood as limiting the scope of protection of the present invention.

[0103] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A low-code platform based on microservices, characterized in that: The platform includes an underlying database, a cloud database end, a cloud microservice end, a cloud rendering end and multiple clients. The underlying database is used to store three-dimensional scene data. The underlying database adopts the OSGB data encapsulation format. The cloud database end is used to provide cloud storage and access services for three-dimensional scene data. The cloud microservice end is used to provide multiple microservices. The cloud rendering end is used to perform rendering and streaming of three-dimensional scenes according to the three-dimensional scene data. The multiple clients are used for users to call the microservices and access the cloud database end at the same time.

2. The platform according to claim 1, characterized in that The three-dimensional scene data includes multiple data elements, each of which is stored as an independent object and has a unique ID and position index.

3. The platform according to claim 2, characterized in that: The platform also includes a locking module for locking the cloud database when it is necessary to change the data element corresponding to a certain ID, add a new data element, or delete a data element.

4. The platform according to claim 3, characterized in that: The microservices include a Renderer microservice, a SceneLoader microservice, a SceneMerger microservice, a NodeSetter microservice, a NodeTransformer microservice, a NodeConfigurator microservice, a MeshSetter microservice, a TextureSetter microservice, and a MeshSimplifier microservice, wherein: After the user calls the Renderer microservice, the cloud rendering end loads and renders the data elements visible in the current field of view through the Renderer microservice, and pushes the stream to the client. The Renderer microservice supports interactive roaming and data element selection operations; After the user calls the SceneLoader microservice, the underlying database converts the local or network 3D scene data to be loaded through the SceneLoader microservice, and adds the converted data to the cloud database end; After the user calls the SceneMerger microservice, the underlying database adds the local or network tile data to be loaded to the cloud database end through the SceneMerger microservice; After the user calls the NodeSetter microservice, the data element corresponding to a certain ID is changed, a new data element is added, or a data element is deleted; After the user calls the NodeTransformer microservice, the scaling, position, and posture parameters of the data element in three-dimensional space are controlled; After the user calls the NodeConfigurator microservice, he controls the rendering properties of the data element; After the user calls the MeshSetter microservice, the geometric data content of the data element is set; After the user calls the TextureSetter microservice, the texture properties of the data element are controlled; Users call the MeshSimplifier microservice to control the polygon simplification properties of data elements.

5. The platform according to claim 4, characterized in that The data format of the local or network 3D scene data to be loaded is at least one of the following: fbx, gltf, obj, ply and usd.

6. The platform according to claim 4, characterized in that The data format of the local or network tile data to be loaded is at least one of the following: OSGB and 3dtiles.

7. The platform according to claim 4, characterized in that The rendering properties include at least one of the following: whether to display a grid, a name, and a file name.

8. The platform according to claim 4, characterized in that The geometry data content includes at least one of the following: vertices, normals, texture coordinates, and indices.

9. The platform according to claim 4, characterized in that: Texture attributes include at least one of the following: UVs, Texture Format, Texture Size and Atlas.

10. The platform according to claim 4, characterized in that The polygon reduction attribute includes at least one of the following: LOD and polygon count.