A method, device and equipment for processing marine target playback data

By working collaboratively between the client and server, and employing segmented caching and playback caching mechanisms, the problems of long data acquisition time and discontinuous target movement in nautical chart vessel trajectory playback were solved, resulting in faster trajectory playback and continuous target display.

CN119299767BActive Publication Date: 2025-10-28HAINAN HAILAN HUANYU MARINE INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411206926.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2025-10-28
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

In the field of nautical charts and ships, existing technologies suffer from problems such as long data acquisition time, display delay, and discontinuous target movement when replaying ship tracks, which can easily cause stuttering, especially when playing back or forwarding.

Method used

The client sends a playback data push request to the server, including the geographical range of the nautical chart, the query duration density, and the request cache duration. The server queries and pushes multiple target playback data segments according to the query duration density. The client caches the data in the full data cache in chronological order. The segmented caching mechanism and playback caching mechanism reduce the server load and client rendering pressure.

Benefits of technology

It enables faster playback of ship trajectories on nautical charts and continuous target movement, reduces data request latency and lag, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299767B_ABST
    Figure CN119299767B_ABST
Patent Text Reader

Abstract

This invention provides a method, apparatus, and device for processing maritime target playback data, applied to a client. The method includes: sending a playback data push request to a server, the push request including: the nautical chart geographic range of the playback data, the query duration density, and the request cache duration of the playback data; receiving multiple target playback data segments pushed by the server according to the push request, the multiple target playback data segments being multiple target playback data segments retrieved by the server from the database according to the query duration density; the maritime target locations of the target playback data segments are within the nautical chart geographic range, and the query duration density is less than the request cache duration of the playback data; and caching the data of the multiple target playback data segments in chronological order into a full data cache according to the maritime target identifier. The solution of this invention can play back nautical chart vessel trajectories faster and ensure the continuity of target movement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer information technology processing, and in particular to a method, apparatus and equipment for processing maritime target playback data. Background Technology

[0002] In the existing nautical chart and ship tracking field, when users observe a replay of a ship's trajectory over a certain period, it is necessary to quickly display the target and its trajectory. During playback, the front end needs to periodically retrieve trajectory data separately. The trajectory data volume is large, the retrieval time is long, and users need to wait for the network request to succeed before rendering. Furthermore, when users fast-forward or rewind, playback data also needs to be retrieved again, and rendering is required after the network connection is successful. This results in slower display of the trajectory and target, making playback prone to stuttering. Moreover, since only data at the current playback time point is requested each time, it is impossible to use multiple position points of the target over a period of time to make the target move continuously. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to provide a method, apparatus and equipment for processing maritime target playback data, which can play back the ship trajectory on the nautical chart more quickly and ensure the continuity of target movement.

[0004] To solve the above-mentioned technical problems, the technical solution of the present invention is as follows:

[0005] A method for processing maritime target playback data, applied to a client, the method comprising:

[0006] Send a playback data push request to the server. The push request includes: the nautical map geographic range of the playback data, the query duration density, and the request cache duration of the playback data.

[0007] The server receives multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database by querying replay data according to the query duration density. The maritime target locations of the target replay data segments are within the geographical range of the nautical chart, and the query duration density is less than the request cache duration of the replay data.

[0008] According to the identification of the maritime targets, the data of the multiple target playback data segments are cached into the full data cache in chronological order.

[0009] Optionally, the processing methods for maritime target playback data also include:

[0010] Send the updated query duration density to the server;

[0011] The server receives at least one newly queried target playback data segment from the database based on the updated query duration density. The start time of the newly queried target playback data segment is the client's current playback time, playTime, and the end time is playTime+N, where N is a positive integer.

[0012] Optionally, the processing methods for maritime target playback data also include:

[0013] Send the updated nautical chart geographic range to the server;

[0014] The server receives at least one newly retrieved target replay data segment from the database, based on the updated nautical chart's geographical extent.

[0015] Optionally, the processing methods for maritime target playback data also include:

[0016] Determine the playback buffer duration;

[0017] According to the playback cache duration, obtain the target playback data from the full data cache;

