数据迁移 - Checksum and serializer

最近接触了Checksum 和 serializer, 项目上在做数据迁移,从monolitic 迁移至micro services. 这其中的难度之大,可能只有做过的人才能体会,以下是关于做Reconciliation的部分,主要侧重于给文件迁移做Recon。

这篇文章主要讲述MD5 Checksum 的过程,通常当文件被迁移至新的系统时,需要确保所有文件都是正确迁移,Recon的过程就是验证迁移是否正确,主要是通过计算文件的checksum值,将source 和 destination的checksum值进行比对,来确定文件是否正确。

之所以选择MD5 Checksum 是因为目标系统是基于Azure Cloud开发的微服务系统,所有的PDF文件都会储存在Blob Storage, 正好Azure Blob Storage 会自动生成一个Checksum值,那么我们只需要在source 端 生成Checksum, 然后和cloud 端的checksum值做比对即可。

以下是Checksum生成的过程:
在这里插入图片描述

实现代码:

 public static void ChecksumCalculator(string fileName)
        {
            // Calculate MD5 checksum of a file

            byte[] document = File.ReadAllBytes(fileName);

            // Hash the original document data using .NET Core MD5 hash algorithm
            MD5 md5Hash = MD5.Create();
            byte[] hashedDoc = md5Hash.ComputeHash(document);

            // Print out the checksum value after converting to base64 string
            Console.WriteLine(Convert.ToBase64String(hashedDoc));
        }

以下是关于MD checksum 生成的具体实现:在这里插入图片描述
当然这个过程是要参考以下两张表:在这里插入图片描述

在这里插入图片描述

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值