A method and device for returning slice files to the source

By introducing routing service nodes in PCDN, the matching relationship between slice files and nodes is uniformly managed, and the problem of slice file return failure caused by node loss or location exceptions is solved, and stable and efficient return to source operations and normal access response are achieved.

CN115706741BActive Publication Date: 2025-02-18WUHAN DOUYU NETWORK TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110929897.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-13
Publication Date
2025-02-18
Estimated Expiration
2041-08-13

AI Technical Summary

Technical Problem

In the content distribution network (PCDN), when the node does not cache the target slice file, the prior art is difficult to effectively solve the problem of node loss or location abnormality, resulting in the inability to complete the return to the slice file normally.

Method used

By introducing routing service nodes, the matching relationship between different slice files and nodes in the PCDN is uniformly managed. The routing service node finds the nodes storing the target slice file in the matching relationship set according to the return source request, and feedbacks the network address to ensure the first PCDN The node can obtain the target slice file.

Benefits of technology

A stable and efficient slice file return operation is realized, avoiding access response failure caused by node loss or location exceptions, and ensuring the normal access response of PCDN.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115706741B_ABST
    Figure CN115706741B_ABST
Patent Text Reader

Abstract

The present application provides a method and device for returning a slice file to the source, which is used to ensure stable and efficient return operation of the slice file to complete the normal access response of the PCDN. The method for returning a slice file provided by the present application includes: a first PCDN node receives a slice file request initiated by a user node, and the slice file request is used to request the target slice file to be sent; when it is detected that the target slice file is not stored locally, the first PCDN node sends a return request corresponding to the target slice file to the routing service node configured in the PCDN; the routing service node finds the second PCDN node storing the target slice file in the matching relationship set between different slice files and different PCDN nodes according to the triggering of the return request; the routing service node feeds back the network address of the second PCDN node to the first PCDN node; the first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores it.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of networks, and in particular to a method and device for returning slice files to the source. Background Art

[0002] The Peer-to-Peer Content Delivery Network (PCDN) can be understood as edge nodes in multiple places. Through its content storage and distribution technology, the closer nodes provide users with slice file download services to achieve load balancing, which can not only reduce network congestion but also improve user access response speed.

[0003] When the PCDN node does not cache the target slice file that the current user wants to access, the PCDN node can retrieve the target slice file from other nodes and store the target slice file locally, so that it can respond to the current user and be available for possible user access next time. The acquisition process of the slice file can be called the return to the source of the slice file in the PCDN.

[0004] During the research process of existing related technologies, the inventors found that when a PCDN node goes back to the source, it generally obtains slice files from the upper-level node or source station. However, in actual applications, in some scenarios, the PCDN node may be lost or the positioning may be abnormal. In this case, it is obvious that the PCDN node storing the target slice file cannot be found normally for the back-to-source operation, and the access response cannot be completed normally. Summary of the invention

[0005] The present application provides a method and device for returning a slice file to the source, which are used to ensure stable and efficient return-to-source operations of slice files to complete the normal access response of PCDN.

[0006] In a first aspect, the present application provides a method for returning a slice file to its source, the method comprising:

[0007] The first PCDN node receives a slice file request initiated by a user node, where the slice file request is used to request delivery of a target slice file;

[0008] When it is detected that the target slice file is not stored locally, the first PCDN node sends a back-to-source request corresponding to the target slice file to the routing service node configured in the PCDN;

[0009] The routing service node searches for a second PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes according to the triggering of the back-to-source request;

[0010] The routing service node feeds back the network address of the second PCDN node to the first PCDN node;

[0011] The first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores it.

[0012] In combination with the first aspect of the present application, in a first possible implementation manner of the first aspect of the present application, the matching relationship set further stores the communication performance of the communication line of each PCDN node in the PCDN, and the routing service node feeds back the network address of the second PCDN node to the first PCDN node, including:

[0013] The routing service node feeds back to the first PCDN node the network address of the second PCDN node adapted to the communication performance of the corresponding communication line.

[0014] In combination with the first possible implementation of the first aspect of the present application, in a second possible implementation of the first aspect of the present application, the method further includes:

[0015] The routing service node sends a test signal to the communication line of each PCDN node in the PCDN;

[0016] The routing service node updates the communication performance of different communication lines of each PCDN node in the PCDN in the matching relationship set according to the response result of the test signal.

[0017] In combination with the first aspect of the present application, in a third possible implementation manner of the first aspect of the present application, before the routing service node finds the second PCDN node storing the target slice file in the matching relationship set between different slice files and different PCDN nodes according to the triggering of the back-to-source request, the method further includes:

[0018] The routing service node periodically obtains the records of the slice files stored locally by each PCDN node in the PCDN network;

[0019] The routing service node updates the matching relationship set according to the records of the slice files stored locally in each PCDN node in the PCDN network.

[0020] In combination with the third possible implementation manner of the first aspect of the present application, in a fourth possible implementation manner of the first aspect of the present application, the routing service node periodically obtains a record of a slice file stored locally by each PCDN node in the PCDN, including:

[0021] The routing service node periodically obtains the records of the slice files stored locally by each PCDN node in the PCDN from the P2P system of the PCDN.

[0022] In combination with the first aspect of the present application, in a fifth possible implementation of the first aspect of the present application, the first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores the target slice file, including:

