一种更新数据的方法及装置的制造方法

文档序号:9670854阅读:221来源:国知局
一种更新数据的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及数据处理的技术领域,尤其涉及一种更新数据的方法及装置。
【背景技术】
[0002]基于C/S模式的应用软件由于有较好的使用体验,占领了很大的市场份额,备受用户和开发者欢迎。其特点是需要一个客户端和一个服务器,客户端从服务器上取数据并在本地显示,服务器则负责数据的存储和维护。其中数据的获取与更新是C/S应用软件的一个关键环节,目前普遍采用的方式是手工或定时刷新,每次刷新都请求一遍完整的数据,造成了数据请求冗余,加重了服务器的负担。

【发明内容】

[0003]本发明实施例的目的在于提出一种更新数据的方法及装置,旨在解决如何减少服务器与客户端之间的数据传输频次的问题。
[0004]为达此目的,本发明实施例采用以下技术方案:
[0005]第一方面,一种更新数据的方法,所述方法包括:
[0006]在预先设置的时间内检测预先存储的数据是否有更新;
[0007]若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;
[0008]获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;
[0009]比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据。
[0010]优选地,所述比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据,包括:
[0011]若所述第一位置序号小于等于所述第二位置序号集合中所有的位置序号,则进一步判断所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号,若所述新位置序号和所述旧位置序号均大于等于所述第二位置序号集合中所有的位置序号,则结束更新数据的流程;
[0012]若所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号中有至少有一个小于所述第二位置序号集合中所有的位置序号,则向所述客户端发送更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;
[0013]若所述第一位置序号大于所述第二位置序号集合中所有的位置序号,则返回执行获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合的步骤;
[0014]若所述第二位置序号集合中最大位置序号大于所述预先存储的有序数据集合的最大位置序号,则结束更新数据的流程。
[0015]优选地,所述方法还包括:
[0016]接收客户端发送的订阅数据的请求,并将所述客户端加入所述订阅列表,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;
[0017]向所述客户端发送与所述请求对应的数据。
[0018]第二方面,一种更新数据的方法,所述方法包括:
[0019]接收服务器发送的更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;
[0020]若所述旧位置序号大于第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地删除所述第二位置序号对应的数据,并添加所述更新数据到本地数据所述新位置;
[0021]若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号大于所述第二位置序号集合中所有的位置序号,则本地删除所述旧位置序号对应的数据,并向所述服务器请求更新后的所述第二位置序号对应的数据;
[0022]若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地调整所述数据的新位置,并更新其他字段的数据。
[0023]优选地,所述方法还包括:
[0024]向所述服务器发送订阅数据的请求,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;
[0025]接收所述服务器发送的与所述请求对应的数据。
[0026]第三方面,一种更新数据的装置,所述装置包括:
[0027]检测模块,用于在预先设置的时间内检测预先存储的数据是否有更新;
[0028]第一获取模块,用于若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;
[0029]第二获取模块,用于获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;
[0030]比较模块,用于比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据。
[0031 ] 优选地,所述比较模块,包括:
[0032]第一处理单元,用于若所述第一位置序号小于等于所述第二位置序号集合中所有的位置序号,则进一步判断所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号,若所述新位置序号和所述旧位置序号均大于等于所述第二位置序号集合中所有的位置序号,则结束更新数据的流程;
[0033]第二处理单元,用于若所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号中有至少有一个小于所述第二位置序号集合中所有的位置序号,则向所述客户端发送更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;
[0034]第三处理单元,用于若所述第一位置序号大于所述第二位置序号集合中所有的位置序号,则返回执行所述第二获取模块;
[0035]第四处理单元,用于若所述第二位置序号集合中最大位置序号大于所述预先存储的有序数据集合的最大位置序号,则结束更新数据的流程。
[0036]优选地,所述装置还包括:
[0037]接收模块,用于接收客户端发送的订阅数据的请求,并将所述客户端加入所述订阅列表,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;
[0038]发送模块,用于向所述客户端发送与所述请求对应的数据。
[0039]第四方面,一种更新数据的装置,所述装置包括:
[0040]第一接收模块,用于接收服务器发送的更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;
[0041]第一更新模块,用于若所述旧位置序号大于第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地删除所述第二位置序号对应的数据,并向所述服务器请求更新后的所述新位置序号对应的数据;
[0042]第二更新模块,用于若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号大于所述第二位置序号集合中所有的位置序号,则本地删除所述旧位置序号对应的数据,并向所述服务器请求更新后的所述第二位置序号对应的数据;
[0043]第三更新模块,用于若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地调整所述数据的新位置,并更新其他字段的数据。
[0044]优选地,所述装置还包括:
[0045]发送模块,用于向所述服务器发送订阅数据的请求,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;
[0046]第二接收模块,用于接收所述服务器发送的与所述请求对应的数据。
[0047]本发明实施例通过在预先设置的时间内检测预先存储的数据是否有更新;若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据,实现客户端同类多项数据的实时更新,同时大大降低了客户端的请求次数和服务器的负担,提升了用户体验。
【附图说明】
[0048]图1是本发明实施例更新数据的方法第一实施例的流程示意图;
[0049]图2是本发明实施例更新数据的方法第二实施例的流程示意图;
[0050]图3是本发明实施例提供的一种客户端请求数据的显示效果图;
[0051]图4是本发明实施例更新数据的方法第三实施例的流程示意图;
[0052]图5是本发明实施例更新数据的方法第四实施例的流程示意图;
[0053]图6是本发明实施例更新数据的装置的功能模块示意图;
[0054]图7是本
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1