Multimedia data detection method, apparatus, device, and storage medium

CN116521383BActive Publication Date: 2026-10-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210066227.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-20
Publication Date
2026-10-27
Estimated Expiration
2042-01-20

AI Technical Summary

Technical Problem

然而,不同的能力接口及其调用方式各不相同,调用过程中的响应时间各异,需根据不同场景和能力提供方的类型来分别开发调用接口,涉及大量开发和兼容检测工作,研发及执行过程复杂且繁琐,耗费大量时间成本和资源,检测效率低下

Benefits of technology

本申请的技术方案通过检测接口接收调用方针对待检测多媒体数据发送的数据检测请求,其中,待检测多媒体数据包括至少一个多媒体元素,数据检测请求携带有调用方的调用方标识和多媒体元素的元素类别信息;确定与调用方标识匹配的至少一种元素检测能力;在元素类别信息对应的线程池中,创建待检测多媒体数据中各多媒体元素各自对应的元素检测任务,其中,单个线程池中的元素检测任务对应相同元素类别的多媒体元素;分别基于各元素检测任务调用至少一种元素检测能力的能力接口,以对对应的多媒体元素进行数据检测,得到各多媒体元素各自的数据检测结果。通过提供检测接口向不同调用方提供多种元素检测能力,实现对外部检测能力的兼容和整合,并且,针对调用方配置元素检测能力,实现检测能力的场景化设置,降低调用方的检测复杂度,提升开发效率,有利于代码维护;此外,针对元素类别构建不同的线程池,以处理不同元素类别的检测任务,实现资源隔离和并行处理,有利于资源合理分配和任务调度,减少资源浪费,提高检测效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116521383B_ABST
    Figure CN116521383B_ABST
Patent Text Reader

Abstract

The application provides a multimedia data detection method and device, equipment and storage medium, relates to the artificial intelligence technical field, can be applied to cloud technology, artificial intelligence, intelligent transportation, auxiliary driving and various scenes, including: receiving a data detection request sent by a calling party through a detection interface for to-be-detected multimedia data, the to-be-detected multimedia data comprising at least one multimedia element, the data detection request carrying a calling party identifier of the calling party and element category information of the multimedia element; determining at least one element detection capability matched with the calling party identifier; in a thread pool corresponding to the element category information, creating an element detection task corresponding to each multimedia element in the to-be-detected multimedia data; respectively calling an ability interface of the at least one element detection capability based on each element detection task to perform data detection on the corresponding multimedia element, and obtaining a data detection result of each multimedia element. The application can effectively improve the detection efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to a multimedia data detection method, apparatus, device, and storage medium. Background Technology

[0002] With the rapid development of internet technology, multimedia data is widely disseminated through the internet, providing the public with a wealth of information, improving the convenience of information access, and greatly assisting learning, work, and life. However, some multimedia data may also contain inappropriate content, such as sensitive or plagiarized data, causing negative impacts. Therefore, content detection is necessary before multimedia data is uploaded online. Multimedia data typically involves different categories of elements such as images, text, audio, and video. The required detection content and items vary depending on the application scenario, usually requiring the use of multiple machine detection capabilities.

[0003] Existing methods typically require determining the necessary machine detection capabilities for different detection scenarios and then invoking various capability interfaces according to the invocation methods specified by the capability provider to obtain detection results. However, different capability interfaces and their invocation methods vary, resulting in different response times during the invocation process. This necessitates developing separate invocation interfaces for different scenarios and capability provider types, involving significant development and compatibility testing work. The research and development and execution process is complex and cumbersome, consuming substantial time and resources, and resulting in low detection efficiency. Therefore, an improved multimedia data detection solution is needed to address the problems existing in related technologies. Summary of the Invention

[0004] This application provides a multimedia data detection method, apparatus, and storage medium, which can effectively reduce time costs and resource consumption, and significantly improve detection efficiency.

[0005] On the one hand, this application provides a multimedia data detection method, the method comprising: The detection interface receives a data detection request sent by the calling party to the multimedia data to be detected, wherein the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the calling party's calling party identifier and the element category information of the multimedia element. Determine the ability to detect at least one element that matches the caller identifier; In the thread pool corresponding to the element category information, an element detection task corresponding to each multimedia element in the multimedia data to be detected is created. The element detection task in a single thread pool corresponds to the multimedia elements of the same element category. The capability interface of at least one element detection capability is called based on each element detection task to perform data detection on the corresponding multimedia element and obtain the data detection results of each multimedia element.

[0006] On the other hand, a multimedia data detection device is provided, the device comprising: Detection request receiving module: used to receive a data detection request sent by the calling party to the multimedia data to be detected through the detection interface, wherein the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the calling party identifier of the calling party and the element category information of the multimedia element; Element detection capability determination module: used to determine at least one element detection capability that matches the caller identifier; Detection task creation module: used to create element detection tasks corresponding to each multimedia element in the multimedia data to be detected in the thread pool corresponding to the element category information, wherein the element detection tasks in a single thread pool correspond to multimedia elements of the same element category; Capability Interface Call Module: Used to call the capability interface of at least one element detection capability based on each element detection task, so as to perform data detection on the corresponding multimedia elements and obtain the data detection results of each multimedia element.

[0007] On the other hand, a computer device is provided, the device including a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the multimedia data detection method as described above.

[0008] On the other hand, a computer-readable storage medium is provided, wherein at least one instruction or at least one program is stored therein, the at least one instruction or the at least one program being loaded and executed by a processor to implement the multimedia data detection method as described above.

[0009] On the other hand, a terminal is provided, the terminal including a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the multimedia data detection method as described above.

[0010] On the other hand, a server is provided, the server including a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the multimedia data detection method as described above.

[0011] On the other hand, a computer program product or computer program is provided, which includes computer instructions that, when executed by a processor, implement the multimedia data detection method described above.

[0012] The multimedia data detection method, apparatus, device, storage medium, terminal, server, computer program, and computer program product provided in this application have the following technical effects: The technical solution of this application receives data detection requests from a caller for multimedia data to be detected through a detection interface. The multimedia data to be detected includes at least one multimedia element, and the data detection request carries the caller's identifier and the element category information of the multimedia element. It determines at least one element detection capability that matches the caller identifier. In the thread pool corresponding to the element category information, it creates element detection tasks for each multimedia element in the multimedia data to be detected, where each element detection task in a single thread pool corresponds to multimedia elements of the same element category. It then calls the capability interface of at least one element detection capability based on each element detection task to perform data detection on the corresponding multimedia element, obtaining the data detection results for each multimedia element. By providing a detection interface, it offers multiple element detection capabilities to different callers, achieving compatibility and integration with external detection capabilities. Furthermore, it configures element detection capabilities for callers, enabling scenario-based settings for detection capabilities, reducing the detection complexity for callers, improving development efficiency, and facilitating code maintenance. In addition, it constructs different thread pools for element categories to handle detection tasks of different element categories, achieving resource isolation and parallel processing, which is beneficial for reasonable resource allocation and task scheduling, reducing resource waste, and improving detection efficiency. Attached Figure Description

