Edge computing equipment, video data interaction method and device and storage medium

By using preset buffers and transmission number identification in the central processor of edge computing devices, video data distribution is optimized, video data distribution efficiency problem is solved during concurrent requests, and efficient data transmission and processing is achieved.

CN119255007AActive Publication Date: 2025-01-03CCB FINTECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411280061.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-01-03
Estimated Expiration
2044-09-12

AI Technical Summary

Technical Problem

Edge computing devices cannot efficiently distribute video data when they receive multiple concurrent video data requests, resulting in an increase in data transmission bandwidth usage and affecting processing efficiency.

Method used

By using preset buffers in the central processor to cache video data, and decide whether to issue data distribution instructions to the network processor based on the number of transmissions and processing methods of the video data, reduce unnecessary data transmission and achieve efficient video data distribution.

Benefits of technology

It effectively reduces the data transmission bandwidth between the central processor and the network processor, improves the distribution efficiency of video data, and realizes efficient processing of concurrent real-time data requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119255007A_ABST
    Figure CN119255007A_ABST
Patent Text Reader

Abstract

The invention provides edge computing equipment, a video data interaction method and device and a storage medium. Relates to the technical field of edge computing. The method comprises the following steps: when real-time data requests of a plurality of services are received, obtaining first request information of the real-time data requests; the first request information is used for indicating requested target video data; for any service, traversing a preset buffer area according to the first request information; the preset buffer area is used for caching a plurality of effective video data and a first identifier corresponding to the effective video data, and the first identifier is used for identifying the number of transmitted times of the effective video data; when the target video data exists in the preset buffer area, determining whether to issue a data distribution instruction carrying the target video data to a network processor according to the first identifier of the target video data; and the network processor is used for caching the target video data and forwarding the target video data to the service. The method is used for improving the distribution efficiency of the video data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of edge computing technology, and in particular to an edge computing device and a video data interaction method, device, and storage medium. Background Art

[0002] Edge computing devices refer to computing devices deployed at the edge of the network to process data and computing tasks close to the data source or user end.

[0003] Edge computing devices generally include multiple computing chips such as central processing units and graphics processing units, which are used to process different types of data and tasks. At present, edge computing devices are often used to process video data, involving the acquisition, storage, and distribution of video data to provide smart home services, smart transportation services, and other services.

[0004] In the above process, when multiple concurrent video data requests are received from multiple services, there is a defect that the video data cannot be distributed efficiently. Summary of the invention

[0005] The present application provides an edge computing device and a video data interaction method, apparatus, and storage medium for efficiently distributing video data when multiple concurrent video data requests are received.

[0006] In a first aspect, the present application provides a video data interaction method, which is applied to a central processor of an edge computing device, and the method includes:

[0007] When receiving real-time data requests from multiple services, obtaining first request information of the real-time data requests; the first request information is used to indicate the requested target video data, and the service is used to implement a preset function based on the target video data;

[0008] For a real-time data request of any service, traverse a preset buffer according to the first request information; the preset buffer is used to cache a plurality of valid video data and a first identifier corresponding to the valid video data, the first identifier is used to identify the number of times the valid video data is transmitted;

[0009] When the target video data exists in the preset buffer, it is determined whether to send a data distribution instruction carrying the target video data to the network processor according to the first identifier of the target video data; the network processor is used to cache the target video data and forward the target video data to the service.

[0010] In a possible design, determining whether to send a data distribution instruction carrying the target video data to a network processor according to the first identifier of the target video data includes:

[0011] When the number of transmissions indicated by the first identifier is not zero, sending a data distribution instruction that does not carry the target video data to the network processor;

[0012] When the number of transmissions indicated by the first identifier is zero, a data distribution instruction carrying the target video data is sent to the network processor.

[0013] In a possible design, the first request information is further used to indicate a target processing mode for the target video data; and the method further includes:

[0014] When the number of transmissions indicated by the first identifier is not zero, obtaining a second identifier of the target video data; the second identifier is used to indicate whether the target video data has been processed according to the target processing method;

[0015] If the second identifier indicates that the target video data has been processed according to the target processing method, a data distribution instruction without target demand data is issued to the network processor, so that the network processor distributes the cached target demand data to the service, wherein the target demand data is obtained after the target video data is processed according to the target processing method;

[0016] If the second identifier indicates that the target video data is not processed according to the target processing method, the target video data is processed according to the target processing method to obtain the target demand data, and a data distribution instruction carrying the target demand data is issued to the network processor.

[0017] In a possible design, the first request information is further used to indicate a target processing mode for the target video data; and the method further includes:

[0018] When the number of transmissions indicated by the first identifier is zero, the target video data is processed according to the target processing method to obtain target demand data of the service;

[0019] A data distribution instruction carrying the target demand data is issued to the network processor.

[0020] In one possible design, the target processing method includes frame extraction processing.

[0021] In one possible design, the method further includes:

[0022] When receiving video data from different sources, transcoding the video data to obtain video data in a unified format, and storing the video data in a data buffer;

[0023] For the video data in the data buffer, the video data is sent to the graphics processor, and valid video data returned by the graphics processor is received; the valid video data is obtained by the graphics processor deleting frames from the video data according to a preset rule;

[0024] The valid video data and the start time of the valid video data are stored in the preset buffer.

[0025] In one possible design, the method further includes:

[0026] The valid video data in the preset buffer is re-encoded to obtain cache data, and the cache data and the start time are stored in a video library.

