CN117640735A - Multimedia content delivery method, device, server and storage medium - Google Patents

Multimedia content delivery method, device, server and storage medium Download PDF

Info

Publication number
CN117640735A
CN117640735A CN202210962269.2A CN202210962269A CN117640735A CN 117640735 A CN117640735 A CN 117640735A CN 202210962269 A CN202210962269 A CN 202210962269A CN 117640735 A CN117640735 A CN 117640735A
Authority
CN
China
Prior art keywords
terminal
released
multimedia content
file
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210962269.2A
Other languages
Chinese (zh)
Inventor
苟亚明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN202210962269.2A priority Critical patent/CN117640735A/en
Publication of CN117640735A publication Critical patent/CN117640735A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the application discloses a method, a device, a server and a storage medium for delivering multimedia content, which can be applied to various content pushing scenes; according to the method and the device, multimedia content, a delivery strategy of the multimedia content and at least one task object are obtained, and the number of the task objects is not greater than the number of terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time. When the file to be released is generated, the task object can be reused by updating the information carried by the task object, so that the computing resource is saved.

Description

Multimedia content delivery method, device, server and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, a server, and a storage medium for delivering multimedia content.
Background
In recent years, with the development of network technology, more and more content delivery platforms deliver multimedia content to applications of terminals.
However, when the server of the delivery platform delivers the multimedia content to the terminal, if there are a plurality of multimedia contents, a large amount of computing resources are required for processing.
Disclosure of Invention
The embodiment of the application provides a method, a device, a server and a storage medium for delivering multimedia content, wherein when a file to be delivered is generated, task objects can be multiplexed by updating information carried by the task objects so as to save computing resources.
The embodiment of the application provides a multimedia content delivery method, which comprises the following steps: acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that an application program running on the terminal to be released displays the multimedia content in the releasing time.
The embodiment of the application also provides a multimedia content delivery device, which comprises: the system comprises an acquisition unit, a storage unit and a storage unit, wherein the acquisition unit is used for acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; the updating unit is used for updating the information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; the processing unit is used for processing the updated information carried by the task object to obtain a file to be released corresponding to the terminal information; the updating unit is also used for updating the updated information carried by the task object into an initial value so as to use the task object for obtaining a file to be released corresponding to the information of the next terminal; and the sending unit is used for sending the file to be released to the terminal to be released so that an application program running on the terminal to be released displays the multimedia content in the releasing time.
The embodiment of the application also provides a server, which comprises a processor and a memory, wherein the memory stores a plurality of instructions; the processor loads instructions from the memory to execute steps in any of the multimedia content delivery methods provided in the embodiments of the present application.
The embodiment of the application also provides a computer readable storage medium, which stores a plurality of instructions adapted to be loaded by a processor to perform the steps in any of the multimedia content delivery methods provided in the embodiments of the application.
The embodiments of the present application also provide a computer program product comprising a computer program/instruction which, when executed by a processor, implements the steps of any of the multimedia content delivery methods provided in the embodiments of the present application.
According to the embodiment of the application, the multimedia content, the delivery strategy of the multimedia content and at least one task object can be obtained, wherein the delivery strategy comprises the delivery time and the terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that an application program running on the terminal to be released displays the multimedia content in the releasing time.
In the application, when the file to be released is generated, the task object can be reused by updating the information carried by the task object so as to save the computing resource. In addition, after the file to be released is generated, the file to be released can be actively sent to the terminal, so that the releasing flow is simplified, and the computing resources are saved. The file to be released is generated through the multimedia content, the releasing strategy and the task object, and after the terminal receives the file to be released, the multimedia content can be released in real time according to the releasing time in the releasing strategy, so that the timeliness of releasing the multimedia content is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1a is a schematic view of a scenario of a method for delivering multimedia content according to an embodiment of the present application;
fig. 1b is a flowchart of a method for delivering multimedia content according to an embodiment of the present application;
Fig. 1c is a schematic flow chart of establishing a long connection channel according to an embodiment of the present application;
fig. 2a is a schematic view of a scenario of a method for delivering multimedia content according to another embodiment of the present application;
fig. 2b is a flowchart of a method for delivering multimedia content according to another embodiment of the present application;
fig. 2c is a timing chart of a method for delivering multimedia content according to an embodiment of the present application;
FIG. 2d is a schematic diagram of a processing Actor object provided in an embodiment of the present application;
FIG. 2e is a flowchart illustrating an application managing multimedia content according to an embodiment of the present application;
FIG. 2f is a schematic diagram of an application managing multimedia content provided by an embodiment of the present application;
fig. 3 is a schematic structural diagram of a multimedia content delivery device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
The embodiment of the application provides a method, a device, a server and a storage medium for delivering multimedia content.
The multimedia content delivery device can be integrated in an electronic device, and the electronic device can be a terminal, a server and other devices. The terminal can be a mobile phone, a tablet computer, an intelligent Bluetooth device, a notebook computer, a personal computer (Personal Computer, PC) or the like; the server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, basic cloud computing services such as big data and artificial intelligent platforms. The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, which is not limited herein.
In some embodiments, the multimedia content delivery device may also be integrated in a plurality of electronic devices, for example, the multimedia content delivery device may be integrated in a plurality of servers, and the multimedia content delivery method of the present application is implemented by the plurality of servers.
In some embodiments, the server may also be implemented in the form of a terminal.
For example, referring to fig. 1a, the multimedia content delivery method is integrated in a server, where the server may obtain multimedia content, a delivery policy of the multimedia content, and at least one task object, where the delivery policy includes a delivery time and terminal information of at least one terminal to be delivered, and the number of task objects is not greater than the number of terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time.
The following will describe in detail. It will be appreciated that in the specific embodiments of the present application, data related to the user, such as attributes, internet surfing information, registration information, etc., may be required to obtain user permissions or agreements when the embodiments of the present application are applied to specific products or technologies, and the collection, use and processing of the related data may be required to comply with relevant laws and regulations and standards of the relevant country and region.
Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
Cloud technology (Cloud technology) is based on the general terms of network technology, information technology, integration technology, management platform technology, application technology and the like applied by Cloud computing business models, and can form a resource pool, so that the Cloud computing business model is flexible and convenient as required. Cloud computing technology will become an important support. Background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
Big data (Big data) refers to a data set which cannot be captured, managed and processed by a conventional software tool within a certain time range, and is a massive, high-growth-rate and diversified information asset which needs a new processing mode to have stronger decision-making ability, insight discovery ability and flow optimization ability. With the advent of the cloud age, big data has attracted more and more attention, and special techniques are required for big data to effectively process a large amount of data within a tolerant elapsed time. Technologies applicable to big data include massively parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the internet, and scalable storage systems.
In this embodiment, a method for delivering multimedia content is provided, as shown in fig. 1b, the specific flow of the method for delivering multimedia content may be as follows:
110. multimedia content, a delivery policy for the multimedia content, and at least one task object are obtained.
The delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of task objects is not more than the number of the terminals to be delivered.
Wherein, the multimedia content can refer to man-machine interaction information communication and propagation media, and can comprise video, audio, pictures, characters and the like. For example, each multimedia content may include any one of video, audio, picture, or text, and may also include at least two of video, audio, picture, or text, and so on.
The delivering policy may refer to a policy of delivering the multimedia content to a terminal, and the terminal receiving the delivered multimedia content may be a terminal to be delivered. The delivery policy may include information related to content delivery, such as push time, delivery duration, display mode, display trigger conditions, terminal information, and the like. Wherein, the push time may refer to a time of transmitting the multimedia content from the server to the terminal; the delivery time may refer to a time when the multimedia content is delivered on an application program of the terminal, and the delivery time may be one or more time periods; the display mode can refer to a display mode when the multimedia content is put on the terminal, for example, the display mode can comprise UI arrangement, a switching mode and the like, and the switching mode can comprise modes such as carousel, single diagram, popup, announcement, list, screen flashing, screen cutting and the like; the display triggering condition may refer to a condition that the display is triggered on the application program of the terminal, for example, the multimedia content may be automatically displayed in a time period of the release time, or may be displayed each time the application program is started; the terminal information may refer to information of the terminal to be delivered, and may include, for example, a terminal identification of the terminal to be delivered, such as a device code, an address of the terminal to be delivered, such as an IP address, and the like.
Where an object may refer to a basic unit of a computer program, for example, in object-oriented programming ((Object Oriented Programming)), the computer program may be considered a collection of objects, which may contain functions of data and operational data, each of which may receive messages from other objects and process those messages, and execution of the computer program is a series of messages passing between the various objects. A task object may refer to an object for handling a launch task.
For example, the multimedia content may be uploaded to a configuration platform carried by a server, and a delivery policy may be set, where the delivery policy may include a delivery time t and terminal information of m terminals to be delivered. Thus, the server can construct n task objects through the construction function, wherein n is not greater than m. Each task object can correspond to one terminal to be launched, and multimedia content, launching time, terminal information of the terminal to be launched corresponding to the task object and the like can be processed by calling a function in the task object to obtain a file to be launched, so that the file to be launched is issued to the terminal to be launched corresponding to the task object.
In some embodiments, the delivery policy may be determined by setting delivery parameters such as attribute information of a crowd, so that different delivery policies may be set according to different crowd attributes to provide diversified and directional content delivery. In particular, the obtaining the multimedia content, the delivery policy of the multimedia content, and the at least one task object may include:
Acquiring multimedia content and delivery parameters, wherein the delivery parameters comprise delivery time and attribute information of people to be delivered;
acquiring terminal information of at least one terminal to be put according to attribute information of the crowd to be put, wherein the terminal to be put is a terminal corresponding to the attribute information;
and constructing at least one task object according to the number of the terminals to be launched.
The delivery parameters may refer to parameters for determining a delivery policy, and may be preset parameters or parameters set by a user. For example, the delivery parameters may include parameters of information related to content delivery, such as push time, delivery duration, display mode, display trigger condition, attribute information of the crowd to be delivered, and the like.
The crowd to be put can refer to the crowd to be put with the multimedia content, and the crowd to be put can be selected according to actual needs.
Wherein, the attribute information may refer to information capable of being used for characterizing the characteristics of the crowd, and the attribute may include natural attributes or social attributes of the crowd, and the like. For example, the crowd can be classified into different types according to the characteristics of the crowd, and the types are the attribute information of the crowd. For example, the internet information of the user can be obtained under the condition of obtaining the consent of the user, and the user is classified into a follow-up group or a buying group, and the attribute information of the crowd formed by the users belonging to the follow-up group is the follow-up group.
For example, in the case where user consent is obtained, terminal information of a terminal associated with the server and attribute information of a user who uses the associated terminal may be stored in advance in the server. Therefore, the delivery parameters such as the push time, the delivery duration, the display mode, the display trigger condition, the attribute information of the crowd to be delivered and the like can be set through the configuration platform carried on the server, wherein the attribute information of the crowd to be delivered can be a follow-up group, so that the terminals corresponding to all users with the attribute of the follow-up group can be determined as the terminals to be delivered, the terminal information of the terminals to be delivered can be obtained, and the delivery strategy is generated by combining other information in the delivery parameters such as the push time, the delivery duration, the display mode, the display trigger condition and the like. After the launch strategy is generated, task objects with the number not greater than the number of the terminals to be launched can be constructed through a construction function according to the number of the terminals to be launched.
120. And updating the information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information.
The information carried by the task object may refer to data in the object, for example, may refer to an identifier that is transmitted in a parameter form through a constructor when the task object is constructed. The information carried by the task object may include, but is not limited to, key information extracted from the multimedia content and the delivery policy, for example, may include an address of the multimedia content, a delivery time, an address of a terminal to be delivered, and the like, and may also include information such as a display mode, a display trigger condition, and the like.
In some embodiments, when constructing the task object, the identifier which is transmitted in the form of parameters by the construction function can be used for storing the multimedia content information and the terminal information of the terminal to be launched in the task object in the form of the identifier, so that the corresponding identifier information can be read by calling the function in the task object. Specifically, the information that the task object may carry may include identification information, and the identification information may include multimedia content information and terminal information of the terminal to be put in.
For example, the multimedia content information may be a tag task, and the terminal information of the terminal to be delivered may be a target communication address. The tag task may include a multimedia content address, such as a multimedia content address of a material, a picture, an audio/video file, etc., and the target communication address may include an address of a terminal to be released, such as a terminal IP after DNS resolution. the tag task may also include an address of information such as push time, display mode, display trigger condition, and the like.
Optionally, when constructing the task object, the obtained identifier of the task object is an initial value, key information can be extracted from the multimedia content and the delivery strategy, and the key information is transmitted into the identifier of the task object to update the identifier information carried by the task object.
130. And processing the updated information carried by the task object to obtain a file to be released corresponding to the terminal information.
The file to be released may refer to a file to be released obtained after the task object processes the updated information. The to-be-released file corresponding to the terminal information may refer to a to-be-released file corresponding to the to-be-released terminal of the terminal information, that is, the to-be-released file is used for being issued to the to-be-released terminal of the terminal information.
For example, a function of operation data in a task object can be called by a creation thread to process updated information in the task object to obtain a file to be released, wherein the file to be released can include information related to content release, such as multimedia content, push time, release duration, display mode, display trigger condition, terminal information of a terminal to be released and the like. And when the file to be released is obtained, the file to be released can be released to the terminal corresponding to the terminal information according to the terminal information recorded in the file to be released.
140. And updating the updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal.
The to-be-released file corresponding to the next terminal information may refer to a to-be-released file obtained by performing steps 120 to 130 again after the task object is processed to obtain the to-be-released file. And the file to be released corresponding to the next terminal information is used for being issued to the terminal to be released corresponding to the next terminal information.
For example, if there are terminal information of m to-be-launched terminals, the server constructs n task objects through a constructor, n is smaller than m, in the process of step 120-130, the n task objects may generate n to-be-launched files corresponding to the n to-be-launched terminals, and m-n to-be-launched files corresponding to the n to-be-launched terminals, at this time, the updated information carried by the task objects may be updated to an initial value, if m-n is less than or equal to n, the updated m-n task objects are used to generate m-n to-be-launched files corresponding to the m-n to-be-launched terminals, if m-n is greater than n, the updated n task objects are used to generate n to-be-launched files corresponding to the n to-be-launched terminals in the m-n to-be-launched terminals, and so on until all to-be-launched terminals have the corresponding to-be-launched files.
It should be noted that, if the number of task objects is the same as the number of terminals to be released, for example, 1, the task objects may generate files to be released corresponding to all the terminals to be released at one time, and at this time, after updating the updated information carried by the task objects to an initial value, a process of using the task objects to obtain the files to be released corresponding to the information of the next terminal may not be executed.
It should be noted that, step 140 may be before step 150 or after step 150. The updated information carried by the task object is updated to an initial value after the file to be released is processed by the task object and before the file to be released is sent; after the sending operation of the file to be released is executed, the updated information carried by the task object is updated to an initial value.
In some embodiments, when the information that the task object may carry includes identification information, the identification information may be set to an initial value. For example, the values in the tag task and the target communication address may be updated to initial values.
In some implementations, different states may be set for task objects to implement multiplexing task objects. Specifically, the identification information carried by the task object may further include status information of the task object.
For example, the identification information of the task object may further include status information of the task object acquired when the task is processed by communication.
Alternatively, the state information may include a new state, a task state, a multiplexing state, and the like. When constructing a task object, the obtained state information of the task object is in a new state, the state information of the task object is in a task state when the task object processes and generates a file to be released and issues the file, and the state information of the task object after the completion of issuing is in a multiplexing state. Therefore, the initial value of the state information can be in a multiplexing state, when the information carried by the task object is updated, the state information of the task object can be updated from a new state or multiplexing state to a task state, and when the file to be released is obtained and the file to be released is issued, the task state can be updated to the multiplexing state.
Optionally, when the task object is used for obtaining the file to be released corresponding to the next terminal information, the task object in the multiplexing state is preferentially searched for obtaining the file to be released corresponding to the next terminal information, so that the utilization rate of the task object is improved.
In some embodiments, each task object may be processed in parallel by a plurality of parallel threads, so as to improve efficiency of generating the file to be released. Specifically, processing updated information carried by the task object to obtain a file to be released may include:
and when a plurality of task objects exist, the updated information carried by the task objects is processed in parallel through a plurality of threads.
For example, after constructing n task objects, n threads may be established to execute the workflows of the n task objects, respectively, so as to implement parallel processing of the n task objects.
150. And sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time.
The application may be an application running a content platform. The content platform may be a service type platform providing various kinds of content, through which a user can acquire content and use a service of the content. The type of the content is not limited in the present application, and may be various types of content such as video, audio, game, live broadcast, online shopping, application download, and the like. That is, the solution provided by the embodiments of the present application may be applicable to a content platform that provides different types of content, and may also be applicable to a comprehensive content platform that provides multiple types of content. The content platform can be operated in the form of App, H5, applet, etc. in the terminal to be launched.
For example, after receiving the file to be released, the terminal to be released can read the file to be released, and display the multimedia content in the application program of the terminal according to the released time read.
Optionally, when the file to be released is generated, information such as releasing time can be stored in a preset field of the head of the file to be released, and information such as a multimedia content field is stored after the preset field, so that the terminal to be released can know the releasing time only by analyzing the characters of the preset field of the head when receiving the file to be released, and the reading efficiency is improved.
In the prior art, an application program of a terminal generally acquires multimedia content from a server of a delivery platform after starting, displays the multimedia content acquired in the last starting time when starting next time, and requires the terminal to initiate a request to the server to acquire the multimedia content, so that the delivery process is complex. However, in the method provided by the application, after the file to be released is generated, the file to be released can be actively sent to the terminal, so that the releasing flow is simplified, the computing resources are saved, the file to be released is generated through the multimedia content, the releasing strategy and the task object, and the terminal can timely release the multimedia content according to the releasing time in the releasing strategy after receiving the file to be released, so that the timeliness of releasing the multimedia content is improved.
In the prior art, when multimedia content is put in, a terminal and a server are generally connected in a short connection mode, and the content can be put in only by a plurality of interaction processes, so that the putting process is complex and the timeliness is poor.
In some embodiments, before the terminal to be released is started for the first time, a long connection channel between the server and the terminal to be released is established, so that the server and the terminal to be released are connected in a long connection mode, after the server generates the file to be released, the file to be released can be actively sent to the terminal through the long connection channel, the releasing process is simplified, and the computing resources are saved. Specifically, before sending the file to be released to the terminal to be released, the method may further include:
when the terminal to be released starts an application program for the first time, a long connection channel is established, and the long connection channel is a channel for sending the file to be released to the terminal to be released.
For example, the method of the embodiment of the present application may be executed by a delivery server, where the delivery server may refer to a server for delivering multimedia content to a terminal to be delivered, the delivery server may include a configuration server and a push server, the configuration server is equipped with a configuration platform, a user may upload the multimedia content and set delivery parameters on the configuration platform, the configuration platform may determine a delivery policy and construct a task object according to the delivery parameters, and then generate a file to be delivered by the delivery policy and the task object, and send the file to be delivered to the push server, where the push server may issue the file to be delivered to the corresponding terminal to be delivered.
Optionally, establishing the long connection channel may include:
acquiring a data packet sent by a terminal to be put in, wherein the data packet is a data packet which is generated by the terminal to be put in and is used for creating a long connection channel;
and establishing a long connection channel according to the data packet.
The method for generating the protocol packet may include: determining an address of a terminal to be put in and a port of a put-in server; and setting an interface function between the release server and the terminal to be released according to the memory address and the port, and generating a protocol packet.
For example, as shown in fig. 1c, after an application program is installed on a terminal to be launched, when the application program is launched for the first time, the terminal to be launched may initiate creation of a long connection channel, call an incoming parameter through a socket function to determine a protocol domain and a protocol type, the incoming parameter may be the protocol domain and the protocol type, a value of the protocol domain may be IPV6 or IPV4, a value of the protocol type may be TCP or UDP, a memory is opened locally to store a sockaddr_in structure pointer, the structure pointer may include a port of a push server, an IP address of the push server, and an encryption/decryption algorithm, set up and receive a corresponding interface function, where the sending function needs an incoming content address and a content length, the receiving function is implemented by an anonymous function, call the received content buffer address and length back to an external service module, and call a connect function to open the long connection channel between the push server and the push server. Specifically, the terminal to be put in calls a connect function to send a TCP or UDP protocol packet to the push server, the push server generates a feedback message after receiving the TCP or UDP protocol packet and returns the feedback message to the terminal to be put in, the terminal to be put in generates a feedback message for the feedback message after receiving the feedback message and returns the feedback message to the push server, and the push server completes the process of establishing a long connection channel after receiving the feedback message.
In some embodiments, at least one connection channel may be set to ensure stability of a transmission process of the pushing server for issuing the file to be released. In particular, the long connection channel may comprise at least one of a primary connection channel or a backup connection channel.
The sending priority may refer to a priority of sending the file to be released to the terminal to be released by using the connection channel, and sending the file to be released to the terminal to be released by using the connection channel with high priority.
Optionally, the main connection channel is a channel for sending files to be released to all the terminals to be released, and the standby connection channel is a channel for sending files to be released to the terminals to be released associated with the standby connection channel.
Optionally, the primary connection channel has a higher transmission priority than the backup connection channel.
For example, the pushing server may include at least one of a main server and a proxy server, where the main server can send files to be released to all terminals to be released, a connection channel between the main server and the terminals to be released is a main connection channel, the proxy server can send files to be released to the terminals to be released associated with the main server and the proxy server can send files to be released to the terminals to be released, and the connection channel between the proxy server and the terminals to be released is a standby connection channel.
For example, if the push server is a main server, after the configuration server generates the file to be released, the file to be released may be sent to the main server, and sent by the main server to each terminal to be released through the main connection channel. If the push server is a proxy server, a plurality of proxy servers may be set as the push server, each proxy server is associated with a different terminal to be put, and different terminals to be put may be divided according to a type of an operating program, an operating system type, and the like, for example, a proxy server a is associated with a terminal to be put of the operating system a, a proxy server B is associated with a terminal to be put of the operating system B, a proxy server C is associated with a terminal to be put of the operating system C, and the like. Therefore, after the configuration server generates the file to be released, the file to be released can be sent to the proxy server corresponding to the terminal information through the standby connection channel according to the terminal information carried in the file to be released, and then the proxy server sends the file to the corresponding terminal to be released, so that the file to be released is distributed to different types of terminals to be released through a plurality of proxy servers.
Alternatively, if the long connection channel includes a plurality of connection channels, when the long connection channel is established, the connection channel may be established from high to low according to the transmission priority, so that the connection channel of high priority can be established and used first.
In some embodiments, two connection channels with different priorities may be established between the push server and the terminal to be released, so as to ensure stability of the push server in issuing the file to be released. In particular, the long connection channels may include a primary connection channel and a backup connection channel.
For example, the pushing server may include a main server and a proxy server, and may preferentially use the main server to send the file to be released to the terminal to be released through the main connection channel, if feedback information of the file received by the terminal to be released is not received within a preset period of time, the main connection channel is indicated to be unavailable, and at this time, the file to be released may be sent to the terminal to be released again through the proxy server through the standby connection channel.
In some embodiments, the server may verify whether the connection channel is available each time the file to be released is sent to the terminal to be released, and if so, issue the file to be released again, so that errors in issuing the file can be avoided. Specifically, the sending the file to be released to the terminal to be released may include:
verifying a long connection channel;
and if the verification is passed, sending the file to be released to the terminal to be released through the long connecting channel.
For example, the long connection channel can be used for transmitting and receiving data such as messages or files between the delivery server and the terminal to be delivered, if the data can be successfully transmitted and received, the long connection channel is available, the next step is carried out, if the long connection channel cannot be used, the long connection channel is unavailable, and the process is ended.
Optionally, the long connection channel may be verified before step 150, for example, when the multimedia content and the delivery policy of the multimedia content are acquired, that is, the long connection channel may be verified, and in the process of generating the file to be delivered, for example, steps 120 to 130, the long connection channel may be verified at the same time, and then the available long connection channel is selected according to the verification result to send the file to be delivered.
Optionally, when the long connection channel includes a plurality of connection channels, the priori certificate sends the connection channel with high priority, after verification, the connection channel with high priority is used to send the file to be released to the terminal to be released, if the sending fails, the connection channel with low priority is verified again, and after verification, the connection channel with low priority is used to send the file to be released to the terminal to be released. For example, the main connection channel is verified a priori, and if the main connection channel fails to send, the standby connection channel associated with the terminal to be put in is verified.
In some embodiments, message authentication may be performed between terminals to be delivered through a server to verify the availability of a connection channel. Specifically, verifying the long connection channel may include:
sending a message to be verified to a terminal to be put in through a long connection channel;
and acquiring a verification result of the to-be-released terminal to-be-verified information, and verifying the verification result.
For example, when the push server sends a file to be released to the terminal to be released, a message (the message may be an equation or a function with parameters for verifying the security of data transmission) needing a calculation result may be sent to the terminal to be released through the push server, the terminal to be released decrypts the message and calculates a message result, the message result is returned to the push server through the sending function, the push server receives the message result and then locally checks a signature, and after the signature passes, a long connection channel between the terminal to be released and the push server indicating the current period is available, so that the file to be released may be sent to the terminal to be released through the long connection channel; if the check mark does not pass, ending the release process.
Optionally, the issued file to be issued may be encrypted, so as to increase the security of the issued file. Specifically, the sending the file to be released to the terminal to be released may include: and encrypting the file to be released to obtain a processed file to be released, and sending the processed file to be released to the terminal to be released.
For example, the file to be released can be encrypted by an encryption and decryption algorithm in a sockaddr_in structure pointer. When the terminal to be released receives the processed file to be released, the file can be decrypted first, if the decryption is successful, the file is read, and if the decryption is failed, the flow is ended.
In some embodiments, before the connection channel between the server and the terminal to be put in is established, application information verification may be performed in advance to increase the reliability of the connection channel. Specifically, before the long connection channel is established, the method may further include:
when a terminal to be put in starts an application program for the first time, acquiring application information of the application program;
verifying application information;
and if the verification is passed, generating a terminal identifier of the terminal to be put in, and sending the generated terminal identifier to the terminal to be put in.
The application information may refer to information of an application program, for example, the application information may include, but is not limited to, at least one of an application ID, a certificate, and description information, etc.
Wherein the terminal identity may refer to a representation, such as a token, generated by the server to indicate the identity of the terminal. token refers to a token in computer authentication that can represent an object of rights to perform certain operations.
For example, when the user agrees, information generated when the user registers an application, such as an application ID, a certificate, and description information, may be acquired as application information, and when the application is started for the first time, the terminal transmits the application information to the push server. After receiving the application information, the pushing server internally associates with a configuration platform carried by the configuration server to carry out authentication, if the authentication is successful, a token is generated and put into the application program, the generated token can identify the uniqueness of the application program, and the version of the application program is not limited.
Optionally, after generating the terminal identifier of the terminal to be released and sending the generated terminal identifier to the terminal to be released if the verification is passed, the method may further include: and storing terminal information of the terminal to be put in and attribute information of a user using the terminal to be put in. For example, after receiving the terminal identifier, the terminal to be delivered may send the terminal information and the attribute information of the user using the terminal to the configuration server for storage. In this way, the terminal associated with the server may be determined through an authentication process.
Optionally, in order to make the configuration platform learn the terminal where the application program with successful authentication is located, the terminal to be delivered may forward the terminal identifier to the configuration server. Specifically, after generating the terminal identifier of the terminal to be released and sending the generated terminal identifier to the terminal to be released, the method may further include: and acquiring a terminal identifier sent by the terminal to be released through a configuration server. For example, after receiving a token, an application on a terminal to be launched may send the token to a configuration server.
In some embodiments, after receiving the file to be released, the terminal to be released can intelligently manage the file to be released according to the releasing time carried by the file to be released, so as to reasonably manage the file to be released stored locally and improve the utilization rate of local resources of the terminal to be released. Specifically, after sending the file to be released to the terminal to be released, the method may further include:
when the to-be-released terminal receives the to-be-released file, the to-be-released file is stored in the local storage of the to-be-released terminal;
when the terminal to be released starts an application program, preloading multimedia content to be displayed from a locally stored file to be released so as to display the multimedia content to be displayed according to the releasing time, wherein the multimedia content to be displayed comprises multimedia content with the releasing time meeting a preset time condition.
The preset time condition may be that the delivery time is located after the current time, or that the end time in the delivery time is located after the current time, or the like. In this way, the multimedia content to be displayed can characterize multimedia content determined from the delivery time, which can be displayed at the present time and after the present time.
For example, after the to-be-launched terminal receives the issued to-be-launched file, an application program on the to-be-launched terminal may cache the to-be-launched file locally. The to-be-launched terminal can locally cache a plurality of to-be-launched files, and after the to-be-launched terminal starts an application program, to-be-launched multimedia content with the closest to the current time in the launching time can be extracted according to the launching time of the to-be-launched files, and loaded in the memory, and when the display condition is triggered, the to-be-launched multimedia content can be read, rendered and displayed from the data loaded in the memory.
In some embodiments, the out-of-date file of the local cache may be cleared according to the delivery time, so as to improve the utilization rate of the local resource of the terminal to be delivered. Specifically, after sending the file to be released to the terminal to be released, the method may further include: deleting the locally stored expiration file according to the release time, wherein the expiration file comprises a file to be released, and the release time is the time before the current time. For example, when the to-be-launched terminal receives the to-be-launched file, the to-be-launched terminal can check whether an expired to-be-launched file exists in the local cache, and if so, an asynchronous thread can be started for cleaning.
Optionally, when the to-be-launched terminal receives a new to-be-launched file, the over-period file of the local cache can be cleaned immediately, so that the utilization rate of the local resource of the to-be-launched terminal is improved. Specifically, deleting the locally stored expiration file according to the delivery time may include: when the to-be-released terminal receives the to-be-released file, if the to-be-released terminal caches the historical to-be-released file with the same file identification as the received to-be-released file, deleting the historical to-be-released file with the same file identification as the received to-be-released file. For example, the file identification may include a multimedia content type, a multimedia display location, and the like.
Optionally, when the terminal to be released analyzes the received file to be released, only part of the file data can be analyzed for caching the file, so that the analysis efficiency is improved. Specifically, storing the file to be released in the local storage of the terminal to be released may include: analyzing a preset field positioned at the head of the file to be released to obtain an analysis result; and storing the file to be released in the local storage of the terminal to be released according to the analysis result.
For example, after the terminal to be released receives the issued file to be released, the application program on the terminal to be released can analyze only the key fields of the file header, such as the buffer time, the buffer mode, the release time, and the like, and other fields, such as the multimedia content field, the display mode, the display trigger condition, and the like, are not analyzed at this stage. When the files to be released are stored, the files to be released can be cached locally according to the analysis to obtain the caching time, the caching mode and the like, when the multimedia content is displayed or the out-of-date files are deleted, whether the multimedia content of the files to be released is required to be displayed can be judged according to the analysis to obtain the releasing time, if so, the fields related to the multimedia content in the files to be released can be continuously analyzed to read, render and display, or whether the files to be released are the out-of-date files to be deleted is judged, and if so, the files to be released are deleted.
The multimedia content delivery scheme provided by the embodiment of the application can be applied to various content pushing scenes. For example, taking advertisement delivery as an example, acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a to-be-released text corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time. According to the scheme provided by the embodiment of the application, when the file to be released is generated, the task object can be reused by updating the information carried by the task object, so that the computing resource is saved.
In addition, after the file to be released is generated, the file to be released can be actively sent to the terminal, so that the releasing flow is simplified, and the computing resources are saved. The file to be released is generated through the multimedia content, the releasing strategy and the task object, and after the terminal receives the file to be released, the multimedia content can be released in real time according to the releasing time in the releasing strategy, so that the timeliness of releasing the multimedia content is improved.
The method described in the above embodiments will be described in further detail below.
In this embodiment, a method according to an embodiment of the present application will be described in detail using multimedia content as an advertisement.
As shown in fig. 2a, the delivery server may include a configuration server and a push server, where the configuration server is equipped with a configuration platform, and the push server may include a main server and a plurality of proxy servers. An SDK for managing advertisement delivery may be integrated into an application running on the terminal.
As shown in fig. 2b, a specific flow of a method for delivering multimedia content is as follows:
200. when the terminal starts the application program for the first time, the application information of the application program is verified through the pushing server and the configuration server.
For example, as shown in fig. 2c, when receiving user consent, the user may register an application through the terminal SDK and generate application information such as an app id, a certificate, and description information unique to the corresponding application for each user. The terminal SDK may send these application information to the push server when the application is first started. After receiving the information, the pushing server (the main server or the proxy server) internally associates with the configuration platform to carry out authentication, if the authentication is successful, a release token is generated and returned to an application program running at a terminal, and after receiving the release token, the application program sends the release token to the configuration server. If the configuration server receives the release token sent by the terminal, the verification is passed, and if the configuration server does not receive the release token, the verification fails, and the process is exited.
In the software development process, a certain general function is involved, and the general function is abstracted into an SDK, for example: sharing function, login, payment, etc. The application process of the multimedia content delivery method described in the embodiment of the application is based on the SDK, and the main functions are to provide personalized advertisement delivery capability in an App, H5 and applet multi-application terminal, support advertisement delivery aiming at a directional crowd, help operators to reach users accurately and timely, and achieve the purposes of retention, activation and service growth. The advertisement types mainly comprise carousel, single graph, popup window, bulletin, list, screen flash, screen cut and the like.
The release server and the configuration server can determine the terminal associated with the release server according to the release token sent by the received terminal, namely, the sent release token is associated with the release server.
210. If the verification is passed, a long connection channel between the delivery server and the terminal is established through the delivery server and the terminal.
As shown in fig. 2a, the long connection path between the delivery server and each terminal may include a main connection path, which is a connection path between the main server and the terminal, and a standby connection path, which is a connection path between the proxy server and the terminal.
For example, as shown in FIG. 2c, after verification passes, the primary connection channel may be established during the installation cycle of the application. The installation cycle of an application may not have the process of the application from installation to uninstallation. For example, after the terminal associated with the main server is started for the first time and passes verification, a long connection channel is established based on an API corresponding to the Socket, and information to be used in the process includes a use protocol, an IP address of the terminal device, a protocol port number, an IP address of a remote server host, a port number of the remote server, and the like.
The specific process for establishing the long connection channel comprises the following steps: the terminal establishes a pass through a socket function, the input parameters are protocol fields (IPV 6 or IPV 4), the protocol types (TCP or UDP) and opens up a client memory address; creating a sockaddr_in structure pointer, including a port and an IP address of a main server and an encryption and decryption algorithm, and calling a connect to open a connection; setting an interface function corresponding to sending and receiving, wherein the sending function needs to transmit the content address and the content length, the receiving function is realized by an anonymous function, and the received content buffer address and the length are returned to an external service module. This procedure can also be used to establish a backup connection channel.
220. And acquiring the multimedia content and the delivery parameters through a configuration server.
For example, when a user wants to deliver advertisements to a terminal used by a target crowd, the multimedia content and delivery parameters can be configured through a configuration platform. The multimedia content can comprise relevant fields such as pictures, videos and texts of advertisement materials, and the delivery parameters can comprise delivery time, target crowd attribute information and the like. The delivery time may be an effective period of the application of the advertisement at the terminal. The user-set multimedia content may include advertising material for one or more advertisements.
230. And determining a delivery strategy of the multimedia content through a configuration server, and constructing at least one task object.
For example, after the user completes configuration, the configuration platform stores the delivery task in the configuration server after the configuration is completed, the configuration server counts down through the issuing time, determines the terminals corresponding to the target crowd as the terminals to be delivered according to the attribute information of the target crowd, the number of the terminals to be delivered is m, and obtains the address information of the terminals to be delivered from the database. It can be understood that each to-be-launched terminal corresponds to one pushing task, and m to-be-launched terminals are equivalent to the to-be-launched files corresponding to each to-be-launched terminal through m pushing tasks, and the to-be-launched files are sent to the corresponding to-be-launched terminals so as to complete the launching tasks configured by the user on the configuration platform.
The configuration server can construct m/2 initiator objects to start concurrent threads according to the number m of the terminals to be released, each concurrent thread has a workflow to process the initiator, and each initiator object has three identifiers: the tag task (including the integration information of the advertisement materials), the target communication address (the address of the terminal to be put down) and the information (describing the state information of the Actor in the server) acquired during the communication processing task. the target communication address only contains the address of one terminal to be put in.
The basis of the Actor objects is message passing, and an Actor object may be considered a basic computing unit that can receive messages and perform operations based thereon, and may also send messages to other Actor objects. The Actors are isolated from each other, and do not share memory. According to the method and the device for processing the push task of the configuration server through the Actor object, concurrency and memory cache multiplexing can be improved.
240. And updating the information carried by the task object according to the multimedia content and the release strategy by the configuration server to obtain updated information.
For example, as shown in fig. 2d, the configuration server may extract three pieces of information of the identifier of the initiator object from the database, and assemble the three pieces of information in the initiator object to obtain an assembled initiator object.
250. And processing the updated information carried by the task object through the configuration server to obtain a file to be released corresponding to the terminal information.
For example, m/2 assembled Actor objects are respectively processed through the workflow of m/2 concurrent threads, so that m/2 files to be released are obtained. The files to be released can be in an Xlog format, and mainly comprise advertisement materials, types, texts, displayed UI arrangement, expiration time, effective time and the like, wherein the materials are stored in a base64 mode, and other information is stored in a key-value mode. It can be understood that each process of processing the assembled Actor object is to encapsulate the Actor object into a file to be released. And the steps 240 to 250 are the process of completing one pushing task.
260. And verifying the main connection channel through the push server.
For example, as shown in fig. 2c, before the file to be released is released, a message that needs a calculation result may be sent to the terminal to be released through the main server, where the message may be an equation or a function with parameters, and is used to verify the security of data transmission. After receiving the message, the terminal to be put in decrypts and calculates the message result through the SDK, and transmits the message result to the main server through the transmitting function, the main server locally checks the signature after receiving the message, and the main connection channel between the main server and the terminal to be put in, which indicates the current period after the signature checking is passed, is available. If the signature verification fails, the process is exited. The master server may send the verification signature to the configuration server to instruct the configuration server to send the file to be released to the push server.
270. And if the verification is passed, sending the file to be released to the terminal to be released through the pushing server by using the main connection channel.
For example, after the signature passes, the configuration server may encrypt the file to be released, send the encrypted file to be released to the main server, and send the file to be released to the terminal to be released corresponding to the file to be released through the main connection channel by the main server. If the main server does not receive the feedback information that the terminal to be released is successfully released within the preset time period, the configuration server can send the encrypted file to be released to the proxy server associated with the terminal to be released, and the proxy server sends the file to be released to the terminal to be released corresponding to the file to be released through the main connection channel.
As shown in fig. 2c, the configuration server may send the file to be released to the main server, and then the main server or the proxy server encrypts the file to be released and sends the encrypted file to the terminal to be released.
280. And updating the updated information carried by the task object into an initial value through the configuration server so as to use the task object for obtaining a file to be released corresponding to the information of the next terminal.
For example, as shown in fig. 2d, after the assembled Actor-object finishes processing one push task, the state attribute of the assembled Actor-object is set to be in a multiplexing state, and three identifiers are emptied to process the next push task. And recovering the Actor object to release the memory until all pushing tasks are processed, and when all the terminals to be released receive the files to be released.
290. An application running on the terminal to be released manages the multimedia content.
And the application program running on the terminal to be released can manage the received multimedia content in the file to be released through the SDK according to the information carried by the file to be released. The management means may include, but is not limited to, caching, preloading, displaying, cleaning, etc. As shown in fig. 2e, the manner in which the application manages the multimedia content may include steps 291-295.
291. When the to-be-released terminal receives the to-be-released file, the to-be-released file is stored in the local storage of the to-be-released terminal through the to-be-released terminal.
For example, as shown in fig. 2f, after receiving the issued file to be released on the terminal to be released, after decrypting the file to be released, the field information in the file to be released can be analyzed through the SDK, the file to be released is cached locally, the local cache is used for caching materials by advertisement types and advertisement position IDs, and a plurality of advertisement materials can be cached locally.
292. When the terminal to be released starts an application program, the multimedia content to be displayed is preloaded from the locally stored file to be released through the terminal to be released.
For example, after the terminal to be released starts the application program, as shown in fig. 2f, the application program may take out the corresponding advertisement material through the SDK according to the effective period of the advertisement in the local data and load the advertisement material into the memory, and the caller may read, render and display at any time.
293. And displaying the multimedia content to be displayed according to the delivery time through the terminal to be delivered.
For example, as shown in fig. 2f, when the delivery time is reached, a module of an application running on the terminal to be delivered may call the display interface to read the preloaded multimedia content from the memory through the SDK, and render and display the multimedia content to be displayed according to the read data.
294. And deleting the historical files to be released, which are the same as the file identifiers of the received files to be released, through the terminals to be released.
For example, if the advertisement material is cached, the coverage operation is directly performed if the advertisement material has the same advertisement position ID as the advertisement material in the currently received file to be released.
295. And deleting the locally stored expiration file according to the release time by the terminal to be released.
For example, as shown in fig. 2f, after the terminal to be released receives the issued file, the terminal may check that the local cache has outdated advertisement material through the SDK, and start an asynchronous thread to clean. The cleaned expiration files can be stored in other cache areas in the terminal to be released and then deleted.
In the prior art, as the functions of the application program are gradually perfected, the requirement on the update frequency of the delivery is higher and higher, and the delivered content has important significance on the retention of users and the conversion of the users, so that the timeliness of the advertisement is required to be improved.
For example, the client a puts a splash screen advertisement into the terminal, the splash screen advertisement is also called a start screen advertisement, the display time is displayed between when the client starts the APP and when the top page loading is completed, the downloading time of the material is after the client starts, and the display time of the advertisement is next start, because the splash screen advertisement material is locally available when the client starts next time. In this case, there is a problem: if the display logic of the flash advertisement put in is displayed only on a certain day, the advertisement activity disappears after the day, but the application program is actually started only once on the terminal on the day, which is equivalent to only triggering the downloading logic of the material, and then the application program is started for the second time after a few days, and the advertisement material cached last time is displayed, so that the marketing activity fails.
As can be seen from the above, in the embodiment of the present application, after the file to be released is generated, the file to be released may be actively sent to the terminal, so as to simplify the releasing flow and save computing resources. The file to be released is generated through the advertisement materials, the releasing strategy and the task object, and after the terminal receives the file to be released, the advertisement materials can be released in time according to the releasing time in the releasing strategy, so that the timeliness of releasing the advertisement materials is improved.
In addition, by adopting two long connection schemes of the main connection channel and the standby connection channel, the stability and the certainty of the issued advertisement materials are improved, and the two connection channels all need authentication, authentication and encryption and decryption operations, so that the safety of data is ensured. The configuration server processes the push task by adopting the Actor object, and the state attribute of the Actor object is increased, so that the stability under high concurrency can be ensured, and the Actor in the multiplexing state saves the memory overhead of the object. The terminal reasonably manages the advertisement materials through the SDK, and cleans the expired advertisement materials under the condition of ensuring that the running of the program is not influenced.
In order to better implement the above method, the embodiment of the application also provides a multimedia content delivery device, which can be specifically integrated in an electronic device, and the electronic device can be a terminal, a server or other devices. The terminal can be a mobile phone, a tablet personal computer, an intelligent Bluetooth device, a notebook computer, a personal computer and other devices; the server may be a single server or a server cluster composed of a plurality of servers.
For example, in the present embodiment, a method of the embodiment of the present application will be described in detail by taking a specific integration of the multimedia content delivery device in a server as an example.
For example, as shown in fig. 3, the multimedia content delivery apparatus may include an acquisition unit 310, an update unit 320, a processing unit 330, and a transmission unit 340, as follows:
first acquisition unit 310
The method can be used for acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered.
In some embodiments, the obtaining unit 310 may specifically be configured to:
acquiring multimedia content and delivery parameters, wherein the delivery parameters comprise delivery time and attribute information of people to be delivered;
acquiring terminal information of at least one terminal to be put according to attribute information of the crowd to be put, wherein the terminal to be put is a terminal corresponding to the attribute information;
and constructing at least one task object according to the number of the terminals to be launched.
(two) updating unit 320
The method can be used for updating the information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information.
In some embodiments, the updating unit 320 may be further configured to update updated information carried by the task object to an initial value, so as to use the task object to obtain a file to be released corresponding to the next terminal information.
(III) processing Unit 330
The method can be used for processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information.
(IV) transmitting unit 340
The method can be used for sending the file to be released to the terminal to be released so that the application program running on the terminal to be released can display the multimedia content in the releasing time.
In some implementations, the sending unit 340 may also be configured to:
when the terminal to be released starts an application program for the first time, a long connection channel is established, and the long connection channel is a channel for sending the file to be released to the terminal to be released.
In some embodiments, the long connection channel includes at least one of a main connection channel or a standby connection channel, the main connection channel is a channel for transmitting files to be released to all terminals to be released, the standby connection channel is a channel for transmitting files to be released to the terminals to be released associated with the standby connection channel, and the transmission priority of the main connection channel is higher than that of the standby connection channel.
In some implementations, the sending unit 340 may also be configured to:
when a terminal to be put in starts an application program for the first time, acquiring application information of the application program;
verifying application information;
And if the verification is passed, generating a terminal identifier of the terminal to be put in, and sending the generated terminal identifier to the terminal to be put in.
In some embodiments, the sending unit 340 may specifically be configured to:
verifying a long connection channel;
and if the verification is passed, sending the file to be released to the terminal to be released through the long connecting channel.
In the implementation, each unit may be implemented as an independent entity, or may be implemented as the same entity or several entities in any combination, and the implementation of each unit may be referred to the foregoing method embodiment, which is not described herein again.
Therefore, the method and the device can promote multiplexing of the task objects by updating the information carried by the task objects when the files to be released are generated, so that the computing resources are saved.
The embodiment of the application also provides electronic equipment which can be a terminal, a server and other equipment. The terminal can be a mobile phone, a tablet computer, an intelligent Bluetooth device, a notebook computer, a personal computer and the like; the server may be a single server, a server cluster composed of a plurality of servers, or the like.
In some embodiments, the multimedia content delivery device may also be integrated in a plurality of electronic devices, for example, the multimedia content delivery device may be integrated in a plurality of servers, and the multimedia content delivery method of the present application is implemented by the plurality of servers.
In the present embodiment, a detailed description will be given taking an example in which the electronic device of the present embodiment is a server, for example, as shown in fig. 4, which shows a schematic structural diagram of the server according to the embodiment of the present application, specifically:
the server may include one or more processor cores 'processors 410, one or more computer-readable storage media's memory 420, a power supply 430, an input module 440, and a communication module 450, among other components. Those skilled in the art will appreciate that the server architecture shown in fig. 4 is not limiting of the server and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components. Wherein:
the processor 410 is a control center of the server, connects various parts of the entire server using various interfaces and lines, performs various functions of the server and processes data by running or executing software programs and/or modules stored in the memory 420, and calling data stored in the memory 420. In some embodiments, processor 410 may include one or more processing cores; in some embodiments, processor 410 may integrate an application processor that primarily handles operating systems, user interfaces, applications, etc., with a modem processor that primarily handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 410.
The memory 420 may be used to store software programs and modules, and the processor 410 may perform various functional applications and data processing by executing the software programs and modules stored in the memory 420. The memory 420 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required for at least one function, and the like; the storage data area may store data created according to the use of the server, etc. In addition, memory 420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, memory 420 may also include a memory controller to provide processor 410 with access to memory 420.
The server also includes a power supply 430 that provides power to the various components, and in some embodiments, the power supply 430 may be logically connected to the processor 410 via a power management system, such that charge, discharge, and power consumption management functions are performed by the power management system. Power supply 430 may also include one or more of any of a direct current or alternating current power supply, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and the like.
The server may also include an input module 440, which input module 440 may be used to receive entered numeric or character information and to generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
The server may also include a communication module 450, and in some embodiments the communication module 450 may include a wireless module, through which the server may wirelessly transmit over short distances, thereby providing wireless broadband internet access to the user. For example, the communication module 450 may be used to assist a user in e-mail, browsing web pages, accessing streaming media, and the like.
Although not shown, the server may further include a display unit or the like, which is not described herein. In particular, in this embodiment, the processor 410 in the server loads executable files corresponding to the processes of one or more application programs into the memory 420 according to the following instructions, and the processor 410 executes the application programs stored in the memory 420, so as to implement various functions as follows:
acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time.
The specific implementation of each operation above may be referred to the previous embodiments, and will not be described herein.
As can be seen from the above, when the file to be released is generated, the task object can be reused by updating the information carried by the task object, so as to save the computing resource.
Those of ordinary skill in the art will appreciate that all or a portion of the steps of the various methods of the above embodiments may be performed by instructions, or by instructions controlling associated hardware, which may be stored in a computer-readable storage medium and loaded and executed by a processor.
To this end, embodiments of the present application provide a computer readable storage medium having stored therein a plurality of instructions capable of being loaded by a processor to perform steps in any of the multimedia content delivery methods provided by embodiments of the present application. For example, the instructions may perform the steps of:
acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered; updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information; processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information; updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal; and sending the file to be released to the terminal to be released so that the application program running on the terminal to be released displays the multimedia content in the releasing time.
Wherein the storage medium may include: read Only Memory (ROM), random access Memory (RAM, random Access Memory), magnetic or optical disk, and the like.
According to one aspect of the present application, there is provided a computer program product or computer program comprising computer programs/instructions stored in a computer readable storage medium. The processor of the computer device reads the computer program/instructions from the computer-readable storage medium, and the processor executes the computer program/instructions so that the computer device performs the methods provided in the various alternative implementations provided in the above-described embodiments.
The instructions stored in the storage medium may perform steps in any of the methods for delivering multimedia content provided in the embodiments of the present application, so that the beneficial effects that any of the methods for delivering multimedia content provided in the embodiments of the present application can be achieved, which are detailed in the previous embodiments and are not described herein.
The foregoing has described in detail the methods, apparatuses, servers and storage media for delivering multimedia content provided by the embodiments of the present application, and specific examples have been applied to illustrate the principles and embodiments of the present application, where the foregoing description of the embodiments is only for helping to understand the methods and core ideas of the present application; meanwhile, as those skilled in the art will vary in the specific embodiments and application scope according to the ideas of the present application, the contents of the present specification should not be construed as limiting the present application in summary.

