CN115550335A - Distributed mobile WEB3D rendering system and method - Google Patents

Distributed mobile WEB3D rendering system and method Download PDF

Info

Publication number
CN115550335A
CN115550335A CN202211065129.1A CN202211065129A CN115550335A CN 115550335 A CN115550335 A CN 115550335A CN 202211065129 A CN202211065129 A CN 202211065129A CN 115550335 A CN115550335 A CN 115550335A
Authority
CN
China
Prior art keywords
rendering
computing
data
application terminal
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211065129.1A
Other languages
Chinese (zh)
Inventor
周帅兵
李亮
谢伟旋
王原平
陈恺
王顺意
郑桐嘉
汤思婷
陈素丽
李佳蔚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongxiang Research Institute Of Zhejiang Media Institute Co ltd
Original Assignee
Tongxiang Research Institute Of Zhejiang Media Institute Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongxiang Research Institute Of Zhejiang Media Institute Co ltd filed Critical Tongxiang Research Institute Of Zhejiang Media Institute Co ltd
Priority to CN202211065129.1A priority Critical patent/CN115550335A/en
Publication of CN115550335A publication Critical patent/CN115550335A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a distributed mobile WEB3D rendering system and a method, which relieve the computing pressure of a single computing node and the transmission pressure of a remote computing node by constructing a collaborative rendering service architecture consisting of a cloud server, a mobile edge server and mobile equipment. In a Web browser, a new 3D model loading engine based on rendering intermediate data (JSON) communication is deployed, and dynamic, on-demand, asynchronous and continuous rendering data services are provided for a client browser. Aiming at the change of the service environment state, the method provides a multi-granularity multiplexing redundant computing scheduling strategy and provides real-time rendering computing service for the mobile Web3D application.

Description

