CN101291300A - 消息业务中文件传输的实现方法、装置和用户设备 - Google Patents
消息业务中文件传输的实现方法、装置和用户设备 Download PDFInfo
- Publication number
- CN101291300A CN101291300A CNA2008101106506A CN200810110650A CN101291300A CN 101291300 A CN101291300 A CN 101291300A CN A2008101106506 A CNA2008101106506 A CN A2008101106506A CN 200810110650 A CN200810110650 A CN 200810110650A CN 101291300 A CN101291300 A CN 101291300A
- Authority
- CN
- China
- Prior art keywords
- files
- subscriber equipment
- blocks
- network side
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1854—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了消息业务中文件传输的实现方法、装置和用户设备。属于消息传输技术领域。其中,消息业务中文件传输的实现方法包括:网络侧将需要发送至用户设备的消息业务的文件划分成至少两个文件块;网络侧将所述划分后的文件块分别向至少两个用户设备传输,并向用户设备下发获取文件块的通知信息,以使所述用户设备从其它用户设备处获取其未接收到的文件块。上述技术方案在用户设备间采用了P2P技术,减轻了网络侧设备如应用服务器的数据发送处理负担,提高了消息业务中的文件传输速度。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种消息业务中文件传输的实现方法、装置和用户设备。
背景技术
目前,消息业务提供的内容日益丰富,例如,消息业务能够提供文字、图片、音频、视频、游戏等内容。
在服务器需要向多个用户发送同一内容的文件时,多个用户均需要从服务器处获取完整内容的文件。服务器需要向多个用户发送的同一内容的文件可以是用户设备提供的,也可以是服务器提供的。在用户设备提供文件的情况下,消息业务中文件传输的实现过程如附图1所示。
图1中,用户设备UE1向服务器发送文件,该文件即消息的内容,该文件可以为图片、音频、视频、游戏等多种形式。该文件需要传输至UE2、UE3和UE4,服务器1将接收到的该文件传输至服务器2,服务器2向UE2、UE3和UE4分别传输该文件,从而实现消息业务。
从图1可知,如果用户数量为N、文件大小为Y,则服务器2发送的数据量为N×Y。
发明人发现目前的消息业务中文件传输的过程至少存在如下问题:由于服务器需要向多个用户设备发送完整内容的文件,因此,服务器的数据发送处理负担重,而且,服务器的数据发送处理负担会随着接收消息的用户数量的增多而增加。
发明内容
本发明实施方式提供一种消息业务中文件传输的实现方法、装置和用户设备,可减轻网络侧设备如应用服务器的数据发送处理负担,提高了消息业务中的文件传输速度。
本发明实施方式提供的一种消息业务中文件传输的实现方法,包括:
网络侧将需要发送至用户设备的消息业务的文件划分成至少两个文件块;
网络侧将所述划分后的文件块分别向至少两个用户设备传输,并向用户设备下发获取文件块的通知信息,以使所述用户设备从其它用户设备处获取其未接收到的文件块。
本发明实施方式提供的一种消息业务实现方法,包括:
用户设备接收网络侧传输来的通知信息;
所述用户设备根据所述通知信息与其它用户设备建立连接,并从其它用户设备处获取其未接收到的文件块;
所述用户设备将获得的文件块组合为消息业务的文件。
本发明实施方式提供的一种消息业务中文件传输的实现装置,包括:
划分模块400,用于将需要发送至用户设备的消息业务的文件划分成至少两个文件块;
发送模块410,用于将所述划分模块400划分成的文件块分别向至少两个用户设备传输,并向用户设备下发获取块的通知信息,以使所述用户设备从其它用户设备处获取其未接收到的文件块。
本发明实施方式提供的一种用户设备,包括:
第二接收模块500,用于接收网络侧传输来的通知信息;
获取模块510,用于根据所述第二接收模块500接收到的通知信息与其它用户设备建立连接,并从其它用户设备处获取其所在用户设备未从网络侧接收到的文件块;
组合模块520,用于将其所在用户设备获得的文件块组合为消息业务的文件。
通过上述技术方案的描述可知,通过对消息业务的文件进行划分文件块处理、向用户设备发送块(即文件块),并促使各用户设备从其它用户设备处获取相应的文件块,使用户设备能够利用从其它用户设备处获取的文件块获得消息业务的完整内容的文件,避免了各用户设备均需要从网络侧获取完整内容的文件的过程,从而减轻了网络侧设备如应用服务器的数据发送处理负担;而且,网络侧设备的数据发送处理负担可以不随着接收消息的用户数量的增多而增加。另外,由于本发明实施方式中的用户设备可以向其它用户设备提供文件块,使文件传输源端分布为多个,从而提高了消息业务中的文件传输速度。
附图说明
图1是现有技术的消息业务中文件传输的实现过程示意图;
图2是本发明实施方式的消息业务中文件传输的实现过程示意图;
图3是本发明实施方式的消息业务中文件传输的实现过程流程图;
图4是本发明实施方式的消息业务中文件传输的装置示意图;
图5是本发明实施方式的用户设备示意图。
具体实施方式
本发明实施方式中所称的消息业务可以是IMS域中的消息业务,也可以是其它网络域中的消息业务,例如,电路域或分组域中的多媒体消息业务等。本发明实施方式中的网络侧需要对存在多个接收方的消息业务的文件进行分块处理。这里的消息业务可以是用户设备发起的,也可以是网络侧主动发起的,也就是说,该消息业务的文件可以是用户设备发送来的,也可以是网络侧主动提供的(如网络侧发布文件)。这里的文件可以为文本、图片、音频、视频、游戏等多种形式。本发明实施方式不限制消息业务所属的网络域,不限制消息业务的发起方(即不限制消息业务的文件的提供方),也不限制文件的表现形式。
是否对消息业务的文件进行分块处理可以由网络侧根据判断结果来确定,例如,网络侧可以对需要发送至多个接收方的消息业务的文件大小进行判断,在确定出文件大小达到预定大小值时,对文件进行分块处理;再例如,网络侧也可以对需要发送至多个接收方的消息业务的文件类型进行判断,在确定出文件类型属于预定类型(如视频)时,对文件进行分块处理;再例如,网络侧也可以对消息业务的接收方数量进行判断,在确定出接收方数量达到预定数量值时,对文件进行分块处理;还有,网络侧也可以根据用户设备发送来的消息中携带的分块处理指示来确定对文件进行分块处理。而且,网络侧也可以将上述文件大小的判断、文件类型的判断、接收方数量的判断、消息中携带的分块处理指示等任意组合,并根据组合后的内容的判断结果来确定是否需要对文件进行分块处理。本段中描述的达到也可以为超过。本发明实施方式不限制网络侧确定出需要对消息业务的文件进行分块处理的具体实现过程。
在网络侧对消息业务的文件进行分块处理过程中,网络侧可以将文件分成多个文件块,文件块的数量可以取决于消息业务的接收方数量(即接收方用户设备数量),例如,文件块的数量等于接收方数量;再例如,文件块的数量等于接收方数量加1等。文件块的数量也可以取决于其它因素,例如,预先设定的数值等等。这里的预先设定的数值也许大于某消息业务的接收方数量,也许小于某消息业务的接收方数量,但是为文件块的数量预先设定的数值应该不小于2。
在文件块的数量取决于消息业务的接收方数量的情况下,考虑到接收方数量可能会过大或存在其它因素的限制条件(如文件块的大小不应小于预定大小等),本发明实施方式可以对文件块的数量进行进一步的限定,例如,在接收方数量超过预定值时,文件块的数量应该等于预定值。本段中描述的预定值可以为网络侧设备的传输控制协议(TCP)最大连接数,也可以是管理方根据网络的实际运行情况设定的数值。本发明实施方式不限制设定预定值的具体实现方式。
网络侧在将消息业务的文件进行分块处理后,需要向该消息业务的接收方发送文件块和通知信息,该通知信息用于通知用户设备从其它用户设备处获取其未接收到的文件块。文件块和通知信息可以一起发送至用户设备(即文件块和通知信息可以通过一条消息或一个数据报文发送至用户设备),也可以分别发送至用户设备,即文件块和通知信息可以通过不同的消息或数据报文发送至用户设备,例如,先发送通知信息、再发送文件块等。需要说明的是,用户设备可以仅接收到通知信息,也可以既接收到文件块又接收到通知信息,而且,用户设备接收到的文件块可以为一个文件块、也可以为多个文件块。当用户设备接收到多个文件块时,这多个文件块可以是文件中的所有文件块,也可以是文件中的部分块。当某个或某些用户设备接收到的多个文件块是文件中的所有文件块时,网络侧不会向所有的接收方用户设备均传输文件中的所有文件块,也就是说,虽然某个或某些用户设备可以接收到文件中的所有文件块,但是并不是所有的接收方用户设备均接收到文件中的所有文件块。下面例举几种不同的情况。
例1,当消息业务的接收方数量为m时,网络侧将该消息业务的文件分成m文件块,并向每个接收方用户设备发送一个文件块和通知信息,从而将m个文件块分别发送到m个接收方。此时,文件块和通知信息可以通过同一个消息或同一个数据报文发送,也可以通过不同的消息或不同的数据报文发送。
例2,当消息业务的接收方数量为m时,网络侧将该消息业务的文件分成m文件块,并向其中一个接收方用户设备发送文件中的所有文件块和通知信息,向其它接收方用户设备发送一个文件块和通知信息。同样的,文件块和通知信息可以通过同一消息或同一个数据报文发送,也可以通过不同的消息或不同的数据报文发送。另外,网络侧也可以向其中两个(此时m>2)或三个(此时m>3)接收方用户设备发送文件中的所有文件块和通知信息。
例3、当消息业务的接收方数量为m时,网络侧将该消息业务的文件分成m+1文件块,并向其中一个接收方用户设备发送两个文件块和通知信息,向其它接收方用户设备发送一个文件块和通知信息。另外,这里的m+1也可以为m+2或m+3等相应的,其中两个或三个接收方用户设备接收到两个文件块和通知信息。这里的例3也可以简单变换为:网络侧向其中一个或两个(此时m>2)或三个(此时m>3)接收方用户设备发送文件中的所有文件块和通知信息。
例4、当消息业务的接收方数据为m时,网络侧将该消息业务的文件分成m-1文件块,并向其中一个接收方用户设备仅发送通知信息,向其它接收方用户设备发送一个文件块和通知信息。另外,这里的m-1也可以为m-2或m-3等,相应的,其中两个或三个接收方用户设备仅接收到通知信息。这里的例4也可以简单变换为:网络侧向其中一个或两个(此时m>2)或三个(此时m>3)接收方用户设备发送文件中的所有文件块和通知信息。
本发明实施方式不限于上述例举的方式,网络侧只需要保证没有向所有的接收方发送所有的文件块即可。其它实现方式在此不再逐一例举。需要说明的是,上述网络侧确定文件划分的文件块数、以及确定需要向哪些用户设备发送怎样的文件块可以称为文件分配算法,文件分配算法的表现形式是多种多样的,也就是说,网络侧可以根据文件分配算法来对消息业务的文件进行分块处理、以及文件块的发送处理。
网络侧向接收方用户设备发送的通知信息的目的是使用户设备从其它用户设备处获取其未接收到的文件块,该通知信息的具体内容可以根据实际需要来设定,通知信息的一种具体内容可以为:用户设备列表信息,用户设备列表信息可以包括两部分内容,一部分内容为用户设备的地址信息,另一部分内容为用户设备接收到的文件块信息。用户设备列表信息中可以包括所有的接收方用户设备,也可以仅包括所有接收到文件块的接收方用户设备,还可以仅包括接收到消息业务文件的所有文件块的接收方用户设备。另外,每个接收方用户设备接收到的用户设备列表信息可以相同,也可以不相同,例如,针对用户设备1而言,用户设备1接收到的用户设备列表信息中不包括用户设备1的地址信息和用户设备1接收到的文件块信息。文件块信息可以为文件块在整个文件中的字节范围,也可以为文件块编号标识等等。
网络侧可以将通知信息携带在会话描述协议(SDP)的消息中,并向用户设备发送该SDP消息。当然,网络侧也可以采用其它消息,本发明实施方式不限制消息的具体表现形式,也不限制通知信息在消息中具体携带方式。
用户设备在接收到网络侧传输来的通知信息后,根据该通知信息与其它用户设备建立连接,并利用建立好的连接从其它用户设备处获取消息业务的文件块。该用户设备从其它用户设备处获取到的文件块是网络侧未向其传输的文件块。然后,用户设备将获得的各文件块整理组合为消息业务的文件块。这里的用户设备获得的文件块可以包括:用户设备接收的网络侧向其发送的文件块、以及用户设备从其它用户设备处获取的文件块;用户设备获得的文件块也可以仅包括:用户设备从其它用户设备处获取的文件块。而且,在上述描述中,用户设备根据通知信息可以与另外一个用户设备建立连接,从而获取到网络侧未向其发送的所有文件块;用户设备也可以通过与另外多个用户设备建立连接,从而获取到网络侧未向其发送的所有文件块。这取决于网络侧向用户设备发送文件块的方式,例如,在网络侧向用户设备1发送文件的所有文件块的情况下,其它用户设备可以通过与用户设备1建立连接来获取网络侧未向其发送的文件块;再例如,在网络侧将文件划分为m文件块,并向m个用户设备均发送一个文件块的情况下,各用户设备通过两两间建立连接,以获取其未接收到的其余m-1个文件块。用户设备间建立连接的具体情况与网络侧如何向用户设备发送文件块相关,在此不再对各种不同的情况进行一一例举。本发明实施方式不限制用户设备间建立连接的具体实现过程,也不限制用户设备将各文件块整理组合为消息业务的文件的具体实现过程。
在用户设备从其它用户设备处获取网络侧未向其发送的文件块的过程中,可能会存在该用户设备不能够成功的从其它用户设备处获取网络侧未向其发送的文件块的情况,在这种情况下,用户设备可以再向网络侧请求其不能够获得的文件块。网络侧可以根据用户设备的请求向用户设备发送该文件块。
用户设备不能够成功的从其它用户设备处获取网络侧未向其发送的文件块的原因可以为:用户设备间不能够成功建立连接,或者虽然连接成功建立,但是文件块传输失败等。用户设备间不能够成功建立连接的原因可以为:用户设备下线、关机等。本发明实施方式不限制不能够成功从其它用户设备处获取文件块的原因,也不限制连接建立失败的原因等。
上述用户设备不能够成功的从其它用户设备处获取网络侧未向其发送的文件块、之后向网络侧请求文件块的情况可以为多种,下面简单例举两种情况。
例1,在网络侧向用户设备2、用户设备3发送文件的所有文件块的情况下,用户设备1选择一个接收到文件的所有文件块的用户设备2,并执行与用户设备2建立连接的操作。在用户设备1与用户设备2建立连接失败后,用户设备1可以选择用户设备3,并执行与用户设备3建立连接的操作,以获取网络侧未向其发送的所有文件块。如果用户设备1与用户设备3建立连接也失败,则用户设备1可以向网络侧请求其未获得的文件块。当然,用户设备1也可以在与用户设备2建立连接设备后,直接向网络侧请求其未获得的文件块。
例2、在网络侧向每个用户设备均发送一个不同文件块的情况下,如果用户设备1与用户设备2不能够成功建立连接,则用户设备1向网络侧请求用户设备2接收到的文件块。
用户设备可以利用现有的消息向网络侧发送的请求信息,以请求网络侧向其发送某文件块,也可以利用新增加的消息向网络侧发送请求信息。例如,本发明实施方式可以对draft-garcia-mmusic-file-transfer-mech-01协议进行适当的扩充,以实现用户设备间的p2p传输。本发明实施方式不限制用户设备向网络侧请求文件块的具体实现过程。
网络侧在接收到用户设备发送来的请求文件块的信息后,确定该用户设备请求的文件块,并向该用户设备发送文件块。当然,网络侧也可以向各用户设备均发送该文件块。本发明实施方式不限制网络侧根据请求文件块的信息向用户设备发送文件块所采用的协议及消息名称。
由于网络侧可以根据用户设备的请求再次发送某个或某些文件块,因此,网络侧在第一次发送了各文件块后,需要存储各文件块。网络侧也可以不存储文件块而存储文件,在接收到请求后,再次进行分块处理,然后再向用户设备发送请求的文件块。网络侧可以对存储的文件块或文件进行老化处理,老化处理的方法可以为现有的多种老化处理方法,在此不再详细说明。上述描述中的文件块即文件块。
通过上述描述可知,本发明实施方式在消息业务中的文件传输过程中引入了P2P技术(在用户设备之间采用P2P技术),通过对消息业务的文件进行分块处理、向用户设备发送文件块和通知信息,促使各用户设备从其它用户设备处获取网络侧未向其发送的文件块,从而使用户设备能够根据从网络侧获取的文件块、以及从其它用户设备处获取的文件块获得完整内容的文件,避免了各用户设备均需要从网络侧获取完整内容文件的过程,从而减轻了网络侧设备如应用服务器的数据发送处理负担。在网络侧向各用户设备均发送一个不同的文件块、且用户设备能够从其它用户设备处成功获取其它文件块的情况下,网络侧设备的数据发送处理负担始终为网络侧设备发送一个消息的数据发送处理负担,且网络侧设备的数据发送处理负担完全不随着接收消息的用户数量的增多而增加。由于本发明实施方式中的用户设备可以从其它用户设备处获取文件块,因此,本发明实施方式中存在多个文件传输的源端设备。由于本发明实施方式中文件传输的源端分布为多个,因此,相对于一个文件传输的源端设备来说,本发明实施方式能够提高消息业务中的文件传输速度。
下面结合附图对本发明实施方式提供的消息业务实现方法进行说明。
消息业务实现过程如附图2所示。
图2中,用户设备UE1向服务器1发送消息,该消息的接收方为UE2、UE3和UE4。该消息的文件由UE1传输至服务器1。由于UE2、UE3和UE4归属服务器2,因此,服务器1将接收到的文件发送至服务器2。服务器2接收到该文件后,利用MSRP协议将文件分成3个文件块——文件块1、文件块2和文件块3(本实施例中以每个文件块均为三分之一文件为例)。服务器2向UE2发送文件块1、向UE3发送文件块2、向UE4发送文件块3。同时,服务器2分别向UE2、UE3和UE4发送通知信息,以帮助UE2、UE3和UE4之间建立连接。
服务器2可以对SDP信息进行扩展,以发送文件块和通知信息,例如扩展a行,使a=user-selector:<地址和文件块>,其中的地址为用户设备地址,文件块为该用户设备接收到的文件块信息。一个具体的a行扩展例子如下所示:
a=user-selector:path:″msrp://atlanta1.example.com:7654/jshA7we;tcp″byte-range:″1-2048,2049-4096″
a=user-selector:path:″msrp://atlanta2.example.com:6666/jshA7we;tcp″byte-range:″6145-8192″
其中一个用户设备的地址为msrp://atlanta1.example.com:7654/jshA7we;tcp,该用户设备接收到的文件块在文件中的字节范围为:1-2048,2049-4096。另一个用户设备的地址为msrp://atlanta2.example.com:6666/jshA7we;tcp,该用户设备接收到的文件块在文件中的字节范围为:6145-8192。
UE2、UE3和UE4在接收到文件块和通知信息后,建立UE2与UE3之间的连接、UE2与UE4之间的连接、UE3与UE4之间的连接,从而UE2从UE3处获取文件块2、从UE4处获取文件块3,UE3从UE2处获取文件块1、从UE4处获取文件块3,UE4从UE2处获取文件块1、从UE3处获取文件块2。UE2、UE3和UE4分别整理组合其获得的文件块,最终得到消息业务的完成文件。
从该图的描述中可知,服务器2的数据发送处理量为一个文件的数据发送处理量,虽然接收方用户设备数量为3,但是服务器2的数据发送处理量并不是3个文件的数据发送处理量。
本发明实施方式的消息业务具体实现过程如附图3所示。
图3中,在步骤1.1、应用服务器AS2向UE2发送SIP INVITE(邀请),并将AS2的服务器信息和文件信息通过SDP消息告诉UE2。服务器信息例如服务器地址信息,文件信息例如文件名信息。
步骤1.2、AS2向UE3发送SIP INVITE,并将AS2的服务器信息和文件信息通过SDP消息告诉UE3。
步骤1.3、AS2向UE4发送SIP INVITE,并将AS2的服务器信息和文件信息通过SDP消息告诉UE4。
需要说明的是,上述步骤1.1、1.2和1.3可以同时执行,也可以调整执行的先后顺序。
步骤2.1、UE2接收到SIP INVITE后,向AS2回复SIP 200 OK,以将自己的信息告诉AS2。UE2自己的信息如UE2的地址信息。
步骤2.2、UE3接收到SIP INVITE后,向AS2回复SIP 200 OK,以将自己的信息告诉AS2。
步骤2.3、UE4接收到SIP INVITE后,向AS2回复SIP 200 OK,以将自己的信息告诉AS2。
步骤3.1、AS2在接收到UE2返回的SIP 200 OK后,向UE2回复ACK应答。
步骤3.2、AS2在接收到UE3返回的SIP 200 OK后,向UE3回复ACK应答。
步骤3.3、AS2在接收到UE4返回的SIP 200 OK后,向UE4回复ACK应答。
步骤4.1、AS2将用户列表信息通过扩展的SDP消息(如RE-INVITE)发送给UE2。
步骤4.2、AS2将用户列表信息通过扩展的SDP消息(如RE-INVITE)发送给UE3。
步骤4.3、AS2将用户列表信息通过扩展的SDP消息(如RE-INVITE)发送给UE4。
扩展了a行的SDP消息的具体格式如:
v=0
o=altanta 2890844526 2890844526 IN IP4 altantapc.example.com
s=
c=IN IP4 alicepc.example.com
t=00
m=message 7654 TCP/MSRP*
a=accept-types:image/jpeg
a=file-selector:hash:SHA:72245FE8653DDAF371362F86D471913EE4A2CE2E
a=user-selector:path:″msrp://atlanta1.example.com:7654/jshA7we;tcp″byte-range:″1-2048,2049-4096,4097-6145″
a=user-selector:path:″msrp://atlanta2.example.com:6666/jshA1he;tcp″byte-range:″6146-8192,8193-10240,10241-12288″
a=user-selector:path:″msrp://atlanta3.example.com:8888/jshA2his;tcp″byte-range:″12289-14336,14337-16384,16385-18432″
其中:扩展的a行:a=user-selector:<地址和文件块>,其具体意义如下:
UE2的监听地址是:msrp://atlanta1.example.com:7654/jshA7we;tcp
UE2拥有的文件块是:byte-range:″1-2048,2049-4096,4097-6145″
UE3的监听地址是:msrp://atlanta2.example.com:6666/jshA1he;tcp
UE3拥有的文件块是:byte-range:″6146-8192,8193-10240,10241-12288″
UE4的监听地址是:msrp://atlanta3.example.com:8888/jshA2his;tcp
UE4拥有的文件块是:byte-range:″12289-14336,14337-16384,16385-18432″
上述监听地址即UE2的地址信息,上述拥有的文件块即用户设备从网络侧接收到的文件块信息。
需要说明的是,上述步骤4.1、4.2和4.3可以同时执行,也可以调整执行的先后顺序。
步骤5.1、UE2接收到RE-INVITE后,向AS2回复SIP 200 OK应答。
步骤5.2、UE3接收到RE-INVITE后,向AS2回复SIP 200 OK应答。
步骤5.3、UE4接收到RE-INVITE后,向AS2回复SIP 200 OK应答。
步骤6.1、AS2在接收到UE2返回的SIP 200 OK后,向UE2回复ACK应答。
步骤6.2、AS2在接收到UE3返回的SIP 200 OK后,向UE3回复ACK应答。
步骤6.3、AS2在接收到UE4返回的SIP 200 OK后,向UE4回复ACK应答。
至此,AS2和各个UE之间均互相建立了TCP连接、且AS2可以通过MessageSession Relay Protocol(消息会话传播协议,MSRP)向各UE发送文件块。
步骤7.1、AS2通过MSRP向UE2发送byte-range:1-2048、byte-range:2049-4096、byte-range:4097-6144的文件块。
步骤7.2、AS2通过MSRP向UE3发送byte-range:6145-8192、byte-range:8193-10240、byte-range:10241-12288的文件块。
步骤7.3、AS2通过MSRP向UE4发送byte-range:12289-14336、byte-range:14337-16384、byte-range:16385-18432的文件块。
需要说明的是,上述步骤7.1、7.2和7.3可以同时执行,也可以调整执行的先后顺序。
步骤8.1、UE2在接收到文件块后,向AS2回复MSRP 200 OK应答。
步骤8.2、UE3在接收到文件块后,向AS2回复MSRP 200 OK应答。
步骤8.3、UE4在接收到文件块后,向AS2回复MSRP 200 OK应答。
步骤9.1、UE2和UE3之间根据接收到的用户列表信息,互相交换各自接收到的文件块。
步骤9.2、UE2和UE4之间根据接收到的用户列表信息,互相交换各自接收到的文件块。
步骤9.3、UE3和UE4之间根据接收到的用户列表信息,互相交换各自接收到的文件块。
步骤10.1、UE2和UE3交换文件块之后,相互发送MSRP 200 OK应答。
步骤10.2、UE2和UE4交换文件块之后,相互发送MSRP 200 OK应答。
步骤10.3、UE3和UE4交换文件块之后,相互发送MSRP 200 OK应答。
在上述图3的描述中,如果某个UE(如UE2)关机导致其它UE不能够从该UE(如UE2)处成功获得文件块,则其它UE(如UE3、UE4)可以向AS2再次发起缺失文件块的请求(如向AS2请求byte-range:1-2048、byte-range:2049-4096、byte-range:4097-6144的文件块)。UE可以利用现有的draft-garcia-mmusic-file-transfer-mech-01协议来实现向AS2请求文件块的过程。另外,上述图3中的接收方用户设备数量是以3为例进行说明的,如果需要连接的UE(即接收方用户设备数量)超过了AS2能够支持的TCP最大连接数,则AS2甚至可以与部分UE建立连接,然后,通知UE之间建立连接,使UE之间进行文件块的传输即可。
需要特别说明的是,上述针对图的描述是以IMS域为例来说明本发明实施方式的,这并不表示本发明实施方式提供的消息业务中文件传输的实现方法只能应用于IMS域中。当应用于其它网络域中时,其实现过程与上述实施例描述的过程基本相同,其区别可能包括:扩展的消息名称的变化,网络实体的名称的变化,以及消息流向的变化等。但是,其实质都是采用了网络侧将文件分块传输、用户设备间采用P2P技术获取相应文件块,而且,都可以充分利用现有的消息流程。在其它网络域的实现过程在此不再重复说明。
下面对本发明实施方式提供的消息业务中文件传输的实现装置进行说明。
本发明实施方式提供的消息业务中文件传输的实现装置如附图4所示。该装置设置于网络侧设备中,如可以设置于应用服务器中。
图4中的装置包括:划分模块400和发送模块410,该装置还可以可选的包括:第一接收模块420和确定模块430。
在网络侧设备需要将消息业务文件发送至多个接收方用户设备时,网络侧设备中的划分模块400将该消息业务的文件分成至少两个文件块。这里的消息业务可以是IMS域中的消息业务,也可以是其它网络域中的消息业务,而且消息业务可以是用户设备发起的,也可以是网络侧主动发起的。这里的文件可以为文本、图片、音频、视频、游戏等多种形式。另外,划分模块400可以对消息业务的文件是否进行分块处理进行判断,划分模块400可以根据文件分配算法来确定文件划分的文件块数。具体如上述方法实施方式中的描述。
划分模块400可以包括确定数量子模块401、赋值子模块403和划分子模块402。
在需要将文件划分为多文件块时,确定数量子模块401确定消息业务的本区域内接收方用户设备数量m,并输出m,该m大于1。当然,确定数量子模块401也可以采用其它方式来输出m,例如输出的m为接收方数量加1,再例如,确定数量子模块401输出预先设定的数值等。具体如上述方法实施方式的描述。
划分子模块402根据确定数量子模块401输出的m将消息业务的文件进行分块处理。
确定数量子模块401输出的数值可以先经过赋值子模块403的检查,例如,赋值子模块403在确定出确定数量子模块401输出的m超过预定值时,将m赋值为预定值,并将修改后的m发送至划分子模块402。这里的预定值可以为网络侧设备的传输控制协议最大连接数,也可以是管理方根据网络的实际运行情况设定的数值,具体如上述方法实施方式的描述。
在划分模块400对文件进行分块处理后,发送模块410将划分模块400分成的至少两文件块分别向至少两个用户设备传输。
发送模块410需要向用户设备下发从用户设备处获取文件块的通知信息,该通知信息用于通知用户设备从其它用户设备处获取其未接收到的文件块。发送模块410向用户设备下发文件块和通知信息的方式有多种,例如,文件块和通知信息可以通过一条消息或一个数据报文发送至用户设备,文件块和通知信息可以通过不同的消息或数据报文发送至用户设备,如先向用户设备发送通知信息,再发送文件块等。而且,划分模块400可以向某个用户设备仅下发通知信息,也可以向用户设备既下发文件块又下发通知信息,而且,向某个用户设备下发的文件块可以为一个文件块、也可以为多个文件块。发送模块410可以根据文件分配算法确定需要向哪些用户设备发送怎样的文件块。具体如上述方法实施方式中的描述。
第一接收模块420接收用户设备发送来的请求文件块的信息,确定模块430根据第一接收模块420接收到的信息确定用户设备请求的文件块,并通知发送模块410发送该用户设备请求的文件块。第一接收模块420可以通知发送模块410向某个用户设备发送文件块,也可以通知发送模块410向多个用户设备发送文件块如向各个用户设备均发送请求的文件块等,具体如上述方法实施方式中的描述。
由于该装置可以根据用户设备的请求再次发送某个或某些文件块,因此,该装置中的存储模块需要存储发送的各文件块,该装置中的存储模块可以不存储文件块而存储文件,此时,在第一接收模块420接收到请求后,通知划分模块400再次进行分块处理,然后再通知发送模块410向某个或某些用户设备发送请求的文件块。该装置可以包括老化处理模块,以对存储模块中存储的文件块或文件进行老化处理,老化处理模块可以采用现有的多种老化处理方法进行老化处理,在此不再详细说明。
本发明实施方式提供的用户设备如附图5所示。
图5中的用户设备包括:第二接收模块500、获取模块510和组合模块520。用户设备还可以可选的包括请求模块530。
第二接收模块500接收网络侧传输来信息,该信息可以是通知信息,也可以是文件块和通知信息,当然,也可以是所有的文件块。
获取模块510根据第二接收模块500接收到的通知信息与其它用户设备建立连接,并从其它用户设备处获取第二接收模块500未从网络侧接收到的文件块。获取模块510可以根据通知信息与另外一个用户设备建立连接,以获取网络侧未向其所在用户设备发送的所有文件块;获取模块510也可以根据通知信息与另外多个用户设备建立连接,以获取网络侧未向其所在用户设备发送的所有文件块。这取决于网络侧向用户设备发送文件块的算法,具体如上述方法实施方式中的描述。
组合模块520将其所在用户设备获得的文件块整理组合为消息业务的文件。组合模块520所在用户设备获得的文件块可以仅为第二接收模块500接收到的网络侧发送来的所有文件块,也可以为第二接收模块500接收到的网络侧发送来的文件块和获取模块510从其它用户设备处获取的文件块,还可以仅为获取模块510从其它用户设备处获取的所有文件块。
请求模块530在确定出获取模块510不能够从其它用户设备处成功获取文件块时,向网络侧请求所述不能够成功获取的文件块。获取模块510不能够成功的从其它用户设备处获取网络侧未向其发送的文件块的原因有多种,具体如上述方法实施方式中的描述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
Claims (16)
1、一种消息业务中文件传输的实现方法,其特征在于,包括:
网络侧将需要发送至用户设备的消息业务的文件划分成至少两个文件块;
网络侧将所述划分后的文件块分别向至少两个用户设备传输,并向用户设备下发获取文件块的通知信息,以使所述用户设备从其它用户设备处获取其未接收到的文件块。
2、如权利要求1所述的方法,其特征在于,所述网络侧将需要发送至用户设备的消息业务的文件划分成至少两个文件块包括:
网络侧确定所述消息业务的接收方用户设备数量m,并将所述文件划分为m个文件块,所述m为大于1的自然数。
3、如权利要求2所述的方法,其特征在于,所述将所述文件划分为m个文件块之前还包括:
网络侧在确定出所述m超过预定值时,将m赋值为预定值。
4、如权利要求3所述的方法,其特征在于,所述预定值包括:网络侧的传输控制协议TCP最大连接数。
5、如权利要求2所述的方法,其特征在于,所述网络侧将所述至少两个文件块分别向至少两个用户设备传输包括:
网络侧将所述m个文件块分别向m个用户设备传输,使一个用户设备接收到一个文件块。
6、如权利要求1所述的方法,其特征在于,所述向用户设备下发获取文件块的通知信息包括:
网络侧将用户设备的地址信息和用户设备接收到的文件块信息发送至各用户设备。
7、如权利要求1所述的方法,其特征在于,所述向用户设备下发获取块的通知信息包括:
网络侧将所述通知信息携带在会话描述协议SDP的消息中,并向用户设备发送。
8、如权利要求1至7中任一权利要求所述的方法,其特征在于,所述方法还包括:
网络侧接收用户设备发送来的请求文件块的信息;
网络侧确定用户设备请求的文件块,并发送所述用户设备请求的文件块。
9、一种消息业务实现方法,其特征在于,包括:
用户设备接收网络侧传输来的通知信息;
所述用户设备根据所述通知信息与其它用户设备建立连接,并从其它用户设备处获取其未接收到的文件块;
所述用户设备将获得的文件块组合为消息业务的文件。
10、如权利要求9所述的方法,其特征在于,所述方法还包括:
用户设备在确定出不能够从其它用户设备处成功获取文件块时,向网络侧请求所述不能够成功获取的文件块。
11、一种消息业务中文件传输的实现装置,其特征在于,包括:
划分模块(400),用于将需要发送至用户设备的消息业务的文件划分成至少两个文件块;
发送模块(410),用于将所述划分模块(400)划分成的文件块分别向至少两个用户设备传输,并向用户设备下发获取块的通知信息,以使所述用户设备从其它用户设备处获取其未接收到的文件块。
12、如权利要求11所述的装置,其特征在于,所述划分模块(400)包括:
确定数量子模块(401),用于确定所述消息业务的接收方用户设备数量m,所述m为大于1的自然数;
划分子模块(402),用于根据所述m将所述文件划分为m个文件块。
13、如权利要求12所述的装置,其特征在于,所述划分模块(400)还包括:
赋值子模块(403),用于在确定出所述确定数量子模块(401)输出的m超过预定值时,将m赋值为预定值,并发送至划分子模块(402)。
14、如权利要求11或12或13所述的装置,其特征在于,所述装置还包括:
第一接收模块(420),用于接收用户设备发送来的请求文件块的信息;
确定模块(430),用于根据第一接收模块(420)接收到的信息确定用户设备请求的文件块,并通知发送模块(410)发送所述用户设备请求的文件块。
15、一种用户设备,其特征在于,包括:
第二接收模块(500),用于接收网络侧传输来的通知信息;
获取模块(510),用于根据所述第二接收模块(500)接收到的通知信息与其它用户设备建立连接,并从其它用户设备处获取其所在用户设备未从网络侧接收到的文件块;
组合模块(520),用于将其所在用户设备获得的文件块组合为消息业务的文件。
16、如权利要求15所述的用户设备,其特征在于,所述用户设备还包括:
请求模块(530),用于在确定出获取模块(510)不能够从其它用户设备处成功获取文件块时,向网络侧请求所述不能够成功获取的文件块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101106506A CN101291300B (zh) | 2008-06-12 | 2008-06-12 | 消息业务中文件传输的实现方法、装置和用户设备 |
EP09761255.0A EP2282460B1 (en) | 2008-06-12 | 2009-04-10 | Document transmission realizing method, apparatus and user device for message business |
PCT/CN2009/071237 WO2009149630A1 (zh) | 2008-06-12 | 2009-04-10 | 消息业务中文件传输的实现方法、装置和用户设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101106506A CN101291300B (zh) | 2008-06-12 | 2008-06-12 | 消息业务中文件传输的实现方法、装置和用户设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101291300A true CN101291300A (zh) | 2008-10-22 |
CN101291300B CN101291300B (zh) | 2011-04-20 |
Family
ID=40035383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101106506A Active CN101291300B (zh) | 2008-06-12 | 2008-06-12 | 消息业务中文件传输的实现方法、装置和用户设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2282460B1 (zh) |
CN (1) | CN101291300B (zh) |
WO (1) | WO2009149630A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009149630A1 (zh) * | 2008-06-12 | 2009-12-17 | 华为技术有限公司 | 消息业务中文件传输的实现方法、装置和用户设备 |
CN101771960A (zh) * | 2009-01-04 | 2010-07-07 | 中国移动通信集团公司 | 移动网络的业务调用方法、业务网关、业务平台和系统 |
CN102904934A (zh) * | 2012-09-25 | 2013-01-30 | 东莞宇龙通信科技有限公司 | 终端数据传输的方法及其系统 |
CN103457643A (zh) * | 2012-05-29 | 2013-12-18 | 宏碁股份有限公司 | 近场通信设备的文件分享系统及其方法 |
CN104978661A (zh) * | 2014-04-01 | 2015-10-14 | 深圳市赛格导航科技股份有限公司 | 一种基于车载定位的电子商务服务方法及其系统 |
CN106341240A (zh) * | 2016-04-11 | 2017-01-18 | 上海建朗信息科技有限公司 | 会议文件定向群发系统 |
CN108270556A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 终端的登录方法和装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553832A (zh) * | 2015-12-25 | 2016-05-04 | 北京奇虎科技有限公司 | 消息发送、接收方法及装置 |
CN107707521A (zh) * | 2017-08-08 | 2018-02-16 | 山东中创软件商用中间件股份有限公司 | 一种文件传输方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002039229A2 (en) * | 2000-10-30 | 2002-05-16 | The Trend Fund Corp. | Method and system for providing messaging to multiple clients |
TWI265697B (en) * | 2002-06-06 | 2006-11-01 | Ibm | Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor |
US7593333B2 (en) * | 2004-07-07 | 2009-09-22 | Microsoft Corporation | Efficient one-to-many content distribution in a peer-to-peer computer network |
JP4704252B2 (ja) * | 2006-03-14 | 2011-06-15 | 富士通株式会社 | ネットワークシステムのブロードキャスト処理方法及びネットワークシステム |
CN100463403C (zh) * | 2006-03-20 | 2009-02-18 | 腾讯科技(深圳)有限公司 | 一种基于点对点技术的图片共享系统和方法 |
CN1897588B (zh) * | 2006-06-21 | 2010-06-16 | 北京北大方正电子有限公司 | 一种混合模式的网络文件传输方法及系统 |
WO2008030494A2 (en) * | 2006-09-05 | 2008-03-13 | Donnelli Robert M | Managing client-to-server or peer-to-peer relationships in a private or virtual network |
US20080133767A1 (en) * | 2006-11-22 | 2008-06-05 | Metis Enterprise Technologies Llc | Real-time multicast peer-to-peer video streaming platform |
CN101291300B (zh) * | 2008-06-12 | 2011-04-20 | 华为技术有限公司 | 消息业务中文件传输的实现方法、装置和用户设备 |
-
2008
- 2008-06-12 CN CN2008101106506A patent/CN101291300B/zh active Active
-
2009
- 2009-04-10 EP EP09761255.0A patent/EP2282460B1/en active Active
- 2009-04-10 WO PCT/CN2009/071237 patent/WO2009149630A1/zh active Application Filing
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009149630A1 (zh) * | 2008-06-12 | 2009-12-17 | 华为技术有限公司 | 消息业务中文件传输的实现方法、装置和用户设备 |
CN101771960A (zh) * | 2009-01-04 | 2010-07-07 | 中国移动通信集团公司 | 移动网络的业务调用方法、业务网关、业务平台和系统 |
CN103457643A (zh) * | 2012-05-29 | 2013-12-18 | 宏碁股份有限公司 | 近场通信设备的文件分享系统及其方法 |
CN102904934A (zh) * | 2012-09-25 | 2013-01-30 | 东莞宇龙通信科技有限公司 | 终端数据传输的方法及其系统 |
CN104978661A (zh) * | 2014-04-01 | 2015-10-14 | 深圳市赛格导航科技股份有限公司 | 一种基于车载定位的电子商务服务方法及其系统 |
CN106341240A (zh) * | 2016-04-11 | 2017-01-18 | 上海建朗信息科技有限公司 | 会议文件定向群发系统 |
CN108270556A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 终端的登录方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2282460A1 (en) | 2011-02-09 |
WO2009149630A1 (zh) | 2009-12-17 |
EP2282460B1 (en) | 2014-12-03 |
CN101291300B (zh) | 2011-04-20 |
EP2282460A4 (en) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101291300B (zh) | 消息业务中文件传输的实现方法、装置和用户设备 | |
CN100542172C (zh) | 一种离线消息发送和接收方法 | |
JP5550627B2 (ja) | 通信システムにおけるグループ通信 | |
US20070070988A1 (en) | Method For Transmitting Deferred Messages | |
CN102413073A (zh) | 即时消息发送方法和装置 | |
CN110875914B (zh) | 一种基于共享会话链路传输消息的方法及装置 | |
CN104683223A (zh) | 一种即时通讯方法及装置 | |
CN106161201B (zh) | 一种以邮箱账号为标识参与群聊的方法、设备及系统 | |
EP2453681A1 (en) | System and method for routing session initiation protocol conversation | |
KR101038736B1 (ko) | 세션 기반 통신 | |
US8606861B2 (en) | Method, apparatus, and computer program product for reducing session related message size | |
JP5557262B2 (ja) | インスタントメッセージ用マルチメディア着信音提示方法及びシステム | |
CN104994083A (zh) | 消息发送方法及装置 | |
CN101399781B (zh) | 一种消息发送方法、系统、消息发送装置及消息服务器 | |
CN109120578B (zh) | 一种实现链路连接处理的方法及装置 | |
CN101662486B (zh) | 一种订阅信息的方法和系统 | |
EP1819122B1 (en) | Providing push to all (PTA) service | |
WO2018133542A1 (zh) | 文件传输方法及系统、装置、电子设备、计算机存储介质 | |
KR20060084327A (ko) | 멀티미디어 시스템에서의 데이터 전송방법 | |
EP2159982A1 (en) | Method, interconnection gateway and client of file transfer | |
CN1829219A (zh) | 一种文件传输方法 | |
CN116963275A (zh) | 消息处理方法、装置、服务器、终端和存储介质 | |
CN103475567A (zh) | 数据传输方法、装置、设备及系统 | |
Lee et al. | P2P network organization method for low signaling overhead and delay | |
CN104811425A (zh) | 一种多媒体传输的方法及终端、服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |