WO2013056518A1 - 大对象传输方法及系统 - Google Patents
大对象传输方法及系统 Download PDFInfo
- Publication number
- WO2013056518A1 WO2013056518A1 PCT/CN2012/070158 CN2012070158W WO2013056518A1 WO 2013056518 A1 WO2013056518 A1 WO 2013056518A1 CN 2012070158 W CN2012070158 W CN 2012070158W WO 2013056518 A1 WO2013056518 A1 WO 2013056518A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data block
- size
- server
- client
- large object
- Prior art date
Links
Classifications
-
- 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/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- 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
Definitions
- the present invention relates to a transmission technology based on OMA (Open Mobile Alliance) SyncML (Data Synchronization Protocol) in the field of communication, and in particular, to a large object transmission method and system. Background technique
- OMA Open Mobile Alliance
- SyncML Data Synchronization Protocol
- the OMA SyncML protocol supports the transmission of objects.
- the object size is larger than the maximum number of message bytes supported by the client, the object is called a large object, that is, the size of the transport object (identified by the Size element in the SyncML message) is larger than that supported by the client.
- the maximum number of message bytes (identified by the MaxMsgSize element in the SyncML message)
- the object is a large object.
- the processing method specified in the OMA SyncML protocol is usually to split the large object into data block transmissions, and send the data blocks to the client through the SyncML message, and the size of each data block is equal to or smaller than the client support.
- the maximum number of message bytes, the transfer of large objects is based on the basic session in the OMA SyncML protocol.
- the basic session process in the OMA SyncML protocol includes two phases: session establishment and session management.
- the session establishment phase can be triggered either by the server or by the client. After the two parties establish a session, they enter the session management phase.
- the client interacts with the server during the session management phase to complete the transfer of the entire large object.
- the large object transmission method specified in the OMA SyncML protocol is specified in the OMA SyncML protocol.
- the existing large object transmission process based on the OMA SyncML protocol mainly includes the following parts:
- the server establishes a session with the client, the server knows the MaxMsgSize of the client; Second: the server issues a transfer command of the large object, and divides the large object data according to the given MaxMsgSize, and the size of the large object ( Used in SyncML messages The MaxMsgSize element identifies) and the first data block is sent to the client;
- the client saves the size of the large object and the first data block, and notifies the server to continue to send the next data block;
- the server continues to send the next data block until the data is completely transferred (identified by the Final element in the SyncML message;);
- V After receiving the command to transfer the large object, the client combines all the data blocks, calculates the total size, and compares with the size of the saved large object to check whether the large object is successfully transmitted.
- this transmission method has certain defects, that is, only after all the data blocks of the large object have been completely transmitted, it can be known whether the transmission of the large object is successful, that is, because the server does not give each data block. Size, so even if the data block received by the client is wrong, the client will not know, or notify the server to continue to send the next data block, which will result in waste of interaction time and bandwidth resources.
- the present invention provides the following technical solutions:
- a large object transmission method after the server establishes a session with the client: the server splits the pre-transported large object into data blocks, and sends the obtained data blocks and their sizes to the client one by one in sequence;
- the client determines whether the received data block is successfully transmitted, and if so, saves the data block, and returns a current data block transmission success message to the server; otherwise, returns an end session request message or retransmits the current data block request message to the foregoing Server
- the above server sends the corresponding data block and its size or ends the session according to the received message.
- the client determines whether the received data block is successfully transmitted by: Calculate the actual size of the above data block;
- the server further sends the size of the large object to the client;
- the above client saves the size of the received large object.
- the server further sends a transmission end identifier to the client;
- the above client After receiving the transmission end identifier and successfully transmitting the current data block, the above client performs the following steps:
- a large object transmission success message is returned to the above server; otherwise, a large object transmission failure message is returned to the above server.
- the step of sending, by the server, the corresponding data block and its size or ending the session according to the received request is specifically:
- the server When the server receives the current data block transmission success message and has a data block, the server sends the next data block and its large data to the client;
- the server When receiving the retransmitting the current data block request message, the server continues to send the current data block and its size to the client;
- the above server When the above server receives the end session request message, the large object transmission success message, or the large object transmission failure message, the current session ends.
- the server sends the data block and its size, the size of the large object, and the transmission end identifier to the client by using the extended SyncML message;
- the extended SyncML message includes a Size element, a Data element, a BlockSize element, and a Final element, where the value of the Size element is the size of the large object, and the value of the Data element is the current transmission.
- the value of the input data block and BlockSize element is the size of the currently transmitted data block, and the value of the Final element is the end of transmission identifier.
- the present invention further provides a large object transmission system, the system comprising a server and a client.
- the server is configured to split the pre-transported large object into data blocks, and send the obtained data blocks and their large data to the client in sequence; and send corresponding data according to the message returned by the client.
- the client is configured to determine whether the received data block is successfully transmitted, and save the data block when the data block is successfully transmitted, and return a current data block transmission success message to the server; when the data block transmission fails, the return ends.
- the session request message or the retransmission current data block request message to the above server.
- the server is configured to: when sending the first data block and its size, send the size of the large object to the client; when sending the last data block and its size, send the end of transmission identifier to the foregoing Client
- the client is configured to save the size of the received large object; and when the transmission end identifier is received and the current data block is successfully transmitted, the saved data block is merged in order and the total size of the data block is calculated, and the saved data is large.
- the size of the object is compared. When the two are consistent, a large object transmission success message is returned to the server; when the two are inconsistent, a large object transmission failure message is returned to the server.
- the server is configured to send the next data block and its size to the client when receiving the current data block transmission success message and the data block; when receiving the retransmission current data block request message, Continue to send the current data block and its large 'j, to the above client;
- the above client is used to calculate the actual size of the data block and the received data block Size is compared.
- the server sends the data block and its size, the size of the large object, and the transmission end identifier to the client by using the extended SyncML message.
- the invention transmits the data block together with the size of the data block to the client, and each time the client receives a data block, it determines whether the transmission is successful, and when the data block fails to transmit, or actively requests to end the session. Either request retransmission; that is, the present invention processes in advance when the data block of the large object is transmitted incorrectly, thereby saving bandwidth resources.
- FIG. 1 is a flow chart of a first preferred embodiment of a large object transmission method of the present invention
- FIG. 2 is a flow chart of a second preferred embodiment of the large object transmission method of the present invention.
- FIG. 3 is a schematic block diagram of a preferred embodiment of the large object transmission system of the present invention. detailed description
- FIG. 1 it is a flowchart of the first preferred embodiment of the large object transmission method of the present invention.
- the client uses the request server retransmission mechanism for the data block that fails to be transmitted.
- This embodiment includes the following steps. :
- Step S001 The server establishes a session with the client.
- Step S002 According to the maximum number of message bytes supported by the client, which is known during the session establishment process, splitting the currently transmitted large object, splitting the large object into data blocks and starting transmission; this step splits the large object.
- a data block that is less than or equal to the maximum number of message bytes supported by the client is transmitted.
- Step S003 determining whether the current data block is the first data block or the last data block, if it is the first data block, executing step S004; if it is the last data block, executing step S005; otherwise, executing step S006 ;
- Step S004 The size of the currently transmitted large object is taken as the value of the Size element of the extended SyncML message, step S006 is performed;
- the extended SyncML message includes a Size element, a Data element, a BlockSize element, and a Final element, wherein the BlockSize element is a new element of the invention to carry the size of the data block; the value of the Size element represents the currently transmitted large object.
- the size, the value of the Data element indicates the currently transmitted data block, the value of the BlockSize element indicates the size of the currently transmitted data block, and the value of the Final element indicates the end of transmission identification.
- Step S005 The transmission end identifier is used as the value of the Final element of the extended SyncML message;
- Step S006 The current data block and its size are respectively used as the value of the Data element and the BlockSize element of the extended SyncML message;
- Step S007 Send the extended SyncML message to the client.
- the value of the Size element of the SyncML message is not empty; when the currently transmitted data block is the last data block of the large object, the value of the Final element of the extended SyncML message is not empty, in other cases and when retransmitting, the extended The Size element and Final element of the SyncML message are empty.
- Step S008 The client receives the extended SyncML message.
- Step S009 determining whether the Size element of the message is empty, and if so, executing step S010; otherwise, executing step S011;
- Step S010 Saving the value of the Size element
- This step saves the size of the large object and is used as a basis for judging whether the large object is successfully transmitted in the subsequent steps.
- Step S011 Calculate the actual size of the received data block;
- Step S012 Compared with the value of the BlockSize element, if yes, step S013 is performed; otherwise, step S014 is performed;
- Step S013 Save the current data block, and return the current data block transmission success message to the above server, and perform step S015;
- Step S014 Discard the current data block, and return a retransmission current data block request message to the foregoing server.
- Step S015 determining whether the value of the Final element of the message is empty, if yes, indicating that the currently transmitted data block is the last data block, performing step S016; otherwise, performing step S008; Step S016: combining all the saved data blocks and Calculating the size of the merged data block; Step S017: If the value of the saved Size element is compared, if yes, step S018 is performed; otherwise, step S019 is performed;
- This step can determine that the data block has packet loss during the transmission process.
- Step S018 Returning the large object transmission success message to the server, and performing step S020;
- Step S019 returning a large object transmission failure message to the server;
- Step S020 The server receives the message returned by the client.
- Step S021 Determine the message type returned by the client, if it is the current data block transmission success message, execute step S022; if it is to retransmit the current data block request message, execute step S006; if it is a large object transmission success/failure message, Then executing step S025;
- Step S022 determining whether there is still a data block, and if so, executing step S023; otherwise, executing step S024;
- Step S023 pointing to the next data block, performing step S003;
- Step S024 Waiting for the client to return a large object transmission result message, performing step S020; Step S025: ending the current session.
- FIG. 2 it is a flowchart of a second preferred embodiment of the large object transmission method of the present invention.
- the client uses the request server to end the dialogue mechanism for the data block that fails to be transmitted. Processing, this embodiment includes the following steps:
- Step S101 The server establishes a session with the client.
- Step S102 Split the currently transmitted large object according to the maximum number of message bytes that the client can support during the session establishment process, and split the large object into data blocks and start transmission;
- Step S103 determining whether the current data block is the first data block or the last data block, if it is the first data block, executing step S104; if it is the last data block, executing step S105; otherwise, executing step S106 ;
- Step S104 The size of the currently transmitted large object is taken as the value of the Size element of the extended SyncML message, step S106 is performed;
- Step S105 The transmission end identifier is used as the value of the Final element of the extended SyncML message;
- Step S106 The current data block and its size are respectively used as the value of the Data element and the BlockSize element of the extended SyncML message;
- Step S107 Send the extended SyncML message to the client.
- Step S108 The client receives the extended SyncML message.
- Step S109 determining whether the Size element of the message is empty, and if so: executing step S110; otherwise, executing step S111;
- Step S110 Saving the value of the Size element
- Step S111 Calculate the size of the received data block
- Step S112 If the value of the BlockSize element is compared, if yes, step S113 is performed; otherwise, step S114 is performed;
- Step S113 Save the current data block, and return the current data block transmission success message to the above server, and perform step S115;
- Step S114 discarding the current data block, and returning the end session request message to the server;
- Step S115 determining whether the value of the Final element of the message is empty, and if yes, indicating that The previously transmitted data block is the last data block, and step S116 is performed; otherwise, step S108 is performed;
- Step S116 Combine all the saved data blocks and calculate the size of the merged data block;
- Step S117 and the value of the saved Size element If yes, go to step S118; otherwise, go to step S119;
- Step S118 Returning the large object transmission success message to the server, and performing step S120;
- Step S119 returning a large object transmission failure message to the server;
- Step S120 The server receives the message returned by the client.
- Step S121 Determine the message type returned by the client, if it is the current data block transmission success message, execute step S122; if it is the end session request message, execute step S125; if it is a large object transmission success/failure message, perform the step S125;
- Step S122 determining whether there is still a data block, and if so, executing step S123; otherwise, executing step S124;
- Step S123 pointing to the next data block, performing step S103;
- Step S124 Waiting for the client to return the large object transmission result message, performing step S120; Step S125: Ending the current session.
- FIG. 3 it is a schematic block diagram of a preferred embodiment of the large object transmission system of the present invention.
- the embodiment includes a server and a client.
- a server configured to split the pre-transported large object into data blocks equal to or smaller than the maximum number of message bytes according to the maximum number of message bytes supported by the client, and pass the obtained data block and its size through the extended SyncML
- the message is sent to the client one by one in sequence; and when the first data block and its size are sent, the size of the large object is sent to the client; when the last data block and its size are sent, the transmission ends.
- the client is configured to calculate the actual size of the received data block, compare it with the received size of the data block, determine whether the received data block is successfully transmitted, and save the data block when the data block is successfully transmitted. And returning the current data block transmission success message to the server; when the data block transmission fails, returning the end session request message or retransmitting the current data block request message to the server; and saving the size of the received large object; When the transmission end identifier is reached and the current data block is successfully transmitted, the saved data block is merged in order and the total size of the data block is calculated, and compared with the size of the saved large object, when the two are consistent, the large object transmission success message is returned. To the above server; when the two are inconsistent, return a large object transmission failure message to the above server.
- the invention transmits the data block together with the size of the data block to the client, and each time the client receives a data block, it determines whether the transmission is successful, so when the data block of the large object is transmitted, the time can be timely. Know and process in advance, saving bandwidth resources.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/351,628 US9300438B2 (en) | 2011-10-18 | 2012-01-10 | Method and system for transmitting large object |
JP2014536092A JP6050823B2 (ja) | 2011-10-18 | 2012-01-10 | ラージ・オブジェクトの転送方法及びシステム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110316789.8 | 2011-10-18 | ||
CN2011103167898A CN102340507A (zh) | 2011-10-18 | 2011-10-18 | 大对象传输方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013056518A1 true WO2013056518A1 (zh) | 2013-04-25 |
Family
ID=45516005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2012/070158 WO2013056518A1 (zh) | 2011-10-18 | 2012-01-10 | 大对象传输方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9300438B2 (zh) |
JP (1) | JP6050823B2 (zh) |
CN (1) | CN102340507A (zh) |
WO (1) | WO2013056518A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2019087295A1 (ja) * | 2017-10-31 | 2020-04-09 | 三菱電機株式会社 | 更新システム、更新装置および被更新装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856955B (zh) * | 2012-11-28 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种数据传输的测试方法和装置 |
CN113068177B (zh) * | 2021-03-23 | 2023-01-10 | 中国联合网络通信集团有限公司 | 数据传输控制方法、装置及终端设备 |
CN114697376A (zh) * | 2022-03-16 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种超大消息传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115364A1 (en) * | 2001-12-19 | 2003-06-19 | Li Shu | Camouflage of network traffic to resist attack |
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
CN101877862A (zh) * | 2009-04-30 | 2010-11-03 | 中兴通讯股份有限公司 | 大对象传输方法、服务器 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01101758A (ja) * | 1987-10-15 | 1989-04-19 | Oki Electric Ind Co Ltd | 固定長パケット通信におけるパケット分解・組立および粉失検出方法 |
US5452299A (en) * | 1993-10-14 | 1995-09-19 | Intel Corporation | Optimized transfer of large object data blocks in a teleconferencing system |
WO1996016497A1 (en) * | 1994-11-21 | 1996-05-30 | Oracle Corporation | Transferring binary large objects (blobs) in a network environment |
US5857203A (en) * | 1996-07-29 | 1999-01-05 | International Business Machines Corporation | Method and apparatus for dividing, mapping and storing large digital objects in a client/server library system |
JP2001086190A (ja) * | 1999-09-09 | 2001-03-30 | Mega Chips Corp | データ伝送における誤り制御システム |
JP4003357B2 (ja) | 1999-09-29 | 2007-11-07 | ソニー株式会社 | ディスクの記録及び/又は再生装置 |
US6938211B1 (en) * | 1999-11-24 | 2005-08-30 | University of Pittsburgh of the Common Wealth System of Higher Education | Methods and apparatus for an image transfer object |
US7570656B2 (en) * | 2001-06-18 | 2009-08-04 | Yitran Communications Ltd. | Channel access method for powerline carrier based media access control protocol |
JP4860070B2 (ja) * | 2001-08-30 | 2012-01-25 | 株式会社日立製作所 | ファイル伝送方法及びファイル伝送システム |
US20030210711A1 (en) * | 2002-05-08 | 2003-11-13 | Faust Albert William | Data transfer method and apparatus |
JP3643360B2 (ja) | 2002-08-12 | 2005-04-27 | 松下電器産業株式会社 | 受信装置及び通信方法 |
US7206910B2 (en) * | 2002-12-17 | 2007-04-17 | Oracle International Corporation | Delta object replication system and method for clustered system |
CN100563253C (zh) * | 2006-03-23 | 2009-11-25 | 杭州华三通信技术有限公司 | 一种客户/服务器架构中的数据处理方法 |
CN101453478B (zh) * | 2007-11-28 | 2013-07-03 | 新奥特(北京)视频技术有限公司 | 一种在文件传输中的完整性校验方法 |
US8103631B2 (en) * | 2008-11-19 | 2012-01-24 | Sandisk Il Ltd | Merging files on storage and retrieve |
CN101827128A (zh) * | 2010-04-06 | 2010-09-08 | 山东高效能服务器和存储研究院 | 一种文件网络传输中分块下载和匹配的方法 |
US20110264763A1 (en) * | 2010-04-23 | 2011-10-27 | Yu Chun-Ta | Method for retrieving object from device management client and associated device management system |
JP5348263B2 (ja) * | 2012-02-29 | 2013-11-20 | 富士通株式会社 | データ伝送装置、データ伝送システムおよびデータ伝送方法 |
-
2011
- 2011-10-18 CN CN2011103167898A patent/CN102340507A/zh active Pending
-
2012
- 2012-01-10 WO PCT/CN2012/070158 patent/WO2013056518A1/zh active Application Filing
- 2012-01-10 JP JP2014536092A patent/JP6050823B2/ja not_active Expired - Fee Related
- 2012-01-10 US US14/351,628 patent/US9300438B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115364A1 (en) * | 2001-12-19 | 2003-06-19 | Li Shu | Camouflage of network traffic to resist attack |
CN101877862A (zh) * | 2009-04-30 | 2010-11-03 | 中兴通讯股份有限公司 | 大对象传输方法、服务器 |
CN101656756A (zh) * | 2009-09-17 | 2010-02-24 | 中国科学院声学研究所 | 一种发送速率自适应控制的文件传输方法及其系统 |
Non-Patent Citations (1)
Title |
---|
LAKSHMESHWAR, S. ET AL.: "Suspend and Resume Feature for OMA DM Large Object Delivery.", THE 3RD INTERNATIONAL CONFERENCE ON GRID AND PERVASIVE COMPUTING WORKSHOPS, May 2008 (2008-05-01), pages 206 - 212, XP031270045 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2019087295A1 (ja) * | 2017-10-31 | 2020-04-09 | 三菱電機株式会社 | 更新システム、更新装置および被更新装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2015501584A (ja) | 2015-01-15 |
JP6050823B2 (ja) | 2016-12-21 |
US9300438B2 (en) | 2016-03-29 |
CN102340507A (zh) | 2012-02-01 |
US20140317465A1 (en) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6462879B2 (ja) | 適応的フローテーブルを処理する方法及び装置 | |
JP5598582B2 (ja) | 通信システム、ノード、制御装置、通信方法およびプログラム | |
JP2018503303A5 (zh) | ||
WO2013056518A1 (zh) | 大对象传输方法及系统 | |
EP2866395B1 (en) | Maximum transmission unit negotiation method and data terminal | |
JP2011524127A5 (zh) | ||
WO2011100911A2 (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
JP2012510759A5 (zh) | ||
WO2015113297A1 (zh) | 数据传输方法、传输控制方法及设备 | |
WO2018107925A1 (zh) | 一种数据流的处理方法及装置、计算机存储介质 | |
WO2015180418A1 (zh) | 组播传输方法、装置及系统 | |
WO2013167065A2 (zh) | 一种协同业务传输中的数据重传方法及接入网网关 | |
KR101018685B1 (ko) | 광대역 무선통신시스템에서 자동 재송 요구 리셋을제어하기 위한 장치 및 방법 | |
US10193941B2 (en) | Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol | |
CN104270320B (zh) | 一种分布式通信系统主动流量控制的方法 | |
KR101927081B1 (ko) | Rlc 계층의 데이터 패킷 처리 방법 및 rlc 엔티티 | |
US20160080972A1 (en) | Data transmission system and method | |
TWI477112B (zh) | Chain data transmission method, node and system | |
WO2014101733A1 (zh) | 报文处理方法和装置 | |
WO2011026374A1 (zh) | 确定路由的方法和装置 | |
JP2020061610A5 (ja) | Ue、制御装置及び通信制御方法 | |
WO2020092560A1 (en) | Mobility management in information centric networking | |
WO2016202072A1 (zh) | 自动配置方法、控制器及设备 | |
JP2008244822A (ja) | アドレス重複回避方法、システム、ルータ | |
US9641421B2 (en) | Message transmitting method, message receiving method, openflow controller and first openflow switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12841082 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14351628 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2014536092 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12841082 Country of ref document: EP Kind code of ref document: A1 |