[0018] Play the target playback data.

[0019] This invention also provides a method for processing maritime target playback data, applied on a server side, including:

[0020] Receive a playback data push request sent by the client, the push request including: the nautical map geographic range of the playback data, the query duration density, and the request cache duration of the playback data;

[0021] According to the push request, the database is queried for replay data according to the query duration density, and multiple target replay data segments are found; the maritime target location of the target replay data segment is within the geographic range of the nautical chart, and the query duration density is less than the request cache duration of the replay data;

[0022] The client pushes the multiple target playback data segments to the client, so that the client caches the data of the multiple target playback data segments in chronological order into the full data cache according to the identification of the maritime targets.

[0023] Optionally, the processing methods for maritime target playback data also include:

[0024] Receive the updated query duration density sent by the client;

[0025] Based on the updated query duration density, at least one newly queried target playback data segment is queried in the database and pushed to the client. The start time of the newly queried target playback data segment is the client's current playback time playTime, and the end time is playTime+N, where N is a positive integer.

[0026] Optionally, the processing methods for maritime target playback data also include:

[0027] Receive the updated nautical chart geographic range sent by the client;

[0028] Based on the updated nautical chart geographic extent, query the database and push at least one newly queried target playback data segment to the client.

[0029] The present invention also provides a processing device for maritime target playback data, applied to a client, comprising:

[0030] The sending module is used to send a playback data push request to the server. The push request includes: the nautical map geographical range of the playback data, the query duration density, and the request cache duration of the playback data.

[0031] The processing module is configured to receive multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database according to the query duration density. The maritime target locations of the target replay data segments are within the geographic range of the nautical chart, and the query duration density of the preset query time period is less than the request caching duration of the replay data. The processing module is configured to cache the data of the multiple target replay data segments in chronological order into the full data cache according to the identifier of the maritime target.

[0032] The present invention also provides a processing device for maritime target playback data, applied on a server side, comprising:

[0033] The acquisition module is used to receive playback data push requests sent by the client. The push request includes: the nautical map geographical range of the playback data, the query duration density, and the request cache duration of the playback data.

[0034] The processing module is used to query the replay data in the database according to the query duration density based on the push request, and find multiple target replay data segments; the maritime target locations of the target replay data segments are within the geographical range of the nautical chart, and the query duration density is less than the request caching duration of the replay data; push the multiple target replay data segments to the client, so that the client caches the data of the multiple target replay data segments in chronological order into the full data cache according to the identifier of the maritime target.

[0035] The present invention also provides a computing device, comprising: a processor and a memory storing a computer program, wherein the computer program, when executed by the processor, performs the method described above.

[0036] The above-described solution of the present invention has at least the following beneficial effects:

[0037] In the above-described solution of the present invention, the client-side method involves sending a playback data push request to the server. The push request includes: the nautical chart geographic range of the playback data, the query duration density, and the request cache duration for the playback data. The client then receives multiple target playback data segments pushed by the server according to the push request. These multiple target playback data segments are retrieved by the server from the database by querying playback data according to the query duration density. The maritime target locations of the target playback data segments are within the nautical chart geographic range, and the query duration density is less than the request cache duration for the playback data. Based on the maritime target identifiers, the data of the multiple target playback data segments are cached in chronological order in the full data cache. This allows the client to play back the ship's trajectory on the nautical chart more quickly while ensuring the continuity of target movement. Attached Figure Description

[0038] Figure 1 This is a first flowchart illustrating the method for processing maritime target playback data according to an embodiment of the present invention;

[0039] Figure 2 This is a second flowchart illustrating the method for processing maritime target playback data according to an embodiment of the present invention;

[0040] Figure 3 This is a schematic diagram of the nautical chart and vessel playback interface according to an embodiment of the present invention;

[0041] Figure 4 This is a first structural diagram of the processing device for maritime target playback data according to an embodiment of the present invention;

[0042] Figure 5 This is a second structural diagram of the processing device for maritime target playback data according to an embodiment of the present invention. Detailed Implementation

[0043] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this invention will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

