Resource transmission method and device, computer equipment and readable storage medium

By obtaining the health statistics and cache information of the destination, determine the transmission priority in real time and select the appropriate destination for resource transmission, it solves the problem of limited transmission efficiency and reliability in multi-device resource distribution technology, and achieves efficient and stable Resource transfer.

CN119316410AActive Publication Date: 2025-01-14GUANGZHOU DINGJIA COMPUTER TECHNOLOGY CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411564310.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-01-14
Estimated Expiration
2044-11-05

AI Technical Summary

Technical Problem

In multi-device resource distribution technology, due to the differences in reception capabilities and network conditions of each destination, transmission efficiency and reliability are affected, reducing the overall reliability of transmission.

Method used

By obtaining the health statistics of multiple destinations, free reception cache information, and data block size information, the transmission priority of each destination is determined in real time, and the current destination is selected for resource transmission based on the priority and cache information.

Benefits of technology

It improves the reliability and success rate of resource transmission, optimizes the transmission path, reduces the risk of transmission failure, and significantly improves the overall stability and efficiency of multi-destination transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316410A_ABST
    Figure CN119316410A_ABST
Patent Text Reader

Abstract

The invention relates to a resource transmission method and device, computer equipment and a computer readable storage medium. The method comprises the following steps: in response to a request for transmitting resources to a plurality of destination ends, acquiring locally stored health statistical information, spare receiving cache information and data block size information of the plurality of destination ends; according to the health statistical information, determining respective transmission priorities of the plurality of destination ends in real time; according to the transmission priority and the unoccupied receiving cache information, determining a current destination end from a plurality of destination ends in sequence; sending resource transmission information to the current destination end according to the data block size information, and updating the resource transmission times corresponding to the current destination end; and after the resource transmission information is sent to the current destination end, when a state message returned by the current destination end based on the resource transmission information is received, according to the returned state message, updating the number of successful transmission times and unoccupied receiving cache information corresponding to the current destination end. By adopting the method, the transmission reliability can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of distributed transmission technology, and in particular to a resource transmission method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] With the development of distributed computing and content distribution network technology, multi-device resource distribution technology has emerged. This technology allows the source to transmit the same resource to multiple destinations, thereby improving data processing efficiency and resource utilization.

[0003] However, during the transmission process, due to differences in the receiving capabilities and network conditions of each destination, the transmission efficiency and reliability are easily affected, thereby reducing the overall reliability of the transmission. Summary of the invention

[0004] Based on this, it is necessary to provide a resource transmission method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve transmission reliability in response to the above technical problems.

[0005] In a first aspect, the present application provides a resource transmission method, comprising:

[0006] In response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0007] Determining, in real time, the transmission priority of each of the plurality of destinations according to the health statistics information;

[0008] Determining a current destination from the multiple destinations in sequence according to the transmission priority and the free receiving buffer information;

[0009] Send resource transmission information to the current destination end according to the data block size information, and update the number of resource transmissions corresponding to the current destination end;

[0010] After sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0011] In one embodiment, determining the transmission priority of each of the plurality of destinations in real time according to the health statistics information includes:

[0012] Determining a real-time success rate of each of the plurality of destinations according to the health statistics information;

[0013] Determine the destination end whose real-time success rate is equal to or less than a preset success rate threshold as a destination end with a low transmission priority;

[0014] The destination end whose real-time success rate is greater than a preset success rate threshold is determined as a destination end with a high transmission priority.

[0015] In one embodiment, determining the current destination in sequence from the multiple destinations according to the transmission priority and the free receiving buffer information includes:

[0016] For destinations with different transmission priorities, the destination with a higher transmission priority is preferentially used as the current destination;

[0017] For destinations with the same transmission priority, the destination with more free receiving buffer information is preferentially selected as the current destination.

[0018] In one embodiment, determining the real-time success rate of each of the plurality of destinations according to the health statistics information includes:

[0019] Obtain the number of resource transmissions and the number of successful transmissions of each of the multiple destinations within a current calculation interval; the current calculation interval is a continuous time interval including the current time; the current time is a time period with a preset time accuracy;

[0020] The real-time success rate of each of the plurality of destination ends is determined according to the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval.

[0021] In one embodiment, sending resource transmission information to the current destination end according to the data block size information and updating the number of resource transmissions corresponding to the current destination end includes:

[0022] According to the data block size information, the resource is divided into a plurality of data blocks;

[0023] Resource transmission information including a data block is sent to the current destination end each time, and the number of resource transmission times corresponding to the current destination end is updated.

[0024] In one of the embodiments, after sending the resource transmission information to the current destination, the method further includes:

[0025] If no status message returned by the current destination based on the resource transmission information is received after a preset time, suspend sending resource transmission information to the current destination and determine a new current destination;

[0026] When it is determined that the receiving buffer of the current destination is insufficient according to the updated free receiving buffer information, the sending of resource transmission information to the current destination is suspended, and a new current destination is determined.

[0027] In one embodiment, before obtaining the locally stored health statistics information, free receiving buffer information and data block size information of the plurality of destination ends, the method further includes:

[0028] Determine the receiving buffer upper limit and data block size information of each of the multiple destination ends through communication and interaction with the multiple destination ends;

[0029] The free receiving buffer information is determined according to the status messages sent by the multiple destination ends based on preset conditions and the receiving buffer upper limit; the preset conditions at least include receiving the resource transmission information sent by the source end.

[0030] In a second aspect, the present application further provides a resource transmission device, including:

[0031] An initial information acquisition module, configured to, in response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0032] A transmission priority determination module, used to determine the transmission priority of each of the multiple destinations in real time according to the health statistics information;

[0033] A current destination determining module, configured to determine a current destination in sequence from the multiple destinations according to the transmission priority and the free receiving buffer information;

[0034] A transmission information sending module, used to send resource transmission information to the current destination end according to the data block size information, and update the resource transmission times corresponding to the current destination end;

[0035] An information receiving and processing module is used to update the number of successful transmissions and free receiving cache information corresponding to the current destination end according to the returned status message when a status message returned by the current destination end based on the resource transmission information is received after the resource transmission information is sent to the current destination end.

[0036] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0037] In response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0038] Determining, in real time, the transmission priority of each of the plurality of destinations according to the health statistics information;

[0039] Determining a current destination from the multiple destinations in sequence according to the transmission priority and the free receiving buffer information;

[0040] Send resource transmission information to the current destination end according to the data block size information, and update the number of resource transmissions corresponding to the current destination end;

[0041] After sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0042] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0043] In response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0044] Determining, in real time, the transmission priority of each of the plurality of destinations according to the health statistics information;

[0045] Determining a current destination from the multiple destinations in sequence according to the transmission priority and the free receiving buffer information;

[0046] Send resource transmission information to the current destination end according to the data block size information, and update the number of resource transmissions corresponding to the current destination end;

[0047] After sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0048] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0049] In response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0050] Determining, in real time, the transmission priority of each of the plurality of destinations according to the health statistics information;

[0051] Determining a current destination from the multiple destinations in sequence according to the transmission priority and the free receiving buffer information;

[0052] Send resource transmission information to the current destination end according to the data block size information, and update the number of resource transmissions corresponding to the current destination end;

[0053] After sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0054] The above-mentioned resource transmission method, apparatus, computer equipment, computer-readable storage medium and computer program product, first, in response to a request to transmit resources to multiple destination terminals, obtain health statistics information, free receiving buffer information and data block size information of multiple destination terminals stored locally, wherein the health statistics information at least includes the number of resource transmission times and the number of successful transmission times, so that the source terminal can fully understand the receiving capability and status of the destination terminal, thereby providing support for subsequent transmission priority decisions, ensuring that the source terminal can make a transmission strategy based on actual conditions rather than blindly transmitting, thereby improving transmission efficiency; then, based on the health statistics information, the transmission priority of each of the multiple destination terminals is determined in real time. The real-time determination of the transmission priority can enable the source terminal to dynamically identify the destination terminal that is in good condition and has the receiving capability to receive resources first, which can avoid transmitting data to the destination terminal that may cause failure, optimize the transmission path, and improve the success rate of resource transmission and the stability of the overall transmission; then, based on the transmission priority and the free receiving buffer information, the source terminal is determined in turn from the multiple destination terminals. The current destination, based on the transmission priority, further combines the cache information, which helps the source to transfer data to the destination with more cache space, reducing the transmission failure caused by the destination cache being full; next, according to the data block size information, send resource transmission information to the current destination, and update the number of resource transmissions corresponding to the current destination. The source records the number of attempts and successes of each transmission, which helps the subsequent steps to update the status and health statistics, so that the source can track the transmission and keep the latest cognitive state of the destination, thereby further optimizing the transmission strategy; finally, after sending the resource transmission information to the current destination, when receiving the status message returned by the current destination based on the resource transmission information, according to the returned status message, update the number of successful transmissions and the free receiving cache information corresponding to the current destination. After receiving the status feedback message of the destination, the source can update its transmission success rate and current cache status, so that the source can dynamically adjust the transmission priority of the destination, thereby achieving efficient and stable resource transmission. In the above method, by obtaining the health status and cache information of the destination in real time, the source can give priority to the appropriate destination for transmission based on the actual situation, ensuring the efficiency and stability of resource transmission. At the same time, by dynamically adjusting the transmission strategy through the feedback mechanism, the source end can quickly adapt to the state changes of the destination end, avoid cache fullness and data loss, and optimize bandwidth and resource utilization. It significantly improves the reliability and success rate of multi-destination transmission and solves the problem of limited transmission efficiency and reliability in traditional multi-device resource distribution technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0056] FIG1 is an application environment diagram of a resource transmission method in one embodiment;

[0057] FIG2 is a schematic diagram of a flow chart of a resource transmission method in an embodiment;

[0058] FIG3 is a schematic diagram of a flow chart of a transmission priority determination step in one embodiment;

[0059] FIG4 is a schematic diagram of a flow chart of a resource transmission method in another embodiment;

[0060] FIG5 is a schematic diagram of a resource transmission system in one embodiment;

[0061] FIG6 is a schematic diagram of a data structure of a sending buffer at a source end in one embodiment;

[0062] FIG7 is a schematic diagram of the structure of a message identifier of resource transmission information in one embodiment;

[0063] FIG8 is a schematic diagram of a data structure of a receiving buffer at a destination end in one embodiment;

[0064] FIG9 is a schematic diagram of interaction between a source end and a destination end in one embodiment;

[0065] FIG10 is a structural block diagram of a resource transmission device in one embodiment;

[0066] FIG. 11 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0067] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0068] The resource transmission method provided by the embodiment of the present application can be applied to the application environment shown in Figure 1. Among them, the source end 102 communicates with each destination end 104 through the network. First, the source end 102 responds to the request to transmit resources to multiple destination ends 104, and obtains the health statistics information, free receiving buffer information and data block size information of multiple destination ends 104 stored locally, wherein the health statistics information at least includes the number of resource transmissions and the number of successful transmissions; then, the source end 102 determines the transmission priority of each of the multiple destination ends 104 in real time according to the health statistics information; then, the source end 102 determines the current destination end from the multiple destination ends 104 in turn according to the transmission priority and the free receiving buffer information; the source end 102 sends the resource transmission information to the current destination end according to the data block size information, and updates the number of resource transmissions corresponding to the current destination end; after the source end 102 sends the resource transmission information to the current destination end, when receiving the status message returned by the current destination end based on the resource transmission information, the source end 102 updates the number of successful transmissions and the free receiving buffer information corresponding to the current destination end according to the returned status message. The source end 102 may be a data sending device, and the destination end 104 may be a data receiving device. Both the source end 102 and the destination end 104 may be terminals or servers; the terminals may be, but are not limited to, various personal computers, laptops, smart phones, and tablet computers; the servers may be independent physical servers, or server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide cloud computing services.

[0069] In an exemplary embodiment, as shown in FIG2 , a resource transmission method is provided, which is described by taking the method applied to the source end 102 in FIG1 as an example, and includes the following steps:

[0070] Step S201, in response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information and data block size information of multiple destinations.

[0071] The health statistics information at least includes the number of resource transmissions and the number of successful transmissions. The health statistics information refers to the historical data recorded by the source end about the interaction between each destination end device and the source end during the resource transmission process.

[0072] The free receive buffer information refers to the data about the available space size of the current receive buffer of each destination obtained by the source end. This information reflects the amount of data that the destination device can currently receive, helping the source end to determine the load status of the destination end.

[0073] The data block size information refers to the block size of a single data transmission negotiated between the source end and each destination end, ensuring that the data is divided into appropriate sizes during transmission, so that the network bandwidth and cache space can be used more efficiently during the transmission process.

[0074] Exemplarily, when the source receives a request to transmit resources to multiple destinations, it first queries the locally stored health statistics, free receive buffer information, and data block size information for each destination. The query process includes reading the historical transmission records of each destination and counting the success rate to evaluate the health status of the destination. At the same time, the source will also check the current cache space status of each destination and the appropriate data block size previously negotiated by both parties. After obtaining this information, the source can better formulate resource transmission strategies, laying the foundation for subsequent transmission priority determination and resource allocation, thereby improving the success rate and overall efficiency of resource transmission.

[0075] Step S202: determining the transmission priorities of the multiple destinations in real time according to the health statistics information.

[0076] The transmission priority refers to the order or priority of resource transmission allocated by the source end to each destination end. The priority is dynamically adjusted according to the health status of the destination end to ensure that resources are transmitted to the destination end in good condition first.

[0077] Exemplarily, the source determines the health status of each destination by analyzing the transmission success rate and failure rate in the health statistics. The source calculates the transmission priority in real time according to the health status of the destination, and assigns a higher priority to the destinations with good health and high transmission success rate, so as to give priority to transmitting resources to these destinations. The source will place the destinations with poor health and low success rate at a lower priority, reduce the frequency of transmission to them, or temporarily suspend transmission to avoid wasting resources. Through this dynamic adjustment of priority, the source can ensure the maximization of transmission efficiency and the rational allocation of resources during the transmission process of multiple destinations.

[0078] Step S203: determining the current destination in sequence from multiple destinations according to the transmission priority and the free receiving buffer information.

[0079] Exemplarily, the source end first checks the free receive buffer information starting from the destination end with a higher priority according to the transmission priority. The source end selects the destination end with sufficient buffer space and capable of receiving resources as the current destination end for data transmission. If the current buffer of the destination end with a higher priority is full, the source end will skip the destination end and select the destination end with the second highest priority and free buffer, and cycle in sequence until the current destination end that can effectively receive resources is determined. By combining the transmission priority and the dynamic screening of the free buffer, the source end can effectively avoid problems such as data accumulation and full buffer, thereby improving transmission efficiency and resource utilization.

[0080] Step S204: sending resource transmission information to the current destination according to the data block size information, and updating the resource transmission times corresponding to the current destination.

[0081] Among them, resource transmission information refers to the specific data block content and related transmission identification information (such as resource label and resource block offset number) sent by the source end to the current destination end, which is used to transmit resource data to the destination end and facilitate the destination end to locate the received data block position.

[0082] Exemplarily, after determining the current destination, the source end divides the resource data into blocks and packages them into resource transmission information according to the data block size information, and then sends the resource transmission information to the current destination. After the transmission is completed, the source end updates the number of resource transmissions for the destination and records the completion of this transmission. Ensure that the source end can transmit resources according to the optimal data block size, so that the transmission of data blocks can not only adapt to the receiving capacity of the destination, but also maximize the use of transmission bandwidth and cache resources. At the same time, by updating the number of resource transmissions, the source end can accurately track the transmission history of each destination, laying the foundation for the subsequent health status assessment.

[0083] Step S205, after sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0084] Among them, the status message refers to the response message returned by the current destination after receiving the resource transmission information, which is used to notify the source of the status of the transmission, including information such as successful reception confirmation or reception failure. The status message can also enable the source to determine the cache status of the destination so that the source can promptly understand the current receiving capacity of the destination. For example, the status information directly contains the free cache information of the destination; or contains the information identifier of the resource transmission information that has been processed by the destination, and the information identifier is used incrementally. The source can determine the free cache information of the destination based on the amount of resource transmission information received by the destination and the information identifier of the resource transmission information that has been processed.

[0085] Exemplarily, after the source sends resource transmission information to the current destination, it waits to receive a status message returned by the destination. If the status message indicates that the transmission is successful, the source will increase the number of successful transmissions of the current destination accordingly, reflecting that the health status of the destination is maintained or improved. At the same time, the source updates the free receive buffer information of the current destination to reflect the latest status of its receive buffer. If the status message indicates that the transmission fails, the source keeps the number of successful transmissions unchanged and re-evaluates the priority of the destination. After receiving and updating these status information, the source can adjust the subsequent transmission strategy according to the actual receiving capacity and health status of each destination, thereby ensuring the efficiency and stability of the overall resource transmission.

[0086] In the above-mentioned resource transmission method, first, in response to a request to transmit resources to multiple destination ends, health statistics information, free receiving buffer information and data block size information of multiple destination ends stored locally are obtained, wherein the health statistics information at least includes the number of resource transmission times and the number of successful transmission times, so that the source end can fully understand the receiving capability and status of the destination end, thereby providing support for subsequent transmission priority decisions, ensuring that the source end can make a transmission strategy based on actual conditions rather than blindly transmitting, thereby improving transmission efficiency; then, based on the health statistics information, the transmission priority of each of the multiple destination ends is determined in real time. Real-time determination of the transmission priority can enable the source end to dynamically identify the destination end that is in good condition and has receiving capability to receive resources first, which can avoid transmitting data to the destination end that may cause failure, optimize the transmission path, and improve the success rate of resource transmission and the stability of the overall transmission; then, based on the transmission priority and the free receiving buffer information, the current destination end is determined in turn from the multiple destination ends, and the transmission priority is determined in real time. On this basis, further combining cache information helps the source end to transfer data to the destination end with more cache space, reducing the transmission failure caused by the destination end cache being full; next, according to the data block size information, send resource transmission information to the current destination end, and update the number of resource transmissions corresponding to the current destination end. The source end records the number of attempts and successes of each transmission, which helps the subsequent steps to update the status and health statistics, so that the source end can track the transmission and keep the latest cognitive state of the destination end, thereby further optimizing the transmission strategy; finally, after sending resource transmission information to the current destination end, when receiving the status message returned by the current destination end based on the resource transmission information, according to the returned status message, update the number of successful transmissions and the free receiving cache information corresponding to the current destination end. After receiving the status feedback message of the destination end, the source end can update its transmission success rate and current cache status, so that the source end can dynamically adjust the transmission priority of the destination end, thereby achieving efficient and stable resource transmission. In the above method, by obtaining the health status and cache information of the destination end in real time, the source end can give priority to the appropriate destination end for transmission based on the actual situation, ensuring the efficiency and stability of resource transmission. At the same time, by dynamically adjusting the transmission strategy through the feedback mechanism, the source end can quickly adapt to the state changes of the destination end, avoid cache fullness and data loss, and optimize bandwidth and resource utilization. It significantly improves the reliability and success rate of multi-destination transmission and solves the problem of limited transmission efficiency and reliability in traditional multi-device resource distribution technology.

[0087] In an exemplary embodiment, as shown in FIG3 , the above step S202 determines the transmission priority of each of the multiple destinations in real time according to the health statistics information, which can also be implemented by the following steps:

