乐琪药品流向数据查询管理系统(二)系统架构篇

一、超乎想象

一入佛门深似海,这个系统刚开始做时只是觉得就一个普通的爬虫项目,有近百个爬虫项目经验的我,自然认为小菜一碟。当入坑后才发现事情没那么简单。商业公司提供流向查询的方式主要有:

  1. 网站查询

    提供地址和账号密码,可随时查询,但是近500个网站登录方式==简直就是百花齐放,多姿多彩==,有的要验证码,有的还需要手机短信验证,有的还要扫码验证,而且导出的数据还不一定是标准的excel格式。有不少网站登录密码还进行了加密,花了不少时间才分析出加密算法。

  • 软件查询

    需安装客户端软件,大概50多个。系统要求还有区别,有的要求win7,有的要求win10,各种环境要求,.net frameWork ,java JDK等,有的还在用foxpro...

  • 数据直连

    对方不提供网站查询,也没有客户端,但允许你在他们内网电脑或服务器上安装一个数据直连插件,定时向我们的后台上报流向数据。大概有70多家商业公司采用这种方式对接,需要一家一家的沟通联系,有的还不一定配合,浪费不少时间。

    直连插件需要自己开发,要求适应不同的系统,不同的环境,还要熟悉对方的ERP系统及数据库(oracle,sql Server,mySql等),通常要自己分析出库、入库、库存查询的sql语句。有的商业公司没有IT人员,连ERP用的是什么都不知道,数据库信息更别谈了,需要自己想办法获取。

    虽然签了保密协议,但是这种对接方式其实不安全,插件在对方服务器里运行着,要是给心术不正的人,那真的可以说是==为所欲为了==。当然,部分有专业IT人员的商业公司,还会通过视图和权限做限制,这个相对安全很多。

    这种方式对接稳定性还是可以的,除非对方服务器较较差,或者对方不配合,把插件关了。

  • API接口,大概10来个,这种最方便,拿到文档和密钥可以直接开干。但是也遇到了一些问题,比如广州交通物流有限公司做的接口很烂,对接文档连时间格式也没有说明,只能靠猜,提供的密钥信息也不完整(实际上对方没配置好权限,让我折腾了很久),还只能查询一个月内的数据!
  • 其它

    小程序、邮件、FTP等,这些对接方式不超过10家,可忽略。

上面这些五花八门的对接方式,做起来非常耗时,既是脑力劳动,要分析各平台情况,又是体力活,一一核对字段,数据的准确性。曾经,我都想放弃了:cry:,还好坚持了下来!