[0027] In one possible design, the method further includes:

[0028] Upon receiving a cache data request from any service, obtaining second request information of the cache data request; the second request information is used to indicate the requested required cache data and a time interval of the required cache data, wherein the time interval includes a required start time;

[0029] Traversing the video library according to the second request information to determine target cache data; the target cache data includes cache data whose start time is the same as or closest to the required start time;

[0030] The target cache data is distributed to the service through the network processor.

[0031] In a second aspect, the present application provides a video data interaction device,

[0032] A method implemented by a central processor of an edge computing device, the device comprising:

[0033] An acquisition module, configured to acquire first request information of the real-time data request when receiving real-time data requests of multiple services; the first request information is used to indicate the target video data of the request, and the service is used to implement a preset function based on the target video data;

[0034] A traversal module, configured to traverse a preset buffer according to the first request information for any service; the preset buffer is configured to cache a plurality of valid video data and a first identifier corresponding to the valid video data, the first identifier being configured to identify the number of times the valid video data is transmitted;

[0035] A determination module is used to determine whether to send a data distribution instruction carrying the target video data to the network processor when the target video data exists in the preset buffer according to the first identifier of the target video data; the network processor is used to cache the target video data and forward the target video data to the service.

[0036] In a third aspect, an embodiment of the present application provides a central processing unit, wherein the central processing unit is used to implement the method as described in any one of the first aspects.

[0037] In a fourth aspect, an embodiment of the present application provides an edge computing device, comprising: a central processing unit, a network processor, a graphics processor, and a memory communicatively connected to the central processing unit; the memory stores computer execution instructions; the central processing unit executes the computer execution instructions stored in the memory, so that the central processing unit executes the method described in the first aspect and various possible designs of the first aspect.

[0038] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer execution instructions are stored. When a central processing unit executes the computer execution instructions, the video data interaction method described in the first aspect and various possible designs of the first aspect is implemented.

[0039] In a sixth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a central processing unit, implements the video data interaction method described in the first aspect and various possible designs of the first aspect.

[0040] The present application provides an edge computing device and a method, apparatus, and storage medium for interacting with video data, wherein the method for interacting with video data of the present application is applied to the central processor of the edge computing device. Specifically, in the present application, when the central processor receives real-time data requests from multiple services, it obtains the first request information of each real-time data request. Furthermore, for each service, the central processor traverses a preset buffer for storing valid video data and its corresponding first identifier according to the first request information to determine whether there is target video data required by the service in the preset buffer. Finally, when there is target video data in the preset buffer, it is determined whether to send a data distribution instruction carrying the target video data to the network processor according to the first identifier corresponding to the target video data stored in the preset buffer, so that the network processor distributes its cached target video data to the corresponding service, or forwards it to the corresponding service through the network processor. Through the method of the present application, when at least two services are used to request the same target video data, for the real-time data request in post-processing, the central processor does not need to take out the target video data from the preset buffer and send it to the network processor, but only needs to send a data distribution instruction that does not carry the target video data to the network processor, so that the network processor distributes the cached target video data to the corresponding service, thereby effectively reducing bandwidth occupancy and facilitating the efficient distribution of video data. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0042] Figure 1 This is an application scenario diagram of the video data interaction method applicable to the embodiment of the present application;

[0043] Figure 2 The process of the video data interaction method provided in the embodiment of the present application Figure 1 ;

[0044] Figure 3 The process of the video data interaction method provided in the embodiment of the present application Figure 2 ;

[0045] Figure 4 The process of the video data interaction method provided in the embodiment of the present application Figure 3 ;

[0046] Figure 5 A schematic diagram of the process of the video data interaction method provided in an embodiment of the present application;

[0047] Figure 6 A schematic diagram of the structure of a video data interaction device provided in an embodiment of the present application;

[0048] Figure 7 A schematic diagram of the structure of an edge computing device provided in an embodiment of the present application.

[0049] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0050] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0051] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of information such as financial data or user data involved shall comply with the provisions of relevant laws and regulations and shall not violate public order and good morals.

[0052] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0053] The Internet of Things refers to connecting various physical devices through the Internet so that they can communicate and collaborate with each other. These devices can include sensors, smart home devices, industrial machines, vehicles, etc. The goal of the Internet of Things is to achieve intelligent management and control of devices through data collection and analysis, thereby improving efficiency, reducing costs and improving user experience.

[0054] With the development of Internet of Things technology, edge computing is increasingly used in smart devices. The core of edge computing is to move data processing tasks from central servers to edge computing devices close to data sources to reduce data transmission delays and improve data processing efficiency and security. Edge computing devices generally include multiple computing chips such as central processing units, network processors, and chips for providing at least one specific service. Specifically, the service sends a data request to the central processor to obtain video data accessed by the edge computing device. When the central processor receives the data request, it responds to the data request and forwards the video data accessed by the edge computing device to the corresponding service through the network processor. It is understandable that the service can specifically be a smart home service, a smart transportation service, a bank smart monitoring service, etc.

[0055] Exemplarily, the edge computing device responds to the data request of the passenger flow prediction service, and sends the video data uploaded by the connected internal monitoring equipment of the bank to the passenger flow prediction service for corresponding processing to predict the passenger flow in a certain period of time. Among them, the processing may include operations such as deleting duplicate frames and extracting key frames. It can be understood that the passenger flow prediction service specifically includes a passenger flow prediction model, which, after training, can predict the passenger flow in a certain period of time based on the acquired video data. In actual applications, there are concurrent data requests received from multiple services. At this time, the distribution and processing of video data are realized through the above-mentioned edge computing device. For any data request, the central processor of the edge computing device forwards the corresponding video data to the corresponding service through the network processor, and there is a defect that the video data cannot be distributed efficiently.

[0056] Therefore, the present application provides an edge computing device and a video data interaction method, device, and storage medium to solve the above problems. Specifically, the video data interaction method in the present application is applied to the central processor of the edge computing device. For multiple concurrent real-time data requests, when the central processor processes each real-time data request for a service, it determines whether to send a data distribution instruction carrying the target video data to the network processor based on whether the target video data of the request has been requested, thereby reducing the data transmission bandwidth between the central processor and the network processor, which is conducive to the efficient distribution of video data and the efficient processing of concurrent real-time data requests.

[0057] It can be understood that the method of the present application is applicable to any IoT scenario that uses video data to achieve functions such as intelligent decision-making. Figure 1 is an application scenario diagram of the video data interaction method applicable to the embodiment of the present application, such as Figure 1 As shown, the edge computing device is connected to the monitoring equipment of each bank branch to obtain the video data of the monitoring equipment of each bank branch. The edge computing device provides services such as abnormal behavior monitoring service, customer flow prediction service, and employee behavior monitoring service. In addition, the edge computing device also includes a central processor, a network processor, and a preset buffer, wherein the preset buffer is used to cache the real-time video data accessed by the edge computing device.

[0058] Specifically, the aforementioned service sends a real-time data request to the central processor to obtain the corresponding target video data for abnormal behavior monitoring, passenger flow prediction, employee behavior monitoring, etc. Based on the method provided in the embodiment of the present application, the central processor traverses the preset buffer according to the corresponding first request information for indicating the target video data for the real-time data request of any service in the concurrent request to determine whether the preset buffer contains the target video data it needs. Furthermore, when the target video data exists, the corresponding number of transmissions is determined according to the corresponding first identifier. Based on the number of transmissions, determine whether to send a data distribution instruction carrying the target video data to the network processor to forward the target video data through the network processor, or to enable the network processor to send the cached target video data to the corresponding service.

[0059] Through the method provided in the embodiment of the present application, for target video data that has been transmitted a number of times that is not zero, the central processing unit can send a data distribution instruction that does not carry the target video data to the network processor, so as to reduce the data transmission bandwidth between the central processing unit and the network processor, thereby facilitating the efficient distribution of video data and achieving efficient processing of concurrent real-time data requests.

[0060] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0061] An embodiment of the present application provides a video data interaction method, which is applied to an edge computing device and executed by a central processing unit of the edge computing device. Figure 2 The process of the video data interaction method provided in the embodiment of the present application Figure 1 .like Figure 2 As shown, the video data interaction method includes:

[0062] S201, when receiving real-time data requests of multiple services, obtaining first request information of the real-time data requests.

[0063] The first request information is used to indicate the requested target video data, and the service is used to implement a preset function based on the target video data.

[0064] It is understandable that in this embodiment, the edge computing device provides a variety of services for implementing corresponding preset functions based on video data. For example, for the bank, the preset functions may be services such as customer flow prediction and abnormal behavior analysis. Specifically, the preset functions may be implemented by processing the video data accordingly through corresponding algorithms or models.

[0065] In this embodiment, when the above service needs to analyze and implement corresponding functions based on real-time video data, it sends a real-time data request to the central processor to obtain the required target video data.

[0066] In this embodiment, when receiving a real-time data request, the central processing unit obtains first request information corresponding to the real-time data request to determine target video data corresponding to the service requirement.

[0067] It is understandable that for edge computing devices that provide multiple services, their central processor may receive multiple real-time data requests at the same time.

[0068] S202: For a real-time data request of any service, traverse a preset buffer according to first request information.

[0069] The preset buffer is used to cache a plurality of valid video data and a first identifier corresponding to the valid video data, and the first identifier is used to identify the number of times the valid video data is transmitted.

[0070] S203: When the target video data exists in the preset buffer, determine whether to send a data distribution instruction carrying the target video data to the network processor according to the first identifier of the target video data.

[0071] The network processor is used to cache the target video data and forward the target video data to the service.

[0072] In this embodiment, for a real-time data request of any service, the central processing unit traverses the preset buffer according to the corresponding first request information to determine whether the preset buffer contains the target video data required by the current service.

[0073] Specifically, in this embodiment, the central processing unit caches the received real-time video data in a preset buffer. More specifically, in this embodiment, what is cached in the preset buffer is the valid video data obtained after processing the real-time video data, and the first identifier corresponding to the valid video data.

[0074] In this embodiment, the effective video data is obtained by deleting some video frames from the real-time video data, wherein the some video frames may be repeated frames in the real-time video data, or still frames or blurred frames in the real-time video data, etc., which are not limited in this embodiment.

[0075] Optionally, in practical applications, the real-time video data received by the CPU can also be directly cached in a preset buffer as valid video data without deleting some video frames, which is not limited in this embodiment. At this time, the preset buffer is specifically used to cache multiple real-time video data and their corresponding first identifiers.

