业务数据更新方法、服务器和服务器集群技术

技术编号:22135267 阅读:19 留言:0更新日期:2019-09-18 08:59
本发明专利技术公开了业务数据更新方法、服务器和服务器集群,在对服务器集群中各个服务器更新业务数据的过程中,首先更新服务器集群中至少一个第一服务器的第一业务数据,使得第一服务器基于第一业务数据为至少一个客户端提供相应业务服务;获得第一服务器的服务状态,若所述服务状态为非正常服务状态,那么服务器集群中至少一个第二服务器不会基于第一业务数据对自身存储的第二业务数据进行更新。若第一业务数据出错而重新对业务数据进行更新,仅再次更新第一服务器中的第一业务数据即可,加快了更新速度。若第一业务数据出错能够导致服务器瘫痪,那么服务器集群中仅有第一服务器发生瘫痪,至少一个第二服务器不会发生瘫痪。

Business Data Updating Method, Server and Server Cluster

【技术实现步骤摘要】
业务数据更新方法、服务器和服务器集群
本申请涉及数据处理
,更具体地说,涉及一种业务数据更新方法、服务器和服务器集群。
技术介绍
随着信息技术的发展,服务器通过客户端(如:网页客户端,或,应用程序客户端)不断的为用户提供业务服务,例如,用户可以通过客户端向服务器发送数据请求,服务器通过客户端向用户展示对应的业务服务。例如,用户通过客户端向服务器发送指定广告请求,服务器通过客户端向用户展示该指定广告。随着客户端的访问量不断增加,用户规模不断扩大,为了保证用户获得客户端所提供的业务服务的稳定性和效率,客户端后台的服务器通常会采用分布式服务器集群的架构,其中,通过局域网连接的多个服务器称为一个服务器集群(例如:多个服务器设置于同一机房中,通过局域网相连接,该机房中的多个服务器便可看作是一个服务器集群)。在此基础上,客户端向用户提供相应业务时,就需要使服务器集群中各服务器所使用的业务数据相一致,否则,将会出现由于业务数据不一致而导致业务结果混乱的现象,例如,有的用户通过视频应用程序可以观看到某个广告,有的用户通过视频应用程序不能观看到该广告(针对具有同一种喜好特征的用户而言)。换言之,需要服务器集群包含的各服务器的业务数据一致。现有技术中,使得服务器集群中各服务器的业务数据一致的方法如下:若终端设备监测到自身存储的业务数据发生变更时,获取已变更的业务数据,并将已变更的业务数据分别发送给服务器集群中各服务器,从而实现服务器集群中各服务器的业务数据的同步更新,保证了服务器集群中各服务器的业务数据一致。利用上述方法,若业务数据出错,那么服务器集群中各服务器的业务数据均出错,例如,业务数据为指定广告在一个月内的曝光量大于2万小于2.2万,若业务数据使得指定广告在一个月内的曝光量小于2万,那么将导致收入损失。若业务数据出错,那么涉及再次更新业务数据。再次更新业务数据的过程中,需要更新服务器集群中所有服务器中的业务数据,导致更新时间延长。若业务数据出错,在服务器集群的所有服务器运行一段时间后,才能发现,即业务数据出错的发现不及时。若业务数据出错能够导致服务器瘫痪,则服务器集群中所有服务器均发生瘫痪。
技术实现思路
有鉴于此,本申请提供了一种业务数据更新方法、服务器和服务器集群。一种业务数据更新方法,应用于第一服务器,包括:获取第一业务数据以及所述第一业务数据对应的第一版本号;若检测到所述第一版本号与自身存储的第二版本号不相同,基于所述第一业务数据对所述第二业务数据进行更新;所述第二版本号为所述第一服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第一服务器得到的最新版本的业务数据;获取服务状态,所述服务状态是指所述第一服务器基于所述第一业务数据为至少一个客户端提供相应业务服务的状态;若所述服务状态为非正常服务状态,不执行将所述第一业务数据对应的第一版本号存储至存储设备的操作,所述存储设备存储有所述第二业务数据对应的第二版本号,使得与所述第一服务器属于同一服务器集群的至少一个第二服务器在从所述存储设备得到的所述第二版本号与自身得到的所述第一业务数据对应的第一版本号不相同的情况下,不执行基于所述第一业务数据对自身存储的第二业务数据进行更新的操作。一种业务数据更新方法,应用于第二服务器,包括:获取第一业务数据以及所述第一业务数据对应的第一版本号;若检测到所述第一版本号与自身存储的第二版本号不相同,获取存储设备中存储的业务数据对应的版本号;所述第二版本号为所述第二服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第二服务器得到的最新版本的业务数据;其中,所述存储设备用于存储当前时间最新版本的业务数据对应的版本号,且所述最新版本的业务数据对应的服务状态为正常服务状态,所述服务状态是指第一服务器基于所述最新版本的业务数据为至少一个客户端提供相应业务服务的状态,所述第一服务器与所述第二服务器属于同一服务器集群;若所述存储设备存储的版本号与所述第一版本号不相同,不执行基于所述第一业务数据对所述第二业务数据进行更新的操作。一种第一服务器,包括:第一业务组件,用于获取第一业务数据;第一预检组件,用于获取所述第一业务数据对应的第一版本号,若检测到所述第一版本号与自身存储的第二版本号不相同,控制所述业务组件执行基于所述第一业务数据对所述第二业务数据进行更新的操作;所述第二版本号为所述第一服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第一服务器得到的最新版本的业务数据;第一业务组件,还用于获取服务状态,将所述服务状态发送至所述第一预检组件;所述服务状态是指所述第一服务器基于所述第一业务数据为至少一个客户端提供相应业务服务的状态;所述第一预检组件还用于:若所述服务状态为非正常服务状态,不执行将所述第一业务数据对应的第一版本号存储至存储设备的操作,所述存储设备存储有所述第二业务数据对应的第二版本号;使得与所述第一服务器属于同一服务器集群的至少一个第二服务器在从所述存储设备得到的所述第二版本号与自身得到的所述第一业务数据的第一版本号不相同的情况下,不执行基于所述第一业务数据对所述第二业务数据进行更新的操作。一种第二服务器,包括:第二业务组件,用于获取第一业务数据;第二预检组件,用于获取所述第一业务数据对应的第一版本号,若检测到所述第一版本号与自身存储的第二版本号不相同,获取存储设备中存储的业务数据的版本号;所述第二版本号为所述第二服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第二服务器得到的最新版本的业务数据;其中,所述存储设备用于存储当前时间最新版本的业务数据对应的版本号,且所述最新版本的业务数据对应的服务状态为正常服务状态,所述服务状态是指第一服务器基于所述最新版本的业务数据为至少一个客户端提供相应业务服务的状态,所述第一服务器与所述第二服务器属于同一服务器集群;所述预检组件,还用于:若所述存储设备存储的版本号与所述第一版本号不相同,不触发所述业务组件执行基于所述第一业务数据对所述第二业务数据进行更新的操作。一种服务器集群,包括:至少一个如上所述的第一服务器;至少一个如上所述的第二服务器;以及,如上所述的存储设备。经由上述的技术方案可知,与现有技术相比,本申请公开了一种业务数据更新方法,在对服务器集群中包含的各个服务器更新业务数据的过程中,首先更新服务器集群中至少一个第一服务器的业务数据,然后使得第一服务器基于第一业务数据为至少一个客户端提供相应业务服务。获得第一服务器的服务状态,若所述服务状态为非正常服务状态,那么服务器集群中至少一个第二服务器不会基于第一业务数据对自身存储的第二业务数据进行更新。即通过第一服务器可以及时发现第一业务数据是否出错,在第一业务数据出错的情况下,由于仅有服务器集群中部分服务器即第一服务器基于第一业务数据对第二业务数据进行更新,所以仅再次更新第一服务器中的第一业务数据即可,与目前若第一业务数据出错需要重新更新服务器集群中所有服务器的业务数据而言,加快了更新速度。若第一业务数据出错能够导致服务器瘫痪,那么服务器集群中仅有第一服务器发生瘫痪,至少一个第二服务器本文档来自技高网
...