[0088] Step S301, determining the real-time success rate of each of the multiple destinations according to the health statistics information;

[0089] Step S302, determining a destination end whose real-time success rate is equal to or less than a preset success rate threshold as a destination end with a low transmission priority;

[0090] Step S303: Determine the destination end whose real-time success rate is greater than a preset success rate threshold as a destination end with a high transmission priority.

[0091] Exemplarily, the source reads the health statistics and divides the number of successes of each destination by the total number of transmissions to obtain the real-time success rate of each destination. The source evaluates the current transmission status of each destination through the real-time success rate to provide a basis for subsequent priority allocation. The source marks the destination whose success rate is lower than or equal to the preset threshold as low priority. In the case of unstable reception, the source reduces the transmission to the destination to avoid waste of resources due to reception problems. The source sets high priority to the destination whose success rate exceeds the threshold, and gives priority to receiving resources from the destination in good condition to improve the success rate and efficiency of transmission.

[0092] In this embodiment, by dynamically evaluating the real-time success rate of the destination and dividing the transmission priority according to the preset threshold, the source can allocate resources and transmission order more reasonably, give priority to ensuring the resource reception of the destination in good health, and effectively improve the stability and efficiency of the overall data transmission.

[0093] In an exemplary embodiment, the above-mentioned step S203 determines the current destination in sequence from multiple destinations based on the transmission priority and the free receiving buffer information, and also includes: for destinations with different transmission priorities, the destination with a higher transmission priority is given priority as the current destination; for destinations with the same transmission priority, the destination with more free receiving buffer information is given priority as the current destination.

[0094] Exemplarily, the source end first determines the transmission priority of each destination end by calculating health statistics, and marks the destination end with a higher success rate as a higher priority, ensuring that it is allocated to the destination end with a stable state first when resources are limited. Then, the source end starts with the destination end with a high priority, and checks the free receive buffer information of each destination end one by one to ensure that the current destination end has sufficient receive buffer space to avoid failure due to insufficient buffer during the transmission process. For example, if the transmission priority of two destination ends A and B is the same, but A has more free buffer, the source end will give priority to A as the current destination end to increase the probability of successful transmission.

[0095] In this embodiment, by dynamically selecting the current destination by comprehensively considering the transmission priority and cache information, the source end can preferentially send data to the destination end with good health and sufficient cache space, avoiding transmission failures caused by insufficient cache or unstable status, thereby effectively improving the success rate and efficiency of resource transmission and optimizing the overall system performance.

[0096] In an exemplary embodiment, the above-mentioned step S301 determines the real-time success rate of each of the multiple destination ends based on health statistical information, and also includes: obtaining the number of resource transmissions and the number of successful transmissions of each of the multiple destination ends within the current calculation interval; determining the real-time success rate of each of the multiple destination ends based on the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval.

[0097] The current calculation interval is a continuous time interval including the current time.

[0098] Among them, the current time is a time period with a preset time accuracy, rather than an instantaneous point. The time accuracy can be in units such as seconds and minutes to ensure that the current time covers a shorter time range. For example, if the time accuracy is 1 minute, the current time refers to the time period of the current minute. With this definition, the source end can continuously and smoothly collect the transmission data of the destination end within the current time period. Furthermore, the current calculation interval is a continuous time interval composed of multiple continuous time periods with preset time accuracy, such as 10 seconds or 10 minutes.

[0099] Exemplarily, the source end will gradually update the number of transmissions and successes of each destination end according to the preset time accuracy, so that the latest transmission data in the current calculation interval can be obtained when the real-time success rate needs to be calculated. For example, assuming that the current calculation interval is the last 10 minutes and the time accuracy is set to 1 minute, the source end will record the number of transmissions and successes for each time in each corresponding 1-minute interval. When calculating the real-time success rate, the source end will accumulate the number of transmissions and successes in the current calculation interval (i.e., the last 10 minutes) to obtain a success rate that reflects the current transmission status. Therefore, the source end rolls over the current calculation interval every 1 minute to ensure that the receiving status of the destination end is always judged based on the statistical data within the latest 10 minutes.

[0100] In this embodiment, by calculating interval statistics based on the current time period, the source end can effectively smooth out the impact of short-term fluctuations, more accurately evaluate the receiving status of each destination end, and ensure that resources are allocated preferentially to destination ends in good health, thereby significantly improving the overall transmission efficiency and system stability.

[0101] In an exemplary embodiment, the above-mentioned step S204 sends resource transmission information to the current destination end according to the data block size information, and updates the number of resource transmissions corresponding to the current destination end, and also includes: dividing the resources into multiple data blocks according to the data block size information; sending resource transmission information containing one data block to the current destination end each time, and updating the number of resource transmissions corresponding to the current destination end.

[0102] The data block size information is the data block size determined after negotiation between the source and destination ends, and is used to divide resources into blocks of a size suitable for transmission, so as to avoid buffer overflow at the destination end during transmission and improve data transmission efficiency.

[0103] Among them, resource segmentation means that the source end divides the resources to be transmitted into multiple data blocks of a set size according to the data block size information. Each data block contains a part of the resource content, so that only a small piece of data is sent each time the transmission is carried out, which is convenient for the destination end to gradually receive and store.

[0104] The resource transmission information includes the content of the current data block and the corresponding identification information, such as the resource number and block offset, to ensure that the destination can correctly reassemble the complete resource when receiving the data block. The resource transmission count is the number of transmissions of the resource received by the destination recorded by the source. By updating the transmission count in real time, the source can track the transmission progress of each destination.

[0105] Exemplarily, the source end first divides the resource into multiple data blocks according to the data block size information. For example, if the total resource size is 10MB and the data block size is set to 1MB, the source end divides the resource into 10 data blocks, each of which contains 1MB of data content. The source end then sends resource transmission information containing one data block to the current destination end each time, and increases the number of resource transmissions of the destination end by 1 after successful transmission, so as to record the transmission progress. The source end checks the status of the destination end after each transmission is completed to ensure that subsequent data blocks are sent continuously if the cache allows.

[0106] In this embodiment, by dividing the resource into multiple data blocks and transmitting them one by one, the source end can better control resource allocation during the transmission process to avoid cache fullness or transmission failure due to excessive data. By gradually updating the resource transmission times, the source end can accurately record the transmission progress and improve the flexibility and stability of resource transmission.

[0107] In an exemplary embodiment, after sending the resource transmission information to the current destination in the above step S204, it also includes: if after a preset time, no status message returned by the current destination based on the resource transmission information is received, suspending the sending of resource transmission information to the current destination and determining a new current destination; if it is determined that the receiving cache of the current destination is insufficient based on the updated free receiving cache information, suspending the sending of resource transmission information to the current destination and determining a new current destination.

[0108] The preset time is a timeout window set by the source end to wait for the response feedback from the destination end after receiving the data. If the destination end does not return a status message within the preset time, the source end regards this as a transmission abnormality and temporarily stops sending data to the destination end to avoid wasting resources.

[0109] The status message refers to the confirmation information returned by the destination to the source after successfully receiving the resource transmission information, which is used to indicate the success or failure of the transmission and provide the current receiving buffer status. The source uses the status message to determine the reception status of the destination in order to continue or adjust the transmission strategy.

[0110] Exemplarily, after the source sends resource transmission information to the current destination, it starts timing and waits for status message feedback within a preset time. If the destination does not return a status message within the preset time, the source marks the destination as having possible network delays or reception anomalies and suspends sending data to it. In this case, the source will reselect a new current destination based on the transmission priority and cache information to continue data transmission. Similarly, if the status message returned by the destination shows that there is insufficient free receive buffer, the source will suspend transmission to the destination while checking the cache status of other destinations, thereby giving priority to destinations with sufficient receiving capabilities.

[0111] In this embodiment, by promptly pausing transmission and reselecting the current destination when there is no feedback or insufficient cache, the source end can more flexibly adapt to the receiving conditions of the destination end, reduce resource waste and the risk of transmission failure, thereby improving the overall stability and efficiency of resource transmission.

[0112] In an exemplary embodiment, before the above-mentioned step S201 obtains the health statistics information, free receiving cache information and data block size information of multiple destination ends stored locally, it also includes: determining the respective receiving cache upper limit values ​​and data block size information of the multiple destination ends through communication and interaction with the multiple destination ends; determining the free receiving cache information based on the status messages and receiving cache upper limit values ​​sent by the multiple destination ends based on preset conditions; the preset conditions at least include receiving the resource transmission information sent by the source end.

[0113] The receive buffer upper limit is the upper limit of the buffer capacity of each destination, which is obtained by the source through initial communication with the destination and is used to determine the upper limit of the destination's receiving capacity. The source determines the transmission rate and frequency of the data block based on the receive buffer upper limit of each destination to prevent buffer overflow.

[0114] The preset condition refers to the condition that triggers the sending of the status message when a specific event or state is met. The condition at least includes that the destination end feeds back the current processing status after receiving the resource transmission information sent by the source end, so that the source end can timely understand the receiving situation and make corresponding adjustments. It also includes that the destination end periodically feeds back the current processing status according to the preset period.

[0115] Exemplarily, before the transmission starts, the source end first performs initial communication with multiple destination ends to obtain the upper limit value of the receiving buffer and the data block size information of each destination end. For example, after the source end interacts with the destination end A, it is learned that its receiving buffer upper limit is 10MB and the data block size is set to 1MB, so that the resources can be divided into appropriate block sizes to avoid a single transmission exceeding the receiving capacity of the destination end. Then, the source end will regularly receive the status message fed back by the destination end based on the preset conditions, and calculate the current free receiving buffer information according to the buffer occupancy in the status message. For example, if the destination end A feeds back that the current buffer usage is 7MB, the source end calculates that the free buffer is 3MB, thereby determining the subsequent transmission strategy. Among them, the initial communication to determine the upper limit value of the receiving buffer and the data block size information can be initiated by the source end or the destination end: the initiator will propose a receiving buffer upper limit value and data block size information, the receiving end will reply with a confirmed receiving buffer upper limit value and data block size information, and the receiving buffer upper limit value confirmed by the receiving end will not exceed the receiving buffer upper limit value proposed by the initiator, and the data block size information confirmed by the receiving end will not exceed the data block size information proposed by the initiator.

[0116] In this embodiment, by determining the cache upper limit and data block size information through initial interaction with the destination end, and by dynamically updating the free receiving cache information, the source end can maintain real-time control of the destination end's cache status during the transmission process, and reasonably adjust the transmission rate and priority, thereby ensuring the stability and efficiency of resource transmission.

[0117] In another exemplary embodiment, as shown in FIG4 , the present application provides a resource transmission method, the method comprising the following steps:

[0118] Step S401 , by communicating and interacting with multiple destinations, respectively determining the upper limit value of the receiving buffer and the data block size information of each of the multiple destinations.

[0119] Step S402: determining free receive buffer information according to status messages sent by multiple destinations based on preset conditions and an upper limit of the receive buffer.

[0120] The preset condition at least includes receiving resource transmission information sent by the source end.

[0121] Step S403, in response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of multiple destinations.

[0122] The health statistics information at least includes the number of resource transmissions and the number of successful transmissions.

[0123] Step S404, obtaining the number of resource transmissions and the number of successful transmissions of each of the multiple destinations within the current calculation interval.

[0124] The current calculation interval is a continuous time interval including the current time; the current time is a time period with a preset time accuracy.

[0125] Step S405: determining the real-time success rate of each of the plurality of destination ends according to the number of resource transmissions in the current calculation interval and the number of successful transmissions in the current calculation interval.

[0126] Step S406, determine the destination end whose real-time success rate is equal to or less than the preset success rate threshold as a destination end with low transmission priority; determine the destination end whose real-time success rate is greater than the preset success rate threshold as a destination end with high transmission priority.

[0127] Step S407, for destinations with different transmission priorities, the destination with a higher transmission priority is prioritized as the current destination; for destinations with the same transmission priority, the destination with more free receiving buffer information is prioritized as the current destination; and the current destination is determined in turn from multiple destinations.

[0128] Step S408, dividing the resource into a plurality of data blocks according to the data block size information, sending resource transmission information including one data block to the current destination end each time, and updating the resource transmission times corresponding to the current destination end.

[0129] Step S409, after sending the resource transmission information to the current destination, if no status message based on the resource transmission information returned by the current destination is received after a preset time, suspend sending the resource transmission information to the current destination and determine a new current destination.

[0130] Step S410, after sending resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

[0131] Step S411, when it is determined that the receiving buffer of the current destination is insufficient according to the updated free receiving buffer information, the sending of resource transmission information to the current destination is suspended, and a new current destination is determined.

[0132] In this embodiment, by obtaining the health status and cache information of the destination in real time, the source can prioritize the appropriate destination for transmission based on the actual situation, ensuring the efficiency and stability of resource transmission. At the same time, by dynamically adjusting the transmission strategy through the feedback mechanism, the source can quickly adapt to the state changes of the destination, avoid cache fullness and data loss, and optimize bandwidth and resource utilization. The reliability and success rate of multi-destination transmission are significantly improved, solving the problem of limited transmission efficiency and reliability in traditional multi-device resource distribution technology.

[0133] In an exemplary embodiment, as shown in FIG. 5 , the present application provides a resource transmission system, which includes a source end 501 and a destination end 502 .

[0134] The source end 501 has a flow counter for maintaining the sending buffer in the source end 501 ; the destination end 502 has a capacity counter for maintaining the receiving buffer in the destination end 502 .

[0135] As shown in Figure 6, it is a schematic diagram of the data structure of the sending cache in the source end 501. Specifically, the sending cache of the source end 501 maintains statistical information for each destination end 502, including a health statistics slot and a sending statistics slot. The health statistics slot is mainly used to count the failure rate of requests sent to the destination end. The upper-level application can obtain the health status of the destination end by querying the health statistics slot, thereby eliminating unhealthy destination ends and giving priority to transmitting data to healthy destination ends. The statistics slot maintains a sliding time window (i.e., the current calculation interval). The size of this sliding time window and the granularity of the sliding are configured by the upper-level application, and a total call count and a success count are maintained at the same time. For each call to transmit data, the total call count will be increased; if the data is successfully received, the success count will be increased. Based on these two counts, the call success rate in the current time window can be calculated: call success rate = success count / total call count. The call success rate can reflect the health status of the destination end, thereby providing strong support for the upper-level application to determine the call priority.

[0136] The health statistics slot maintains the total call count, total success count, and each granularity window. The statistics slot uses a sliding time window (i.e., the current calculation interval) for statistics. The window size and sliding granularity (i.e., the preset time precision) are configured by the upper-layer application. According to the configured sliding time window length and sliding granularity, the sliding time window is divided into granularity windows with the sliding granularity as the size. For example, if 10s is configured as a sliding time window and the sliding granularity is 1s, a total of 10 granularity windows are generated, and the length of each granularity window is 1s. A call count and a success count are maintained in each granularity window. Every time a data transmission is called, the total call count and the call count in the corresponding granularity window are increased; if the call is successful, the total success count and the success count in the corresponding granularity window are increased. Each time the count is increased, it is determined whether the window needs to slide based on the current time. When the window slides, it only needs to discard the earliest granularity window, add a new granularity window, and update the total call count and the total success count according to the value of the granularity window.

[0137] In addition, each message transmitted is assigned a message ID. As shown in Figure 7, the message ID (i.e., message identifier) ​​consists of two parts, mainly including the resource number and the resource block offset number. Specifically: the resource number starts from 1 and increases by 1 every time a transmitted resource is changed, and is used cyclically. A single resource will be divided into multiple data blocks for transmission, and the resource block offset number is the block offset of a single resource. During the data transmission process between the source and the destination, the two parties can negotiate the data block size of a single transmission. The source divides the resource according to the agreed data block size each time and assigns an ID to the data block in sequence. This ID is the resource block offset number. The destination can obtain the block offset number of the current resource from the message ID, thereby calculating the offset value of the received data in the resource. The conversion relationship between the resource block offset number and the resource offset value is as follows: resource block offset number = resource offset value / data block size. For example, if the block size is 1KB and the offset number is 5, then the data block represents the 5KB to 6KB part of the resource. For resource information sent in sequence, the resource number and resource block offset number are both increasing, so the message ID is also increasing.

[0138] The sending statistics slot is mainly used to record the status of sent data blocks and control the sending speed. The sending statistics slot consists of processed message ID, sent message ID, pending message count, window size (i.e., the upper limit of the receiving buffer), block size, and pending resource index: 1. Sent message ID: records the maximum message ID that has been received by the destination. The source can calculate the ID that should be assigned to the next message based on this ID; 2. Processed message ID: indicates the maximum message ID that has been processed by the destination. Since the message ID is incremental, it means that all messages before this ID have been processed; the upper-layer application can obtain the processed messages through this ID for subsequent business operations; 3. Pending message count: indicates the number of messages that have been sent to the destination but have not been processed; 4. Window size: indicates the size of the data window to be sent. The number of messages that have been sent by the source but have not been confirmed as processed cannot exceed this size. This size is mainly controlled by the destination. The window size is controlled by the agreement between the two parties, thereby controlling the sending rate of the source. The source can calculate the remaining sendable capacity through the window size and the pending message count. The calculation formula is as follows: Remaining sendable capacity = window size - pending message count. When the remaining send capacity is 0, stop sending data to this destination. The upper-layer application can also select the destination to be sent first according to the remaining send capacity of each destination port; the destination with more remaining capacity can be sent first. This improves the efficiency of data transmission at the source. 5. Block size: The block size indicates the upper limit of the size of the data sent by the source. This size is agreed upon by the source and the destination. The data sent by the source to the destination is sent according to this size each time. 6. Pending resource index: records the resource information of the message that has not been confirmed. It is implemented in a hash structure. The key value is the value of the resource label segment in the message ID, and the value value is the resource path or name. Through this structure, the resource information of the message that has not been confirmed can be quickly found, which is convenient for subsequent callback operations after the subsequent message is confirmed.

[0139] As shown in Figure 8, it is a schematic diagram of the data structure of the receiving cache in the destination end 502. It mainly includes message cache, block size, window size, maximum processed message ID, and resource index: 1. Message cache: cache messages received from the source end for subsequent task processing; 2. Block size: record the negotiated block size; 3. Window size: record the maximum number of messages that can be cached, used to control the replication rate; 4. Maximum processed message ID: the largest ID value in the processed message. Mainly used to update the largest message ID to the source end; 5. Resource index: caches the resource information to which some messages belong. This hash structure records the resource label segment and specific resource path information in the message ID, which makes it convenient to quickly locate the corresponding resource information through the message ID, and helps to transmit the same resource with the subsequent source end without bringing the resource path every time.

[0140] As shown in FIG9 , it is a schematic diagram of the interaction between the source end 501 and the destination end 502. Specifically, it includes:

[0141] 1. Parameter negotiation: This process can be initiated by the source or destination, and is mainly used to confirm the window size and data block size. The initiator will propose a window size and block size, and the receiver will reply with a confirmed window size and block size. The window size confirmed by the receiver will not exceed the window size proposed by the initiator, and the block size confirmed by the receiver will not exceed the block size proposed by the initiator.

[0142] 2. Data transmission: This process is initiated by the source end and mainly transmits the data that needs to be processed.

[0143] 3. Progress synchronization: This process is initiated by the destination end, mainly to inform the source end of the maximum message ID that has been processed. When the source end has been sending data, the destination end can inform the source end of the progress when replying packets; only when the source end has no data to send, the destination end needs to initiate progress synchronization regularly or when the data processing is completed.

[0144] Specifically, the interactive messages between the source end 501 and the destination end 502 mainly include the following seven message formats:

[0145] 1. Negotiate the transmission window size and block size:

[0146] The request packet from the initiator mainly includes the following fields: [Request type (0-3 bits), Proposed window size (4-19 bits), Proposed block size (20-51 bits)]; the reply packet from the receiver mainly includes the following two fields: [Adopted window size (0-15 bits), Adopted block size (16-31 bits)].

[0147] 2. Data transmission: Data transmission is mainly initiated by the source end:

[0148] The source packet mainly includes the following fields: [Request type (0-3bit), message ID (4-67bit), resource path (68-131bit) data body (variable length)]; As mentioned above, the message ID contains the resource label and resource block offset number. After receiving the data, the destination will save the resource label and resource path mapping. The next time the source sends the same resource again, the resource path field can be omitted. The destination can calculate the specific offset value of the data body in the resource based on the resource block offset number and the negotiated block size. The calculation formula is as follows: Resource offset value = resource block offset number * data block size.

[0149] The destination's reply packet mainly contains the following two fields: [Status code (0-15 bits), Maximum processed message ID (16-79 bits)]. The status code is the error type or success type agreed upon by both parties. The destination informs the source of the status of this transmission through the status code; the destination informs the source of the maximum message ID of the processed data among the previously transmitted data through the maximum processed message ID. If no data has been processed before, this field can be set to 0.

[0150] 3. Transmit data (without resource path): The source end initiates data transmission. If the other end has cached the resource path, there is no need to transmit the resource path.

[0151] The packet from the source end mainly includes the following fields: [Request type (0-3 bits), message ID (4-67 bits), data body (variable length)]; the reply packet from the destination end mainly includes the following two fields: [Status code (0-15 bits), maximum processed message ID (16-79 bits)].

[0152] 4. Processing progress synchronization: The destination actively initiates synchronization:

[0153] The destination packet only needs the following fields: [Request type (0-3 bits), processed maximum message ID (4-67 bits)]; the source does not need to reply.

[0154] 5. Negotiate parameters and transmit data: To further reduce the interaction between the two ends, parameter negotiation can also be combined with data transmission and sent by the source end.

[0155] At this time, the packet at the source end mainly includes the following fields: [Request type (0-3 bits), proposed window size (4-19 bits), proposed block size (20-35 bits), message ID (36-99 bits), resource path (100-105 bits), data body (variable length)]; the packet at the destination end mainly includes the following fields: [Adopted window size (0-15 bits), adopted block size (16-31 bits), status code (32-45 bits), processed maximum message ID (46-109 bits)].

[0156] 6. Negotiation parameters and transmission data (without resource path): The function is the same as request type 5, the only difference is that it does not carry a resource path.

[0157] At this time, the packet at the source end mainly includes the following fields, among which the data body is the protocol body, and the other parts are the protocol header: [Request type (0-3bit), proposed window size (4-19bit), proposed block size (20-35bit), message ID (36-99bit), data body (variable length)]; the packet at the destination end mainly includes the following fields: [Adopted window size (0-15bit), adopted block size (16-31bit), status code (32-45bit), processed maximum message ID (46-109bit)].

[0158] 7. Parameter adjustment: When the source sends a data packet to the destination (request type 2 and request type 3), the destination can initiate parameter negotiation in the return packet, thereby changing the parameters during data transmission.

[0159] At this time, the destination end's response packet format is as follows: [Proposed window size (0-15bit), proposed block size (16-31bit), status code (32-45bit), processed maximum message ID (46-109bit)]; after receiving this response packet, the source end needs to make further response packets: [Adopted window size (0-15bit), adopted block size (16-31bit)].

[0160] It should be noted that block parameter changes during data transmission can only be successfully changed after a resource has been completely sent, to avoid the situation where the block size changes when the resource is halfway transmitted, resulting in duplicate block offsets.

[0161] The above protocol can be directly built on the TCP link. If the general RPC architecture is adopted, it only needs to be simply modified to put the above seven request types into the extension field of the RPC protocol header, and the transmitted resource data is placed in the protocol body: the RPC protocol header extension field contains (request type, request type other fields), and the RPC protocol body contains (data block).

[0162] In this embodiment, the service health status of the destination is more accurately inferred by counting the response statistics of the destination during the transmission process, and using a sliding window and percentage calculation method. This statistical method does not require different thresholds to be configured for different services, is more universal, and is simple to implement. When a destination has an abnormal service response at a certain node, it can be quickly identified, and after passing through the range of the sliding time window, the health rate will rise again and automatically retry again; the transmission rate of both parties is dynamically adjusted through the control protocol, so that both ends can flexibly adjust the rate during the transmission process according to their own business processing conditions, thereby ensuring that the services of both parties are carried out efficiently; the protocol adopts a binary stream design scheme, through the special design of the message ID and the cache structure of both ends, the transmission of repeated information is reduced, thereby improving the information density of the packet, and then improving the transmission efficiency of resources; through the health check mechanism and the flow rate control mechanism, it is convenient for the source end to have a practical and reliable data basis when selecting the destination end for resource transmission, thereby improving the scheduling efficiency.

[0163] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0164] Based on the same inventive concept, the embodiment of the present application also provides a resource transmission device for implementing the resource transmission method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more resource transmission device embodiments provided below can refer to the limitations on the resource transmission method above, and will not be repeated here.

[0165] In an exemplary embodiment, as shown in FIG10 , a resource transmission device is provided, including: an initial information acquisition module 1001, a transmission priority determination module 1002, a current destination determination module 1003, a transmission information sending module 1004 and an information receiving processing module 1005, wherein:

[0166] The initial information acquisition module 1001 is used to respond to a request to transmit resources to multiple destinations, and obtain health statistics information, free receiving buffer information and data block size information of multiple destinations stored locally; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions;

[0167] The transmission priority determination module 1002 is used to determine the transmission priority of each of the multiple destinations in real time according to the health statistics information;

[0168] The current destination determining module 1003 is used to determine the current destination from multiple destinations in sequence according to the transmission priority and the free receiving buffer information;

[0169] The transmission information sending module 1004 is used to send resource transmission information to the current destination according to the data block size information, and update the resource transmission times corresponding to the current destination;

[0170] The information receiving and processing module 1005 is used to update the number of successful transmissions and free receiving buffer information corresponding to the current destination according to the returned status message when receiving the status message returned by the current destination based on the resource transmission information after sending the resource transmission information to the current destination.

[0171] In one of the embodiments, the transmission priority determination module 1002 is also used to determine the real-time success rate of each of multiple destination ends based on health statistics; determine the destination end whose real-time success rate is equal to or less than the preset success rate threshold as a destination end with a low transmission priority; and determine the destination end whose real-time success rate is greater than the preset success rate threshold as a destination end with a high transmission priority.

[0172] In one of the embodiments, the above-mentioned current destination determination module 1003 is also used to prioritize the destination with a higher transmission priority as the current destination for destinations with different transmission priorities; and to prioritize the destination with more free receiving buffer information as the current destination for destinations with the same transmission priority.

[0173] In one of the embodiments, the transmission priority determination module 1002 is also used to obtain the number of resource transmissions and the number of successful transmissions of each of the multiple destination ends within the current calculation interval; the current calculation interval is a continuous time interval including the current time; the current time is a time period with a preset time accuracy; based on the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval, the real-time success rate of each of the multiple destination ends is determined.

[0174] In one of the embodiments, the transmission information sending module 1004 is further used to divide the resource into multiple data blocks according to the data block size information; each time, resource transmission information containing a data block is sent to the current destination, and the resource transmission times corresponding to the current destination are updated.

[0175] In one of the embodiments, the resource transmission device further includes a module for switching the current destination, which is used to suspend sending resource transmission information to the current destination and determine a new current destination when no status message returned based on the resource transmission information by the current destination has been received within a preset period of time; and suspend sending resource transmission information to the current destination and determine a new current destination when it is determined that the receiving cache of the current destination is insufficient based on the updated free receiving cache information.

[0176] In one of the embodiments, the resource transmission device further includes an initial information communication module, which is used to determine the upper limit value of the receiving cache and the data block size information of each of the multiple destination ends through communication and interaction with the multiple destination ends; and to determine the free receiving cache information based on the status messages and the upper limit value of the receiving cache sent by the multiple destination ends based on preset conditions; the preset conditions at least include receiving the resource transmission information sent by the source end.

[0177] Each module in the resource transmission device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0178] In an exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be shown in FIG11. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected via a system bus, and the communication interface, the display unit, and the input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner may be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a resource transmission method is implemented. The display unit of the computer device is used to form a visually visible picture, which may be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.

[0179] Those skilled in the art will understand that the structure shown in FIG. 11 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0180] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0181] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0182] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0183] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0184] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0185] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0186] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A resource transmission method, characterized in that: Applied to the source end, the method comprises: In response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions; Determining, in real time, the transmission priority of each of the plurality of destinations according to the health statistics information; Determining a current destination from the multiple destinations in sequence according to the transmission priority and the free receiving buffer information; Send resource transmission information to the current destination end according to the data block size information, and update the number of resource transmissions corresponding to the current destination end; After sending the resource transmission information to the current destination, when receiving a status message returned by the current destination based on the resource transmission information, the number of successful transmissions and free receiving buffer information corresponding to the current destination are updated according to the returned status message.

2. The method according to claim 1, characterized in that Determining the transmission priority of each of the plurality of destinations in real time according to the health statistics information includes: Determining a real-time success rate of each of the plurality of destinations according to the health statistics information; Determine the destination end whose real-time success rate is equal to or less than a preset success rate threshold as a destination end with a low transmission priority; The destination end whose real-time success rate is greater than a preset success rate threshold is determined as a destination end with a high transmission priority.

3. The method according to claim 1, characterized in that The step of sequentially determining a current destination from the multiple destinations according to the transmission priority and the free receiving buffer information includes: For destinations with different transmission priorities, the destination with a higher transmission priority is preferentially used as the current destination; For destinations with the same transmission priority, the destination with more free receiving buffer information is preferentially selected as the current destination.

4. The method according to claim 2, characterized in that: Determining the real-time success rate of each of the plurality of destinations according to the health statistics information includes: Obtain the number of resource transmissions and the number of successful transmissions of each of the multiple destinations within a current calculation interval; the current calculation interval is a continuous time interval including the current time; the current time is a time period with a preset time accuracy; The real-time success rate of each of the plurality of destination ends is determined according to the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval.

5. The method according to claim 1, characterized in that: The sending resource transmission information to the current destination end according to the data block size information, and updating the number of resource transmission times corresponding to the current destination end, includes: According to the data block size information, the resource is divided into a plurality of data blocks; Resource transmission information including a data block is sent to the current destination end each time, and the number of resource transmission times corresponding to the current destination end is updated.

6. The method according to claim 1, characterized in that After sending the resource transmission information to the current destination, the method further includes: If no status message returned by the current destination based on the resource transmission information is received after a preset time, suspend sending resource transmission information to the current destination and determine a new current destination; When it is determined that the receiving buffer of the current destination is insufficient according to the updated free receiving buffer information, the sending of resource transmission information to the current destination is suspended, and a new current destination is determined.

7. The method according to claim 1, characterized in that Before obtaining the locally stored health statistics information, free receiving buffer information and data block size information of the multiple destination ends, the method further includes: Determine the receiving buffer upper limit and data block size information of each of the multiple destination ends through communication and interaction with the multiple destination ends; The free receiving buffer information is determined according to the status messages sent by the multiple destination ends based on preset conditions and the receiving buffer upper limit; the preset conditions at least include receiving the resource transmission information sent by the source end.

8. A resource transmission device, characterized in that: Applied to the source end, the device comprises: An initial information acquisition module, configured to, in response to a request to transmit resources to multiple destinations, obtain locally stored health statistics information, free receiving buffer information, and data block size information of the multiple destinations; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions; A transmission priority determination module, used to determine the transmission priority of each of the multiple destinations in real time according to the health statistics information; A current destination determining module, configured to determine a current destination in sequence from the multiple destinations according to the transmission priority and the free receiving buffer information; A transmission information sending module, used to send resource transmission information to the current destination end according to the data block size information, and update the resource transmission times corresponding to the current destination end; An information receiving and processing module is used to update the number of successful transmissions and free receiving cache information corresponding to the current destination end according to the returned status message when a status message returned by the current destination end based on the resource transmission information is received after the resource transmission information is sent to the current destination end.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Opportunistic network resource dynamic allocation method based on service priorities

    CN112217737A

  • Data transmission method, device and system

    CN115412496A

  • Resource scheduling method and device and storage medium

    CN115568027A

  • Resource scheduling method and device and storage medium

    CN115955443A

  • Resource scheduling method, device and equipment, computer product and storage medium

    CN118828930A