[0076] It is understandable that when the central processor processes concurrent real-time data requests, there may be real-time data requests for requesting the same target video data. Therefore, in this embodiment, for each valid video data in the preset buffer, a flag is allocated to store its corresponding first identifier, which is used to identify the number of times the valid video data has been transmitted. It should be understood that the number of times the valid video data has been transmitted is specifically used to indicate the number of times the valid video data has been transmitted to the network processor by the central processor in response to a real-time data request of any service.

[0077] On this basis, when the central processor finds the target video data required by the corresponding service in the preset cache area, it further determines, based on the first identifier of the target video data, whether the target video data has been requested by other services and the real-time data request of the service has been processed, so as to determine whether to send a data distribution instruction carrying the target video data to the network processor.

[0078] It is understandable that when the target video data has not been requested, the central processor sends a data distribution instruction carrying the target video data to the network processor, so as to forward the target video data to the corresponding service through the network processor. When the network processor receives the data distribution instruction, it distributes the received target video data to the corresponding service and caches the target video data.

[0079] When the target video data has been transmitted a number of times that is not zero, that is, it has been requested and the real-time data request of the corresponding service has been processed, the central processor sends a data distribution instruction that does not carry the target video data to the network processor. The data distribution instruction is used to enable the network processor to distribute the cached target video data to the corresponding service.

[0080] In the method of this embodiment, for real-time data requests of multiple services concurrently, the central processor obtains the corresponding first request information to determine the target video data required by each service. Further, for the real-time data request of any service, the preset buffer is traversed based on the corresponding first request information to determine whether there is corresponding target video data in the preset buffer. When there is corresponding target video data in the preset buffer, it is determined whether to send a data distribution instruction carrying the target video data to the network processor based on whether the target video data has been requested.

[0081] Through the method of this embodiment, when the target video data of any task request has been requested before, the central processor does not need to repeatedly transmit the target cache data to the network processor, but directly enables the network processor to distribute its cached target video data to the corresponding service, thereby reducing the number of data transmissions between the central processor and the network processor. On the one hand, it effectively saves data storage space, and on the other hand, it effectively reduces the data transmission bandwidth, which is conducive to the efficient distribution of video data.

[0082] In one possible design, Figure 3 The process of the video data interaction method provided in the embodiment of the present application Figure 2 Based on the above-mentioned embodiments, this embodiment further describes in detail the method of determining whether to send a data distribution instruction carrying target video data to a network processor. Figure 3 As shown, the method of this embodiment includes the following steps:

[0083] S301, when receiving real-time data requests of multiple services, obtaining first request information of the real-time data requests.

[0084] The first request information is used to indicate the requested target video data and the target processing method for the target video data, and the service is used to implement a preset function based on the target video data.

[0085] Specifically, for the limitations on services, real-time data requests, and first request information, please refer to the limitations on S201 in the aforementioned embodiment, which will not be repeated here.

[0086] It is understandable that when services for implementing different preset functions perform corresponding analysis based on acquired real-time video data, it is sometimes necessary to process the real-time video data and perform analysis based on the processed video data. For example, for a service for providing abnormal behavior monitoring, after acquiring the required real-time video data, in order to improve the processing speed of the algorithm or model, it is necessary to first extract the key frames containing the monitored object in the real-time video data, and feed these key frames into the algorithm or model to obtain the monitoring and analysis results.

[0087] Therefore, in this embodiment, the first request information also includes a target processing method, and the target processing method may include frame extraction processing. In practical applications, the target processing method may also include clearing processing of real-time video data, etc., which is not limited in this embodiment.

[0088] S302: For any service, traverse a preset buffer according to the first request information.

[0089] The preset buffer is used to cache a plurality of valid video data and a first identifier corresponding to the valid video data, and the first identifier is used to identify the number of times the valid video data is transmitted.

[0090] In this embodiment, the valid video data cached in the preset buffer is obtained by deleting duplicate frames from the real-time video data.

[0091] S303, if the target video data exists in the preset buffer, determine whether the number of transmissions indicated by the first flag is not zero. If yes, execute S304, otherwise, execute S307.

[0092] S304: Obtain a second identifier of the target video data.

[0093] The second identifier is used to indicate whether the target video data has been processed according to the target processing method.

[0094] S305: If the second identifier indicates that the target video data has been processed according to the target processing method, a data distribution instruction without the target demand data is issued to the network processor, so that the network processor distributes the cached target demand data to the service.

[0095] The target demand data is obtained by processing the target video data according to the target processing method.

[0096] S306: If the second identifier indicates that the target video data is not processed according to the target processing method, the target video data is processed according to the target processing method to obtain target demand data, and a data distribution instruction carrying the target demand data is issued to the network processor.

[0097] S307, processing the target video data according to the target processing method to obtain target demand data of the service.

[0098] S308: Send a data distribution instruction carrying target demand data to the network processor.

[0099] It is understandable that the services corresponding to multiple concurrent real-time data requests sometimes require data obtained after processing the same target video data in the same target processing method. Therefore, in this embodiment, the central processing unit sets a second flag bit for each valid video data in the preset buffer to store a second identifier to identify whether the corresponding valid video data has been processed by the target processing method.

[0100] On this basis, for any real-time data request for a service, when the central processor has the target video data corresponding to the real-time data request in the preset buffer, it first determines the number of times the corresponding target video data has been transmitted based on its corresponding first identifier to determine whether the target video data has been requested and has been transmitted by the central processor. Furthermore, when the first identifier indicates that the number of times the target video data has been transmitted is not zero, the second identifier of the target video data is obtained.