【技术保护点】
1.一种业务数据更新方法,其特征在于,应用于第一服务器,包括:获取第一业务数据以及所述第一业务数据对应的第一版本号;若检测到所述第一版本号与自身存储第二版本号不相同,基于所述第一业务数据对所述第二业务数据进行更新;所述第二版本号为所述第一服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第一服务器得到的最新版本的业务数据;获取服务状态,所述服务状态是指所述第一服务器基于所述第一业务数据为至少一个客户端提供相应业务服务的状态;若所述服务状态为非正常服务状态,不执行将所述第一业务数据对应的第一版本号存储至存储设备的操作,所述存储设备存储有所述第二业务数据对应的第二版本号,使得与所述第一服务器属于同一服务器集群的至少一个第二服务器在从所述存储设备得到的所述第二版本号与自身得到的所述第一业务数据对应的第一版本号不相同的情况下,不执行基于所述第一业务数据对所述第二业务数据进行更新的操作。

【技术特征摘要】
1.一种业务数据更新方法,其特征在于,应用于第一服务器,包括:获取第一业务数据以及所述第一业务数据对应的第一版本号;若检测到所述第一版本号与自身存储第二版本号不相同,基于所述第一业务数据对所述第二业务数据进行更新;所述第二版本号为所述第一服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第一服务器得到的最新版本的业务数据;获取服务状态,所述服务状态是指所述第一服务器基于所述第一业务数据为至少一个客户端提供相应业务服务的状态;若所述服务状态为非正常服务状态,不执行将所述第一业务数据对应的第一版本号存储至存储设备的操作,所述存储设备存储有所述第二业务数据对应的第二版本号,使得与所述第一服务器属于同一服务器集群的至少一个第二服务器在从所述存储设备得到的所述第二版本号与自身得到的所述第一业务数据对应的第一版本号不相同的情况下,不执行基于所述第一业务数据对所述第二业务数据进行更新的操作。2.根据权利要求1所述业务数据更新方法,其特征在于,还包括:若所述服务状态为正常服务状态,将所述第一业务数据对应的第一版本号存储至所述存储设备,使得与所述第一服务器属于同一服务器集群的至少一个所述第二服务器在从所述存储设备得到的所述第一版本号与自身得到的所述第一业务数据的第一版本号相同的情况下,基于所述第一业务数据对自身存储的第二业务数据进行更新。3.根据权利要求1或2所述业务数据更新方法,其特征在于,所述获取服务状态包括:以第一时刻为起始时刻,获取设定时间段内的所述服务状态,所述第一时刻为基于所述第一业务数据对所述第二业务数据更新完毕的时刻。4.根据权利要求3所述业务数据更新方法,其特征在于,所述获取设定时间段内的所述服务状态包括:获取所述设定时间段内所述第一服务器为所述至少一个客户端提供相应业务服务的平均响应时间;和/或,获取所述设定时间段内所述至少一个客户端在所述第一业务数据对应的业务服务下针对所述第一服务器的每秒查询率;和/或,获取所述设定时间段内所述第一服务器基于所述第一业务数据为所述至少一个客户端提供指定信息的曝光量。5.根据权利要求4所述业务数据更新方法,其特征在于,还包括:若所述平均响应时间小于或等于第一阈值,所述服务状态为正常服务状态;和/或,若所述每秒查询率大于或等于第二阈值,所述服务状态为正常服务状态;和/或,若所述指定信息的曝光量大于或等于第三阈值且小于或等于第四阈值,所述服务状态为正常服务状态。6.一种业务数据更新方法,其特征在于,应用于第二服务器,包括:获取第一业务数据以及所述第一业务数据对应的第一版本号;若检测到所述第一版本号与自身存储的第二版本号不相同,获取存储设备中存储的业务数据对应的版本号;所述第二版本号为所述第二服务器存储的第二业务数据对应的版本号,所述第二业务数据为前一次业务数据更新过程中,所述第二服务器得到的最新版本的业务数据;其中,所述存储设备用于存储当前时间最...

【专利技术属性】
技术研发人员:吴成成
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1