Claims (10)

1. A method of delivering multimedia content, comprising:
acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, wherein the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered;
updating information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information;
processing updated information carried by the task object to obtain a file to be released corresponding to the terminal information;
updating updated information carried by the task object into an initial value so as to use the task object to obtain a file to be released corresponding to the information of the next terminal;
and sending the file to be released to the terminal to be released so that an application program running on the terminal to be released displays the multimedia content in the releasing time.
2. The method for delivering multimedia content according to claim 1, wherein the obtaining multimedia content, the delivery policy of the multimedia content, and at least one task object comprises:
Acquiring the multimedia content and a delivery parameter, wherein the delivery parameter comprises the delivery time and attribute information of a crowd to be delivered;
acquiring terminal information of at least one terminal to be put according to the attribute information of the crowd to be put, wherein the terminal to be put is a terminal corresponding to the attribute information;
and constructing the at least one task object according to the number of the terminals to be launched.
3. The method for delivering multimedia content according to claim 1, wherein before the file to be delivered is sent to the terminal to be delivered, further comprising:
when the terminal to be released starts the application program for the first time, a long connection channel is established, and the long connection channel is used for sending the file to be released to the terminal to be released.
4. The multimedia content delivery method as claimed in claim 3, wherein the long connection channel includes at least one of a main connection channel or a standby connection channel, the main connection channel being a channel for transmitting the files to be delivered to all the terminals to be delivered, the standby connection channel being a channel for transmitting the files to be delivered to the terminals to be delivered associated with the standby connection channel, the transmission priority of the main connection channel being higher than that of the standby connection channel.
5. The method for delivering multimedia content according to claim 3, wherein the sending the file to be delivered to the terminal to be delivered includes:
verifying the long connection channel;
and if the verification is passed, the file to be released is sent to the terminal to be released through the long connecting channel.
6. The method for delivering multimedia content according to claim 3, further comprising, before the establishing the long connection channel:
when the terminal to be put in starts the application program for the first time, acquiring application information of the application program;
verifying the application information;
and if the verification is passed, generating a terminal identifier of the terminal to be put in, and sending the generated terminal identifier to the terminal to be put in.
7. A multimedia content delivery apparatus, comprising:
the system comprises an acquisition unit, a storage unit and a storage unit, wherein the acquisition unit is used for acquiring multimedia content, a delivery strategy of the multimedia content and at least one task object, the delivery strategy comprises delivery time and terminal information of at least one terminal to be delivered, and the number of the task objects is not more than the number of the terminals to be delivered;
the updating unit is used for updating the information carried by the task object according to the multimedia content and the delivery strategy to obtain updated information;
The processing unit is used for processing the updated information carried by the task object to obtain a file to be released corresponding to the terminal information;
the updating unit is also used for updating the updated information carried by the task object into an initial value so as to use the task object for obtaining a file to be released corresponding to the information of the next terminal;
and the sending unit is used for sending the file to be released to the terminal to be released so that an application program running on the terminal to be released displays the multimedia content in the releasing time.
8. A server comprising a processor and a memory, the memory storing a plurality of instructions; the processor loads instructions from the memory to perform the steps in the method of delivering multimedia content as claimed in any one of claims 1 to 6.
9. A computer readable storage medium storing a plurality of instructions adapted to be loaded by a processor to perform the steps in the method of delivering multimedia content according to any one of claims 1 to 6.
10. A computer program product comprising computer programs/instructions which, when executed by a processor, implement the steps in the multimedia content delivery method of any one of claims 1 to 6.
CN202210962269.2A 2022-08-11 2022-08-11 Multimedia content delivery method, device, server and storage medium Pending CN117640735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210962269.2A CN117640735A (en) 2022-08-11 2022-08-11 Multimedia content delivery method, device, server and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210962269.2A CN117640735A (en) 2022-08-11 2022-08-11 Multimedia content delivery method, device, server and storage medium

Publications (1)

Publication Number Publication Date
CN117640735A true CN117640735A (en) 2024-03-01

Family

ID=90027407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210962269.2A Pending CN117640735A (en) 2022-08-11 2022-08-11 Multimedia content delivery method, device, server and storage medium

Country Status (1)

Country Link
CN (1) CN117640735A (en)

Similar Documents

Publication Publication Date Title
US11206451B2 (en) Information interception processing method, terminal, and computer storage medium
EP3467692B1 (en) Message permission management method and device, and storage medium
CN110892425B (en) Machine learning platform on equipment
CN109152095B (en) Wireless network connection method for terminal
CN105577777B (en) message processing method, device and system
US9686329B2 (en) Method and apparatus for displaying webcast rooms
CN109246220B (en) Message pushing system and method
US10034057B2 (en) Message processing method, device, gateway, STB and IPTV
CN111260396B (en) Advertisement preloading method and device, electronic equipment and storage medium
CN103780700A (en) Application system and method for achieving compatibility and sharing among multi-source heterogeneous systems
WO2014183427A1 (en) Method and apparatus for displaying webcast rooms
US20120166518A1 (en) Providing state service for online application users
CN111355986B (en) Message processing method and device in live broadcast room and storage medium
CN106411825A (en) WeChat access token acquisition method and system thereof
US20170024199A1 (en) Application Experience Sharing System
CN109565518A (en) Interchangeable content retrieval
US9787624B2 (en) Taking actions on notifications using an incomplete data set from a message
CN112202661A (en) Session message processing method and device, computer equipment and storage medium
CN109618176A (en) A kind of processing method of live broadcast service, equipment and storage medium
CN108289074B (en) User account login method and device
CN103401931A (en) Method and system for downloading file
CN109040331B (en) Electronic business card processing method and device, computing equipment and storage medium
CN114666161B (en) Component security policy management method, device, equipment and storage medium
CN111222153A (en) Application program authority management method and device and storage medium
CN106936643B (en) Equipment linkage method and terminal equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination