CN114615260B - 一种面向云服务资源传输的方法 - Google Patents
一种面向云服务资源传输的方法 Download PDFInfo
- Publication number
- CN114615260B CN114615260B CN202210511385.2A CN202210511385A CN114615260B CN 114615260 B CN114615260 B CN 114615260B CN 202210511385 A CN202210511385 A CN 202210511385A CN 114615260 B CN114615260 B CN 114615260B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- tcp socket
- client
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 196
- 230000005540 biological transmission Effects 0.000 title claims abstract description 77
- 230000006854 communication Effects 0.000 claims abstract description 84
- 239000012634 fragment Substances 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims abstract description 49
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 238000013467 fragmentation Methods 0.000 claims abstract description 12
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 153
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种面向云服务资源传输的方法,包括以下步骤:S1:驱使服务端与客户端建立数据交互,生成业务通讯路径和数据传输路径;S2:驱使服务端通过业务通讯路径向客户端发送的文件数据传输指令;S3:驱使客户端对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以获得服务端对应每一分片数据返回的状态码;S4:通过客户端判断返回的状态码是否为预设值,若是,则提示完成,若否,则重新上传该分片数据。在本发明中,通过业务通讯路径和数据传输路径,满足以最高效率传输资源并降低数据传输对实时通讯业务影响的需求,同时对待传输数据进行截取分片,避免因部分传输失败而重新传输整个文件。
Description
技术领域
本发明涉及大数据云服务技术领域,尤其涉及一种面向云服务资源传输的方法。
背景技术
目前大多数云服务系统的数据交互均是采用TCP Sockect协议进行数据交互,其业务场景主要用于客户端和服务端之间信息实时交互。但是当客户端需要传输大量数据或者大文件时,若继续采用TCP Sockect传输,无疑会影响其他业务功能的正常执行,导致TCPSockect协议的信息实时交互的优势便不存在,出现明显的信息延迟,甚至会因传输大量数据或者大文件导致网络通道堵塞,大量数据或者大文件反复传输失败,而TCP Sockect协议的通讯通道又因大量数据或者大文件的传输而被占用,形成恶性循环,严重影响云服务系统的正常运行。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种面向云服务资源传输的方法,其能解决云服务系统的数据交互容易因传输大量数据或者大文件而无法实现信息实时交互的问题。
为了达到上述目的,本发明所采用的技术方案如下:
一种面向云服务资源传输的方法,包括以下步骤:
S1:驱使服务端与客户端建立数据交互,生成业务通讯路径和数据传输路径;
S2:驱使服务端通过业务通讯路径向客户端发送的文件数据传输指令;
S3:驱使客户端对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以获得服务端对应每一分片数据返回的状态码;
S4:通过客户端判断返回的状态码是否为预设值,若是,则提示完成,若否,则重新上传该分片数据。
优选的,所述S1具体由以下步骤实现:
S11:驱使服务端创建第一TCP Socket进程以及部署Web服务;
S12:驱使客户端创建第二TCP Sockect进程、进程间通讯进程和HTTP进程;
S13:驱使第一TCP Socket进程和第二TCP Sockect进程建立实时通讯连接,形成业务通讯路径,其中第二TCP Sockect进程订阅文件上传完成事件FileUploadFinish;
S14:驱使HTTP进程与Web服务建立数据传输连接,形成数据传输路径,其中HTTP进程订阅上传文件事件FileUpload;
S15:驱使进程间通讯进程在HTTP进程与第二TCP Sockect进程之间建立通讯,其中进程间通讯进程基于订阅发布机制。
优选的,所述S3具体由以下步骤实现:
S31:通过第二TCP Sockect进程获取业务通讯路径中的文件数据传输指令,驱使进程间通讯进程发布文件上传事件FileUpload并转发至HTTP进程;
S32:驱使HTTP进程对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以使服务端接收并合并数据;
S33:通过HTTP进程向服务端请求返回的状态码,以获得服务端对应每一分片数据返回的状态码。
优选的,所述S32具体由以下步骤实现:
S321:预先定义分片数据的分片容量;
S322:驱使HTTP进程根据分片容量截取待传输数据,生成分片数据;
S323:将各分片数据并行传输至服务端,以使服务端接收各分片数据并对各分片数据进行合并。
优选的,所述S4具体由以下步骤实现:
S41:通过客户端判断返回的状态码是否为预设值,若是,则执行S42,若否,则驱使HTTP进程重新向服务端传输该分片数据,并执行S33;
S42:通过HTTP进程判断所有分片数据是否完成传输,若是,则执行S43,若否,则执行S32;
S43:通过进程间通讯进程发布文件上传完成事件FileUploadFinish并转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈业务结果。
优选的,所述S4具体由以下步骤实现:
S41:通过客户端判断返回的状态码是否为预设值,若是,则执行S42,若否,则驱使HTTP进程重新向服务端传输该分片数据,并执行S33;
S42:统计当前完成传输的分片数据的个数,通过公式:A=NF/S,获得当前传输进度,并通过进程间通讯进程转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈当前业务进度;
其中A为当前当前传输进度,N为当前完成传输的分片数据的个数,F为分片容量,S为待传输数据的大小。
相比现有技术,本发明的有益效果在于:通过业务通讯路径和数据传输路径,满足以最高效率传输资源并降低数据传输对实时通讯业务影响的需求,同时对待传输数据进行截取分片,避免因部分传输失败而重新传输整个文件,提高数据传输效率。
附图说明
图1为本发明中所述的面向云服务资源传输的方法的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面,结合附图以及具体实施方式,对本发明做进一步描述:
在本发明中,所述客户端可以为客户端服务器,所述服务端可以为云服务端服务器,所述客户端服务器和云服务端服务器之间的连接可以为有线连接和无线连接其中的一种或者多种。
实施例一:
如图1所示,一种面向云服务资源传输的方法,其包括以下步骤:
S1:驱使服务端与客户端建立数据交互,生成业务通讯路径和数据传输路径;
具体的,服务端与客户端之间至少建立两个交互路径,即业务通讯路径和数据传输路径的数量均至少为一个,其中业务通讯路径用于服务端与客户端之间进行实时通讯,数据传输路径用于文件传输。在本实施中,所述S1具体由以下步骤实现:
S11:驱使服务端创建第一TCP Socket进程以及部署Web服务;
具体的,服务端分别创建第一TCP Socket进程和部署Web服务,分别用于与客户端实时通讯和接收客户端上传的文件。
S12:驱使客户端创建第二TCP Sockect进程、进程间通讯进程和HTTP进程;
具体的,客户端创建三个进程:TCP Sockect进程、进程间通讯进程和HTTP进程,其中TCP Sockect进程用于进行实时通讯,进程间通讯进程用于进程之间的交互,HTTP进程用于上传文件。
S13:驱使第一TCP Socket进程和第二TCP Sockect进程建立实时通讯连接,形成业务通讯路径,其中第二TCP Sockect进程订阅文件上传完成事件FileUploadFinish;
具体的,客户端的第二TCP Sockect进程负责与服务端的第一TCP Socket进程进行通讯业务处理,并订阅文件上传完成事件:FileUploadFinish(HTTP进程发布)。
S14:驱使HTTP进程与Web服务建立数据传输连接,形成数据传输路径,其中HTTP进程订阅上传文件事件FileUpload;
具体的,客户端的HTTP进程与服务端部署的Web服务进行网络连接,负责进行文件的上传,并订阅上传文件事件FileUpload(TCP Socket进程发布)。
S15:驱使进程间通讯进程在HTTP进程与第二TCP Sockect进程之间建立通讯,其中进程间通讯进程基于订阅发布机制。
具体的,进程间通讯进程负责第二TCP Sockect进程与HTTP进程之间的通讯,该进程基于订阅发布机制,类似redis订阅发布机制,在本实施中主要包括发布订阅的事件机制和消息队列机制的其中一种或者多种。
S2:驱使服务端通过业务通讯路径向客户端发送的文件数据传输指令;
具体的,服务端的第一TCP Socket进程通过业务通讯路径向客户端的第二TCPSockect进程请求上传文件数据,以使客户端的HTTP进程向服务端上传文件数据。
S3:驱使客户端对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以获得服务端对应每一分片数据返回的状态码;
具体的,当客户端获取到向服务端上传文件数据的需求,则HTTP进程对待传输数据进行截取分片,以多个分片数据的形式向服务端传输待传输数据,其中,待传输数据为数据包、文件等数据量较大的数据。在本实施例中,所述S3具体由以下步骤实现:
S31:通过第二TCP Sockect进程获取业务通讯路径中的文件数据传输指令,驱使进程间通讯进程发布文件上传事件FileUpload并转发至HTTP进程;
具体的,第二TCP Sockect进程获取服务端的第一TCP Socket进程通过业务通讯路径发出的上传文件请求或者客户端的第二TCP Socket进程业务逻辑判断需要上传文件到服务端时,则驱使进程间通讯进程发布文件上传事件FileUpload(自定义)并转发至订阅该事件的HTTP进程,其中进程间通讯进程转发至HTTP进程的数据至少包括业务编号、用户标识和文件标识。
S32:驱使HTTP进程对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以使服务端接收并合并数据;
具体的,HTTP进程接收到信息后,对待上传的数据进行截取,同时将截取的数据(文件内容)进行分片上传到服务端,由服务端Web服务接收与合并。在本实施例中,所述S32具体由以下步骤实现:
S321:预先定义分片数据的分片容量;
具体的,预先设置每个分片数据(文件分片)的大小(即分片容量)。
S322:驱使HTTP进程根据分片容量截取待传输数据,生成分片数据;
具体的,从待传输数据的开头算起,获取待传输数据的大小,再根据S321中定义的分片容量对待传输数据进行截取,生成多个分片数据,优选的,可以一次只上传一个分片数据,每上传一次分片数据都从读取上一次的读取结束位置算起,直至一个S321中定义的分片数据的大小为止,如此重复,直至上传完全部待传输数据;
优选的,识别上一次的读取结束位置的具体手段,可以对关键字段做如下自定义:
chunkIndex:当前上传的是第几片,初始值为1
chunkSize:每个数据分片大小
chunkStart:每个数据分片读取的起始位置,第一个数据分片从0开始
chunkEnd:每个数据读取分片的结束位置
其中chunkIndex、chunkSize都是已知,由此可以得到开始位置和结束位置的计算公式:
chunkStart=(chunkIndex-1)*chunkSize
chunkEnd=chunkStart+chunkSize-1
之后读取分片的chunkStart和chunkEnd由chunkIndex+1代入上述公式可得到。
S323:将各分片数据并行传输至服务端,以使服务端接收各分片数据并对各分片数据进行合并。
具体的,将多个分片数据并行传输至服务端,即将需要上传的文件截取成多个分片文件,根据实际传输速率,同时并行上传多个分片至服务端,当服务端接收分片文件后并对各分片数据进行合并。
优选的,并行传输即是分片数据同时上传的各个请求相互独立,不会相互干扰,实现并发上传;服务端通过上传时携带的文件总大小和已经上传的文件总大小比对判断整个文件是否上传完成,通过最后一个上传完成的请求返回告知上传完成。
S33:通过HTTP进程向服务端请求返回的状态码,以获得服务端对应每一分片数据返回的状态码。
具体的,HTTP进程每成功传输一个分片数据,都会向服务端请求返回的状态码。
S4:通过客户端判断返回的状态码是否为预设值,若是,则提示完成,若否,则重新上传该分片数据。
具体的,HTTP进程每成功传输一个分片数据,都会向服务端请求返回的状态码,可通过返回的状态码判断对应的分片数据是否上传成功。在本实施例中,所述S4具体由以下步骤实现:
S41:通过客户端判断返回的状态码是否为预设值,若是,则执行S42,若否,则驱使HTTP进程重新向服务端传输该分片数据,并执行S33;
具体的,当服务端请求返回的状态码为预设值,则可进一步判断本次数据传输是否已完成,当服务端请求返回的状态码与预设值不相符,则驱使HTTP进程重新向服务端传输该分片数据,重新向服务端请求返回的状态码。
S42:通过HTTP进程判断所有分片数据是否完成传输,若是,则执行S43,若否,则执行S32;
具体的,当服务端请求返回的状态码为预设值,则进一步判断HTTP进程是否已经将本次需要上传的所有分片数据均已传输至服务端,若是,则可向外界反馈业务结果,若否,则驱使HTTP进程继续对待上传的数据进行截取,同时将截取的数据(文件内容)进行分片上传到服务端。
S43:通过进程间通讯进程发布文件上传完成事件FileUploadFinish并转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈业务结果。
具体的,当HTTP进程完成数据传输之后,通过进程间通讯进程发布文件上传完成事件FileUploadFinish(自定义),并转发至订阅该事件的第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈业务结果,从而形成业务闭环,提高用户体验。
实施例二:
一种面向云服务资源传输的方法,其包括以下步骤:
S1:驱使服务端与客户端建立数据交互,生成业务通讯路径和数据传输路径;
具体的,服务端与客户端之间至少建立两个交互路径,即业务通讯路径和数据传输路径的数量均至少为一个,其中业务通讯路径用于服务端与客户端之间进行实时通讯,数据传输路径用于文件传输。在本实施中,所述S1具体由以下步骤实现:
S11:驱使服务端创建第一TCP Socket进程以及部署Web服务;
具体的,服务端分别创建第一TCP Socket进程和部署Web服务,分别用于与客户端实时通讯和接收客户端上传的文件。
S12:驱使客户端创建第二TCP Sockect进程、进程间通讯进程和HTTP进程;
具体的,客户端创建三个进程:TCP Sockect进程、进程间通讯进程和HTTP进程,其中TCP Sockect进程用于进行实时通讯,进程间通讯进程用于进程之间的交互,HTTP进程用于上传文件。
S13:驱使第一TCP Socket进程和第二TCP Sockect进程建立实时通讯连接,形成业务通讯路径,其中第二TCP Sockect进程订阅文件上传完成事件FileUploadFinish;
具体的,客户端的第二TCP Sockect进程负责与服务端的第一TCP Socket进程进行通讯业务处理,并订阅文件上传完成事件:FileUploadFinish(HTTP进程发布)。
S14:驱使HTTP进程与Web服务建立数据传输连接,形成数据传输路径,其中HTTP进程订阅上传文件事件FileUpload;
具体的,客户端的HTTP进程与服务端部署的Web服务进行网络连接,负责进行文件的上传,并订阅上传文件事件FileUpload(TCP Socket进程发布)。
S15:驱使进程间通讯进程在HTTP进程与第二TCP Sockect进程之间建立通讯,其中进程间通讯进程基于订阅发布机制。
具体的,进程间通讯进程负责第二TCP Sockect进程与HTTP进程之间的通讯,该进程基于订阅发布机制,类似redis订阅发布机制,在本实施中主要包括发布订阅的事件机制和消息队列机制的其中一种或者多种。
S2:驱使服务端通过业务通讯路径向客户端发送的文件数据传输指令;
具体的,服务端的第一TCP Socket进程通过业务通讯路径向客户端的第二TCPSockect进程请求上传文件数据,以使客户端的HTTP进程向服务端上传文件数据。
S3:驱使客户端对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以获得服务端对应每一分片数据返回的状态码;
具体的,当客户端获取到向服务端上传文件数据的需求,则HTTP进程对待传输数据进行截取分片,以多个分片数据的形式向服务端传输待传输数据,其中,待传输数据为数据包、文件等数据量较大的数据。在本实施例中,所述S3具体由以下步骤实现:
S31:通过第二TCP Sockect进程获取业务通讯路径中的文件数据传输指令,驱使进程间通讯进程发布文件上传事件FileUpload并转发至HTTP进程;
具体的,第二TCP Sockect进程获取服务端的第一TCP Socket进程通过业务通讯路径发出的上传文件请求或者客户端的第二TCP Socket进程业务逻辑判断需要上传文件到服务端时,则驱使进程间通讯进程发布文件上传事件FileUpload(自定义)并转发至订阅该事件的HTTP进程,其中进程间通讯进程转发至HTTP进程的数据至少包括业务编号、用户标识和文件标识。
S32:驱使HTTP进程对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以使服务端接收并合并数据;
具体的,HTTP进程接收到信息后,对待上传的数据进行截取,同时将截取的数据(文件内容)进行分片上传到服务端,由服务端Web服务接收与合并。在本实施例中,所述S32具体由以下步骤实现:
S321:预先定义分片数据的分片容量;
具体的,预先设置每个分片数据(文件分片)的大小(即分片容量)。
S322:驱使HTTP进程根据分片容量截取待传输数据,生成分片数据;
具体的,从待传输数据的开头算起,获取待传输数据的大小,再根据S321中定义的分片容量对待传输数据进行截取,生成多个分片数据,优选的,可以一次只上传一个分片数据,每上传一次分片数据都从读取上一次的读取结束位置算起,直至一个S321中定义的分片数据的大小为止,如此重复,直至上传完全部待传输数据;
优选的,识别上一次的读取结束位置的具体手段,可以对关键字段做如下自定义:
chunkIndex:当前上传的是第几片,初始值为1
chunkSize:每个数据分片大小
chunkStart:每个数据分片读取的起始位置,第一个数据分片从0开始
chunkEnd:每个数据读取分片的结束位置
其中chunkIndex、chunkSize都是已知,由此可以得到开始位置和结束位置的计算公式:
chunkStart=(chunkIndex-1)*chunkSize
chunkEnd=chunkStart+chunkSize-1
之后读取分片的chunkStart和chunkEnd由chunkIndex+1代入上述公式可得到。
S323:将各分片数据并行传输至服务端,以使服务端接收各分片数据并对各分片数据进行合并。
具体的,将多个分片数据并行传输至服务端,即将需要上传的文件截取成多个分片文件,根据实际传输速率,同时并行上传多个分片至服务端,当服务端接收分片文件后并对各分片数据进行合并。
优选的,并行传输即是分片数据同时上传的各个请求相互独立,不会相互干扰,实现并发上传;服务端通过上传时携带的文件总大小和已经上传的文件总大小比对判断整个文件是否上传完成,通过最后一个上传完成的请求返回告知上传完成。
S33:通过HTTP进程向服务端请求返回的状态码,以获得服务端对应每一分片数据返回的状态码。
具体的,HTTP进程每成功传输一个分片数据,都会向服务端请求返回的状态码。
S4:通过客户端判断返回的状态码是否为预设值,若是,则提示完成,若否,则重新上传该分片数据。
具体的,HTTP进程每成功传输一个分片数据,都会向服务端请求返回的状态码,可通过返回的状态码判断对应的分片数据是否上传成功。在本实施例中,所述S4具体由以下步骤实现:
S41:通过客户端判断返回的状态码是否为预设值,若是,则执行S42,若否,则驱使HTTP进程重新向服务端传输该分片数据,并执行S33;
具体的,当服务端请求返回的状态码为预设值,则可进一步判断本次数据传输是否已完成,当服务端请求返回的状态码与预设值不相符,则驱使HTTP进程重新向服务端传输该分片数据,重新向服务端请求返回的状态码。
S42:统计当前完成传输的分片数据的个数,通过公式:A=NF/S,获得当前传输进度,并通过进程间通讯进程转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈当前业务进度;
其中A为当前当前传输进度,N为当前完成传输的分片数据的个数,F为分片容量,S为待传输数据的大小。
具体的,通过统计当前完成传输的分片数据的个数以及每个分片数据的大小,再通过公式:A=NF/S,获得当前传输进度,即当前完成传输的数据占总数据的比例,再通过进程间通讯进程转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈当前业务进度,以使用户获得当前上传完成的比例,当HTTP进程完成数据传输之后,通过进程间通讯进程发布文件上传完成事件FileUploadFinish(自定义),并转发至订阅该事件的第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈业务结果,从而形成业务闭环,满足用户随时获得业务进度的需求,增强用户参与感。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (2)
1.一种面向云服务资源传输的方法,其特征在于,包括以下步骤:
S1:驱使服务端与客户端建立数据交互,生成业务通讯路径和数据传输路径;
S2:驱使服务端通过业务通讯路径向客户端发送的文件数据传输指令;
S3:驱使客户端对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以获得服务端对应每一分片数据返回的状态码;
S4:通过客户端判断返回的状态码是否为预设值,若是,则提示完成,若否,则重新上传该分片数据;
所述S1具体由以下步骤实现:
S11:驱使服务端创建第一TCP Socket进程以及部署Web服务;
S12:驱使客户端创建第二TCP Sockect进程、进程间通讯进程和HTTP进程;
S13:驱使第一TCP Socket进程和第二TCP Sockect进程建立实时通讯连接,形成业务通讯路径,其中第二TCP Sockect进程订阅文件上传完成事件FileUploadFinish;
S14:驱使HTTP进程与Web服务建立数据传输连接,形成数据传输路径,其中HTTP进程订阅上传文件事件FileUpload;
S15:驱使进程间通讯进程在HTTP进程与第二TCP Sockect进程之间建立通讯,其中进程间通讯进程基于订阅发布机制;
所述S3具体由以下步骤实现:
S31:通过第二TCP Sockect进程获取业务通讯路径中的文件数据传输指令,驱使进程间通讯进程发布文件上传事件FileUpload并转发至HTTP进程;
S32:驱使HTTP进程对待传输数据进行截取,同时将截取的数据通过数据传输路径进行分片并行传输至服务端,以使服务端接收并合并数据;
S33:通过HTTP进程向服务端请求返回的状态码,以获得服务端对应每一分片数据返回的状态码;
所述S4具体由以下步骤实现:
S41:通过客户端判断返回的状态码是否为预设值,若是,则执行S42,若否,则驱使HTTP进程重新向服务端传输该分片数据,并执行S33;
S42:通过HTTP进程判断所有分片数据是否完成传输,若是,则执行S43,若否,则执行S32;
S43:通过进程间通讯进程发布文件上传完成事件FileUploadFinish并转发至第二TCPSockect进程,以使第二TCP Sockect进程向用户反馈业务结果;
S44:统计当前完成传输的分片数据的个数,通过公式:A=NF/S,获得当前传输进度,并通过进程间通讯进程转发至第二TCP Sockect进程,以使第二TCP Sockect进程向用户反馈当前业务进度;
其中A为当前传输进度,N为当前完成传输的分片数据的个数,F为分片容量,S为待传输数据的大小。
2.如权利要求1所述的面向云服务资源传输的方法,其特征在于,所述S32具体由以下步骤实现:
S321:预先定义分片数据的分片容量;
S322:驱使HTTP进程根据分片容量截取待传输数据,生成分片数据;
S323:将各分片数据并行传输至服务端,以使服务端接收各分片数据并对各分片数据进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511385.2A CN114615260B (zh) | 2022-05-12 | 2022-05-12 | 一种面向云服务资源传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511385.2A CN114615260B (zh) | 2022-05-12 | 2022-05-12 | 一种面向云服务资源传输的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114615260A CN114615260A (zh) | 2022-06-10 |
CN114615260B true CN114615260B (zh) | 2022-09-16 |
Family
ID=81870603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210511385.2A Active CN114615260B (zh) | 2022-05-12 | 2022-05-12 | 一种面向云服务资源传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114615260B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108260010A (zh) * | 2018-02-05 | 2018-07-06 | 南通大学 | 一种基于网络编解码和协作分发的视频点播方法以及系统 |
CN109361762A (zh) * | 2018-11-26 | 2019-02-19 | 量子云未来(北京)信息科技有限公司 | 一种文件传输方法、装置及系统 |
CN113572750A (zh) * | 2021-07-20 | 2021-10-29 | 北京奇艺世纪科技有限公司 | 视频数据传输方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383266B2 (en) * | 2004-12-01 | 2008-06-03 | International Business Machines Corporation | Just-in-time publishing via a publish/subscribe messaging system having message publishing controls |
CN102316127B (zh) * | 2010-06-29 | 2014-04-23 | 阿尔卡特朗讯 | 无线通信系统中基于分布式存储的文件传输方法 |
JP6916112B2 (ja) * | 2014-11-21 | 2021-08-11 | ブルヴェクター, インコーポレーテッドBluvector, Inc. | ネットワークデータ特性評価のシステムと方法 |
WO2020005328A2 (en) * | 2018-02-09 | 2020-01-02 | Orbs Ltd. | Decentralized application platform for private key management |
-
2022
- 2022-05-12 CN CN202210511385.2A patent/CN114615260B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108260010A (zh) * | 2018-02-05 | 2018-07-06 | 南通大学 | 一种基于网络编解码和协作分发的视频点播方法以及系统 |
CN109361762A (zh) * | 2018-11-26 | 2019-02-19 | 量子云未来(北京)信息科技有限公司 | 一种文件传输方法、装置及系统 |
CN113572750A (zh) * | 2021-07-20 | 2021-10-29 | 北京奇艺世纪科技有限公司 | 视频数据传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
《基于发布/订阅的消息队列在工作流引擎中的应用研究》;沙胜华等;《计算机与现代化》;20121025(第10期);正文1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114615260A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8478897B2 (en) | Process for communication between a device running a mobile device platform and a server over the air, as well as related system | |
US7423973B2 (en) | Methods and apparatus for hybrid multicast and unicast transmissions in a data network | |
US8930569B2 (en) | Methods and apparatus for optimum file transfers in a time-varying network emvironment | |
JP4818374B2 (ja) | 車両用通信装置 | |
KR100839267B1 (ko) | 확률적 피드백을 이용하여 멀티캐스트 컨텐트의 전달을최적화하기 위한 방법 및 장치 | |
CN110995697A (zh) | 一种大数据传输方法及系统 | |
TW200405691A (en) | System for efficient recovery of node-b buffered data following MAC layer reset | |
JP2002529010A (ja) | 自動再送要求を行うデータ・ネットワークにおけるパケット破棄方法及びパケット破棄装置 | |
JP2009544259A (ja) | 無線通信システムにおけるポリシー施行のための方法及び装置 | |
WO2006114038A1 (fr) | Procede de realisation d’un service de distribution selective | |
EP2613497B1 (en) | Method of transporting data in a sub-segmented manner | |
CN102340535B (zh) | 数据传输方法、设备和系统 | |
CN112436924B (zh) | 一种数据传输方法及电子设备 | |
EP3360374B1 (en) | Network node, wireless device and methods performed thereby for the network node to provide information to the wireless device | |
CN106330406A (zh) | 一种基于tcp的数据传输方法及装置 | |
CN114615260B (zh) | 一种面向云服务资源传输的方法 | |
JP2003008642A (ja) | マルチキャスト通信方法およびシステム | |
CN113517955B (zh) | 信息发送、接收方法及发送设备和接收设备 | |
CN116032998B (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 | |
CN107210864B (zh) | 用于网络通信的系统、设备和方法 | |
CN101924736A (zh) | 动态主机配置协议报文的传输方法和装置 | |
WO2021253268A1 (zh) | 通信系统的信息传输方法、通信系统及通信设备 | |
EP4422274A1 (en) | Communication method and apparatus | |
CN115065989A (zh) | 一种组播重传方法、装置、设备及存储介质 | |
CN117956045A (zh) | 一种基于udp协议的通信系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Patentee after: Guangdong Baolun Electronics Co.,Ltd. Address before: No.19 Chuangyuan Road, Zhongcun street, Panyu District, Guangzhou, Guangdong 510000 Patentee before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |