应用服务系统及数据一致性控制方法技术方案

技术编号:19425074 阅读:21 留言:0更新日期:2018-11-14 10:36
本发明专利技术实施例提供了应用服务系统及数据一致性控制方法,该应用服务系统,包括:服务器及数据库,服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各应用服务对应不同的代理客户端;应用服务,用于提供指定的服务;数据库,用于存储数据;缓存控制单元,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各代理客户端发送更新消息;代理客户端,用于接收更新消息,并按照更新消息,更新代理客户端对应的应用服务的缓存数据。在检测到数据更新时,缓存控制单元控制各代理客户端完成各应用服务的缓存数据的更新,可以使各应用服务及数据库中的数据保持一致,能够增强数据一致性。

【技术实现步骤摘要】
应用服务系统及数据一致性控制方法
本专利技术涉及数据存储
,特别是应用服务系统及数据一致性控制方法。
技术介绍
现有技术中,应用服务系统的结构如图1所示,应用服务为用户端提供相应的服务,与服务相关的数据会存储在数据库中。在用户端数量较多时,为了减低单个应用服务的负载压力,会构建多个应用服务,每个应用服务负载部分用户端,在某个应用服务的数据发生变更时,会同时更新数据库中的源数据。在应用服务运行的过程中,为了保证各应用服务的缓存中数据的一致性,针对每个应用服务,该应用服务首先从该应用服务的缓存中尝试读取需要的数据,若应用服务的缓存中没有所需的数据或数据已经过期,则从数据库中读取数据,并将数据更新到应用服务的缓存中。然而,专利技术人在实现本专利技术的过程中发现,现有技术至少存在如下问题:现有应用服务系统中,数据的更新是被动的,在应用服务的缓存中,通过设定数据有效时间的方式使数据过期,在应用服务缓存中的数据过期后从数据库中读取数据,并更新应用服务缓存中的数据。在数据过期前,会存在应用服务的缓存与数据库中数据不一致的情况,数据一致性弱。
技术实现思路
本专利技术实施例的目的在于提供一种应用服务系统及数据一致性控制方法,以实现增强数据的一致性。具体技术方案如下:第一方面,本专利技术实施例提供了一种应用服务系统,所述系统包括:服务器及数据库,所述服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各所述应用服务对应不同的代理客户端;所述应用服务,用于提供指定的服务;所述数据库,用于存储数据;所述缓存控制单元,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各所述代理客户端发送所述更新消息;所述代理客户端,用于接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据。可选的,本专利技术实施例的应用服务系统还包括:缓存中间件;所述缓存中间件为所述应用服务所在的服务器分配给所述应用服务的指定内存;所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的指定内存中的缓存数据。可选的,本专利技术实施例的应用服务系统还包括:缓存中间件;所述缓存中间件为所述应用服务所在的服务器的共享内存;所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的共享内存中的缓存数据。可选的,在本专利技术实施例的应用服务系统中,所述代理客户端为Agent进程,且所述Agent进程为内核进程。可选的,在本专利技术实施例的应用服务系统中,所述缓存控制单元还用于:周期性检测各所述代理客户端的运行状况,在存在运行状况异常的代理客户端时,重新启动该运行状况异常的代理客户端所在的服务器。第二方面,本专利技术实施例提供了一种数据一致性控制方法,应用于应用服务系统,所述应用服务系统包括服务器及数据库,所述服务器包括缓存控制单元、多个应用服务及多个代理客户端,各所述应用服务对应不同的代理客户端,所述方法包括:所述缓存控制单元在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各所述代理客户端发送所述更新消息;所述代理客户端接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据。可选的,所述应用服务系统还包括:缓存中间件,所述缓存中间件为所述应用服务所在的服务器分配给所述应用服务的指定内存;所述代理客户端接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据,包括;所述代理客户端接收所述更新消息,按照所述更新消息,更新代理客户端对应的应用服务的指定内存中的缓存数据。可选的,所述应用服务系统还包括:缓存中间件,所述缓存中间件为所述应用服务所在的服务器的共享内存;所述代理客户端接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据,包括:所述代理客户端接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的共享内存中的缓存数据。可选的,所述代理客户端为Agent进程,且所述Agent进程为内核进程。可选的,本专利技术实施例的数据一致性控制方法还包括:所述缓存控制单元周期性检测各所述代理客户端的运行状况,在存在运行状况异常的代理客户端时,重新启动该运行状况异常的代理客户端所在的服务器。本专利技术实施例提供的应用服务系统及数据一致性控制方法,该应用服务系统,包括:缓存控制单元、多个应用服务、多个代理客户端及数据库,其中,各应用服务对应不同的代理客户端;应用服务,用于提供指定的服务;数据库,用于存储数据;缓存控制单元,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各代理客户端发送更新消息;代理客户端,用于接收更新消息,并按照更新消息,更新代理客户端对应的应用服务的缓存数据。在检测到数据更新时,缓存控制单元控制各代理客户端完成各应用服务的缓存数据的更新,可以使各应用服务及数据库中的数据保持一致,能够增强数据一致性。当然,实施本专利技术的任一产品或方法必不一定需要同时达到以上的所有优点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1为现有技术中应用服务系统的一种示意图;图2为本专利技术实施例的应用服务系统的第一种示意图;图3为本专利技术实施例的应用服务系统的第二种示意图;图4为本专利技术实施例的应用服务系统的第三种示意图;图5为本专利技术实施例的数据一致性控制方法的一种流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述。在现有应用服务系统中,在应用服务的缓存中,通过设定数据有效时间的方式使数据过期,在应用服务缓存中的数据过期后从数据库中读取数据,并更新应用服务缓存中的数据,如果在应用服务的数据在有效时间内,而数据库中的数据源发生了变化,该应用服务无法及时获取已变化的数据,现有应用服务系统中数据一致性弱。有鉴于此:本专利技术实施例提供了一种应用服务系统,参见图2,该系统包括:服务器10及数据库11,上述服务器10包括缓存控制单元101、多个应用服务102及多个代理客户端103,其中,各上述应用服务102对应不同的代理客户端103;上述应用服务102,用于提供指定的服务;上述数据库11,用于存储数据;上述缓存控制单元101,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各上述代理客户端103发送上述更新消息;上述代理客户端103,用于接收上述更新消息,并按照上述更新消息,更新上述代理客户端103对应的应用服务102的缓存数据。缓存控制单元101是缓存服务的核心控制器,缓存控制单元101可以为独立的服务器10,或服务器10中运行的虚拟机,缓存控制单元101还可以为运行在服务器10中的应用程序等。应用服务102用于提供指定的服务,例如,应用服务102可以为提供视频服务或游戏服务的进程。应用服务102需要基于服务器10进行运行。代理客户端103同样需要基于服务器10进行运行,且代理客户端103与应用服务102可以是一一对应的。缓存控制单元101用于监控各应用服务102及控制各代理客户端103。缓存控制单元101可以作为一个框架嵌入应用服务102的监控和业务中,以监听或接收数据的更新,本文档来自技高网...

【技术保护点】
1.一种应用服务系统,其特征在于,所述系统包括:服务器及数据库,所述服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各所述应用服务对应不同的代理客户端;所述应用服务,用于提供指定的服务;所述数据库,用于存储数据;所述缓存控制单元,用于在检测到所述应用服务的数据发生变更时,生成用于表征该变更的更新消息,并向各所述代理客户端发送所述更新消息;所述代理客户端,用于接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据。

【技术特征摘要】
1.一种应用服务系统,其特征在于,所述系统包括:服务器及数据库,所述服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各所述应用服务对应不同的代理客户端;所述应用服务,用于提供指定的服务;所述数据库,用于存储数据;所述缓存控制单元,用于在检测到所述应用服务的数据发生变更时,生成用于表征该变更的更新消息,并向各所述代理客户端发送所述更新消息;所述代理客户端,用于接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据。2.根据权利要求1所述的系统,其特征在于,所述系统还包括:缓存中间件;所述缓存中间件为所述应用服务所在的服务器分配给所述应用服务的指定内存;所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的指定内存中的缓存数据。3.根据权利要求1所述的系统,其特征在于,所述系统还包括:缓存中间件;所述缓存中间件为所述应用服务所在的服务器的共享内存;所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的共享内存中的缓存数据。4.根据权利要求1所述的系统,其特征在于,所述代理客户端为Agent进程,且所述Agent进程为内核进程。5.根据权利要求1-4任一所述的系统,其特征在于,所述缓存控制单元还用于:周期性检测各所述代理客户端的运行状况,在存在运行状况异常的代理客户端时,重新启动该运行状况异常的代理客户端所在的服务器。6.一种数据一致性控制方法,其特征在于,应用于应用服务系统,所述应用服务系统包括服务器...

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

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

1