一种缓存数据的更新方法、数据使用端和系统的制作方法_3

文档序号:8223640阅读:来源:国知局
[0072]在该过程中,主要是通过生成2个元素的数组来完成;
[0073]缓存执行单元402,用于从外部数据库加载配置数据,构造缓存数据对象,将缓存数据对象缓存在当前的主用槽位中,形成槽位索引,指向该当前的主用槽位;当被触发更新操作时,从外部数据库加载更新后的配置数据,构造更新后的缓存数据对象,并将更新后的缓存数据对象缓存在备用槽位中;
[0074]控制单元403,用于控制所述缓存执行单元在将更新后的缓存数据对象缓存在备用槽位中时,保留当前主用槽位中的缓存数据,在缓存执行单元将将更新后的缓存数据对象缓存在备用槽位中完毕后,将当前主用槽位切换为备用槽位,当前备用槽位切换为主用槽位,将槽位索引的指向更新为切换后的当前主用槽位。
[0075]如图5所示,本发明实施例还提供了一种缓存数据系统,该缓存数据系统包括:数据使用端501,配置服务器502,数据变更端503以及数据库504。
[0076]所述配置服务器502,用于通知所述数据使用端需要加载及更新的配置数据的索弓I ;
[0077]另外,所述配置服务器,还可用于接收并保存数据使用端发送的注册信息,并根据所述注册信息,生成对应的配置数据版本号,然后,将所述配置数据版本号发送给所述数据使用端;
[0078]所述数据变更端503,用于在数据库配置数据变更后,触发配置服务器通知所述数据使用端更新的配置数据的索引。
[0079]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0080]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种缓存数据的更新方法,其特征在于,数据使用端初始化形成缓存数据对象的主用槽位和备用槽位,包括: 数据使用端从数据库加载配置数据,构造缓存数据对象,将缓存数据对象缓存在当前的主用槽位中,形成槽位索引,指向该当前的主用槽位; 当触发缓存数据对象的更新时,数据使用端从数据库加载更新后的配置数据,构造更新后的缓存数据对象,保留当前主用槽位中的缓存数据对象,并将更新后的缓存数据对象缓存在备用槽位中;然后,将当前主用槽位切换为备用槽位,当前备用槽位切换为主用槽位,将槽位索引的指向更新为切换后的当前主用槽位。
2.根据权利要求1所述的方法,其特征在于,所述主用槽位和备用槽位包括'2个元素的数组。
3.根据权利要求1所述的方法,其特征在于, 在所述数据使用端从数据库加载配置数据之前,进一步包括:配置服务器接收并保存数据使用端发送的注册信息,所述注册信息包括:所述数据使用端的IP地址、通知接收端口号、使用配置数据的名称信息;根据所述注册信息,生成对应的配置数据版本号;将所述配置数据版本号发送给所述数据使用端,所述配置数据版本号包括:配置数据名称和版本号字符串; 所述数据使用端从数据库加载配置数据包括:所述数据使用端根据接收到的所述配置数据版本号,从数据库加载对应的配置数据; 触发缓存数据对象的更新包括:数据变更端向配置服务器发送新的配置数据版本号;配置服务器向所述数据使用端发送更新所述配置数据版本号通知,该通知中携带新的配置数据版本号,触发所述数据使用端开启新的线程; 所述数据使用端从数据库加载更新后的配置数据包括:所述数据使用端接收所述通知,从中获取所述新的配置数据版本号,根据所述新的配置数据版本号,从所述数据库加载新的配置数据。
4.根据权利要求3所述的方法,其特征在于,向所述数据使用端发送更新所述配置数据版本号通知,包括: 所述配置服务器遍历当前注册的数据使用端,查找使用了所述配置数据的所有数据使用端,向查找到的所有数据使用端发送更新所述配置数据版本号通知。
5.根据权利要求3所述的方法,其特征在于,所述数据使用端接收所述通知包括: 所述数据使用端启动socket监听,监听通知接收端口用以接收配置服务器发来的所述通知。
6.根据权利要求1至5所述的任一方法,其特征在于,判断所述数据使用端是否完成所述加载新的配置数据,包括: 所述配置服务器接收所述数据使用端发送的所述槽位索引对应的配置信息版本号,与所述配置服务器中存在的所述新的配置信息版本号进行比对,如果一致,则完成所述加载新的配置数据,否则,所述加载新的配置数据失败。
7.一种数据使用端,其特征在于,包括: 形成单元,用于初始化形成缓存数据对象的主用槽位和备用槽位; 缓存执行单元,用于从外部数据库加载配置数据,构造缓存数据对象,将缓存数据对象缓存在当前的主用槽位中,形成槽位索引,指向该当前的主用槽位;当被触发更新操作时,从外部数据库加载更新后的配置数据,构造更新后的缓存数据对象,并将更新后的缓存数据对象缓存在备用槽位中; 控制单元,用于控制所述缓存执行单元在将更新后的缓存数据对象缓存在备用槽位中时,保留当前主用槽位中的缓存数据对象,在缓存执行单元将将更新后的缓存数据对象缓存在备用槽位中完毕后,将当前主用槽位切换为备用槽位,当前备用槽位切换为主用槽位,将槽位索引的指向更新为切换后的当前主用槽位。
8.根据权利要求7所述的数据使用端,其特征在于,所述形成单元,用于生成2个元素的数组,作为所述主用槽位和备用槽位。
9.一种缓存数据的更新系统,包括:如权利要求7或8所述的数据使用端,配置服务器,数据变更端以及数据库, 配置服务器,用于通知所述数据使用端需要加载及更新的配置数据的索引, 数据变更端,用于在数据库配置数据变更后,触发配置服务器通知所述数据使用端更新的配置数据的索引。
10.根据权利要求9所述的配置服务器,其特征在于,包括: 用于接收并保存数据使用端发送的注册信息,所述注册信息包括:所述数据使用端的IP地址、通知接收端口号、使用配置数据的名称信息; 用于根据所述注册信息,生成对应的配置数据版本号; 用于将所述配置数据版本号发送给所述数据使用端,所述配置数据版本号包括:配置数据名称和版本号字符串。
【专利摘要】本发明提供一种缓存数据的更新方法、数据使用端和系统,缓存数据的更新方法包括:数据使用端初始化形成缓存数据对象的主用槽位和备用槽位,然后,从数据库加载配置数据,构造缓存数据对象,将缓存数据对象缓存在当前的主用槽位中,形成槽位索引,指向该当前的主用槽位,当触发缓存数据的更新时,数据使用端从数据库加载更新后的配置数据,构造更新后的缓存数据对象,并将更新后的缓存数据对象缓存在备用槽位中;然后,将当前主用槽位切换为备用槽位,当前备用槽位切换为主用槽位,将槽位索引的指向更新为切换后的当前主用槽位。本发明保证了数据使用端在缓存更新过程或者缓存更新失败,均有可用的缓存数据。
【IPC分类】G06F17-30
【公开号】CN104537119
【申请号】CN201510037309
【发明人】韩全磊
【申请人】浪潮通信信息系统有限公司
【公开日】2015年4月22日
【申请日】2015年1月26日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1