Methods, apparatus, devices, media, and products for media object ordering

CN122986101APending Publication Date: 2026-10-27BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611231717.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-13
Publication Date
2026-10-27

AI Technical Summary

Benefits of technology

[0008]以此方式,能够从多个维度对媒体对象列表进行局部调整,在保留基础排序相关性的同时提升列表局部多样性,从而提高排序结果的质量。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122986101A_ABST
    Figure CN122986101A_ABST
Patent Text Reader

Abstract

Methods, apparatuses, devices, storage media, and program products for media object ranking are provided. The method includes obtaining a plurality of media objects and configuration information, the configuration information including an execution order of a plurality of ranking operations, the plurality of ranking operations respectively corresponding to different ranking strategies; performing the plurality of ranking operations on the plurality of media objects according to the execution order to obtain a ranking result of the plurality of media objects, wherein performing a first ranking operation of the plurality of ranking operations includes adjusting a first order of the plurality of media objects based on a first ranking strategy corresponding to the first ranking operation, the first order being an initial order of the plurality of media objects or the first order being an order adjusted by a second ranking operation, the execution order of the second ranking operation being adjacent to the first ranking operation; and presenting at least one media object of the plurality of media objects based on the ranking result of the plurality of media objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The examples in this article generally relate to the field of computer science, and in particular to methods, apparatuses, devices, media, and program products for sorting media objects. Background Technology

[0002] In scenarios such as media content display and recommendation, it is often necessary to retrieve multiple candidate media objects from local storage or the cloud and present them to the user in a certain order. As the number of media objects continues to increase and the types of media content become increasingly diverse, the industry has placed higher demands on the relevance, diversity, and flexible configuration capabilities of media content ranking results. Summary of the Invention

[0003] In a first aspect, this paper provides a method for sorting media objects. The method includes: acquiring multiple media objects and configuration information, the configuration information including the execution order of multiple sorting operations, each sorting operation corresponding to a different sorting strategy; performing the multiple sorting operations on the multiple media objects according to the execution order to obtain a sorting result for the multiple media objects, wherein performing a first sorting operation among the multiple sorting operations includes: adjusting a first order of the multiple media objects based on a first sorting strategy corresponding to the first sorting operation, the first order being either the initial order of the multiple media objects or the order adjusted by a second sorting operation, the execution order of the second sorting operation being adjacent to the first sorting operation; and presenting at least one media object among the multiple media objects based on the sorting result of the multiple media objects.

[0004] In a second aspect of this document, an apparatus for sorting media objects is provided. The apparatus includes: an acquisition module configured to acquire multiple media objects and configuration information, the configuration information including an execution order of multiple sorting operations, each sorting operation corresponding to a different sorting strategy; an execution module configured to perform the multiple sorting operations on the multiple media objects according to the execution order to obtain a sorting result for the multiple media objects, wherein performing a first sorting operation among the multiple sorting operations includes: adjusting a first order of the multiple media objects based on a first sorting strategy corresponding to the first sorting operation, the first order being an initial order of the multiple media objects, or the first order being an order adjusted by a second sorting operation, the execution order of the second sorting operation being adjacent to the first sorting operation; and a presentation module configured to present at least one media object among the multiple media objects based on the sorting result of the multiple media objects.

[0005] In a third aspect of this document, an electronic device is provided. The electronic device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions executable by the at least one processor, which, when the at least one processor executes the instructions, cause the electronic device to perform the method of the first aspect.

[0006] In a fourth aspect of this document, a computer-readable storage medium is provided. The computer-readable storage medium stores computer-executable instructions that can be executed by a processor to implement the method of the first aspect.

[0007] In a fifth aspect of this document, a computer program product is provided, which is tangibly stored in a computer storage medium and includes computer-executable instructions that, when executed by a device, cause the device to perform the method of the first aspect.

[0008] In this way, the list of media objects can be locally adjusted from multiple dimensions, improving the local diversity of the list while preserving the basic sorting relevance, thereby improving the quality of the sorting results.

[0009] It should be understood that the content described in this section is not intended to limit the key or important features of the examples in this article, nor is it intended to restrict the scope of the solution. Other features will become readily apparent from the following description. Attached Figure Description

[0010] The above and other features, advantages, and aspects of the various examples herein will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description. In the accompanying drawings, the same or similar reference numerals denote the same or similar elements, wherein: Figure 1A A schematic diagram of the example environment is shown; Figure 1B A schematic diagram of a sample interface showing the list of media objects before sorting is shown; Figure 2 The diagram illustrates system architectures for media object sorting in several scenarios. Figure 3 The flowcharts show example processes for sorting media objects in several scenarios; Figure 4 A schematic diagram of a sample interface showing a sorted list of media objects is shown; Figure 5 Flowcharts are shown for methods of sorting media objects in some scenarios; Figure 6 Block diagrams of apparatuses for sorting media objects in several scenarios are shown; and Figure 7 A block diagram of an electronic device capable of implementing multiple illustrative scenarios is shown. Detailed Implementation

[0011] The examples in this document will now be described in more detail with reference to the accompanying drawings. While some examples are shown in the drawings, it should be understood that solutions can be implemented in various forms and should not be construed as limited to the examples presented herein. Rather, these examples are provided to provide a more thorough and complete understanding of the solutions. It should be understood that the drawings and examples in this document are for illustrative purposes only and are not intended to limit the scope of protection of the solutions.

[0012] It should be noted that the headings of any section / subsection provided herein are not restrictive. Various examples are described throughout this document, and examples of any type may be included under any section / subsection. Furthermore, examples described in any section / subsection may be combined in any way with any other examples described in the same section / subsection and / or different sections / subsections.

[0013] In the description of the examples in this document, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "an example" or "the example" should be understood as "at least one example". The term "some examples" should be understood as "at least some examples". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0014] The examples in this document may involve user data, data acquisition, and / or use. All of these aspects comply with relevant laws, regulations, and rules. In the examples, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, when implementing each example, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained through appropriate means, in accordance with relevant laws and regulations. The specific methods of notification and / or authorization can vary depending on the actual situation and application scenario; the scope of the solution is not limited in this regard.

[0015] In this manual and the sample solutions, any processing of personal information will be conducted only on a legal basis (such as with the consent of the data subject or as necessary for the performance of a contract) and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information beyond what is necessary for basic functions will not affect the user's use of basic functions.

[0016] The term "Type I sorting operation" as used in this paper refers to a sorting operation based on the individual object information of multiple media objects. The term "Type II sorting operation" as used in this paper refers to a sorting operation based on the degree of association between some media objects among multiple media objects. Type II sorting operations may include partial sorting operations.

[0017] Figure 1A A schematic diagram of example environment 100 is shown. (e.g.) Figure 1A As shown, example environment 100 may include electronic device 110.

[0018] In this example environment 100, electronic device 110 may run an application 120 that supports media object sorting. Application 120 may be any suitable type of application for media object sorting, including but not limited to photo album applications, media management applications, content recommendation applications, content creation and sharing applications, or other suitable applications. User 140 may interact with application 120 via electronic device 110 and / or its attached devices.

[0019] exist Figure 1A In environment 100, if application 120 is active, electronic device 110 can use application 120 to present interface 150 for supporting media object sorting.

[0020] In some cases, electronic device 110 communicates with server 130 to provide services to application 120.

[0021] Electronic device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable gaming terminals, virtual reality (VR) / augmented reality (AR) devices, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some cases, electronic device 110 may also support any type of user-facing interface (such as "wearable" circuitry).

[0022] Server 130 can be a single physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and artificial intelligence platforms. Server 130 may include, for example, computing systems / servers such as mainframes, edge computing nodes, computing devices in a cloud environment, etc. Server 130 can provide backend services for application 120 in electronic device 110 that supports media object sorting.

[0023] A communication connection can be established between server 130 and electronic device 110. This communication connection can be established via wired or wireless means. The communication connection can include, but is not limited to, Bluetooth, mobile network, Universal Serial Bus (USB), and Wireless Fidelity (WiFi) connections. In some cases, server 130 and electronic device 110 can exchange signaling information through their communication connection.

[0024] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of the scheme.

[0025] The examples described herein can be implemented on electronic device 110. It should be noted that the operations described relative to electronic device 110 can be performed by a related application 120 running on electronic device 110. The interface described relative to electronic device 110 can be provided by application 120; for example, electronic device 110 presents the corresponding interface by running application 120. Furthermore, some operations described relative to electronic device 110 may require the assistance of server 130 to complete.

[0026] The following description of the example will continue with reference to the accompanying drawings.

[0027] As mentioned above, with users shooting, editing, and sharing media content more frequently, terminal devices or media service platforms typically store a large number of media objects. For example, a media object can be a single image, video, or other media item, or it can be a collection containing multiple images or videos. To improve the efficiency of users browsing and selecting media objects, the system usually needs to sort multiple candidate media objects and present at least some of them to the user based on the sorting results.

[0028] Traditional media object sorting methods include time-based sorting, model-based or business-based sorting, user behavior feedback-based sorting, and recommendation system re-sorting. For example, time-based sorting can prioritize displaying recently generated or recently filmed media objects; model-based or business-based sorting can rank media objects according to their importance or relevance; user behavior feedback-based sorting can adjust the sorting position of media objects based on users' historical behavior; and recommendation system re-sorting can combine strategies such as diversity to further adjust the initial sorting results.

[0029] However, as the number of media objects increases and business scenarios become more diverse, the sorting requirements and their execution order may differ across different scenarios. For multiple sorting requirements, traditional solutions typically employ a pre-defined sorting process or attempt to consider multiple requirements in a single sorting operation. The former struggles to flexibly adjust the sorting strategy and its execution order according to different business scenarios, usually requiring modification of the sorting process when sorting requirements change. The latter, needing to simultaneously consider multiple sorting requirements from different dimensions, not only has a more complex sorting process but also makes it prone to inter-relationship interference between different sorting requirements, hindering flexible expansion and adjustment of the sorting strategy.

[0030] As an example, Figure 1B A schematic diagram of the existing media object list interface 100A is shown. (As shown...) Figure 1B As shown, the electronic device 110 displays multiple media objects in interface 100A. In this example, each media object corresponds to similar time information (e.g., all corresponding to "one week ago"), and the preview content of multiple media objects also corresponds to similar content types or themes. For example, the covers of multiple media objects are mostly portrait types. Because multiple media objects with similar attributes are clustered in a local area of ​​the list, users are likely to see media objects with similar times, content types, or themes consecutively when browsing the list, thereby reducing the richness of the media object list and affecting the efficiency of users browsing and finding target media objects.

[0031] Therefore, the existing sorting process still has room for improvement in balancing sorting relevance, local content diversity, and configuration flexibility.

[0032] In view of this, a media object sorting scheme is proposed. According to this scheme, multiple media objects and configuration information are obtained. The configuration information includes the execution order of multiple sorting operations, each corresponding to a different sorting strategy. Following this execution order, multiple sorting operations are performed on the multiple media objects to obtain a sorted result. During the execution of the first sorting operation, a first order of the multiple media objects is adjusted based on the first sorting strategy corresponding to the first sorting operation. This first order can be the initial order of the multiple media objects or the order adjusted by adjacent second sorting operations (e.g., the order adjusted by a preceding second sorting operation). Based on the sorted result obtained after the multiple sorting operations, at least one media object is presented.

[0033] The above scheme allows for the flexible arrangement of multiple sorting operations corresponding to different sorting strategies based on configuration information, and enables each sorting operation to be executed sequentially on multiple media objects according to the configured execution order. Since subsequent sorting operations can be adjusted based on the initial order or the order formed by earlier sorting operations, different sorting strategies can participate in the sorting of media objects in stages, without needing to handle multiple sorting requirements simultaneously through a single sorting rule.

[0034] Therefore, on the one hand, it can reduce the computational complexity caused by processing multiple sorting conditions simultaneously, and improve the processing efficiency of media object sorting. On the other hand, it can comprehensively utilize different sorting strategies to gradually optimize the order of media objects, so that the resulting sorting results can better take into account different sorting dimensions, reduce the local concentration of top-ranked media objects in terms of content, time, or other attributes, and enhance the diversity and display effect of the presented media objects.

[0035] The following describes various examples of this scheme in further detail with reference to the accompanying drawings.

[0036] Figure 2 A schematic diagram of a system architecture 200 for media object sorting is shown for some scenarios. Figure 3 A flowchart of an example process 300 for sorting media objects is shown for some scenarios. Process 300 can be implemented at electronic device 110, which implements process 300 by running application 120. See below for reference. Figure 2 and Figure 3 This describes an example process for sorting media objects. For ease of description, application 120 is omitted in the following description, but it should be clear that electronic device 110 implements the methods and processes described below by running application 120.

[0037] In some scenarios, electronic device 110 can acquire multiple media objects and configuration information. The multiple media objects can be candidate media objects to be sorted. The configuration information is used at least to configure the execution order of multiple sorting operations, each corresponding to a different sorting strategy. For example, different sorting strategies can be used to adjust the order of multiple media objects based on their priority, time information, the number of included media items, or other object information.

[0038] In some situations, electronic device 110 can determine multiple sorting operations to be executed from a pool of candidate sorting operations based on configuration information, and determine the order of these sorting operations. Therefore, electronic device 110 can select appropriate sorting operations according to different business scenarios or sorting requirements, and configure the execution order of the multiple sorting operations.

[0039] In some scenarios, electronic device 110 can perform multiple sorting operations on multiple media objects according to the execution order indicated by the configuration information to obtain a sorted result for the multiple media objects. Different sorting strategies can be executed by their respective sorting operations. Each sorting operation can focus on the sorting requirements of its corresponding sorting strategy and adjust the current order of the media objects without having to consider multiple sorting requirements from different dimensions simultaneously in a single sorting process. By executing multiple sorting operations sequentially, different sorting strategies can be gradually applied to multiple media objects, thereby forming a sorted result that meets the sorting requirements.

[0040] In some cases, when performing the first sorting operation among multiple sorting operations, the electronic device 110 can adjust the first order of multiple media objects based on the first sorting strategy corresponding to the first sorting operation. The first order can be the initial order of the multiple media objects when the electronic device 110 acquires them, or it can be the order formed after adjustment by the second sorting operation, with the execution order of the second sorting operation adjacent to the first sorting operation. In some cases, the second sorting operation is executed before the first sorting operation. That is, based on the sorting result obtained by the second sorting operation (i.e., the second order), subsequent sorting operations continue to be executed to sort the multiple media objects from another dimension until all sorting operations are completed.

[0041] For example, if the first sorting operation is the first of multiple sorting operations, the first order can be the initial order of the multiple media objects. If a second sorting operation adjacent to the first sorting operation has already been executed, the first order can be the order of the media objects output by the second sorting operation. The first sorting operation can adjust the arrangement of at least some of the media objects based on the first order and according to a first sorting strategy, and provide the adjusted order to the next sorting operation, or output the adjusted order as the sorting result.

[0042] The term "sorting operation" as used in this article refers to a sorting process performed on the arrangement of multiple media objects. Each sorting operation can correspond to a sorting strategy and adjust the arrangement of at least some media objects according to the object attributes, relationships between objects, or sorting requirements of that sorting strategy. A sorting operation can perform a global sort on multiple media objects or adjust the order of only some media objects among multiple media objects. Multiple sorting operations can be executed sequentially according to a configured execution order, so that each subsequent sorting operation can further adjust the arrangement of media objects based on the output order of the previous sorting operation. Thus, different sorting strategies can be applied to multiple media objects respectively, and the final sorting result is gradually formed through the sequential execution of multiple sorting operations.

[0043] like Figure 2 As shown, system architecture 200 may include a candidate media object pool 205. The candidate media object pool 205 is used to provide multiple media objects to be sorted. For example, the candidate media object pool 205 may include media objects obtained from the local storage space of electronic device 110, or it may include media objects provided by a server or other cloud storage space. The candidate media object pool 205 may also store or associate object information corresponding to each of the multiple media objects for use in subsequent sorting processing.

[0044] In box 305, electronic device 110 acquires multiple media objects. For example, electronic device 110 can acquire multiple media objects to be sorted from candidate media object pool 205. When acquiring multiple media objects, electronic device 110 can also acquire or retain object information corresponding to each media object. For example, when the media object is a media collection, the object information may include the set of media items included in the media collection, preview content, creation time, and interactive information related to the media collection.

