CN103945257A - 向客户端提供数据的方法 - Google Patents
向客户端提供数据的方法 Download PDFInfo
- Publication number
- CN103945257A CN103945257A CN201410133851.3A CN201410133851A CN103945257A CN 103945257 A CN103945257 A CN 103945257A CN 201410133851 A CN201410133851 A CN 201410133851A CN 103945257 A CN103945257 A CN 103945257A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- carousel
- server
- update
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
一种由服务器向客户端提供数据的方法,包括:接收数据更新,向所述客户端发送所述数据更新的副本;将所述数据更新并入用于保存数据的旋转的数据转盘中,所述数据包括多个数据项;以及向所述客户端发送所述数据转盘上的数据项。
Description
本申请是2008年11月10日提交的,国际申请号为PCT/EP2008/065199,并且在2011年5月10日进入中国国家阶段,国家申请号为200880131941.1,题为“向客户端提供数据的方法”的发明专利申请的分案申请。
技术领域
本发明涉及一种由服务器向客户端提供数据的方法。本发明还涉及一种由客户端从服务器接收数据的方法。本发明还涉及一种向客户端提供数据的服务器实体以及一种从服务器接收数据的客户端实体。
背景技术
在经典的同步通信系统中,数据流通常是双向的且面向连接的。因此,在这种同步系统中,为了维持并确保通信可靠性,交换任意数目的确认是可能的。换言之,在同步通信系统上,客户端通过向服务器发回对应的确认数据来确认由服务器发送至客户端的数据。因此,服务器能够确定所发送的数据是否已正确地到达客户端,以及是否需要发起向一个或多个客户端的数据的重发送。
然而,当由服务器提供服务的客户端的数目变大时,这种系统不能很好的扩缩,且可靠的数据交换变得不现实:针对每一次数据发送操作,与从每一个客户端发送确认相关联的所需的数据传输可能很快的耗尽了这种通信系统的处理资源和网络带宽。此外,由服务器向多个客户端提供数据的常规通信系统通常缺少后向信道(上行链路),即从客户端到服务器的通信信道。通常将这些系统称作异步通信系统。
然而,在异步和/或非对称的通信系统中也需要提供可靠的通信。一个常规概念是在包括存储数据项的大量数据槽在内的所谓数据转盘中存储数据。这种转盘随着时间转动,即,将一个槽标识为针对特定时间周期的当前槽。在将数据转盘的下一个数据槽变为当前数据槽之前,向所有客户端发送(广播)当前槽中存储的数据项。一旦已向客户端广播了所有槽中的数据项,从开始位置开始重复旋转数据转盘。因此,重复地发送每个数据项,且已错失了特定数据项的一次发送的客户端可以在重复发送的时间接收该项。这样,可以确保服务器可以到达最大数目的客户端,且所述客户端能够接收所有或最大数目的数据项。此外,新的客户端可以加入通信系统,而不需要主动地与服务器进行交互。
在服务器侧,这种通信系统涉及运行数据转盘,并接收需要并入转盘中的所谓的数据更新,其并入在转盘的特定数据槽处。这种并入可以包括对转盘的特定数据槽中存储的数据项的修改、添加或移除。
在客户端侧,这种通信系统可以涉及运行客户端数据转盘,从服务器接收与服务器侧数据转盘的一个数据项相对应的更新消息,并将所述更新消息并入客户端侧转盘。所有成功接收的消息可以在客户端侧上形成服务器侧转盘的越来越完整的拷贝。
然而,可能存在相当大的延迟:从在服务器侧接收到数据更新的时刻开始,将数据更新并入服务器侧转盘,且最终,旋转服务器侧转盘,使得向客户端发送与上述数据更新相关联的数据项。这种延迟可以容易地比所谓的数据项的生存时间(TTL)更持久,数据项的生存时间指定了时间间隔,该数据项在该时间间隔之后数据项变得过时。除此之外,在向客户端发送之前,可能出现对特定数据项的另一数据更新,使得客户端永远意识不到与在先数据更新相关联的信息。最终,如果要维持给定的服务质量,则可以与转盘保存的数据槽的总数成正比的转盘的旋转时间可能是不可接受的长。
然而,对于大量的应用来说,这种延迟和这种不一致性是不可接受的。因此,需要一种更可靠和更快速的广播机制。
除了上述之外,根据EP1022909A1,存在一种信息服务器和配置转盘信息的方法。相应教导考虑到将特定文件立刻插入转盘中。
发明内容
本发明的目标是提供一种由服务器向客户端提供数据的改进方法。本发明的另一目标是提供一种由客户端从服务器接收数据的改进方法。本发明的另一目标是提供一种向客户端提供数据的改进的服务器实体。本发明的另一目标是从服务器接收数据的客户端实体。
根据本发明的第一方面,提供一种由服务器向客户端提供数据的方法,其中,所述方法包括:接收数据更新;向所述客户端发送所述数据更新的副本;将数据更新并入用于保存数据的旋转的数据转盘中,所述数据包括多个数据项;以及向所述客户端发送所述数据转盘上的数据项。
根据本发明的第二方面,提供一种由客户端从服务器接收数据的方法,其中,所述方法包括:接收数据更新;确定所接收的数据更新是否是高优先级数据更新;以及将接收到的数据更新并入用于保存数据的数据转盘中,所述数据包括多个数据项,其中,在并入非高优先级数据更新之前,进行高优先级数据更新的并入。
根据本发明的第三方面,提供一种向客户端提供数据的服务器实体,包括:接入接口,适于接收数据更新;数据转盘部,适于在旋转的数据转盘中保存数据,并适于将所述数据更新并入所述旋转的数据转盘中,其中,所述数据包括多个数据项;复制部,适于向所述客户端发送所述数据更新的副本;以及输出接口,适于向所述客户端发送所述数据转盘上的数据项。
根据本发明的第四方面,提供一种从服务器接收数据的客户端实体,包括:输入接口,接收数据更新;转盘部,适于在数据转盘中保存包括多个数据项的数据,适于将接收到的数据更新并入所述数据转盘中,以及适于确定接收到的数据更新是否是高优先级数据更新,其中,在并入非高优先级数据更新之前进行高优先级数据更新的并入。
根据本发明的第五方面,提供一种可在数据处理装置上执行的计算机程序,适于实现根据本发明的第一方面所述的方法或根据本发明第二方面所述的方法。
根据本发明的第六方面,提供一种包括服务器实体和至少一个客户端实体在内的通信系统。所述服务器实体向所述客户端实体提供数据,并包括:接入接口,适于接收数据更新;数据转盘部,适于在旋转的数据转盘中保存数据,并适于将所述数据更新并入所述旋转的数据转盘中,其中,所述数据包括多个数据项;复制部,适于向所述客户端实体发送所述数据更新的副本;以及输出接口,适于向所述客户端实体发送所述数据转盘上的数据项,且所述客户端实体从所述服务器实体接收数据,并包括:输入接口,接收所述数据更新;转盘部,适于在包括多个数据项的数据转盘中保存数据,适于将接收到的数据更新并入所述数据转盘中,以及适于确定接收到的数据更新是否是高优先级数据更新,其中,在并入非高优先级数据更新之前进行高优先级数据更新的并入。
相应地,在第一通信信道上发送所述数据项,且在第二通信信道上发送所述数据项的副本。同样地,在第一通信信道上接收所述非高优先级数据更新,且在第二通信信道上接收所述高优先级数据更新。
本发明的各种实施例可以针对以下各项提供特定优点:由服务器向客户端提供数据的改进方法、由客户端从服务器接收数据的改进方法、向客户端提供数据的改进的服务器实体、从服务器接收数据的改进的客户端实体、以及实现由服务器向客户端提供数据的方法或由客户端从服务器接收数据的方法的改进的计算机程序。特别地,可以加速客户端侧数据转盘的更新,并例如可以以最小可能的延迟向客户端传递高优先级数据更新。
附图说明
结合附图,通过以下描述将更好地理解本发明的上述特征。然而应当注意到,附图仅示出了本发明的典型实施例,且因此不应将其认为限制了本发明的范围。
图1A和1B示出了根据本发明的实施例的处于两个不同时刻处的通信系统的示意图;
图2A到2C示出了根据本发明的其他实施例的包括服务器和客户端在内的通信系统的示意图;
图3A和3B示出了根据本发明的其他实施例的服务器实体的示意图;
图4A和4B示出了根据本发明的其他实施例的客户端实体的示意图;
图5示出了根据本发明的另一实施例的向客户端提供数据的应用的示意图;
图6示出了根据本发明的另一实施例的由服务器向客户端提供数据的示意图;
图7A示出了根据本发明的另一实施例的由服务器向客户端提供数据的方法的示意流程图;
以及
图7B示出了根据本发明的另一实施例的由客户端从服务器接收数据的方法的示意流程图。
具体实施方式
在本发明的实施例的上下文中,客户端和服务器可以是经由通信网络交换数据的任何实体;因此他们还可以是通信系统的一部分。在异步通信系统的情况中,服务器可以是能够在通信网络上向一个客户端或多个客户端发送数据的实体,反之客户端可以是能够从所述服务器接收这种数据的实体。这种服务器或服务器实体的示例可以是数据处理装置、计算机、服务器硬件、或在数据处理装置上运行的或在多于一个数据处理装置上分布的软件模块。反之,客户端实体的一般示例包括移动终端、移动电话、汽车导航系统、车载导航设备、手持导航系统、汽车无线电设备、或用于个人计算机(PC)的无线网络适配器。
相应的异步通信网络可以提供从服务器到客户端的完全的下行链路通信,反之仅提供从客户端到服务器的有限后向上行链路信道,其相对于下行链路信道的带宽或数据发送速率是有限的。作为极端情况,异步通信网络可以完全省略上行链路信道,且因此客户端不能向服务器发送数据,特别是确认消息。然而,异步通信网络也依然可以提供完全的上行链路通信。然而,可以限制和/或保留对这种上行链路能力的使用,以用于其它应用。例如,在存在大量客户端的情况下,使用上行链路能力来从每一个客户端向服务器发送数据确认消息可能很快导致整个上行链路能力的耗尽。
异步通信网络的一般示例是所谓的异步数字订户线路(ADSL、DSL)网络、电视广播网络、其文字广播页面网络、基于无线广播的无线数据系统(RDS)或业务消息信道(TMC)网络、基于数字视频广播(DVB)或数字音频广播(DAB)的传输协议专家组(TPEG)网络,以及还有在高级通信网络中嵌入的最近演进的广播网络,比如全球移动通信系统(GSM)网络、个人通信服务(PCS)网络、码分多址(CDMA)网络、长期演进(LTE)网络、或通用移动通信系统(UMTS)网络。后面提到的蜂窝通信网络可以特别地提供所谓的多媒体广播组播服务(MBMS),MBMS进而提供从服务器到多个客户端的异步通信。总体上,在本发明的上下文中,将通信网络视为至少提供从服务器到客户端的数据交换或发送的实体。
可以由服务器侧应用产生数据更新,且数据更新可以包括:要添加至数据转盘的数据槽中的数据项、要更新已在槽中存储的现有数据项的数据项、或指示移除数据项和/或转盘的相关联数据槽的数据项。当数据更新与向转盘上添加数据项相关联时,这可以涉及向转盘添加新的数据槽,因此也与扩展数据转盘的数据槽的整体数目相关联。然而另一方面,从数据转盘上删除数据项也可以涉及从转盘上移除数据槽,因此导致数据转盘的缩短以及当前数据槽的数目的减少。总体上,每个数据更新可以包括TTL和/或数据标识符。
此外,向客户端发送数据更新的副本可以包括以各种方式实现的复制数据更新。示例包括:在存储器中缓存接收到的数据更新以及对该存储器的后续的多次读出,将接收到的数据更新写到两个或更多不同的存储器中以及从所述存储器中相应的读出,重复向不同的目标地址转发数据更新,以及向多个目标输入提供与数据更新相关联的信号的硬连线分叉(hardwired bifurcation)。一般地,注意到数据更新的副本和数据更新本身可以是完全不可区分的且可互相交换的实体,即,也可以将数据更新的副本称作数据更新。此外,数据更新副本可以与始发者数据更新相同。
接下来,将数据更新并入旋转的数据转盘可以包括确定转盘的相应目标数据。这可以基于数据更新本身来进行,因为更新可以包括诸如标识符或TTL的信息,其可以影响对相应槽的确定。换言之,数据更新和数据项可以包括信息,该信息使得数据更新对数据转盘的对应数据项的唯一分配成为可能,且反之亦然。一般地,可以通过标识符、指针、地址和/或指示符值来实现这种唯一的分配,可以容易地对他们进行比较以获得唯一的分配。
此外,并入数据更新还可以包括向数据转盘添加或移除数据槽,且因此改变数据转盘的数据槽的数目。还可以通过存储数据更新,直到数据转盘的相应目标数据槽变为当前数据槽,来实现并入数据更新。此外,可以随着转盘的每一次旋转来进行从转盘中移除过期项。这样,可以释放附加的计算资源,因为仅在要向客户端发送数据转盘的当前数据槽中存储的对应数据项之前或同时,才要求对数据转盘的实际更新。
除了上述之外,该方法包括向客户端发送在数据转盘上的数据项。这可以包括在每次数据转盘旋转时,向客户端发送每一个数据项至少一次。然而,在数据项存储所在的数据槽变为当前槽之前,数据项可能已经过时或已被移除,且已经将相应的数据项发送至客户端。在该情况下,不一定向客户端发送转盘上的所有数据项。注意到,在该上下文中,过时的数据项可以是具有到期的TTL的项,且因此可阻止发送该项。总体上,因为数据转盘上每一个数据项由于对应的数据更新或TTL的提供而遭受到改变或删除,如果省略向客户端发送数据更新,则可能发生永远不向客户端传递数据更新。然而,将在特定时刻依然作为数据转盘的一部分的每一数据项发送至客户端。
然而,依然向客户端提供过时的数据项,因为已经向客户端发送了与更新或添加数据项相关联的数据更新(这通常发生在TTL到期之前)或指示移除相应数据项的数据更新。这样,可以确保数据更新到达最大数目的客户端,且仅具有由向客户端发送数据更新所需的实际发送延迟所确定的最小延迟。此外,通过向客户端发送数据更新的副本,可以避免数据损失、不令人满意的可靠性、以及在数据更新出现在服务器侧的时刻和相关联的数据项到达客户端侧的相应时刻之间的不可接受的延迟。
图1A示出了根据本发明的实施例的处于第一时刻的通信系统的示意图。通信系统包括服务器侧11、至少一个客户端侧12、以及将服务器侧11和客户端侧12相连的通信网络10。服务器侧11可以包括服务器实体,反之客户端侧12可以包括一个或多个客户端实体。
在服务器侧11上,配置有服务器侧数据转盘31,其包括一定数目的存储数据项的数据槽310。数据转盘31的数据槽310的实际数目可以是固定的,或也可以随着时间改变,以适应要由数据转盘31存储的数据项的实际数目。例如,当要由数据转盘31存储新的数据项时,可以将数据槽311的实际数目增加一,以及当不再由数据转盘31存储特定数据项时,可以将数据槽311的实际数目减少一。
数据转盘31随着时间旋转,使得永远存在当前的数据槽311。可以通过例如设置指针值,从多个数据槽310中选择所述当前数据槽311。然后可以通过在每次经过预定时间间隔时改变指针值来实现旋转。可以通过增加指针值来实现所述改变,因此让与当前数据槽311相邻的相邻数据槽作为稍后时间的下一个当前数据槽。一旦指针超过最大数目,则可以重置指针,并重新开始数据转盘的旋转。总体上,可以将数据转盘实现为转盘数据库或列表。
所述预定时间间隔还可以是常数,且其还可以随着时间改变,因为例如所述时间间隔可以适应数据转盘31包括的数据槽310的整体数目。作为示例,当数据转盘31包括大量数据槽时,可以减少时间间隔,以加速数据转盘旋转并加速数据发送。
在客户端侧12上,配置有客户端侧数据转盘32。所述数据转盘32包括一定数目的数据槽320,且还可以包括最近数据槽321。然而,不要求数据转盘32随着时间转动,使得一直存在被标识为当前数据槽321的一个数据槽320。
在所示时刻,在服务器侧11上提供数据更新2。在服务器侧11处将该数据更新2并入数据转盘31上的对应目标数据槽312处。这种并入可以包括确定应用数据更新2的对应数据槽312,和/或对数据更新2的缓存,直到应用数据更新2的对应数据槽312变为当前数据槽311。不管怎样,最终将数据更新2并入数据转盘31,且数据更新2可以导致将数据更新2所包含的数据项写入数据转盘31的数据槽310,导致更新已在数据转盘31的一个数据槽310中存储的数据项,或导致移除在数据转盘31的对应数据槽中存储的数据项。作为前者的添加还可以包括向转盘31添加数据槽,反之,作为后者的移除可以包括从数据转盘31中移除相应的数据槽310。
在每次当服务器侧数据转盘31的数据槽310变为当前数据槽311的时刻,经由通信网络10向客户端侧12发送在当前数据槽311中存储的数据项,作为更新消息21。这种发送可以包括将对应的数据项封装进入适合在通信网络10上发送的更新消息21。在客户端侧12,将接收到的消息21并入客户端侧数据转盘32。这种并入可以包括确定客户端侧数据转盘32的相应位置,即确定客户端侧数据转盘32的多个数据槽320的相应数据槽322。该消息21可以再一次地导致添加、修改或删除数据项和/或数据转盘32的相关联的数据槽320。
消息21到达客户端侧12和/或将消息21并入数据转盘32可以在客户端侧12上发起对通知200的释放。这种通知200可以包括相应的数据项本身,并可以提供该相应的数据项来向在客户端侧12上运行的应用进行通知,使得所述应用意识到消息21的到达和/或更新的数据转盘32。
根据本发明的该实施例,在服务器侧11上提供的数据更新2从数据转盘31经由通信网络10立即和独立地到达客户端侧12。这种立即发送可以实现某种程度的从服务器侧12上的应用到客户端侧11的等时(isochronous)数据传输。其依靠包括更新2或其副本在内的且适合在通信网络10上发送的更新消息20。此外,可以在将数据更新2并入数据转盘31之前截获该数据更新2,以复制和/或将其作为更新消息20向客户端侧12。
还可以将在客户端侧12处接收的更新消息20立即并入客户端侧12的数据转盘32中。此外,该并入可以再一次地发起对通知200的发送以及对更新消息到达服务器侧12上所涉及的应用的相关通知的发送。这样,将在服务器侧11上提供的更新2以最小延迟提供给客户端侧12,所述延迟与产生并在通信网络10上向客户端侧12发送对应更新消息20所需的时间一样短。这样,可以在对应更新消息22(参见图1B)到达之前将更新2并入客户端侧转盘32。无论如何,通过将更新消息20并入客户端侧转盘32,可以实现对客户端侧转盘32相对于服务器侧转盘31的接近等时的构建,只是将其延迟了发送时间。因此,更新消息20可以变为用于构建和更新客户端侧数据转盘32的主要源。
根据其他实施例,判断数据更新2是否是时间关键的。可以通过下述方式将时间关键的数据更新与非关键的数据更新加以区分:在转盘31的总旋转时间期间,关键的数据更新可能变得过时。此外,可以由发起更新的应用(例如产生业务警告消息和基于这种警告消息的数据更新的应用)将数据更新2分类为关键的。因此可以将向客户端侧12发送数据更新2表现为取决于更新的关键状态。换言之,当相应数据槽310变为当前槽时,仅可以将非关键数据更新2并入数据转盘31并在稍后时刻发送给客户端12。此外,可以呈现用于进行所述判断的调度机制。
图1B示出了在稍后时刻的本发明的上述实施例的通信系统。其中,示出了当服务器侧数据转盘31的数据槽312变为当前数据槽311时的通信系统。由于此时已将结合图1A描述的数据更新2应用于数据槽312,包括存储在当前数据槽311中的数据项在内的更新消息22考虑数据更新2。
在客户端侧12处接收所述更新消息22,且可以将该更新消息22再次并入客户端侧数据转盘32。其可以用于提供客户端侧数据转盘32的冗余更新或用于在此外增强可靠性。然而,在客户端侧12,可以提供用于判定是否依然需要执行将更新消息22重复并入数据转盘32的装置,因为数据转盘32可能已并入了更新消息21(参见图1A)。然而,更新消息22的并入可以再一次发起通知200。
图2A示出了根据本发明的另一实施例的通信系统的示意图。其中,用相同引用标号来标记已经结合本发明的实施例来描述的对应单元。
在服务器侧11上,应用110可以产生数据更新2,并向服务器接入接口123提供数据更新2。在服务器接入接口123之后,复制数据更新2,以向另一服务器接入接口124和第二输出接口122提供数据更新2。如结合本发明的实施例所述,将在另一接入接口124之后的数据更新2并入服务器侧数据转盘31。因此,以这种方式,在调用另一服务器接入接口124之前截获了数据更新2,使得服务器将接入接口123对于另一接口124表现为透明的,且另一服务器接入接口124可以形成由应用110调用的影子服务器接入接口。
将在数据转盘31的当前数据槽中存储的数据项发送至客户端侧12。为此,将所述数据项封装入适合在通信网络10的第一信道101上发送的更新消息20。所述封装可以受到第一输出接口121的影响,且所述封装可以包括将数据项封装入合适的协议。在客户端侧12由第一输入接口221接收更新消息20,并随后将其并入客户端侧数据转盘32。
然而,将数据更新2发送至客户端侧12是立即的,并且与将数据更新2并入数据转盘31是相互独立的。这依靠将数据更新2封装入另一更新消息21,该消息21在通信网络10的第二通信信道102上发送。所述封装可以受到第二输出接口122的影响,且所述封装可以再次包括将数据项封装入合适的协议。由第二输入接口222在客户端侧12上接收更新消息21,且随后将其并入客户端侧数据转盘32。这样,与服务器侧转盘31近乎同步地构建客户端侧数据转盘32,且可以在客户端侧12上进行直接由服务器侧11上的应用110调用的这种构建。然而,依然可以由基本的转盘更新机制来消除客户端侧转盘32的失败更新,由于例如携带更新消息21的相应通信信道的中断,该失败更新可能未到达客户端侧12。
客户端接入接口220可以向应用210提供对客户端侧数据转盘32的数据接入。此外,当已从服务器侧11接收更新消息20、21和/或将他们并入客户端侧数据转盘32时,可以经由客户端接入接口220向应用210进行通知。这样,在没有延迟的情况下,应用210可以意识到客户端侧数据转盘32中更新的数据项或作为整体的更新的数据转盘32。
根据本发明的该实施例,在通信网络10的第一通信信道101上从服务器侧11向客户端侧12发送更新消息20。此外,经由通信网络10的第二信道102向客户端侧12发送携带数据更新2的具有到达客户端侧12的最小可能延迟的更新消息21。在通信网络10中,可以向第二通信信道102提供比第一通信信道101更高的优先级。此外,第二信道102可以提供比第一信道101的相应的所谓服务质量属性(QoS)更好的服务质量属性(QoS)。
所述QoS属性可以包括数字,比如发送可靠性、错误率、发送速率、最小带宽等等。这样,相对于在第一通信信道101上的发送,在第二通信信道102上发送更新消息21可以具有在整体上增加的发送速度和可靠性。这可以是附加的优点,因为可以一直在经由第一通信信道101发送对应更新消息之前进行经由更新消息21的相应数据更新2的发送。根据该实施例,可以由单一通信网络10来提供第一和第二通信信道101、102。
根据本发明的在图2B的示意图中示出的另一实施例,可以由不同的通信网络,即第一通信网络10’和第二通信网络10”来提供第一通信信道101和第二通信信道102。这样,第一通信网络10’可以基于第一通信技术,反之第二通信网络10”可以基于第二通信技术。可以从例如GSM技术、UMTS技术、PCS技术、WLAN技术、WiMAX技术、LTE技术、无线或视频广播技术或相关技术中选择所述第一和所述第二通信技术。
这样,可以由提供比第一通信技术更高的服务质量的第二通信技术来提供第二通信信道102。在这种情况下,第一通信技术可以涉及与第一技术相关的对网络和/或计算资源的增加的需求。然而,该增加的需求可以是可容忍的,因为当在服务器侧12上接收到时,经由第二通信信道102仅进行向客户端侧12的数据更新的时间关键的立即发送。依然经由基于第一通信技术的第一通信信道101,来进行重复的和可能冗余的更新消息20的发送(数据转盘31的每次旋转发送一次)。所述第一技术需要更少的资源,因此与重复和冗余发送是兼容的。
根据另一实施例,第一通信信道101可以是第一通信网络10’的信道,第一通信网络10’是基于常规转盘的信息广播系统网络,比如基于RDS-TMS或DVB/DAB-TPEG技术的网络。然而第二信道102可以是第二网络10”的信道,第二网络10”是较高带宽的网络。在该情况下,第二通信信道102可以是蜂窝网络的MBMS信道,因此提供与经由例如基于RDS的第一网络10’的重复发送相比,针对数据更新的立即发送的极大增强的QoS。
图2C示出了根据本发明的另一个实施例的通信系统。相应地,在通信网络10的公共通信信道100上发送更新消息20(与发送在服务器侧数据转盘31的当前数据槽中存储的数据项相关联)和更新消息21(与立即和独立发送呼入数据更新2相关联)。
为此,可以提供服务器侧复用器140和客户端侧去复用器240。复用器140可以对更新消息20以及更新消息21进行复用,使得他们适合在单一通信信道100上发送。复用器140还可以以比发送更新消息20(与服务器侧数据转盘31的当前数据槽相关联)更高的优先级来处理更新消息21(与向客户端侧12立即和独立发送数据更新2相关联)。
这样,如图2C所示,即使存在准备好要发送到客户端侧12的更新消息20时,复用器140也可以在发送更新消息20之前在通信信道100上发送更新消息21。这种按照优先级发送可以包括由复用器140对通信信道100的抢占式接入(preemptive access),以实现发送更新消息21的可比较的优先级(相对于本发明的提供两个分离通信信道的所述实施例)。
图3A示出了根据本发明的另一实施例的服务器实体50的示意图。服务器实体50包括用于接收数据更新2的服务器接入接口123、另一服务器接入接口124、以及第一输出接口121和第二输出接口122。此外,服务器实体包括复制部125,其向另一服务器接口124和第二输出接口122提供数据更新2,这些提供的更新之一可以是数据更新副本。
服务器实体50还包括数据转盘部126,其包括和/或运行服务器侧数据转盘31。所述数据转盘部125通过另一服务器接入接口124接收数据更新2,并对将数据更新2存储和并入到数据转盘31中进行处理。数据转盘部125还处理数据转盘31本身,这种处理包括将数据转盘31的一个数据槽标识为当前数据槽310,在经过预定时间间隔之后将当前数据槽切换为下一个数据槽,向转盘31添加和移除数据槽,以及将在当前数据槽中存储的数据项传递给第一输出接口121。
可以将服务器实体50体现为任何服务器实体,比如适合嵌入至通信网络和/或其核心网络中的不同的数据处理装置。还可以将服务器实体50实现为在一个或多个分布式数据处理装置上运行的软件模块,这些数据处理装置与相应的通信网络耦合。
图3B示出了根据本发明的另一个实施例所述的服务器实体51。相应地,服务器实体51(相对于结合图3A所述的服务器实体50)包括复用器140,其适合在一个单一通信信道上从数据转盘31向客户端侧传递数据更新2以及数据项,并适合在公共单一通信信道上发送第一更新消息20和第二更新消息21。复用器140可以并入与提供适合在通信信道上发送的消息相关联的功能,即输出接口的功能。这样,复用器140可以形成或包括第一输出接口和/或第二输出接口122,如结合图2A、2B和3A所描述的一样。
总体上,根据本发明的实施例的服务器实体可以是服务器装置、数据处理装置、个人计算机、计算机、主板计算机、嵌入式或分布式系统等等,在其上实现结合本发明的实施例所述的数据转盘和对应的更新机制。这种实现可以受到在这种服务器实体的一个或多个微处理器上运行的相应软件组件或专用硬件实现(比如集成电路或所谓的专用电路(ASIC))的影响。
图4A示出了根据本发明的另一个实施例的客户端实体的示意图。相应地,客户端实体60包括第一输入接口221和第二输入接口222。客户端实体60可以经由第一通信信道从第一输入接口221接收第一更新消息,以及经由第二通信信道从第二输入接口221接收第二更新消息。客户端实体60可以将接收到的更新消息都并入到客户端侧数据转盘32中。
客户端实体60还可以被配置为使得:以比从第一输入接口221接收的更新消息更高的优先级,将从第二输入接口222接收的数据更新并入数据转盘32中。客户端实体60还可以包括存储和处理客户端侧数据转盘32的转盘部225。附加地,客户端实体60包括客户端接入接口220,其用于处理对客户端侧数据转盘32的接入和/或用于提供数据和/或客户端侧数据转盘32的更新的通知。
图4B示出了根据本发明的另一实施例的客户端实体。客户端实体61包括用于经由一个单一公共通信信道接收更新消息的去复用器240。去复用器240还可以向客户端实体61上的数据转盘部225传递更新消息(与立即和独立发送服务器侧上的呼入数据更新2相关联),以按照优先级并入数据转盘32中。
总体上,根据本发明的实施例的客户端实体可以是移动终端、移动电话、个人数字助理(PDA)、手持或汽车导航系统、便携式个人计算机等等,在其上实现结合本发明的实施例所述的数据转盘和对应的更新机制。这种实现可以受到在这种客户端实体的微处理器上运行的相应软件组件或专用硬件实现(比如集成电路或所谓的专用电路(ASIC))的影响。
图5示出了根据本发明的实施例向客户端提供数据的应用的示意图。所述应用可以向多个客户端实体提供数据。在所示配置的上下文中,客户端实体是或包括移动终端,比如移动电话和/或汽车导航系统。根据本实施例,所述移动终端被配置在第一移动终端的第一组511和移动终端的第二组521。
根据所示实施例,移动终端521被配置在第二区域520,其与道路590充分重叠。第一区域510可以与所述第二区域520实质上不同,并可以与第二区域520有较小的部分重叠,并可以仅覆盖道路590的可忽略的区域或一部分。在所述第一区域510中,配置有移动终端511。总体上,可以假定被配置在第一区域510中的移动终端511不受到道路590的事件的影响,或不与道路590相关联。然而,可以假定被配置在第二区域520中的移动终端521受到道路590上的事件599的影响或与道路590相关联。
例如,事件599可以表示正在接近的急救交通工具、交通阻塞、事故、移动的道路作业交通工具、道路作业、打滑的道路条件等等。原则上可以向在道路590上移动的、接近事件599的、车上具有移动终端521的交通工具通知事件599,以采取恰当的行动,比如减速或使用偏离。这种应用要求以高的时间约束来迅速传递对事件599进行通知的业务消息,并应当将其广播至第二区域520中的最大数目的移动终端521。在这种应用中,需要等待服务器侧转盘的整个旋转时间或其一部分时间的数据更新可能过晚地到达客户端,且尽管在服务器侧上及时的提供,其也很快变得过时。
根据该实施例,如结合本发明的实施例所述的,仅可以向第二区域520中的客户端实体521提供具有优先级的更新消息。依靠这种所谓的地理播放(geo-casting),可以向最大数目的所选客户端提供重要的数据项,类似道路交通危害警告,同时,不需要同步通信系统。可以通过使用MBMS技术和广泛部署的蜂窝系统来有效地实现这种地理播放。
以任何方式,通过结合本发明所述的根据实施例的向客户端发送数据更新,有可能实现在蜂窝网络中接近实时的道路交通信息服务。可以通过避免在服务器侧转盘上的第一发送循环的延迟,来实现减少消息发送延迟。所有后续发送循环可以仅添加准确性并改进可靠性,或可以向加入通信系统或进入相应区域(比如第二区域520)中的客户端提供服务。
图6示出了根据本发明的另一个实施例的通信系统的示意图。相应地,该通信系统包括服务器侧611、通信网络610、以及多个移动终端612。所述移动终端612可以是或包括移动电话或汽车导航系统,他们进而订购蜂窝通信网络,比如PCS网络、GSM网络、UMTS网络、LTE网络、或另一个相关电信网络。
根据该实施例,通信网络设备610包括向移动终端612提供无线连接和通信的无线服务设备613。这种无线服务设备613可以包括例如提供蜂窝通信网络的小区的无线基站。此外,所述多个移动终端612可以被配置在这种小区之一中,或在包括多于一个小区的地理术语中定义的区域中,比如结合图5所示的第一或第二区域510、520。
在服务器侧611上,第一服务器装置616运行服务应用、第二服务器装置615、以及广播服务装置614。所述第二服务器装置615可以是或包括已结合本发明的实施例所述的服务器实体。即使将所述第一服务器装置616、所述第二服务器装置615以及所述广播服务装置614描述为不同的单元,可以在运行相应软件模块的一个数据处理装置中将他们相应的功能进行集成,或可以将他们分布到多于所述的数据处理装置中,这些数据处理装置在提供和/或与提供蜂窝或电信网络的服务相关联的设备中。
根据该实施例,第一服务器装置616运行可以提供第一数据更新6001、第二数据更新6002、以及第三数据更新6005的服务应用。将所述数据更新6001、6002和6005传递给第二服务器装置615,第二服务器装置615将接收到的数据更新并入服务器侧数据转盘,并还从所述数据转盘立即且独立地向广播服务装置614提供对应的更新消息6011、6012以及6015,广播服务装置614进而向移动终端612提供适合在网络610上发送的对应消息6021、6022和6025。
然而,即使或仅当在第一服务器装置616上运行的服务应用不提供数据更新时,第二服务器装置615的数据转盘还提供与已在数据转盘上存储的数据项相关联的更新消息6013、6014和6016。
在第一服务器装置615上运行的服务应用已完成发送更新消息6014且准备好发送与在转盘上存储的下一个数据项相关联的更新消息6016的时刻,第一服务器装置616提供数据更新6005。由于转发这种数据更新具有优先级,则中断第二服务器装置615的数据转盘中存储的数据项的已调度发送,且将数据更新6005并入数据转盘中,且立即和独立地从数据转盘向广播服务装置614传递以作为更新消息6015,广播服务装置614进而将该更新提供给移动终端612作为消息6025。随后,可以通过广播服务装置614和更新消息6016、6026向移动终端612发送在数据转盘的下一个数据槽中存储的下一个数据项的已调度发送。
根据另一个实施例,该序列可以包括可选地建立从服务器侧611到移动终端612的连接和/或通信会话。为此,第二服务器装置615可以发起开始会话命令6000,其导致广播服务装置614发送公告6010,且其向移动终端612指示信道、连接和/或通信会话可用。然后移动终端612依然可以判定他们自身是否加入这种会话,且因此是否接收消息6021到6026。
根据本发明的另一实施例,服务器侧611可以是蜂窝通信网络的一部分,且可以提供所谓的多媒体广播和组播服务(MBMS),MBMS提供了对移动终端612的广播机制。这样,广播服务装置614和/或第二服务器装置615可以由MBMS服务形成,或作为MBMS服务的一部分。
此外,根据本发明的另一个实施例,所述MBMS可以使用一个或多个MBMS信道用于向移动终端612发送数据和更新消息。这样,第一MBMS信道可以是结合本发明的实施例描述的第一通信信道,且第二MBMS信道可以是结合本发明的实施例描述的第二通信信道。在使用第二MBMS信道的情况下,广播服务装置614可以发起第二公告,类似于公告6010,以向移动终端612指示存在可用的第二会话和/或信道。
此外,根据另一个实施例,协助向移动终端612发送数据和更新消息的底层MBMS传输服务可以是传输机制,比如所谓的基于单向传输的文件传输(FLUTE)、实时协议(RTP)分组传输,流传输模式下的这种RTP分组传输、或相关机制和协议。对于交换更大数据项的应用,可以优选地应用所述FLUTE传输机制,而对于一般使用较小的数据项的交换道路交通信息服务的应用,可以优选地使用流传输模式机制,比如流传输模式下的实时协议分组。在该上下文中,较大数据项可以是包括多于一千字节数据的数据项,反之,较小数据项可以是包括少于一千字节数据的数据项。
图7A示出了根据本发明的另一个实施例的方法的示意流程图。所述方法包括两个过程,即第一过程P1和第二过程P2。在第一过程P1中,提供第一步骤S11用于确定是否已接收到数据更新。一旦接收到数据更新,在步骤S12中,从数据转盘(参见过程P2)向客户端立即和独立地发送该数据更新。然后,仅在步骤S12中已向客户端发送了更新之后,将所述更新并入数据转盘(S13)。
可以用比第一过程P1更低的优先级来实现的第二过程P2包括循环,每次已经过时间间隔(S23)时,该循环重复地执行增加步骤S21和发送步骤S22。所述增加步骤S21增加转盘位置,因此将数据转盘的多个数据槽中的后续一个指示为当前数据槽。在步骤S22中,将在最近转盘位置处的当前数据槽中存储的数据项发送至客户端。
注意到,可以在数据处理装置上实现过程P1和P2,且将更高的执行和/或线程优先级给予第一过程P1。这暗示着一旦在步骤S11中已确定接收到数据更新时,则第一过程P1可以中断处于任何阶段的第二过程P2。例如,当在第二过程P2中,刚在步骤S21中增加转盘位置时,可以中断第二过程P2,且在第二过程P2的发送步骤S22之前,至少执行对步骤S12中接收到的数据更新的发送。
图7B示出了根据本发明的另一个实施例的方法的示意流程图。该方法描述了结合本发明的实施例描述的客户端侧上的方法。所述方法包括第三过程P3和第四过程P4。
第三过程P3包括第一步骤S31,其判定是否已从服务器侧接收到高优先级更新消息。可以通过专用高优先级通信信道来进行该判定。一旦已接收到高优先级数据更新,在步骤S32中,将所述数据更新并入客户端侧数据转盘中。可选地,向在客户端侧上运行的应用发出通知,指示已在通知步骤S33中更新了数据转盘。即使已将顺序描述为在并入步骤S32之后执行通知步骤S33,应用或客户端实体可以要求可以立即或以尽可能少的延迟向客户端侧应用转发已接收到的高优先级数据更新的通知,所述顺序可以掉转,即可以在并入步骤S32之前执行通知步骤S33。
作为在客户端侧上的第二过程,执行第四过程P4,其包括确定步骤S41,步骤S41确定是否已接收到数据更新。如果已接收到数据更新,则在并入步骤S42中将所述数据更新并入客户端侧数据转盘中。同样,这种并入可以发起可选的通知步骤S43,在步骤S43中,将对应的更新通知传递给在客户端侧上运行的应用。
注意到,可以在客户端侧上的数据处理装置和数据处理设备(比如移动终端的微处理器)上实现过程P3和P4。可以向所述第三过程P3给予比第四过程P4更高的执行和/或线程优先级。这暗示着一旦在步骤S31中已确定接收到高优先级数据更新时,则第三过程P3可以中断处于任何阶段的第四过程P2。
之前的描述仅描述了本发明的示例实施例。因此在各种实施例中,该描述、权利要求和附图所公开的特征单独地或以任何组合的方式对于实现本发明是重要的。尽管前述的目标是本发明的实施例,可以在不脱离本发明的基本范围的情况下,设计出本发明的其他实施例,本发明的范围由所附权利要求所确定。
Claims (4)
1.一种由客户端从服务器接收数据的方法,所述方法包括:
-接收数据更新;
-确定接收到的数据更新是否是高优先级数据更新;
以及
-将接收到的数据更新并入用于保存数据的数据转盘中,所述数据包括多个数据项,其中,在并入非高优先级数据更新之前,进行所述高优先级数据更新的并入,
其中,在第一通信信道上接收所述非高优先级数据更新,且在第二通信信道上接收所述高优先级数据更新。
2.根据权利要求1所述的方法,其中,所述方法包括:在已将接收到的数据更新并入所述数据转盘之后,通知客户端侧应用。
3.一种从服务器接收数据的客户端实体,包括:
-输入接口,接收数据更新;
-转盘部,适于在数据转盘中保存包括多个数据项的数据,适于将接收到的数据更新并入所述数据转盘中,以及适于确定接收到的数据更新是否是高优先级数据更新,其中,在并入非高优先级数据更新之前进行高优先级数据更新的并入,
其中,所述客户端实体适于在第一通信信道上接收所述非高优先级数据更新,且适于在第二通信信道上接收所述高优先级数据更新。
4.根据权利要求3所述的客户端实体,其中,所述客户端实体适于执行根据权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410133851.3A CN103945257B (zh) | 2008-11-10 | 2008-11-10 | 向客户端提供数据的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200880131941.1A CN102210157B (zh) | 2008-11-10 | 2008-11-10 | 向客户端提供数据的方法 |
CN201410133851.3A CN103945257B (zh) | 2008-11-10 | 2008-11-10 | 向客户端提供数据的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880131941.1A Division CN102210157B (zh) | 2008-11-10 | 2008-11-10 | 向客户端提供数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103945257A true CN103945257A (zh) | 2014-07-23 |
CN103945257B CN103945257B (zh) | 2017-08-25 |
Family
ID=51192699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410133851.3A Active CN103945257B (zh) | 2008-11-10 | 2008-11-10 | 向客户端提供数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103945257B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1022909B1 (en) * | 1999-01-21 | 2006-12-06 | Sony Service Centre (Europe) N.V. | Information server and a method of arranging carousel information |
WO2000062547A1 (en) * | 1999-04-09 | 2000-10-19 | Opentv, Inc. | Bandwidth management on a hybrid point to point broadcast |
JP3756708B2 (ja) * | 1999-09-30 | 2006-03-15 | 株式会社東芝 | 情報処理端末装置およびそのファイル管理方法 |
US20020166123A1 (en) * | 2001-03-02 | 2002-11-07 | Microsoft Corporation | Enhanced television services for digital video recording and playback |
-
2008
- 2008-11-10 CN CN201410133851.3A patent/CN103945257B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103945257B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102210157B (zh) | 向客户端提供数据的方法 | |
TWI243621B (en) | Method for receiving periodic transmissions of information segments, user equipment for processing received communication and method thereof | |
AU757588B2 (en) | Apparatus and method for assigning a supplemental channel in mobile communication system | |
EP2571296B1 (en) | Method, device and mobile multi-media broadcasting service system for transmitting data information | |
CN113677034B (zh) | 数据传输方法及相关设备 | |
WO2019137487A1 (zh) | 确定传输机会的方法及装置、存储介质、电子装置 | |
US8744509B2 (en) | Reducing time for call failure indication | |
CN102025712B (zh) | 一种数据更新方法、装置和系统 | |
JP3655130B2 (ja) | 同報通信方法、その同報通信方法を用いる移動通信システム、及び移動局 | |
US8130653B2 (en) | Deletion request after number of failed acknowledgements to addition requests | |
EP1861968B1 (en) | Improving control information acquisition latency by transmitting control information in individually decode-able packets | |
CN103945257A (zh) | 向客户端提供数据的方法 | |
RU2005141762A (ru) | Способ и система для разрегистрации широковещательного/группового обслуживания в высокоскоростной системе с коммутацией пакетов данных | |
CN110928828B (zh) | 处理器间业务处理系统 | |
JPH11313061A (ja) | データ配信センタ装置、データ受信端末装置及びデータ配信システム | |
KR100312310B1 (ko) | 무선 가입자망에서 다수의 무선링크를 관리하는 방법 | |
KR100776083B1 (ko) | 이동통신 시스템의 데이터 호 트래픽 프레임 제어방법 | |
MXPA05001981A (es) | Sistema y metodo para enviar en cascada datos mediante un canal de datos abierto de un dispositivo inalambrico. | |
WO2023245412A1 (zh) | 上行定位参考信号的配置方法、装置、设备及存储介质 | |
US11096201B2 (en) | Method of scheduling downloads for communication devices connected to a download server through a common access point | |
CN111510962B (zh) | 一种数据发送及接收方法、装置和存储介质 | |
CN101529755A (zh) | 无线通信装置 | |
KR20000033757A (ko) | 무선 채널을 이용한 단말기의 소프트웨어 다운로딩 방법 | |
CN118540726A (zh) | 信息处理方法、装置、设备及介质 | |
CN116133046A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |