《一种数据处理的方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种数据处理的方法及装置.pdf(20页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103577277 A (43)申请公布日 2014.02.12 CN 103577277 A (21)申请号 201210264181.X (22)申请日 2012.07.27 G06F 11/14(2006.01) G06F 17/30(2006.01) (71)申请人 腾讯科技 (深圳) 有限公司 地址 518000 广东省深圳市福田区赛格科技 园 2 栋东 403 室 (72)发明人 刘里 田明 周智昊 王瑶 (74)专利代理机构 北京中博世达专利商标代理 有限公司 11274 代理人 申健 (54) 发明名称 一种数据处理的方法及装置 (57) 摘要 本发明。
2、公开一种数据处理的方法及装置, 涉 及通信网络技术领域, 可以降低资源消耗, 提高数 据安全性。 本发明实施例提供的方案, 通过主设备 接收输入的数据, 更新主设备的当前数据序列号, 并将所述数据进行第一保存 ; 所述主设备将所述 数据发送给至少一个从设备 ; 所述从设备接收主 设备发送的数据, 并更新所述从设备的当前数据 序列号 ; 所述从设备根据预设选择条件选择所述 数据中的部分数据进行第二保存。本发明实施例 提供的方案适于进行数据存储时采用。 (51)Int.Cl. 权利要求书 3 页 说明书 10 页 附图 6 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书。
3、3页 说明书10页 附图6页 (10)申请公布号 CN 103577277 A CN 103577277 A 1/3 页 2 1. 一种数据存储的方法, 其特征在于, 包括 : 主设备接收输入的数据, 更新主设备的当前数据序列号, 并将所述数据进行第一保 存 ; 所述主设备将所述数据发送给至少一个从设备 ; 所述从设备接收主设备发送的数据, 并更新所述从设备的当前数据序列号 ; 所述从设备根据预设选择条件选择所述数据中的部分数据进行第二保存。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述第一保存与所述第二保存采用不同 的数据结构 ; 其中, 所述第一保存采用哈希表或者数组的形式将所。
4、述数据保存在第三方数据库中 ; 所述第二保存采用链表的形式将所述部分数据保存在内部存储中。 3. 根据权利要求 1 所述的方法, 其特征在于, 在主设备所述接收输入的数据, 更新主设 备的当前数据序列号, 并将所述数据进行第一保存之后, 所述主设备将所述数据发送给至 少一个从设备之前, 还包括 : 分别获取所述主设备的当前数据序列号与从设备的当前数据序列号, 并判断所述主设 备的当前数据序列号与从所述设备的当前数据序列号是否相同 ; 当所述主设备的当前数据序列号与所述从设备的当前数据序列号不同时, 则将所述数 据发送给至少一个从设备。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述将。
5、所述数据进行第一保存包括 : 通过应用程序编程接口的数据写入接口将所述数 据进行第一保存 ; 所述将所述数据发送给至少一个所述从设备包括 : 通过应用程序编程接口的数据获取 接口获取保存的所述数据, 并将所述数据发送给至少一个所述从设备 ; 所述根据预设选择条件选择所述数据中的部分数据进行第二保存包括 : 根据预设选择条件选择所述数据中的部分数据, 通过应用程序编程接口的数据写入接 口将所述部分数据进行第二保存 ; 所述方法还包括 : 根据接收到的上层逻辑处理器发送的更换提供服务的设备请求, 通 过应用程序编程接口的数据获取接口获取保存的所述部分数据。 5. 根据权利要求 1 所述的方法, 其。
6、特征在于, 所述根据预设选择条件选择所述数据中 的部分数据进行第二保存包括 : 将所述数据划分为不同的字段 ; 根据预设选择条件选择所述数据中的部分字段进行第二保存。 6. 根据权利要求 5 所述的方法, 其特征在于, 所述根据预设选择条件选择的部分字段 包括登陆备份字段或用户简单资料备份字段 ; 所述根据预设选择条件选择所述数据中的部分字段进行第二保存包括 : 当所述预设选择条件为所述登陆备份字段时, 则选择所述数据中的登陆备份字段进行 第二保存, 并删除除所述登陆备份字段之外的数据 ; 当所述预设选择条件为所述用户简单资料备份字段时, 则选择所述数据中的用户简单 资料备份字段进行第二保存,。
7、 并删除除所述用户简单资料备份字段之外的数据。 7. 一种数据查找的方法, 其特征在于, 包括 : 权 利 要 求 书 CN 103577277 A 2 2/3 页 3 接收数据请求, 所述数据请求包括当前服务所需的数据, 所述数据为基于权利要求 1-6 的数据存储方法存储于主设备和 / 或从设备中的数据 ; 根据所述数据请求, 在保存的系统资料中查询满足所述当前服务所需的数据所在的设 备, 并获取所述设备的设备标号。 8. 根据权利要求 7 所述的方法, 其特征在于, 所述保存的系统资料包括主设备标号、 各 个从设备标号、 主设备中保存的数据以及各个从设备中保存的数据说明。 9. 一种数据存。
8、储的装置, 其特征在于, 包括 : 接收模块, 用于接收输入的数据, 更新主设备的当前数据序列号 ; 保存模块, 用于将所述数据进行第一保存 ; 同步模块, 用于将所述数据发送给至少一个所述从设备, 以便所述从属器根据预设选 择条件选择所述数据中的部分数据进行第二保存。 10. 根据权利要求 9 所述的装置, 其特征在于, 所述装置还包括 : 数据写入接口, 用于将所述数据写入所述保存模块 ; 数据获取接口, 用于从所述保存模块获取保存的所述数据。 11. 根据权利要求 9 所述的装置, 其特征在于, 所述第一保存与所述第二保存采用不同 的数据结构 ; 其中, 所述第一保存采用哈希表或者数组的。
9、形式将所述数据保存在第三方数据库中 ; 所述第二保存采用链表的形式将所述部分数据保存在内部存储中。 12. 根据权利要求 9 所述的装置, 其特征在于, 所述装置还包括 : 判断模块, 用于分别获取所述主设备的当前数据序列号与从设备的当前数据序列号, 并判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同 ; 所述同步模块, 用于当所述主设备的当前数据序列号与所述从设备的当前数据序列号 不同时, 则将所述数据发送给至少一个从设备。 13. 一种数据存储的装置, 其特征在于, 包括 : 接收模块, 用于接收主设备发送的数据, 更新从设备的当前数据序列号 ; 保存模块, 用于根据预设。
10、选择条件选择所述数据中的部分数据进行第二保存。 14. 根据权利要求 13 所述的装置, 其特征在于, 所述装置还包括 : 数据写入接口, 用于将所述部分数据写入所述保存模块 ; 数据获取接口, 用于根据接收到的上层逻辑处理器发送的更换提供服务的设备请求, 通过应用程序编程接口的数据获取接口获取保存的所述部分数据。 15. 根据权利要求 13 所述的装置, 其特征在于, 所述保存模块包括 : 划分单元, 用于将所述数据划分为不同的字段 ; 保存单元, 用于根据预设选择条件选择所述数据中的部分字段进行第二保存。 16. 根据权利要求 15 所述的装置, 其特征在于, 所述根据预设选择条件选择的部。
11、分字 段包括登陆备份字段或用户简单资料备份字段 ; 所述保存单元包括 : 第一保存子单元, 用于当所述预设选择条件为所述登陆备份字段时, 则选择所述数据 中的登陆备份字段进行第二保存, 并删除除所述登陆备份字段之外的字段 ; 第二保存子单元, 用于当所述预设选择条件为所述用户简单资料备份字段时, 则选择 权 利 要 求 书 CN 103577277 A 3 3/3 页 4 所述数据中的用户简单资料备份字段进行第二保存, 并删除除所述用户简单资料备份字段 之外的字段。 17. 一种数据查询的装置, 其特征在于, 包括 : 接收模块, 用于接收数据请求, 所述数据请求包括当前服务所需的数据, 所述。
12、数据为存 储于主设备和 / 或从设备中的数据 ; 查询模块, 用于根据所述数据请求, 在保存的系统资料中查询满足所述当前服务所需 的数据所在的设备, 并获取所述设备的设备标号。 18. 根据权利要求 17 所述的装置, 其特征在于, 所述保存的系统资料包括主设备标号、 各个从设备标号、 主设备中保存的数据以及各个从设备中保存的数据说明。 19. 一种数据处理的系统, 其特征在于, 包括主设备、 至少一个从设备、 上层逻辑处理模 块以及配置管理中心设备 ; 所述主设备, 用于接收输入的数据, 更新主设备的当前数据序列号, 并将所述数据进行 第一保存 ; 以及将所述数据发送给至少一个从设备 ; 所。
13、述从设备, 用于接收主设备发送的数据, 并更新所述从设备的当前数据序列号 ; 以及 根据预设选择条件选择所述数据中的部分数据进行第二保存 ; 所述上层逻辑处理模块, 用于当接收到需要提供当前服务的数据请求时, 向所述配置 管理中心设备发送数据请求, 所述数据请求包括当前服务所需的数据 ; 所述配置管理中心设备, 用于接收上层逻辑处理模块发送的数据请求, 所述数据请求 包括当前服务所需的数据 ; 以及根据所述数据请求, 在保存的系统资料中查询满足所述当 前服务所需的数据所在的设备, 获取所述设备的设备标号, 并将所述设备标号发送给所述 上层逻辑处理模块。 权 利 要 求 书 CN 1035772。
14、77 A 4 1/10 页 5 一种数据处理的方法及装置 技术领域 0001 本发明涉及通信网络技术领域, 尤其涉及一种数据处理的方法及装置。 背景技术 0002 随着互联网应用的迅速发展, 越来越多的数据需要存储在信息系统中。为提升用 户体验、 保证服务的稳定性和具有抵抗灾难的能力, 数据存储一般都采用冗余热备的方式, 例如用 MYSQL 的多机热备, 数据被保存多份。 0003 现有技术的容灾系统中, 通常采用结构相同的数据库分别存储主数据和备份数 据。存储主数据的主设备 Master 接收上层逻辑处理器的写请求写入数据时, 采用同步的方 式将数据传输给从设备 Slave。通常情况下, 用。
15、户通过 Master 进行登录, 当 Master 发生异 常时, 例如 Master 宕机时, 上层逻辑处理器重定向到 Slave 上完成登陆动作。 0004 然而, 采用现有技术进行存储数据时, 发明人发现现有技术至少存在以下问题 : 由 于 Master 和 Slave 中保存的数据相同, 需要同样多的硬件资源, 随着用户数据量的不断增 加, Slave 资源耗费较严重 ; 并且 Master 和 Slave 采用相同的保存方式, 使得 Master 中数 据被污染时, Slave 中保存的数据被同时污染的概率较大, 导致数据抗污染的能力比较弱, 安全性无法保障。 发明内容 0005 本。
16、发明的实施例提供一种数据处理的方法及装置, 可以降低资源消耗, 提高数据 安全性。 0006 为达到上述目的, 本发明的实施例采用如下技术方案 : 0007 一种数据存储的方法, 包括 : 0008 接收输入的数据, 更新主控器的当前数据序列号, 并将所述数据进行第一保存 ; 0009 将所述数据发送给至少一个所述从设备, 以便所述从设备根据预设选择条件选择 所述数据中的部分数据进行第二保存。 0010 一种数据存储的方法, 包括 : 0011 接收主设备发送的数据, 更新从设备的当前数据序列号 ; 0012 根据预设选择条件选择所述数据中的部分数据进行第二保存。 0013 一种数据查找的方法。
17、, 包括 : 0014 接收数据请求, 所述数据请求包括当前服务所需的数据, 所述数据为存储于主设 备和 / 或从设备中的数据 ; 0015 根据所述数据请求, 在保存的系统资料中查询满足所述当前服务所需的数据所在 的设备, 并获取所述设备的设备标号。 0016 一种数据存储的装置, 包括 : 0017 接收模块, 用于接收输入的数据, 更新主控器的当前数据序列号 ; 0018 保存模块, 用于将所述数据进行第一保存 ; 说 明 书 CN 103577277 A 5 2/10 页 6 0019 同步模块, 用于将所述数据发送给至少一个所述从设备, 以便所述从设备根据预 设选择条件选择所述数据中。
18、的部分数据进行第二保存。 0020 一种数据存储的装置, 包括 : 0021 接收模块, 用于接收主设备发送的数据, 更新从设备的当前数据序列号 ; 0022 保存模块, 用于根据预设选择条件选择所述数据中的部分数据进行第二保存。 0023 一种数据查询的装置, 包括 : 0024 接收模块, 用于接收数据请求, 所述数据请求包括当前服务所需的数据, 所述数据 为存储于主设备和 / 或从设备中的数据 ; 0025 查询模块, 用于根据所述数据请求, 在保存的系统资料中查询满足所述当前服务 所需的数据所在的设备, 并获取所述设备的设备标号。 0026 一种数据处理的系统, 包括主设备、 至少一个。
19、从设备、 上层逻辑处理模块以及配置 管理中心设备 ; 0027 所述主设备, 用于接收输入的数据, 更新主设备的当前数据序列号, 并将所述数据 进行第一保存 ; 以及将所述数据发送给至少一个从设备 ; 0028 所述从设备, 用于接收主设备发送的数据, 并更新所述从设备的当前数据序列号 ; 以及根据预设选择条件选择所述数据中的部分数据进行第二保存 ; 0029 所述上层逻辑处理模块, 用于当接收到需要提供当前服务的数据请求时, 向所述 配置管理中心设备发送数据请求, 所述数据请求包括当前服务所需的数据 ; 0030 所述配置管理中心设备, 用于接收上层逻辑处理模块发送的数据请求, 所述数据 请。
20、求包括当前服务所需的数据 ; 以及根据所述数据请求, 在保存的系统资料中查询满足所 述当前服务所需的数据所在的设备, 获取所述设备的设备标号, 并将所述设备标号发送给 所述上层逻辑处理模块。 0031 本发明实施例提供一种数据处理的方法及装置, 通过接收输入的数据, 并将所述 数据进行第一保存 ; 将所述数据发送给至少一个所述从设备, 以便所述从设备根据预设选 择条件选择所述数据中的部分数据进行第二保存。与现有技术中进行存储数据时, 由于 Master 和 Slave 中保存的数据相同, 需要同样多的硬件资源, 随着用户数据量的不断增加, Slave 资源耗费较严重 ; 并且 Master 和。
21、 Slave 采用相同的保存方式, 使得 Master 中数据被 污染时, Slave 中保存的数据被同时污染的概率较大, 导致数据抗污染的能力比较弱, 安全 性无法保障相比, 本发明实施例提供的方案通过从设备保存主设备的部分数据, 使得可以 降低资源消耗, 并且主设备与从设备采用不同的保存方式, 数据被同时污染的概率较小, 从 而提高数据安全性。 附图说明 0032 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性。
22、的前提下, 还可 以根据这些附图获得其他的附图。 0033 图 1 为本发明实施例 1 提供的一种数据存储的方法的流程图 ; 0034 图 2 为本发明实施例 1 提供的一种数据查询的方法的流程图 ; 说 明 书 CN 103577277 A 6 3/10 页 7 0035 图 3 为本发明实施例 2 提供的一种数据处理的方法的流程图 ; 0036 图 4 为本发明实施例 2 提供的数据处理系统架构的示意图 ; 0037 图 5 为本发明实施例 3 提供的一种数据存储的装置 ( 主设备 ) 的框图 ; 0038 图 6 为本发明实施例 3 提供的另一种数据存储的装置的框图 ; 0039 图 7。
23、 为本发明实施例 3 提供的一种数据存储的装置 ( 从设备 ) 的框图 ; 0040 图 8 为本发明实施例 3 提供的另一种数据存储的装置的框图 ; 0041 图 9 为本发明实施例 3 提供的一种数据查询的装置的框图 ; 0042 图 10 为本发明实施例 4 提供的一种数据处理的系统的示意图。 具体实施方式 0043 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的。
24、范围。 0044 实施例 1 0045 本发明实施例提供一种数据存储的方法, 该方法的执行主体可以为主设备 Master, 如图 1 所示, 该方法包括 : 0046 步骤 101, 主设备接收输入的数据, 更新主控器的当前数据序列号, 并将所述数据 进行第一保存 ; 0047 例如, 接收用户输入的登录所需要的数据, 并根据 SN SN+1 更新当前数据序列 号, 其中, SN 为当前数据序列号, SN 为更新后的数据序列号。即主设备没接收一组新的数 据, 将当前数据序列号执行加 1 的操作。这里 “一组” 表示可以用于登录的至少一个数据。 0048 例如, 数据可以为登录某游戏所需要的登录。
25、 ID(Identity, 身份标识 )、 密码, 昵 称、 等级、 年龄、 性别、 备注等等。 0049 可选的, 第一保存指可以将数据在第三方数据库 MYSQL 中保存, 或者可以将数据 采用文件存储。 由于主设备中保存的数据量比较大, 可以采用固定大小的大数组进行保存, 或者采用哈希表进行保存。 0050 可选的, 应用程序编程接口包括数据写入接口和数据获取接口, 其中, 数据写入接 口用于将数据写入存储模块, 数据获取接口用于将数据从存储模块中读取。 例如, 通过应用 程序编程接口的数据写入接口将所述数据进行第一保存。 0051 步骤 102, 主设备将所述数据发送给至少一个所述从设备。
26、 ; 0052 进一步的, 分别获取主设备和从设备当前数据序列号 ; 并判断所述主设备的当前 数据序列号与从所述设备的当前数据序列号是否相同 ; 当所述主设备的当前数据序列号与 所述从设备的当前数据序列号不同时, 可执行本步骤操作。 0053 可选的, 主设备与从设备 Slave 每接收一组新的数据, 即进行一次更新操作, 其中 从设备执行更新操作的过程与主控制执行更新操作的过程相同。 0054 当主设备接收到新的数据进行数据序列号更新后, 从设备的数据序列号为上一次 更新之后的序列号, 此时, 主设备与从设备的数据序列号不同, 则主设备将所述数据发送给 至少一个所述从设备进行数据同步更新, 。
27、从设备接收到数据后进行数据序列号更新, 此时 说 明 书 CN 103577277 A 7 4/10 页 8 主设备与从设备的数据序列号保持一致。 0055 可选的, 进行游戏登录时, 登录 ID 与密码比较重要, 此时, 从设备中的预设选择条 件可以为保存关键数据, 即只保存主设备发送的数据中的登录 ID 与密码, 保证登录服务。 0056 可选的, 通过应用程序编程接口的数据获取接口获取保存的所述数据, 并将所述 数据发送给至少一个所述从设备。数据可以以压缩包的形式发送。 0057 可选的, 第二保存指可以将数据在内存 Cache 中保存。从设备可以采用链表的形 式进行数据保存。 0058。
28、 步骤 103, 从设备接收主设备发送的数据, 更新从设备的当前数据序列号 ; 0059 例如, 数据可以为登录某游戏所需要的登录 ID、 密码, 昵称、 等级、 年龄、 性别、 备注 等等。 0060 根据 SN SN+1 更新当前数据序列号, 其中, SN 为当前数据序列号, SN 为更新 后的数据序列号。即从设备每次从主设备接收一个新的数据包, 将当前数据序列号执行加 1 的操作。这里数据包为主设备将需要发送的数据进行压缩成的数据包, 便于快速传输。 0061 步骤 104, 从设备根据预设选择条件选择所述数据中的部分数据进行第二保存。 0062 其中, 将所述数据划分为不同的字段 ; 。
29、根据预设选择条件选择所述数据中的部分 字段进行第二保存。 0063 需要说明的是, 预设选择条件为根据从设备当前执行的业务的特点设置的选择数 据的条件。例如, 所述根据预设选择条件选择的部分字段包括登陆备份字段或者用户简单 资料备份字段。 0064 可选的, 当所述预设选择条件为所述登陆备份字段时, 则选择所述数据中的登陆 备份字段进行第二保存, 并删除除所述登陆备份字段之外的字段 ; 0065 当所述预设选择条件为所述用户简单资料备份字段时, 则选择所述数据中的用户 简单资料备份字段进行第二保存, 并删除除所述用户简单资料备份字段之外的字段。 0066 例如, 进行游戏登录时, 登录 ID 。
30、与密码比较重要, 此时, 从设备中的预设选择条件 可以为登陆备份字段, 即只保存主设备发送的数据中的登录 ID 与密码, 保证登录服务。另 外, 为了适应批量获取用户的简单资料时, 例如, 用户的昵称、 性别等简单资料, 此时, 从设 备中的预设选择条件可以为用户简单资料备份字段, 即只保存主设备发送的数据中的昵 称、 性别等资料。当然还可以根据其他的业务特点选择不同的字段进行第二保存。 0067 进一步的, 当所述主设备发生异常时, 从设备接收上层逻辑处理器发送的更换提 供服务的设备请求, 通过应用程序编程接口的数据获取接口获取保存的所述部分数据。 0068 可选的, 根据预设选择条件选择所。
31、述数据中的部分数据, 通过应用程序编程接口 的数据写入接口将所述部分数据进行第二保存。可选的, 第二保存指可以将数据在内存 Cache 中保存。从设备可以采用链表的形式进行数据保存。 0069 本发明实施例提供一种数据存储的方法, 通过保存主设备发送的数据中的部分数 据, 使得可以降低资源消耗, 并且采用与主设备不同的保存方式, 数据被同时污染的概率较 小, 从而提高数据安全性。 0070 本发明实施例提供一种数据查询的方法, 该方法的执行主体为配置管理中心设 备, 如图 2 所示, 该方法包括 : 0071 步骤 201, 配置管理中心设备接收数据请求, 所述数据请求包括当前服务所需的数 说。
32、 明 书 CN 103577277 A 8 5/10 页 9 据, 所述数据为基于上述数据存储方法存储于主设备和 / 或从设备中的数据 ; 0072 其中, 当前服务所需的数据可以为用户登陆某个应用时需要的密码等数据, 或者 可以为服务过程中, 主设备宕机时, 需要替换主设备时需要的从设备中的数据。 0073 步骤 202, 根据所述数据请求, 在保存的系统资料中查询满足所述当前服务所需的 数据所在的设备, 并获取所述设备的设备标号。 0074 所述保存的系统资料包括主设备标号、 各个从设备标号、 主设备中保存的数据以 及各个从设备中保存的数据说明。 0075 需要说明的是, 当前服务所需的数。
33、据所在的设备可以为主设备和 / 或从设备, 获 取设备的设备标号后, 即可由设备标号对应的设备中保存的数据提供当前服务。 0076 本发明实施例提供的一种数据查询的方法, 通过配置管理中心设备中保存系统资 料, 使得可以保证不间断的提供正常服务。 0077 实施例 2 0078 本发明实施例提供一种数据处理的方法, 如图 3 所示, 该方法包括 : 0079 步骤 301, 主设备接收输入的数据, 更新主设备的当前数据序列号, 并将所述数据 进行第一保存 ; 0080 例如, 接收用户输入的登录所需要的数据, 并根据 SN SN+1 更新当前数据序列 号, 其中, SN 为当前数据序列号, S。
34、N 为更新后的数据序列号。即主设备没接收一组新的数 据, 将当前数据序列号执行加 1 的操作。这里 “一组” 表示可以用于登录的至少一个数据。 0081 例如, 数据可以为登录某游戏所需要的登录 ID(Identity, 身份标识 )、 密码, 昵 称、 等级、 年龄、 性别、 备注等等。 0082 可选的, 第一保存指可以将数据在第三方数据库 MYSQL 中保存, 或者可以将数据 采用文件存储。 由于主设备中保存的数据量比较大, 可以采用固定大小的大数组进行保存, 还可以采用哈希表进行保存。 0083 可 选 的, 如 图 4 所 示 的 数 据 处 理 系 统 架 构 的 示 意 图, A。
35、PI(Application Programming Interface, 应用程序编程接口 ) 包括数据写入接口 SetData 和数据获取接 口 GetData。其中, 数据写入接口用于将数据写入存储模块, 例如, 执行写操作时, 写进程负 责提供上层逻辑处理器写入数据的请求, 当接收到用户写入的数据时, 通过应用程序编程 接口的数据写入接口将数据写入保存模块, 由保存模块进行第一保存。数据获取接口用于 将数据从存储模块中读取, 例如, 执行读操作时, 读进程负责提供上层逻辑处理器数据读取 的请求, 通过应用程序编程接口的数据获取接口将存储在保存模块中的数据读取出来。另 外, 当执行同步操。
36、作时, 读取数据时, 也通过应用程序编程接口的数据获取接口将存储在保 存模块中的数据读取出来。 0084 步骤 302, 分别获取所述主设备的当前数据序列号与从设备的当前数据序列号, 并 判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同 ; 0085 可选的, 主设备与从设备每接收一组新的数据, 即进行一次更新操作, 其中从设备 执行更新操作的过程与主控制执行更新操作的过程相同。需要说明的是, 主设备与从设备 接收到的每一组新数据都携带一个序列号, 用于标识当前数据。 0086 当主设备接收到新的数据进行数据序列号更新后, 从设备此时还没有接收到主设 备发送的新的数据, 因此。
37、从设备的数据序列号为上一次更新之后的序列号。 说 明 书 CN 103577277 A 9 6/10 页 10 0087 步骤 303, 当所述当前序列号与从设备的当前序列号不一致时, 将所述数据发送给 至少一个所述从设备, 以便所述从设备根据预设选择条件选择所述数据中的部分数据进行 第二保存 ; 0088 此时, 主设备与从设备的数据序列号不同, 则主设备将所述数据发送给至少一个 所述从设备进行数据同步更新, 从设备接收到数据后进行数据序列号更新, 此时主设备与 从设备的数据序列号保持一致。 0089 可选的, 如图 4 所示, 通过应用程序编程接口的数据获取接口获取保存的所述数 据, 并将。
38、所述数据发送给至少一个所述从设备。数据可以以压缩包的形式发送。 0090 步骤 304, 从设备接收主设备发送的数据, 更新从设备的当前数据序列号 ; 0091 各个从设备接收到数据后, 都需要进行数据序列号的更新。 其中, 数据序列号更新 的方式与主设备进行数据序列号更新的方式相同, 在此不一一赘述。 0092 步骤 305, 根据预设选择条件选择所述数据中的部分数据进行第二保存。 0093 进一步的, 将所述数据划分为不同的字段 ; 根据预设选择条件选择所述数据中的 部分字段进行第二保存。例如, 可以将进行某游戏所需要的数据划分为登录 ID(Identity, 身份标识 )、 密码, 昵称。
39、、 等级、 年龄、 性别、 备注等字段。 0094 需要说明的是, 预设选择条件为根据从设备当前执行的业务的特点设置的选择数 据的条件。例如, 所述根据预设选择条件选择的部分字段包括登陆备份字段或用户简单资 料备份字段。 0095 可选的, 当所述预设选择条件为所述登陆备份字段时, 则选择所述数据中的登陆 备份字段进行第二保存, 并删除除所述登陆备份字段之外的字段 ; 0096 当所述预设选择条件为所述用户简单资料备份字段时, 则选择所述数据中的用户 简单资料备份字段进行第二保存, 并删除除所述用户简单资料备份字段之外的字段。 0097 例如, 进行游戏登录时, 登录 ID 与密码比较重要, 。
40、此时, 从设备中的预设选择条件 可以为登陆备份字段, 即只保存主设备发送的数据中的登录 ID 与密码字段, 保证登录服 务。 另外, 为了适应批量获取用户的简单资料时, 例如, 用户的昵称、 性别等简单资料, 此时, 从设备中的预设选择条件可以为用户简单资料备份字段, 即只保存主设备发送的数据中的 昵称、 性别等资料。当然还可以根据其他的业务特点选择不同的字段进行第二保存。 0098 可选的, 如图4所示, 从设备中的应用程序编程接口包括数据写入接口SetData和 数据获取接口GetData。 根据预设选择条件选择所述数据中的部分数据, 通过应用程序编程 接口的数据写入接口将所述部分数据写入。
41、保存模块, 由保存模块进行第二保存。 0099 可选的, 如图 4 所示, 第二保存指可以将数据在内存 Cache 中保存。从设备可以采 用链表的形式进行数据保存。 0100 需要说明的是, 主设备与从设备中都有三个业务进程 : 读进程、 写进程、 同步进程。 上层逻辑处理器可以对主设备执行读写请求, 对从设备执行读请求, 主设备通过与从设备 上数据序列号的比较, 当两者的数据序列号不同时, 则执行同步操作。 0101 进一步的, 配置管理中心设备接收上层逻辑处理模块发送的数据请求, 所述数据 请求包括当前服务所需的数据 ; 0102 例如当需要登录游戏时, 需要读取密码, 此时数据请求为可以。
42、提供登录游戏的密 码。 说 明 书 CN 103577277 A 10 7/10 页 11 0103 配置管理中心设备根据所述数据请求, 在保存的系统资料中查询满足所述当前服 务所需的数据所在的设备, 并获取所述设备的设备标号, 并将所述设备标号发送给所述上 层逻辑处理模块。 0104 需要说明的是, 当前服务所需的数据所在的设备可以为主设备和 / 或从设备。 0105 例如, 当主设备发生异常不能完成登录操作时, 例如, 主设备宕机时, 上层逻辑处 理器重定向到从设备上完成登录动作, 即从设备接收上层逻辑处理器发送的更换提供服务 的设备请求, 通过应用程序编程接口的数据获取接口获取保存的所述。
43、部分数据, 完成登录 操作, 进一步提供服务。 0106 另外, 在确定由哪一个从设备提供服务时, 可以通过一个集中的配置管理中心设 备来管理。配置管理中心设备为一个独立的设备, 其中保存着系统资料, 如主设备标号、 各 个从设备标号、 主设备中保存的数据以及各个从设备中保存的数据说明 ( 例如, 登陆备份 字段、 用户简单资料备份字段等 )。 0107 当主设备宕机时, 上层逻辑处理器向配置管理中心设备发送数据请求, 请求提供 继续完成当前服务所需的数据。 配置管理中心设备通过查找保存的系统资料确定可以提供 服务的从设备, 并将从设备标号发送给上层逻辑处理器, 上层逻辑处理器重定向到从设备 。
44、标号对应的从设备上, 由从设备中保存的数据提供当前服务。 0108 本发明实施例提供一种数据处理的方法, 通过从设备保存主设备发送的数据中的 部分数据, 使得可以有效地降低从设备的硬件消耗, 并且从设备与主设备采用不同的数据 保存方式, 数据被同时污染的概率较小, 从而提高数据安全性。 0109 实施例 3 0110 本发明实施例提供一种数据存储的装置, 该装置可以为主设备, 如图 5 所示, 该装 置包括 : 接收模块 501, 保存模块 502, 同步模块 503 ; 0111 接收模块 501, 用于接收输入的数据, 更新主控器的当前数据序列号 ; 0112 可选的, 接收用户输入的登录。
45、所需要的数据, 并根据 SN SN+1 更新当前数据序 列号, 其中, SN 为当前数据序列号, SN 为更新后的数据序列号。即主控器没接收一组新的 数据, 将当前数据序列号执行加 1 的操作。这里 “一组” 表示可以用于登录的至少一个数据。 0113 例如, 数据可以为登录某游戏所需要的登录 ID(Identity, 身份标识 )、 密码, 昵 称、 等级、 年龄、 性别、 备注等等。 0114 保存模块 502, 用于将所述数据进行第一保存 ; 0115 进一步的, 如图 6 所示, 该装置还包括 : 数据写入接口 504, 用于将所述数据写入所 述保存模块 502。 0116 可选的, 。
46、第一保存指可以将数据在第三方数据库 MYSQL 中保存, 或者可以将数据 采用文件存储。 由于主设备中保存的数据量比较大, 可以采用固定大小的大数组进行保存, 还可以以哈希表进行保存。 0117 判断模块 505, 用于分别获取所述主设备的当前数据序列号与从设备的当前数据 序列号, 并判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同 ; 0118 当所述当前序列号与从设备的当前序列号不一致时, 同步模块 503, 用于将所述数 据发送给至少一个所述从设备, 以便所述从设备根据预设选择条件选择所述数据中的部分 数据进行第二保存 ; 其中, 所述第一保存与所述第二保存采用不同的数。
47、据结构。 说 明 书 CN 103577277 A 11 8/10 页 12 0119 所述第二保存采用链表的形式将所述部分数据保存在内部存储中。 0120 如图 6 所示, 该装置还包括 : 数据获取接口 506, 用于从所述保存模块 502 获取保 存的所述数据。 0121 本发明实施例提供一种数据存储的装置, 通过接收模块, 用于接收输入的数据, 更 新主设备的当前数据序列号 ; 保存模块, 用于将所述数据进行第一保存 ; 同步模块, 用于当 所述当前序列号与从设备的当前序列号不一致时, 将所述数据发送给至少一个所述从设 备, 以便所述从设备根据预设选择条件选择所述数据中的部分数据进行第。
48、二保存。本发明 实施例提供的方案可以降低资源消耗, 并且主设备与从设备采用不同的保存方式, 数据被 同时污染的概率较小, 从而提高数据安全性。 0122 本发明实施例提供一种数据存储的装置, 该装置可以为从设备, 如图 7 所示, 该装 置包括 : 接收模块 701, 保存模块 702 ; 0123 接收模块 701, 用于接收主设备发送的数据, 更新从设备的当前数据序列号, 0124 可选的, 根据 SN SN+1 更新当前数据序列号, 其中, SN 为当前数据序列号, SN 为更新后的数据序列号。即从设备每次从主设备接收一个新的数据包, 将当前数据序列号 执行加 1 的操作。这里数据包为主。
49、设备将需要发送的数据进行压缩成的数据包, 便于快速 传输。 0125 保存模块 702, 用于根据预设选择条件选择所述数据中的部分数据进行第二保存。 0126 可选的, 第二保存指可以将数据在内存 Cache 中保存。从设备可以采用链表的形 式进行数据保存。 0127 进一步的, 如图 8 所示, 所述装置还包括数据写入接口 703, 用于将所述部分数据 写入所述保存模块 702。 0128 进一步的, 如图 8 所示, 所述保存模块 702 包括 : 划分单元 7021, 保存单元 7022 ; 0129 划分单元 7021, 用于将所述数据划分为不同的字段 ; 例如, 可以将登录某游戏所 需要的数据划分为登录 ID(Identity。