Data transmission method and related apparatus
By acquiring and distributing data streams from frequently accessed multicast group addresses within a preset time period using network devices, the problem of bandwidth resource waste in multicast technology is solved, achieving efficient bandwidth utilization and improved user experience.
Patent Information
- Application Number
- CN202510580205.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-06
- Publication Date
- 2026-11-06
AI Technical Summary
Multicast technology consumes a large amount of bandwidth in its data distribution methods, leading to a waste of bandwidth resources.
Network devices acquire and distribute data streams from frequently accessed multicast group addresses within a preset time period based on preset multicast routing information, and stop acquiring and distributing data after the time period ends. They also use historical access patterns to estimate the busy level, configure preset time periods and multicast group addresses, and dynamically adjust routing information in conjunction with real-time multicast requests.
By effectively utilizing bandwidth resources, data streams can be quickly distributed during high-frequency access periods, reducing unnecessary bandwidth consumption, saving bandwidth resources, and improving user experience.
Smart Images

Figure CN123055647A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data transmission method and related apparatus. Background Technology
[0002] Multicast technology is used to send data from a source and forward it to a specific group of receivers who join the same multicast group. When the first receiver joins the multicast group, it sends a join request. After processing by intermediate nodes, the multicast source is notified to provide data, and the intermediate nodes distribute the data to the receivers. It takes a certain amount of time for the receivers to receive the data.
[0003] To accelerate data distribution, operators pre-distribute data streams to edge nodes. When the first receiver joins the multicast group, it can quickly receive data from the edge node. However, when no receiver joins the corresponding multicast group, this method still consumes a lot of bandwidth to distribute data.
[0004] Therefore, the above method of distributing data requires a large amount of bandwidth, resulting in a waste of bandwidth resources. Summary of the Invention
[0005] This application provides a data transmission method and related apparatus, which aims to reduce the waste of bandwidth resources in multicast technology.
[0006] The first aspect of this application provides a data transmission method applied to a network device. The network device, such as a switch or router, is a device capable of distributing data streams in multicast technology.
[0007] The data transmission method includes: if the current time is within a preset time period, continuously acquiring and distributing the first data stream according to preset multicast routing information; wherein, the preset multicast routing information includes a preset multicast group address, the preset multicast group address is the multicast group address corresponding to the first data stream, and the estimated busy level of the preset multicast group address accessed within the preset time period exceeds a first threshold; after the preset time period ends, stopping the acquisition of the first data stream and ending the distribution of the first data stream.
[0008] The preset time period includes a start time and an end time. When the start time is reached, the network device loads the preset multicast routing information. There is a correspondence between the preset multicast group address and the preset time period. The preset multicast group address is, for example, a high-frequency access multicast group address determined by analyzing historical access patterns, and the preset time period is, for example, the high-demand period for the preset multicast group address. When configuring the preset time period, based on historical experience or historical data analysis, the busy level of future time periods can be estimated based on time correlation. For example, based on historical experience or historical data analysis, if it is determined that a certain multicast group address is frequently accessed during a certain time period each day, then that multicast group address is designated as the preset multicast group address, and that time period is designated as the preset time period. Evaluation indicators for estimating the busy level include, for example, the number of accesses, duration, traffic volume, or the frequency of incoming requests. The first threshold is, for example, a fixed value or a dynamically specified value. The network device continuously acquires and distributes the first data stream according to the preset multicast routing information, and stops acquiring and distributing the first data stream according to the preset multicast routing information at the end of the preset time period. The first data stream is the data stream acquired within the preset time period.
[0009] In the first aspect mentioned above, network devices continuously acquire and distribute data streams to preset multicast group addresses during periods of frequent access. If a receiver requests a data stream to the preset multicast group address within the preset time period, the data stream can be quickly distributed to it. Furthermore, since this period involves frequent access, the distributed data stream is highly likely to be effectively received by the nodes, thus effectively utilizing bandwidth resources. In addition, outside the preset time period, acquiring data streams is stopped, reducing unnecessary bandwidth consumption and saving bandwidth resources.
[0010] In one possible implementation, if the current time is within a preset time period, before continuously acquiring the first data stream according to the preset multicast routing information, the method further includes:
[0011] Obtain a first historical time period and a first historical multicast group address; wherein, the historical busy level of the first historical multicast group address accessed during the first historical time period exceeds a first threshold; configure a preset time period based on the first historical time period; wherein, the preset time period is at least one preset period apart from the first historical time period; configure preset multicast routing information based on the first historical multicast group address; wherein, the preset multicast group address is the same as the first historical multicast group address.
[0012] In this possible implementation, based on the periodicity of the access to multicast group addresses, and combining the first historical time period when the historical access to multicast group addresses exceeds the first threshold with the first historical multicast group addresses, the corresponding multicast group addresses still have the same access level within the corresponding time period after at least a preset period. Even if the actual access level of multicast group addresses in the future period has not been specifically determined, the preset time period and preset multicast group addresses can still be estimated based on the periodicity, thereby accurately obtaining the multicast group addresses of the busy time period.
[0013] In one possible implementation, obtaining the first historical time period and the first historical multicast group address includes: obtaining historical access information; wherein the historical access information includes historical time periods, historical multicast group addresses, and historical access characteristics, and the historical access characteristics include the number of historical accesses, the duration of historical accesses, or the number of times the historical access was hit by a scan; determining historical access popularity based on the historical access characteristics; wherein the historical access popularity is positively correlated with the historical access characteristics, and the historical access popularity indicates the level of activity of the historical multicast group address within the historical time period; and obtaining the first historical time period and the first historical multicast group address based on the historical access popularity, the historical time period, and the historical multicast group address.
[0014] In this possible implementation, the number of historical accesses describes the frequency of access to historical multicast group addresses within a historical time period, the duration of historical accesses describes the user's stickiness in accessing historical multicast group addresses, and the number of times a user is scanned and hit during historical accesses describes the probability of a user accessing a multicast group address within a historical time period. By determining the historical access popularity based on these historical access characteristics, the busyness of historical accesses can be quantified, accurately reflecting the busyness of accessing historical multicast group addresses within a historical time period. Furthermore, based on the historical access popularity, a first historical access popularity exceeding a first threshold is determined, and based on the historical time period corresponding to the first historical access popularity exceeding the first threshold and the corresponding historical multicast group address, a first historical time period and a first historical multicast group address are determined, accurately identifying the busy time period and multicast group address.
[0015] In one possible implementation, obtaining historical access information includes: receiving at least one historical multicast request; the historical multicast request includes a historical multicast join request or a historical multicast leave request; obtaining historical access information based on at least one historical multicast request; wherein, the historical time period is the time period in which the historical multicast request is received, the historical multicast group address is the multicast address contained in the historical multicast request, and the historical access features are obtained based on the features of the historical multicast request.
[0016] In this possible implementation, the received historical multicast requests reflect the multicast needs of downstream nodes. Since the network equipment is installed in a specific area, the multicast needs of users in that specific area are relatively stable. By determining historical access characteristics through historical multicast requests, access popularity can be further determined, and access habits in local areas can be captured. The obtained preset time period and preset multicast group address reflect the access habits of users in a specific area, thus having high accuracy.
[0017] In one possible implementation, determining historical access popularity based on historical access characteristics includes: determining the interface access popularity of multiple interfaces based on historical access characteristics; wherein, the interface access popularity is the historical access popularity of accessing a historical multicast group address through an interface within a historical time period; and the historical access popularity is obtained by summing the access popularity of multiple interfaces to the same historical multicast group address within the same historical time period.
[0018] In this possible implementation, a network device has multiple interfaces, each with users joining and leaving, and each interface can calculate its corresponding popularity. The popularity of multiple interfaces is then summed to obtain the total popularity of all users connected to the network device. By accumulating the historical access popularity of multiple interfaces to the same historical multicast group address within the same historical time period, the resulting historical access popularity can reflect the overall access trend of multiple downstream users and their overall access habits.
[0019] In one possible implementation, determining historical access popularity based on historical access characteristics includes: determining multiple periodic access popularity based on historical access characteristics; wherein the historical time periods of the multiple periodic access popularity differ by at least one preset period; and performing a weighted summation of the multiple periodic access popularity to obtain the historical access popularity; wherein the weights of the multiple periodic access popularity are correlated with the interval between the historical time period and the current time, and the correlation is either positive or negative.
[0020] Historical access popularity exhibits a periodicity; however, the access popularity across multiple historical periods is not entirely identical, but rather influenced by the corresponding historical access information. There are certain variations in historical access popularity across different periods. To reflect this trend, multiple periodic popularity metrics are weighted and summed. Furthermore, the weights are correlated with the interval between the historical time period and the current time. In a negative correlation, periods closer to the current time have higher weights. In a positive correlation, periods closer to the current time have lower weights. For example, Monday's 8:00-9:00 AM receives one popularity metric, Tuesday's 8:00-9:00 AM receives another, and so on for Wednesday, Thursday, and so on, up to Sunday. The popularity of different periodic times (e.g., one day is one period) is used for weighted calculation; the closer a period is to the current time, the higher its weight, and the older the historical period, the lower its weight.
[0021] In this possible implementation, multiple periodic access trends correspond to different historical time periods, with each historical time period differing from the others by one or more preset periods. The access trends from different time periods are weighted and summed. Optionally, the weights can be adjusted according to the application scenario. For example, some scenarios may prioritize recent data, giving higher weight to recent trends, while other scenarios may focus more on long-term trends, giving higher weight to past trends, thus enhancing the method's adaptability. This approach yields more accurate historical access trends.
[0022] In one possible implementation, a preset time period is configured based on a first historical time period. This includes: accumulating a target number of preset periods within the first historical time period to obtain the preset time period; where the target number is greater than the first number, and the first number is the number of preset periods between the current time and the end time of the first historical time period. For example, if the current time is a certain moment on Y year M month D day, and preset multicast routing information needs to be configured the next day, then the next day is Y year M month D+1 day. The first historical time period is, for example, the evening A period on Y year D month D-1 day. Then the difference between the next day and the first historical time period is D+1 - (D-1 + A period duration) = 2 - A period duration (days). A period, for example, is from 6 PM to midnight, approximately 0.25 days. The preset period is 1 day, representing that the same time period on different days has similar access patterns and similar access busyness. The target number = C(2-0.25) / 1, where C represents rounding up, which is 2. Thus, by adding two days to the first historical time period, we obtain the evening A time period on D+1 day of year D month, Y year, which is used as the preset time period. This allows us to capture periodic access patterns, such as the peak video stream at 8 pm on weekdays, improving the targeting of popularity analysis.
[0023] In one possible implementation, based on the first historical multicast group address, preset multicast routing information is configured, including: determining a preset multicast group address and a preset interface based on the first historical multicast group address; wherein the preset interface is an interface for accessing the first historical multicast group address; and configuring preset multicast routing information based on the preset multicast group address and the preset interface; wherein the preset interface is used to distribute the first data stream.
[0024] In this possible implementation, if a multicast group address is frequently accessed within a historical time period, after a certain interval, that multicast group address will still be assessed as frequently accessed within a corresponding time period in the future. For example, multicast group addresses for certain popular channels are frequently accessed during prime time each evening. The method for determining whether a specific multicast group address is being accessed is by receiving historical multicast requests through an interface and identifying the multicast group address included in those requests. This determines the access demand of a specific interface for that specific multicast group address and identifies the preset interface. This allows for the determination of the access pattern of a specific interface for a specific multicast group address. Within the corresponding time period, data streams are grouped and distributed to the corresponding interface for that multicast group address, ensuring accurate data stream distribution and reducing bandwidth waste.
[0025] In one possible implementation, if the current time is within a preset time period, before continuously acquiring the first data stream according to the preset multicast routing information, the method further includes: receiving a configuration instruction; wherein the configuration instruction includes a preset time period, a preset multicast group address, and a preset interface; based on the configuration instruction, configuring the preset time period and preset multicast routing information, wherein the preset multicast group routing information also includes a preset interface, and the preset interface is used to distribute the first data stream.
[0026] In this possible implementation, an external configuration command is received, explicitly specifying a preset time period, a preset multicast group address, and a preset interface. Based on this, the configuration of the preset time period and preset multicast routing information is completed. For example, the administrator or the upper-layer system directly specifies key parameters to meet specific business needs (such as configuring a specific time period and multicast group for a live broadcast event). Command-driven configuration allows for the rapid application of new preset parameters, shortening the configuration take-off time. The flexibility of the command content adapts to customized configurations for different scenarios.
[0027] In one possible implementation, the data transmission method further includes: if the current time is not within a preset time period, configuring target multicast routing information based on the received first multicast request; wherein the target multicast routing information includes the target multicast group address of the first multicast request and the target interface receiving the first multicast request; obtaining a second data stream based on the target multicast routing information, and distributing the second data stream; wherein the target multicast group address is used to obtain the second data stream, and the target interface is used to distribute the second data stream. The second data stream is a data stream obtained outside the preset time period.
[0028] In this possible implementation, outside of a preset time period, the target multicast routing information is dynamically configured based on real-time received multicast requests (including multicast group addresses and interface information), and data streams are distributed accordingly. By responding to real-time multicast requests, the data stream distribution needs during off-peak periods can be met, and multicast requests outside of preset time periods can also be processed, enhancing service continuity.
[0029] A second aspect of this application provides a data transmission apparatus, comprising:
[0030] The first distribution module is used to continuously acquire and distribute the first data stream according to the preset multicast routing information if the current time is within a preset time period; wherein, the preset multicast routing information includes a preset multicast group address, the preset multicast group address is the multicast group address corresponding to the first data stream, and the estimated busy level of the preset multicast group address accessed within the preset time period exceeds a first threshold.
[0031] The stop module is used to stop acquiring the first data stream and end the distribution of the first data stream after a preset time period ends.
[0032] In one possible implementation, the data transmission device further includes:
[0033] The acquisition module is used to acquire a first historical time period and a first historical multicast group address; wherein, the historical busyness of the first historical multicast group address during the first historical time period exceeds a first threshold.
[0034] The first configuration module is used to configure a preset time period based on a first historical time period; wherein the preset time period is at least one preset period apart from the first historical time period; and to configure preset multicast routing information based on the first historical multicast group address; wherein the preset multicast group address is the same as the first historical multicast group address.
[0035] In one possible implementation, the acquisition module is specifically used for:
[0036] Obtain the first historical time period and the first historical multicast group address, including:
[0037] Obtain historical access information; the historical access information includes historical time periods, historical multicast group addresses, and historical access characteristics, including the number of historical accesses, the duration of historical accesses, or the number of times the system was scanned and hit during historical accesses;
[0038] Based on historical access characteristics, historical access popularity is determined; where historical access popularity is positively correlated with historical access characteristics, and historical access popularity represents the level of activity of historical multicast group addresses within a historical time period.
[0039] Based on historical access popularity, historical time period, and historical multicast group address, obtain the first historical time period and the first historical multicast group address.
[0040] In one possible implementation, when the acquisition module is used to obtain historical access information, it is specifically used for:
[0041] Receive at least one history multicast request; the history multicast request includes a history multicast join request or a history multicast leave request.
[0042] Based on at least one historical multicast request, historical access information is obtained; wherein, the historical time period is the time period in which the historical multicast request was received, the historical multicast group address is the multicast address contained in the historical multicast request, and the historical access features are obtained based on the features of the historical multicast request.
[0043] In one possible implementation, when the acquisition module determines historical access popularity based on historical access characteristics, it is specifically used for:
[0044] Based on historical access characteristics, the access popularity of multiple interfaces is determined; where, the access popularity is the historical access popularity of accessing a historical multicast group address through an interface within a historical time period.
[0045] The historical access popularity is obtained by summing the access popularity of multiple interfaces of the same historical multicast group address within the same historical time period.
[0046] In one possible implementation, when the acquisition module determines historical access popularity based on historical access characteristics, it is specifically used for:
[0047] Based on historical access characteristics, multiple periodic access hotspots are determined; wherein, the historical time periods of the multiple periodic access hotspots differ by at least one preset period.
[0048] The historical access popularity is obtained by weighted summation of multiple periodic access popularity; the weights of the multiple periodic access popularity are related to the interval between the historical time period and the current time.
[0049] In one possible implementation, the first configuration module is used to configure a preset time period based on a first historical time period, specifically for:
[0050] Accumulate a target number of preset periods into the first historical time period to obtain a preset time period; wherein, the target number is greater than the first number, and the first number is the number of preset periods between the current time and the end time of the first historical time period.
[0051] In one possible implementation, when the first configuration module configures preset multicast routing information based on the first historical multicast group address, it is specifically used for:
[0052] Based on the first historical multicast group address, determine the preset multicast group address and the preset interface; wherein, the preset interface is the interface for accessing the first historical multicast group address;
[0053] Configure preset multicast routing information based on preset multicast group addresses and preset interfaces; wherein, the preset interface is used to distribute the first data stream.
[0054] In one possible implementation, the data transmission device further includes:
[0055] The receiving module is used to receive configuration instructions; the configuration instructions include a preset time period, a preset multicast group address, and a preset interface.
[0056] The second configuration module is used to configure a preset time period and preset multicast routing information based on configuration instructions. The preset multicast group routing information also includes a preset interface, which is used to distribute the first data stream.
[0057] In one possible implementation, the data transmission device further includes:
[0058] The third configuration module is used to configure target multicast routing information based on the received first multicast request if the current time is not within a preset time period; wherein, the target multicast routing information includes the target multicast group address of the first multicast request and the target interface that received the first multicast request;
[0059] The second distribution module is used to obtain the second data stream based on the target multicast routing information and to distribute the second data stream; wherein, the target multicast group address is used to obtain the second data stream and the target interface is used to distribute the second data stream.
[0060] A third aspect of this application provides a data transmission apparatus, comprising: a processor; and a memory coupled to the processor, the memory being used to store program instructions, wherein the program instructions, when executed on the processor, implement the method described in the first aspect or any possible implementation thereof.
[0061] A fourth aspect of this application provides a data transmission apparatus, comprising: one or more modules, wherein the one or more modules are used to implement the method of the first aspect or any possible implementation thereof.
[0062] The fifth aspect of this application provides a computer-readable storage medium storing a computer program or instructions that, when executed by a processor, implement the method described in the first aspect or any possible implementation thereof.
[0063] The sixth aspect of this application provides a computer program product, including a computer program or instructions, which, when executed by a computer, implements the first aspect or any possible implementation of the first aspect.
[0064] A seventh aspect of this application provides a chip including one or more processors. Some or all of the processors are configured to read and execute computer instructions stored in memory to perform the method described in the first aspect or any possible implementation thereof.
[0065] Optionally, the chip may also include memory.
[0066] Optionally, the chip also includes a communication interface, to which the processor is connected. The communication interface is used to receive data and / or information that needs to be processed. The processor obtains the data and / or information from the communication interface, processes the data and / or information, and outputs the processing results through the communication interface.
[0067] Alternatively, the communication interface can be an input / output interface or a bus interface.
[0068] The method provided in this application can be implemented by a single chip or by multiple chips working together.
[0069] The solutions provided in aspects two through seven above, with reference to the beneficial effects of the solution in aspect one above, will not be elaborated upon here. Attached Figure Description
[0070] Figure 1 This is a schematic diagram of the structure of the data transmission system provided in the embodiments of this application;
[0071] Figure 2 This is a schematic diagram of another data transmission system provided in an embodiment of this application;
[0072] Figure 3 A flowchart illustrating the data transmission method provided in an embodiment of this application;
[0073] Figure 4 A flowchart illustrating another data transmission method provided in an embodiment of this application;
[0074] Figure 5 This is a schematic diagram illustrating the interaction between nodes in the data transmission system provided in the embodiments of this application;
[0075] Figure 6 This is a schematic diagram of the structure of the data transmission device provided in the embodiments of this application;
[0076] Figure 7 This is another structural schematic diagram of the data transmission device provided in an embodiment of this application. Detailed Implementation
[0077] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by this application are also applicable to similar technical problems.
[0078] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. In the embodiments of this application, the term "at least one" refers to one or more, and "more than one" refers to two or more.
[0079] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0080] Reference Figure 1 , combined Figure 1 This application describes the data transmission system architecture provided in its embodiments. The data transmission system includes a multicast source, node 1, node 2, node 3, and node 4. The multicast source is connected to node 1 via a network and is used to provide data streams. Node 1, as a node distributing data streams, has multiple interfaces, including an upstream interface X and downstream interfaces: interface A, interface B, and interface C. The upstream interface X connects to the multicast source and is used to receive data streams (such as a first data stream). Interfaces A, B, and C are connected to nodes 2, 3, and 4, respectively. Optionally, nodes 2, 3, and 4 are directly or indirectly connected to downstream devices, such as end users, edge nodes, or other network devices. Nodes 2, 3, and 4 are used to distribute data streams to downstream devices.
[0081] In this data transmission system, upstream refers to the direction towards the multicast source, and downstream refers to the direction towards the user equipment. For node 1, the upstream interface refers to interface X connecting to the upstream node, and the downstream interfaces refer to interfaces A, B, and C connecting to the downstream nodes. The upstream node is the multicast source, and the downstream nodes are nodes 2, 3, and 4. Multicast routing information is stored in the form of routing table entries, recording the data forwarding path, including the multicast group address, upstream interface, and downstream interface, used to indicate the acquisition and distribution of data streams. Optionally, the default multicast routing information also includes the source address, used to identify the address of the multicast source.
[0082] Node 1 monitors the current time in real time. If the current time falls within a preset time period, such as from A to B time each day, which may be a peak traffic period, it invokes preset multicast routing information. Preset multicast routing information consists of routing table entries pre-generated based on historical access information or external configuration commands. It includes preset multicast group addresses and, optionally, downstream interfaces. Preset multicast group addresses include, for example, multicast group addresses with access popularity exceeding a first threshold, and downstream interfaces include interfaces A, B, and C. The preset multicast routing information can be configured, for example, through automatic configuration based on historical access information or manual configuration based on external configuration commands.
[0083] In the automatic configuration mode, Node 1 generates historical access features by receiving historical multicast requests from Nodes 2, 3, and 4, extracting access features such as access frequency, duration, and the number of times the access was scanned and hit, and calculates historical access popularity. Based on the access popularity of multiple periodic time periods (such as multiple daily A time periods, or multiple weekly Fridays, etc.), a weighted sum is obtained to obtain the cumulative popularity. The target popularity is then selected from multiple cumulative popularity values. The target popularity is used to determine the preset time period and preset multicast group address. Specifically, the preset time period is obtained by accumulating the historical time periods corresponding to the target popularity to the current time, and the historical multicast group address corresponding to the target popularity is used as the preset multicast group address. In the manual configuration mode, Node 1 receives configuration instructions sent by the administrator or control node. The configuration instructions include the preset time period, preset multicast group address, and downstream interface information. Node 1 directly parses and applies the instruction content to generate preset multicast routing information. This method is suitable for rapid deployment, temporary or specific business scenarios, such as large-scale live events, and can be used in conjunction with automatic configuration.
[0084] Within a preset time period, Node 1 acquires and distributes the first data stream according to the preset multicast routing information. High-frequency data streams are received in advance from the multicast source via upstream interface X and cached to reduce response latency for real-time requests. In other implementations, if a downstream interface, such as interface A, is not in the preset multicast routing information, and a multicast join request for a preset multicast group address is received through interface A, then interface A is dynamically added to the preset multicast routing information, and the preset multicast routing information is updated. If interface A is already in the preset multicast routing information, then the data stream is directly distributed to downstream nodes through interface A.
[0085] When Node 1 detects the end of a preset time period, it stops acquiring and distributing data streams based on preset multicast routing information to save bandwidth and computing resources. Outside of preset time periods, Node 1 dynamically configures target multicast routing information based on real-time received multicast requests. Multicast requests contain the multicast group address and corresponding downstream interface information, which is used to generate target multicast routing information, and data streams are distributed on demand through the specified interface. This approach enables responses to temporary or sudden multicast demands during off-peak periods.
[0086] Using the above method, the data transmission system can promptly distribute high-volume data streams within a preset time period, reducing transmission latency and improving user experience. Outside the preset time period, on-demand distribution reduces resource consumption and optimizes network performance. This approach is suitable for scenarios such as video stream distribution and IoT multicast.
[0087] Reference Figure 2 , combined Figure 2 This application describes another architecture for the data transmission system provided in its embodiments. The data transmission system includes a set-top box (STB), a home gateway (HG), an optical line terminal (OLT), a switch, access leaf nodes (A-leaf), spine nodes, super spine nodes, service leaf nodes (S-leaf), a core switch, and a multicast source. The multicast source connects to the service leaf nodes via the core switch. The service leaf nodes connect to the super spine nodes. The super spine nodes connect to multiple spine nodes. Each spine node connects to multiple access leaf nodes. The access leaf nodes connect to the switch. The switch connects to the OLT. The OLT connects to the home gateway. The home gateway connects to the set-top box, forming a hierarchical many-to-many topology. The set-top box, as a user-side device, can optionally receive data streams through the home gateway.
[0088] Upstream refers to the direction towards the multicast source, and downstream refers to the direction towards the user equipment. Relevant nodes configure multicast routing information, stored as routing table entries, recording the data forwarding path, including the multicast group address, upstream interface, and downstream interface. The upstream interface is used to receive data from upstream nodes, and the downstream interface is used to distribute data to downstream nodes. For example, for an optical line terminal, the upstream interface connects to the switch, and the downstream interface connects to the home gateway; for an access leaf node (A-leaf), the upstream interface connects to the spine node, and the downstream interface connects to the switch. Multicast routing information is based on source-specific multicast (SSM) or any-source multicast (ASM) protocols. Optionally, the default multicast routing information includes the multicast source address to adapt to source-specific multicast scenarios.
[0089] The set-top box sends multicast group join or leave requests to the home gateway to join or leave a specific multicast group. The set-top box receives multicast streams, decodes them (e.g., H.264 / H.265) into video content, and provides it for playback on televisions or other display devices. The home gateway handles multicast requests from home devices, including set-top boxes and other terminals such as mobile phones and PCs. The home gateway can act as an Internet Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) proxy, aggregating multicast requests from home devices, generating unified multicast join / leave requests, and forwarding them to the optical line terminal, reducing the processing burden on upstream nodes.
[0090] The optical line terminal (OLT), acting as an edge device, receives multicast traffic and distributes it to the user side, such as home gateways and set-top boxes. The OLT monitors the current time in real time. If it falls within a preset time period, such as the peak traffic period from 18:00 to 22:00 daily, it triggers the configuration of preset multicast routing information. This preset multicast routing information includes the preset multicast group address, the upstream interface connecting to the switch, and the downstream interface connecting to the home gateway.
[0091] Within a preset time period, the optical line terminal (OLT) acquires data streams based on preset multicast routing information and distributes them to downstream interfaces. It acquires high-traffic data streams pre-cached by the switch via upstream interfaces to reduce response latency. Optionally, the OLT employs two downstream interface joining methods: first, based on actual received multicast group join requests, it dynamically adds the downstream interface receiving the request to the preset multicast routing information, provided the requested multicast group address matches the preset multicast group address; second, based on historical access popularity prediction, it by default adds the downstream interfaces connected to downstream nodes with a high probability of joining to the preset multicast routing information. If the downstream interface is already in the preset multicast routing information, the data stream is directly distributed.
[0092] The switch connects to optical line terminals (OLTs) and receives multicast requests from them, forwarding data streams to the OLTs. Within a preset time period, the switch is configured with preset multicast routing information, including preset multicast group addresses, upstream interfaces, and downstream interfaces. The switch dynamically adds downstream interfaces based on multicast join requests from OLTs, or predicts and defaults to adding high-probability downstream interfaces based on historical popularity, such as downstream interfaces of frequently requested OLTs. Access leaf nodes are configured with preset multicast routing information, including preset multicast group addresses, upstream interfaces, and downstream interfaces, and are added to downstream interfaces and data distributed in a similar manner.
[0093] The ridge node is configured with preset multicast routing information, including the preset multicast group address, upstream interface, and downstream interface. The downstream interface is used to distribute multicast traffic to the A-leaf nodes. The super ridge node is configured with preset multicast routing information, including the preset multicast group address, upstream interface, and downstream interface. The serving leaf node is configured with preset multicast routing information, including the preset multicast group address, upstream interface, and downstream interface. The core switch connects the serving leaf nodes and the multicast source, is configured with preset multicast routing information, including the preset multicast group address, upstream interface, and downstream interface, and distributes multicast traffic to the serving leaf nodes. The multicast source provides the data stream, which is distributed to the downstream network through the core switch.
[0094] Within a preset time period, the aforementioned nodes, such as optical line terminals, switches, A-leaf, Spine, Super-Spine, Service Leaf, and core switches, act as the executing entities, invoking their respective preset multicast routing information and synchronizing routing status based on protocol-independent multicast (PIM) to ensure stable data transmission from the multicast source to the user side. Node collaboration is achieved through multicast protocols such as PIM-SM and IGMP / MLD. Upstream nodes dynamically update their routing tables based on join requests from downstream nodes. If a user-side device, such as an STB or HG, does not send a multicast join request, but an upstream node, such as a switch, has already obtained data based on the preset multicast routing information, it can immediately distribute the request to the optical line terminal upon receipt. The optical line terminal buffers the data and immediately returns the buffered data stream upon receiving the request, significantly shortening the response time.
[0095] When a node detects the end of a preset time period, it stops acquiring and distributing data streams based on preset multicast routing information. Optionally, it performs route pruning, removing invalid or low-activity route entries, such as interfaces with no active requests, to release bandwidth and interface resources. Outside of preset time periods, the node dynamically configures target multicast routing information based on real-time received multicast join requests, including the requested multicast group address and downstream interface, and distributes data streams on demand. This approach ensures that temporary needs during off-peak periods are met while avoiding resource waste.
[0096] By adopting the above method, the data transmission system can quickly respond to high-volume multicast demands within a preset time period by acquiring and dynamically configuring routing, and adapt to temporary requests by distributing on demand outside the preset time period, thus optimizing the overall user experience and bandwidth resource utilization.
[0097] like Figure 3 As shown, combined with Figure 3 This application introduces a data transmission method according to an embodiment of the present application. The data transmission method includes:
[0098] Step 301. If the current time is within a preset time period, the network device will continuously acquire the first data stream according to the preset multicast routing information and distribute the first data stream.
[0099] The preset multicast routing information includes a preset multicast group address, which is the multicast group address corresponding to the first data stream. The estimated busy level of the preset multicast group address accessed within a preset time period exceeds a first threshold.
[0100] Optionally, the preset time period is a fixed time period. This fixed time period can be obtained, for example, based on historical access data analysis or set by administrator experience. A fixed time period is suitable for scenarios with stable multicast access patterns. Historical access data includes historical multicast requests or historical access characteristics. Historical multicast requests include join or leave requests from historical times. Historical access characteristics include the number of visits, duration, and the number of times the access was detected by a scan. Access popularity is calculated based on historical access characteristics to identify high-frequency access time periods. For example, analyzing data from the past month might identify high-frequency periods as 12:00-14:00 and 17:00-22:00 daily, or all day Saturday and Sunday as peak periods. Administrator experience can be based on industry standards or business needs, such as the prime time for interactive network television (IPTV), where a fixed time period of 18:00-23:00 daily is used. Optionally, the fixed time period can be set at various granularities, including daily hourly levels (e.g., every 4 hours), weekly specific dates, or monthly specific cycles (e.g., end-of-month promotions), to match the configuration requirements of different scenarios.
[0101] Optionally, the preset time period is dynamic. The dynamic time period is intelligently set based on reference data and dynamically adjusted through real-time or periodic analysis to adapt to fluctuations in multicast access patterns. Reference data includes historical access data and future event data. Access popularity is calculated by analyzing the access characteristics of multicast group addresses over a past period, such as a week or month, divided into different time periods each day, for example, 24 time periods. Based on the number of accesses and duration of each day over the past week, the popularity of similar time periods is weighted and summed to select high-popularity time periods, which are then combined with future time to configure the preset time period. Future event data includes predictable event times, such as the estimated time periods for large-scale live events, concerts, press conferences, sporting events, or holiday promotions, obtained through external input, such as from the event schedule application programming interface (API) or configured by the administrator. The dynamic time period is updated in real time, combined with real-time traffic monitoring, periodically re-analyzing the reference data, and adjusting the preset time period to ensure a high degree of match between the configuration and actual needs.
[0102] Optionally, different preset multicast group addresses may correspond to the same or different preset time periods. One preset time period corresponds to one or more preset multicast group addresses, and preset multicast routing information is configured for the corresponding multicast group address within the preset time period. Same time periods are suitable for multicast groups with similar access patterns, such as multiple live channels sharing the same preset time period during peak hours from 18:00 to 22:00 daily. Different time periods are suitable for multicast groups with staggered access peaks, each configured with different preset time periods, such as sports channels on weekend afternoons and movie channels in the evening. The configuration process includes determining the correspondence between multicast group addresses and time periods based on historical access popularity analysis or administrator commands. Optionally, to avoid resource contention caused by multiple multicast groups sharing time periods, resource usage is optimized through bandwidth allocation algorithms, such as priority scheduling or interface load balancing, to improve distribution efficiency.
[0103] The following is an example of how to configure a preset multicast group address:
[0104] Preset multicast group addresses are one or more multicast group addresses manually assigned by the administrator. Manual assignment can be done through configuration files, API interfaces, or input into the management platform, fixing specific multicast group addresses. For example, multicast group address 1 represents live channel A, address 2 represents channel B, and address 3 represents channel C. Optionally, to prevent misconfiguration, network devices perform verification, checking the validity of the input addresses, such as conforming to the multicast address range and verifying the availability of the verification interface. Manual assignment is suitable for fixed business scenarios, such as long-running IPTV channels, or temporary events, such as live broadcasts of specific sports events, facilitating rapid deployment. Administrators update the assigned multicast group addresses in real time through the management platform to adapt to business changes.
[0105] Preset multicast group addresses are multicast group addresses automatically assigned by the server based on predictions. By analyzing historical access data and event data, the server predicts multicast group addresses that are likely to receive a large number of user visits in the future and automatically sets them as preset multicast group addresses, configuring corresponding preset time periods. For example, based on access volume over the past week, if the server predicts that a certain multicast group address will experience high access volume from 20:00 to 22:00 on a future Saturday due to a large-scale event live stream, then that address will be set as the preset multicast group address, with the corresponding preset time period set. Event data, such as holiday events, is input through external APIs or business systems to enhance the accuracy of predictions.
[0106] Optionally, preset metrics can be used to assess the estimated busy level of a preset multicast group address. Examples of preset metrics include the following types:
[0107] The number of multicast group join requests per unit of time. This refers to the number of join requests sent to a preset multicast group address within a specific time window, such as per second, per minute, or per hour. For example, a multicast group address receiving more than 100 IGMP join requests per minute is considered high-hot.
[0108] The number of multicast group members refers to the total number of nodes that have joined a preset multicast group address within a specific time period. This can be measured instantaneously, such as the number of members at a specific moment, or on average, such as the average number of members per hour. For example, a multicast group may have 500 active nodes during peak hours.
[0109] Bandwidth usage of a data stream refers to the network bandwidth used to transmit a data stream at a preset multicast group address, quantified as an average or peak value. For example, a video stream in a multicast group might use an average of 10 Mbps.
[0110] In broadband IPTV scenarios, preset multicast group addresses correspond to specific TV channels, and popularity is indirectly assessed through externally statistical viewership ratings. Viewership data is obtained from third-party statistical platforms, operator analysis systems, or user behavior logs. High-viewership channels, such as popular programs during prime time, have their corresponding multicast group addresses selected as preset multicast group addresses.
[0111] Here is an example of how to determine the estimated level of activity:
[0112] The estimated busy level is based on the corresponding historical busy level. The estimated busy level corresponds to a preset time period, which is associated with a preset cycle and corresponds to a historical time period before one or more preset cycles. The estimated busy level of the preset time period is based on the busy level of its corresponding historical time period.
[0113] The estimated level of activity is a predicted value. For example, if a specific event (such as a large-scale live broadcast) occurs in the future, the estimated level of activity can be predicted, and in this case, it can be determined that the estimated level of activity exceeds a first threshold.
[0114] Based on the construction of a time series of historical multicast group addresses within a historical time period, the estimated busyness of future time periods is predicted based on the time series, and a preset time period is configured based on the time period where the estimated busyness exceeds a first threshold.
[0115] Optionally, the first threshold can be in a quantifiable form (such as a numerical value) or a non-quantifiable form (such as a character). For example, the estimated busyness level is based on access popularity evaluation, where access popularity is positively correlated with the number of visits or the duration of visits. The first threshold is the baseline access popularity, such as X. When the estimated access popularity is greater than X, it is considered to exceed the first threshold. Alternatively, the estimated busyness level is the viewership rating from external statistics, and the first threshold is the baseline viewership rating. Alternatively, the estimated busyness level is a classification of busyness, such as not busy, slightly busy, moderately busy, and heavily busy. Assuming the first threshold is slightly busy, then when the estimated busyness level is moderately busy or heavily busy, it is considered to exceed the first threshold. Alternatively, assuming there are M estimated busyness levels, the M estimated busyness levels are sorted, and the first threshold is the Nth estimated busyness level after sorting. In addition, as long as the first threshold can be used as a baseline, the obtained multiple estimated busyness levels can be filtered to select some that are above the baseline. The specific implementation form is not limited in the embodiments of this application.
[0116] Optionally, the network device sends a multicast group join request to an upstream node, enabling the upstream node to configure preset multicast routing information. Upon entering a preset time period, the network device sends a multicast group join request to the upstream node through its upstream interface. This request includes the preset multicast group address. The upstream node then forwards the request towards the multicast source. Upon receiving the request, the multicast source returns the corresponding data stream. The network device receives the data stream and parses the source address from the data packets. Based on the received data, the network device generates multicast routing information, including the source address, the preset multicast group address, the upstream interface, and the downstream interface. The downstream interface can be determined in ways such as: pre-specifying the downstream interface corresponding to nodes with a high probability of requesting join based on historical access popularity predictions; or dynamically adding the downstream interface specified in the request based on the actual multicast group join requests received. The generated multicast routing information serves as the network device's preset multicast routing information for the preset time period, used to indicate the acquisition and distribution of data streams.
[0117] Optionally, outside of preset time periods, network devices dynamically configure target multicast routing information based on real-time received multicast group join requests, including the requested multicast group address and downstream interface, and distribute data streams on demand. This method complements the configuration for preset time periods, matching responses to temporary or low-frequency needs. Outside of preset time periods, no acquisition is involved; routing updates and data distribution are only triggered upon receiving a request, reducing resource consumption during off-peak periods.
[0118] Optionally, if the current time is within a preset time period, before continuously acquiring the first data stream according to the preset multicast routing information, the method further includes: receiving a configuration instruction; wherein the configuration instruction includes a preset time period, a preset multicast group address, and a preset interface; and configuring the preset time period and preset multicast routing information based on the configuration instruction, wherein the preset multicast group routing information also includes a preset interface, and the preset interface is used to distribute the first data stream.
[0119] The configuration commands are issued by the administrator, who manually specifies the preset time period, preset multicast group address, and preset interface. When specifying these parameters, the administrator estimates the expected access frequency of the multicast group address within the future time period based on available information. If the estimated access frequency exceeds a first threshold, the preset time period, preset multicast group address, and preset interface are configured. Preset time periods include, for example, prime time on television channels, times when important programs are broadcast, and times when large-scale data distribution is expected.
[0120] The following are examples of how network devices acquire and distribute data (the first data stream):
[0121] Network devices achieve data stream acquisition and distribution within a preset time period through static configuration. The network device monitors the current time in real time to determine if it falls within a fixed preset time period manually configured by the administrator, such as 18:00 to 22:00 daily. The preset time period is stored in the device configuration file in a data serialization format and is pre-set by the administrator through the management platform. Upon entering the preset time period, the network device loads preset multicast routing information from its local configuration file, including the preset multicast group address, upstream interface, and downstream interface. This preset multicast routing information is manually entered based on administrator experience or historical access patterns. The network device sends a join request through the upstream interface, triggering the multicast source to return a data stream, which is then cached in a local memory buffer. Optionally, the multicast source is configured to actively provide the first data stream; the network device receives the first data stream and forwards it according to the preset multicast routing information. The network device distributes the cached data to the downstream interface based on the preset multicast routing information. If a downstream node sends a multicast join request, the network device verifies whether the requested multicast group address matches the preset address; if they match, the cached data is directly distributed. This method is suitable for scenarios in small networks where access demand is predictable.
[0122] Network devices dynamically acquire and distribute multicast data through historical access data analysis. The network device determines whether it is within a dynamically preset time period. This dynamic time period is stored in a local database and generated based on historical multicast request analysis. The network device periodically processes historical request data, extracting access characteristics such as the number of join requests per hour, the number of multicast group members, and bandwidth usage. It calculates access popularity through weighted summation and filters high-popularity time periods, such as 18:00 to 22:00 daily, where the popularity value exceeds a threshold of 50. Once within the preset time period, the network device loads preset multicast routing information from the database, including high-popularity multicast group addresses, upstream interfaces, and downstream interfaces. The network device sends a join request through the upstream interface, triggering the multicast source to return data. If a new multicast join request is received, the interface is dynamically added after verifying address matching. This method is suitable for scenarios where access patterns change over time and peak periods are not fixed.
[0123] Network devices achieve predictive acquisition and distribution of event data. Using event data, such as the time of large-scale live events or sporting events, network devices determine preset time periods. This data is obtained from external APIs or through administrator input. For example, a live event is scheduled for Saturday from 20:00 to 22:00, configured as a preset time period. Once the network device's clock module determines that the time has entered the preset time period, it generates preset multicast routing information based on the multicast group address associated with the event, including the multicast group address, upstream interface, and downstream interface. The network device sends a join request, triggering the multicast source to return data. If a multicast join request is received, the interface is added after verifying address matching. Interfaces that do not receive a request are temporarily cached. This method is suitable for large-scale live events, such as major sporting events, temporary promotional video streams, or emergency broadcasts, such as disaster warnings.
[0124] Network devices achieve adaptive acquisition and distribution through real-time feedback. Based on historical access volume, the network device determines an initial preset time period, such as 18:00 to 22:00 daily, monitors real-time multicast request frequency and bandwidth usage, and dynamically adjusts the time period. If the real-time volume exceeds a threshold, the time period is extended; if it falls below the threshold, it ends early. Once the preset time period begins, the network device loads preset multicast routing information, pre-generated based on historical data, and updates the real-time volume through real-time requests, thereby controlling the acquisition and distribution of data streams in real time.
[0125] Optionally, the network device receives a multicast group join request from a downstream node, determines that the multicast group address in the request matches a preset multicast group address, and adds the downstream interface receiving the request to the preset multicast routing information. Alternatively, the network device adds a pre-configured downstream interface to the preset multicast routing information.
[0126] The network device receives a data stream from the upstream interface, determines the preset multicast routing information based on the preset multicast group address in the data stream (finds a matching multicast routing entry), determines the matching downstream interface in the multicast routing entry, copies the data stream, and forwards the copied data from the downstream interface, so that the data stream is distributed according to the preset multicast routing information.
[0127] Optionally, if the current time falls within a preset time period and the network device determines that no corresponding downstream node is receiving the data stream from the preset multicast group address, it will still retain the preset multicast routing information. That is, the entries in the multicast routing information will still be retained, enabling the rapid distribution of data streams to new nodes when they join. During the period when the preset multicast routing information exists, the network device will continuously receive data streams distributed by upstream nodes.
[0128] Step 302. After the preset time period ends, the network device stops acquiring the first data stream and ends the distribution of the first data stream.
[0129] Optionally, the following are examples of how network devices handle situations after a preset time period ends.
[0130] The network device stops distributing the first data stream after the preset time period ends. The network monitors the current time in real time. When the time exceeds the preset time period, such as from 18:00 to 22:00 daily, and the current time is 22:01, the network device stops acquiring data streams. The network device sends a leave request to the upstream node, notifying it to stop receiving data streams from the preset multicast group address. The network device clears the entries related to the preset multicast routing information in its local multicast routing table cache. The network device releases the cache, clearing the memory buffer or solid-state drive cache. This method is suitable for scenarios where multicast demand is low outside the preset time period and resources need to be released quickly.
[0131] Network devices employ a delay pruning approach to achieve gradual shutdown, balancing resource release and service continuity. The network device monitors time; when a preset time period ends (e.g., 22:01), it starts a delay timer (e.g., 30 seconds) to await potential real-time multicast requests. The network device checks its local multicast routing table, traversing preset multicast route entries, including the multicast group address, upstream interface, and downstream interface. If the downstream interface corresponding to a certain entry does not receive a join request within the delay window, it sends a leave request to the upstream node and stops receiving data streams from that multicast group. If a join request is received, it converts to dynamic routing based on real-time requests. The network device releases its cache in stages, prioritizing clearing unused multicast group data while retaining the cache for active multicast groups until the delay window ends. This method is suitable for scenarios where there is still a small amount of multicast demand outside the preset time period.
[0132] Network devices achieve adaptive stopping through real-time traffic monitoring, dynamically determining the timing of shutdown. When a preset time period ends, the network device collects the frequency of join requests and data stream bandwidth usage. If the real-time popularity of a preset multicast group address falls below a threshold, the stopping logic is triggered. The network device sends a leave request to the upstream node, ceasing to receive data from that multicast group. If the popularity remains above the threshold, real-time dynamic routing is implemented. If the cache of a multicast group is not accessed, the corresponding cache is released. This method is suitable for scenarios with complex and frequently changing traffic patterns.
[0133] Optionally, the data transmission method further includes: if the current time is not within a preset time period, configuring target multicast routing information based on the received first multicast request; wherein the target multicast routing information includes the target multicast group address of the first multicast request and the target interface receiving the first multicast request; obtaining a second data stream based on the target multicast routing information, and distributing the second data stream; wherein the target multicast group address is used to obtain the second data stream, and the target interface is used to distribute the second data stream. When the time period is not within the preset time period, the network device configures the target multicast routing information based on the actual received first multicast request, and receives and distributes the second data stream in real time, thereby maintaining the normal distribution of the data stream.
[0134] like Figure 4 As shown, combined with Figure 4 This application introduces a data transmission method according to an embodiment of the present application, the method comprising:
[0135] Step 401. The network device obtains the first historical time period and the first historical multicast group address.
[0136] Among them, the historical busyness of the first historical multicast group address accessed within the first historical time period exceeds the first threshold.
[0137] Optionally, obtaining the first historical time period and the first historical multicast group address includes: obtaining historical access information; wherein the historical access information includes historical time period, historical multicast group address, and historical access characteristics, and the historical access characteristics include the number of historical accesses, the duration of historical accesses, or the number of times the historical access was hit by a scan; determining the historical access popularity based on the historical access characteristics; wherein the historical access popularity is positively correlated with the historical access characteristics, and the historical access popularity indicates the level of activity of the historical multicast group address during the historical time period; and obtaining the first historical time period and the first historical multicast group address based on the historical access popularity, the historical time period, and the historical multicast group address.
[0138] An example of determining historical access popularity based on access counts is as follows: The network device determines the number of requests corresponding to each historical multicast request period based on multiple historical time periods. The historical access count is determined by summing the request counts for different interfaces. Based on the historical access counts for each historical time period, the historical access popularity of multiple historical multicast group addresses is determined. Historical access popularity is positively correlated with the historical access count. When the network device receives a multicast request, it determines the multicast group address in the request and accumulates the historical access counts for that address. By statistically analyzing the historical access counts for each historical time period, the historical access popularity for that time period is determined. Optionally, the magnitude of the historical access count can be used as the historical access popularity, or the historical access count can be processed in some way, such as normalization. A larger historical access count indicates a larger historical access popularity.
[0139] An example of determining historical access popularity based on historical access duration is as follows: Receive historical multicast requests; historical multicast requests include historical multicast join requests or historical multicast leave requests; determine historical access characteristics based on historical multicast requests. The network device determines the access duration corresponding to each of the multiple historical multicast time periods based on historical multicast requests from multiple historical time periods; based on the multiple historical access durations and multiple historical time periods, determine the access popularity of multiple historical multicast group addresses; where historical access popularity is positively correlated with historical access duration. Historical access duration is the duration during which a user joins a multicast group address without leaving the preset multicast group address. The access duration corresponding to that historical time period is determined by determining the duration of joining the multicast group within that historical time period. The longer the historical access duration, the greater the historical access popularity. Optionally, the ratio of the historical access duration to the size of the corresponding historical time period can be used as the historical access popularity.
[0140] The following is an example of how to determine historical access popularity based on the number of scan hits: The network device obtains the number of scan hits (the number of times accesses are scanned and hit) corresponding to multiple historical time periods; where the number of scan hits is the number of times a historical multicast group address that has not yet exited is scanned within the scanning time period, and the historical multicast group address that has not yet exited is obtained based on historical multicast requests; based on the number of scan hits corresponding to multiple historical time periods, the historical access popularity of multiple historical multicast group addresses is determined; where historical access popularity is positively correlated with the number of scan hits.
[0141] Within each historical time period, network devices scan for multicast group addresses that still have nodes joining at a certain scanning cycle. For example, within each 10-minute historical time period, a scan is performed every 30 seconds to find multicast group addresses that still have nodes joining. If a match is found, the scan hit count for that multicast group address is accumulated to obtain the scan hit count for each 10-minute historical time period. A high scan hit count indicates that the corresponding multicast group address is likely to continuously distribute data streams, rather than intermittently. A higher scan hit count indicates higher access popularity. Optionally, the scan hit count can be used as the access popularity indicator.
[0142] Optionally, the network device receives at least one historical multicast request; the historical multicast request includes a historical multicast join request or a historical multicast leave request; based on at least one historical multicast request, historical access information is obtained; wherein, the historical time period is the time period in which the historical multicast request is received, the historical multicast group address is the multicast address contained in the historical multicast request, and the historical access characteristics are obtained based on the characteristics of the historical multicast request.
[0143] Optionally, if a network device does not receive a multicast request within a certain historical time period, the access popularity is directly determined to be the minimum value, such as 0. If a network device receives a multicast request within a certain historical time period, referred to as a historical multicast request, the access popularity for that historical time period is determined based on the historical multicast requests.
[0144] Optionally, the network device determines historical access popularity through local log recording and statistics. The network device captures multicast join and leave requests in real time, writing each request record to a local log file. Each record includes a timestamp, multicast group address, request type, and interface ID. The network device periodically parses the logs and counts the number of requests for each multicast group in different time periods. Access information is stored in a local database. The network device extracts data from the past week, calculates hourly access popularity, and generates historical access popularity.
[0145] Optionally, network devices determine historical access popularity by combining multicast request data and external event data. The network device captures multicast requests, extracts the multicast group address, timestamp, request type, and source IP, and writes the data locally. The network device periodically acquires external event data, such as IPTV channel viewership and live event schedules. Request data and event data are merged daily, and hourly statistics on request count, member count, and bandwidth usage are calculated. Viewership ratings are used as an additional popularity factor, and access popularity is calculated through a weighted summation to generate historical access popularity.
[0146] Optionally, historical access popularity is determined based on historical access characteristics, including: determining the access popularity of multiple interfaces based on historical access characteristics; wherein, the interface access popularity is the historical access popularity of accessing a historical multicast group address through an interface within a historical time period; and the historical access popularity of multiple interfaces accessing the same historical multicast group address within the same historical time period is accumulated to obtain the historical access popularity. For example, if downstream interface A, downstream interface B, and downstream interface C each receive historical multicast requests within the same historical time period, and the historical multicast requests all contain the same historical multicast group address, then the popularity of accessing the same historical multicast group address by downstream interface A, downstream interface B, and downstream interface C within the same historical time period is determined respectively, and the sum is used as the access popularity of the historical multicast group address within that historical time period.
[0147] Optionally, determining historical access popularity based on historical access characteristics includes: determining multiple periodic access popularity based on historical access characteristics; wherein the historical time periods of the multiple periodic access popularity differ by at least one preset period; and performing a weighted summation of the multiple periodic access popularity to obtain the historical access popularity; wherein the weights of the multiple periodic access popularity are correlated with the interval between the historical time period and the current time.
[0148] Periodic access popularity refers to a periodic pattern among multiple access levels. For example, the distribution of historical multicast requests is roughly similar each day, leading to a similar distribution of access popularity each week; or the distribution of historical multicast requests is roughly similar each week, leading to a similar distribution of access popularity each week. Within each period, network devices record information about multicast requests for each time period, such as the multicast group address, start time, end time, and downstream interface that received the request. This recorded information can be used in subsequent periods to determine access popularity. Alternatively, within each period, the network device calculates and records the access popularity for historical multicast requests for each time period. In subsequent periods, the network device directly retrieves the recorded access popularity.
[0149] Optionally, the preset time period is at least one preset period apart from the first historical time period. Optionally, the preset period is the minimum time interval between two time periods in which the preset access pattern repeats. The preset access pattern refers to the deviation in the busy level of the same multicast group address being accessed in two time periods being less than a second threshold. The preset multicast group address is the historical multicast group address corresponding to the historical time period. Optionally, the preset period is a period set by the administrator based on historical experience.
[0150] Step 402. The network device configures a preset time period based on the first historical time period.
[0151] Optionally, based on the first historical time period corresponding to the target popularity, a preset time period is configured, including: determining a first time interval between the target time and the first historical time period based on the first historical time period corresponding to the target popularity; determining a target quantity based on the first time interval and a preset period; wherein the target quantity is the number of preset periods that differ between the target time and the first historical time period; and determining the preset time period based on the first historical time period and the target quantity and preset periods.
[0152] Optionally, based on the first historical multicast group address corresponding to the target popularity, preset multicast routing information is configured, including: determining the first historical multicast group address corresponding to the target popularity as the preset multicast group address corresponding to a preset time period; determining a preset interface based on the first interface corresponding to the first historical multicast group address; wherein the first interface is the interface that receives the first historical multicast request, and the first historical multicast request is a multicast request containing the first historical multicast group address; configuring preset multicast routing information based on the preset multicast group address and the preset interface; wherein the preset interface is used to distribute the first data stream.
[0153] Optionally, based on the first historical time period, a preset time period is configured, including: accumulating a target number of preset cycles in the first historical time period to obtain the preset time period; wherein, the target number is greater than the first number, and the first number is the number of preset cycles between the current time and the end time of the first historical time period.
[0154] Optionally, based on historical access information, a preset time period and preset multicast routing information are configured, including: determining a target popularity based on multiple historical access popularitys; configuring a preset time period based on a first historical time period corresponding to the target popularity; and configuring preset multicast routing information based on a first historical multicast group address corresponding to the target popularity.
[0155] Step 403. The network device configures preset multicast routing information based on the first historical multicast group address.
[0156] The preset multicast group address is the same as the first historical multicast group address.
[0157] Optionally, the network device configures preset time periods and multicast routing information using a local database and threshold filtering. The network device reads historical access information from the database, containing multiple historical access popularity metrics, organized by hour and multicast group address. It periodically analyzes the data to determine the target popularity: sorting historical popularity and selecting records above a fixed threshold. Based on the historical time periods corresponding to the target popularity with an interval of at least a preset period, it sets these as preset time periods and stores them in a local configuration file. Based on the multicast group addresses corresponding to the target popularity, it generates preset multicast routing information.
[0158] Optionally, based on the first historical multicast group address, preset multicast routing information is configured, including: determining a preset multicast group address and a preset interface based on the first historical multicast group address; wherein the preset interface is an interface for accessing the first historical multicast group address; and configuring preset multicast routing information based on the preset multicast group address and the preset interface; wherein the preset interface is used to distribute the first data stream.
[0159] Step 404. If the current time is within a preset time period, the network device continuously acquires the first data stream according to the preset multicast routing information and distributes the first data stream.
[0160] Step 405. After the preset time period ends, the network device stops acquiring the first data stream and ends the distribution of the first data stream.
[0161] The preset multicast routing information includes a preset multicast group address, which is the multicast group address corresponding to the first data stream. The estimated busy level of the preset multicast group address accessed within a preset time period exceeds a first threshold.
[0162] In a specific scenario, the aforementioned data transmission method is implemented by a first network device in the IPTV system. This first network device may be an optical line terminal (OLT) or an upstream router or switch. The first network device acts as an upstream aggregation device, and the second network device acts as a downstream device. The second network device sends a multicast join request to the first network device, such as a protocol-independent multicast request or an IGMP request, indicating a request to access traffic corresponding to a specific multicast group. The upstream node group of the first network device is the third network device, and the first network device is a downstream node of the third network device.
[0163] The second network device sends a multicast join request to the first network device. The first network device records the downstream interface requesting to join the multicast group, along with multicast group address 1, based on the multicast join request. The first network device then sends a multicast join request to the third network device, including multicast group address 1. If multiple multicast join messages from the second network devices all contain multicast group address 1, the first network device aggregates these requests and sends a single multicast join request to the third network device, requesting to join multicast group address 1. The third network device continues to request to join multicast group address 1 from its upstream nodes until the multicast source responds with a data stream.
[0164] The first network device divides a large period into multiple smaller statistical periods. For example, a 24-hour day can be divided into 144 10-minute statistical periods. Multicast join requests are counted for each statistical period, and the access popularity of each period is calculated and recorded. The popularity calculation method is as follows: if a downstream interface receives a request from a downstream node to join multicast group address 1 within a certain statistical period, the popularity of multicast group address 1 can be incremented by one unit, for example, by 1. If multiple downstream interfaces receive requests from downstream nodes to join multicast group address 1, the popularity of multicast group address 1 is incremented for each request received by each downstream interface. After 24 hours of statistics, the viewing situation of each multicast group can be obtained for each statistical period within the entire large period. The network device obtains the on-demand popularity of its downstream multicast users, and this on-demand popularity can be used by operators to determine the viewership of programs / channels.
[0165] After obtaining the popularity data, the top-ranked trends are selected as target trends. Alternatively, based on the 144 statistical periods over multiple days, the cumulative popularity for each statistical period is calculated by weighting the popularity data for different days within each period. From these cumulative trends, the top-ranked trends are selected as target trends. A preset time period is determined based on the statistical period corresponding to the target trends. Finally, a preset multicast group address is determined based on the multicast group address corresponding to the target trends.
[0166] like Figure 5 As shown, combined with Figure 5 This section describes the interactive process of data stream distribution in an IPTV scenario. This process involves the set-top box on the user side, the optical line terminal in the edge device, the switch as the aggregation device, the router as the forwarding device, and the multicast source as the data provider.
[0167] Step 501. The optical line terminal detects that it is within a preset time period and sends a join request. Correspondingly, the switch receives the join request.
[0168] The optical line terminal triggers time detection by using its internal clock to determine when the time reaches the start of a preset time period, such as 18:00. It then loads the preset time period and preset multicast routing information, including preset multicast group addresses and interface information.
[0169] Step 502. The switch sends a join request, and the router receives the join request accordingly.
[0170] The switch loads the preset multicast routing information and obtains the multicast group address and interface information.
[0171] Step 503. The router sends a join request, and correspondingly, the multicast source receives the join request.
[0172] The router loads the preset multicast routing information and obtains the multicast group address and interface information.
[0173] Step 504. The multicast source sends a data stream, and correspondingly, the router receives the data stream.
[0174] The multicast source obtains the multicast group address from the join request and sends a data stream to the router. The router receives the data stream and stores it in its buffer. The multicast source continues to send data streams.
[0175] Step 505. The router distributes the data stream, and correspondingly, the switch receives the data stream.
[0176] The router distributes the continuously received data stream to the switch.
[0177] Step 506. The switch distributes the data stream, and correspondingly, the optical line terminal receives the data stream.
[0178] The switch distributes the continuously received data stream to the optical line terminal (OLT). The OLT stores the continuously received data stream in a buffer.
[0179] Step 507. The set-top box sends a join request, and correspondingly, the optical line terminal receives the join request.
[0180] The set-top box detects the user's channel selection and generates a channel switching request. The set-top box sends a join request to the optical line terminal (OLT). The OLT receives the request and confirms the downstream requirement. The OLT dynamically adds the downstream interface corresponding to the request to its routing table.
[0181] Step 508. The optical line terminal distributes the data stream to the set-top box, and correspondingly, the set-top box receives the data stream.
[0182] The set-top box decodes the data stream, outputs the video signal, and completes channel playback.
[0183] Step 509. The optical line terminal detects the end of the preset time period and sends a departure request. Correspondingly, the switch receives the departure request.
[0184] The optical line terminal detects the end of the preset time period at 22:01 and initiates the stop acquisition process. The optical line terminal starts a 30-second delay window to check the activity of downstream interfaces and determine whether to stop acquisition. If there are no active requests, the optical line terminal releases the acquired data in the cache and reclaims storage space.
[0185] Step 510. The switch sends a leave request, and the router receives the leave request accordingly.
[0186] The switch receives a leave request from the optical line terminal and checks the downstream activity. If no active request is received, the switch sends a leave request and stops forwarding data.
[0187] Step 511. The router sends a leave request, and correspondingly, the multicast source receives the leave request.
[0188] The router receives a leave request from the switch and checks the activity of downstream devices. If there are no active downstream requests, the router sends a leave request to the multicast source. The multicast source receives the leave request and prepares to stop sending. The router stops forwarding data. The router releases the acquired data in its cache and reclaims storage space.
[0189] Step 512. The multicast source stops sending the corresponding data stream.
[0190] The multicast source confirms the need to stop sending data. The multicast source updates its session table and removes the multicast group record.
[0191] Step 513. The set-top box sends a join request, and correspondingly, the optical line terminal receives the join request.
[0192] Outside of the preset time period, the set-top box responds to user actions by sending a real-time request to the optical line terminal. The optical line terminal configures multicast routing and adds a request interface to prepare for the distribution of real-time data.
[0193] Step 514. The optical line terminal detects that it is not in the preset time period and sends a join request. Correspondingly, the switch receives the join request.
[0194] When the optical line terminal detects that it is not within the preset time period and determines that the data stream for the multicast group address in the join request does not exist locally, it sends a real-time join request to the switch. The switch receives the request and prepares to forward it. The switch dynamically updates its multicast forwarding table.
[0195] Step 515. The switch sends a join request, and the router receives the join request accordingly.
[0196] The switch sends a real-time join request to the router. The router receives the request and prepares to join the multicast tree. The router configuration updates its routing table.
[0197] Step 516. The router sends a live join request to the multicast source. The multicast source receives the request and prepares to send data.
[0198] Step 517. The multicast source sends a data stream, and correspondingly, the router receives the data stream.
[0199] Step 518. The router distributes the data stream, and correspondingly, the switch receives the data stream.
[0200] Step 519. The switch sends a data stream, and correspondingly, the optical line terminal receives the data stream.
[0201] Step 520. The optical line terminal sends a data stream, and correspondingly, the set-top box receives the data stream.
[0202] The set-top box receives data and completes real-time playback.
[0203] The data transmission method provided by the embodiments of this application has been described above. The data transmission apparatus used to perform the data transmission method will be described below. Figure 6 As shown, combined with Figure 6 This application describes the structure of a data transmission device 600 provided in an embodiment. The data transmission device 600 includes:
[0204] The first distribution module 601 is used to continuously acquire the first data stream according to the preset multicast routing information and distribute the first data stream if the current time is within a preset time period; wherein, the preset multicast routing information includes a preset multicast group address, the preset multicast group address is the multicast group address corresponding to the first data stream, and the estimated busy level of the preset multicast group address being accessed within the preset time period exceeds a first threshold.
[0205] The stop module 602 is used to stop acquiring the first data stream and end the distribution of the first data stream after the preset time period ends.
[0206] In one possible implementation, the data transmission device further includes:
[0207] The acquisition module is used to acquire a first historical time period and a first historical multicast group address; wherein, the historical busyness of the first historical multicast group address during the first historical time period exceeds a first threshold.
[0208] The first configuration module is used to configure a preset time period based on a first historical time period; wherein the preset time period is at least one preset period apart from the first historical time period; and to configure preset multicast routing information based on the first historical multicast group address; wherein the preset multicast group address is the same as the first historical multicast group address.
[0209] In one possible implementation, the acquisition module is specifically used for:
[0210] Obtain the first historical time period and the first historical multicast group address, including:
[0211] Obtain historical access information; the historical access information includes historical time periods, historical multicast group addresses, and historical access characteristics, including the number of historical accesses, the duration of historical accesses, or the number of times the system was scanned and hit during historical accesses;
[0212] Based on historical access characteristics, historical access popularity is determined; where historical access popularity is positively correlated with historical access characteristics, and historical access popularity represents the level of activity of historical multicast group addresses within a historical time period.
[0213] Based on historical access popularity, historical time period, and historical multicast group address, obtain the first historical time period and the first historical multicast group address.
[0214] In one possible implementation, when the acquisition module is used to obtain historical access information, it is specifically used for:
[0215] Receive at least one history multicast request; the history multicast request includes a history multicast join request or a history multicast leave request.
[0216] Based on at least one historical multicast request, historical access information is obtained; wherein, the historical time period is the time period in which the historical multicast request was received, the historical multicast group address is the multicast address contained in the historical multicast request, and the historical access features are obtained based on the features of the historical multicast request.
[0217] In one possible implementation, when the acquisition module determines historical access popularity based on historical access characteristics, it is specifically used for:
[0218] Based on historical access characteristics, the access popularity of multiple interfaces is determined; where, the access popularity is the historical access popularity of accessing a historical multicast group address through an interface within a historical time period.
[0219] The historical access popularity is obtained by summing the access popularity of multiple interfaces of the same historical multicast group address within the same historical time period.
[0220] In one possible implementation, when the acquisition module determines historical access popularity based on historical access characteristics, it is specifically used for:
[0221] Based on historical access characteristics, multiple periodic access hotspots are determined; wherein, the historical time periods of the multiple periodic access hotspots differ by at least one preset period.
[0222] The historical access popularity is obtained by weighted summation of multiple periodic access popularity; the weights of the multiple periodic access popularity are related to the interval between the historical time period and the current time.
[0223] In one possible implementation, the first configuration module is used to configure a preset time period based on a first historical time period, specifically for:
[0224] Accumulate a target number of preset periods into the first historical time period to obtain a preset time period; wherein, the target number is greater than the first number, and the first number is the number of preset periods between the current time and the end time of the first historical time period.
[0225] In one possible implementation, when the first configuration module configures preset multicast routing information based on the first historical multicast group address, it is specifically used for:
[0226] Based on the first historical multicast group address, determine the preset multicast group address and the preset interface; wherein, the preset interface is the interface for accessing the first historical multicast group address;
[0227] Configure preset multicast routing information based on preset multicast group addresses and preset interfaces; wherein, the preset interface is used to distribute the first data stream.
[0228] In one possible implementation, the data transmission device further includes:
[0229] The receiving module is used to receive configuration instructions; the configuration instructions include a preset time period, a preset multicast group address, and a preset interface.
[0230] The second configuration module is used to configure a preset time period and preset multicast routing information based on configuration instructions. The preset multicast group routing information also includes a preset interface, which is used to distribute the first data stream.
[0231] In one possible implementation, the data transmission device further includes:
[0232] The third configuration module is used to configure target multicast routing information based on the received first multicast request if the current time is not within a preset time period; wherein, the target multicast routing information includes the target multicast group address of the first multicast request and the target interface that received the first multicast request;
[0233] The second distribution module is used to obtain the second data stream based on the target multicast routing information and to distribute the second data stream; wherein, the target multicast group address is used to obtain the second data stream and the target interface is used to distribute the second data stream.
[0234] Please see Figure 7 , combined Figure 7 The structure of another data transmission device provided in the embodiments of this application is described.
[0235] The data transmission device includes at least one processor 701, a communication bus 702, a memory 703, and at least one communication interface 704.
[0236] Optionally, the processor 701 is a general-purpose CPU, NP, microprocessor, or one or more integrated circuits for implementing the solutions of this application, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or combinations thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0237] The communication bus 702 is used to transmit information between the aforementioned components. The communication bus 702 includes an address bus, a data bus, and a control bus. For ease of illustration, only one thick line is used to represent these components in the figure, but this does not imply that there is only one bus or one type of bus.
[0238] Optionally, memory 703 is read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions. Alternatively, memory 703 is random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions. Alternatively, memory 703 is electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but not limited to these. Optionally, memory 703 exists independently and is connected to processor 701 via communication bus 702. Optionally, memory 703 and processor 701 are integrated together.
[0239] Communication interface 704 uses any transceiver-like device for communicating with other devices or communication networks. Communication interface 704 includes a wireless communication interface.
[0240] Optionally, the processor 701 includes one or more CPUs, such as Figure 7CPU0 and CPU1 are shown in the diagram.
[0241] Optionally, the data transmission device includes multiple processors, such as Figure 7 The processors 701 and 705 shown are examples of processors. Each of these processors is either a single-core processor (CPU) or a multi-core processor (CPU). Here, a processor refers to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0242] Optionally, the memory 703 stores program code 706 for executing the scheme of this application, and the processor 701 executes the program code 706 stored in the memory 703. That is, the data transmission device implements the above-described method embodiment through the processor 701 and the program code 706 in the memory 703.
[0243] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. Wherein, "A refers to B" means that A is the same as B or A is a simple variation of B.
[0244] The terms "first" and "second," etc., used in the specification and claims of this application are used to distinguish different objects, not to describe a specific order of objects, and should not be construed as indicating or implying relative importance.
[0245] In the embodiments of this application, unless otherwise stated, "at least one" means one or more, and "multiple" means two or more.
[0246] Optionally, all or part of the above embodiments are implemented by software, hardware, firmware, or any combination thereof. When implemented in software, they are implemented in whole or in part as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.
[0247] Optionally, computer instructions are stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions are transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. A computer-readable storage medium is any usable medium that a computer can access, or a data storage device such as a server or data center that integrates one or more usable media. Optionally, the usable medium is a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0248] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still selectively modify the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.
Claims
1. A data transmission method, characterized in that, include: If the current time is within a preset time period, the first data stream is continuously acquired and distributed according to the preset multicast routing information; wherein, the preset multicast routing information includes a preset multicast group address, the preset multicast group address is the multicast group address corresponding to the first data stream, and the estimated busy level of the preset multicast group address accessed within the preset time period exceeds a first threshold. After the preset time period ends, the acquisition of the first data stream is stopped, and the distribution of the first data stream is terminated.
2. The method according to claim 1, characterized in that, Before continuously acquiring the first data stream according to the preset multicast routing information if the current time is within a preset time period, the method further includes: Obtain a first historical time period and a first historical multicast group address; wherein, the historical busyness of the first historical multicast group address during the first historical time period exceeds the first threshold. Based on the first historical time period, the preset time period is configured; wherein, the preset time period is at least one preset period apart from the first historical time period; Configure the preset multicast routing information based on the first historical multicast group address; wherein the preset multicast group address is the same as the first historical multicast group address.
3. The method according to claim 2, characterized in that, The process of obtaining the first historical time period and the first historical multicast group address includes: Obtain historical access information; wherein, the historical access information includes historical time periods, historical multicast group addresses, and historical access characteristics, and the historical access characteristics include the number of historical accesses, the duration of historical accesses, or the number of times the system was scanned and hit during historical accesses; Based on historical access characteristics, historical access popularity is determined; wherein, the historical access popularity is positively correlated with the historical access characteristics, and the historical access popularity represents the level of activity of the historical multicast group address during the historical time period; Based on the historical access popularity, the historical multicast group address, and the historical time period, the first historical time period and the first historical multicast group address are obtained.
4. The method according to claim 3, characterized in that, The acquisition of historical access information includes: Receive at least one historical multicast request; the historical multicast request includes a historical multicast join request or a historical multicast leave request; Based on the at least one historical multicast request, the historical access information is obtained; wherein, the historical time period is the time period in which the historical multicast request is received, the historical multicast group address is the multicast address contained in the historical multicast request, and the historical access features are obtained based on the features of the historical multicast request.
5. The method according to claim 3 or 4, characterized in that, Determining the historical access popularity based on the aforementioned historical access characteristics includes: Based on the historical access characteristics, the interface access popularity of multiple interfaces is determined; wherein, the interface access popularity is the historical access popularity of accessing the historical multicast group address through an interface within the historical time period. The historical access popularity is obtained by summing the access popularity of multiple interfaces of the same historical multicast group address within the same historical time period.
6. The method according to claim 3 or 4, characterized in that, Determining the historical access popularity based on the aforementioned historical access characteristics includes: Based on the historical access characteristics, multiple periodic access trends are determined; wherein the historical time periods in which the multiple periodic access trends occur differ by at least one preset period. The historical access popularity is obtained by weighted summation of the multiple periodic access popularity values; wherein the weights of the multiple periodic access popularity values are related to the interval between the historical time period and the current time.
7. The method according to any one of claims 2-6, characterized in that, The step of configuring the preset time period based on the first historical time period includes: The preset time period is obtained by accumulating a target number of preset cycles into the first historical time period; wherein the target number is greater than a first number, and the first number is the number of preset cycles between the current time and the end time of the first historical time period.
8. The method according to any one of claims 2-7, characterized in that, The step of configuring the preset multicast routing information based on the first historical multicast group address includes: Based on the first historical multicast group address, the preset multicast group address and the preset interface are determined; wherein, the preset interface is the interface for accessing the first historical multicast group address; Based on the preset multicast group address and the preset interface, configure the preset multicast routing information; wherein, the preset interface is used to distribute the first data stream.
9. The method according to claim 1, characterized in that, Before continuously acquiring the first data stream according to the preset multicast routing information if the current time is within a preset time period, the method further includes: Receive configuration instructions; wherein, the configuration instructions include the preset time period, the preset multicast group address, and the preset interface; Based on the configuration instructions, the preset time period and the preset multicast routing information are configured. The preset multicast group routing information also includes the preset interface, which is used to distribute the first data stream.
10. The method according to any one of claims 1-9, characterized in that, The method further includes: If the current time is not within the preset time period, configure target multicast routing information based on the received first multicast request; wherein, the target multicast routing information includes the target multicast group address of the first multicast request and the target interface that received the first multicast request; The second data stream is obtained based on the target multicast routing information, and the second data stream is distributed; wherein the target multicast group address is used to obtain the second data stream, and the target interface is used to distribute the second data stream.
11. A data transmission device, characterized in that, include: processor; A memory coupled to the processor, the memory being used to store program instructions that, when executed on the processor, implement the method of any one of claims 1-10.
12. A data transmission device, characterized in that, It includes one or more modules, which are used to implement the method according to any one of claims 1-10.
13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed by a processor, implement the method as described in any one of claims 1-10.
14. A computer program product, characterized in that, It includes a computer program or instructions that, when executed by a computer, implement the method as described in any one of claims 1-10.