[0101] Specifically, when the second identifier is used to indicate that the target video data has been processed in the target processing manner, the central processor sends a data distribution instruction without carrying the target demand data to the network processor, so that the network processor distributes the cached target demand data to the corresponding service.

[0102] It is understandable that the target demand data cached in the network processor is obtained after the central processor processes the target video data in a target processing manner, and is sent to the network processor when a request consistent with the target processing manner is received for the first time.

[0103] Correspondingly, when the second identifier is used to indicate that the target video data is not processed in accordance with the target processing method, the central processor processes the target video data in accordance with the target processing method to obtain the target demand data, and sends a data distribution instruction carrying the target demand data to the network processor to forward the target demand data to the corresponding service through the network processor.

[0104] It is understandable that, for valid video data in the preset buffer, after the central processor processes it in any target processing manner and sends it to the network processor, the number of transmissions indicated by the corresponding first identifier is not zero.

[0105] Optionally, in actual applications, the first identifier can also be used to simultaneously indicate the number of times valid video data is transmitted and the corresponding target processing method. Based on this, for a real-time data request for any service, the central processor determines whether it is necessary to send a data distribution instruction carrying the target demand data processed by the target processing method to the network processor based on the first identifier of the target video data. This is not limited in this embodiment.

[0106] Specifically, if the first identifier indicates that the central processor has transmitted the target video data processed by the target processing method, the central processor sends a data distribution instruction without the target required data to the network processor. Otherwise, the central processor sends a data distribution instruction carrying the processed target required video data to the network processor.

[0107] For example, if the abnormal behavior monitoring service and the employee behavior monitoring service provided by the edge computing device are both used to monitor employee behavior, then both the abnormal behavior monitoring service and the employee behavior monitoring service need to be based on video data after extracting key frames containing the corresponding employees, that is, the abnormal behavior monitoring service and the employee behavior monitoring service have the same target processing method for real-time video data.

[0108] Therefore, when the CPU receives the real-time data requests from the above two services at the same time, when processing the real-time data request corresponding to the abnormal behavior monitoring service, it first determines the target video data of the service based on the corresponding first request information. Furthermore, when the target video data exists in the preset buffer, its first identifier is obtained to determine whether it indicates that the number of times it has been transmitted is not zero. It is understandable that if the number of times it has been transmitted is not zero, it means that it has been requested by the employee behavior monitoring service or other services and the corresponding real-time data request has been processed.

[0109] If the first identifier indicates that the number of transmissions is not zero, then further obtain its corresponding second identifier. If the second identifier indicates that it has been processed according to the target processing method, then send the target demand data without processing to the network processor so that the network processor distributes it to the abnormal behavior monitoring service. It can be understood that this means that the central processor has processed the real-time data request of the employee behavior monitoring service, or other services whose target video data is consistent with the target processing method.

[0110] If the second identifier indicates that it has not been processed in accordance with the target processing method, the processed target demand data is sent to the network processor so that the network processor distributes it to the abnormal behavior monitoring service. It is understandable that when the central processor processes the real-time data request of the employee behavior monitoring service, it sends a data distribution instruction without the target demand data to the network processor so that the network processor distributes its cached target demand data to the employee behavior monitoring service.

[0111] If the first identifier indicates that the target video data has been transmitted zero times, it means that the central processor has not yet processed other services that are consistent with the target video data. At this time, the central processor processes the target video data in accordance with the target processing method to obtain the target demand data, and sends the data distribution instruction carrying the target demand data to the network processor, so that the network processor distributes it to the abnormal behavior monitoring service. It is understandable that when the central processor processes the real-time data request of the employee behavior monitoring service, it sends the data distribution instruction without the target demand data to the network processor, so that the network processor distributes its cached target demand data to the employee behavior monitoring service.

[0112] In the method of this embodiment, for each real-time data request, when the central processor has the required target video data in the preset buffer, it determines whether it is necessary to send a data distribution instruction carrying the target required data to the network processor based on the first identifier and the second identifier, so that the network processor distributes the target required data to the corresponding service.

[0113] Through the method provided by this embodiment, for services with consistent target demand data, the central processor does not need to repeatedly transmit the corresponding target demand data to the network processor, which is conducive to achieving efficient distribution of video data. In addition, the central processor sends a data distribution instruction carrying the target demand data to the network processor, avoiding the corresponding service from processing the target video data, which is conducive to improving the performance of the corresponding service.

[0114] Figure 4 The process of the video data interaction method provided in the embodiment of the present application Figure 3 Based on the above-mentioned embodiments, this embodiment further describes in detail the processing method for the received video data and the processing method for the cache data request. Figure 4 As shown, the following steps are included:

[0115] S401, when receiving video data from different sources, transcoding the video data to obtain video data in a unified format, and storing the video data in a data buffer.

[0116] In this embodiment, different sources specifically refer to different cameras, and the central processing unit can receive video data from different cameras and can transcode the received video data to obtain video data with a unified format. Specifically, in this embodiment, the final format of the video data is not limited, as long as the video data is unified into one format.

[0117] In this embodiment, the central processor includes a video data access module, which completes the adaptation and integration of different camera SDKs to form a device access component, so as to receive video data from different sources. The video data access module unifies the received video data into a preset format so as to store the video data into a data buffer through a unified data interface.

