本发明专利技术实施例公开了一种更新数据的方法及装置,通过在预先设置的时间内检测预先存储的数据是否有更新;若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据,实现客户端有序数据的实时更新,同时大大降低了客户端的请求次数和服务器的负担,提升了用户体验。
【技术实现步骤摘要】
本专利技术实施例涉及数据处理的
,尤其涉及一种更新数据的方法及装置。
技术介绍
基于C/S模式的应用软件由于有较好的使用体验,占领了很大的市场份额,备受用户和开发者欢迎。其特点是需要一个客户端和一个服务器,客户端从服务器上取数据并在本地显示,服务器则负责数据的存储和维护。其中数据的获取与更新是C/S应用软件的一个关键环节,目前普遍采用的方式是手工或定时刷新,每次刷新都请求一遍完整的数据,造成了数据请求冗余,加重了服务器的负担。
技术实现思路
本专利技术实施例的目的在于提出一种更新数据的方法及装置,旨在解决如何减少服务器与客户端之间的数据传输频次的问题。为达此目的,本专利技术实施例采用以下技术方案:第一方面,一种更新数据的方法,所述方法包括:在预先设置的时间内检测预先存储的数据是否有更新;若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据。优选地,所述比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据,包括:若所述第一位置序号小于等于所述第二位置序号集合中所有的位置序号,则进一步判断所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号,若所述新位置序号和所述旧位置序号均大于等于所述第二位置序号集合中所有的位置序号,则结束更新数据的流程;若所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号中有至少有一个小于所述第二位置序号集合中所有的位置序号,则向所述客户端发送更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;若所述第一位置序号大于所述第二位置序号集合中所有的位置序号,则返回执行获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合的步骤;若所述第二位置序号集合中最大位置序号大于所述预先存储的有序数据集合的最大位置序号,则结束更新数据的流程。优选地,所述方法还包括:接收客户端发送的订阅数据的请求,并将所述客户端加入所述订阅列表,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;向所述客户端发送与所述请求对应的数据。第二方面,一种更新数据的方法,所述方法包括:接收服务器发送的更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;若所述旧位置序号大于第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地删除所述第二位置序号对应的数据,并添加所述更新数据到本地数据所述新位置;若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号大于所述第二位置序号集合中所有的位置序号,则本地删除所述旧位置序号对应的数据,并向所述服务器请求更新后的所述第二位置序号对应的数据;若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地调整所述数据的新位置,并更新其他字段的数据。优选地,所述方法还包括:向所述服务器发送订阅数据的请求,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;接收所述服务器发送的与所述请求对应的数据。第三方面,一种更新数据的装置,所述装置包括:检测模块,用于在预先设置的时间内检测预先存储的数据是否有更新;第一获取模块,用于若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;第二获取模块,用于获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较模块,用于比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据。 优选地,所述比较模块,包括:第一处理单元,用于若所述第一位置序号小于等于所述第二位置序号集合中所有的位置序号,则进一步判断所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号,若所述新位置序号和所述旧位置序号均大于等于所述第二位置序号集合中所有的位置序号,则结束更新数据的流程;第二处理单元,用于若所述更新后的所述数据的新位置序号以及更新前的所述数据的旧位置序号中有至少有一个小于所述第二位置序号集合中所有的位置序号,则向所述客户端发送更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;第三处理单元,用于若所述第一位置序号大于所述第二位置序号集合中所有的位置序号,则返回执行所述第二获取模块;第四处理单元,用于若所述第二位置序号集合中最大位置序号大于所述预先存储的有序数据集合的最大位置序号,则结束更新数据的流程。优选地,所述装置还包括:接收模块,用于接收客户端发送的订阅数据的请求,并将所述客户端加入所述订阅列表,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;发送模块,用于向所述客户端发送与所述请求对应的数据。第四方面,一种更新数据的装置,所述装置包括:第一接收模块,用于接收服务器发送的更新数据的通知信息,所述更新数据的通知信息包括更新后的所述数据的新位置序号、更新前的所述数据的旧位置序号和新数据值;第一更新模块,用于若所述旧位置序号大于第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地删除所述第二位置序号对应的数据,并向所述服务器请求更新后的所述新位置序号对应的数据;第二更新模块,用于若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号大于所述第二位置序号集合中所有的位置序号,则本地删除所述旧位置序号对应的数据,并向所述服务器请求更新后的所述第二位置序号对应的数据;第三更新模块,用于若所述旧位置序号小于等于所述第二位置序号集合中所有的位置序号且所述新位置序号小于等于所述第二位置序号集合中所有的位置序号,则本地调整所述数据的新位置,并更新其他字段的数据。优选地,所述装置还包括:发送模块,用于向所述服务器发送订阅数据的请求,所述请求包括所述客户端请求所述有序数据集合中的预先设置范围内的数据;第二接收模块,用于接收所述服务器发送的与所述请求对应的数据。本专利技术实施例通过在预先设置的时间内检测预先存储的数据是否有更新;若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据,实本文档来自技高网...
【技术保护点】
一种更新数据的方法,其特征在于,所述方法包括:在预先设置的时间内检测预先存储的数据是否有更新;若是,则获取更新的数据信息,所述更新的数据信息包括更新的数据在预先存储的有序数据集合中的第一位置序号、新数据值和更新的数据的属性;获取订阅列表中存储的客户端中显示的所有数据的第二位置序号集合,所述第二位置序号集合用于标识所述客户端显示的所有数据在所述有序数据集合中的位置序号;比较所述第一位置序号和所述第二位置序号集合中所有的位置序号,根据比较的结果更新数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:周聪伟,
申请(专利权)人:深圳市乐唯科技开发有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。