Distributed mobile WEB3D rendering system and method
Technical Field
The invention relates to the technical field of mobile Web3D rendering calculation, in particular to a distributed mobile WEB3D rendering system and a method.
Background
With the advent of mobile Augmented Reality (AR) and Virtual Reality (VR) technologies, 3D applications on mobile devices (such as cell phones and smart glasses) have enjoyed tremendous success in the context of 5G communication evolution. The 3D model interaction is a novel information interaction mode, and provides a more intuitive and efficient information presentation mode than a 2D interaction mode. At present, all large enterprises including google, microsoft, intel, apple and Facebook are ready for VR or AR markets, and a large number of consumer 3D interactive products are released and are widely popular with consumers. Furthermore, 3D application based mobile browsers have allowed mobile Web3D access to a wide range of uses by virtue of the versatility and convenience of browser applications. The mobile Web3D application enables users to quickly establish stereoscopic information interaction on various mobile devices anytime and anywhere. 3D models or scene rendering are the core of service building in mobile Web 3D. However, due to the high resource consumption and unacceptable latency, we cannot achieve a satisfactory real-time experience in the rendering process. The wide variety of mobile devices (e.g., computing power, device form, network access, etc.) has led to differences in mobile Web3D services, especially when the rendering computation delay is initialized. While high performance devices (e.g., more advanced cell phones) have higher computing power and lower latency in mobile Web3D rendering, they are not portable and durable enough. In contrast, a low performance (e.g., smart glasses) device is the opposite. This gives the user two completely different options: (1) Selecting a high performance device instead of a highly portable device; and (2) selecting low-performance equipment with smaller delay.
It is necessary and significant to use rendering computation offload on other compute nodes to address the shortcomings of low performance devices in rendering computation. Currently, the primary method of rendering computing offload is to perform computations on a remote computing node and then return the rendered data to the mobile device over the network in the form of a multimedia data stream (e.g., pictures or video). Rendering computing offload on a remote computing node comprises the following method: the first method is as follows: computation offload with remote compute nodes as independent targets. In remote computing nodes, cloud servers and mobile edge servers are two primary compute offload targets, which perform rendering computations in whole or in part. And the abundant computing resources of the cloud server or the abundant network resources of the mobile edge computing are utilized to provide low-delay rendering computing service for the mobile Web 3D. However, in large-scale user aggregation, delay of a one-way end and a tail end of cloud rendering computation unloading and larger computation response delay overhead of an edge server brought by concurrent requests cannot be tolerated by mobile Web3D with ultra-low delay requirements; the second method is as follows: and performing collaborative rendering calculation on the cloud server and the mobile edge server. Aiming at the problems of the computing unloading of the cloud server or the mobile edge server, a cooperative computing unloading method of the cloud server and the mobile edge server is provided. The collaborative mobile Web3D rendering computation distribution solution has a cloud server and an edge server which are complementary, so that network delay can be reduced, and the broadband utilization rate of a core network is reduced. However, the cooperative rendering computing offload relies too much on the core computing nodes and the core communication links, and the failure of any infrastructure link may also affect the performance of the system; the third method is: computing offload based on decentralized rendering of the mobile device. When the centralized computation offload cannot meet the time delay sensitive computation offload requirement, computation offload among mobile devices is provided, and core node computation concurrency and core network congestion caused by the centralized offload are avoided. However, how to effectively schedule the computation offload tasks among multiple independent users will directly affect the response efficiency of computation offload, and especially the large volume rendering data exchange of mobile Web3D is a current problem.
In addition, the current distributed collaborative computing framework still presents the following challenges in rendering computation offload:
first, cooperative computing is too dependent on the core network and core computing nodes. The normal operation of the collaborative rendering computing framework composed of the cloud server, the edge server and the client is influenced by the core network broadband and the core computing node computing resources. The migration of computing tasks from a mobile network to an edge server depends on the high performance and reliability of the network and the edge server.
Second, on the premise of high frequency interaction, the client cannot load a low-latency multimedia stream. When rendering computational offload on a remote server, the multimedia data stream needs to be asynchronously loaded or stored in a cache. However, mobile devices are limited by hardware and cannot load rendered multimedia data into a cache according to low latency metrics and user interaction.
Third, migration of the rendering computing environment between computing nodes can introduce intolerable delays to users. When the state of the service environment changes, the existing cooperative computing method has to migrate the computing environment between the computing nodes. Thus, deployment of computing environments can cause delays and increase energy consumption for computing offloading.
Disclosure of Invention
In order to solve the existing problems, the invention provides a distributed mobile WEB3D rendering system and method, which offload rendering computation to a cloud server, an edge server, a terminal network and the like to cooperatively work, so as to disperse the computation pressure of centralized offloading. Meanwhile, some access modes of the 5G network are used for rendered computing data, so that the rendered computing data can be quickly provided for the terminal.
The technical solution for realizing the purpose of the invention is as follows:
the utility model provides a distributed mobile WEB3D rendering system which characterized in that, includes remote cloud layer, edge server layer, computational node layer and user side terminal layer, wherein:
the remote cloud layer is used for converting the 3D model into fine-grained blocks and recombining the fine-grained blocks into coarse-grained blocks with specific service semantics, and the coarse-grained blocks are stored in the remote cloud server in a file block form;
the edge server layer is used for decoupling coarse-grained 3D model data packets migrated to the edge server in the remote cloud server into fine-grained data packets, constructing an interactive computing task queue according to business logic, and then dynamically scheduling computing tasks by the edge server according to the execution condition of each computing node while the edge server controls the collaborative rendering computing state and the data access state according to the computing resources and the network bandwidth of the current computing node;
the computing node layer is used for enabling computing nodes connected with the application terminal to execute deployed fine-grained rendering tasks under the cooperative scheduling of the edge server layer, and rendering exchange data are returned to the application terminal through the access network or the D2D network;
and the application terminal layer is used for asynchronously requesting and aggregating rendering calculation exchange data of each computing node obtained from the computing node layer as required by the application terminal and storing the rendering calculation exchange data in the cache, and then the application terminal at the user side acquires the rendering calculation exchange data in the cache according to the service logic and the time sequence relation and adds the rendering calculation exchange data to the initialized application scene.
Further, the computing nodes include edge servers and mobile devices around the application terminal.
Further, when the computing nodes of the computing node layer perform fine-grained rendering tasks, and the computing state changes, the mobile device of the computing node layer sends a notification to the edge server layer.
Furthermore, the application terminal adopts a WebWorker and an indexedDB database to synchronously cache and load 3D model data as required, wherein the WebWorker is used for creating a new thread when the application terminal receives a request model resource; and the indexedDB is used for storing model data, and when a user enters the same page for the second time, the corresponding model data is directly read through the indexedDB among the computing nodes.
A distributed mobile WEB3D rendering method applied to the distributed mobile WEB3D rendering system according to any of claims 1 to 3, comprising the steps of:
s1: the application terminal requests 3D model data from the cloud server through a cellular network or a D2D network of the base station and the edge server;
s2: the edge server checks whether the cache of the computing node contains rendering exchange data, if yes, the step 3 is carried out, and if not, the step 4 is carried out;
s3: the edge server layer controls the computing node to return the obtained rendering exchange data to the application terminal, and a browser of the application terminal pushes the received data to enter a current scene to construct a mobile Web3D application program;
s4: the edge server obtains network resources and computing resources of the current service environment according to a context sensing method, determines a rendering calculation unloading strategy, then requests each computing node to perform fine-grained rendering calculation based on the rendering calculation unloading strategy, and simultaneously allocates rendering calculation tasks to cooperative rendering computing nodes according to the time and logic relation of the current scene to perform rendering calculation in sequence;
s5: after the rendering calculation is finished, the computing node sends rendered data to the application terminal through a cellular network or a D2D network, and the computing node continues to wait for the edge server to send a new rendering subtask;
s6: and the application terminal stores the data calculated by rendering each computing node in a cache through multi-thread asynchronous communication, simultaneously a browser of the application terminal acquires the relation between the rendering exchange data and time, and loads corresponding model data to a corresponding application scene according to service logic to finally finish the rendering of the 3D model.
Further, the step of performing rendering calculation by each collaborative rendering calculation node in S4 includes:
s41: the collaborative rendering computing node requests a file server to obtain a model file;
s42: the file server returns the model file to the computing node;
s43: the computing node reads the model file into a memory, generates new 3D grid data through computing, and converts the 3D grid data into a large JD model file;
s44: and converting the large JD model file into character string data, returning the character string data to the application terminal, and directly adding the character string data into the scene after an application program of the application terminal is analyzed. Compared with the prior art, the method has the following beneficial effects:
the invention establishes a collaborative sharing scheduling method of rendering data and computing resources by a multi-granularity rendering computing resource multiplexing method. The main advantage of the processing mode is that the mobile browser has less calculation amount and can be applied to various client hardware scenes; a decentralized computing and data resource sharing network based on an application terminal and other computing nodes surrounding one side of the terminal is established, and computing distributed data access is performed in a multi-access mode by combining an access network and the decentralized network. When the access network is blocked, the multi-access data mode can share computing resources and rendering data through computing nodes in the decentralized network; the invention also deploys a dynamic rendering computation unloading scheduling method on the mobile edge server, determines the current rendering computation network strategy and the rendering computation method, and can adapt to the environment with various network and client computing resource capacities.
Drawings
FIG. 1 is an overall system architecture diagram of the present invention;
FIG. 2 is the overall workflow of the present rendering system;
FIG. 3 is a flow chart of rendering computation of a cooperating compute node.
Detailed Description
In order to make those skilled in the art better understand the technical solution of the present invention, the following description will be made with reference to the accompanying drawings and embodiments.
The invention provides a dynamic collaborative rendering service system and a dynamic collaborative rendering service method, which are composed of a cloud, an edge server and a mobile computing device and are used for large-scale mobile Web 3D. A collaborative rendering service architecture consisting of a cloud server, an edge server and a mobile device is constructed to relieve the computing pressure of a single computing node and the transmission pressure of a remote computing node. In a Web browser, a new 3D model loading engine based on rendering intermediate data (JSON) communication is deployed, and dynamic, on-demand, asynchronous and continuous rendering data services are provided for a client browser. Aiming at the change of the service environment state, the invention provides a multi-granularity multiplexing redundant computation scheduling strategy, and provides real-time rendering computation service for mobile Web3D application.
1. Core idea of the invention
According to the method, a multi-node collaborative rendering computing system with a cloud server, an edge server and computing nodes of application terminal equipment is built around one side of a terminal, and rendering computing services are provided for the mobile Web3D application through computing shunting.
The mobile edge server establishes a multi-node rendering computation offload service with docker as a rendering computation container. Rendering computation offload services are provided in the form of microservice architecture on compute nodes around one side of the terminal.
The invention establishes a collaborative sharing scheduling method of rendering data and computing resources through a multi-granularity rendering computing resource multiplexing method, and the method divides rendering computation into fine-granularity rendering computing tasks, and then recombines the fine-granularity rendering computing tasks according to specific business scene requirements to form coarse-granularity rendering computing tasks. The main advantage of this processing method is that the mobile browser performs less calculation, and can be applied to various client hardware scenarios.
The invention establishes a decentralized computing and data resource sharing network based on an application terminal and other computing nodes surrounding one side of the terminal. The invention combines the access network and the decentralized network, and adopts a multi-access mode to perform calculation and distribution data access. This multiple access data approach may share computing resources and rendering data through computing nodes in a decentralized network when the access network is blocked.
In the dynamic rendering calculation unloading scheduling method, the dynamic scheduling of various rendering calculation and network connection modes can adapt to various network and client computing resource capacity environments. The invention deploys a dynamic rendering computation unloading scheduling method on a mobile edge server, and determines the current rendering computation network strategy and the rendering computation method. The mobile edge server will determine the context-aware rendering computation offload policy and the method of rendering data access. The execution method of the context-aware rendering computation offload policy comprises the following steps:
(1) And dynamically deploying the multi-granularity rendering computing task to each computing node according to the computing capacity of each computing node. Meanwhile, a redundant mechanism of computing resource sharing and data rendering is established according to the distribution state of computing nodes around the application terminal. The redundancy of the resources and the data can ensure the quick switching of data access when the state of the node changes, and provide continuous data service for the application terminal.
(2) When remote server computing resources or access networks are blocked, computing nodes around the application terminal are selected to offload rendering computations, and data is shared in the D2D network. Otherwise, the cloud server, the edge server and the terminal network cooperate to offload rendering computation and share data through the access network and the D2D channel.
In the rendering calculation unloading method, data exchange between an application terminal and a rendering calculation node is realized through JSON-based rendering calculation interactive data. The difference between JSON-based data rendering calculation and traditional model loading is that: the rendering calculation node directly loads the model file as a model object, and directly returns JSON data to the mobile phone browser after the JSON data is obtained; in the data loading method of the client, on the basis of the calculation unloading data between the multiple calculation unloading nodes and the application terminal, a continuous and smooth data service is realized by adopting asynchronous communication and on-demand loading modes. And the mobile phone browser uses an active add method to asynchronously push the model data to the current interactive scene.
2. System architecture of the present invention
Fig. 1 is an overall system architecture of the present invention, including a remote cloud layer, an edge server layer, a compute node layer, and a user side terminal layer, wherein:
(1) Remote cloud layer, converting the 3D models into fine-grained blocks, and then reorganizing them to form coarse-grained blocks with specific service semantics. In the multi-granularity model rendering computation scheduling, computation services such as user interaction requests and service distribution need to be determined according to multi-dimensional parameters. Therefore, methods of utilizing DNNs and consuming other computing resources are needed to efficiently respond to the external service environment. In the present system, the remote cloud layer is generally regarded as a cloud center rich in computing resources for 3D model rendering computing reuse of a scheduling center. The recombined granularity file is stored in a remote cloud server in a file block form and is managed in a semantic database form.
(2) And the edge server layer plays the role of a dynamic collaborative rendering organizer. The edge server enables computing nodes around the application terminal and the mobile edge server to form a collaborative rendering computing resource sharing network. The method comprises the steps that an edge server decouples a multi-granularity 3D model data packet migrated from a cloud server to the edge server into a fine-granularity data packet, and an interactive computing task queue composed of fine-granularity blocks is constructed according to business logic. And then the edge server dynamically schedules the computing tasks according to the execution condition of each computing node and establishes a multi-granularity computing unloading service redundancy mechanism. Meanwhile, the edge server controls the co-rendering computation state (edge server or other mobile device rendering computation offload) and the data access state (cellular network or D2D network) according to the computation resources and network bandwidth of the current compute node.
(3) And the computing node layer mainly plays a role in collaborative rendering and computing. And the computing nodes (including the edge server and the mobile equipment around the application terminal) connected with the application terminal execute the deployed fine-grained rendering task under the cooperative scheduling of the edge server. Rendering exchange data is returned to the application terminal through the access network or the D2D network. Meanwhile, the mobile equipment of the computing node layer participates in maintaining the collaborative rendering computing sharing process. When the computing state changes (no matter whether the computing is completed or not, the network state changes), a notice is sent to the edge server layer, and the rendering computing task is dynamically adjusted.
(4) And the application terminal layer mainly plays roles of an aggregator for collaborative rendering calculation and an interactive service organizer. And the application terminal asynchronously requests and aggregates the rendering calculation exchange data of each calculation node obtained from the calculation node layer according to the requirement and then stores the data in the cache. And then, the user side terminal captures the rendering calculation exchange data responded in the cache according to the service logic and the time sequence relation, and adds the rendering calculation exchange data into the initialized application scene. In the process of continuous interaction of the user, the user side terminal sorts the rendering calculation exchange data in the current service display scene according to the service time sequence relation, and clears the temporary data in the cache.
3. Workflow process
For better understanding of the workflow of the present invention, the 3D scene initialization rendering is taken as an example to describe the structural details of the system, as shown in fig. 2.
The method carries out offline multi-granularity preprocessing on the 3D scene when the service is idle, and divides the rendering calculation scene and the rendering calculation task into a fine-granularity rendering calculation task and a scene material. Specifically, the cloud server layer cuts the three-dimensional scene into an independent rendering scene and a fine-grained rendering calculation module by a certain method according to the semantic relation and the logic time sequence of the service. And then establishing a multi-granularity relation between the rendering scene and the fine-granularity computing task. And migrating the fine-grained rendering calculation data and the dynamic task control data from the cloud server to an edge server which is close to the current service scene, so as to realize collaborative rendering calculation unloading.
When the application terminal initializes the mobile Web3D application, it requests data from the cloud server through the base station and the edge server, as shown in step 1 in fig. 2. The mobile edge server then checks whether the compute node cache contains rendering data, as shown in step 2 of FIG. 2.
If the compute node contains rendering data, then the edge server layer controls the compute node to return the rendered data to the application terminal, as shown in step 3 in FIG. 2. The browser of the application terminal pushes the received data to enter the current scene through an add method to build a mobile Web3D application, as shown in step 4 in fig. 2. If the rendering data cannot be shared directly, a rendering computation offload workflow is executed on the compute node. The edge server analyzes the network resources and the computing resources of the current service environment according to a context sensing method, and determines a rendering computation unloading strategy according to the state parameters. The mobile edge server requests each compute node to perform fine-grained rendering computations by controlling the rendering computation offload policy (as shown in step 5 in fig. 2). And the collaborative rendering calculation network control unit distributes the calculation tasks to collaborative rendering calculation nodes according to the time and logic relation of the current scene, and sequentially performs rendering calculation through dynamic task control data. Finally, after the computing nodes in the network complete the rendering computation subtask, the rendered data is sent to the application terminal through a communication link such as a cellular network or a D2D network (as shown in step 6 in fig. 2), and the edge server waits for a new rendering subtask to be sent. And the application program terminal stores the data presented by each computing node in a cache through multi-thread asynchronous communication. And the application terminal browser acquires the relation between the exchange data for drawing the calculation response and the time, and adds the relation to the initialization application scene according to the service logic (as shown in step 7 in fig. 2), so as to realize the initialization and interactive demonstration of the mobile Web 3D.
4. Distributed rendering calculation method
For the rendering calculation of a 3D scene in mobile Web3D, a large JD (JSON) file is divided into multi-granularity model file blocks, and the rendering calculation is completed on a plurality of calculation nodes. In this case, multiple large clients can cooperate to perform rendering calculation on one large JD model file at the same time, thereby speeding up the rendering process of the entire model. For multiple segments of a 3D model, the edge server may first merge the segments into a complete model and then return the complete model to the client. The client can also initiate a plurality of requests to respectively push the model segments to the scene. Meanwhile, other model fragments can be requested in parallel, and the mobile phone browser is prevented from being in an idle state when waiting for network IO. The specific execution process of the server rendering calculation is performed in a docker or microservice-based manner, as shown in fig. 3.
And the rendering calculation node is used for converting the JSON data into character string data, and directly adding the character string data into the scene after the character string data is analyzed by the front end. This approach allows mobile Web3D to use only a small number of computations and gives it a high execution efficiency. In the invention, the JSON data format of the interaction between the computing node and the client browser is defined as follows:
Figure BDA0003827317120000111
Figure BDA0003827317120000121
the main advantage of this processing method is that the mobile browser performs less calculation, and can be applied to various client hardware scenarios.
5. Client load optimization
On a mobile browser of an application end, the method uses Webworker and an indexedDB database to synchronously cache and load model data as required. Webworker allows browsers to tunnel new threads beyond the main thread for additional complex computations. Webworker is JavaScript that runs in the background, which also causes it to be independent of other scripts and does not affect the performance of the web page. Therefore, the whole resource loading can not block or display the foreground interface of the terminal. Under the condition that the user does not sense, the required resources can be loaded quickly, and the waiting time of the user is reduced. Meanwhile, the compatibility is good, and a mainstream browser is supported. Therefore, the multithreading parallel loading under the condition of loading the resources is an effective way for solving the problems of excessive resource consumption and excessive loading delay.
Meanwhile, in order to improve the repeated steps of repeated request resources caused by the fact that a user enters a page for multiple times, indexedDB is introduced to be combined with a multi-granularity model calculation method to multiplex rendering data. According to the method, when a user enters the same page for the second time, data are retrieved from the indexedDB according to a multi-granularity multiplexing method (a method disclosed in the prior art), corresponding model data are directly read through the indexedDB among the computing nodes, if rendering computation is completed, the data are shared, model resources corresponding to network requests are not relied on, and subsequent loading efficiency is improved. The indexedDB is used by the present invention because it supports large data stores. As a local database provided by the browser, it can be created and used by JavaScript. And the operations of finding an interface, establishing an index and the like are provided, so that the method is convenient to use.
When a corresponding model resource is requested, on the premise of judging whether the current thread pool is idle, the main thread creates a new thread by instantiating a worker class. Therefore, the model resource is transferred to the thread pool through the PostMessage. In the sub-thread, if the model is zip compressed, the mobile phone browser of the application terminal decompresses the zip file through JSzip to obtain the model data in the file. In contrast, if the user enters a normal model, the model data is read directly through the file loader. After these operations, the corresponding model data is saved in indexedb. When a subsequent user needs to use fine-grained model data again, the corresponding model data in the indexedDB can be directly obtained, data access time is saved, and model loading delay is improved. The sub-thread transmits the processed data to the main thread through PostMessage, and the main thread receives the data through OnMessage and rendering calculation. The specific process is as follows:
s1: in the configuration file, the name and version of the database are configured, and data for storing various models are configured in the model object, including judgment of model URLs, compression or not, and updating or not. If the zip is true, a decompression step is carried out in the sub-thread, the decompressed model data is stored in indexedDB and is realized by CreateModel (loader, url, name, parent, callback);
s2: in the process of loading model data, the mobile browser calls rendering data and adds it to the 3D scene. Js replaces the original model load function in thread with createmodel (). If other loader functions need to be called, configuration can be carried out in the loader parameters. And in other parameter aspects, the loader function related to the thread is kept consistent, a model path corresponding to the URL is provided, and a model link is obtained. Other parameters can be configured and used according to actual needs. And finally, the callback function is provided as a callback service after the rendering data is loaded. The volume and style of the model can be changed in the callback, which is the same as the series of operations of the callback in createmodel ();
s3: after the createmodel is called by the mobile phone browser, a method secondloader defined by a user is called to carry out asynchronous loading. This function has two main roles: the first is to send the task to the thread pool, and the second is to pack the loaded model block back. And then the rendered data enters a thread pool to correspondingly load the application scene. After the mobile phone browser acquires the maximum thread through navigator. Hardware currendy, the model data list to be acquired is allocated to the corresponding thread, and the rest steps are completed in the thread. After the thread pool is completed, the mobile phone browser packs a plurality of small model blocks into an integral model through read.group of thread, and then returns a group instance, namely data which needs to be loaded to an application scene by a user;
s4: in the sub-thread, decompressing the user by the mobile phone browser, acquiring the corresponding array buffer zone through JSZip configuration zip, and transmitting data from the sub-thread through PostMessage. If no compressed packet is obtained, the array buffer of the model can be directly analyzed and read through the file loader. Then, the model data is sent to the main thread through PostMessage for rendering, and is added to the application program scene.
Those not described in detail in this specification are well within the skill of the art. Although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that various changes in the form and details may be made therein without departing from the spirit and scope of the invention.

Claims (6)

1. The utility model provides a distributed mobile WEB3D rendering system which characterized in that, includes long-range cloud layer, edge server layer, computational node layer and user side terminal layer, wherein:
the remote cloud layer is used for converting the 3D model into fine-grained blocks and recombining the fine-grained blocks into coarse-grained blocks with specific service semantics, and the coarse-grained blocks are stored in the remote cloud server in a file block form;
the edge server layer is used for decoupling coarse-grained 3D model data packets migrated to the edge server in the remote cloud server into fine-grained data packets, constructing an interactive computing task queue according to business logic, and then dynamically scheduling computing tasks by the edge server according to the execution condition of each computing node while the edge server controls the collaborative rendering computing state and the data access state according to the computing resources and the network bandwidth of the current computing node;
the computing node layer is used for enabling computing nodes connected with the application terminal to execute deployed fine-grained rendering tasks under the cooperative scheduling of the edge server layer, and rendering exchange data are returned to the application terminal through the access network or the D2D network;
and the application terminal layer is used for asynchronously requesting and aggregating rendering calculation exchange data of each computing node obtained from the computing node layer as required by the application terminal and storing the rendering calculation exchange data in the cache, and then the application terminal at the user side acquires the rendering calculation exchange data in the cache according to the service logic and the time sequence relation and adds the rendering calculation exchange data to the initialized application scene.
2. The distributed mobile WEB3D rendering system of claim 1, wherein the computing nodes comprise edge servers and mobile devices around the application terminal.
3. The distributed mobile WEB3D rendering system of claim 2, wherein when the computing nodes in the computing node layer perform fine-grained rendering tasks, and the computing state changes, the mobile devices in the computing node layer send a notification to the edge server layer.
4. The distributed mobile WEB3D rendering system according to claim 3, wherein the application terminal employs a Webworker and an indexedDB database to synchronously cache and load 3D model data as needed, wherein the Webworker is used for creating a new thread when the application terminal receives a request model resource; the indexedDB is used for storing model data, and when a user enters the same page for the second time, the corresponding model data is directly read through the indexedDB among the computing nodes.
5. A distributed mobile WEB3D rendering method applied to the distributed mobile WEB3D rendering system according to any one of claims 1 to 3, comprising the steps of:
s1: the application terminal requests 3D model data from a cloud server through a cellular network or a D2D network of the base station and an edge server;
s2: the edge server checks whether the cache of the computing node contains rendering exchange data, if yes, the step 3 is carried out, and if not, the step 4 is carried out;
s3: the edge server layer controls the computing node to return the obtained rendering exchange data to the application terminal, and a browser of the application terminal pushes the received data to enter a current scene to construct a mobile Web3D application program;
s4: the edge server obtains network resources and computing resources of the current service environment according to a context sensing method, determines a rendering calculation unloading strategy, then requests each computing node to perform fine-grained rendering calculation based on the rendering calculation unloading strategy, and simultaneously allocates rendering calculation tasks to cooperative rendering computing nodes according to the time and logic relation of the current scene to perform rendering calculation in sequence;
s5: after the rendering calculation is finished, the computing node sends rendered data to the application terminal through a cellular network or a D2D network, and the computing node continues to wait for the edge server to send a new rendering subtask;
s6: and the application terminal stores the data calculated by rendering each computing node in a cache through multi-thread asynchronous communication, simultaneously a browser of the application terminal acquires the relation between the rendering exchange data and time, and loads corresponding model data to a corresponding application scene according to service logic to finally finish the rendering of the 3D model.
6. The distributed mobile WEB3D rendering method of claim 5, wherein the step of performing rendering computation by each collaborative rendering computation node in S4 comprises:
s41: the collaborative rendering computing node requests a file server to obtain a model file;
s42: the file server returns the model file to the computing node;
s43: the computing node reads the model file into a memory, generates new 3D grid data through computing, and converts the 3D grid data into a large JD model file;
s44: and converting the large JD model file into character string data, returning the character string data to the application terminal, and directly adding the character string data into the scene after an application program of the application terminal is analyzed.
CN202211065129.1A 2022-08-31 2022-08-31 Distributed mobile WEB3D rendering system and method Pending CN115550335A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211065129.1A CN115550335A (en) 2022-08-31 2022-08-31 Distributed mobile WEB3D rendering system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211065129.1A CN115550335A (en) 2022-08-31 2022-08-31 Distributed mobile WEB3D rendering system and method