[0013] To more clearly illustrate the technical solutions and advantages in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0014] Figure 1 This is a schematic diagram of an application environment provided in an embodiment of this application; Figure 2 This is a flowchart illustrating a multimedia data detection method provided in an embodiment of this application; Figure 3 This is a schematic diagram of a thread pool framework provided in an embodiment of this application; Figure 4 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 5 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 6 This is a schematic diagram of the storage structure framework of a detection result cache library provided in an embodiment of this application; Figure 7 This is a schematic diagram illustrating the principle of an advertising multimedia data detection method provided in an embodiment of this application; Figure 8 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 9 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 10 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 11 This is a flowchart illustrating another multimedia data detection method provided in an embodiment of this application; Figure 12 This is a schematic diagram of the framework of a multimedia data detection device provided in an embodiment of this application; Figure 13 This is a hardware structure block diagram of an electronic device for a multimedia data detection method provided in an embodiment of this application; Figure 14 This is a schematic diagram of the structure of a blockchain system provided in an embodiment of this application. Detailed Implementation

[0015] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0016] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or sub-modules is not necessarily limited to those steps or sub-modules explicitly listed, but may include other steps or sub-modules not explicitly listed or inherent to such processes, methods, products, or devices.

[0017] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0018] Multimedia elements: including text, images, audio, and video, which serve as carriers of information and are disseminated on the Internet.

[0019] API (Application Programming Interface): These are predefined interfaces (such as functions or HTTP interfaces), or conventions for connecting different components of a software system. They provide applications and developers with a set of routines accessible to them based on specific software or hardware, without requiring access to the source code or understanding of the internal workings. Software developers expose their capabilities as services; a service interface is an API.

[0020] HTTP (Hypertext Transfer Protocol) is a request-response protocol that typically runs on top of TCP. It specifies what messages a client might send to a server and what responses it might receive.

[0021] QPS (Queries-per-second) is a measure of how much traffic a specific query server processes within a given time period.

[0022] Please see Figure 1 , Figure 1 This is a schematic diagram of an application environment provided in an embodiment of this application, such as... Figure 1 As shown, the application environment may include at least terminal 01, first server 02, and second server 03. In practical applications, terminal 01, first server 02, and second server 03 can be directly or indirectly connected via wired or wireless communication, and this application does not impose any restrictions on this.

[0023] In this embodiment of the application, the servers involved in the first server 02 and the second server 03 can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0024] Specifically, cloud technology refers to a managed technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. It distributes computing tasks across a resource pool composed of numerous computers, enabling various application systems to access computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." Artificial intelligence cloud services are generally also known as AIaaS (AI as a Service). This is currently a mainstream service model for artificial intelligence platforms. Specifically, AIaaS platforms break down several common AI services and provide them as independent or packaged services in the cloud. This service model is similar to opening an AI-themed marketplace: all developers can access and use one or more AI services provided by the platform through API interfaces. Some experienced developers can also use the AI ​​framework and AI infrastructure provided by the platform to deploy and maintain their own dedicated cloud AI services.

[0025] Specifically, the servers mentioned above may include physical devices, such as network communication submodules, processors, and memory, as well as software running on the physical devices, such as applications.

[0026] In this embodiment, terminal 01 may include physical devices such as smartphones, desktop computers, tablets, laptops, digital assistants, augmented reality (AR) / virtual reality (VR) devices, smart voice interaction devices, smart home appliances, smart wearable devices, and in-vehicle terminal devices, and may also include software running on the physical device, such as applications.

[0027] In this embodiment, terminal 01 is the caller, used to send a data detection request for multimedia data to the first server 02; the first server 02 runs a multimedia data detection platform, used to provide a detection interface, and receive data detection requests through the detection interface to provide data detection services for multimedia data, as well as the capability interface for calling third-party detection services to perform corresponding data detection, and to feed back the data detection results; the second server 03 runs a third-party detection service, used to provide external element detection capabilities for the multimedia data detection platform, and provide a capability interface, and respond to the call of the capability interface to perform data detection on multimedia elements of different element categories, and feed back the detection results to the first server 02, so that the first server 02 can summarize the detection results and feed them back to the caller of the terminal.

[0028] Furthermore, it is understandable that Figure 1 The example shown is merely an application environment for a multimedia data detection method. This application environment may include more or fewer nodes, and this application does not impose any limitations on it.

[0029] The application environment involved in this application embodiment, or the server of the local server 02 or cloud server 03 in the application environment, and the terminal 01, can be a distributed system formed by connecting clients and multiple nodes (any form of computing device accessing the network, such as servers and user terminals) through network communication. The distributed system can be a blockchain system, which can provide the aforementioned multimedia data detection service and data storage service, etc.

[0030] See Figure 14 , Figure 14 This is an optional structural diagram of the distributed system 100 provided in this embodiment of the invention applied to a blockchain system, consisting of multiple nodes (any form of computing device in the network, such as servers and user terminals) and clients. In the distributed system, any machine, such as a server or terminal, can join and become a node. A node includes a hardware layer, a middleware layer, an operating system layer, and an application layer.

[0031] Blockchain, an emerging application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms, is essentially a decentralized database. It consists of a chain of data blocks linked using cryptographic methods, each containing information about a batch of network transactions used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include a blockchain underlying platform, a platform product service layer, and an application service layer. The blockchain underlying platform can include processing modules such as user management, basic services, smart contracts, and operational monitoring. The user management module is responsible for managing the identity information of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the correspondence between user real identities and blockchain addresses (access management). Under authorization, it monitors and audits transactions of certain real identities and provides risk control rule configuration (risk control audit). The basic service module is deployed on all blockchain node devices to verify the validity of business requests. After consensus is reached on valid requests, they are recorded in storage. For a new business request, the basic service first performs interface adaptation parsing and authentication (interface adaptation), and then encrypts the business information using a consensus algorithm (consensus management). The blockchain process involves several key layers: First, encryption and secure transmission of data to the shared ledger (network communication) for recording and storage. Second, the smart contract module handles contract registration, issuance, triggering, and execution. Developers can define contract logic using a programming language and publish it to the blockchain (contract registration). Execution is triggered by calling keys or other events based on the contract terms, completing the contract logic. The module also provides contract upgrade and cancellation functionality. Third, the operations monitoring module handles deployment, configuration modification, contract settings, cloud adaptation, and real-time visualization of the product's operational status, including alerts, network monitoring, and node device health monitoring. The platform's product service layer provides basic capabilities and implementation frameworks for typical applications. Developers can leverage these capabilities and add business characteristics to implement business logic on the blockchain. Finally, the application service layer provides blockchain-based application services to business stakeholders.

[0032] The following describes a multimedia data detection method based on the aforementioned application environment. This method can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving. Please refer to... Figure 2 , Figure 2This is a flowchart illustrating a multimedia data detection method provided in an embodiment of this application. This specification provides method operation steps as shown in the embodiments or flowcharts, but based on conventional or non-inventive labor, more or fewer operation steps may be included. The order of steps listed in the embodiments is merely one possible execution order among many and does not represent the only possible execution order. In actual system or server product execution, the method can be executed sequentially according to the embodiments or drawings, or in parallel (e.g., in a parallel processor or multi-threaded processing environment). Specifically, as shown... Figure 2 As shown, the method may include the following steps.

[0033] S201: Receive data detection requests from the calling policy regarding the multimedia data to be detected through the detection interface.

[0034] In this embodiment, the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the caller's identifier and the element category information of the multimedia element. The element category of the multimedia element can be text, image, audio, or video, etc., and correspondingly, a multimedia element can be an image, an audio clip, a video, or a piece of text, etc.

[0035] In practical applications, the detection interface can be an interface exposed by the multimedia data detection platform to the caller. It receives data detection requests from different callers, parses the requests to obtain request information such as the caller's identifier and element category information, and then calls the corresponding element detection capability interface based on a preset function. In this way, the caller only needs to call the detection interface to obtain the data detection results, without having to call different element detection capability interfaces separately, significantly reducing the difficulty of data detection for the caller. Specifically, the data detection request also includes call time-sensitive information. If this information is call time-sensitive, only the cached results corresponding to the request are queried, i.e., historical detection results are found. If this information is not call time-sensitive, the corresponding element detection capability interface is directly called, or the capability interface is called if no historical detection results are found.

[0036] Specifically, data detection requests can be HTTP requests, pb requests, or XML requests, etc. In one embodiment, a portion of the request headers for a data detection request is configured as follows, where imageUrl, videoUrl, and textUrl represent links to the images, videos, and text to be detected, respectively, and typeGroup represents the caller identifier for this call. Upon receiving the request, the platform automatically adapts the corresponding element detection capability based on the name of typeGroup. If the passed waiting parameter is false, it indicates that the caller is sensitive to call time, so only the machine's cached results are queried, and online capability calls and real-time detection calculations are not performed. If it is true, it indicates that there is no time limit for call time, so the capability call is executed directly, or the capability call is executed if no historical detection results are found.

[0037] Curl –X POST --header 'Content-Type:application / json' --header 'Accept: application / json' –d '{ "imageUrl":[ "http: / / img.cn?imgId=123" ], "videoUrl":[ http: / / video.cn?videoId=123 "http: / / video.cn?videoId=234" http: / / video.cn?videoId=546 ], "textList":[ Don't become addicted to games. ], "gifUrl": [], "landingPageUrl":[], "typeGroup":"Caller A", "waiting":true, "stored":false }''http: / / ai.com / query' S203: Determine the ability to detect at least one element that matches the caller identifier.

[0038] In this embodiment, the element detection capability is a third-party provided capability. The multimedia data detection platform can utilize the corresponding third-party element detection capability for data detection by calling the capability interface. The element detection capability can be a machine detection capability used to provide machine detection results. For example, it could be a machine model trained on a specified dataset for a certain category of multimedia elements, such as a face detection model for face detection in images, or a text machine detection capability for detecting whether sensitive words and punctuation marks are used appropriately in specified text. A single element detection capability is used to detect multimedia elements of the same element category. For example, a single element detection capability can be used to detect images, videos, or text. Specifically, the caller can be a network platform with multimedia data detection needs, such as a media network platform or an e-commerce platform, or a specific business module, such as the advertising business module of a media network platform. The caller identifier can be the caller name or caller ID.

[0039] In practical applications, each caller corresponds to at least one element detection capability. An association between element detection capabilities and caller identifiers is pre-established. For example, if business module A is associated with image element detection capability 1, image element detection capability 2, and video element detection capability 1, then image element detection capability 1, image element detection capability 2, and video element detection capability 1 are matched with business module A.

[0040] In practical use, the element detection capabilities required for detecting multimedia elements vary across different platforms or business scenarios. By establishing a correlation between the caller and the element detection capabilities, the machine capabilities required by the caller for different categories of multimedia elements can be fixed. After identifying the caller's identifier in the request, the required capabilities can be directly determined without the need for capability filtering, effectively improving detection efficiency. Understandably, the element detection capabilities required by the caller may change. The multimedia data detection platform can receive updated capability configuration information from the caller through its configuration center and update the associated element detection capabilities based on this updated information.

[0041] S205: In the thread pool corresponding to the element category information, create element detection tasks corresponding to each multimedia element in the multimedia data to be detected.

[0042] In this embodiment, thread pools are pre-established for different element categories. Each element category can correspond to at least one thread pool, and the element detection task in a single thread pool corresponds to a multimedia element of the same element category. In some cases, where multiple thread pools correspond to one element category, an association between the thread pools and element detection capabilities can also be established. A single thread pool corresponding to the element category can be associated with one or more element detection capabilities. After parsing the element category information of each multimedia element in the data detection request, the element category to be detected in the data detection request can be determined, and thus the thread pool corresponding to the required element category can be determined. Then, for each multimedia element in the multimedia data to be detected, an element detection task for that multimedia element is created in the thread pool corresponding to the corresponding element category to perform the element detection for that multimedia element. It is understood that multiple threads are created in the thread pool to execute the element detection task.

[0043] In practical applications, when the caller identifies multiple element detection capabilities (i.e., the data detection request needs to request multiple element detection capabilities), an asynchronous parallel approach is used to invoke these capabilities, specifying the thread pool through asynchronous callbacks. Specifically, when generating an asynchronous task, the thread pool for executing that task is specified. Different types of tasks are executed in different thread pools, and the capability interfaces for multiple element detection capabilities are invoked using parallel asynchronous tasks. Compared to serial calls, the time consumption of parallel calls depends on the longest-running task, effectively reducing the overall call time. Furthermore, it effectively isolates element detection resources. For example, image detection capabilities and video detection capabilities have significantly different detection times and request numbers, resulting in substantial differences in resource consumption. Executing the two types of element detection tasks in separate thread pools not only avoids thread interference but also improves the rationality of resource allocation and resource utilization efficiency, thereby enhancing service performance. Please refer to [reference needed]. Figure 3 , Figure 3 The diagram illustrates a thread pool framework provided in one embodiment. The main thread handles external requests, etc. The element detection task for video 1 is executed by thread 1 in the video thread pool, the element detection task for video 2 is executed by thread 2 in the video thread pool, and the element detection task for image 3 is executed by thread 3 in the image thread pool. Each thread implements asynchronous callbacks through the `fetchAsync` method. This improves read and write performance by using asynchronous parallel request methods and reduces blocking and waiting.

[0044] S207: Call at least one element detection capability interface based on each element detection task to perform data detection on the corresponding multimedia elements and obtain the data detection results of each multimedia element.

[0045] In this embodiment, for any multimedia element to be detected, the target thread executing the element detection task of the multimedia element to be detected calls the capability interface of the corresponding element detection capability. Specifically, if a single element detection capability detects multimedia elements of the same element category, then based on the element category of the multimedia element, a target detection capability for detecting the corresponding element category is determined from at least one element detection capability associated with the caller, and the target thread calls the capability interface of the target detection capability to realize the detection of the multimedia element. For example, if caller A is associated with image element detection capabilities 1, 2, 3, 1, and 2, then for video 1, video element detection capabilities 1 and 2 are the target detection capabilities. Thread 1, which executes the element detection task for video 1, calls the capability interfaces of video element detection capabilities 1 and 2 respectively to detect video 1 and return their respective video detection results. Similarly, for image 3, image element detection capabilities 1, 2, and 3 are the target detection capabilities. Thread 3 calls the capability interfaces of image element detection capabilities 1, 2, and 3 respectively to detect image 3 and return their respective image detection results.

[0046] Understandably, for each multimedia element, each target element detection capability returns a set of element detection results. That is, the data detection results for each multimedia element include element detection results from one or more element detection capabilities. Typically, the format, attributes, and expression of the element detection results returned by different element detection capabilities vary. Accordingly, after obtaining the individual data detection results for each multimedia element, for each multimedia element, statistical processing is performed on the element detection results of its corresponding element detection capabilities based on the detection result model to generate data detection results with a preset format. Specifically, each result data in each element detection result can be mapped to a fixed value, such as setting the fixed value of the detection confidence score as "score." In the case of multiple element detection results, a mapping relationship is established between each detection confidence result and the score. In one embodiment, taking image detection as an example, the caller's corresponding image detection capabilities are "Inducement button," "game copy," and "image quality," used to identify inducement buttons, identify game plagiarism, and detect image quality, respectively. The element detection results of the image are statistically processed, and the image data detection results are shown below. Here, "tag" represents the image category, "score" represents the detection confidence level, and "relatedImage" represents the location of the identified target object in the image. Based on these detection results, it can be determined that the image matches the game plagiarism result (plagiarizing game XX), has an image clarity of 80%, and contains three inducement buttons.

[0047] “abilityName”: “Inducement button”, "tag": null, "score": 3, “relatedImage”: null, "abilityName": "game copy", "tag": "XX game" "score": null, "relatedImage": "http: / / img2.com", "abilityName": "image quality", "tag": null, "score": 0.8, “relatedImage”: null, Furthermore, after obtaining the data detection results, they also need to be displayed. Specifically, a result display page is generated based on the data detection results with the preset format mentioned above. Taking the above results as an example, the displayed results are shown in the table below.

[0048]

[0049] The element detection results of different element detection capabilities are modeled and summarized into a unified result model, and displayed through a unified structure. The caller only needs to understand the interpretation rules of a few result fields to understand all the machine detection capabilities, reducing the difficulty of processing the detection results.

[0050] Based on the above solution, it is possible to achieve compatibility and integration with external detection capabilities, as well as scenario-based settings for detection capabilities, reducing the detection complexity for callers, improving development efficiency, and facilitating code maintenance. Furthermore, by constructing different thread pools for element categories to handle detection tasks for different element categories, resource isolation and parallel processing are achieved, which is conducive to reasonable resource allocation and task scheduling, reducing resource waste and improving detection efficiency.

[0051] Based on some or all of the above embodiments, please refer to the embodiments of this application. Figure 4 Prior to S205, the method may also include the following steps.

[0052] S301: Search the detection result cache for the historical detection results corresponding to each multimedia element.

[0053] S303: If historical detection results are found, use the historical detection results as the data detection results for the corresponding multimedia element.

[0054] Accordingly, S205 can be specifically defined as follows: for multimedia elements to be tested for which no historical detection results have been found, an element detection task corresponding to the multimedia element to be tested is created in the thread pool corresponding to the element category information of the multimedia element to be tested.

[0055] In practical applications, a detection result cache library can be pre-built to cache the data detection results for each multimedia element, establishing a relationship between the multimedia element and its data detection results. Before invoking the element detection capability, for each multimedia element, the detection result cache library is first checked to see if historical detection results for the multimedia element exist. In some cases, if they exist, the found historical detection results are used as the data detection results for the corresponding multimedia element. If they do not exist, step S205 is executed to create an element detection task for data detection by invoking the element detection capability.

[0056] In some embodiments, a multimedia element corresponds to multiple element detection capabilities. If multiple historical detection results exist, and these historical results include element detection results for each corresponding element detection capability, then the found historical detection results are used as the data detection results for the corresponding multimedia element. If multiple historical detection results exist, and these historical results include element detection results for some corresponding element detection capabilities, then the element detection capability for which no element detection result was found is determined from the multiple corresponding element detection capabilities. An element detection task is then created for the element detection capability for which no element detection result was found, so as to call the element detection capability for which no element detection result was found and achieve supplementary detection.

[0057] In practical applications, data detection requests also carry the element address information of multimedia elements; please refer to the relevant documentation. Figure 5 S301 may include the following steps.

[0058] S3011: Generate element fingerprints for each multimedia element based on element address information.

[0059] S3013: Based on the correspondence between element fingerprints and historical detection results, search for the corresponding historical detection results for each element fingerprint in the detection result cache.

[0060] Specifically, a preset algorithm is used to calculate the fingerprint of the element address information, generating a unique element fingerprint. The element fingerprint is stored in a detection result cache linked with historical detection results. After calculating the element fingerprint of the current multimedia element's address information using the preset algorithm, the corresponding historical detection result can be matched. Specifically, the preset algorithm can be a cryptographic hash algorithm, such as the MD5 message digest algorithm; the element address information can be, for example, but not limited to, the URL of the multimedia element.

[0061] For details, please refer to Figure 6 , Figure 6 The diagram illustrates the storage structure framework of the detection result cache library. In the detection result cache library, detection results are stored at the element level, which effectively improves the utilization efficiency of cached data. When different detection requests correspond to the same element, it can effectively reduce the duplicate storage of elements and optimize storage space.

[0062] Multimedia elements often appear in combination and may repeat. By caching the detection results, in scenarios where multiple detections are performed on the same multimedia element, the detection capability is invoked for real-time calculation when there are no cached detection results, and the cached detection results are directly fed back when there are cached detection results. This avoids repeated invocation of the element detection capability, reduces detection time, resource consumption and performance waste, and improves detection efficiency.

[0063] In some cases, when caching the element detection results for each element detection capability, the caching time information is also stored in association. Accordingly, before using historical detection results as the data detection results for the corresponding multimedia elements, the method may also include the following steps.

[0064] S305: If historical detection results are found, determine the element detection capability and cache time information corresponding to the historical detection results.

[0065] S307: If the cache time information meets the time limit condition for the corresponding element detection capability, trigger the step of using the historical detection result as the data detection result of the corresponding multimedia element.

[0066] In some cases, cache time information represents the time when historical detection results are stored in the detection result cache. Historical detection results are stored in association with cache time information and element detection capability identifiers. After finding a historical detection result, its cache time information and the element detection capability invoked can be retrieved. Each element detection capability has a corresponding data validity period. After determining the element detection capability invoked by the historical detection result, its corresponding data validity period is obtained. The storage duration of each historical detection result is calculated based on the cache time information. If the storage duration is less than or equal to the data validity period, it is determined that the cache time information meets the time limit condition of the corresponding element detection capability, and the historical detection result is used as the data detection result and fed back. If it is greater than the data validity period, the time limit condition of the corresponding element detection capability is not met, and step S205 is executed to obtain the data detection result again. The historical detection results in the cache are then updated based on the obtained data detection result.

[0067] If multiple historical detection results generated by multiple element detection capabilities are found, a time limit condition is judged for each historical detection result. If the cache time information of some historical detection results does not meet the corresponding time limit condition, the element detection capability corresponding to the part of the historical detection results needs to be called after the element detection task is created to perform supplementary detection.

[0068] In some embodiments, the detection result cache library adopts a two-level cache structure, including a primary cache and a central cache, wherein the primary cache can be a local cache, and the central cache can be a cloud cache, etc. Accordingly, S301 can specifically be as follows: Search for the historical detection results corresponding to each multimedia element in the primary cache; if found and the time limit condition is met, execute feedback; if not found, re-execute the cache data search in the central cache; if found and the time limit condition is met, feed back the historical detection result and write it to the primary cache; if not found or the time limit condition is not met, trigger step S205. It should be noted that the above search method is similar to the aforementioned step S301, and will not be repeated here. It is understood that when cache time information exists, the cache time information represents the time when the same historical detection result is first written to the cache, and will not change with the time it is written to the primary cache again. In this way, local cache loss caused by restarts or failures can be avoided, and detection efficiency can be improved by sharing cache data. Furthermore, database storage is optimized, effectively improving query and write performance, saving resources, and improving speed and performance.

[0069] The technical solution of this application can be applied to various multimedia data detection scenarios, such as advertising review scenarios. Please refer to [the relevant documentation]. Figure 6 During the ad creation process, the multimedia data detection service of this application can be used to call the required element detection capabilities to detect the multimedia elements to be detected and cache the results. During the ad review stage, the results can be read directly from the cache without having to request the capability provider again, thus accelerating the acquisition speed of detection results and avoiding redundant detection from multiple parties.

[0070] Based on some or all of the above implementation methods, in this embodiment of the application, current limiting monitoring is also required. Please refer to the relevant documentation for details. Figure 8 The method may also include the following steps.

[0071] S401: Monitor the frequency of calls made by the caller for the detection capabilities of each element.

[0072] S403: If the call frequency meets the frequency limit, intercept the caller's data detection request for the corresponding element detection capability.

[0073] S405: Sends a detection failure message to the caller regarding the intercepted data detection request.

[0074] Specifically, for each caller, the frequency of its calls to each element detection capability is monitored. If the call frequency exceeds the rate-limiting threshold, it is determined that the current caller's call to that element detection capability is abnormal, and rate-limiting is applied to the current caller's call to that element detection capability. Specifically, the data detection request for that element detection capability from the current caller is intercepted, the corresponding capability interface call is not executed, and a detection failure is reported to the current caller. This achieves rate-limiting for each caller and each element detection capability to avoid a sharp increase in upstream requests, thereby preventing a large number of requests from entering the downstream and causing resource congestion. Understandably, monitoring at the caller and its individual element detection capability level can prevent the impact of a single caller's abnormality on other caller requests, and can also prevent the impact of an abnormal call to a single element detection capability within the same caller on other capability calls, improving the fault tolerance and robustness of data detection.

[0075] In one embodiment, the call frequency is the query rate per second (QPS). For example, the rate limiting threshold can be 20. Accordingly, a portion of the monitoring code snippet is shown below. The element detection capability corresponding to this code snippet is the LOGO detection capability. If the call policy's QPS for this capability exceeds 20 (the rate limiting threshold), it will directly return a failure.

[0076] “resourceName”: “LOGO_DETECTION_DPSZ.patrolLogo”, / / Resource name "mode": "qps", / / Rate limiting type: QPS mode “cnt”: 20, / / Rate limiting threshold Specifically, a corresponding rate limiting threshold can be set for each element detection capability. For example, the rate limiting threshold for video detection capability can be lower than the rate limiting threshold for image detection capability.

[0077] Based on some or all of the above implementation methods, in this embodiment of the application, circuit breaker monitoring is also required. Please refer to the relevant documentation for details. Figure 13 The method may also include the following steps.

[0078] S501: Monitor the average call time of the invoked element detection capability, where the average call time represents the average time required for the element detection task to call the capability interface corresponding to the element detection capability.

[0079] S503: Circuit breaking detection is performed on the detection capability of the called element based on the average call time.

[0080] In practical applications, the average call time for each element detection capability is monitored and statistically analyzed in real time. Based on the average call time and a preset time threshold, circuit breaking is applied to the corresponding element detection capability to determine whether it meets the preset circuit breaking conditions. For details, please refer to [link / reference needed]. Figure 10 S503 may include the following steps.

[0081] S5031: If the average call time is greater than or equal to a preset time threshold, obtain the first average time generated by calling the element detection capability of the called element a first preset number of times.

[0082] S5032: If the first average time is greater than or equal to the preset time threshold, determine that the circuit breaker detection result meets the preset circuit breaker condition.

[0083] Specifically, the average call time is compared with a preset time threshold. If the average call time is less than the preset time threshold, the circuit breaker detection result is determined not to meet the preset circuit breaker condition, and step S501 is executed. If the average call time is greater than or equal to the preset time threshold, the element detection capability enters a quasi-degraded state. The call time used for each of the subsequent first preset calls to the element detection capability is obtained, and the call times of each call are averaged to obtain a first average time. The first average time is then compared with the preset time threshold. If it is greater than or equal to the preset time threshold, the circuit breaker detection result is determined to meet the preset circuit breaker condition; if it is less than the threshold, the circuit breaker detection result is determined not to meet the preset circuit breaker condition, step S501 is executed, and the quasi-degraded state is lifted. In this way, the capability is automatically managed, and in abnormal situations, the capability can be automatically degraded and a failure result is returned, saving manpower and improving efficiency.

[0084] Specifically, a preset time threshold can be set for each element detection capability. For example, the preset time threshold for video detection capability can be greater than the preset time threshold for image detection capability. Correspondingly, the average call time is compared with the preset time threshold corresponding to the element detection capability to achieve circuit breaker detection.

[0085] S505: If the circuit breaking detection result meets the preset circuit breaking conditions, the called element detection capability will be circuit broken within the preset circuit breaking duration.

[0086] S507: Feedback on the detection failure result for the element detection task corresponding to the invoked element detection capability.

[0087] In practical applications, if the circuit breaker detection result meets the preset circuit breaker conditions, the detection capability of that element will be circuit-broken within the subsequent preset circuit breaker duration, stopping the invocation of the detection capability of that element. All invocations of this capability will return an invocation exception, such as returning a mock failure result, and issuing a capability exception alarm, indicating that the performance of this capability does not meet expectations, thus avoiding the failure of a single element detection capability from affecting the data detection of other element detection capabilities.

[0088] In practical applications, after the fuse is broken, please refer to... Figure 11 The method may also include the following steps.

[0089] S509: After the preset circuit breaker duration is reached, obtain the second average time consumed by calling the element detection capability a second preset number of times.

[0090] S511: If the second average time consumption is less than the preset time consumption threshold, perform detection and recovery processing on the called element detection capability.

[0091] Specifically, when the circuit breaker duration reaches the preset duration, the corresponding element detection task calls the capability interface of that element detection capability a second preset number of times. The call time for each of these second preset number of calls is obtained, and the average call time is calculated to obtain a second average time. If the second average time is less than a preset time threshold, the circuit breaker stops, the element detection capability is restored, and received call requests are executed normally. If it is greater than or equal to the preset time threshold, the preset circuit breaker condition is met, and steps S505-S509 are executed repeatedly until the second average time is less than the preset time threshold, at which point the capability is restored. In some cases, a circuit breaker count threshold can be set. When the number of consecutive circuit breakers is greater than or equal to this threshold, the element detection capability is disabled, and capability fault information is generated to notify relevant personnel to inspect and repair the capability. The first preset number of calls and the second preset number of calls can be the same or different. This configuration of the rate-limiting circuit breaker strategy automates fault handling, enabling real-time alarm reception after circuit breaker triggering for automatic triggering and recovery, thus improving the system's fault tolerance and availability.

[0092] In one embodiment, the first preset number of calls and the second preset number of calls are 5. Partial circuit breaker configuration is shown in the following code snippet. For the identified capability "XXX_OWL", when the average call time exceeds 1.8s (preset time threshold), it enters a quasi-degradation state. If the first average time consumed by the next 5 calls still exceeds 1.8s, then within the next 60s (preset circuit breaker duration), calls to this capability will directly throw an exception, return a mock failure result, and issue an alarm, indicating that the capability's performance does not meet expectations, and ensuring that the capability failure does not affect the acquisition of other capability results. After 60s, 5 more calls will be made to obtain the second average time. If it is less than 1.8s, the faulty capability will be automatically recovered. The circuit breaker trigger condition is slow call statistics, meaning that calls exceeding cnt are identified as slow calls, triggering the circuit breaker judgment. "slowRequestAmout" means that after the identified slow calls exceed this threshold (100), the circuit breaker is triggered. “resourceName”: “XXX_OWL”, / / resource name "mode": slowRequest, / / Circuit breaker mode: slow call statistics “cnt”:1800, / / Preset time threshold "slowRequestAmout": 100, / / Minimum number of times the circuit breaker is triggered "timeWindowSize": 60 / / Preset circuit breaker duration Thus, during real-time data detection using element detection capabilities, rate limiting and circuit breaking are employed to handle surges in upstream requests and downstream failures, improving fault tolerance and the robustness of the detection platform. Furthermore, in the event of failures by some capability providers, the system avoids the impact of interface timeouts on the entire system without manual intervention, achieving automatic rate limiting, circuit breaking, and recovery. This reduces the element detection system's dependence on external systems and improves efficiency.

[0093] In some cases, multimedia data detection platforms can be developed using the Java language. The detection interface can be an API interface based on HTTP and JSON protocols. The system abstraction of the multimedia data detection platform is layered into an API layer, a scheduling layer, an implementation layer, and an external call layer. The API layer provides the detection interface; the scheduling layer is used to create and execute tasks, acting as a capability scheduling center; the implementation layer executes interface calls based on the interface call instructions generated by the capability scheduling center; and the external call layer communicates with the capability interfaces of various capability providers. The multimedia data detection platform system is open for extension but closed for modification. The acquisition of detection capability results follows a unified detection behavior, while the integration of different element detection capabilities is an extension of this behavior, without changing the behavior itself. A predefined interface, ProcessableAIAbility, serves as the detection interface and specification for the detection behavior. The general common logic for element detection capabilities is implemented in the default abstract class AIAbilityTemplate. The integration of specific element detection capabilities, such as capability interface docking and parameter parsing, is implemented in specific implementation classes. If a new element detection capability needs to be integrated, an additional implementation class is added. In this way, by standardizing capability access, developers can add implementation classes to a unified capability class, convert the interface return to a unified model to complete the development of new capability access, reduce code conflicts, improve development efficiency and code maintenance costs, and enhance system scalability.

[0094] In summary, the technical solution of this application implements a highly scalable multimedia element detection service framework. By aggregating the element detection capabilities of external machines, it manages the acquisition, statistics, and access of results, integrating them into a scalable unified structure, reducing the development cost of new capability types and the maintenance cost of the detection service system. Through improved request methods, data structure storage, and query methods, it increases the system throughput and improves system performance. Furthermore, it enables automatic triggering of fault handling, improving the system's fault tolerance and availability.

[0095] This application also provides a multimedia data detection device 800, such as... Figure 12 As shown, Figure 12 The diagram shows a schematic of a multimedia data detection device according to an embodiment of this application. The device may include the following modules.

[0096] Detection request receiving module 10: Used to receive data detection requests sent by the calling party to the multimedia data to be detected through the detection interface, wherein the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the caller's caller identifier and the element category information of the multimedia element.

[0097] Element detection capability determination module 20: used to determine at least one element detection capability that matches the caller identifier.

[0098] Detection task creation module 30: Used to create element detection tasks corresponding to each multimedia element in the multimedia data to be detected in the thread pool corresponding to the element category information. The element detection tasks in a single thread pool correspond to multimedia elements of the same element category.

[0099] Capability Interface Call Module 40: Used to call at least one capability interface for element detection capability based on each element detection task, so as to perform data detection on the corresponding multimedia elements and obtain the data detection results of each multimedia element.

[0100] In some embodiments, the apparatus may further include a historical detection result lookup module: configured to look up historical detection results corresponding to each multimedia element in the detection result cache library before creating an element detection task corresponding to each multimedia element in the multimedia data to be detected in the thread pool corresponding to the element category information; and configured to use the historical detection results as the data detection results of the corresponding multimedia element when historical detection results are found.

[0101] In some embodiments, the detection task creation module 30 may be specifically used to: for multimedia elements to be tested for which no historical detection results have been found, create an element detection task corresponding to the multimedia element to be tested in the thread pool corresponding to the element category information of the multimedia element to be tested.

[0102] In some embodiments, the data detection request also carries element address information of multimedia elements; correspondingly, the historical detection result lookup module may include the following units.

[0103] Element fingerprint generation unit: used to generate element fingerprints for each multimedia element based on element address information.

[0104] Historical detection result lookup unit: used to look up the historical detection result corresponding to each element fingerprint in the detection result cache library according to the correspondence between element fingerprints and historical detection results.

[0105] In some embodiments, the apparatus may further include an information determination module: configured to determine the element detection capability and cache time information corresponding to the historical detection result when the historical detection result is found, before using the historical detection result as the data detection result of the corresponding multimedia element; and configured to trigger the step of using the historical detection result as the data detection result of the corresponding multimedia element when the cache time information meets the time limit condition of the corresponding element detection capability.

[0106] In some embodiments, the apparatus may further include the following modules.

[0107] Call frequency monitoring module: Used to monitor the call frequency of the caller for each element detection capability.

[0108] Data detection request interception module: This module is used to intercept data detection requests from the caller for the corresponding element detection capability when the call frequency meets the frequency limit.

[0109] The first detection failure sending module is used to send detection failure information for the intercepted data detection request to the caller.

[0110] In some embodiments, the apparatus may further include the following modules.

[0111] Average call time monitoring module: used to monitor the average call time of the called element detection capability. The average call time represents the average time required for the element detection task to call the capability interface corresponding to the element detection capability.

[0112] Circuit breaking detection module: Used to perform circuit breaking detection on the detection capability of the called element based on the average call time.

[0113] Circuit breaking module: When the circuit breaking detection result meets the preset circuit breaking conditions, the module performs circuit breaking processing on the called element detection capability within the preset circuit breaking duration.

[0114] The second detection failure sending module is used to send back detection failure results for the element detection task corresponding to the invoked element detection capability.

[0115] In some embodiments, the fuse detection module may include the following units.

[0116] First average time acquisition unit: used to acquire the first average time generated by calling the element detection capability a first preset number of times when the average call time is greater than or equal to the preset time threshold.

[0117] Fuse detection unit: used to determine that the fuse detection result meets the preset fuse condition when the first average time is greater than or equal to the preset time threshold.

[0118] In some embodiments, the fuse detection module may include the following units.

[0119] Second average time acquisition unit: used to acquire the second average time generated by calling the element detection capability a second preset number of times after the preset circuit breaker duration is reached.

[0120] Detection and recovery processing unit: used to perform detection and recovery processing on the called element detection capability when the second average time is less than the preset time threshold.

[0121] It should be noted that the above-described device embodiments and method embodiments are based on the same implementation methods.

[0122] This application provides a multimedia data detection device. The detection device can be a terminal or a server. The multimedia data detection device includes a processor and a memory. The memory stores at least one instruction or at least one program. The at least one instruction or at least one program is loaded and executed by the processor to implement the multimedia data detection method provided in the above method embodiments.

[0123] Memory is used to store software programs and modules. The processor executes these stored software programs and modules to perform various functional applications and data processing. Memory can primarily consist of a program storage area and a data storage area. The program storage area stores the operating system, application programs required for functionality, etc.; the data storage area stores data created based on device usage, etc. Furthermore, memory can include high-speed random access memory (RAM) and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, memory can also include a memory controller to provide the processor with access to the memory.

[0124] The methods and embodiments provided in this application can be executed in electronic devices such as mobile terminals, computer terminals, servers, or similar computing devices. Figure 13 This is a hardware structure block diagram of an electronic device for a multimedia data detection method provided in an embodiment of this application. For example... Figure 13 As shown, the electronic device 900 can vary significantly due to different configurations or performance. It may include one or more Central Processing Units (CPUs) 910 (CPUs 910 may include, but are not limited to, microprocessors such as MCUs or programmable logic devices such as FPGAs), a memory 930 for storing data, and one or more storage media 920 (e.g., one or more mass storage devices) for storing application programs 923 or data 922. The memory 930 and storage media 920 may be temporary or persistent storage. The program stored in the storage media 920 may include one or more modules, each module including a series of instruction operations on the electronic device. Furthermore, the CPU 910 may be configured to communicate with the storage media 920 and execute a series of instruction operations in the storage media 920 on the electronic device 900. The electronic device 900 may also include one or more power supplies 960, one or more wired or wireless network interfaces 950, one or more input / output interfaces 940, and / or one or more operating systems 921, such as Windows Server. TMMac OS X TM Unix TM Linux™, FreeBSD™, etc.

[0125] The input / output interface 940 can be used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the electronic device 900. In one example, the input / output interface 940 includes a network interface controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the input / output interface 940 may be a radio frequency (RF) module used for wireless communication with the Internet.

[0126] Those skilled in the art will understand that Figure 13 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, the electronic device 900 may also include... Figure 13 The more or fewer components shown, or having the same Figure 13 The different configurations shown.

[0127] Embodiments of this application also provide a computer-readable storage medium, which can be disposed in an electronic device to store at least one instruction or at least one program related to implementing a multimedia data detection method in the method embodiment. The at least one instruction or the at least one program is loaded and executed by the processor to implement the multimedia data detection method provided in the above method embodiment.

[0128] Optionally, in this embodiment, the storage medium may be located at at least one of the multiple network servers in a computer network. Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0129] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various alternative implementations described above.

[0130] As can be seen from the embodiments of the multimedia data detection method, apparatus, device, server, terminal, storage medium, and program product provided in this application, the technical solution of this application receives a data detection request sent by a caller to the multimedia data to be detected through a detection interface. The multimedia data to be detected includes at least one multimedia element, and the data detection request carries the caller's identifier and the element category information of the multimedia element. The system determines at least one element detection capability that matches the caller identifier. In the thread pool corresponding to the element category information, it creates element detection tasks corresponding to each multimedia element in the multimedia data to be detected. Each element detection task in a single thread pool corresponds to multimedia elements of the same element category. The system then calls the capability interface of at least one element detection capability based on each element detection task to perform data detection on the corresponding multimedia element, thereby obtaining the data detection result for each multimedia element. By providing detection interfaces to offer various element detection capabilities to different callers, compatibility and integration with external detection capabilities are achieved. Furthermore, element detection capabilities can be configured for each caller, enabling scenario-based settings for detection capabilities, reducing detection complexity for callers, improving development efficiency, and facilitating code maintenance. In addition, different thread pools are built for different element categories to handle detection tasks for different element categories, achieving resource isolation and parallel processing, which is conducive to reasonable resource allocation and task scheduling, reducing resource waste, and improving detection efficiency.

[0131] It should be noted that the order of the embodiments described above is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. Furthermore, the above description focuses on specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in a different order than that shown in the embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired results. In some implementations, multitasking and parallel processing are also possible or may be advantageous.

