A method and related apparatus for generating a list
By converting basic list data into general list data, including target objects, sorting feature parameters and feature values, the problem of heavy workload in list generation in existing technologies is solved, efficient generation of different types of lists is achieved, and development costs are reduced.
Patent Information
- Application Number
- CN202110286470.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-17
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2041-03-17
AI Technical Summary
The existing list generation solution requires writing different scripts for each activity, resulting in heavy workload on the front-end and back-end, and requiring repeated development between similar lists.
By obtaining the list generation request from the content platform, basic list data is obtained from the subscribed data source according to the list identifier, and it is converted into universal list data, including three types of dimensional data: for identifying the target object, sorting feature parameters and feature values, to generate lists suitable for different content platforms.
The development workload and cost of generating lists are reduced, and different types of lists can be generated through one script without the need for repeated development for each list.
Smart Images

Figure CN115105838B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer information processing technology, and in particular to a list generation method and related devices. Background Art
[0002] Charts, such as music charts and sales charts, reflect the objective strength of a related category. Using charts in activities (such as gaming and live streaming) can enhance competition among users, encouraging them to invest more enthusiasm and money in the activity. Charts have become an essential means of attracting active users and boosting revenue in various activities.
[0003] Different activities require different lists. In order to cooperate with different activities, different lists need to be set up. The existing list generation solution requires writing different scripts for each list to generate list data. Every time an activity has a new list requirement, the back-end needs to write a specific script to regularly generate the list data, and then the front-end adjusts the new request parameters and communication data to adapt to the new list data.
[0004] Different rankings are launched for each event, and the workload for ranking development on the front-end and back-end is relatively large. Summary of the Invention
[0005] In order to solve the above technical problems, the present application provides a list generation method to solve the problem of large workload when generating a list.
[0006] The embodiments of this application disclose the following technical solutions:
[0007] In one aspect, the present application provides a list generation method, the method comprising:
[0008] Obtaining a list generation request from a content platform, wherein the list generation request carries a list identifier;
[0009] Obtaining basic list data from a subscribed data source according to the list identifier;
[0010] According to the list requirement corresponding to the list generation request, the basic list data is converted into general list data, the general list data including three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting, and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter, and the three types of dimensional data are determined based on the content platform;
[0011] A list is generated according to the general list data.
[0012] On the other hand, the present application provides a list generating device, the device comprising: an acquiring unit, a converting unit, and a generating unit;
[0013] The acquisition unit is configured to acquire a list generation request from a content platform, the list generation request carrying a list identifier; and acquire basic list data from a subscribed data source according to the list identifier;
[0014] The conversion unit is configured to convert the basic list data into general list data according to the list requirement corresponding to the list generation request, wherein the general list data includes three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement; the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting; and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter. The three types of dimensional data are determined based on the content platform;
[0015] The generating unit is configured to generate a list based on the general list data.
[0016] In another aspect, the present application provides a computer device, comprising a processor and a memory:
[0017] The memory is used to store program code and transmit the program code to the processor;
[0018] The processor is configured to execute the method described above according to the instructions in the program code.
[0019] On the other hand, an embodiment of the present application provides a computer-readable storage medium, which is used to store a computer program, and the computer program is used to execute the method described in the above aspects.
[0020] In another aspect, embodiments of the present application provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method described in the above aspects.
[0021] It can be seen from the above technical solution that the content platform subscribes to multiple data sources in order to generate different types of lists. According to the list identifier carried in the list generation request, the basic list data can be obtained from the subscribed data source, and the basic list data can be converted into general list data according to the list requirements. Among them, the general list data includes three types of dimensional data. These three types of dimensional data are all determined based on the content platform in order to generate lists suitable for different content platforms. Among them, the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the feature parameters corresponding to the sorting, and the third type of dimensional data is the feature value corresponding to the feature parameter. Therefore, by converting the data types of different data sources into a common data type, that is, common list data that represents the sorting object, sorting content and the score corresponding to the sorting content, different types of data sources can generate common list data through a script, and generate lists based on the common list data. There is no need to repeatedly develop for different types of lists, which reduces the development workload. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0023] Figure 1 A schematic diagram of an application scenario of a list generation method provided in an embodiment of the present application;
[0024] Figure 2 A schematic diagram of a list provided in an embodiment of the present application;
[0025] Figure 3 A flowchart of a list generation method provided in an embodiment of the present application;
[0026] Figure 4 A flowchart of a general list data generation method provided in an embodiment of the present application;
[0027] Figure 5 A flowchart of a method for storing general list data provided in an embodiment of the present application;
[0028] Figure 6 An architectural diagram of a ranking system provided in an embodiment of the present application;
[0029] Figure 7 A schematic diagram of a list data reading module reading data provided in an embodiment of the present application;
[0030] Figure 8A schematic diagram of a list generation device provided in an embodiment of the present application;
[0031] Figure 9 A schematic diagram of the structure of the server provided in the embodiment of the present application;
[0032] Figure 10 A schematic diagram of the structure of the terminal device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0033] The embodiments of the present application are described below with reference to the accompanying drawings.
[0034] In existing products, rankings are often diverse. For example, in live streaming products, users of a live streaming platform can send gifts to multiple hosts within a room, creating a variety of rankings. These include a list of gift recipients for all participating rooms, a list of gift recipients for all hosts, a list of fan tipping for a room, a list of fan tipping for a single host, a list of top-tier users participating in the ranking, a list of the number of gift-giving users for all hosts, and a list of the number of gifts received by a room. Generating these rankings requires the backend to retrieve specific data for each ranking and write scripts for these data. This allows for regular offline data collection and storage in the corresponding database. The frontend also requires code development based on the content of the product's event page, facilitating data coordination with the backend. This diverse list format increases development costs for online platforms, and the need for duplicate development for similar rankings creates a significant workload.
[0035] Based on this, the embodiments of the present application provide a list generation method and related devices for reducing the workload of generating the list and lowering development costs.
[0036] The list generation method provided in this application can be applied to list generation devices with data processing capabilities, such as terminal devices and servers. Specifically, the terminal device can be a smartphone, desktop computer, laptop computer, tablet computer, smart speaker, smart watch, etc., but is not limited thereto; the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The terminal device and the server can be connected directly or indirectly via wired or wireless communication, and this application does not impose any restrictions on this.
[0037] To facilitate understanding of the technical solution of the present application, the list generation method provided in the embodiment of the present application is introduced below in combination with actual application scenarios.
[0038] See also Figure 1 , Figure 1 Schematic diagram of the application scenario of the list generation method provided in the embodiment of this application. Figure 1 In the application scenario shown, the aforementioned list generating device is a server 100, which is used to generate different lists.
[0039] The server 100 obtains a list generation request from the content platform, which carries a list identifier. Figure 1 In the application scenario shown, the content platform is a live broadcast platform. The live broadcast platform will generate different rankings according to the needs of different activities. For example, during the holidays, some hall battle activities are regularly planned. The ranking competition is based on the real-time gift amount received in the room during the event, or the number of specific gifts (such as fairy wands, eternal roses, bicycles, etc.). Figure 2 As shown. Figure 2 The left side shows multiple hosts in a room. Figure 2 The right side shows a list of all hosts who have received specific gift data.
[0040] The live streaming platform subscribes to multiple data sources, such as the data source of sending specific gifts, the data source of user click data on the live streaming platform, the data source of user sharing live streaming rooms on the live streaming platform, etc. Different types of data sources are used to generate different types of lists, and different lists correspond to different list identifiers, so that the corresponding types of data sources can be obtained to generate the corresponding lists.
[0041] The server 100 can obtain basic list data from the subscribed data source according to the list identifier carried in the list generation request. Figure 1 In the illustrated application scenario, the list ID is 12, which corresponds to the list of all streamers receiving fairy wand data. Based on the list ID 12, the data source of fairy wands sent by users on the live streaming platform is obtained from the subscribed multiple data sources. This allows the server 100 to access different data sources once and obtain the corresponding basic list data required to generate the list.
[0042] Server 100 converts the basic list data into general list data according to the list requirements. The general list data includes three types of dimensional data. These three types of dimensional data are all determined based on the content platform. The first type of dimensional data is used to identify the target object corresponding to the list requirements, the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting, and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter.
[0043] exist Figure 1 In the application scenario shown, in order to make the generated list suitable for the list requirements of the live broadcast platform, the first dimension data of the general list data is the anchor, the second dimension data is the fairy wand, and the third dimension data is the number of fairy wands.
[0044] Therefore, by converting the data types of different data sources into a universal data type, that is, universal list data that represents the sorting object, sorting content and the score corresponding to the sorting content, different types of data sources can generate universal list data through a script, and the server 100 generates a list based on the universal list data, thereby eliminating the need for repeated development for different types of lists and reducing the development workload.
[0045] In the following, with reference to the accompanying drawings, a list generation method provided by an embodiment of the present application is introduced, using a server as a list generation device.
[0046] See also Figure 3 , Figure 3 A flowchart of a list generation method provided in an embodiment of the present application is shown as follows: Figure 3 As shown, the list generation method includes the following steps:
[0047] S301: Obtain a list generation request from a content platform.
[0048] The rankings set up in different content platforms are different. For example, the rankings set up by live broadcast platforms are generally rankings for anchors to receive gifts, and the rankings set up by game platforms are generally rankings for users to recharge, etc. Among them, the content platform is an Internet platform that obtains various types of content and distributes the content to users. It can be a live broadcast platform, a game platform, a novel platform, etc.
[0049] Obtain a list generation request from the content platform. The list generation request carries a list identifier. Different list identifiers correspond to different lists. Based on the list identifier, the content platform can identify the list it wants to generate and then obtain the basic list data used to generate the list.
[0050] As a possible implementation method, the list identifier can include one or more of the business identifier, data source identifier, list type identifier and cycle type identifier. For example, the list identifier can be identified as: business id_data source id_list type id_cycle type id. The list identifier is composed of four identifiers to uniquely determine the list to be generated.
[0051] Among them, the business identifier is used to distinguish different businesses, such as live broadcast business or game business, the data source identifier is used to represent different data source types, such as gift sending data source, sharing live broadcast room data source, etc. The combination of the business identifier and the data source identifier is used to obtain the basic list data required to generate the list from the subscribed data source, so as to generate the list corresponding to the list identifier. The list type identifier is used to identify the list requirements, such as the sponsor list, music list, etc. The period type identifier is used to identify the time to obtain the general list data, such as generating weekly list, monthly list, etc. In actual applications, the list configuration can be pre-set in the list generation device, and a list generation request for the content platform is generated. The list generation request carries the list identifier, so that the list identifier can be used to clearly identify the list to be generated.
[0052] As a possible implementation, the list generation request may include other parameters in addition to the list identifier, as shown in Table 1. Other parameters may be pre-set in the list generation device and may be adjusted at any time as needed.
[0053] Table 1
[0054]
[0055]
[0056] For example, different list types can be used to configure a global sponsor list, a global anchor list, an anchor list for rewards given to a sponsor, and a sponsor support list for a anchor. Each list period can be hours, days, weeks, months, or a fixed time period. Different combinations can generate different lists to adapt to product needs.
[0057] Among them, fixed time periods can be set, such as setting a fixed time period of a hour, b days, etc., a and b can be set as needed, and this application does not make specific restrictions. If it is set to 10 days, the specific start time and / or end time must also be set, such as from January 1 to January 10.
[0058] As a possible implementation, the period type identifier is converted so that the converted period type identifier carries the time when the basic list data is obtained, and the converted period type identifier is obtained, see Table 2. It should be noted that the list identifier includes the converted period type identifier.
[0059] Table 2
[0060]
[0061] For example, if the cycle type identifier is an hourly list represented by the number 1, the hourly list needs to be converted into time data known to the list generation device: 1-yyyymmddhh, where yyyy represents the year, mm represents the month, dd represents the date, and hh represents the hour. For example, 1-2021031512 means that a list at 12:00 on March 15, 2021 needs to be generated. After obtaining the converted cycle type, the converted cycle type identifier is carried in the list identifier so that the corresponding basic list data can be obtained according to the converted cycle type identifier, such as obtaining the basic list data from 12:00 on March 15, 2021 to 13:00 on March 15, 2021, so as to generate the hourly list at 12:00 on March 15, 2021. In this way, the cycle type identifier can be automatically converted into an identifier that can be recognized by the list generation device, reducing the workload of the person configuring the cycle type identifier.
[0062] Among them, the identification within the fixed time period of 11 days can be directly obtained according to the configuration value without conversion. For example, January 1, 2021 to January 11, 2021 is a fixed time period and no conversion is required.
[0063] As a possible implementation method, the list type can also be converted. As shown in Table 2, the sender-sending list type identifier is added with the sender ID to distinguish the sender. Similarly, the receiver-receiving list type identifier is added with the receiver ID to distinguish the receiver, reducing the workload of the person configuring the list type identifier.
[0064] S302: Obtain basic list data from the subscribed data source according to the list identifier.
[0065] Content platforms subscribe to multiple data sources, essentially accessing a variety of different data sources. For example, live streaming platforms might include data sources for sending specific gifts, data sources for user click data on the live streaming platform, data sources for user sharing live streaming rooms, and so on. Different data sources generate different types of rankings. Different rankings correspond to different ranking identifiers. The ranking identifier carried in the ranking generation request generates the corresponding ranking for the corresponding data source type. This allows different data sources to be accessed once, providing the necessary basic ranking data for ranking generation.
[0066] If the list identifier includes a business identifier, a data source identifier, a list type identifier, and a period type identifier, the basic list data required to generate the list can be obtained from multiple subscribed data sources through the combination of the business identifier and the data source identifier. For example, a content platform may subscribe to multiple data sources, such as gift-giving data for live streaming services, click data for live streaming services, and click data for gaming services. If the business identifier represents live streaming services, the data source identifier can represent click data. Thus, click data for live streaming services can be obtained from the subscribed data sources.
[0067] Among them, the click data can be the data of the live broadcast room collected by users in the live broadcast platform by clicking the collection control, the data of the live broadcast room shared by users in the live broadcast platform by clicking the sharing control, and the data of the live broadcast room expressed by users in the live broadcast platform by double-clicking the screen.
[0068] S303: Convert the basic list data into general list data according to the list requirements corresponding to the list generation request.
[0069] Among them, the list requirements can be determined based on the aforementioned list generation request, such as the list requirements for generating anchor popularity lists, user sponsor lists, etc.
[0070] General ranking data includes three types of dimensional data. The first type of dimensional data is used to identify the target audience for the ranking requirement. For example, if the ranking requirement is to generate a streamer popularity ranking, the target audience is the streamer, or if the ranking requirement is to generate a sponsor gift ranking, the target audience is the user who sends gifts. The second type of dimensional data is used to identify the characteristic parameters corresponding to the ranking, such as popularity and gifts. The third type of dimensional data is the characteristic value corresponding to the characteristic parameter, such as gift amount and gift quantity. These three types of dimensional data are determined based on the content platform.
[0071] For example, if the basic list data obtained is the gift amount data for each room under the live broadcast business, then the first dimension data is the room, the second dimension data is the gift, and the third dimension data is the amount corresponding to each gift, thereby obtaining the total amount corresponding to all gifts.
[0072] As a possible implementation, see Figure 4 , Figure 4 This is a flowchart of a general list data generation method provided in an embodiment of the present application. The general list data generation method includes the following steps:
[0073] S401: Subscribe to a data source.
[0074] The data source can come from multiple messaging systems, such as CKafka (Cloud Kafka), where CKafka is a distributed, high-throughput, and highly scalable messaging system.
[0075] S402: Obtain basic list data from a subscribed data source according to a combination of the business identifier and the data source identifier.
[0076] S403: Convert the basic list data into general list data.
[0077] S404: Concatenate the business identifier and the data source identifier to generate a key field, and write the key field into the general list data.
[0078] For example, the business ID and the data source ID are concatenated to generate a key field (key), and the generated general message is produced to the topic (topic) corresponding to the business in the message queue.
[0079] As a possible implementation method, when the content platform is a live broadcast platform, the three types of dimensional data are determined based on the live broadcast platform. The general list data dimensions can also include first object dimensional data and second object dimensional data. The first type of dimensional data is first object dimensional data or second object dimensional data. The first object dimensional data is the sending object, that is, the object to which the characteristic value is transferred, and the second object dimensional data is the receiving object, that is, the object that accumulates the characteristic value. If the characteristic value is the number of gifts, the sending object is the user who sent the gift, and the receiving object is the anchor or room. If the characteristic value is the number of people who have favorited the live broadcast room, the sending object is the user who has favorited the live broadcast room, and the receiving object is the room, and so on.
[0080] For example, if the basic list data obtained is the gift amount data for each room under the live broadcast business, the first object dimension data is the gift-giving users in the live broadcast platform, and the second object dimension data is the room. At this time, the first type of dimension data is the second object dimension data.
[0081] Universal list data dimensions can also include a time dimension, so universal list data can include five dimensions: time (T), sender (A), receiver (B), characteristic parameters (C), and characteristic values (D). Therefore, a universal data source model can be set up to convert basic list data into universal list data with five dimensions. This means: at timestamp T, sender A sent characteristic parameter C to receiver B, and characteristic value D was included in the data (see Table 3).
[0082] Table 3
[0083] Field alias Field meaning Scenario Description A Sending Object Such as gift-giving users on live streaming platforms B Receiving Object Such as anchors on live broadcast platforms C characteristic parameters Such as a gift on the live broadcast platform D Eigenvalue For example, the amount of a single gift on a live streaming platform T Behavior timestamp t Such as gift timestamp
[0084] A, B, C, D, and T represent different objects, which can correspond to different scenarios. See Table 4.
[0085] Table 4
[0086]
[0087] Therefore, the basic list data can be converted into universal list data through the universal data source model, thereby converting the data types of different data sources into a universal data type, that is, universal list data that represents the sorting object, sorting content and the score corresponding to the sorting content, so that different types of data sources can generate universal list data through a script, thereby eliminating the need for repeated development for different types of lists and reducing the development workload.
[0088] As a possible implementation, if the general list data includes multiple sub-general list data, and the multiple sub-general list data have corresponding lists, a list corresponding to the general list data is generated based on the multiple sub-general list data having corresponding lists.
[0089] For example, if you want to generate a weekly list (such as Monday to Sunday of a week), obtain the general list data from Monday to Sunday. The general list data is composed of multiple sub-general list data, such as Monday sub-general list data, Tuesday sub-general list data,..., Sunday sub-general list data, and each sub-general list data has generated a daily list. Therefore, there is no need to convert the general list data from Monday to Sunday into the corresponding general list data, but directly generate the weekly list based on the daily list corresponding to each sub-general list data.
[0090] As a result, the required list can be generated in less time, which reduces the amount of calculation and shortens the calculation time.
[0091] S304: Generate a list based on the general list data.
[0092] After obtaining the general ranking data, the rankings required by the content platform can be generated based on the general ranking data. The following example illustrates this method.
[0093] The corresponding list page for each list is pre-stored in the page database. The corresponding list page is retrieved from the page database based on the list identifier. The general list data can be stored in the corresponding database after it is generated. The general list data is merged with the list page to generate the corresponding list. Since both the general list data and the list page are obtained through the list identifier, there is no need for the front-end to adjust new request parameters and communication data to adapt to the new list data.
[0094] It can be seen from the above technical solution that the content platform subscribes to multiple data sources in order to generate different types of lists. According to the list identifier carried in the list generation request, the basic list data can be obtained from the subscribed data source, and the basic list data can be converted into general list data according to the list requirements. Among them, the general list data includes three types of dimensional data. These three types of dimensional data are all determined based on the content platform in order to generate lists suitable for different content platforms. Among them, the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the feature parameters corresponding to the sorting, and the third type of dimensional data is the feature value corresponding to the feature parameter. Therefore, by converting the data types of different data sources into a common data type, that is, common list data that represents the sorting object, sorting content and the score corresponding to the sorting content, different types of data sources can generate common list data through a script, and generate lists based on the common list data. There is no need to repeatedly develop for different types of lists, which reduces the development workload.
[0095] As a possible implementation, general ranking data can be stored in a database containing at least one ordered set. Each ordered set stores the general ranking data required for a specific ranking. The corresponding general ranking data can be retrieved from the database based on the ranking identifier. For example, Redis can be used to sort the general ranking data based on feature values. Redis is an open-source, in-memory database with high performance and high availability. Redis itself offers extremely fast read and write speeds, reaching approximately 80,000-110,000 reads / second.
[0096] The data type of the value field (value) of the ordered set (zset) used by the redis database for sorting is double precision type (Double), and the integer range that can be expressed is -2 52 to 2 52 To achieve the effect of sorting people with the same eigenvalue by the time of their behavior, that is, people with the same eigenvalue who were scored later are ranked later. In related art, the number of valid binary bits for integer sorting is 53. When splitting the sorting weight of an ordered set into binary bits, the eigenvalue generally occupies m bits and the time occupies n bits, where m + n = 53.
[0097] However, the readability of splitting by binary is poor, and conversion is required to clarify the meaning of each bit of the integer sort. In order to improve the readability of the split, the sorting weight of the ordered set can be split according to decimal. The parameters of the sorting weight include eigenvalue and time. Generally, the eigenvalue occupies m bits and the time occupies n bits, where m+n=16.
[0098] This application does not specifically limit the values of m and n. Please refer to Table 5. For example, when the time occupies 4 bits, the period in hours can be expressed. At this time, the eigenvalue occupies 12 bits, and the maximum eigenvalue that can be expressed is 900.7 billion. The same applies to other values and will not be repeated here.
[0099] Table 5
[0100]
[0101] As a possible implementation, see Figure 5 , Figure 5 A flowchart of a method for storing general list data provided in an embodiment of the present application.
[0102] S501: Subscribe to general list data.
[0103] S502: Obtain list identifiers corresponding to all lists generated based on the general list data according to the key field carried by the general list data.
[0104] S503: Obtaining an effective list identifier from the list identifiers corresponding to all lists, and writing the general list data into the ordered set corresponding to the effective list identifier.
[0105] Obtain all list identifiers based on the key field (key) carried by the general list data, and filter out the list identifiers corresponding to all lists that can generate the current general list data. For example, the general list data corresponding to the daily list can also be used for the weekly and monthly lists, that is, the effective list identifier. Traverse the list identifiers and write the general list data to the corresponding ordered set (zset) so that the required general list data can be obtained from the corresponding zset later.
[0106] Zset supports sorting by the characteristic value (also known as score) of a natural ID list. A zset key is generated based on the list identifier, and the corresponding general list data is updated to the list specified by the zset. The zset key in the list zset storage is replaced based on the specific list type and period type in the configuration corresponding to the list identifier. The business identifier and data source identifier remain unchanged. The list type and period type replacement rules are shown in Table 2 and are not detailed here.
[0107] As a possible implementation method, before displaying the generated list on the content platform, the user data of the target object in the general list data can be pulled. For example, if the target object logs in to the content platform through a social account, the user data corresponding to the target object can be pulled from the social platform through the remote address called by RPC and the service of the list data protocol. The pulled user data includes but is not limited to avatars, nicknames, hot zone expandable information, etc. The list is generated based on the general list data and user data, so that the generated list is more vivid. In order to better understand the list generation method provided by the above embodiment, the following is combined with Figure 6 and Figure 7 , taking the content platform as the live broadcast platform, the list generation method provided in the embodiment of this application is explained.
[0108] See also Figure 6 , Figure 6 This is an architecture diagram of a list generation system provided in an embodiment of the present application. The list generation system includes: a list page configuration module 601, a list general configuration module 602, a list data reading module 603, a business list basic information module 604, a general ranking consumer module 605, and a business ranking producer module 606.
[0109] See also Figure 7 , Figure 7 A schematic diagram of a list data reading module reading data provided in an embodiment of the present application.
[0110] S701: The front end 607 obtains the list page from the list page configuration module 601 according to the list identifier.
[0111] In actual applications, product personnel can configure multiple list pages through the list page configuration module 601, and then establish a corresponding mapping relationship between each list page and the list identifier, so as to obtain the corresponding list page according to the list identifier.
[0112] The list page configuration module 601 refers to the specified more general ranking list and personal information module style implemented by the front end 607, and can pull the list according to the corresponding general protocol for reading the list.
[0113] S702: The list data reading module 603 obtains the list generation request of the live broadcast platform.
[0114] The front end 607 sends a list generation request to the list data reading module 603 so that the list data reading module 603 can fetch the list data required to generate the list.
[0115] S703: The list data reading module 603 reads configuration information according to the list identifier.
[0116] Product personnel can pre-configure the configuration required for generating the list through the general list configuration module 602, as shown in Table 1. The pre-configured configuration required for generating the list is stored in database 1, so that the list data reading module 603 can obtain the configuration information from database 1. Database 1 can be one or more of a MySQL database (a relational database management system) and a Redis database.
[0117] The corresponding business ID, data source ID, cycle type ID, and list type ID can be obtained through the list ID.
[0118] S704: The list data reading module 603 generates a zset-key according to the business identifier and the data source identifier, and reads the list identifier, list data, and corresponding feature values from the database 2.
[0119] Among them, database 2 can be a Redis database, which is used to store general list data. The list data is the top N general list data, and N can be set through the list general configuration module 602.
[0120] S705: Request the business list basic data module 604 according to the list data address to obtain the target object's avatar and nickname, as well as extended hot spot information.
[0121] The list data address can be a remote address called by RPC.
[0122] The following describes the process of storing general list data in database 2.
[0123] The business ranking producer module 606 subscribes to various data sources, such as gifting data sources and click data sources, and obtains the basic ranking data required to generate the ranking from these data sources based on the configuration information obtained from database 1. The basic ranking data is converted into general ranking data using the general data source model and stored in database 3.
[0124] When general ranking data is stored in database 3, general ranking consumer module 605 reads the general ranking data from database 3 and, based on the configuration information obtained from database 1, stores the general ranking data in the corresponding ordered set in database 2. At the same time, a ranking log can also be generated and stored in database 4, which can be a MySQL database, to facilitate data verification in the event of any subsequent disputes.
[0125] Therefore, by abstracting a unified universal data source model, various types of basic list data are converted into universal list data, and based on the universal list data, a set of universal list configuration templates are abstracted. Various different business data source data are automatically driven to generate list data in real time according to the universal list configuration. Through the list page configuration module and the list general configuration module, product personnel can configure list identification and other information, pull the corresponding list data through the list data reading module, and then generate the list page based on the list data and list page and put it online. This solution can greatly improve the efficiency of list launch and save development costs. Moreover, the data source only needs to be connected once, and to make other different types of lists based on this data source, only the corresponding configuration needs to be performed, which can greatly improve the efficiency of list launch and save development costs.
[0126] In response to the list generation method provided in the above embodiment, the embodiment of the present application also provides a list generation device.
[0127] See also Figure 8 , which is a schematic diagram of a list generation device provided in an embodiment of the present application. Figure 8 As shown, the list generating device 800 includes: an acquiring unit 801, a converting unit 802 and a generating unit 803;
[0128] The acquisition unit 801 is configured to acquire a list generation request from a content platform, the list generation request carrying a list identifier; and acquire basic list data from a subscribed data source according to the list identifier.
[0129] The conversion unit 802 is configured to convert the basic list data into general list data according to the list requirement corresponding to the list generation request, wherein the general list data includes three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement; the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting; and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter. The three types of dimensional data are determined based on the content platform;
[0130] The generating unit 803 is configured to generate a list according to the general list data.
[0131] As a possible implementation, the list generating device 800 is further configured to:
[0132] If the general list data includes a plurality of sub-general list data, and the plurality of sub-general list data have corresponding lists, a list corresponding to the general list data is generated according to the lists corresponding to the plurality of sub-general list data.
[0133] As a possible implementation method, the list identifier includes a business identifier, a data source identifier, a list type identifier and a period type identifier. The combination of the business identifier and the data source identifier is used to obtain basic list data from the subscribed data source. The list type identifier is used to identify the list requirements, and the period type identifier is used to identify the time for obtaining the general list data.
[0134] As a possible implementation, the list generating device 800 is further configured to:
[0135] The cycle type identifier is converted to obtain a converted cycle type identifier, the converted cycle type identifier carries the time when the basic list data is obtained, and the list identifier includes the converted cycle type identifier.
[0136] As a possible implementation, the list generating device 800 is further configured to:
[0137] The general list data is stored in a database, where the database includes an ordered set, the sorting weights of the ordered set are split according to decimal system, and the parameters of the sorting weights include the feature value and time.
[0138] As a possible implementation manner, the generating unit 803 is configured to:
[0139] Pulling user data of the target object;
[0140] A list is generated according to the general list data and the user data.
[0141] As a possible implementation method, if the content platform is a live broadcast platform, the general list data may also include first object dimension data and second object dimension data, the first type of dimension data is the first object dimension data or the second object dimension data, the first object dimension data is the sending object, and the second object dimension data is the receiving object, and the three types of dimension data are determined based on the live broadcast platform.
[0142] The embodiment of the present application provides a list generation device. The content platform subscribes to multiple data sources in order to generate different types of lists. According to the list identifier carried in the list generation request, basic list data can be obtained from the subscribed data source, and the basic list data is converted into general list data according to the list requirements. The general list data includes three types of dimensional data. These three types of dimensional data are all determined based on the content platform in order to generate lists suitable for different content platforms. Among them, the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the feature parameters corresponding to the sorting, and the third type of dimensional data is the feature value corresponding to the feature parameter. Therefore, by converting the data types of different data sources into a universal data type, that is, universal list data that characterizes the sorting object, sorting content, and the score corresponding to the sorting content, different types of data sources can generate universal list data through a script, and generate a list based on the universal list data. There is no need to repeatedly develop for different types of lists, which reduces the development workload.
[0143] The aforementioned list generation device can be a computer device, which can be a server or a terminal device. The following will introduce the computer device provided by the embodiment of the present application from the perspective of hardware entity. Figure 9 The following is a schematic diagram of the server structure. Figure 10 Shown is a schematic diagram of the structure of the terminal equipment.
[0144] See also Figure 9 , Figure 9 This is a schematic diagram of a server structure provided by an embodiment of the present application. The server 1400 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 1422 (for example, one or more processors) and memory 1432, and one or more storage media 1430 (for example, one or more mass storage devices) for storing application programs 1442 or data 1444. Among them, the memory 1432 and the storage medium 1430 can be short-term storage or persistent storage. The program stored in the storage medium 1430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 1422 can be configured to communicate with the storage medium 1430 to execute a series of instruction operations in the storage medium 1430 on the server 1400.
[0145] The server 1400 may also include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input and output interfaces 1458, and / or one or more operating systems 1441, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0146] The steps performed by the server in the above embodiment can be based on the Figure 9 The server structure shown.
[0147] The CPU 1422 is configured to execute the following steps:
[0148] Obtaining a list generation request from a content platform, wherein the list generation request carries a list identifier;
[0149] Obtaining basic list data from a subscribed data source according to the list identifier;
[0150] According to the list requirement corresponding to the list generation request, the basic list data is converted into general list data, the general list data including three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting, and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter, and the three types of dimensional data are determined based on the content platform;
[0151] A list is generated according to the general list data.
[0152] Optionally, the CPU 1422 may also execute the method steps of any specific implementation of the list generation method in the embodiments of the present application.
[0153] See also Figure 10 , Figure 10 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application. Figure 10 The block diagram shows a partial structure of a smartphone related to the terminal device provided in an embodiment of the present application. The smartphone includes: a radio frequency (RF) circuit 1510, a memory 1520, an input unit 1530, a display unit 1540, a sensor 1550, an audio circuit 1560, a wireless fidelity (WiFi) module 1570, a processor 1580, and a power supply 1590. Those skilled in the art will understand that Figure 10 The structure of the smartphone shown in the figure does not constitute a limitation on the smartphone, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0154] The following will be described in detail Figure 10 The various components of the smart phone will be described in detail:
[0155] The RF circuit 1510 can be used for receiving and sending signals in the process of information or communication, in particular, receiving the downlink information of the base station and processing by the processor 1580; in addition, sending the uplink data to the base station. Generally, the RF circuit 1510 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 1510 can also communicate with the network and other devices through wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to global system for mobile communication (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short message service (SMS), etc.
[0156] The memory 1520 can be used to store software programs and modules, and the processor 1580 can realize various functions of the smart phone and data processing by running the software programs and modules stored in the memory 1520. The memory 1520 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application program required by a function (such as a sound playing function, an image playing function, etc.), etc.; the data storage area can store data created according to the use of the smart phone (such as audio data, a phone book, etc.), etc. In addition, the memory 1520 can include a high-speed random access memory, and can also include a non-volatile memory, for example, at least one magnetic disk storage device, a flash memory device, or other volatile solid-state memory device.
[0157] The input unit 1530 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the smartphone. Specifically, the input unit 1530 may include a touch panel 1531 and other input devices 1532. The touch panel 1531, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch panel 1531) and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 1531 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch direction and detects the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 1580. It can also receive commands sent by the processor 1580 and execute them. In addition, the touch panel 1531 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1531, the input unit 1530 may further include other input devices 1532. Specifically, the other input devices 1532 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, and a joystick.
[0158] The display unit 1540 can be used to display information input by the user or information provided to the user and various menus of the smartphone. The display unit 1540 may include a display panel 1541. Optionally, the display panel 1541 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 1531 may cover the display panel 1541. When the touch panel 1531 detects a touch operation on or near it, it is transmitted to the processor 1580 to determine the type of touch event. Subsequently, the processor 1580 provides corresponding visual output on the display panel 1541 according to the type of touch event. Although in Figure 10 In the embodiment, the touch panel 1531 and the display panel 1541 are used as two independent components to realize the input and output functions of the smartphone, but in some embodiments, the touch panel 1531 and the display panel 1541 can be integrated to realize the input and output functions of the smartphone.
[0159] The smart phone can also include at least one sensor 1550, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor can include an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 1541 according to the brightness of ambient light, and the proximity sensor can turn off the display panel 1541 and / or the backlight when the smart phone is moved to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), and when at rest, it can detect the magnitude and direction of gravity, which can be used for applications that identify the posture of the smart phone (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), and the like. As for other sensors that the smart phone can also be configured, such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, and the like, they will not be described here.
[0160] The audio circuit 1560, the speaker 1561, and the microphone 1562 can provide an audio interface between the user and the smart phone. The audio circuit 1560 can convert the received audio data into an electrical signal and transmit it to the speaker 1561, which converts the electrical signal into a sound signal and outputs it. On the other hand, the microphone 1562 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1560 and converted into audio data. The audio data is then output to the processor 1580 for processing, and then transmitted to another smart phone via the RF circuit 1510, or output to the memory 1520 for further processing.
[0161] WiFi belongs to a short-range wireless transmission technology. The smart phone can help the user to send and receive emails, browse web pages, and access streaming media through the WiFi module 1570, which provides the user with wireless broadband Internet access. Although Figure 10 The WiFi module 1570 is shown, but it is understood that it does not belong to the essential components of the smart phone, and can be omitted as needed without changing the essence of the application.
[0162] The processor 1580 is the control center of the smart phone, which connects all parts of the smart phone through various interfaces and lines, and performs various functions and processes data of the smart phone by running or executing software programs and / or modules stored in the memory 1520, and calling data stored in the memory 1520. Optionally, the processor 1580 can include one or more processing units; preferably, the processor 1580 can integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 1580.
[0163] The smartphone also includes a power supply 1590 (such as a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 1580 through a power management system, thereby managing functions such as charging, discharging, and power consumption through the power management system.
[0164] Although not shown, the smartphone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.
[0165] In the embodiment of the present application, the memory 1520 included in the smart phone can store program codes and transmit the program codes to the processor.
[0166] The processor 1580 included in the smart phone can execute the list generation method provided in the above embodiment according to the instructions in the program code.
[0167] An embodiment of the present application also provides a computer-readable storage medium for storing a computer program, which is used to execute the list generation method provided in the above embodiment.
[0168] The present application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the list generation method provided in various optional implementations of the above aspects.
[0169] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the above-mentioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the above-mentioned storage medium can be at least one of the following media: read-only memory (English: read-only memory, abbreviated: ROM), RAM, magnetic disk or optical disk, etc., various media that can store program codes.
[0170] It should be noted that each of the embodiments in the specification is described in a progressive manner, and the same and similar parts between each embodiment can be referred to each other, and each embodiment focuses on the difference from other embodiments. Especially, for the device and system embodiments, since they are basically similar to the method embodiments, they are described more simply, and the related parts can be referred to the part of the method embodiments. The above described device and system embodiments are only illustrative, and the units described as separate components can be or can not be physically separated, and the components shown as units can be or can not be physical units, that is, they can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiments according to the actual needs. Those skilled in the art can understand and implement it without creative labor.
[0171] The above is only a specific embodiment of the present application, but the protection scope of the present application is not limited to this. Any skilled person in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
[0172] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions.
Claims
1. A list generation method, characterized in that: The method comprises: Obtaining a list generation request from a content platform, wherein the list generation request carries a list identifier; Obtain basic list data from the subscribed data source according to the list identifier, where different list identifiers correspond to different lists, and different types of lists correspond to different types of data sources; According to the list requirement corresponding to the list generation request, the basic list data is converted into general list data through the same script. The general list data includes three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement, the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting, and the third type of dimensional data is the characteristic value corresponding to the characteristic parameter. The three types of dimensional data are determined based on the content platform; The general list data is merged with the list page to generate a corresponding list, and the list page is obtained through the list identifier.
2. The method according to claim 1, characterized in that The method further comprises: If the general list data includes a plurality of sub-general list data, and the plurality of sub-general list data have corresponding lists, a list corresponding to the general list data is generated according to the lists corresponding to the plurality of sub-general list data.
3. The method according to claim 1, characterized in that The list identifier includes a business identifier, a data source identifier, a list type identifier and a period type identifier. The combination of the business identifier and the data source identifier is used to obtain basic list data from the subscribed data source. The list type identifier is used to identify the list requirement, and the period type identifier is used to identify the time for obtaining the general list data.
4. The method according to claim 3, characterized in that The method further comprises: The cycle type identifier is converted to obtain a converted cycle type identifier, the converted cycle type identifier carries the time when the basic list data is obtained, and the list identifier includes the converted cycle type identifier.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The general list data is stored in a database, where the database includes an ordered set, the sorting weights of the ordered set are split according to decimal system, and the parameters of the sorting weights include the feature value and time.
6. The method according to any one of claims 1 to 4, characterized in that: The process of integrating the general list data with the list page to generate the corresponding list includes: Pulling user data of the target object; The general list data and the user data are integrated with the list page to generate a corresponding list.
7. The method according to any one of claims 1 to 4, characterized in that If the content platform is a live broadcast platform, the general list data includes first object dimension data and second object dimension data, the first type of dimension data is the first object dimension data or the second object dimension data, the first object dimension data is the sending object, and the second object dimension data is the receiving object. The three types of dimension data are determined based on the live broadcast platform.
8. A list generating device, characterized in that: The device comprises: an acquisition unit, a conversion unit and a generation unit; The acquisition unit is configured to acquire a list generation request from a content platform, the list generation request carrying a list identifier; and acquire basic list data from a subscribed data source according to the list identifier, wherein different list identifiers correspond to different lists, and different types of lists correspond to different types of data sources; The conversion unit is configured to convert the basic list data into general list data using the same script according to the list requirement corresponding to the list generation request, wherein the general list data includes three types of dimensional data: the first type of dimensional data is used to identify the target object corresponding to the list requirement; the second type of dimensional data is used to identify the characteristic parameters corresponding to the sorting; and the third type of dimensional data is the characteristic values corresponding to the characteristic parameters. The three types of dimensional data are determined based on the content platform; The generating unit is configured to merge the general list data with a list page to generate a corresponding list, and the list page is obtained through the list identifier.
9. The device according to claim 8, characterized in that The device is also used for: If the general list data includes a plurality of sub-general list data, and the plurality of sub-general list data have corresponding lists, a list corresponding to the general list data is generated according to the lists corresponding to the plurality of sub-general list data.
10. The device according to claim 8, characterized in that The list identifier includes a business identifier, a data source identifier, a list type identifier and a period type identifier. The combination of the business identifier and the data source identifier is used to obtain basic list data from the subscribed data source. The list type identifier is used to identify the list requirement, and the period type identifier is used to identify the time for obtaining the general list data.
11. The device according to claim 10, characterized in that The device is also used for: The cycle type identifier is converted to obtain a converted cycle type identifier, the converted cycle type identifier carries the time when the basic list data is obtained, and the list identifier includes the converted cycle type identifier.
12. The device according to any one of claims 8 to 10, characterized in that: The device is also used for: The general list data is stored in a database, where the database includes an ordered set, the sorting weights of the ordered set are split according to decimal system, and the parameters of the sorting weights include the feature value and time.
13. The device according to any one of claims 8 to 10, characterized in that: The generating unit is specifically configured to: Pulling user data of the target object; The general list data and the user data are integrated with a list page to generate a corresponding list, and the list page is obtained through the list identifier.
14. The device according to any one of claims 8 to 10, characterized in that: If the content platform is a live broadcast platform, the general list data includes first object dimension data and second object dimension data, the first type of dimension data is the first object dimension data or the second object dimension data, the first object dimension data is the sending object, and the second object dimension data is the receiving object. The three types of dimension data are determined based on the live broadcast platform.
15. A computer device, characterized in that: The device includes a processor and a memory: The memory is used to store program code and transmit the program code to the processor; The processor is configured to execute the method according to any one of claims 1 to 7 according to instructions in the program code.
16. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store a computer program, and the computer program is used to execute the method according to any one of claims 1 to 7.
17. A computer program product, characterized in that The method comprises computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Ranking list processing method, terminal equipment, server and storage medium
CN111589163A