动态内容分发的内容同步方法、设备及系统转让专利

申请号 : CN200810118662.3

文献号 : CN101656753B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 温亮生尹瑶瑶刘涛郑于锷

申请人 : 中国移动通信集团公司

摘要 :

本发明公开了一种动态内容分发DCD的内容同步方法,该方法包括:DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及该内容的生存时间;DCD终端根据接收的当前用户订阅内容,进行用户订阅内容的更新;DCD终端在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。本发明同时公开一种DCD服务器、DCD终端、DCD系统。采用本发明可以保证DCD终端尽可能快速地获得更新内容,节约网络资源。

权利要求 :

1.一种动态内容分发DCD的内容同步方法,其特征在于,该方法包括:DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,根据当前的用户访问总量确定散列时间范围,在所述散列时间范围内,对当前用户订阅内容的生存时间进行调整,并向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间;

DCD终端根据接收的当前用户订阅内容,进行用户订阅内容的更新;

DCD终端在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。

2.如权利要求1所述的方法,其特征在于,DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,且对当前用户订阅内容的生存时间进行调整之前,进一步包括:DCD服务器根据用户订阅内容的频道更新起始时刻、结束时刻、更新周期,确定用户订阅内容的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表确定当前用户订阅内容的生存时间。

3.如权利要求2所述的方法,其特征在于,所述根据本次同步请求时刻及所述频道更新时刻表确定当前用户订阅内容的生存时间包括:将用户订阅内容的下一次频道更新时刻与本次同步请求时刻的差值,确定为当前用户订阅内容的生存时间。

4.如权利要求2所述的方法,其特征在于,若用户订阅内容包括多个频道,则:DCD服务器根据本次同步请求时刻,以及用户订阅内容中各频道的更新起始时刻、结束时刻、更新周期,确定包含用户订阅内容中各频道更新时刻的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表,计算各频道当前用户订阅内容的生存时间;

DCD服务器比较各频道当前内容的生存时间,将其中最小值确定为当前用户订阅内容的生存时间。

5.如权利要求1所述的方法,其特征在于,DCD服务器在散列时间范围内,对当前用户订阅内容的生存时间进行调整包括:DCD服务器根据散列时间范围确定散列时间间隔;

DCD服务器以当前用户订阅内容的生存时间结束时刻为起始、在散列时间范围内,按散列时间间隔确定预计的用户访问量最小的时间段;

DCD服务器将预计的用户访问量最小的时间段起始时刻与本次同步请求时刻的差值,加上散列时间间隔内一随机时间值,确定为调整后的当前用户订阅内容的生存时间。

6.如权利要求5所述的方法,其特征在于,DCD服务器将预计的用户访问量最小的时间段的预计的用户访问量记录加1,作为下一次调整用户订阅内容生存时间的依据。

7.一种DCD服务器,其特征在于,包括:

接收模块,用于接收DCD终端发起的对用户订阅内容的同步请求;

调整模块,用于根据当前的用户访问总量确定散列时间范围,在散列时间范围内,对当前用户订阅内容的生存时间进行调整;

发送模块,用于在接收到DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间。

8.如权利要求7所述的DCD服务器,其特征在于,还包括:

基本生存时间产生模块,用于根据用户订阅内容的频道更新起始时刻、结束时刻、更新周期,确定用户订阅内容的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表确定当前用户订阅内容的生存时间。

9.一种DCD终端,其特征在于,包括:

发送模块,用于向DCD服务器发起对用户订阅内容的同步请求;

接收模块,用于接收DCD服务器发送的当前用户订阅内容及该内容的生存时间,所述生存时间为DCD服务器在根据当前用户访问总量确定的散列时间范围内,对当前用户订阅内容的生存时间进行调整后的生存时间;

更新模块,用于根据接收的当前用户订阅内容,进行用户订阅内容的更新;

控制模块,用于在所述生存时间结束时,指示所述发送模块向DCD服务器发起对用户订阅内容的下一次同步请求。

