基于键值对缓存的数据读写方法及装置的制作方法

文档序号:7875550阅读:188来源:国知局
专利名称:基于键值对缓存的数据读写方法及装置的制作方法
技术领域
本发明涉及数据缓存处理技术,尤其涉及一种基于键值对(KV, Key-Value )缓存的数据读写方法及装置。
背景技术
随着数字电视技术的发展,智能电视系统服务的客户数量日益增大。为了提高智能电视系统中数据传输(读写)的效率,提升智能电视系统的并发性能,一般采用键值对(KV,Key-Value)缓存技术,KV缓存技术是现今应用广泛的存储技术,通过将热点数据存储在智能电视系统的内存中,并采用哈希(Hash)索引方式提升对数据的读写访问速度,从而可以极大提高智能电视系统的并发性能以及传输效率。但由于缓存技术是将数据存储在内存中,因而,在智能电视系统发生故障时,不仅会造成数据传输业务中断,而且,缓存中存储的数据也会丢失且不可恢复,使得智能电视系统的可用性或可靠性较低。为了避免智能电视系统故障导致的数据丢失以及传输业务中断,提升智能电视系统的可用性,现有技术提出了主从结构的KV缓存的数据读写方法。在智能电视系统中,设置一个主缓存器以及一个或多个从缓存器,主缓存器与从缓存器实时进行数据同步。在智能电视系统正常运行时,主缓存器处于工作状态,向请求服务的客户端提供数据读写业务服务,从缓存器处于备用状态。当主缓存器发生故障失效时,各从缓存器根据预先设置的失效处理策略,将其中的一个从缓存器升级为主缓存器,用以替换失效的主缓存器,并向请求服务的客户端发送包含升级的从缓存器的服务地址更新信息,通知客户端更新设置,使得客户端可以根据服务地址更新信息向升级的从缓存器请求数据读写业务服务,保障数据传输业务不中断;同时,向各从缓存器发送同步信息,通知各从缓存器按照预先设置的同步周期与自身进行数据同步。失效的主缓存器在排除故障后,作为从缓存器以供备份。由上述可见,现有基于KV缓存的数据读写方法,通过主从结构的KV缓存,用以保障智能电视系统数据传输的可用性。但是,通过主缓存器向客户端提供数据读写业务服务,从缓存器只是作为备份缓存器,在主缓存器失效之前,从缓存器不能为客户端提供数据读写业务服务,使得主缓存器负载较重,导致主缓存器与从缓存器的负载失衡,容易引起主缓存器拥堵,使得主缓存器数据读写效率降低;进一步地,在主缓存器发生故障失效时,需要升级的从缓存器向智能电视系统中的各客户端发送包含该从缓存器的服务地址更新信息,使客户端更新设置以能与升级的从缓存器进行通信,从而不中断数据读写业务服务。由于智能电视系统服务的客户端数量大,使得发送服务地址更新信息所需的资源开销大;而且,客户端需要根据接收的包含升级的从缓存器的服务地址更新信息进行更新设置,需要针对主从缓存器的结构不断构建、变更连接,流程较为复杂,不能做到透明连接。

