Thumbnail Request Processing in Video Surveillance Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Video surveillance systems face memory and performance issues due to the time- and memory-consuming initialization of resource processors for each thumbnail request, leading to potential crashes from excessive overhead and memory pressure on client and recording servers.
Innovation Solution
Resource processors are put into an idle state for reuse, with limited queues to minimize unnecessary initialization processes, and a thumbnail cache is implemented to reduce the load on client and recording servers by reusing existing processors and caching frequently requested thumbnails.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a new resource processor is initialized for every thumbnail request, then the thumbnail can be fetched from the recording server, but the initialization process consumes excessive time and memory resources
Solution Approach 1:
The system pre-initializes resource processors and maintains them in an idle state ready for use. When a thumbnail request arrives, an existing idle processor is assigned immediately without requiring new initialization, thus eliminating the time loss associated with repeated handshakes and session token exchanges.
Solution Approach 2:
Instead of discarding resource processors after each use and creating new ones, the system recovers them by placing them in an idle state. This allows the same processor to be reused for subsequent requests, recovering the initialization overhead and reducing overall time consumption.
2Productivity
If resource processors are initialized for each thumbnail request, then thumbnails can be retrieved, but memory resources are exhausted due to repeated initialization overhead
Solution Approach 1:
The system recovers resource processors by maintaining them in an idle state rather than allowing them to be discarded and re-created. This significantly reduces memory consumption as the same processor objects are reused across multiple requests, eliminating the need for continuous allocation of new processor instances.
Solution Approach 2:
A single resource processor can serve multiple thumbnail requests sequentially by being placed in an idle state between requests. This multi-functionality allows one processor to handle multiple tasks, reducing the total number of processors needed and thus lowering memory requirements.
3Speed
If thumbnails are fetched in parallel to display results quickly, then user experience improves, but memory pressure increases causing potential crashes
Solution Approach 1:
By recovering resource processors into an idle state after each request, the system enables parallel thumbnail fetching without proportionally increasing the number of active processors. This maintains memory pressure at acceptable levels while still allowing concurrent requests to be handled efficiently.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In a video surveillance system comprising a plurality of recording servers, each storing video data received from at least one video surveillance camera, a method of processing requests for thumbnail images comprises receiving a thumbnail request to a main queue 200. The thumbnail request includes information indicating a specific video camera and a specific recording server. ng. thumbnail request is allocated to a recording server queue 250 corresponding to the specific recording server. It is determined whether an idle resource processor 260 associated with the recording server queue is available to process the thumbnail request. If no idle resource processor is available, then it is determined how many resource processors are associated with the recording server queue and, if this is less than a maximum number, a new resource processor is initiated for processing the thumbnail request and the new resource processor is put into an idle state after processing the thumbnail request.