Situation sharing intelligent engine and virtual scene sharing method thereof

Through high-performance shared virtual scene synchronization network architecture and RPC communication model, the sharing smoothness and real-time problems of three-dimensional scene visualization in military joint experiments are solved, and the rapid and stable sharing of three-dimensional situation scenarios is achieved, adapting to distributed nodes and nodes. Large span and high real-time demand.

CN119226000APending Publication Date: 2024-12-31THE QUARTERMASTER RES INST OF THE GENERAL LOGISTICS DEPT OF THE CPLA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411196718.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2024-12-31

Smart Images

  • Figure CN119226000A_ABST
    Figure CN119226000A_ABST
Patent Text Reader

Abstract

The invention discloses a situation sharing intelligent engine and a virtual scene sharing method thereof. The virtual scene sharing method is suitable for a first situation sharing intelligent engine and comprises the steps that a calling request is generated, the calling request is a message packet assembled by a first stub of the first situation sharing intelligent engine, and the message packet carries a situation sharing event, a target address and a target stub identifier; the calling request is sent to a second situation sharing intelligent engine corresponding to the target address, and the second situation sharing intelligent engine quotes a second stub corresponding to the target stub identifier to process the situation sharing event; and receiving a calling result for the situation sharing event, and rendering the three-dimensional situation scene according to the calling result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of simulation technology, and in particular to a situation sharing intelligent engine and a method for sharing a virtual scene thereof. Background Art

[0002] With the continuous development of science and technology, data visualization has become a very important field. Especially in the visualization of three-dimensional scenes, it provides people with a new perspective and way of perception. Through the visualization of three-dimensional scenes, we can more intuitively understand the intrinsic connection between data and things, and at the same time, we can create more attractive and expressive works.

[0003] There are many visualization technologies for 3D scenes, including OpenGL, DirectX, WebGL, etc. These technologies can achieve the rendering and display of 3D scenes in different ways. Generally speaking, to build a 3D scene, you first need to design the architecture and layout of the scene, which includes determining the position and properties of objects, light sources, cameras, etc. in the scene; then, you need to use 3D modeling software (such as Blender, 3ds Max, etc.) to create objects in the scene; next, import the model into the visualization engine and set properties such as lighting and materials; finally, realize the movement and interaction of objects through programming, thus completing the construction of the entire 3D scene.

[0004] However, in military simulation joint experiments, due to the complex military operation process and the changing observation angle, the three-dimensional scene visualization effect is inconsistent with the actual situation. Therefore, according to the actual needs of military joint experiments, how to adapt to joint experiment tasks with many distributed nodes, large node spans, and high real-time requirements, and realize the sharing smoothness and real-time performance of three-dimensional scene visualization is the problem to be solved by the present invention. Summary of the invention

[0005] In military simulation joint experiments, it is necessary to construct a three-dimensional situation scene to realize the three-dimensional situation scene visualization. The purpose of the present invention is to provide a situation sharing intelligent engine and a method for sharing virtual scenes, which can meet the actual needs of military joint experiments, adapt to military joint experiment tasks with many distributed nodes, large node spans, and high real-time requirements, and intuitively and quickly display the results of military simulation joint experiments through three-dimensional situation scene visualization.

[0006] According to one aspect of the present invention, at least one embodiment provides a method for sharing a virtual scene, which is applicable to a first situation sharing intelligent engine, including: generating a call request, wherein the call request is a message packet assembled from a first stub of the first situation sharing intelligent engine, and the message packet carries a situation sharing event, a target address and a target stub identifier; sending the call request to a second situation sharing intelligent engine corresponding to the target address, wherein the second situation sharing intelligent engine references a second stub corresponding to the target stub identifier to process the situation sharing event; receiving a call result for the situation sharing event, and rendering a three-dimensional situation scene according to the call result.

[0007] According to another aspect of the present invention, at least one embodiment also provides a method for sharing a virtual scene, which is applicable to a second situation sharing intelligent engine, including: receiving a call request, wherein the call request is a message packet assembled by a first stub of a first situation sharing intelligent engine, and the message packet carries a situation sharing event and a target stub identifier; referencing a second stub corresponding to the target stub identifier to process the situation sharing event, wherein the second stub forms a call result after processing the situation sharing event; and returning the call result for the situation sharing event.