10.一种DCD系统,其特征在于,包括DCD终端和DCD服务器,其中:DCD服务器,用于在接收DCD终端发起的对用户订阅内容的同步请求后,根据当前的用户访问总量确定散列时间范围,在所述散列时间范围内,对当前用户订阅内容的生存时间进行调整,并向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间;

DCD终端,用于发起对用户订阅内容的同步请求;根据接收的当前用户订阅内容,进行用户订阅内容的更新;以及,在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。

说明书 :

动态内容分发的内容同步方法、设备及系统

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及动态内容分发的内容同步方法、设备及系统。

背景技术

[0002] 动态内容分发(Dynamic Content Delivery,DCD)是一种基于C/S(Client/Server,客户机/服务器)结构,由网络侧服务器在预先设定的时间从内容源获取内容后,通过特定的触发机制向移动终端推送内容的技术。
[0003] DCD服务器对不同类别的内容以频道的形式进行分类,并以频道的形式向用户的DCD终端分发(如体育频道、娱乐频道等)。各频道中的内容以频道项的形式组织,即每个频道中包含若干条内容。
[0004] DCD服务器在频道设置的同步时间到达时,从内容源获取内容并缓存。DCD终端后续可以连接网络,并向DCD服务器发起内容同步请求;DCD服务器将缓存的最新内容同步给DCD终端。
[0005] 发明人发现,在传统移动网络中,由于终端并非一直在线,因此服务器端要通过向终端发送WAP(Wireless Access Protocol,无线访问协议)Push(推送)消息来通知终端连接网络并到特定的URL(Uniform Resource Locator,统一资源定位符)地址获取内容,这种方式往往需要单独的通知过程,消耗特定的网络资源。同样的,DCD终端也并非一直在线,若将前述WAP PUSH消息通知方式应用于DCD终端连接网络并向DCD服务器发起内容同步请求,也会需要单独的通知过程,消耗特定的网络资源。

发明内容

[0006] 本发明实施例提供一种动态内容分发DCD的内容同步方法,用以节约网络资源,该方法包括:
[0007] DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,根据当前的用户访问总量确定散列时间范围,在所述散列时间范围内,对当前用户订阅内容的生存时间进行调整,并向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间;
[0008] DCD终端根据接收的当前用户订阅内容,进行用户订阅内容的更新;
[0009] DCD终端在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。
[0010] 本发明实施例还提供一种DCD服务器,用以节约网络资源,该DCD服务器包括:
[0011] 接收模块,用于接收DCD终端发起的对用户订阅内容的同步请求;
[0012] 调整模块,用于根据当前的用户访问总量确定散列时间范围,在散列时间范围内,对当前用户订阅内容的生存时间进行调整;
[0013] 发送模块,用于在接收到DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间。
[0014] 本发明实施例还提供一种DCD终端,用以节约网络资源,该DCD终端包括:
[0015] 发送模块,用于向DCD服务器发起对用户订阅内容的同步请求;
[0016] 接收模块,用于接收DCD服务器发送的当前用户订阅内容及该内容的生存时间,所述生存时间为DCD服务器在根据当前用户访问总量确定的散列时间范围内,对当前用户订阅内容的生存时间进行调整后的生存时间;
[0017] 更新模块,用于根据接收的当前用户订阅内容,进行用户订阅内容的更新;
[0018] 控制模块,用于在所述生存时间结束时,指示所述发送模块向DCD服务器发起对用户订阅内容的下一次同步请求。
[0019] 本发明实施例还提供一种DCD系统,用以节约网络资源,该DCD系统包括DCD终端和DCD服务器,其中:
[0020] DCD服务器,用于在接收DCD终端发起的对用户订阅内容的同步请求后,根据当前的用户访问总量确定散列时间范围,在所述散列时间范围内,对当前用户订阅内容的生存时间进行调整,并向DCD终端发送当前用户订阅内容及调整后的该内容的生存时间;
[0021] DCD终端,用于发起对用户订阅内容的同步请求;根据接收的当前用户订阅内容,进行用户订阅内容的更新;以及,在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。
[0022] 本发明实施例中,DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及该内容的生存时间;DCD终端根据接收的当前用户订阅内容,进行用户订阅内容的更新;DCD终端在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求,其中,由DCD终端主动向DCD服务器发起同步请求,而无需DCD服务器向DCD终端发送WAP Push消息来通知DCD终端发起同步请求,可以避免DCD服务器向DCD终端进行寻址、IP地址确认和路由选择等操作,降低业务的复杂性,同时有效节省网络带宽,减轻网络负载,并且也能够保证DCD终端按时得到最新的频道内容。

附图说明

[0023] 图1为本发明实施例中DCD内容同步的处理流程图;
[0024] 图2为本发明实施例中访问频度列表的一个实例图;
[0025] 图3为本发明实施例中DCD服务器计算TTL时间的处理流程图;
[0026] 图4为本发明实施例中DCD终端控制发起同步请求的处理流程图;
[0027] 图5为本发明实施例中计算TTL基本时间的一个实例图;
[0028] 图6为本发明实施例中选取预计的用户访问量最小的时间段的示意图;
[0029] 图7为本发明实施例中DCD服务器的结构图;
[0030] 图8为本发明实施例中DCD服务器在一个实例中的结构图;
[0031] 图9为本发明实施例中DCD终端的结构图;
[0032] 图10为本发明实施例中DCD终端在一个实例中的结构图;
[0033] 图11为本发明实施例中DCD系统的结构图。

具体实施方式

[0034] 本发明实施例中,DCD服务器将频道项内容同步给DCD终端时,会告知DCD终端下一次发起同步请求的时间,也就是本次同步的频道项内容的生存时间(Time To Live,TTL时间)。DCD终端在本次内容失效后,也即TTL结束后,自动向DCD服务器发起下一次内容同步请求,以获取更新的频道项内容。
[0035] 如图1所示,本发明实施例中,DCD内容同步的处理流程如下:
[0036] 步骤101、DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及该内容的生存时间。
[0037] 实施时,DCD服务器可以按一定时间算法计算TTL时间,并获得用户订阅内容,将用户订阅内容封装为同步响应数据包返回给客户端,其中同步响应数据包中携带TTL参数。
[0038] 步骤102、DCD终端根据接收的当前用户订阅内容,进行用户订阅内容的更新。
[0039] 步骤103、DCD终端在所述生存时间结束时,向DCD服务器发起对用户订阅内容的下一次同步请求。
[0040] 从图1所示流程可以看出,TTL时间是决定DCD终端何时发起内容同步请求的一个时间。DCD终端每次发起内容同步请求后,在DCD服务器返回的同步响应数据包中能够获得本次内容的生存时间,即在同步响应数据包中得到一个由DCD服务器产生的新的TTL时间。DCD终端根据该TTL时间重新开始计时,当这个时间到达时,DCD终端将再次发起内容同步请求。
[0041] 本发明实施例中,DCD服务器的TTL产生算法主要依据的原则有:保证用户得到最新的频道信息。根据该原则,TTL时间的产生可以根据用户订阅频道的情况,确定用户什么时候应该同步,以获得最新的频道信息。
[0042] 一个实施例中,DCD服务器接收DCD终端发起的对用户订阅内容的同步请求后,可以根据用户订阅内容的频道更新起始时刻、结束时刻、更新周期(当然也可以是频率),确定用户订阅内容的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表确定当前用户订阅内容的生存时间。一个实施例中,可以将用户所订阅内容的下一次频道更新时刻与本次同步请求时刻的差值,确定为当前用户订阅内容的生存时间。
[0043] 举例来说,可以先获得用户订阅的频道信息以及频道的内容更新开始时间、更新结束时间、频道更新周期。从用户同步请求时刻起,对于每一个频道,都有一个“下一次更新时间”,设频道n的“下一次更新时间”为Fn。频道n的“下一次更新时间”Fn是指频道n下一次更新时刻与当前同步请求时刻的差值。其中,下一次更新时刻可通过内容更新开始时间、更新结束时间、频道更新周期得到。例如新闻1的下一次更新时刻为12:00,当前同步请求时间为9:35,那么新闻1的更新时间Fn为:12:00减去9:35,即Fn=2小时25分。对某一个频道来说,“下一次更新时间”即该频道内容的生存时间,为用户所订阅频道的下一次更新时刻与本次同步请求时刻的差值。
[0044] 若用户订阅内容包括多个频道,则DCD服务器根据本次同步请求时刻,以及用户订阅内容中各频道的更新起始时刻、结束时刻、更新周期,确定包含用户订阅内容中各频道更新时刻的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表,计算各频道当前用户订阅内容的生存时间;后续比较各频道当前内容的生存时间,将其中最小值确定为当前用户订阅内容的生存时间。如上例中,将所有频道的“更新时间”都算出后,即得到F1、F2、F3、...、Fn,这些值中选出最小的值Fk,作为TTL时间。
[0045] 由于DCD终端与DCD服务器之间的同步一般集中在某一特定的时间段,这样,在某时间段内,所有订制相同频道的DCD终端将同时向DCD服务器发起同步请求,可能对DCD服务器造成冲击。为减少这种冲击,本发明实施例还提出对生存时间进行调整的方法,将用户向DCD服务器发送同步请求的时间散列在某一个可配置的时间内,缓和服务器负载。
[0046] 则本发明实施例中,DCD服务器的TTL产生算法主要依据的原则还在于:散列用户发起访问的时间。该TTL散列时间用于散列用户发起同步的时间点,以避免同步时间过度集中而造成服务器负载过大。
[0047] 将前述确定的当前用户订阅内容的生存时间作为TTL基本时间,则可以得到:
[0048] TTL时间(调整后的)=TTL基本时间+TTL散列时间。
[0049] 一个实施例中,在DCD服务器向DCD终端发送所述生存时间之前,DCD服务器可以根据当前用户访问总量确定散列时间范围;在散列时间范围内,对确定的当前用户订阅内容的生存时间进行调整;将调整后的当前用户订阅内容的生存时间发送给DCD终端。
[0050] 将TTL散列时间范围记为A,则TTL散列时间的取值将在该范围内。在本发明实施例中,根据统计数据,提供一与DCD服务器活动用户规模相关联的TTL散列时间范围,其目的在于尽量减少服务器的负载工作。TTL散列时间范围根据活动用户规模的增加而增加。具体如表1所示:
[0051] 表1:TTL散列时间范围值建议表
[0052]活动用户规模 TTL散列时间范围A
1~100万 15分钟
100万~200万 30分钟
200万~300万 45分钟
300万~400万 60分钟
[0053] 一个实施例中,DCD服务器可以维护一个一天的访问时间点列表(称为访问频度列表),该列表以T分钟为间隔,记录在该T分钟内,有多少用户将要发起对DCD服务器的访问,图2为一个T=5分钟的访问频度列表的例子。T可以进行配置,T取得越小,散列的时间更加精确,用户访问时间分布更加均匀,但是算法的复杂度将会越高;T取得越大,即散列时间粒度大,精确度低,但是算法复杂度低。本发明实施例中将时间T与TTL散列时间范围相关联。当TTL散列时间范围很小时,T会随着减小。建议值如表2。通过该列表,可以直接获得在当前之后的一段时间内,将会有多少用户向DCD服务器发起同步请求。TTL散列时间产生时可以根据该列表,选择用户比较少的时间段,将用户的访问时间调整到该时间段中。
[0054] 表2:访问频度列表时间间隔取值建议
[0055]活动用户规模 TTL散列时间范围A 时间间隔取值T
1~100万 15分钟 3分钟
100万~200万 30分钟 5分钟
200万~300万 45分钟 5分钟
300万~400万 60分钟 10分钟
[0056] DCD服务器可以以确定的当前用户订阅内容的生存时间结束时刻为起始、在散列时间范围内,按散列时间间隔确定预计的用户访问量最小的时间段;将预计的用户访问量最小的时间段起始时刻与本次同步请求时刻的差值,加上散列时间间隔内一随机时间值,确定为调整后的当前用户订阅内容的生存时间。
[0057] 以TTL基本时间为起点,在TTL散列时间范围之内,从访问频度列表中,选出访问次数最少的时间间隔,如图2所示举例说明,TTL基本时间所在时刻为12:00,散列时间范围30分钟,散列时间间隔为5分钟,则在12:00-12:30中,预计的用户访问量最小的时间段为
12:05-12:10,其访问次数(185次),将该时间段的起点记为S。
[0058] 产生一个以毫秒为单位,在5分钟时间内的时间随机数,也就是说,在5*60*1000=300000范围内产生一个随机数,记为R。
[0059] 用S减去TTL基本时间所在的时刻,结果记为P,P加上R,即得到TTL散列时间,即TTL散列时间=P+R。
[0060] 则TTL散列时间=(访问频度最少的TTL时间段的起始时间-TTL基本时间所在的时刻)+5分钟的随机值=(S-TTL基本时间所在时刻)+R。
[0061] 最后,TTL时间=TTL基本时间+TTL散列时间,得出了最终的TTL时间之后,根据该时间,即可推算用户下次发起访问时所在的时间点。
[0062] DCD服务器可以将预计的用户访问量最小的时间段的预计的用户访问量记录加1,作为下一次调整用户订阅内容生存时间的依据,即在访问频度列表该时间点所在的时间段中将预计的用户访问数量增加1。
[0063] 如图3所示,一个实施例中,DCD服务器计算TTL时间的处理流程如下:
[0064] 步骤301、接收到来自用户的同步信息,即DCD同步请求。
[0065] 步骤302、解析同步请求包,提取用户信息。
[0066] 步骤303、通过访问关系数据库,获得用户订阅的所有频道的同步信息,计算所有频道的“更新时间”F。
[0067] 步骤304、从F1、F2、F3、...、Fn中取出最小值,作为TTL基本时间。
[0068] 步骤305、根据访问频度列表,计算TTL散列时间。
[0069] 步骤306、取TTL基本时间与散列时间之和,得出TTL时间。
[0070] 步骤307、计算出该用户使用此TTL时间后,下次访问DCD服务器的时刻,并根据该时刻更新访问频度列表(访问次数加1)。
[0071] 步骤308、将TTL时间输出到响应包中。
[0072] 如图4所示,一个实施例中,DCD终端控制发起同步请求的处理流程如下:
[0073] 步骤401、接收到来自DCD服务器的同步信息,即同步请求的响应包。
[0074] 步骤402、解析同步响应包,提取TTL。
[0075] 步骤403、将TTL作为参数启动计时器。
[0076] 步骤404、判断计时器是否到时,若是,则继续步骤405,若否,则继续计时。
[0077] 步骤405、生成同步请求包,发送同步请求。
[0078] 下面给出一个TTL时间算法的实例,现假设:
[0079] (1)用户A订阅了以下频道:
[0080] 1、天气预报:频道的内容更新开始时间7:00,内容更新结束时间21:00,更新周期为12小时,则如不使用TTL散列时间,在同一天内,用户访问该频道的时刻为:7:00,19:00。
[0081] 2、新闻1:内容更新开始时间8:00,内容更新结束时间22:00,更新周期为4个小时,则如不使用TTL散列时间,在同一天内,用户访问该频道的时刻为:8:00,12:00,16:00,20:00。
[0082] 3、娱乐1:内容更新开始时间8:00,内容更新结束时间22:00,更新周期6小时,则如不使用TTL散列时间,在同一天内,用户访问该频道的时刻为:8:00,14:00,20:00。
[0083] (2)服务器散列时间范围A为30分钟,频度列表时间间隔T为5分钟。
[0084] (3)终端本次请求时间是09:35(即当前时刻为9:35)。
[0085] 根据以上假设,DCD服务器的TTL算法步骤如下:
[0086] 1、DCD服务器在9:35接收到来自用户A的同步请求;
[0087] 2、根据用户A的同步请求包,DCD服务器查询订阅关系,得到了用户所订阅的频道信息;
[0088] 3、服务器产生该用户的TTL基本时间。根据频道信息,计算出天气频道的更新时间F1、新闻1频道的更新时间F2和娱乐1频道的更新时间F3;
[0089] 其中,对于天气频道,其更新周期为12小时,下一次更新时刻为19:00,则频道更新时间F1=19:00-09:35=9小时25分钟;对于新闻1频道,其更新周期为4小时,下一次更新时刻为12:00,则频道更新时间F2=12:00-09:35=2小时25分钟;对于娱乐1频道,其更新周期为6小时,下一次更新时刻为14:00,则频道更新时间F3=14:00-09:35=4小时25分钟;
[0090] 在F1,F2,F3选择最小的更新时间作为TTL基本时间,如图5所示,得出TTL基本时间为2小时25分,即8700000ms;
[0091] 4、产生TTL散列时间,以上已经得出TTL基本时间为2小时25分,如果不加上TTL散列时间,用户A下一次访问DCD服务器的时刻应为12:00。在访问频度列表中12:00-12:30时段内(如图6),12:05-12:10这个时间间隔中,访问次数最少,因此选择此时段的起始点12:05作为起始点S;
[0092] 5、将S减去TTL基本时间所在时刻=12:05-12:00=5分钟,合300000ms;
[0093] 6、产生5分钟内的散列时间R,假设产生的随机时间为R=80000(ms);
[0094] 7、得出TTL散列时间:300000+80000=380000(ms);
[0095] 8、得出最终的TTL时间为8700000+380000=9080000(ms);
[0096] 9、输出TTL时间并携带于响应包中返回给用户A的终端;
[0097] 10、用户A的终端接收到响应包后,提取到的TTL值为9080000ms。终端激活计时器,以9080000为时限启动计时器,开始计时;
[0098] 11、计时器到时之后,用户A的终端将在12:06分20秒时,重新发起同步请求,此次同步他将能获取到天气预报频道的DCD内容项。
[0099] 基于同一发明构思,本发明实施例还提供一种DCD服务器,其结构如图7所示,可以包括:
[0100] 接收模块701,用于接收DCD终端发起的对用户订阅内容的同步请求;
[0101] 发送模块702,用于在接收到DCD终端发起的对用户订阅内容的同步请求后,向DCD终端发送当前用户订阅内容及该内容的生存时间。
[0102] 一个实施例中,图7所示的DCD服务器还可以包括:
[0103] 基本生存时间产生模块703,用于根据用户订阅内容的频道更新起始时刻、结束时刻、更新周期,确定用户订阅内容的频道更新时刻表;根据本次同步请求时刻及所述频道更新时刻表确定当前用户订阅内容的生存时间。
[0104] 一个实施例中,图7所示的DCD服务器还可以包括:
[0105] 调整模块704,用于根据当前的用户访问总量确定散列时间范围;在散列时间范围内,对确定的当前用户订阅内容的生存时间进行调整;则,发送模块702还可以用于将调整后的当前用户订阅内容的生存时间发送给DCD终端。
[0106] 针对TTL时间算法,在DCD服务器侧,可以有TTL服务器软件功能模块,用于实现TTL时间的计算和管理。在DCD服务器,对于每一个用户,都保留有一个DCD的TTL数据。
[0107] 一个具体实施如图8所示,在DCD服务器侧,TTL时间算法的功能模块主要包括以下几个:
[0108] 1)调度器:整体调度,接收用户同步请求后,调用用户请求解析器对同步请求进行解析,提取用户信息,根据用户信息情况调用TTL基本时间产生器和TTL散列时间产生器,最后对两个时间进行求和,得出TTL时间;
[0109] 2)TTL散列时间产生器:产生TTL散列时间;
[0110] 3)TTL基本时间产生器:产生TTL基本时间;
[0111] 4)随机时间发生器:产生一个5分钟以内,以毫秒为单位的时间随机值;
[0112] 5)用户访问频度列表维护器:维护和产生用户访问频度列表;
[0113] 6)用户、频道订阅关系管理器:TTL基本时间产生器调用该模块获得用户、订阅关系、频道信息等相关数据;
[0114] 7)用户请求解析器:解析用户请求包体的XML信息,提取算法中的相关信息;
[0115] 8)访问频度列表:访问频度列表数据结构;
[0116] 9)用户订阅关系数据库:保存用户订阅关系。
[0117] 基于同一发明构思,本发明实施例还提供一种DCD终端,其结构如图9所示,可以包括:
[0118] 发送模块901,用于向DCD服务器发起对用户订阅内容的同步请求;
[0119] 接收模块902,用于接收DCD服务器发送的当前用户订阅内容及该内容的生存时间;
[0120] 更新模块903,用于根据接收的当前用户订阅内容,进行用户订阅内容的更新;
[0121] 控制模块904,用于在所述生存时间结束时,指示所述发送模块向DCD服务器发起对用户订阅内容的下一次同步请求。
[0122] 在DCD终端软件中,DCD终端可以记录上一次同步过程中得到的TTL时间,根据TTL时间设立计时器,从上次同步时间开始算起,在TTL时间到达时,激活同步请求模块,向DCD服务器发起同步请求。
[0123] DCD终端功能模块可以DCD终端侧用于管理DCD的TTL的一个软件模块,其主要作用是接收与DCD服务器同步时的,同步响应包中携带的TTL。在DCD终端软件中,该模块将记录上一次同步过程中得到的TTL时间,以TTL时间为计时时限激活计时器,从本次同步时间开始算起,在TTL时间到达时,激活手机同步请求模块,向DCD服务器发起同步请求。
[0124] 一个具体实施如图10所示,DCD终端主要包括:
[0125] 1)调度器:TTL算法时间的总调度;
[0126] 2)TTL时间维护器:用于维护TTL时间变量;
[0127] 3)计时器:以TTL时间为范围开始计时,失效时产生到时事件,调度器捕捉到到时事件后会激活终端同步请求模块,发送同步请求;
[0128] 4)XML包解析器,解析XML响应数据包。
[0129] 5)同步请求模块,发起同步请求。
[0130] 6)响应包接收模块,接收响应数据包。
[0131] 基于同一发明构思,本发明实施例还提供一种DCD系统,其结构如图11所示,包括DCD终端1101和DCD服务器1102,其中:
[0132] DCD服务器1102,用于在接收DCD终端1101发起的对用户订阅内容的同步请求后,向DCD终端1101发送当前用户订阅内容及该内容的生存时间;
[0133] DCD终端1101,用于发起对用户订阅内容的同步请求;根据接收的当前用户订阅内容,进行用户订阅内容的更新;以及,在所述生存时间结束时,向DCD服务器1102发起对用户订阅内容的下一次同步请求。
[0134] 本发明实施例中,DCD终端在获得订制内容时,DCD服务器告知DCD终端本次同步内容的生存时间,即TTL时间。DCD终端在内容失效后,也即TTL时间到达后,向DCD服务器发起下一次同步,确保了手机终端定时向服务器发送同步请求,保证了手机终端按时同步最新的频道内容;另外,由DCD终端主动向DCD服务器发起同步请求,而无需DCD服务器向DCD终端发送WAP Push消息来通知DCD终端发起同步请求,可以避免DCD服务器向DCD终端进行寻址、IP地址确认和路由选择等操作,降低业务的复杂性,有效节省网络带宽,减轻网络负载。
[0135] 另外,本发明实施例通过TTL散列时间算法,将DCD终端向DCD服务器发起同步的时间散列开,可以避免所有订制同一频道的DCD终端在同一时刻向DCD服务器发起同步请求的现象,从而减少DCD终端同步请求对DCD服务器的冲击。
[0136] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。