Resource Transmission Method, Device, Computer Equipment, Storage Medium and Program Product

By obtaining the health statistical information and cache information of the destination, determining the transmission priority in real time and selecting the appropriate destination for resource transmission, the problem of limited transmission efficiency and reliability in multi-device resource distribution technology is solved, and efficient and stable resource transmission is achieved.

CN119316410BActive Publication Date: 2025-06-24GUANGZHOU DINGJIA COMPUTER TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In distributed computing and content distribution networks, multi-device resource distribution technology affects transmission efficiency and reliability due to the differences in reception capabilities and network conditions of each destination, reducing the reliability of the overall transmission.

Method used

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

Benefits of technology

It improves the success rate of resource transmission and the stability of overall transmission, optimizes bandwidth and resource utilization, and significantly improves the reliability of multi-destination transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316410B_ABST
    Figure CN119316410B_ABST
Patent Text Reader

Abstract

The present application relates to a resource transmission method, apparatus, computer device, and computer-readable storage medium. The method includes: in response to a request for transmitting a resource to multiple destination ends, obtaining health statistical information, free receive buffer information, and data block size information of the multiple destination ends stored locally; determining the respective transmission priorities of the multiple destination ends in real time according to the health statistical information; determining a current destination end from the multiple destination ends in sequence according to the transmission priority and the free receive buffer information; 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; after sending the resource transmission information to the current destination end, when receiving a status message returned by the current destination end based on the resource transmission information, updating the transmission success times and the free receive buffer information corresponding to the current destination end according to the returned status message. Using this method can improve transmission reliability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of distributed transmission technology, and particularly to a resource transmission method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Art

[0002] With the development of distributed computing and content delivery network technologies, multi-device resource distribution technologies have emerged, which allow a 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, thus reducing the overall reliability of the transmission. Summary of the Invention

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

[0005] In a first aspect, this application provides a resource transmission method, including:

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

[0007] According to the health statistics information, determine the transmission priority of each of the multiple destinations in real time;

[0008] According to the transmission priority and the free receive buffer information, sequentially determine the current destination from the multiple destinations;

[0009] According to the data block size information, send resource transmission information to the current destination and update the resource transmission times corresponding to the current destination;