[0045] In some contexts, the term "media object" as used herein refers to a unit of media content that can be used as a sorting and display unit. For example, a media object within a larger set of media objects can be a media collection, which includes multiple media items. A media collection can refer to a set of media content organized based on time, place, people, events, content themes, or other related conditions. For example, a media collection can be an image collection consisting of multiple images, a video collection consisting of multiple video clips, or a hybrid media collection that includes at least two types of media items: images, videos, and audio clips. A media collection can correspond to a single unit of content that can be displayed, viewed, edited, or published. A media item refers to a single image, a single video, a single audio clip, or a single GIF, etc.

[0046] For example, a media object within a larger set of media objects can be a single media item. A media item can be an image, video, audio clip, GIF, textual media content, or other types of digital media content. Therefore, the sorting scheme described in this paper can be applied to lists consisting of multiple media sets, as well as lists consisting of multiple single media items, which can be lists consisting of at least one media set and at least one media item.

[0047] In some cases, the first sorting operation can be performed based on attribute information corresponding to multiple media objects. The attribute information may include at least one of the following: the identifiers of the multiple media objects, the preview content corresponding to the multiple media objects, the creation time corresponding to the multiple media objects, the content type corresponding to the multiple media objects, or interaction information related to the multiple media objects.

[0048] Identifiers for multiple media objects can be used to distinguish different media objects. For example, when a media object is a media collection, the identifier can include a collection identifier; when a media object is a single media item, the identifier can include a media item identifier. Each media item included in a media object can also correspond to a media item identifier, thereby allowing determination based on the media item identifier whether different media objects contain the same media items.

[0049] Preview content can refer to the content used to represent media objects in a list of media objects. For example, preview content can include a media collection's cover image, cover video, dynamic preview content, representative media items, or a combined preview content generated from multiple media items. When the media object is a single media item, the preview content can be the media item itself, or a thumbnail, keyframe, or summary content generated based on the media item.

[0050] Creation time can refer to the time when a media object is created, generated, updated, or saved. In some cases, creation time can also be determined based on the shooting time, generation time, or update time of the media items included in the media object. For example, the time information of a media collection can be determined based on the shooting time of the latest media item included in the media collection.

[0051] Content type can be used to represent the content category or theme corresponding to a media object. For example, content type can include people, scenery, pets, food, travel, performance, architecture, or other semantic categories. Content type can be determined based on preview content (e.g., the cover of a media collection) or based on one or more media items included in the media object.

[0052] Interaction information can represent the historical interactions performed by a user or system on a media object. For example, interaction information may include the number of times the media object has been displayed, viewed, clicked, entered for editing, completed for editing, published, favorited, shared, ignored, or negative feedback information. Electronic device 110 can determine the display value, interaction activity level, or repeated display level of the media object based on the aforementioned interaction information.

[0053] like Figure 2 As shown, the system architecture 200 may also include a cover label acquisition module 212 and a context determination module 214.

[0054] The cover tag acquisition module 212 is used to acquire content tags corresponding to multiple media objects before sorting begins. For example, the cover tag acquisition module 212 can collect the identifiers of the preview content corresponding to each of multiple media objects in batches, and query the semantic tags corresponding to the preview content based on the collected identifiers. When the media object is a media collection, the cover tag acquisition module 212 can prioritize acquiring the explicit cover material identifier of the media collection; if the explicit cover material identifier is unavailable, it can acquire the identifier of the first media item in the preview material list of the media collection, or the identifier of a media item in the media item set. Semantic tags can be used to indicate the people, scenery, pets, food, or other content types corresponding to the preview content.

[0055] In some cases, the cover tag acquisition module 212 can obtain semantic tags corresponding to the preview content by calling a local content recognition model, a remote content recognition service, or a pre-established tag database. To reduce the communication or processing overhead of querying each content individually, the cover tag acquisition module 212 can send the identifiers of multiple preview contents in batches and receive the corresponding semantic tags in batches.

[0056] The context determination module 214 is used to determine the context information used in the sorting process. The context information may include at least one of the following: the query relationship between media item identifiers and media item information, media objects already presented in the target area, configuration information, current time information, content tag cache, attribute information of media objects, or running status information in the sorting process.

[0057] In box 310, electronic device 110 determines context information. For example, electronic device 110 can batch query corresponding semantic tags based on the preview content identifiers corresponding to multiple media objects, and write the queried semantic tags into the content tag cache. Electronic device 110 can also obtain at least one of the following: configuration information, current time information, already displayed media objects, and media item query relationships, to construct a sorting context for performing multiple sorting operations.

[0058] In some cases, if the semantic tags of at least some media objects are unavailable, the electronic device 110 can record abnormal states such as missing tags, query timeout, or query failure in the context information. Subsequent content type-based sorting operations can skip the corresponding conflict judgment based on this abnormal state and provide the input order of the sorting operation as the output order for subsequent sorting operations.

[0059] In some scenarios, multiple sorting operations correspond to multiple nodes in a workflow, and the order of these nodes matches the execution order of the sorting operations. A workflow can be used to organize the execution flow of multiple sorting operations and sequentially call multiple nodes in a predetermined order to perform corresponding sorting processing on multiple media objects. Each node can correspond to a sorting operation or a sorting strategy.

[0060] like Figure 2 As shown, the system architecture 200 may also include a configuration module 220. The configuration module 220 is used to acquire, manage, and parse configuration information, and determine the sorting workflow 230 based on the configuration information. The configuration module 220 can acquire configuration information from local configuration files, remote configuration centers, experimental configurations, or other configuration sources, and determine the multiple sorting operations to be performed and the execution order of these operations based on the configuration information.

[0061] In box 320, electronic device 110 generates a workflow. For example, electronic device 110 can read multiple sorting operations included in the configuration information and generate a sorting workflow 230 according to the execution order indicated by the configuration information. The multiple sorting operations can each correspond to multiple sorting nodes in the sorting workflow 230, and each sorting node can be configured with an enabled state, execution order, and corresponding sorting parameters. Therefore, different sorting workflows can be built according to different business scenarios without modifying the sorting program itself.

[0062] In some cases, configuration information can indicate the operation identifier corresponding to each of multiple sorting operations. Operation identifiers can be used to identify different sorting operations, such as priority sorting, time bucket mixing, single material breaking, cover category breaking, or material overlap breaking.

[0063] In some cases, configuration information can also indicate the enabling status of multiple sorting operations, or the values ​​of sorting parameters. The enabling status indicates whether a corresponding sorting operation participates in the current sorting process. Sorting parameters may include window length, step size, search range, sorting threshold, maximum number of adjustments, time range, content overlap threshold, number of tags, timeout, or other parameters used to execute the sorting strategy.

[0064] In box 325, electronic device 110 can determine whether the configuration information has been successfully acquired. If the configuration information is empty, abnormal, or does not meet the preset requirements, electronic device 110 can determine the default workflow and execute multiple sorting operations based on the default sorting operation chain corresponding to the default workflow. Therefore, even if the configuration information is unavailable, the media object sorting process can be guaranteed to execute normally, improving the stability and reliability of the sorting system.

[0065] In some examples, multiple sorting operations may include a first type of sorting operation and a second type of sorting operation. The sorting strategy corresponding to the first type of sorting operation can be based on the object information of each of the multiple media objects. The first type of sorting operation may include a priority sorting operation, which can sort the multiple media objects according to the object information to obtain the priority order of the multiple media objects. This priority order can provide the input order for subsequent sorting operations.

[0066] In some cases, the sorting workflow 230 may include a priority sorting node corresponding to the first type of sorting operation. In block 330, the electronic device 110 performs the priority sorting operation. For example, the electronic device 110 may determine the comprehensive score corresponding to each of the multiple media objects based on the attribute information corresponding to each of the multiple media objects, and sort the multiple media objects in an initial order based on the comprehensive score to form a priority order of the multiple media objects.

[0067] In some cases, the electronic device 110 can determine a first score based on the time information corresponding to the media object. The time information may include the creation time and update time of the media object, or the shooting time and generation time of the media items included in the media object. Generally, the closer the time is to the current time, the higher the corresponding first score can be; when the time exceeds a preset time range, the first score can gradually decrease according to a predetermined rule.

[0068] In other implementations, the electronic device 110 can determine a second score based on historical interaction information associated with the media object. Historical interaction information may include the number of times the media object has been viewed, displayed, viewed but not processed, edited, shared, or other historical interaction information. The second score can be used to reflect the media object's display performance throughout the historical display process. For example, if a media object has a high number of displays but low number of subsequent processing sessions, its second score can be appropriately lowered to reduce its ranking priority in the current sorting results.

[0069] In addition, the electronic device 110 can also determine a third score. The third score can be used to reflect the business strategy, activity strategy, or other ranking requirements corresponding to the media object, allowing some media objects to receive corresponding priority adjustments during the ranking process. For example, during an activity, the third score corresponding to activity-related media objects can be appropriately increased to improve their ranking priority.

[0070] In some cases, electronic device 110 can determine a comprehensive score based on a first score, a second score, and a third score, respectively. For example, the first score, the second score, and the third score can be weighted separately using corresponding weights, and the comprehensive score can be determined based on the weighted result. Of course, the examples in this article are not limited to the weighted average method; linear combination, model prediction, or other scoring methods can also be used to determine the comprehensive score.

[0071] In some situations, priority sorting operations can be performed using a stable sorting method. When two or more media objects have the same overall score, the electronic device 110 can further determine the order of the media objects based on other attribute information. For example, the order of the media objects can be determined sequentially based on whether the media objects meet preset sorting conditions, time information, creation time, media object identifier, or other attribute information. Using a stable sorting method can ensure consistent sorting results under the same input conditions, improve the reproducibility of the sorting results, and facilitate debugging, analysis, and problem localization of the sorting process.

[0072] In some examples, the second type of sorting operation may include local sorting operations. Local sorting operations may include at least one of time-bucket mixing, single-material breaking, cover category breaking, and material overlap breaking. The sorting strategy corresponding to the second type of sorting operation can be based on the degree of association between some media objects among multiple media objects, and can adjust the position of at least some media objects in the current order accordingly. In this way, the clustering of media objects with similar attributes or high degree of association can be reduced, and the content richness of the media object list within a local scope can be improved.

[0073] In box 340, electronic device 110 performs a second type of sorting operation on multiple media objects of priority order, based on the degree of association between some media objects among the multiple media objects of priority order, according to the order of sorting nodes in sorting workflow 230. Here, the multiple media objects of priority order can be the multiple media objects output by the first type of sorting operation. The second type of sorting operation can also further adjust the positions of at least some media objects according to the corresponding sorting strategy based on the order adjusted by the previous second type of sorting operation, and provide the adjusted media object order to the next sorting node.

[0074] In some cases, to perform a first sorting operation, the electronic device 110 may select a first media object sequence from multiple media objects based on a first order of media objects. The first media object sequence may include a predetermined number of media objects arranged consecutively in the first order. The electronic device 110 may determine whether the first media object sequence matches a first sorting strategy corresponding to the first sorting operation. The first sorting strategy may be used to define local distribution conditions or association conditions that should be satisfied among the multiple media objects in the first media object sequence.

[0075] For example, the first sorting strategy may limit the time distribution corresponding to the first media object sequence to cover a predetermined range, limit the number of media objects in the first media object sequence whose number of media items is less than a threshold number to not exceed a corresponding threshold, or limit the number of media objects of the same content type in the first media object sequence or the degree of content overlap between multiple media objects to not exceed a corresponding threshold. In response to the first media object sequence not matching the first sorting strategy, the electronic device 110 may adjust the positions of at least some media objects in the first media object sequence in the first order to obtain a second order of multiple media objects. The second order may be an order formed by performing position swaps, moves, insertions, replacements, or partial rearrangements on some media objects in the first order.

[0076] In some cases, in response to a first media object sequence matching a first sorting strategy, the electronic device 110 can continue to select a second media object sequence from multiple media objects. Alternatively, the electronic device 110 can first adjust the first media object sequence, and after the adjusted first media object sequence matches the first sorting strategy, continue to select a second media object sequence. The second media object sequence is outside the first media object sequence in the first order. In response to a second media object sequence not satisfying the first sorting strategy, the electronic device 110 can adjust the positions of at least some media objects in the second media object sequence in the first order to obtain a second order of multiple media objects. Thus, the electronic device 110 can sequentially detect multiple local media object sequences along the media object list and perform position adjustments on local media object sequences that do not satisfy the first sorting strategy.

[0077] In some cases, the first sequence of media objects may correspond to a first sliding window. The first sorting strategy may include window length information and movement step information for the first sliding window. The window length information may indicate the number of media objects covered by the first sliding window in a single detection, and the movement step information may indicate the number of positions the first sliding window moves along the media object sequence after completing a single detection. For example, with a window length of 5 and a movement step of 1, the first sliding window may first cover the 1st to 5th media objects in the first sequence, and then move to cover the 2nd to 6th media objects.

[0078] The electronic device 110 can move a first sliding window along a first sequence based on window length information and movement step size information to sequentially obtain a first media object sequence, a second media object sequence, and a subsequent media object sequence. In some implementations, the window length information and movement step size information can be indicated by configuration information, allowing different sorting operations to use different window lengths and movement step sizes. For example, a local sorting operation performed based on content type can use a first window length, while a local sorting operation performed based on content overlap can use a second window length different from the first window length.

[0079] In some cases, before detecting the first media object sequence, the electronic device 110 can construct auxiliary information corresponding to multiple media objects according to a first sorting strategy. The auxiliary information may include at least one of the following: tag information indicating the number of media items included in a media object, content tags corresponding to the media object, a set of media item identifiers included in the media object, and a time interval or time category corresponding to the media object. The electronic device 110 can determine whether the first media object sequence matches the first sorting strategy based on the aforementioned auxiliary information. By pre-constructing auxiliary information, the processing overhead caused by repeatedly querying or calculating the same attribute information during the sliding window movement can be reduced.

[0080] In some cases, adjusting the position of at least some media objects in a first media object sequence within a first order may include selecting a first media object from the first media object sequence. The first media object may be a media object that causes the first media object sequence to not match a first sorting strategy. For example, the first media object may be a media object that causes the number of media objects of a specific content type in the window to exceed a threshold, a media object that causes the number of single media item objects in the window to exceed a threshold, or a media object that has a high degree of content overlap with other media objects in the window.

[0081] The electronic device 110 can also select a second media object from outside the first media object sequence. By replacing the first media object with the second media object, the degree of matching between the first media object sequence and the first sorting strategy can be increased. The electronic device 110 can determine whether the degree of matching between the first media object sequence and the first sorting strategy increases when the first media object is replaced with the second media object. Here, an increase in the degree of matching can mean that the first media object sequence after replacement completely matches the first sorting strategy, or it can mean that although the first media object sequence after replacement still does not completely match the first sorting strategy, the corresponding degree of conflict or conflict index is reduced compared to before the replacement.

[0082] If it is determined that replacing the first media object improves the matching degree between the sequence of first media objects and the first sorting strategy, the electronic device 110 may swap the positions of the first media object and the second media object in the first order. By swapping positions, the second media object enters the sequence of first media objects, and the first media object leaves the sequence of first media objects, thereby obtaining a second order of multiple media objects.

[0083] In some cases, when adjusting the positions of the first and second media objects, the electronic device 110 can also synchronously update the auxiliary information corresponding to the first and second media objects. For example, when swapping the positions of the two media objects, the positions of auxiliary information such as single media item tags, content tags, media item identifier sets, or time categories in the corresponding auxiliary data structures can be swapped simultaneously. This ensures that the auxiliary information used in subsequent sliding window detection remains consistent with the actual arrangement order of the media objects.

[0084] In some cases, the electronic device 110 can select a second media object from a preset search range located outside the first media object sequence. The preset search range may be indicated by a first sorting strategy or configuration information. For example, the preset search range may include a predetermined number of media objects following the first media object sequence, or it may extend from the end of the first media object sequence to the end of a list of multiple media objects.

[0085] The electronic device 110 can start from the beginning of a preset search range, sequentially determine whether each candidate media object can increase the matching degree between the first media object sequence and the first sorting strategy, and determine the first candidate media object that meets the condition as the second media object. Alternatively, the electronic device 110 can also select the candidate media object that reduces the conflict degree the most, maximizes the matching degree of the first sorting strategy, or minimizes the loss of media object priority from the preset search range as the second media object.

