【技术实现步骤摘要】
一种数据处理方法及系统、客户端及服务器
本申请涉及信息处理
,特别涉及一种数据处理方法及系统、客户端及服务器。
技术介绍
在客户端和服务器组成的通信系统中,客户端或者安装在客户端上的应用程序往往需要向服务器发出写请求和读请求,写请求往往需要改变服务器的数据状态,例如增加、删除、修改服务器数据状态等操作,读请求往往不需要改变服务器的数据状态,服务器在接收写请求或者读请求后,完成处理并将处理结果返回至客户端。对于需要多个服务器并行工作的通信系统,如分布式系统,往往对高一致性环境的需求较高。为了保持通信系统中多个服务器保持数据状态的高一致性,目前,可以采用帕克索斯(Paxos)算法、RAFT算法、zookeeper的zab协议算法等实现。例如,所述Paxos算法可以从N个服务器中选取一个主服务器,并将其他服务器作为从属服务器。主服务器可以处理写请求和读请求,在处理写请求时,所述主服务器还发送数据状态改变日志给从属服务器,如果有N/2个从属服务器成功接受数据状态改变,则主服务器可以确定写请求处理成功,返回请求结果给客户端。还没有成功接收数据状态改变日志的从属服务器可以在后台异步更新数据状态,不影响前端的写请求响应。主服务器和从属服务器之间设置有心跳检测,如果主服务器出现异常,从属服务器发现心跳超时后会重新发起Paxos选举选择新的主服务器。现有技术中,客户端发送读请求,主服务器在接收到所述读请求之后,可以选择从属服务器来处理所述读请求。所述从属服务器在处理完成所述读请求后,将处理结果返回至客户端。因此,主服务器可以用较小的处理代价利用从属服务器的处理能力。但 ...
【技术保护点】
一种数据处理方法,其特征在于,所述方法包括:客户端向处理服务器发送读请求;所述处理服务器接收所述读请求,当所述处理服务器确定与主服务器的数据状态一致时,处理所述读请求;其中,所述处理服务器从属于所述主服务器。
【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:客户端向处理服务器发送读请求;所述处理服务器接收所述读请求,当所述处理服务器确定与主服务器的数据状态一致时,处理所述读请求;其中,所述处理服务器从属于所述主服务器。2.根据权利要求1所述的方法,其特征在于,所述处理服务器包括客户端从提供的服务器集中选取的处理服务器。3.根据权利要求2所述的方法,其特征在于,在所述处理服务器接收所述读请求之后,所述方法还包括:当所述处理服务器确定与所述主服务器的数据状态不一致时,所述处理服务器拒绝处理所述客户端的读请求,并返回错误请求报告;所述客户端接收所述错误请求报告,统计所述错误请求报告的总个数;若所述总个数小于等于预设阈值,则所述客户端从所述服务器集中重新选取处理服务器处理所述读请求。4.根据权利要求3所述的方法,其特征在于,在所述统计所述错误请求报告的总个数之后,所述方法还包括:若所述总个数大于所述预设阈值,则所述客户端向所述主服务器发送所述读请求。5.根据权利要求1所述的方法,其特征在于,所述处理服务器确定与主服务器的数据状态一致包括:当所述处理服务器确定与主服务器处于绑定状态时,所述处理服务器与所述主服务器的数据状态一致。6.根据权利要求5所述的方法,其特征在于,所述确定与主服务器处于绑定状态包括:获取所述处理服务器最近一次接收到答复消息的时刻,所述答复消息包括所述处理服务器与所述主服务器绑定成功的消息;判断接收到所述答复消息的时刻距离基准时刻的时间间隔是否小于预设时间间隔,所述基准时刻为执行所述判断步骤的时刻;若小于所述预设时间间隔,则确定所述处理服务器与所述主服务器处于绑定状态。7.根据权利要求6所述的方法,其特征在于,所述主服务器在至少满足下述条件时向所述处理服务器发送所述答复消息:所述处理服务器的数据状态与主服务器的数据状态一致;且所述处理服务器的响应速度满足预设的绑定要求。8.根据权利要求1所述的方法,其特征在于,所述读请求中包括客户端最近一次获取的主服务器的数据状态更新时刻;相应地,所述确定与主服务器的数据状态一致包括:所述处理服务器获取主服务器最近一次的数据状态更新时刻,并判断所述最近一次的数据状态更新时刻是否等于或者晚于所述读请求中的所述数据状态更新时刻;若是,则确定与主服务器的数据状态一致。9.根据权利要求8所述的方法,其特征在于,所述读请求中的所述数据更新时刻包括采用下述的任意一种方式获取得到:客户端向主服务器发送写请求,所述主服务器响应于所述写请求时向所述客户端发送的数据状态更新时刻;客户端从主服务器同步请求得到的所述主服务器最近一次的数据状态更新时刻。10.根据权利要求1所述的方法,其特征在于,在所述处理服务器确定与主服务器的数据状态一致之后,所述方法还包括:将所述处理服务器标记为处理客户端读请求的优先处理服务器,以使客户端在所述服务器集中优先选取优先处理服务器。11.一种数据处理方法,其特征在于,所述方法包括:接收客户端的读请求;当确定与主服务器的数据状态一致时,处理所述读请求。12.根据权利要求11所述的方法,其特征在于,所述读请求包括客户端向从提供的服务器集中选取的处理服务器发送的读请求。13.根据权利要求11所述的方法,其特征在于,所述确定与主服务器的数据状态一致包括:当确定与主服务器处于绑定状态时,确定与主服务器的数据状态一致。14.根据权利要求13所述的方法,其特征在于,所述确定与主服务器处于绑定状态包括:获取最近一次接收到答复消息的时刻,所述答复消息包括与所述主服务器绑定成功的答复消息;判断接收到所述答复消息的时刻距离基准时刻的时间间隔是否小于预设时间间隔,所述基准时刻为执行所述判断步骤的时刻;若小于所述预设时间间隔,则确定与主服务器处于绑定状态。15.根据权利要求14所述的方法,其特征在于,在至少满足下述条件时接收到所述答复消息:数据状态与主服务器的数据状态一致;且响应速度满足预设的绑定要求。16.根据权利要求11所述的方法,其特征在于,所述读请求中包括客户端最近一次获取的主服务器的数据状态更新时刻;相应地,所述确定与主服务器的数据状态一致包括:获取主服务器最近一次的数据状态更新时刻,并判断所述最近一次的数据状态更新时刻是否等于或者晚于所述读请求中的所述数据状态更新时刻;若是,则确定与主服务器的数据状态一致。17.根据权利要求16所述的方法,其特征在于,所述读请求中的所述数据更新时刻包括采用下述的任意一种方式获取得到:客户端向主服务器发送写请求,所述主服务器响应于所述写请求时向所述客户端发送的数据状态更新时刻;客户端从主服务器同步请求得到的所述主服务器最近一次的数据状态更新时刻。18.一种数据处理方法,其特征在于,所述方法包括:向处理服务器发送读请求;接收所述处理服务器对所述读请求的处理结果。19.根据权利要求18所述...
【专利技术属性】
技术研发人员:朱家稷,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。