[0023] When the number of the second PCDN nodes is multiple, the first PCDN node obtains the communication performance between itself and the multiple second PCDN nodes;

[0024] The first PCDN node obtains a target PCDN node with adapted communication performance from the second PCDN node, obtains a target slice file, and stores it.

[0025] In combination with the first aspect of the present application, in a sixth possible implementation manner of the first aspect of the present application, after the first PCDN node obtains the target slice file from the second PCDN node according to the network address, the method further includes:

[0026] The first PCDN node sends the target slice file to the user node to complete the response to the slice file request.

[0027] In a second aspect, the present application provides a device for returning a slice file to its source, the device comprising:

[0028] A receiving unit, used to receive a slice file request initiated by a user node, where the slice file request is used to request the target slice file to be sent;

[0029] A sending unit, configured to send a back-to-source request corresponding to the target slice file to a routing service node configured in the PCDN when it is detected that the target slice file is not stored locally;

[0030] A search unit, configured to search for a second PCDN node storing a target slice file in a set of matching relationships between different slice files and different PCDN nodes according to a trigger of a back-to-source request;

[0031] A feedback unit, configured to feed back the network address of the second PCDN node to the P first CDN node;

[0032] The acquisition unit is used to obtain the target slice file from the P second CDN node according to the network address and store it.

[0033] In conjunction with the second aspect of the present application, in a first possible implementation manner of the second aspect of the present application, the matching relationship set further stores the communication performance of the communication line of each PCDN node in the PCDN, and the feedback unit is specifically used to:

[0034] The network address of the second PCDN node adapted to the communication performance of the corresponding communication line is fed back to the first PCDN node.

[0035] In combination with the first possible implementation of the second aspect of the present application, in a second possible implementation of the second aspect of the present application, the apparatus further includes a testing unit, which is used to:

[0036] Sending a test signal to the communication line of each PCDN node in the PCDN;

[0037] According to the response result of the test signal, the communication performance of different communication lines of each PCDN node in the PCDN is updated in the matching relationship set.

[0038] In combination with the second aspect of the present application, in a third possible implementation manner of the second aspect of the present application, the apparatus further includes an updating unit, which is configured to:

[0039] Periodically obtain the records of slice files stored locally on each PCDN node in the PCDN network;

[0040] The matching relationship set is updated according to the records of the slice files stored locally in each PCDN node in the PCDN network.

[0041] In combination with the third possible implementation of the second aspect of the present application, in a fourth possible implementation of the second aspect of the present application, the updating unit is specifically configured to:

[0042] From the P2P system of PCDN, periodically obtain the records of the slice files stored locally on each PCDN node in PCDN.

[0043] In combination with the second aspect of the present application, in a fifth possible implementation manner of the second aspect of the present application, the acquiring unit is specifically configured to:

[0044] When there are multiple second PCDN nodes, obtaining communication performance between itself and the multiple second PCDN nodes;

[0045] Obtain a target PCDN node with communication performance adaptation from the second PCDN node, obtain the target slice file, and store it.

[0046] In combination with the second aspect of the present application, in a sixth possible implementation manner of the second aspect of the present application, the apparatus further includes a sending unit, which is configured to:

[0047] Send the target slice file to the user node to complete the response to the slice file request.

[0048] In a third aspect, the present application provides a PCDN, the PCDN including a first PCDN node device and a routing service node, the first PCDN node and the routing service node respectively including a processor and a memory, the memory storing a computer program, the first PCDN node device and the routing service node processor respectively call the computer program in the corresponding memory to execute the method provided by the first aspect of the present application or any possible implementation method of the first aspect of the present application.

[0049] In a fourth aspect, the present application provides a computer-readable storage medium, which stores multiple instructions, and the instructions are suitable for a processor to load to execute the method provided by the first aspect of the present application or any possible implementation of the first aspect of the present application.

[0050] From the above content, it can be concluded that the present application has the following beneficial effects:

[0051] For the PCDN slice file retrieval scenario, the present application configures a new retrieval mechanism. When the first PCDN node receives a slice file request initiated by a user node and detects that the target slice file sent by the slice file request is not stored locally, the first PCDN node sends a retrieval request corresponding to the target slice file to the routing service node configured in the PCDN. The routing service node, based on the triggering of the retrieval request, finds the second PCDN node storing the target slice file in the matching relationship set between different slice files and different PCDN nodes, and then feeds back the network address of the second PCDN node to the first PCDN node. At this time, the first PCDN node can obtain the target slice file from the second PCDN node according to the network address, store it, and complete the return to the source. In this process, compared with the prior art in which the first PCDN node can only obtain the target slice file from the upper-level node or the source station, there is a problem that the PCDN node may be lost or the positioning is abnormal. The present application uses a third-party routing service node to uniformly and centrally manage the matching relationship between different slice files and different PCDN nodes in the PCDN, which can provide accurate and effective data support, thereby ensuring stable and efficient return to the source operation of the slice file to complete the normal access response of the PCDN. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0053] Figure 1A flowchart of a method for returning slice files to the source in this application;

[0054] Figure 2 A schematic diagram of a scenario of a PCDN back-to-source mechanism in the prior art;

[0055] Figure 3 A schematic diagram of a scenario of the PCDN back-to-source mechanism of this application;

[0056] Figure 4 A schematic diagram of a scenario of the method for returning the slice file of this application;

[0057] Figure 5 A schematic diagram of a structure of a source return device for slice files of this application;

[0058] Figure 6 A structural diagram of a PCDN node in this application. DETAILED DESCRIPTION

[0059] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0060] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described here can be implemented in an order other than that illustrated or described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or inherent to these processes, methods, products or devices. The naming or numbering of steps in this application does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The process steps that have been named or numbered can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.

[0061] The division of modules in this application is a logical division. There may be other division methods when it is implemented in actual applications. For example, multiple modules can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection between modules can be electrical or other similar forms, which are not limited in this application. In addition, the modules or submodules described as separate components may or may not be physically separated, may or may not be physical modules, or may be distributed in multiple circuit modules, and some or all of the modules may be selected according to actual needs to achieve the purpose of the present application.

[0062] Before introducing the method for returning slice files provided by this application, the background content involved in this application is first introduced.

[0063] The slice file return-to-source method, device, and computer-readable storage medium provided in the present application can be applied to PCDN to ensure stable and efficient return-to-source operations of slice files to complete normal access responses of PCDN.

[0064] The retrieval method of the slice file mentioned in this application can be executed by a retrieval device of the slice file, or a PCDN that integrates the retrieval device of the slice file, and the PCDN may include PCDN nodes of types such as servers, physical hosts, or user equipment (UE). Among them, the retrieval device of the slice file can be implemented in hardware or software, and the UE can be a terminal device such as a smart phone, a tablet computer, a laptop computer, a desktop computer, or a personal digital assistant (PDA).

[0065] In actual applications, PCDN is usually composed of servers as PCDN nodes. Its network has a variety of application scenarios, so the access response service provided to users also has different access types.

[0066] Taking the live broadcast scenario as an example, in order to ensure the smoothness of the audience watching live or recorded programs on the live broadcast platform, PCDN technology can be introduced to synchronize the slice files of the live video to PCDN nodes such as servers in different locations in the PCDN, and the closer PCDN nodes will send the slice files of the live video to the audience to complete efficient and stable program on demand.

[0067] It can be understood that the slice files involved in this application can specifically be image files, audio files, video files and other types of files involved in specific application scenarios. In actual applications, for some files with larger file sizes, or for some files with higher download efficiency requirements, they can be further sliced, and the initial files can be divided into different sub-files and stored in different PCDN nodes. In this way, these PCDN nodes can provide download services to user nodes at the same time to achieve higher access effect efficiency. These files are the slice files involved in this application. Slice

[0068] In some application scenarios, the PCDN involved in this application, in addition to the inherent PCDN nodes providing storage and download services for slice files, can also serve as new PCDN nodes for user nodes or new nodes that have partially downloaded slice files, and also provide storage and download services for slice files.

[0069] Of course, in the PCDN scenario, joining PCDN as a PCDN node is done with the permission of the user to whom the node belongs, which is a voluntary form of joining, which can further expand the original PCDN service architecture and improve its service scope and service efficiency. Among them, the PCDN node can provide slice file download services for other nodes in the PCDN or user nodes accessing the PCDN in the form of locally storing relevant slice files, or it can also store relevant slice files for the PCDN and provide slice file download services.

[0070] Next, we will introduce the method for returning the slice files provided by this application.

[0071] First, see Figure 1 , Figure 1 A schematic diagram of a process of returning a slice file to a source in the present application is shown. The method for returning a slice file to a source provided by the present application may specifically include the following steps S101 to S105:

[0072] Step S101: A first PCDN node receives a slice file request initiated by a user node, where the slice file request is used to request the delivery of a target slice file;

[0073] It can be understood that in actual applications, the user node is a node on the user side. When the user node accesses the server of the service provider, the PCDN network can perform an access response.

[0074] Among them, user nodes are generally nodes with client applications installed. When these nodes load the client applications, users can trigger the client applications to access the server through user operations and make relevant access responses, such as live programs on the on-demand live broadcast platform.

[0075] Alternatively, the user node may also be a node accessed through different access forms such as a Web browser. It can be seen that there are many forms of initiating user nodes and their slice file requests in actual applications.

[0076] The server of the service provider, such as the background server of the live broadcast platform, can be configured with PCDN to provide relevant access response services to users through PCDN technology.

[0077] For a slice file request, the unique identifier of the target slice file requested to be sent may be directly described in a preset field of the request, or the target slice file requested to be sent may be described in an indirect description manner.

[0078] For example, the target slice file sent by some requests is a known slice file for the local user node, so the unique identifier of the target slice file in different identification forms such as the address and name can be directly described; when the target slice file sent by some requests is unknown, it is necessary to provide the server with search clues for the slice file through indirect description in the request. For example, for a live video file whose only known live broadcast time is the live broadcast room name and the live broadcast time of the video, the server can perform keyword query based on these two search clues to find the corresponding video file identified as "12sd1321gh".

[0079] Of course, the description format of the target slice file can be adjusted according to actual needs, so there is no specific limitation.

[0080] Step S102: When it is detected that the target slice file is not stored locally, the first PCDN node sends a back-to-source request corresponding to the target slice file to the routing service node configured in the PCDN;

[0081] See also Figure 2 A scenario diagram of the return-to-source mechanism of the prior art PCDN is shown. In the prior art, when a user requests a slice file, in the PCDN, the domain name resolution can be used to determine the adapted slice server A, and the slice server A can be assigned to provide the slice file download service. When the slice server A does not store the slice file locally, the slice file can be obtained from the slice server B which is the upper-level node or the source station, and the slice file can be returned to the source, and the slice file can be sent to the user.

[0082] Under this retrieval mechanism, if slice server B adjusts the server identification or network address and other location information due to an update, and has not yet notified slice server A of the update, when retrieval of the slice file to slice server B, the PCDN node mentioned above may be lost or the location may be abnormal.

[0083] In addition, for the slice files stored locally on slice server B, there may also be file identification updates. For example, when slice server B is expanded or reduced in capacity, the file identification of its stored files may be updated due to the update of the identification algorithm or the loss of identification, which may also cause the slice files to be unable to be located normally. In addition, this situation may also occur on slice server A, resulting in the failure to properly identify the slice file requested by this user.

[0084] For example Figure 2 The 302 status information of the slice file fed back by the slice server A is used to describe the information of the slice file, which can be understood as a file identifier of the slice file. When generating the 302 information, the slice server A will adopt different methods according to the slice file type. For example, the slice table file will use the hash algorithm, and the slice file will use the index number carried in the slice file request. When expanding and shrinking the capacity, the hash algorithm may fail temporarily, and the index number will be abnormal, resulting in abnormal positioning and returning the wrong network address of the slice server B, resulting in the failure to return the slice file to the slice server B normally.

[0085] For this application, see Figure 3 A schematic diagram of a scenario of the retrieval mechanism of the PCDN of the present application is shown. Considering the introduction of a routing service node on the basis of the original PCDN node, the routing service node can be understood as a node of an application program configured with the routing service involved in the present application, which can be either a separate, new PCDN node or an existing PCDN node. The routing service node acts as a third-party node to centrally and uniformly manage the set of matching relationships between different slice files in the PCDN and different PCDN nodes (which can be understood as a set of storage relationships of slice files in the PCNN), and specifically provides accurate routing guidance for the retrieval path involved in the retrieval processing of slice files in the PCDN, for example, Figure 3 The server A (first PCDN node) can be accurately located to the slice server N (second PCDN node) where the slice files are stored.

[0086] It can be understood that as a third-party routing service node, since its routing service is a centralized and unified management for the entire PCDN, it can simply and accurately update the set of matching relationships between different slice files and different PCDN nodes in the PCDN, and can stably provide accurate guidance on the matching relationship for the current slice file from outside the PCDN node used to store the slice file, rather than the prior art in which the lower-level PCDN node provides the matching relationship of the PCDN node as the upper level or source station for the current slice file. The accuracy is highly guaranteed, and due to the optimization of the architecture, on the basis of ensuring the normal access response of the PCDN, it also has a stable and efficient back-to-source efficiency for the PCDN as a whole.

[0087] In addition, the set of matching relationships between different slice files stored on the routing service node and different PCDN nodes can be maintained and updated manually by the staff or autonomously by the routing service node.

[0088] The manual method is mainly suitable for real-time adjustment scenarios. When manual intervention is required for some special situations, the staff can manually update the matching relationship between the target slice file in the collection and the target PCDN node at the first time.

[0089] As for the automatic method, it is mainly applicable to the normal operation of PCDN. During the operation, the routing service node continues to update the matching relationship set between different slice files and different PCDN nodes in a centralized and unified management manner.

[0090] For example, the PCDN node is configured with records for locally stored slice files, such as work logs and other types of files, which can record the specific slice files stored, as well as related content such as storage time, slice file type, and slice file size.

[0091] Thus, in this case, the routing service node can periodically obtain the records of the slice files stored locally by each PCDN node in the PCDN network, and update the matching relationship set according to the records of the slice files stored locally by each PCDN node in the PCDN network.

[0092] Furthermore, the records of slice files stored locally by each PCDN node in the PCDN network can be stored not only locally in the corresponding PCDN node itself, but also in the P2P system of the PCDN. The P2P system can be understood as a P2P operation system. It can be understood that for P2P technology, its operation process may involve statistics of slice files for each P2P node. Therefore, the system can store records of slice files stored by these P2P nodes. In this way, in the PCDN, the routing service node can specifically obtain the records of slice files stored locally by each PCDN node in the PCDN from the P2P system of the PCDN at a regular interval, so as to update the matching relationship set according to the records of slice files stored locally by each PCDN node in the PCDN network.

[0093] As an example of a back-to-source request, when a user wants to watch the program content of a live broadcast room (channel number 123) through a client, the client can request the corresponding slice file (slice file identifier: 666) from the PCDN. When the first CDN node does not store the slice file locally, an http request can be initiated to the routing service node to request the back-to-source slice file. The http request can carry the following description content in the preset field:

[0094] *Connected to 1.1.1.1(1.1.1.1)port 1234(#0), which indicates that the http request is successfully connected to port 1.1.1.1:1234;

[0095] >GET / chunk / get? 123:666HTTP / 1.1, the content indicates the request for slice file No. 666 of channel 123;

[0096] >Host:1.1.1.1:1234, its content indicates the destination address of the slice file requested by http.

[0097] Step S103: The routing service node searches for a second PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes according to the triggering of the back-to-source request.

[0098] It can be understood that after receiving the return-to-source request, the routing service node can find the second PCDN node that stores the target object-target slice file of this return-to-source in the locally maintained and updated matching relationship set.

[0099] Step S104, the routing service node feeds back the network address of the second PCDN node to the first PCDN node;

[0100] After determining the second PCDN node that stores the target slice file, the network address of the second PCDN node can be fed back to provide routing guidance for the next origin return process.

[0101] Among them, the network address involved in this application generally refers to the Internet Protocol (IP) address. Of course, in actual applications, other types of identification information that can be used to indicate the address of the CDN node in the network can also be used.

[0102] Continuing with the above example for illustrative purposes, when the routing service node queries from the memory that the channel number 123 is currently being sliced and stored by the slice server N (address: 2.2.2.2:8888), the feedback 302 status information can include the address of the slice server N, and the following description content can be carried in the preset field:

[0103] <HTTP / 1.1 302 Moved Temporarily, which means the http return code is 302;

[0104] <Content-Type:text / html, which means the data type returned by http;

[0105] <Content-Length:0, which means the data size returned by http;

[0106] <Location:http: / / 2.2.2.2:8888 / chunk / get?123:666, which means the 302 address returned by http. The requester can initiate a new http request to this network address for origin return of the slice file.

[0107] Step S105, the first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores it.

[0108] At this time, after obtaining the routing guidance from the routing service node, that is, the network address, the target slice file can be obtained from the second PCDN node according to this address and stored to complete the origin return of the target slice file.

[0109] Continuing with the above example for illustrative purposes, after the first PCDN node obtains the status code as the http return result, it can use the Location information in the http return to initiate a new http request to the second PCDN node. The following description content can be carried in the preset field of the http request:

[0110] *Connected to 2.2.2.2(2.2.2.2) port 8888(#0), which means to initiate an HTTP request to the 302 address obtained in the previous step again;

[0111] >GET / chunk / get?123:666 HTTP / 1.1, which means to request the 666th slice file of channel 123;

[0112] >Host: 2.2.2.2:8888, which means the destination address of the HTTP request.

[0113] After receiving the HTTP request initiated by the first PCDN node, the second PCDN node can respond and still feedback the target slice file in the form of an HTTP request, which can carry the following description content in the preset field:

[0114] <HTTP / 1.1 200 OK, which means the HTTP return code is 200;

[0115] <Content-Length: 341, which means the size of the data returned by HTTP;

[0116] {"data_len": 1128, "data": "xxx"}, which means the data content returned by HTTP.

[0117] After receiving the target slice file fed back by the second CDN node, the first CDN node can store the target slice file, complete this origin return, and at the same time, can also send the target slice file to the user node to complete the response to this slice file request.

[0118] At this time, the first PCDN node can provide the video-on-demand service corresponding to the 666th slice file of channel 123 for the user, and the user can normally watch the content of the corresponding live program.

[0119] Or, in the PCDN, the first PCDN node can also be used as a new P2P seed node for the target slice file to provide the download service of the target slice file for other user nodes or PCDN nodes.

[0120] It can be seen from the above content that for the PCDN slice file return source scenario, the present application configures a new return source mechanism. When the first PCDN node receives a slice file request initiated by a user node and detects that the target slice file sent by the slice file request request is not stored locally, the first PCDN node sends a return source request corresponding to the target slice file to the routing service node configured in the PCDN. The routing service node, based on the triggering of the return source request, finds the second PCDN node storing the target slice file in the matching relationship set between different slice files and different PCDN nodes, and then feeds back the network address of the second PCDN node to the first PCDN node. The first PCDN node can obtain the target slice file from the second PCDN node according to the network address, store it, and complete the return to the source. In this process, compared with the prior art in which the first PCDN node can only obtain the target slice file from the upper-level node or the source station, there is a problem that the PCDN node may be lost or the positioning is abnormal. The present application uses a third-party routing service node to uniformly and centrally manage the matching relationship between different slice files and different PCDN nodes in the PCDN, which can provide accurate and effective data support, thereby ensuring stable and efficient return to the source of the slice file to complete the normal access response of the PCDN.

[0121] In addition, since the matching relationship between different slice files and different PCDN nodes in the PCDN is uniformly and centrally managed by the routing service node, in actual applications, the identification of the slice file (such as the index number) can also be uniformly configured by the routing service node, rather than manually configured on each PCDN node as in the prior art. This can further avoid the situation in the prior art of the PCDN node where the hash algorithm may temporarily fail due to expansion or reduction in capacity, which in turn causes the index number, positioning abnormality, and the return of the wrong network address of the second PCDN node, resulting in the failure to normally return the slice file to the second PCDN node. In actual applications, the index number configuration and the application of the hash algorithm can be removed, and the smooth expansion and reduction operations of the PCDN node can be supported.

[0122] Furthermore, the present application not only introduces a routing service node to provide routing guidance for the PCDN node back to the source in the form of a third party, but also continues to introduce an optimization solution for line intelligent scheduling.

[0123] It can be understood that, in actual applications, a PCDN node itself may support one or more communication lines. These communication lines are implemented by the communication network cards configured by the node itself. Taking communication operators as an example, a PCDN node can be configured with different communication network cards according to different communication operators. In this case, there are communication lines corresponding to different communication operators. At this time, for the PCDN node, different communication lines may have different communication performances due to the support of communication resources of different external communication operators and differences in internal software and hardware.

[0124] The communication performance can be understood as the performance of the communication link under the corresponding communication capability indicators, such as data transmission rate, latency, throughput, packet loss rate and other communication capability indicators, which can be adjusted according to actual conditions and are not limited here.

[0125] At this time, on the routing service node side, the matching relationship set between different slice files stored therein and different PCDN nodes may include not only the storage relationship of different slice files stored by different PCDN nodes, but also the communication performance of different communication lines of each PCDN node itself.

[0126] It can be understood that the communication performance of the communication line, similar to the storage relationship of the slice file, may also change with the actual situation. Therefore, when the routing service node finds the second PCDN node corresponding to the local target slice file through the matching relationship set, it can also determine the communication line with the communication performance that the second PCDN node is adapted to the current slice file transmission. For example, the communication line that achieves the best communication performance can generally be used as the communication line adopted for local return to the source.

[0127] In this way, the routing service node feeds back to the first PCDN node the network address of the second PCDN node adapted to the communication performance of the corresponding communication line.

[0128] Among them, it can be understood that the selection criteria for the communication lines with selected adaptive communication performance can be adjusted according to actual needs. For example, the highest transmission efficiency can be given priority, or the shortest delay can be given priority, or a comprehensive evaluation method can be adopted, or even the final performance value obtained by adding the measured values ​​of different communication performance indicators and their assigned weights can be combined to select the communication line with the best performance value.

[0129] It can be understood that under this setting, the introduction of matching processing of the communication performance of the communication line can further ensure stable and efficient processing back to the source in practical applications, avoid line anomalies and slow transmission, and further ensure user experience.

[0130] At the same time, the communication performance of the communication line of the PCDN node can be manually configured by the staff on the one hand, and can also be measured autonomously by the routing service node on the other hand.

[0131] The manual method is mainly applicable to real-time adjustment scenarios. When manual intervention is required for some special situations, the staff can manually update the new communication performance of the communication line of the recorded PCDN node at the first time.

[0132] As for the automatic mode, it is mainly applicable to the normal operation of PCDN. During the operation, the routing service node continues to update the new communication performance of the communication line of the PCDN node in a centralized and unified management manner.

[0133] For example, the routing service node may send a test signal to the communication line of each PCDN node in the PCDN, and then update the communication performance of different communication lines of each PCDN node in the PCDN in the matching relationship set according to the response result of the test signal, as a data basis for the subsequent selection of the communication line of the second PCDN node.

[0134] The test signal may specifically be a ping message. If the PCDN node can provide feedback to the ping message sent by the routing service node, it indicates that the communication line of this test is connected. Otherwise, it is disconnected. Secondly, the specific communication performance can also be determined based on the specific response result.

[0135] For example, if a PCDN node is configured with three communication network cards (corresponding to three communication lines and network addresses) of China Telecom, China Unicom and China Mobile, if the ping message of the China Unicom line has no response, it means that the China Unicom line of the PCDN node has an abnormality or failure. At this time, if the ping messages of the China Telecom and China Mobile lines have a normal response, the China Telecom address or China Mobile address of the PCDN node will be considered for feedback when returning to the source. Under this setting, the effect of intelligent scheduling of communication lines across operators can be achieved.

[0136] For easier understanding, please refer to Figure 4 Another scenario schematic diagram of the method for returning slice files of the present application is shown for reference.

[0137] in, Figure 4 The P2P channel information and slice server information mentioned in can be understood as the storage relationship between the slice file and the PCDN node;

[0138] Steps 1 and 2 correspond to scenario 1: the routing service node periodically obtains the records of the slice files stored locally on each PCDN node in the PCDN from the P2P system of the PCDN;

[0139] Steps 3 and 4 correspond to scenario 2: the routing service node sends a ping message to the communication line of each PCDN node in the PCDN to update the communication performance of different communication lines of each PCDN node;

[0140] Steps 4 and 6 correspond to scenario 3: completing the retrieval of the shard files through the routing service node (the retrieval process can be referred to the above content, and the details will not be repeated here).

[0141] It is understandable that there is no time limit between scenes 1, 2, and 3. Figure 4 The step numbers are for ease of explanation only.

[0142] Similarly, regarding the communication performance of the communication line, in addition to the situation where the second PCDN node has multiple communication lines and selects an adapted communication line, in actual applications, there may also be a situation where multiple second PCDN nodes exist and an adapted PCDN node is selected.

[0143] That is, in the process of returning to the source, when the number of second PCDN nodes is multiple, the first PCDN node can first obtain the communication performance between itself and multiple second PCDN nodes, and then obtain the target PCDN node with adapted communication performance from the second PCDN node, obtain the target slice file, and store it.

[0144] It can be understood that the communication performance between the first PCDN node and the second PCDN node, specifically the communication performance of the communication line between the two, is different from the above-mentioned routing service node determining the communication performance of the communication line of the second PCDN node. Here, the communication performance of the communication line between itself and the second PCDN node is determined by the first PCDN node.

[0145] At this point, it can be found that in actual applications, the communication performance of the communication line of the second PCDN node determined by the routing service node is more inclined to be static and historical, while the communication performance of the communication line between the first PCDN node and the second PCDN node determined by the first PCDN node is more inclined to be dynamic and real-time.

[0146] Of course, in some application scenarios, the communication performance of the communication line measured by both parties, their performance test content and results may be the same.

[0147] Among them, the selection criteria of the adapted target PCDN node can be similarly adjusted according to actual needs. For example, the highest transmission efficiency can be given priority, or the shortest delay can be given priority. Alternatively, a comprehensive evaluation method can be adopted, or even the final performance value obtained by adding the measured values ​​of different communication performance indicators and their assigned weights can be combined to select the communication line with the best performance value.

[0148] The above is an introduction to the slice file return method provided by the present application. In order to better implement the slice file return method provided by the present application, the present application also provides a slice file return device from the perspective of functional modules.

[0149] See also Figure 5 , Figure 5 This is a schematic diagram of a structure of a device for returning slice files to the source of the present application. In the present application, the device for returning slice files 500 may specifically include the following structure:

[0150] The receiving unit 501 is used to receive a slice file request initiated by a user node, where the slice file request is used to request the target slice file to be sent;

[0151] The sending unit 502 is used to send a back-to-source request corresponding to the target slice file to a routing service node configured in the content distribution network PCDN when it is detected that the target slice file is not stored locally;

[0152] A search unit 503 is used to search for a second PCDN node storing a target slice file in a set of matching relationships between different slice files and different PCDN nodes according to the triggering of the back-to-source request;

[0153] A feedback unit 504, configured to feed back the network address of the second PCDN node to the first PCDN node;

[0154] The acquisition unit 505 is used to obtain the target slice file from the second PCDN node according to the network address and store it.

[0155] In an exemplary implementation, the matching relationship set further stores the communication performance of the communication line of each PCDN node in the PCDN. The feedback unit 504 is specifically configured to:

[0156] The network address of the second PCDN node adapted to the communication performance of the corresponding communication line is fed back to the first PCDN node.

[0157] In yet another exemplary implementation, the apparatus further includes a testing unit 506, configured to:

[0158] Sending a test signal to the communication line of each PCDN node in the PCDN;

[0159] According to the response result of the test signal, the communication performance of different communication lines of each PCDN node in the PCDN is updated in the matching relationship set.

[0160] In yet another exemplary implementation, the apparatus further includes an updating unit 507, configured to:

[0161] Periodically obtain the records of slice files stored locally on each PCDN node in the PCDN network;

[0162] The matching relationship set is updated according to the records of the slice files stored locally in each PCDN node in the PCDN network.

[0163] In yet another exemplary implementation, the updating unit 507 is specifically configured to:

[0164] From the P2P system of PCDN, periodically obtain the records of the slice files stored locally on each PCDN node in PCDN.

[0165] In yet another exemplary implementation, the acquiring unit 505 is specifically configured to:

[0166] When there are multiple second PCDN nodes, obtaining communication performance between itself and the multiple second PCDN nodes;

[0167] Obtain a target PCDN node with communication performance adaptation from the second PCDN node, obtain the target slice file, and store it.

[0168] In yet another exemplary implementation, the apparatus further includes a sending unit 508, configured to:

[0169] Send the target slice file to the user node to complete the response to the slice file request.

[0170] The present application also provides a PCDN from the perspective of hardware structure. In the PCDN of the present application, a first PCDN node and a routing service node (also a PCDN node) are included. For these PCDN nodes, refer to Figure 6 , Figure 6 A schematic diagram of the structure of the PCDN node of the present application is shown. Specifically, the PCDN node of the present application may include a processor 601, a memory 602, and an input / output device 603. The processors 601 of the first PCDN node and the routing service node are respectively used to execute the computer program stored in the memory 602 to implement the following Figure 1 The steps of the method for returning the slice file to the source in the corresponding embodiment; or, the processor 601 of the first PCDN node and the routing service node is respectively used to execute the computer program stored in the memory 602 to implement the following Figure 5 Corresponding to the functions of each unit in the embodiment, the memory 602 is used to store the processor 601 executing the above Figure 1 The computer program required for the method of returning the slice file to the source in the corresponding embodiment.

[0171] Exemplarily, the computer program may be divided into one or more modules / units, one or more modules / units are stored in the memory 602, and executed by the processor 601 to complete the present application. One or more modules / units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the computer device.

[0172] The PCDN node may include, but is not limited to, a processor 601, a memory 602, and an input / output device 603. Those skilled in the art will appreciate that the illustration is merely an example of a PCDN node and does not constitute a limitation on the PCDN node, and may include more or fewer components than those shown in the illustration, or may combine certain components, or different components. For example, the PCDN node may also include a network access device, a bus, etc., and the processor 601, the memory 602, the input / output device 603, etc. are connected via the bus.

[0173] The processor 601 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The processor is the control center of the PCDN node, and uses various interfaces and lines to connect various parts of the entire PCDN node.

[0174] The memory 602 can be used to store computer programs and / or modules. The processor 601 implements various functions of the computer device by running or executing the computer programs and / or modules stored in the memory 602 and calling the data stored in the memory 602. The memory 602 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, at least one application required for a function, etc.; the data storage area can store data created according to the use of the PCDN node, etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0175] When the processor 601 of the first PCDN node and the routing service node is used to execute the computer program stored in the memory 602, the following functions can be implemented:

[0176] The first PCDN node receives a slice file request initiated by a user node, where the slice file request is used to request delivery of a target slice file;

[0177] When it is detected that the target slice file is not stored locally, the first PCDN node sends a back-to-source request corresponding to the target slice file to the routing service node configured in the PCDN;

[0178] The routing service node searches for a second PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes according to the triggering of the back-to-source request;

[0179] The routing service node feeds back the network address of the second PCDN node to the first PCDN node;

[0180] The first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores it.

[0181] Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the slice file return source device, PCDN and its corresponding units described above can refer to the following. Figure 1 The description of the method for returning the slice file to the source in the corresponding embodiment will not be repeated here.

[0182] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.

[0183] To this end, the present application provides a computer-readable storage medium, in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the present application as follows: Figure 1 The steps of the method for returning the slice file to the source in the corresponding embodiment, the specific operation can be referred to as follows Figure 1 The description of the method for returning the slice file to the source in the corresponding embodiment will not be repeated here.

[0184] The computer-readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0185] Due to the instructions stored in the computer-readable storage medium, the present application can be executed. Figure 1 The steps of the method for returning the slice file to the source in the corresponding embodiment, therefore, the present application can be implemented as follows Figure 1 The beneficial effects that can be achieved by the method for returning the slice file to the source in the corresponding embodiment are detailed in the previous description and will not be repeated here.

