[发明专利]应用服务系统及数据一致性控制方法有效
| 申请号: | 201810508774.3 | 申请日: | 2018-05-24 |
| 公开(公告)号: | CN108804579B | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 吕晶 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23 |
| 代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
| 地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用服务 系统 数据一致性 控制 方法 | ||
本发明实施例提供了应用服务系统及数据一致性控制方法,该应用服务系统,包括:服务器及数据库,服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各应用服务对应不同的代理客户端;应用服务,用于提供指定的服务;数据库,用于存储数据;缓存控制单元,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各代理客户端发送更新消息;代理客户端,用于接收更新消息,并按照更新消息,更新代理客户端对应的应用服务的缓存数据。在检测到数据更新时,缓存控制单元控制各代理客户端完成各应用服务的缓存数据的更新,可以使各应用服务及数据库中的数据保持一致,能够增强数据一致性。
技术领域
本发明涉及数据存储技术领域,特别是应用服务系统及数据一致性控制方法。
背景技术
现有技术中,应用服务系统的结构如图1所示,应用服务为用户端提供相应的服务,与服务相关的数据会存储在数据库中。在用户端数量较多时,为了减低单个应用服务的负载压力,会构建多个应用服务,每个应用服务负载部分用户端,在某个应用服务的数据发生变更时,会同时更新数据库中的源数据。
在应用服务运行的过程中,为了保证各应用服务的缓存中数据的一致性,针对每个应用服务,该应用服务首先从该应用服务的缓存中尝试读取需要的数据,若应用服务的缓存中没有所需的数据或数据已经过期,则从数据库中读取数据,并将数据更新到应用服务的缓存中。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
现有应用服务系统中,数据的更新是被动的,在应用服务的缓存中,通过设定数据有效时间的方式使数据过期,在应用服务缓存中的数据过期后从数据库中读取数据,并更新应用服务缓存中的数据。在数据过期前,会存在应用服务的缓存与数据库中数据不一致的情况,数据一致性弱。
发明内容
本发明实施例的目的在于提供一种应用服务系统及数据一致性控制方法,以实现增强数据的一致性。具体技术方案如下:
第一方面,本发明实施例提供了一种应用服务系统,所述系统包括:
服务器及数据库,所述服务器包括缓存控制单元、多个应用服务及多个代理客户端,其中,各所述应用服务对应不同的代理客户端;
所述应用服务,用于提供指定的服务;
所述数据库,用于存储数据;
所述缓存控制单元,用于在检测到数据发生变更时,生成用于表征该变更的更新消息,并向各所述代理客户端发送所述更新消息;
所述代理客户端,用于接收所述更新消息,并按照所述更新消息,更新所述代理客户端对应的应用服务的缓存数据。
可选的,本发明实施例的应用服务系统还包括:缓存中间件;
所述缓存中间件为所述应用服务所在的服务器分配给所述应用服务的指定内存;
所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的指定内存中的缓存数据。
可选的,本发明实施例的应用服务系统还包括:缓存中间件;
所述缓存中间件为所述应用服务所在的服务器的共享内存;
所述代理客户端,具体用于接收所述更新消息,按照所述更新消息,更新所述代理客户端对应的应用服务的共享内存中的缓存数据。
可选的,在本发明实施例的应用服务系统中,所述代理客户端为Agent进程,且所述Agent进程为内核进程。
可选的,在本发明实施例的应用服务系统中,所述缓存控制单元还用于:周期性检测各所述代理客户端的运行状况,在存在运行状况异常的代理客户端时,重新启动该运行状况异常的代理客户端所在的服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810508774.3/2.html,转载请声明来源钻瓜专利网。





