本发明属云服务存储,具体涉及一种基于netcore的轻量化跨平台存储迁移方法、装置及介质。
背景技术:
1、随着近几年企业软件saas(softwareasaservice以下简称saas)化的火热,因其能有效降低企业部署和运维的成本、能更快且适应市场需求的迭代更新,以及对于传统企业初次尝试信息化的低成本试错提供了二次选择的保障,越来越多的企业选择saas实施。
2、saas实施一般由第三方服务商采用公有云(publiccloud)提供的各种能力来实施、提供saas软件服务,除了会使用公有云厂商提供的ecs(elasticcomputeservice,弹性云服务器,以下简称ecs)来部署应用,还会使用oss(objectstorageservice,对象存储服务,以下简称oss)来管理应用软件运行所需必要组件、生产作业所产生的单据文件。
3、初次上云的企业,有时候会因为业务量增长以及版本的迭代更新,切换到另一个规模更大更适合该企业的公有云服务组中,或第三方服务商主动更换公有云厂家等操作,这时候企业也租赁作业了很久,由于第三方服务商属于售后系统(crm),主要作业内容为工单报修,除了要面临巨大的数据库迁移,还要应对动辄几十gb,有的甚至上tb报修照片、视频等文件同步。
4、企业本地系统转saas或从另一个第三方供应商更换至我方,除了历史数据同步,还要将历史数据所携带的所有文件都同步至saas,部分厂商可通过提供的工具进行上传迁移,也有部分本地实施的会将文件以二进制存至数据库,或存放在网络设备nas(networkattachedstorage,网络附属存储)中并提供网络访问地址,这样即使是公有云厂商提供的工具也束手无策。
5、针对以上实施中所产生的问题,服务提供商一般会考虑如下方案:
6、1.利用现有公有云厂商所提供的工具或服务进行迁移同步,如azure提供的microsoftazurestorageexplorer或华为云提供的obs-browser-plus。
7、2.采用第三方提供的文件同步工具进行迁移,比如专为s3(amazonsimplestorageservice,亚马逊文件存储协议,以下简称s3)打造的s3browser,winscp等。
8、在上述两个方案中,对于方案1所提及的官方工具,其仅具备将普通文件进行单向手动上传至云存储服务的功能。从实现云存储对云存储的同步策略这一需求角度来看,目前该工具暂无法满足相关要求,在达成完整高效的迁移同步任务方面存在一定局限性。
9、而方案2所涉及的第三方工具,也各自存在一些有待考量之处。例如s3browser因其针对性设计导致通用性欠佳,winscp的ftp能力在应对s3协议时存在短板,并且对部分云存储的支持程度较弱,无法很好地适应复杂多样的存储环境及任务需求。因此,当前这两个方案在应对企业saas实施过程中的数据迁移和文件同步问题时,均面临不同程度的挑战,还需要进一步探索更优化完善的解决方案。
技术实现思路
1、为解决上述背景技术中提出的问题。本发明提供了一种基于netcore的轻量化跨平台存储迁移方法。
2、为实现上述目的,本发明提供如下技术方案:一种基于netcore的轻量化跨平台存储迁移方法包括:
3、启动端接收到启动信号后,触发校验信号,并执行连接测试;其中,触发校验信号用于启动端根据用户在预置文件中填写的信息执行校验流程;
4、连接端接收到启动端执行完成的信号后,前端提供同步模式信息供用户选择;连接端根据用户选择读取模式信息,执行同步准备操作与进度反馈操作;
5、同步端接收到连接端完成文件加载的通知信号后,生成文件同步结果信号。
6、启动端接收到启动信号后进行校验和连接测试,确保系统在开始存储迁移前进行必要的准备工作,提高了存储迁移的稳定性和可靠性。连接端和同步端的有序响应,实现了存储迁移过程的自动化和高效性。
7、进一步:校验流程包括基础配置信息校验、待执行配置信息校验;
8、其中,基础配置信息校验内容包括:判断软件当前运行环境、软件日志系统状态、待同步文件关系记录的存在性、并行处理的最大文件数量参数;
9、待执行配置信息校验内容包括:读取同步源和同步目标的配置文件、确认待同步的两方文件系统类型、验证配置文件是否完整且无误。
10、校验流程包括基础配置信息校验和待执行配置信息校验,确保软件运行环境、日志系统状态等基础配置正确,同时对同步源和目标的配置文件进行验证,保证存储迁移的前提条件准确无误,降低了迁移过程中出现错误的风险。
11、进一步:在基础配置信息校验与待执行配置信息校验完成的情况下;启动端执行连接测试;
12、其中,连接测试内容包括:对公有云存储服务、数据库、本地文件系统执行连接测试和权限测试;
13、在连接测试执行完成的情况下,启动端根据待执行配置信息确定待同步文件数量与存储服务文件关系地址;
14、在文件来源是存储服务来源的情况下,读取文件关系记录文件,确认其非空且格式正确。
15、对公有云存储服务、数据库、本地文件系统执行连接测试和权限测试,确保存储迁移过程中各个数据源的可访问性和合法性。确定待同步文件数量与存储服务文件关系地址,以及在存储服务来源情况下读取文件关系记录文件,有助于准确规划存储迁移任务,提高迁移效率。
16、进一步:连接端接收到启动端执行完成的信号后,前端提供同步模式信息供用户选择,连接端根据用户选择读取模式信息,执行同步准备操作与进度反馈操作;
17、其中,同步模式种类包括:基础模式、性能模式;
18、其中,同步准备操作包括:连接端在接收到用户确认同步模式的情况下,读取同步模式信息以确定是否开启多文件并行传输功能;
19、基于启动端已完成对来源方和目标方配置信息的检测结果,开启来源方和目标方的调度程序使其进入准备状态;
20、在用户选择基础模式的情况下,预先打开数据库连接,该数据库用于记录新的文件关系信息,并创建临时数据表,记录同步操作开始的临时数据;
21、根据预设的批次大小,从文件关系记录文件中检索待同步的文件列表,并逐批加载到内存中,其中文件关系记录文件是描述文件存储位置和同步状态的元数据;
22、其中,进度反馈操作包括:对于每个批次,记录成功加载到内存中的文件加载数量,并生成一个唯一的批次序号以追踪当前的加载进度;
23、将每个批次的文件加载数量和批次序号信息输出到命令行界面,以便用户实时监控同步操作的进度。
24、提供同步模式选择,满足不同用户的需求。基础模式下的同步准备操作和进度反馈操作,使用户能够实时监控同步进度,同时预先打开数据库连接和创建临时数据表,为实现重传功能和准确记录同步信息提供了保障。性能模式下开启多文件并行传输功能,提高了存储迁移的速度。
25、进一步:同步端接收到连接端完成文件加载的通知信号后,生成文件同步结果信号;其中,生成文件同步结果信号包括:同步端获取连接端已加载的文件信息,为后续文件上传操作做准备;
26、针对连接端加载的首批文件开启循环处理流程;
27、在用户选择基础模式进行同步操作的情况下,在执行文件上传动作前,同步端将查询专门用于记录新文件关系的数据库表,以此确认文件是否已完成过同步流程,以便实现重传功能;若经查询数据库表中无该文件同步记录,则再次调用目标存储的调度端,检测目标存储中当前文件是否已存在,以此避免文件重复上传覆盖问题,若存在则给出相应提示信息;
28、在完成当前批次文件上传处理的情况下,同步端调用连接端所提供的批次获取功能,获取下一批次待处理文件;
29、在获取下一批次待处理文件的情况下,同步端持续循环执行文件上传流程,直至获取的批次文件数量小于预设的一个批次文件数量标准时,判定已达最后一批次;
30、在最后一批次文件上传完成的情况下,同步端进行统计总结工作,将文件同步相关数据打印至日志系统,并在命令行界面反馈给用户,告知文件同步策略执行完毕相关信息;同时,同步端完成资源清理等收尾工作,释放相关资源并使系统恢复至初始状态,等待下一次同步任务指令。
31、同步端生成文件同步结果信号,确保存储迁移的完整性和可追溯性。在基础模式下进行文件同步前的查询和检测,避免了文件重复上传覆盖问题,提高了数据的安全性。持续循环执行文件上传流程,直至完成最后一批次,保证了所有待同步文件都能得到处理。统计总结工作和资源清理收尾工作,使系统更加规范和高效。
32、进一步:针对连接端加载的首批文件开启循环处理流程;其中,循环处理流程包括:根据来源文件的存储类型,自动适配并选用适宜的上传策略将文件传输至目标存储;
33、对于数据库二进制存储文件,先从数据库提取至内存,再以二进制格式上传至目标;若为文件存储系统,则运用云厂商既定的标准复制方法,直接读取磁盘文件复制至目标存储区域。
34、针对首批文件开启循环处理流程,根据来源文件的存储类型自动适配上传策略,提高了存储迁移的适应性和灵活性。对于不同类型的文件采用不同的处理方式,确保了文件能够正确地从来源存储传输到目标存储。
35、进一步:连接端在基础模式下,执行源端校验以确认文件是否已同步,并查询目标存储中文件的存在性以避免覆盖。
36、连接端在基础模式下执行源端校验和查询目标存储中文件的存在性,进一步增强了基础模式下存储迁移的准确性和可靠性,避免了不必要的同步操作和数据覆盖问题。
37、进一步:连接端在性能模式下,通过多线程技术并行处理文件传输,且不提供重传机制,直接覆盖目标位置的现有文件。
38、连接端在性能模式下通过多线程技术并行处理文件传输,不提供重传机制直接覆盖目标位置现有文件,满足了对存储迁移速度有较高要求的用户需求,提高了性能模式下的迁移效率。
39、一种基于netcore的轻量化跨平台存储迁移装置,包括装置:
40、启动模块,用于初始化检索需要推送的文件数量,目标地址完整性;
41、连接模块,用于初始化同步的来源方和目标方,若来源方是本地文件则无需初始化来源方;若为数据库,则会预先尝试连接数据库,检索待同步文件数量和二进制完整性;
42、同步模块,用于进行复制同步,同步端会根据双方存储类型自动判断应该采取的获取、推送方案。
43、启动模块、连接模块和同步模块分别负责不同的功能,实现了存储迁移过程的模块化和专业化。能够初始化检索文件数量和目标地址完整性、同步来源方和目标方、进行复制同步并自动判断获取和推送方案,提高了存储迁移装置的实用性和高效性。
44、一种计算机可读存储介质,内部存储有程序指令;程序指令在被处理器执行时以实现一种基于netcore的轻量化跨平台存储迁移方法。
45、启动模块、连接模块和同步模块分别负责不同的功能,实现了存储迁移过程的模块化和专业化。能够初始化检索文件数量和目标地址完整性、同步来源方和目标方、进行复制同步并自动判断获取和推送方案,提高了存储迁移装置的实用性和高效性。
46、本发明解决了背景技术中存在的缺陷,本发明具备以下有益效果:
47、1、该基于netcore的轻量化跨平台存储迁移方法,具备强大的存储异构兼容性,无论来源与目标存储的类型及所属厂商如何,包括数据库中的二进制文件,即使是通过nfs(网络文件系统)提供的本地网络地址相关数据,均能实现精准读取与高效上传。其架构可适配复杂业务场景需求,同时在轻量化文件同步任务中亦表现出色,展现出卓越的灵活性与便捷性。
48、2、该基于netcore的轻量化跨平台存储迁移方法,突破执行位置局限,依托.netcore跨平台开发框架,完美支持windows、macos、linux三大主流操作系统运行。并且具备开放的应用程序编程接口(api),可供其他应用程序调用,实现通过第三方程序启动执行,具有良好的可扩展性与交互性。
49、3、该基于netcore的轻量化跨平台存储迁移方法,基于可控的文件关系记录机制,普通用户能够自主设定需同步的文件。相较于常规厂商仅支持文件夹或关键字的同步方式,本发明可有效降低数据流量消耗,同时显著提升同步速度,实现了流量优化与高效同步的双重目标。