著录项信息
专利名称 | 一种用户界面数据刷新方法和设备 |
申请号 | CN201410535916.7 | 申请日期 | 2014-10-11 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-02-18 | 公开/公告号 | CN104363257A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 广州华多网络科技有限公司 | 申请人地址 | 广东省广州市番禺区南村镇万博商务区万达广场B1座28层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 广州华多网络科技有限公司 | 当前权利人 | 广州华多网络科技有限公司 |
发明人 | 李锦;余祖强 |
代理机构 | 广州三环专利商标代理有限公司 | 代理人 | 郝传鑫;熊永强 |
摘要
本发明实施例公开了一种用户界面数据刷新方法,包括:客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;所述客户端判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;若判断为是,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;若判断为否,丢弃所述协议数据包。本发明实施例还公开了一种客户端。采用本发明实施例,可避免用户界面数据刷新时数据抖动的发生,提高用户界面数据刷新后数据显示的准确率。
1.一种用户界面UI数据刷新方法,其特征在于,包括:
客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;
所述客户端判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;
若判断为是,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;
若判断为否,丢弃所述协议数据包。
2.如权利要求1所述的方法,其特征在于,所述客户端接收服务器发送的针对指定UI的协议数据包之前,还包括:
当所述客户端首次运行时,所述客户端将自身记录的所述指定UI对应的时间戳设置为最小值。
3.如权利要求1所述的方法,其特征在于,所述客户端判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳之前,还包括:
所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;
若判断为是,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将所述协议数据包中携带的所述时间戳记录为所述指定UI对应的时间戳;
若判断为否,执行判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳的步骤。
4.如权利要求3所述的方法,其特征在于,所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,包括:
所述客户端判断自身是否记录有所述指定UI对应的时间戳;
若判断为是,确定所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;
若判断为否,确定所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。
5.如权利要求3所述的方法,其特征在于,所述客户端中设置有指定UI对应的标志位,当该标志位的值为第一标识值时,表明所述客户端已经接收过所述服务器发送的针对所述指定UI的协议数据包;当该标志位的值为第二标识值时,表明所述客户端未接收过所述服务器发送的针对所述指定UI的协议数据包;
所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,包括:
所述客户端查询所述指定UI对应的标志位的值,当该标志位的值为第一标识值时,判断所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,当所述标志位的值为第二标识值时,判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。
6.如权利要求5所述的方法,其特征在于,所述客户端判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包之后,还包括:
所述客户端将所述指定UI对应的标志位的值设置为第一标识值。
7.一种客户端,其特征在于,包括:
接收模块,用于接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;
第一判断模块,用于判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;
第一处理模块,用于当所述第一判断模块的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;
第二处理模块,用于当所述第一判断模块的判断结果为否时,丢弃所述协议数据包。
8.如权利要求7所述的客户端,其特征在于,还包括:
第一设置模块,用于当所述客户端首次运行时,将所述客户端记录的所述指定UI对应的时间戳设置为最小值。
9.如权利要求7所述的客户端,其特征在于,还包括:
第二判断模块,用于判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;
所述第一处理模块还用于,当所述第二判断模块的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将所述协议数据包中携带的所述时间戳记录为所述指定UI对应的时间戳;
所述第一判断模块用于,当所述第二判断模块的判断结果为否时,判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳。
10.如权利要求9所述的客户端,其特征在于,
所述第二判断模块具体用于,判断自身是否记录有所述指定UI对应的时间戳;若判断为是,确定所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;若判断为否,确定所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。
11.如权利要求9所述的客户端,其特征在于,所述客户端中设置有指定UI对应的标志位,当该标志位的值为第一标识值时,表明所述客户端已经接收过所述服务器发送的针对所述指定UI的协议数据包;当该标志位的值为第二标识值时,表明所述客户端未接收过所述服务器发送的针对所述指定UI的协议数据包;
所述第二判断模块具体用于,查询所述指定UI对应的标志位,当该标志位的值为第一标识值时,判断所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,当所述标志位的值为第二标识值时,判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。
12.如权利要求11所述的客户端,其特征在于,还包括:
第二设置模块,用于当所述第二判断模块判断所述数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包之后,将所述指定UI对应的标志位的值设置为第一标识值。
一种用户界面数据刷新方法和设备\n技术领域\n[0001] 本发明涉及互联网技术领域,尤其涉及一种用户界面数据刷新方法和设备。\n背景技术\n[0002] 随着互联网技术的高速发展,包括在线娱乐与网络游戏等在内的众多互联网应用也得到了空前的发展,各种应用规模越来越大,应用内部交互越来越复杂,客户端UI(User Interface,用户界面)数据刷新更加频繁。\n[0003] 现有技术中,客户端根据接收到服务器发送的数据信息的时间顺序进行UI数据刷新,例如,对于服务器发送给客户端的数据信息1~3,假设客户端依次接收到数据信息1、数据信息2和数据信息3,则客户端先根据数据信息1进行UI数据刷新,然后根据数据信息2进行UI数据刷新,最后根据数据信息3进行UI数据刷新。\n[0004] 然而实践中发现,由于网络等原因,客户端接收到服务器发送的数据信息的时间顺序可能与服务器实际发送相应数据信息的时间顺序并不相同,例如,假设服务器按时间顺序依次向客户端发送数据信息1~5,而由于网络传输的原因,客户端接收到服务器发送的数据信息的顺序可能为(按时间顺序)数据信息1、数据信息2、数据信息3、数据信息5和数据信息4,若此时,客户端仍然按照接收到数据信息的时间进行UI数据刷新,则会出现数据抖动的情况(即先根据数据信息5进行UI数据刷新后,又根据数据信息4进行UI数据刷新),导致UI数据刷新后显示的数据与实际情况不符。\n发明内容\n[0005] 本发明实施例所要解决的技术问题在于,提供一种用户界面数据刷新方法和设备,能够避免用户界面数据刷新时数据抖动的发生,提高用户界面数据刷新后数据显示的准确率。\n[0006] 为了解决上述技术问题,本发明实施例提供了一种用户界面UI数据刷新方法,包括:\n[0007] 客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;\n[0008] 所述客户端判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;\n[0009] 若判断为是,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;\n[0010] 若判断为否,丢弃所述协议数据包。\n[0011] 其中,所述客户端接收服务器发送的针对指定UI的协议数据包之前,还包括:\n[0012] 当所述客户端首次运行时,所述客户端将自身记录的所述指定UI对应的时间戳设置为最小值。\n[0013] 其中,所述客户端判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳之前,还包括:\n[0014] 所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;\n[0015] 若判断为是,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将所述协议数据包中携带的所述时间戳记录为所述指定UI对应的时间戳;\n[0016] 若判断为否,执行判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳的步骤。\n[0017] 其中,所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,包括:\n[0018] 所述客户端判断自身是否记录有所述指定UI对应的时间戳;\n[0019] 若判断为是,确定所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;\n[0020] 若判断为否,确定所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0021] 其中,所述客户端中设置有指定UI对应的标志位,当该标志位的值为第一标识值时,表明所述客户端已经接收过所述服务器发送的针对所述指定UI的协议数据包;当该标志位的值为第二标识值时,表明所述客户端未接收过所述服务器发送的针对所述指定UI的协议数据包;\n[0022] 所述客户端判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,包括:\n[0023] 所述客户端查询所述指定UI对应的标志位的值,当该标志位的值为第一标识值时,判断所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,当所述标志位的值为第二标识值时,判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0024] 其中,所述客户端判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包之后,还包括:\n[0025] 所述客户端将所述指定UI对应的标志位的值设置为第一标识值。\n[0026] 相应地,本发明实施例还提供了一种客户端,包括:\n[0027] 接收模块,用于接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;\n[0028] 第一判断模块,用于判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;\n[0029] 第一处理模块,用于当所述第一判断模块的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;\n[0030] 第二处理模块,用于当所述第一判断模块的判断结果为否时,丢弃所述协议数据包。\n[0031] 其中,还包括:\n[0032] 第一设置模块,用于当所述客户端首次运行时,将所述客户端记录的所述指定UI对应的时间戳设置为最小值。\n[0033] 其中,还包括:\n[0034] 第二判断模块,用于判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;\n[0035] 所述第一处理模块还用于,当所述第二判断模块的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将所述协议数据包中携带的所述时间戳记录为所述指定UI对应的时间戳;\n[0036] 所述第一判断模块用于,当所述第二判断模块的判断结果为否时,判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳。\n[0037] 其中,所述第二判断模块具体用于,判断自身是否记录有所述指定UI对应的时间戳;若判断为是,确定所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;若判断为否,确定所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0038] 其中,所述客户端中设置有指定UI对应的标志位,当该标志位的值为第一标识值时,表明所述客户端已经接收过所述服务器发送的针对所述指定UI的协议数据包;当该标志位的值为第二标识值时,表明所述客户端未接收过所述服务器发送的针对所述指定UI的协议数据包;\n[0039] 所述第二判断模块具体用于,查询所述指定UI对应的标志位,当该标志位的值为第一标识值时,判断所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,当所述标志位的值为第二标识值时,判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0040] 其中,还包括:\n[0041] 第二设置模块,用于当所述第二判断模块判断所述数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包之后,将所述指定UI对应的标志位的值设置为第一标识值。\n[0042] 实施本发明实施例,具有如下有益效果:\n[0043] 当客户端接收到服务器发送的针对指定UI的协议数据包时,通过客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI的协议数据包,若判断为是,根据协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的指定UI对应的时间戳更新为该协议数据包中携带的时间戳;否则,丢弃该协议数据包,有效避免了用户界面数据刷新时数据抖动的发生,提高了用户界面数据刷新后数据显示的准确率。\n附图说明\n[0044] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0045] 图1为本发明实施例提供的一种UI数据刷新方法的流程示意图;\n[0046] 图2为本发明实施例提供的另一种UI数据刷新方法的流程示意图;\n[0047] 图3为本发明实施例提供的另一种UI数据刷新方法的流程示意图;\n[0048] 图4为本发明实施例提供的一种客户端的结构示意图;\n[0049] 图5为本发明实施例提供的另一种客户端的结构示意图;\n[0050] 图6为本发明实施例提供的另一种客户端的结构示意图;\n[0051] 图7为本发明实施例提供的另一种客户端的结构示意图。\n具体实施方式\n[0052] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0053] 如图1所示,为本发明实施例提供的一种UI数据刷新方法的流程示意图,可以包括以下步骤:\n[0054] 步骤101、客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息。\n[0055] 本发明实施例中,客户端可以为娱乐应用客户端、社交应用客户端、购物应用客户端等应用客户端,本发明实施例不做限定。\n[0056] 举例来说,以娱乐应用客户端为例,上述指定UI可以为在线投票界面,当该在线投票界面中投票选项的实际得票数发生变化时,服务器可以向客户端发送针对该在线投票界面的协议数据包,该协议数据包中包括服务器发送该协议数据包的时间戳,以及该时间戳对应的各投票选项的实际得票数,以使客户端根据该协议数据包刷新在线投票界面中各投票选项的实际得票数。\n[0057] 又举例来说,以社交应用客户端为例,上述指定UI可以为信息发布界面,当该信息发布界面中各共享信息的点击次数(或转发次数)发生变化时,服务器可以向客户端发送针对该信息发布界面的协议数据包,该协议数据包中包括服务器发送该协议数据包的时间戳,以及该时间戳对应的各共享信息的点击次数(或转发次数),以使客户端根据该协议数据包刷新信息发布界面各信息的点击次数(或转发次数)。\n[0058] 步骤102、客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳。若判断为是,转至步骤103;否则,转至步骤104。\n[0059] 步骤103、客户端根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的该指定UI对应的时间戳更新为该协议数据包中携带的时间戳。\n[0060] 步骤104、客户端丢弃该协议数据包。\n[0061] 本发明实施例中,客户端根据服务器发送的协议数据包对指定UI进行UI数据刷新时,会记录该协议数据包中携带的时间戳。\n[0062] 相应地,为了避免UI数据刷新时发生数据抖动,客户端根据当前接收到的协议数据包对指定UI进行UI数据刷新之前,可以判断当前接收到的协议数据包中携带的时间戳是否大于自身记录的时间戳,并当判断为是时,认为该协议数据包为自身接收到的首个协议数据包或者服务器发送该协议数据包的时间大于服务器发送上一个用于刷新该指定UI的UI数据的协议数据包的时间,进而根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的指定UI对应的时间戳更新为该协议数据包中携带的时间戳;当判断为否时,认为服务器发送该协议数据包的时间小于服务器发送上一个用于刷新该指定UI的UI数据的协议数据包的时间,即该协议数据包是服务器更早发送的协议数据包,进而丢弃该协议数据包。\n[0063] 举例来说,假设服务器先后向客户端发送协议数据包1~3,其携带的时间戳分别为时间戳1~3,其中,时间戳1小于时间戳2,时间戳2小于时间戳3;而客户端接收到上述协议数据包的次序为协议数据包1、协议数据包3、协议数据包2;当客户端接收到协议数据包1并根据协议数据包1中携带的数据信息对指定UI进行UI数据刷新后,将自身记录的时间戳更新为时间戳1;当客户端接收到协议数据包3时,客户端会比较该协议数据包3中携带的时间戳(即时间戳3)与自身记录的时间戳(即时间戳1),由于时间戳3大于时间戳1,客户端会根据该协议数据包3中携带的数据信息对指定UI进行UI数据刷新,并将自身记录的时间戳更新为时间戳3;当客户端接收到协议数据包2时,客户端会比较该协议数据包2中携带的时间戳(即时间戳2)与自身记录的时间戳(即时间戳3),由于时间戳2小于时间戳3,因而,客户端丢弃该协议数据包2,即不根据协议数据包2中携带的数据信息对指定UI进行UI数据刷新,避免了UI数据刷新时发生数据抖动。\n[0064] 如图2所示,为本发明实施例提供的另一种UI数据刷新方法的流程示意图,可以包括以下步骤:\n[0065] 步骤201、客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息。\n[0066] 步骤202、客户端判断该协议数据包是否为自身接收到的服务器发送的针对该指定UI的首个协议数据包。若判断为是,转至步骤206;否则,转至步骤203。\n[0067] 步骤203、客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳。若判断为是,转至步骤204;否则,转至步骤205。\n[0068] 步骤204、客户端根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的指定UI对应的时间戳更新为该协议数据包中携带的时间戳。\n[0069] 步骤205、客户端丢弃该协议数据包。\n[0070] 步骤206、客户端根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将该协议数据包中携带的时间戳记录为该指定UI对应的时间戳。\n[0071] 本发明实施例中,客户端接收到服务器发送的针对指定UI的协议数据包时,需要首先判断该协议数据包是否为该服务器向该客户端发送的针对该指定UI的首个协议数据包。\n[0072] 对于服务器向该客户端发送的针对该指定UI的首个协议数据包,由于不存在数据抖动的情况,因此,客户端可以根据该协议数据包中携带的数据信息对该针对UI进行UI数据刷新,并将该协议数据包中携带的时间戳记录为该指定UI对应的时间戳。\n[0073] 对于服务器向该客户端发送的针对该指定UI的非首个协议数据包,为了避免数据抖动的情况发生,客户端可以判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳(即上一个刷新该指定UI的UI数据的协议数据包中携带的时间戳),并当判断为大于时,根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的该指定UI对应的时间戳更新为该协议数据包中携带的时间戳;若判断为小于时,丢弃该协议数据包。\n[0074] 作为一种可选的实施方式,本发明实施例中,客户端在接收到服务器发送的针对指定UI的协议数据包之前,不记录该指定UI对应的时间戳。\n[0075] 在该实施方式中,客户端判断接收到的协议数据包是否为自身接收到的服务器发送的针对该指定UI的首个协议数据包,可以包括以下步骤:\n[0076] 步骤11)、客户端判断自身是否记录有该指定UI对应的时间戳。\n[0077] 步骤12)、若判断为是,确定该协议数据包不是自身接收到的服务器发送的针对该指定UI的首个协议数据包;\n[0078] 步骤13)、若判断为否,确定该协议数据包为自身接收到的该服务器发送的针对该指定UI的首个协议数据包。\n[0079] 作为另一种可选的实施方式,本发明实施例中,客户端中可以设置一个指定UI对应的标志位,当该标志位的值为第一标识值时,表明该客户端已经接收过该服务器发送的针对该指定UI的协议数据包;当该标志位的值为第二标识值时,表明该客户端未接收过服务器发送的针对该指定UI的协议数据包。\n[0080] 在该实施方式中,客户端判断接收到的协议数据包是否为自身接收到的服务器发送的针对该指定UI的首个协议数据包,可以包括以下步骤:\n[0081] 步骤21)、客户端查询该指定UI对应的标志位的值;\n[0082] 步骤22)、当该标志位为第一标识值(如0)时,判断该协议数据包不是自身接收到的该服务器发送的针对该指定UI的首个协议数据包;\n[0083] 步骤23)、当该标志位为第二标识值(如1)时,判断该协议数据包为自身接收到的该服务器发送的针对该指定UI的首个协议数据包。\n[0084] 在该实施方式中,客户端判断自身接收到的协议数据包为服务器发送的针对该指定UI的首个协议数据包之后,客户端需要将该指定UI对应的标志位的值设置为第一标识值。当客户端再次接收到服务器发送的针对该指定UI的协议数据包时,查询到该指定UI对应的标志位为第一标识值,可以判断该协议数据包不是自身接收到该服务器发送的首个协议数据包,需要判断该协议数据包中携带的时间戳和自身记录的对应该指定UI的时间戳,并进而执行后续处理流程。\n[0085] 举例来说,以客户端为娱乐应用客户端,指定UI为在线投票界面为例,该客户端中可以设置一个首包标志位(如FP),当该标志位FP的值为0时,表明该客户端已接收过服务器发送的针对该指定UI的协议数据包;当该标志位FP的值为1时,表明该客户端未接收过服务器发送的针对该指定UI的协议数据包。其中,该标志位FP的初始值为1。\n[0086] 当客户端接收到服务器发送的针对该在线投票界面的协议数据包时,客户端可以首先查询标志位FP的值,若查询到该标志位FP的值为1,则表明该协议数据包为自身接收到的该服务器发送的针对该在线投票界面的首个协议数据包,此时,客户端可以根据该协议数据包中携带的数据信息对该在线投票界面中各投票选项的实际得票数进行刷新,并将该协议数据包中携带的时间戳记录为该在线投票界面对应的时间戳,进一步地,客户端还需要将该标志位FP的值设置为0;若查询到该标志位FP的值为0,则表明该协议数据包不是自身接收到该服务器发送的针对该在线投票界面的首个协议数据包,此时,客户端需要判断该协议数据包中携带的时间戳(假设为时间戳2)是否大于自身记录的该指定UI对应的时间戳(即上一个刷新该在线投票界面中各投票选项的实际得票数的协议数据包中携带的时间戳,假设为时间戳1),并当判断为大于(即时间戳2大于时间戳1)时,根据该协议数据包中携带的数据信息对该在线投票界面中各投票选项的实际得票数进行刷新,并将自身记录的该在线投票界面的时间戳更新为该协议数据包中携带的时间戳(即将自身记录时间戳1更新为时间戳2);否则(即时间戳2小于时间戳1)时,为了避免数据抖动的情况发生,丢弃该协议数据包。\n[0087] 需要注意的是,上述列举的判断客户端接收到的服务器发送的针对指定UI的协议数据包是否为自身接收到的服务器发送的针对该指定UI的首个协议数据包的方法仅仅是本发明实施例提供的技术方案的两种具体实现方式,其并不是对本发明保护范围的限定,即本发明实施例提供的技术方案中,也可以通过其他方式判断客户端接收到的服务器发送的针对指定UI的协议数据包是否为自身接收到的服务器发送的针对该指定UI的首个协议数据包,如可以设置一个指定UI对应的标志位,该标志位的初始值为0,客户端每次接收到服务器发送的针对该指定UI的协议数据包时,将该标志位的值加1,从而,客户端接收到服务器发送的针对该指定UI的协议数据包时,可以通过判断该标志位的值来确定该协议数据包是否为首个协议数据包(该标志位为0时,判断为首个协议数据包,该标志位不为0,判断为非首个协议数据包),其具体实现方式在此不再赘述。\n[0088] 如图3所示,为本发明实施例提供的另一种UI数据刷新方法的流程示意图,可以包括以下步骤:\n[0089] 步骤301、当客户端首次运行时,客户端将自身记录的指定UI对应的时间戳设置为最小值。\n[0090] 步骤302、客户端接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息。\n[0091] 步骤303、客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳。若判断为是,转至步骤304;否则,转至步骤305。\n[0092] 步骤304、客户端根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的该指定UI对应的时间戳更新为该协议数据包中携带的时间戳。\n[0093] 步骤305、客户端丢弃该协议数据包。\n[0094] 本发明实施例中,客户端可以为娱乐应用客户端、社交应用客户端、购物应用客户端等应用客户端,本发明实施例不做限定。\n[0095] 举例来说,以娱乐应用客户端为例,上述指定UI可以为在线投票界面,当该在线投票界面中投票选项的实际得票数发生变化时,服务器可以向客户端发送针对该在线投票界面的协议数据包,该协议数据包中包括服务器发送该协议数据包的时间戳,以及该时间戳对应的各投票选项的实际得票数,以使客户端根据该协议数据包刷新在线投票界面中各投票选项的实际得票数。\n[0096] 又举例来说,以社交应用客户端为例,上述指定UI可以为信息发布界面,当该信息发布界面中各共享信息的点击次数(或转发次数)发生变化时,服务器可以向客户端发送针对该信息发布界面的协议数据包,该协议数据包中包括服务器发送该协议数据包的时间戳,以及该时间戳对应的各共享信息的点击次数(或转发次数),以使客户端根据该协议数据包刷新信息发布界面各信息的点击次数(或转发次数)。\n[0097] 该实施例中,当客户端首次运行时(如在用户设备中首次安装并运行),该客户端可以将自身记录的指定UI对应的时间戳设置为最小值。\n[0098] 其中,该最小值可以根据具体的应用场景确定或事先约定。例如,该最小值可以为\n0,或其他小于当前时间对应的时间戳的值(即需要保证该时间戳小于客户端接收到的服务器发送的针对该指定UI的首个协议数据包中携带的时间戳)。\n[0099] 该实施例中,当客户端接收到服务器发送的针对指定UI的协议数据包时,客户端不需要判断该协议数据包是否为自身接收到该服务器发送的针对该指定的UI的首个协议数据包,而是可以直接判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳,并当判断为是时,根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的该指定UI对应的时间戳更新为该协议数据包中携带的时间戳;否则,客户端可以丢弃该协议数据包。\n[0100] 其中,对于客户端接收到的服务器发送的针对该指定UI的首个协议数据包,由于客户端记录的该指定UI对应的时间戳的初始值为最小值,此时,该协议数据包中携带的时间戳必然大于客户端记录的该指定UI对应的时间戳,客户端可以根据该协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的该指定UI对应的时间戳更新为该协议数据包中携带的时间戳。\n[0101] 对于客户端接收到的服务器发送的针对该指定UI的非首个协议数据包,客户端可以判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI对应的时间戳(即上一个刷新该指定UI数据的协议数据包中携带的时间戳),并根据判断结果执行后续流程,其具体实现在此不再赘述。\n[0102] 通过以上描述可以看出,在本发明实施例提供的技术方案中,当客户端接收到服务器发送的针对指定UI的协议数据包时,通过客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI的协议数据包,若判断为是,根据协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的指定UI对应的时间戳更新为该协议数据包中携带的时间戳;否则,丢弃该协议数据包,有效避免了用户界面数据刷新时数据抖动的发生,提高了用户界面数据刷新后数据显示的准确率。\n[0103] 基于上述方法实施例相同的技术构思,本发明实施例还提供了一种客户端,可以应用于上述方法实施例。\n[0104] 如图4所示,为本发明实施例提供的一种客户端的结构示意图,可以包括:\n[0105] 接收模块41,用于接收服务器发送的针对指定UI的协议数据包,该协议数据包中携带有服务器发送该协议数据包的时间戳,以及数据信息;\n[0106] 第一判断模块42,用于判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳;\n[0107] 第一处理模块43,用于当所述第一判断模块42的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将自身记录的所述指定UI对应的时间戳更新为所述协议数据包中携带的所述时间戳;\n[0108] 第二处理模块44,用于当所述第一判断模块42的判断结果为否时,丢弃所述协议数据包。\n[0109] 请一并参阅图5,图5是本发明实施例公开的另一种客户端的结构示意图。其中,图\n5所示的客户端是由图4所示的客户端进行优化得到的,与图4所示的客户端相比,图5所示的客户端还可以包括:\n[0110] 第一设置模块45,用于当所述客户端首次运行时,将所述客户端记录的所述指定UI对应的时间戳设置为最小值。\n[0111] 请一并参阅图6,图6是本发明实施例公开的另一种客户端的结构示意图。其中,图\n6所示的客户端是由图4所示的客户端进行优化得到的,与图4所示的客户端相比,图6所示的客户端还可以包括:\n[0112] 第二判断模块46,用于判断所述协议数据包是否为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0113] 相应地,所述第一处理模块43还可以用于,当所述第二判断模块46的判断结果为是时,根据所述协议数据包中携带的数据信息对所述指定UI进行UI数据刷新,并将所述协议数据包中携带的所述时间戳记录为所述指定UI对应的时间戳;\n[0114] 所述第一判断模块42可以具体用于,当所述第二判断模块46的判断结果为否时,判断所述协议数据包中携带的所述时间戳是否大于自身记录的所述指定UI对应的时间戳。\n[0115] 作为一种可选的实施方式,本发明实施例中,客户端在接收到服务器发送的针对指定UI的协议数据包之前,不记录该指定UI对应的时间戳。\n[0116] 相应地,在该实施方式中,所述第二判断模块46可以具体用于,判断自身是否记录有所述指定UI对应的时间戳;若判断为是,确定所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包;若判断为否,确定所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0117] 作为另一种可选的实施方式,本发明实施例中,所述客户端中设置有指定UI对应的标志位,当该标志位的值为第一标识值时,表明所述客户端已经接收过所述服务器发送的针对所述指定UI的协议数据包;当该标志位的值为第二标识值时,表明所述客户端未接收过所述服务器发送的针对所述指定UI的协议数据包。\n[0118] 相应地,在该实施方式中,所述第二判断模块46可以具体用于,查询所述指定UI对应的标志位,当该标志位的值为第一标识值时,判断所述协议数据包不是自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包,当所述标志位的值为第二标识值时,判断所述协议数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包。\n[0119] 在该实施方式中,请一并参阅图7,图7是本发明实施例公开的另一种客户端的结构示意图。其中,图7所示的客户端是由图6所示的客户端进行优化得到的,与图6所示的客户端相比,图7所示的客户端还可以包括:\n[0120] 第二设置模块47,用于当所述第二判断模块46判断所述数据包为自身接收到的所述服务器发送的针对所述指定UI的首个协议数据包之后,将所述指定UI对应的标志位的值设置为第一标识值。\n[0121] 通过以上描述可以看出,在本发明实施例提供的技术方案中,当客户端接收到服务器发送的针对指定UI的协议数据包时,通过客户端判断该协议数据包中携带的时间戳是否大于自身记录的该指定UI的协议数据包,若判断为是,根据协议数据包中携带的数据信息对该指定UI进行UI数据刷新,并将自身记录的指定UI对应的时间戳更新为该协议数据包中携带的时间戳;否则,丢弃该协议数据包,有效避免了用户界面数据刷新时数据抖动的发生,提高了用户界面数据刷新后数据显示的准确率。\n[0122] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。\n[0123] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。\n[0124] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。\n[0125] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。\n[0126] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。\n[0127] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。\n[0128] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。\n[0129] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
法律信息
- 2018-02-23
- 2018-01-23
著录事项变更
申请人由广州华多网络科技有限公司变更为广州华多网络科技有限公司
地址由510655 广东省广州市黄埔大道中309号羊城创意产业园3-08栋变更为510000 广东省广州市番禺区南村镇万博商务区万达广场B1座28层
- 2015-03-25
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201410535916.7
申请日: 2014.10.11
- 2015-02-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-03-10
|
2009-09-10
| | |
2
| |
2014-06-18
|
2012-12-18
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |