一种数据更新方法和设备技术

技术编号:14172563 阅读:105 留言:0更新日期:2016-12-13 00:30
本申请实施例公开了一种数据更新方法和设备,包括:发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息;发送端将所述数据通过数据更新请求消息发送给接收端,所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端,通过数据更新请求消息和控制信息更新请求消息将数据和控制信息分别发送给接收端,利用接收端进行数据更新的时间传输更新请求消息中的数据,大幅降低数据更新过程中数据传输的等待时间,从而降低数据更新延迟,提高系统性能。

Data updating method and device

Including the embodiment of the invention discloses a data updating method and apparatus: sending update request message, and obtain the updating data and control information in the request message; sending the data through the data update request message is sent to the receiving end, the end will send the control information by control information update request message is sent to the receiving end, the request message and control information update request message data and control information are sent to the receiving end through the data update, use time transfer receiver data update message of renewal request data, greatly reduce the waiting time for data transmission data update process, thereby to reduce the data update delay, improve the performance of the system.

【技术实现步骤摘要】

本申请涉及通信
,尤其涉及一种应用于分布式存储系统的数据更新方法和设备
技术介绍
在分布式存储系统中,会将数据块存储多个副本,每次数据块的更新需要在多个副本之间达成一致。目前,在对多副本数据块进行数据更新时,数据更新过程由一个协调者控制。在主从副本系统中,数据更新的协调者为主副本服务器;在多个副本处于对等的系统中,协调者为数据更新客户端。更新过程为:协调者对每个数据块的更新进行定序并分配新版本,然后生成更新请求发向各副本服务器。更新请求消息包含两个部分:更新数据及控制信息。其中,控制信息部分由新版本与数据块的当前元数据构成,如数据块标识,数据块原版本,数据块新版本及其它副本服务器所需的元数据信息。各副本服务器对接收到的更新请求消息进行处理,然后回复协调者,协调者根据收到的副本服务器正常响应的个数,发出更新请求的个数及采用的数据一致性协议判定是否数据更新成功,若成功则将数据块的版本修改为新版本。由于在数据更新过程中,基于数据块的当前版本生成新版本,版本单调递增,而且发向副本服务器的更新请求只有一个最新的版本,否则副本服务器对收到多个新版本的更新请求的处理,会大大增加多副本数据更新一致性处理的复杂度,所以,在数据更新过程中,如果协调者收到多个对同一个数据块的更新请求消息,则需要放到等待队列中,只有等到数据块当前的更新完成后,才会发送下一个更新请求消息。为了实现数据块多副本更新的一致性,将对同一个数据块的数据更新进行定序,即为数据更新为串行执行。而数据更新的过程包含:网络传输,请求的逻辑处理,写磁盘IO几个部分;目前,磁盘部分通常可以采用固态盘,聚合写入的性能比较高,而在一次更新请求中携带多次数据更新的批处理方式,能够使一次请求处理多次数据更新,降低请求的逻辑处理延迟,所以数据更新的主要瓶颈在于网络传输开销,批处理聚合了多次数据更新,传输的数据量变大,传输等待延迟仍然较大。
技术实现思路
本申请实施例提供了一种数据更新方法及设备,用以实现分布式存储系统中的数据更新。为此,本申请采用以下技术手段:本申请实施例提供了一种数据更新的方法,应用于包含有发送端和接收端的分布式存储系统中,包括:发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息;发送端将所述数据通过数据更新请求消息发送给接收端,由所述接收端在更新数据关系表中建立所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端,由所述接收端根据所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识查找到所述更新数据列表,并由所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新。其中,所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端之前,所述方法还包括:所述发送端将所述数据更新请求消息携带的更新数据列表标识保存到已发送列表,从所述已发送列表中获取所述数据更新请求消息携带的更新数据列表标识。其中,所述发送端将所述数据通过数据更新请求消息发送给接收端,进一步包括;所述数据包括多个子数据,所述发送端将所述多个子数据通过多个数据请求消息发送给接收端;所述更新数据列表标识是所述多个数据更新请求消息携带的所有更新数据列表标识。其中,所述发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息,具体包括:所述更新请求消息中包含数据块标识,当发送端判断数据块标识所对应的更新请求消息数量达到设定的阈值时,获得所述更新请求消息中的数据和控制信息。本申请实施例提供了一种数据更新的方法,应用于包含有发送端和接收端的分布式存储系统中,包括:接收端接收来自发送端的数据更新请求消息;所述接收端在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述接收端接收来自所述发送端的所述数据更新请求消息对应的控制信息更新请求消息,从所述更新数据关系表中查找到所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识对应的更新数据;所述接收端根据所述控制信息更新请求以及查找到的更新数据进行数据更新。其中,所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新,具体包括:所述接收端将所述控制信息更新请求以及查找到的更新数据还原为更新请求消息,根据所述更新请求消息进行数据更新。其中,所述接收端在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系之后,所述方法还包括:所述接收端为所述对应关系设置老化定时器,当所述老化表超时时,从所述更新数据关系表中删除所述对应关系;和/或所述接收端为所述对应关系设置老化定时器,当接收端在所述更新数据关系表占用的内存超过预设的内存占用阈值时,删除所述更新数据关系表中占用内存最大的对应关系,或者删除建立时间最久的对应关系。本申请实施例提供了一种发送端,应用于包含有发送端和接收端的分布式存储系统中,包括:获得模块,用于获得更新请求消息,并获得更新请求消息中的数据和控制信息;发送模块,用于将所述数据通过数据更新请求消息发送给接收端,由所述接收端在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述发送模块,还用于将所述控制信息通过控制信息更新请求消息发送给所述接收端,由所述接收端根据所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识查找到所述更新数据列表,并由所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新。其中,所述发送端进一步包括:保存模块,用于将所述数据更新请求消息携带的更新数据列表标识保存到已发送列表,并从所述已发送列表中获取所述数据更新请求消息携带的更新数据列表标识。其中,所述数据包括多个子数据;所述发送模块,还用于将所述多个子数据通过多个数据请求消息发送给接收端;所述更新数据列表标识是所述多个数据更新请求消息携带的所有更新数据列表标识。其中,所述更新请求消息中包含数据块标识,所述获得模块,具体用于:当发送端判断数据块标识所对应的更新请求消息数量达到设定的阈值时,获得所述更新请求消息中的数据和控制信息。本申请实施例提供了一种接收端,应用于包含有发送端和接收端的分布式存储系统中,包括:接收模块,用于接收来自发送端的数据更新请求消息;设置模块,用于在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述接收模块,还用于接收来自所述发送端的所述数据更新请求消息对应的控制信息更新请求消息;查找模块,用于从所述更新数据关系表中查找到所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识对应的更新数据;更新模块,用于根据所述控制信息更新请求以及查找到的更新数据进行数据更新。其中,所述更新模块,具体用于:将所述控制信息更新请求以及查找到的更新数据还原为更新请求,根据所述更新请求进行数据更新。其中,所述设置模块,还用于:为所述对应关系设置老化定时器,当所述老化表超时时,从所述更新数据关系表中删除所述对应关系;和/或所述设置模块,还用于:为所述对应关系设置老化定时器,在所述更新数据关系表占用本文档来自技高网
...
一种数据更新方法和设备

【技术保护点】
一种数据更新的方法,应用于包含有发送端和接收端的分布式存储系统中,其特征在于,该方法包括:发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息;发送端将所述数据通过数据更新请求消息发送给接收端,由所述接收端在更新数据关系表中建立所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端,由所述接收端根据所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识查找到所述更新数据列表,并由所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新。

【技术特征摘要】
1.一种数据更新的方法,应用于包含有发送端和接收端的分布式存储系统中,其特征在于,该方法包括:发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息;发送端将所述数据通过数据更新请求消息发送给接收端,由所述接收端在更新数据关系表中建立所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端,由所述接收端根据所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识查找到所述更新数据列表,并由所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新。2.如权利要求1所述的方法,其特征在于,所述发送端将所述控制信息通过控制信息更新请求消息发送给所述接收端之前,所述方法还包括:所述发送端将所述数据更新请求消息携带的更新数据列表标识保存到已发送列表,从所述已发送列表中获取所述数据更新请求消息携带的更新数据列表标识。3.如权利要求1或2所述的方法,其特征在于,所述发送端将所述数据通过数据更新请求消息发送给接收端,进一步包括;所述数据包括多个子数据,所述发送端将所述多个子数据通过多个数据请求消息发送给接收端;所述更新数据列表标识是所述多个数据更新请求消息携带的所有更新数据列表标识。4.如权利要求1所述的方法,其特征在于,所述发送端获得更新请求消息,并获得所述更新请求消息中的数据和控制信息,具体包括:所述更新请求消息中包含数据块标识,当发送端判断数据块标识所对应的更新请求消息数量达到设定的阈值时,获得所述更新请求消息中的数据和控制信息。5.一种数据更新的方法,应用于包含有发送端和接收端的分布式存储系统中,其特征在于,该方法包括:接收端接收来自发送端的数据更新请求消息;所述接收端在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系;所述接收端接收来自所述发送端的所述数据更新请求消息对应的控制信息更新请求消息,从所述更新数据关系表中查找到所述控制信息更新请求消息中携带的数据块标识和更新数据列表标识对应的更新数据;所述接收端根据所述控制信息更新请求以及查找到的更新数据进行数据更新。6.如权利要求5所述的方法,其特征在于,所述接收端根据所述控制信息更新请求消息以及查找到的更新数据进行数据更新,具体包括:所述接收端将所述控制信息更新请求以及查找到的更新数据还原为更新请求消息,根据所述更新请求消息进行数据更新。7.如权利要求5所述的方法,其特征在于,所述接收端在更新数据关系表中设置所述数据更新请求消息携带的数据块标识、更新数据列表标识和更新数据的对应关系之后,所述方法还包括:所述接收端为所述对应关系设置老化定时器,当所述老化表超时时,从所述更新数据关系表中删除所述对应关系;和/或所述接收端为所述对应关系设置老化定...

【专利技术属性】
技术研发人员:董元元徐立闫卫斌李凯杨濮源眭椰敏
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1