[0118] S402 , sending the video data in the data buffer to a graphics processor, and receiving valid video data returned by the graphics processor.

[0119] The effective video data is obtained by the graphics processor performing frame deletion processing on the video data according to a preset rule.

[0120] S403, storing the valid video data and the start time of the valid video data into a preset buffer.

[0121] S404, re-encode the valid video data in the preset buffer to obtain cache data, and store the cache data and the start time in the video library.

[0122] Specifically, in this embodiment, the central processing unit also includes a video storage module, which is used to take out video data from the data buffer and send the video data to the graphics processor. The video storage module is also used to receive valid video data returned by the graphics processor and store the valid video data and the start time of the valid video data in a preset buffer.

[0123] Specifically, when the graphics processor receives the video data, it deletes the duplicate frames in the video according to the specified reference image to obtain valid video data corresponding to the video data. It is understandable that when the first frame and the second frame of the video data differ only in time, the image of the first frame is used as the specified reference image, and the data consistent with the specified reference image outside the first frame is deleted to obtain valid video data. It is understandable that for any video data, there may be a situation where the nth frame and the n+1th frame differ only in time. At this time, the graphics processor uses the image of the nth frame as the specified reference image, and deletes the data consistent with the specified reference image outside the nth frame to obtain valid video data.

[0124] Furthermore, for any video data, when the video storage module deletes duplicate frames to obtain valid video data, the start time of the first frame in the valid video data is used as the start time of the valid video data, and the video storage module stores the valid video data and the start time of the valid video data in a preset buffer.

[0125] For the valid video data in the preset buffer, the central processing unit obtains the corresponding target video data from the preset buffer when receiving the real-time data request. In this embodiment, the video storage module performs secondary encoding on the valid video data in the preset buffer to obtain cache data, and stores the cache data and the start time of the cache data in the video library.

[0126] S405: When receiving a cache data request from any service, obtain second request information of the cache data request.

[0127] The second request information is used to indicate the requested required cache data and the time interval of the required cache data, and the time interval includes the required start time.

[0128] S406: traverse the video library according to the second request information to determine target cache data.

[0129] The target cache data includes cache data whose start time is the same as or closest to the required start time.

[0130] S407, distribute the target cache data to the service through the network processor.

[0131] In this embodiment, the central processing unit also includes a video data processing and distribution module, which is used to implement the processing of the real-time data request in the above embodiment, and is also used to process the cache data request. Specifically, when the video processing and distribution module receives a cache data request from any service, it obtains the second request information of the cache data request to determine the required cache data of the service and the corresponding time interval. Among them, the definition of the corresponding service can refer to the definition in the above embodiment, which will not be repeated here.

[0132] In this embodiment, the video processing and distribution module traverses the video library according to the second request information to determine the target cache data. Specifically, the video processing and distribution module determines the target cache data according to the cache data in the video library that has the same or closest start time as the required cache data.

[0133] Furthermore, the video processing and distribution module distributes the obtained target cache data to the corresponding service. Specifically, the video processing and distribution module sends a data distribution instruction carrying the target cache data to the network processor, so that the network processor distributes it to the corresponding service.

[0134] It is understandable that there may be at least two services with consistent target cache data, which initiate cache data requests at the same time or at a preset time interval. At this time, when the corresponding target cache data is still cached in the network processor, the video processing and distribution module enables the network processor to distribute its cached target cache data to the corresponding service without transmitting the target cache data to the network processor. This allows the central processor to effectively reduce the data transmission bandwidth when receiving concurrent cache data requests.

[0135] Optionally, the second request information may also include a target processing method. The video processing and distribution module processes the target cache data according to the target processing method to obtain the target data, and sends a data distribution instruction carrying the target data to the network processor to avoid the corresponding service performing data processing on its own.

[0136] Figure 5 A process diagram of a video data interaction method provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the central processing unit receives video data from different sources, transcodes the video data from different sources into video data with a unified format, and stores the video data in a data buffer.

[0137] Further, the central processing unit transmits the video data in the data buffer to the graphics processor, and the graphics processor performs a frame deletion operation on the data buffer to obtain valid video data and feed it back to the central processing unit. The central processing unit stores the valid video data in a preset buffer. Further, the central processing unit performs secondary encoding on the valid video data in the preset buffer to obtain cache data, and stores the cache data in the video library.

[0138] like Figure 5 As shown, when the central processor receives a real-time data request from any service x or service y, it responds to the real-time data request to obtain valid video data in the preset buffer for corresponding processing. When the central processor receives a cache data request from any service z, it responds to the cache data request to obtain cache data in the video library for corresponding processing.

[0139] Figure 6 This is a schematic diagram of the structure of the video data interaction device provided in the embodiment of the present application. Figure 6 As shown, the video data interaction device includes: an acquisition module 61, a traversal module 62 and a determination module 63;

[0140] The acquisition module 61 is used to acquire first request information of the real-time data request when receiving real-time data requests from multiple services; the first request information is used to indicate the target video data of the request, and the service is used to implement a preset function based on the target video data;

[0141] The traversal module 62 is used to traverse a preset buffer according to the first request information for any service; the preset buffer is used to cache a plurality of valid video data and a first identifier corresponding to the valid video data, and the first identifier is used to identify the number of times the valid video data is transmitted;

[0142] The determination module 63 is used to determine whether to send a data distribution instruction carrying the target video data to the network processor according to the first identifier of the target video data when the target video data exists in the preset buffer; the network processor is used to cache the target video data and forward the target video data to the service.

