基于DSG Realsync 的异地系统数据 同步技术应用探析

2021-01-09 01:59钱俊凤张庆伟马艳洁陆岫昶
关键词:日志管理系统人力资源

钱俊凤,付 鋆,张庆伟,马艳洁,易 也,陆岫昶

(1.贵州电网有限责任公司,贵阳 550003;2.贵州电网有限责任公司贵阳供电局,贵阳 550003)

随着信息技术的创新发展,信息系统数量骤增,应用深度不断加强,如数据分析技术等。企业由于业务交互应用相对频繁,系统核心数据量大且管理困难,所以企业信息系统间的数据交互共享管理需求显得尤为突出。

信息系统是依据应用需求逐步规划与建设的。随着业务需求的更迭和新兴业务需求的出现,都要建设对应的信息系统。使用信息系统就会产生业务数据,此数据有时还被其他系统所使用,但通常各信息系统都是独立运行,管理与运算各自系统的数据得心应手,但需要其他系统数据时问题就会凸显。由于缺少系统间数据交互与传递的有效手段,系统间的信息难以实现共享,便直接影响了信息化建设的成效。为解决这些困扰,需要一种切实可行的数据同步技术。

“南方电网”(以下简称“南网”)统一推广的CSG II 人力资源管理系统在贵州建设实施,系统采用网、省两级部署架构。为避免“信息孤岛”,网、省两级人力资源管理系统纵向贯通及数据同步实时性成为迫在眉睫的业务和管理需求。

1 DSG RealSync 数据同步技术

1.1 DSG RealSync 工作原理

DSG RealSync 主要原理见图1。可知,RealSync 同步技术采用在源系统数据库和目标系统数据库部署代理工具,源系统数据库的RealSync 代理对源系统数据库日志做实时检查,一旦源系统数据库出现相关变化,立即在目标系统数据库中实施相同操作,与源系统数据库保持一致。实际上,业务人员操作系统对数据的变更,相关变化信息会保存在数据库的重做日志里,RealSync 代理工具通过获取日志信息做相关解析,确定在源系统数据库中所做的命令或操作,随之将分析结果经格式转化得到DXF(DSG Extend Format)类型的数据形式,再传给目标系统数据库,其RealSync代理工具获取相关信息后进行校核,在确保信息准确后,依照源系统数据库中所做的命令或操作,依次完成对目标系统数据库的操作[1]。

1.1.1 日志抓取

源系统数据库的RealSync 代理定时对其重做日志进行分析,以获取源系统数据库命令或操作。

RealSync 代理定期检查数据库控制文件中的最新SCN(System Change Number )号对源系统数据库进行判断,查看数据是否发生了变化,即是否有操作产生。当确认数据库控制文件中有新操作发生时,RealSync 代理就会获取重做日志组及最新日志所在目录。RealSync 代理根据解析信息对新增日志进行分析,再将对应数据存储在联机日志缓存文件中,以待进一步操作[2]。

图1 RealSync 主要原理

图2 操作传输原理

1.1.2 日志分析

Oracle 数据库日志会记录数据库的变化或更改。一般而言,通过分析Oracle 数据库日志可准确得到数据变化情况。RealSync 代理工具就是利用对数据库日志的解析,获取数据库发生的所有命令或操作,并将其转化成DXF类型的表现形式[3]。

1.1.3 操作合成

联机日志缓存文件中包含已提交、未提交和回滚操作。操作合成是指按操作先后顺序对操作命令做区分并以单次操作为单位,将已提交的操作发给目标数据库做传输处理,未提交的操作本地保存,回滚操作做丢弃处理。操作合成功能模块,通过解析日志发现之前未提交的操作已执行提交,会将对应操作发给目标数据库做相关处理[4]。

1.1.4 操作传输

操作数据在传送到目标数据库前,先保存在源系统数据库的缓存中,RealSync 的传输程序在缓存中得到操作数据,再封装成TCP/IP 数据包发给源数据库的导入程序。

目标数据库的导入程序接收发送过来的操作数据包后,先保存在队列中,再由装载程序按照次序准确的装载操作信息。

如图2 所示,负责传输的进程(Export Process)从源系统数据库操作队列中依照先后时间获取要传输到目标系统数据库的操作信息,再将操作信息封装成一个可供网络传输的数据包,进而传输给目标系统数据库[5]。目标系统在接到传输来的数据包文件后会核查数据包的完整性,通常该步骤是通过数据包文件大小来验证,这也是避免源端与目标端的数据操作不一致,导致两端数据差异。

图3 数据同步架构

1.1.5 数据装载

一般而言,数据库的数据操作会有很多寻找定位的命令语句,如使用标准的结构化查询语句进行相关查询,系统必须找到目标并确定、记录所查数据文件的定位,这都会引起大量数据库索引查询的发生。若同时进行上千条查询命令时,系统性能会受到较大挑战。

RealSync 通过行映射的方法达到数据记录的高效定位:(1)RealSync 从源系统数据库的日志中获取数据操作信息,并把该操作记录的具体定位标识出来;(2)当操作数据在目标系统数据库中进行装载时,通过目标端保存的行映射表,得到在目标端这条数据记录应该在的位置行信息[6]。

因此,目标系统数据库做数据装载时,只需行信息就可得到数据写入的准确位置,节省了数据库中索引查找的时间。

1.1.6 增量数据装载

实际生产中还有一种情况不可避免,就是在导出过程中存在新的改变数据的情况,即当前一个过程中大量数据装载完成后,又发现新的针对同一数据的操作需要重新加载到目标端。

增量数据装载的工作机制:通过跟踪源系统数据库从前一过程开始后的所有重做日志,从其中分析得到该时间段内的新增记录,随后再对目标系统数据库进行同样操作。若上述过程中出现装载数据已在目标系统数据库表中,RealSync 会先删掉该条记录,并插入新复制的记录[7-8]。

1.2 DSG RealSync 功能设计

1.2.1 支持多复制方式

支持多样复制模式。可支持双活和双向复制,也支持一对多、多对一复制等;可支持DDL 或DML 相关操作复制,也支持相关函数、视图、索引、视图等对象复制。同时,复制中无须修改数据库相关参数[9]。

1.2.2 按需复制

能满足复制可选择性,即按需复制。无须复制所有库表,可据用户需求做相应表信息复制[10]。

1.2.3 支持异构环境复制

基于RealSync 数据复制的工作原理,核心是日志分析,只要数据库日志可以分析,复制中涉及的源系统与目标系统的操作系统和数据库都可以属于不同版本[11]。

1.2.4 数据一致性校核

Realsync 强调数据一致性校核,因为这是复制功能的基石。必须保证源系统和目标系统数据库里的记录完全相同[12]。

1.2.5 监视和告警

RealSync 会对数据复制过程做实时监视,当出现数据不一致时会及时告警,以免使源端和目标端产生更大的数据差异[13-14]。

1.2.6 支持灾备功能

实际生产中可能发生某业务系统生产数据库不能正常使用的情况,RealSync 可将备份(实时复制)数据库切换成生产数据库,增强业务系统应对数据库风险的能力,这也是企业保值或增值的有力手段[15]。

2 异地系统数据同步

2.1 应用实例

贵州电网有限责任公司人资业务应用不断丰富,业务量迅速增加,业务种类日益复杂,涉及许多网省同步的业务场景,企业必须加强管理,实现网省间安全、可靠的人资业务数据同步。有效管理和共享日益增长的业务数据,实现人力资源管理系统纵向贯通以及数据实时性同步,并且不影响各业务系统的日常应用,达到网、省公司人力资源管理数据共享传输的目的。

基于上述需求的人力资源管理系统网、省数据同步采用DSG RealSync 数据同步技术实现(见图3),目前已达到预期数据同步目标。贵州电网有限责任公司10 个地市110 家单位的人资业务数据同步至网公司,网公司再将确定同步的人资数据传输至贵州侧。这样,完成了对RealSync 技术的深入研究与软件部署以及对数据库的全面配置与调试,实现了基于人资系统数据库日志变化数据的实时同步、选择性传输。

基于DSG Realsync 的人力资源管理系统网、省数据同步性能测试见表1。根据实际业务需求,测试了人力资源管理系统4 种核心场景,在同一并发用户数(100 人)下的数据同步性能,测试结果主要分为数据同步时间和成功率。测试结果满足测试目标,达到实际使用要求。

表1 数据同步性能测试结果

基于DSG Realsync 的人力资源管理系统网、省数据同步功能自上线试运行以来,一直稳定运行。从使用情况看,至今运行良好、性能稳定,各项技术指标在运行中均未出现异常,目前软件运行情况能够满足正常业务使用。

2.2 应用优势分析

2.2.1 业务连续性的数据同步

实现了在人力资源管理系统业务正常运转的情况下,将源系统数据库中的所有数据复制到目标系统数据库,即初始化的数据同步。这里都是自动实现,无须人工操作,简化了操作程序,节省了人工成本。

2.2.2 生产系统“零影响”

实时数据复制,对人力资源管理系统生产数据库无任何性能影响,该数据复制技术不使用数据库本身的引擎做数据变更获取,而是利用数据库本身信息得到源系统数据库的变化,因此可做到对生产系统“零影响”。

3 效益分析

3.1 管理效益

3.1.1 提高企业信息价值

实现了系统间的信息流通和共享,提升了企业数据信息价值,公司只需根据业务规则制定信息的获取或发布策略,即可轻易实现信息流转。

3.1.2 提高管理效率

信息共享、异地数据同步的实现使管理者能便捷获取宝贵的第一手数据资源,方便任务下发,更有助于管理层实现整体决策制定,可有效提升管理效率。

3.1.3 降低人为失误

实现了在不中断系统业务运行情况下将源数据库数据同步到目标系统。该工作无须人工干预,简化了操作步骤,大大降低了人为操作失误。

3.2 经济效益

3.2.1 降低项目成本

Realsync 支持生产系统和同步系统的异构环境及各种复制策略,如1:1 单向复制、一对多复制、多对一复制等,最大限度支持公司现有系统环境,降低公司软硬件成本。同时采用TCP/IP 等网络传输数据,降低了网络带宽要求和成本。

3.2.2 节约人工成本

异地系统数据同步技术的实现及应用,使源系统及目标系统间的业务数据实时交互,系统数据下达及上报均通过同步功能完成,节约了人工成本且不易出现人为失误,使工作更加高效便捷。

4 结论

本文阐述了基于DSG Realsync 的异地系统数据同步技术,并将其用于解决南方电网公司人力资源管理系统网、省间的数据同步需求。实践证明,该异地系统数据同步技术可行,实现了应用单位稳定、可靠的运行和使用。同时无须人工干预,简化了操作步骤,有效减少业务人员工作量,达到了预期效果。

猜你喜欢
日志管理系统人力资源
基于James的院内邮件管理系统的实现
一名老党员的工作日志
扶贫日志
基于LED联动显示的违停管理系统
雅皮的心情日志
让人力资源会计成为企业的“新名片”
游学日志
海盾压载水管理系统
宝鸡:松绑人力资源
试论人力资源会计