Music data processing method and device, equipment, server and medium
By introducing a unified music data processing method between the client and the server, the problem of inconsistent development costs and user experience in static playlists and dynamic playlists in the existing technology is solved, and a unified processing and efficient user experience of the two playlists are achieved.
Patent Information
- Application Number
- CN202411948619.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-02-28
Smart Images

Figure CN119537640A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and in particular, to a music data processing method, apparatus, device, server and medium. Background Art
[0002] With the development of the Internet, electronic music playing has gradually become a daily entertainment project for people. As an important function of music platforms, playlists can collect and classify multiple songs according to certain themes or preferences, making it easier to classify and manage music.
[0003] Playlists can be divided into two types: static playlists and dynamic playlists. A static playlist is a relatively fixed music list with an upper limit on the number of songs. Users can preview all the content, and the playlist content will not be updated during playback. There is no upper limit on the number of songs in a dynamic playlist, and the playlist can be updated in real time according to the latest interactive features during playback. When the player plays music, it sends the playlist content to the playlist for playback. The playlist and the playlist are two independent audio lists. In the prior art, due to the different characteristics of static playlists and dynamic playlists, the player uses two different solutions to play the music in static playlists and dynamic playlists respectively, thereby increasing the development cost of the player. Summary of the invention
[0004] The embodiments of the present application provide a music data processing method, apparatus, device, server and medium. For static playlists and real-time recommended playlists, a unified loading method is used to update and play the playlists, thereby reducing the development cost of the client, and the user experience of the two playlists is consistent, thereby improving the user experience.
[0005] In a first aspect, an embodiment of the present application provides a music data processing method, which is applied to a client, and the method includes: sending a playlist update request for a target playlist to a server, the playlist update request including the ID of a background playlist of the target playlist, a target loading method and loading parameters corresponding to the target loading method, the background playlist being used to store the content of all music loaded from the creation of the target playlist to the current time; receiving a response to the playlist update request sent by the server, the response to the playlist update request including the content of the music loaded this time; and adding the content of the music loaded this time to the loaded list of the target playlist.
[0006] In some exemplary embodiments, the target loading method includes any one of the following methods: a downward loading method, which is used to expand the tail position of a playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; an upward loading method, which is used to expand the head position of a playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; an intermediate loading method, which is used to expand the head position or the tail position of a playlist, and the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback, and the ID of the music at the end of the last playback is used to determine the head position or the tail position of the current page of the playlist.
[0007] In some exemplary embodiments, sending the playlist update request of the target playlist to the server includes: sending the playlist update request to the server in response to an update operation of the target playlist by a user.
[0008] In some exemplary embodiments, in response to an update operation on the target playlist, sending the playlist update request to the server includes: when the update operation is detected, determining the target loading method and loading parameters corresponding to the target loading method according to the update operation; and sending the playlist update request to the server.
[0009] In some exemplary embodiments, when the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of multiple music loaded this time are the same; when the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0010] In some exemplary embodiments, when the target playlist is a real-time recommended playlist, the method further includes: recording interactive behavior data generated by the user's interactive behavior on the loaded real-time recommended music; and reporting the interactive behavior data to the server.
[0011] In some exemplary embodiments, before sending a playlist update request for a target playlist to a server, the process also includes: displaying a recommendation page, wherein the recommendation page displays preview content of at least one recommended playlist, wherein the at least one recommended playlist includes the target playlist; in response to a user opening the preview content of the target playlist, displaying playlist details of the target playlist, wherein the playlist details include a music list of the target playlist.
[0012] In some exemplary embodiments, before sending a playlist update request for a target playlist to a server, it also includes: in response to a user opening operation of a central control page of the client, displaying the central control page, displaying a recently played playlist on the central control page, and the recently played playlist is the target playlist; in response to a user opening operation of the entrance to the target playlist, displaying the playlist details of the target playlist.
[0013] In some exemplary embodiments, the client includes multiple pages, and the method further includes: when the first page among the multiple pages requests the content of the target playlist from the server for the first time, the first page receives the ID of the background playlist returned by the server; the first page sends the ID of the background playlist to other pages among the multiple pages; each page among the multiple pages independently requests the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist.
[0014] In a second aspect, an embodiment of the present application provides a music data processing method, which is applied to a server, and the method includes: receiving a playlist update request for a target playlist sent by a client, the playlist update request including the ID of a background playlist of the target playlist, a target loading method, and loading parameters corresponding to the target loading method; according to the playlist update request, obtaining the content of the music loaded this time from the background playlist stored on the server, the background playlist being used to store the content of all music loaded from the creation of the target playlist to the current time; when the background playlist does not include the content of the music loaded this time, pulling the content of the music loaded this time from the original playlist and adding it to the background playlist; sending a response to the playlist update request to the client, the response to the playlist update request including the content of the music loaded this time.
[0015] In some exemplary embodiments, the target loading method includes any one of the following methods: a downward loading method, which is used to expand the tail position of a playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; an upward loading method, which is used to expand the head position of a playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; an intermediate loading method, which is used to expand the head position or the tail position of a playlist, and the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback, and the ID of the music at the end of the last playback is used to determine the head position or the tail position of the current page of the playlist.
[0016] In some exemplary embodiments, obtaining the content of the music loaded this time from the background playlist stored on the server according to the playlist update request includes: searching the background playlist according to the ID of the background playlist; determining the head position and tail position of the current page of the target playlist in the background playlist according to the loading parameters corresponding to the target loading method; and expanding the head position or tail position of the current page according to the target loading method to obtain the content of the music loaded this time.
[0017] In some exemplary embodiments, when the target loading mode is the intermediate loading mode, the head position and tail position of the current page of the target playlist are determined in the background playlist according to the loading parameters corresponding to the target loading mode, including: searching the background playlist for the position of the music at the end of the last playback according to the ID of the music at the end of the last playback; taking the position of the music at the end of the last playback as the middle position, expanding upwards by a first number of music to obtain the head position of the current page of the target playlist, and expanding downwards by a second number of music to obtain the tail position of the current page of the target playlist.
[0018] In some exemplary embodiments, when the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of multiple music loaded this time are the same; when the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0019] In some exemplary embodiments, when the target playlist is a real-time recommended playlist, pulling the content of the music loaded this time from the original playlist includes: sending the recommended music in the background playlist and the corresponding interactive behavior characteristics to the recommendation system; the recommendation system determines the music loaded this time based on the recommended music in the background playlist and the corresponding interactive behavior characteristics; generating a recommendation ID for the music loaded this time, and sending the music ID, basic music information and recommendation ID of the music loaded this time to the background playlist; adding the content of the music loaded this time to the background playlist, and updating the version number of the background playlist.
[0020] In some exemplary embodiments, the method also includes: receiving a reporting request sent by the client, the reporting request including the ID of the loaded real-time recommended music, the recommendation ID and the corresponding interactive behavior data; generating interactive behavior features based on the interactive behavior data, and saving the interactive behavior features to the content of the corresponding music in the background playlist.
[0021] In some exemplary embodiments, the client includes multiple pages, each of the multiple pages can independently request the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist; the method also includes: when playlist update requests sent by at least two pages are received at the same time, based on the version number of the background playlist, optimistic locking is used to pull data from the original playlist to update the content and version number of the background playlist.
[0022] In the third aspect, an embodiment of the present application provides a music data processing device, which includes: a sending module, used to send a playlist update request for a target playlist to a server, the playlist update request including the ID of a background playlist of the target playlist, a target loading method and loading parameters corresponding to the target loading method, the background playlist being used to store the content of all music loaded from the creation of the target playlist to the current time; a receiving module, used to receive a response to the playlist update request sent by the server, the response to the playlist update request including the content of the music loaded this time; an updating module, used to add the content of the music loaded this time to the loaded list of the target playlist.
[0023] In a fourth aspect, an embodiment of the present application provides a music data processing device, the device comprising: a receiving module, used to receive a playlist update request for a target playlist sent by a client, the playlist update request including the ID of a background playlist of the target playlist, a target loading method and loading parameters corresponding to the target loading method; a loading module, used to obtain the content of the music loaded this time from the background playlist stored on the server according to the playlist update request, the background playlist being used to store the content of all music loaded from the creation of the target playlist to the current time; the loading module is also used to pull the content of the music loaded this time from the original playlist and add it to the background playlist when the background playlist does not include the content of the music loaded this time; a sending module, used to send a response to the playlist update request to the client, the response to the playlist update request including the content of the music loaded this time.
[0024] In a fifth aspect, an embodiment of the present application provides a terminal device, comprising: a processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the method described in the first aspect above.
[0025] In a sixth aspect, an embodiment of the present application provides a server, comprising: a processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory to execute the method described in the second aspect above.
[0026] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store a computer program, and the computer program enables a computer to execute the method described in the first aspect or the second aspect above.
[0027] In an eighth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the method described in the first or second aspect above.
[0028] Through the technical solution provided by the embodiment of the present application, the client sends a song list update request for the target song list to the server, the song list update request includes the ID of the background playlist of the target song list, the target loading method and the loading parameters corresponding to the target loading method, and the background playlist is used to store the content of all music loaded from the creation of the target song list to the current time; the response to the song list update request sent by the server is received, and the response to the song list update request includes the content of the music loaded this time; the content of the music loaded this time is added to the loaded list of the target song list. In this method, for static song lists and real-time recommended song lists, a unified loading method is used to update and play the song lists, which reduces the development cost of the client. In addition, the user experience of the two song lists is consistent, which improves the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0030] Figure 1 A schematic diagram of a method for opening a static playlist; Figure 2 A schematic diagram of a method for opening a real-time recommended playlist; Figure 3 The present invention provides an architecture of a music playing system applicable to the embodiments of the present application; Figure 4 A flowchart of a music data processing method is provided for Embodiment 1 of the present application; Figure 5 A UI interaction diagram for playing a target playlist for a user; Figure 6Another UI interaction diagram for playing a target playlist for a user; Figure 7 Another UI interaction diagram for playing a target playlist for a user; Figure 8 A comparison diagram of three loading methods; Fig. 9 A flowchart of a music data processing method is provided for Embodiment 2 of the present application; Fig.10 This is a diagram of data interaction in the real-time playlist recommendation scenario; Fig.11 Schematic diagram of conflict handling when loading playlists on multiple pages at the same time; Fig.12 A schematic diagram of the interaction between multiple pages; Fig.13 A schematic diagram of the structure of a music data processing device provided in Embodiment 3 of the present application; Fig.14 A schematic diagram of the structure of a music data processing device provided in Embodiment 4 of the present application; Fig.15 A schematic diagram of the structure of a terminal device provided in Embodiment 5 of the present application; Fig.16 A structural diagram of a server provided in Example 6 of the present application. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0033] In order to facilitate the understanding of the embodiments of the present application, before describing the various embodiments of the present application, some concepts involved in all the embodiments of the present application are first appropriately explained.
[0034] The playlists on a music player client (or music player platform) are usually divided into static playlists and dynamic playlists. A static playlist is a relatively fixed music list with an upper limit on the number of songs, and users can preview all the content.
[0035] For example, static playlists usually have the following forms: music albums, user-generated content (UGC) playlists, and offline recommended playlists.
[0036] Music album: fixed content released by content creators or copyright holders. Users cannot edit the playlists in the album.
[0037] UGC playlist: Platform creators (i.e. users) select multiple published music and customize the arrangement to form a playlist. The playlist content is updated by the platform creators.
[0038] Offline recommended playlist: Similar to UGC playlist, but generated by the server. The music playback platform creates or updates the playlist content offline (for example, at a fixed time every day).
[0039] Dynamic playlists are also called real-time recommended playlists, and static playlists are also called non-real-time recommended playlists. After a dynamic playlist starts playing, the server generates the playlist content in real time and dynamically generates more music to add to the playlist based on the user's exposure, click, play and other behavior sequences. Compared with offline recommendations, real-time recommendations can generate music that better suits the user's preferences during the user's content consumption process, and the recommendation effect is better.
[0040] There is no upper limit on the number of songs in the real-time recommended playlist, and users cannot browse all the playlists. Currently, there are significant differences in user experience between real-time recommended playlists and static playlists. The following explains the difference in experience through different ways of opening the two playlists.
[0041] Figure 1 A schematic diagram of a method of opening a static playlist, such as Figure 1 As shown, after the user opens the homepage of the music playing platform, he enters Figure 1 The recommendation page shown in (a) displays preview contents of multiple static playlists and preview contents of a real-time recommended playlist.
[0042] The preview content of a static playlist includes the playlist cover, playlist title (or playlist introduction) and play controls. The user clicks the play control to open the playlist. Figure 1The play page shown in (b) of FIG. 1 shows a play list on the play page. The play list shows all the music in the static play list. The user can browse all the music in the static play list through operations. The play page also shows a play control. After entering the play page, the play control is closed by default. After the user clicks the play control, the music in the static play list starts to play.
[0043] Figure 2 A schematic diagram of a method for opening a real-time recommended playlist, such as Figure 2 As shown, after the user opens the homepage of the music playing platform, he enters Figure 2 The recommendation page shown in (a) displays preview contents of multiple static playlists and a preview content of a real-time recommended playlist. In the figure, your personalized playlist is a real-time recommended playlist.
[0044] The preview content of the real-time recommended playlist includes the playlist cover, topN music titles (such as the title of the first song) and playback controls. The user clicks on the real-time recommended playlist to open Figure 2 The play page shown in (b) starts playing the first song in the playlist. The play page also displays play controls and a playlist viewing entrance. The user clicks on the playlist viewing entrance to open Figure 2 The playlist details page shown in (c) displays the currently recommended music. The user can load more newly recommended music by pulling down.
[0045] Playlists and playlists are two independent audio lists. A playlist is a series of media files (such as music, videos, etc.) arranged in a specific order for continuous playback. It allows users to arrange various media content in an orderly manner according to personal preferences or specific needs, so that they can be displayed in a preset order when played. Playlists focus more on the continuous playback and management of media files, while playlists focus more on the management of music.
[0046] Music playing platforms usually include two types of playlists: the current playlist and the history playlist (or recently played list). The current playlist consists of the currently played content, and users can play it in any order, or add, replace, or delete the content during playback. The history playlist consists of the recently played content. Every time a user plays a song in the current playlist, the music is added to the history playlist.
[0047] When the user plays, the entire playlist is sent to the current playlist. Since there is no upper limit on the number of songs in the real-time recommended playlist and it is updated in real time, the existing music playback platform requires two independent playback solutions for static playlists and real-time recommended playlists, which increases the development cost of the music playback platform and leads to inconsistent user experience.
[0048] In order to solve the problems of the prior art, an embodiment of the present application provides a music data processing method, and the music playback client provides a universal playlist loading protocol to realize the loading and playing of static playlists and real-time recommended playlists, which is simpler to implement and reduces the development cost of the music playback client. In addition, the user experience of the two playlists is consistent.
[0049] Figure 3 The architecture of a music playing system applicable to the embodiments of the present application is as follows: Figure 3 As shown, the music playing system includes a terminal device 10 and a server 20. A music playing client is installed or running on the terminal device 10. Users access and play music through the music playing client. The main functions of the music playing client include: playing music, browsing music (browsing various playlists), creating playlists and searching music. The music playing client can be an application software (application, APP) installed on the terminal device 10, or a functional module of the client, or a small program running on the APP, or a web version player running on the browser, etc.
[0050] The terminal device 10 can be a mobile phone, a tablet computer, a desktop computer, a portable laptop computer, a personal digital assistant, a dedicated gaming device, a virtual reality (VR) device, an augmented reality (AR) device, a smart wearable device, or other electronic devices in various forms.
[0051] The server 20 refers to a computer system that provides music playback services in a network environment. It usually has high-performance hardware configuration and powerful computing capabilities to support the access and data processing requirements of a large number of music playback clients. The main functions of the server 20 include: storing music files, providing music playback services, managing music, etc. Among them, providing music playback services means that the server 20 can respond to the playback request of the client and transmit the music file to the client for playback.
[0052] Server 20 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.
[0053] Embodiment 1 Figure 4 A flowchart of a music data processing method is provided for the first embodiment of the present application. The method of this embodiment is executed by a terminal device, specifically by a music playback client (referred to as the client in this embodiment) running on the terminal device, such as Figure 4 As shown, the method provided in this embodiment includes the following steps.
[0054] S101. Send a song list update request of a target song list to a server. The song list update request includes the ID of a background playlist of the target song list, a target loading method, and loading parameters corresponding to the target loading method.
[0055] In one example, in response to a user's update operation on a target playlist or a playlist of the target playlist, a playlist update request for the target playlist is sent to the server. Specifically, when the client detects an update operation, the target loading mode and the loading parameters corresponding to the target loading mode are determined according to the update operation, and a playlist update request is sent to the server, wherein the target loading mode in the playlist update request is a loading mode that matches the update operation.
[0056] For example, after the user opens the target playlist or the playlist of the target playlist, the user can update the playlist by pulling up (or sliding up) or pulling down (or sliding down), or by pulling up or pulling down the progress bar of the playlist, or by clicking the next button. It is understandable that the update operations of different clients may be different.
[0057] In another example, the client automatically triggers a playlist update request based on the playback progress of the target playlist, that is, the user does not need to trigger a playlist update request. For example, for a real-time recommended playlist, the user can leave the client and continue to listen, and the playlist will continue to recommend new content without interruption or switching playlists. In this scenario, when the loaded music is finished or about to be finished (for example, when the loaded list is played to the last song / the last song is finished), the client generates a playlist update request and requests the server to load new content.
[0058] The target playlist has a loaded list on the client and a background playlist on the server (or background). The background playlist is stored on the server and is used to store the content of all the music that has been loaded on the target playlist from the time it was created to the current time. The loaded list is stored on the client and is used to store the content of the music that has been loaded on the target playlist that the user can currently see, wherein the music stored in the loaded list is a subset of the music in the background playlist.
[0059] The loaded list is maintained by the client, and the background play list is maintained by the server. Due to limited storage resources and computing power, the client usually cannot store too many music resources. Therefore, the client eliminates the content stored in the loaded list according to its own elimination mechanism. For example, music that the user has not played for a long time is eliminated first, or when the capacity of the loaded list is greater than the preset value, the earliest loaded music is eliminated, so that the capacity of the loaded list will not exceed the limit.
[0060] The update operation on the target playlist can be understood as an update operation on the loaded list. The update of the target playlist includes loading unexposed music or historical music in the target playlist. Exemplarily, the user pulls down on the playlist details page to load unexposed music, and pulls up on the playlist details page to load historical music. Here, unexposed music refers to music that does not exist in both the loaded list and the background playlist list. Historical music refers to music that does not exist in the loaded list but exists in the background playlist list. Historical music is usually music that has been eliminated from the loaded list or music that has not been played for a long time.
[0061] In this embodiment, the playlist update request may be triggered by the user's update operation on the target playlist, or may be triggered by the user's update operation on the playlist of the target playlist. When the playlist update request is triggered by the user's update operation on the target playlist, the playlist update request can be generated by the target playlist; when the playlist update request is triggered by the user's update operation on the playlist of the target playlist, the playlist update request can be generated by the playlist of the target playlist. The target playlist and the playlist of the target playlist can be considered as two different pages. These two pages have the same playlist ID, and the generated playlist update request includes the same background playlist identity (ID).
[0062] Optionally, before step S101, the target playlist or a playlist of the target playlist is displayed.
[0063] In one implementation, after a user opens the homepage of a music playback platform, he or she can open a target playlist through a recommendation page, a playlist page, a self-built playlist list, etc. The target playlist can be a static playlist or a real-time recommended playlist.
[0064] In a playback scenario, a client displays a recommendation page to a user, and the recommendation page displays preview content of at least one recommended playlist, and the at least one recommended playlist includes a target playlist. In response to the user opening the preview content of the target playlist, the playlist details of the target playlist are displayed, and the playlist details include a music list of the target playlist.
[0065] The preview content of the recommended playlist includes the playlist cover and title information. Of course, it can also include other information. The title information of different types of playlists is different. For example, for a static playlist, the title information is the playlist title, which is used to briefly introduce the content, singers, etc. included in the playlist; for a dynamic playlist, the title information can be the title of the first music in the playlist.
[0066] In response to the user opening the preview content of the target playlist, the playlist details of the target playlist are displayed, which include a music list and may also include a playlist cover and title information. The playlist cover and title information displayed on the playlist details are consistent with those on the parent page, that is, they are consistent with the preview content of the recommended playlist displayed on the recommendation page.
[0067] In another playback scenario, in response to the user opening the central control page of the client, the central control page is displayed, and the central control page displays the most recently played playlist, which is the target playlist; in response to the user opening the entrance to the target playlist, the playlist details of the target playlist are displayed, and the playlist details include the music list, playlist cover and title information, etc.
[0068] In actual scenarios, some clients have a central control function, which can quickly access and manage some functions or pages recently used by the client. For example, the user can slide down the top of the client's main page to open the central control page, which displays some icons or previews of functions and mini-programs recently used by the user. These icons or previews are the opening entrances of the functions and mini-programs recently used by the user. Therefore, in this embodiment, the user can also quickly open the target playlist through the central control function.
[0069] The following is a specific example to illustrate the interaction process between the user and the client. Figure 5 A UI interaction diagram for playing a target playlist for a user, such as Figure 5 As shown, Figure 5 (a) is a schematic diagram of the "Explore" page of the client, which includes multiple function controls, such as a "Listen to Music" function control (used to enter the Music Plaza to play music), a "Make Friends" function control for entering the content interaction platform, a "Mini Program" function control for entering the Mini Program platform, and so on.
[0070] First, the user receives a red dot push notification from the "Listen to Music" function on the "Explore" page of the client. The red dot push notification indicates that there is new push content. The user clicks on the "Listen to Music" function to enter the music square and see the recommended playlist. Figure 5 Optionally, the red dot push also displays the title information of the recommended playlist, and after entering the music square, the preview content of the recommended playlist displayed is consistent with the red dot push.
[0071] Reference Figure 5 As shown in (b), there are multiple recommended playlists displayed on the music square. The user selects the playlist of interest, "Your Personalized Playlist", and clicks it to enter the playlist details. The playlist details are as follows: Figure 5 As shown in (c), the cover of the playlist and the first song are consistent with the description of the parent page (i.e., Music Square). After entering the playlist details, the user scrolls down the list to pull more music.
[0072] Figure 5 "Your Personalized Playlist" is a real-time recommended playlist. Figure 1 and Figure 5 The experience of "your personalized playlist" is no different from the existing static playlist, but it is actually a real-time recommended playlist. New recommended content can be continuously loaded by scrolling down.
[0073] Therefore, the playlist in this implementation combines the advantages of existing static playlists and real-time recommended playlists. The playlist content (top N single titles and covers) can be previewed on various parent pages such as recommendation pages. The playlist details are aligned with the static playlist. At the same time, content that better suits user preferences can be added in real time during playback. That is, the playlist experience of static playlists and real-time recommended playlists is consistent with that of static playlists. After the user clicks on the preview playlist content of the recommended playlist, the playlist details will be displayed and the user can browse the playlist details.
[0074] Figure 6 Another UI interaction diagram for playing the target playlist for the user, still using Figure 5 The example shown, Figure 5 (b) and Figure 5 The page shown in (c) displays a "play control", and the user clicks the "play control" to start playing the music on "your personalized playlist". Figure 6 (a) is a schematic diagram of a play page, on which a play list viewing control is displayed. When a user clicks the play list viewing control, a Figure 6 The playlist shown in (b) is consistent with the playlist details.
[0075] After playing the playlist, the user can leave the client and continue listening. Figure 6As shown in (c), the playlist will continue to recommend new content without interruption or switching of playlists.
[0076] Figure 7 Another UI interaction diagram for playing a target playlist for a user. After the user stops listening to the playlist (for example, closing the player or closing the client) for a while, the user returns to the main page of the client. At this time, the recent playback progress is still saved on the central control page of the client. Clicking the playback progress on the central control page can quickly locate the position of the last played music (that is, the last music played before stopping listening).
[0077] On the client's main page, users can pull down at the top of the main page to open Figure 7 The central control page shown in (a) shows the recently played "your personal playlist" on the central control page. The user clicks "recently played music" to open Figure 7 The user continues to scroll down the playlist, and when he reaches the 21st song, the last played music "Music M" appears. Figure 7 As shown in (c) of . The user continues to pull down the list to load new recommended content, such as Figure 7 as shown in (d).
[0078] In this embodiment, for static playlists and real-time recommended playlists, the following three loading methods are provided: downward loading method, upward loading method, and intermediate loading method. The client determines the target loading method and the loading parameters corresponding to the target loading method according to the user's update operation. Specifically, the client selects one of the three loading methods as the target loading method according to the user's operation, and obtains the loading parameters corresponding to the target loading method. The loading method and loading parameters are used by the server to determine the music to be loaded this time.
[0079] The downward loading method is used to expand the tail position of the playlist. The loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist.
[0080] The upward loading method is used to expand the head position of the playlist. The loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist.
[0081] The intermediate loading method is used to expand the head position or the tail position of the playlist. The loading parameters corresponding to the intermediate loading method include the ID of the music when the last playback ended. The ID of the music when the last playback ended is used to determine the head position or the tail position of the current page of the playlist.
[0082] The above three loading methods can all be normalized to pulling a specific interval in the playlist list. Therefore, two parameters, head offset (head_offset) and tail offset (tail_offset), can be maintained, which respectively represent the head position and tail position of the loaded list on the client.
[0083] Figure 8 For a comparison of the three loading methods, refer to Figure 8 , when the user opens the target playlist through the recommendation page, the client displays the homepage of the target playlist. At this time, the user can pull down the playlist list to load downwards. The downward loading method is also called top-down loading. The playlist update request sent by the client to the server includes the ID of the background playlist, the head offset and tail offset of the homepage (the homepage is the current page at this time). The downward loading method extends the tail of the playlist, that is, the tail offset is extended or updated. The response to the update request returned by the server to the client includes the extended tail offset (also called the updated tail offset). If one page is extended each time, the extended tail offset is the tail offset of the second page. After the client displays the second page of the target playlist, the user can continue to pull down the playlist list to load downwards. At this time, the playlist update request sent by the client includes the head offset and tail offset of the second page (the second page is the current page at this time). The server returns the extended tail offset. By analogy, more music can be loaded.
[0084] In some playback scenarios, users may need to load historical music from the target playlist, and the upward loading method can be used to load historical music. For example, for real-time recommended playlists, in existing recommendation technologies, when the user closes the playlist, the historical music played last time is no longer displayed, and the user can only see the music recommended this time. Although these historical music are not on the loaded list of the client, they are still stored in the background playlist. Through the upward loading method, the historical music played previously can be reloaded from the background playlist to the loaded list.
[0085] After opening the playlist, the user can also load the playlist upwards by pulling up the playlist list. This method of loading upwards is also called bottom-up loading. Figure 8 As shown, the playlist update request sent by the client to the server includes the ID of the background playlist, the head offset and the tail offset of the current page. The upward loading method expands the header of the playlist, that is, the head offset is expanded. The response to the update request returned by the server to the client includes the expanded head offset, that is, the next page (the next page of the current page) expands the head offset.
[0086] Reference Figure 7In the scenario shown, when the user opens the target playlist through the central control page of the client and updates the target playlist, the intermediate loading method is used for loading. Figure 8 As shown, the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback (i.e., music_id). The playlist update request sent by the client to the server includes the ID of the background playlist, the intermediate loading method, and music_id. After receiving the playlist update request, the server determines the head offset and tail offset of the current page where music_id is located based on the intermediate loading method and music_id, and carries the head offset and tail offset of the current page where music_id is located in the response to the playlist update request. After the client displays the current page, the user can expand the playlist through the above-mentioned downward loading method or upward loading method.
[0087] In the downward loading mode and the upward loading mode, the music on the homepage of the playlist can be preloaded, that is, before the user opens the playlist, the music on the homepage has been preloaded into the loaded list. Optionally, the music on the homepage of the playlist may not be preloaded. When the target playlist is opened, the client sends a playlist update request to the server. At this time, the playlist update request only includes the ID and loading method of the background playlist, but does not include the head offset and tail offset, that is, the homepage is considered empty at this time. After receiving the playlist update request, the server determines the music loaded this time, as well as the head offset and tail offset of the homepage, and returns the head offset and tail offset of the homepage to the client.
[0088] S102. Receive a response to the song list update request sent by the server, where the response to the song list update request includes the content of the music loaded this time.
[0089] After receiving the playlist update request, the server determines the music to be loaded this time according to the content in the playlist update request and returns it to the client. The number of music loaded this time is one or more, and the number of music loaded each time can be specified by the client. For example, the client carries the number of music to be loaded in the playlist update request. The number of music loaded each time can also be determined by the server. Accordingly, the playlist update request does not need to carry the number of loaded music, and the number of loaded music is set in the server.
[0090] When the music loaded this time is real-time recommended music, that is, when the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID (music_id), basic music information (music_info) and recommendation ID (request ID). Among them, the recommendation IDs of multiple music loaded this time are the same. The recommendation ID is mainly used to trace the recommendation effect of each recommendation result. Based on the recommendation ID, it can be determined which recommendation effect is better and which recommendation effect is not good.
[0091] When the music loaded this time is non-real-time recommended music, that is, when the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0092] S103, adding the content of the music loaded this time to the loaded list of the target playlist.
[0093] After the content of the currently loaded music is added to the loaded list, the client can display and play the currently loaded music.
[0094] When the target playlist is a real-time recommended playlist, the client also performs the following operations: recording the interactive behavior data generated by the user's interactive behavior on the loaded real-time recommended music; and sending the interactive behavior data to the server.
[0095] Recommendation systems usually make recommendations based on the user's personalized characteristics and interactive behavior characteristics. Interactive behavior characteristics refer to the characteristics obtained by processing interactive behavior data. The user's interactive behaviors on the loaded real-time recommended music include but are not limited to: exposure, clicks, playback, collection, etc. The client records these interactive behaviors and reports them to the server.
[0096] Exemplarily, the client sends a reporting request to the server, where the reporting request includes the ID of the loaded real-time recommended music, the recommendation ID, and the corresponding interactive behavior data.
[0097] In this embodiment, the client sends a song list update request of the target song list to the server, the song list update request includes the ID of the background playlist of the target song list, the target loading method and the loading parameters corresponding to the target loading method; receives the response to the song list update request sent by the server, the response to the song list update request includes the content of the music loaded this time; adds the content of the music loaded this time to the loaded list of the target song list. In this method, for static song lists and real-time recommended song lists, a unified loading method is used to update and play the song lists, which reduces the development cost of the client. In addition, the user experience of the two song lists is consistent, which improves the user experience.
[0098] Embodiment 2 Fig. 9 A flowchart of a music data processing method is provided for the second embodiment of the present application. The method of this embodiment is executed by a server, such as Fig. 9 As shown, the method provided in this embodiment includes the following steps.
[0099] S201. Receive a song list update request for a target song list sent by a client, where the song list update request includes the ID of a background playlist of the target song list, a target loading method, and loading parameters corresponding to the target loading method.
[0100] In this embodiment, the target playlist is a static playlist or a real-time recommended playlist. The static playlist and the real-time recommended playlist are loaded using a unified loading method. The update method and the playback method of the static playlist and the real-time recommended playlist are the same.
[0101] S202. According to the playlist update request, the content of the music loaded this time is obtained from the background playlist stored on the server. The background playlist is used to store the content of all music loaded from the creation of the target playlist to the current time.
[0102] The server establishes or creates a background playlist for each playlist of the client. The background playlist is used to store the content of all music that the user has loaded from the creation of the target playlist to the current time. The current time refers to the time when the playlist update request is received. The background playlist is maintained by the server. The music in the background playlist will not be deleted due to client operations or user operations. The background playlist can usually be deleted as a whole after the playlist has not been used for a long time or deleted at a fixed time, for example, deleted one week after the background playlist was created.
[0103] The music loaded in this playlist update request may be music that has not been exposed before or historical music, or may include both music that has not been exposed before and historical music. When the music loaded this time is historical music, the historical music to be loaded does not exist in the client's loaded list (it has been eliminated by the client), but the historical music still exists in the background playlist, and the content of the historical music can be obtained from the background playlist. When the music loaded this time is music that has not been exposed before, the content of the music does not exist in the background playlist.
[0104] Therefore, in this embodiment, the server first obtains the content of the music loaded this time from the background playlist. When the background playlist does not include the content of the music loaded this time, the content of the music loaded this time is pulled from the original playlist.
[0105] The target loading method includes any one of the following methods: a downward loading method, which is used to expand the tail position of the playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist. An upward loading method, which is used to expand the head position of the playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist. An intermediate loading method, which is used to expand the head position or the tail position of the playlist, and the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback, and the ID of the music at the end of the last playback is used to determine the head position or the tail position of the current page of the playlist.
[0106] The server finds the background playlist based on the background playlist ID. The background playlist ID can uniquely identify a background playlist on the server. Usually, when a client requests a playlist for the first time, it generates the background playlist ID of the playlist based on the user ID (user_id) and the playlist ID (playlist_id). The background playlist ID is also recorded as playlist_uuid, where uuid is the abbreviation of Universally Unique Identifier.
[0107] After the server finds the background playlist, it determines the head and tail positions of the current page of the target playlist from the background playlist according to the loading parameters corresponding to the target loading method, and expands the head or tail position of the current page according to the target loading method to obtain the content of the music loaded this time.
[0108] Taking the downward loading method as an example, after determining the head position and tail position of the current page in the background playlist, the tail position of the current page is extended according to the downward loading method, and the tail position of the current page is used as the starting position to search downward (i.e., search toward the tail) to obtain a specified number of music as the music loaded this time. The upward loading method is similar. According to the upward loading method, it is determined that the head position of the current page is extended. The head position of the current page is used as the starting position to search upward (i.e., search toward the head) to obtain a specified number of music as the music loaded this time.
[0109] In the upward loading mode or the downward loading mode, the number of music loaded this time can be specified by the client and carried in the playlist update request, or it can be set by the server. For example, the number of music loaded this time is 10, 20, more or less.
[0110] The loading parameter corresponding to the intermediate loading method is the ID of the music at the end of the last playback. The server searches for the position of the music at the end of the last playback in the background playlist based on the ID of the music at the end of the last playback, takes the position of the music at the end of the last playback as the middle position, expands the first number of music upwards to obtain the head position of the current page of the target playlist, and expands the second number of music downwards to obtain the tail position of the current page of the target playlist.
[0111] In this loading method, the client needs to first determine the page (i.e., the current page) where the music was played at the end of the last time, based on the ID of the music that was played at the end of the last time, that is, determine the head position and tail position of the page where the music was played at the end of the last time, so that the position of the music that was played at the end of the last time can be quickly located based on the ID of the music that was played at the end of the last time. A typical application scenario is that the user quickly finds the position of the music that was played at the end of the last time through the central control page of the client.
[0112] When determining the head and tail positions of the current page based on the ID of the music when the last playback ended, the first number and the second number may be the same or different. Optionally, the sum of the first number and the second number is the number of music loaded at one time minus 1. For example, if the number of music loaded at one time is 20, the first number may be 9 and the second number may be 10.
[0113] After determining the head and tail positions of the current page, the head or tail position of the playlist can be expanded according to the user's update operation on the target playlist. For example, after locating the last played position, if the user pulls down the playlist, the tail position of the playlist will be expanded; if the user pulls up the playlist, the head position of the playlist will be expanded.
[0114] When the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, where the recommendation IDs of multiple music loaded this time are the same. When the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0115] S203. When the background playlist does not include the content of the music loaded this time, the content of the music loaded this time is pulled from the original playlist and added to the background playlist.
[0116] S204. Send a response to the playlist update request to the client, where the response to the playlist update request includes the content of the music loaded this time.
[0117] The client may or may not include the content of the music loaded this time in the background playlist. When the background playlist includes the content of the music loaded this time, the content of the music loaded this time is directly returned to the client. When the background playlist does not include the content of the music loaded this time, the server needs to pull the content of the music loaded this time from the original playlist, add it to the background playlist, and then return the content of the music loaded this time to the client. Optionally, after the server pulls the content of the music loaded this time from the original playlist, it can also return the content of the music loaded this time to the client first, and then store the content of the music loaded this time in the background playlist.
[0118] The original playlist can be understood as a data source, that is, a data source of music. The original playlist is the source of data for the target playlist. In this embodiment, the original playlist can be any type of data source, including but not limited to music albums, UGC playlists, real-time recommended playlists, or offline recommended playlists.
[0119] In the prior art, the loaded music of the playlist is usually stored on the client, that is, the content of the music requested from the data source is stored on the client, while in the method of this embodiment, the loaded music of the playlist is mainly stored in the background play list of the server, and the loaded list of the client only needs to store the content of a small number of currently played music. The loaded music of the playlist is stored and managed by the server, and the server usually does not need to consider storage resources, thereby saving the storage resources of the client, simplifying the processing of the client, and reducing the cost of the client.
[0120] Optionally, the background playlist is divided into loaded and unloaded parts. The loaded part is marked as music_id and music_info, and the unloaded part is marked as unknown. In the real-time recommendation playlist scenario, all actions to expand the unloaded part of the background playlist correspond to requesting the recommendation system to produce new content. In this scenario, the recommendation system is the original playlist.
[0121] Fig.10 This is a diagram of data interaction in the real-time song list recommendation scenario. Fig.10 As shown, the music content stored in the background playlist includes: music ID, basic music information, recommendation ID and interactive behavior characteristics.
[0122] In the real-time playlist recommendation scenario, pulling the content of the currently loaded music from the original playlist includes: sending the recommended music in the background playlist and the corresponding interactive behavior features to the recommendation system (corresponding to the features transmitted to the recommendation system in the figure); the recommendation system determines the currently loaded music based on the recommended music in the background playlist and the corresponding interactive behavior features; generates a recommendation ID for the currently loaded music, and sends the music ID, basic music information and recommendation ID of the currently loaded music to the background playlist; adds the content of the currently loaded music to the background playlist, and updates the version number of the background playlist.
[0123] The recommendation system determines the music to be recommended this time based on the incoming recommended music and the corresponding interactive behavior characteristics, as well as the user's personalized characteristics, and sorts the music to be recommended this time. For each piece of music recommended, an ID generator can generate a recommendation ID to mark the music recommended this time. The recommendation ID generated by the ID generator is a globally unique ID, which ensures the uniqueness of the music recommended this time.
[0124] The recommendation ID is sent to the client along with the music content. The user's interactive behaviors such as exposure, clicks, and playback of the music on the target playlist will carry the recommendation ID corresponding to the music. The client can report the interactive behavior actively or based on server requests.
[0125] The server receives a reporting request sent by the client, which includes the ID of the loaded real-time recommended music, the recommendation ID and the corresponding interactive behavior data; generates interactive behavior features based on the interactive behavior data, that is, processes the interactive behavior data to obtain the interactive behavior features, and saves or adds the interactive behavior features to the content of the corresponding music in the background playlist.
[0126] During real-time recommendation and model fine-tuning, all the recommended music in the background playlist and the corresponding interactive behavior features will be passed to the recommendation model as features. When fine-tuning the model, the effect of each recommended music can be learned based on the recommendation ID of all the recommended music. Based on the difference in the effects of the recommended music, the features of the music with good recommendation effects are sent to the recommendation model, so as to obtain high-quality recommendation effects.
[0127] In this embodiment, the server establishes a background playlist for each song list in the server, which is used to store the content of all music that has been loaded from the creation of the song list to the current time. The server manages the loaded music, thereby simplifying the client's management of the loaded music. The client does not need to store the content of all loaded music, but only needs to store the content of part of the loaded music. The client can search for other loaded music from the background playlist, thereby saving the client's storage space. In addition, the server uses a unified song list loading protocol to load static song lists and real-time recommended song lists, making the loading of song lists easier.
[0128] Optionally, some music playback clients have multiple pages, and all of these pages need to load the content of the target playlist. It is usually expected that the data of the target playlist on these multiple pages remain synchronized. For example, the content of the target playlist on pages such as "Explore", "Listen to Music", "Search", and "Central Control Page" of the client needs to remain consistent, which is also called a multi-page linkage scenario. In related technologies, the client establishes a data synchronization relationship between multiple pages, and realizes complex data synchronization between multiple pages through the data synchronization relationship.
[0129] The embodiment of the present application provides a simple multi-page data synchronization process, where each page independently pulls the playlist content from the server, and there is no need to establish a data synchronization relationship between the pages. It can also be understood that each page acts as an independent client to request the playlist content from the server, and the client is used to request the playlist content.
[0130] In one implementation, when the first page among multiple pages requests the content of the target playlist from the server for the first time, the first page receives the ID of the background playlist returned by the server; the first page sends the ID of the background playlist to other pages among the multiple pages; each page among the multiple pages independently requests the content of the target playlist from the server based on the ID of the background playlist. When the first page requests the content of the target playlist from the server for the first time, the request carries the user ID and the ID of the target playlist. The server creates a background playlist based on the request, generates the ID of the background playlist based on the user ID and the ID of the target playlist, and returns the ID of the background playlist to the client.
[0131] In a multi-page scenario, the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist. That is to say, when any page among multiple pages (for example, page A) requests the first content of the target playlist (for example, music id1-music id10) from the server, the first content requested by page A will be stored in the background playlist. Subsequently, when other pages request the first content of the target playlist from the server, since the first content has been stored in the background playlist, the server will return the first content stored in the background playlist to other pages.
[0132] When multiple pages simultaneously extend the unloaded interval of the target playlist, conflicts may occur if the unloaded intervals extended by the multiple pages overlap or overlap, that is, when the new music to be loaded by the multiple pages overlaps.
[0133] Optionally, optimistic locking is used in the embodiment of the present application to resolve the conflict. Optimistic locking is a concurrency control method used to manage concurrent access to the same data by multiple transactions in a database management system. It differs from pessimistic locking in that it does not lock data during transaction execution, allowing multiple transactions to read data at the same time. Optimistic locking is suitable for scenarios with high concurrency and less data competition. Common implementations of optimistic locking include, but are not limited to: version number, timestamp, compare-and-swap (CAS) operations, etc.
[0134] Taking optimistic locking based on version numbers as an example, each playlist has a version number. Each time the playlist is updated, the version number of the playlist will also be adaptively updated. When a conflict occurs, the playlist is updated through atomic operations. Only one page (or the client corresponding to the page) can successfully update the version number of the playlist. Other pages re-read the latest version of the playlist and then decide whether the playlist needs to be expanded again.
[0135] When the server receives playlist update requests from at least two pages at the same time, it uses optimistic locking to pull data from the original playlist according to the version number of the background playlist to update the content and version number of the background playlist.
[0136] In a multi-threaded or distributed environment, when multiple threads or nodes access shared data at the same time, atomic operations can ensure data integrity and consistency. Atomic operations are either fully executed or not executed at all, there is no intermediate state, and they will not be interrupted by other threads or nodes. The implementation of atomic operations includes CAS, Fetch-And-Add, Load-Link / Store-Conditional (LL / SC), etc.
[0137] Fig.11 Schematic diagram of conflict handling when loading playlists on multiple pages at the same time. Assume that the music player client has three pages, each page corresponds to a client, and the client corresponding to each page is used to request the playlist from the server. Fig.11 As shown, page 1, page 2, and page 3 simultaneously send a playlist update request to the server. The current version number of the target playlist is 1. The server processes the playlist update request of page 1, and does not process the playlist update requests sent by page 2 and page 3. The server pulls the content of the music loaded this time from the original playlist and adds it to the background playlist to obtain version 2 of the background playlist. The server returns a response to the playlist update request to page 1, and the response to the playlist update request includes the content of the music loaded this time (for example, music id4 and music id5 shown in the figure). The server does not respond to or refuses to respond to the request of page 2 and page 3. Since page 2 and page 3 do not obtain the music loaded this time, they re-initiate the playlist update request. After page 2 and page 3 re-initiate the playlist update request, they can obtain the latest loaded music (i.e., music id4 and music id5 shown in the figure) from the background playlist corresponding to version 2.
[0138] Fig.12 A schematic diagram of the interaction between multiple pages, such as Fig.12 As shown, the music player client first (such as Figure 1When page 1 requests the content of the playlist from the server for the first time, the user ID and playlist ID are carried in the playlist update request. The server establishes a background playlist based on the playlist update request, and generates the ID of the background playlist (i.e., playlist_uuid) based on the user ID and the playlist ID. Page 1 obtains the ID of the background playlist and passes the ID of the background playlist to other pages, so that each page obtains the ID of the background playlist. Subsequently, each page can request the server to update the content of the playlist based on the ID of the background playlist. Each page requests the content of the music from the background playlist of the server based on the ID of the background playlist, thereby avoiding the client from implementing a complex multi-page data synchronization mechanism and ensuring the consistency of the data obtained by each page.
[0139] In order to facilitate better implementation of the music data processing method of the embodiment of the present application, the embodiment of the present application also provides a music data processing device. Fig.13 This is a structural diagram of a music data processing device provided in Example 3 of the present application, such as Fig.13 As shown, the music data processing device 100 may include: a sending module 11, used for sending a song list update request of a target song list to a server, the song list update request includes the ID of a background playlist of the target song list, a target loading method and loading parameters corresponding to the target loading method, the background playlist is used to store the content of all music loaded from the creation of the target song list to the current time; a receiving module 12, used for receiving a response to the song list update request sent by the server, the response to the song list update request includes the content of the music loaded this time; an updating module 13, used for adding the content of the music loaded this time to the loaded list of the target song list.
[0140] In some implementable methods, the target loading method includes any one of the following methods: a downward loading method, which is used to expand the tail position of a playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; an upward loading method, which is used to expand the head position of a playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; an intermediate loading method, which is used to expand the head position or the tail position of a playlist, and the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback, and the ID of the music at the end of the last playback is used to determine the head position or the tail position of the current page of the playlist.
[0141] In some possible implementations, the sending module 11 is specifically used to: in response to a user's update operation on the target playlist or the playlist of the target playlist, send the playlist update request to the server.
[0142] In some possible implementations, the sending module 11 is specifically used for: when the update operation is detected, determining the target loading method and the loading parameters corresponding to the target loading method according to the update operation; and sending the playlist update request to the server.
[0143] In some possible implementations, when the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of multiple music loaded this time are the same; when the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0144] In some possible implementations, when the target playlist is a real-time recommended playlist, the device further includes: a behavior processing module for recording interactive behavior data generated by the user's interactive behavior with the loaded real-time recommended music; and reporting the interactive behavior data to the server.
[0145] In some possible implementations, the device also includes a display module, which is used to: display a recommendation page, on which preview content of at least one recommended playlist is displayed, and the at least one recommended playlist includes the target playlist; in response to a user opening operation of the preview content of the target playlist, display the playlist details of the target playlist, and the playlist details include a music list of the target playlist.
[0146] In some possible implementations, the device also includes a display module, which is used to: display the central control page in response to a user opening operation on the central control page of the client, wherein the central control page displays a recently played playlist, and the recently played playlist is the target playlist; and display the playlist details of the target playlist in response to a user opening operation on the entrance to the target playlist.
[0147] In some possible implementations, the client includes multiple pages, and the receiving module 12 is also used to: when the first page among the multiple pages requests the content of the target playlist from the server for the first time, receive the ID of the background playlist returned by the server; the sending module 11 is also used to: send the ID of the background playlist to other pages among the multiple pages through the first page; each page among the multiple pages independently requests the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist.
[0148] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here.
[0149] Fig.14 A structural diagram of a music data processing device provided in Embodiment 4 of the present application, such as Fig.14 As shown, the music data processing device 200 may include: a receiving module 21, a loading module 22 and a sending module 23.
[0150] The receiving module 21 is used to receive a song list update request for a target song list sent by a client, wherein the song list update request includes the ID of the background playlist of the target song list, a target loading method and loading parameters corresponding to the target loading method.
[0151] The loading module 22 is used to obtain the content of the music loaded this time from the background playlist stored on the server according to the playlist update request. The background playlist is used to store the content of all music loaded from the creation of the target playlist to the current time.
[0152] The loading module 22 is also used to pull the content of the music loaded this time from the original song list and add it to the background playlist when the content of the music loaded this time is not included in the background playlist.
[0153] The sending module 23 is used to send a response to the playlist update request to the client, and the response to the playlist update request includes the content of the music loaded this time.
[0154] In some implementable methods, the target loading method includes any one of the following methods: a downward loading method, which is used to expand the tail position of a playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; an upward loading method, which is used to expand the head position of a playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; an intermediate loading method, which is used to expand the head position or the tail position of a playlist, and the loading parameters corresponding to the intermediate loading method include the ID of the music at the end of the last playback, and the ID of the music at the end of the last playback is used to determine the head position or the tail position of the current page of the playlist.
[0155] In some implementable methods, the loading module 22 is specifically used to: search for the background playlist according to the ID of the background playlist; determine the head position and tail position of the current page of the target playlist in the background playlist according to the loading parameters corresponding to the target loading method; and expand the head position or tail position of the current page according to the target loading method to obtain the content of the music loaded this time.
[0156] In some implementable embodiments, when the target loading mode is the intermediate loading mode, the loading module 22 is specifically used to: search for the position of the music at the end of the last playback in the background playlist according to the ID of the music at the end of the last playback; take the position of the music at the end of the last playback as the middle position, expand the first number of music upwards to obtain the head position of the current page of the target playlist, and expand the second number of music downwards to obtain the tail position of the current page of the target playlist.
[0157] In some possible implementations, when the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of multiple music loaded this time are the same; when the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
[0158] In some implementable embodiments, when the target playlist is a real-time recommended playlist, the loading module 22 is specifically used to: send the recommended music in the background playlist and the corresponding interactive behavior characteristics to the recommendation system; the recommendation system determines the music loaded this time based on the recommended music in the background playlist and the corresponding interactive behavior characteristics; generates a recommendation ID for the music loaded this time, and sends the music ID, basic music information and recommendation ID of the music loaded this time to the background playlist; adds the content of the music loaded this time to the background playlist, and updates the version number of the background playlist.
[0159] In some possible implementations, the receiving module 21 is also used to: receive a reporting request sent by the client, the reporting request including the ID of the loaded real-time recommended music, the recommendation ID and the corresponding interactive behavior data; the device also includes a saving module, and the user generates interactive behavior characteristics based on the interactive behavior data, and saves the interactive behavior characteristics to the content of the corresponding music in the background playlist.
[0160] In some possible implementations, the client includes multiple pages, each of the multiple pages can independently request the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist; the loading module 22 is also used for: when receiving playlist update requests sent by at least two pages at the same time, according to the version number of the background playlist, using optimistic locking to pull data from the original playlist to update the content and version number of the background playlist.
[0161] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here.
[0162] The music data processing device 100 and the music data processing device 200 of the embodiment of the present application are described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in the form of hardware, can be implemented by instructions in the form of software, or can be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit in the processor and / or the instructions in the form of software, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to execute, or can be executed by a combination of hardware and software modules in the decoding processor. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps in the above method embodiment in conjunction with its hardware.
[0163] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0164] An embodiment of the present application also provides a terminal device. Fig.15 A schematic diagram of the structure of a terminal device provided in Embodiment 5 of the present application, such as Fig.15 As shown, the terminal device 300 may include: a processor 301 with one or more processing cores, a memory 302 with one or more computer-readable storage media, and a computer program stored in the memory 302 and executable on the processor. The processor 301 is electrically connected to the memory 302. Those skilled in the art will appreciate that the computer device structure shown in the figure does not constitute a limitation on the computer device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0165] The processor 301 is the control center of the terminal device 300. It uses various interfaces and lines to connect the various parts of the entire terminal device 300, executes various functions of the terminal device 300 and processes data by running or loading software programs and / or modules stored in the memory 302, and calling data stored in the memory 302, thereby processing the terminal device 300 as a whole.
[0166] In an embodiment of the present application, the processor 301 in the terminal device 300 will load the instructions corresponding to the processes of one or more applications into the memory 302 according to the following steps, and the processor 301 will run the application stored in the memory 302, so as to realize the following functions: sending a song list update request for the target song list to the server, the song list update request including the ID of the background play list of the target song list, the target loading method and the loading parameters corresponding to the target loading method; receiving a response to the song list update request sent by the server, the response to the song list update request including the content of the music loaded this time; adding the content of the music loaded this time to the loaded list of the target song list.
[0167] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.
[0168] In some embodiments, the processor 301 may include but is not limited to: a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0169] In some embodiments of the present application, the memory 302 includes, but is not limited to: volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink DRAM (SLDRAM), and direct RAM bus random access memory (Direct Rambus RAM, DR RAM).
[0170] Optional, such as Fig.15 As shown, the terminal device 300 also includes: a display screen 303, a radio frequency circuit 304, an audio circuit 305, an input unit 306 and a power supply 307. Among them, the processor 301 is electrically connected to the display screen 303, the radio frequency circuit 304, the audio circuit 305, the input unit 306 and the power supply 307 respectively. Those skilled in the art can understand that Fig.15 The computer device structure shown in the figure does not constitute a limitation on the computer device, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.
[0171] The display screen 303 can be used to display a graphical user interface and receive operation instructions generated by the user acting on the graphical user interface. The display screen 303 can be a touch display screen, and the touch display screen can include a display panel and a touch panel. Among them, the display panel can be used to display information input by the user or information provided to the user and various graphical user interfaces of the computer device, which can be composed of graphics, text, icons, videos and any combination thereof. Optionally, the display panel can be configured in the form of a liquid crystal display (LCD, Liquid Crystal Display), an organic light-emitting diode (OLED, Organic Light-Emitting Diode), etc. The touch panel can be used to collect the user's touch operations on or near it (such as the user's operation on the touch panel or near the touch panel using any suitable object or accessory such as a finger, stylus, etc.), and generate corresponding operation instructions, and the operation instructions execute the corresponding program. Optionally, the touch panel may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into the touch point coordinates, and then sends it to the processor 301, and can receive the command sent by the processor 301 and execute it. The touch panel can cover the display panel. When the touch panel detects a touch operation on or near it, it is transmitted to the processor 301 to determine the type of touch event, and then the processor 301 provides a corresponding visual output on the display panel according to the type of touch event. In an embodiment of the present application, the touch panel and the display panel can be integrated into a touch display screen to realize input and output functions. However, in some embodiments, the touch panel and the touch panel can be used as two independent components to realize input and output functions. That is, the touch display screen can also be used as a part of the input unit 306 to realize the input function.
[0172] The radio frequency circuit 304 may be used to send and receive radio frequency signals, so as to establish wireless communication with a network device or other computer devices through wireless communication, and to send and receive signals between the network device or other computer devices.
[0173] The audio circuit 305 can be used to provide an audio interface between the user and the computer device through a speaker and a microphone. The audio circuit 305 can transmit the electrical signal converted from the received audio data to the speaker, which is converted into a sound signal for output; on the other hand, the microphone converts the collected sound signal into an electrical signal, which is received by the audio circuit 305 and converted into audio data, and then the audio data is output to the processor 301 for processing, and then sent to another computer device through the radio frequency circuit 304, or the audio data is output to the memory 302 for further processing. The audio circuit 305 may also include an earphone jack to provide communication between an external headset and the computer device.
[0174] The input unit 306 may be used to receive input numbers, character information or object feature information (such as fingerprint, iris, facial information, etc.), and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.
[0175] The power supply 307 is used to supply power to various components of the terminal device 300. Optionally, the power supply 307 can be logically connected to the processor 301 through a power management system, so as to manage charging, discharging, and power consumption management through the power management system. The power supply 307 can also include one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0176] although Fig.15 Not shown, the terminal device 300 may also include a camera, a sensor, a wireless fidelity module, a Bluetooth module, etc., which will not be described in detail here.
[0177] The embodiment of the present application also provides a server. Fig.16 A structural diagram of a server provided in Example 6 of the present application, such as Fig.16 As shown, the server 400 may include: a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, and a computer program stored in the memory 402 and executable on the processor. The processor 401 is electrically connected to the memory 402. Those skilled in the art will appreciate that the server structure shown in the figure does not constitute a limitation on the server, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0178] Processor 401 is the control center of server 400. It uses various interfaces and lines to connect various parts of the entire server 400, executes various functions of server 400 and processes data by running or loading software programs and / or modules stored in memory 402, and calling data stored in memory 402, thereby processing server 400 as a whole.
[0179] In an embodiment of the present application, the processor 401 in the server 400 will load the instructions corresponding to the processes of one or more applications into the memory 402 according to the following steps, and the processor 401 will run the application stored in the memory 402, so as to realize the following functions: receiving a playlist update request for a target playlist sent by a client, the playlist update request including the ID of a background playlist of the target playlist, a target loading method and loading parameters corresponding to the target loading method; according to the playlist update request, obtaining the content of the music loaded this time from the background playlist stored on the server, the background playlist being used to store the content of all music loaded from the creation of the target playlist to the current time; when the background playlist does not include the content of the music loaded this time, the content of the music loaded this time is pulled from the original playlist and added to the background playlist; sending a response to the playlist update request to the client, the response to the playlist update request including the content of the music loaded this time.
[0180] like Fig.16 As shown, the server 400 may further include: a transceiver 403 , which may be connected to the processor 401 or the memory 402 .
[0181] The processor 401 may control the transceiver 403 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 403 may include a transmitter and a receiver. The transceiver 403 may further include an antenna, and the number of antennas may be one or more.
[0182] It should be understood that the various components in the server 400 are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.
[0183] The present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.
[0184] The present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. The processor of the electronic device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the electronic device executes the corresponding process in the above method embodiment, which will not be described here for brevity.
[0185] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0186] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0187] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A music data processing method, characterized in that: Applied to a client, the method comprises: Send a song list update request of the target song list to the server, wherein the song list update request includes an identification ID of a background playlist of the target song list, a target loading mode and a loading parameter corresponding to the target loading mode, wherein the background playlist is used to store the content of all music loaded from the creation of the target song list to the current time; Receive a response to the song list update request sent by the server, wherein the response to the song list update request includes the content of the music loaded this time; Add the content of the music loaded this time to the loaded list of the target playlist.
2. The method according to claim 1, characterized in that: The target loading method includes any one of the following methods: A downward loading method is used to extend the tail position of the playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; An upward loading method is used to expand the head position of the playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; The intermediate loading method is used to expand the head position or the tail position of the playlist. The loading parameters corresponding to the intermediate loading method include the ID of the music when the last playback ended. The ID of the music when the last playback ended is used to determine the head position or the tail position of the current page of the playlist.
3. The method according to claim 2, characterized in that The sending of a song list update request of a target song list to a server includes: In response to the user's update operation on the target playlist or the playlist of the target playlist, the playlist update request is sent to the server.
4. The method according to claim 3, characterized in that: The step of sending the song list update request to the server in response to the update operation on the target song list comprises: When the update operation is detected, determining the target loading mode and the loading parameters corresponding to the target loading mode according to the update operation; Send the playlist update request to the server.
5. The method according to any one of claims 1 to 4, characterized in that When the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of the multiple music loaded this time are the same; When the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
6. The method according to claim 5, characterized in that When the target playlist is a real-time recommended playlist, the method further includes: Record the interactive behavior data generated by the user's interactive behavior on the loaded real-time recommended music; Reporting the interactive behavior data to the server.
7. The method according to any one of claims 1 to 4, characterized in that Before sending a request to update the target playlist to the server, the following is also included: Displaying a recommendation page, wherein the recommendation page displays preview content of at least one recommended playlist, wherein the at least one recommended playlist includes the target playlist; In response to the user opening the preview content of the target playlist, the playlist details of the target playlist are displayed, and the playlist details include the music list of the target playlist.
8. The method according to any one of claims 1 to 4, characterized in that Before sending a request to update the target playlist to the server, the following is also included: In response to the user opening operation of the central control page of the client, the central control page is displayed, and the central control page displays a recently played song list, and the recently played song list is the target song list; In response to the user opening the entrance to the target playlist, the playlist details of the target playlist are displayed.
9. The method according to any one of claims 1 to 4, characterized in that: The client includes a plurality of pages, and the method further includes: When a first page among the multiple pages requests the content of the target playlist from the server for the first time, the first page receives the ID of the background playlist returned by the server; The first page sends the ID of the background playlist to other pages in the multiple pages; Each of the multiple pages independently requests the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist.
10. A music data processing method, characterized in that: Applied to a server, the method comprises: Receive a song list update request for a target song list sent by a client, wherein the song list update request includes an identification ID of a background playlist of the target song list, a target loading mode, and a loading parameter corresponding to the target loading mode; According to the playlist update request, the content of the currently loaded music is obtained from the background playlist stored in the server, wherein the background playlist is used to store the content of all the music that has been loaded from the creation of the target playlist to the current time; When the background playlist does not include the content of the music loaded this time, the content of the music loaded this time is pulled from the original playlist and added to the background playlist; A response to the playlist update request is sent to the client, wherein the response to the playlist update request includes the content of the music loaded this time.
11. The method according to claim 10, characterized in that The target loading method includes any one of the following methods: A downward loading method is used to extend the tail position of the playlist, and the loading parameters corresponding to the downward loading method include the head position and the tail position of the current page of the playlist; An upward loading method is used to expand the head position of the playlist, and the loading parameters corresponding to the upward loading method include the head position and the tail position of the current page of the playlist; The intermediate loading method is used to expand the head position or the tail position of the playlist. The loading parameters corresponding to the intermediate loading method include the ID of the music when the last playback ended. The ID of the music when the last playback ended is used to determine the head position or the tail position of the current page of the playlist.
12. The method according to claim 11, characterized in that The step of obtaining the content of the currently loaded music from the background playlist stored on the server according to the playlist update request includes: Searching the background playlist according to the ID of the background playlist; According to the loading parameters corresponding to the target loading mode, determining the head position and the tail position of the current page of the target playlist in the background playlist; According to the target loading method, the head position or the tail position of the current page is expanded to obtain the content of the music loaded this time.
13. The method according to claim 12, characterized in that When the target loading mode is the intermediate loading mode, determining the head position and tail position of the current page of the target playlist in the background playlist according to the loading parameters corresponding to the target loading mode includes: Searching the position of the music at the end of the last playback in the background playlist according to the ID of the music at the end of the last playback; Taking the position of the music at the end of the last playback as the middle position, expanding the first amount of music upwards to obtain the head position of the current page of the target playlist, and expanding the second amount of music downwards to obtain the tail position of the current page of the target playlist.
14. The method according to any one of claims 10 to 13, characterized in that: When the target playlist is a real-time recommended playlist, the content of the music loaded this time includes: music ID, basic music information and recommendation ID, wherein the recommendation IDs of the multiple music loaded this time are the same; When the target playlist is a static playlist, the content of the music loaded this time includes: music ID and basic music information.
15. The method according to claim 14, characterized in that When the target playlist is a real-time recommended playlist, the process of pulling the content of the currently loaded music from the original playlist includes: Sending the recommended music in the background playlist and the corresponding interactive behavior features to the recommendation system; The recommendation system determines the music to be loaded this time according to the recommended music in the background playlist and the corresponding interactive behavior characteristics; Generate a recommendation ID for the music loaded this time, and send the music ID, basic music information and recommendation ID of the music loaded this time to the background playlist; The content of the music loaded this time is added to the background play list, and the version number of the background play list is updated.
16. The method according to claim 15, characterized in that Also includes: Receiving a reporting request sent by the client, wherein the reporting request includes the ID of the loaded real-time recommended music, the recommendation ID, and the corresponding interactive behavior data; Generate an interactive behavior feature according to the interactive behavior data, and save the interactive behavior feature into the content of the corresponding music in the background playlist.
17. The method according to any one of claims 10 to 13, characterized in that: The client includes multiple pages, each of which can independently request the content of the target playlist from the server according to the ID of the background playlist, and the background playlist is used for data synchronization when other pages open the target playlist or the playlist of the target playlist; the method also includes: When playlist update requests are received from at least two pages at the same time, optimistic locking is used to pull data from the original playlist according to the version number of the background playlist to update the content and version number of the background playlist.
18. A music data processing device, characterized in that: include: A sending module, used for sending a song list update request of a target song list to a server, wherein the song list update request includes an identification ID of a background playlist of the target song list, a target loading mode and a loading parameter corresponding to the target loading mode, and the background playlist is used for storing the content of all music loaded from the creation of the target song list to the current time; A receiving module, used for receiving a response to the song list update request sent by the server, wherein the response to the song list update request includes the content of the music loaded this time; An update module is used to add the content of the music loaded this time to the loaded list of the target playlist.
19. A music data processing device, characterized in that: include: A receiving module, used to receive a song list update request of a target song list sent by a client, wherein the song list update request includes an identification ID of a background playlist of the target song list, a target loading mode and a loading parameter corresponding to the target loading mode; A loading module, used to obtain the content of the music loaded this time from the background playlist stored in the server according to the playlist update request, wherein the background playlist is used to store the content of all the music loaded from the creation of the target playlist to the current time; The loading module is further configured to, when the background playlist does not include the content of the music loaded this time, pull the content of the music loaded this time from the original playlist and add it to the background playlist; A sending module is used to send a response to the playlist update request to the client, wherein the response to the playlist update request includes the content of the music loaded this time.
20. A terminal device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 9.
21. A server, characterized in that: include: A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 10 to 17.
22. A computer-readable storage medium, characterized in that: Used to store a computer program, wherein the computer program causes a computer to execute the method according to any one of claims 1 to 9 or the method according to any one of claims 10 to 17.
Citation Information
Patent Citations
Song list updating method, device, terminal and storage medium
CN110377784A
Song list interface display control method and device, storage medium and electronic equipment
CN112667333A
Song list management method and device, terminal and medium
CN117234384A
Music recommendation system and method for providing user''s feedback, and service apparatus applied to the same
KR1020150005804A
Cited By
Music data processing method and apparatus, and device, server and medium
WO2026138086A1