[0044] like Figure 1As shown, an embodiment of the present invention proposes a method for processing maritime target playback data, applied to a client, the method comprising:

[0045] Step 11: Send a playback data push request to the server. The push request includes: the nautical map geographic range of the playback data, the query duration density, and the request cache duration for the playback data.

[0046] Step 12: Receive multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database by querying replay data according to the query duration density. The maritime target locations of the target replay data segments are within the geographical range of the nautical chart, and the query duration density is less than the request cache duration of the replay data.

[0047] Step 13: According to the identification of the maritime targets, cache the data of the multiple target playback data segments into the full data cache in chronological order.

[0048] In this embodiment, step 11 specifically includes the following methods:

[0049] Initialization: The user selects the geographical range of the nautical chart and the playback time period (start time is recorded as startTime and end time is recorded as endTime), and starts the target playback; In this application, the target generally refers to a ship, and the target playback is the nautical chart ship playback, which includes playing back the ship target position and the ship's trajectory route on the nautical chart, etc.

[0050] After playback begins, the client creates a WebSocket (a network communication protocol) connection using JavaScript and listens for the WebSocket's onopen event (the open event in the WebSocket object scheduling mechanism; once the server responds to the WebSocket connection request, the open event is triggered and a connection is established. The callback function corresponding to the open event is called onopen). Upon receiving the connection request, the server-side Java service sends a connection success message to the client, triggering the client's onopen event.

[0051] At this point, the client begins sending a replay data push request to the server. The client's websocket sends the parameters selected by the user to the server, including the geographical range of the nautical chart, the query duration density, and the request cache duration for the replay data.

[0052] The nautical chart geographic range refers to the nautical chart geographic range selected by the user during initialization. The query duration density determines the density of trajectory points (the ship trajectory consists of multiple trajectory points) during nautical chart ship trajectory playback. Trajectory density is categorized as sparse, moderate, and primitive. For example, when the query duration density is 200 seconds, the trajectory density is sparse. The request cache duration for playback data refers to the time span of the playback data requested by the client when requesting playback data from the server once. The request cache duration for playback data is limited by the cache start time (cacheStartTime) and the cache end time (cacheEndTime). The cache start time (cacheStartTime) = startTime, and the cache end time (cacheEndTime) = Math.min(cacheStartTime + 1h, endTime), where min is the minimum value, i.e., the minimum value between the cache end time (cache start time + one hour) and the end time (endTime). In other words, in this application, the client caches a maximum of one hour of data at a time. By dividing the time between startTime and endTime into multiple time periods, the burden of data transmission on the server can be reduced, and the rendering pressure on the client can be reduced. When the user selects a playback period of less than 1 hour, all data within that playback period is cached at once, and the cache end time (cacheEndTime) equals the end time. The cache start time (cacheStartTime) and cache end time (cacheEndTime) are sent by the client to the server via WebSocket after the client and server establish a connection.

[0053] In this application, after the client sends the nautical chart geographic range, query duration density, and replay data request caching duration to the server in step 11, the server queries the target replay data in the database based on the nautical chart geographic range, query duration density, and replay data request caching duration. The target replay data is divided into multiple target replay data segments, and the server sends these multiple target replay data segments to the client. Specifically, this includes:

[0054] The server divides the client's request cache duration for replay data into multiple consecutive query time periods (the query time period is the query duration density, and its value is equal to the query duration density), with a default query time period of 200 seconds. The server queries the StarRocks database for data located within the geographic area of ​​the nautical chart, with target update times within each 200-second segment. For each vessel, only the last point within that 200-second segment is retrieved. The retrieved target replay data contains information about multiple vessels, with each vessel's fields including ID, latitude and longitude, update time, and target type. After retrieving data for one query time period, a target replay data segment is obtained and sent to the client. The target replay data segment includes the start and end times of the query time period and the position data of multiple vessels. For example, with sparse trajectory density and a query time period (query duration density) of 200 seconds, a target replay data segment includes the start and end times for 200 seconds, and the position data (generally latitude and longitude) of multiple vessels.