[0143] In some embodiments, the determination module 63 is specifically configured to:

[0144] When the number of transmissions indicated by the first identifier is not zero, sending a data distribution instruction that does not carry the target video data to the network processor;

[0145] When the number of transmissions indicated by the first identifier is zero, a data distribution instruction carrying the target video data is sent to the network processor.

[0146] In some embodiments, the determination module 63 is further configured to:

[0147] The first request information is also used to indicate a target processing method for the target video data; when the number of transmissions indicated by the first identifier is not zero, a second identifier of the target video data is obtained; the second identifier is used to indicate whether the target video data has been processed according to the target processing method;

[0148] If the second identifier indicates that the target video data has been processed according to the target processing method, a data distribution instruction without the target demand data is issued to the network processor, so that the network processor distributes the cached target demand data to the service, the target demand data being obtained after the target video data is processed according to the target processing method;

[0149] If the second identifier indicates that the target video data is not processed according to the target processing method, the target video data is processed according to the target processing method to obtain the target demand data, and a data distribution instruction carrying the target demand data is issued to the network processor.

[0150] In some embodiments, the determination module 63 is further configured to:

[0151] The first request information is also used to indicate a target processing method for the target video data; when the number of transmissions indicated by the first identifier is zero, the target video data is processed according to the target processing method to obtain the target demand data of the service;

[0152] Send data distribution instructions carrying target demand data to the network processor.

[0153] In some embodiments, the target processing method includes frame extraction processing.

[0154] In some embodiments, the device further includes a storage module (not shown in the figure), which is specifically used to:

[0155] When receiving video data from different sources, transcoding the video data to obtain video data in a unified format, and storing the video data in a data buffer;

[0156] For the video data in the data buffer, the video data is sent to the graphics processor, and valid video data returned by the graphics processor is received; the valid video data is obtained by the graphics processor by deleting frames from the video data according to a preset rule;

[0157] The valid video data and the start time of the valid video data are stored in a preset buffer.

[0158] In some embodiments, the storage module is further configured to:

[0159] The valid video data in the preset buffer is re-encoded to obtain cache data, and the cache data and the start time are stored in the video library.

[0160] In some embodiments, the device further includes a processing module (not shown in the figure), which is specifically configured to:

[0161] Upon receiving a cache data request from any service, obtaining second request information of the cache data request; the second request information is used to indicate the requested required cache data and the time interval of the required cache data, the time interval including the required start time;

[0162] According to the second request information, the video library is traversed to determine the target cache data; the target cache data includes the cache data whose start time is the same as or closest to the required start time;

[0163] Distribute target cache data to services via network processors.

[0164] The video data interaction device provided in the embodiment of the present application can be used to execute the technical solution of the video data interaction method in the above embodiment. Its implementation principle and technical effect are similar and will not be repeated here.

[0165] It should be noted that it should be understood that the division of the various modules of the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And these modules can all be implemented in the form of software called by processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software called by processing elements, and some modules can be implemented in the form of hardware. For example, the determination module 63 can be a separately established processing element, or it can be integrated in a chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called and executed by a processing element of the above device. The function of the above determination module 63. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each module above can be completed by an integrated logic circuit of hardware in the processor element or instructions in the form of software.

[0166] An embodiment of the present application provides a central processing unit, which is used to implement the video data interaction method as described in the aforementioned method embodiment.

[0167] An embodiment of the present application provides an edge computing device, including: a central processing unit, a network processor, a graphics processor, and a memory connected to the central processing unit; the memory stores computer execution instructions; the central processing unit executes the computer execution instructions stored in the memory, so that the central processing unit executes the video data interaction method in the above method embodiment.

[0168] Figure 7This is a schematic diagram of the structure of the edge computing device provided in the embodiment of the present application. Figure 7 As shown, the edge computing device may include: a transceiver 71, a processor 72, and a memory 73.

[0169] In this embodiment, the processor 72 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc. The central processing unit 7 executes the computer execution instructions stored in the memory 73, so that the processor 72 implements the solution in the above embodiment. The processor 72 may also be a digital signal processor DSP, an application-specific integrated circuit ASIC, a field programmable gate array FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0170] The memory 73 is connected to the processor 72 via a system bus and completes communication between them. The memory 73 is used to store computer program instructions.

[0171] The transceiver 71 may be used to obtain tasks to be executed and configuration information of the tasks to be executed.

[0172] The system bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. The transceiver is used to realize the communication between the database access device and other computers (such as clients, read-write libraries, and read-only libraries). The memory may include random access memory (RAM) and may also include non-volatile memory.

[0173] An embodiment of the present application also provides a chip for running instructions, which is used to execute the technical solution of the video data interaction method in the above embodiment.

[0174] An embodiment of the present application further provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed on a computer, the computer executes the technical solution of the video data interaction method of the above embodiment.

[0175] An embodiment of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium. When at least one processor executes the computer program, the technical solution of the video data interaction method in the above embodiment can be implemented.

[0176] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules is only a logical function division, and there may be other division methods in actual implementation, such as multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical, mechanical or other forms.

[0177] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to implement the solution of this embodiment.

[0178] In addition, each functional module in each embodiment of the present application can be integrated into one processing unit, or each module can exist physically separately, or two or more modules can be integrated into one unit. The above-mentioned module-composed unit can be implemented in the form of hardware or in the form of hardware plus software functional units.

