1、(10)申请公布号 (43)申请公布日 (21)申请号 201410642550.3 (22)申请日 2014.11.07 G06F 17/30(2006.01) (71)申请人 中国建设银行股份有限公司 地址 100033 北京市西城区金融大街 25 号 (72)发明人 何嘉杰 杜智铨 史文 李兴华 黄东生 柳扬歌 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 王宝筠 (54) 发明名称 一种集中清算系统的数据管理方法及系统 (57) 摘要 本发明实施例公开了一种集中清算系统的数 据管理方法及系统, 本发明方法实施例中数据管 理方法包括 : 获取待写入报文数据 ;
2、 解析待写入 报文数据, 得到报文关系数据及报文内容数据 ; 将报文关系数据保存在 RDBMS 数据库, 将报文内 容数据保存在 NoSQL 数据库中, 并在 RDBMS 数据 库建立报文内容数据查询索引 ; 获取报文读取请 求 ; 根据报文读取请求从 RDBMS 数据库中获取报 文关系数据及报文内容数据查询索引, 从 NoSQL 数据库中查询报文内容数据 ; 将报文关系数据和 报文内容数据组合后, 读取报文信息。 本发明实施 例节省了 RDBMS 数据库的 IO 开销, 提高了 RDBMS 数据库查询缓存命中率, 提升了 RDBMS 数据库主 从同步效率, 同时由于 RDBMS 数据库存储的
3、数据 的减小, 提高了 RDBMS 数据库中数据备份和恢复 的速度。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图4页 (10)申请公布号 CN 104391899 A (43)申请公布日 2015.03.04 CN 104391899 A 1/2 页 2 1. 一种集中清算系统的数据管理方法, 其特征在于, 所述集中清算系统的数据库包括 NoSQL 数据库和 RDBMS 数据库, 所述数据管理方法包括 : 获取待写入报文数据 ; 解析所述待写入报文数据, 得到报文关系数据及报文内容数据 ; 将所述报文关系数据保存在所述
4、 RDBMS 数据库, 将所述报文内容数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 获取报文读取请求 ; 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据及报文内容数 据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文内容数据 ; 将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述方法还包括 : 获取业务处理信息 ; 根据所述业务处理信息更新所述NoSQL数据库中的报文内容数据和所述RDBMS数据库 中的报文关系数据。 3.根据
5、权利要求1或2所述的方法, 其特征在于, 所述报文关系数据包括原始报文中的 标志数据、 区分业务处理主体及标志业务状态的数据。 4. 根据权利要求 3 所述的方法, 其特征在于, 所述原始报文中的标志数据包括发报行、 业务编号、 登记日期、 币种代码、 金额、 起息日、 费用承担方式。 5. 根据权利要求 3 所述的方法, 其特征在于, 所述区分业务处理主体及标志业务状态 的数据包括归属分行、 客户类型、 业务来源、 处理状态, 特殊标志。 6. 一种集中清算系统的数据管理子系统, 其特征在于, 所述集中清算系统的数据库包 括 NoSQL 数据库和 RDBMS 数据库, 所述数据管理子系统包括
6、 : 第一获取单元, 用于获取待写入报文数据 ; 解析单元, 用于解析所述待写入报文数据, 得到报文关系数据及报文内容数据 ; 保存单元, 用于将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内容数据 保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 第二获取单元, 用于获取报文读取请求 ; 第三获取单元, 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据 及报文内容数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报 文内容数据 ; 读取单元, 用于将所述报文关系数据和所述报文内容数据组合
7、后, 读取报文信息。 7. 根据权利要求 6 所述的数据管理子系统, 其特征在于, 所述数据管理子系统还包括 : 第四获取单元, 用于获取业务处理处理信息 ; 更新单元, 用于根据所述业务处理信息更新所述 NoSQL 数据库中的报文内容数据和所 述 RDBMS 数据库中的报文关系数据。 8.根据权利要求6或7所述的数据管理子系统, 其特征在于, 所述报文关系数据包括原 始报文中的标志数据、 区分业务处理主体及标志业务状态的数据。 9. 根据权利要求 8 所述的数据管理子系统, 其特征在于, 所述原始报文中的标志数据 包括发报行、 业务编号、 登记日期、 币种代码、 金额、 起息日、 费用承担方
8、式。 权 利 要 求 书 CN 104391899 A 2 2/2 页 3 10. 根据权利要求 8 所述的数据管理子系统, 其特征在于, 所述区分业务处理主体及标 志业务状态的数据包括归属分行、 客户类型、 业务来源、 处理状态, 特殊标志。 权 利 要 求 书 CN 104391899 A 3 1/10 页 4 一种集中清算系统的数据管理方法及系统 技术领域 0001 本发明涉及计算机技术领域, 特别涉及一种集中清算系统的数据管理方法及系 统。 背景技术 0002 银行的集中清算系统上联SWIFT Alliance系统及当地清算接口系统, 下联行内相 关业务系统, 集中处理外汇清算相关业务
9、报文, 实现外汇清算 “总行一口进, 一口出” 的业务 目标。 0003 随着外汇清算业务及人民币离岸业务不断发展, 预期现有集中清算系统将承担越 来越大的处理压力, 为适应业务发展需求, 对现有系统进行性能分析后发现缺陷主要在于 数据库层面, 存在两个问题 : 其一是业务高速发展, 在大数据量高并发环境下数据库读写性 能瓶颈初现端倪 ; 其二是应用开发日益复杂, 分库分表规则繁多, 对需求变更响应变慢, 数 据库中文本存储报文原数据, 造成库表庞大, 导致库表过大, 不便于对数据进行归档处理及 进一步分析。 0004 目前银行集中清算系统的数据库采用了两种不同方案 : 一种是采用传统的关系数
10、 据库(relationaldatabase management system, RDBMS), 但RDBMS对硬件要求过大, 且不支 持分布式存储, 无法透明地扩展节点 ; 另一种是采用非关系数据库(Not Only SQL, NoSQL), 其具有 RDBMS 数据库所不具备的优势 : 对硬件要求不高, 支持分布式存储, 能透明地扩展节 点, 典型的NoSQL数据库以key-values的形式存储数据, 具有模式自由的特点, 但是随着业 务的不断发展以及相关系统的扩展, 简单的 NoSQL 数据库无法适应不断发展的业务需求。 发明内容 0005 本发明实施例提供了涉及一种集中清算系统的数
11、据管理方法及系统, 在集中清算 系统中融合使用 RDBMS 数据库与 NoSQL 数据库, 节省了 RDBMS 数据库的 IO 开销, 提高了 RDBMS 数据库查询缓存命中率, 提升了 RDBMS 数据库主从同步效率, 同时由于 RDBMS 数据库 存储的数据的减小, 提高了 RDBMS 数据库中数据备份和恢复的速度。 0006 本发明实施例第一方面提供了一种集中清算系统的数据管理方法, 包括 : 0007 所述集中清算系统的数据库包括 NoSQL 数据库和 RDBMS 数据库, 所述数据管理方 法包括 : 0008 获取待写入报文数据 ; 0009 解析所述待写入报文数据, 得到报文关系数
12、据及报文内容数据 ; 0010 将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内容数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0011 获取报文读取请求 ; 0012 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据及报文内 容数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文内容数 说 明 书 CN 104391899 A 4 2/10 页 5 据 ; 0013 将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 0014 可选的, 所述方法还可以包括 : 001
13、5 获取业务处理信息 ; 0016 根据所述业务处理信息更新所述NoSQL数据库中的报文内容数据和RDBMS数据库 中的报文关系数据。 0017 可选的, 所述报文关系数据包括原始报文中的标志数据、 区分业务处理主体及标 志业务状态的数据。 0018 可选的, 所述原始报文中的标志数据包括发报行、 业务编号、 登记日期、 币种代码、 金额、 起息日、 费用承担方式。 0019 可选的, 所述区分业务处理主体及标志业务状态的数据包括归属分行、 客户类型、 业务来源、 处理状态, 特殊标志。 0020 本发明实施例的第二方面提供了一种集中清算系统的数据管理子系统, 所述集中 清算系统的数据库包括
14、NoSQL 数据库和 RDBMS 数据库, 所述数据管理子系统包括 : 0021 第一获取单元, 用于获取待写入报文数据 ; 0022 解析单元, 用于解析所述待写入报文数据, 得到报文关系数据及报文内容数据 ; 0023 保存单元, 用于将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内容 数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0024 第二获取单元, 用于获取报文读取请求 ; 0025 第三获取单元, 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系 数据及报文内容数据查询索引, 根据所述报文内容数据
15、查询索引从所述 NoSQL 数据库中获 取报文内容数据 ; 0026 读取单元, 用于将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 0027 可选的, 所述数据管理子系统还包括 : 0028 第四获取单元, 用于获取业务处理处理信息 ; 0029 更新单元, 用于根据所述业务处理信息更新所述 NoSQL 数据库中的报文内容数据 和 RDBMS 数据库中的报文关系数据。 0030 可选的, 所述报文关系数据包括原始报文中的标志数据、 区分业务处理主体及标 志业务状态的数据。 0031 可选的, 所述原始报文中的标志数据可以包括发报行、 业务编号、 登记日期、 币种 代码、 金额、
16、 起息日、 费用承担方式。 0032 可选的, 所述区分业务处理主体及标志业务状态的数据可以包括归属分行、 客户 类型、 业务来源、 处理状态, 特殊标志。 0033 从以上技术方案可以看出, 本发明实施例具有以下优点 : 0034 本发明实施例中在集中清算系统中融合使用 RDBMS 数据库与 NoSQL 数据库, 使两 类数据库各司其职, 让RDBMS专门负责处理擅长的关系存储的报文关系数据, 而NoSQL作为 报文内容数据的存储, 由于 RDBMS 数据库只存储需要查询的小字段报文关系数据, 不再负 责存储大文本字段(报文内容数据), 节省了RDBMS数据库的IO开销, 提高了RDBMS数
17、据库 查询缓存命中率, 提升了 RDBMS 主从同步效率, 同时由于 RDBMS 数据库存储的数据的减小, 说 明 书 CN 104391899 A 5 3/10 页 6 提高了 RDBMS 数据库中数据备份和恢复的速度。 附图说明 0035 图 1 是本发明实施例中集中清算系统的数据管理方法的一个实施例示意图 ; 0036 图 2 是本发明实施例中集中清算系统的数据管理方法的另一个实施例示意图 ; 0037 图 3 是本发明实施例中集中清算系统的数据管理子系统的一个实施例示意图 ; 0038 图 4 是本发明实施例中集中清算系统的数据管理子系统的另一个实施例示意图 ; 0039 图 5 是本
18、发明实施例中集中清算系统的数据管理子系统的另一个实施例示意图。 具体实施方式 0040 本发明实施例提供了一种集中清算系统的数据管理方法及系统, 在集中清算系统 中融合使用 RDBMS 数据库与 NoSQL 数据库, 节省了 RDBMS 数据库的 IO 开销, 提高了 RDBMS 数据库查询缓存命中率, 提升了RDBMS数据库主从同步效率, 同时由于RDBMS数据库存储的 数据的减小, 提高了 RDBMS 数据库中数据备份和恢复的速度。 0041 为了使本技术领域的人员更好地理解本发明方案, 下面将结合本发明实施例中的 附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述
19、的实施例仅仅是 本发明一部分的实施例, 而不是全部的实施例。基于本发明中的实施例, 本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都应当属于本发明保护的范 围。 0042 本发明的说明书和权利要求书及上述附图中的术语 “第一” 、“第二” 等 ( 如果存 在 ) 是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换, 以便这里描述的实施例能够以除了在这里图示或描述的内 容以外的顺序实施。此外, 术语 “包括” 和 “具有” 以及他们的任何变形, 意图在于覆盖不排 他的包含, 例如, 包含了一系列步骤或单元的过程、 方
20、法、 系统、 产品或设备不必限于清楚地 列出的那些步骤或单元, 而是可包括没有清楚地列出的或对于这些过程、 方法、 产品或设备 固有的其它步骤或单元。 0043 本发明实施例中, 集中清算系统包括国内清算、 报文管理及海外清算三个子系统。 0044 国内清算子系统连接人行通讯前置及国内通讯总线, 实现与国内的报文交换。海 外清算子系统通过文件交换服务器实现与海外相关系统 ( 如核心系统、 网银系统、 贸易融 资系统等 ) 连接, 通过广域网与当地清算系统、 黑名单系统连接, 例如纽约分行的 CHIPS、 FEDWIRE 美元清算系统、 纽约分行的 PRIME 黑名单检索系统, 海外分行只部署客
21、户端, 然后 通过专线连接海外外汇清算子系统进行业务操作。 0045 国内国外对外报文统一通过报文管理子系统, 与总行 SWIFT Alliance 系统连接, 实现与境外交换。 0046 请参阅图 1, 本发明实施例中集中清算系统的数据管理方法一个实施例包括 : 0047 101、 获取待写入报文数据 ; 0048 本发明实施例中, 在集中清算系统的数据层融合使用 NoSQL 数据库和 RDBMS 数据 库, 在集中清算系统的数据管理进行数据管理前, 需要进行 NoSQL 数据库和 RDBMS 数据库 的如下准备工作 : (1) 在 RDBMS 数据库中创建清算系统数据库 Database
22、及相关报文数据表 说 明 书 CN 104391899 A 6 4/10 页 7 Table, 创建的表可以包括 : 报文记录表、 汇入流水表、 汇出流水表、 机构表、 用户表 ; (2) 在 NoSQL数据库中创建原始报文数据库及Collection集合 ; (3)编译RDBMS数据库及NoSQL数 据库, 创建报文信息处理的规则 , 包括 : 来报自动登记报文信息、 报文自动分发登记、 汇入 报文自动匹配登记、 转发报文登记、 按照特定规则 ( 登记日期、 业务编号、 起息日、 金额、 币 别等)获取报文信息、 根据业务处理情况(编辑、 复核、 授权)更新报文信息 ; (4)使用Java6
23、 编译 RDBMS 数据库及 NoSQL 数据库, 为 NoSQL 数据库和 RDBMS 数据库提供数据访问接口, 如 分别提供过程 (1)、 (2) 中创建的存储过程所对应的数据访问接口 ; (5) 在集中清算系统中 加载编译的 NoSQL 数据库和 RDBMS 数据库, 此时即可以融合使用 NoSQL 数据库和 RDBMS 数 据库, 根据不同的业务需要调用不同接口, 分别读取和写入业务所需要的数据。 0049 在集中清算系统中, 在进行业务操作或业务处理的时候, 在报文数据写入时, 可以 获取待写入的报文数据。 0050 102、 解析所述待写入报文数据, 得到报文关系数据及报文内容数据
24、 ; 0051 集中清算系统对获取的报文数据进行解析, 即可以得到报文关系数据, 和报文内 容数据, 所述报文关系数据为标志报文数据的各种属性信息及关系信息的数据, 所述报文 关系数据可以包括如下两类 : 0052 第一类为原始报文中的标志数据, 第二类为区分业务处理主体及标志业务状态的 数据 ; 0053 其中, 原始报文中的标志数据可以包括发报行、 业务编号、 登记日期、 币种代码、 金 额、 起息日、 费用承担方式等 ; 区分业务处理主体及标志业务状态的数据可以包括归属分 行、 客户类型、 业务来源、 处理状态, 特殊标志等。 0054 103、 将所述报文关系数据保存在所述 RDBMS
25、 数据库, 将所述报文内容数据保存在 所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0055 集中清算系统将获取的报文关系数据保存在 RDBMS 数据库, 将所述报文内容数 据保存在所述 NoSQL 数据库中, 此时在 RDBMS 数据库只负责保存擅长的关系存储, 即报文 关系数据, 而在 NoSQL 数据库保存报文的实质内容数据, 即报文的内容数据, 在保存数据在 NoSQL 数据库及 RDBMS 数据库中时, 在所述 RDBMS 数据库建立报文内容数据查询索引, 以方 便在读取报文数据时, 根据报文关系数据, 及报文内容数据查询索引, 将报文关系数
26、据和报 文内容数据对应。 0056 104、 获取报文读取请求 ; 0057 在报文读取时, 集中清算系统可以获取到报文读取的请求 ; 0058 105、 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据及报 文内容数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文内 容数据 ; 0059 集中清算系统在获取报文读取请求后, 根据报文读取请求可以获知需要读取的报 文数据, 根据所述报文读取请求可以从所述 RDBMS 数据库中获取所述报文关系数据及报文 内容数据查询索引, 然后根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文 内容
27、数据。 0060 106、 将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 0061 在获取到报文关系数据和报文内容数据后, 即可对报文关系数据和报文内容数据 说 明 书 CN 104391899 A 7 5/10 页 8 按设定的报文组成规则组合成完整的报文数据, 读取报文信息。 0062 本实施例中, 步骤 101 至步骤 103 为在 NoSQL 数据库和 RDBMS 数据库中存入数据, 步骤 104 至步骤 106 为在 NoSQL 数据库和 RDBMS 数据库读取数据, 上述过程可以是两个相 对独立的过程, 此处不作限定。 0063 本发明实施例中在集中清算系统中融合使
28、用 RDBMS 数据库与 NoSQL 数据库, 使 两类数据库各司其职, 让 RDBMS 数据库专门负责处理擅长的关系存储的报文关系数据, 而 NoSQL 数据库作为报文内容数据的存储, 由于 RDBMS 数据库只存储需要查询的小字段报文 关系数据, 不再负责存储大文本字段的报文内容数据, 节省了RDBMS数据库的IO开销, 提高 了 RDBMS 数据库查询缓存命中率, 提升了 RDBMS 数据库主从同步效率, 同时由于 RDBMS 数据 库存储的数据的减小, 提高了 RDBMS 数据库中数据备份和恢复的速度。 0064 具体的, 本发明实施例具有以下优点 : 0065 节省 RDBMS 数据
29、库的 IO 开销 : 由于 RDBMS 数据库只存储需要查询的小字段, 不再 负责存储大文本字段, 这样就可以节省RDBMS数据库存储的空间开销, 从而节省RDBMS数据 库的磁盘 IO。 0066 提高 RDBMS 数据库查询缓存命中率 : 由于查询缓存失效是表级的, 表一旦被更新 就会失效, 经过这种字段的分离, 更新的字段如果不是存储在 RDBMS 数据库中, 那么对查询 缓存就没有任何影响。而 NoSQL 数据库的缓存往往都是行级别的, 只对更新的记录的缓存 失效。 0067 提升 RDBMS 数据库主从同步效率 : 由于 RDBMS 数据库存储空间的减小, 同步的数 据记录也减小了,
30、 而部分数据的更新落在NoSQL数据库而不是RDBMS数据库, 这样也减少了 RDBMS 数据库数据需要同步的次数。 0068 提高RDBMS数据库数据备份和恢复的速度。 由于RDBMS数据库存储的数据的减小, 很容易看到数据备份和恢复的速度也将极大的提高。比以前更容易扩展, NoSQL 数据库天 生就容易扩展, 经过这种优化, RDBMS 数据库性能也得到提高。 0069 图 1 所示的实施例中, NoSQL 数据库及 RDBMS 数据库中的数据可以在处理业务后 实时获得更新, 请参阅图 2, 本发明实施例中集中清算系统的数据管理方法另一个实施例包 括 : 0070 201、 获取待写入报文
31、数据 ; 0071 本发明实施例中, 在集中清算系统的数据层融合使用 NoSQL 数据库和 RDBMS 数据 库, 在集中清算系统的数据管理进行数据管理前, 需要进行 NoSQL 数据库和 RDBMS 数据库 的如下准备工作 : (1) 在 RDBMS 数据库中创建清算系统数据库 Database 及相关报文数据表 Table, 创建的表可以包括 : 报文记录表、 汇入流水表、 汇出流水表、 机构表、 用户表 ; (2) 在 NoSQL数据库中创建原始报文数据库及Collection集合 ; (3)编译RDBMS数据库及NoSQL数 据库, 创建报文信息处理的规则 , 包括 : 来报自动登记报
32、文信息、 报文自动分发登记、 汇入 报文自动匹配登记、 转发报文登记、 按照特定规则 ( 登记日期、 业务编号、 起息日、 金额、 币 别等)获取报文信息、 根据业务处理情况(编辑、 复核、 授权)更新报文信息 ; (4)使用Java6 编译 RDBMS 数据库及 NoSQL 数据库, 为 NoSQL 数据库和 RDBMS 数据库提供数据访问接口, 如 分别提供过程 (1)、 (2) 中创建的存储过程所对应的数据访问接口 ; (5) 在集中清算系统中 加载编译的 NoSQL 数据库和 RDBMS 数据库, 此时即可以融合使用 NoSQL 数据库和 RDBMS 数 说 明 书 CN 104391
33、899 A 8 6/10 页 9 据库, 根据不同的业务需要调用不同接口, 分别读取和写入业务所需要的数据。 0072 在集中清算系统中, 在进行业务操作或业务处理的时候, 在报文数据写入时, 可以 获取待写入的报文数据。 0073 202、 解析所述待写入报文数据, 得到报文关系数据及报文内容数据 ; 0074 集中清算系统对获取的报文数据进行解析, 即可以得到报文关系数据, 和报文内 容数据, 所述报文关系数据为标志报文数据的各种属性信息及关系信息的数据, 所述报文 关系数据可以包括如下两类 : 0075 第一类为原始报文中的标志数据, 第二类为区分业务处理主体及标志业务状态的 数据 ;
34、0076 其中, 原始报文中的标志数据可以包括发报行、 业务编号、 登记日期、 币种代码、 金 额、 起息日、 费用承担方式等信息 ; 区分业务处理主体及标志业务状态的数据可以包括归属 分行、 客户类型、 业务来源、 处理状态, 特殊标志等信息。 0077 203、 将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内容数据保存在 所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0078 集中清算系统将获取的报文关系数据保存在 RDBMS 数据库, 将所述报文内容数 据保存在所述 NoSQL 数据库中, 此时在 RDBMS 数据库只负责保存擅
35、长的关系存储, 即报文 关系数据, 而在 NoSQL 数据库保存报文的实质内容数据, 即报文的内容数据, 在保存数据在 NoSQL 数据库及 RDBMS 数据库中时, 在所述 RDBMS 数据库建立报文内容数据查询索引, 以方 便在读取报文数据时, 根据报文关系数据, 及报文内容数据查询索引, 将报文关系数据和报 文内容数据对应。 0079 204、 获取报文读取请求 ; 0080 在报文读取时, 集中清算系统可以获取到报文读取的请求 ; 0081 205、 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据及报 文内容数据查询索引, 根据所述报文内容数据查询索引从所述 No
36、SQL 数据库中查询报文内 容数据 ; 0082 集中清算系统在获取报文读取请求后, 根据报文读取请求可以获知需要读取的报 文数据, 根据所述报文读取请求可以从所述 RDBMS 数据库中获取所述报文关系数据及报文 内容数据查询索引, 然后根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文 内容数据。 0083 206、 将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 0084 在获取到报文关系数据和报文内容数据后, 即可对报文关系数据和报文内容数据 按报文组成组合成完整的报文数据, 读取报文信息。 0085 207、 获取业务处理信息 ; 0086 集中清算系统在进
37、行业务处理和操作的时候, 获取业务处理信息, 如编辑、 复核、 授权等操作的业务信息。 0087 208、 根据所述业务处理信息更新所述NoSQL数据库中的报文内容数据和RDBMS数 据库中的报文关系数据。 0088 在集中清算系统在进行业务处理和操作后, 更新所述 NoSQL 数据库中的报文内容 数据和RDBMS数据库中的报文关系数据, 使NoSQL数据库、 RDBMS数据库中保存最新的数据。 说 明 书 CN 104391899 A 9 7/10 页 10 0089 本实施例中, 步骤 201 至步骤 203 为在 NoSQL 数据库和 RDBMS 数据库中存入数据, 步骤 204 至步骤
38、 206 为在 NoSQL 数据库和 RDBMS 数据库读取数据, 步骤 207 至步骤 208 为 在业务处理后, 在NoSQL数据库和RDBMS数据库中实时更新数据, 上述三个过程可以是相对 独立的过程, 此处不作限定。 0090 本发明实施例中在集中清算系统中融合使用 RDBMS 数据库与 NoSQL 数据库, 使 两类数据库各司其职, 让 RDBMS 数据库专门负责处理擅长的关系存储的报文关系数据, 而 NoSQL 数据库作为报文内容数据的存储, 由于 RDBMS 数据库只存储需要查询的小字段报文 关系数据, 不再负责存储大文本字段的报文内容数据, 节省了RDBMS数据库的IO开销,
39、提高 了 RDBMS 数据库查询缓存命中率, 提升了 RDBMS 数据库主从同步效率, 同时由于 RDBMS 数据 库存储的数据的减小, 提高了 RDBMS 数据库中数据备份和恢复的速度 ; 0091 具体的, 本发明实施例具有以下优点 : 0092 节省 RDBMS 数据库的 IO 开销 : 由于 RDBMS 数据库只存储需要查询的小字段, 不再 负责存储大文本字段, 这样就可以节省RDBMS数据库存储的空间开销, 从而节省RDBMS数据 库的磁盘 IO。 0093 提高 RDBMS 数据库查询缓存命中率 : 由于查询缓存失效是表级的, 表一旦被更新 就会失效, 经过这种字段的分离, 更新的
40、字段如果不是存储在 RDBMS 数据库中, 那么对查询 缓存就没有任何影响。而 NoSQL 数据库的缓存往往都是行级别的, 只对更新的记录的缓存 失效。 0094 提升 RDBMS 数据库主从同步效率 : 由于 RDBMS 数据库存储空间的减小, 同步的数 据记录也减小了, 而部分数据的更新落在NoSQL数据库而不是RDBMS数据库, 这样也减少了 RDBMS 数据库数据需要同步的次数。 0095 提高RDBMS数据库数据备份和恢复的速度。 由于RDBMS数据库存储的数据的减小, 很容易看到数据备份和恢复的速度也将极大的提高。比以前更容易扩展, NoSQL 数据库天 生就容易扩展, 经过这种优
41、化, RDBMS 数据库性能也得到提高。 0096 其次, 在集中清算系统在进行业务处理和操作后, 更新所述 NoSQL 数据库中的报 文内容数据和 RDBMS 数据库中的报文关系数据, 使 NoSQL 数据库、 RDBMS 数据库中保存最新 的数据。 0097 下面介绍本发明实施例中的集中清算系统的数据管理子系统实施例, 请参阅图 3, 本发明实施例中的集中清算系统的数据管理子系统一个实施例中, 所述集中清算系统的数 据库包括 NoSQL 数据库和 RDBMS 数据库, 所述数据管理子系统 300 包括 : 0098 第一获取单元 301, 用于获取待写入报文数据 ; 0099 解析单元 3
42、02, 用于解析所述待写入报文数据, 得到报文关系数据及报文内容数 据 ; 0100 保存单元 303, 用于将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内 容数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0101 第二获取单元 304, 用于获取报文读取请求 ; 0102 第三获取单元 305, 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文 关系数据及报文内容数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库 中查询报文内容数据 ; 说 明 书 CN 104391899 A 10 8/1
43、0 页 11 0103 读取单元 306, 用于将所述报文关系数据和所述报文内容数据组合后, 读取报文信 息。 0104 其中, 所述报文关系数据可以包括如下两类 : 0105 第一类为原始报文中的标志数据, 第二类为区分业务处理主体及标志业务状态的 数据 ; 0106 其中, 原始报文中的标志数据可以包括发报行、 业务编号、 登记日期、 币种代码、 金 额、 起息日、 费用承担方式等信息 ; 区分业务处理主体及标志业务状态的数据可以包括归属 分行、 客户类型、 业务来源、 处理状态, 特殊标志等信息。 0107 本发明实施例中在集中清算系统中融合使用 RDBMS 数据库与 NoSQL 数据库
44、, 使两 类数据库各司其职, 保存单元 303 在 RDBMS 数据库保存报文关系数据, 在 NoSQL 数据库保 存报文内容数据, 由于 RDBMS 数据库只存储需要查询的小字段报文关系数据, 不再负责存 储大文本字段的报文内容数据, 节省 RDBMS 数据库的 IO 开销, 提高 RDBMS 数据库查询缓存 命中率, 提升 RDBMS 数据库主从同步效率, 同时由于 RDBMS 数据库存储的数据的减小, 提高 RDBMS 数据库中数据备份和恢复的速度 ; 0108 请参阅图 4, 本发明实施例中的集中清算系统的数据管理子系统一个实施例中, 所 述集中清算系统的数据库包括 NoSQL 数据库
45、和 RDBMS 数据库, 所述数据管理子系统 400 包 括 : 0109 第一获取单元 401, 用于获取待写入报文数据 ; 0110 解析单元 402, 用于解析所述待写入报文数据, 得到报文关系数据及报文内容数 据 ; 0111 保存单元 403, 用于将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内 容数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文内容数据查询索引 ; 0112 第二获取单元 404, 用于获取报文读取请求 ; 0113 第三获取单元 405, 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文 关系数据及报文内容
46、数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库 中查询报文内容数据 ; 0114 读取单元 406, 用于将所述报文关系数据和所述报文内容数据组合后, 读取报文信 息。 0115 进一步的, 所述数据管理子系统还可以包括 : 0116 第四获取单元 407, 用于获取业务处理处理信息 ; 0117 更新单元 408, 用于根据所述业务处理信息更新所述 NoSQL 数据库中的报文内容 数据和 RDBMS 数据库中的报文关系数据。 0118 其中, 所述报文关系数据可以包括如下两类 : 0119 第一类为原始报文中的标志数据, 第二类为区分业务处理主体及标志业务状态的 数据
47、 ; 0120 其中, 原始报文中的标志数据可以包括发报行、 业务编号、 登记日期、 币种代码、 金 额、 起息日、 费用承担方式等信息 ; 区分业务处理主体及标志业务状态的数据可以包括归属 分行、 客户类型、 业务来源、 处理状态, 特殊标志等信息。 0121 上面从模块化功能实体的角度对本发明实施例中的数据管理子系统进行描述, 下 说 明 书 CN 104391899 A 11 9/10 页 12 面从硬件处理的角度对本发明实施例中的安装所述数据管理子系统的服务器进行描述。 0122 请参阅图 5, 本发明实施例中安装所述数据管理子系统的服务器包括 : 接收器 501、 发送器 502 和
48、处理器 503( 可以有一个或多个 )。 0123 本发明实施例涉及的终端可以具有比图 5 所示出的更多或更少的部件, 可以组合 两个或更多个部件, 或者可以具有不同的部件配置或设置, 各个部件可以在包括一个或多 个信号处理和 / 或专用集成电路在内的硬件、 软件或硬件和软件的组合实现。 0124 所述处理器 503 用于执行如下操作 : 0125 获取待写入报文数据 ; 0126 解析所述待写入报文数据, 得到报文关系数据及报文内容数据 ; 0127 将所述报文关系数据保存在所述 RDBMS 数据库, 将所述报文内容数据保存在所述 NoSQL 数据库中, 并在所述 RDBMS 数据库建立报文
49、内容数据查询索引 ; 0128 获取报文读取请求 ; 0129 根据所述报文读取请求从所述 RDBMS 数据库中获取所述报文关系数据及报文内 容数据查询索引, 根据所述报文内容数据查询索引从所述 NoSQL 数据库中查询报文内容数 据 ; 0130 将所述报文关系数据和所述报文内容数据组合后, 读取报文信息。 0131 在本发明一些实施例中, 所述处理器 503 还用于执行如下操作 : 0132 获取业务处理信息 ; 0133 根据所述业务处理信息更新所述NoSQL数据库中的报文内容数据和RDBMS数据库 中的报文关系数据。 0134 本实施例中, 所述报文关系数据可以包括如下两类 : 0135 第一类为原始报文中的标志数据, 第二类为区
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1