[0055] The server divides the request caching time for replay data into multiple query time periods. For example, if the request caching time for replay data is 1 hour and the query time period is 200 seconds, it is divided into 18 query time periods. The server retrieves 18 target replay data segments and sends these 18 target replay data segments to the client sequentially.

[0056] In step 13, the client uses a Map (a type of non-relational database) to store data. The key of the Map is the ship ID, and the value is an array. Each item in the array is a ship location data, and the ship location data is sorted according to the update time.

[0057] Simultaneously, the client also records the cache start time (allCacheStartTime) and end time (allCacheEndTime) of multiple target replay data segments returned by the backend. In a single replay cache, when the server sends the target replay data for the first query period, allCacheStartTime = cacheStartTime, and allCacheEndTime = cacheStartTime + 200 seconds. Each time the client receives data from a target replay data segment sent by the server, it updates the end time (allCacheEndTime), while allCacheStartTime remains unchanged. That is, when the replay data with a cache start time (cacheStartTime) and cache end time (cacheEndTime) is cached, allCacheStartTime = cacheStartTime, and allCacheEndTime = cacheEndTime. Data with the same ship ID pushed each time will be added sequentially to the corresponding array of the same ID in the Map, according to the time sequence.

[0058] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0059] Step 141: Send the updated query duration density to the server;

[0060] Step 142: Receive at least one newly queried target playback data segment from the database, which is retrieved and pushed by the server based on the updated query duration density. The start time of the newly queried target playback data segment is the client's current playback time (playTime), and the end time is playTime+N, where N is a positive integer.

[0061] In this embodiment, during the playback of maritime targets, the user can change the query duration density at any time to adjust the density of trajectory points on the nautical chart interface. Preferably, this application provides three query duration densities: 200 seconds, 100 seconds, and 3 seconds. The 200-second density corresponds to sparse trajectories, the 100-second density to moderate trajectories, and the 3-second density to original trajectories. After the user modifies the query duration density, the client clears all cached data in the full data cache, re-caches the data, and resets allCacheStartTime and allCacheEndTime to empty. The client sends the updated query duration density to the server via WebSocket, with the query start time being the current playback time (playTime) and the end time being playTime+N, preferably N being 1 hour. After receiving the parameters, the server modifies the query time period and re-queries the data, pushing it back to the client.

[0062] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0063] Step 151: Send the updated nautical chart geographic range to the server;

[0064] Step 152: Receive at least one newly queried target replay data segment from the database, which is retrieved and pushed by the server based on the updated nautical chart geographic range.

[0065] In this embodiment, if the user does not select the nautical chart geographic range during system initialization, the current viewpoint is used as the nautical chart geographic range. If the user drags the map during playback, the new viewpoint is sent to the server via WebSocket as the nautical chart geographic range, and the request cache duration for the playback data remains unchanged, retaining the value before the viewpoint change. Then, the client queries the database based on the new nautical chart geographic range and pushes at least one new target playback data segment to the client.

[0066] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0067] Step 161: Determine the playback buffer duration;

[0068] Here, the preferred playback buffer duration is 5 minutes.

[0069] Step 162: Obtain the target playback data from the full data cache according to the playback cache duration;

[0070] Step 163: Play the target playback data.

[0071] In this embodiment, the client plays the cached target playback data on the nautical chart. Specifically, this includes: the client continuously retrieving playback cache (i.e., target playback data) from the full cache data. The start time of the playback cache is the current playback time `playTime`, and the end time is `playTime + 5 minutes`. Each ship point in the full cache is traversed, and data whose ship update time falls within the playback cache start and end times is retrieved and used as the playback cache. When `playTime` exceeds the playback cache end time, the playback cache is cleared, and a new playback cache is retrieved. The data structure of the playback cache is the same as that of the full cache. In this application, by retrieving the playback cache duration data from the full cache each time, the calculation of the target position from the full cache each time can be avoided, thus reducing the computational load.

[0072] In an optional embodiment of the present invention, step 163 may include:

[0073] Step 1631: Based on the relationship between the target update time and the current playback time in the target playback data, display the maritime target corresponding to the target playback data on the nautical chart.

[0074] The client uses the acquired playback cache (target playback data) to draw the target on the nautical chart. During playback, the current playback time (playTime) increases at a certain rate. The playback cache is iterated; if the target's update time is less than playTime, and the next point's update time is greater than playTime, the target data is drawn on the nautical chart. A target layer is created using `openlayer.webglpointlayer`, and a target feature is created using `openlayer.Feature`. The feature's position is set using latitude and longitude fields, its icon style is set using the target type, and its ID is set to the ship target ID. The drawn ship target on the nautical chart looks like this. Figure 3 As shown.

[0075] In an optional embodiment of the present invention, step 163 may further include:

[0076] Step 1632: Based on the relationship between the target update time and the current playback time in the target playback data, connect the trajectory points with the same target identifier ID in the target playback data to obtain the trajectory line.

[0077] When the user turns on the trajectory switch, all playback cache data will be traversed to obtain points where the target update time is less than playTime. Points with the same target ID will be connected into line data in chronological order, and the data will be drawn into a line through the lineString method of openlayer. When the user sets different query duration densities, due to different densities of buffered trajectories, trajectory lines with different sparse levels will also be drawn. The trajectory line is as Figure 3 shown.

[0078] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0079] Step 17, when the current playback time moves within the client cache time range, the positions of maritime targets within the chart geographical range change along with the current playback time.

[0080] During the target playback process, when the user drags the time progress bar within the cache time range, that is, playTime>allCacheStartTime and playTime<allCacheEndTime, playTime will change as the user drags, and all targets will be re-rendered.

[0081] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0082] Step 18, when the client receives a target playback data segment with a preset identifier, determine whether to continue caching data according to the duration of the playback data in the client's full data cache and the current playback time.

[0083] In the above method of the present invention, when the server finishes pushing data of multiple target playback data segments within the request cache duration range of the playback data, the server will push data with a preset identifier to the client. The preset identifier is preferably the isOver identifier. After receiving the data with the isOver identifier, the client will determine whether to continue caching data.

[0084] When the difference between the cache end time and the current playback time is less than 2 hours, and the difference between the cache end time and the cache start time of the playback data received by the client is less than 8 hours, that is, playTime>cacheEndTime - 2h, and allCacheEndTime - allCacheStartTime is less than 8 hours, then continue caching.

[0085] The logic for setting the cache duration of playback data requests is as follows: cacheStartTime = allCacheEndTime of the previous cache, cacheEndTime = Math.min(cacheStartTime + 1h, endTime). The calculated cache duration of the latest playback data requests is sent to the server via WebSocket. The server then divides the cache duration of the playback data requests into multiple query time periods, and then queries the database for playback data in sequence and sends the multiple target playback data segments found to the client. The client displays the trajectory and target along with the current playback time.

[0086] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0087] Step 19: When the duration of playback data in the client's full data cache exceeds the first preset threshold, and the time range of the current playback time and the playback data meets the first preset condition, delete part of the playback data in the client's full data cache according to the preset rules.

[0088] In this embodiment, because the time range of nautical chart vessel trajectory data is very wide, users may need to continuously observe vessel trajectory playback for many days. This application limits the amount of data cached on the client side, typically set to 8 hours, meaning the client only caches a maximum of 8 hours of playback data. This setting can be implemented using a timer for periodic queries. During client playback, JavaScript starts a timer using `setInterval`, checking every second whether a cached segment needs to be deleted. When the current playback time `playTime` > `allCacheStartTime` + 1 hour, and `allCacheEndTime` - `allCacheStartTime` is greater than or equal to 8 hours, the cache deletion logic is triggered. The first 5 minutes of cached data are deleted, and the cache start time is set to `allCacheStartTime` = `allCacheStartTime` - 5 minutes, repeatedly checking whether to continue caching.

[0089] The method described above, during the playback of nautical chart vessel trajectories, uses client-cached data to draw vessel targets and their trajectories, enabling faster target updates and trajectory display, and avoiding repeated requests for server data. When the user drags the progress bar to fast forward or rewind, the cache can be used to quickly update the targets and trajectories, achieving rapid updates and avoiding playback lag caused by repeated data retrieval.