[0008] According to another aspect of the present invention, at least one embodiment also provides a situation sharing intelligent engine, including: a processor, suitable for implementing various instructions; and a memory, suitable for storing multiple instructions, which are suitable for being loaded and executed by the processor: a method for sharing virtual scenes in requesting communication and / or service communication.

[0009] According to another aspect of the present invention, at least one embodiment further provides a high-performance shared virtual scene synchronization network architecture, including: a first situation sharing intelligent engine and a second situation sharing intelligent engine.

[0010] According to another aspect of the present invention, at least one embodiment further provides a computer-readable non-volatile storage medium storing computer program instructions, which, when executed by the computer, performs: a method for sharing a virtual scene in the case of requesting communication and / or service communication.

[0011] The present invention reduces the processing time of a single data packet from a microscopic perspective by streamlining the communication protocol / data packet filtering mechanism, optimizing Socket communication, customizing the message format, etc., adopts the RPC communication model of the peer-to-peer network to improve the server processing capability from a macroscopic perspective, and uses relational database technology to persistently store user data, thereby achieving smooth and real-time sharing of three-dimensional scene visualization, so that situation monitoring personnel can quickly and stably share the virtual scenes allocated to synchronous remote workers. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings in the following description are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0013] Figure 1 is a schematic diagram of a three-dimensional situation scene synchronization process based on a request-reply mode according to an embodiment of the present invention;

[0014] Figure 2 is a schematic diagram of a high-performance shared virtual scene synchronization network architecture according to an embodiment of the present invention;

[0015] Figure 3 is a schematic diagram of an RPC communication model of a peer-to-peer network according to an embodiment of the present invention;

[0016] Figure 4 is a schematic diagram of a situation sharing intelligent engine according to an embodiment of the present invention;

[0017] Figure 5 is a flow chart of a method for sharing a virtual scene of a first situation sharing intelligent engine according to an embodiment of the present invention;

[0018] Figure 6 is a schematic diagram of a basic structure of a relational database situation user status according to an embodiment of the present invention;

[0019] Figure 7 is a schematic diagram of a combat situation behavior data structure of a relational database according to an embodiment of the present invention;

[0020] Figure 8 It is a flow chart of a method for sharing a virtual scene of a second situation sharing intelligent engine according to an embodiment of the present invention. DETAILED DESCRIPTION

[0021] The technical solution of the present invention will be described clearly and completely below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of 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.

[0022] Currently, most 3D scene visualization (e.g., virtual scene synchronization) is based on centralized synchronization technology in a request-reply mode. Figure 1As shown in the figure, the node responsible for building the three-dimensional scene is the center of the entire system and runs continuously as the server. The server receives the data transmitted by each client node in real time, performs calculations, and returns the results to each client node. It can be seen that the centralized synchronization technology based on the request-reply mode puts all the logic parts on the server. The client is only responsible for uploading its own status data, and the data analysis and calculation are completed by the server.

[0023] Although the centralized synchronization technology based on the request-reply mode has been accepted and recognized by the majority of developers and users, in military joint experiments, the data throughput of the test resource nodes is large and the real-time requirements are high. If this request-reply mode is used, the server's computing content will be overloaded, and the client's computing resources will be largely idle. In addition, high-concurrency data transmission will cause network congestion when the number of test access resources increases. Therefore, in view of the actual needs of military joint experiments, how to adapt to joint test tasks with many distributed nodes, large node spans, and high real-time requirements, and realize the sharing of three-dimensional scene visualization. The smoothness and real-time performance are imminent.

[0024] In order to develop a set of three-dimensional scene construction technologies suitable for military joint test environments, so that three-dimensional scenes (such as situation scenes) can be synchronized with actual scenes in physical space, at least one embodiment of the present invention provides a high-performance shared virtual scene synchronization network architecture, which has at least the advantages of high performance, strong real-time performance, stability and security. Situation monitoring personnel can use this high-performance shared virtual scene synchronization network architecture to quickly and stably share and synchronize virtual scenes assigned to remote workers.

[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0026] like Figure 2As shown, the high-performance shared virtual scene synchronization network architecture may include: a first situation sharing intelligent engine 100 and a second situation sharing intelligent engine 200. The first situation sharing intelligent engine 100 or the second situation sharing intelligent engine 200 is responsible for distributing the status of the situation virtual scene, monitoring the status, assigning status to personnel, etc. The first situation sharing intelligent engine 100 or the second situation sharing intelligent engine 200 can be both a client and a server, or both at the same time, and can forward requests. As long as the situation sharing intelligent engine is started, they can conduct peer-to-peer connection communication for evaluation, and both parties can perceive each other's three-dimensional situation scene (or situation virtual scene).

[0027] The first situation sharing intelligent engine 100 or the second situation sharing intelligent engine 200 can be one or more, or can include multiple processing nodes, and the multiple processing nodes can be used as a whole externally. The first situation sharing intelligent engine 100 can operate the second situation sharing intelligent engine 200 through corresponding instructions, so that data can be read, changed, added, deleted, calculated, etc. The first situation sharing intelligent engine 100 uses the RPC (Remote Process Call, Remote Procedure Call Protocol) communication model of the peer-to-peer network at the network application layer to communicate with the second situation sharing intelligent engine 200.

[0028] That is to say, the present invention establishes an RPC communication model suitable for peer-to-peer networks, such as Figure 3 As shown: (1) It is assumed that the first situation sharing intelligent engine performs request communication and the second situation sharing intelligent engine performs service communication. As explained above, the two are interchangeable; (2) A process abstraction of remote services is provided to the first situation sharing intelligent engine, and its underlying message passing operation is transparent to the first situation sharing intelligent engine. In the RPC communication model of the peer-to-peer network, the first situation sharing intelligent engine is the caller of the request service; (3) The second situation sharing intelligent engine is the program called to execute the request of the first situation sharing intelligent engine; (4) The network application layer mainly includes the caller, the calling code segment, the callee, and the called code segment. When programmers make a process call, they do not need to consider whether the process is local or remote. They can be written in conventional programming languages ​​without special processing, as if they were executed at the same location.

[0029] Through the above-mentioned method, the high-performance shared virtual scene synchronization network architecture of the present invention adopts the client and server RPC communication model of the peer-to-peer network. The core logic algorithms are independently run on each client and do not rely on the server processing, which improves the server processing capability from a macro perspective, and can adapt to military joint test tasks with many distributed nodes, large node spans, and high real-time requirements, and better ensures the sharing smoothness and real-time performance of the situation virtual scene.

[0030] Under the guidance of the high-performance shared virtual scene synchronization network architecture of the present invention, at least one embodiment of the present invention provides a situation sharing intelligent engine, which can also be called a three-dimensional situation node, such as Figure 4 As shown, it includes: a processor 402; and a memory 404, configured to store computer program instructions, the computer program instructions are suitable for being loaded and executed by the processor: the method for sharing virtual scenes developed by the present invention (which will be described in detail later). Among them, when the situation sharing intelligent engine executes the method for sharing virtual scenes to request communication, the present invention refers to the situation sharing intelligent engine as the first situation sharing intelligent engine; when the situation sharing intelligent engine executes the method for sharing virtual scenes to perform service communication, the present invention refers to the situation sharing intelligent engine as the second situation sharing intelligent engine.

[0031] The processor 402 may be any suitable processor, for example, implemented in the form of a central processing unit, a microprocessor, an embedded processor, etc., and may adopt an architecture such as X86, ARM, etc. The memory 404 may be any suitable storage device, for example, a non-volatile storage device, including but not limited to a magnetic storage device, a semiconductor storage device, an optical storage device, etc., and may be arranged as a single storage device, a storage device array, or a distributed storage device, which is not limited by the embodiments of the present invention.

[0032] It will be understood by those skilled in the art that the structure of the situation sharing intelligent engine is only for illustration and does not limit the structure of the device. Figure 4 The transmission device is used to receive or send data via a network. In one embodiment, the transmission device is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0033] Through the above-mentioned method, the present invention aims at the problems of high real-time requirements, large concurrent data volume and inconsistent data structure in military joint experiments. From the transmission method to the actual application, the functions of the three-dimensional situation nodes are split into services, and the first situation sharing intelligent engine is made to bear part of the calculation amount, which effectively alleviates the computing pressure of the second situation sharing intelligent engine and the test network load pressure, thereby achieving the sharing smoothness and real-time performance of the three-dimensional situation scene visualization.

[0034] In view of the fact that the first situation sharing intelligent engine can execute the method of sharing virtual scenes to request communication, at least one embodiment of the present invention proposes a method of sharing virtual scenes, which is also a shared virtual scene synchronization technology, which can be loaded and executed by the processor of the first situation sharing intelligent engine, and can adapt to military joint test tasks with many distributed nodes, large node spans, and high real-time requirements, and at least ensure the smoothness and real-time sharing of situation virtual scenes. Figure 5 It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that here. The method for sharing a virtual scene may include the following steps:

[0035] Step S501, generating a call request, wherein the call request is a message packet assembled by a first stub of a first situation sharing intelligent engine, and the message packet carries a situation sharing event, a target address and a target stub identifier;

[0036] Step S503, sending a call request to the second situation sharing intelligent engine corresponding to the target address, wherein the second situation sharing intelligent engine references the second stub corresponding to the target stub identifier to process the situation sharing event;

[0037] Step S505, receiving a call result for the situation sharing event, and rendering the three-dimensional situation scene according to the call result.

[0038] The present invention is based on actual needs and aims at the actual needs of military joint experiments, and improves the existing virtual scene synchronization mode. When the first stub of the first situation sharing intelligent engine starts an RPC call, the control part sends it; the processing of several state information, due to the role of the first stub of the first situation sharing intelligent engine, enables the first situation sharing intelligent engine to call the remote process in a conventional process call method, thereby realizing the sharing smoothness and real-time performance of the three-dimensional situation scene visualization.

[0039] Generally speaking, RPC (Remote Procedure Call) can also be called remote procedure call, which uses the network to request services from a remote computer, and can be understood as putting part of the program on other remote computers for execution. For example, after the first situation sharing intelligent engine sends the call request to the second situation sharing intelligent engine through network communication, it uses the system resources of the second situation sharing intelligent engine to execute this part of the program, and finally returns the execution result on the second situation sharing intelligent engine. The core components of RPC mainly include: user (service caller, such as the first situation sharing intelligent engine), user-stub (the local stub of the caller, such as the first stub), RPC runtime (RPC communicator, such as the first RPC runtime and the second RPC runtime), server-stub (the local stub of the server, such as the second stub) and server (the server, such as the second situation sharing intelligent engine).

[0040] Stub programs, also known as pile codes, are simple programs used to simulate specific functions or behaviors in software development. They can replace some complex real objects that are not easy to create or inconvenient to use directly. In other words, the existence of stub programs is to allow remote calls to be made directly like local calls, without having to worry about address space isolation, function mismatches and other issues. For example, the first stub verifies, serializes, encodes and other steps on the specific content to be transmitted, encodes it into a byte stream format that is easy to transmit, and restores the byte stream transmitted by the server to structured data that is easy to use locally through decoding, deserialization, verification and other work; the second stub verifies, serializes, encodes and other steps on the content to be transmitted, converts it into a byte stream format that is easy to transmit, and restores the byte stream transmitted by the user to structured data that is easy to use locally through decoding, deserialization, verification and other work.

[0041] The RPC runtime is responsible for the communication and transmission tasks of the entire process, and is responsible for data packet retransmission, data packet confirmation, data packet routing and encryption, etc. Both the user and the server will have an RPC runtime instance, which is responsible for the communication between the two parties and reliably transmits the data packet to the other end.

[0042] In step S501, a call request is generated, wherein the call request is a message packet assembled by the first stub of the first situation sharing intelligent engine, and the message packet carries a situation sharing event, a target address, and a target stub identifier. Example: The first situation sharing intelligent engine has a built-in first stub and a first RPC runtime, for example, the first stub of the first situation sharing intelligent engine is called; the first stub assembles the situation sharing event, the first situation sharing intelligent engine address, the first stub identifier, the target address, and the target stub identifier into a message packet; the message packet is transmitted to the first RPC runtime as a generated call request. The situation sharing event includes the state of the situation virtual scene, the monitoring state of the situation virtual scene, and / or the personnel allocation state of the situation virtual scene.