[0132] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device, equipment, and storage medium embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0133] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware, or by a program instructing the relevant hardware to implement them. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0134] The above are merely preferred embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A multimedia data detection method, characterized in that, The method includes: The detection interface receives a data detection request sent by the calling party to the multimedia data to be detected, wherein the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the calling party's calling party identifier and the element category information of the multimedia element. Determine the ability to detect at least one element that matches the caller identifier; In the detection result cache library based on the two-level cache structure, the historical detection results corresponding to each multimedia element are searched from the primary cache of the detection result cache library. If the results are not found, the cache data search is re-executed from the central cache of the detection result cache library. If the historical detection results are found, the element detection capability and cache time information corresponding to the historical detection results are determined, and each element detection capability is set with a corresponding data validity period. The storage duration of each historical detection result is calculated based on the cache time information; If the stored duration is less than or equal to the valid duration of the data, then the cache time information is determined to meet the time limit condition of the corresponding element detection capability, and the historical detection result is used as the data detection result and fed back. If the stored duration is longer than the data validity duration, then in the thread pool corresponding to the element category information, an element detection task corresponding to each multimedia element in the multimedia data to be detected is created. The element detection task in a single thread pool corresponds to multimedia elements of the same element category, and a single thread pool is associated with one or more element detection capabilities. Based on each element detection task, the target thread of the element detection task of the multimedia element to be detected calls the capability interface of the at least one element detection capability to perform data detection on the corresponding multimedia element and obtain the data detection results of each multimedia element. Monitor the average call time of the invoked element detection capability, wherein the average call time represents the average time required for the element detection task to call the capability interface corresponding to the element detection capability; Based on the average call time, circuit breaker detection is performed on the called element detection capability; If the circuit breaker detection result meets the preset circuit breaker conditions, the called element detection capability will be circuit breaker processed within the preset circuit breaker duration. The element detection task corresponding to the invoked element detection capability shall return a detection failure result; After the preset circuit breaker duration is reached, the second average time consumed is obtained by calling the element detection capability a second preset number of times. If the second average time consumption is less than the preset time consumption threshold, the called element detection capability is subjected to detection and recovery processing.

2. The method according to claim 1, characterized in that, The method further includes: For any multimedia element for which no historical detection result was found in the detection result cache, an element detection task corresponding to the multimedia element for which the detection result was to be detected is created in the thread pool corresponding to the element category information of the multimedia element for which the detection result was to be detected.

3. The method according to claim 1, characterized in that, The data detection request also carries the element address information of the multimedia element; searching the detection result cache for the historical detection results corresponding to each multimedia element includes: Based on the element address information, generate the element fingerprint of each multimedia element; Based on the correspondence between element fingerprints and historical detection results, the historical detection results corresponding to each element fingerprint are searched in the detection result cache.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: Monitor the frequency of the caller's calls for each element detection capability; If the call frequency is detected to meet the frequency limit condition, the caller's data detection request for the corresponding element detection capability will be intercepted. Send a detection failure message to the caller regarding the intercepted data detection request.

5. The method according to any one of claims 1-3, characterized in that, The circuit breaker detection of the called element detection capability based on the average call time includes: If the average call time is greater than or equal to a preset time threshold, the first average time generated by calling the called element detection capability a first preset number of times is obtained; If the first average time consumption is greater than or equal to the preset time consumption threshold, the circuit breaker detection result is determined to meet the preset circuit breaker condition.

6. A multimedia data detection device, characterized in that, The device includes: Detection request receiving module: used to receive a data detection request sent by the calling party to the multimedia data to be detected through the detection interface, wherein the multimedia data to be detected includes at least one multimedia element, and the data detection request carries the calling party identifier of the calling party and the element category information of the multimedia element; Element detection capability determination module: used to determine at least one element detection capability that matches the caller identifier; Historical Detection Result Lookup Module: This module searches for the historical detection results corresponding to each multimedia element in the primary cache of a detection result cache library based on a two-level cache structure. If no result is found, it re-executes the cache data lookup in the central cache of the detection result cache library. If a historical detection result is found, it determines the element detection capability and cache time information corresponding to that historical detection result. Each element detection capability has a corresponding data validity period. Based on the cache time information, it calculates the stored duration for each historical detection result. If the stored duration is less than or equal to the data validity period, it determines that the cache time information meets the time limit condition for the corresponding element detection capability, and then uses the historical detection result as a data detection result and feeds it back. Detection task creation module: If the stored duration is longer than the data validity duration, then in the thread pool corresponding to the element category information, create an element detection task corresponding to each multimedia element in the multimedia data to be detected. The element detection task in a single thread pool corresponds to multimedia elements of the same element category, and a single thread pool is associated with one or more element detection capabilities. Capability Interface Call Module: Based on each element detection task, the module calls the capability interface of at least one element detection capability through the target thread that executes the element detection task of the multimedia element to be detected, so as to perform data detection on the corresponding multimedia element and obtain the data detection results of each multimedia element. Average call time detection module: used to monitor the average call time of the called element detection capability, wherein the average call time represents the average time required for the element detection task to call the capability interface corresponding to the element detection capability; Circuit breaker detection module: used to perform circuit breaker detection on the detection capability of the called element based on the average call time; Circuit breaker module: Used to perform circuit breaker processing on the invoked element detection capability within a preset circuit breaker duration when the circuit breaker detection result meets the preset circuit breaker conditions; The second detection failure sending module is used to send back detection failure results for the element detection task corresponding to the invoked element detection capability. The fuse detection module includes: Second average time consumption acquisition unit: used to acquire the second average time consumption generated by calling the called element detection capability a second preset number of times after the preset circuit breaker duration is reached; Detection and recovery processing unit: used to perform detection and recovery processing on the invoked element detection capability when the second average time consumption is less than a preset time consumption threshold.

7. The apparatus according to claim 6, characterized in that, The detection task creation module is specifically used for: For any multimedia element for which no historical detection result was found in the detection result cache, an element detection task corresponding to the multimedia element for which the detection result was to be detected is created in the thread pool corresponding to the element category information of the multimedia element for which the detection result was to be detected.

8. The apparatus according to claim 6, characterized in that, The data detection request also carries the element address information of the multimedia element; the historical detection result lookup module includes: Element fingerprint generation unit: used to generate the element fingerprint of each multimedia element based on the element address information; Historical detection result lookup unit: used to look up the historical detection result corresponding to each element fingerprint in the detection result cache library according to the correspondence between element fingerprints and historical detection results.

9. The apparatus according to any one of claims 6-8, characterized in that, The device further includes: Call frequency detection module: used to monitor the call frequency of the caller for each element detection capability; Data detection request interception module: used to intercept the data detection request from the caller for the corresponding element detection capability when the call frequency is detected to meet the frequency limit condition; First detection failure sending module: used to send detection failure information for the intercepted data detection request to the caller.

10. The apparatus according to any one of claims 6-8, characterized in that, The fuse detection module includes: First average time consumption acquisition unit: used to acquire the first average time consumption generated by calling the called element detection capability a first preset number of times when the average call time is greater than or equal to a preset time consumption threshold; Fuse determination unit: used to determine that the fuse detection result meets the preset fuse condition when the first average time consumption is greater than or equal to the preset time consumption threshold.

11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction or at least one program, which is loaded and executed by a processor to implement the multimedia data detection method as described in any one of claims 1-5.

12. A computer device, characterized in that, The device includes a processor and a memory, the memory storing at least one instruction or at least one program, the at least one instruction or the at least one program being loaded and executed by the processor to implement the multimedia data detection method as described in any one of claims 1-5.

13. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed by a processor, implement the multimedia data detection method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Capability interface deploying method and system

    CN104852939A

  • Content detection model generation method and device, electronic equipment and storage medium

    CN112463319A

  • Task execution method and device, equipment and storage medium

    CN113238843A