[0090] like Figure 2As shown, embodiments of the present invention also provide a method for processing maritime target playback data, applied to a server, the method comprising:

[0091] Step 21: Receive a playback data push request sent by the client. The push request includes: the nautical map geographic range of the playback data, the query duration density, and the request cache duration of the playback data.

[0092] Step 22: Based on the push request, query the replay data in the database according to the query duration density, and find multiple target replay data segments; the maritime target location of the target replay data segment is within the geographical range of the nautical chart, and the query duration density is less than the request cache duration of the replay data;

[0093] Step 23: Push the multiple target playback data segments to the client, so that the client caches the data of the multiple target playback data segments in chronological order into the full data cache according to the identifier of the maritime target.

[0094] In an optional embodiment of the present invention, the method for processing maritime target playback data, applied to a server, further includes:

[0095] Step 241: Receive the updated query duration density sent by the client;

[0096] Step 242: Based on the updated query duration density, query the database and push the latest queried target playback data segment to the client. The start time of the latest queried target playback data segment is the client's current playback time playTime, and the end time is playTime+N, where N is a positive integer.

[0097] In an optional embodiment of the present invention, the method for processing maritime target playback data, applied to a server, further includes:

[0098] Step 251: Receive the updated nautical chart geographic range sent by the client;

[0099] Step 252: Based on the updated nautical chart geographic range, query the database and push at least one newly queried target playback data segment to the client.

[0100] In an optional embodiment of the present invention, the method for processing maritime target playback data further includes:

[0101] Step 26: When the server has completed querying multiple target replay data segments within the request cache duration of the replay data, it pushes the target replay data segments with preset identifiers to the client.

[0102] The embodiments of the present invention applied to the processing method of maritime target playback data on the server side are understood to be applicable to the processing method of maritime target playback data on the server side, and can achieve the same technical effect.

[0103] The method described above in this invention has the following beneficial effects:

[0104] 1. A segmented caching mechanism is adopted, and the server pushes data in 200-second segments, resulting in faster data delivery.

[0105] 2. The client caches only one hour of data at a time, which reduces the burden on the server to send data and reduces the pressure on the client rendering.

[0106] 3. Implement a cache deletion mechanism. When the cache exceeds 8 hours, the cache deletion logic will be triggered, and each time it will only delete 5 minutes of cache to prevent too much cache from causing performance problems.

[0107] By caching data on the client side, when a user repeatedly replays the cached data within a certain period, the cache can be used to quickly calculate the target's location and trajectory data, and display the target and trajectory quickly without requesting data. Furthermore, multiple trajectory point data points cached on the client side can be used to ensure the continuity of the target's movement.

[0108] Embodiments of the present invention also provide a processing device 40 for maritime target playback data, applied to a client, comprising:

[0109] Sending module 41 is used to send a playback data push request to the server. The push request includes: the nautical map geographical range of the playback data, the query duration density, and the request cache duration of the playback data.

[0110] Processing module 42 is configured to receive multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database according to the query duration density. The maritime target locations of the target replay data segments are within the geographic range of the nautical chart, and the query duration density of the preset query time period is less than the request caching duration of the replay data. According to the identifier of the maritime target, the data of the multiple target replay data segments are cached into the full data cache in chronological order.

[0111] Optionally, the processing module is also used for:

[0112] Send the updated query duration density to the server;

[0113] The server receives at least one newly queried target playback data segment from the database based on the updated query duration density. The start time of the newly queried target playback data segment is the client's current playback time, playTime, and the end time is playTime+N, where N is a positive integer.

[0114] Optionally, the processing module is also used for:

[0115] Send the updated nautical chart geographic range to the server;

[0116] The server receives at least one newly retrieved target replay data segment from the database, based on the updated nautical chart's geographical extent.

[0117] Optionally, the processing module is also used for:

[0118] Determine the playback buffer duration;

[0119] According to the playback cache duration, obtain the target playback data from the full data cache;