Publications (1)

Publication Number Publication Date
CN115550335A true CN115550335A (en) 2022-12-30

Family

ID=84725791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211065129.1A Pending CN115550335A (en) 2022-08-31 2022-08-31 Distributed mobile WEB3D rendering system and method

Country Status (1)

Country Link
CN (1) CN115550335A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112561A (en) * 2023-02-14 2023-05-12 江西数字网联信息安全技术有限公司 Visual management method and system for 3d Internet of vehicles based on web browser cache
CN117132718A (en) * 2023-10-26 2023-11-28 环球数科集团有限公司 Scenic spot virtual model construction system based on multi-mode large model

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112561A (en) * 2023-02-14 2023-05-12 江西数字网联信息安全技术有限公司 Visual management method and system for 3d Internet of vehicles based on web browser cache
CN116112561B (en) * 2023-02-14 2024-02-09 江西数字网联信息安全技术有限公司 Visual management method and system for 3d Internet of vehicles based on web browser cache
CN117132718A (en) * 2023-10-26 2023-11-28 环球数科集团有限公司 Scenic spot virtual model construction system based on multi-mode large model
CN117132718B (en) * 2023-10-26 2023-12-26 环球数科集团有限公司 Scenic spot virtual model construction system based on multi-mode large model

Similar Documents

