一种数据处理方法及系统、客户端及服务器技术方案

技术编号:17165088 阅读:26 留言:0更新日期:2018-02-01 22:34
本申请实施例公开了一种数据处理方法及系统、客户端及服务器。所述方法包括:客户端向处理服务器发送读请求;所述处理服务器接收所述读请求,当所述处理服务器确定与主服务器的数据状态一致时,处理所述读请求;其中,所述处理服务器从属于所述主服务器。本申请实施例可以减轻主服务器的读请求处理负担,利用从属服务器的空闲时间,降低处理延迟,提高高一致性通信系统的读请求处理效率。

A data processing method and system, client and server

【技术实现步骤摘要】
一种数据处理方法及系统、客户端及服务器
本申请涉及信息处理
,特别涉及一种数据处理方法及系统、客户端及服务器。
技术介绍
在客户端和服务器组成的通信系统中,客户端或者安装在客户端上的应用程序往往需要向服务器发出写请求和读请求,写请求往往需要改变服务器的数据状态,例如增加、删除、修改服务器数据状态等操作,读请求往往不需要改变服务器的数据状态,服务器在接收写请求或者读请求后,完成处理并将处理结果返回至客户端。对于需要多个服务器并行工作的通信系统,如分布式系统,往往对高一致性环境的需求较高。为了保持通信系统中多个服务器保持数据状态的高一致性,目前,可以采用帕克索斯(Paxos)算法、RAFT算法、zookeeper的zab协议算法等实现。例如,所述Paxos算法可以从N个服务器中选取一个主服务器,并将其他服务器作为从属服务器。主服务器可以处理写请求和读请求,在处理写请求时,所述主服务器还发送数据状态改变日志给从属服务器,如果有N/2个从属服务器成功接受数据状态改变,则主服务器可以确定写请求处理成功,返回请求结果给客户端。还没有成功接收数据状态改变日志的从属服务器可以在后台异步更新数据状态,不影响前端的写请求响应。主服务器和从属服务器之间设置有心跳检测,如果主服务器出现异常,从属服务器发现心跳超时后会重新发起Paxos选举选择新的主服务器。现有技术中,客户端发送读请求,主服务器在接收到所述读请求之后,可以选择从属服务器来处理所述读请求。所述从属服务器在处理完成所述读请求后,将处理结果返回至客户端。因此,主服务器可以用较小的处理代价利用从属服务器的处理能力。但是,上述读请求的处理过程中,需要主服务器转发读请求给从属服务器,整体处理能力受限于主服务器的连接上限和转发能力。另外,在处理过程中,现有的处理方式会增加一次从主服务器到从属服务器的RPC通信,增加读请求的处理延迟,降低读请求的处理效率。
技术实现思路
本申请实施例的目的在于提供一种数据处理方法及系统、客户端及服务器,可以降低读请求过程中的处理延迟,提高读请求的处理效率。本申请实施例提供一种数据处理方法及系统、客户端及服务器是这样实现的:一种数据处理方法,所述方法包括:客户端向处理服务器发送读请求;所述处理服务器接收所述读请求,当所述处理服务器确定与主服务器的数据状态一致时,处理所述读请求;其中,所述处理服务器从属于所述主服务器。一种数据处理方法,所述方法包括:接收客户端的读请求;当确定与主服务器的数据状态一致时,处理所述读请求。一种数据处理方法,所述方法包括:向处理服务器发送读请求;接收所述处理服务器对所述读请求的处理结果。一种服务器,所述服务器包括:接收单元,用于接收客户端的读请求;处理单元,用于当确定与主服务器的数据状态一致时,处理所述读请求。一种客户端,所述客户端包括:读请求发送单元,用于向处理服务器发送读请求;处理结果接收单元,用于接收所述处理服务器对所述读请求的处理结果。一种数据处理系统,所述系统包括:至少一个处理服务器,用于接收客户端的读请求;以及,用于当确定与主服务器的数据状态一致时,处理所述读请求。本申请提供的数据处理方法及系统、客户端及服务器,客户端可以直接向从属服务器发送读请求,从属服务器在接受所述读请求后,当确定与主服务器的数据状态一致时,所述从属服务器可以直接处理读请求。与现有技术相比,客户端可以不必向主服务器发送读请求,再由主服务器分配给从属服务器处理。本申请提供的读请求处理方法可以减轻主服务器的读请求处理负担,利用从属服务器的空闲时间,同时,不需要主服务器在读请求的关键处理过程中工作,因此不会增加处理延迟,提高高一致性通信系统的读请求处理效率。另外,本实施例方法可以使得高一致性通信系统中多个从属服务器同时处理读请求,所述通信系统的最大处理能力可以被扩展至所有处理服务器的处理能力之和,扩展高一致性通信系统的读请求处理能力。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的数据处理方法的一种实施例的方法流程示意图;图2是本申请提供的判断处理服务器是否与主服务器绑定方法的一种实施例的流程图;图3是本申请提供的读请求处理失败的处理方法的一种实施例的方法流程图;图4是本申请提供的数据处理方法的一种应用场景的示意图;图5是本申请提供的读请求处理方法的另一种实施例的方法流程图;图6是本申请提供的判断处理服务器是否与主服务器绑定方法的一种实施例的流程图;图7是本申请提供的服务器的一种实施例的模块结构示意图;图8是本申请提供的处理单元的一种实施例的模块结构示意图;图9是本申请提供的读请求处理方法的另一种实施例的方法流程图;图10是本申请提供的读请求处理失败的处理方法的一种实施例的方法流程图;图11是本申请提供的客户端的一种实施例的模块结构示意图;图12是本申请提供的客户端的另一种实施例的模块结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。下面结合附图对本申请所述的数据处理方法进行详细的说明。图1是本申请提供的数据处理方法的一种实施例的方法流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际中的数据处理中,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至是分布式处理环境)。具体的本申请提供的数据处理方法的一种实施例如图1所示,所述方法可以包括:S1:客户端向处理服务器发送读请求。在本实施例中,所述客户端可以是能够基于网络协议接入通信网络的终端设备或者运行于所述终端设备上的应用软件,例如移动智能电话、计算机、支付宝客户端等。所述客户端可以检测到来自应用上层的操作,基于所述操作可以触发生成读请求或者写请求,此后,所述客户端可以将所述读请求发送至处理服务器或者主服务器,将所述写请求发送至主服务器。所述处理服务器、主服务器包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的软件,其可以对接收到的写请求或者读请求进行分析、处理,并将相应的请求处理结果反馈至客户端。其中,所述处理服务器可以处理读请求,所述主服务器可以处理写请求和读请求。所述处理服务器、主服务器可以提供预定端口,通过该预定端口可以接收客户端的请求。例如,所述处理服务器、主服务器可以基于HTTP、TCP/IP或FTP等网络协议以及网络通信模块与客户端进行网络数据交互。在本实施例中,所述数据处理方法可以应用于主服务器本文档来自技高网
...
一种数据处理方法及系统、客户端及服务器

【技术保护点】
一种数据处理方法,其特征在于,所述方法包括:客户端向处理服务器发送读请求;所述处理服务器接收所述读请求,当所述处理服务器确定与主服务器的数据状态一致时,处理所述读请求;其中,所述处理服务器从属于所述主服务器。

【技术特征摘要】
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

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

1