[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, update the number of successful transmission times and the free receive buffer information corresponding to the current destination according to the returned status message.

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

[0012] According to the health statistics information, determine the real-time success rate of each of the multiple destinations;

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

[0014] Determine the destination end with the real-time success rate greater than the preset success rate threshold as the destination end with high transmission priority.

[0015] In one embodiment, the determining the current destination end from the multiple destination ends according to the transmission priority and the free receive buffer information includes:

[0016] For the destination ends with different transmission priorities, preferentially use the destination end with a higher transmission priority as the current destination end;

[0017] For the destination ends with the same transmission priority, preferentially use the destination end with more free receive buffer information as the current destination end.

[0018] In one embodiment, the determining the real-time success rate of each of the multiple destination ends according to the health statistical information includes:

[0019] Obtain the resource transmission times and transmission success times 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;

[0020] Determine the real-time success rate of each of the multiple destination ends according to the resource transmission times within the current calculation interval and the transmission success times within the current calculation interval.

[0021] In one embodiment, the sending the 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 includes:

[0022] According to the data block size information, divide the resource into multiple data blocks;

[0023] Each time, send the resource transmission information including one data block to the current destination end and update the resource transmission times corresponding to the current destination end.

[0024] In one embodiment, after sending the resource transmission information to the current destination end, it further includes:

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

[0026] When it is determined that the receive buffer of the current destination is insufficient according to the updated available receive buffer information, suspend sending resource transfer information to the current destination and determine a new current destination.

[0027] In one embodiment, before obtaining the health statistical information, available receive buffer information, and data block size information of the multiple destinations stored locally, it further includes:

[0028] Through communication and interaction with the multiple destinations, respectively determine the receive buffer upper limit value and data block size information of each of the multiple destinations;

[0029] According to the status messages sent by the multiple destinations based on preset conditions and the receive buffer upper limit value, determine the available receive buffer information; the preset conditions at least include receiving the resource transfer information sent by the source.

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

[0031] An initial information acquisition module, configured to, in response to a request for transferring resources to multiple destinations, obtain the health statistical information, available receive buffer information, and data block size information of the multiple destinations stored locally; the health statistical information at least includes the number of resource transfers and the number of successful transfers;

[0032] A transmission priority determination module, configured to, according to the health statistical information, determine the respective transmission priorities of the multiple destinations in real time;

[0033] A current destination determination module, configured to, according to the transmission priority and the available receive buffer information, sequentially determine a current destination from the multiple destinations;

[0034] A transmission information sending module, configured to, according to the data block size information, send resource transfer information to the current destination and update the number of resource transfers corresponding to the current destination;

[0035] An information reception and processing module, configured to, after sending the resource transfer information to the current destination, when receiving a status message returned by the current destination based on the resource transfer information, update the number of successful transfers and the available receive buffer information corresponding to the current destination according to the returned status message.

[0036] In a third aspect, the present application further provides a computer device, including a memory and a processor, where 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 transfer resources to multiple destinations, obtain the health statistics information, free receive buffer information, and data block size information of the multiple destinations stored locally; the health statistics information includes at least the number of resource transfers and the number of successful transfers;

[0038] According to the health statistics information, determine the respective transfer priorities of the multiple destinations in real time;

[0039] According to the transfer priority and the free receive buffer information, sequentially determine the current destination from the multiple destinations;

[0040] According to the data block size information, send resource transfer information to the current destination and update the number of resource transfers corresponding to the current destination;

[0041] After sending the resource transfer information to the current destination, when receiving the status message returned by the current destination based on the resource transfer information, update the number of successful transfers and the free receive buffer information corresponding to the current destination according to the returned status message.

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

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

[0044] According to the health statistics information, determine the respective transfer priorities of the multiple destinations in real time;

[0045] According to the transfer priority and the free receive buffer information, sequentially determine the current destination from the multiple destinations;

[0046] According to the data block size information, send resource transfer information to the current destination and update the number of resource transfers corresponding to the current destination;

[0047] After sending the resource transfer information to the current destination, when receiving the status message returned by the current destination based on the resource transfer information, update the number of successful transfers and the free receive buffer information corresponding to the current destination according to the returned status message.

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

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

[0050] According to the health statistics information, determine the transmission priority of each of the multiple destinations in real time;

[0051] According to the transmission priority and the free receive buffer information, sequentially determine the current destination from the multiple destinations;

[0052] According to the data block size information, send resource transfer information to the current destination and update the number of resource transfers corresponding to the current destination;

[0053] After sending the resource transfer information to the current destination, when receiving the status message returned by the current destination based on the resource transfer information, update the number of successful transfers and the free receive buffer information corresponding to the current destination according to the returned status message.

[0054] The above-mentioned resource transmission method, device, computer equipment, computer-readable storage medium and computer program product. First, in response to a request to transmit resources to multiple destinations, obtain the health statistics information, free receive buffer information, and data block size information of the multiple destinations stored locally. Among them, the health statistics information at least includes the number of resource transmissions and the number of successful transmissions, enabling the source end to comprehensively understand the receiving capabilities and status of the destinations, thereby providing support for subsequent transmission priority decisions, ensuring that the source end can make transmission strategies based on actual situations rather than blindly transmitting, and improving the transmission efficiency. Then, according to the health statistics information, determine the respective transmission priorities of the multiple destinations in real time. Determining the transmission priority in real time allows the source end to dynamically identify the destinations with good status and receiving capabilities to receive resources first, avoiding transmitting data to destinations that may cause failures, optimizing the transmission path, and improving the success rate of resource transmission and the stability of the overall transmission. Next, according to the transmission priority and the free receive buffer information, sequentially determine the current destination from the multiple destinations. Further combining the buffer information based on the transmission priority helps the source end transmit data to the destination with more buffer space, reducing transmission failures caused by the full load of the destination buffer. Next, according to the data block size information, send resource transmission information to the current destination and update the resource transmission times corresponding to the current destination. The source end records the number of attempts and successful times of each transmission, which helps with subsequent status updates and health statistics in the following steps, enabling the source end to track the transmission, maintain the latest cognitive state of the destination, and further optimize 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, update the transmission success times and the free receive buffer information corresponding to the current destination according to the returned status message. After receiving the status feedback message from the destination, the source end can update its transmission success rate and the current buffer status, enabling the source end to dynamically adjust the transmission priority for this destination, thereby achieving the efficiency and stability of resource transmission. In the above method, by obtaining the health status and buffer information of the destination in real time, the source end can preferentially select a suitable destination for transmission based on actual situations, ensuring the efficiency and stability of resource transmission. At the same time, through the feedback mechanism to dynamically adjust the transmission strategy, the source end can quickly adapt to the status changes of the destination, avoid buffer full load and data loss, and optimize the bandwidth and resource utilization. Significantly improve the reliability and success rate of multi-destination transmission, and solve the problem of limited transmission efficiency and reliability in traditional multi-device resource distribution technologies. Brief Description of the Drawings

[0055] To more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the following will briefly introduce the drawings required for the description of the embodiments of the present application or the related art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.

[0056] Figure 1 It is an application environment diagram of the resource transmission method in an embodiment;

[0057] Figure 2 It is a schematic flowchart of the resource transmission method in an embodiment;

[0058] Figure 3 It is a schematic flowchart of the transmission priority determination step in an embodiment;

[0059] Figure 4 It is a schematic flowchart of the resource transmission method in another embodiment;

[0060] Figure 5 It is a schematic diagram of the resource transmission system in an embodiment;

[0061] Figure 6 It is a schematic diagram of the data structure of the transmission buffer at the source end in an embodiment;

[0062] Figure 7 It is a schematic diagram of the message identifier structure of the resource transmission information in an embodiment;

[0063] Figure 8 It is a schematic diagram of the data structure of the receiving buffer at the destination end in an embodiment;

[0064] Figure 9 It is an interaction schematic diagram between the source end and the destination end in an embodiment;

[0065] Figure 10 It is a structural block diagram of the resource transmission device in an embodiment;

[0066] Figure 11 It is an internal structure diagram of a computer device in an embodiment. Detailed implementation manners

[0067] In order to make the objectives, technical solutions and advantages of the present application clearer, the following further details the present application in combination with the 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 embodiments of the present application can be applied to, for example Figure 1In the application environment shown. Among them, the source end 102 communicates with each destination end 104 through the network. First, in response to a request to transmit resources to multiple destination ends 104, the source end 102 obtains the health statistics information, free receive buffer information, and data block size information of multiple destination ends 104 stored locally. Among them, 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 respective transmission priorities of multiple destination ends 104 in real time according to the health statistics information; then, the source end 102 determines the current destination end from multiple destination ends 104 in turn according to the transmission priority and the free receive buffer information; the source end 102 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; 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 receive buffer information corresponding to the current destination end according to the returned status message. Among them, the source end 102 can be a data sending device, and the destination end 104 can be a data receiving device. Both the source end 102 and the destination end 104 can be a terminal or a server; the terminal can be but is not limited to various personal computers, laptop computers, smart phones, tablet computers, etc.; the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.

[0069] In an exemplary embodiment, as Figure 2 shown, a resource transmission method is provided. Taking the source end 102 in Figure 1 as an example for illustration, the method includes the following steps:

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

[0071] Among them, 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 for each destination end device during the resource transmission process when interacting with the source end.

[0072] Among them, the free receive buffer information refers to the data on the available space size of the current receive buffer of each destination end obtained by the source end. This information reflects the amount of data that the destination end device can currently receive, and helps the source end judge the load status of the destination end.

[0073] Among them, 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 sliced into a suitable size during transmission, so as to more efficiently utilize the network bandwidth and cache space during the transmission process.

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

[0075] Step S202: According to the health statistics information, determine the respective transmission priorities of multiple destination ends in real time.

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

[0077] Exemplarily, the source end determines the health status of each destination end by analyzing the transmission success rate and failure rate in the health statistics information. The source end calculates the transmission priority in real time according to the health status of the destination end, assigns a higher priority to the destination ends with good health status and high transmission success rate, and thus preferentially transmits resources to these destination ends. The source end will place the destination ends with poor health status and low success rate at a lower priority, reducing the transmission frequency to them or temporarily suspending the transmission to avoid wasting resources. Through this dynamic adjustment of priorities, the source end can ensure the maximization of transmission efficiency and the reasonable allocation of resources during the transmission process to multiple destination ends.

[0078] Step S203: According to the transmission priority and free receive buffer information, sequentially determine the current destination end from multiple destination ends.

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

[0080] Step S204: According to the data block size information, send resource transfer information to the current destination end, and update the resource transfer times corresponding to the current destination end.

[0081] Among them, the resource transfer information refers to the specific data block content and related transfer 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 transfer resource data to the destination end and facilitate the destination end to locate the position of the received data block.

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

[0083] Step S205: After sending the resource transfer information to the current destination end, when receiving the status message returned by the current destination end based on the resource transfer information, update the transmission success times and the remaining receiving cache information corresponding to the current destination end according to the returned status message.

[0084] Among them, the status message refers to the response message returned by the current destination end after receiving the resource transfer information, which is used to notify the source end of the status of this transmission, including information such as successful reception confirmation or reception failure. The status message can also enable the source end to determine the cache status of the destination end, so that the source end can timely understand the current receiving ability of the destination end. For example, the status information directly includes the remaining cache information of the destination end; or includes the information identifier of the resource transfer information processed by the destination end, and the information identifier is used incrementally. The source end can thus determine the remaining cache information of the destination end according to the number of resource transfer information received by the destination end and the information identifier of the processed resource transfer information.

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

[0086] In the above resource transmission method, first, in response to a request to transmit resources to multiple destinations, health statistical information, free receive buffer information, and data block size information of the multiple destinations stored locally are obtained. Among them, the health statistical information includes at least the number of resource transmissions and the number of successful transmissions, enabling the source end to comprehensively understand the receiving capabilities and status of the destination ends, thereby providing support for subsequent transmission priority decisions, ensuring that the source end can make transmission strategies based on actual situations rather than blindly transmitting, and improving the transmission efficiency. Next, according to the health statistical information, the transmission priorities of the multiple destination ends are determined in real time. Determining the transmission priorities in real time allows the source end to dynamically identify the destination ends with good status and receiving capabilities to receive resources first, avoiding transmitting data to destination ends that may cause failures, optimizing the transmission path, and improving the success rate of resource transmission and the stability of the overall transmission. Then, based on the transmission priorities and the free receive buffer information, the current destination end is sequentially determined from the multiple destination ends. Further combining the buffer information on the basis of the transmission priorities helps the source end transmit data to the destination end with more buffer space, reducing transmission failures caused by the full load of the destination end's buffer. Next, according to the data block size information, resource transmission information is sent to the current destination end, and the resource transmission times corresponding to the current destination end are updated. The source end records the number of attempts and successful times of each transmission, which helps with status updates and health statistics in subsequent steps, enabling the source end to track the transmission and maintain the latest cognitive state of the destination end, thereby further optimizing the transmission strategy. Finally, after sending the resource transmission information to the current destination end, when a status message returned by the current destination end based on the resource transmission information is received, according to the returned status message, the transmission success times and the free receive buffer information corresponding to the current destination end are updated. After receiving the status feedback message from the destination end, the source end can update its transmission success rate and the current buffer status, enabling the source end to dynamically adjust the transmission priority for this destination end, thereby achieving the efficiency and stability of resource transmission. In the above method, by obtaining the health status and buffer information of the destination end in real time, the source end can preferentially select a suitable destination end for transmission based on actual situations, ensuring the efficiency and stability of resource transmission. At the same time, through the feedback mechanism to dynamically adjust the transmission strategy, the source end can quickly adapt to the state changes of the destination end, avoid buffer full load and data loss, and optimize the 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 technologies.

[0087] In an exemplary embodiment, as Figure 3 shown, the above step S202 of determining the transmission priorities of the multiple destination ends in real time according to the health statistical information can also be implemented through the following steps:

[0088] Step S301: Determine the real-time success rate of each of multiple destinations based on health statistics information;

[0089] Step S302: Determine the destinations with a real-time success rate equal to or less than a preset success rate threshold as destinations with low transmission priority;

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

[0091] Exemplarily, the source end reads the health statistics information, divides the number of successful transmissions of each destination by the total number of transmissions, and obtains the real-time success rate of each destination. The source end evaluates the current transmission status of each destination through this real-time success rate, providing a basis for subsequent priority allocation. The source end marks the destinations with a success rate lower than or equal to the preset threshold as low priority, and reduces the transmission to these destinations in case of unstable reception, avoiding resource waste caused by reception problems. The source end sets the destinations with a success rate exceeding the threshold as high priority, and preferentially selects the destinations with good status to receive resources, so as to improve the success rate and efficiency of transmission.

[0092] In this embodiment, by dynamically evaluating the real-time success rate of the destinations and dividing the transmission priority according to the preset threshold, the source end can more reasonably allocate resources and transmission order, and preferentially ensure the resource reception of the destinations with good health status, effectively improving the stability and efficiency of overall data transmission.

[0093] In an exemplary embodiment, in the above step S203, when sequentially determining the current destination from multiple destinations according to the transmission priority and the remaining receiving buffer information, it further includes: for destinations with different transmission priorities, preferentially using the destination with a higher transmission priority as the current destination; for destinations with the same transmission priority, preferentially using the destination with more remaining receiving buffer information as the current destination.

[0094] Exemplarily, the source end first determines the transmission priority of each destination by calculating the health statistics information, marks the destinations with a higher success rate as having a higher priority, and ensures that resources are preferentially allocated to the destinations with stable status when resources are limited. Then, the source end starts from the destinations with high priority and checks the remaining receiving buffer information of each destination one by one to ensure that the receiving buffer space of the current destination is sufficient, so as to avoid failure due to insufficient buffer during transmission. For example, if two destinations A and B have the same transmission priority, but A has more remaining buffer, the source end will preferentially select A as the current destination 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 can preferentially send data to the destinations with good health status 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, step S301 of determining the respective real-time success rates of multiple destinations according to the health statistical information further includes: obtaining the respective resource transmission times and transmission success times of multiple destinations within the current calculation interval; and determining the respective real-time success rates of multiple destinations according to the resource transmission times within the current calculation interval and the transmission success times within the current calculation interval.

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

[0098] Wherein, 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 or minutes, ensuring that the current time covers a relatively short time range. For example, if the time accuracy is 1 minute, the current time refers to the time period of the current minute. Through this definition, the source can continuously and smoothly collect the transmission data of the destinations within the current time period. Furthermore, the current calculation interval is a continuous time interval composed of multiple consecutive time periods with a preset time accuracy, such as 10 seconds or 10 minutes.

[0099] Exemplarily, the source will gradually update the transmission times and success times of each destination according to the preset time accuracy, so as to obtain the latest transmission data within the current calculation interval when calculating the real-time success rate. For example, assume that the current calculation interval is the last 10 minutes and the time accuracy is set to 1 minute. Then the source records the number of each transmission and the number of successful transmissions in each corresponding 1-minute interval. When calculating the real-time success rate, the source will accumulate the transmission times and success times within the current calculation interval (i.e., the last 10 minutes) to obtain the success rate reflecting the current transmission status. Therefore, the source rolls over and updates the current calculation interval every 1 minute to ensure that the receiving status of the destinations is always judged according to the statistical data within the latest 10 minutes.

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

[0101] In an exemplary embodiment, step S204 above further includes: according to the data block size information, splitting the resource into multiple data blocks; each time sending resource transmission information including one data block to the current destination end, and updating the resource transmission times corresponding to the current destination end, and 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.

[0102] The data block size information is the data block size determined after negotiation between the source end and the destination end, and is used to split the resource into a suitable block size for transmission, so as to avoid buffer overflow at the destination end during the transmission process and improve the data transmission efficiency at the same time.

[0103] Resource splitting means that the source end splits the resource to be transmitted into multiple data blocks according to the data block size information, and each data block contains a part of the resource content, so that only a small segment of data is sent each time, which is convenient for the destination end to receive and store step by step.

[0104] The resource transmission information includes the content of the current data block and the corresponding identification information, such as the resource label and the block offset, which are used to ensure that the destination end can correctly reconstruct the complete resource when receiving the data block. The resource transmission times are the transmission times of the destination end receiving the resource recorded by the source end. By updating the transmission times in real time, the source end can track the transmission progress of each destination end.

[0105] Exemplarily, the source end first splits the resource into multiple data blocks according to the data block size information. For example, if the total size of the resource is 10MB and the data block size is set to 1MB, the source end splits the resource into 10 data blocks, and each data block contains 1MB of data content. The source end then sends resource transmission information including one data block to the current destination end each time, and increases the resource transmission times of this destination end by 1 after successful transmission to record the transmission progress. The source end checks the status of the destination end after each transmission to ensure that subsequent data blocks can be continuously sent when the buffer allows.

[0106] In this embodiment, by splitting the resource into multiple data blocks and transmitting them block by block, the source end can better control the resource allocation during the transmission process and avoid buffer full or transmission failure caused by too large 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 transfer information to the current destination in step S204 above, the following steps are further included: in the case that after a preset time, a status message returned by the current destination based on the resource transfer information is not received, suspend sending the resource transfer information to the current destination, and determine a new current destination; in the case that according to the updated available receive buffer information, it is determined that the receive buffer of the current destination is insufficient, suspend sending the resource transfer information to the current destination, and determine a new current destination.

[0108] Among them, the preset time is a timeout window set by the source end for waiting for the response feedback after the destination end receives the data. If the destination end does not return a status message within the preset time, the source end regards this as a transmission exception, and thus temporarily stops sending data to this destination end to avoid resource waste.

[0109] Among them, the status message refers to the confirmation information returned by the destination end to the source end after successfully receiving the resource transfer information, which is used to indicate whether the transmission is successful or failed and provide the current receive buffer status. The source end judges the receive situation of the destination end through this status message in order to continue or adjust the transmission strategy.

[0110] Exemplarily, after the source end sends the resource transfer information to the current destination end, it starts timing and waits for the status message feedback within the preset time. If the destination end does not return a status message within the preset time, the source end marks this destination end as possibly having network latency or receive anomalies and suspends sending data to it. In this case, the source end will re-select a new current destination end according to the transmission priority and buffer information to continue the data transmission. Similarly, if the status message returned by the destination end shows that the available receive buffer is insufficient, the source end will, while suspending the transmission to this destination end, check the buffer status of other destination ends, and thus preferentially select a destination end with sufficient receive capacity.

[0111] In this embodiment, by promptly suspending the transmission and re-selecting the current destination end when there is no feedback or the buffer is insufficient, the source end can more flexibly adapt to the receive situation of the destination end, reduce the risk of resource waste and transmission failure, and thus improve the overall stability and efficiency of resource transmission.

[0112] In an exemplary embodiment, before obtaining the health statistical information, available receive buffer information, and data block size information of multiple destination ends stored locally in step S201 above, the following steps are further included: through communication and interaction with multiple destination ends, respectively determine the receive buffer upper limit value and data block size information of each of the multiple destination ends; according to the status messages sent by the multiple destination ends based on preset conditions and the receive buffer upper limit values, determine the available receive buffer information; the preset conditions at least include receiving the resource transfer information sent by the source end.

[0113] Among them, the upper limit value of the receiving buffer is the upper limit of the buffer capacity of each destination end, which is obtained by the source end through the initial communication and interaction with the destination end, and is used to judge the upper limit of the receiving ability of the destination end. The source end determines the transmission rate and transmission frequency of data blocks according to the upper limit values of the receiving buffers of each destination end to prevent buffer overflow.

[0114] Among them, the preset condition refers to the condition for the destination end to trigger the sending of a status message when it meets a specific event or state. This condition at least includes that after receiving the resource transmission information sent by the source end, the destination end feeds back the current processing status, 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 a preset period.

[0115] Exemplarily, before the transmission starts, the source end first conducts 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 interacting with destination end A, the source end learns that its upper limit of the receiving buffer is 10MB and the data block size is set to 1MB, so that it can divide the resources into appropriate block sizes to avoid exceeding the receiving ability of the destination end in a single transmission. Then, the source end will regularly receive the status messages fed back by the destination end based on the preset conditions, and calculate the current available receiving buffer information according to the buffer occupancy in the status messages. For example, if destination end A feeds back that the current buffer usage is 7MB, the source end calculates that the available buffer is 3MB, and thus decides the subsequent transmission strategy. Among them, the initial communication for determining 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 initiating end will propose an upper limit value of the receiving buffer and data block size information, and the receiving end will reply with a confirmed upper limit value of the receiving buffer and data block size information, and the upper limit value of the receiving buffer confirmed by the receiving end will not exceed the upper limit value of the receiving buffer proposed by the initiating end, and the data block size information confirmed by the receiving end will not exceed the data block size information proposed by the initiating end.

[0116] In this embodiment, by determining the buffer upper limit and data block size information through the initial interaction with the destination end, and dynamically updating the available receiving buffer information, the source end can maintain real-time control of the buffer status of the destination end during the transmission process, reasonably adjust the transmission rate and priority, so as to ensure the stability and efficiency of resource transmission.

[0117] In another exemplary embodiment, as Figure 4 shown, the present application provides a resource transmission method, and this method includes the following steps:

[0118] Step S401, through communication and interaction with multiple destination ends, respectively determine the upper limit values of the receiving buffers and the data block size information of the multiple destination ends.

[0119] Step S402: Determine the available receiving buffer information based on the status messages sent by multiple destinations based on preset conditions and the receiving buffer upper limit value.

[0120] Among them, the preset conditions at least include receiving the resource transfer information sent by the source.

[0121] Step S403: In response to the request to transfer resources to multiple destinations, obtain the health statistics information, available receiving buffer information, and data block size information of multiple destinations stored locally.

[0122] Among them, the health statistics information at least includes the number of resource transfers and the number of successful transfers.

[0123] Step S404: Obtain the number of resource transfers and the number of successful transfers of each of the multiple destinations within the current calculation interval.

[0124] Among them, 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: Determine the real-time success rate of each of the multiple destinations based on the number of resource transfers within the current calculation interval and the number of successful transfers within the current calculation interval.

[0126] Step S406: Determine the destinations with a real-time success rate equal to or less than the preset success rate threshold as the destinations with low transfer priorities; determine the destinations with a real-time success rate greater than the preset success rate threshold as the destinations with high transfer priorities.

[0127] Step S407: For destinations with different transfer priorities, preferentially use the destinations with higher transfer priorities as the current destination; for destinations with the same transfer priority, preferentially use the destinations with more available receiving buffer information as the current destination; sequentially determine the current destination from multiple destinations.

[0128] Step S408: According to the data block size information, divide the resource into multiple data blocks, and each time send the resource transfer information containing one data block to the current destination, and update the number of resource transfers corresponding to the current destination.

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

[0130] Step S410, after sending the resource transfer information to the current destination, when receiving the status message returned by the current destination based on the resource transfer information, update the number of successful transmissions and the available receive buffer information corresponding to the current destination according to the returned status message.

[0131] Step S411, in the case where it is determined that the receive buffer of the current destination is insufficient according to the updated available receive buffer information, suspend sending the resource transfer information to the current destination, and determine a new current destination.

[0132] In this embodiment, by obtaining the health status and buffer information of the destination in real time, the source can preferentially select a suitable destination for transmission based on the actual situation, ensuring the efficiency and stability of resource transmission. At the same time, through the feedback mechanism to dynamically adjust the transmission strategy, the source can quickly adapt to the status changes of the destination, avoid buffer full and data loss, and optimize the bandwidth and resource utilization. Significantly improve the reliability and success rate of multi-destination transmission, and solve the problem of limited transmission efficiency and reliability in traditional multi-device resource distribution technology.

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

[0134] Among them, the source 501 has a traffic statistic for maintaining the send buffer in the source 501; the destination 502 has a capacity statistic for maintaining the receive buffer in the destination 502.

[0135] As Figure 6 shown, it is a schematic diagram of the data structure of the send buffer in the source 501. Specifically, the send buffer of the source 501 maintains statistical information for each destination 502, including a health statistics slot and a send statistics slot. The health statistics slot is mainly used to count the failure rate of requests sent to the destination. The upper-layer application can obtain the health status of the destination by querying the health statistics slot, so as to eliminate the unhealthy destination and preferentially transmit data to the healthy destination. The statistics slot maintains a sliding time window (i.e., the current calculation interval), and the size and granularity of this sliding time window are configured by the upper-layer application. At the same time, a total call count and a success count are maintained. For each call to transmit data once, the total call count is increased; if the data is successfully received, the success count is increased. According to these two counts, the call success rate within 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, thus providing strong support for the upper-layer application to determine the call priority.

[0136] The health statistics slot internally maintains the total call count, the total success count, and various granularity windows. The statistics slot uses a sliding time window (i.e., the current calculation interval) for statistics. The window size and the 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 size of the sliding granularity. 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 within each granularity window. Whenever a data transmission is called, the total call count and the call count within the corresponding granularity window are incremented; if the call is successful, the total success count and the success count within the corresponding granularity window are incremented. Each time the count is incremented, it is determined whether the window needs to slide based on the current time. When the window slides, only the earliest granularity window needs to be discarded, a new granularity window is added, and the total call count and the total success count are updated according to the values of the granularity windows.

[0137] In addition, each transmitted message is assigned a message ID. As Figure 7 shown, the message ID (i.e., the message identifier) consists of two parts, mainly including the resource label and the resource block offset number. Specifically: the resource label starts from 1 and increments. Each time a transmitted resource is changed, this count is incremented and 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 end and the destination end, the two parties can negotiate the size of the data blocks transmitted each time. The source end divides the resource into chunks according to the agreed data block size each time, assigns IDs to the data blocks in order, and this ID is the resource block offset number. The destination end 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 this data block represents the 5KB to 6KB part of the resource. For the resource information sent in order, both the resource label and the resource block offset number are incremented, so the message ID is also incremented.

[0138] The transmission statistics slot is mainly used to record the status of the sent data blocks and control the transmission speed. The transmission statistics slot consists of the processed message ID, the sent message ID, the count of messages to be processed, the window size (i.e., the upper limit of the receive buffer), the block size, and the index of resources to be processed: 1. Sent message ID: Records the largest message ID that has been received by the destination. The source can calculate the ID to be assigned to the next message based on this ID. 2. Processed message ID: Represents the largest message ID that has been processed by the destination. Since the message ID is incremented, 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. Count of messages to be processed: Represents the number of messages that have been sent to the destination but not yet processed. 4. Window size: Represents the size of the data transmission window. The number of messages sent by the source but not yet confirmed as processed cannot exceed this size. This size is mainly controlled by the destination, and the window size is controlled through a bilateral agreement to control the transmission rate of the source. The source can calculate the remaining available transmission capacity based on the window size and the count of messages to be processed. The calculation formula is as follows: Remaining available transmission capacity = Window size - Count of messages to be processed. When the remaining transmission capacity is 0, data transmission to this destination is stopped. The upper-layer application can also select the destination for priority transmission based on the remaining transmission capacity of each destination port. The destination with more remaining capacity can be given priority for transmission. This improves the efficiency of data transmission at the source. 5. Block size: The block size represents the upper limit of the size of the data sent by the source. This size is agreed upon between the source and the destination, and the data sent by the source to the destination each time is sent according to this size. 6. Index of resources to be processed: Records the resource information of the messages that have not been confirmed. It is implemented in a hash structure, where the key value is the value of the resource label segment in the message ID, and the value is the resource path or name. Through this structure, the resource information of the unconfirmed messages can be quickly found, facilitating subsequent callback operations after message confirmation.

[0139] As Figure 8 shown, it is a schematic diagram of the data structure of the receive buffer in the destination 502. It mainly includes a message buffer, a block size, a window size, the maximum processed message ID, and a resource index: 1. Message buffer: Caches the messages received from the source for subsequent task processing. 2. Block size: Records the negotiated block size. 3. Window size: Records the upper limit of the maximum number of messages that can be cached, used to control the replication rate. 4. Maximum processed message ID: The largest ID value among the processed messages. It is mainly used to update the largest message ID to the source. 5. Resource index: Caches the resource information of some messages. This hash structure records the information of the resource label segment in the message ID and the specific resource path, facilitating quick location of the corresponding resource information through the message ID, which helps when the source transmits the same resource later without having to carry the resource path each time.

[0140] As shown Figure 9 in the figure, 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 end or the destination end, mainly used to confirm the window size and data block size. The initiating end will propose a window size and a block size, and the receiving end will reply with a confirmed window size and block size. The window size confirmed by the receiving end will not exceed the window size proposed by the initiating end, and the block size confirmed by the receiving end will not exceed the block size proposed by the initiating end.

[0142] 2. Data transmission: This process is initiated by the source end, mainly for transmitting the data 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 keeps sending data, the destination end can inform the source end of the progress when sending back the packet; only when the source end does not send data, the destination end needs to initiate progress synchronization regularly or when the data processing is completed.

[0144] Specifically, the interaction 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 of the initiating end 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 of the receiving end mainly includes the following two fields: [adopted window size (0-15 bits), adopted block size (16-31 bits)].

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

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

[0149] The response packet from the destination mainly consists of 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 uses the status code to inform the source of the status of this transmission. The destination uses the maximum processed message ID to inform the source of the maximum message ID of the processed data among the data transmitted previously. If no data has been processed previously, this field can be set to 0.

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

[0151] The packet from the source mainly includes the following fields: [request type (0 - 3 bits), message ID (4 - 67 bits), data body (variable length)]; the response packet from the destination mainly consists of 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 packet from the destination only needs the following fields: [request type (0 - 3 bits), maximum processed message ID (4 - 67 bits)]; the source does not need to reply with content.

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

[0155] At this time, the packet from the source 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 from the destination mainly consists of the following fields: [adopted window size (0 - 15 bits), adopted block size (16 - 31 bits), status code (32 - 45 bits), maximum processed message ID (46 - 109 bits)].

[0156] 6. Negotiating parameters and transmitting data (without resource path): It has the same function as request type 5, and the only difference is that it does not carry the resource path.

[0157] At this time, the packets at the source end mainly include the following fields, where the data body is the protocol body and the other parts are the protocol headers: [Request type (0-3 bits), Proposed window size (4-19 bits), Proposed block size (20-35 bits), Message ID (36-99 bits), Data body (variable length)]; the packets at the destination end mainly include the following fields: [Accepted window size (0-15 bits), Accepted block size (16-31 bits), Status code (32-45 bits), Processed maximum message ID (46-109 bits)].

[0158] 7. Parameter adjustment: When the source end sends data packets to the destination end (request types 2 and 3), the destination end can initiate parameter negotiation in the response packet, so as to change the parameters during the data transmission process.

[0159] At this time, the format of the response packet at the destination end is as follows: [Proposed window size (0-15 bits), Proposed block size (16-31 bits), Status code (32-45 bits), Processed maximum message ID (46-109 bits)]; after receiving this response packet, the source end needs to make a further response packet: [Accepted window size (0-15 bits), Accepted block size (16-31 bits)].

[0160] It should be noted that the change of block parameters during the data transmission process can only be successfully changed after a resource has been completely sent, so as to avoid the situation where the block size changes halfway through the resource transmission, resulting in duplicate block offsets.

[0161] The above protocol can be directly built on top of the TCP connection. If a general RPC architecture is adopted, only simple modifications are needed. Put the above seven request types into the extended fields of the RPC protocol header, and place the transmitted resource data into the protocol body: the RPC protocol header extended fields contain (request type, other fields of the request type), and the RPC protocol body contains (data block).

[0162] In this embodiment, by counting the responses of the destination end during the transmission process and using the sliding window and percentage calculation methods, the service health status of the destination end can be more accurately inferred. This statistical method does not require different thresholds to be configured for different services, is more general, and is easy to implement. When a service response anomaly occurs at a certain node for a destination end, it can be quickly identified, and after passing through the range of the sliding time window, the health rate will rise again and automatic retry will be performed; the transmission rates of both sides are dynamically adjusted through the control protocol, which facilitates the two ends to flexibly adjust the rate during the transmission according to their own service processing conditions, so as to ensure the efficient progress of both sides' services; the protocol adopts a binary stream design scheme, and through the special design of the message ID and the cache structure of both ends, the transmission of duplicate information is reduced, thereby increasing the information density of the packet and further 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 actual reliable data basis when selecting a destination end for resource transmission, thereby improving the scheduling efficiency.

[0163] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least a part of other steps or steps in other steps.

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

[0165] In an exemplary embodiment, as Figure 10 shown, 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 and processing module 1005, where:

[0166] The initial information acquisition module 1001 is configured to, in response to a request for transmitting a resource to multiple destinations, acquire the health statistical information, free receive buffer information, and data block size information of the multiple destinations stored locally; the health statistical information includes at least the number of resource transmissions and the number of successful transmissions.

[0167] The transmission priority determination module 1002 is configured to determine the respective transmission priorities of the multiple destinations in real time according to the health statistical information.

[0168] The current destination determination module 1003 is configured to sequentially determine the current destination from the multiple destinations according to the transmission priority and the free receive buffer information.

[0169] The transmission information sending module 1004 is configured to send resource transmission information to the current destination according to the data block size information, and update the number of resource transmissions corresponding to the current destination.

[0170] The information receiving and processing module 1005 is configured to, 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, update the number of successful transmissions and the free receive buffer information corresponding to the current destination according to the returned status message.

[0171] In one embodiment, the above-mentioned transmission priority determination module 1002 is further configured to determine the respective real-time success rates of the multiple destinations according to the health statistical information; determine the destinations with real-time success rates equal to or less than a preset success rate threshold as the destinations with low transmission priorities; and determine the destinations with real-time success rates greater than the preset success rate threshold as the destinations with high transmission priorities.

[0172] In one embodiment, the above-mentioned current destination determination module 1003 is further configured to, for destinations with different transmission priorities, preferentially use the destinations with higher transmission priorities as the current destination; and for destinations with the same transmission priority, preferentially use the destinations with more free receive buffer information as the current destination.

[0173] In one embodiment, the above-mentioned transmission priority determination module 1002 is further configured to acquire the number of resource transmissions and the number of successful transmissions of each of the multiple destinations 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; and determine the respective real-time success rates of the multiple destinations according to the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval.

[0174] In one embodiment, the above-mentioned transmission information sending module 1004 is further configured to divide the resource into multiple data blocks according to the data block size information; each time, send resource transmission information including one data block to the current destination, and update the resource transmission times corresponding to the current destination.

[0175] In one embodiment, the above-mentioned resource transmission device further includes a current destination switching module, configured to, when no status message returned by the current destination based on the resource transmission information is received after a preset time, suspend sending the resource transmission information to the current destination, and determine a new current destination; when it is determined according to the updated available receive buffer information that the receive buffer of the current destination is insufficient, suspend sending the resource transmission information to the current destination, and determine a new current destination.

[0176] In one embodiment, the above-mentioned resource transmission device further includes an initial information communication module, configured to respectively determine the receive buffer upper limit values and data block size information of multiple destinations through communication and interaction with the multiple destinations; determine the available receive buffer information according to the status messages and receive buffer upper limit values sent by the multiple destinations based on a preset condition; the preset condition at least includes receiving the resource transmission information sent by the source end.

[0177] Each module in the above-mentioned resource transmission device can be implemented in whole or in part by software, hardware, and their combination. The above-mentioned modules can be embedded in the processor in the computer device in hardware form or be independent of it, or can be stored in the memory in the computer device in software form, so as to facilitate the processor to call and execute the operations corresponding to the above-mentioned modules.

[0178] In an exemplary embodiment, a computer device is provided. The computer device can be a terminal, and its internal structure diagram can be as Figure 11As shown in the figure. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. Among them, 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 computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, near field communication (NFC), or other technologies. The computer program, when executed by the processor, implements a resource transmission method. The display unit of the computer device is used to form a visually visible picture, which can 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. The input device of the computer device can be a touch layer covering the display screen, or a button, a trackball, or a touchpad provided on the housing of the computer device, or an external keyboard, touchpad, or mouse, etc.

[0179] Those skilled in the art can understand that Figure 11 the structure shown in the figure is only a block diagram of some structures 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 those shown in the figure, or combine some components, or have different component arrangements.

[0180] In one embodiment, a computer device is further provided, including a memory and a processor. A computer program is stored in the memory, and when the processor executes the computer program, the steps in the above method embodiments are implemented.

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

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

[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 for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.

[0184] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. 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 methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in this 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), magnetoresistive 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. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., and are not limited thereto. The processors involved in the embodiments provided in this application can be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., and are not limited thereto.

[0185] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, 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, it should be considered as the scope recorded in this application.

[0186] The above-described embodiments merely represent several implementation manners of this application. The description is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of this application. It should be noted that for those of ordinary skill in the art, without departing from the concept of this application, several modifications and improvements can still be made, and these all belong to the protection scope of this application. Therefore, the protection scope of this application shall be subject to the appended 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 health statistics information, free receiving buffer information and data block size information of the multiple destinations stored locally; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions; the free receiving buffer information refers to the size of available space in the current receiving buffer of the destination; 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; Determining a real-time success rate of each of the plurality of destination ends according to the number of resource transmissions within the current calculation interval and the number of successful transmissions within the current calculation interval; Determining the transmission priority of each of the multiple destinations in real time according to the real-time success rate; 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 real-time success rate includes: 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 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.

5. 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.

6. 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.

7. A resource transmission device, characterized in that: Applied to the source end, the device comprises: An initial information acquisition module, configured 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 the multiple destinations stored locally; the health statistics information at least includes the number of resource transmissions and the number of successful transmissions; the free receiving buffer information refers to the size of available space in the current receiving buffer of the destination; A transmission priority determination module, used to obtain the number of resource transmissions and the number of successful transmissions of each of the multiple destinations in 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; according to the number of resource transmissions in the current calculation interval and the number of successful transmissions in the current calculation interval, determine the real-time success rate of each of the multiple destinations; according to the real-time success rate, determine the transmission priority of each of the multiple destinations in real time; 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.

8. 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 6 are implemented.

9. 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 6 are implemented.

10. A computer program product, comprising a computer program, 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 6 are implemented.

Citation Information

Patent Citations

  • Resource scheduling method and device and storage medium

    CN115568027A

  • Resource scheduling method and device and storage medium

    CN115955443A