Publication Publication Date Title
CN105263050B (en) Mobile terminal real-time rendering system and method based on cloud platform
CN115550335A (en) Distributed mobile WEB3D rendering system and method
Hoang et al. Optimal admission control policy for mobile cloud computing hotspot with cloudlet
CN111475274B (en) Cloud collaborative multi-task scheduling method and device
CN102307153A (en) Virtual desktop transmission device and method
CN103516744A (en) A data processing method, an application server and an application server cluster
CN113902866B (en) Double-engine driven digital twin system
CN111339192A (en) Distributed edge computing data storage system
Wang et al. An algorithm based on markov chain to improve edge cache hit ratio for blockchain-enabled IoT
CN102684817A (en) Digital fountain code based cloud storage system structure and service providing method
CN115292020B (en) Data processing method, device, equipment and medium
CN104391750A (en) Hybrid heterogeneous host system based on software definition
Liu et al. Service resource management in edge computing based on microservices
CN111404818A (en) Routing protocol optimization method for general multi-core network processor
CN116069493A (en) Data processing method, device, equipment and readable storage medium
CN115865874A (en) Conference message pushing method, conference server and electronic equipment
Yi et al. Job allocation mechanism for battery consumption minimization of cyber-physical-social big data processing based on mobile cloud computing
Badshah et al. Use of regional computing to minimize the social big data effects
Mavromoustakis et al. Dynamic cloud resource migration for efficient 3D video processing in mobile computing environments
CN103220226B (en) Transparent real-time traffic compression method and system between data center
CN113179228B (en) Method, device, equipment and medium for improving switch stacking reliability
Li et al. Towards Distributed Collaborative Rendering Service for Immersive Mobile Web
CN113440838A (en) End-to-end image rendering fusion method and system
CN112925739A (en) Communication method applied to many-core chip, many-core chip and storage medium
KR20210042992A (en) Method and apparatus for training a deep learning model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination