Multimedia transmission method, device, equipment, medium and product

By detecting and pre-caching multimedia resources on the server, the problems of slow loading and stuttering during multimedia playback are solved, enabling fast response and continuous playback, thus improving the user experience.

CN121728306APending Publication Date: 2026-03-24TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-23
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

During multimedia playback, the client needs to request resources from the server in real time, which can cause slow video loading and playback stuttering, affecting the user experience.

Method used

The server receives the client's request message, checks whether the target and recommended multimedia resources are cached locally, and sends the resources to the client for local caching and playback based on the detection results, thus obtaining the recommended resources in advance to prepare for subsequent requests.

Benefits of technology

It reduces the initial screen loading time and multimedia playback waiting time, ensuring video continuity and improving the overall viewing experience for users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121728306A_ABST
    Figure CN121728306A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a multimedia transmission method and device, equipment, a medium and a product. The multimedia transmission method comprises the following steps: receiving a first request message which is sent by a client and comprises a multimedia recommendation list and a currently requested target multimedia resource; detecting whether the server locally caches target multimedia resources and recommended multimedia resources in a multimedia recommendation list or not according to the first request message; obtaining a target multimedia resource and a recommended multimedia resource according to the obtained detection result, and sending the target multimedia resource to the client, so that the client performs local cache playing on the target multimedia resource; and in response to a second request message which is sent by the client and is used for requesting the multimedia resources, sending the acquired recommended multimedia resources to the client, so that the client performs local cache playing. According to the technical scheme provided by the embodiment of the invention, the first screen loading time is effectively shortened, the waiting time and the lagging phenomenon during multimedia playing are reduced, and the overall viewing experience of the object is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, in particular to a multimedia transmission method, a multimedia transmission device, an electronic device, a computer readable storage medium and a computer program product. BACKGROUND

[0002] With the continuous development of the Internet and multimedia technology, multimedia has become an indispensable part of people's daily life; objects can browse multimedia resources of interest by sliding the client interface, however, during the client playback process, the client needs to request the corresponding multimedia resources from the server in real time, during which the client will experience slow video loading, playback lag, or the object will wait for a long time for the next video to play, therefore, how to reduce the waiting time and avoid playback lag during multimedia playback has become a key problem to improve the object's experience. SUMMARY

[0003] Embodiments of the present application provide a multimedia transmission method, a multimedia transmission device, an electronic device, a computer readable storage medium and a computer program product, which effectively reduce the first screen loading time, reduce the waiting time and lag phenomenon during multimedia playback, and further improve the overall viewing experience of the object.

[0004] Other features and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.

[0005] According to an aspect of an embodiment of the present application, a multimedia transmission method is provided, comprising: receiving a first request message sent by a client, the first request message comprising a multimedia recommendation list and a target multimedia resource currently requested; detecting whether the target multimedia resource and recommended multimedia resources in the multimedia recommendation list are cached locally on a server according to the first request message, to obtain a detection result; acquiring the target multimedia resource and the recommended multimedia resources according to the detection result, and sending the target multimedia resource to the client, so that the client locally caches and plays the target multimedia resource; and in response to a second request message for a requested multimedia resource sent by the client, sending the acquired recommended multimedia resources to the client, so that the client locally caches and plays the recommended multimedia resources.

[0006] According to an aspect of the embodiments of the present application, a multimedia transmission device is provided, which comprises: a receiving module, configured to receive a first request message sent by a client, wherein the first request message comprises a multimedia recommendation list and a target multimedia resource currently requested; a detecting module, configured to detect whether the target multimedia resource and a recommended multimedia resource in the multimedia recommendation list are cached locally at a server according to the first request message, and obtain a detection result; an obtaining module, configured to obtain the target multimedia resource and the recommended multimedia resource according to the detection result, and send the target multimedia resource to the client, so that the client locally caches and plays the target multimedia resource; and a sending module, configured to send the recommended multimedia resource obtained to the client in response to a second request message sent by the client to request a multimedia resource, so that the client locally caches and plays the recommended multimedia resource.

[0007] In an embodiment of the present application, the first request message comprises resource information of the target multimedia resource and list information of the multimedia recommendation list; the detecting module is further configured to detect whether the target multimedia resource is cached locally at the server according to the resource information of the target multimedia resource, and detect whether the recommended multimedia resource is cached locally at the server according to the list information of the multimedia recommendation list, and obtain a detection result; or, detect whether the target multimedia resource is cached locally at the server according to the resource information of the target multimedia resource, and obtain a detection result corresponding to the target multimedia resource; if the detection result corresponding to the target multimedia resource indicates that the target multimedia resource is not cached locally at the server, then in the process of obtaining the target multimedia resource from a multimedia server, the detecting module detects whether the recommended multimedia resource is cached locally at the server according to the list information of the multimedia recommendation list, and obtains a detection result corresponding to the multimedia recommendation list.

[0008] In an embodiment of the present application, the resource information of the target multimedia resource comprises a resource identifier of each target multimedia resource and a target resource data range of each target multimedia resource; and the detecting module is further configured to detect whether each target multimedia resource is cached locally at the server according to the resource identifier of each target multimedia resource; and in the case where at least one target multimedia resource is cached locally at the server, detect whether the resource data range of the cached target multimedia resource matches the target resource data range.

[0009] In an embodiment of the present application, the list information of the multimedia recommendation list comprises a list identifier, a list acquisition time point and resource information of each of the recommended multimedia resources; the detection module is further configured to determine an effective time of the multimedia recommendation list according to the list acquisition time point; determine whether the multimedia recommendation list is a locally cached recommendation list of the server according to the effective time and the list identifier; and if the multimedia recommendation list is not a locally cached recommendation list of the server, detect whether each of the recommended multimedia resources is locally cached in the server according to the resource information of each of the recommended multimedia resources.

[0010] In an embodiment of the present application, the device further comprises a list maintenance module configured to acquire a mapping table of connection identifiers and recommendation lists, and find a target mapping table entry corresponding to a target connection identifier from the mapping table according to the target connection identifier of the server locally and the client, wherein the target mapping table entry comprises a previous recommendation list and a current recommendation list; if it is determined according to the list information of the multimedia recommendation list that the multimedia recommendation list is not the current recommendation list of the target mapping table entry, take the current recommendation list in the target mapping table entry as a new previous recommendation list, and take the multimedia recommendation list as a new current recommendation list to obtain a new mapping table.

[0011] In an embodiment of the present application, the maintenance module is further configured to, if multimedia resources of each of the recommendation lists in the new mapping table are locally cached in the server, acquire a cache time of each of the recommendation lists in the new mapping table in the server locally; if the cache time exceeds a preset effective time, and a target recommendation list exceeding the preset effective time does not belong to the current recommendation list in the new mapping table, delete the target recommendation list from the new mapping table, and delete the locally cached multimedia resources of the target recommendation list from the server.

[0012] In an embodiment of the present application, the acquisition module is further configured to, if the detection result indicates that the target multimedia resource is cached in the server locally, send the target multimedia resource from the server to the client; if the detection result indicates that the target multimedia resource is not cached in the server, acquire the target multimedia resource from a multimedia server, and send the target multimedia resource to the client; and if the detection result indicates that the recommended multimedia resource is not cached in the server, acquire the recommended multimedia resource from the multimedia server, and cache the recommended multimedia resource in the server.

[0013] In an embodiment of the present application, the obtaining module is further configured to, in a case that the server is currently obtaining a specified multimedia resource from the multimedia server, obtain a target list identifier to which the target multimedia resource belongs from the first request message, the specified multimedia resource being a multimedia resource that is not cached in a previous recommendation list of the multimedia recommendation list; determine a demand of the client for the multimedia recommendation list and the previous recommendation list according to the target list identifier; determine an obtaining order of the recommended multimedia resource and the specified multimedia resource according to the demand; and obtain the recommended multimedia resource and the specified multimedia resource from the multimedia server according to the obtaining order.

[0014] In an embodiment of the present application, the sending module is further configured to extract a list identifier to which the requested multimedia resource belongs from the second request message; if the list identifier is a list identifier of the multimedia recommendation list, send the recommended multimedia resource that has been obtained in the multimedia recommendation list to the client; and if the list identifier is empty, send the recommended multimedia resource that has been obtained in the multimedia recommendation list to the client after all multimedia resources that have been cached in a previous recommendation list before the multimedia recommendation list are determined to have been sent.

[0015] In an embodiment of the present application, a multimedia transmission device is also provided, which comprises: a request module configured to obtain a multimedia recommendation list, send a first request message containing the multimedia recommendation list and a target multimedia resource currently requested to a server, so that the server detects whether the target multimedia resource and a recommended multimedia resource in the multimedia recommendation list are cached locally according to the first request message, and sends the target multimedia resource to a client after obtaining the target multimedia resource and the recommended multimedia resource according to a detection result; and a cache module configured to receive the target multimedia resource sent by the server, and cache and play the target multimedia resource locally; the request module is further configured to send a second request message requesting a multimedia resource to the server; and the cache module is further configured to receive a recommended multimedia resource in the multimedia recommendation list sent by the server.

[0016] In an embodiment of the present application, the request module is further configured to obtain resource cache information of a multimedia resource locally cached by the client, the resource cache information including at least one of a number of multimedia cached and a time length of multimedia cached; and if the resource cache information is less than a preset resource cache threshold, send the second request message to the server.

[0017] In one embodiment of this application, the request module is further configured to obtain the playback progress of the multimedia resources in the previous recommendation list obtained from the recommendation server on the client's local machine; if the playback progress is greater than a preset progress threshold, then the multimedia recommendation list is obtained from the recommendation server.

[0018] According to one aspect of the embodiments of this application, an electronic device is provided, including one or more processors; and a storage device for storing one or more computer programs, which, when executed by the one or more processors, cause the electronic device to implement the multimedia transmission method as described above.

[0019] According to one aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor of an electronic device, causes the electronic device to perform the multimedia transmission method as described above.

[0020] According to one aspect of the embodiments of this application, a computer program product is provided, including a computer program stored in a computer-readable storage medium, wherein a processor of an electronic device reads from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the multimedia transmission method as described above.

[0021] In the technical solution provided in the embodiments of this application, the server receives a first request message sent by the client. The first request includes a multimedia recommendation list and the target multimedia resource currently requested. Based on the first request message, the server detects whether it has cached the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list locally, and obtains a detection result. Based on the detection result, the server acquires the target multimedia resource and the recommended multimedia resources, and sends the target multimedia resource to the client so that the client can cache and play the target multimedia resource locally. In response to a second request message from the client requesting multimedia resources, the server sends the acquired recommended multimedia resources to the client so that the client can cache and play them locally. In other words, the client requests the target multimedia resource from the server. When requesting multimedia resources, the required recommendation list is also sent to the server at the beginning of the request. The server determines in advance whether the recommended multimedia resources are cached locally based on the received recommendation list and retrieves the recommended multimedia resources in advance. When the client requests subsequent multimedia resources, the server has already prepared the recommended multimedia resources in the recommendation list. Therefore, it can quickly respond to the second request message and send the prepared recommended multimedia resources to the client, improving the efficiency of the server in responding to client requests. The client can start playing in the shortest possible time, thereby effectively reducing the first screen loading time, reducing waiting time and stuttering during multimedia playback. In addition, the client ensures the continuity of the video by caching playback in advance, reducing the risk of playback interruption, and thus improving the overall viewing experience.

[0022] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:

[0024] Figure 1 This is a schematic diagram of one implementation environment involved in this application;

[0025] Figure 2 This is a flowchart illustrating a multimedia transmission method in an exemplary embodiment of this application;

[0026] Figure 3 This is a flowchart illustrating a multimedia transmission method in an exemplary embodiment of this application;

[0027] Figure 4This is a flowchart illustrating a multimedia transmission method in an exemplary embodiment of this application;

[0028] Figure 5 This is a flowchart illustrating another multimedia transmission method as shown in an exemplary embodiment of this application;

[0029] Figure 6 This is a flowchart illustrating another multimedia transmission method as shown in an exemplary embodiment of this application;

[0030] Figure 7 This is a flowchart illustrating another multimedia transmission method as shown in an exemplary embodiment of this application;

[0031] Figure 8 This is a schematic diagram illustrating another implementation environment as shown in another exemplary embodiment of this application;

[0032] Figure 9 This is a flowchart illustrating a multimedia transmission method in another exemplary embodiment of this application;

[0033] Figure 10 This is a structural block diagram of a multimedia transmission device shown in another exemplary embodiment of this application;

[0034] Figure 11 This is a structural block diagram of another multimedia transmission device illustrated in another exemplary embodiment of this application;

[0035] Figure 12 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation

[0036] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0037] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0038] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0039] It should also be noted that "multiple" as mentioned in this application refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0040] The technical solutions of the embodiments of this application will be described in detail below:

[0041] Please see Figure 1 , Figure 1 This is a schematic diagram of an implementation environment involved in this application. The implementation environment includes a client 10 and a server 20.

[0042] The client 10 runs a multimedia player that plays multimedia resources based on object operations. The multimedia resources include at least one of audio resources, video resources, image resources, and text resources. During or when the multimedia resources are playing, the client 10 sends a first request message to the server. The first request message includes a multimedia recommendation list and the target multimedia resource currently requested.

[0043] Server 20 is used to detect whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached locally on the server according to the first request message, obtain the detection result, obtain the target multimedia resource and the recommended multimedia resources according to the detection result, and send the target multimedia resource to the client so that the client can cache and play the target multimedia resource locally; in response to the second request message for requesting multimedia resources sent by the client, the server 20 sends the obtained recommended multimedia resources to the client so that the client can cache and play the recommended multimedia resources locally.

[0044] The aforementioned client 10 can be any electronic device capable of playing multimedia, such as a smartphone, tablet, laptop, computer, smart voice interaction device, smart home appliance, vehicle terminal, or aircraft.

[0045] Among them, server 20 can be a video-on-demand server, which can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides 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. This section does not impose any restrictions on this.

[0046] It should be noted that in the specific implementation of this application, if the multimedia involves objects, then when the embodiments of this application are applied to specific products or technologies, permission or consent from the objects is required, and the collection, use and processing of related data must comply with the relevant regulations and standards of the relevant countries and regions.

[0047] The following details the various implementation details of the technical solutions in the embodiments of this application:

[0048] like Figure 2 As shown, Figure 2 This is a flowchart illustrating a multimedia transmission method according to an embodiment of this application. This method can be applied to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The multimedia transmission method, executed by the server shown, may include steps S210 to S240, as detailed below:

[0049] S210. Receive a first request message sent by the client. The first request message includes a multimedia recommendation list and the target multimedia resource currently requested.

[0050] In this embodiment of the application, the first request message is a message generated by the client to request multimedia resources from the server. The multimedia resources are on-demand multimedia resources, which are stored on the local server or other servers. As the client progresses in watching multimedia, the multimedia resources can be obtained at different times.

[0051] The first request message includes a multimedia recommendation list. This list can be a recommendation list of multimedia resources preferred by the client user, meaning it matches the client user's interests. Alternatively, it can be a recommendation list of multimedia resources promoted to the user by an application running on the client. The multimedia recommendation list includes multiple recommended multimedia resources. The first request message also includes the target multimedia resource currently requested by the client, meaning the client will play this target multimedia resource within a certain time period. This target multimedia resource may or may not be a resource in the multimedia recommendation list in the first request message; for example, the target multimedia resource may be a resource in the previous recommendation list.

[0052] It should be noted that the recommended multimedia resources in the multimedia recommendation list are not the resources currently requested by the client. If the client needs to request the recommended multimedia resources in the multimedia recommendation list, it needs to send a new request after the first request message.

[0053] In one example, depending on the server's location in the network and the client's location in the network, the server can directly receive the first request message sent by the client, or it can receive the first request message from the client by transmitting the first request message through at least one network device in the network.

[0054] S220. Based on the first request message, detect whether the server has cached the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list locally, and obtain the detection result.

[0055] In this embodiment of the application, the server includes a resource cache area. The server detects whether the resource cache area contains the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list according to the first request message, and obtains a detection result of whether the server locally caches the corresponding resources. The detection result includes whether the server locally caches the target multimedia resource, whether the server locally does not cache the target multimedia resource, whether the server locally caches each of the recommended multimedia resources, and whether the server locally does not cache each of the recommended multimedia resources.

[0056] In one example, since the target multimedia resource is currently requested by the client, its urgency is greater than that of the recommended multimedia resource. The server can first check whether it has cached the target multimedia resource locally based on the first request message, and then check whether it has cached the recommended multimedia resource locally.

[0057] In another example, the server can simultaneously detect whether it has cached both the target multimedia resource and the recommended multimedia resources locally based on the first request message; if the number of recommended multimedia resources in the multimedia recommendation list is less than a preset number, it can simultaneously detect whether it has cached both the target multimedia resource and the recommended multimedia resources locally.

[0058] S230. Based on the detection results, obtain the target multimedia resources and recommended multimedia resources, and send the target multimedia resources to the client so that the client can cache and play the target multimedia resources locally.

[0059] In this embodiment, depending on the detection results, the server obtains the target multimedia resource and recommended multimedia resource from different sources. If the server has cached the corresponding multimedia resource locally, it retrieves the corresponding multimedia resource from the server's resource cache. If the server has not cached the corresponding multimedia resource locally, it needs to obtain the corresponding multimedia resource from other servers and then immediately send the target multimedia resource to the client. The client caches and plays the target multimedia resource locally. The other servers can be edge nodes near the server in a distributed caching network, content delivery networks, or source servers of multimedia resources, i.e., multimedia servers.

[0060] When a server needs to obtain target multimedia resources and recommended multimedia resources from other servers, as described above, the urgency of the target multimedia resources is greater than that of the recommended multimedia resources. Therefore, the server prioritizes obtaining the target multimedia resources, sends them to the client, and then obtains the recommended multimedia resources; or the server prioritizes obtaining the target multimedia resources, then obtains the recommended multimedia resources, and then sends the target multimedia resources to the client.

[0061] S240. In response to the second request message sent by the client requesting multimedia resources, the acquired recommended multimedia resources are sent to the client so that the client can cache and play the recommended multimedia resources locally.

[0062] In this embodiment of the application, the acquired recommended multimedia resources are cached locally on the server. After the server sends the target multimedia resources to the client and receives subsequent requests from the client, that is, after the server receives the second request message sent by the client requesting multimedia resources, it can directly send the cached recommended multimedia resources to the client in real time in response to the second request message, so that the client can cache and play the recommended multimedia resources locally.

[0063] In this embodiment, when the client requests the current target multimedia resource from the server, it also sends the corresponding recommendation list to the server at the beginning of the request. The server determines in advance whether the recommended multimedia resource is cached locally based on the received recommendation list and obtains the recommended multimedia resource in advance. When the client requests subsequent multimedia resources, the server has already prepared the multimedia resources in the recommendation list, so it can quickly respond to the second request message and send the prepared recommended multimedia resources to the client, improving the server's efficiency in responding to client requests. The client can start playing in the shortest possible time, thereby effectively reducing the first screen loading time and stuttering. Furthermore, the client ensures the continuity of the video by caching playback in advance, reducing the risk of playback interruption, and thus improving the overall viewing experience.

[0064] In one embodiment of this application, another multimedia transmission method is provided, which can be applied to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The server shown is used to execute, such as Figure 3 As shown, this multimedia transmission method is in Figure 2 Based on this, step S220 is extended to S310-S330. The first request message includes resource information of the target multimedia resource and list information of the multimedia recommendation list. Step S310 is detection method one, and S320-S330 are detection method two, detailed below:

[0065] S310. Detect whether the target multimedia resource is cached locally on the server based on the resource information of the target multimedia resource, and detect whether the recommended multimedia resource is cached locally on the server based on the list information of the multimedia recommendation list, and obtain the detection result.

[0066] The server can simultaneously detect whether it has cached both the target multimedia resource and the recommended multimedia resource locally. The resource information of the target multimedia resource is used to indicate the resource details of the multimedia resource. In one example, the resource information of the target multimedia resource includes the resource identifier (URI) and resource data range (Range) of each target multimedia resource. The resource identifier is used to uniquely identify the target multimedia resource. The resource data range (Range) specifies the multimedia fragment in the multimedia resource, represented as {offset_start, range_len}, that is, a multimedia fragment starting from the offset_start and with a length of range_len.

[0067] In one example, the server checks whether it has cached each target multimedia resource locally based on the resource identifier of each target multimedia resource; if the server has cached at least one target multimedia resource locally, it checks whether the resource data range of the cached target multimedia resource matches the target resource data range.

[0068] The server's resource cache stores cached multimedia resources. The resource cache establishes a correspondence between resource identifiers and multimedia resources, thus matching the resource tag requested by the client with the resource identifier in the resource cache. If the resource identifier requested by the client exists in the resource cache, it means that the server has already cached the target multimedia resource locally. The target multimedia resource includes multiple resources, which need to be matched one by one.

[0069] If the server determines that it has cached at least one target multimedia resource requested by the client locally, it needs to further check whether the range of the locally cached resource data matches the range of the target resource data requested by the client; obtain the offset (offset_start) and length (range_len) of the target multimedia resource cached in the resource cache area; if the range of the cached target multimedia resource data is completely consistent with the range of the target resource data requested by the client, it means that the server has cached the target multimedia resource; if the cached resource data range only covers part of the target resource data range requested by the client (e.g., offset_start matches, but range_len is shorter), the server will record which parts have been cached and which parts have not been cached; if the cached resource data range does not contain the target resource data range requested by the client at all, it means that the server has only cached other parts of the target multimedia resource, or has not cached the requested fragment, and thus obtain the detection result corresponding to the target multimedia resource.

[0070] In this embodiment, the server detects whether the target multimedia resource is cached locally by using a resource identifier. If cached, the server further detects whether the range of cached resource data is consistent with the client request, thereby improving the accuracy of the server detection and ensuring the reliability of the resource feedback to the client.

[0071] The list information of a multimedia recommendation list includes information about the list itself and information contained within the list. In one example, the list information of a multimedia recommendation list includes a list identifier, a list retrieval time, and resource information for each recommended multimedia resource. The list identifier is used to uniquely identify the multimedia recommendation list. The list retrieval time is the specific time when the client retrieves the recommendation list. The resource information for each recommended multimedia resource includes a unique identifier (URI) and a data fragment range for each resource.

[0072] The server determines the validity period of the multimedia recommendation list based on the list retrieval time; it then determines whether the multimedia recommendation list is a locally cached recommendation list based on the validity period and the list identifier; if the multimedia recommendation list is not a locally cached recommendation list, the server checks whether each recommended multimedia resource is cached locally based on its resource information.

[0073] The server can determine the validity period of the multimedia recommendation list based on the list acquisition time. For example, the recommendation list is valid for a specified period after acquisition. The specified time can be determined based on the business scenario corresponding to the multimedia resource. For example, if the business scenario corresponding to the multimedia resource is a short video scenario, the specified time is 24 hours. In addition, the server can also determine whether the multimedia recommendation list has expired based on the specified time. For example, if the list acquisition time is T and the current time is T+25 hours, it means that the recommendation list has expired.

[0074] In one example, the server first determines whether the multimedia recommendation list has expired based on its validity period. If it hasn't expired, it further determines whether the multimedia recommendation list is a locally cached recommendation list based on the list identifier. The server maintains a recommendation list cache queue, which includes the list identifiers of locally cached recommendation lists. This cache queue is checked to confirm whether it contains the list identifiers of multimedia recommendation lists, thus determining whether the multimedia recommendation list is a locally cached recommendation list. If the multimedia recommendation list is not a locally cached recommendation list, the server checks whether each recommended multimedia resource is locally cached based on its resource information. The server can check whether it caches each recommended multimedia resource in parallel; alternatively, the server can group the recommended multimedia resources and check them according to priority, and subsequently cache them according to priority. For example, the server can group the recommended multimedia resources according to their order in the multimedia recommendation list, with higher priority resources appearing earlier in the list. For a detailed explanation of the process of checking whether the server caches each recommended multimedia resource, please refer to the aforementioned process for checking target multimedia resources.

[0075] In another example, the server first checks the recommendation list cache queue to confirm whether it contains the list identifier of the multimedia recommendation list. If the recommendation list cache queue contains the recommendation list identifier, it then checks whether the timestamp of the multimedia recommendation list cached locally on the server is within the valid time range of the multimedia recommendation list. For example, if the timestamp of the multimedia recommendation list cached locally on the server is within the valid time range of the multimedia recommendation list, it means that the multimedia recommendation list cached locally on the server has not expired. Otherwise, the multimedia recommendation list cached locally on the server has expired. In this case, it is equivalent to the server not actually caching the multimedia recommendation list locally. The multimedia recommendation list is not a recommendation list that has been cached locally on the server. Then, based on the resource information of each recommended multimedia resource, it checks whether the server caches each recommended multimedia resource locally.

[0076] In this embodiment, the validity period of the multimedia recommendation list is determined by the list acquisition time to avoid invalid detection due to the expiration of the multimedia recommendation list. Then, it is determined whether the multimedia recommendation list is a locally cached recommendation list based on the list identifier and validity period to avoid duplicate detection. Furthermore, for recommendation lists that are not cached locally on the server, the server is checked to see if each recommended multimedia resource is cached locally based on the resource information of each recommended multimedia resource. This improves the accuracy of server detection and ensures the reliability of resource feedback to the client.

[0077] S320. Based on the resource information of the target multimedia resource, detect whether the server has cached the target multimedia resource locally, and obtain the detection result corresponding to the target multimedia resource.

[0078] S330. If the detection result corresponding to the target multimedia resource indicates that the server does not cache the target multimedia resource locally, then during the process of obtaining the target multimedia resource from the multimedia server, the detection result corresponding to the multimedia recommendation list is obtained by checking whether the server caches the recommended multimedia resource locally based on the list information of the multimedia recommendation list.

[0079] In the embodiments of this application, the difference between detection method one and detection method two lies in the detection order of the target multimedia resource and the recommended multimedia resource. The specific detection process is the same, and the detection process will not be described in detail here.

[0080] In detection method two, the server first checks whether it has cached the target multimedia resource locally based on the resource information of the target multimedia resource. If the target multimedia resource is not cached locally, the server needs to obtain the target multimedia resource from the multimedia server. During the process of obtaining the target multimedia resource, such as when the server sends a resource acquisition request to the multimedia server, while the server is waiting for the multimedia server to send the target multimedia resource, the server's computing resources are relatively idle. At this time, the server checks whether it has cached the recommended multimedia resources locally based on the list information in the multimedia recommendation list, and obtains the detection result corresponding to the multimedia recommendation list.

[0081] In other embodiments, in detection method two, if the detection result corresponding to the target multimedia resource indicates that the server locally caches the target multimedia resource, the server can directly detect whether the server locally caches the recommended multimedia resource based on the list information of the multimedia recommendation list; alternatively, the server can detect whether the server locally caches the recommended multimedia resource after sending the target multimedia resource to the client.

[0082] In other embodiments, the server can flexibly determine whether to use detection method one or detection method two according to the actual situation. For example, if the number of recommended multimedia resources is greater than the first preset number, or the number of target multimedia resources is greater than the second preset number, then detection method two is used; otherwise, detection method one is used, and the second preset number is less than the first preset number. Or, for example, if the server's computing resources are greater than a preset resource threshold, then detection method one is used; otherwise, detection method two is used.

[0083] It should be noted that, Figure 3 For further details on steps S210, S230 to S240 shown, please refer to [link to relevant documentation]. Figure 2 Steps S210, S230 to S240 shown will not be repeated here.

[0084] In this embodiment of the application, the server provides two detection methods when detecting whether the corresponding multimedia resources are cached locally, which can be adapted to multiple application scenarios. In the second detection method, the target multimedia resources are detected first, and then the recommended multimedia resources are detected during the process of the server obtaining the target multimedia resources. This makes reasonable use of the server's computing resources, ensures the priority of target multimedia resource detection and feedback, and improves the response speed to the client.

[0085] This application provides another multimedia transmission method, which can be applied to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The server shown is used to execute, such as Figure 4 As shown, this multimedia transmission method is in Figure 2Based on S210, steps S410 to S420 are added after S210, which are the processes for the server to maintain the recommendation list. Steps S410 to S420 are detailed below:

[0086] S410. Obtain the mapping table between connection identifiers and recommendation lists, and based on the target connection identifiers of the server local and the client, find the target mapping table entry corresponding to the target connection identifier in the mapping table. The target mapping table entry includes the previous recommendation list and the current recommendation list.

[0087] S420. If the current recommendation list of the multimedia recommendation list is determined to be a non-target mapping table entry based on the list information of the multimedia recommendation list, then the current recommendation list in the target mapping table entry is taken as the new previous recommendation list, and the multimedia recommendation list is taken as the new current recommendation list to obtain a new mapping table.

[0088] Understandably, a server can receive multimedia resource request messages from multiple clients. To distinguish the recommendation lists sent by different clients, the server maintains a mapping table between connection identifiers and recommendation lists locally. This connection identifier (ConnID) is the connection identifier between the server and the client. The ConnID is different for different clients connected to the server. In the TCP protocol, ConnID can be represented by a 5-tuple (i.e., source address, destination address, source port, destination port, and protocol type). In the QUIC protocol, ConnID can be represented by the protocol's built-in "connection identifier". This mapping table contains multiple recommendation lists, namely the current recommendation list and the previous recommendation list, as shown in Table 1 below.

[0089] Number Connection ID Last recommended list Current recommended list 1 ConnID_1 List_recmd_last_1 List_recmd_1 2 ConnID_2 List_recmd_last_2 List_recmd_2 …… …… …… ……

[0090] Table 1

[0091] It is understandable that the current recommendation list is taken as the j-th recommendation list, the previous recommendation list is taken as the (j-1)-th recommendation list, and the mapping table can also include the previous recommendation list of the previous recommendation list, that is, the (j-2)-th recommendation list, etc.

[0092] The server can extract the target connection identifier between the server and the client from the first request message, and then look up the corresponding target mapping table entry in Table 1. For example, if the target connection identifier is ConnID_1, the server can find the previous recommendation list and the current recommendation list corresponding to the client. The previous recommendation list is the multimedia recommendation list sent by the client before sending the first request message.

[0093] After the server extracts the multimedia recommendation list from the first request message, it needs to determine whether the multimedia recommendation list is the same as the recommendation list in the mapping table. For example, the list identifier of the multimedia recommendation list is matched with the list identifier of the recommendation list in the mapping table. If the matching of the list identifiers determines that the multimedia recommendation list in the first request message is not the current recommendation list corresponding to the client in the mapping table, it means that the multimedia recommendation list in the first request message is the latest recommendation list of the client. Therefore, the current recommendation list in the target mapping table entry is taken as the new previous recommendation list, and the multimedia recommendation list is taken as the new current recommendation list, resulting in a new mapping table, as shown in Table 2 below.

[0094] Number Connection ID Last recommended list Current recommended list 1 ConnID_1 List_recmd_1 List_recmd_x 2 ConnID_2 List_recmd_last_2 List_recmd_2 …… …… …… ……

[0095] Table 2

[0096] In Table 2, the multimedia recommendation list is List_recmd_x. List_recmd_last_1 in Table 1 can be either deleted or included as a new list of j-2 recommendations.

[0097] In this embodiment of the application, through the mapping table between connection identifiers and recommendation lists, the server can record the current and previous recommendation list status of each connection, which can ensure that the server knows the recommendation list status of the client. For example, when the client reconnects or a network interruption occurs, the recommendation list status can be quickly restored according to the mapping table to perform local cache detection or send multimedia resources in the recommendation list.

[0098] In this instance, the server only needs to check if it has cached the new current recommendation list locally. Therefore, it reads the new current recommendation list from the new mapping table, which is the multimedia recommendation list in the first request message. Then, based on the list information of the new current recommendation list, it checks whether the server has cached the recommended multimedia resources in the new current recommendation list locally. For details on the detection process, please refer to [link to relevant documentation]. Figure 3 The example shown.

[0099] In this embodiment, after the server caches the multimedia resources corresponding to the recommendation list locally, it can also record the caching time of the recommendation list on the server. This caching time is the difference between the time when caching is completed and the current time. In order to avoid the multimedia resources of the recommendation list occupying the local cache space of the server, this embodiment can clean up the recommendation list and multimedia resources according to the caching time.

[0100] In one example, after obtaining the new mapping table, if the server has already cached the multimedia resources of each recommendation list in the new mapping table locally, then the cache time of each recommendation list in the new mapping table on the server is obtained; if the cache time exceeds the preset validity period, and the target recommendation list that exceeds the preset validity period does not belong to the current recommendation list in the new mapping table, then the target recommendation list is deleted from the new mapping table, and the cached multimedia resources of the target recommendation list are deleted from the server locally.

[0101] The new mapping table includes recommendation lists corresponding to each connection identifier. If the server has already cached the multimedia resources of each recommendation list in Table 2 locally, the server will record the caching time of the recommendation list and set a preset validity period. The preset validity period of each recommendation list is the same, or the preset validity period of the previous recommendation list is less than the preset validity period of the current recommendation list. For example, if the caching time of List_recmd_1 and List_recmd_last_2 in the previous recommendation list field is 36 hours and 30 hours respectively, and the preset validity period of both is 32 hours, then List_recmd_1 exceeds the preset validity period, and List_recmd_1 is not a list in the current recommendation list field. In this case, List_recmd_1 can be deleted from Table 2, and the cached multimedia resources of the target recommendation list can be deleted from the server locally. List_recmd_last_2, which has not exceeded the preset validity period, will continue to be retained.

[0102] In another example, if the cache time of the current recommendation list in the new mapping table exceeds the preset validity period, the decision to retain the recommendation list can be based on whether the client requests the multimedia resources in the recommendation list. For instance, suppose the cache times of List_recmd_x and List_recmd_2 in the current recommendation field are 11 hours and 16 hours respectively, and the preset validity period for both is 12 hours. List_recmd_2 exceeds the preset validity period, but List_recmd_2 belongs to the current recommendation list, and the client corresponding to ConnID_2 requested the multimedia resources in List_recmd_2 within the preset time before the current time, then List_recmd_2 is retained. If the client corresponding to ConnID_2 did not request the multimedia resources in List_recmd_2 within the preset time before the current time, i.e., it did not request resources in the list for a long time, then List_recmd_2 is deleted from the new mapping table, and the cached multimedia resources of List_recmd_2 are deleted from the server's local storage.

[0103] In another example, if the cache time of the current recommended list in the new mapping table exceeds a preset validity period, it can be retained for the preset time. If the client does not request multimedia resources in the list within the preset retention period, the list and its multimedia resources are deleted. For example, if List_recmd_2 exceeds the preset validity period, it is retained for 2 hours. If the client does not request multimedia resources in List_recmd_2 within the current time and the next 2 hours, List_recmd_2 is deleted from the new mapping table, and the cached multimedia resources of List_recmd_2 are deleted from the server's local cache. If the client requests multimedia resources in List_recmd_2 within the current time and the next 2 hours, the server can record the time of the client's request and retain it for 2 hours, continuing to monitor whether the client requests multimedia resources in List_recmd_2 until no requests are made within the retained 2 hours.

[0104] In this embodiment, when the multimedia resources of each recommendation list in the new mapping table are already cached locally on the server, invalid lists in the mapping table are deleted according to the caching time of the recommendation lists on the server. This ensures that the resources of the current recommendation list can be pushed to the client at any time, while avoiding cache overflow and expired data occupying resources and saving local cache space on the server.

[0105] It should be noted that, Figure 4 For further details on steps S210 to S240 shown, please refer to [link to relevant documentation]. Figure 2 Steps S210 to S240 shown will not be repeated here.

[0106] In this embodiment, the server maintains a mapping table between connection identifiers and recommendation lists. The server can record the current and previous recommendation list status of each connection, ensuring that the server knows the recommendation list status of the client, which facilitates the processing of subsequent recommendation or resource requests. In case of problems, the mapping table provides detailed connection and recommendation list information, which helps to quickly locate and resolve problems.

[0107] This application provides another multimedia transmission method, which can be applied to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The server shown is used to execute, such as Figure 5 As shown, this multimedia transmission method is in Figure 2 Based on this, step S230 is extended to steps S510 to S530. Steps S510 to S530 are described in detail below:

[0108] S510. If the detection result indicates that the target multimedia resource is cached locally on the server, then the target multimedia resource is sent from the server to the client.

[0109] In this embodiment of the application, if the detection result indicates that the server has cached the target multimedia resource locally, the server extracts the target multimedia resource from the local resource cache and sends the target multimedia resource to the client.

[0110] S520. If the detection result indicates that the target multimedia resource is not cached locally on the server, then the target multimedia resource is obtained from the multimedia server and sent to the client.

[0111] In this embodiment of the application, if the detection result indicates that the server does not cache the target multimedia resource locally, the server immediately obtains the target multimedia resource from the multimedia server, which is the source server of the target multimedia resource. The server does not need to cache the target multimedia resource locally and directly sends the target multimedia resource to the client.

[0112] It should be noted that the target multimedia resource is the multimedia resource currently requested by the client. Therefore, when the server needs to obtain other resources from the multimedia server, it will prioritize obtaining the target multimedia resource from the multimedia server.

[0113] In one example, the target multimedia resource retrieved by the server from the resource cache or multimedia server is the highest resolution target multimedia resource. When the client requests the target multimedia resource, the server can convert the resolution of the highest resolution target multimedia resource according to the client's current network status, so as to send the target multimedia resource converted to the appropriate resolution to the client.

[0114] S530. If the detection result indicates that the recommended multimedia resources are not cached locally on the server, then the recommended multimedia resources are obtained from the multimedia server and cached locally on the server.

[0115] If the detection result indicates that the server has not cached some or all of the recommended multimedia resources locally, the server needs to obtain the multimedia resources that have not yet been cached in the multimedia recommendation list in advance before the client makes a request. This ensures that the data is ready when the client actually makes a request. Therefore, the server also needs to pre-download the uncached recommended multimedia resources from the multimedia server and cache the recommended multimedia resources locally on the server. Then, when the client makes a subsequent request, the recommended multimedia resources can be sent directly to the client.

[0116] In one example, when retrieving recommended multimedia resources from a multimedia server, the server may also be retrieving other resources from the same multimedia server. In this case, it is necessary to determine the order in which the resources are retrieved. Retrieving recommended multimedia resources from a multimedia server includes: if the server is currently retrieving a specific multimedia resource from the multimedia server, retrieving the target list identifier to which the target multimedia resource belongs from the first request message, specifying the multimedia resource as an uncached multimedia resource in the previous recommendation list of the multimedia recommendation list; determining the client's need for the multimedia recommendation list and the previous recommendation list based on the target list identifier; determining the retrieval order of the recommended multimedia resources and the specific multimedia resource based on the need; and retrieving the recommended multimedia resources and the specific multimedia resource from the multimedia server according to the retrieval order.

[0117] As described above, before sending the multimedia recommendation list via the first request message, the client has already sent a previous recommendation list, i.e., the previous recommendation list. The server also needs to check whether the previous recommendation list is cached locally, and then retrieve the uncached multimedia resources from the previous recommendation list from the multimedia server, i.e., the specified multimedia resources. During the process of retrieving the specified multimedia resources from the multimedia server, the server receives the first request message initiated by the client and determines, based on the first request message, that it needs to retrieve the recommended multimedia resources from the current multimedia recommendation list from the server. At this time, the server is currently retrieving the specified multimedia resources from the multimedia server. In this case, the server can obtain the target list identifier to which the target multimedia resource belongs from the first request message. Since the target multimedia resource is the multimedia resource currently requested, the target list identifier to which the target multimedia resource belongs can be used to determine whether the client's current need for the multimedia recommendation list or the previous recommendation list is more urgent.

[0118] Understandably, the target multimedia resource currently requested by the client can be a resource from the multimedia recommendation list. If the target list identifier is the list identifier of the multimedia recommendation list, it means that the client's demand for recommended multimedia resources in the multimedia recommendation list is greater than the demand for the previous recommendation list. In this case, the order of obtaining recommended multimedia resources takes precedence over obtaining the specified multimedia resource. At this time, the server pauses obtaining the specified multimedia resource from the multimedia server and obtains recommended multimedia resources from the multimedia recommendation list from the multimedia server. That is, it first obtains uncached recommended multimedia resources from the multimedia server, and after obtaining all the uncached recommended multimedia resources, it then obtains the specified multimedia resource from the multimedia server.

[0119] In this embodiment of the application, if the target list identifier is not the list identifier of the multimedia recommendation list, such as the target list identifier being the list identifier of the previous recommendation list, it means that the client's demand for recommended multimedia resources in the multimedia recommendation list is less than the demand for the previous recommendation list. In this case, the acquisition order of the specified multimedia resources takes precedence over the recommended multimedia resources. At this time, the server continues to acquire the specified multimedia resources from the multimedia server. After the acquisition of the uncached specified multimedia resources is completed, the server then acquires the recommended multimedia resources from the multimedia server.

[0120] In one example, if the target list identifier is not the identifier of the multimedia recommendation list, such as when the target list identifier is empty, meaning the target multimedia resource is neither the current multimedia recommendation list nor the previous recommendation list, the client's request for recommended multimedia resources in the multimedia recommendation list is the same as the request for the previous recommendation list. The order of obtaining recommended multimedia resources and specified multimedia resources is the same. In this case, the server can alternately obtain specified multimedia resources and recommended multimedia resources in the multimedia recommendation list from the multimedia server. For example, after obtaining a specified multimedia resource from the multimedia server, it can obtain an uncached recommended multimedia resource from the multimedia server, and then obtain another specified multimedia resource from the multimedia server. Alternatively, if the network quality between the server and the multimedia server is better than a preset quality threshold, the server can simultaneously obtain specified multimedia resources and uncached recommended multimedia resources from the multimedia server.

[0121] In this embodiment of the application, when the server is currently obtaining a specified multimedia resource from the multimedia server, the order in which the server obtains recommended multimedia resources and specified multimedia resources from the multimedia server is determined according to the target list identifier to which the target multimedia resource belongs in the first request message. This ensures the rationality and reliability of the server in obtaining resources. At the same time, when the client requests subsequent multimedia resources, it ensures that the resources returned by the server meet the client's needs, further enhancing the multimedia viewing experience of the client-side object.

[0122] It should be noted that, Figure 5 For a detailed description of steps S210-S220 and S240 shown, please refer to [link to relevant documentation]. Figure 2 Steps S210 to S220 and S240 shown will not be repeated here.

[0123] In this embodiment, the server can quickly determine which multimedia resources are already stored locally through cache detection. If the resources are not cached, the server can retrieve them from the multimedia resource server. If the resources are already cached, the server can immediately respond to the client's request, reducing the transmission requirements between the server and the data source, improving response speed, and reducing object waiting time.

[0124] In one embodiment of this application, another multimedia transmission method is also provided, which can be applied to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The server shown is used to execute, as Figure 6 As shown, this multimedia transmission method is in Figure 2 Based on the above, S240 is extended to S610 to S630. Steps S610 to S630 are described in detail below:

[0125] S610. In response to a second request message sent by the client requesting multimedia resources, extract the list identifier to which the requested multimedia resources belong from the second request message.

[0126] S620. If the list identifier is the list identifier of the multimedia recommendation list, then send the recommended multimedia resources already obtained in the multimedia recommendation list to the client.

[0127] S630. If the target list identifier is empty, after all the cached multimedia resources in the previous recommendation list before determining the multimedia recommendation list have been sent, the recommended multimedia resources already obtained in the multimedia recommendation list will be sent to the client.

[0128] In this embodiment of the application, after the server sends the target multimedia resource to the client, it waits for the client's request and receives the second request message sent by the client. The second request message is used to request the multimedia resource. The requested multimedia resource may be a resource in a recommendation list. Therefore, the list identifier to which the requested multimedia resource belongs can be extracted from the second request message. Of course, the requested multimedia resource may not be a resource in the recommendation list. In this case, the list identifier is empty.

[0129] In this embodiment, if the list identifier is the list identifier of the multimedia recommendation list, indicating that the client requests multimedia resources in the multimedia recommendation list, then the server sends the recommended multimedia resources already obtained in the multimedia recommendation list to the client. In one example, the second request message also includes resource information of the requested recommended multimedia resources, such as resource identifier and resource data range. The server needs to first check whether the recommended multimedia resources requested by the second request message are cached locally. After confirming that they are cached, the server sends the recommended multimedia resources to the client. If the second request message only includes the list identifier to which the requested multimedia resources belong, the server can directly send any one or more recommended multimedia resources already obtained in the multimedia recommendation list to the client.

[0130] If the list identifier is the list identifier of the previous recommendation list before the multimedia recommendation list, indicating that the client requested the list identifier of the previous recommendation list, then the cached multimedia resources in the previous recommendation list will be sent to the client. If all the cached multimedia resources in the previous recommendation list have been sent, the recommended multimedia resources already obtained in the multimedia recommendation list can be sent to the client.

[0131] If the list identifier is empty, it means that the client has not specified the requested multimedia resources. In this case, the multimedia resources that have been cached in the previous recommendation list are sent to the client first. After all the multimedia resources that have been cached in the previous recommendation list before the multimedia recommendation list is determined have been sent, the recommended multimedia resources that have been obtained in the multimedia recommendation list are sent to the client.

[0132] In one example, when a client requests a multimedia resource via a second request message, the server can perform resolution conversion on the recommended multimedia resource with the highest resolution based on the client's current network status, and send the recommended multimedia resource with the appropriate resolution to the client.

[0133] It should be noted that, Figure 6 For further details on steps S210 to S230 shown, please refer to [link to relevant documentation]. Figure 2 Steps S210 to S230 shown will not be repeated here.

[0134] In this embodiment of the application, the server provides the client with appropriate multimedia resources based on the list identifier of the multimedia resources requested by the client in the second request message, and enables the client to play all the multimedia resources cached locally on the server, thereby improving the utilization rate of the cached multimedia resources.

[0135] Figure 2 to Figure 6 The illustrated embodiment is described from the server's perspective. The following is a combination of... Figure 7 The implementation details of the technical solutions in the embodiments of this application are described in detail from the client's perspective:

[0136] This application provides a multimedia transmission method, which includes methods applicable to... Figure 1 The implementation environment shown indicates that this method can be implemented by Figure 1 The client shown is used to execute, such as Figure 7 As shown, the multimedia transmission method may include steps S710 to S730, which are described in detail below:

[0137] S710. Obtain the multimedia recommendation list and send a first request message containing the multimedia recommendation list and the target multimedia resource currently requested to the server, so that the server can detect whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached locally according to the first request message. After obtaining the target multimedia resource and the recommended multimedia resources according to the detection result, the target multimedia resource is sent to the client.

[0138] In this embodiment, the client obtains the multimedia recommendation list, either by retrieving it from a recommendation server (which lists multimedia resources that match the client's preferences) or by retrieving it from the application server corresponding to the application running on the client (which lists multimedia resources advertised to the client). The client can also determine the target multimedia resource to be requested based on the playback status of the multimedia resource by its local player, and then generate a first request message based on the multimedia recommendation list and the target multimedia resource. The client then sends the first request message to the server. The specific execution process of the server is detailed in the foregoing embodiments and will not be repeated here.

[0139] In one example, the client periodically retrieves a multimedia recommendation list from the recommendation server. The retrieval period can be flexibly adjusted according to the actual situation, such as the retrieval period corresponding to the object's working hours being longer than the retrieval period corresponding to the object's rest time.

[0140] In another example, the client can retrieve a multimedia recommendation list from the recommendation server based on the playback progress of the multimedia being played locally. For instance, if the client has already retrieved the previous recommendation list from the recommendation server and has played the multimedia resources in the previous recommendation list locally, the client can retrieve the playback progress of the multimedia resources in the previous recommendation list. If the playback progress is greater than a preset progress threshold, the client can retrieve a multimedia recommendation list that matches the user's preferences from the recommendation server to ensure that the user can continuously receive personalized content, thereby improving the user's experience and satisfaction. The preset progress threshold can be flexibly adjusted according to the actual situation. For example, the client can retrieve the multimedia recommendation list from the recommendation server when the playback progress of the previous recommendation list exceeds halfway, or when the playback progress of the previous recommendation list is 100%.

[0141] S720 receives the target multimedia resources sent by the server and caches and plays the target multimedia resources locally.

[0142] The client receives the target multimedia resource sent by the server, caches the target multimedia resource locally, and then plays it through the player.

[0143] In one example, to reduce bandwidth waste, the client can adopt a phased preloading strategy, initially loading only the keyframes and the first few seconds of the target multimedia resource to ensure that the object starts playing quickly; during playback, the subsequent parts of the target multimedia resource are loaded.

[0144] In one example, after the client receives the target multimedia resource sent by the server, it returns a message acknowledgment to the server. This message acknowledgment is used by the server to perform packet loss detection and repair operations.

[0145] S730: Send a second request message to the server requesting multimedia resources, and receive recommended multimedia resources from the multimedia recommendation list sent by the server.

[0146] In this embodiment, the client's player has a caching mechanism to store multimedia resources received from the server. To reduce buffering or waiting time when watching multimedia, the client can continue to request corresponding multimedia resources from the server, ensuring that the client always has sufficient resources during playback. Specifically, when sending a second request message to the server for multimedia resources, as described above, the server has already cached the multimedia resources in the multimedia recommendation list locally, so the client can quickly obtain the recommended multimedia resources from the server.

[0147] In one example, the client determines whether to send a second request message to the server based on its local resource caching information for multimedia resources. Therefore, it needs to obtain the client's local resource caching information for multimedia resources. This information includes at least one of the following: the number of cached multimedia resources and the duration of the cached multimedia resources. The number of cached multimedia resources includes the number of cached multimedia chunks (chunk_num), the number of multimedia frames (uri_num), and the number of multimedia resource identifiers (frame_num). The audio / video duration is the total duration of the cached multimedia resources (time_len). If the resource caching information is less than a preset resource caching threshold, a second request message is sent to the server. Each type of resource caching information corresponds to a resource caching threshold. If at least one type of resource caching information is less than its corresponding resource caching threshold, the client needs to send a second request message to the server. For example, if the duration caching threshold for multimedia resources is set to 30 seconds, when the player's cached multimedia duration is less than 30 seconds, the client sends a second request message to the server to continue requesting the server, ensuring playback continuity.

[0148] The resource caching threshold can be determined by the client, and this threshold can be flexibly adjusted according to the viewing habits of the target audience and the client's network status. For example, when the network is good, the threshold for the number of segments and the threshold for the duration of multimedia can be increased to cache more resources in advance; when the viewing habits of the target audience indicate a preference for playing long multimedia at a preset playback speed, the threshold for the number of frames can be increased.

[0149] In this embodiment, the client transmits a recommended list tailored to the user's preferences to the server at the initial stage of the request. Simultaneously, the client initiates the loading of multimedia resources in the recommended list according to its own strategy. After requesting the target multimedia resource, the client continues to request other multimedia resources. Since the server has already prepared the multimedia resources in the recommended list, the client can quickly receive the recommended multimedia resources and start playback in the shortest possible time, effectively reducing the initial screen loading time and stuttering. Furthermore, the client ensures video continuity by pre-caching playback, reducing the risk of playback interruption and thus improving the overall viewing experience for the user.

[0150] For ease of understanding, taking audio and video as examples, the multimedia transmission method provided in this application embodiment will be described in detail:

[0151] In this embodiment, the preloading efficiency of audio and video in short video business scenarios is improved by cooperating between the client and the server. Currently, during the (pre)loading process of short videos, if the server does not cache audio and video data, the data back-to-origin process is the main cause of client lag. By sending the recommended list of suitable audience preferences to the server in advance, and the server performing the audio and video back-to-origin operation in the list in advance, the waiting time for the client for audio and video segments is reduced, alleviating the phenomenon of deterioration of client quality of experience (QoE) caused by data back-to-origin, which is conducive to increasing the client's viewing time and improving the revenue of content delivery network (CDN) vendors and application providers.

[0152] like Figure 8 As shown, the multimedia transmission method involves a multimedia transmission system, which includes a recommendation server, a client, a video-on-demand server, and a data source server (such as an audio / video server). The video-on-demand server includes a send / receive control module, a list acquisition module, a source retrieval determination module, and a data acquisition module. The client includes a request decision module and a player.

[0153] based on Figure 8 Multimedia transmission systems, such as Figure 9As shown, the multimedia transmission method includes the following steps: ① The client periodically retrieves a list of audio and video recommendations matching the current user's interests from the recommendation server; ② The client sends a request message to the server containing the audio and video recommendation list and the currently requested audio and video resources; ③ The server's send / receive control module transmits the received recommendation list and requested audio and video resources to the list retrieval module; ④ The list retrieval module transmits the received recommendation list and requested audio and video resources to the origin retrieval module; ⑤ The origin retrieval module determines whether the currently requested audio and video resources and the audio and video resources in the recommendation list are cached locally, and transmits the determination result to the data retrieval module; ⑥ If the audio and video resources requested by the client are cached locally, then... The data acquisition module transmits the corresponding audio and video resources to the server's send / receive control module. If the audio and video resources currently requested by the client, as well as those involved in the recommendation list, are not cached locally, the server's data acquisition module will perform a back-to-origin operation to retrieve the corresponding audio and video resources from the data source server. The server's send / receive control module sends the audio and video resources requested by the client and transmits them to the client through the intermediate network. The client's request decision module determines which audio and video segments in the recommendation list need to be requested next and sends the corresponding request message to the server. After receiving the request message from the client, the server responds to the client's request in sequence through steps ③, ④, ⑤, ⑥, and ⑦ above.

[0154] like Figure 9 As shown, ① the client periodically retrieves a list of audio and video recommendations (List_recmd) that match the user's interests from the recommendation server; this list of recommendations (List_recmd) specifically contains the following information:

[0155] The recommendation list is identified by Recmd_ID. Each recommendation list has a unique identifier to distinguish different recommendation lists. This identifier helps the server and client to know about updates and changes to the recommendation list; the recommendation list is retrieved at the time of List_recmd_timestamp; and the recommended audio and video resource list is set by Video_set.

[0156] Therefore, the recommendation list List_recmd can be represented by the following formula (1):

[0157] List_recmd = {Recmd_ID, List_recmd_timestamp, Video_set} (1)

[0158] The recommended audio and video resource list collection Video_set specifically contains the following information:

[0159] The recommended audio / video resource identifier URI is used for resource location and request between the server and the client, and the range of data fragments in the data resource corresponding to the URI. Range is composed of the offset value offset_start and the length range_len, that is, Range = {offset_start, range_len} indicates that in the audio / video resource corresponding to the URI, the current audio / video fragment starts from offset_start and has a length of range_len.

[0160] Therefore, the recommended audio and video resource list set Video_set can be represented by the following formula (2):

[0161] Video_set ={URI_1, Range_1, URI_2, Range_2,, …} (2)

[0162] In this embodiment of the application, the strategy for the client to obtain List_recmd from the recommendation server is determined by the client itself. It can be executed after the object has watched all the audio and video in the previous recommendation list, or it can be executed after the object has watched more than half of the audio and video in the previous recommendation list.

[0163] ② The client sends a request message to the server containing the recommendation list (List_recmd) obtained in step ①, along with related audio and video resources, as follows:

[0164] The client sends a message pkt_req to the server containing a recommendation list list_recmd (if any) and the current request information for audio and video resources req_msg; the pkt_req message can be represented by formula (3) as follows:

[0165] Pkt_req = {bool_recmd, (list_recmd,) req_msg} (3)

[0166] The bool_recmd flag indicates whether the pkt_req message contains the recommendation list list_recmd. When bool_recmd = 0, the pkt_req message does not contain list_recmd information; otherwise (i.e., bool_recmd = 1), the pkt_req message contains list_recmd information.

[0167] The audio / video resource request information req_msg specifically includes the following information:

[0168] The Recmd_ID identifier for the recommendation list indicates the recommendation list corresponding to this request, ensuring that the server can correctly associate the request with the recommended content; it is understandable that the audio and video resource request information req_msg may not include the Recmd_ID identifier for the recommendation list.

[0169] The number of audio / video segments requested by the client (chunk_amount), and information about one or more audio / video segments requested by the client, including audio / video identifier URI, data range, etc.

[0170] Therefore, the req_msg in the pkt_req message can be represented by the following formula (4):

[0171] Req_msg={Recmd_ID,chunk_amount,URI_i,Range_i,URI_j,Range_j,…}(4), where Req_msg in formula (4) contains…<URI,Range> The quantity is the value of chunk_amount.

[0172] ③ After receiving the pkt_req message from the client, the server's send / receive control module passes the recommended list list_recmd and request information req_msg carried in the message to the list retrieval module.

[0173] In this embodiment, the server's send / receive control module transmits the information in pkt_req to the list retrieval module through the message pkt_list_req, which can be represented by the following formula (5):

[0174] Pkt_list_req={ConnID,(list_recmd,)req_msg}(5), where ConnID represents the identifier of the current connection.

[0175] ④ After receiving the pkt_list_req message from the send / receive control module, the server's list retrieval module extracts the ConnID and list_recmd information carried in it, maintains a recommendation list mapping table for this connection, and passes the list_recmd and req_msg to the origin judgment module; as follows:

[0176] In this embodiment of the application, the connection and recommendation list mapping table maintained by the server's list acquisition module is shown in Table 1 above. The mapping table contains multiple recommendation lists, namely the current recommendation list and the previous recommendation list.

[0177] The server's recommendation module passes the received recommendation list (list_recmd) and request information (req_msg) to the origin detection module.

[0178] ⑤ The server's origin server determination module performs origin server determination based on the received recommendation list list_recmd and request information req_msg; the details are as follows:

[0179] The server's origin-based detection module determines whether the audio and video resources corresponding to the client's request `req_msg` and the audio and video resources involved in the recommendation list `list_recmd` are cached locally. The server's origin-based detection module then passes the detection result to the data acquisition module. This result is achieved through the message `pkt_result`, which specifically contains the following information:

[0180] The client requests the audio and video resources corresponding to req_msg and whether these resources are cached locally in bool_req; the recommended audio and video resources corresponding to the recommendation list list_recmd and whether these resources are cached locally in bool_list.

[0181] Therefore, the message pkt_result can be represented by the following formula (6):

[0182] Pkt_result = {req_msg, bool_req, list_recmd, bool_list} (6)

[0183] Here, bool_req=1 indicates that the audio and video resources corresponding to the client's request req_msg are cached locally; bool_req=0 indicates that the audio and video resources corresponding to the client's request req_msg are not cached locally.

[0184] Here, bool_list = 1 indicates that the recommended audio and video resources corresponding to the recommendation list list_recmd are cached locally; bool_list = 0 indicates that the recommended audio and video resources corresponding to the recommendation list list_recmd are not cached locally.

[0185] It's worth noting that if req_msg or list_recmd corresponds to multiple audio and video resources, then bool_req or bool_list will contain multiple bits: the value of the corresponding bit will indicate the caching status of the corresponding data resource; for example, if list_recmd corresponds to 5 audio and video resources, then bool_list = 00110 indicates that the server caches the 3rd and 4th audio and video resources in list_recmd.

[0186] ⑥ After receiving the pkt_result message, the server's data acquisition module performs the following operations:

[0187] 1) If the audio and video resources corresponding to the client request req_msg information are cached locally, then the audio and video resources are passed to the send / receive control module.

[0188] 2) If the local cache does not contain the corresponding audio or video resources in the req_msg information requested by the client, the data acquisition module obtains the corresponding audio or video resources from the data source server and then passes them to its own send / receive control module.

[0189] 3) If all recommended audio and video resources corresponding to the recommended list list_recmd are cached locally, that is, all bits of bool_list are 1; then wait for the client to request these recommended audio and video resources.

[0190] 4) If one or more recommended audio and video resources corresponding to the recommended list_recmd are not cached locally, that is, some bits of bool_list are not 1; then the data acquisition module obtains these uncached recommended audio and video resources from the data source server and waits for the client to request them.

[0191] ⑦ After receiving the audio and video resources from the data acquisition module, the server's send and receive control module sends these data to the client in the form of messages. This process uses existing traffic sending methods and strategies and is not within the scope of protection of this invention.

[0192] ⑧ After receiving short video traffic packets from the server, the client transmits this data to the player's cache; and returns a message confirmation message to the server, which is used for packet loss detection and repair operations on the server side; at the same time, the client's request decision module decides whether to continue requesting recommended audio and video resources from the recommendation list from the server; as detailed below:

[0193] The client's request decision module determines whether to request other audio and video resources from the recommendation list based on the following rules (one or more of which must be met simultaneously):

[0194] Rule 1: The number of audio and video segments cached by the client player, chunk_num, is less than its threshold, chunk_threshold. <chunk_threshold。

[0195] Rule 2: The number of URIs corresponding to audio and video cached by the client player, uri_num, is less than its threshold, uri_threshold. <uri_threshold。

[0196] Rule 3: The duration (time_len) of the audio and video buffered by the client player is less than its threshold (time_len_threshold), i.e., time_len <time_len_threshold。

[0197] Rule 4: The number of audio and video frames cached by the client player, frame_num, is less than its threshold, frame_num_threshold. <frame_num_threshold。

[0198] Other rules that may indicate less data in the player's cache

[0199] Among them, chunk_threshold, uri_threshold, time_len_threshold and frame_num_threshold are configured by the administrator and declared in the configuration file; by default, chunk_threshold=10, uri_threshold=5, time_len_threshold=3s and frame_num_threshold=20.

[0200] It is understandable that when the client's request decision module decides to continue requesting recommended audio and video resources from the recommendation list from the server, the next request message sent by the client to the server is as shown in formula (3); after receiving the client's later request message pkt_req message, the server executes the above steps ③ to ⑦ in sequence to respond to the client's next request message.

[0201] In this embodiment of the application, if the client obtains the latest recommendation list, then steps ② to ⑧ above are executed sequentially to perform the preloading operation of the short video.

[0202] The embodiments of this application provide a solution in which, on the one hand, the client transmits a recommendation list adapted to the user's preferences to the server at the beginning of the request, and at the same time, loads the audio and video resources in the recommendation list in sequence according to the client's own strategy; on the other hand, the server determines in advance whether these audio and video resources are cached locally based on the received recommendation list. If they are not cached, the server retrieves the corresponding audio and video resources in advance by returning to the origin server, which effectively alleviates the problem of client-side lag and low first-screen latency caused by the large loading latency caused by data returning to the origin server.

[0203] This application describes an apparatus embodiment that can be used to execute the multimedia transmission method described in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the multimedia transmission method described above.

[0204] This application provides a multimedia transmission device, such as... Figure 10 As shown, the multimedia transmission device can be configured in a server, and the device includes:

[0205] The receiving module 1010 is used to receive a first request message sent by the client. The first request message includes a multimedia recommendation list and the target multimedia resource currently requested.

[0206] The detection module 1020 is used to detect whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached locally on the server according to the first request message, and to obtain the detection result;

[0207] The acquisition module 1030 is used to acquire the target multimedia resource and the recommended multimedia resource according to the detection result, and send the target multimedia resource to the client so that the client can cache and play the target multimedia resource locally.

[0208] The sending module 1040 is configured to respond to a second request message sent by the client requesting multimedia resources, and send the acquired recommended multimedia resources to the client so that the client can cache and play the recommended multimedia resources locally.

[0209] In one embodiment of this application, based on the foregoing scheme, the first request message includes resource information of the target multimedia resource and list information of the multimedia recommendation list; the detection module is further configured to detect whether the server locally caches the target multimedia resource based on the resource information of the target multimedia resource, and to detect whether the server locally caches the recommended multimedia resource based on the list information of the multimedia recommendation list, thereby obtaining a detection result; or, to detect whether the server locally caches the target multimedia resource based on the resource information of the target multimedia resource, thereby obtaining a detection result corresponding to the target multimedia resource; if the detection result corresponding to the target multimedia resource indicates that the server locally does not cache the target multimedia resource, then during the process of obtaining the target multimedia resource from the multimedia server, the server locally caches the recommended multimedia resource based on the list information of the multimedia recommendation list, thereby obtaining a detection result corresponding to the multimedia recommendation list.

[0210] In one embodiment of this application, based on the foregoing scheme, the resource information of the target multimedia resource includes a resource identifier for each target multimedia resource and a target resource data range for each target multimedia resource; the detection module is further configured to detect whether the server locally caches each target multimedia resource based on the resource identifier of each target multimedia resource; and if the server locally caches at least one target multimedia resource, detect whether the resource data range of the cached target multimedia resource matches the target resource data range.

[0211] In one embodiment of this application, based on the foregoing scheme, the list information of the multimedia recommendation list includes a list identifier, a list acquisition time point, and resource information of each of the recommended multimedia resources; the detection module is further configured to determine the validity period of the multimedia recommendation list based on the list acquisition time point; determine whether the multimedia recommendation list is a recommendation list that has been cached locally on the server based on the validity period and the list identifier; if the multimedia recommendation list is not a recommendation list that has been cached locally on the server, then detect whether the server has cached each of the recommended multimedia resources locally based on the resource information of each of the recommended multimedia resources.

[0212] In one embodiment of this application, based on the foregoing scheme, the device further includes a list maintenance module, configured to obtain a mapping table between connection identifiers and recommendation lists, and to search for a target mapping table entry corresponding to the target connection identifier in the mapping table according to the target connection identifier of the server local and the client. The target mapping table entry includes a previous recommendation list and a current recommendation list. If it is determined from the list information of the multimedia recommendation list that the multimedia recommendation list is not the current recommendation list of the target mapping table entry, then the current recommendation list in the target mapping table entry is taken as the new previous recommendation list, and the multimedia recommendation list is taken as the new current recommendation list, thus obtaining a new mapping table.

[0213] In one embodiment of this application, based on the foregoing scheme, the maintenance module is further configured to: if the server has already cached the multimedia resources of each recommendation list in the new mapping table locally, then obtain the caching time of each recommendation list in the new mapping table locally on the server; if the caching time exceeds a preset valid time, and the target recommendation list that exceeds the preset valid time does not belong to the current recommendation list in the new mapping table, then delete the target recommendation list from the new mapping table, and delete the cached multimedia resources of the target recommendation list locally on the server.

[0214] In one embodiment of this application, based on the foregoing scheme, the acquisition module is further configured to: if the detection result indicates that the server has cached the target multimedia resource locally, then send the target multimedia resource from the server to the client; if the detection result indicates that the server has not cached the target multimedia resource locally, then acquire the target multimedia resource from the multimedia server and send the target multimedia resource to the client; if the detection result indicates that the server has not cached the recommended multimedia resource locally, then acquire the recommended multimedia resource from the multimedia server and cache the recommended multimedia resource locally on the server.

[0215] In one embodiment of this application, based on the foregoing scheme, the acquisition module is further configured to, when the server is currently acquiring a specified multimedia resource from the multimedia server, acquire from the first request message the target list identifier to which the target multimedia resource belongs, wherein the specified multimedia resource is a multimedia resource that is not cached in the previous recommendation list of the multimedia recommendation list; determine the client's demand for the multimedia recommendation list and the previous recommendation list based on the target list identifier; determine the acquisition order of the recommended multimedia resource and the specified multimedia resource based on the demand; and acquire the recommended multimedia resource and the specified multimedia resource from the multimedia server according to the acquisition order.

[0216] In one embodiment of this application, based on the foregoing scheme, the sending module is further configured to extract the list identifier to which the requested multimedia resource belongs from the second request message; if the list identifier is the list identifier of the multimedia recommendation list, then the recommended multimedia resources already obtained in the multimedia recommendation list are sent to the client; if the list identifier is empty, then after determining that all the cached multimedia resources in the previous recommendation list before the multimedia recommendation list have been sent, the recommended multimedia resources already obtained in the multimedia recommendation list are sent to the client.

[0217] This application provides a multimedia transmission device, such as... Figure 11 As shown, the multimedia transmission device can be configured in a client, and the device includes:

[0218] The request module 1110 is used to obtain a multimedia recommendation list and send a first request message containing the multimedia recommendation list and the target multimedia resource currently requested to the server, so that the server can detect whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached locally according to the first request message, and after obtaining the target multimedia resource and the recommended multimedia resources according to the detection result, send the target multimedia resource to the client.

[0219] The caching module 1120 is used to receive the target multimedia resource sent by the server and cache the target multimedia resource locally for playback.

[0220] The request module 1110 is also used to send a second request message to the server requesting multimedia resources;

[0221] The caching module 1120 is also used to receive recommended multimedia resources from the multimedia recommendation list sent by the server.

[0222] In one embodiment of this application, based on the foregoing scheme, the request module is further configured to obtain resource caching information of the multimedia resources locally on the client, the resource caching information including at least one of the number of cached multimedia resources and the duration of cached multimedia resources; if the resource caching information is less than a preset resource caching threshold, the second request message is sent to the server.

[0223] In one embodiment of this application, based on the foregoing scheme, the request module is further configured to obtain the playback progress of the multimedia resources in the previous recommendation list obtained from the recommendation server on the client's local machine; if the playback progress is greater than a preset progress threshold, then the multimedia recommendation list is obtained from the recommendation server.

[0224] It should be noted that the apparatus provided in the above embodiments and the method provided in the above embodiments belong to the same concept, and the specific way in which each module and unit performs operations has been described in detail in the method embodiments, and will not be repeated here.

[0225] Embodiments of this application also provide an electronic device, including one or more processors and a storage device, wherein the storage device is used to store one or more computer programs, which, when executed by one or more processors, cause the electronic device to implement the multimedia transmission method as described above.

[0226] Figure 12 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.

[0227] It should be noted that,Figure 12 The computer system 1200 of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application, wherein the electronic device may be a client or a server.

[0228] like Figure 12 As shown, the computer system 1200 includes a central processing unit (CPU) 1201, which can perform various appropriate actions and processes, such as executing the methods described in the above embodiments, based on a program stored in read-only memory (ROM) 1202 or a program loaded from storage portion 1208 into random access memory (RAM) 1203. The RAM 1203 also stores various programs and data required for system operation. The CPU 1201, ROM 1202, and RAM 1203 are interconnected via a bus 1204. An input / output (I / O) interface 1205 is also connected to the bus 1204.

[0229] In some embodiments, the following components are connected to the I / O interface 1205: an input section 1206 including a keyboard, mouse, etc.; an output section 1207 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as needed. A removable medium 1211, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 1210 as needed so that computer programs read from it can be installed into the storage section 1208 as needed.

[0230] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1209, and / or installed from removable medium 1211. When the computer program is executed by processor (CPU) 1201, it performs various functions defined in the system of this application.

[0231] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory, flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0232] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and a computer program.

[0233] The units or modules described in the embodiments of this application can be implemented in software or hardware, and can also be located in a processor. The names of these units or modules do not necessarily limit the specific unit or module itself.

[0234] Another aspect of this application provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the method described above. This computer-readable storage medium may be included in the electronic device described in the above embodiments, or it may exist independently and not assembled into the electronic device.

[0235] Another aspect of this application provides a computer program product comprising a computer program stored in a computer-readable storage medium. A processor of an electronic device reads the computer program from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the methods described above in the various embodiments.

[0236] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0237] Other embodiments of this application will readily conceive of by considering the specification and practicing the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.

[0238] The above content is merely a preferred exemplary embodiment of this application and is not intended to limit the implementation of this application. Those skilled in the art can easily make corresponding modifications or alterations based on the main concept and spirit of this application. Therefore, the scope of protection of this application should be determined by the scope of protection claimed in the claims.

Claims

1. A multimedia transmission method, characterized in that, include: Receive a first request message sent by the client, the first request message including a multimedia recommendation list and the target multimedia resource currently requested; Based on the first request message, the detection server locally checks whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached, and obtains the detection result. Based on the detection results, the target multimedia resource and the recommended multimedia resource are obtained, and the target multimedia resource is sent to the client so that the client can cache and play the target multimedia resource locally. In response to the second request message sent by the client requesting multimedia resources, the acquired recommended multimedia resources are sent to the client so that the client can cache and play the recommended multimedia resources locally.

2. The method according to claim 1, characterized in that, The first request message includes resource information of the target multimedia resource and list information of the multimedia recommendation list; the step of detecting whether the server locally caches the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list based on the first request message, and obtaining the detection result, includes: Based on the resource information of the target multimedia resource, the server is detected to determine whether the target multimedia resource is cached locally, and based on the list information of the multimedia recommendation list, the server is detected to determine whether the recommended multimedia resource is cached locally, and the detection result is obtained. or, Based on the resource information of the target multimedia resource, detect whether the server locally caches the target multimedia resource, and obtain the detection result corresponding to the target multimedia resource; If the detection result corresponding to the target multimedia resource indicates that the server does not cache the target multimedia resource locally, then during the process of obtaining the target multimedia resource from the multimedia server, the server is checked for cache of the recommended multimedia resource locally based on the list information of the multimedia recommendation list, and the detection result corresponding to the multimedia recommendation list is obtained.

3. The method according to claim 2, characterized in that, The resource information of the target multimedia resources includes the resource identifier of each target multimedia resource and the target resource data range of each target multimedia resource; Detecting whether the server has cached the target multimedia resource locally based on the resource information of the target multimedia resource includes: Based on the resource identifier of each target multimedia resource, detect whether the server locally caches each target multimedia resource; If at least one of the target multimedia resources is cached locally on the server, it is detected whether the resource data range of the cached target multimedia resources matches the target resource data range.

4. The method according to claim 2, characterized in that, The list information of the multimedia recommendation list includes a list identifier, a list acquisition time, and resource information for each recommended multimedia resource; the step of detecting whether the server locally caches the recommended multimedia resources based on the list information of the multimedia recommendation list includes: The effective time of the multimedia recommendation list is determined based on the time point obtained from the list. Based on the validity period and the list identifier, determine whether the multimedia recommendation list is a recommendation list that has been cached locally on the server; If the multimedia recommendation list is not a recommendation list that has been cached locally on the server, then the server is checked to see if each of the recommended multimedia resources is cached locally based on the resource information of each recommended multimedia resource.

5. The method according to claim 1, characterized in that, After receiving the first request message sent by the client, the method further includes: Obtain the mapping table between connection identifiers and recommendation lists, and based on the target connection identifiers of the server local and the client, find the target mapping table entry corresponding to the target connection identifier in the mapping table. The target mapping table entry includes the previous recommendation list and the current recommendation list. If, based on the list information of the multimedia recommendation list, it is determined that the multimedia recommendation list is not the current recommendation list of the target mapping table entry, then the current recommendation list in the target mapping table entry is taken as the new previous recommendation list, and the multimedia recommendation list is taken as the new current recommendation list, thus obtaining a new mapping table.

6. The method according to claim 5, characterized in that, The method further includes: If the server has already cached the multimedia resources of each recommendation list in the new mapping table locally, then obtain the caching time of each recommendation list in the new mapping table on the server locally; If the caching time exceeds a preset validity period, and the target recommendation list that exceeds the preset validity period is not part of the current recommendation list in the new mapping table, then the target recommendation list is deleted from the new mapping table, and the cached multimedia resources of the target recommendation list are deleted from the local server.

7. The method according to any one of claims 1 to 6, characterized in that, The step of obtaining the target multimedia resource and the recommended multimedia resource based on the detection result, and sending the target multimedia resource to the client, includes: If the detection result indicates that the server has cached the target multimedia resource locally, then the target multimedia resource is sent from the server to the client. If the detection result indicates that the target multimedia resource is not cached locally on the server, then the target multimedia resource is retrieved from the multimedia server and sent to the client. If the detection result indicates that the recommended multimedia resource is not cached locally on the server, then the recommended multimedia resource is obtained from the multimedia server and cached locally on the server.

8. The method according to claim 7, characterized in that, The step of obtaining the recommended multimedia resources from the multimedia server includes: When the server is currently retrieving a specified multimedia resource from the multimedia server, the target list identifier to which the target multimedia resource belongs is obtained from the first request message. The specified multimedia resource is a multimedia resource that is not cached in the previous recommendation list of the multimedia recommendation list. The client's need for the multimedia recommendation list and the previous recommendation list is determined based on the target list identifier; The order in which the recommended multimedia resources and the specified multimedia resources are acquired is determined based on the demand, and the recommended multimedia resources and the specified multimedia resources are acquired from the multimedia server according to the acquisition order.

9. The method according to any one of claims 1 to 6, characterized in that, Sending the acquired recommended multimedia resources to the client includes: Extract the list identifier of the requested multimedia resource from the second request message; If the list identifier is the list identifier of the multimedia recommendation list, then the recommended multimedia resources already obtained in the multimedia recommendation list are sent to the client; If the list identifier is empty, then after all the cached multimedia resources in the previous recommendation list before the multimedia recommendation list is determined have been sent, the recommended multimedia resources already obtained in the multimedia recommendation list are sent to the client.

10. A multimedia transmission method, characterized in that, include: Obtain a multimedia recommendation list, and send a first request message containing the multimedia recommendation list and the target multimedia resource currently requested to the server, so that the server can detect whether the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list are cached locally based on the first request message. After obtaining the target multimedia resource and the recommended multimedia resources based on the detection result, the target multimedia resource is sent to the client. Receive the target multimedia resource sent by the server, and cache and play the target multimedia resource locally; Send a second request message to the server requesting multimedia resources, and receive recommended multimedia resources from the multimedia recommendation list sent by the server.

11. The method according to claim 10, characterized in that, The second request message sent to the server requesting multimedia resources includes: Obtain the resource caching information of the multimedia resources locally on the client, wherein the resource caching information includes at least one of the number of cached multimedia resources and the duration of cached multimedia resources; If the resource cache information is less than a preset resource cache threshold, then the second request message is sent to the server.

12. The method according to claim 10, characterized in that, The process of obtaining the multimedia recommendation list includes: Get the playback progress of the multimedia resources in the previous recommendation list obtained from the recommendation server on the client's local machine; If the playback progress is greater than a preset progress threshold, then the multimedia recommendation list is obtained from the recommendation server.

13. A multimedia transmission device, characterized in that, include: The receiving module is used to receive a first request message sent by the client. The first request message includes a multimedia recommendation list and the target multimedia resource currently requested. The detection module is used to detect whether the server locally caches the target multimedia resource and the recommended multimedia resources in the multimedia recommendation list based on the first request message, and obtain the detection result; The acquisition module is used to acquire the target multimedia resource and the recommended multimedia resource based on the detection result, and send the target multimedia resource to the client so that the client can cache and play the target multimedia resource locally; The sending module is configured to respond to a second request message sent by the client requesting multimedia resources, and send the acquired recommended multimedia resources to the client so that the client can cache and play the recommended multimedia resources locally.

14. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, cause the electronic device to perform the method of any one of claims 1 to 9, or the method of any one of claims 10 to 12.

15. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by the processor of the electronic device, causes the electronic device to perform the method of any one of claims 1 to 9, or the method of any one of claims 10 to 12.

16. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, wherein a processor of an electronic device reads from and executes the computer program to cause the electronic device to perform the method of any one of claims 1 to 9, or to perform the method of any one of claims 10 to 12.