[0120] Play the target playback data.

[0121] It should be noted that this device is the same as the method described above. All implementations in the above method embodiments are applicable to the embodiments of this device and can achieve the same technical effect.

[0122] Embodiments of the present invention also provide a processing device 50 for maritime target playback data, applied to a server, comprising:

[0123] The acquisition module 51 is used to receive a playback data push request sent by the client. The push request includes: the nautical map geographical range of the playback data, the query duration density, and the request cache duration of the playback data.

[0124] Processing module 52 is used to query replay data in the database according to the query duration density based on the push request, and find multiple target replay data segments; the maritime target locations of the target replay data segments are within the geographical range of the nautical chart, and the query duration density is less than the request caching duration of the replay data; push the multiple target replay data segments to the client, so that the client caches the data of the multiple target replay data segments in chronological order into the full data cache according to the identifier of the maritime target.

[0125] Optionally, the processing module is also used for:

[0126] Receive the updated query duration density sent by the client;

[0127] Based on the updated query duration density, at least one newly queried target playback data segment is queried in the database and pushed to the client. The start time of the newly queried target playback data segment is the client's current playback time playTime, and the end time is playTime+N, where N is a positive integer.

[0128] Optionally, the processing module is also used for:

[0129] Receive the updated nautical chart geographic range sent by the client;

[0130] Based on the updated nautical chart geographic extent, query the database and push at least one newly queried target playback data segment to the client.

[0131] It should be noted that this device is the same as the method described above. All implementations in the above method embodiments are applicable to the embodiments of this device and can achieve the same technical effect.

[0132] Embodiments of the present invention also provide a computing device, including: a processor and a memory storing a computer program, wherein the computer program, when executed by the processor, performs the method as described above. All implementations in the above method embodiments are applicable to this embodiment and can achieve the same technical effects.

[0133] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0134] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0135] In the embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0136] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0137] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0138] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0139] Furthermore, it should be noted that in the apparatus and method of the present invention, it is obvious that the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered equivalent solutions of the present invention. Moreover, the steps performing the above-described series of processes can naturally be executed in the order described, but are not necessarily required to be executed in chronological order; some steps can be executed in parallel or independently of each other. Those skilled in the art will understand that all or any step or component of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or network of computing devices, in hardware, firmware, software, or a combination thereof. This is something that those skilled in the art can achieve by using their basic programming skills after reading the description of the present invention.

[0140] Therefore, the object of the present invention can also be achieved by running a program or a set of programs on any computing device. The computing device can be a known general-purpose device. Therefore, the object of the present invention can also be achieved simply by providing a program product containing program code implementing the method or apparatus. That is, such a program product also constitutes the present invention, and the storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any known storage medium or any storage medium developed in the future. It should also be noted that in the apparatus and method of the present invention, it is obvious that the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered equivalent to the present invention. Furthermore, the steps performing the above series of processes can naturally be performed in the order described, but are not necessarily required to be performed in chronological order. Some steps can be performed in parallel or independently of each other.

