数据上云(单机或内网C/S升级INTERNET版)

很多以前的C/S软件只能在内网使用,现在为了软件的高大上,都需要弄个微信公众平台或者手机版本查看数据。
方案一:最简单
        租一个服务器,安装一个MYSQL数据库,单独开发一个程序定时向MYSQL上传数据。
对接微信公众平台后,数据来源于MYSQL数据库。手机APP数据来源也是MYSQL数据库。
需要程序员:难度一星,1个程序员(会简单网页语言、会写简单连接数据库软件)
优点:结构简单
缺点:数据实时性存在问题,定时设置的短,占用资源与带宽,设置的长,数据实时性差。
方案二:方案一基础上修改
        不直接向MYSQL上传数据,单独开发一个接口程序在服务器上运行,由接口程序负责处理MYSQL数据。
需要程序员:难度一星,1个程序员(会简单网页语言、会写简单连接数据库软件、会写简单接口)
优点:MYSQL不对外开放,提升安全性,多点上传时减少数据库压力,数据同步优势
缺点:数据实时性差
方案三:方案二基础上修改
        开发接口程序(A)在内网中运行,开发接口程序(B)在服务器上运行。由B向A主动申请数据。
需要程序员:难度一星,1个程序员(会简单网页语言、会写简单连接数据库软件、会写简单接口)可完成
优点:数据实时性好。
缺点:需要使用花生壳或相似功能的软件,有持续费用,而且可能不稳定。
方案四:方案三基础上修改
        开发替代花生壳软件(C)。
需要程序员:难度三星,1个程序员(会简单网页语言、会写简单连接数据库软件、会写比较复杂接口、可开发UDP或TCP部分功能)可完成。
优点:稳定性提升。
缺点:需要多写一个C程序。
程序进阶说明:
A程序:内网运行,可直连内网数据库,具有数据接口功能,可以理解为微服务程序。主要功能是在内网中提取数据。
B程序:服务器运行,可直连MYSQL数据库,具有数据接口功能,主要功能是将接收到的数据保存到MYSQL中,及到MYSQL中获取数据向A程序发送,或接收手机APP指令后,主动向A程序索取数据。
C程序:分为两端,服务器端(C1)与内网端(C2)。内网端主动与服务器端通讯(TCP/UDP方式,此方式节省网络资源,可加密传输等)。
C程序执行逻辑:B程序与C1通讯(我要获取内网数据),C1将B的请求转发给C2,C2收到后向A程序获取数据,获取的数据返回给C1,C1返回给B。
程序可优化部分:不考虑数据库优化
1、将所有需要计算的部分放到A程序中,因为服务器资源是有限的。
2、A程序可以采用预加载技术解决大数据统计(可以把你学过的所有算法都用上)问题,采用线程方式避免主线程卡死。(难度三星)
3、A、B程序接口尽量采用通用的JSON,可扩展支持XML(与微信公众平台可能会用到)
4、C2程序需要具有检测是否在线功能,并可以对A程序进行保护。
5、使用TCP/UDP时需要心跳机制。
6、C1程序对B程序进行保护。
7、传输的数据量大时,可以采用压缩与分步传输,有必要的话,可以开多线程进行传输并加密。(难度三星)
微信公众平台部分:
1、用现成的管理平台。
2、自己写(难度三星),但可以定制功能。
手机APP部分:
1、Hbuilder
2、其它语言
3、手机版网页

你可能感兴趣的:(笔记,delphi,项目,DELPHI,个人小心得,软件架构调整,delphi,运维)