第十届中国软件杯大赛--A组赛题
赛题名称:基于SQL Server原生日志读取接口实现数据库事务日志解析工具
组类: A组( 本科、研究生、高职)
决赛作品优化建议(2021年8月12日公布):
1.核心解析模块的功能完整是第一位,非功能特性优先级低于功能项。
2.设计文档一定要能够说明你的核心实现思路,有逻辑性
3.技术难点的突破很重要:如大对象的解析,checkpoint后数据丢失问题
赛题简介:介绍整个赛题的实现目标、实用价值、涉及技术和整体要求 | 目标:通过SQL Server数据库原生的日志读取接口实现一个可持续运行的SQL Server增量事务日志解析工具,将用户业务系统对数据库进行的事务操作解析为统一格式的SQL语句或者结构体。 价值:通过解析SQL Server的增量事务日志,完成SQL Server中的业务向国产数据库的平滑迁移,助力数据库的国产化替代。 涉及的技术能力: 1.对数据库事务和日志存储有较深的理解 2.对SQL Server数据库的熟练使用能力 3.对二进制数据文件的分析能力 整体要求: 1.不能使用CDC等基于触发器或定时任务的机制 2.需要识别所有DML操作 3.最好可以解析常见的DDL操作 |
赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景 | 在当前国内各行业进行国产化替代的大环境下,数据库的国产化是其中的重要一环。而在数据库的国产化替代中,面临的很大一个问题就是用户如何平滑的迁移业务?现有的较为常用的方案是,先将原始的国外库中的初始数据迁移到国产库当中,然后通过中间工具,将用户在国外库中进行的业务操作解析出来,然后在国产库进行重放,这就保证了两个库之间数据的实时一致,等到国产库试运行稳定后就将业务切换到国产库上面去。基于这个方案,我们需要具备将国外数据库中的用户业务操作实时解析出来的能力。SQL Server数据库作为目前市场上较为常见的国外数据库,是我们必须具备的能力之一,通信设备。 |
基本功能要求 | 1.可以识别并解析所有的DML操作 2.可以将解析后的数据转化为标准的SQL语句或者清晰可读的数据结构(如json等) |
非功能性要求 | 1.实时性,对数据库的DML操作需要在1S内解析出来 2.保证解析出的DML语句的正确性 3.保证程序的7*24小时稳定运行 |
实现条件:开发环境、实验平台、开发语言、数据库、编译器、涉及硬件等实现条件 | 开发语言:Java 其他:不限 |
测试数据或平台:提供给参赛者的测试环境和测试数据 | 训练数据下载:训练数据.txt 验证数据下载:验证数据.txt |
开发所需设备及设备指标需求说明 | 无 |
文档及其他要求 | 需要输出概要设计和详细设计文档 |
各评分项及大致占比 | 1.功能实现的完整性和准确性 2.代码和文档的规范性 3.非功能特性的实现程度 其中,功能特性的实现为主要评分点 |
初赛作品提交要求 | 1.源文件 2.可执行文件 3.相关设计文档 4.演示视频(7分钟之内) |
【参赛团队作品中团队自主开发部分的软件作品著作权归参赛团队所有,其中具有市场应用及拓展的优秀作品,出题企业具有优先权,可以优先合作开发或者优先购买。另如基于该作品的任何合作升级开发、市场拓展等活动,以及在这一过程中所获得的任何商业费用,出题企业应与参赛团队协商解决。】
出题企业:北京人大金仓信息技术股份有限公司
答疑老师:魏老师 qwei@kingbase.com.cn
客服电话:010-88559646
大赛邮箱:cnsoftbei@qq.com
邮编:100048
联系地址:北京市海淀区紫竹院路66号赛迪大厦18层