[0141] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A method for processing maritime target playback data, characterized in that, The method includes: Send a playback data push request to the server. The push request includes: the nautical map geographic range of the playback data, the query duration density, and the request cache duration for the playback data. The server receives multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database by querying replay data according to the query duration density. The maritime target locations of the target replay data segments are within the geographical range of the nautical chart, and the query duration density is less than the request cache duration of the replay data. According to the identification of the maritime targets, the data of the multiple target playback data segments are cached into the full data cache in chronological order; The method further includes: Send the updated query duration density to the server; The system receives at least one newly retrieved target playback data segment from the database, retrieved and pushed by the server based on the updated query duration density. The start time of the newly retrieved target playback data segment is the client's current playback time (playTime), and the end time is playTime+N, where N is a positive integer. The specific process includes: During the playback of maritime targets, users can adjust the density of trajectory points on the nautical chart interface by changing the query duration density. The query duration densities include 200 seconds, 100 seconds, and 3 seconds, where 200 seconds corresponds to sparse trajectories, 100 seconds corresponds to moderate trajectories, and 3 seconds corresponds to original trajectories. After the user modifies the query duration density, the client clears all cached data in the full data cache and re-caches it. The client then sends the updated query duration density to the server via WebSocket. Upon receiving the parameters, the server modifies the query time period and re-queries the data before pushing it back to the client. Send the updated nautical chart geographic range to the server; Receive at least one latest target replay data segment that the server retrieves from the database based on the updated nautical chart's geographical extent and pushes it. Determine the playback buffer duration; According to the playback cache duration, obtain the target playback data from the full data cache; Based on the relationship between the target update time and the current playback time in the target playback data, the maritime targets corresponding to the target playback data are displayed on the nautical chart; and Based on the relationship between the target update time and the current playback time in the target playback data, the trajectory points with the same target identifier in the target playback data are connected to obtain the trajectory line; As the current playback time moves within the client's cache time range, the location of maritime targets within the nautical chart's geographic range changes along with the current playback time. When the client receives a target playback data segment with a preset identifier, it determines whether to continue caching the data based on the duration of the playback data in the client's full data cache and the current playback time. When the duration of playback data in the client's full data cache exceeds the first preset threshold, and the time range of the current playback time and the playback data meets the first preset condition, part of the playback data in the client's full data cache is deleted according to the preset rules.

2. A processing device for playback data of maritime targets, characterized in that, include: The sending module is used to send a playback data push request to the server. The push request includes: the nautical map geographical range of the playback data, the query duration density, and the request cache duration of the playback data. The processing module is configured to receive multiple target replay data segments pushed by the server according to the push request. The multiple target replay data segments are multiple target replay data segments retrieved by the server from the database according to the query duration density. The maritime target locations of the target replay data segments are within the geographic range of the nautical chart, and the query duration density is less than the request caching duration of the replay data. The module caches the data of the multiple target replay data segments in chronological order into the full data cache according to the identifier of the maritime target. The processing module further includes: Send the updated query duration density to the server; The system receives at least one newly retrieved target playback data segment from the database, retrieved and pushed by the server based on the updated query duration density. The start time of the newly retrieved target playback data segment is the client's current playback time (playTime), and the end time is playTime+N, where N is a positive integer. The specific process includes: During the playback of maritime targets, users can adjust the density of trajectory points on the nautical chart interface by changing the query duration density. The query duration densities include 200 seconds, 100 seconds, and 3 seconds, where 200 seconds corresponds to sparse trajectories, 100 seconds corresponds to moderate trajectories, and 3 seconds corresponds to original trajectories. After the user modifies the query duration density, the client clears all cached data in the full data cache and re-caches it. The client then sends the updated query duration density to the server via WebSocket. Upon receiving the parameters, the server modifies the query time period and re-queries the data before pushing it back to the client. Send the updated nautical chart geographic range to the server; Receive at least one latest target replay data segment that the server retrieves from the database based on the updated nautical chart's geographical extent and pushes it. Determine the playback buffer duration; According to the playback cache duration, obtain the target playback data from the full data cache; Based on the relationship between the target update time and the current playback time in the target playback data, the maritime targets corresponding to the target playback data are displayed on the nautical chart; and Based on the relationship between the target update time and the current playback time in the target playback data, the trajectory points with the same target identifier in the target playback data are connected to obtain the trajectory line; As the current playback time moves within the client's cache time range, the location of maritime targets within the nautical chart's geographic range changes along with the current playback time. When the client receives a target playback data segment with a preset identifier, it determines whether to continue caching the data based on the duration of the playback data in the client's full data cache and the current playback time. When the duration of playback data in the client's full data cache exceeds the first preset threshold, and the time range of the current playback time and the playback data meets the first preset condition, part of the playback data in the client's full data cache is deleted according to the preset rules.

3. A computing device, characterized in that, include: A processor and a memory storing a computer program, wherein the computer program, when executed by the processor, performs the method as described in claim 1.

Citation Information

Patent Citations

  • Database-based playback method and system, server and client

    CN110858223A

  • Marine target trajectory continuous processing method, device and equipment

    CN117970313A