发明内容
本发明的实施例提供一种基于键值对缓存的数据读写方法,客户端可以透明使用缓存器,不用关心单个缓存器是否发生故障,并且可以提高缓存器数据的读写效率。
权利要求
1.一种基于键值对缓存的数据读写方法,该方法包括:预先设置以键值对的方式缓存数据的主缓存器以及从缓存器,并设置从缓存器根据预先设置的同步周期,从主缓存器获取同步更新的数据;接收客户端发送的数据请求,并识别数据请求类型,如果为数据读请求,选取从缓存器,将数据读请求输出至该从缓存器,如果为数据读写请求或数据写请求,将数据请求输出至主缓存器;接收主缓存器返回的数据请求响应或从缓存器返回的数据读请求响应后,转发至相应的客户端;监测主缓存器和从缓存器的状态,在监测到主缓存器发生故障后,选取从缓存器并向该从缓存器发送属性变更指令,该从缓存器根据所述属性变更指令切换为主缓存器。
2.根据权利要求1所述的方法,其中,所述方法进一步包括:更新存储的运行状态列表中发生故障的主缓存器信息以及选取的从缓存器信息;远程拉起发生故障的主缓存器,在发生故障的主缓存器排除故障启动后,更新存储的运行状态列表中发生故障的主缓存器信息;将启动的主缓存器切换为从缓存器,向该切换的从缓存器发送包含当前主缓存器信息的同步更新指令;所述切换的从缓存器接收同步更新指令,向同步更新指令中包含的当前主缓存器获取同步更新的数据。
3.根据权利要求2所述的方法,其中,所述运行状态列表包含缓存器的属性、缓存器状态以及缓存器当前的负载量。
4.根据权利要求2所述的方 法,其中,所述方法进一步包括:设置从服务管理器,按照预先设置的状态更新周期,与主服务管理器运行状态列表同I K少;监测主服务管理器的状态,在监测到主服务管理器发生故障后,接管主服务管理器。
5.根据权利要求4所述的方法,其中,所述接管主服务管理器包括:从服务管理器切换为主服务管理器后,动态生成伪IP ;调用用于配置该从服务管理器网卡的命令,将动态生成的伪IP挂载到网卡的媒体访问层地址上;生成并发送地址解析协议包,通知主缓存服务器、各从缓存服务器以及外部网关。
6.根据权利要求1所述的方法,其中,所述从缓存器的数量为多个,所述选取从缓存器包括:根据预先设置的负载策略,从多个从缓存器中选取符合负载策略的一个从缓存器; 在选取从缓存器并向该从缓存器发送属性变更指令后,所述方法进一步包括:向其他从缓存器发送包含该从缓存器信息的同步更新指令,以使接收同步更新指令的从缓存器向指令中的从缓存器获取同步更新的数据。
7.一种基于键值对缓存的数据读写装置,其特征在于,该装置包括:主缓存器、从缓存器以及主服务管理器,其中,主缓存器,用于以键值对的方式缓存数据,接收主服务管理器输出的数据读写请求,进行数据读写,并将读写的数据携带在数据读写请求响应中,输出至主服务管理器;在发生故障并排除故障启动后,切换为从缓存器;从缓存器,用于以键值对的方式缓存数据,根据预先设置的同步周期,从主缓存器获取同步更新的数据;接收主服务管理器输出的数据读请求,读取数据,并将读取的数据携带在数据读请求响应中,输出至主服务管理器;接收主服务管理器输出的属性变更指令,根据所述属性变更指令切换为主缓存器;主服务管理器,用于监测主缓存器和从缓存器的状态,在监测到主缓存器发生故障后, 根据预先设置的负载策略,从管理的从缓存器中,选取符合负载策略的一个从缓存器,并向该从缓存器发送属性变更指令,向其他从缓存器发送包含该从缓存器信息的同步更新指令,以使接收同步更新指令的从缓存器向指令中的从缓存器获取同步更新的数据;接收客户端发送的数据请求,如果为数据读请求,根据预先设置的负载策略,选取符合负载策略的一个从缓存器,将数据读请求输出至该从缓存器,如果为数据读写请求或数据写请求,将数据读写请求输出至主缓存器。
8.根据权利要求7所述的装置,其特征在于,所述主服务管理器在主缓存器发生故障后,进一步用于远程拉起发生故障的主缓存器,并在发生故障的主缓存器启动后,将运行状态列表中该缓存器的运行状态更新为正常运行。
9.根据权利要求7或8所述的装置,其特征在于,所述装置进一步包括:从服务管理器,用于按照预先设置的状态更新周期,与主服务管理器运行状态列表同步;监测主服务管理器的状态,在监测到主服务管理器发生故障后,接管主服务管理器。
10.根据权利要求9所述的装置,其特征在于,所述主缓存器与主服务管理器的数量为一个,所述从缓存器与从服务管理器的数量为一个 或多个。
全文摘要
本发明公开了一种基于键值对缓存的数据读写方法及装置。该方法包括设置以键值对的方式缓存数据的主缓存器以及从缓存器,并设置从缓存器根据设置的同步周期从主缓存器获取同步更新的数据;接收客户端发送的数据请求,如果为数据读请求,输出至选取的从缓存器,否则,将数据请求输出至主缓存器;接收主缓存器返回的数据请求响应或从缓存器返回的数据读请求响应后,转发至相应的客户端;监测主缓存器和从缓存器的状态,在监测到主缓存器发生故障后,选取从缓存器并发送属性变更指令,从缓存器根据属性变更指令切换为主缓存器。应用本发明,客户端可透明使用缓存器,不用关心单个缓存器是否发生故障,并可提高缓存器数据的读写效率。
文档编号H04N21/442GK103207841SQ201310071339
公开日2013年7月17日 申请日期2013年3月6日 优先权日2013年3月6日
发明者张帅, 周翚 申请人:青岛海信传媒网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1