Business processing method and device and storage medium
By acquiring and overlaying flow point information from business pipelines, the target business pipeline is dynamically constructed, solving the flexibility and scalability issues in business overlay scenarios in existing technologies, and achieving efficient multimedia service processing.
Patent Information
- Application Number
- CN202511820869.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-03
- Publication Date
- 2026-04-10
AI Technical Summary
Existing technologies require the maintenance of a large number of static business pipeline combinations in scenarios with overlapping business functions, resulting in poor flexibility and scalability, and orchestration and maintenance costs growing exponentially.
By acquiring flow point information of current and new business processes, business pipelines can be dynamically overlaid to form the target business pipeline, enabling flexible overlay of different business pipelines while only maintaining a single business pipeline.
It improves the flexibility and scalability of business overlay, reduces the complexity of orchestration and operation and maintenance, and realizes efficient and flexible multimedia service processing.
Smart Images

Figure CN121833235A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of business processing technology, and in particular to a business processing method, apparatus and storage medium. Background Technology
[0002] With the rapid development of communication technology, multimedia resources are playing an increasingly important role in modern communication. Traditional multimedia resource processing often adopts a pipeline approach.
[0003] A business pipeline is a typical phased processing model, the core of which lies in dividing the entire processing flow into several independent but ordered processing stages. Each stage only focuses on its own input-output relationships, without concern for the specific implementation of upstream and downstream processes. This decoupling approach gives the system good modularity, facilitating maintenance and upgrades.
[0004] However, these technologies typically only allow configuring static business pipelines, meaning one business pipeline can be configured for each business. In scenarios with overlapping business processes, these technologies usually require maintaining and configuring a large number of business pipeline combinations, resulting in poor flexibility and scalability. Summary of the Invention
[0005] This disclosure provides a service processing method, device, and storage medium that can at least improve the flexibility and scalability of service overlay.
[0006] On the one hand, a business processing method is provided, including: obtaining the business pipeline and flow point information of the current business, as well as the business pipeline and flow point information of the new business; superimposing the business pipeline of the current business and the business pipeline of the new business according to the flow point information of the current business and the flow point information of the new business to obtain a target business pipeline; and performing business processing according to the target business pipeline.
[0007] On another front, a service processing apparatus is provided, comprising: a communication unit and a processing unit. The communication unit is used to acquire the service pipeline and flow point information of the current service, as well as the service pipeline and flow point information of the newly added service; the processing unit is used to superimpose the service pipeline of the current service and the service pipeline of the newly added service based on the flow point information of the current service and the flow point information of the newly added service to obtain a target service pipeline; the processing unit is also used to perform service processing based on the target service pipeline.
[0008] In another aspect, an electronic device is provided, comprising: a memory and a processor; the memory and the processor are coupled; the memory is used to store a computer program; and the processor, when executing the computer program, implements the business processing method of any of the above embodiments.
[0009] In another aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium includes a non-transitory computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the computer to perform the business processing method of any of the above embodiments.
[0010] In another aspect, a computer program product is provided, which includes computer program instructions that, when executed by a processor, implement the business processing method described in any of the above embodiments.
[0011] This disclosure provides a business processing method that can acquire flow point information for the current business and flow point information for a newly added business. It should be understood that flow point information can represent the connection relationships between various flow points in a business. Therefore, by overlaying the business pipelines of the current business and the newly added business based on their respective flow point information, dynamic overlaying of different business pipelines can be achieved. In other words, this disclosure only requires maintaining the business pipeline of a single business. In scenarios requiring business overlay, acquiring the required business pipeline is sufficient to complete the overlay, improving the flexibility and scalability of business overlay. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in this disclosure, the accompanying drawings used in some embodiments of this disclosure will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings.
[0013] Figure 1 A schematic diagram of the structure of a business pipeline provided in some embodiments of this disclosure; Figure 2 This is a schematic diagram of the class relationships of a business pipeline provided in some embodiments of this disclosure; Figure 3 A flowchart illustrating a business processing method provided for some embodiments of this disclosure; Figure 4 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 5 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 6 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 7 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 8 A schematic diagram illustrating the structural differences of a production line provided in some embodiments of this disclosure; Figure 9 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 10 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 11 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 12 A flowchart illustrating yet another business processing method provided in some embodiments of this disclosure; Figure 13 This is a schematic diagram of the structure of a business processing apparatus provided in some embodiments of this disclosure; Figure 14 This is a schematic diagram of the structure of another electronic device provided in some embodiments of this disclosure. Detailed Implementation
[0014] The technical solutions of this disclosure will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0015] It should be noted that, in this disclosure, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this disclosure should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0016] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.
[0017] In the description of this disclosure, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "more than one" means two or more.
[0018] Before introducing the business processing method provided in the embodiments of this disclosure, the relevant concepts involved in the embodiments of this disclosure will be introduced first.
[0019] Business pipeline A business pipeline consists of multiple functional nodes (also known as processing units) connected in a specific order, with each node responsible for a particular processing task. This approach is particularly suitable for streaming processing (such as real-time audio and video transmission and encoding), improving efficiency and modular management capabilities. Its flexibility and efficiency make it a fundamental framework for implementing complex audio and video processing tasks. A business pipeline can be described using a Directed Acyclic Graph (DAG) structure, where no path originates from any vertex, passes through several edges, and returns to that vertex. In this embodiment, the DAG represents the logical flow of media processing, used to describe the dependencies and data flow between various plugins and functional nodes in the media processing pipeline.
[0020] Figure 1 This is a schematic diagram of a business pipeline structure provided for some embodiments of this disclosure. For example... Figure 1 As shown, a business pipeline includes: component nodes, flow points, plugins, and links.
[0021] Among them, the component node is the component responsible for processing the media auxiliary stream, such as the Network File System (NFS).
[0022] A component node may include at least one plugin (also called a module), which is the functional node in this embodiment of the disclosure, responsible for implementing specific functions of processing business, such as encoding and decoding.
[0023] Stream points include the entry and exit points of the media stream of a component node or plugin (Stream Point) and the entry and exit points of the component node (Endpoint, EP).
[0024] Connection relationships are used to connect component nodes (EP to EP) and within component nodes (EP to plugin, plugin to plugin, plugin to EP), forming a complete connection structure for the business pipeline.
[0025] Figure 2 This is a schematic diagram illustrating the class relationships of a business pipeline according to some embodiments of this disclosure, used to demonstrate the attributes, associations, and configuration system of the business pipeline. For example... Figure 2As shown, the class relationships of this business pipeline include: top-level core components, core processing units, data flow connection units, data flow interfaces, and configuration-related components.
[0026] The top-level core components include: Graph.
[0027] The core processing units include: component nodes (Node) and the smallest functional unit, namely plugins (Module).
[0028] The data flow connection unit includes: the connection relationship (link).
[0029] The data stream interface includes: Stream.
[0030] Configuration-related components include: options, options, options values, and parameters.
[0031] The relevant attribute information for each of the above levels is shown below: The relevant attribute information of a graph may include: the identifier of the business pipeline (id, represented by a string), the list of component nodes of the business pipeline (nodes), the list of connections of the business pipeline (links), and the list of parameters of the business pipeline (parameters).
[0032] In some examples, a graph can contain one or more component nodes, and can also have zero or more parameters.
[0033] The relevant attribute information of a component node can include: the component node's identifier (id, represented by a string), the component node's role (role, represented by a string, used to distinguish the business type of the component node, such as a video processing component node), the component node's streams list, the component node's module list, the component node's link list, and the component node's options set.
[0034] In some examples, a component node can contain one or more modules and one or more links.
[0035] The relevant attribute information of a plugin (Module) may include: the plugin's identifier (id, represented by a string), the plugin's version (version, represented by a string), the plugin's streams list, and the plugin's options set.
[0036] In some examples, a module can contain one or more streams.
[0037] The relevant attribute information of the link includes: the source of the link (from, represented by a string, corresponding to the identifier of the source flow point) and the destination of the link (to, represented by a string, corresponding to the identifier of the destination flow point).
[0038] A link is used to describe the data flow path between streams and is the core link that enables data to flow from A to B.
[0039] The relevant attribute information of a stream can include: the stream identifier (id, represented by a string), the stream type (type, represented by a string, used to distinguish media types, such as video streams and audio streams), and the stream configuration set (options).
[0040] In some examples, both the component node and the module have one or more streams, which are the data input / output interfaces of the component node.
[0041] The relevant attribute information of the configuration set (Options) may include: the type of the configuration set (type, represented by a string) and the list of configuration items of the configuration set (options).
[0042] A configuration set is a collection of configuration items, including multiple configuration items, used to manage multiple sets of configurations for component nodes.
[0043] The relevant attribute information of a configuration option can include: the name of the configuration option (represented by a string) and the type of the configuration option (represented by a string, used to specify the type of the configuration value).
[0044] Configuration items are used to define specific configuration items, such as decoding format, resolution, etc.
[0045] The relevant attribute information of the configuration value (OptionValue) can include: the value of the configuration value (e.g., string, bool, double, array, etc.) and the subtype of the configuration value (e.g., string value, bool value, double value, long integer value, array value, etc.).
[0046] Configuration values are the specific values that configuration items can take, and are used to adapt to the configuration requirements of different data types.
[0047] The relevant attribute information of a parameter can include: name, type, source, location, and indicator, all of which can be represented by a string.
[0048] The parameters are used to describe the global parameters of the graph, supporting the global configuration of the business pipeline.
[0049] Figure 2 This class relationship diagram of the business pipeline supports flexible business pipeline construction and realizes a modular, configurable, and scalable system architecture.
[0050] The application scenarios of the embodiments of this disclosure will be described below.
[0051] As described in the background section, multimedia resources (such as audio, video, and images) are typically transmitted in the communications field. These resources are even richer in 5G new calling scenarios. 5G new calling refers to the ability of users to enjoy rich multimedia enhancement services while initiating ordinary audio or video calls, supported by the high bandwidth, low latency, and massive connectivity of 5G networks. These services not only include traditional high-definition audio and video calls but also integrate advanced technologies such as artificial intelligence and augmented reality to provide a personalized service experience.
[0052] In the process of transmitting multimedia resources, various multimedia resources typically require processing such as acquisition, compression, transmission, decompression, and transformation. To improve the efficiency of multimedia resource processing, related technologies have proposed plug-in multimedia processing. This involves modularizing the various processing operations of multimedia resource data into plug-ins, providing a unified interface for each functional plug-in, thus achieving standardization and unification of functional plug-ins. Users can select functional plug-ins and define data flow directions. Electronic devices can then process the multimedia resource data based on these functional plug-ins and data flow information. This method of multimedia resource processing is known as the pipeline processing method.
[0053] A business pipeline describes the step-by-step processing of data, that is, the flow and processing path of the business media stream. Each business pipeline represents an independent media stream; that is, a business pipeline corresponds to a multimedia resource business. It can be customized according to specific business needs. For example, user A can initiate a background replacement service to user B, and user B can also initiate a video stylization service to user A.
[0054] Furthermore, the flexible arrangement of workflows allows for complex media processing flows. For example, one workflow can handle audio decoding, sound effects processing, and encoding, while another can handle video decoding, filter application, and encoding. Secondly, the workflow design enables electronic devices to easily add new processing functions or modify existing processes without affecting the operation of other workflows.
[0055] However, while these technologies can employ business pipelines for business processing, they typically only allow for the configuration of static business pipelines, meaning one business pipeline is configured for each business. In scenarios with overlapping business processes, these technologies often require maintaining and configuring a large number of business pipeline combinations, resulting in poor flexibility and scalability.
[0056] For example, when a user enables service A, they can choose the service pipeline for service A. Subsequently, when enabling service B, they must switch to a pre-arranged combined pipeline of services A and B. As the number of services increases, for example, from 1 to N, the number of combined pipelines that need to be maintained needs to rapidly expand from 1, 3… to 2^N. 1. This leads to an exponential increase in orchestration, deployment, and maintenance costs, and a significant increase in response and operational complexity.
[0057] To address the aforementioned issues, this disclosure provides a business processing method, comprising: acquiring the business pipeline and flow point information of the current business, and the business pipeline and flow point information of the newly added business; and superimposing the business pipeline of the current business and the business pipeline of the newly added business based on the flow point information of the current business and the flow point information of the newly added business to obtain a target business pipeline. Subsequently, business processing can be performed based on the target business pipeline.
[0058] As can be seen from the above, the embodiments of this disclosure can obtain the flow point information of the current service and the flow point information of the newly added service. It should be understood that flow point information can represent the connection relationship between various flow points in a service. Therefore, by overlaying the service pipeline of the current service and the service pipeline of the newly added service based on the flow point information of the current service and the flow point information of the newly added service, dynamic overlay of different service pipelines can be achieved. In other words, the embodiments of this disclosure only need to maintain the service pipeline of a single service. In scenarios requiring service overlay, obtaining the service pipeline to be overlaid is sufficient to complete the service overlay, improving the flexibility and scalability of service overlay.
[0059] The business processing methods provided in the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0060] Figure 3 This is a flowchart illustrating a business processing method provided in some embodiments of this disclosure, such as... Figure 3 As shown, the business processing method includes: S301. Obtain the business pipeline and flow point information for the current business, as well as the business pipeline and flow point information for the newly added business.
[0061] In some embodiments, in response to a received business request, the business content carried in the business request is parsed, key business identifiers of the current business (such as business type, media format, processing requirements, etc.) are extracted, and business keywords are generated. Based on the business keywords, a directed acyclic graph matching the business keywords is selected from a pre-arranged pipeline diagram template library, which is the business pipeline of the current business.
[0062] In one feasible approach, a pipeline diagram template library pre-stores the mapping between business pipelines and business keywords pre-configured by operations personnel. After extracting the business keywords for the current business, the corresponding business pipeline can be selected based on the mapping in the pipeline diagram template library.
[0063] The aforementioned business pipeline can be graphical data described in JSON format. The flow points, functional nodes, and input / output streams of functional nodes in the business pipeline are all uniquely identified by their corresponding IDs.
[0064] After determining the business pipeline of the current business, the pipeline can be parsed to extract the flow point information of the current business.
[0065] In some embodiments, the above-mentioned flow point information may include the flow direction of the flow point in the business pipeline, the functional node to which the flow point belongs (e.g., decoding, transcoding, watermarking, push streaming, etc.), and the functional priority of the functional node. It may also include structured configuration information such as the connection relationship between functional nodes (related to the flow direction) and the execution constraints of functional nodes.
[0066] During the initiation of the current business process, new business processes can also be initiated. Similarly, in response to received business requests, the workflow and process point information of the new business can be obtained.
[0067] The specific implementation method for obtaining the business pipeline and flow point information of new services is the same as that for obtaining the business pipeline and flow point information of current services, and will not be repeated here.
[0068] It should be noted that the business pipeline of the current business mentioned above can be a single business pipeline, or it can be a business pipeline obtained by superimposing the business pipelines of multiple businesses in a historical period. This disclosure does not limit this.
[0069] S302. Based on the flow point information of the current business and the flow point information of the new business, overlay the business pipeline of the current business and the business pipeline of the new business to obtain the target business pipeline.
[0070] In one feasible approach, after obtaining the flow point information of the current business and the flow point information of the new business, an overlay result data area can be initialized to store the pipeline diagram data after overlaying the business pipeline of the current business and the business pipeline of the new business, i.e., the target business pipeline.
[0071] When overlaying the current business pipeline and the new business pipeline based on the flow point information of the current business and the flow point information of the new business, the pipeline can be overlaid by comparing the two pipelines point by point. The specific overlay process can be referred to the description below, and will not be repeated here.
[0072] S303. Perform business processing according to the target business pipeline.
[0073] After obtaining the target business pipeline, the computing resources, codecs, network channels and other media processing components required by the target business pipeline can be dynamically allocated and instantiated based on the node information of each functional node in the target business pipeline, thereby completing the deployment and connection of each functional node.
[0074] Next, once the computing resources required for the target service pipeline are ready, the media data channel between the requesting end and the receiving end can be established, thereby realizing a complete link from the input source (i.e., the requesting end) to the output destination (i.e., the receiving end), and marking the successful addition of the service, the media stream corresponding to the target service pipeline can begin to be processed.
[0075] In summary, the embodiments of this disclosure can realize the automation and intelligent construction of the media processing flow through the above steps, fully demonstrating the advantages of the processing method based on dynamic overlay of business pipeline in complex business orchestration (i.e. business overlay scenarios), and providing efficient and flexible underlying support capabilities for multimedia service platforms.
[0076] In some embodiments, as described above, flow point information includes: flow direction, the functional node to which the flow point belongs, and the functional priority of the functional node. Embodiments of this disclosure can overlay the business pipeline of the current service and the business pipeline of the new service based on the flow point information of the current service and the flow point information of the new service. In this case, combined with... Figure 3 ,like Figure 4 As shown, in S302 above, the method of overlaying the current business pipeline and the new business pipeline based on the flow point information of the current business and the flow point information of the new business to obtain the target business pipeline specifically includes: S401. According to the flow point order in the current business pipeline and the flow point order in the new business pipeline, compare the flow point information of the flow point in the current business pipeline and the flow point information of the new business pipeline one by one to obtain the comparison result.
[0077] During the comparison process, the comparison results can include whether a flow point in the current service is the same as or different from a flow point in the newly added service (i.e., belonging to the same input or output flow point of the same functional node). In other words, the comparison results include the following two situations: Case 1: The flow direction of the first flow point is the same as that of the second flow point, and the functional node to which the first flow point belongs is the same as that to which the second flow point belongs.
[0078] Scenario 2: The flow direction of the first flow point is different from that of the second flow point, or the functional node to which the first flow point belongs is different from that to which the second flow point belongs.
[0079] Wherein, the first flow point is the flow point in the business pipeline of the newly added service, and the second flow point is the flow point in the business pipeline of the current service.
[0080] S402. Based on the comparison results, determine the first flow point and the superposition method of the functional nodes to which the first flow point belongs.
[0081] After determining the comparison result between the first flow point and the second flow point, the first flow point and the superposition method of the functional node to which the first flow point belongs can be determined based on different comparison results. In this case, the method for determining the first flow point and the superposition method of the functional node to which the first flow point belongs based on the comparison result specifically includes: Scenario 1: In response to the comparison result that the flow direction of the first flow point is the same as that of the second flow point, and the functional node to which the first flow point belongs is the same as that to which the second flow point belongs, the superposition method of the first flow point and the functional node to which the first flow point belongs is to reuse the resources of the second flow point and the functional node to which the second flow point belongs.
[0082] In other words, if a flow point in the current business is the same as a flow point in a newly added business (i.e., the same outgoing or incoming flow point belonging to the same functional node), in order to avoid adding redundant flow points and functional nodes, the flow point in the current business and the functional node to which the flow point belongs can be reused, that is, a resource reuse strategy can be executed.
[0083] Reusing resources for the flow point and the functional node to which the flow point belongs in the current business means representing the same flow point and functional node in the new business and the current business with the same flow point and functional node, and reusing the resources of the flow point and the functional node to which the flow point belongs.
[0084] In one feasible approach, each flow point and its associated functional node maintains a resource reference count. This resource reference count indicates the number of times the corresponding flow point or functional node invokes the resource. If it is determined that the flow direction of the first flow point is the same as that of the second flow point, and the functional node to which the first flow point belongs is the same as that to which the second flow point belongs, the resource reference counts corresponding to the second flow point and its associated functional node can be incremented by 1, marked with a "REUSE" flag, and the marked information stored in a pre-created overlay result data area, thereby achieving resource reuse.
[0085] Scenario 2: In response to the comparison result that the flow direction of the first flow point is different from that of the second flow point, or the functional node to which the first flow point belongs is different from that to which the second flow point belongs, the method for superimposing the first flow point and the functional node to which the first flow point belongs is as follows: according to the priority order of the functional priority of the functional node to which the first flow point belongs and the functional priority of the functional node to which the second flow point belongs, the first flow point and the functional node to which the first flow point belongs are superimposed into the business pipeline of the current business.
[0086] In some embodiments, the functional priority of the aforementioned functional nodes is determined based on the importance of the functional nodes and their position in the business pipeline. That is, the functional priority of a functional node needs to consider not only the importance of the function but also its position in the business pipeline to avoid overlapping of later-positioned functional nodes with higher functional importance with earlier-positioned nodes, thus preventing chaotic stacking.
[0087] For example, suppose the current business pipeline includes functional node A, and the new business pipeline includes functional node B. Functional node A's preceding functional node is decoding, and its following functional node is encoding; functional node B's preceding functional node is encoding, and its following functional node is forwarding (out). In this case, even if functional node B is more important than functional node A, its functional priority is lower than that of functional node A because it is located after decoding. This avoids functional node B being superimposed on the current business and then superimposed on the decoding stage, causing duplicate decoding and resulting in business confusion.
[0088] Another example is that if the function node to which the second flow point belongs has a higher functional priority, the second flow point and the function node to which the second flow point belongs can be directly placed in the pre-created overlay result data area, and then moved to the next flow point of the current business to be compared with the first flow point.
[0089] Correspondingly, if the functional node to which the first flow point belongs has a higher functional priority, the first flow point and the functional node to which the first flow point belongs can be marked with "Add (ADD)", and the marked information can be placed in the pre-created overlay result data area, and then moved to the next flow point of the added business to be compared with the second flow point.
[0090] In other words, if a flow point in the current business is different from a flow point in the new business (i.e., belongs to different functional nodes or flows in different directions), in order to avoid confusion in business execution logic after business is superimposed, the different flow points in the current business and the new business, as well as the functional nodes to which they belong, can be superimposed into the business pipeline according to the priority order of the functional nodes to which the different flow points belong.
[0091] In this way, functional nodes with higher priority will be invoked first, ensuring that critical tasks (i.e., functional nodes with higher priority) are processed in a timely manner. By superimposing two business pipelines according to the above method of prioritizing functional priorities, the order of functional nodes in the merged final business pipeline (i.e., the target business pipeline) remains unchanged, regardless of the order in which the current business and the newly added business are triggered. Their functional priorities are still arranged from high to low, avoiding the situation of disordered execution order of functional nodes during the business superposition process.
[0092] Furthermore, by comparing each flow point individually, it is possible to ensure that every flow point in the two business pipelines is compared, thus avoiding the loss of flow points or functional nodes during the business overlay process.
[0093] S403. Based on the overlay method, the first flow point is overlaid into the current business pipeline until each flow point and function node in the new business pipeline is overlaid into the current business pipeline to obtain the target business pipeline.
[0094] As mentioned above, after comparing each flow point and determining the overlay method of each flow point and its associated functional node, each flow point and functional node in the new business can be overlaid into the business pipeline of the current business based on the overlay method to obtain the target business pipeline.
[0095] It should be noted that if there are still uncompared flow points or functional nodes in the current business pipeline and the business pipeline of the newly added business, these flow points or functional nodes can be directly superimposed onto the current business pipeline to obtain the target business pipeline, thus avoiding the loss of flow points or functional nodes during the business superposition process.
[0096] In this scenario, the overlay result data area will form a new pipeline diagram (i.e., the target business pipeline), which contains all business information (including flow points and function nodes) for both current and new businesses, and is a business pipeline that has undergone function priority sorting and resource tagging. Thus, this embodiment of the disclosure can effectively manage and integrate business requests (i.e., current and new businesses) at different points in time, ensuring efficient utilization of resources required for the business and stable operation of the business processing flow.
[0097] It should be noted that for different flow points in the current business and the new business, they can be superimposed according to the flow direction of the flow point.
[0098] For example, if the new flow point is an inbound flow point, the outbound flow point of the previous functional node connected to this inbound flow point can be determined. If the functional node also exists in the current business pipeline, the connection between the outbound flow point of this functional node and the inbound flow point of the next functional node is deleted (or removed), while the connection between the outbound flow point of this functional node and the inbound flow point of the newly added functional node is added.
[0099] Correspondingly, if the newly added flow point is an outflow flow point, the connection between the newly added flow point and the inflow flow point of the next functional node can be directly added.
[0100] For example, such as Figure 5 As shown in (a), assume the current business pipeline for business X is: Inbound flow point A1, Functional node A, Outbound flow point A2, Inbound flow point B1, Functional node B, Outbound flow point B2, Inbound flow point C1, Functional node C, Outbound flow point C2, Inbound flow point D1, Functional node D, Outbound flow point D2, Inbound flow point E1, Functional node E, Outbound flow point E2. The new business pipeline for business Y is: Inbound flow point A1, Functional node A, Outbound flow point A2, Inbound flow point M1, Functional node M, Outbound flow point M2, Inbound flow point D1, Functional node D, Outbound flow point D2.
[0101] In this embodiment, the functional node A to which the inbound flow point A1 belongs in the current service X can be compared with the functional node A to which the inbound flow point A1 belongs in the new service. If the functional node A in the current service and the functional node A in the new service have the same function, and the corresponding flow points (i.e., inbound flow point A1 and inbound flow point A2) are also the same, the functional node A can be reused, and the next flow point, i.e., inbound flow point B1 and inbound flow point M1, can be compared.
[0102] Since the functional node B to which the inflow point B1 belongs is different from the functional node M to which the inflow point M1 belongs, the functional priorities of functional nodes B and M can be compared.
[0103] If the functional priority of functional node B is higher, the inflow point B1, functional node B, and outflow point B2 can be connected to the outflow point A2, and the functional priorities of functional node C and functional node M can be compared.
[0104] If the functional priority of functional node C is high, the inflow point C1, functional node C, and outflow point C2 can be connected to the outflow point B2, and the functional priorities of functional node D and functional node M can be compared.
[0105] If the functional priority of functional node M is high, the inflow point M1, functional node M, and outflow point M2 can be connected to the outflow point C2, and the functional priorities of functional node D and functional node E can be compared.
[0106] If the function priority of function node D is high, the inflow point D1, function node D, and outflow point D2 can be connected to the outflow point M2.
[0107] Since functional node E is the last functional node, connecting inbound flow point E1, functional node E, and outbound flow point E2 to outbound flow point D2 forms the superimposed business pipeline, i.e., the target business pipeline.
[0108] Another example, such as Figure 5 As shown in (b), assuming the current business is a virtual avatar business, the functional nodes of the business pipeline for this business are: decapsulation, decoding, element synthesis, encoding, and encapsulation. During the business processing of the virtual avatar business, the requesting party initiates a new business: background replacement business. The functional nodes of the business pipeline for this business are: decapsulation, decoding, background replacement, encoding, and encapsulation.
[0109] First, the first two functional nodes of the virtual avatar service and the background replacement service are the same, both being decapsulation and decoding. Therefore, the decapsulation and decoding in the virtual avatar service can be reused.
[0110] Next, the function priorities of element composition and background replacement are compared. It is determined that the function priority of background replacement is higher. Therefore, background replacement is connected after decoding.
[0111] Next, the functional priorities of the element composition and the encoding are compared. It is determined that the element composition has a higher functional priority. Therefore, the element composition is connected after the background replacement.
[0112] Next, it was determined that the last two functional nodes of the virtual avatar service and the background replacement service are the same: encoding and encapsulation. Therefore, the encoding and encapsulation in the virtual avatar service can be reused to obtain the superimposed service pipeline, i.e., the target service pipeline. The functional nodes of this target service pipeline are, in order: decapsulation, decoding, background replacement, element synthesis, encoding, and encapsulation.
[0113] In some embodiments, combined with Figure 4 ,like Figure 6 As shown, the above process of overlaying business pipelines can also be called the mainstream overlay process of business pipelines. After completing the mainstream overlay of business pipelines, auxiliary flows in the business pipelines can also be overlaid.
[0114] In a business pipeline, auxiliary flows refer to sub-output flows following one or more functional nodes; that is, functional nodes in a business pipeline may also include sub-output flows. A functional node may include multiple outgoing flow points, each of which connects to other functional nodes, thereby forming the sub-output flows of that functional node. In embodiments of this disclosure, each sub-output flow can be independently superimposed.
[0115] In this case, such as Figure 6 As shown, in S302 above, the method of overlaying the current business pipeline and the new business pipeline based on the flow point information of the current business and the flow point information of the new business to obtain the target business pipeline specifically includes: S601. The first functional node in the business pipeline of the new business includes multiple first sub-output streams. The superposition operation is performed on each first sub-output stream in turn until each first sub-output stream in the business pipeline of the new business is superimposed on the business pipeline of the current business to obtain the target business pipeline.
[0116] The first functional node is any functional node in the business pipeline of the new business.
[0117] In some embodiments, different overlay operations can be performed on the first sub-output stream based on whether there is a second functional node corresponding to the first functional node of the new service in the current service, and whether the second functional node exists in the second sub-output stream corresponding to multiple first sub-output streams. That is, the above overlay operations include the following three cases: Case 1: For any first sub-output stream, if the business pipeline responding to the current business includes a second functional node, and the second functional node includes a second sub-output stream, then based on the flow point information of the first sub-output stream and the corresponding flow point information of the second sub-output stream, the first sub-output stream is superimposed onto the second sub-output stream.
[0118] The second functional node has the same node function as the first functional node, and the second sub-output stream includes the same flow points and / or functional nodes as the first sub-output stream.
[0119] In other words, if the current business includes a second functional node with the same node function as the first functional node, and the second functional node also includes the same flow point and / or the second sub-output stream of the functional node as the first sub-output stream, the first sub-output stream can be directly superimposed onto the second sub-output stream based on the flow point information of the first sub-output stream and the corresponding flow point information of the second sub-output stream.
[0120] For a detailed implementation of superimposing the first sub-output stream onto the second sub-output stream, please refer to the above. Figure 4The specific implementation method of overlaying the business pipeline of the new business into the business pipeline of the current business will not be elaborated here.
[0121] For example, suppose the new service includes functional node A, which includes a first sub-output stream X and a first sub-output stream Y. The current service includes functional node B, which has the same function as functional node A. Functional node B includes a second sub-output stream M and a second sub-output stream N. The second sub-output stream M and the first sub-output stream X share the same flow points and / or functional nodes, and the second sub-output stream N and the first sub-output stream Y also share the same flow points and / or functional nodes. In this case, the second sub-output stream M and the first sub-output stream X can be superimposed to obtain the superimposed sub-output stream P, and the second sub-output stream N and the first sub-output stream Y can be superimposed to obtain the superimposed sub-output stream Q, thus obtaining the target service pipeline. In this way, in the target service pipeline, the sub-output streams of functional node B can include sub-output stream P and sub-output stream Q.
[0122] Scenario 2: If the business pipeline responding to the current business includes a second functional node, and the second functional node does not include a second sub-output stream, then the first sub-output stream is superimposed on the newly added sub-output stream of the second functional node.
[0123] In other words, if the current business includes a second functional node with the same node function as the first functional node, but the second functional node does not include a second sub-output stream, the first sub-output stream can be directly superimposed onto the newly added sub-output stream of the second functional node.
[0124] For example, suppose the new service includes functional node A, which includes a first sub-output stream X and a first sub-output stream Y. The current service includes functional node B, which has the same function as functional node A, but functional node B does not include a second sub-output stream.
[0125] In this scenario, the first sub-output stream X and the first sub-output stream Y can be superimposed onto functional node B to obtain the target service pipeline. Thus, in the target service pipeline, the sub-output streams of functional node B can include the first sub-output stream X and the first sub-output stream Y.
[0126] Scenario 3: If the current business pipeline does not include a second functional node, the first functional node and multiple first sub-output streams are superimposed onto the current business pipeline based on the node information of the first functional node and the flow point information of the flow points in the current business pipeline.
[0127] In other words, if the current business does not include a second functional node with the same node function as the first functional node, the first functional node and its multiple first sub-output streams can be regarded as a whole. Based on the node information of the first functional node and the flow point information of the flow point in the business pipeline of the current business, the first functional node and multiple first sub-output streams are superimposed on the business pipeline of the current business.
[0128] For example, suppose the new service includes functional node A, which includes a first sub-output stream X and a first sub-output stream Y. The current service does not include functional node B, which has the same function as functional node A.
[0129] In this case, the functional priority of functional node A can be compared with that of functional nodes in the current business (the specific comparison method can be found above). Figure 4 The specific implementation method of overlaying the business pipeline of the new business onto the business pipeline of the current business will not be elaborated here, and the overlay position of functional node A will be determined.
[0130] Next, based on the determined overlay position, functional node A and its first sub-output stream (first sub-output stream X and first sub-output stream Y) can be overlaid together into the current business pipeline to obtain the target business pipeline.
[0131] In some embodiments, after obtaining the target business pipeline, difference calculation and incremental updates can be generated solely based on the pipeline differences between the target business pipeline and the current business pipeline. This allows for business processing only based on pipeline differences, improving the efficiency of business processing. In this case, the method for performing business processing based on the target business pipeline in S303 specifically includes: Compare the target business pipeline with the current business pipeline to obtain pipeline difference information, and perform business processing based on the pipeline difference information.
[0132] The aforementioned pipeline difference information is used to indicate at least one of the following: functional node differences, flow point differences, connection relationship differences, and sub-output flow differences.
[0133] In other words, after comparing the business pipelines before and after the overlay, a minimal update instruction set can be generated based on the pipeline difference information. That is, only update instructions that target pipeline difference information are generated, and these update instructions are injected into the runtime engine. This enables a smooth evolution from the current business pipeline to the target business pipeline without restarting or reloading all functional nodes of the current business, thus reducing the business processing pressure.
[0134] In one feasible approach, since flow points are typically integrated with functional nodes, i.e., flow points are usually attributed to functional nodes, the aforementioned functional node differences and flow point differences can be collectively referred to as node differences.
[0135] Since functional nodes typically include component nodes and plugins, the differences between the nodes mentioned above can include differences between component nodes and differences between plugins.
[0136] Figure 7 A schematic diagram of a process for determining pipeline differences according to an embodiment of this disclosure is shown. Figure 7 As shown, it includes: S701. Initialize the difference data structure.
[0137] When comparing the target business pipeline with the current business pipeline, it is necessary to first initialize the difference data structure in order to record the difference data.
[0138] In one possible implementation, the aforementioned difference data may include a list of node differences (for recording node differences), a list of connection relationship differences (for recording connection relationship differences), and a list of internal variables (for recording global configuration / state variables).
[0139] S702. Compare the target business pipeline with the current business pipeline to obtain the differences in component nodes.
[0140] After initializing the difference data structure, each component node in the target business pipeline and the current business pipeline can be traversed, and the difference type of the component node in the target business pipeline and the current business pipeline can be determined.
[0141] Among these differences, the types of differences include adding component nodes and updating component nodes.
[0142] For newly added component nodes, you can add component node difference records (such as adding an "ADD" tag, recording node attributes, etc.) and process the corresponding flow point of the component node (such as adding flow point differences, recording flow point attributes, etc.).
[0143] For updating component nodes, it is possible to generate internal differences within the component node (such as recording changes to plugins, changes to connection relationships, etc.).
[0144] S703. Compare the target business pipeline with the current business pipeline to obtain the differences between the plugins.
[0145] After determining the differences between component nodes, we can also iterate through the differences of each plugin in each component node to obtain the difference types of plugins in the component nodes of the target business pipeline and the current business pipeline.
[0146] The aforementioned differences include adding plugins and deleting plugins.
[0147] For new plugins, you can add plugin difference records (such as adding an "ADD" tag, recording plugin information, etc.) and add new processing for the corresponding flow points (including input flow points and output flow points) of the plugin.
[0148] To delete a plugin, you can remove its related information (such as setting a "REMOVE" flag, deleting the plugin's connection relationships, etc.).
[0149] S704. Compare the target business pipeline with the current business pipeline to obtain the differences in connection relationships.
[0150] After determining the differences between plugins, it is also possible to determine the differences in the connection relationships between component nodes or between plugins, and between plugins and component nodes or between plugins.
[0151] First, we can determine whether the connection relationship between the target business pipeline and the current business pipeline has changed.
[0152] If no changes have been made, proceed directly to S705; if changes have occurred, determine the type of change.
[0153] The aforementioned change types include adding new connection relationships and deleting connection relationships.
[0154] For newly added connections, connection differences can be generated, including new connections between component nodes or plugins, and between plugins and component nodes or plugins.
[0155] To delete a connection, you can delete the connection and update the connection after deletion.
[0156] S705. Compare the target business pipeline with the current business pipeline to obtain the differences in the sub-output streams.
[0157] After determining the differences in connection relationships, it is also possible to traverse the sub-output streams in the target business pipeline and the current business pipeline to obtain the difference types of the sub-output streams in the target business pipeline and the current business pipeline.
[0158] Among these differences, the types of differences include adding a sub-output stream and deleting a sub-output stream.
[0159] For newly added sub-output streams, sub-output stream differences can be generated (such as adding connection relationships to sub-output streams, recording flow point information of sub-output streams, etc.). To delete a sub-output stream, you can delete the sub-output stream (e.g., delete the sub-output stream's connection relationships, flow points, reduce the resource reference count of the functional nodes in the sub-output stream, etc.).
[0160] S706. Merge component node differences, plugin differences, connection relationship differences, and sub-output stream differences to obtain the pipeline differences between the target business pipeline and the current business pipeline.
[0161] In combination with the above Figure 5 Example (b) in the text, such as Figure 8 As shown, the pipeline differences between the virtual avatar business pipeline and the background replacement business pipeline include: the background replacement function node, as well as the inbound and outbound flow points of background replacement, the connection relationship between background replacement and decoding, and the connection relationship between background replacement and element synthesis.
[0162] As another example, the aforementioned pipeline differences can be recorded using a difference update log, which may include: Basic information, module information, module parameter information, and link information.
[0163] The basic information may include: Node Changes Num: 1: This indicates that the pipeline change involves 1 component node.
[0164] Node Name: SBC_mre_vpu: This indicates that the name of the newly added / updated node is SBC_mre_vpu (corresponding to video processing nodes, such as MRE-VPS).
[0165] Node Change Type: Add: This indicates that the change type for this feature node is "Add".
[0166] Module information may include: Modules Changes Num: 1: This indicates that one new plugin has been added to the component node.
[0167] Details of the new Module 1 include: Change Type: Add: This indicates that the change type for adding Module 1 is "Add". Name: picture_subgraph: Used to indicate the name of the newly added Module 1 (e.g., "Picture Subgraph Processing Plugin"); ID: 18, Version: 1.0.0: This is a unique identifier and version representing the newly added Module 1. Input Stream IDs: []: Used to represent the input stream point ID of the newly added Module 1 (not configured yet); Output Stream IDs: []: Used to represent the output stream ID of the newly added Module 1 (not configured yet).
[0168] Plugin parameter information records the plugin's configuration parameters, which may include: parameter name, whether it is referenced, value type, and specific value, for example: Parameter 1: Name=report_delay: This parameter name indicates "reporting delay".
[0169] Parameter 5: Name=media-id: This parameter is named "media ID" and its value is `edia-id (string type).
[0170] These parameters are used to customize the plugin's functionality (such as controlling the frame rate (fps), specifying the template ID (template-id), etc.).
[0171] Links information (also known as data flow paths) may include: Links KPI Changes Num: 3: This indicates that this update involves 3 connection relationships.
[0172] Connection details (taking the first one as an example): Change Type: Add: This indicates that the connection change type is "Add". From Module ID: 5: This indicates the ID of the source plugin (plugin 5). From Stream ID: 0: Used to indicate the stream point ID (stream point 0) of the source plugin; To Module ID: 8: Used to indicate the ID of the target plugin (plugin 8); To Stream ID: 0: Used to represent the stream point ID (stream point 0) of the target plugin.
[0173] In summary, pipeline differences can be divided into four parts: component node differences, connection relationship differences, nodes, and internal plugins of nodes. The embodiments of this disclosure can perform business processing based on the aforementioned pipeline differences.
[0174] In some embodiments, during the overlay of current service pipelines and new service pipelines, conflicting services may be involved. For example, if a requesting end and a receiving end are engaged in a video call, and the requesting end needs to send a video to the receiving end, the receiving end must disconnect the video call to view the video. In this case, embodiments of this application can also handle conflicting services accordingly. Figure 9 As shown, before processing conflicting services, it is necessary to identify the conflicting services first. In this case, the service processing method provided in this embodiment further includes: S901. Obtain the business content of the current business and the business content of the newly added business.
[0175] In one feasible approach, the aforementioned business content may include at least one of the following: business keywords, business parameters, business configurations, etc.
[0176] The embodiments disclosed herein can obtain the aforementioned business content by parsing the attributes of the core components of the business pipeline.
[0177] S902. Based on the business content of the current business and the business content of the new business, determine whether there is a business conflict between the current business and the new business.
[0178] In one feasible approach, after obtaining the business content of the current business and the business content of the new business, it can be determined whether there is a business conflict between the current business and the new business based on the pre-configured business conflict rules.
[0179] The aforementioned business conflicts may include GPU processing resource conflicts, camera exclusivity, encoder type conflicts, etc.
[0180] For example, if the business keywords of both the current business and the new business contain "exclusive GPU processing", then a business function conflict between the current business and the new business can be determined.
[0181] As another example, suppose the parameter requirement for a new service is "GPU usage 100%", while the GPU usage of the current service is already 80%, then it is determined that there is a resource conflict between the current service and the new service.
[0182] When a business conflict is identified between the current business and the new business, a method is used to overlay the business pipelines of the current business and the new business based on the flow point information of both to obtain the target business pipeline. This method specifically includes: S903. In response to a business conflict between the current business and the new business, determine the first business pipeline and the second business pipeline based on the business priority of the current business and the new business.
[0183] The first business pipeline consists of business pipelines with lower priority among current and new business processes. The second business pipeline consists of business pipelines with higher priority among current and new business processes.
[0184] If a business conflict is detected between the current business and the new business, in order to avoid business processing abnormalities caused by the conflict, it is necessary to release resources for the business with lower priority. Therefore, it is necessary to first determine the business pipeline of the business with lower priority, i.e., the first business pipeline, based on the business priorities of the current business and the new business.
[0185] In one possible implementation, the embodiments of this disclosure may pre-configure service priority information for each service. The first service pipeline can be determined based on the pre-configured service priority information.
[0186] In another possible implementation, embodiments of this disclosure may also determine the service priority of the current service and the new service based on the functional priority of the functional nodes in the current service and the new service. The service priority of the current service and the new service may also be determined by other means, which are not limited in this disclosure.
[0187] S904. Perform resource release processing on each flow point and functional node in the first business pipeline to obtain the processed first business pipeline.
[0188] Among them, resource release processing is used to reduce the number of resource calls for each flow point and functional node.
[0189] Based on the above description, each flow point and its associated functional node maintains a resource reference count. This resource reference count indicates the number of times the corresponding flow point or functional node calls the resource. After determining the first business pipeline, to avoid business processing anomalies caused by conflicts, resource release processing can be performed on each flow point and functional node in the first business pipeline. This reduces the number of resource calls for each flow point and functional node, preventing conflicting business processes from repeatedly calling resources and causing business processing anomalies.
[0190] In some embodiments, resource release processing is performed on each flow point and function node in the first business pipeline to obtain a processed first business pipeline, including: Perform resource release processing on each flow point and function node in the first business pipeline to obtain the resource call count of each flow point and function node, and remove the function nodes and / or flow points in the first business pipeline with a preset number of resource calls to obtain the processed first business pipeline.
[0191] In practical applications, the above-mentioned preset number of times can be 0.
[0192] In other words, after performing resource release processing on each flow point and functional node in the first business pipeline, the resource call count for each flow point and functional node can be queried. If the resource call count for a certain functional node and / or flow point is 0, it means that the functional node does not need to call resources. Therefore, the first business pipeline can be obtained by dividing the functional nodes and / or flow points with a resource call count of 0 from the first business pipeline.
[0193] In one feasible approach, when releasing resources for each flow point and functional node in the first business pipeline, resource release can be performed on each flow point and functional node by traversing the flow point one by one.
[0194] For identical flow points in the first and second business pipelines, the resource call count for that flow point and its associated functional node can be decremented by 1. If the resource call count is 0, the flow point and its associated functional node are deleted and marked with the REMOVE tag. For different flow points, resource release can be performed directly, and the remaining flow points can continue to be traversed until the entire first business pipeline has been traversed.
[0195] In one possible implementation, after deleting the flow point and its associated functional node, the information of the deleted flow point and its associated functional node can be saved to facilitate service recovery after the service conflict ends. In other words, this embodiment of the disclosure can set the functional node of the replaced low-priority service to a "paused state," and its context state (such as input source, parameter configuration, and processing progress) is fully preserved.
[0196] S905. Overlay the processed first and second business pipelines to obtain the target business pipeline.
[0197] For example, if the flow point deleted in the first business pipeline after processing is an inbound flow point, then the connection relationship between the flow point and the outbound flow point of the forward functional node is deleted, and at the same time, the inbound flow point of the functional node connected to the outbound flow point of the forward functional node and the outbound flow point of the current functional node is added.
[0198] If the flow point deleted in the first business pipeline after processing is an outbound flow point, then the connection between the outbound flow point of that functional node and the inbound flow point of the next functional node is directly deleted.
[0199] For example, such as Figure 10 As shown. Assume the current service is a video call initiated by requester A to requester B. The functional nodes of this service's pipeline are: playback (MRE_MRFP) and forwarding out (MFU). The new service is a video synthesis service initiated by requester A to requester B. The functional nodes of this service's pipeline are: forwarding in, video processing node (MRE-VPS), and forwarding out.
[0200] The video processing nodes include decapsulation, decoding, subtitle synthesis, background replacement, encoding, and encapsulation.
[0201] If a business conflict is identified between video call and video compositing services, resource release can be performed on each stream and functional node in the video compositing service. In the processed business pipeline, the resource call count of the background replacement functional node becomes 0; therefore, the background replacement functional node is removed.
[0202] Next, the video call service and the video compositing service after removing the background replacement function node can be overlaid to obtain the target service pipeline.
[0203] The functional nodes of the target business pipeline are as follows: playback, decapsulation, decoding, subtitle synthesis, background replacement, encoding, encapsulation (MRE_MRFP) and forwarding out (MFU) and forwarding out.
[0204] In some embodiments, to ensure that existing services can still be processed normally after conflicting service processing is completed, the flow points and function nodes of resource release processing can be restored. In this case, after the service device processes the service according to the target service pipeline, it also includes: S906. In response to the completion of business processing corresponding to the second business pipeline, add the removed functional nodes and / or flow points from the first business pipeline to the first business pipeline, and perform business processing according to the added first business pipeline.
[0205] When the second business pipeline completes its corresponding business processing (e.g., the requesting end terminates the new business or the new business process ends), it can check whether there are any suspended businesses (i.e., removed functional nodes and / or flow points) based on the current business content. If so, the business is restored, that is, the functional nodes and / or flow points removed from the first business pipeline are added back to the first business pipeline, and business processing is performed according to the added first business pipeline to ensure that the first business pipeline can run correctly according to its original configuration.
[0206] Thus, the embodiments of this disclosure can make reasonable business processing when faced with business conflicts, and resume previous business after the conflicting business is processed. That is, when a high-priority business ends, it can detect whether there are any suspended businesses to be resumed, and seamlessly reintegrate them into the pipeline for continued processing. This not only improves the flexibility and reliability of business processing, but also reduces manual maintenance costs and enhances user experience. This allows the business processing method provided by the embodiments of this disclosure to flexibly adapt to complex business scenarios while reducing operation and maintenance costs. The business processing method provided by the embodiments of this disclosure is not only applicable to the multimedia field, but can also be extended to scenarios requiring dynamic task orchestration, such as the Internet of Things and edge computing.
[0207] In some embodiments, the process of overlaying services between the current service pipeline and the new service pipeline may involve the overlaying of different multimedia resources. Therefore, supporting the switching of different multimedia resources is crucial. To ensure a smooth transition of the overlaying of different multimedia resources and maintain functional integrity, the current service and the new service can be overlaid based on the media source nodes in the current service pipeline and the new service pipeline. That is, the service pipeline also includes media source nodes.
[0208] In this case, such as Figure 11 As shown, in response to the different multimedia resources represented by the media source node of the current service and the media source node of the new service, a method is used to overlay the service pipeline of the current service and the service pipeline of the new service based on the flow point information of the current service and the flow point information of the new service to obtain the target service pipeline. This method specifically includes: S1101. The flow point connected to the outgoing flow point of the media source node of the current service is determined as the source switching point of the current service, and the flow point connected to the outgoing flow point of the media source node of the new service is determined as the source switching point of the new service.
[0209] The pipeline labels in the business pipeline contain node information for each functional node. Based on this information, it can be determined whether a functional node is a media source node. After identifying the media source node, the flow points connecting to it can be determined. These flow points are typically called source switching points, which are the key locations where overlay operations are required in scenarios involving the overlay of different multimedia resources.
[0210] S1102. Based on the source switching point of the current business, divide the business pipeline of the current business to obtain the front sub-pipeline and the back sub-pipeline of the current business. Based on the source switching point of the new business, divide the business pipeline of the new business to obtain the front sub-pipeline and the back sub-pipeline of the new business.
[0211] To avoid data confusion and conflicts, and to ensure that new multimedia resources can be processed in the current business pipeline, the connection between the outgoing flow point and the switching source point of the current business's media source node can be disconnected. That is, the current business pipeline can be divided to obtain the front sub-pipeline and the back sub-pipeline of the current business.
[0212] Accordingly, in order to accurately add the multimedia resources of the new business to the current business, the business pipeline of the new business is also divided to obtain the front sub-pipeline and the back sub-pipeline of the new business.
[0213] S1103. Based on the flow point information in the subsequent sub-pipeline of the current business and the flow point information in the subsequent sub-pipeline of the new business, overlay the subsequent sub-pipeline of the current business and the subsequent sub-pipeline of the new business to obtain the target sub-pipeline.
[0214] Once the source switching point and business pipeline division are determined, the current business pipeline and the portion of the new business pipeline after the source switching point can be overlaid. In other words, starting from the source switching point, all subsequent functional nodes will be merged into the new pipeline according to their functional priority, ensuring that the business can continue to be processed after the source switching.
[0215] S1104. Connect the current business's preceding sub-pipeline with the target sub-pipeline to obtain the target business pipeline.
[0216] After obtaining the target sub-pipeline, the outgoing flow point of the current business's preceding sub-pipeline can be connected to the switching source point of the target sub-pipeline, thereby ensuring that the multimedia resources of the new business can be correctly accessed into the business pipeline of the current business to obtain the target business pipeline.
[0217] For example, such as Figure 12As shown in the diagram. Assume the current service is a video call initiated by requester A to receiver B. The functional nodes of this service's pipeline are, in order: playback (MRE_MRFP) and forwarding out (MFU). The newly added service is a video compositing service initiated by requester A to receiver B. The functional nodes of the video compositing service's pipeline are, in order: decapsulation (MFU), video processing node (MRE-VPS), and forwarding out (MFU).
[0218] The video processing nodes include decapsulation, decoding, subtitle synthesis, encoding, and encapsulation.
[0219] First, determine that the media source node for the video call service is "Playback". Then, the stream point connected to the outgoing stream point of "Playback" is the source switching point for the video call service.
[0220] Accordingly, if the media source node of the video compositing service is determined to be "forwarding in", then the stream point connected to the outgoing stream point of "forwarding in" is the source switching point of the video compositing service.
[0221] Next, the video call service pipeline can be divided into front sub-pipelines and back sub-pipelines.
[0222] The functional nodes of the front sub-pipeline for video call services include "playback", and the functional nodes of the back sub-pipeline include "forwarding out".
[0223] Accordingly, the video compositing service pipeline can be divided into front and back sub-pipelines.
[0224] The functional nodes of the front sub-pipeline of the video compositing service include "forwarding in", and the functional nodes of the back sub-pipeline include "de-encapsulation, decoding, subtitle compositing, encoding, encapsulation and forwarding out".
[0225] Next, the sub-pipeline of the video call service and the sub-pipeline of the video synthesis service can be superimposed to obtain the target sub-pipeline.
[0226] The functional nodes of the target subpipeline include "decapsulation, decoding, subtitle synthesis, encoding, encapsulation, and forwarding out".
[0227] Next, the front sub-pipeline and the target sub-pipeline of the video call service are connected to obtain the target service pipeline.
[0228] The functional nodes of the target business pipeline include, in sequence, "playback, decapsulation, decoding, subtitle synthesis, encoding, encapsulation, and forwarding out".
[0229] In summary, the business processing method provided in this disclosure can achieve highly flexible, scalable, and diversified business processing. Only the business pipeline of the basic business needs to be pre-arranged, and dynamic overlay processing of the basic business can be completed. For new businesses, only the corresponding flow points and their associated functional nodes need to be added to complete the arrangement of the business pipeline for the new business, achieving seamless addition and dynamic integration of new businesses with current businesses. This not only simplifies the maintenance and updating process of the business processing method but also greatly improves its adaptability and scalability.
[0230] Furthermore, since new services can be added simply by adding flow points and associated common nodes, this disclosure allows the embodiments to easily expand their functional scope and support more types of multimedia processing tasks, such as real-time background replacement, virtual avatar replacement, and intelligent real-time translation, to meet the needs of different users.
[0231] It is understood that, in order to achieve the above-mentioned functions, electronic devices include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments of this disclosure, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0232] This disclosure embodiment can divide an electronic device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one functional module. The integrated module can be implemented in hardware or software. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the example of dividing each functional module according to each function.
[0233] Figure 13 This is a schematic diagram of the structure of a service processing apparatus provided in an embodiment of this disclosure, which can execute the service processing method provided in the above-described method embodiments. For example... Figure 13 As shown, the service processing device includes a communication unit 1301 and a processing unit 1302.
[0234] The communication unit 1301 is used to acquire the service pipeline and flow point information of the current service, as well as the service pipeline and flow point information of the newly added service; The processing unit 1302 is used to overlay the business pipeline of the current business and the business pipeline of the new business based on the flow point information of the current business and the flow point information of the new business to obtain the target business pipeline. The processing unit 1302 is also used to perform business processing according to the target business pipeline.
[0235] In some embodiments, flow point information includes: flow direction, the functional node to which the flow point belongs, and the functional priority of the functional node.
[0236] In some embodiments, the processing unit 1302 may be used for: According to the flow point order in the current business pipeline and the flow point order in the new business pipeline, the flow point information of the flow point in the current business pipeline and the flow point information of the new business pipeline are compared one by one to obtain the comparison results; Based on the comparison results, the first flow point and the superposition method of the functional node to which the first flow point belongs are determined; the first flow point is the flow point in the business pipeline of the new business. Based on the overlay method, the first flow point is overlaid into the current business pipeline, until every flow point and function node in the new business pipeline is overlaid into the current business pipeline to obtain the target business pipeline.
[0237] In some embodiments, the processing unit 1302 may be used for: In response to the comparison results: the flow direction of the first flow point is the same as that of the second flow point, and the functional node to which the first flow point belongs is the same as that to which the second flow point belongs. The superposition method of the first flow point and the functional node to which the first flow point belongs is to reuse the resources of the second flow point and the functional node to which the second flow point belongs. In response to the comparison result that the flow direction of the first flow point is different from that of the second flow point, or the functional node to which the first flow point belongs is different from that to which the second flow point belongs, the method of superimposing the first flow point and the functional node to which the first flow point belongs is as follows: according to the priority of the functional priority of the functional node to which the first flow point belongs and the priority of the functional priority of the functional node to which the second flow point belongs, the first flow point and the functional node to which the first flow point belongs are superimposed into the business pipeline of the current business. The second flow point is the flow point in the current business pipeline.
[0238] In some embodiments, the functional priority of a functional node is determined based on the functional importance of the functional node and its position in the business pipeline.
[0239] In some embodiments, the processing unit 1302 may be configured to: in response to a business conflict between the current business and the new business, determine a first business pipeline and a second business pipeline based on the business priorities of the current business and the new business; the first business pipeline is the business pipeline of the business with lower business priority among the current business and the new business; the second business pipeline is the business pipeline of the business with higher business priority among the current business and the new business. Resource release processing is performed on each flow point and functional node in the first business pipeline to obtain the processed first business pipeline; the resource release processing is used to reduce the number of resource calls for each flow point and functional node; The processed first and second business pipelines are superimposed to obtain the target business pipeline.
[0240] In some embodiments, the processing unit 1302 may be used for: Perform resource release processing on each flow point and functional node in the first business pipeline to obtain the number of resource calls for each flow point and functional node; Remove the functional nodes and / or flow points in the first business pipeline that have been called a preset number of times to obtain the processed first business pipeline.
[0241] In some embodiments, the processing unit 1302 acquires the service content of the current service and the service content of the newly added service; Based on the business content of the current business and the business content of the new business, determine whether there is a business conflict between the current business and the new business.
[0242] In some embodiments, the processing unit 1302 is further configured to, in response to the completion of business processing corresponding to the second business pipeline, add the functional nodes and / or flow points removed from the first business pipeline to the first business pipeline, and perform business processing according to the added first business pipeline.
[0243] Processing unit 1302 can be used for: The first functional node in the business pipeline responding to the new business includes multiple first sub-output streams. An overlay operation is performed on each first sub-output stream in turn until each first sub-output stream in the business pipeline of the new business is overlaid into the business pipeline of the current business to obtain the target business pipeline. The first functional node can be any functional node in the business pipeline of the new business.
[0244] In some embodiments, the overlay operation includes: For any first sub-output stream, the business pipeline responding to the current business includes a second functional node, and the second functional node includes a second sub-output stream. Based on the flow point information of the first sub-output stream and the corresponding flow point information of the second sub-output stream, the first sub-output stream is superimposed on the second sub-output stream. The second functional node has the same node function as the first functional node. The second sub-output stream includes the same flow points and / or functional nodes as the first sub-output stream. In response to the current business pipeline including a second functional node, and the second functional node not including a second sub-output stream, the first sub-output stream is superimposed on the newly added sub-output stream of the second functional node; Since the current business pipeline does not include a second functional node, the first functional node and multiple first sub-output streams are superimposed onto the current business pipeline based on the node information of the first functional node and the flow point information of the flow point in the current business pipeline.
[0245] In some embodiments, the service pipeline further includes: a media source node; in response to the fact that the multimedia resources represented by the media source node of the current service are different from the multimedia resources represented by the media source node of the newly added service, the processing unit 1302 can be used to: The stream point connected to the outgoing stream point of the media source node of the current service is determined as the source switching point of the current service, and the stream point connected to the outgoing stream point of the media source node of the new service is determined as the source switching point of the new service. Based on the source switching point of the current business, the business pipeline of the current business is divided to obtain the front sub-pipeline and the back sub-pipeline of the current business. Similarly, based on the source switching point of the new business, the business pipeline of the new business is divided to obtain the front sub-pipeline and the back sub-pipeline of the new business. Based on the flow point information in the subsequent sub-pipeline of the current business and the flow point information in the subsequent sub-pipeline of the new business, the subsequent sub-pipeline of the current business and the subsequent sub-pipeline of the new business are overlaid to obtain the target sub-pipeline. Connect the current business's preceding sub-pipeline with the target sub-pipeline to obtain the target business pipeline.
[0246] In some embodiments, the processing unit 1302 may be used for: Compare the target business pipeline with the current business pipeline to obtain pipeline difference information; the pipeline difference information is used to represent at least one of the following: functional node difference, flow point difference, connection relationship difference, and sub-output flow difference; Business processes are performed based on pipeline discrepancies.
[0247] In implementing the functionality of the integrated modules described above using hardware, this disclosure provides another possible structure for the electronic device involved in the above embodiments. For example... Figure 14 As shown, the electronic device 140 includes a processor 1402 and a bus 1404. In one possible implementation, the electronic device may also include a memory 1401; optionally, the electronic device may also include a communication interface 1403.
[0248] Processor 1402 may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 1402 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with embodiments of this disclosure. Processor 1402 may also be a combination of functions implementing computational capabilities, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0249] Communication interface 1403 is used to connect to other devices via a communication network. This communication network can be Ethernet, wireless access network, wireless local area network (WLAN), etc.
[0250] The memory 1401 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0251] As one possible implementation, the memory 1401 can exist independently of the processor 1402. The memory 1401 can be connected to the processor 1402 via a bus 1404 and is used to store instructions or program code. When the processor 1402 calls and executes the instructions or program code stored in the memory 1401, it can implement the business processing method provided in the embodiments of this disclosure.
[0252] In another possible implementation, the memory 1401 can also be integrated with the processor 1402.
[0253] The 1404 bus can be an extended industry standard architecture (EISA) bus, etc. The 1404 bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 14 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0254] Some embodiments of this disclosure provide an electronic device that can perform the business processing method as described in any of the embodiments above.
[0255] Some embodiments of this disclosure provide a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium) storing computer program instructions that, when executed on a computer, cause the computer to perform a business processing method as described in any of the above embodiments.
[0256] Exemplary examples of computer-readable storage media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). The various computer-readable storage media described in this disclosure may represent one or more devices and / or other machine-readable storage media for storing information. The term "machine-readable storage medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0257] This disclosure provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the business processing method described in any of the above embodiments.
[0258] The above description is merely a specific embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any changes or substitutions within the technical scope disclosed in this disclosure should be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.
Claims
1. A business processing method, characterized in that, include: Obtain the business pipeline and flow point information for the current business, as well as the business pipeline and flow point information for newly added businesses; Based on the flow point information of the current service and the flow point information of the new service, the business pipeline of the current service and the business pipeline of the new service are superimposed to obtain the target business pipeline; Perform business processing according to the target business pipeline.
2. The method according to claim 1, characterized in that, The flow point information includes: the flow direction, the functional node to which the flow point belongs, and the functional priority of the functional node.
3. The method according to claim 1, characterized in that, The step of overlaying the business pipeline of the current service and the business pipeline of the new service based on the flow point information of the current service and the flow point information of the new service to obtain the target business pipeline includes: According to the flow point order in the current business pipeline and the flow point order in the new business pipeline, the flow point information of the flow point in the current business pipeline and the flow point information of the new business pipeline are compared one by one to obtain the comparison result; Based on the comparison results, the first flow point and the superposition method of the functional node to which the first flow point belongs are determined; the first flow point is the flow point in the business pipeline of the new service. Based on the aforementioned overlay method, the first flow point is overlaid into the current service's service pipeline until each flow point and function node in the new service's service pipeline is overlaid into the current service's service pipeline, thereby obtaining the target service pipeline.
4. The method according to claim 3, characterized in that, The step of determining the first flow point and the superposition method of the functional node to which the first flow point belongs based on the comparison result includes: In response to the comparison result that the flow direction of the first flow point is the same as that of the second flow point, and the functional node to which the first flow point belongs is the same as that to which the second flow point belongs, the superposition method of the first flow point and the functional node to which the first flow point belongs is to perform resource reuse on the second flow point and the functional node to which the second flow point belongs. In response to the comparison result that the flow direction of the first flow point is different from that of the second flow point, or the functional node to which the first flow point belongs is different from that to which the second flow point belongs, the method of superimposing the first flow point and the functional node to which the first flow point belongs is determined as follows: according to the priority order of the functional priority of the functional node to which the first flow point belongs and the functional priority of the functional node to which the second flow point belongs, the first flow point and the functional node to which the first flow point belongs are superimposed into the business pipeline of the current business. The second flow point is a flow point in the business pipeline of the current business.
5. The method according to claim 4, characterized in that, The functional priority of the functional node is determined based on the importance of the functional node and its position in the business pipeline.
6. The method according to claim 1, characterized in that, The step of overlaying the business pipeline of the current service and the business pipeline of the new service based on the flow point information of the current service and the flow point information of the new service to obtain the target business pipeline includes: In response to a business conflict between the current service and the new service, a first service pipeline and a second service pipeline are determined based on the service priorities of the current service and the new service; the first service pipeline is the service pipeline of the service with lower service priority between the current service and the new service; the second service pipeline is the service pipeline of the service with higher service priority between the current service and the new service. Resource release processing is performed on each flow point and functional node in the first business pipeline to obtain the processed first business pipeline; the resource release processing is used to reduce the number of resource calls for each flow point and functional node; The processed first business pipeline and the second business pipeline are superimposed to obtain the target business pipeline.
7. The method according to claim 6, characterized in that, The step of performing resource release processing on each flow point and functional node in the first business pipeline to obtain the processed first business pipeline includes: Resource release processing is performed on each flow point and functional node in the first business pipeline to obtain the resource call count of each flow point and functional node; Remove the functional nodes and / or flow points in the first business pipeline that have been called a preset number of times to obtain the processed first business pipeline.
8. The method according to claim 6, characterized in that, Also includes: Obtain the business content of the current service and the business content of the newly added service; Based on the business content of the current service and the business content of the new service, determine whether there is a business conflict between the current service and the new service.
9. The method according to claim 7, characterized in that, After performing business processing according to the target business pipeline, the process further includes: In response to the completion of the business processing corresponding to the second business pipeline, the functional nodes and / or flow points removed from the first business pipeline are added to the first business pipeline, and business processing is performed according to the first business pipeline after the addition.
10. The method according to claim 1, characterized in that, The step of overlaying the business pipeline of the current service and the business pipeline of the new service based on the flow point information of the current service and the flow point information of the new service to obtain the target business pipeline includes: The first functional node in the business pipeline of the new service includes multiple first sub-output streams. An overlay operation is performed on each first sub-output stream in turn until each first sub-output stream in the business pipeline of the new service is overlaid into the business pipeline of the current service to obtain the target business pipeline. The first functional node is any functional node in the business pipeline of the new service.
11. The method according to claim 10, characterized in that, The overlay operation includes: For any first sub-output stream, in response to the current service's service pipeline including a second functional node, and the second functional node including a second sub-output stream, the first sub-output stream is superimposed onto the second sub-output stream based on the flow point information of the first sub-output stream and the corresponding flow point information of the second sub-output stream; the second functional node has the same node function as the first functional node; the second sub-output stream includes the same flow points and / or functional nodes as the first sub-output stream; In response to the fact that the current business pipeline includes the second functional node, and the second functional node does not include the second sub-output stream, the first sub-output stream is superimposed on the newly added sub-output stream of the second functional node; In response to the fact that the current service's service pipeline does not include the second functional node, the first functional node and the plurality of first sub-output streams are superimposed onto the current service's service pipeline based on the node information of the first functional node and the flow point information of the flow points in the current service's service pipeline.
12. The method according to claim 1, characterized in that, The service pipeline further includes: a media source node; in response to the difference between the multimedia resources represented by the media source node of the current service and the multimedia resources represented by the media source node of the new service, the step of superimposing the service pipeline of the current service and the service pipeline of the new service based on the flow point information of the current service and the flow point information of the new service to obtain the target service pipeline includes: The stream point connected to the outgoing stream point of the media source node of the current service is determined as the source switching point of the current service, and the stream point connected to the outgoing stream point of the media source node of the new service is determined as the source switching point of the new service. Based on the source switching point of the current service, the service pipeline of the current service is divided to obtain the front sub-pipeline and the back sub-pipeline of the current service; and based on the source switching point of the new service, the service pipeline of the new service is divided to obtain the front sub-pipeline and the back sub-pipeline of the new service. Based on the flow point information in the subsequent sub-pipeline of the current service and the flow point information in the subsequent sub-pipeline of the new service, the subsequent sub-pipeline of the current service and the subsequent sub-pipeline of the new service are superimposed to obtain the target sub-pipeline. Connect the current sub-pipeline to the target sub-pipeline to obtain the target service pipeline.
13. The method according to claim 1, characterized in that, The process of performing business processing according to the target business pipeline includes: The target service pipeline and the current service pipeline are compared to obtain pipeline difference information; the pipeline difference information is used to indicate at least one of the following: functional node difference, flow point difference, connection relationship difference, and sub-output flow difference; Business processing is performed based on the pipeline difference information.
14. An electronic device, characterized in that, Memory and processor; The memory stores instructions that the processor can execute; When the processor is configured to execute the instructions, it causes the electronic device to implement the method as described in any one of claims 1-13.
15. A computer-readable storage medium, characterized in that, in, The computer-readable storage medium includes a non-transitory computer-readable storage medium on which computer instructions are stored, which, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-13.