[0043] It should be noted that the first stub and the first RPC runtime are the stub program and RPCruntime subroutine related to the caller, and the first RPC runtime can be run at all locations in the architecture of the present invention. The first stub program assembles or disassembles the parameters in the process call into a message form, performs corresponding type checks, and then passes these messages to the first RPC runtime subroutine, which then sends them to other locations in the architecture (such as the second situation sharing intelligent engine); in fact, the present invention defines the process of the first stub and the first RPC runtime and writes the process body.

[0044] Optionally, the present invention generates a call request as follows: (1) The caller calls a process in the first stub of the corresponding first situation sharing intelligent engine in a conventional manner. (2) The first stub process of the first situation sharing intelligent engine assembles relevant parameters into a message packet to form a message; the target address running this process and the target stub identifier of the process executed at the target address should be included in this message. (3) The first situation sharing intelligent engine sends the message packet to the first runtime subroutine of RPC, and the first runtime subroutine then sends it to the target address.

[0045] In step S503, a call request is sent to the second situation sharing intelligent engine corresponding to the target address, wherein the second situation sharing intelligent engine references the second stub corresponding to the target stub identifier to process the situation sharing event. The second situation sharing intelligent engine has a built-in second stub and a second RPC runtime, and sending a call request to the second situation sharing intelligent engine corresponding to the target address may include: establishing a TCP long connection between the first RPC runtime and the second RPC runtime, wherein the TCP long connection is a main thread created by Reactor, and the TCP long connection uses the Selector class of I / O to implement non-blocking Socket (socket) listening communication; the first RPC runtime sends a call request to the second RPC runtime, wherein the second RPC runtime references the second stub corresponding to the target stub identifier to process the situation sharing event, and the second stub returns the call result for the situation sharing event and closes the TCP long connection.

[0046] Here, the Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte-stream-based transport layer communication protocol. TCP long connection means that after the connection link is established, the line is not terminated when the link is idle, but the connection of the link is maintained continuously. Reactor is a concurrent programming model, also called 1+M+N thread mode, which is responsible for monitoring and allocating events, dispatching I / O (input / output, input / output port) events to the corresponding Handler (computer terminology, Java subclass and inherited interface). New events include connection establishment ready, read ready, write ready, etc. The Selector class (computer terminology, multiplexer) allows a single thread to manage multiple Channel channels. Selector is the core of non-blocking IO.

[0047] Optionally, a TCP long connection is established between the first RPC runtime and the second RPC runtime. In order to ensure the reliability of the transmission of virtual scene situation sharing events, the present invention adopts the TCP protocol for long connection, which saves a large number of TCP operations of establishing and closing connections, thereby reducing the performance consumption of the high-performance shared virtual scene synchronization network architecture and saving time; in terms of Socket communication optimization, the present invention uses a multiplexer Selector to implement non-blocking I / O communication, and the present invention uses a master-slave Reactor multi-threaded model, the first situation sharing intelligent engine 100 requests to connect to the second situation sharing intelligent engine 200 using a main thread, this main thread is used for the connection request operation of the first situation sharing intelligent engine 100, once the connection is successfully established, it will monitor I / O events, and a link request will be created after monitoring the event; in order to improve performance, the present invention also uses serial lock-free to complete the link operation, so that each operation of the link does not perform thread switching during operation; in addition to the above optimizations, the present invention also modifies some TCP parameter configuration items provided by some socket programming to improve network throughput. It can be seen that in order to improve the transmission efficiency, the present invention selects the communication protocol of the situation sharing intelligent engine as a single TCP long connection and Protobuf (ProtocolBuffers, a lightweight data exchange format that can be used for serialization and deserialization of structured data) serialization according to the business and architecture design of the virtual scene. The message body is small, the functions are sufficient, and it is easy to parse. The advantages of this RPC communication framework are very obvious.

[0048] Optionally, the first RPC runtime sends a call request to the second RPC runtime. The second RPC runtime receives the call request, and the second RPC runtime subroutine references a subroutine in the second stub corresponding to the callee and lets it process the message; the subroutine in the second stub removes the relevant parameters and calls the indicated procedure in a conventional procedure call manner; the entire remote procedure call ends when the second stub program executes a return statement to return to the caller.

[0049] It should be noted that the transmission part is the lowest layer of the RPC communication model of the peer-to-peer network, and its main functions are: providing the selection of the network transport layer protocol; establishing or releasing the logical channel, sending or receiving messages, etc.; managing the message buffer in the RPC of the peer-to-peer network. The main function of the control part is: determining the direction (sending or receiving) of the message in the RPC of the peer-to-peer network, and sending the control part when the first stub of the first situation sharing intelligent engine starts an RPC call or the second stub of the second situation sharing intelligent engine returns the call result.

[0050] It should also be noted that before the second stub processes the situation sharing event, it may also include: obtaining data related to the situation sharing event from a relational database, wherein the data includes environmental information, scene information, behavior information, operation set instruction information, state information and / or user information. That is to say, in view of the relatively large amount of environmental information and scene information data in the three-dimensional situation scene, the high requirements for data storage and reading immediacy, the complex functional requirements of the data, and the difficulty in meeting the requirements of local storage, the present invention uses a relational database to store this data, for example: (1) In order to ensure the preservation and reuse of personnel status information, personnel analysis of battlefield situation changes, etc., by using a relational database (such as Figure 6 (2) In order to analyze the behavior data of all parties in the combat situation virtual environment, a relational database (such as Figure 7 The data (as shown) records all the user's behaviors in the virtual scene: when the user logs in, when he enters the virtual scene, when he begins to perceive the situation of the other party, etc. These data will be helpful for the analysis of various user behaviors, the analysis of subsequent combat situation changes, and the verification of user behaviors.

[0051] In step S505, a call result for the situation sharing event is received, and the three-dimensional situation scene is rendered according to the call result. The call result is returned in a return statement, so the first situation sharing intelligent engine can receive a return statement for the situation sharing event.

[0052] It should be noted that the present invention also performs global clock synchronization on the first situation sharing intelligent engine and the second situation sharing intelligent engine, thereby improving the real-time and accuracy of the three-dimensional situation scene expression. For example, in view of the delay, error, loss, error and other phenomena in data transmission in the three-dimensional situation scene, the present invention focuses on the real-time synchronization technology of situation data in multiple scenes and multiple roles based on the global unified clock. This real-time synchronization technology uses the internal unified clock and the unified running speed as the benchmark, synchronizes the internal unified clock with the global clock in the three-dimensional situation scene, and on this basis, uses the global clock-based verification, fitting, filtering, screening and storage methods for the received real-time data, so as to realize the real-time synchronization of situation data in multiple scenes and multiple roles, so as to improve the real-time, accuracy and availability of the access data, and thus improve the real-time and accuracy of the three-dimensional situation scene expression.

[0053] The present invention reduces the processing time of a single data packet from a microscopic perspective by streamlining the communication protocol / data packet filtering mechanism, optimizing Socket communication, customizing the message format, etc., adopts the RPC communication model of the peer-to-peer network to improve the server processing capability from a macroscopic perspective, and uses relational database technology to persistently store user data, thereby achieving smooth and real-time sharing of three-dimensional scene visualization, so that situation monitoring personnel can quickly and stably share the virtual scenes allocated to synchronous remote workers.

[0054] In view of the fact that the second situation sharing intelligent engine can execute the method of sharing virtual scenes for service communication, at least one embodiment of the present invention proposes a method of sharing virtual scenes, which is also a shared virtual scene synchronization technology, which can be loaded and executed by the processor of the second situation sharing intelligent engine, and can adapt to military joint test tasks with many distributed nodes, large node spans, and high real-time requirements, and at least ensure the smoothness and real-time sharing of situation virtual scenes. Figure 8 It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that here. The method for sharing a virtual scene may include the following steps:

[0055] Step S802, receiving a call request, wherein the call request is a message packet assembled by a first stub of a first situation sharing intelligent engine, and the message packet carries a situation sharing event and a target stub identifier;

[0056] Step S804, referencing the second stub corresponding to the target stub identifier to process the situation sharing event, wherein the second stub processes the situation sharing event to form a call result;

[0057] Step S806, returning the call result for the situation sharing event.

[0058] It should be noted that the method for sharing virtual scenes loaded and executed by the processor of the second situation sharing intelligent engine can refer to the method for sharing virtual scenes loaded and executed by the processor of the first situation sharing intelligent engine, and no further details will be given here.

[0059] The present invention improves the existing virtual scene synchronization mode in view of the actual needs of military joint experiments through the above-mentioned method. When the second stub of the second situation sharing intelligent engine returns the call result, the control part sends it; due to the role of the second stub of the second situation sharing intelligent engine, the second situation sharing intelligent engine can be programmed independently of the caller, making P2P (distributed computing model, composed of many nodes, each node can provide computing and storage resources) RPC more flexible, and realizing the sharing smoothness and real-time performance of three-dimensional scene visualization.

[0060] In addition, at least one embodiment of the present invention further provides a computer-readable non-volatile storage medium that stores computer program instructions. When the computer executes the program instructions, the method of sharing a virtual scene in the case of request communication and / or service communication of the present invention is executed.

[0061] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for sharing a virtual scene, applicable to a first situation sharing intelligent engine, characterized in that: include: Generate a call request, wherein the call request is a message packet assembled by a first stub of a first situation sharing intelligent engine, and the message packet carries a situation sharing event, a target address, and a target stub identifier; Sending the call request to a second situation sharing intelligent engine corresponding to the target address, wherein the second situation sharing intelligent engine references a second stub corresponding to the target stub identifier to process the situation sharing event; A call result for the situation sharing event is received, and a three-dimensional situation scene is rendered according to the call result.

2. The method according to claim 1, characterized in that The first situation sharing intelligent engine has a built-in first stub and a first RPC runtime, and generates a call request including: Calling the first stub of the first situation sharing intelligent engine; The first stub assembles a message packet including a situation sharing event, a first situation sharing intelligent engine address, a first stub identifier, a target address and a target stub identifier; The message packet is transmitted to the first RPC runtime.

3. The method according to claim 2, characterized in that The situation sharing event includes the state of the situation virtual scene, the monitoring state of the situation virtual scene and / or the personnel allocation state of the situation virtual scene.

4. The method according to claim 2, characterized in that: The second situation sharing intelligent engine has a built-in second stub and second RPC runtime, and sending the call request to the second situation sharing intelligent engine corresponding to the target address includes: Establish a TCP persistent connection between the first RPC runtime and the second RPC runtime, wherein the TCP persistent connection is a main thread created by Reactor, and the TCP persistent connection uses the Selector class of I / O to implement non-blocking Socket listening communication; The first RPC runtime sends the call request to the second RPC runtime, wherein the second RPC runtime references the second stub corresponding to the target stub identifier to process the situation sharing event, and the second stub returns a call result for the situation sharing event and closes the TCP long connection.

5. The method according to claim 4, characterized in that Before the second stub processes the situation sharing event, it also includes: Data related to the situation sharing event is obtained from a relational database, wherein the data includes environment information, scene information, behavior information, operation set instruction information, state information and / or user information.

6. The method according to claim 1, characterized in that Receiving the call result for the situation sharing event includes: Receive a return statement for the situation sharing event.

7. The method according to any one of claims 1 to 6, characterized in that: Perform global clock synchronization on the first situation sharing intelligent engine and the second situation sharing intelligent engine.

8. A method for sharing a virtual scene, applicable to a second situation sharing intelligent engine, characterized in that: include: Receiving a call request, wherein the call request is a message packet assembled by a first stub of a first situation sharing intelligent engine, and the message packet carries a situation sharing event and a target stub identifier; Reference the second stub corresponding to the target stub identifier to process the situation sharing event, wherein the second stub forms a call result after processing the situation sharing event; Returns the result of the call for the situation sharing event.

9. A situation sharing intelligent engine, comprising: a processor adapted to implement the instructions; And a memory suitable for storing multiple instructions, wherein the instructions are suitable for being loaded and executed by a processor: a method for sharing a virtual scene as described in any one of claims 1-7, and / or a method for sharing a virtual scene as described in claim 8.

10. A computer-readable non-volatile storage medium storing computer program instructions, wherein when a computer executes the program instructions, the computer executes: the method for sharing a virtual scene as described in any one of claims 1 to 7, and / or the method for sharing a virtual scene as described in claim 8.