[0179] The above-mentioned integrated module implemented in the form of a software function module can be stored in a computer-readable storage medium. The above-mentioned software function module is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the methods of various embodiments of the present application.

[0180] It should be understood that the above-mentioned memory may include high-speed RAM memory, and may also include non-volatile storage NVM, such as at least one disk memory, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a disk or an optical disk, etc.

[0181] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.

[0182] The above storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The storage medium can be any available medium that can be accessed by a general or special purpose computer.

[0183] An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the storage medium can also exist as discrete components in an electronic control unit or a main control device.

[0184] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0185] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application 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 application.

Claims

1. A video data interaction method, characterized in that: A central processing unit applied to an edge computing device, the method comprising: When receiving real-time data requests from multiple services, obtaining first request information of the real-time data requests; the first request information is used to indicate the requested target video data, and the service is used to implement a preset function based on the target video data; For a real-time data request of any service, traverse a preset buffer according to the first request information; the preset buffer is used to cache a plurality of valid video data and a first identifier corresponding to the valid video data, the first identifier is used to identify the number of times the valid video data is transmitted; When the target video data exists in the preset buffer, it is determined whether to send a data distribution instruction carrying the target video data to the network processor according to the first identifier of the target video data; the network processor is used to cache the target video data and forward the target video data to the service.

2. The method according to claim 1, characterized in that The determining, according to the first identifier of the target video data, whether to send a data distribution instruction carrying the target video data to the network processor comprises: When the number of transmissions indicated by the first identifier is not zero, sending a data distribution instruction that does not carry the target video data to the network processor; When the number of transmissions indicated by the first identifier is zero, a data distribution instruction carrying the target video data is sent to the network processor.

3. The method according to claim 2, characterized in that The first request information is also used to indicate a target processing method for the target video data; the method further includes: When the number of transmissions indicated by the first identifier is not zero, obtaining a second identifier of the target video data; the second identifier is used to indicate whether the target video data has been processed according to the target processing method; If the second identifier indicates that the target video data has been processed according to the target processing method, a data distribution instruction without target demand data is issued to the network processor, so that the network processor distributes the cached target demand data to the service, wherein the target demand data is obtained after the target video data is processed according to the target processing method; If the second identifier indicates that the target video data is not processed according to the target processing method, the target video data is processed according to the target processing method to obtain the target demand data, and a data distribution instruction carrying the target demand data is issued to the network processor.

4. The method according to claim 2, characterized in that: The first request information is also used to indicate a target processing method for the target video data; the method further includes: When the number of transmissions indicated by the first identifier is zero, the target video data is processed according to the target processing method to obtain target demand data of the service; A data distribution instruction carrying the target demand data is issued to the network processor.

5. The method according to claim 3 or 4, characterized in that: The target processing method includes frame extraction processing.

6. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: When receiving video data from different sources, transcoding the video data to obtain video data in a unified format, and storing the video data in a data buffer; For the video data in the data buffer, the video data is sent to the graphics processor, and valid video data returned by the graphics processor is received; the valid video data is obtained by the graphics processor deleting frames from the video data according to a preset rule; The valid video data and the start time of the valid video data are stored in the preset buffer.

7. The method according to claim 6, characterized in that The method further comprises: The valid video data in the preset buffer is re-encoded to obtain cache data, and the cache data and the start time are stored in a video library.

8. The method according to claim 7, characterized in that The method further comprises: Upon receiving a cache data request from any service, obtaining second request information of the cache data request; the second request information is used to indicate the requested required cache data and a time interval of the required cache data, wherein the time interval includes a required start time; Traversing the video library according to the second request information to determine target cache data; the target cache data includes cache data whose start time is the same as or closest to the required start time; The target cache data is distributed to the service through the network processor.

9. A video data interaction device, characterized in that: A method implemented by a central processor of an edge computing device, the device comprising: An acquisition module, configured to acquire first request information of the real-time data request when receiving real-time data requests of multiple services; the first request information is used to indicate the target video data of the request, and the service is used to implement a preset function based on the target video data; A traversal module, configured to traverse a preset buffer according to the first request information for any service; the preset buffer is configured to cache a plurality of valid video data and a first identifier corresponding to the valid video data, the first identifier being configured to identify the number of times the valid video data is transmitted; A determination module is used to determine whether to send a data distribution instruction carrying the target video data to the network processor when the target video data exists in the preset buffer according to the first identifier of the target video data; the network processor is used to cache the target video data and forward the target video data to the service.

10. A central processing unit, characterized in that: The central processing unit is used to implement the method according to any one of claims 1-8.

11. An edge computing device, characterized in that: include: A central processing unit, a network processor, a graphics processor, and a memory communicatively connected to the central processing unit; The memory stores computer-executable instructions; The central processing unit executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 8.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 8 when executed by a central processing unit.

13. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 8 when being executed by a central processing unit.

Citation Information

Patent Citations

  • Service calling method, device and system and computer readable storage medium

    CN116208677A

  • Video processing device, control method and effect switcher

    JP2015084468A

  • Method and apparatus for cloud monitoring based on edge computing, electronic device, and storage medium

    WO2021151279A1

  • P2p-based data distribution method, apparatus and system

    WO2022089008A1

  • Data refreshing method and apparatus, and electronic device and computer-readable storage medium

    WO2022127319A1