[0086] In some implementations, in response to the failure to find a second media object that meets the criteria within a preset search range, the electronic device 110 may maintain the current order of the first media object sequence and continue moving the first sliding window. Alternatively, if the preset search range has already extended to the end of the media object list and no candidate media object that meets the criteria was found during the initial search, the electronic device 110 may end the current local sorting operation to avoid subsequent windows performing duplicate and invalid searches.

[0087] In some cases, after swapping the positions of the first media object and the second media object in the first order, the electronic device 110 can again determine whether the adjusted sequence of the first media objects matches the first sorting strategy. In response to the adjusted sequence of the first media objects still not matching the first sorting strategy, the electronic device 110 can reselect the media objects to be swapped and the candidate media objects, and readjust the positions of at least some of the media objects in the first media object sequence in the first order. The number of readjustments may not exceed a threshold number.

[0088] In some implementations, different local sorting operations can reuse the same sliding window processing framework. This framework can include processes such as data preparation, window conflict detection, candidate availability assessment, and updated information after adjustment. Different local sorting operations can implement the sorting requirements and matching degree judgment rules corresponding to their respective sorting strategies, while reusing common logic such as window movement, candidate search, order adjustment, retry control, and exception handling.

[0089] By reusing the sliding window processing framework for multiple local sorting operations, the implementation cost of developing complete sorting processes for different sorting strategies can be reduced, and each local sorting operation can have consistent window advancement, candidate search, order adjustment, and exception handling methods. At the same time, each local sorting operation can still set parameters such as window length, movement step size, search range, sorting requirements, and number of adjustments according to the corresponding sorting strategy, thereby improving the scalability and configuration flexibility of the sorting workflow.

[0090] In some cases, the first sorting strategy may include the temporal correlation of the first media object sequence. The corresponding second type of sorting operation may include time bucket blending. Time bucket blending is used to reduce the clustering of media objects within similar time ranges. As used herein, the term "time bucket blending" refers to a local sorting operation that adjusts the positions of media objects corresponding to different time intervals within a local range based on the time information of the media objects, thereby expanding the temporal distribution range of the local media object sequence.

[0091] For example, electronic device 110 can divide multiple media objects into multiple time intervals based on the time information corresponding to each media object. The time information may include the creation time and update time of the media object, or the shooting time of the latest valid media item included in the media object. Multiple time intervals may include, for example, the most recent 30 days, 30 to 180 days, 180 to 365 days, and earlier time intervals.

[0092] For a first media object sequence, electronic device 110 can determine whether it includes a media object corresponding to a target time interval. In response to the first media object sequence not including a media object corresponding to a target time interval, electronic device 110 can select a first media object that does not correspond to a target time interval from the first media object sequence, and then search for a second media object corresponding to the target time interval after the first media object sequence.

[0093] In response to the discovery of a second media object, the electronic device 110 can swap the positions of the first and second media objects in the first order. This increases the range of the time distribution corresponding to the first media object sequence, thereby improving the matching degree between the first media object sequence and the first sorting strategy. For example, the electronic device 110 can remove a media object from the last position in the first media object sequence that is not in the target time interval and replace it with a media object from the searched target time interval. In this way, the range of the time distribution corresponding to the first media object sequence can be expanded, avoiding the concentrated display of media objects in similar time periods, and making the distribution of media objects in the time dimension more balanced.

[0094] In some cases, the first sorting strategy may include the degree of correlation of the first media object sequence in terms of the number of media items. The corresponding second type of sorting operation may include single-material breakup. Single-material breakup is used to reduce the clustering of media objects with fewer than a threshold number of media items. As used herein, the term "single-material breakup" refers to a local sorting operation that adjusts the position of media objects with fewer than a threshold number of media items within a local area based on the number of media items in the media object, thereby reducing the degree of clustering of such media objects.

[0095] For example, electronic device 110 can determine the number of media items included in each media object. In response to a media object having fewer than a threshold number of media items, the media object can be classified as a first type of media object. For example, when the threshold number is 2, a media object containing only one media item can be classified as a first type of media object.

[0096] For a first media object sequence, the electronic device 110 can determine the number of media objects of a first type. In response to the number of media objects of the first type exceeding a preset threshold, the electronic device 110 can select media objects of the first type from the first media object sequence as first media objects, and search for second media objects of a non-first type after the first media object sequence.

[0097] In response to the discovery of a second media object, the electronic device 110 can swap the positions of the first and second media objects in a first order. This reduces the number of first-type media objects in the first media object sequence, thereby improving the match between the first media object sequence and the first sorting strategy. For example, the electronic device 110 can remove the last first-type media object in the first media object sequence and replace it with a found non-first-type media object. In this way, the consecutive occurrence of media objects with fewer media items can be reduced, resulting in a more balanced distribution of the number of media items in the first media object sequence.

[0098] In some cases, the first sorting strategy may include the degree of correlation between the content types of the first sequence of media objects. A corresponding second type of sorting operation may include cover category unpacking. Cover category unpacking is used to reduce the clustering of media objects with the same or similar content types. As used herein, the term "cover category unpacking" can refer to a local sorting operation that adjusts the position of media objects of the same content type within a local area based on the content type corresponding to the preview content of the media object, thereby reducing the degree of clustering of similar content types.

[0099] For example, electronic device 110 can determine the corresponding content type based on the preview content of each media object. The preview content may correspond to the cover media item of the media object or other representative content used to display the media object. Electronic device 110 can also determine the corresponding semantic tags based on the preview content, and determine the content type of the media object based on the semantic tags, such as content types like people, scenery, food, pets, or architecture.

[0100] For a first media object sequence, electronic device 110 can identify a second type of media object corresponding to the same content type. In response to the number of second type media objects exceeding a preset threshold, electronic device 110 can select a second type of media object as a first media object from the first media object sequence, and search for a second media object whose content type is different from the corresponding content type in the first media object sequence after the first media object sequence.

[0101] In response to the discovery of a second media object, the electronic device 110 may swap the positions of the first media object and the second media object in a first order. This reduces the number of second-type media objects in the first media object sequence, or increases the richness of content types in the first media object sequence, thereby improving the matching degree between the first media object sequence and the first sorting strategy.

[0102] In some implementations, the electronic device 110 can also determine the first media object based on the frequency of occurrence of each content type in the first media object sequence, and prioritize the media object that minimizes the repetition of the adjusted content types as the first media object. This approach improves the distribution of media objects along the content type dimension, making the media object list display more diverse.

[0103] In some cases, the first sorting strategy may include the degree of correlation in content similarity among a first sequence of media objects. A corresponding second type of sorting operation may include content overlap reduction. Content overlap reduction is used to reduce the number of media objects that include the same or similar media content. As used herein, the term "content overlap reduction" can refer to a local sorting operation that adjusts the position of media objects with high content overlap within a local range based on the number of media items shared by at least two media objects or the number of media items included by each of at least two media objects, in order to reduce the degree of content overlap corresponding to a local sequence of media objects.

[0104] For example, electronic device 110 can determine the degree of content overlap between at least two media objects in a first media object sequence. The degree of content overlap can be determined based on at least one of the number of media items commonly included by the at least two media objects and the number of media items individually included by the at least two media objects.

[0105] For example, electronic device 110 can compare the number of media items shared by at least two media objects in the first media object sequence with the smaller of the number of media items included in each of the at least two media objects to determine the degree of content overlap. Using the smaller number of media items as a reference allows for more accurate identification of situations where media items corresponding to one media object are largely covered by another media object.

[0106] For a first media object sequence, the electronic device 110 can determine whether the content overlap between the media objects exceeds a preset threshold. In response to the content overlap exceeding the preset threshold, the electronic device 110 can select a first media object corresponding to a higher content overlap from the first media object sequence, and search for a second media object with a lower content overlap corresponding to the first media object sequence after the first media object sequence.

[0107] In response to the discovery of a second media object, the electronic device 110 can swap the positions of the first and second media objects in the first order. This reduces the degree of content overlap corresponding to the first media object sequence, thereby improving the matching degree between the first media object sequence and the first sorting strategy. For example, the electronic device 110 can replace the latter media object with overlapping content and replace it with a media object that has a lower degree of content overlap with the current first media object sequence. In this way, the degree of content overlap between media objects in the first media object sequence can be reduced, and the concentration of duplicate media content can be decreased.

[0108] like Figure 2 As shown, the system architecture 200 may also include a sorting result output module 240, a performance statistics module 250, an effect evaluation module 255, a debugging module 260, and a debugging interface 265. These modules can be used for exception handling, performance statistics, effect evaluation, debugging information recording, and sorting result output, respectively, during or after the execution of the sorting workflow 230.

[0109] In box 345, electronic device 110 can determine whether each sorting node in the sorting workflow 230 is executing normally. If a sorting node malfunctions, electronic device 110 can skip that sorting node and use the order of the media objects received by that sorting node as its output order for subsequent sorting nodes. Sorting node execution malfunctions can include, for example, execution timeouts, unavailable dependent data, abnormal configuration parameters, or calculation failures. Performance statistics module 250 can record the malfunction information and number of malfunctions corresponding to that sorting node. In this way, the interruption of the overall sorting process by the malfunction of a single sorting node can be avoided.

[0110] During the execution of the sorting workflow 230, the performance statistics module 250 can record performance information corresponding to each sorting operation. Performance information may include at least one of the following: number of input media objects, number of output media objects, number of conflict hits, number of order adjustments, number of exceptions, and execution time. The performance statistics module 250 can also record the total execution time of multiple sorting operations to determine the impact of different sorting operations on the overall sorting performance.

[0111] In box 350, electronic device 110 can store debugging information. For example, debugging module 260 can store the input information used in the most recent sorting and the intermediate sorting results generated by each sorting node, so that debugging interface 265 can reproduce the sorting process using the same input information. Debugging interface 265 can receive the selection of a target sorting node, debugging module 260 can control the sorting workflow 230 to execute to the target sorting node, and the debugging interface 265 can display the input order, output order, or other intermediate results of the target sorting node.

[0112] In some cases, the debugging interface 265 can also trigger read-only conflict detection for the target sorting node. The debugging module 260 can identify conflicting media objects or sequences of media objects based on the sorting requirements corresponding to the target sorting node, and mark the corresponding media objects through the debugging interface 265. During the read-only conflict detection process, the electronic device 110 does not perform any swapping or moving between media objects, nor does it change the current order of the media objects. Therefore, the conflict judgment logic of the target sorting node can be analyzed without affecting the sorting result.

[0113] In box 350, the debugging module 260 can also store the running status information corresponding to each media object according to the media object's identifier. For example, the media object's identifier can be used as the key in the running status mapping, and at least one of the following can be used as the corresponding running status information: overall score, time score, historical interaction score, operation score, time distribution range, final ranking position, whether the demotion condition is met, the sorting operation corresponding to the current conflict, and whether the conflict is hit. Thus, the processing status of a single media object in multiple sorting nodes can be viewed in the debugging interface 265.

[0114] The performance evaluation module 255 can evaluate the sorting effect based on the sorting results, statistical information recorded by the performance statistics module 250, and runtime status information recorded by the debugging module 260. For example, after multiple sorting operations are completed, the performance evaluation module 255 can perform read-only conflict detection on the final sorting results based on the sorting requirements corresponding to each sorting strategy to determine the number of media object sequences that do not match the time sorting requirements, the number of media object sequences of the first type of media objects exceeding the threshold, the number of media object sequences of the second type of media objects exceeding the threshold, the number of media object pairs with content overlap exceeding the threshold, or other performance indicators. The above evaluation process does not require adjusting the media object order, and the generated evaluation information can be used to compare the sorting effects corresponding to different sorting workflows, node orders, or sorting parameters.

[0115] In box 360, electronic device 110 can output sorting results. Specifically, sorting result output module 240 can obtain the order of media objects output by the last sorting node in sorting workflow 230, and output the final sorted list of media objects to the front-end display module or downstream business module, so that the front-end display module can present multiple media objects according to the sorting results.

[0116] Figure 4 Example interface 400 shows a sorted list of media objects. (e.g.) Figure 4As shown, after the above sorting operations, the multiple media objects presented in interface 400 have a relatively dispersed distribution in multiple dimensions. For example, the time information corresponding to multiple media objects can cover different time ranges such as "one week ago", "two weeks ago", and "last month"; media objects corresponding to different content types can be arranged alternately; and the number of media items included in adjacent media objects can also be reduced.

[0117] In some cases, the above system architecture 200 and Figure 3 The sorting process shown can be applied not only to sorting media collections, but also to sorting individual media items.

[0118] In some cases, the sorting workflow 230 may also include other types of sorting nodes. For example, the sorting workflow 230 may include a sorting node based on preview effects. When media objects support both static and dynamic preview effects, this sorting node can determine whether the number of media objects with dynamic preview effects in the first media object sequence exceeds a threshold. In response to this number exceeding the threshold, at least one of the media objects can be replaced, and a media object with a static preview effect can be selected from the subsequent media object sequence to replace it, thereby reducing the interference caused by the concentrated presentation of dynamic preview content during the browsing process.

[0119] In some cases, at least some sorting nodes in sorting workflow 230 can also be executed in parallel. For example, electronic device 110 can execute two sorting nodes corresponding to different sorting strategies in parallel to obtain two intermediate sorting results, which are then integrated by a merging node in the workflow. The merging node can determine the order of the integrated media objects based on the matching of media object positions, ratings, or sorting requirements in the two intermediate sorting results, and provide this order to subsequent sorting nodes. This can reduce the cumulative execution time of at least some sorting operations.

[0120] Figure 5 A flowchart of an example process 500 for sorting media objects based on certain conditions is shown. Process 500 can be implemented at electronic device 110. See below for reference. Figure 5 To describe process 500.

[0121] like Figure 5As shown in block 510, electronic device 110 acquires multiple media objects and configuration information. The configuration information includes the execution order of multiple sorting operations, each corresponding to a different sorting strategy. In block 520, electronic device 110 performs multiple sorting operations on the multiple media objects according to the execution order to obtain a sorting result for the multiple media objects. The first sorting operation among the multiple sorting operations includes: adjusting the first order of the multiple media objects based on the first sorting strategy corresponding to the first sorting operation. The first order is either the initial order of the multiple media objects or the order adjusted by a second sorting operation. The execution order of the second sorting operation is adjacent to that of the first sorting operation.

[0122] In box 530, electronic device 110 presents at least one of the multiple media objects based on the sorting result of the multiple media objects.

[0123] In this way, multiple sorting operations can progressively adjust the media object list according to the order determined by the configuration information, thus taking into account multiple sorting dimensions. Each sorting operation reuses the output order of adjacent operations, thereby reducing joint computation conditions and lowering sorting processing overhead.

[0124] In some scenarios, multiple sorting operations include a first type of sorting operation and a second type of sorting operation. The sorting strategy for the first type of sorting operation includes sorting based on the object information of each media object, while the sorting strategy for the second type of sorting operation includes sorting based on the degree of association between some media objects. Here, some media objects belong to multiple media objects. In this way, the object's own information and the degree of association between objects can be handled separately by different types of sorting operations, thereby maintaining priority and improving local distribution. Staged processing reduces computational coupling between rules of different dimensions.

[0125] In some cases, electronic device 110 can select a first media object sequence from multiple media objects based on a first order, the first media object sequence including a predetermined number of media objects. And in response to a mismatch between the first media object sequence and a first sorting strategy, the positions of at least some of the media objects in the first media object sequence within the first order are adjusted to obtain a second order of the multiple media objects. In this way, electronic device 110 can adjust only the local sequence that does not match the first sorting strategy, thereby reducing perturbation to other positions in the list. Local adjustments narrow the data range for each detection and rearrangement.

[0126] In some cases, electronic device 110 may select a second sequence of media objects from a plurality of media objects in response to a first media object sequence or an adjusted first media object sequence matching a first sorting strategy. The second media object sequence is outside the first media object sequence in the first order. Furthermore, in response to a second media object sequence not satisfying the first sorting strategy, the positions of at least some media objects in the second media object sequence in the first order are adjusted to obtain a second order of media objects. In this way, electronic device 110 can continuously process different local sequences in the first order, thereby expanding the coverage of the first sorting strategy. Windowed progression allows for the reuse of the same data structure in each processing iteration and reduces the overhead of repeated initialization.

[0127] In some scenarios, the electronic device 110 can map a first sequence of media objects to a first sliding window. The first sorting strategy includes window length information and movement step size information for the first sliding window. Selecting the first sequence of media objects from multiple media objects involves moving the first sliding window in a first order based on the window length information and movement step size information to obtain the first sequence of media objects. In this way, the window length information and movement step size information can adjust the local detection range and granularity. A configurable sliding window can reduce the number of irrelevant media objects involved in a single collision calculation.

[0128] In some cases, electronic device 110 can select a first media object from a first media object sequence that causes the first media object sequence to mismatch with a first sorting strategy. From outside the first media object sequence, a second media object is selected, wherein replacing the first media object with the second media object increases the degree of matching between the first media object sequence and the first sorting strategy. The positions of the first and second media objects are then swapped. In this way, conflicting media objects in the local sequence can be swapped with candidate media objects outside the sequence, thereby improving the degree of matching between the local sequence and the first sorting strategy. This targeted swap reduces the data movement required for full list reordering.

[0129] In some cases, electronic device 110 can select a second media object from a preset search range located outside the first media object sequence. In this way, electronic device 110 can determine the second media object within the preset search range, thereby balancing improved matching with maintaining the original order. Limiting the search range controls the number of candidate comparisons and processing latency.

[0130] In some cases, the first ranking strategy includes at least one of the following: the degree of temporal correlation of the first media object sequence, the degree of correlation of the first media object sequence in terms of the number of media items, and the degree of correlation of the first media object sequence in terms of content type. Alternatively, it may include the degree of correlation of the first media object sequence in terms of content similarity. In this way, the first ranking strategy can identify local correlations from the dimensions of time, number of media items, content type, or content similarity, thereby reducing the degree of clustering of similar media objects. A unified correlation interface facilitates the reuse of window processing logic.

[0131] In some cases, an increase in the matching degree includes at least one of the following: an increase in the time distribution range corresponding to the first media object sequence; a decrease in the number of first-type media objects in the first media object sequence; and a number of media items included in the first-type media object being less than a threshold number. Specifically, the number of second-type media objects in the first media object sequence decreases; the second-type media objects correspond to the same content type as at least one media object; and at least one media object belongs to the first media object sequence. Alternatively, the content overlap corresponding to the first media object sequence decreases. In this way, the electronic device 110 can determine whether the matching degree has increased based on quantifiable local distribution changes. Quantitative determination reduces invalid exchanges and improves the consistency of the sorting process.

[0132] In some cases, electronic device 110 may, in response to a mismatch between the adjusted first media object sequence and the first sorting strategy, readjust the positions of at least some media objects in the first media object sequence within the first order, wherein the number of readjustments does not exceed a threshold number. In this way, if a single adjustment is insufficient, the local sequence can continue to be improved while limiting the number of readjustments. The threshold number avoids cyclic processing and constrains the computational overhead in the worst-case scenario.

[0133] In some cases, the configuration information indicates at least one of the following: the operation identifier corresponding to each of the multiple sorting operations, the enable status corresponding to each of the multiple sorting operations, or the value of the sorting parameter. The sorting parameter is used in at least one of the multiple sorting strategies. In this way, the sorting operations, enable status, and sorting parameters can be adjusted through configuration information. Configuration-driven approaches reduce the processing costs associated with modifying sorting procedures and redeploying.

[0134] In some scenarios, media objects within a larger set of media objects include at least one of the following: a media collection comprising multiple media items, or a single media item. In this way, the same sorting process can support both media collections and single media items, thereby expanding the types of sortable display units. Reusing processing links reduces the need for redundant calculation processes for different object types.

[0135] In some cases, the first sorting operation is performed based on attribute information corresponding to multiple media objects. This attribute information includes at least one of the following: the identifiers of the multiple media objects, the preview content corresponding to the multiple media objects, the creation time of the multiple media objects, the content type of the multiple media objects, or interaction information related to the multiple media objects. In this way, the first sorting operation can determine the sorting relationship using existing identifiers, previews, timestamps, types, or interaction information of the media objects. Reusing existing object information can reduce additional data collection and transformation operations.

[0136] In some scenarios, multiple sorting operations correspond to multiple nodes in a workflow, and the order of these nodes matches the execution order of the sorting operations. In this way, the node order can stably represent the execution relationship of multiple sorting operations and supports the combination and deactivation of sorting operations. Node-based scheduling reduces process coupling and improves anomaly isolation capabilities.

[0137] A corresponding apparatus for implementing the above methods or processes is also provided.

[0138] Figure 6 A block diagram of a device 600 for sorting media objects is shown for several scenarios. Device 600 can be implemented as or included in electronic device 110. Various modules or components in device 600 can be implemented by hardware, software, firmware, or any combination thereof.

[0139] like Figure 6 As shown, the device 600 includes an acquisition module 610, an execution module 620, and a presentation module 630. The acquisition module 610 is configured to acquire multiple media objects and configuration information, including the execution order of multiple sorting operations, each corresponding to a different sorting strategy. The execution module 620 is configured to perform multiple sorting operations on the multiple media objects according to the execution order, obtaining a sorting result for the multiple media objects. The first sorting operation among the multiple sorting operations includes adjusting a first order of the multiple media objects based on a first sorting strategy corresponding to the first sorting operation. The first order is either the initial order of the multiple media objects or the order adjusted by a second sorting operation, the execution order of which is adjacent to the first sorting operation. The presentation module 630 is configured to present at least one media object among the multiple media objects based on the sorting result of the multiple media objects.

[0140] In some cases, multiple sorting operations include a first type of sorting operation and a second type of sorting operation. The sorting strategy corresponding to the first type of sorting operation includes sorting based on the object information corresponding to each of the multiple media objects, while the sorting strategy corresponding to the second type of sorting operation includes sorting based on the degree of association between some media objects. Here, some media objects belong to multiple media objects.

[0141] In some cases, execution module 620 may also be configured to select a first media object sequence from a plurality of media objects based on a first order, the first media object sequence including a predetermined number of media objects. And in response to a mismatch between the first media object sequence and a first sorting strategy, the positions of at least some of the media objects in the first media object sequence within the first order are adjusted to obtain a second order of the plurality of media objects.

[0142] In some cases, execution module 620 may also be configured to select a second media object sequence from a plurality of media objects in response to a first media object sequence or an adjusted first media object sequence matching a first sorting strategy, wherein the second media object sequence is outside the first media object sequence in the first order; and to adjust the positions of at least some media objects in the second media object sequence in the first order in response to a second media object sequence not satisfying the first sorting strategy, thereby obtaining a second order of the plurality of media objects.

[0143] In some cases, the execution module 620 may also be configured to correspond the first media object sequence to the first sliding window, the first sorting strategy including the window length information and the movement step information of the first sliding window, wherein selecting the first media object sequence from multiple media objects includes: moving the first sliding window along a first order based on the window length information and the movement step information to obtain the first media object sequence.

[0144] In some cases, execution module 620 can also be configured to select a first media object from a first media object sequence, such that the first media object sequence does not match the first sorting strategy. From outside the first media object sequence, a second media object is selected, wherein replacing the first media object with the second media object increases the degree of matching between the first media object sequence and the first sorting strategy. The positions of the first and second media objects are then swapped.

[0145] In some cases, the execution module 620 can also be configured to select a second media object from a preset search range located outside the first media object sequence.

[0146] In some cases, the first ranking strategy includes at least one of the following: the degree of temporal correlation of the first media object sequence, the degree of correlation of the first media object sequence in terms of the number of media items, and the degree of correlation of the first media object sequence in terms of content type. Wherein, or the degree of correlation of the first media object sequence in terms of content similarity.

[0147] In some cases, an increased degree of matching includes at least one of the following: an increased time distribution range corresponding to the first media object sequence; a decrease in the number of first-type media objects in the first media object sequence; and a number of media items included in the first-type media object being less than a threshold number. Specifically, the number of second-type media objects in the first media object sequence decreases; the second-type media objects correspond to the same content type as at least one media object; and at least one media object belongs to the first media object sequence. Alternatively, the degree of content overlap corresponding to the first media object sequence decreases.

[0148] In some cases, the execution module 620 may also be configured to, in response to a mismatch between the adjusted first media object sequence and the first sorting strategy, readjust the positions of at least some media objects in the first media object sequence in the first order, wherein the number of readjustments does not exceed a threshold number.

[0149] In some cases, the configuration information indicates at least one of the following: the operation identifier corresponding to each of the multiple sorting operations, the enable status corresponding to each of the multiple sorting operations, or the value of the sorting parameter. The sorting parameter is used in at least one of the multiple sorting strategies.

[0150] In some cases, a media object among multiple media objects includes at least one of the following: a media collection, which includes multiple media items, or a single media item.

[0151] In some cases, the first sorting operation is performed based on attribute information corresponding to multiple media objects. This attribute information includes at least one of the following: the identifiers of the multiple media objects, and the preview content corresponding to the multiple media objects. Specifically, this includes the creation time of the multiple media objects, the content type of the multiple media objects, or interaction information related to the multiple media objects.

[0152] In some cases, multiple sorting operations correspond to multiple nodes in the workflow, and the order of the nodes matches the execution order of the multiple sorting operations.

[0153] The modules included in device 600 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some cases, one or more modules can be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the units in device 600 can be implemented at least partially by one or more hardware logic components. By way of example, and not limitation, exemplary types of hardware logic components that can be used include Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Parts (ASSPs), Systems on a Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0154] Figure 7 A block diagram of an electronic device 700 in which one or more examples may be implemented is shown. It should be understood that... Figure 7 The electronic device 700 shown is merely exemplary and should not be construed as limiting the functionality and scope of the examples described herein. Figure 7 The illustrated electronic device 700 can be used to implement the electronic device 110 discussed above.

[0155] like Figure 7 As shown, electronic device 700 is in the form of a general-purpose electronic device. Components of electronic device 700 may include, but are not limited to, one or more processing units or processors 710, memory 720, storage devices 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. Processor 710 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 720. In a multiprocessor system, multiple processors execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 700.

[0156] Electronic device 700 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 720 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof). Storage device 730 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data and accessible within electronic device 700.

[0157] Electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 7 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 720 may include computer program product 725 having one or more program modules configured to perform various methods or actions of various examples.

[0158] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 700 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 700 can operate in a networked environment using logical connections to one or more other servers, networked personal computers, or another network node.

[0159] Input device 750 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 760 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 700 can also communicate with one or more external devices (not shown) via communication unit 740 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 700, or with any device that enables electronic device 700 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).

[0160] A computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. A computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0161] The flowcharts and / or block diagrams of the methods, apparatus, devices, and computer program products referred to herein describe various aspects. It should be understood that each block of the flowcharts and / or block diagrams, as well as combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0162] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0163] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0164] The flowcharts and block diagrams in the accompanying figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products under various scenarios. In this respect, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the figures. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0165] Various examples have been described above. The foregoing descriptions are exemplary and not exhaustive, nor are they limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used in this disclosure is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for sorting media objects, comprising: Obtain multiple media objects and configuration information, wherein the configuration information includes the execution order of multiple sorting operations, and the multiple sorting operations correspond to different sorting strategies; According to the execution order, the multiple sorting operations are performed on the multiple media objects to obtain the sorting result of the multiple media objects. The first sorting operation among the multiple sorting operations includes: adjusting the first order of the multiple media objects based on the first sorting strategy corresponding to the first sorting operation. The first order is the initial order of the multiple media objects, or the first order is the order adjusted by the second sorting operation. The execution order of the second sorting operation is adjacent to the first sorting operation. as well as Based on the sorting result of the plurality of media objects, at least one of the plurality of media objects is presented.

2. The method according to claim 1, wherein, The multiple sorting operations include a first type of sorting operation and a second type of sorting operation; The sorting strategy corresponding to the first type of sorting operation includes sorting based on the object information corresponding to each of the multiple media objects; The sorting strategy corresponding to the second type of sorting operation includes sorting based on the degree of association between some media objects, wherein the some media objects belong to the multiple media objects.

3. The method of claim 1, wherein adjusting the first order of the plurality of media objects based on the first sorting strategy comprises: Based on the first order, a first media object sequence is selected from the plurality of media objects, the first media object sequence including a predetermined number of media objects; as well as In response to a mismatch between the first media object sequence and the first sorting strategy, the positions of at least some media objects in the first media object sequence in the first order are adjusted to obtain a second order of the plurality of media objects.

4. The method according to claim 3, wherein adjusting the first order of the plurality of media objects based on the first sorting strategy corresponding to the first sorting operation further includes: In response to the first media object sequence or the adjusted first media object sequence matching the first sorting strategy, a second media object sequence is selected from the plurality of media objects, wherein the second media object sequence is outside the first media object sequence in the first order; as well as In response to the second media object sequence not satisfying the first sorting strategy, the positions of at least some media objects in the second media object sequence in the first order are adjusted to obtain a second order of the plurality of media objects.

5. The method according to claim 3, wherein the first media object sequence corresponds to a first sliding window, the first sorting strategy includes window length information and movement step information of the first sliding window, wherein selecting the first media object sequence from the plurality of media objects includes: Based on the window length information and the movement step information, the first sliding window is moved along the first sequence to obtain the first media object sequence.

6. The method of claim 3, wherein adjusting the position of the at least some media objects in the first order comprises: Select a first media object from the first media object sequence, such that the first media object sequence does not match the first sorting strategy; A second media object is selected from outside the first media object sequence, wherein the degree of matching between the first media object sequence and the first sorting strategy is increased by replacing the first media object with the second media object; Swap the positions of the first media object and the second media object.

7. The method of claim 6, wherein selecting a second media object from media objects sorted after the first media object sequence comprises: Select the second media object from a preset search range that is outside the first media object sequence.

8. The method of claim 3, wherein the first sorting strategy includes at least one of the following: The degree of temporal correlation of the first media object sequence The degree of correlation in the number of media items in the first media object sequence. The degree of correlation in content type among the first media object sequence, or The degree of correlation in content similarity among the first sequence of media objects.

9. The method of claim 6, wherein the increase in matching degree comprises at least one of the following: The time distribution range corresponding to the first media object sequence increases. The number of first-type media objects in the first media object sequence decreases, and the number of media items included in the first-type media objects is less than the threshold number. The number of second-type media objects in the first media object sequence decreases, and the second-type media objects correspond to the same content type as at least one media object, which belongs to the first media object sequence. The overlap of content corresponding to the first media object sequence is reduced.

10. The method according to claim 3, wherein, Adjusting the position of at least some media objects in the first media object sequence within the first order further includes: In response to the adjusted first media object sequence not matching the first sorting strategy, the positions of at least some media objects in the first media object sequence within the first order are readjusted. The number of readjustments mentioned therein does not exceed the threshold number.

11. The method of claim 1, wherein the configuration information indicates at least one of the following: The operation identifiers corresponding to the multiple sorting operations. The respective enable status of the multiple sorting operations, or The sorting parameter is used in at least one of the plurality of sorting strategies.

12. An apparatus for sorting media objects, comprising: The acquisition module is configured to acquire multiple media objects and configuration information, wherein the configuration information includes the execution order of multiple sorting operations, and the multiple sorting operations correspond to different sorting strategies. An execution module is configured to perform the multiple sorting operations on the multiple media objects according to the execution order to obtain a sorting result of the multiple media objects. The execution of the first sorting operation among the multiple sorting operations includes: adjusting the first order of the multiple media objects based on the first sorting strategy corresponding to the first sorting operation. The first order is the initial order of the multiple media objects, or the first order is the order adjusted by a second sorting operation, and the second sorting operation is adjacent to the first sorting operation. as well as The presentation module is configured to present at least one of the plurality of media objects based on the sorting result of the plurality of media objects.

13. An electronic device, comprising: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to any one of claims 1 to 11 when executed by the at least one processor.

14. A computer-readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the method according to any one of claims 1 to 11.

15. A computer program product tangibly stored in a computer storage medium and comprising computer-executable instructions that, when executed by a device, cause the device to perform the method according to any one of claims 1 to 11.