[0186] The above is a detailed introduction to the slice file return method, device, PCDN and computer-readable storage medium provided by the present application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for returning a slice file to its source, characterized in that: The method comprises: The first peer-to-peer content distribution network PCDN node receives a slice file request initiated by a user node, where the slice file request is used to request the delivery of a target slice file; When it is detected that the target slice file is not stored locally, the first PCDN node sends a back-to-source request corresponding to the target slice file to a routing service node configured in the peer-to-peer content delivery network PCDN; The routing service node searches, according to the trigger of the back-to-source request, for a second peer-to-peer content distribution network PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes; The routing service node feeds back the network address of the second PCDN node to the first PCDN node; The first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores the target slice file; The first PCDN node obtains the target slice file from the second PCDN node according to the network address and stores the target slice file, including: When there are multiple second PCDN nodes, the first PCDN node obtains communication performance between itself and the multiple second PCDN nodes; The first PCDN node obtains a target PCDN node with adapted communication performance from the second PCDN node, obtains the target slice file, and stores it.

2. The method according to claim 1, characterized in that The matching relationship set further stores the communication performance of the communication line of each PCDN node in the PCDN, and the routing service node feeds back the network address of the second PCDN node to the first PCDN node, including: The routing service node feeds back to the first PCDN node the network address of the second PCDN node adapted to the communication performance of the corresponding communication line.

3. The method according to claim 2, characterized in that The method further comprises: The routing service node sends a test signal to the communication line of each PCDN node in the PCDN; The routing service node updates the communication performance of different communication lines of each PCDN node in the PCDN in the matching relationship set according to the response result of the test signal.

4. The method according to claim 1, characterized in that: Before the routing service node searches for a second PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes according to the triggering of the back-to-source request, the method further includes: The routing service node periodically obtains a record of a slice file stored locally at each PCDN node in the PCDN network; The routing service node updates the matching relationship set according to the record of the slice file stored locally by each PCDN node in the PCDN network.

5. The method according to claim 4, characterized in that The routing service node periodically obtains a record of a slice file stored locally by each PCDN node in the PCDN, including: The routing service node periodically obtains the records of the slice files stored locally by each PCDN node in the PCDN from the P2P system of the PCDN.

6. The method according to claim 1, characterized in that After the first PCDN node obtains the target slice file from the second PCDN node according to the network address, the method further includes: The first PCDN node sends the target slice file to the user node to complete the response to the slice file request.

7. A device for returning slice files to the source, characterized in that: The device comprises: A receiving unit, configured to receive a slice file request initiated by a user node, wherein the slice file request is used to request the delivery of a target slice file; A sending unit, configured to send a back-to-source request corresponding to the target slice file to a routing service node configured in a peer-to-peer content distribution network PCDN when it is detected that the target slice file is not stored locally; A searching unit, configured to search, according to the triggering of the back-to-source request, for a second peer-to-peer content distribution network PCDN node storing the target slice file in a set of matching relationships between different slice files and different PCDN nodes; A feedback unit, configured to feed back the network address of the second PCDN node to the first peer-to-peer content distribution network PCDN node; an acquiring unit, configured to acquire the target slice file from the second PCDN node according to the network address, and store the target slice file; The acquisition unit is specifically used for: When there are multiple second PCDN nodes, obtaining communication performance between itself and the multiple second PCDN nodes; Obtain a target PCDN node with adapted communication performance from the second PCDN node, obtain the target slice file, and store it.

8. A peer-to-peer content distribution network PCDN, characterized in that: The PCDN includes a first peer-to-peer content distribution network PCDN node device and a routing service node, the first PCDN node device and the routing service node respectively include a processor and a memory, the memory stores a computer program, and the processors of the first PCDN node device and the routing service node respectively call the computer program corresponding to the memory to execute the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data downloading method and related device

    CN111629075A

  • Video slicing method and device, electronic equipment and storage medium

    CN113115120A