快速构建 DMS Web 应用程序之利刃: Flask + Celery + Redis + Cloudant(1)
- UID
- 1066743
|
快速构建 DMS Web 应用程序之利刃: Flask + Celery + Redis + Cloudant(1)
系统介绍本 DMS(Data Migration System)Web 系统采用 Python 语言开发,适用于跨平台跨版本系统之间业务数据的迁移。同时依托 IBM Cloud 平台,能够提供高可靠性和便捷性,使短时间内搭建系统,业务数据快速迁移成为可能。
本系统主要分为以下四大模块:
- Web UI:作为与用户的直接联系,是系统中非常必要的一个模块,本系统采用 Flask 框架实现将后台传回的数据渲染至前端页面。
- 测试模块:本系统通过 Jupyter 对测试代码进行测试。
- 数据处理模块:因为 Pandas 对不同类型的数据文件如 .csv、.txt、.pickle 都有强大的支持,本系统采用 Pandas 对数据进行处理。
- 数据存储模块:本系统采用 Salesforce 对数据进行存储,由于 Salesforce 的写入时间较长,且数据量较大,为了更好的用户体验,本系统不采用将数据直接写入 Salesforce 的方法,而是通过 Flask 将信息发送给 Redis 和 Cloudant,使用 Redis 作为缓存存储临时变量,并将持久化变量存储在 Cloudant 中,当数据量较小的时候可以直接将数据写入 Salesforce 中。基于 Flask 的机制,数据需要先序列化存储之后,再反序列化才能使用,本系统采用 Pickle 将数据进行序列化及反序列化。通过 Celery 对消息队列以及暂存数据进行任务调度,并最后将数据写入 Salesforce 中完成服务端的通信任务。
下图是一个基于 Flask 的 DMS Web 系统的架构图:
图 1. 系统架构图 |
|
|
|
|
|